İstek Okulları Acıbadem Tüm Kampüs Makas
İstek Okulları Acıbadem Tüm kampüs Makas
Bu kategoride ürün bulunamadı.
0
SEÇİLEN: 0 ADET
TOPLAM: 0,00 TL
| Kategori | |
| Önerilen Adet | |
| Stok Durumu | Mevcut |
1
Kaç öğrenciye sipariş geçilecek?
Listedeki ürün adetleri girdiğiniz öğrenci sayısıyla çarpılarak sepete eklenecektir.
Sepete Ekleniyor...
Lütfen bekleyiniz
0 / 0
DQooZnVuY3Rpb24oKSB7DQogICAgdHJ5IHsNCiAgICAgICAgY29uc3QgYWt0aWZPa3VsQWRpID0gIsSwc3RlayBPa3VsbGFyxLEgQWPEsWJhZGVtIFTDvG0g a2FtcMO8cyBNYWthcyBLxLFydGFzaXllIMSwaHRpeWHDpyBMaXN0ZXNpIjsNCiAgICAgICAgY29uc3QgYWt0aWZPa3VsTGlua2kgPSB3aW5kb3cubG9jYXRp b24uaHJlZjsNCiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2theWl0bGlPa3VsQWRpJywgYWt0aWZPa3VsQWRpKTsNCiAgICAgICAgbG9jYWxTdG9y YWdlLnNldEl0ZW0oJ2theWl0bGlPa3VsTGlua2knLCBha3RpZk9rdWxMaW5raSk7DQogICAgfSBjYXRjaChlKSB7IGNvbnNvbGUud2FybigiTG9jYWwgc3Rv cmFnZSBlcmnFn2ltIGhhdGFzxLEiLCBlKTsgfQ0KICAgIGNvbnN0IEtVUE9OID0gJyc7DQogICAgLy8gTWF2aUthbGVtIGxvZ29zdSAoZGF0YSBVUkkpIOKA lCBpbmRpcmlsZW4gbGlzdGVuaW4gYmHFn2zEscSfxLFuYSBnw7Ztw7xsw7xyIGtpDQogICAgLy8gZG9zeWEgaW50ZXJuZXRzaXogZGUga3VydW1zYWwgZ8O2 csO8bnPDvG4uIExvZ28geW9rc2EgYm/FnyBzdHJpbmcgZ2VsaXIuDQogICAgY29uc3QgTUtfTE9HTyA9ICdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3 MEtHZ29BQUFBTlNVaEVVZ0FBQVVBQUFBQjRDQUlBQUFBTXJMeUpBQUFCS21sRFExQlRhMmxoQUFBb2tYMlF2VXJEWUJpRm42OFV4T0xQb0lPRFE4WXUybFRi VUVXSG1Ob2lPTFVWa2pxbGFSckVOZzFweE03TzZqVzRlUU1kdlFCSFFYQnlFTHdCY1hDdEprRlNrSGkrNWVGd2VOL3ZQWkJaQThqS01IQUR2MUUva0hTakxj MjlJUkJFTXEyUlI3b0VmTDNFMmVlTmYzSnBtdS9hSXd2NEFBSmZOOW9ndXNDcUUvTTQ1RTdNMXlGZkJsNEE0aTVrdjlYUVFFeUF2RFBEblJtMlBEL012d0o3 Zy82RmxmeWJCZHM5YVFJNnNFNmRJVU1jK3RnVWFITE9HU1lGS2xSUXFhR2lja2dKalhMMEZMU0lkNUJSVU5tT09QYXJ5RlFwVXFNYzlobXZ2THFCL2RKME9u MUl2T05sbUxRZzk1NTQrVjFZR3NQamJlSWxIWHVtYjBaVzltZGtwdGVEejN0WU5HRGxDWEtudjhXbTNDcjl1VlhpQ0JlTFRTUzJrQ21pZkFONVVFenVqUGxt akFBQUlBQkpSRUZVZUp6c1hYZDhGTVhibjdMbFducENFZ0toUXdnZEZFR3Fvb0tDaWdJMjdMNzJocjFYVkJRNzlsNnhDeXFnb29oSVYwU2x0NFFBQ2VuMSt0 M3V6UFArTWJ0N2V5RlU0U2Rvbmc4ZmhidTkzWm5aK2M3enpQTjhuMmR3S0JRQmhCQkNHQ0ZBQ0JEQ0FBZ2pRQWlKTHdBaERBaGhCQUFJWXdUaTQyWnBsbWI1 eHdWRE14NmJwVm1PV0pHYUFkd3N6WExrU3JNR2JwWm1PWUpGK3FjYjBDeW1BQURHKzdLZ1lvUUFZd1NBTWY3Zk5LMVpEbHRwMXNDSFVnQUFvWDFESlVJSUVP emhud2dKN0NJVHRIdERiek84L3d2U0RPQ0RJN0RYb2JTK0JJamhFT08vRHpQZzNHb0NhZ3JZR0dPSTRiNVovbFhTYkVML1hSR3d4U2FBd1B6VVVLRUNvdUpQ a3ovbm5FZWpvRVc1RnRWRElSWUk4R2lFYXhxUFJyZ1c1ZEVvQXNDVVlrb3hsVEFsUkZia3BCUXBJWkdvS2xFVXFqb3dJYnZlRTRtUUg4WkMvMXNOYTFiTC96 SnAxc0Q3TDAwT21SMng4WWdDaEZnd29EWFVhOTRHdmE0bVhGa1JyYW5TdlEyYXIwSDNOakMvWHc4R2VEREFnbjRXQ29HbUEyZkFHVEFPbkFrb1lrTE1oWUFn UW9paVVJZVR1dDNVNVpFU2t4elpMWjB0Y3gwdFd6bGE1cWlaTGRXTUZvVFNXRXM1dDVBY1cyNmFZZnh2a1dZQTc2dlk5Wmoxa2ZFQkpuWkk2TUZncUxRNFZM d2pVbG9jcml3UGw1WkVhNnEwMmhyTjE4QkRJVDBVUUl3aFFBQWNJNFFFT0FuQldQd0ZJNFFOaERXR0dSajdZczRCT09JQW5BRUhRSUFSeHFvaXVUeEtXb1l6 dDYybll4ZDNwNjRKWGZKZGJkdkhjTXM1SXNTK0lXK0c4YjlBbWdHOEY3RndHMmNlQXdnd0dCOGdGS2tzRDI0ckRCUnM4bTNlNk4reUlWeGF3dncrSG8wZ0Rn Z2pqQW1tRkJGaUFSWFp2RkZ4MitOOUZHeHpaWUZvSmdCbndCZ3doZ0NJTEV2SmFZbmRlcVVOR3BiYzd4aDMrMDZZRUVBSUdNTm15NXUxOGI5QW1nSGN0TmpW bFBGMzRBZ1FvaFNiRjRUTFN3T0ZXM3diMXZnMnJRdHMyUmd1MjhsRFFRQWdrb3dsQ1ZOcVlzUEUvaTVEYlhKVHdYcVFBYTNkKzV5TXJTd0FtS3pXT0FSaUxI NEt3SUhwUEJwRkNDbnBHVWw5ajhrYWZXYnFnQ0dTMDJtSGNUT0dqM1JwQm5CanNjOXBjdytKTURGMmxTd1M4UmRzYXZoclJjT2Z2L3NMTmtUS3kxZ2dnQkJn V1NhU2pBbEYyRlRSVGQ1Wm9FNEFSc1I5RVVJSDZpSzJSNDROTTZFUkZERUdoRURYV1NRc3VkeUpQZnBrblRvdTY1UXppQ3h6eHJDNVhSZFd4bDdqVXMxeUdF b3pnQkdLOTBzWmtBQVE3bC94b2Vieit0YXZydjl6UmQzdnYvbzNydFc5RFFnQmtTUzhHOUNDWGQrYW9EMmsrTEFiK2RpTVAxdXJCaVlFR0dPUkNNWTRiZGdK YlM2N05ybG4zemhWTEJhVVpoZ2ZhZElNWUp2S0ZYL2ozUElrczBqWXQzNXQ3ZktGdGNzWCtUZHYwSDFlVENsVlZFUXBGbmdCaVBOdllmRWhGanZUZndvS0Jw Z3R5OXcwdVRFbWdFQVArTlhVOUp5ekw4cTk1Q3JKNmVKTXg0UUs2RUl6dSt0SWsvOHdnTTJlV3lvWEFFUUFCaEFLRmhYV0xGbFF2WENlYjkxcXpkdUFLVEZ3 SzY0MHdHa2c5Mjlhd29kT0xMMEt4c3BpeEtXNXJ2Tm9KSDM0U1oxdWY5RFZLcGN6M1hDdFlZd3RDNzlaamdUNUx3TFk2RExHMkJZcEZTcFg4elkwL0xXeTZ1 ZTVOWXZuUnlyS01NWkVVVEdsaGhLekZGUU11ZjkwWi9aQmpPWEdRTE1nVVJQQVdQZDdQWjN6OCs1L0lybDNQeTVzYVdNMWFzYndFU1AvTFFESFc4dUFlQ3dh Rk5pMnRYcmhUMVUvZmV2YnVJNEhnMFJWc1NSaHk4Rmp0MHN4UGd5VjdWN0ZYcmJCY0tRUndvSkJSMWJMYm8rL21Oem5xR1lNSDRueTN3Q3d6Vm9XcHJMbG9P S01lVmYvVWZyMVo3VkxGa1FxeXpFbVJGVVJJWmh6dy8xai9iWkpOKytSSlpiYjJuS0RVNnFIUXM2V3JYdSs4TGFuUStjNERQL1RqVzJXZlpGL09ZQWJoM050 MEkwMk5OVDl1cmg4MXBmMXZ5L1QvVjZpcUZpV3NmMG4xb3ovUjd1QTdNcndZQ2pHUnFRVVRLa2U4Q2YxNmQvajZkZVU5SFRnZ0sxMTZwL3VlclBzVmY3TkFM YkNtMkRHZU1SR04xeFJWakYzZHVYY2IzeWIxa00wU2gwcXBoSnd3TUR0Y0QySTRCVmx4UUFEMm9XT2lmYVRTR0ZMbG9pN0E5b2YyNzR4c1l4UzV2ZTFIRCt4 eXoyUENjSVdiblpvSFNIeUx3UndJNjBMbkZ1TWhXREpqdkt2UHkrYjlVVzRyTVN3bG8yTEFHTUVLR1plSGlDendyNVB0ZzBzUmdnd3dvQmo5OTJkaW9QRytM S0o3ZWRXelVINzY0TllKY0xZZytOK3RrdFRiWjl3VGN0LzdQbXNVYWR4eGhBaHBObVFQaExrWHdYZ1hReG1EZ2dSUWhGQzNvM3J5K2Q4V2ZYanQrR2RPN0Fz RTBWRnR0bVB6Y2wvWURPMmtWYmNsUTVsZ2dnakFPQWNBVGQ1eTl5SUgxczNNWCtMTVVZSUEzQWJjOHNHVDR3eG9aZ1FUQW5DRkZPQ3JMaDBIS1NSV1dDMENa S0dGYWtHQUV3SUM0Y1R1dmJvOWZMN2NuS0taYncwVXpzT2MvbVhBTGd4LzlGbU1IdlhyUzZkOFhIVmdoK2lWUlZFVm9nc0M3YUdGUkJDKyttZE1uVlhyR0pH M0N5MzhaK0JjK0JjSkJnQVk4QVpsbVNxS0VSUnBZUkVLVGxGVGtna1RpZDF1cW5MTGJuY3hPa2tpb0lWQlJPSnFpckdtR3M2TUFZSWdHazhGR0tCZ0Jid001 ODMybERIZkQ3ZFc2LzdmVHdTWnBFSTZCcW1oRkFaeTdLTmhoMWJWa3dZeDlrQjlxVUhVNnI3ZlIxdXVxZnRwZGNBWTBBSWFVYnZZUzlIUElDYmNGTlowTjJ3 ZHVkbkgxVDlPRWZ6MWhORklaSUN3STJMYmRHVWZaeWhFRi9qSnM1VksvTDFBWUJ6WURyWEdlSWNJVVJVbFhvUzVLUVVKVFZWemNweFpPVTRjbG81c2xxcUda bEtjZ3B4ZWFqRGdTWHBBTlErMTZJc0hPSEJnT2IzaGl2S3d6dDNoTXZMd21VbHdhTENTUGxPemRzQTBRakdCTXNTbG1XTUNUSlQvSTJkdURWa1J0Y1FRb0F3 NGVHd3UzTituOWMra3BPVGtSVXRiOGJ3WVN4SE5vRGo0cm8yS3BWMy9aclNHUjlYL2poSHE2a2lUaGVtTk5aUEcrMXhILzA5cUVrbGJZR1dNYTVyb09zSVkr cDB5U21wYW1aTFI2czI3bllkM1IwNk9YTnlsZFEwT1RHSktFcVRIV2hNbkk1L2NoT2JjY08wYmJydHV0OGZMaThORkJWNjEvN2wzN2cydUswZ1Vsa0J1a1lV RlV1eXlWeXhKekxHNGtxQ1B3MEEzUjZibGpGaWxQQWROQVA0TUpjakZjQzdnNjV2eThhU1Q5NnJudjk5dEtiS2lBeHhibWRRb1gwckVHVzVvMHlQbHVWendn Z0JNTVkxRFhRZEVTeDVFaDNaT2U1T2VRbDUzVDBkdXpoYTVTcnBMU1NQcDNFeXZxQjhDVGs0UVJwTGt3cTdBeU9DTVk0VkEySGhjTGlzeEx2bXI5cmxpK3RY TGcrWGxTQ01xZXBBaEZoYlpTdUgwUmdUVExTQXI5VlpGK1hkOXhod0R1SjJ6UUErak9YSUEzQ2o3UzV3THFBYkxObFI4c2w3RlhObUNPZ1NTWUk0SDFVc0ly S25WRnVMOFdHYTExWk1CVGpuV2hRMEFkb0VSMWFPcDJ1UGxLTUdlRHAzZGJUS1ZSS1Q0aHZKRVpoaDI2YTgyazE2bVJzM0I0eDdtYjlwcXVHTjQwa3h6VzJs UUNLRVFqdUxhNWY4VXZIRDdJYlZLM2s0UkJ4T1FvaEJhSWtsOTJORU1BK0hFN3IyNlBQR3g5U1RZSkJNbXpGOEdNc1JCbUI3N2p0d0xsTGhvdlYxcFRNL0tm MWllbkI3RVhVNGlDUWJlMTJMeDI5WE1ydS9zMzJteHVFMkd1VmFsQ2lxbzJYcmhMejh4SjU5RTd2M2RyZnZxQ1NuMm43T0VZZkdxdFVXVElvdEhxYWxpaHJo MkNqUWd4RkNpSkMvZ3hpTHNpSjZoVEd4a3F0cWxpMHFtL0Z4N2ZKRlBCeWlMamNDaElEYlZURm5qSG9TZXIvOFFXTFg3Z0FBU0VTVW11VXdsU01Ed05aV3Na SE5ESnhYZlBmMWp2ZmY4RzlhaXdrbHFob3J5TGczMEVMODNXTVpSUmdqaERsbkVJMXlwbE5GZGVhMlMrNDNJSFhna0lUOEhvN01iS3RtblFnSUlWRnJ6cFJZ RmNnOUVDRnNrU0ZvS2tvTENHa045YnF2UWF1dmo5UlU2L1cxV2wyTjd2VWErMjJtZzZZaFFxalRKYms5eE9VbXFrUHllQnpaT1dwNkN5VWxWZklreE4yTmMr QU1JU3pZM1V6VDZsY3NMZjd3emRvbEN6Q1ZpS0lhd1NwenZRRUVQWjUrUFczd2NVWVpyV1lOZkJqTGtWQlcxcDQ4eERrQUoxVENDTlgrdnJ6NC9kZHJseXdB cGxPSEU0bFVYcFBBdktlOUxrRHNaQU1UUzRBUXhnU0FzMGlFYTFIcWRIbnl1cWYwUHpibHFBRUozWHFwYWVuV1Q0RXhoQkVTK1hkRXNvZG43V1Z4OWpUdll4 b1lJd0FXRGtmcmE4TWx4WUdpZ2toRldiaDBSNlN5UEZ4ZXBubnJlU2pFUWlFZWpTRE9FQ0JFTUNZRUU0S01JREFWMjNKaEwxQ25rM29TbExRTVIzYU9zM1Zi VC90TzdvNmRYVzNhUzU0RXNlaHdYUWNBSWtscHh3NUw3amVnZE9ZbnhlKy9GaXJlVGwxdXd5R0hNVWFJYTVwV1gyZXJKZFRNeHpwODVYRFh3QUNBTU1MSXNw a3h4aVJjWHJyOTNWY3Jacy9VR3Vxb3kyVk9OVEFRczNzT1pDeTEzWFplS2picnp2QklHRkhxeW0yYk9tQlkycERqRTd2M1VsSU1JeGtFZnF6eXpsWTlLdkgx L3M1dmM5Q0JzM0I1V2Fpa09GUzZRNitwQWM2d3JCQ01BU096cWhiaDBZanU5N0ZnUVBjSGRGOUR0TG95V2xlcmVldFp3QS9SS0RDR0tjV1NSQ1FKQWVLY0lW MWp1bzRCWVZtV2s1SWRyWElUdXZaSVBXWndjcjlqUkhjNFk0Z3pMQ3NZb2VDMnJkdmVmcmw4OXBlWVlDTEppSE1naEVYQ1hSK1kybkxzMmNDWTJFaWd2MlhS TjhzaGxNTVl3TGE2TUp4ekJKeFFDUURLNTh6Yy91YUxnYTJicWVyQWttU2VTeEIzaG5HVFJpbUtvZGZrU3hJQ25QTklHQmlUMHpKU2pocVFjZnlvNUg3SE9E S3pqVjh4aGxBTXQxWUc4UUhpZHBldWlRMDJwcFRJOGo3OWpuRVdEZXQrWDZTeVFtdW9DeGZ2OEJkc0RHNHRDSlVXUjZzcWVDU01LU1dLU21RWkFBRm53SFNJ YXNBWmNUaWRyZHUyR0g1UzVwZ3ozZTA3SW9RNDB4RUFrV1FBMlBuNWg0WFRIbWQrUDNVNEVYQ202OTBlbTVZNWNnd3dIUkdLRWRqM0NNMXlXTWxoQ3VER3pp cEtNVUxlOVd1MnYvTksxVS9mSWdEcWNJTGRZTjRERGRKYUNPeWFtUkN1YWNJZjYrbVNuejVrUk5yUUVRbjVQUXhpZzdpem1WaUg0cDI5QnkzRHdXNG9pUHhr c0FlSHJPZlovdGRVVkpaRklwR3FDdittOVEyclZuclhyUXBzMmFqVjFTQk1xTk9KQ1FYZ0dHTmduR3NSMERRMXEyWEdjYU5hamo4dm9VcytJTVExRFZOS0NL bGJzV3p6MUFjRG16ZFFweE00OUhqdWpkU0JRODFTMGtkaSt2Ti9SUTQvQU5zTHNwazdYaGFKbEh6OHpvNFAzb3hXbGxrYk5uRTUzaTNqb1hIQUNXTXNFTU1p RVI2TnFDMnlVZ2NNeVRoK1ZQTFJBNVhrRlBOeGdHMG5rbGlydzBIZUJPN2ZvV2ROL042SVVTRWtLSkRXRjNvbzZOK3lzVzdwd3BvbFAzdlhyWVpvaERoZG1F cW1zdzBqVFdPUnNKcVpuWDNhaE55THJwS1RrampURVNBaVNjSHRSUnNldUtYdXQ2V09scTE2dmZSK1FwZDg0Qnd3SW9nMDQvZXdsY01Md0UwcVh0L0dkWVV2 VHEzNTVTZWltblJJeTA3ZXpYYTNNVFZhbEdYa25JZkRDR05ubS9ZWng0M01PbVdzcDNPZXVGN1VXRFgzdzRZdGJuZHhIWXF1TnNwWWlvbklYVUp4RnpTUm1t VEh2MFhNTU1Hc0I0TzFTeGFVejVsWnYzSzUxbEJuQkg3TjRrRmNpN0p3T09Xb2dSMXZ2VCtwZXk4dWFzRkxVcmk4YlBXa3k0Q3pmdTkvVFZWVnJCUjQ5d2M3 TmNzL0xvY0xnTzBaTThMVFN5UkpENFYyZmpHOStQM1hJaFZsa3N0dEdMZDJCbTlUK0FVN09VSFVjR09NaDBMRTZVenMwU2RqeE1rdFJwenN5TW8ydDlhQUNj WUlXNTVoTEZKM0QrTXAyOFFoTDNaQWM0NFFJQ3FKYStwWC9scnk4YnZWdjh3RFhhTU9oNUgvaERFbVJQZjcxYXpzdkFlZlNoODBqRE9HRUJBcStUYXU4NjVi bFRQdVBEQnJnQjNPUTlFc2h3dUFZK0VjTG5JQWliOWcwNVpuSDYxYnZBQkxFbEVVNDVndk0rVFR5R2FPbmU1cE9wcUV3WXdZWTZFZzlTU21EaGlTZGRyNDFB R0RqWVhBREFWWkpaSDNFdmc1ck1Xb0V4Q2YxUkdyandzY0tuK2NzL1hscDRLRm15VlBRc3p0UnlrTGg1VDBGdDJmZkNXNTkxR05TcjFiTi92bit0VXNlNWZE QU1BbThKRE5iSzZZTzZ2d3VjZENKY1dTMjIxcUZXeWs3Y2JQcVRqM3NxVjJDZUZNNStHUWxKaWNPbUJJenRrWHBodzkwQWdYMmF6bEdBSHJTSVZ1dklCUmtz QzJlVUJXUFlQZ2ptMWJubnlvZXVGUDFPR3dZdGNpRGRpWjI2N0gwNjk2T3VWeHpvMWtTTUdYYnE0VWZkakxQd3hnYTdaeEFNUVlrU1RONTkzMityU2RuNzRI dW00eHEvYmdZRGJNYWN2cFJBbm9PZ3VIcE1Ua3RFSERzODg0SjNYQVlJd3g1eHdESUdKUWs1cytXT2hmSS9IR2lGZ1ppU1N4YUdUTGs0L3MvUHc5cWpvd0lJ NEFJNFFKMVlPK3BGNUg5M3orTFRrbE5VWXB0Ymd1elhJWXl6OEo0SmpXNUZ4UUkzMmJOMng1NG9HNjM1ZFRWY1dXMDBWY0xKcHIvVGFlNml5VUJ1ZWNoWUtT MDVVKy9LU2NzeTVJN3RNZlUyTEZoR0o4eWYvSUdTTDIrSmxReFpTQ3BtMTg1TzZ5R1I5VHQxdGtSMkdFRUtXNjM5LzJpaHM3WEgrYlNFSXk5UEMvZm9pT2ZQ bkhBQnc3bU10ME5WWDkvT1BtSis0UGx4WkxMamNBV05ZYjdMTGRqYm03aEp1VUVBQmdvUkJ4T0ZMNkQybzk4YkswZ1VPUTBPcUN2Q1Y4Vk5ZUC93dm9OY1Zl SEZla2Y3QkFZTTF0VjljdW1TKzVFb0F6QVZTbWFjNldyWHEvT3QzWkt0ZllKUCs5aElwbStkL0lQOENGM2pWV2hEamYvdUZiMjE1NWhvVkRrdHNqZENiZ3hq dXdlT2dpNDRRQmdsZ29oQWhKSFRBazU2d0wwNGFOb0xJc0RHWkJHNGIvbE5iZFJXSU1GZ0JFQ0hBdWVUeWRibnRnMWJiQ2FHVVprV1F4T0VSV1FqdUw2Ly82 M1pIVEdnRUFJYVNaQW4wa3lQOGF3SGF6VHFUeTZzSEFscWNmTFoweG5VZ3lVUlRCdnpYMmI3dWkxM0lhWTR3SllaRUlNRDJoYTQvY0M2N0lPR0VVZFRnQmdG dG5XUCszb1J1VFdObytBQ0djTVUvN2pxM092cWp3MlVkQlZyQ3dtVEVHWFFzVWJqRitjWGlVeEc2V3Zjci9GTUNtZzBSVWpPU0UwdERPNGkxUFBGQzE0RWZx ZEdLRU9PZkVObW5pNHIxV0VvOUJSZENZcHJuYmQyeDU1bm5aWTgrU0U1T0VoeGtSUWdocGhtNWpNYTFvZ1dRQWFESHExTEt2UHd0dUt4UzFma0JFMzROK2pE R1lPK0IvdXRITnNuZjUzd0U0M21YRkNaVWExdnk1OGFFNy9KdlhVNWZiZm5TWTNWOWxLODV1MnN3STlFQkFTYy9JbVhCK3kvRVRIUzJ5QUNGZ09oSnA2ODNR M1ozWUM1SndjR2ExVEI4NlludkJKcVNxbUhNRUdHRXNKU1diWG9sL3VyWE5zbS95UHdLd1pjRUo3eFNoVXRVdjh6WTljbGUwcXBLNlBjZzZpTWk4SGpkbE15 Tk1XRGlNQ01rNGFYUzdLeWNsZE81cXNTQkYrWmgvZVhEb2J3czJUek1HQkFnZ3BmK2dray9lUVp5TGNhT3FJN0ZyRDR3eElBd0lOZWNmSFJIeXZ3Q3dtVDhQ UXAxaVNrdS8vbnpMa3creFlJQTZuRWJTcVpWVmJ5VUYyaExmaGMzTU5jM1R0WHViaTYvT1BHazBwdFJpRHNYcTVqVDdYZllzOGVjWXU5cDFrTk5hUk1wM1V0 V2hoMEtKM1hvbTlUNEtiTHZsNXFFOC9PV1FBOWpLbndkdStKYTJ2Zk55MFN2UElzNkpvb2d3UmlOQ0ZUTHpDQ3grcFI3d3kybnBiYzY5dE5XRTg1WFV0Smlu eXB5VWh5Um42TjhvR0lDYkFKYVRVOVhNN1BET0hXTGRiRDN4TWlVbGxYT0dNY0hOaFRpT0VEbTBBSTZ6bkFrRnJoZSs5TlQydDErbWltcms0c2Z6Tk13NlVr YVpWSXdKaTRReG9TMU9Pclh0RlRjbWRCRTJzNDV4czZmcVFNV3ExQVZBWFM0bFBSTUI0c0ZncTNNdmFYSGlhT0RjWXFvZDVnTzZLMy9CNG9BZjltMC9tSElJ QVJ4REwrZVlVaDRKYjU3NlVPbm5IeEtuMDU1WFpCMEZacEVpRVFEQ0JBR1Arcnp1anAzYlhuRmo1c2pUaUN3eFhjY1lJMHpBWkFoaUszRjNuOTljWEJRNk5n bnN5MGhNWXZjL1hLZkZubms0VnJFRHE4dGNNR1RFdHdBSVk4MWIzL3FDeTl2ZmREZWlsSU9vc1FkV3VNOGVnZHJsV1kwSDdSQU4xNjZIeGRtK01qWm81amt3 ZXk2cDlDK1VROFhFc3FPWFVNb2lrVTFUN2kyYitZbFJmYzUwV2RucnA1dlF4UmhqRmc0VFN0dWZkMUh1LzEySGt0TDIrcUQ5YXRYQjZlRmhJTGJGQ0lGWkhW YUFrQkJyS3UrK25nYncxVmROVkZwazVkMDdCYW1PUFQ5b1g4ZHRYNnJtNzQvRUw3aTJBMjR3b3JaNnR6RmkzK0c2MUI0aU9TUUFib3plY0hqVDQvZVh6ZmlZ dWx6R2V6RFJpK0pkelpoUTRJeUZRZ21kOHJJdXZhNHl0enZuNEZhb3c2bEtWSkpsaWduaGpHdTZIdFgwWURDY205TWlKU1hCMnF6dHV3WkdDR21hdm1YclRs bVduQTVGb2hRaHBEUE9kTVk0ajBRMWZ5REVHZXVlMzk3dE1tYjI0VFl0WXFWcEFjejZQL1p2WXpzTGE4Z3JLbXNMaW5ZNm5RNjNVMVZVQllVQ2dUK1h0eGgy b3VSeWNWM2pIRVUxVGROWU5Lb0ZndUZ3SkpyWHNYVnFhcUs0T1dOODNZYWlVRGlhbk9SUlZVV1NDS1VVT0djY0lwR28xeGVNUnJXdWVXMFNFMXdvVmtUMDRI VzJxV1ZCMDdTeWlycjFtN2IvOFBQSzhhY05PYlovTjhhNG1XbDJlTDJzUXljSDM0UnVoRjQ5NE4vMDJMM2xzNytRWEc3VUNMMm14d3FzMC9HQ1FhcXFPZWRk MHVIL3J2VzUweDYrNDdrdFcwdTM3aWpYTk9ieE9CVkpJZ1FMZ0hFTzlRMytDODQ2NFlVbnJnWHoySVU5S3dvTHVweHpTdW4zUDYyNGZOS3pEb2VpS3JLaVNB Q2c2MXpYOVdBb2dqSHUwSzVsVG1icTR3OWU3bkU3T2VlSElZQ3gyU0ZCZlB4emRjSExiMzFUVVZXWDM2WE5qVmVlbVoyVmF1VUdXZ2hmdDZIbzZaYytyNnJ6 RjIwcmN6cFZwMU4xZWx6MDljV2laN3JHSWxITkh3aEhvbHJIZGkxYnBDWGRmZE41eDZRbGNjNEFpTTdZaDUvK3VIemx4dUxTYXAxeGo4ZEJDY1VZMWRUNkdH TnRjalBiNW1ROGZNOGxTUjQzQjM2UTdXZUVCTE45ZTNGbFJWVnRiWjIvb0dqbmhzMDd0bTRyMjE1Y1VWWFQ0UFVHaGcvcWFRM0Z2OHpPMnJNY1pBM2NHTDNC NElhSGJxLzg3aXVMcWhHem5JMTBVeVRPeFVNQWV0Q2YwTFZIaCt0dlR4ODZRdVRjYzRSOS91Q2Zxd3Z1ZWZUdDFldTNxWXJNUlhZclJvUVFUV2VwU1o2NVh6 N2VzVjFMRG9EMzRRd0JNK1NKQU9EOEs2ZDg5ZDJ5Qkk5VFoweHMraWpGMGFqZXZrMzJZL2RkZGt5L3ZLUWtEN1dwdGNOdFRvQkJpVUdFNE5YcnRrNjRaUEwy a2twRmxzS1I2UEJCdlQ1KzQrNjAxTVI0a3hJakJKck9xcXJyWjg1WjhzalQweU5oelNxNmpSQUlOWnVjNUhuNHpvdEdqamdxTFNWUmtxajlpWnhESUJCYXZu TEROYmU5VUZWZEwwdVMxeDhjUEtENzlaZVBQYVp2WGtaR3NpVFJneDZIRjZzbklTUWExU2JkL2ZKUEMvOHFLYTFpakJOS0NNR0tMTXN5MVhYKy9zdTNqejdw R01hNEdabzR2RjdXb1JQNjRJTVBIcXg3eGZtY0tlV1J5T2JIN3EyWTlRVjFlK3pvalVzRHhBZ1R5cU1SaEZITytJbGRINXlhMkxVSDV4dzRKNFJnakowT3RW MmJyTzU1YldmT1dRSUFra1FKRWQ5Z1dhYlZOZDQyclZzTU9DcWZjMjZoZDQvVktRMWR0SFpEMFpUblB5R2l6RFFobEJBcUVZSUp4dVRscWRlZmNtSi9sMU8x Mytad25CQ3hEQVU4ZGRwblAvN3lSM3Bhb2lSUmo4dXh1YUNrYzRlY1BqMDdjczR4dHNpcEdDR2doQ1FtdVB2M3pXdndCaGIvdXRidGRoSkNKSWxJbEVxU0ZJ bEc3NzM1dkNzdkdlTnhPeHVIZ1FFd3dRNkgwcUZkeXo5WEY2N2J1QTBBcnI1a3pHdlBUT3JWdlVOQ2dvdkVEOUZCSFRFc2txTUdISjEvNFZrbjlPblphY1Zm bXpnSGg2cUkxVnpYMlptakIzWHUyQ3BXVmY4d2ZGK0hSZzRTMzhZa1FscUZsSGdrc3VteGU4dSsrVXlLUjYvNDJ1YXZJcHJmNTh6SnpaLzhUSmQ3cHFqcExi aXVZMUd4V1hoTk9XZU01K2UxYWRzNk14clZ4THNVS2xUZ2VlYWNKVjVma0JKaVBYcDNEYlRlSzhaNDV1d2xOYlZlU1NMbXJSQUFSRFU5TFRXeGQ4OE9qSEhH dVBXVHYxRSs4aENLM1lOVlhsbXJLQkpqbkhNQUJKU1NrdElxZ05oeEtlYXVFQU9BcHVtYzh5RUR1a3NTWlp3YjQ0a1FZOHp0ZEF6c244OFkxM1ZtNzc0UnlR ZmduR3VhN3ZNRi9mN3dGUmVOZm5yeVZRa2VsNjdyM0NyVGM3RDNuOVlOTWNicHFVblpXV2xualIwMmJzd1F2ejlram9OeDNVRjg2QkVrQndmQVlNNXlBOGFj YjNscWN1bk1UNmpUQlJaTjBnS1lFUlltd0pnZThMYzRmbVN2bDk3UFBQbDBBQTZNRVVvRjN3TWI4dzVSU2dqR1RvZkNPZGlER1p5RDA2bit1YVp3eVc5cmhm ZlZYRW1hQUpzVllDQUVWMWJWZi9YdFVwZFQ1UndNVnhvMi9MZUtMR0VqRTlhWUVIdGVGLzVCc1E5NDcrNGRnc0V3UXBoU291c2NBUHIyNm9ReHhzZ2VCRElH UVJnd2xCTEpYUFdNYm5KUUZHSGhXQndaNnlBcUszNk0xMjNjTm0vaEg2ZWZjdXdqZDEvQ0FSampsRkpoeXh5SzRSS09kR3l1NXByR3hJSk9LTEZxTWYyWDVT QUEyRWkrTjVtU3dIbkJNNCtXZlBhZTVISmF4eG9oY3kwVmcwNG8xY01oNG5DMnYvNk83aysrNG1yVHRwSGl0V2xzaEJEQ0JFZWlXdGZPdVprWnlack9MUFlI SVRnYTFXYk1XaXpTbUhablBwbXRBdzZBTVo0N2YwVjVaZTNvRS9zenhvek1SVE9vYklWTVJRMXBTLzcrS0IxMHNab0dBSmVlZi9MWVV3WTFlQVAxRGY1b1JM dis4ckVuRHU5blRYMnpMNmlSaFdrdk90a29oR3NpMXJvNHRpdysrY0puQ1I3WGM0OWRyYW95Y0M0MkxvQmlKU3dQdWdhMkx3cGljWkZsaVNCUmZQZS9Mbi9i QzIwU0JRdzJCYVZibjV0Uy9NSHIxT25DRUVmU01DMGRBZ2gwcnpleFo1OE9OOTZWT21Bd2lJUUVTbU9VWm52cWpIaHRtSVREMGU3NTdaSVQzYSs5TzhlaHlF S3RDeVg4NDRJL05oZnU3Tkt4bGZCUjdZcGhqSTJqUHlrbXVzN2UvM1JldDd5Mmc0L3BQbVBXRXJmSHdUbGdzOWlPL1VkL2QyUU9zZGd6cTlOVEU5OS81WTQ1 UHl3dkxxM3UzYTM5OFVQN1lJek1QRi9ySkpuOUtDVnZYaDl6Y3dJQXBmVHI3NWJPbkxQazNaZHViNXVieFJpejZCT0gxRWlKSzgxdkdIRUlNT3lHM1BIZmty OEY0RmhKT3M0UkFLRzA1TE1QaXo5NG5UaWMyQW9BeElWNUNkZDFZS3psaEludHI3MVZ6Y2lNSlNSWWxHYVRXV1dmRUVZaU1NTG5uSG5jaDUvOXhEZ1grZjRB b01oU2VXWGQ3TG5MOGpxZGhSQVhaOHJiNTVPWTZNSmpTd2orYTIzaDRsL1h2dkQ0dFc2blF4TlB0NlhaSGJiNmRsZXgwZGd3NStCMk9jNGFPMXg4WlZrd2U0 QldrejF0OUdIc0REWkFoSkNLeXJxYjczMTE0dmdSWjQwZHhoaXpWUGMvczhWb1ZyOElIUVFUMmlUSUFLRzA4dWNmQ3FkTlFaZ1E2MHdERzlVUlU4cENJY250 NlhMM0kxMGZmRkxOeU9TNmpnbkd0bXRpTWVGNGtxQW9TaGNLUi9yM3pldlZ2WDBvSExHY3F3QWdTL1NiNzVaNXZRRmkyOVRGV2hpcjdZRXh4cC9NK0RuUjR6 cHp6QkJOMTRtdFNOWitpWm1RMTRUc1lSOSswTVZDS1NFWUFCampqREZtUnEwdGZYdkFUVEUzRjhKRVJqZmQ4NHJEb1V5NS96SWV2ejd1STNvYmpjL2ZHYmUv dWN6dTJvejllcnJsUTkyMVU3djJyc2s3NzI0YzlzcU4zVlVPSE1DMk5DTk9LSzFmdFhMVHczZXdZSkJJa3FXWll6cUNFTTNyOVhUSjcvN1VxemtUemdmZ1hQ aXJNQWI3RW02RWVURTBNb014eGhqck9xT1VqRDl0cUwycndvcGV0Vzdyd21WckxGZFdJelVpaEJCY1VWbjMrZGNMeDR3OEpqVWxJUnpSckxydSs5aGYrMEJ6 RU5FdTRERUJ6b0daL3RqZHZVakxGYmVyMkwxMDlyODArZ20zVFFqNy9RbkJJc1RHQVJpM2VkRVBkRFVCQU1DSWM2Q1V2UGpHVjdOLytQWDFaeWFscHlVQjN3 OEhnYjJGSXE1cmpodll4NDN2TW00SDF1YTlOc09jTnZabUFHTjdlWHI4U3pITnk3Z0pBQUFnQUVsRVFWUytaWnh6YnZ4ZGpJUDludFlmYXpHTmIwQVRWNHE3 N2RjSUhDQ0FiYjVOVGlnTmJDL2E4TkFkV2wwdFZSUnhJSUI1L2hhSUV1RjYwTi9pcE5FOW4zc3I1ZWlCNGpRdHM5eWNvUm1OZzhVSTRicXVoME1vL3BRK2JG amlHQUJPUFhsZ20xYVpVVTJ6WmcvQk9LcnBNMll2NWh5SWJiQWFNV2t4eHQvKytHdGxWZjNFOFNQQUxQQ3hMM3RkNDI3bTQ4UW9FMElvRlg4c0laUVNTb2l3 YVMzMWFEZGx6ZTFDYk9yYnJ5RXhleVRPQUxZK0Y5ZGI3anA3QzhYckY5ZFRZalREcXBaOVlLOVlUSFJKb2ovOThzZWRrOTk2K000TEJ4M1RuVEZta1NYMlBN bkV1Rms5RWxQWk5tN0VQbTdFSERlNytYQlFVR3h2UmxPdnovaGp2cldtOFdaZmYrUEdtY2JjNzV4elFuQ2oyeEtDR1dOMkQ1OVlnbmU5VWx6Y2FBVDIycnNE MmdQSGhYeUpIZ3hzZWZ6K1lNRkc2dklBWjdISUl3QWlsRVVqbUpBMmwxM2YvcXFiaUtweXBvdnFHZGhHNUJWRm9URkN2c0xOTEJSMHQrbUFWTUhtdFN0aEVI T3lkY3VNazQ3cjk5cDdjOVJFV1N5Y0hNRGxWT2N2L0hQamxoMWRPK2NLVjViRjZ4Q0RRQWlKUnZYM1AvM3hxRDZkQng2ZGI5cUhleCtnV0Q2QU1lNmlwYWlr dEtxZ3FMUm9lM2xGVlozZkgxSVVLU010dVhWT1JrN0w5STd0V2laNFhBZ2hpeGhrcFJrME5QZ3h4b29zU1pJa3k3UlJkRVRUZEFZOEpjbERpSlhnakwyK29L YnJIcGRUbGlraGhESG05NGNReGttSmJudGsyMnB3T0JMZHNHbEhjV25WU2NQN09oenFnZkg3QlNlUmN5NVJXbEJVZXZGMVQwNDRiY2dOVjUzQkdOL0hyYS85 cUF5aHc4VitxMmg3V1VGUjZiWWRGZFUxRGNGUXhPbFFNbHVrNXByanBxcUswR3drTm9QLzFsN1hlbjFXTThUcjI3NmpZc3ZXa3UwbGxlRndORDB0cVZQN25Q WnRzNU9UUEFnaDRaeXpkN0JKZmtnZ0VOcTRwWGpoMGpWalJ4L2JwblVXSVloUzJ1RDFyMXE3dGFDb3RLN2VyeWhTeDNZdCsvZkxTMHRKdE93TFFlTkZDSlZY MUs3WlVGUzB2ZHpuRHhKQ0Vqek85bTJ5ZTNYdmtKYWFLQzdic3d2RGt2MEhzSzIraHJoeHdYTlRhcFlzb0M0MzVneXNod0VDU25rb0pDVW1kcnIxZ2V6VHhw dForREgwZ3BscFNCQ0tWSlJYenZ0V3ljeE9HemlFdWozaVFCRDdZekV5b2hvQU1PSDBZUi9QK0preGJpSUxaRmtxcjZxYlBYZDVmcGMyc1hNYWpIa21EZzBs Sy83YytPdktqVTg5ZklYVHFlNjd2OHJLeUJOek9oZ016NXl6NU10WmkxZit0WmxTMGlvbkk4SGpwSlI2ZmNFMTY0dDgvbUI2YW1MSGRpMVBIVG53NHZOR1px UW5DUXdiMm95eCt4OTVlLzdTTldtcGlXNlhRNUlvcFpSenBtdE0wMWt3R0FrRVEzMTdkcHoyeEhWdWx4TkEwQ1RSOU05K2ZPdkQ3eDFPTlRuUkl5dVMxeHVv cnE0L2Q5eHhkMHc2VjdCY0lsR3Rvckp1MjQ2S3JkdkxWcS9idXFtZzVJL1ZXL0k3dHpsaGFKOERkaklKZFVRcHJhbjFudnQvaitaa3AwOTcvRHFNTU1LTjUv VHU1NGpaYXdCS1NYVjF3NmRmLy9MMXQwdlhiZHptY1R0eXNqTmNMcFVTWEZYalhiMStLOU41Um5wU2Z1ZmM4YWNOUFcvODhTNlhnM0ZPL3JhSHpDcW5peEFJ NUlURDBWbHpsOCtZdGVpWHBhc0pJWG1kV3F1S3ZHWHJ6dEx5bWw3ZDJvOGNjZlQ1RTBhMGI1dk5UWTZxcFFOMW5RVkM0Ym82My9iaWlvS2kwci9XYmwyOXRu REwxcDBWVmZXdFcyVzBhNU1kQ0lSZWVXZlc2Kzk5VzFCVUNwcE9GTm5sVkFraG5UdmtUTHBxM01RSng0dVZtbEphc0hYbk15OS8rZjM4RmFGd2xCSmNWZE1R amVvZWoxTWlwRU83bHY5M3dTbVhYVEJLbHFSOVpPRHZONENGcjVpYmZxbVN6ejhzL2Z4RDZuUmltNmtoSXJlYXorZnAwS25MdlZOU2poNW9MMytEVExJMHds amtLcFYvL1ZudGIwdXlScCtaY2Z4SXNIYkNUWGhmakFuUnYyK1hvM3AxWHJCMHRjZnRCQUNFdU1Ed3JMbkxyN3BrVElMSFpld0piYThmWXp6OWkvbHBxVWxu akI1c24xNzdNZ2tzamJTNXNHVFNYUy9QWC94WFRsYmFYVGVkZThxSi9iTmFwQ2lLTEs1Y3ZiYnc5b2ZlWFByYnV0WHJ0LzMyNTZiUFp5MTgrY2tianVyZG1a dUxFU0hrOXB2TzdkcTE3ZVNuUDZxdjkwbVN4SUJqaEFuR09tTTUyZW1QM1h2Sk1mM3lIS3BpZXQwQUlUUis3TEErdlRzLzkvS1hYMzIzbERPZTE3bjFBM2Rj T0toL1BzWjQ1YW90OXo3eTl2YVN5a0FnSElwRVE2RW9Ra2lXSmNhWTA2bkczT3Y3QXdCcmgwWXBpVVNpVjkvNnZNOGZtdlhSNUtSRXQ1MXB2T2ZCTTArRE1P Nno5TmQxays1NTVhODFCZDN6MnozMzJOVkRCL1pNVDBzVWlvZ3h0bkRwbWx2dWY2MndxSFRaN3h0K1diYm1xKytXdmp6MSt0eldtZFlNUGpBTTJ4a3NnSUJT dW56RmhnZW52cjlzeFhxL1AzVE9tY01mdk9QQ2p1MXlNTUVWbGJYM1BQck8rNS9PKzJ0ZDRZZWZ6YnZubG9rWG5YTWk1OXhncVFFaUJQKzRZT1ZkRDc5Vlhk dlE0QTF5QU9DY1N0VGxWQjBPcGJyR1cxdm5uWERKNUQvWEZJNGJNL2lTaVNPOXZ1RDhoWDl1M0ZMaWRLcWJDM2RlZWZPemhkdEs3NzFsSXFWMDd2emZMN3Zo YVVXVzdyNzUzT0dEZTZtS3ZMMjRZdXEwenhZc1hhMDZsSUtpMHB2dWVlV1AxVnVlZmVScXAxT3hwdWdldXI5L0FMWWZwMEFvcmYxdDJkWnBVN0ZFclpDUzVY eldBb0cwUWNNNzN6WFozYmE5Z1Y3em1GbnJJQldFVVBYQytkdmZlbEZLU094NHkzM3VkaDFFQWcyMmxYU09ueFlZSWNRWmwyVnB3dGloQzVldHNackVPVGdk NnFwMVd4Y3NYblhheWNjS0d3d3dCZzRDRE1VN0s3K2FzK1RNTVlPenM5STBUWmRsQ2UremJTWWU0UStFYnJqanBRVkxWMHVVWG5EMkNWZGRNa2JZR2N3OHZh bG45dzZ2UEhYRDZIUHVyYWlxVDAxSlhMZGgyOFhYVEozNTRVTWQyN1VVbTNPRWNPdWNGdGRjZG5xbkRxMHV2dTVKVFdQQ2JVNHBhV2p3bjNYNlVCRUhhdlRh TXRLU005S1NuNXA4NWE4ck42cXEvUG5iOTNYcGxDc3VhOU02ODRhcnppd3JyMzN6Zys4MkZSUW5KYm1CQXlIWTV3OFo4M1kveFJaclJRQncxK1MzUHAreDRO b3J4M2Jxa0tQclRHaWtmVW4zQVJDbGV4QWhlTnVPOHN0dmVuWkhTYVhEcWQ1NHhSa1RUaDhtSHNRWUY2L211Q0c5bjU5eXpmaUxId1pBYnBkajNpOS8vTitr Wno1OSs5N2tSTThCNS9mYWliMGlndjNCWi9QdWVQQU5mekNNRURwdi9JaTNYN2hGbGlVT25EUEliSkg2d3VQWGJTK3VYUEhucHRwNjN6VzNUYXVvcUwzOXhy UE41RVNFTWU3ZG8rTXpqMXhWVWxiOThsdmZiQ29zY2FpS3VWbEY2emR2ditUNnA0cDNWdjB5NitrZStlMUVBOG9yYXErNCtkbWZGNjN5ZUp5YzhTblBmdFNw ZlU2UHJtM1B2K3J4VnRucE16OThxRzNyVEhGbDY1d1czZkxhamozL3dUOVdiL0Y0bkU2SCtzNUhjMXRrcER4eTk4V1dJYkNIbnU2SEU4cytLSVRTY0dYNWxp ZnUxLzFlUWlVcmZpczJscnJmbDMzNmhCNVB2MnFnbHhqb0JRQmdUUGd4QXR1MnJyM2p1aldUTGt2bzFyUEhjMis2MjNYZ1REY2NXdUpXdTFua1JSdEduM2hN KzdiWmtVZ1VZeXhDZ29SZ0xhck5uTE1reHNvQ01Da2MrT3Z2bHRWN0F4TW5qSWg1SmZadFZsZ09yRlZyQy85YVY1aVM3QUdBZFJ1M004WVk0OEFCbXpOTTAv VjJiYkpIbjNSTU1CUm1uQ2NsdWJjVWxVNmQ5b21oa1RBU0dWYWFwcDg0dk4rVkY0NzIrMFBDdE9PY2M0QUdiNUJ6WUl5WmhIRmpDeVFlSkV6bHl5ODhwVXVu M0tobWNJOHpNMUxHbkRUZzhndFBlZlhwR3oxdXA2YnBYQmhIUnYvMmU5OXJ1WkVvSlE4KzhmNXI3ODdKekU2Zi9zWDgxOStiSTBuVXpPWGFGL3ZGdUJYR2VQ SHl0ZHQybENjbHVxTlJiZU9XSFl4eFRkY3RscGhRd2dPUHpoL1V2MXN3R09ZY1VwSVRGaTViODlZSDM1bUZDZzdFbHhVTFRBSlFTdC8vNU1mcmJuOGhxdW1x SW1kbnBqNXl6OFd5TE9tNkxnNVIxelRkNlZRdm5UaFMxNWtzUzI2WDQrR25QdnpreTU4cEpSWUpPRHN6OWZpaGZTNDgrOFFuSDc1Q0lsVFhHUURubkx1Y2pr OW0vUHpYbXNJdjMzdWdSMzQ3WFdlNnpqUk56OHBNZlhyeVZSbnBTZUdJaGpGMk9OUkhuNTcrZjVPZUNZY2p6MCs1cG0zcnpLaW1pemNiamVvcHlRazNYRGtX WThRWVo1d25KM25lbWY3OW42dTNXR0hSUGZSL1B3QWNjMXdoeENLUkxWTWY5Ry9lUUZVSE1wM2ZtQkRPR09oYW0wdXY3ZnJBVk1tVFlCMlNBQmlEOE1WUkdx bXRMbnJycFQ4dUhGdTk0SWU4aDU3c2ZQdURSb2xKWWtTVjlsem1DaFBNT2M5SVR6NzVoS01qRVkwUUxGUU41K0J5T2VZdittdkRwaDJXUnhFQUtNR2hjR1Q2 Wno4TjZ0L3RxTjZkOS9mUUg2c1ZqQUZqbkdCTUtLMnQ5eUd4SWJDelRSQUdnTzVkMnhLQ01ZQ3VjN2ZMTVgvUnFxM2J5b2c0clJOaGdqR2hoSE80NHFMUkhk cTFESWMxMFZSRmtaZit0cTZ5dWs0Y2FXTG1iSUFaQThmTGY5L2dkam5PRzNlODZSQVMyMVN1NjR3eGx0ZXBkWmVPclNJUnJjbU54MzY5WDBJeHhuanlVOU9m ZWZsTGo4Y0p3REVtOTA5NWIrNVBLeVNKTWdiVytyS1B1QklwRnNJdFZGM3JGVGxmalpRcUphUm50M2E2emhER25ITlZrV2ZNV2h3SWhnUXAvUUE2Sk5ETEFW RktsL3k2N282SDNwQWtxaWl5M3g4Ni9lUmoyN1RPWkl4UlNxMnREUUFjM2FkTGRtWnFPQndWVk0zSlQwL2ZVVklaODE4WVE4M3pPclp1bTlzaUd0V3NDSWpY RjdyNG5CTjc1TGZUZEYwd1BTbWxqTEZPN1hPT0c5d3JISTRBUXJJc1ZWVFhyMXE3ZGNqQUhnT1B6dWVjRzZSempDU0pBTUR3UVQwN3RHc1pqa1F4UWhLbE5Y WGVHYk9XbUYzWnJUTGJEd0JiMW9nNGM2ajRnemNxNTMxTDNXNEVKbjJSRU5BMElpdWQ3NXpjNmVaN3NDUlpoU01CRURDR0tTV0VWUHo0N2Fwckx5cVkrcUNV bk5McmxRK3pUeDB2V0Z4V2RWZ3MxUGp1clNiTHB6VCt0Q0dwS1FtNnpzeVRnMEdXcFlyS3VsbmZMN1BJRzJMMEZ5OWYrOGVhTGVlTk8wNldKUzVZWFBzeEZR eTZZcS91N1h0MWExZFdVZXYzQlFmMDYwb0pBUjZyeTJXNXhKSVRQWVFRUVErWEpGcGI1eXZhVVc1NjdCRmdZMmVlbFprNmJzemdTRFFxcG9oRFZUWVhsc3o5 NlhlN0JXdEcwQW5HZU1ic3hZT082WmFkbFFZQU5nK3RFZnVWSk9wMHFnYS80b0E4UGxaTVFaYWxwMS84L1BIblAzVzVIQ0wySTBzMEV0V3V1K1BGVldzTGhS NXU1S2JhelZzQzBiV0IvZlBiNUxiWVdWYk5kSGJzMGZuVzQ4d1JNeWFuMDZtYVpoeElFaTJyckNzcHJUWkc0OEM2Z3hBbTJPY0wzdmZZT3o1L1NKWmxYV2N1 cDNyQzBENENpbUpsRVFzOTU1Q1prWktlbGlUU3NGUlYyYnF0N0xPdmZySDFFWXNNWkVtaVpob014aGpyaktXbEpJd2RQWWh6TUpjbVVWUU1BY0RnQWQySjZm T1RKSW93T3FwM0YxbVdJSDdhQUVKcHFVbWQydWZvR2hQUkNrbVNWcTdld3Mya1d0ajlsTjBuQU1mMlBBQ1kwcHJsaTdlLy9US1ZGWXVHaFFubGtRaHhPUE1l ZmlybnJBdU1YYTRvSEdrbTkwZXFLamRPdm12RHZaTWEvdmd0ZGVEUVhpKyttOUszUDJmTUNvYWFKU24zUmd4QUdHTUNnUHIwNkRqZ3FLN0JVSVJpWWpJZVFG SGtXWE9YMVRmNHJhMGF4bmo2NS9OYjU3UTRkZFRBL1ZJZFFpeFROaW5SL2VienR6eDY3eVV2UFhuOW5UZWVneEFnMHdpMFZqZWhTeEhDWU5aMTVKelgxZnVR U2ZuQ01iMEtaNTg1TERNaldkTjB5ODMyeFRjTHc1R29xWVNOd2NNWUZXemQrZHNmRzg4NTh6Z2pmQTFXd1RtRFhtYThvLzNuOGRpN0tmSVE3M3YwM2ZzZWYw K1NhTXlOekxtcXlPVlZkVmZmOG54WlJRMmxjUmplemQxaTZST2RPN1Q2K0kxNzdydDE0dHN2M0hyQldTYzB5aEFVVGVZY0tDRTRWc3lmUktMUkJtOEFBQkNH QTJBOEc5WUV4bC9PV3J6ODl3MGVqNU56SG8xcXVhMHpCdzNvTHJTeEpGRktpU1JSOFplRUJKZXF5Z2hqU2dqR1NGWGxueGY5RlkxcUp0OGJXZlJleTY3R0NH bWFudHNxbzMzYmxzU0lCeHNNSmdHNU5xMHpxWmsxSmY3YklpTzVVWVFaVEdwT3E1YnBIQUF3QWdDSmtyTHltcnA2djcxbVk1T3lUMDRzVzVvK2lWUlZGanox TUFzRnFUaDlHeUhCa1ZUU012SWVuSm8rNUhodUZtb1hoeFZoUWdnaFZRdm5iNTMyaEw5Z0EyS3N4YWpUOHU1N1hFM1A0T0k4RkhON3ZBZXpPYjR4Q0dQRU9K Y29uWERhMEI4WC9BRm1DaEVINUhBb2F6WnMrM25SWDJlTUdhenJUSkpvd2RhZHMzOVlmc2w1STlQVGpLRE9maEViVENvRTVoemE1bWJkTmVsYzhYbGN4Qjho RUZPUTRIQTRJbUpnWXZJQmdLNHpjenlRVmZzQ0FIWHRuRHRpU04rUFo4eFBUSFJ6enAxT2RkbnZHMzc5ZmVQUVkzdFl6aHNPWENKa3hwd2xHV2xKUTQvdFlR djhna25lYnZ5bTlyMXJkaEY3UmE4dnNIVEZ1aGVtWFB2MTk4dCsrUG4zNUNRUDB6a21pSEh1ZGpsV3JkdDY3VzB2ZlBEcW5VNkh1dWNpY3JiMFF3UUFmWHAw N05PajQ2N2pKbmIvc2t3UlFwR0loZ3p6Q3hBU3FhWGN5SWc2SUNjV0lTUVVpbno2MWMrRUVtditjODdmK1dndUpXYUUyVlNXRXFGVnRRMmJ0aFRydXU0TGhC RUNUV1ByTm0ydnFLcHZuWk5oeEJFYVo4aGdqSkRPZUhwcWNvTEhhZThYeGdoemhERldaVm5vVzJPRUNYYW9jb3k5WXk3MG5IT0VjR0tDRzRCandJQTRJY1Fm RE5YV2VWTlRFdllNamIwQjJPS3ppd1dlOGNLWHB2bzNyWmZjSHVOb1dVcjFRTUNWMjdicncwOG5DNDFxOHpZVFNqbGoyOTU1cGZqZFYvV0FId0Zrblg1MnA5 c2ZVQktUckpndzdQOUo4R0p4QllDUkk0N3EwcW4xNW9KaWg2cUlRU0tFYUJxYk1XZkphU2NmSzBacHh1ekZrWWgyM3JqanJYSGNyK2xnYnhybklPcWltd25E QmdXUFVvSUlpa2IxVDc5YThQaXpIeXVLYk14c3NQUms3SDZ4MkFiZzg4WWY5L1gzU3dVZmoxSlMzeEQ0L0p1Rnd3YjFOTTBSb0lSRUl0R3Y1eXdaYzlJQWw5 T2hNeVpLTVRZYXNIMk1hZSsxcnhqajV4Njk1cnp4eHc4OXR1ZTRpOHUzN2Fod3VWUUJKTVo0UW9Mcis1OVczRDM1cmVjZXUwYUVXSFpITnJBK3RHS3doa2xy ZWg4WVkwTFhFWUlhdklFM1AvanU5ZmUvRlhyU3hMK3hGVGl3WGduSHdhYUNrbFhydGpwVVJiajJLS1hCWVBpakwrYWJEQUljdXhwaGhLQkx4OVpXRTNYRzBw SVRSS0VJWkd1SmZhaEZHcTJpU0lMMFl1Kzd1SnBLbEZKaXVRQ3NoSm5ZSFUxVEMyTXN5NUl4Wmh4ampMV29IZ3BIc1dXYzdxYW5ld0V3V0ZZT0FLYTBiTmFY NWQ5OFFWd3VBNzJFNm42ZnUyT1g3bysvNk9tU2I0V0xMSUowdEw1Mnk1TVBsOCtaU1JRWmNkNzZ2TXM2M25RM1VaUzRjeFVPaUdZZzRKU1NuRERtcFA2UHJ5 OXlPbFV1V0ZrY1hDN0hMMHRXcmR1NHJVZCtPNjh2OE5HWFB3OGYxTE5udC9ZQUlESWc5dE9FdHZpWTRwL0dwb056UmlrVnRKN3Ftb1pQdi9ybGpmZS85ZnRE blR2a1ZOYlV3MjYzbzNGNXVZTUdkTy9YdTlPUzVldmNiaWZuNEhLcWMzOWFVVmhVMnI1dE5qY0RZRXQvVzcrenZIcjg2VU1CZ0JqNVdnYy9peDFqekJsM085 VWUrZTBZNDUwNjVMejJ6S1FKbDA0T0JzS3lJZ2wvTXVlUWtPQjY2OFB2MitWbVRicDZuSzR6d1hiYkk0YXRmMkZrMXZFUy9FbUUwUGJpeXZjKytlR0RUMzkw T3RXTzdWcXVYTDFGc1pWMy9uc0NBTEJtZlpIWEczUzduV0l6R1F5R3pqbnp1QWR1dnlBUzFZaHg3SHZjYjhSKzJQbzlKY1RoVVBiVUdNT3RZZSsrZWJGcFR0 dVgxa1pyZ1gyMGtMRXFpeDJpQ0lEYUF3cTdsYjN0Z2MyOUhhWTBzSzJ3NkpWbkVNSkViUDRvMVlQK3BMN0g5SnoydG9GZUVvZGUzNmIxYTI2Nm9ueldGMVIx Z003YVhqbXAwMjMzWTBXT2MwMGZLTS9HVXFmalRoM1NJaU5aMTVsVnQwR1dhV1YxL2N3NVN6REc4eGYrdFc3VHRva1RSb2lGOEVBY21qSGVXR3pod0JoUlNu V2RMVjYrNW9ZN1h6cjZoR3VudlRiamxCT08vbVgyMHpkZE15NFVqcExkZDhxMHRSRG4zS0VxNTR3ZGJoVi9WUlNwcEt6Nm0rK1hXU3hDalBFbk0zL3UyYTFE ZnBjMkFBZ1RmSWhPVFRCaVNBQ1JTSlFRSE5YMGdVZm5UNXR5TFJqOU5YY0tnSnhPZGZMVDA3LzRlcUVrVVE1N2RrcGo0NmhEMHgxQU1LYVVCb0toNytiOWR1 SFZUeHc3Nm9ZWnN4ZGZlZkdZaGJPZk9YWFV3R0F3SWh6c0I2czdaUlUxVVUwM1lwZ1lFSUwwdENSSm9rNkg2blNvRG9maVVPUCt1SnlxMitVUWZ6eHVwMkRz N1VFTWttWmNhWHVyQmNpVy9HQjl1M2REQ1J2dDMxZXJhazhhR014NFBNWUljYjd0OVdtaDRtMnlKd0Z4ampIUmZRMHB4dzdMZitSNVI0dE1pK0ZzVklla3RQ TG5IN1k4Zmwra3NweTZQU3dZYUgvZDdlMHV2eDQ0Qnc3WUlwcnUyNmEzNlg2YVBwSnVlVzJISHR2amkyOFdDYXFRR0RSRmx1Zjg4T3ZOMTR6NzdLc0ZuZHJs bkh4Q2Y4TXBpdUFBdkxUeHRGNHVvUHZGTndzLytHemV3cVZyVkZXKzQ0YXpMejczcEl6MFpJVFFINnNMRU41VHNyazFtNDNjakZFRFgzamo2OEx0cFE1RkFR QlprbWJNWG5UcHhKR0pDVzZFVUZsRnpmeEZxeDY4L1VLeGpwckpSUWNmdy9ZTkxjYVlFcXpyN013eGczZVVWTjQ5K2UyRUJLY0JWU1JxUktPYjduc2xwMlg2 d0tQelJXNURYTFo5Yk5DTUNTbk1TN0hIL3VEVGVaL08vR1g1eWcyNU9SbVAzSFB4aE5PSGVkeE9zUWNtKytsZjNITi9FRUtScUNiYWdveGRHcFlvRVMvUnNt YjNhM0IyOTIwVEYrRGRmN1g3K3pUNTl6M0w3aGM4OFVxRUc0SFF5bm5mVmN5ZEpibmNJdGxJQy9qU2hwN1FmY29MamhhWlJnZ1hJZUFjRTRJSktmN283UTMz VG9wVVZ4S0hrd1dEN2E2NjJVQ3ZyVXQvQjcxbUF3MS83SVRUaHFxS2JEQmprQWlyU3R1TEs1NTY4Zk1GUzFlUE8yMUlVcUxieXVvNmdLZFlrQk9lbm9WTFY1 OTY3cjFYM3pydCsza3IrdlRzdU9DYnAyNjcvcXlNOU9Sb1ZEYzQ2R2d2YVJLV3c0TnpTRTlMT20zVWdHaFV4MFR3eVpSVmE0dCtYclJLWERENysrVXlwYU5H OUxQWll3ZGx1OXUwMlAzRG9zcnNEVmVNdmZyU1V4c2FBa2J3R1NIT1FaWWxyemQ0OVMzUEZ4YVZObkpLVy8wV0UwZWdSUVREdnBpMTZLVHhkOTA1K2EybEs5 YU5Hek40MGJmUFhuTGVLSS9iR1kxcVppbVZnNWRDQ0FZZHhhcmdJWnFtYWJwb0hkcWY2ZmUveWU0K01Oa3RnR08xcVFpSjFGUnZlL05GeEptQXRCNE1aSjB5 dHR1VUY1VzBER0VQR3dZU3BTd1UydnpFQTV1blBzU2pVYXFvUEJScWU5V2tkbGZkMUJpOUIyTWJaODQyR0RHMFQ4OXU3VVVJSHRrTXBsZmVua1VKT2Z2MFlU WS8vb0dRazh3MUd4RkNYbnp6cXdtWFRsNzgyenFFVU84ZUhkOTk4ZGJ1WGR0cHVpNzgyOFJ3Z2V4RlE5cmpud0J3OXBuRHN6S1NOYzNZQmVpNi92blh2NGhB NWVmZkxEenh1TDVwcVVreE8vWi9NcGtzT3g5ai9NamRGNTg2YW1CRFEwQ1NpQ2h6S1h6bUJVV2xWOS82ZkYyOWp4QmlWUlMwTWFCaTFyV21zN3NtdjNYcGRV OXQzTHlEWUR6cStLTmZmKzZtN013MFRkZkY3cFFRYkJWRU9VZzl3QUNRNkhFYlVSemo4Rm1vcnZXYVBuelVLSWEvT3psSWUvSkRKVTBEMkNKL2lLTStTejUr MTc5eExWV2RDQ0hkNzhzNjVZeTgrNmZLU1VrV2VnMlhWVVA5K25zbUZVOS9tNm9xa1dUTjI5RDZnc3ZiWDNVVGdsM1FlMURFM0VtNjNjNVRSdzNRZEQyV1JB cUlFT3dMaElZZDJ6TS9yNDN3U1pyK3RmMFRLNEdiRVBMOGF6UHVlT2hOeG5pQ3g2bnI3TWFyem1qZnRxV202Ukp0WEJSNUg5b09aandKOGpybEhqZTRUekFV SnBod0FKZkxNWC94cXMyRkpadTJGSy9mdEdPQ2JRRTZwT28zdm5rNFJqSjNxczgvZG5YZlhoMjl2cERoU3NDSU1lN3hPQmN0WDN2cmZhL3B1bTZMYjhkMjZl SVR4dmlkRDc3eHpFdGZPSjJxcXNwT2gzclhUZWNrZUZ5YXpzU0pOc1lURDNMN0VVYTRTNmRXTG9jcUtnUmpqSUREdHUzbGV6WmtHdFhLT016VjcyNEJiUG1p TUtFTjYxYnYvT3g5b3FvSUl6M2d6eHA5WnBmN0hwZmM3a2JvRFZkWHJidnorcW9mWjBzdUZ5WkU4M216VHB2US9ycmJEQ2Y5L213R2RoV0l6KzgzR21tRThq QUFuSEhLb0p6c2RNTmpZZGl3SU12U21hY09JWVJ3NE5iUnBZM3YyK2dmalRZeWh2cEZoSkJmVjI2WTh0d25Ub2NxU1RRY2ptYTJTQms2c0FmblFFekdyQm5J YjV5RDBXU3ZiVlh1QVNGMDdyamozRTVWc0Q4bGlWYlhOTXlldSt6TDJZdmE1bVllMHkvUEZ2NDl4T2kxdGRTa0dXTEdXTXZzOURlZnU3bFZkbm9vSEtXVWlz WXpCa21KN285bkxuajBtZW0yWWtZeFMwRlUwdnBpMXNMWDNwdVRrcHlBTVFvR0k5M3kydlRyM1Vrd055dzlMd2JFUGt3SGtvcGhFNHd4WU9qUnRWMU95M1JO MDRuaDNaUUt0NWY3L0VGcktzSSt2S25EWEpvQWNJdzFpVEdMUnJhOS9yeFdYMGRrUmZQN00wZVB5N3YvaVNiUVcxRzIvcTdyYXhiUHArNEVoTEh1OTZVTUhO TDVqb2VvcXByVm5ROVFnVmhoYUxRTHJ4MU1NaW9BZEd5ZmM5emczcUZneE15WXdjRlFwRWRlMnhGRCs1aEI0eWJlbHQwcmJTUWJJK3NSY1dRakFKZzVlM0Y5 UTBDV0pGR0JKUzBsMGVOMmlwWGVDalVaNVc5aUhpeDdnMk5XWmFNNklRaWhJUU43OU92ZE9SZ01FMEk0QjQvTE9mMkwrZTk4OU1OWlk0ZkpzaVNLK08xaEJZ eU5qRW5hYWRMWWpodTlKaTh3RzJ4U3dZeFZRMmVzYTVjMkwwNjl6cUhJdW1ucGlMd3lqOXY1ek1zejN2bG9ydGdNMnljUHdaZ3gvdVUzaTdoNTVqTmpMQ00x VWVSTDJyaXVodDBVSCtFemVtSlhodkdOYjZyN3BtQ01PWU9zek5SVFRqd21GSTVpUWpnSFZaV0x0cGV1WFY5a280NWl1OG9WYTc4WnBZKzU1Y3doYmZwWlRl OXJtcnA0enpzZ295VzdYTHpuVmFVSkFHT3pRQ1FtcEh6T3pKcGY1a2tlaitadHlCcDlSdDU5VTVwQWIxWGwrcnNuMWYyNldISW5ZSVJZTUpEUXJWZlhCNllx eVNrR0sycy9ReC8yTWJWNlpIZHZnc24zTjl4TEFBQncxdGloTHBmRHFraWlhZnJwSnc5TVNuUmJ4UTBhM2R4S1A0ZzkxcGJCWTgrREVRZldGeFNWVW9vNUdG UnFLM0F2Ym9ZTkx4ZHlPaFFyb1FBUXRvQm5GcytPNldxYks0czdITXI0MDRaYXQxTlVxV2g3QlNIbzFKRURMTmJLcnIxb1FvY2d3SEZ4amJnTDdBdU5uV0Ju bjhIR2xTWnd4RU5GeHZLSncvczk4Y0QvV1JhcGRSOVprZTZhL05aUHYveGhNcVhCNGtMWE5maDNsbFVyc21SUzVzMmRtYzIxSzE2UVE1WHN5NlU5MkczdnJO VTNrM2ZadEFxMU9uWForYU5hWmFkSG8xRkNNQ1hFNnd0K09XdXh5UktMYzU2Ym9USVFMYmVvdUxab2RwTzRiWXhQQStkTmJkYnNJTEExdGZGQzMvaFh5QUIy aytCdkRHQXcxeDlFU0tTNnN1VGpkeEdsZXNDZmVmTHBqZEVya2dyTHk5YmZlWDNkaWlYVTVjRUFUSXNvbVMyN1B2U1VxMVd1bmEyeEx5Um5lei9OZDRtdGJh MVpiREhHaGJCR1MyeEFod3pvM3E5WHAxQW9RZ25Sb25yTHJMVFRUeGtFdGp4SEMvREcxRVJtOXJMeFVJUUJHT2ZJUEdMWGZCeVlMazFxSGV3aVMxSnBlVTFw ZVkwNGxKUnowRG1YWllrUXZPS1BUVEdlRkNBQUhCVlpmcHhUU29XQllPZXlXLzA5YmRUQVR1MXpSSUlreGppcWFTY003ZHMyTjJ0WHk4V2UxMm5qbVZqVEVR TzJHSWxnSHl1cnBJa1Y5YlczQVdOa2ttR01TbTMyeVUwd1pveGRmTjdJS3k0YUhRcEZNQ2JXaTVBb0NZZWoxOTd4NHByMVJaSkVkY2F0V1VnTkpJakN2aUFy VXVIMk1rRU8xeGtUdGV4a1dVSUFhOVp2azJUSlduK0ZtU1BXUkpFMlpKSGJ6TFNReHJHcitHSEJvcjVVNXc2dDdyN3AzSEE0S2pEZ2RLcWZ6MXEwVnJSVFp4 RC9LNnQzZWFVQUFCRUVTVVJCVkpGeVJBalp1cTMwK1ZlKzFEUWQ3R05uaTdUWk1COWJqczFoRkt0MTNNVVdSTVd3eDVaUjR5dHpRVUdBd1RxQXlIeFpablp0 a3laWUhJREJVcjhJTU1abHMyY0VDamFCcnFVUEdaRjM3Mk9TMjJOSEw4Wlk4L3MyUG54SDdXOUxxTnVEZ1hQZ0dKT09OOTJkMENXZk14M2Jxbjd2bDhzKzV2 c0ZMb2pFOVEzK3F1cUduYVZWa1loR0tSR1lzUUVlTWM0ZER2WDBrd2N5eGlrbGdWRGsrQ0c5eFdsWHNkd2RqTVdjUUFnVFFqWnYzU2xtb1BsY0pFbTAzaHVv cnZFU2pCazM2anFDTVdOd2ZwYzJURGRUOENWYTMrQi80LzF2elFKWFZKYWttanJ2TGZlOSt1U0xuN3VjcXVnRndWalQ5QjBsRlpRUVJaRzJiaXRyOEFZczlS NkhKUTZaTFZMR2pEd21FdEVFTDA5VjVORW5IWU5RL1B1T3g3Q3hmQURvalBsOFFaUDBDNVFRcno4b2FxbnBMT1pCdEhLUENTRkZPOHFpdW81dDhXcENpVDhZ TGltdElvUXdaaVFxMnlrbG5JUE8yQ1hualV4TlNkQjEzZUx1Y3c0T2gxSmFWbjM1cEdjS3R1NlVKY2tDUTNLaXAzM2I3S2ltQ1UrMVE1VTNGWmE4OS9FUGhC QlpraVNKU3BKVXRMM3MzQ3VtZkRGcnNjZnRNTWFONEZBb1VsbGRUd2lSSmJweHl3NnhybkVPT21jWTR3WnZnSFBBaG5ZZ3VzNzhnWkNvV3dweHF4SmluRjh5 Y2RTdDE1M1Y0QTB3eGxSVnFhdnozbkxmYXpWMVhsbVdnQVBqWE5lWjZDeWxWSmFsdjlZVVhISFRzNGxKYml0dFNCZ080dWE2emhwOElxZ0dBSWhRSEFpR3hB VmliTVdFMFJuREdHdFJUYnhRTVlDaW5obkJXQ3hOR0dFd3lsTnlRckRYRjhRSUF4YWNVeElLUjhLaGlLam1FNFB4TGppS1A1M1FOUE14SnBHS2lvS25IZzZY NzB3ZE1EVC9rZWVVMUxRNDlDSkFHQmM4ODJqRm5DOWxUd0ptREFqaDRWQ3JjeS9PdmVoS0JCemhXRlhFL2RyM3hxdzRzNEpoT0J4NWFPb0hLLzdjV0ZmdmQ2 akt3UDc1eGdtRjloOGhoQkRLeWt5Wi9jT3Z2a0JZb3VUZW15ZDJiTi9LT3JkZTJHM0VsSjhYL1RWMTJtZW1DakorTDBrMEdJelVOL2lPSDl6YjVYS1kvRlhq ZE9tc3pOVFpjMyt0Yi9BN0hRb0FrbVZwOWJxdEpUdXJLTUViQzRvL203bGcwdDJ2YkM0b2Z2bkpHOG9xYWpZVkZMdmRUbUh2VmRkNisvWHF0R1o5MGYxVDNq dHhXTitrUkxmdEFCZHMyM0NpOUxTa2I3NWZGbzFxMGFqV3ZXdTd1MjQrMTZISzJCWUJialJFNGx4Rmd2RzhCWCs4UGYxN1NSSTJBcFlscWE3ZTE3MXJ1NjZk MjRnTERGT0ZFREdrR3pidnVIL0tldzNlZ0NSUk1JZFBWTXdyTGFzWlByaFhha3FDVmRqTm1odFVvb1NRMzFadW5EbG5pVm1OMFdvWU9CeHFhWG5ONG1WcnVu Yk9iZE02aTVpblNIcmN6cS9uTEJXYVZvUURmbDI1MGVjUDZveXRYcmYxcmVuZjMzVHZxeElsejArNWV1bHY2MnRxdlE2SEltWnRmWDJnYjgrT3MrY3VmLzM5 YjhlTUhLQW9NcVZFb2pRWURFOTU3cE1kTzZzVVJVWUFoQklSZ1R0MTFFQkZrZTFIekZyR3hYR0RlemxVWmRtSzlWNWYwT054YmkrdStQM1B6VjA2dFc3Vk1w M1laRnR4eGZPdnpuajY1Uyt1di96MDg4ODYwZEtaVmhWTGpQSFgzeTc1Wk9ZQ1ZaV0ZPU1pMVW4yRHIzZVBEdTNiWnBzVEJnZ2h3c0grN0N0Zi9yRzZRRlZs aElCZ2dqRDJCOEtualJyb2NUc0pJWUJCRkFLbWxPNHNxM25pK1UrOXZxQWtTU0tDSFF4R2toTGRKd3p2SzFGcTVwUEh2WDNqbi9adGcyRldBY2VFRnI3NFpP SHpqNmNOUFQ3L2tXZWQyYTA0WTZMUUl3ZkFDRENoMjk1NmFlc0xUeERWS2NDc2gwT2VUbDM3dlBhUm5KSWFuNW14MzZGWDhTdWZQL1RCSno4VWJpOWIrdHY2 UDFZWE9GV0ZBMmlhUG5oZzl6N2RPL1RNYTN2dVdTZVl1Vm9pbmdTVWtodnVldW1GSno4WWR2S2cyUjgvNG5ZNzdHWU13WGpSMHRVLy9Qejc1cUt5dWZOL0Q0 VWlxcW9RTE5qTldNUjZPVUF3R082UjMyNzRzVDNiNUtTZmY4N0lGdWxKM0p6OXM3NWZkc09kTDVWVjFxcUtUQ2pCQ0FlQ0lZeHdWTmM5THNkNTQ0Ni81NWFK clhNeUZpNWRNL0hLeDZwcnZBNkhnZ25Xb2pvQXBLWWtUSnR5N2RqUmc3aXQ4THJvY2t6UllYekpkVS9PbkwyWUE3cnpoclB2dlhXaXFKQzQ2d1pZZkZLd3RY VEdOd3VMU2lwbnpsbGMzeEJRRmRueXBVYzFQY0hqT21QMG9MYXRXNXd4Wm5CZTUxeUUwTnIxVzJmT1dseTBzM0x1L044ckt1dGRUcFZnVVlmZnFMa0pBTUZn SkxkVnhvbkg5Y3R0bVhIVzJPRWRPK1JZWS9qbDF3dS8vV25GZHordHFLcXVWeFVaSVV5SUVYZTNUdEVKQkNNdWwzcmk4SDdkT3JVYWYvcXdudDA3WUl4ZmZ2 dWIrNmU4RndpR0ZVV21oSERnd1VDRUVCelI5SXkwcEtzdkdYUHJkUk1TUEs3cG4vOTB6VzNUZE1ZVldjSVlSeU1hSnJodGJ1YmIwMjQ5dW0rWFNGVDdmT2FD OVp0Mi9MSnM5VzhyTnprY1Nvekp5Q0VjMVlZTTZER29mOWRlM1RxTU8zMm9IWHZXNHJWZzhhcG5YL2xpOGEvclF1R29wckhVbElRVGh2WHAzYjJEMDZuVzFI clhiQ2hhdDNGYmx3NnRIcjdyNHA3ZDJ1dU1FZHVLdVdiZDFsbmZMdDFhVWpGenpwSmdNS0lva3JYeVJpTFJ0TFNrTTBjUGF0dXF4YmpUaDdadm16MXYvc3BG eTlmOHRiN28rM2tySkZtaU5tcFBNQnpwMTdQVGlDRzk4anEyUHYrY0U0T2h5UFJQNXhWdUwvdnVwOTgzYnQ3aGRLbWlTQWdneEJubkhFYU9PS3AzZnJ0aisz Yzc2ZmlqZVB3MEVDSTFBZy9pSEJIaTI3eXgrTU0zay9zYzNmV2had1I2RGQyTEVFS0FDYTFlOHN1Mk4xL0FzbUwwZ25NaXllMnZ1Y1ZTMU5obTVoMkFDSHVq dXJZQlkzTHFxSUdYbmpkU1ZSWEdlQ2djcWE3MTF0VjVhK3E4dG90akZ1bmxGNXdzSVh6aWlLT3MxQlpMaXlLTXZmNUFmVU9nWFc3V2JkZE5jTHVkZ3ZXcUtK S3d2aUtScUQ4UURvWWpEUTMrUURCY1dWMnZhN3JsVW1hY256cHFZSnZXbVc5UC8vN1hsUnZyNm4yY1E2dnM5SXowcFA1OXU1d3habkQvdm5rSUlWM1hoeDdi NCtNMzdwbjIrc3dObTNkRUlwcXF5ajI2dHIzeHFuSEg5TXZiRmIzMlBSakYrTnd6ai90MDVnS1B5em42cEdNc0QyMlQzbnVNY1RnU3FhaXFTMHh3M1hqbG1S NjN3K2xRRkZrR2dFaEVDMGVpZ1ZDa3dldXZyS29QaGlMaTU4Rmd1THF1SVQwMTZjcUx4aVI0bkU2SDZuRTd4R0lFZ0tKUnpSOElCVU9SQm04Z0VBalgxRGFF SWhHek1nNUNHTlUzK0YxTzlZcUxUbEZWUlpFa1ZaRlZWVkprV1FUcXRLZ2VqbWlhcmdkREVaOC9XTzhOaU9jeXhxNjU5TFQ4em0wKytHemVxcldGUG44SVll UnNyYlRNU2p1MmY3ZXpUaC9hdVdOcm9YSW5UaGpoZGp0ZWUzZjJqdUpLalRHMzB6SGc2SzQzWHpPdVUzdmoxS3ZxMm9aQU1IekNzTDdqVHgyaXFvclRxUkNN TloxSEl0RlFXR3Z3K2hzYS9EVjFYanYzMGJKeEdHUERCL2NhUEtENy9FVi9mdi9UNzZ2V0Z1NHNyNW0zNEk4ZmZsN3ArUC8yemk1RWt1cUs0K2ZjVzlYZDB6 M2R2VHU3T3oxckV1TkdkOTAxcStKS0pFclVvTGdvSkdyRWIxQllSVWdpZ2tGOVVNSStSQkx5SUNJa1JEQVFGQ0VrSXZqRkJoMlhrUEVodmdSQ1ZtSEhIVmNV a3gzblkyZTZwN3VucTdxcjdzbkRyYnBWM1QyOS9URWZ5YzZlMzFOM2RYM2NXMTJYT3ZmY2MvNG5ZUmRHdDM3bndNVy8vZlZqTjE1L2haNmZTMkd5VmtnSXJD NDdNL09MTzdadmVlcXhlNGJUcVZRcWtiQXRwWlJiYnpoT283cnNGSmNxcy9ORjEyMFFZYWxjWFZoWTJyL3ZnbXUvdXorVlRBNE5KU3dwZmQ5MzNJYmoxa3Zs YXJGWW1UdGQwcDZkMmRNbDMxZDMzWFpkTHB0T0p1eFV5aFpDK3A1ZmMrbzF4eTB1VlU4dmxFcExGUk1pMCtFTlRCUTRiNGhRaU1sbm41NDkrcGNyZnYrbjdK NTladlNhcDgyZG0vblhUeCtzbmp5aFU0SlJDSzlhMlhuN2ZaYzgrNXlKdU9yWGNSWDMrTVZ2ZmJlRG9DVlV0ZDFQMi9MUTk5aWUxbXNBR0kxRkFDaFhsaGVM bFVhOU1UeWN6bVhUT3VwZHo4dTF2YW9OdVptNXhVcGxPWk1aR2hzZE1YTEg3YkcxY2RlTDQ5Wi84OUpiUXluN0p3L2RHa1VDZHFEMzdzVGZTQU4zZitEREZa RWVENHVsY3FsVTlaWEtaVFA1YkZvTGVnYmFjUUFFSUlUd1BIOTJ2bGlydWZsOFp2dEkzbGdvdlRjZzF1WW1oU0VqY0FFQXl6V25XS3JvalBrdCtjeTJyVGt0 U2EySXREQmd5em43dXRXOXQ3UGZmOUEweGh3YnJvTUZscGtTUXBhblBwazgvTVNGUDN0bTVLcHJsTzlqbUgya0pTTUI4Wk5mL2Z6ZmYzN0ZEdU9pbGVjbHR1 MjQvSGV2Wmk3Y0hiMHUraCs5NFRwcVdPUWkwSzgwclE2M0JuMkErR3duZmlvVGZOdithenhmTERwbnkvOGMrMTNIYnpXZlFRR2d0SVFJOGdvcFZLSnJtdFBx bk01d1VncWVsbkU3b3hpWGlmN1hxWGFlNXhzdGdUTWNFbmZtTlVVenJkU0xUdnYzMkgwVi96czZCVTkxdUs2MkpyVFFoOTVQeDRvYXJXSFRQRjJ4UVc5b05I dzlwVnloQVMxWDcvWmd4QzhCQ0pZVVFrUnhZRW9wei9mMWlrYW5DSzNvMW5XNHRPbHkwMlBXcloyOWRTcTZTNUZyaGdnUkF4TmFTejBqSUpGYS9QdkVOeDkr TkJ5OVFhUkM0TWlXY3U2RG85TnZ2V2FsMHViMVIxNWo1KzMzRGwrMFIwczlEMkE4eC8zeU1oWmVCL0hQYThIcXp5ZGJUNkhUTjlxZm1LYmR0R2VpTHl4cmpm dStldHI2dmhyUVpBV2ZZUi9iYnJwdmE5cUFKb1FRaWM3RHZsLzZhdVpnblRKRExMaEJ4aXZxenM4Tjc3bGs1T3J2R1cyTnlNQVRvbDRxZnY3aUMxU3ZpMVJL RDFkcTFKT0ZuV08zM2tITk03WitXNk9QTzNYcTFQajQrUDl6N0RqRC9LL1F5WEFIRHg0c0ZBcG1UbVNaSDdVZEpZZlNXNis2MmlRTVJmRUFSQ2pFN0h2dmxJ OS9KSklwQ0oweHZ1dU9YUFA5b2ErZGI2YlhnODJVOVB6azJMRmpodzRkV3Z1dU04eG1ZV0ppb2xBb21QbDhhRUtIcmxvcmt3R3pNbU1TZHdGQWlFYXBPUDNt YTZIWEZ4Q1JsSkxwek5nUDdvZzc2L3VhL1pxcjZ3YnMzcjM3OE9IREF4aWNETFBwMFcvZ1hidDJ4V2ZDTVNkV1RQUVV3OG9tZ2Yyc2xCQmlidUxveDAvK0dJ VkVCRVdFS0pSYnkxeTA5OEFmWHJleVdSTktQSmdCdkI0cUV3eXpXVm5CaElZb29pbllZcFNROUhpZS85djd5blVzVXpvUWtYdy9kOWtCSzVlRDBIMjFtdGEw ZUtFWmhta25ldmZHblZqdFlYclJCeUlVd3BtYldmekhoOEpPaENzYkJLUlFXdG05K3lFTWsxOWgrYXhuNHVHQnErd2h3Mng2ek1KTmw5RmlJdTRySjQ2N005 Tm8yeGpsVHhCSWFXL1pxdGVTWUlWOCtmNWFNOWl4REhNTzBycU0xQWtNTXg2ckowOG8xNUhwakRhM0JZSWlFSlp0NS9LQmZINm5sZjNlMkNERkNZYlpGRVFX YTljZENRVWlPcWYrQXlZVlczL1NNZ3ZOZ1pucjJHU0dZZHJvUHVIVTltMWpZVTRIV2VtTjJyVkZudWZYYXBFdUFadkJETE94OUZOZU5DclZHaXJ0K3I1Zlhn SUFJQXdMekRBTXMzRjBIOEI2dXB6WVBxcFhsaUJ3VENNaUtxOVJQdjZ4Rm9zR1JCcW9FaVRETUFQVHpRc2RhckVsUjhmTTdEZW95Z2FBS0pZKytxZnYxQUxo T29JelZDSm1HR2JONlRLQWpYTTR1L2ZiSXBuU3NnMWF1eEdKWkRKWi9YU3lPalVKQUxxVW10SGszS2oyTTh3NVRROG1OQ0lSNVMrL2NuamZwY3AxTVM2M0th VlhLWC81eDVjeERNT2tZRkdZSFZvTXN4SDA0SVVHSktXc2RPYTgyKzRPQlRmQzRFY2lPWlNlUFhwaytzZ2JLS1hPbDlkQ0hFWUJaQ002d1REbktqMlkwQWlB U0tRS04vOXcrL1UzK2RVS1NndGltZ0JBYXVxNVg4eitkVnhZRmlJcTN3ZWxNQ3h1eUNGV0RMTitkQmxnTWNrMUpZU3Nmdkhac2NjZnFVNGR0NGV6WU42eGlL cGVsK25NdHg1OThydzc3NWQySXNxV2FFbVFZQmhtVGVuK2hxUjRVcUdVNWFuSms4Ly9jdUhERDhqek1KRkFLUkVGU0VHZUQ3NDNjdTBOWDcvN2dmeGxWNHBN cGowdmdtR1l0YVVuRTVkQ3ZRNDlobjNYbVIwLzh0VzdieTkvTnVWWHlsNXRXU2NZb3BSQWtCZ3RqTjN5bzI4ODhIQWlsMWRFcU9XREdZWlpCM29kd0VhdERr aUJrTHFXVjMzbUsyZG0ycDJmSWM4alJUS1Z0TGVOcG5hTXl0U1FsZCtDVXNLZ2FxWU13L1JDejA0bW83TVRscFNETUxHNDgrN0FvNWRoMXBWK3ZNUXhkWEFL NVkvTlR4RDNWNFhGcFZncmgySFdsVDZYZVVJQnJTWXA4STdueHZaS0VBekRyQ0hJR2xRTWMvYkMvbUdHT1l2aFNDbUdPWXV4S3BVYUdhY1VBQkJRS0dVSHNl MWtWcE9DN3dRSXV0QzNTZk5uR0dhRHNScWViNFp0TkhEMWltK3dLZGpZUHFDREhDU0F0dUtCRE1Oc0JQOEZyd2Vyb2RYM0Mwa0FBQUFBU1VWT1JLNUNZSUk9 JzsNCg0KICAgIGNvbnN0IHNrdU1hcCA9IHsKICAgICIzMTU0MTQ2ODYxMTA0IjogIjEwMDI2OSIKfTsNCg0KICAgIGNvbnN0IGthdFVybCA9IHsKICAgICJN YWthcyI6ICIva2F0ZWdvcmkvbWFrYXMiCn07DQoNCiAgICBsZXQgUCA9IFsKICAgIHsKICAgICAgICAic2t1IjogIjMxNTQxNDY4NjExMDQiLAogICAgICAg ICJzbHVnIjogIm1hcGVkLWV4cGVydC10aXRhbml1bS1hc2ltZXRyaWstbWFrYXMtMjEtY20iLAogICAgICAgICJpc2ltIjogIk1hcGVkIEV4cGVydCBUaXRh bml1bSBBc2ltZXRyaWsgTWFrYXMgMjEgY20iLAogICAgICAgICJpZCI6ICIxMDAyNjkiLAogICAgICAgICJmaXlhdCI6IDYxMiwKICAgICAgICAiZml5YXRU YW0iOiA2MTIsCiAgICAgICAgImRldGF5IjogIjxkaXYgY2xhc3M9XCJtay1kZXNjXCI+XG48ZGl2IGNsYXNzPVwibWstdHJ1c3QtdGl0bGVcIj48c3Ryb25n Pk1BUEVEIFJFU03EsCBZRVRLSUxJIFNBVElDSSBHw5xWRU5DRVPEsDwvc3Ryb25nPjwvZGl2PlxuPHAgY2xhc3M9XCJtay10cnVzdC10ZXh0XCI+TWF2aUth bGVtLCBNYXBlZCBtYXJrYXPEsW7EsW4gcmVzbWkgeWV0a2lsaSBzYXTEsWPEsXPEsWTEsXIuIFNpdGVtaXpkZSBzYXTEscWfYSBzdW51bGFuIHTDvG0gb3Jp amluYWwgTWFwZWQgw7xyw7xubGVyaSDDvHJldGljaS9kaXN0cmliw7x0w7ZyIGZpcm1hIGfDvHZlbmNlc2kgYWx0xLFuZGFkxLFyLjxiciAvPjxiciAvPjxz dHJvbmc+S3VydW1zYWwgRGVzdGVrIEhhdHTEsW3EsXo6IDQ0NCAxMSA2NDwvc3Ryb25nPjwvcD5cbjxoMiBjbGFzcz1cIm1rLXRpdGxlXCI+TWFwZWQgRXhw ZXJ0IFRpdGFuaXVtIEFzaW1ldHJpayBNYWthcyAyMSBjbSDDlnplbGxpa2xlcmk8L2gyPlxuPHAgY2xhc3M9XCJtay10ZXh0XCI+T2ZpcyDDp2FsxLHFn2Fu bGFyxLFuxLFuLCDDtsSfcmV0bWVubGVyaW4sIMO2xJ9yZW5jaWxlcmluIHZlIHByb2Zlc3lvbmVsIHRhc2FyxLFtIGF0w7ZseWVsZXJpbmluIGfDvG5sw7xr IGtlc2ltIGlodGl5YcOnbGFyxLFuxLEgZW4gw7xzdCBkw7x6ZXkga29uZm9ybGEga2FyxZ/EsWxhbWFrIGnDp2luIGdlbGnFn3RpcmlsZW4gTWFwZWQgRXhw ZXJ0IFRpdGFuaXVtIEFzaW1ldHJpayBNYWthcywgZ8O8Y8O8IHZlIHphcmFmZXRpIGJpciBhcmFkYSBzdW5hci4gMjEgY20gaWRlYWwgYm95dXR1IHZlIHRp dGFueXVtIGthcGxhbWFsxLEgw7Z6ZWwgYsSxw6dhayB5YXDEsXPEsSBzYXllc2luZGUga3VtYcWfLCBrYWzEsW4ga2FydG9uLCBtdWthdnZhIHZlIMOnb2sg a2F0bWFubMSxIGvDosSfxLF0bGFyxLEgem9ybGFubWFkYW4sIHRlayBoYW1sZWRlIHDDvHLDvHpzw7x6Y2Uga2VzZXIuIFRpdGFueXVtIHRla25vbG9qaXNp LCBixLHDp2FrbGFyxLFuIGvDtnJlbG1lc2luaSDDtm5sZXllcmVrIGdlbGVuZWtzZWwgbWFrYXNsYXJhIGvEsXlhc2xhIMOnb2sgZGFoYSB1enVuIMO2bcO8 cmzDvCBiaXIgcGVyZm9ybWFucyB2YWRlZGVyLiBFbCBhbmF0b21pc2luZSB0YW0gdXl1bSBzYcSfbGF5YW4gYXNpbWV0cmlrIGfDtnZkZSB0YXNhcsSxbcSx LCB1enVuIHPDvHJlbGkga3VsbGFuxLFtbGFyZGEgYmlsZSBwYXJtYWsgdmUgYmlsZWsgeW9yZ3VubHXEn3VudSBtaW5pbXVtYSBpbmRpcmlyLiBDcmFmdCB2 ZSBob2JpIGFrdGl2aXRlbGVyaW5kZW4geW/En3VuIG9maXMgacWfbGVyaW5lIGthZGFyIGhlciBhbGFuZGEga3VzdXJzdXogZMO8emzDvGt0ZSBrZXNpbSBo YXRsYXLEsSBlbGRlIGV0bWVuaXppIHNhxJ9sYXlhbiBNYXBlZCBFeHBlcnQsIMOnYWzEscWfbWEgbWFzYW7EsXrEsW4gZW4gZGF5YW7EsWtsxLEgdmUgZ8O8 dmVuaWxpciBwYXLDp2FzxLEgb2xtYWsgacOnaW4gc2VwZXRpbml6ZSBla2xlbWVuaXogZ2VyZWtlbiBwcm9mZXN5b25lbCBiaXIga8SxcnRhc2l5ZSBhcmFj xLFkxLFyLjwvcD5cbjxoMiBjbGFzcz1cIm1rLXN1YnRpdGxlXCI+w5ZuZSDDh8Sxa2FuIMOccsO8biDDlnplbGxpa2xlcmk8L2gyPlxuPHVsIGNsYXNzPVwi bWstbGlzdFwiPlxuPGxpPjxzdHJvbmc+VGl0YW55dW0gS2FwbGFtYSBCxLHDp2FrbGFyOjwvc3Ryb25nPiBTdGFuZGFydCDDp2VsaWsgbWFrYXNsYXJhIGfD tnJlIMOnb2sgZGFoYSB1enVuIHPDvHJlIGtlc2tpbmxpxJ9pbmkga29ydXlhbiwgcGFzbGFubWF5YSB2ZSBhxZ/EsW5tYXlhIGthcsWfxLEgdWx0cmEgZGly ZW7Dp2xpIHRpdGFueXVtIHRla25vbG9qaXNpLjwvbGk+XG48bGk+PHN0cm9uZz5Fcmdvbm9taWsgQXNpbWV0cmlrIFRhc2FyxLFtOjwvc3Ryb25nPiBLZXNp bSBlc25hc8SxbmRhIGVsIGJhc8SxbmPEsW7EsSBkZW5nZWxpIGRhxJ/EsXRhbiwga2F5bWF5xLEgw7ZubGV5ZW4gdmUgcGFybWFrbGFyxLEgeW9ybWF5YW4g w7Z6ZWwgYXNpbWV0cmlrIHNhcCBtaW1hcmlzaS48L2xpPlxuPGxpPjxzdHJvbmc+R2VsacWfdGlyaWxtacWfIE11a2F2ZW1ldDo8L3N0cm9uZz4gS2FsxLFu IGthcnRvbiwgcGxhc3RpayBhbWJhbGFqLCBrdW1hxZ8gdmUgw6dva2x1IGvDosSfxLF0IGthdG1hbmxhcsSxbmRhIHRha8SxbG1hZGFuLCBww7xyw7x6c8O8 eiB2ZSBkb8SfcnVzYWwga2VzaW0geWFwYWJpbG1lIGfDvGPDvC48L2xpPlxuPGxpPjxzdHJvbmc+MjEgY20gxLBkZWFsIEJveXV0Ojwvc3Ryb25nPiBIZW0g aGFzc2FzIGRldGF5IMOnaXpnaXNpbmkgdGFraXAgZWRlYmlsZWNlxJ9pbml6IGhlbSBkZSB1enVuIGTDvHoga2VzaW1sZXJpIHRlayBzZWZlcmRlIHRhbWFt bGF5YWJpbGVjZcSfaW5peiBvcHRpbXVtIHByb2Zlc3lvbmVsIMO2bMOnw7wuPC9saT5cbjxsaT48c3Ryb25nPlnDvGtzZWsgTWFsemVtZSBLYWxpdGVzaTo8 L3N0cm9uZz4gWW/En3VuIHZlIHNlcnQga3VsbGFuxLFtIGtvxZ91bGxhcsSxbmEgZGF5YW5hY2FrIMWfZWtpbGRlIHRhc2FybGFubcSxxZ8sIGvEsXLEsWxt YSB2ZSBlc25lbWV5ZSBrYXLFn8SxIGtvcnVtYWzEsSBnw7Z2ZGUgeWFwxLFzxLEuPC9saT5cbjwvdWw+XG48aDIgY2xhc3M9XCJtay1zdWJ0aXRsZVwiPlRl a25payBEZXRheWxhcjwvaDI+XG48dGFibGUgY2xhc3M9XCJtay10YWJsZVwiPlxuPHRib2R5PlxuPHRyPlxuPHRoPk1hcmthIC8gw5xyZXRpY2k6PC90aD5c bjx0ZD5NYXBlZCAoRnJhbnNhIC8gR2xvYmFsKTwvdGQ+XG48L3RyPlxuPHRyPlxuPHRoPk1vZGVsIC8gU2VyaTo8L3RoPlxuPHRkPkV4cGVydCBUaXRhbml1 bSBTZXJpc2k8L3RkPlxuPC90cj5cbjx0cj5cbjx0aD7DnHLDvG4gQmFya29kdTo8L3RoPlxuPHRkPjMxNTQxNDY4NjExMDQ8L3RkPlxuPC90cj5cbjx0cj5c bjx0aD5NYWthcyBUaXBpOjwvdGg+XG48dGQ+QXNpbWV0cmlrIFRhc2FyxLFtIC8gT2ZpcyB2ZSBIb2JpIFRpcGk8L3RkPlxuPC90cj5cbjx0cj5cbjx0aD5C xLHDp2FrIMOWemVsbGnEn2k6PC90aD5cbjx0ZD5Zw7xrc2VrIE11a2F2ZW1ldGxpIFRpdGFueXVtIEthcGxhbWEgKFVsdHJhIEtlc2tpbik8L3RkPlxuPC90 cj5cbjx0cj5cbjx0aD7DnHLDvG4gw5Zsw6fDvGxlcmk6PC90aD5cbjx0ZD4yMSBjbSAoU3RhbmRhcnQgQsO8ecO8ayBCb3kpPC90ZD5cbjwvdHI+XG48dHI+ XG48dGg+VHV0YW1hayBNYXRlcnlhbGk6PC90aD5cbjx0ZD5Fcmdvbm9taWsgS29uZm9yIFNhxJ9sYXlhbiDDlnplbCBQbGFzdGlrIEfDtnZkZTwvdGQ+XG48 L3RyPlxuPHRyPlxuPHRoPlNhxJ9sxLFrIFN0YW5kYXJ0bGFyxLE6PC90aD5cbjx0ZD5Ub2tzaWsgTWFkZGUgxLDDp2VybWV6LCBLdWxsYW7EsWPEsSBHw7x2 ZW5sacSfaW5lIFV5Z3VuZHVyPC90ZD5cbjwvdHI+XG48dHI+XG48dGg+S3VsbGFuxLFtIEFsYW5sYXLEsTo8L3RoPlxuPHRkPk9maXNsZXIsIE9rdWxsYXIs IFNhbmF0IEF0w7ZseWVsZXJpLCBUZXJ6aWxpayB2ZSBUYXNhcsSxbSDDh2FsxLHFn21hbGFyxLEsIEV2IHZlIEhvYmkgTWFzYWxhcsSxPC90ZD5cbjwvdHI+ XG48L3Rib2R5PlxuPC90YWJsZT5cbjxkZXRhaWxzIGNsYXNzPVwibWstYWNjb3JkaW9uXCI+XG48c3VtbWFyeSBjbGFzcz1cIm1rLWFjY29yZGlvbi1zdW1t YXJ5XCI+PHNwYW4+R2FyYW50aSwgxLBhZGUgdmUgTG9qaXN0aWsgRGV0YXlsYXI8L3NwYW4+IDxzcGFuIGNsYXNzPVwibWstYWNjb3JkaW9uLWljb25cIj4r PC9zcGFuPjwvc3VtbWFyeT5cbjxkaXYgY2xhc3M9XCJtay1hY2NvcmRpb24tY29udGVudFwiPk1hdmlLYWxlbSdkZW4gc2F0xLFuIGFsZMSxxJ/EsW7EsXog dMO8bSBvcmlqaW5hbCBNYXBlZCDDvHLDvG5sZXJpLCDDvHJldGltIHZlIG1hbHplbWUgaGF0YWxhcsSxbmEga2FyxZ/EsSBmaXJtYSBnw7x2ZW5jZXNpIGFs dMSxbmRhZMSxci4gS3VsbGFuxLFsbWFtxLHFnyB2ZSBhbWJhbGFqxLEgemFyYXIgZ8O2cm1lbWnFnyDDvHLDvG5sZXJpIDE0IGfDvG4gacOnaW5kZSB5YXNh bCBoYWtsYXLEsW7EsXoga2Fwc2FtxLFuZGEgc29ydW5zdXpjYSBpYWRlIGVkZWJpbGlyc2luaXouIEVuIGRvxJ9ydSBmaXlhdCBhdmFudGFqxLEsIGhhc3Nh cyBwYWtldGxlbWUga2FyZ28gZ8O2bmRlcmltIGdhcmFudGlzaSB2ZSBlbnRlZ3JlIGxvamlzdGlrIG1lcmtlemltaXpsZSB0w7xtIHPDvHJlw6dsZXJkZSB5 YW7EsW7EsXpkYXnEsXouPC9kaXY+XG48L2RldGFpbHM+PGRldGFpbHMgY2xhc3M9XCJtay1hY2NvcmRpb25cIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDI1 cHg7XCI+XG48c3VtbWFyeSBjbGFzcz1cIm1rLWFjY29yZGlvbi1zdW1tYXJ5XCI+PHNwYW4+TmVkZW4gTWF2aUthbGVtJ2RlbiBBbG1hbMSxc8SxbsSxej88 L3NwYW4+IDxzcGFuIGNsYXNzPVwibWstYWNjb3JkaW9uLWljb25cIj4rPC9zcGFuPjwvc3VtbWFyeT5cbjxkaXYgY2xhc3M9XCJtay1hY2NvcmRpb24tY29u dGVudFwiPlxuPHVsIGNsYXNzPVwibWstbGlzdFwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMDtcIj5cbjxsaT48c3Ryb25nPllldGtpbGkgU2F0xLFjxLEg R8O8dmVuY2VzaTo8L3N0cm9uZz4gVGFrbGl0IHZleWEga2FsaXRlc2l6IG11YWRpbCDDvHLDvG4gcmlza2luZSBnaXJtZWRlbiByZXNtaSBvbmF5bMSxIHll dGtpbGkgc2F0xLFjxLFkYW4gZ8O8dmVubGUgb3JpamluYWwgw7xyw7xuIHNhdMSxbiBhbMSxcnPEsW7EsXouPC9saT5cbjxsaT48c3Ryb25nPkVuIERvxJ9y dSBGaXlhdCBHYXJhbnRpc2k6PC9zdHJvbmc+IERvxJ9ydWRhbiBhbmEgc3RvayBnw7xjw7xtw7x6bGUgaGVyIHphbWFuIGVuIGF2YW50YWpsxLEgdmUgZW4g ZG/En3J1IGZpeWF0bGFyxLEgc3VudXlvcnV6LjwvbGk+XG48bGk+PHN0cm9uZz5IxLF6bMSxIEthcmdvOjwvc3Ryb25nPiBFbnRlZ3JlIGxvamlzdGlrIG1l cmtlemltaXogc2F5ZXNpbmRlIHNpcGFyacWfbGVyaW5peiBnw7x2ZW5sZSBwYWtldGxlbmlyIHZlIGjEsXpsYSB5b2xhIMOnxLFrYXIuPC9saT5cbjxsaT48 c3Ryb25nPkt1cnVtc2FsIERlc3RlayBIYXR0xLE6PC9zdHJvbmc+IFTDvG0gc8O8cmXDp2xlcmRlIDxzdHJvbmc+NDQ0IDExIDY0PC9zdHJvbmc+IG51bWFy YWzEsSBrdXJ1bXNhbCBoYXR0xLFtxLF6bGEgeWFuxLFuxLF6ZGF5xLF6LjwvbGk+XG48L3VsPlxuPC9kaXY+XG48L2RldGFpbHM+PC9kaXY+IiwKICAgICAg ICAiaW1nIjogImh0dHBzOi8vd3d3Lm1hdmlrYWxlbS50ci9pZGVhL3JmLzg2L215YXNzZXRzL3Byb2R1Y3RzLzI2OS8xMDkucG5nIiwKICAgICAgICAiYWRl dCI6IDEwLAogICAgICAgICJzZWwiOiB0cnVlLAogICAgICAgICJrYXQiOiAiTWFrYXMiLAogICAgICAgICJ2YXJ5YW50bGkiOiAwCiAgICB9Cl07DQoNCiAg ICAvLyDDlsSfcmVuY2kgYmF6bMSxIHRla2xpZiBtb2R1OiDDvHLDvG4gYWRldGxlcmkga2lsaXRsaSwgc2FkZWNlIMO2xJ9yZW5jaSBzYXnEsXPEsSBnaXJp bGlyDQogICAgLy8gdmUgdMO8bSBhZGV0bGVyIGJ1bnVubGEgw6dhcnDEsWzEsXIuIE5vcm1hbC9nw7xuY2VsbGVtZSBzYXlmYWxhcsSxbmRhIGZhbHNlIG9s dXIuDQogICAgY29uc3QgVEVLTElGX01PRFUgPSBmYWxzZTsNCg0KICAgIC8vIFAnZGVraSBmaXlhdGxhcmEgdXlndWxhbm3EscWfIHnDvHpkZSBpbmRpcmlt ICgwID0gaW5kaXJpbSB5b2spLiBTYXlmYSBidW51DQogICAgLy8ga3VsbGFubcSxeW9yOyBFbGVjdHJvbiAiw4fDtnrDvG1sZSIgaWxlIGJ1IHNheWZhecSx IGdlcmkgb2t1ZHXEn3VuZGEgZml5YXRsYXLEsQ0KICAgIC8vIGxpc3RlIGZpeWF0xLFuYSBkw7ZuZMO8cm1layBpw6dpbiB2YXIg4oCUIG9sbWF6c2EgaGVy IMO8cmV0aW1kZSBpbmRpcmltIMO8c3TDvG5lDQogICAgLy8gaW5kaXJpbSBiaW5lcmRpLg0KICAgIGNvbnN0IElORElSSU1fWVVaREUgPSAwOw0KICAgIGZ1 bmN0aW9uIG9ncmVuY2lTYXlpc2koKSB7DQogICAgICAgIGNvbnN0IGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0dWRlbnQtY291bnQnKTsNCiAg ICAgICAgaWYgKCFURUtMSUZfTU9EVSB8fCAhZWwpIHJldHVybiAxOw0KICAgICAgICBjb25zdCBuID0gTWF0aC5mbG9vcihOdW1iZXIoZWwudmFsdWUpKTsN CiAgICAgICAgcmV0dXJuICghbiB8fCBuIDwgMSkgPyAxIDogbjsNCiAgICB9DQoNCiAgICBsZXQgYWN0aXZlS2F0ID0gJ3R1bXUnOw0KICAgIGxldCBtb2Rh bElkeCA9IC0xOw0KICAgIC8vIFRvcGxhbS90dXRhciBoZXNhYsSxbmRhIGZpeWF0xLFuIFRBTSAoeXV2YXJsYW5tYW3EscWfKSBow6JsaSBrdWxsYW7EsWzE sXIg4oCUIHNlcGV0DQogICAgLy8gdG9wbGFtxLF5bGEgYmlyZWJpciB0dXRtYXPEsSBpw6dpbi4gR8O2csO8bmVuIGJpcmltIGZpeWF0IHlpbmUgJ2ZpeWF0 JyAoMiBvbmRhbMSxaykuDQogICAgLy8gRXNraSBzYXlmYWxhcmRhIGZpeWF0VGFtIG9sbWF5YWJpbGlyOyBvIHphbWFuIGZpeWF0YSBkw7zFn2VyLg0KICAg IGZ1bmN0aW9uIHRhbUZpeWF0KHApIHsNCiAgICAgICAgY29uc3QgdiA9IChwICYmIHAuZml5YXRUYW0gIT0gbnVsbCkgPyBOdW1iZXIocC5maXlhdFRhbSkg OiBOdW1iZXIocCAmJiBwLmZpeWF0KTsNCiAgICAgICAgcmV0dXJuIGlzRmluaXRlKHYpID8gdiA6IDA7DQogICAgfQ0KICAgIGZ1bmN0aW9uIHVwZGF0ZUZv b3RlcigpIHsNCiAgICAgICAgY29uc3QgY2FycGFuID0gb2dyZW5jaVNheWlzaSgpOw0KICAgICAgICBjb25zdCBzdGF0cyA9IFAucmVkdWNlKChhY2MsIHAp ID0+IHsNCiAgICAgICAgICAgIGlmIChwLnNlbCkgeyBhY2MuY291bnQrKzsgYWNjLml0ZW1zICs9IHAuYWRldCAqIGNhcnBhbjsgYWNjLnRvdGFsICs9IHRh bUZpeWF0KHApICogcC5hZGV0ICogY2FycGFuOyB9DQogICAgICAgICAgICByZXR1cm4gYWNjOw0KICAgICAgICB9LCB7IGNvdW50OiAwLCBpdGVtczogMCwg dG90YWw6IDAgfSk7DQogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtYmFkZ2UnKS50ZXh0Q29udGVudCA9IHN0YXRzLmNvdW50Ow0KICAg ICAgICBpZiAoVEVLTElGX01PRFUpIHsNCiAgICAgICAgICAgIC8vIFRla2xpZiBtb2R1OiBzZcOnaW0geW9rLCB0b3BsYW0gZml5YXQgZ8O2c3RlcmlsbWV6 DQogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLWNvdW50JykudGV4dENvbnRlbnQgPSBgTMSwU1RFREUgJHtzdGF0cy5jb3VudH0g w5xSw5xOYDsNCiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtcHJpY2UnKS50ZXh0Q29udGVudCA9ICdTZXBldGUgZWtsZXJrZW4g w7bEn3JlbmNpIHNhecSxc8SxIHNvcnVsdXInOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1j b3VudCcpLnRleHRDb250ZW50ID0gYFNFw4fEsExFTjogJHtzdGF0cy5pdGVtc30gQURFVGA7DQogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ ZCgnZHNsLXByaWNlJykudGV4dENvbnRlbnQgPSBgVE9QTEFNOiAke3N0YXRzLnRvdGFsLnRvTG9jYWxlU3RyaW5nKCd0ci1UUicsIHttaW5pbXVtRnJhY3Rp b25EaWdpdHM6Mn0pfSBUTGA7DQogICAgICAgIH0NCiAgICB9DQogICAgZnVuY3Rpb24gcmVuZGVyUGlsbHMoKSB7DQogICAgICAgIGNvbnN0IGNhdHMgPSBb Li4ubmV3IFNldChQLm1hcChwID0+IHAua2F0KSldOw0KICAgICAgICBjb25zdCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtcGlsbHMnKTsN CiAgICAgICAgZWwuaW5uZXJIVE1MID0gJyc7DQogICAgICAgIGNvbnN0IG1ha2VCdG4gPSAobGFiZWwsIGthdCkgPT4gew0KICAgICAgICAgICAgY29uc3Qg YiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOw0KICAgICAgICAgICAgYi5jbGFzc05hbWUgPSBgcGlsbCAke2FjdGl2ZUthdCA9PT0ga2F0 ID8gJ2FjdGl2ZScgOiAnJ31gOw0KICAgICAgICAgICAgYi50ZXh0Q29udGVudCA9IGxhYmVsOw0KICAgICAgICAgICAgYi5hZGRFdmVudExpc3RlbmVyKCdj bGljaycsICgpID0+IHsNCiAgICAgICAgICAgICAgICBhY3RpdmVLYXQgPSBrYXQ7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFs bCgnI2RzbC1waWxscyAucGlsbCcpLmZvckVhY2gocCA9PiBwLmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZScpKTsNCiAgICAgICAgICAgICAgICBiLmNsYXNz TGlzdC5hZGQoJ2FjdGl2ZScpOw0KICAgICAgICAgICAgICAgIHJlbmRlckdyaWQoKTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGI7 DQogICAgICAgIH07DQogICAgICAgIGVsLmFwcGVuZENoaWxkKG1ha2VCdG4oJ1TDvG3DvCcsICd0dW11JykpOw0KICAgICAgICBjYXRzLmZvckVhY2goYyA9 PiBlbC5hcHBlbmRDaGlsZChtYWtlQnRuKGMsIGMpKSk7DQogICAgfQ0KICAgIGZ1bmN0aW9uIHJlbmRlckdyaWQoKSB7DQogICAgICAgIGNvbnN0IGdyaWQg PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLWdyaWQnKTsNCiAgICAgICAgZ3JpZC5pbm5lckhUTUwgPSAnJzsNCiAgICAgICAgbGV0IHNob3duID0g MDsNCiAgICAgICAgUC5mb3JFYWNoKChwLCBpZHgpID0+IHsNCiAgICAgICAgICAgIGlmIChhY3RpdmVLYXQgIT09ICd0dW11JyAmJiBwLmthdCAhPT0gYWN0 aXZlS2F0KSByZXR1cm47DQogICAgICAgICAgICBzaG93bisrOw0KDQogICAgICAgICAgICBjb25zdCBjYXJkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn ZGl2Jyk7DQogICAgICAgICAgICBpZiAoVEVLTElGX01PRFUpIHsNCiAgICAgICAgICAgICAgICAvLyDDnHLDvG4gw6fEsWthcm1hL2VrbGVtZSB5b2s6IHNl w6dpbSBrdXR1c3UgeW9rLCBrYXJ0IHTEsWtsYW1hc8SxIGJpciDFn2V5DQogICAgICAgICAgICAgICAgLy8geWFwbWF6LiBHw7Zyc2VsIC8gRGV0YXkgxLBu Y2VsZSBpbGUgYcOnxLFrbGFtYSBtb2RhbMSxIGHDp8SxbMSxcjsgYWRldCBraWxpdGxpLg0KICAgICAgICAgICAgICAgIGNhcmQuY2xhc3NOYW1lID0gJ3Bj JzsNCiAgICAgICAgICAgICAgICBjYXJkLnN0eWxlLmN1cnNvciA9ICdkZWZhdWx0JzsNCiAgICAgICAgICAgICAgICBjYXJkLmlubmVySFRNTCA9IGANCiAg ICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGMtaW1nLXdyYXAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0icGMtaW1nIiBz cmM9IiR7cC5pbWd9IiBhbHQ9IiR7cC5pc2ltfSIgb25lcnJvcj0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJyI+DQogICAgICAgICAgICAgICAgICAgIDwv ZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0icGMtY2F0IiBocmVmPSIke2thdFVybFtwLmthdF0gfHwgJy9rYXRlZ29yaSd9IiB0YXJnZXQ9 Il9ibGFuayI+JHtwLmthdH08L2E+DQogICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJwYy1uYW1lIiBocmVmPSIvdXJ1bi8ke3Auc2x1Z30iIHRhcmdl dD0iX2JsYW5rIj4ke3AuaXNpbX08L2E+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBjLXByaWNlLXJvdyI+DQogICAgICAgICAgICAgICAg ICAgICAgICA8c3BhbiBjbGFzcz0icGMtcHJpY2UiPiR7cC5maXlhdC50b0xvY2FsZVN0cmluZygndHItVFInLCB7bWluaW11bUZyYWN0aW9uRGlnaXRzOjJ9 KX0gVEw8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIGA7DQogICAgICAgICAgICAgICAgY29uc3QgaW0gPSBj YXJkLnF1ZXJ5U2VsZWN0b3IoJy5wYy1pbWcnKTsNCiAgICAgICAgICAgICAgICBpbS5zdHlsZS5jdXJzb3IgPSAnem9vbS1pbic7DQogICAgICAgICAgICAg ICAgaW0uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiBvcGVuTW9kYWxEaXJlY3QoaWR4KSk7DQogICAgICAgICAgICAgICAgY29uc3QgZGIgPSBk b2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTsNCiAgICAgICAgICAgICAgICBkYi5jbGFzc05hbWUgPSAnYnRuLWRldCc7DQogICAgICAgICAgICAg ICAgZGIudGV4dENvbnRlbnQgPSAnRGV0YXkgxLBuY2VsZSc7DQogICAgICAgICAgICAgICAgZGIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiBv cGVuTW9kYWxEaXJlY3QoaWR4KSk7DQogICAgICAgICAgICAgICAgY2FyZC5hcHBlbmRDaGlsZChkYik7DQogICAgICAgICAgICAgICAgY29uc3QgaW5mbyA9 IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOw0KICAgICAgICAgICAgICAgIGluZm8uY2xhc3NOYW1lID0gJ3Rla2xpZi1hZGV0JzsNCiAgICAgICAg ICAgICAgICBpbmZvLmlubmVySFRNTCA9IGA8c3Bhbj7DlsSfcmVuY2kgYmHFn8SxbmEgPGI+JHtwLmFkZXR9PC9iPiBhZGV0PC9zcGFuPmA7DQogICAgICAg ICAgICAgICAgY2FyZC5hcHBlbmRDaGlsZChpbmZvKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgY2FyZC5jbGFzc05hbWUgPSBg cGMgJHtwLnNlbCA/ICdzZWwnIDogJ3Bhcyd9YDsNCiAgICAgICAgICAgICAgICBjYXJkLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdG9nZ2xl UChpZHgpKTsNCiAgICAgICAgICAgICAgICBjYXJkLmlubmVySFRNTCA9IGANCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYy1jaGsiPg0KICAgICAg ICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giICR7cC5zZWwgPyAnY2hlY2tlZCcgOiAnJ30gb25jbGljaz0iZXZlbnQuc3RvcFByb3BhZ2F0 aW9uKCk7Ij4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1vYi1jIj4ke3Auc2VsID8gJ+KckycgOiAnJ308L3NwYW4+DQogICAgICAgICAg ICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGMtaW1nLXdyYXAiPg0KICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJw Yy1pbWciIHNyYz0iJHtwLmltZ30iIGFsdD0iJHtwLmlzaW19IiBvbmVycm9yPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnIj4NCiAgICAgICAgICAgICAg ICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8YSBjbGFzcz0icGMtY2F0IiBocmVmPSIke2thdFVybFtwLmthdF0gfHwgJy9rYXRlZ29yaSd9IiB0YXJnZXQ9 Il9ibGFuayIgb25jbGljaz0iZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7Ij4ke3Aua2F0fTwvYT4NCiAgICAgICAgICAgICAgICA8YSBjbGFzcz0icGMtbmFt ZSIgaHJlZj0iL3VydW4vJHtwLnNsdWd9IiB0YXJnZXQ9Il9ibGFuayIgb25jbGljaz0iZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7Ij4ke3AuaXNpbX08L2E+ DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGMtcHJpY2Utcm93Ij4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBjLXByaWNlIj4k e3AuZml5YXQudG9Mb2NhbGVTdHJpbmcoJ3RyLVRSJywge21pbmltdW1GcmFjdGlvbkRpZ2l0czoyfSl9IFRMPC9zcGFuPg0KICAgICAgICAgICAgICAgIDwv ZGl2Pg0KICAgICAgICAgICAgYDsNCiAgICAgICAgICAgICAgICBjb25zdCBkYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOw0KICAgICAg ICAgICAgICAgIGRiLmNsYXNzTmFtZSA9ICdidG4tZGV0JzsgZGIudGV4dENvbnRlbnQgPSAnRGV0YXkgxLBuY2VsZSc7DQogICAgICAgICAgICAgICAgZGIu YWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBlID0+IHsgZS5zdG9wUHJvcGFnYXRpb24oKTsgb3Blbk1vZGFsRGlyZWN0KGlkeCk7IH0pOw0KICAgICAgICAg ICAgICAgIGNhcmQucXVlcnlTZWxlY3RvcignLnBjLWltZycpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZSA9PiB7IGUuc3RvcFByb3BhZ2F0aW9uKCk7 IG9wZW5Nb2RhbERpcmVjdChpZHgpOyB9KTsNCiAgICAgICAgICAgICAgICBjYXJkLmFwcGVuZENoaWxkKGRiKTsNCiAgICAgICAgICAgICAgICBjb25zdCBx ciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOw0KICAgICAgICAgICAgICAgIHFyLmNsYXNzTmFtZSA9ICdxdHktcm93JzsNCiAgICAgICAgICAg ICAgICBxci5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGUgPT4gZS5zdG9wUHJvcGFnYXRpb24oKSk7DQogICAgICAgICAgICAgICAgcXIuaW5uZXJIVE1M ID0gYA0KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJxdHktYnRuIiAkeyFwLnNlbCA/ICdkaXNhYmxlZCcgOiAnJ30+LTwvYnV0dG9uPg0K ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icXR5LW51bSI+JHtwLmFkZXR9PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNs YXNzPSJxdHktYnRuIj4rPC9idXR0b24+DQogICAgICAgICAgICAgICAgYDsNCiAgICAgICAgICAgICAgICBxci5xdWVyeVNlbGVjdG9yKCdidXR0b246Zmly c3QtY2hpbGQnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IGNoYW5nZVF0eShpZHgsIC0xKSk7DQogICAgICAgICAgICAgICAgcXIucXVlcnlT ZWxlY3RvcignYnV0dG9uOmxhc3QtY2hpbGQnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IGNoYW5nZVF0eShpZHgsIDEpKTsNCiAgICAgICAg ICAgICAgICBjYXJkLmFwcGVuZENoaWxkKHFyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGdyaWQuYXBwZW5kQ2hpbGQoY2FyZCk7DQogICAgICAg IH0pOw0KICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLWVtcHR5Jykuc3R5bGUuZGlzcGxheSA9IHNob3duID09PSAwID8gJ2Jsb2NrJyA6 ICdub25lJzsNCiAgICAgICAgdXBkYXRlRm9vdGVyKCk7DQogICAgfQ0KICAgIGZ1bmN0aW9uIHRvZ2dsZVAoaSkgeyBQW2ldLnNlbCA9ICFQW2ldLnNlbDsg cmVuZGVyR3JpZCgpOyB9DQogICAgZnVuY3Rpb24gY2hhbmdlUXR5KGksIGQpIHsNCiAgICAgICAgY29uc3QgbiA9IFBbaV0uYWRldCArIGQ7DQogICAgICAg IGlmIChuIDw9IDApIHsgUFtpXS5hZGV0ID0gMTsgUFtpXS5zZWwgPSBmYWxzZTsgfQ0KICAgICAgICBlbHNlIHsgUFtpXS5hZGV0ID0gbjsgaWYgKGQgPiAw KSBQW2ldLnNlbCA9IHRydWU7IH0NCiAgICAgICAgcmVuZGVyR3JpZCgpOw0KICAgICAgICBpZiAobW9kYWxJZHggPT09IGkpIHVwZGF0ZU1vZGFsVUkoKTsN CiAgICB9DQogICAgZnVuY3Rpb24gb3Blbk1vZGFsRGlyZWN0KGkpIHsNCiAgICAgICAgbW9kYWxJZHggPSBpOw0KICAgICAgICBjb25zdCBwID0gUFtpXTsN Cg0KICAgICAgICB1cGRhdGVNb2RhbFVJKCk7DQoNCiAgICAgICAgY29uc3QgZGVzY0VsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1tLWRlc2Mn KTsNCiAgICAgICAgZGVzY0VsLmlubmVySFRNTCA9IChwLmRldGF5IHx8ICdEZXRheSBidWx1bmFtYWTEsS4nKSArIGANCiAgICAgICAgICAgIDxicj4NCiAg ICAgICAgICAgIDxhIGhyZWY9Ii91cnVuLyR7cC5zbHVnfSIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJtLWxpbmstbW9yZSI+DQogICAgICAgICAgICAgICAg VMO8bSDDlnplbGxpa2xlcmkgxLBuY2VsZQ0KICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1 cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPg0KICAgICAgICAgICAg ICAgICAgICA8cGF0aCBkPSJNMTggMTN2NmEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoNiI+PC9wYXRoPg0KICAgICAg ICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNSAzIDIxIDMgMjEgOSI+PC9wb2x5bGluZT4NCiAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9 IjEwIiB5MT0iMTQiIHgyPSIyMSIgeTI9IjMiPjwvbGluZT4NCiAgICAgICAgICAgICAgICA8L3N2Zz4NCiAgICAgICAgICAgIDwvYT4NCiAgICAgICAgYDsN Cg0KICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcubS1zY3JvbGwtYXJlYScpLnNjcm9sbFRvcCA9IDA7DQogICAgICAgIGRvY3VtZW50LmdldEVs ZW1lbnRCeUlkKCdkc2wtbW9kYWwnKS5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7DQogICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAnaGlk ZGVuJzsNCiAgICB9DQogICAgZnVuY3Rpb24gdXBkYXRlTW9kYWxVSSgpIHsNCiAgICAgICAgaWYobW9kYWxJZHggPT09IC0xKSByZXR1cm47DQogICAgICAg IGNvbnN0IHAgPSBQW21vZGFsSWR4XTsNCiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1tLWltZycpLnNyYyA9IHAuaW1nOw0KICAgICAg ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLW0tc2t1JykudGV4dENvbnRlbnQgPSBgw5xyw7xuIEtvZHUgwrcgJHtwLnNrdX1gOw0KICAgICAgICBk b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLW0tdGl0bGUnKS50ZXh0Q29udGVudCA9IHAuaXNpbTsNCiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 SWQoJ2RzbC1tLWNhdCcpLnRleHRDb250ZW50ID0gcC5rYXQ7DQogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtbS1yZWMnKS50ZXh0Q29u dGVudCA9IFRFS0xJRl9NT0RVDQogICAgICAgICAgICA/IGDDlsSfcmVuY2kgYmHFn8SxbmEgJHtwLmFkZXR9IGFkZXRgDQogICAgICAgICAgICA6IGAke3Au YWRldH0gQWRldGA7DQogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtbS1wcmljZScpLnRleHRDb250ZW50ID0gYCR7cC5maXlhdC50b0xv Y2FsZVN0cmluZygndHItVFInLCB7bWluaW11bUZyYWN0aW9uRGlnaXRzOjJ9KX0gVExgOw0KICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNs LW0tcXR5JykudGV4dENvbnRlbnQgPSBwLmFkZXQ7DQoNCiAgICAgICAgLy8gVGVrbGlmIG1vZHVuZGEgbW9kYWwgc2FkZWNlIGJpbGdpIGFtYcOnbMSxOiBs aXN0ZSBla2xlL8OnxLFrYXIgYnV0b251IHlvaw0KICAgICAgICBpZiAoIVRFS0xJRl9NT0RVKSB7DQogICAgICAgICAgICBjb25zdCBidG4gPSBkb2N1bWVu dC5nZXRFbGVtZW50QnlJZCgnZHNsLW0tYnRuJyk7DQogICAgICAgICAgICBidG4udGV4dENvbnRlbnQgPSBwLnNlbCA/ICdMaXN0ZWRlIOKckycgOiAnTGlz dGV5ZSBFa2xlJzsNCiAgICAgICAgICAgIGJ0bi5jbGFzc05hbWUgPSBwLnNlbCA/ICdtYnRuIGlubCcgOiAnbWJ0biBhZGQnOw0KICAgICAgICB9DQogICAg fQ0KICAgIGZ1bmN0aW9uIGNsb3NlTW9kYWwoKSB7DQogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtbW9kYWwnKS5jbGFzc0xpc3QucmVt b3ZlKCdvcGVuJyk7DQogICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAnJzsNCiAgICAgICAgbW9kYWxJZHggPSAtMTsNCiAgICB9DQog ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1tY2xzJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBjbG9zZU1vZGFsKTsNCiAgICBkb2N1bWVu dC5nZXRFbGVtZW50QnlJZCgnZHNsLW1vZGFsJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7IGlmIChlLnRhcmdldCA9PT0gdGhp cykgY2xvc2VNb2RhbCgpOyB9KTsNCg0KICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtbS1taW51cycpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNr JywgKCkgPT4geyBpZiAobW9kYWxJZHggPiAtMSkgY2hhbmdlUXR5KG1vZGFsSWR4LCAtMSk7IH0pOw0KICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdk c2wtbS1wbHVzJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7IGlmIChtb2RhbElkeCA+IC0xKSBjaGFuZ2VRdHkobW9kYWxJZHgsIDEpOyB9 KTsNCiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLW0tYnRuJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7DQogICAgICAgIGlm IChtb2RhbElkeCA9PT0gLTEpIHJldHVybjsNCiAgICAgICAgdG9nZ2xlUChtb2RhbElkeCk7DQogICAgICAgIHVwZGF0ZU1vZGFsVUkoKTsNCiAgICB9KTsN CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLWJ0bi1hbGwnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHsNCiAgICAgICAgY29u c3QgdmlzID0gUC5maWx0ZXIocCA9PiBhY3RpdmVLYXQgPT09ICd0dW11JyB8fCBwLmthdCA9PT0gYWN0aXZlS2F0KTsNCiAgICAgICAgY29uc3QgYWxsID0g dmlzLmV2ZXJ5KHAgPT4gcC5zZWwpOw0KICAgICAgICB2aXMuZm9yRWFjaChwID0+IHAuc2VsID0gIWFsbCk7DQogICAgICAgIHJlbmRlckdyaWQoKTsNCiAg ICB9KTsNCg0KICAgIC8vIG9wdHMgaWxlIGJhxZ9sxLFrL2FsdCB5YXrEsS9vbmF5IGV0aWtldGkgZGXEn2nFn3RpcmlsZWJpbGlyOyB2ZXJpbG1lenNlIHNl cGV0ZQ0KICAgIC8vIGVrbGVtZSBtZXRpbmxlcmkga3VsbGFuxLFsxLFyIChtZXZjdXQgw6dhxJ9yxLFsYXIgYXluZW4gw6dhbMSxxZ9zxLFuIGRpeWUpLg0K ICAgIGZ1bmN0aW9uIGFza09ncmVuY2lTYXlpc2kob3B0cykgew0KICAgICAgICBjb25zdCBvID0gb3B0cyB8fCB7fTsNCiAgICAgICAgcmV0dXJuIG5ldyBQ cm9taXNlKChyZXNvbHZlKSA9PiB7DQogICAgICAgICAgICBjb25zdCBhc2sgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLWFzaycpOw0KICAgICAg ICAgICAgY29uc3QgaW5wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1hc2staW5wdXQnKTsNCiAgICAgICAgICAgIGNvbnN0IGVyciA9IGRvY3Vt ZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtYXNrLWVycicpOw0KICAgICAgICAgICAgY29uc3QgYnRuT2sgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNs LWFzay1vaycpOw0KICAgICAgICAgICAgY29uc3QgYnRuQ2FuY2VsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1hc2stY2FuY2VsJyk7DQogICAg ICAgICAgICBjb25zdCBlbEJhc2xpayA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtYXNrLXRpdGxlJyk7DQogICAgICAgICAgICBjb25zdCBlbEFs dCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNkc2wtYXNrIC5hc2stc3ViJyk7DQogICAgICAgICAgICBpZiAoZWxCYXNsaWspIGVsQmFzbGlrLnRleHRD b250ZW50ID0gby5iYXNsaWsgfHwgJ0thw6cgw7bEn3JlbmNpeWUgc2lwYXJpxZ8gZ2XDp2lsZWNlaz8nOw0KICAgICAgICAgICAgaWYgKGVsQWx0KSBlbEFs dC50ZXh0Q29udGVudCA9IG8uYWx0WWF6aSB8fCAnTGlzdGVkZWtpIMO8csO8biBhZGV0bGVyaSBnaXJkacSfaW5peiDDtsSfcmVuY2kgc2F5xLFzxLF5bGEg w6dhcnDEsWxhcmFrIHNlcGV0ZSBla2xlbmVjZWt0aXIuJzsNCiAgICAgICAgICAgIGJ0bk9rLnRleHRDb250ZW50ID0gby5vbmF5RXRpa2V0aSB8fCAnU2Vw ZXRlIEVrbGUnOw0KICAgICAgICAgICAgZXJyLnRleHRDb250ZW50ID0gJyc7DQogICAgICAgICAgICBpbnAudmFsdWUgPSAnMSc7DQogICAgICAgICAgICBh c2suY2xhc3NMaXN0LmFkZCgnb3BlbicpOw0KICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nOw0KICAgICAgICAg ICAgc2V0VGltZW91dCgoKSA9PiB7IGlucC5mb2N1cygpOyBpbnAuc2VsZWN0KCk7IH0sIDUwKTsNCg0KICAgICAgICAgICAgZnVuY3Rpb24ga2FwYXQodmFs KSB7DQogICAgICAgICAgICAgICAgYXNrLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsNCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LmdldEVsZW1l bnRCeUlkKCdkc2wtbW9kYWwnKS5jbGFzc0xpc3QuY29udGFpbnMoJ29wZW4nKSkgew0KICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxl Lm92ZXJmbG93ID0gJyc7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGJ0bk9rLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgb25P ayk7DQogICAgICAgICAgICAgICAgYnRuQ2FuY2VsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgb25DYW5jZWwpOw0KICAgICAgICAgICAgICAgIGFz ay5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIG9uQmFja2Ryb3ApOw0KICAgICAgICAgICAgICAgIGlucC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlk b3duJywgb25LZXkpOw0KICAgICAgICAgICAgICAgIHJlc29sdmUodmFsKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZ1bmN0aW9uIG9uT2soKSB7 DQogICAgICAgICAgICAgICAgY29uc3QgbiA9IE1hdGguZmxvb3IoTnVtYmVyKGlucC52YWx1ZSkpOw0KICAgICAgICAgICAgICAgIGlmICghbiB8fCBuIDwg MSkgew0KICAgICAgICAgICAgICAgICAgICBlcnIudGV4dENvbnRlbnQgPSAnTMO8dGZlbiBnZcOnZXJsaSBiaXIgw7bEn3JlbmNpIHNhecSxc8SxIGdpcmlu IChlbiBheiAxKS4nOw0KICAgICAgICAgICAgICAgICAgICBpbnAuZm9jdXMoKTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAg ICAgIH0NCiAgICAgICAgICAgICAgICBrYXBhdChuKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZ1bmN0aW9uIG9uQ2FuY2VsKCkgeyBrYXBhdChu dWxsKTsgfQ0KICAgICAgICAgICAgZnVuY3Rpb24gb25CYWNrZHJvcChlKSB7IGlmIChlLnRhcmdldCA9PT0gYXNrKSBrYXBhdChudWxsKTsgfQ0KICAgICAg ICAgICAgZnVuY3Rpb24gb25LZXkoZSkgew0KICAgICAgICAgICAgICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJykgeyBlLnByZXZlbnREZWZhdWx0KCk7IG9u T2soKTsgfQ0KICAgICAgICAgICAgICAgIGlmIChlLmtleSA9PT0gJ0VzY2FwZScpIHsgZS5wcmV2ZW50RGVmYXVsdCgpOyBvbkNhbmNlbCgpOyB9DQogICAg ICAgICAgICB9DQogICAgICAgICAgICBidG5Pay5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIG9uT2spOw0KICAgICAgICAgICAgYnRuQ2FuY2VsLmFkZEV2 ZW50TGlzdGVuZXIoJ2NsaWNrJywgb25DYW5jZWwpOw0KICAgICAgICAgICAgYXNrLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgb25CYWNrZHJvcCk7DQog ICAgICAgICAgICBpbnAuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9uS2V5KTsNCiAgICAgICAgfSk7DQogICAgfQ0KDQogICAgYXN5bmMgZnVuY3Rp b24gc2VwZXRlRWtsZShzZWwsIHN0dWRlbnRDb3VudCkgew0KICAgICAgICBjb25zdCBvdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtb3YnKTsN CiAgICAgICAgY29uc3QgYmFyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1iYXInKTsNCg0KICAgICAgICBmdW5jdGlvbiBhbnRpY3NyZkFsKCkg ew0KICAgICAgICAgICAgY29uc3QgbWV0YSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ21ldGFbbmFtZT0iYW50aWNzcmYiXScpOw0KICAgICAgICAgICAg cmV0dXJuIHdpbmRvdy5hbnRpY3NyZiB8fCAodHlwZW9mIGFudGljc3JmICE9PSAndW5kZWZpbmVkJyA/IGFudGljc3JmIDogJycpIHx8IChtZXRhICYmIG1l dGEuY29udGVudCkgfHwgJyc7DQogICAgICAgIH0NCg0KICAgICAgICBjb25zdCBla3Npa0lkID0gc2VsLmZpbHRlcihwID0+ICEocC5pZCB8fCBza3VNYXBb cC5za3VdKSk7DQogICAgICAgIGlmIChla3Npa0lkLmxlbmd0aCkgew0KICAgICAgICAgICAgYWxlcnQoJ8WedSDDvHLDvG5sZXIgc2lzdGVtIElEIGVrc2lr IG9sZHXEn3UgacOnaW4gc2VwZXRlIGVrbGVuZW1lejpcblxuJyArDQogICAgICAgICAgICAgICAgZWtzaWtJZC5tYXAocCA9PiAn4oCiICcgKyBwLmlzaW0p LmpvaW4oJ1xuJykgKw0KICAgICAgICAgICAgICAgICdcblxuU2F5ZmF5xLEgRWxlY3Ryb25cJ2RhbiBzaXN0ZW0gw7xyw7xubGVyaXlsZSB5ZW5pZGVuIMO8 cmV0aW4uJyk7DQogICAgICAgICAgICByZXR1cm47DQogICAgICAgIH0NCg0KICAgICAgICAvLyBWYXJ5YW50bMSxIEFOQSDDvHLDvG4gKHJlbmsvbW9kZWwg c2XDp2lsbWVtacWfIGthecSxdCkgL2NhcnQvYWRkX2l0ZW0gaWxlDQogICAgICAgIC8vIGVrbGVuZW1peW9yOiBtYcSfYXphIMO2bmNlIHNlw6dlbmXEn2lu IGJlbGlybGVubWVzaW5pIGlzdGl5b3IuIEJ1bmxhcsSxDQogICAgICAgIC8vIGlzdGXEn2UgaGnDpyBzb2ttdXlvcnV6IOKAlCBha3NpIGhhbGRlIG3DvMWf dGVyaSBhbmxhxZ/EsWxtYXogYmlyIGhhdGEgYWzEsXANCiAgICAgICAgLy8gc2VwZXRpbiB5YXLEsXPEsSBla3NpayBrYWzEsXlvcmR1Lg0KICAgICAgICBj b25zdCB2YXJ5YW50bGlPbGFubGFyID0gc2VsLmZpbHRlcihwID0+IHAudmFyeWFudGxpKTsNCiAgICAgICAgaWYgKHZhcnlhbnRsaU9sYW5sYXIubGVuZ3Ro KSB7DQogICAgICAgICAgICBhbGVydCgnxZ51IMO8csO8bmxlciByZW5rL21vZGVsIHNlw6dpbWkgZ2VyZWt0aXJkacSfaSBpw6dpbiB0b3BsdWNhIHNlcGV0 ZSBla2xlbmVtaXlvcjpcblxuJyArDQogICAgICAgICAgICAgICAgdmFyeWFudGxpT2xhbmxhci5tYXAocCA9PiAn4oCiICcgKyBwLmlzaW0pLmpvaW4oJ1xu JykgKw0KICAgICAgICAgICAgICAgICdcblxuQnUgw7xyw7xubGVyaSBsaXN0ZWRlbiDDp8Sxa2FyxLFwICh2ZXlhIGtlbmRpIMO8csO8biBzYXlmYWxhcsSx bmRhbiBpc3RlZGnEn2luaXogJyArDQogICAgICAgICAgICAgICAgJ3JlbmdpL21vZGVsaSBzZcOnZXJlaykgdGVrcmFyIGRlbmV5aW4uIERpxJ9lciDDvHLD vG5sZXIgacOnaW4gIlNlcGV0ZSBFa2xlInllICcgKw0KICAgICAgICAgICAgICAgICd5ZW5pZGVuIGJhc21hbsSxeiB5ZXRlcmxpLicpOw0KICAgICAgICAg ICAgcmV0dXJuOw0KICAgICAgICB9DQoNCiAgICAgICAgb3YucXVlcnlTZWxlY3RvcignLnNwaW4nKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsNCiAgICAg ICAgb3YucXVlcnlTZWxlY3RvcignLm9rbWFyaycpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7DQogICAgICAgIG92LnF1ZXJ5U2VsZWN0b3IoJy5vdi10aXRs ZScpLnRleHRDb250ZW50ID0gJ1NlcGV0ZSBFa2xlbml5b3IuLi4nOw0KICAgICAgICBvdi5xdWVyeVNlbGVjdG9yKCcub3YtZGV0YWlsJykudGV4dENvbnRl bnQgPSAnTMO8dGZlbiBiZWtsZXlpbml6JzsNCiAgICAgICAgYmFyLnN0eWxlLndpZHRoID0gJzAlJzsNCiAgICAgICAgb3Yuc3R5bGUuZGlzcGxheSA9ICdm bGV4JzsNCg0KICAgICAgICBjb25zdCBoYXRhbGFyID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNlbC5s ZW5ndGg7IGkrKykgew0KICAgICAgICAgICAgICAgIGNvbnN0IHAgPSBzZWxbaV07DQogICAgICAgICAgICAgICAgY29uc3QgcGlkID0gU3RyaW5nKHAuaWQg fHwgc2t1TWFwW3Auc2t1XSB8fCAnJyk7DQogICAgICAgICAgICAgICAgY29uc3QgcXR5ID0gTWF0aC5tYXgoMSwgTWF0aC5mbG9vcihOdW1iZXIocC5hZGV0 KSB8fCAxKSAqIE1hdGguZmxvb3IoTnVtYmVyKHN0dWRlbnRDb3VudCkgfHwgMSkpOw0KDQogICAgICAgICAgICAgICAgYmFyLnN0eWxlLndpZHRoID0gYCR7 TWF0aC5yb3VuZCgoaSAvIHNlbC5sZW5ndGgpICogOTApfSVgOw0KICAgICAgICAgICAgICAgIG92LnF1ZXJ5U2VsZWN0b3IoJy5vdi1jbnQnKS50ZXh0Q29u dGVudCA9IGAke2kgKyAxfSAvICR7c2VsLmxlbmd0aH1gOw0KICAgICAgICAgICAgICAgIG92LnF1ZXJ5U2VsZWN0b3IoJy5vdi1kZXRhaWwnKS50ZXh0Q29u dGVudCA9IHAuaXNpbTsNCg0KICAgICAgICAgICAgICAgIGNvbnN0IGZkID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7DQogICAgICAgICAgICAgICAgICAgIGFu dGljc3JmOiBhbnRpY3NyZkFsKCksDQogICAgICAgICAgICAgICAgICAgIHByb2R1Y3RJZDogcGlkLA0KICAgICAgICAgICAgICAgICAgICBxdWFudGl0eTog U3RyaW5nKHF0eSkNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaCgnL2NhcnQvYWRkX2l0ZW0n LCB7DQogICAgICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLCBib2R5OiBmZCwgY3JlZGVudGlhbHM6ICdpbmNsdWRlJywNCiAgICAgICAgICAgICAg ICAgICAgaGVhZGVyczogew0KICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29k ZWQnLA0KICAgICAgICAgICAgICAgICAgICAgICAgJ1gtUmVxdWVzdGVkLVdpdGgnOiAnWE1MSHR0cFJlcXVlc3QnDQogICAgICAgICAgICAgICAgICAgIH0N CiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICBjb25zdCBib2R5ID0gYXdhaXQgcmVzLnRleHQoKTsNCiAgICAgICAgICAgICAgICBsZXQg b2sgPSByZXMub2ssIG1lc2FqID0gJyc7DQogICAgICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAgICAgY29uc3QgaiA9IEpTT04ucGFyc2Uo Ym9keSk7DQogICAgICAgICAgICAgICAgICAgIGlmIChqICYmIChqLnN0YXR1cyA9PT0gJ2Vycm9yJyB8fCBqLnN1Y2Nlc3MgPT09IGZhbHNlIHx8IGouZXJy b3IpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBvayA9IGZhbHNlOw0KICAgICAgICAgICAgICAgICAgICAgICAgbWVzYWogPSBqLmVycm9yTWVzc2Fn ZSB8fCBqLm1lc3NhZ2UgfHwgKGouZXJyb3IgJiYgai5lcnJvci5tZXNzYWdlKSB8fCAnJzsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg ICAgIH0gY2F0Y2ggKF8pIHsgLyogSFRNTCBjZXZhcCBvbGFiaWxpcjsgc3RhdHVzLmNvZGUgeWV0ZXJsaSAqLyB9DQogICAgICAgICAgICAgICAgaWYgKCFv aykgew0KICAgICAgICAgICAgICAgICAgICBoYXRhbGFyLnB1c2gocC5pc2ltICsgKG1lc2FqID8gJyDigJQgJyArIG1lc2FqIDogKHJlcy5zdGF0dXMgPyBg IChIVFRQICR7cmVzLnN0YXR1c30pYCA6ICcnKSkpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAoaSA8IHNlbC5sZW5ndGggLSAx KSBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHNldFRpbWVvdXQociwgMTAwMCkpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKGhhdGFsYXIubGVu Z3RoKSB7DQogICAgICAgICAgICAgICAgb3Yuc3R5bGUuZGlzcGxheSA9ICdub25lJzsNCiAgICAgICAgICAgICAgICBhbGVydCgnQmF6xLEgw7xyw7xubGVy IHNlcGV0ZSBla2xlbmVtZWRpOlxuXG4nICsNCiAgICAgICAgICAgICAgICAgICAgaGF0YWxhci5tYXAoaCA9PiAn4oCiICcgKyBoKS5qb2luKCdcbicpICsN CiAgICAgICAgICAgICAgICAgICAgJ1xuXG5TZXBldGkga29udHJvbCBlZGlwIGthbGFuIMO8csO8bmxlciBpw6dpbiB0ZWtyYXIgZGVuZXlpbi4nKTsNCiAg ICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoS1VQT04pIHsNCiAgICAgICAgICAgICAgICBiYXIuc3R5bGUu d2lkdGggPSAnOTIlJzsNCiAgICAgICAgICAgICAgICBvdi5xdWVyeVNlbGVjdG9yKCcub3YtdGl0bGUnKS50ZXh0Q29udGVudCA9ICdLdXBvbiBVeWd1bGFu xLF5b3IuLi4nOw0KICAgICAgICAgICAgICAgIGF3YWl0IGZldGNoKCcvaGVkaXllLWNla2kta3VsbGFuJywgew0KICAgICAgICAgICAgICAgICAgICBtZXRo b2Q6ICdQT1NUJywNCiAgICAgICAgICAgICAgICAgICAgYm9keTogbmV3IFVSTFNlYXJjaFBhcmFtcyh7IGFudGljc3JmOiBhbnRpY3NyZkFsKCksIGNvZGU6 IEtVUE9OIH0pLA0KICAgICAgICAgICAgICAgICAgICBjcmVkZW50aWFsczogJ2luY2x1ZGUnLA0KICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7DQog ICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcsDQogICAgICAgICAgICAg ICAgICAgICAgICAnWC1SZXF1ZXN0ZWQtV2l0aCc6ICdYTUxIdHRwUmVxdWVzdCcNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0p Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgYmFyLnN0eWxlLndpZHRoID0gJzEwMCUnOw0KICAgICAgICAgICAgb3YucXVlcnlTZWxlY3RvcignLnNw aW4nKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOw0KICAgICAgICAgICAgb3YucXVlcnlTZWxlY3RvcignLm9rbWFyaycpLnN0eWxlLmRpc3BsYXkgPSAnYmxv Y2snOw0KICAgICAgICAgICAgb3YucXVlcnlTZWxlY3RvcignLm92LXRpdGxlJykudGV4dENvbnRlbnQgPSAnVGFtYW1sYW5kxLEhJzsNCiAgICAgICAgICAg IG92LnF1ZXJ5U2VsZWN0b3IoJy5vdi1kZXRhaWwnKS50ZXh0Q29udGVudCA9ICdZw7ZubGVuZGlyaWxpeW9yc3VudXouLi4nOw0KDQogICAgICAgICAgICBh d2FpdCBuZXcgUHJvbWlzZShyID0+IHNldFRpbWVvdXQociwgODAwKSk7DQogICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvc2VwZXQnOw0K ICAgICAgICB9IGNhdGNoKGUpIHsNCiAgICAgICAgICAgIG92LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7DQogICAgICAgICAgICBhbGVydChgSGF0YTogJHtl Lm1lc3NhZ2V9YCk7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLWJ0bi1jYXJ0JykuYWRkRXZlbnRMaXN0 ZW5lcignY2xpY2snLCBhc3luYyAoKSA9PiB7DQogICAgICAgIGNvbnN0IHNlbCA9IFAuZmlsdGVyKHAgPT4gcC5zZWwgJiYgcC5hZGV0ID4gMCk7DQogICAg ICAgIGlmICghc2VsLmxlbmd0aCkgcmV0dXJuIGFsZXJ0KCdMw7x0ZmVuIGVuIGF6IGJpciDDvHLDvG4gc2XDp2luLicpOw0KDQogICAgICAgIGxldCBzdHVk ZW50Q291bnQgPSAxOw0KICAgICAgICBpZiAoVEVLTElGX01PRFUpIHsNCiAgICAgICAgICAgIGNvbnN0IGNldmFwID0gYXdhaXQgYXNrT2dyZW5jaVNheWlz aSgpOw0KICAgICAgICAgICAgaWYgKGNldmFwID09PSBudWxsKSByZXR1cm47DQogICAgICAgICAgICBzdHVkZW50Q291bnQgPSBjZXZhcDsNCiAgICAgICAg fQ0KICAgICAgICBhd2FpdCBzZXBldGVFa2xlKHNlbCwgc3R1ZGVudENvdW50KTsNCiAgICB9KTsNCiAgICAvLyBUZWtsaWYgbW9kdTogw7xyw7xuIHNlw6dt ZS/Dp8Sxa2FybWEgeW9rIOKGkiAiVMO8bcO8bsO8IHNlw6cva2FsZMSxciIgZ2l6bGk7IG1vZGFsDQogICAgLy8gc2FkZWNlIGHDp8Sxa2xhbWEgZ8O2c3Rl cmlyIOKGkiBhZGV0ICsvLSB2ZSAiTGlzdGV5ZSBFa2xlIiBnaXpsaS4NCiAgICBpZiAoVEVLTElGX01PRFUpIHsNCiAgICAgICAgY29uc3QgYnRuQWxsID0g ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1idG4tYWxsJyk7DQogICAgICAgIGlmIChidG5BbGwpIGJ0bkFsbC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUn Ow0KICAgICAgICBjb25zdCBtcSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNkc2wtbW9kYWwgLm1xdHknKTsNCiAgICAgICAgaWYgKG1xKSBtcS5zdHls ZS5kaXNwbGF5ID0gJ25vbmUnOw0KICAgICAgICBjb25zdCBtQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1tLWJ0bicpOw0KICAgICAgICBp ZiAobUJ0bikgbUJ0bi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOw0KICAgIH0NCiAgICAvKiAtLS0tLS0tLS0tIMSwbmRpciAvIFlhemTEsXIgLS0tLS0tLS0t LQ0KICAgICAgIExpc3RleWkgeWF6ZMSxcsSxbGFiaWxpciB0ZWsgZG9zeWEgSFRNTCBvbGFyYWsgaW5kaXJpci4gVmVyaXlpIGRvxJ9ydWRhbiBQJ2Rlbg0K ICAgICAgIG9rdXIgKGdyaWQgeWFsbsSxemNhIHNlw6dpbGkga2F0ZWdvcml5aSDDp2l6ZGnEn2kgacOnaW4gRE9NJ2RhbiBva3VtYWsgZWtzaWsNCiAgICAg ICBsaXN0ZSDDvHJldGlyZGkpLiBUZWtsaWYgbW9kdW5kYSBhZGV0bGVyIMO2xJ9yZW5jaSBzYXnEsXPEsXlsYSDDp2FycMSxbMSxci4gKi8NCiAgICBmdW5j dGlvbiBlc2NIdG1sKHMpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZyhzID09IG51bGwgPyAnJyA6IHMpDQogICAgICAgICAgICAucmVwbGFjZSgvJi9nLCAn JmFtcDsnKS5yZXBsYWNlKC88L2csICcmbHQ7JykucmVwbGFjZSgvPi9nLCAnJmd0OycpLnJlcGxhY2UoLyIvZywgJyZxdW90OycpOw0KICAgIH0NCiAgICBm dW5jdGlvbiBwYXJhVFIobikgew0KICAgICAgICByZXR1cm4gTnVtYmVyKG4gfHwgMCkudG9Mb2NhbGVTdHJpbmcoJ3RyLVRSJywgeyBtaW5pbXVtRnJhY3Rp b25EaWdpdHM6IDIsIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMiB9KTsNCiAgICB9DQogICAgLy8gQmFzxLFsxLEgc2F5ZmEgYmHFn8SxbmEgc2F0xLFyIHNh ecSxc8SxLiBBNCArIDEybW0ga2VuYXIgYm/Fn2x1xJ91ICsgNDRweCBnw7Zyc2VsDQogICAgLy8gacOnaW4gw7Zsw6fDvGxkw7w7IHNhdMSxcmxhciBzYXlm YXlhIHPEscSfbWF6c2EgYnUgaWtpIHNhecSxecSxIGTDvMWfw7xybWVrIHlldGVybGkuDQogICAgY29uc3QgSUxLX1NBWUZBX1NBVElSID0gMTE7ICAgLy8g aWxrIHNheWZhZGEgbG9nbyArIGJhxZ9sxLFrIHllciBrYXDEsXlvcg0KICAgIGNvbnN0IFNBWUZBX1NBVElSID0gMTQ7DQoNCiAgICBjb25zdCBidG5JbmRp ciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtYnRuLWluZGlyJyk7DQogICAgaWYgKGJ0bkluZGlyKSBidG5JbmRpci5hZGRFdmVudExpc3RlbmVy KCdjbGljaycsIGFzeW5jICgpID0+IHsNCiAgICAgICAgY29uc3Qgb2t1bCA9IChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjZHNsIC5oZC1uYW1lJykgfHwg e30pLnRleHRDb250ZW50IHx8ICcnOw0KICAgICAgICBjb25zdCBiYXNsaWsgPSAoKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNkc2wgLmhkLXRpdGxlJykg fHwge30pLnRleHRDb250ZW50IHx8ICdLxLFydGFzaXllIExpc3Rlc2knKS50cmltKCk7DQogICAgICAgIC8vIFRla2xpZiBtb2R1bmRhIHNlw6dpbSB5b2s7 IG5vcm1hbCBtb2RkYSBzYWRlY2UgacWfYXJldGxpIMO8csO8bmxlcg0KICAgICAgICBjb25zdCBzZWNpbGkgPSBQLmZpbHRlcihwID0+IFRFS0xJRl9NT0RV IHx8IHAuc2VsKTsNCiAgICAgICAgaWYgKCFzZWNpbGkubGVuZ3RoKSB7IGFsZXJ0KCdMaXN0ZWRlIGnFn2FyZXRsaSDDvHLDvG4geW9rLiBFbiBheiBiaXIg w7xyw7xuIHNlw6dpbi4nKTsgcmV0dXJuOyB9DQoNCiAgICAgICAgLy8gVGVrbGlmIG1vZHVuZGEgYWRldGxlciDDtsSfcmVuY2kgYmHFn8SxbmFkxLFyOyBr YcOnIMO2xJ9yZW5jaSBpw6dpbiBiYXPEsWxhY2HEn8SxbsSxIHNvci4NCiAgICAgICAgbGV0IGNhcnBhbiA9IG9ncmVuY2lTYXlpc2koKTsNCiAgICAgICAg aWYgKFRFS0xJRl9NT0RVKSB7DQogICAgICAgICAgICBjb25zdCBjZXZhcCA9IGF3YWl0IGFza09ncmVuY2lTYXlpc2koew0KICAgICAgICAgICAgICAgIGJh c2xpazogJ0thw6cgw7bEn3JlbmNpIGnDp2luIGxpc3RlIGluZGlyaWxlY2VrPycsDQogICAgICAgICAgICAgICAgYWx0WWF6aTogJ0xpc3RlZGVraSBhZGV0 bGVyIGdpcmRpxJ9pbml6IMO2xJ9yZW5jaSBzYXnEsXPEsXlsYSDDp2FycMSxbGFyYWsgeWF6ZMSxcsSxbMSxci4nLA0KICAgICAgICAgICAgICAgIG9uYXlF dGlrZXRpOiAnxLBuZGlyJw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBpZiAoY2V2YXAgPT09IG51bGwpIHJldHVybjsgICAvLyBpcHRhbCBlZGls ZGksIGRvc3lhIGlubWVzaW4NCiAgICAgICAgICAgIGNhcnBhbiA9IGNldmFwOw0KICAgICAgICB9DQoNCiAgICAgICAgLy8gLS0tIHNhdMSxcmxhcsSxIMO8 cmV0LCBzYXlmYWxhcmEgYsO2bCAtLS0NCiAgICAgICAgbGV0IHRvcGxhbSA9IDA7DQogICAgICAgIGNvbnN0IHNhdGlybGFyID0gc2VjaWxpLm1hcChwID0+ IHsNCiAgICAgICAgICAgIGNvbnN0IGFkZXQgPSAoTnVtYmVyKHAuYWRldCkgfHwgMSkgKiBjYXJwYW47DQogICAgICAgICAgICBjb25zdCB0dXRhciA9IHRh bUZpeWF0KHApICogYWRldDsgICAvLyB0YW0gZml5YXR0YW47IHNlcGV0IHRvcGxhbcSxeWxhIHR1dGFyDQogICAgICAgICAgICB0b3BsYW0gKz0gdHV0YXI7 DQogICAgICAgICAgICBjb25zdCBnb3JzZWwgPSBwLmltZw0KICAgICAgICAgICAgICAgID8gJzxpbWcgc3JjPSInICsgZXNjSHRtbChwLmltZykgKyAnIiBh bHQ9IiIgb25lcnJvcj0idGhpcy5wYXJlbnROb2RlLmlubmVySFRNTD1cJyZtZGFzaDtcJyI+Jw0KICAgICAgICAgICAgICAgIDogJyZtZGFzaDsnOw0KICAg ICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICB0dXRhcjogdHV0YXIsDQogICAgICAgICAgICAgICAgaHRtbDogJzx0cj48dGQgY2xhc3M9Imci PicgKyBnb3JzZWwgKyAnPC90ZD4nICsNCiAgICAgICAgICAgICAgICAgICAgJzx0ZCBjbGFzcz0iYmsiPicgKyAocC5za3UgPyBlc2NIdG1sKHAuc2t1KSA6 ICcmbWRhc2g7JykgKyAnPC90ZD4nICsNCiAgICAgICAgICAgICAgICAgICAgJzx0ZD4nICsgZXNjSHRtbChwLmthdCkgKyAnPC90ZD4nICsNCiAgICAgICAg ICAgICAgICAgICAgJzx0ZD4nICsgZXNjSHRtbChwLmlzaW0pICsgJzwvdGQ+JyArDQogICAgICAgICAgICAgICAgICAgICc8dGQgY2xhc3M9ImMiPicgKyBh ZGV0ICsgJzwvdGQ+JyArDQogICAgICAgICAgICAgICAgICAgICc8dGQgY2xhc3M9InIiPicgKyBwYXJhVFIocC5maXlhdCkgKyAnIFRMPC90ZD4nICsNCiAg ICAgICAgICAgICAgICAgICAgJzx0ZCBjbGFzcz0iciI+JyArIHBhcmFUUih0dXRhcikgKyAnIFRMPC90ZD48L3RyPicNCiAgICAgICAgICAgIH07DQogICAg ICAgIH0pOw0KDQogICAgICAgIGNvbnN0IHNheWZhbGFyID0gW107DQogICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2F0aXJsYXIubGVuZ3RoOykgew0K ICAgICAgICAgICAgY29uc3QgYm95dXQgPSBzYXlmYWxhci5sZW5ndGggPT09IDAgPyBJTEtfU0FZRkFfU0FUSVIgOiBTQVlGQV9TQVRJUjsNCiAgICAgICAg ICAgIHNheWZhbGFyLnB1c2goc2F0aXJsYXIuc2xpY2UoaSwgaSArIGJveXV0KSk7DQogICAgICAgICAgICBpICs9IGJveXV0Ow0KICAgICAgICB9DQoNCiAg ICAgICAgY29uc3QgYmFzbGlnaVRhbSA9IChva3VsLnRyaW0oKSA/IG9rdWwudHJpbSgpICsgJyDigJQgJyA6ICcnKSArIGJhc2xpazsNCiAgICAgICAgY29u c3QgdGFyaWggPSBuZXcgRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZygndHItVFInKTsNCiAgICAgICAgY29uc3Qgb2t1bExvZ28gPSAoZG9jdW1lbnQucXVl cnlTZWxlY3RvcignI2RzbCAuaGQtcm93IGltZycpIHx8IHt9KS5zcmMgfHwgJyc7DQogICAgICAgIGNvbnN0IGJhc2xpa2xhciA9ICc8dGhlYWQ+PHRyPjx0 aD5Hw7Zyc2VsPC90aD48dGg+QmFya29kPC90aD48dGg+S2F0ZWdvcmk8L3RoPicgKw0KICAgICAgICAgICAgJzx0aD7DnHLDvG48L3RoPjx0aD5BZGV0PC90 aD48dGg+QmlyaW0gRml5YXQ8L3RoPjx0aD5UdXRhcjwvdGg+PC90cj48L3RoZWFkPic7DQoNCiAgICAgICAgLy8gVGVrIHNheWZheXNhIGFyYSB0b3BsYW0g YmFzbWEg4oCUIGdlbmVsIHRvcGxhbWxhIGF5bsSxIHJha2FtIG9sdXJkdS4NCiAgICAgICAgY29uc3QgYXJhVG9wbGFtR29zdGVyID0gc2F5ZmFsYXIubGVu Z3RoID4gMTsNCiAgICAgICAgY29uc3Qgc2F5ZmFIdG1sID0gc2F5ZmFsYXIubWFwKChncnVwLCBpKSA9PiB7DQogICAgICAgICAgICBjb25zdCBhcmFUb3Bs YW0gPSBncnVwLnJlZHVjZSgodCwgcykgPT4gdCArIHMudHV0YXIsIDApOw0KICAgICAgICAgICAgY29uc3Qgc29uTXUgPSBpID09PSBzYXlmYWxhci5sZW5n dGggLSAxOw0KICAgICAgICAgICAgcmV0dXJuICc8c2VjdGlvbiBjbGFzcz0ic2F5ZmEnICsgKHNvbk11ID8gJyBzb24nIDogJycpICsgJyI+JyArDQogICAg ICAgICAgICAgICAgKGkgPT09IDAgPyAnJyA6ICc8ZGl2IGNsYXNzPSJkZXZhbSI+JyArIGVzY0h0bWwoYmFzbGlnaVRhbSkgKyAnIOKAlCBkZXZhbcSxPC9k aXY+JykgKw0KICAgICAgICAgICAgICAgICc8dGFibGU+JyArIGJhc2xpa2xhciArDQogICAgICAgICAgICAgICAgJzx0Ym9keT4nICsgZ3J1cC5tYXAocyA9 PiBzLmh0bWwpLmpvaW4oJycpICsgJzwvdGJvZHk+JyArDQogICAgICAgICAgICAgICAgKGFyYVRvcGxhbUdvc3Rlcg0KICAgICAgICAgICAgICAgICAgICA/ ICc8dGZvb3Q+PHRyIGNsYXNzPSJhcmEiPjx0ZCBjb2xzcGFuPSI2IiBjbGFzcz0iciI+QVJBIFRPUExBTSAoc2F5ZmEgJyArDQogICAgICAgICAgICAgICAg ICAgICAgKGkgKyAxKSArICcvJyArIHNheWZhbGFyLmxlbmd0aCArICcpPC90ZD48dGQgY2xhc3M9InIiPicgKw0KICAgICAgICAgICAgICAgICAgICAgIHBh cmFUUihhcmFUb3BsYW0pICsgJyBUTDwvdGQ+PC90cj48L3Rmb290PicNCiAgICAgICAgICAgICAgICAgICAgOiAnJykgKw0KICAgICAgICAgICAgICAgICc8 L3RhYmxlPicgKw0KICAgICAgICAgICAgICAgIChzb25NdQ0KICAgICAgICAgICAgICAgICAgICA/ICc8dGFibGUgY2xhc3M9ImdlbmVsIj48dGJvZHk+PHRy Pjx0ZCBjb2xzcGFuPSI2IiBjbGFzcz0iciI+R0VORUwgVE9QTEFNICgnICsNCiAgICAgICAgICAgICAgICAgICAgICBzZWNpbGkubGVuZ3RoICsgJyBrYWxl bSk8L3RkPjx0ZCBjbGFzcz0iciI+JyArIHBhcmFUUih0b3BsYW0pICsgJyBUTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+Jw0KICAgICAgICAgICAgICAg ICAgICA6ICcnKSArDQogICAgICAgICAgICAgICAgJzwvc2VjdGlvbj4nOw0KICAgICAgICB9KS5qb2luKCcnKTsNCg0KICAgICAgICBjb25zdCBodG1sID0g JzwhRE9DVFlQRSBodG1sPjxodG1sIGxhbmc9InRyIj48aGVhZD48bWV0YSBjaGFyc2V0PSJ1dGYtOCI+JyArDQogICAgICAgICAgICAnPG1ldGEgbmFtZT0i dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEiPicgKw0KICAgICAgICAgICAgJzx0aXRsZT4nICsgZXNjSHRt bChiYXNsaWdpVGFtKSArICc8L3RpdGxlPjxzdHlsZT4nICsNCiAgICAgICAgICAgICdAcGFnZXtzaXplOkE0O21hcmdpbjoxMm1tfScgKw0KICAgICAgICAg ICAgJ2JvZHl7Zm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7cGFkZGluZzoyNHB4O2NvbG9yOiMxMTE7bWF4LXdpZHRoOjkwMHB4O21h cmdpbjowIGF1dG99JyArDQogICAgICAgICAgICAnLmhke2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJl dHdlZW47Z2FwOjE2cHg7bWFyZ2luLWJvdHRvbTo2cHh9JyArDQogICAgICAgICAgICAnLmhkIGltZ3ttYXgtaGVpZ2h0OjUycHg7d2lkdGg6YXV0bztvYmpl Y3QtZml0OmNvbnRhaW59JyArDQogICAgICAgICAgICAnLmhkIC5vcnRhe2ZsZXg6MTt0ZXh0LWFsaWduOmNlbnRlcn0nICsNCiAgICAgICAgICAgICdoMXtm b250LXNpemU6MTlweDttYXJnaW46MCAwIDNweH0nICsNCiAgICAgICAgICAgICcuc3Vie2NvbG9yOiM2NjY7Zm9udC1zaXplOjEycHh9JyArDQogICAgICAg ICAgICAnLmRldmFte2ZvbnQtc2l6ZToxMXB4O2NvbG9yOiM2NjY7bWFyZ2luLWJvdHRvbTo2cHh9JyArDQogICAgICAgICAgICAndGFibGV7d2lkdGg6MTAw JTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7Zm9udC1zaXplOjEyLjVweH0nICsNCiAgICAgICAgICAgICd0YWJsZS5nZW5lbHttYXJnaW4tdG9wOjEwcHh9 JyArDQogICAgICAgICAgICAndGgsdGR7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO3BhZGRpbmc6NnB4fScgKw0KICAgICAgICAgICAgJ3Roe2JhY2tncm91bmQ6 IzAwNTZiMztjb2xvcjojZmZmO3RleHQtYWxpZ246bGVmdH0nICsNCiAgICAgICAgICAgICd0ZC5je3RleHQtYWxpZ246Y2VudGVyfXRkLnJ7dGV4dC1hbGln bjpyaWdodDt3aGl0ZS1zcGFjZTpub3dyYXB9JyArDQogICAgICAgICAgICAndGQuYmt7Zm9udC1mYW1pbHk6Q29uc29sYXMsIkNvdXJpZXIgTmV3Iixtb25v c3BhY2U7Zm9udC1zaXplOjExLjVweDt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MSV9JyArDQogICAgICAgICAgICAndGQuZ3t3aWR0aDo1NnB4O3BhZGRp bmc6NHB4O3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQ6I2ZmZn0nICsNCiAgICAgICAgICAgICd0ZC5nIGltZ3t3aWR0aDo0NHB4O2hlaWdodDo0NHB4 O29iamVjdC1maXQ6Y29udGFpbjtkaXNwbGF5OmJsb2NrO21hcmdpbjowIGF1dG99JyArDQogICAgICAgICAgICAndGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4p e2JhY2tncm91bmQ6I2Y1ZjVmNX0nICsNCiAgICAgICAgICAgICd0Zm9vdCB0ZCx0YWJsZS5nZW5lbCB0ZHtmb250LXdlaWdodDpib2xkfScgKw0KICAgICAg ICAgICAgJ3Rmb290IHRyLmFyYSB0ZHtiYWNrZ3JvdW5kOiNmMWY1Zjl9JyArDQogICAgICAgICAgICAndGFibGUuZ2VuZWwgdGR7YmFja2dyb3VuZDojZWVm NGZkO2ZvbnQtc2l6ZToxNHB4fScgKw0KICAgICAgICAgICAgJy5zYXlmYXtwYWdlLWJyZWFrLWFmdGVyOmFsd2F5c30uc2F5ZmEuc29ue3BhZ2UtYnJlYWst YWZ0ZXI6YXV0b30nICsNCiAgICAgICAgICAgICcueWF6e21hcmdpbi10b3A6MjBweDtwYWRkaW5nOjEwcHggMjBweDtiYWNrZ3JvdW5kOiMwMDU2YjM7Y29s b3I6I2ZmZjtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjhweDtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MTRweH0nICsNCiAgICAgICAgICAgICdAbWVk aWEgcHJpbnR7LnlhentkaXNwbGF5Om5vbmV9Ym9keXtwYWRkaW5nOjA7bWF4LXdpZHRoOm5vbmV9JyArDQogICAgICAgICAgICAndHJ7cGFnZS1icmVhay1p bnNpZGU6YXZvaWR9dGhlYWR7ZGlzcGxheTp0YWJsZS1oZWFkZXItZ3JvdXB9JyArDQogICAgICAgICAgICAndGgsdGZvb3QgdGQsdGFibGUuZ2VuZWwgdGR7 LXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6ZXhhY3Q7cHJpbnQtY29sb3ItYWRqdXN0OmV4YWN0fX0nICsNCiAgICAgICAgICAgICc8L3N0eWxlPjwvaGVh ZD48Ym9keT4nICsNCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJoZCI+JyArDQogICAgICAgICAgICAoTUtfTE9HTyA/ICc8aW1nIHNyYz0iJyArIE1LX0xP R08gKyAnIiBhbHQ9Ik1hdmlLYWxlbSI+JyA6ICc8c3Bhbj48L3NwYW4+JykgKw0KICAgICAgICAgICAgJzxkaXYgY2xhc3M9Im9ydGEiPjxoMT4nICsgZXNj SHRtbChiYXNsaWdpVGFtKSArICc8L2gxPicgKw0KICAgICAgICAgICAgJzxkaXYgY2xhc3M9InN1YiI+JyArIHNlY2lsaS5sZW5ndGggKyAnIGthbGVtIMK3 ICcgKyBlc2NIdG1sKHRhcmloKSArDQogICAgICAgICAgICAoY2FycGFuID4gMSA/ICcgwrcgJyArIGNhcnBhbiArICcgw7bEn3JlbmNpIGnDp2luJyA6ICcn KSArICc8L2Rpdj48L2Rpdj4nICsNCiAgICAgICAgICAgIChva3VsTG9nbyA/ICc8aW1nIHNyYz0iJyArIGVzY0h0bWwob2t1bExvZ28pICsgJyIgYWx0PSIi IG9uZXJyb3I9InRoaXMuc3R5bGUuZGlzcGxheT1cJ25vbmVcJyI+JyA6ICc8c3Bhbj48L3NwYW4+JykgKw0KICAgICAgICAgICAgJzwvZGl2PicgKw0KICAg ICAgICAgICAgc2F5ZmFIdG1sICsNCiAgICAgICAgICAgICc8YnV0dG9uIGNsYXNzPSJ5YXoiIG9uY2xpY2s9IndpbmRvdy5wcmludCgpIj5ZYXpkxLFyPC9i dXR0b24+JyArDQogICAgICAgICAgICAnPC9ib2R5PjwvaHRtbD4nOw0KDQogICAgICAgIGNvbnN0IGRvc3lhQWRpID0gKG9rdWwudHJpbSgpIHx8ICdraXJ0 YXNpeWUnKQ0KICAgICAgICAgICAgLnRvTG93ZXJDYXNlKCkNCiAgICAgICAgICAgIC5yZXBsYWNlKC9bw6fDh10vZywgJ2MnKS5yZXBsYWNlKC9bxJ/Enl0v ZywgJ2cnKS5yZXBsYWNlKC9bxLFJxLBpXS9nLCAnaScpDQogICAgICAgICAgICAucmVwbGFjZSgvW8O2w5ZdL2csICdvJykucmVwbGFjZSgvW8WfxZ5dL2cs ICdzJykucmVwbGFjZSgvW8O8w5xdL2csICd1JykNCiAgICAgICAgICAgIC5yZXBsYWNlKC9bXmEtejAtOV0rL2csICctJykucmVwbGFjZSgvXi0rfC0rJC9n LCAnJykgKyAnLWxpc3Rlc2kuaHRtbCc7DQoNCiAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFsn77u/JyArIGh0bWxdLCB7IHR5cGU6ICd0ZXh0L2h0 bWw7Y2hhcnNldD11dGYtOCcgfSk7DQogICAgICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7DQogICAgICAgIGNvbnN0IGEgPSBk b2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7DQogICAgICAgIGEuaHJlZiA9IHVybDsNCiAgICAgICAgYS5kb3dubG9hZCA9IGRvc3lhQWRpOw0KICAgICAg ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpOw0KICAgICAgICBhLmNsaWNrKCk7DQogICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYSk7 DQogICAgICAgIC8vIEJhesSxIHRhcmF5xLFjxLFsYXIgaW5kaXJtZSBiYcWfbGFtYWRhbiBVUkwgaXB0YWwgZWRpbGlyc2UgZG9zeWF5xLEgYm/FnyBrYXlk ZWRpeW9yDQogICAgICAgIHNldFRpbWVvdXQoKCkgPT4gVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpLCA0MDAwKTsNCiAgICB9KTsNCg0KICAgIHJlbmRlclBp bGxzKCk7DQogICAgcmVuZGVyR3JpZCgpOw0KfSkoKTsNCg==