İstek Okulları Uluğbey Ortaokul Makas
İstek Okulları Uluğbey Ortaokul Makas
Bu kategoride ürün bulunamadı.
1
SEÇİLEN: 3 ADET
TOPLAM: 1.836,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
DQooZnVuY3Rpb24oKSB7DQogICAgdHJ5IHsNCiAgICAgICAgY29uc3QgYWt0aWZPa3VsQWRpID0gIsSwc3RlayBPa3VsbGFyxLEgVWx1xJ9iZXkgT3J0YW9r dWwgTWFrYXMgS8SxcnRhc2l5ZSDEsGh0aXlhw6cgTGlzdGVzaSI7DQogICAgICAgIGNvbnN0IGFrdGlmT2t1bExpbmtpID0gd2luZG93LmxvY2F0aW9uLmhy ZWY7DQogICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdrYXlpdGxpT2t1bEFkaScsIGFrdGlmT2t1bEFkaSk7DQogICAgICAgIGxvY2FsU3RvcmFnZS5z ZXRJdGVtKCdrYXlpdGxpT2t1bExpbmtpJywgYWt0aWZPa3VsTGlua2kpOw0KICAgIH0gY2F0Y2goZSkgeyBjb25zb2xlLndhcm4oIkxvY2FsIHN0b3JhZ2Ug ZXJpxZ9pbSBoYXRhc8SxIiwgZSk7IH0NCiAgICBjb25zdCBLVVBPTiA9ICcnOw0KICAgIC8vIE1hdmlLYWxlbSBsb2dvc3UgKGRhdGEgVVJJKSDigJQgaW5k aXJpbGVuIGxpc3RlbmluIGJhxZ9sxLHEn8SxbmEgZ8O2bcO8bMO8ciBraQ0KICAgIC8vIGRvc3lhIGludGVybmV0c2l6IGRlIGt1cnVtc2FsIGfDtnLDvG5z w7xuLiBMb2dvIHlva3NhIGJvxZ8gc3RyaW5nIGdlbGlyLg0KICAgIGNvbnN0IE1LX0xPR08gPSAnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dv QUFBQU5TVWhFVWdBQUFVQUFBQUI0Q0FJQUFBQU1yTHlKQUFBQkttbERRMUJUYTJsaEFBQW9rWDJRdlVyRFlCaUZuNjhVeE9MUG9JT0RROFl1MmxUYlVFV0ht Tm9pT0xVVmtqcWxhUnJFTmcxcHhNN082alc0ZVFNZHZRQkhRWEJ5RUx3QmNYQ3RKa0ZTa0hpKzVlRndlTi92UFpCWkE4aktNSEFEdjFFL2tIU2pMYzI5SVJC RU1xMlJSN29FZkwzRTJlZU5mM0pwbXUvYUl3djRBQUpmTjlvZ3VzQ3FFL000NUU3TTF5RmZCbDRBNGk1a3Y5WFFRRXlBdkRQRG5SbTJQRC9NdndKN2cvNkZs ZnliQmRzOWFRSTZzRTZkSVVNYyt0Z1VhSExPR1NZRktsUlFxYUdpY2tnSmpYTDBGTFNJZDVCUlVObU9PUGFyeUZRcFVxTWM5aG12dkxxQi9kSjBPbjFJdk9O bG1MUWc5NTU0K1YxWUdzUGpiZUlsSFh1bWIwWlc5bWRrcHRlRHozdFlOR0RsQ1hLbnY4V20zQ3I5dVZYaUNCZUxUU1Mya0NtaWZBTjVVRXp1alBsbWpBQUFJ QUJKUkVGVWVKenNYWGQ4Rk1YYm43TGxXbnBDRWdLaFF3Z2RGRUdxb29LQ2lnSTI3TDcyaHIxWFZCUTc5bDZ4Q3lxZ29vaElWMFNsdDRRQUNlbjErdDN1elBQ K01idDdleUZVNFNkb25nOGZoYnU5M1puWitjN3p6UE44bjJkd0tCUUJoQkJDR0NGQUNCRENBQWdqUUFpSkx3QWhEQWhoQkFBSVl3VGk0MlpwbG1iNXh3VkRN eDZicFZtT1dKR2FBZHdzelhMa1NyTUdicFptT1lKRitxY2IwQ3ltQUFERys3S2dZb1FBWXdTQU1mN2ZOSzFaRGx0cDFzQ0hVZ0FBb1gxREpVSUlFT3pobndn SjdDSVR0SHREYnpPOC93dlNET0NESTdEWG9iUytCSWpoRU9PL0R6UGczR29DYWdyWUdHT0k0YjVaL2xYU2JFTC9YUkd3eFNhQXdQelVVS0VDb3VKUGt6L25u RWVqb0VXNUZ0VkRJUllJOEdpRWF4cVBScmdXNWRFb0FzQ1VZa294bFRBbFJGYmtwQlFwSVpHb0tsRVVxam93SWJ2ZUU0bVFIOFpDLzFzTmExYkwvekpwMXNE N0wwME9tUjJ4OFlnQ2hGZ3dvRFhVYTk0R3ZhNG1YRmtScmFuU3ZRMmFyMEgzTmpDL1h3OEdlRERBZ240V0NvR21BMmZBR1RBT25Ba29Za0xNaFlBZ1FvaWlV SWVUdXQzVTVaRVNreHpaTFowdGN4MHRXemxhNXFpWkxkV01Gb1RTV0VzNXQ1QWNXMjZhWWZ4dmtXWUE3NnZZOVpqMWtmRUJKblpJNk1GZ3FMUTRWTHdqVWxv Y3Jpd1BsNVpFYTZxMDJock4xOEJESVQwVVFJd2hRQUFjSTRRRU9BbkJXUHdGSTRRTmhEV0dHUmo3WXM0Qk9PSUFuQUVIUUlBUnhxb2l1VHhLV29ZenQ2Mm5Z eGQzcDY0SlhmSmRiZHZIY01zNUlzUytJVytHOGI5QW1nRzhGN0Z3RzJjZUF3Z3dHQjhnRktrc0QyNHJEQlJzOG0zZTZOK3lJVnhhd3Z3K0hvMGdEZ2dqakFt bUZCRmlBUlhadkZGeDIrTjlGR3h6WllGb0pnQm53Qmd3aGdDSUxFdkphWW5kZXFVTkdwYmM3eGgzKzA2WUVFQUlHTU5teTV1MThiOUFtZ0hjdE5qVmxQRjM0 QWdRb2hTYkY0VExTd09GVzN3YjF2ZzJyUXRzMlJndTI4bERRUUFna293bENWTnFZc1BFL2k1RGJYSlR3WHFRQWEzZCs1eU1yU3dBbUt6V09BUmlMSDRLd0lI cFBCcEZDQ25wR1VsOWo4a2FmV2JxZ0NHUzAybUhjVE9HajNScEJuQmpzYzlwY3crSk1ERjJsU3dTOFJkc2F2aHJSY09mdi9zTE5rVEt5MWdnZ0JCZ1dTYVNq QWxGMkZUUlRkNVpvRTRBUnNSOUVVSUg2aUsyUjQ0Tk02RVJGREVHaEVEWFdTUXN1ZHlKUGZwa25Ub3U2NVF6aUN4enhyQzVYUmRXeGw3alVzMXlHRW96Z0JH Szkwc1prQUFRN2wveG9lYnordGF2cnY5elJkM3Z2L28zcnRXOURRZ0JrU1M4RzlDQ1hkK2FvRDJrK0xBYitkaU1QMXVyQmlZRUdHT1JDTVk0YmRnSmJTNjdO cmxuM3poVkxCYVVaaGdmYWRJTVlKdktGWC9qM1BJa3Mwall0MzV0N2ZLRnRjc1grVGR2MEgxZVRDbFZWRVFwRm5nQmlQTnZZZkVoRmp2VGZ3b0tCcGd0eTl3 MHVURW1nRUFQK05YVTlKeXpMOHE5NUNySjZlSk14NFFLNkVJenUrdElrLzh3Z00yZVd5b1hBRVFBQmhBS0ZoWFdMRmxRdlhDZWI5MXF6ZHVBS1RGd0s2NDB3 R2tnOTI5YXdvZE9MTDBLeHNwaXhLVzVydk5vSkgzNFNaMXVmOURWS3BjejNYQ3RZWXd0Qzc5WmpnVDVMd0xZNkRMRzJCWXBGU3BYOHpZMC9MV3k2dWU1Tll2 blJ5cktNTVpFVVRHbGhoS3pGRlFNdWY5MFovWkJqT1hHUUxNZ1VSUEFXUGQ3UFozejgrNS9JcmwzUHk1c2FXTTFhc2J3RVNQL0xRREhXOHVBZUN3YUZOaTJ0 WHJoVDFVL2ZldmJ1STRIZzBSVnNTUmh5OEZqdDBzeFBneVY3VjdGWHJiQmNLUVJ3b0pCUjFiTGJvKy9tTnpucUdZTUg0bnkzd0N3elZvV3ByTGxvT0tNZVZm L1VmcjFaN1ZMRmtRcXl6RW1SRlVSSVpoencvMWovYlpKTisrUkpaYmIybktEVTZxSFFzNldyWHUrOExhblErYzREUC9UalcyV2ZaRi9PWUFiaDNOdDBJMDJO TlQ5dXJoODFwZjF2eS9UL1Y2aXFGaVdzZjBuMW96L1I3dUE3TXJ3WUNqR1JxUVVUS2tlOENmMTZkL2o2ZGVVOUhUZ2dLMTE2cC91ZXJQc1ZmN05BTGJDbTJE R2VNUkdOMXhSVmpGM2R1WGNiM3liMWtNMFNoMHFwaEp3d01EdGNEMkk0QlZseFFBRDJvV09pZmFUU0dGTGxvaTdBOW9mMjc0eHNZeFM1dmUxSEQreHl6MlBD Y0lXYm5ab0hTSHlMd1J3STYwTG5GdU1oV0RKanZLdlB5K2I5VVc0ck1Td2xvMkxBR01FS0daZUhpQ3p3cjVQdGcwc1JnZ3d3b0JqOTkyZGlvUEcrTEtKN2Vk V3pVSDc2NE5ZSmNMWWcrTit0a3RUYlo5d1RjdC83UG1zVWFkeHhoQWhwTm1RUGhMa1h3WGdYUXhtRGdnUlFoRkMzbzNyeStkOFdmWGp0K0dkTzdBc0UwVkZ0 dG1QemNsL1lETzJrVmJjbFE1bGdnZ2pBT0FjQVRkNXk5eUlIMXMzTVgrTE1VWUlBM0FiYzhzR1Q0d3hvWmdRVEFuQ0ZGT0NyTGgwSEtTUldXQzBDWktHRmFr R0FFd0lDNGNUdXZibzlmTDdjbktLWmJ3MFV6c09jL21YQUxneC85Rm1NSHZYclM2ZDhYSFZnaCtpVlJWRVZvZ3NDN2FHRlJCQysrbWRNblZYckdKRzNDeTM4 WitCYytCY0pCZ0FZOEFabG1TcUtFUlJwWVJFS1RsRlRrZ2tUaWQxdXFuTExibmN4T2traW9JVkJST0pxaXJHbUdzNk1BWUlnR2s4RkdLQmdCYndNNTgzMmxE SGZEN2RXNi83ZlR3U1pwRUk2QnFtaEZBWnk3S05oaDFiVmt3WXg5a0I5cVVIVTZyN2ZSMXV1cWZ0cGRjQVkwQUlhVWJ2WVM5SFBJQ2JjRk5aME4yd2R1ZG5I MVQ5T0VmejFoTkZJWklDd0kyTGJkR1VmWnloRUYvakpzNVZLL0wxQVlCellEclhHZUljSVVSVWxYb1M1S1FVSlRWVnpjcHhaT1U0Y2xvNXNscXFHWmxLY2dw eGVhakRnU1hwQU5RKzE2SXNIT0hCZ09iM2hpdkt3enQzaE12THdtVWx3YUxDU1BsT3pkc0EwUWpHQk1zU2xtV01DVEpUL0kyZHVEVmtSdGNRUW9BdzRlR3d1 M04rbjljK2twT1RrUlV0Yjhid1lTeEhOb0RqNHJvMktwVjMvWnJTR1I5WC9qaEhxNmtpVGhlbU5OWlBHKzF4SC8wOXFFa2xiWUdXTWE1cm9Pc0lZK3AweVNt cGFtWkxSNnMyN25ZZDNSMDZPWE55bGRRME9UR0pLRXFUSFdoTW5JNS9jaE9iY2NPMGJicnR1dDhmTGk4TkZCVjYxLzdsMzdnMnVLMGdVbGtCdWtZVUZVdXl5 Vnl4SnpMRzRrcUNQdzBBM1I2YmxqRmlsUEFkTkFQNE1KY2pGY0M3ZzY1dnk4YVNUOTZybnY5OXRLYktpQXh4Ym1kUW9YMHJFR1c1bzB5UGx1Vnp3Z2dCTU1Z MURYUWRFU3g1RWgzWk9lNU9lUWw1M1QwZHV6aGE1U3JwTFNTUHAzRXl2cUI4Q1RrNFFScExrd3E3QXlPQ01ZNFZBMkhoY0xpc3hMdm1yOXJsaSt0WExnK1hs U0NNcWVwQWhGaGJaU3VIMFJnVFRMU0FyOVZaRitYZDl4aHdEdUoyelFBK2pPWElBM0NqN1M1d0xxQWJMTmxSOHNsN0ZYTm1DT2dTU1lJNEgxVXNJcktuVkZ1 TDhXR2ExMVpNQlRqbldoUTBBZG9FUjFhT3AydVBsS01HZURwM2RiVEtWUktUNGh2SkVaaGgyNmE4MmsxNm1SczNCNHg3bWI5cHF1R040MGt4elcybFFDS0VR anVMYTVmOFV2SEQ3SWJWSzNrNFJCeE9Rb2hCYUlrbDkyTkVNQStIRTdyMjZQUEd4OVNUWUpCTW16RjhHTXNSQm1CNzdqdHdMbExob3ZWMXBUTS9LZjFpZW5C N0VYVTRpQ1FiZTEyTHgyOVhNcnUvczMybXh1RTJHdVZhbENpcW8yWHJoTHo4eEo1OUU3djNkcmZ2cUNTbjJuN09FWWZHcXRVV1RJb3RIcWFsaWhyaDJDalFn eEZDaUpDL2d4aUxzaUo2aFRHeGtxdHFsaTBxbS9GeDdmSkZQQnlpTGpjQ2hJRGJWVEZuakhvU2VyLzhRV0xYN2dBQVNFU1VtdVV3bFNNRHdOWldzWkhOREp4 WGZQZjFqdmZmOEc5YWl3a2xxaG9yeUxnMzBFTDgzV01aUlJnamhEbG5FSTF5cGxORmRlYTJTKzQzSUhYZ2tJVDhIbzdNYkt0bW5RZ0lJVkZyenBSWUZjZzlF Q0Zza1NGb0trb0xDR2tOOWJxdlFhdXZqOVJVNi9XMVdsMk43dlVhKzIybWc2WWhRcWpUSmJrOXhPVW1xa1B5ZUJ6Wk9XcDZDeVVsVmZJa3hOMk5jK0FNSVN6 WTNVelQ2bGNzTGY3d3pkb2xDekNWaUtJYXdTcHp2UUVFUFo1K1BXM3djVVlacldZTmZCakxrVkJXMXA0OHhEa0FKMVRDQ05YK3ZyejQvZGRybHl3QXBsT0hF NGxVWHBQQXZLZTlMa0RzWkFNVFM0QVF4Z1NBczBpRWExSHFkSG55dXFmMFB6YmxxQUVKM1hxcGFlbldUNEV4aEJFUytYZEVzb2RuN1dWeDlqVHZZeG9ZSXdB V0RrZnJhOE1seFlHaWdraEZXYmgwUjZTeVBGeGVwbm5yZVNqRVFpRWVqU0RPRUNCRU1DWUVFNEtNSURBVjIzSmhMMUNuazNvU2xMUU1SM2FPczNWYlQvdE83 bzZkWFczYVM1NEVzZWh3WFFjQUlrbHB4dzVMN2plZ2RPWW54ZSsvRmlyZVRsMXV3eUdITVVhSWE1cFdYMmVySmRUTXh6cDg1WERYd0FDQU1NTElzcGt4eGlS Y1hycjkzVmNyWnMvVUd1cW95MlZPTlRBUXMzc09aQ3kxM1haZUtqYnJ6dkJJR0ZIcXltMmJPbUJZMnBEakU3djNVbElNSXhrRWZxenl6bFk5S3ZIMS9zNXZj OUNCczNCNVdhaWtPRlM2UTYrcEFjNndyQkNNQVNPenFoYmgwWWp1OTdGZ1FQY0hkRjlEdExveVdsZXJlZXRad0EvUktEQ0dLY1dTUkNRSkFlS2NJVjFqdW80 QllWbVdrNUlkclhJVHV2WklQV1p3Y3I5alJIYzRZNGd6TENzWW9lQzJyZHZlZnJsODlwZVlZQ0xKaUhNZ2hFWENYUitZMm5MczJjQ1kyRWlndjJYUk44c2hs TU1Zd0xhNk1KeHpCSnhRQ1FESzU4emMvdWFMZ2EyYnFlckFrbVNlU3hCM2huR1RSaW1Lb2Rma1N4SUNuUE5JR0JpVDB6SlNqaHFRY2Z5bzVIN0hPREt6alY4 eGhsQU10MVlHOFFIaWRwZXVpUTAycHBUSThqNzlqbkVXRGV0K1g2U3lRbXVvQ3hmdjhCZHNERzR0Q0pVV1I2c3FlQ1NNS1NXS1NtUVpBQUZud0hTSWFzQVpj VGlkcmR1MkdINVM1cGd6M2UwN0lvUTQweEVBa1dRQTJQbjVoNFhUSG1kK1AzVTRFWENtNjkwZW01WTVjZ3d3SFJHS0VkajNDTTF5V01saEN1REd6aXBLTVVM ZTlXdTJ2L05LMVUvZklnRHFjSUxkWU40RERkSmFDT3lhbVJDdWFjSWY2K21Tbno1a1JOclFFUW41UFF4aWc3aXptVmlINHAyOUJ5M0R3VzRvaVB4a3NBZUhy T2ZaL3RkVVZKWkZJcEdxQ3YrbTlRMnJWbnJYclFwczJhalYxU0JNcU5PSkNRWGdHR05nbkdzUjBEUTFxMlhHY2FOYWpqOHZvVXMrSU1RMURWTktDS2xic1d6 ejFBY0RtemRRcHhNNDlIanVqZFNCUTgxUzBrZGkrdk4vUlE0L0FOc0xzcGs3WGhhSmxIejh6bzRQM294V2xsa2JObkU1M2kzam9YSEFDV01zRU1NaUVSNk5x QzJ5VWdjTXlUaCtWUExSQTVYa0ZQTnhnRzBua2xpcncwSGVCTzdmb1dkTi9ONklVU0VrS0pEV0Yzb282Tit5c1c3cHdwb2xQM3ZYcllab2hEaGRtRXFtc3cw alRXT1JzSnFablgzYWhOeUxycEtUa2pqVEVTQWlTY0h0UlJzZXVLWHV0NldPbHExNnZmUitRcGQ4NEJ3d0lvZzA0L2V3bGNNTHdFMHFYdC9HZFlVdlRxMzU1 U2VpbW5SSXkwN2V6WGEzTVRWYWxHWGtuSWZEQ0dObm0vWVp4NDNNT21Xc3AzT2V1RjdVV0RYM3c0WXRibmR4SFlxdU5zcFlpb25JWFVKeEZ6U1JtbVRIdjBY TU1NR3NCNE8xU3hhVXo1bFp2M0s1MWxCbkJIN040a0ZjaTdKd09PV29nUjF2dlQrcGV5OHVhc0ZMVXJpOGJQV2t5NEN6ZnU5L1RWVlZyQlI0OXdjN05jcy9M b2NMZ08wWk04TFRTeVJKRDRWMmZqRzkrUDNYSWhWbGtzdHRHTGQyQm05VCtBVTdPVUhVY0dPTWgwTEU2VXpzMFNkanhNa3RScHpzeU1vMnQ5YUFDY1lJVzU1 aExGSjNEK01wMjhRaEwzWkFjNDRRSUNxSmErcFgvbHJ5OGJ2VnY4d0RYYU1PaDVIL2hERW1SUGY3MWF6c3ZBZWZTaDgwakRPR0VCQXErVGF1ODY1YmxUUHVQ REJyZ0IzT1E5RXNod3VBWStFY0xuSUFpYjlnMDVabkg2MWJ2QUJMRWxFVTQ1Z3ZNK1RUeUdhT25lNXBPcHFFd1l3WVk2RWc5U1NtRGhpU2RkcjQxQUdEallY QURBVlpKWkgzRXZnNXJNV29FeENmMVJHcmp3c2NLbitjcy9YbHA0S0ZteVZQUXN6dFJ5a0xoNVQwRnQyZmZDVzU5MUdOU3IxYk4vdm4rdFVzZTVmREFNQW04 SkROYks2WU82dnd1Y2RDSmNXUzIyMXFGV3lrN2NiUHFUajNzcVYyQ2VGTTUrR1FsSmljT21CSXp0a1hwaHc5MEFnWDJhemxHQUhyU0lWdXZJQlJrc0MyZVVC V1BZUGdqbTFibm55b2V1RlAxT0d3WXRjaURkaVoyNjdIMDY5Nk91Vnh6bzFrU01HWGJxNFVmZGpMUHd4Z2E3WnhBTVFZa1NUTjU5MzIrclNkbjc0SHVtNHhx L2JnWURiTWFjdnBSQW5vT2d1SHBNVGt0RUhEczg4NEozWEFZSXd4NXh3RElHSlFrNXMrV09oZkkvSEdpRmdaaVNTeGFHVExrNC9zL1B3OXFqb3dJSTRBSTRR SjFZTytwRjVIOTN6K0xUa2xOVVlwdGJndXpYSVl5ejhKNEpqVzVGeFFJMzJiTjJ4NTRvRzYzNWRUVmNXVzAwVmNMSnByL1RhZTZpeVVCdWVjaFlLUzA1VSsv S1Njc3k1STd0TWZVMkxGaEdKOHlmL0lHU0wyK0psUXhaU0NwbTE4NU82eUdSOVR0MXRrUjJHRUVLVzYzOS8yaWhzN1hIK2JTRUl5OVBDL2ZvaU9mUG5IQUJ3 N21NdDBOVlg5L09QbUorNFBseFpMTGpjQVdOWWI3TExkamJtN2hKdVVFQUJnb1JCeE9GTDZEMm85OGJLMGdVT1EwT3FDdkNWOFZOWVAvd3ZvTmNWZUhGZWtm N0JBWU0xdFY5Y3VtUys1RW9BekFWU21hYzZXclhxL090M1pLdGZZSlArOWhJcG0rZC9JUDhDRjNqVldoRGpmL3VGYjIxNTVob1ZEa3RzamRDYmd4anV3ZU9n aTQ0UUJnbGdvaEFoSkhUQWs1NndMMDRhTm9MSXNER1pCRzRiL2xOYmRSV0lNRmdCRUNIQXVlVHlkYm50ZzFiYkNhR1Vaa1dReE9FUldRanVMNi8vNjNaSFRH Z0VBSWFTWkFuMGt5UDhhd0hhelRxVHk2c0hBbHFjZkxaMHhuVWd5VVJUQnZ6WDJiN3VpMTNJYVk0d0pZWkVJTUQyaGE0L2NDNjdJT0dFVWRUZ0JnRnRuV1Ar M29SdVRXTm8rQUNHY01VLzdqcTNPdnFqdzJVZEJWckN3bVRFR1hRc1ViakYrY1hpVXhHNld2Y3IvRk1DbWcwUlVqT1NFMHRETzRpMVBQRkMxNEVmcWRHS0VP T2ZFTm1uaTRyMVdFbzlCUmRDWXBybmJkMng1NW5uWlk4K1NFNU9FaHhrUlFnaHBobTVqTWExb2dXUUFhREhxMUxLdlB3dHVLeFMxZmtCRTM0TitqREdZTytC L3V0SE5zbmY1M3dFNDNtWEZDWlVhMXZ5NThhRTcvSnZYVTVmYmZuU1kzVjlsSzg1dTJzd0k5RUJBU2MvSW1YQit5L0VUSFMyeUFDRmdPaEpwNjgzUTNaM1lD NUp3Y0dhMVRCODZZbnZCSnFTcW1ITUVHR0VzSlNXYlhvbC91clhOc20veVB3S3daY0VKN3hTaFV0VXY4elk5Y2xlMHFwSzZQY2c2aU1pOEhqZGxNeU5NV0Rp TUNNazRhWFM3S3ljbGRPNXFzU0JGK1poL2VYRG9id3MyVHpNR0JBZ2dwZitna2svZVFaeUxjYU9xSTdGckQ0d3hJQXdJTmVjZkhSSHl2d0N3bVQ4UFFwMWlT a3UvL256TGt3K3hZSUE2bkViU3FaVlZieVVGMmhMZmhjM01OYzNUdFh1Ymk2L09QR2swcHRSaURzWHE1alQ3WGZZczhlY1l1OXAxa05OYVJNcDNVdFdoaDBL SjNYb205VDRLYkx2bDVxRTgvT1dRQTlqS253ZHUrSmEydmZOeTBTdlBJczZKb29nd1JpTkNGVEx6Q0N4K3BSN3d5Mm5wYmM2OXROV0U4NVhVdEppbnlweVVo eVJuNk44b0dJQ2JBSmFUVTlYTTdQRE9IV0xkYkQzeE1pVWxsWE9HTWNITmhUaU9FRG0wQUk2em5Ba0ZyaGUrOU5UMnQxK21pbXJrNHNmek5NdzZVa2FaVkl3 Smk0UXhvUzFPT3JYdEZUY21kQkUyczQ1eHM2ZnFRTVdxMUFWQVhTNGxQUk1CNHNGZ3EzTXZhWEhpYU9EY1lxb2Q1Z082SzMvQjRvQWY5bTAvbUhJSUFSeERM K2VZVWg0SmI1NzZVT25uSHhLbjA1NVhaQjBGWnBFaUVRRENCQUdQK3J6dWpwM2JYbkZqNXNqVGlDd3hYY2NZSTB6QVpBaGlLM0Yzbjk5Y1hCUTZOZ25zeTBo TVl2Yy9YS2ZGbm5rNFZyRURxOHRjTUdURXR3QUlZODFiMy9xQ3k5dmZkRGVpbElPb3NRZFd1TThlZ2RybFdZMEg3UkFOMTY2SHhkbStNalpvNWprd2V5NnA5 QytVUThYRXNxT1hVTW9pa1UxVDdpMmIrWWxSZmM1MFdkbnJwNXZReFJoakZnNFRTdHVmZDFIdS8xMkhrdEwyK3FEOWF0WEI2ZUZoSUxiRkNJRlpIVmFBa0JC ckt1KytuZ2J3MVZkTlZGcGs1ZDA3QmFtT1BUOW9YOGR0WDZybTc0L0VMN2kyQTI0d29yWjZ0ekZpMytHNjFCNGlPU1FBYm96ZWNIalQ0L2VYemZpWXVsekdl ekRSaStKZHpaaFE0SXlGUWdtZDhySXV2YTR5dHp2bjRGYW93NmxLVkpKbGlnbmhqR3U2SHRYMFlEQ2NtOU1pSlNYQjJxenR1d1pHQ0dtYXZtWHJUbG1XbkE1 Rm9oUWhwRFBPZE1ZNGowUTFmeURFR2V1ZTM5N3RNbWIyNFRZdFlxVnBBY3o2UC9adll6c0xhOGdyS21zTGluWTZuUTYzVTFWVUJZVUNnVCtYdHhoMm91Unlj VjNqSEVVMVRkTllOS29GZ3VGd0pKclhzWFZxYXFLNE9XTjgzWWFpVURpYW5PUlJWVVdTQ0tVVU9HY2NJcEdvMXhlTVJyV3VlVzBTRTF3b1ZrVDA0SFcycVdW QjA3U3lpcnIxbTdiLzhQUEs4YWNOT2JaL044YTRtV2wyZUwyc1F5Y0gzNFJ1aEY0OTROLzAyTDNsczcrUVhHN1VDTDJteHdxczAvR0NRYXFxT2VkZDB1SC9y dlc1MHg2KzQ3a3RXMHUzN2lqWE5PYnhPQlZKSWdRTGdIRU85UTMrQzg0NjRZVW5yZ1h6MklVOUt3b0x1cHh6U3VuM1A2MjRmTkt6RG9laUtyS2lTQUNnNjF6 WDlXQW9nakh1MEs1bFRtYnE0dzllN25FN09lZUhJWUN4MlNGQmZQeHpkY0hMYjMxVFVWV1gzNlhOalZlZW1aMlZhdVVHV2doZnQ2SG82WmMrcjZyekYyMHJj enBWcDFOMWVsejA5Y1dpWjdyR0lsSE5Id2hIb2xySGRpMWJwQ1hkZmRONXg2UWxjYzRBaU03WWg1Lyt1SHpseHVMU2FwMXhqOGRCQ2NVWTFkVDZHR050Y2pQ YjVtUThmTThsU1I0M0IzNlE3V2VFQkxOOWUzRmxSVlZ0YloyL29Ham5oczA3dG00cjIxNWNVVlhUNFBVR2hnL3FhUTNGdjh6TzJyTWNaQTNjR0wzQjRJYUhi cS84N2l1THFoR3puSTEwVXlUT3hVTUFldENmMExWSGgrdHZUeDg2UXVUY2M0UjkvdUNmcXd2dWVmVHQxZXUzcVlyTVJYWXJSb1FRVFdlcFNaNjVYejdlc1Yx TERvRDM0UXdCTStTSkFPRDhLNmQ4OWQyeUJJOVRaMHhzK2lqRjBhamV2azMyWS9kZGRreS92S1FrRDdXcHRjTnRUb0JCaVVHRTROWHJ0azY0WlBMMmtrcEZs c0tSNlBCQnZUNSs0KzYwMU1SNGt4SWpCSnJPcXFyclo4NVo4c2pUMHlOaHpTcTZqUkFJTlp1YzVIbjR6b3RHampncUxTVlJrcWo5aVp4RElCQmF2bkxETmJl OVVGVmRMMHVTMXg4Y1BLRDc5WmVQUGFadlhrWkdzaVRSZ3g2SEY2c25JU1FhMVNiZC9mSlBDLzhxS2ExaWpCTktDTUdLTE1zeTFYWCsvc3Uzano3cEdNYTRH Wm80dkY3V29SUDY0SU1QSHF4N3hmbWNLZVdSeU9iSDdxMlk5UVYxZSt6b2pVc0R4QWdUeXFNUmhGSE8rSWxkSDV5YTJMVUg1eHc0SjRSZ2pKME90VjJick81 NWJXZk9XUUlBa2tRSkVkOWdXYWJWTmQ0MnJWc01PQ3FmYzI2aGQ0L1ZLUTFkdEhaRDBaVG5QeUdpekRRaGxCQXFFWUlKeHVUbHFkZWZjbUovbDFPMTMrWndu QkN4REFVOGRkcG5QLzd5UjNwYW9pUlJqOHV4dWFDa2M0ZWNQajA3Y3M0eHRzaXBHQ0dnaENRbXVQdjN6V3Z3QmhiL3V0YnRkaEpDSklsSWxFcVNGSWxHNzcz NXZDc3ZHZU54T3h1SGdRRXd3UTZIMHFGZHl6OVhGNjdidUEwQXJyNWt6R3ZQVE9yVnZVTkNnb3ZFRDlGQkhURXNrcU1HSEoxLzRWa245T25aYWNWZm16Z0ho NnFJMVZ6WDJabWpCM1h1MkNwV1ZmOHdmRitIUmc0UzM4WWtRbHFGbEhna3N1bXhlOHUrK1V5S1I2LzQydWF2SXByZjU4ekp6Wi84VEpkN3BxanBMYml1WTFH eFdYaE5PV2VNNStlMWFkczZNeHJWeExzVUtsVGdlZWFjSlY1ZmtCSmlQWHAzRGJUZUs4WjQ1dXdsTmJWZVNTTG1yUkFBUkRVOUxUV3hkODhPakhIR3VQV1R2 MUUrOGhDSzNZTlZYbG1yS0JKam5ITUFCSlNTa3RJcWdOaHhLZWF1RUFPQXB1bWM4eUVEdWtzU1pad2I0NGtRWTh6dGRBenNuODhZMTNWbTc3NFJ5UWZnbkd1 YTd2TUYvZjd3RlJlTmZucnlWUWtlbDY3cjNDclRjN0QzbjlZTk1jYnBxVW5aV1dsbmpSMDJic3dRdno5a2pvTngzVUY4NkJFa0J3ZkFZTTV5QThhY2IzbHFj dW5NVDZqVEJSWk4wZ0tZRVJZbXdKZ2U4TGM0Zm1Tdmw5N1BQUGwwQUE2TUVVb0Yzd01iOHc1UlNnakdUb2ZDT2RpREdaeUQwNm4rdWFad3lXOXJoZmZWWEVt YUFKc1ZZQ0FFVjFiVmYvWHRVcGRUNVJ3TVZ4bzIvTGVLTEdFakU5YVlFSHRlRi81QnNROTQ3KzRkZ3NFd1FwaFNvdXNjQVByMjZvUXh4c2dlQkRJR1FSZ3ds QkxKWFBXTWJuSlFGR0hoV0J3WjZ5QXFLMzZNMTIzY05tL2hINmVmY3V3amQxL0NBUmpqbEZKaHl4eUs0UktPZEd5dTVwckd4SUpPS0xGcU1mMlg1U0FBMkVp K041bVN3SG5CTTQrV2ZQYWU1SEpheHhvaGN5MFZnMDRvMWNNaDRuQzJ2LzZPN2srKzRtclR0cEhpdFdsc2hCRENCRWVpV3RmT3Vaa1p5WnJPTFBZSElUZ2Ex V2JNV2l6U21IWm5QcG10QXc2QU1aNDdmMFY1WmUzb0Uvc3p4b3pNUlRPb2JJVk1SUTFwUy83K0tCMTBzWm9HQUplZWYvTFlVd1kxZUFQMURmNW9STHYrOHJF bkR1OW5UWDJ6TDZpUmhXa3ZPdGtvaEdzaTFybzR0aXcrK2NKbkNSN1hjNDlkcmFveWNDNDJMb0JpSlN3UHVnYTJMd3BpY1pGbGlTQlJmUGUvTG4vYkMyMFNC UXcyQmFWYm41dFMvTUhyMU9uQ0VFZlNNQzBkQWdoMHJ6ZXhaNThPTjk2Vk9tQXdpSVFFU21PVVpudnFqSGh0bUlURDBlNzU3WklUM2ErOU84ZWh5RUt0Q3lY ODQ0SS9OaGZ1N05LeGxmQlI3WXBoakkyalB5a211czdlLzNSZXQ3eTJnNC9wUG1QV0VyZkh3VGxnczlpTy9VZC9kMlFPc2RnenE5TlRFOTkvNVk0NVB5d3ZM cTN1M2EzOThVUDdZSXpNUEYvckpKbjlLQ1Z2WGg5emN3SUFwZlRyNzViT25MUGszWmR1YjV1YnhSaXo2Qk9IMUVpSks4MXZHSEVJTU95RzNQSGZrcjhGNEZo Sk9zNFJBS0cwNUxNUGl6OTRuVGljMkFvQXhJVjVDZGQxWUt6bGhJbnRyNzFWemNpTUpTUllsR2FUV1dXZkVFWWlNTUxubkhuY2g1Lzl4RGdYK2Y0QW9NaFNl V1hkN0xuTDhqcWRoUkFYWjhyYjU1T1k2TUpqU3dqK2EyM2g0bC9YdnZENHRXNm5ReE5QdDZYWkhiYjZkbGV4MGRndzUrQjJPYzRhTzF4OFpWa3dlNEJXa3ox dDlHSHNERFpBaEpDS3lycWI3MzExNHZnUlo0MGR4aGl6VlBjL3M4Vm9WcjhJSFFRVDJpVElBS0cwOHVjZkNxZE5RWmdRNjB3REc5VVJVOHBDSWNudDZYTDNJ MTBmZkZMTnlPUzZqZ25HdG10aU1lRjRrcUFvU2hjS1IvcjN6ZXZWdlgwb0hMR2Nxd0FnUy9TYjc1WjV2UUZpMjlURldoaXI3WUV4eHAvTStEblI0enB6ekJC TjE0bXRTTloraVptUTE0VHNZUjkrME1WQ0tTRVlBQmpqakRGbVJxMHRmWHZBVFRFM0Y4SkVSamZkODRyRG9VeTUveklldno3dUkzb2JqYy9mR2JlL3VjenUy b3o5ZXJybFE5MjFVN3YycnNrNzcyNGM5c3FOM1ZVT0hNQzJOQ05PS0sxZnRYTFR3M2V3WUpCSWtxV1pZenFDRU0zcjlYVEo3LzdVcXprVHpnZmdYUGlyTUFi N0VtNkVlVEUwTW9NeHhoanJPcU9VakQ5dHFMMnJ3b3BldFc3cndtVnJMRmRXSXpVaWhCQmNVVm4zK2RjTHg0dzhKalVsSVJ6UnJMcnUrOWhmKzBCekVORXU0 REVCem9HWi90amR2VWpMRmJlcjJMMTA5cjgwK2dtM1RRajcvUW5CSXNUR0FSaTNlZEVQZERVQkFNQ0ljNkNVdlBqR1Y3Ti8rUFgxWnlhbHB5VUIzdzhIZ2Iy RklxNXJqaHZZeDQzdk1tNEgxdWE5TnNPY052Wm1BR043ZVhyOFN6SE55N2dKQUFBZ0FFbEVRVlMrWlp4emJ2eGRqSVA5bnRZZmF6R05iMEFUVjRxNzdkY0lI Q0NBYmI1TlRpZ05iQy9hOE5BZFdsMHRWUlJ4SUlCNS9oYUlFdUY2ME4vaXBORTluM3NyNWVpQjRqUXRzOXljb1JtTmc4VUk0YnF1aDBNby9wUStiRmppR0FC T1BYbGdtMWFaVVUyelpnL0JPS3JwTTJZdjVoeUliYkFhTVdreHh0LysrR3RsVmYzRThTUEFMUEN4TDN0ZDQyN200OFFvRTBJb0ZYOHNJWlFTU29pd2FTMzFh RGRsemUxQ2JPcmJyeUV4ZXlUT0FMWStGOWRiN2pwN0M4WHJGOWRUWWpURHFwWjlZSzlZVEhSSm9qLzk4c2Vkazk5NitNNExCeDNUblRGbWtTWDJQTW5FdUZr OUVsUFpObTdFUG03RUhEZTcrWEJRVUd4dlJsT3Z6L2hqdnJXbThXWmZmK1BHbWNiYzc1eHpRbkNqMnhLQ0dXTjJENTlZZ25lOVVsemNhQVQyMnJzRDJnUEho WHlKSGd4c2VmeitZTUZHNnZJQVo3SElJd0FpbEVVam1KQTJsMTNmL3FxYmlLcHlwb3ZxR2RoRzVCVkZvVEZDdnNMTkxCUjB0K21BVk1IbXRTdGhFSE95ZGN1 TWs0N3I5OXA3YzlSRVdTeWNITURsVk9jdi9IUGpsaDFkTytjS1Y1YkY2eENEUUFpSlJ2WDNQLzN4cUQ2ZEJ4NmRiOXFIZXgrZ1dENkFNZTZpcGFpa3RLcWdx TFJvZTNsRlZaM2ZIMUlVS1NNdHVYVk9SazdMOUk3dFdpWjRYQWdoaXhoa3BSazBOUGd4eG9vc1NaSWt5N1JSZEVUVGRBWThKY2xEaUpYZ2pMMitvS2JySHBk VGxpa2hoREhtOTRjUXhrbUpibnRrMjJwd09CTGRzR2xIY1duVlNjUDdPaHpxZ2ZIN0JTZVJjeTVSV2xCVWV2RjFUMDQ0YmNnTlY1M0JHTi9IcmEvOXFBeWh3 OFYrcTJoN1dVRlI2YllkRmRVMURjRlF4T2xRTWx1azVwcmpwcXFLMEd3a05vUC8xbDdYZW4xV004VHIyNzZqWXN2V2t1MGxsZUZ3TkQwdHFWUDduUFp0czVP VFBBZ2g0Wnl6ZDdCSmZrZ2dFTnE0cFhqaDBqVmpSeC9icG5VV0lZaFMydUQxcjFxN3RhQ290SzdlcnloU3gzWXQrL2ZMUzB0SnRPd0xRZU5GQ0pWWDFLN1pV RlMwdmR6bkR4SkNFanpPOW0yeWUzWHZrSmFhS0M3YnN3dkRrdjBIc0syK2hyaHh3WE5UYXBZc29DNDM1Z3lzaHdFQ1Nua29KQ1VtZHJyMWdlelR4cHRaK0RI MGdwbHBTQkNLVkpSWHp2dFd5Y3hPR3ppRXVqM2lRQkQ3WXpFeW9ob0FNT0gwWVIvUCtKa3hiaUlMWkZrcXI2cWJQWGQ1ZnBjMnNYTWFqSGttRGcwbEsvN2Mr T3ZLalU4OWZJWFRxZTY3djhyS3lCTnpPaGdNejV5ejVNdFppMWYrdFpsUzBpb25JOEhqcEpSNmZjRTE2NHQ4L21CNmFtTEhkaTFQSFRudzR2TkdacVFuQ1F3 YjJveXgreDk1ZS83U05XbXBpVzZYUTVJb3BaUnpwbXRNMDFrd0dBa0VRMzE3ZHB6MnhIVnVseE5BMENUUjlNOStmT3ZEN3gxT05UblJJeXVTMXh1b3JxNC9k OXh4ZDB3NlY3QmNJbEd0b3JKdTI0NktyZHZMVnEvYnVxbWc1SS9WVy9JN3R6bGhhSjhEZGpJSmRVUXByYW4xbnZ0L2orWmtwMDk3L0RxTU1NS041L1R1NTRq WmF3QktTWFYxdzZkZi8vTDF0MHZYYmR6bWNUdHlzak5jTHBVU1hGWGpYYjErSzlONVJucFNmdWZjOGFjTlBXLzg4UzZYZzNGTy9yYUh6Q3FuaXhBSTVJVEQw Vmx6bDgrWXRlaVhwYXNKSVhtZFdxdUt2R1hyenRMeW1sN2QybzhjY2ZUNUUwYTBiNXZOVFk2cXBRTjFuUVZDNGJvNjMvYmlpb0tpMHIvV2JsMjl0bkRMMXAw VlZmV3RXMlcwYTVNZENJUmVlV2ZXNis5OVcxQlVDcHBPRk5ubFZBa2huVHZrVExwcTNNUUp4NHVWbWxKYXNIWG5NeTkvK2YzOEZhRndsQkpjVmRNUWplb2Vq MU1pcEVPN2x2OTN3U21YWFRCS2xxUjlaT0R2TjRDRnI1aWJmcW1Teno4cy9meEQ2blJpbTZraElyZWF6K2ZwMEtuTHZWTlNqaDVvTDMrRFRMSTB3bGprS3BW Ly9WbnRiMHV5UnArWmNmeElzSGJDVFhoZmpBblJ2MitYbzNwMVhyQjB0Y2Z0QkFDRXVNRHdyTG5Mcjdwa1RJTEhaZXdKYmE4Zll6ejlpL2xwcVVsbmpCNXNu MTc3TWdrc2piUzVzR1RTWFMvUFgveFhUbGJhWFRlZGU4cUovYk5hcENpS0xLNWN2YmJ3OW9mZVhQcmJ1dFhydC8zMjU2YlBaeTE4K2NrYmp1cmRtWnVMRVNI azlwdk83ZHExN2VTblA2cXY5MG1TeElCamhBbkdPbU01MmVtUDNYdkpNZjN5SEtwaWV0MEFJVFIrN0xBK3ZUcy85L0tYWDMyM2xET2UxN24xQTNkY09LaC9Q c1o0NWFvdDl6N3k5dmFTeWtBZ0hJcEVRNkVvUWtpV0pjYVkwNm5HM092N0F3QnJoMFlwaVVTaVY5LzZ2TThmbXZYUjVLUkV0NTFwdk9mQk0wK0RNTzZ6OU5k MWsrNTU1YTgxQmQzejJ6MzMyTlZEQi9aTVQwc1Vpb2d4dG5EcG1sdnVmNjJ3cUhUWjd4dCtXYmJtcSsrV3ZqejErdHpXbWRZTVBqQU0yeGtzZ0lCU3VuekZo Z2VudnI5c3hYcS9QM1RPbWNNZnZPUENqdTF5TU1FVmxiWDNQUHJPKzUvTysydGQ0WWVmemJ2bmxva1huWE1pNTl4Z3FRRWlCUCs0WU9WZEQ3OVZYZHZRNEEx eUFPQ2NTdFRsVkIwT3BickdXMXZublhESjVEL1hGSTRiTS9pU2lTTzl2dUQ4aFg5dTNGTGlkS3FiQzNkZWVmT3poZHRLNzcxbElxVjA3dnpmTDd2aGFVV1c3 cjc1M09HRGU2bUt2TDI0WXVxMHp4WXNYYTA2bElLaTBwdnVlZVdQMVZ1ZWZlUnFwMU94cHVnZXVyOS9BTFlmcDBBb3JmMXQyZFpwVTdGRXJaQ1M1WHpXQW9H MFFjTTczelhaM2JhOWdWN3ptRm5ySUJXRVVQWEMrZHZmZWxGS1NPeDR5MzN1ZGgxRUFnMjJsWFNPbnhZWUljUVpsMlZwd3RpaEM1ZXRzWnJFT1RnZDZxcDFX eGNzWG5YYXljY0tHd3d3Qmc0Q0RNVTdLNythcytUTU1ZT3pzOUkwVFpkbENlK3piU1llNFErRWJyampwUVZMVjB1VVhuRDJDVmRkTWtiWUdjdzh2YWxuOXc2 dlBIWEQ2SFB1cmFpcVQwMUpYTGRoMjhYWFRKMzU0VU1kMjdVVW0zT0VjT3VjRnRkY2RucW5EcTB1dnU1SlRXUENiVTRwYVdqd24zWDZVQkVIYXZUYU10S1NN OUtTbjVwODVhOHJONnFxL1BuYjkzWHBsQ3N1YTlNNjg0YXJ6aXdycjMzemcrODJGUlFuSmJtQkF5SFk1dzhaODNZL3hSWnJSUUJ3MStTM1BwK3g0Tm9yeDNi cWtLUHJUR2lrZlVuM0FSQ2xleEFoZU51TzhzdHZlblpIU2FYRHFkNTR4UmtUVGg4bUhzUVlGNi9tdUNHOW41OXl6ZmlMSHdaQWJwZGozaTkvL04ra1p6NTkr OTdrUk04QjUvZmFpYjBpZ3YzQlovUHVlUEFOZnpDTUVEcHYvSWkzWDdoRmxpVU9uRFBJYkpINnd1UFhiUyt1WFBIbnB0cDYzelczVGF1b3FMMzl4clBONUVT RU1lN2RvK016ajF4VlVsYjk4bHZmYkNvc2NhaUt1VmxGNnpkdnYrVDZwNHAzVnYweTYra2UrZTFFQThvcmFxKzQrZG1mRjYzeWVKeWM4U25QZnRTcGZVNlBy bTNQdityeFZ0bnBNejk4cUczclRIRmw2NXdXM2ZMYWpqMy93VDlXYi9GNG5FNkgrczVIYzF0a3BEeHk5OFdXSWJDSG51NkhFOHMrS0lUU2NHWDVsaWZ1MS8x ZVFpVXJmaXMybHJyZmwzMzZoQjVQdjJxZ2x4am9CUUJnVFBneEF0dTJycjNqdWpXVExrdm8xclBIYzIrNjIzWGdURGNjV3VKV3UxbmtSUnRHbjNoTSs3Ylpr VWdVWXl4Q2dvUmdMYXJObkxNa3hzb0NNQ2tjK092dmx0VjdBeE1uakloNUpmWnRWbGdPckZWckMvOWFWNWlTN0FHQWRSdTNNOFlZNDhBQm16Tk0wL1YyYmJK SG4zUk1NQlJtbkNjbHViY1VsVTZkOW9taGtUQVNHVmFhcHA4NHZOK1ZGNDcyKzBQQ3RPT2NjNEFHYjVCellJeVpoSEZqQ3lRZUpFemx5eTg4cFV1bjNLaG1j STh6TTFMR25EVGc4Z3RQZWZYcEd6MXVwNmJwWEJoSFJ2LzJlOTlydVpFb0pROCs4ZjVyNzg3SnpFNmYvc1g4MTkrYkkwblV6T1hhRi92RnVCWEdlUEh5dGR0 MmxDY2x1cU5SYmVPV0hZeHhUZGN0bHBoUXdnT1B6aC9VdjFzd0dPWWNVcElURmk1Yjg5WUgzNW1GQ2c3RWx4VUxUQUpRU3QvLzVNZnJibjhocXVtcUltZG5w ajV5ejhXeUxPbTZMZzVSMXpUZDZWUXZuVGhTMTVrc1MyNlg0K0duUHZ6a3k1OHBKUllKT0RzejlmaWhmUzQ4KzhRbkg3NUNJbFRYR1FEbm5MdWNqazltL1B6 WG1zSXYzM3VnUjM0N1hXZTZ6alJOejhwTWZYcnlWUm5wU2VHSWhqRjJPTlJIbjU3K2Y1T2VDWWNqejArNXBtM3J6S2ltaXpjYmplb3B5UWszWERrV1k4UVla NXduSjNuZW1mNzluNnUzV0dIUlBmUi9Qd0FjYzF3aHhDS1JMVk1mOUcvZVFGVUhNcDNmbUJET0dPaGFtMHV2N2ZyQVZNbVRZQjJTQUJpRDhNVlJHcW10TG5y cnBUOHVIRnU5NEllOGg1N3NmUHVEUm9sSllrU1Y5bHptQ2hQTU9jOUlUejc1aEtNakVZMFFMRlFONStCeU9lWXYrbXZEcGgyV1J4RUFLTUdoY0dUNlp6OE42 dC90cU42ZDkvZlFINnNWakFGam5HQk1LSzJ0OXlHeEliQ3pUUkFHZ081ZDJ4S0NNWUN1YzdmTE1YL1JxcTNieW9nNHJSTmhnakdoaEhPNDRxTFJIZHExRElj MTBWUkZrWmYrdHE2eXVrNGNhV0xtYklBWkE4ZkxmOS9nZGpuT0czZTg2UkFTMjFTdTY0d3hsdGVwZFplT3JTSVJyY21OeDM2OVgwSXh4bmp5VTlPZmVmbExq OGNKd0RFbTkwOTViKzVQS3lTSk1nYlcrcktQdUJJcEZzSXRWRjNyRlRsZmpaUXFKYVJudDNhNnpoREduSE5Wa1dmTVdod0loZ1FwL1FBNkpORExBVkZLbC95 NjdvNkgzcEFrcWlpeTN4ODYvZVJqMjdUT1pJeFJTcTJ0RFFBYzNhZExkbVpxT0J3VlZNM0pUMC9mVVZJWjgxOFlRODN6T3JadW05c2lHdFdzQ0lqWEY3cjRu Qk43NUxmVGRGMHdQU21sakxGTzdYT09HOXdySEk0QVFySXNWVlRYcjFxN2RjakFIZ09QenVlY0c2UnpqQ1NKQU1Ed1FUMDd0R3NaamtReFFoS2xOWFhlR2JP V21GM1pyVExiRHdCYjFvZzRjNmo0Z3pjcTUzMUwzVzRFSm4yUkVOQTBJaXVkNzV6YzZlWjdzQ1JaaFNNQkVEQ0dLU1dFVlB6NDdhcHJMeXFZK3FDVW5OTHJs USt6VHgwdldGeFdkVmdzMVBqdXJTYkxwelQrdENHcEtRbTZ6c3lUZzBHV3BZckt1bG5mTDdQSUcyTDBGeTlmKzhlYUxlZU5PMDZXSlM1WVhQc3hGUXk2WXEv dTdYdDFhMWRXVWV2M0JRZjA2MG9KQVI2cnkyVzV4SklUUFlRUVFRK1hKRnBiNXl2YVVXNTY3QkZnWTJlZWxaazZic3pnU0RRcXBvaERWVFlYbHN6OTZYZTdC V3RHMEFuR2VNYnN4WU9PNlphZGxRWUFOZyt0RWZ1VkpPcDBxZ2EvNG9BOFBsWk1RWmFscDEvOC9QSG5QM1c1SENMMkkwczBFdFd1dStQRlZXc0xoUjV1NUti YXpWc0MwYldCL2ZQYjVMYllXVmJOZEhiczBmblc0OHdSTXlhbjA2bWFaaHhJRWkycnJDc3ByVFpHNDhDNmd4QW0yT2NMM3ZmWU96NS9TSlpsWFdjdXAzckMw RDRDaW1KbEVRczk1NUNaa1pLZWxpVFNzRlJWMmJxdDdMT3ZmckgxRVlzTVpFbWlaaG9NeGhqcmpLV2xKSXdkUFloek1KY21VVlFNQWNEZ0FkMko2Zk9USklv d09xcDNGMW1XSUg3YUFFSnBxVW1kMnVmb0doUFJDa21TVnE3ZXdzMmtXdGo5bE4wbkFNZjJQQUNZMHBybGk3ZS8vVEtWRll1R2hRbmxrUWh4T1BNZWZpcm5y QXVNWGE0b0hHa205MGVxS2pkT3ZtdkR2Wk1hL3ZndGRlRFFYaSsrbTlLM1AyZk1Db2FhSlNuM1JneEFHR01DZ1ByMDZEamdxSzdCVUlSaVlqSWVRRkhrV1hP WDFUZjRyYTBheG5qNjUvTmI1N1E0ZGRUQS9WSWRRaXhUTmluUi9lYnp0eng2N3lVdlBYbjluVGVlZ3hBZzB3aTBWamVoU3hIQ1lOWjE1SnpYMWZ1UVNmbkNN YjBLWjU4NUxETWpXZE4weTgzMnhUY0x3NUdvcVlTTndjTVlGV3pkK2RzZkc4ODU4emdqZkExV3dUbURYbWE4by8zbjhkaTdLZklRNzN2MDNmc2VmMCtTYU15 TnpMbXF5T1ZWZFZmZjhueFpSUTJsY1JqZXpkMWk2Uk9kTzdUNitJMTc3cnQxNHRzdjNIckJXU2MweWhBVVRlWWNLQ0U0VnN5ZlJLTFJCbThBQUJDR0EyQThH OVlFeGwvT1dyejg5dzBlajVOekhvMXF1YTB6Qnczb0xyU3hKRkZLaVNSUjhaZUVCSmVxeWdoalNnakdTRlhsbnhmOUZZMXFKdDhiV2ZSZXk2N0dDR21hbnRz cW8zM2Jsc1NJQnhzTUpnRzVOcTB6cVprMUpmN2JJaU81VVlRWlRHcE9xNWJwSEFBd0FnQ0prckx5bXJwNnY3MW1ZNU95VDA0c1c1bytpVlJWRmp6MU1Bc0Zx VGg5R3lIQmtWVFNNdkllbkpvKzVIaHVGbW9YaHhWaFFnZ2hWUXZuYjUzMmhMOWdBMktzeGFqVDh1NTdYRTNQNE9JOEZITjd2QWV6T2I0eENHUEVPSmNvblhE YTBCOFgvQUZtQ2hFSDVIQW9helpzKzNuUlgyZU1HYXpyVEpKb3dkYWRzMzlZZnNsNUk5UFRqS0RPZmhFYlRDb0U1aHphNW1iZE5lbGM4WGxjeEI4aEVGT1E0 SEE0SW1KZ1l2SUJnSzR6Y3p5UVZmc0NBSFh0bkR0aVNOK1BaOHhQVEhSenpwMU9kZG52RzM3OWZlUFFZM3RZemhzT1hDSmt4cHdsR1dsSlE0L3RZUXY4Z2tu ZWJ2eW05cjFyZGhGN1JhOHZzSFRGdWhlbVhQdjE5OHQrK1BuMzVDUVAwemttaUhIdWRqbFdyZHQ2N1cwdmZQRHFuVTZIdXVjaWNyYjBRd1FBZlhwMDdOT2o0 NjdqSm5iL3Nrd1JRcEdJaGd6ekN4QVNxYVhjeUlnNklDY1dJU1FVaW56NjFjK0VFbXYrYzg3ZitXZ3VKV2FFMlZTV0VxRlZ0UTJidGhUcnV1NExoQkVDVFdQ ck5tMnZxS3B2blpOaHhCRWFaOGhnakpET2VIcHFjb0xIYWU4WHhnaHpoREZXWlZub1cyT0VDWGFvY295OVl5NzBuSE9FY0dLQ0c0Qmp3SUE0SWNRZkROWFdl Vk5URXZZTWpiMEIyT0t6aXdXZThjS1hwdm8zclpmY0h1Tm9XVXIxUU1DVjI3YnJ3MDhuQzQxcTh6WVRTamxqMjk1NXBmamRWL1dBSHdGa25YNTJwOXNmVUJL VHJKZ3c3UDlKOEdKeEJZQ1JJNDdxMHFuMTVvSmloNnFJUVNLRWFCcWJNV2ZKYVNjZkswWnB4dXpGa1loMjNyampyWEhjcitsZ2J4cm5JT3FpbXduREJnV1BV b0lJaWtiMVQ3OWE4UGl6SHl1S2JNeHNzUFJrN0g2eDJBYmc4OFlmOS9YM1N3VWZqMUpTM3hENC9KdUZ3d2IxTk0wUm9JUkVJdEd2NXl3WmM5SUFsOU9oTXla S01UWWFzSDJNYWUrMXJ4amo1eDY5NXJ6eHh3ODl0dWU0aTh1MzdhaHd1VlFCSk1aNFFvTHIrNTlXM0QzNXJlY2V1MGFFV0haSE5yQSt0R0t3aGtscmVoOFlZ MExYRVlJYXZJRTNQL2p1OWZlL0ZYclN4TCt4RlRpd1hnbkh3YWFDa2xYcnRqcFVSYmoyS0tYQllQaWpMK2FiREFJY3V4cGhoS0JMeDlaV0UzWEcwcElUUktF SVpHdUpmYWhGR3EyaVNJTDBZdSs3dUpwS2xGSml1UUNzaEpuWUhVMVRDMk1zeTVJeFpoeGpqTFdvSGdwSHNXV2M3cWFuZXdFd1dGWU9BS2EwYk5hWDVkOThR Vnd1QTcyRTZuNmZ1Mk9YN28rLzZPbVNiNFdMTElKMHRMNTJ5NU1QbDgrWlNSUVpjZDc2dk1zNjNuUTNVWlM0Y3hVT2lHWWc0SlNTbkREbXBQNlByeTl5T2xV dVdGa2NYQzdITDB0V3JkdTRyVWQrTzY4djhOR1hQdzhmMUxObnQvWUFJRElnOXRPRXR2aVk0cC9HcG9OelJpa1Z0SjdxbW9aUHYvcmxqZmUvOWZ0RG5UdmtW TmJVdzI2M28zRjV1WU1HZE8vWHU5T1M1ZXZjYmlmbjRIS3FjMzlhVVZoVTJyNXROamNEWUV0L1c3K3p2SHI4NlVNQmdCajVXZ2MvaXgxanpCbDNPOVVlK2Uw WTQ1MDY1THoyektRSmwwNE9Cc0t5SWdsL011ZVFrT0I2NjhQdjIrVm1UYnA2bks0endYYmJJNGF0ZjJGazF2RVMvRW1FMFBiaXl2YysrZUdEVDM5ME90V083 VnF1WEwxRnNaVjMvbnNDQUxCbWZaSFhHM1M3bldJekdReUd6am56dUFkdXZ5QVMxWWh4N0h2Y2I4UisyUG85SmNUaFVQYlVHTU90WWUrK2ViRnBUdHVYMWta cmdYMjBrTEVxaXgyaUNJRGFBd3E3bGIzdGdjMjlIYVkwc0sydzZKVm5FTUpFYlA0bzFZUCtwTDdIOUp6MnRvRmVFb2RlMzZiMWEyNjZvbnpXRjFSMWdNN2FY am1wMDIzM1kwV09jMDBmS00vR1VxZmpUaDNTSWlOWjE1bFZ0MEdXYVdWMS9jdzVTekRHOHhmK3RXN1R0b2tUUm9pRjhFQWNtakhlV0d6aHdCaFJTbldkTFY2 KzVvWTdYenI2aEd1bnZUYmpsQk9PL21YMjB6ZGRNeTRVanBMZGQ4cTB0UkRuM0tFcTU0d2RiaFYvVlJTcHBLejZtKytYV1N4Q2pQRW5NMy91MmExRGZwYzJB QWdUZkloT1RUQmlTQUNSU0pRUUhOWDBnVWZuVDV0eUxSajlOWGNLZ0p4T2RmTFQwNy80ZXFFa1VRNTdka3BqNDZoRDB4MUFNS2FVQm9LaDcrYjlkdUhWVHh3 NzZvWVpzeGRmZWZHWWhiT2ZPWFhVd0dBd0loenNCNnM3WlJVMVVVMDNZcGdZRUlMMHRDUkpvazZINm5Tb0RvZmlVT1ArdUp5cTIrVVFmenh1cDJEczdVRU1r bVpjYVh1ckJjaVcvR0I5dTNkRENSdnQzMWVyYWs4YUdNeDRQTVlJY2I3dDlXbWg0bTJ5SndGeGpqSFJmUTBweHc3TGYrUjVSNHRNaStGc1ZJZWt0UExuSDdZ OGZsK2tzcHk2UFN3WWFIL2Q3ZTB1dng0NEJ3N1lJcHJ1MjZhMzZYNmFQcEp1ZVcySEh0dmppMjhXQ2FxUUdEUkZsdWY4OE92TjE0ejc3S3NGbmRybG5IeENm OE1waXVBQXZMVHh0RjR1b1B2Rk53cy8rR3pld3FWclZGVys0NGF6THo3M3BJejBaSVRRSDZzTEVONVRzcmsxbTQzY2pGRURYM2pqNjhMdHBRNUZBUUJaa21i TVhuVHB4SkdKQ1c2RVVGbEZ6ZnhGcXg2OC9VS3hqcHJKUlFjZncvWU5MY2FZRXF6cjdNd3hnM2VVVk40OStlMkVCS2NCVlNScVJLT2I3bnNscDJYNndLUHpS VzVEWExaOWJOQ01DU25NUzdISC91RFRlWi9PL0dYNXlnMjVPUm1QM0hQeGhOT0hlZHhPc1FjbSsrbGYzSE4vRUVLUnFDYmFnb3hkR3BZb0VTL1JzbWIzYTNC MjkyMFRGK0RkZjdYNyt6VDU5ejNMN2hjODhVcUVHNEhReW5uZlZjeWRKYm5jSXRsSUMvalNocDdRZmNvTGpoYVpSZ2dYSWVBY0U0SUpLZjdvN1EzM1RvcFVW eEtIa3dXRDdhNjYyVUN2clV0L0I3MW1BdzEvN0lUVGhxcUtiREJqa0FpclN0dUxLNTU2OGZNRlMxZVBPMjFJVXFMYnl1bzZnS2RZa0JPZW5vVkxWNTk2N3Ix WDN6cnQrM2tyK3ZUc3VPQ2JwMjY3L3F5TTlPUm9WRGM0NkdndmFSS1d3NE56U0U5TE9tM1VnR2hVeDBUd3laUlZhNHQrWHJSS1hERDcrK1V5cGFORzlMUFpZ d2RsdTl1MDJQM0Rvc3JzRFZlTXZmclNVeHNhQWtid0dTSE9RWllscnpkNDlTM1BGeGFWTm5KS1cvMFdFMGVnUlFURHZwaTE2S1R4ZDkwNSthMmxLOWFOR3pO NDBiZlBYbkxlS0kvYkdZMXFaaW1WZzVkQ0NBWWR4YXJnSVpxbWFicG9IZHFmNmZlL3llNCtNTmt0Z0dPMXFRaUoxRlJ2ZS9ORnhKbUF0QjRNWkoweXR0dVVG NVcwREdFUEd3WVNwU3dVMnZ6RUE1dW5Qc1NqVWFxb1BCUnFlOVdrZGxmZDFCaTlCMk1iWjg0MkdERzBUODl1N1VVSUh0a01wbGZlbmtVSk9mdjBZVFkvL29H UWs4dzFHeEZDWG56enF3bVhUbDc4MnpxRVVPOGVIZDk5OGRidVhkdHB1aTc4MjhSd2dleEZROXJqbndCdzlwbkRzektTTmMzWUJlaTYvdm5YdjRoQTVlZmZM RHp4dUw1cHFVa3hPL1ovTXBrc094OWovTWpkRjU4NmFtQkRRMENTaUNoektYem1CVVdsVjkvNmZGMjlqeEJpVlJTME1hQmkxcldtczdzbXYzWHBkVTl0M0x5 RFlEenErS05mZis2bTdNdzBUZGZGN3BRUWJCVkVPVWc5d0FDUTZIRWJVUnpqOEZtb3J2V2FQbnpVS0lhL096bEllL0pESlUwRDJDSi9pS00rU3o1KzE3OXhM VldkQ0NIZDc4czY1WXk4KzZmS1NVa1dlZzJYVlVQOStuc21GVTkvbTZvcWtXVE4yOUQ2Z3N2YlgzVVRnbDNRZTFERTNFbTYzYzVUUnczUWREMldSQXFJRU93 TGhJWWQyek0vcjQzd1Nacit0ZjBUSzRHYkVQTDhhelB1ZU9oTnhuaUN4Nm5yN01hcnptamZ0cVdtNlJKdFhCUjVIOW9PWmp3SjhqcmxIamU0VHpBVUpwaHdB SmZMTVgveHFzMkZKWnUyRksvZnRHT0NiUUU2cE9vM3ZuazRSakozcXM4L2RuWGZYaDI5dnBEaFNzQ0lNZTd4T0JjdFgzdnJmYS9wdW02TGI4ZDI2ZUlUeHZp ZEQ3N3h6RXRmT0oycXFzcE9oM3JYVGVja2VGeWF6c1NKTnNZVEQzTDdFVWE0UzZkV0xvY3FLZ1JqaklERHR1M2xlelprR3RYS09NelY3MjRCYlBtaU1LRU42 MWJ2L094OW9xb0lJejNnenhwOVpwZjdIcGZjN2tib0RWZFhyYnZ6K3FvZlowc3VGeVpFODNtelRwdlEvcnJiRENmOS9td0dkaFdJeis4M0dtbUU4akFBbkhI S29KenNkTU5qWWRpd0lNdlNtYWNPSVlSdzROYlJwWTN2MitnZmpUWXlodnBGaEpCZlYyNlk4dHduVG9jcVNUUWNqbWEyU0JrNnNBZm5RRXpHckJuSWI1eUQw V1N2YlZYdUFTRjA3cmpqM0U1VnNEOGxpVmJYTk15ZXUrekwyWXZhNW1ZZTB5L1BGdjQ5eE9pMXRkU2tHV0xHV012czlEZWZ1N2xWZG5vb0hLV1Vpc1l6Qmtt SjdvOW5MbmowbWVtMllrWXhTMEZVMHZwaTFzTFgzcHVUa3B5QU1Rb0dJOTN5MnZUcjNVa3dOeXc5THdiRVBrd0hrb3BoRTR3eFlPalJ0VjFPeTNSTjA0bmgz WlFLdDVmNy9FRnJLc0krdktuRFhKb0FjSXcxaVRHTFJyYTkvcnhXWDBka1JmUDdNMGVQeTd2L2lTYlFXMUcyL3E3cmF4YlBwKzRFaExIdTk2VU1ITkw1am9l b3FwclZuUTlRZ1ZoaGFMUUxyeDFNTWlvQWRHeWZjOXpnM3FGZ3hNeVl3Y0ZRcEVkZTJ4RkQrNWhCNHliZWx0MHJiU1FiSStzUmNXUWpBSmc1ZTNGOVEwQ1dK RkdCSlMwbDBlTjJpcFhlQ2pVWjVXOWlIaXg3ZzJOV1phTTZJUWloSVFONzlPdmRPUmdNRTBJNEI0L0xPZjJMK2U5ODlNTlpZNGZKc2lTSytPMWhCWXlOakVu YWFkTFlqaHU5Smk4d0cyeFN3WXhWUTJlc2E1YzJMMDY5enFISXVtbnBpTHd5ajl2NXpNc3ozdmxvcnRnTTJ5Y1B3Wmd4L3VVM2k3aDU1ak5qTENNMVVlUkwy cml1aHQwVUgrRXplbUpYaHZHTmI2cjdwbUNNT1lPc3pOUlRUandtRkk1aVFqZ0hWWldMdHBldVhWOWtvNDVpdThvVmE3OFpwWSs1NWN3aGJmcFpUZTlybXJw NHp6c2dveVc3WEx6blZhVUpBR096UUNRbXBIek96SnBmNWtrZWorWnR5QnA5UnQ1OVU1cEFiMVhsK3JzbjFmMjZXSEluWUlSWU1KRFFyVmZYQjZZcXlTa0dL MnMvUXgvMk1iVjZaSGR2Z3NuM045eExBQUJ3MXRpaExwZkRxa2lpYWZycEp3OU1TblJieFEwYTNkeEtQNGc5MXBiQlk4K0RFUWZXRnhTVlVvbzVHRlJxSzNB dmJvWU5MeGR5T2hRcm9RQVF0b0JuRnMrTzZXcWJLNHM3SE1yNDA0WmF0MU5VcVdoN0JTSG8xSkVETE5iS3JyMW9Rb2Nnd0hGeGpiZ0w3QXVObldCbm44SEds U1p3eEVORnh2S0p3L3M5OGNEL1dSYXBkUjlaa2U2YS9OWlB2L3hoTXFYQjRrTFhOZmgzbGxVcnNtUlM1czJkbWMyMUsxNlFRNVhzeTZVOTJHM3ZyTlUzazNm WnRBcTFPblhaK2FOYVphZEhvMUZDTUNYRTZ3dCtPV3V4eVJLTGM1NmJvVElRTGJlb3VMWm9kcE80Yll4UEErZE5iZGJzSUxBMXRmRkMzL2hYeUFCMmsrQnZE R0F3MXg5RVNLUzZzdVRqZHhHbGVzQ2ZlZkxwamRFcmtnckx5OWJmZVgzZGlpWFU1Y0VBVElzb21TMjdQdlNVcTFXdW5hMnhMeVJuZXovTmQ0bXRiYTFaYkRI R2hiQkdTMnhBaHd6bzNxOVhwMUFvUWduUm9uckxyTFRUVHhrRXRqeEhDL0RHMUVSbTlyTHhVSVFCR09mSVBHTFhmQnlZTGsxcUhld2lTMUpwZVUxcGVZMDRs SlJ6MERtWFpZa1F2T0tQVFRHZUZDQUFIQlZaZnB4VFNvV0JZT2V5Vy8wOWJkVEFUdTF6UklJa3hqaXFhU2NNN2RzMk4ydFh5OFdlMTJuam1WalRFUU8yR0ls Z0h5dXJwSWtWOWJXM0FXTmtrbUdNU20zMnlVMHdab3hkZk43SUt5NGFIUXBGTUNiV2k1QW9DWWVqMTk3eDRwcjFSWkpFZGNhdFdVZ05KSWpDdmlBclV1SDJN a0VPMXhrVHRleGtXVUlBYTladmsyVEpXbitGbVNQV1JKRTJaSkhiekxTUXhyR3IrR0hCb3I1VTV3NnQ3cjdwM0hBNEtqRGdkS3FmejFxMFZyUlRaeEQvSzZ0 M2VhVUFBQkVFU1VSQlZKRnlSQWpadXEzMCtWZSsxRFFkN0dObmk3VFpNQjlianMxaEZLdDEzTVVXUk1Xd3g1WlI0eXR6UVVHQXdUcUF5SHhaWm5adGt5WllI SURCVXI4SU1NWmxzMmNFQ2phQnJxVVBHWkYzNzJPUzIyTkhMOFpZOC9zMlBueEg3VzlMcU51RGdYUGdHSk9PTjkyZDBDV2ZNeDNicW43dmw4cys1dnNGTG9q RTlRMytxdXFHbmFWVmtZaEdLUkdZc1FFZU1jNGREdlgwa3djeXhpa2xnVkRrK0NHOXhXbFhzZHdkak1XY1FBZ1RRalp2M1NsbW9QbGNKRW0wM2h1b3J2RVNq QmszNmpxQ01XTndmcGMyVERkVDhDVmEzK0IvNC8xdnpRSlhWSmFrbWpydkxmZTkrdVNMbjd1Y3F1Z0Z3VmpUOUIwbEZaUVFSWkcyYml0cjhBWXM5UjZISlE2 WkxWTEdqRHdtRXRFRUwwOVY1TkVuSFlOUS9QdU94N0N4ZkFEb2pQbDhRWlAwQzVRUXJ6OG9hcW5wTE9aQnRIS1BDU0ZGTzhxaXVvNXQ4V3BDaVQ4WUxpbXRJ b1F3WmlRcTJ5a2xuSVBPMkNYbmpVeE5TZEIxM2VMdWN3NE9oMUphVm4zNXBHY0t0dTZVSmNrQ1EzS2lwMzNiN0tpbUNVKzFRNVUzRlphODkvRVBoQkJaa2lT SlNwSlV0TDNzM0N1bWZERnJzY2Z0TU1hTjRGQW9VbGxkVHdpUkpicHh5dzZ4cm5FT09tY1k0d1p2Z0hQQWhuWWd1czc4Z1pDb1d3cHhxeEppbkY4eWNkU3Qx NTNWNEEwd3hsUlZxYXZ6M25MZmF6VjFYbG1XZ0FQalhOZVo2Q3lsVkphbHY5WVVYSEhUczRsSmJpdHRTQmdPNHVhNnpocDhJcWdHQUloUUhBaUd4QVZpYk1X RTBSbkRHR3RSVGJ4UU1ZQ2luaG5CV0N4TkdHRXd5bE55UXJEWEY4UUlBeGFjVXhJS1I4S2hpS2ptRTRQeExqaUtQNTNRTlBNeEpwR0tpb0tuSGc2WDcwd2RN RFQva2VlVTFMUTQ5Q0pBR0JjODgyakZuQzlsVHdKbURBamg0VkNyY3kvT3ZlaEtCQnpoV0ZYRS9kcjN4cXc0czRKaE9CeDVhT29ISy83Y1dGZnZkNmpLd1A3 NXhnbUY5aDhoaEJES3lreVovY092dmtCWW91VGVteWQyYk4vS09yZGUyRzNFbEo4WC9UVjEybWVtQ2pKK0wwazBHSXpVTi9pT0g5emI1WEtZL0ZYamRPbXN6 TlRaYzMrdGIvQTdIUW9Ba21WcDlicXRKVHVyS01FYkM0by9tN2xnMHQydmJDNG9mdm5KRzhvcWFqWVZGTHZkVG1IdlZkZDYrL1hxdEdaOTBmMVQzanR4V04r a1JMZnRBQmRzMjNDaTlMU2tiNzVmRm8xcTBhald2V3U3dTI0KzE2SEsyQllCYmpSRTRseEZndkc4QlgrOFBmMTdTUkkyQXBZbHFhN2UxNzFydTY2ZDI0Z0xE Rk9GRURHa0d6YnZ1SC9LZXczZWdDUlJNSWRQVk13ckxhc1pQcmhYYWtxQ1Zkak5taHRVb29TUTMxWnVuRGxuaVZtTjBXb1lPQnhxYVhuTjRtVnJ1bmJPYmRN Nmk1aW5TSHJjenEvbkxCV2FWb1FEZmwyNTBlY1A2b3l0WHJmMXJlbmYzM1R2cXhJbHowKzVldWx2NjJ0cXZRNkhJbVp0ZlgyZ2I4K09zK2N1Zi8zOWI4ZU1I S0FvTXFWRW9qUVlERTk1N3BNZE82c1VSVVlBaEJJUmdUdDExRUJGa2UxSHpGckd4WEdEZXpsVVpkbUs5VjVmME9OeGJpK3UrUDNQelYwNnRXN1ZNcDNZWkZ0 eHhmT3Z6bmo2NVMrdXYvejA4ODg2MGRLWlZoVkxqUEhYM3k3NVpPWUNWWldGT1NaTFVuMkRyM2VQRHUzYlpwc1RCZ2dod3NIKzdDdGYvckc2UUZWbGhJQmdn akQyQjhLbmpScm9jVHNKSVlCQkZBS21sTzRzcTNuaStVKzl2cUFrU1NLQ0hReEdraExkSnd6dksxRnE1cFBIdlgzam4vWnRnMkZXQWNlRUZyNzRaT0h6ajZj TlBUNy9rV2VkMmEwNFk2TFFJd2ZBQ0RDaDI5NTZhZXNMVHhEVktjQ3NoME9lVGwzN3ZQYVJuSklhbjVteDM2Rlg4U3VmUC9UQkp6OFViaTliK3R2NlAxWVhP RldGQTJpYVBuaGc5ejdkTy9UTWEzdnVXU2VZdVZvaW5nU1VraHZ1ZXVtRkp6OFlkdktnMlI4LzRuWTc3R1lNd1hqUjB0VS8vUHo3NXFLeXVmTi9ENFVpcXFv UUxOak5XTVI2T1VBd0dPNlIzMjc0c1QzYjVLU2ZmODdJRnVsSjNKejlzNzVmZHNPZEw1VlYxcXFLVENqQkNBZUNJWXh3Vk5jOUxzZDU0NDYvNTVhSnJYTXlG aTVkTS9IS3g2cHJ2QTZIZ2duV29qb0FwS1lrVEp0eTdkalJnN2l0OExyb2NrelJZWHpKZFUvT25MMllBN3J6aHJQdnZYV2lxSkM0NndaWWZGS3d0WFRHTnd1 TFNpcG56bGxjM3hCUUZkbnlwVWMxUGNIak9tUDBvTGF0VzV3eFpuQmU1MXlFME5yMVcyZk9XbHkwczNMdS9OOHJLdXRkVHBWZ1VZZmZxTGtKQU1GZ0pMZFZ4 b25IOWN0dG1YSFcyT0VkTytSWVkvamwxd3UvL1duRmR6K3RxS3F1VnhVWklVeUlFWGUzVHRFSkJDTXVsM3JpOEg3ZE9yVWFmL3F3bnQwN1lJeGZmdnViKzZl OEZ3aUdGVVdtaEhEZ3dVQ0VFQnpSOUl5MHBLc3ZHWFByZFJNU1BLN3BuLzkwelczVGRNWVZXY0lZUnlNYUpyaHRidWJiMDI0OXVtK1hTRlQ3Zk9hQzladDIv TEpzOVc4ck56a2NTb3pKeUNFYzFZWU02REdvZjlkZTNUcU1PMzJvSFh2VzRyVmc4YXBuWC9saThhL3JRdUdvcHJIVWxJUVRodlhwM2IyRDA2blcxSHJYYkNo YXQzRmJsdzZ0SHI3cjRwN2QydXVNRWR1S3VXYmQxbG5mTHQxYVVqRnp6cEpnTUtJb2tyWHlSaUxSdExTa00wY1BhdHVxeGJqVGg3WnZtejF2L3NwRnk5Zjh0 YjdvKzNrckpGbWlObXBQTUJ6cDE3UFRpQ0c5OGpxMlB2K2NFNE9oeVBSUDV4VnVML3Z1cDk4M2J0N2hkS21pU0FnZ3hCbm5IRWFPT0twM2ZydGorM2M3NmZp amVQdzBFQ0kxQWcvaUhCSGkyN3l4K01NM2svc2MzZldoWndSNkRkMkxFRUtBQ2ExZThzdTJOMS9Bc21MMGduTWl5ZTJ2dWNWUzFOaG01aDJBQ0h1anVyWUJZ M0xxcUlHWG5qZFNWUlhHZUNnY3FhNzExdFY1YStxOHRvdGpGdW5sRjV3c0lYemlpS09zMUJaTGl5S012ZjVBZlVPZ1hXN1diZGROY0x1ZGd2V3FLSkt3dmlL UnFEOFFEb1lqRFEzK1FEQmNXVjJ2YTdybFVtYWNuenBxWUp2V21XOVAvLzdYbFJ2cjZuMmNRNnZzOUl6MHBQNTl1NXd4Wm5EL3Zua0lJVjNYaHg3YjQrTTM3 cG4yK3N3Tm0zZEVJcHFxeWoyNnRyM3hxbkhIOU12YkZiMzJQUmpGK053emovdDA1Z0tQeXpuNnBHTXNEMjJUM251TWNUZ1NxYWlxUzB4dzNYamxtUjYzdyts UUZGa0dnRWhFQzBlaWdWQ2t3ZXV2cktvUGhpTGk1OEZndUxxdUlUMDE2Y3FMeGlSNG5FNkg2bkU3eEdJRWdLSlJ6UjhJQlVPUkJtOGdFQWpYMURhRUloR3pN ZzVDR05VMytGMU85WXFMVGxGVlJaRWtWWkZWVlZKa1dRVHF0S2dlam1pYXJnZERFWjgvV084TmlPY3l4cTY1OUxUOHptMCsrR3plcXJXRlBuOElZZVJzcmJU TVNqdTJmN2V6VGgvYXVXTnJvWEluVGhqaGRqdGVlM2YyanVKS2pURzMwekhnNks0M1h6T3VVM3ZqMUt2cTJvWkFNSHpDc0w3alR4Mmlxb3JUcVJDTU5aMUhJ dEZRV0d2dytoc2EvRFYxWGp2MzBiSnhHR1BEQi9jYVBLRDcvRVYvZnYvVDc2dldGdTRzcjVtMzRJOGZmbDdwK1AvMnppNUVrdXFLNCtmY1c5WGQwejNkdlR1 N096MXJFdU5HZDkwMXErSktKRXJVb0xnb0pHckViMUJZUlVnaWdrRjlVTUkrUkJMeUlDSWtSREFRRkNFa0l2akZCaDJYa1BFaHZnUkNWbUhISFZjVWt4M25Z MmU2cDd1bnE3cXI3c25EcmJwVjNUMjkvVEVmeWM2ZTMxTjNkWDNjVzEyWE92ZmNjLzRuWVJkR3QzN253TVcvL2ZWak4xNS9oWjZmUzJHeVZrZ0lyQzQ3TS9P TE83WnZlZXF4ZTRiVHFWUXFrYkF0cFpSYmJ6aE9vN3JzRkpjcXMvTkYxMjBRWWFsY1hWaFkyci92Z211L3V6K1ZUQTROSlN3cGZkOTMzSWJqMWt2bGFyRllt VHRkMHA2ZDJkTWwzMWQzM1haZExwdE9KdXhVeWhaQytwNWZjK28xeHkwdVZVOHZsRXBMRlJNaTArRU5UQlE0YjRoUWlNbG5uNTQ5K3BjcmZ2K243SjU5WnZT YXA4MmRtL25YVHgrc25qeWhVNEpSQ0s5YTJYbjdmWmM4KzV5SnVPclhjUlgzK01WdmZiZURvQ1ZVdGQxUDIvTFE5OWllMW1zQUdJMUZBQ2hYbGhlTGxVYTlN VHljem1YVE91cGR6OHUxdmFvTnVabTV4VXBsT1pNWkdoc2RNWExIN2JHMWNkZUw0OVovODlKYlF5bjdKdy9kR2tVQ2RxRDM3c1RmU0FOM2YrRERGWkVlRDR1 bGNxbFU5WlhLWlRQNWJGb0xlZ2JhY1FBRUlJVHdQSDkydmxpcnVmbDhadnRJM2xnb3ZUY2cxdVltaFNFamNBRUF5elduV0tyb2pQa3QrY3kyclRrdFNhMkl0 REJneXpuN3V0Vzl0N1BmZjlBMHhod2Jyb01GbHBrU1FwYW5QcGs4L01TRlAzdG01S3BybE85am1IMmtKU01COFpOZi9memZmMzdGRHVPaWxlY2x0dTI0L0hl dlppN2NIYjB1K2grOTRUcHFXT1FpMEs4MHJRNjNCbjJBK0d3bmZpb1RmTnYrYXp4ZkxEcG55LzhjKzEzSGJ6V2ZRUUdndElRSThnb3BWS0pybXRQcW5NNXdV Z3FlbG5FN294aVhpZjdYcVhhZTV4c3RnVE1jRW5mbU5VVXpyZFNMVHZ2MzJIMFYvenM2QlU5MXVLNjJKclRRaDk1UHg0b2FyV0hUUEYyeFFXOW9OSHc5cFZ5 aEFTMVg3L1pneEM4QkNKWVVRa1J4WUVvcHovZjFpa2FuQ0szbzFuVzR0T2x5MDJQV3JaMjlkU3E2UzVGcmhnZ1JBeE5hU3owaklKRmEvUHZFTng5K05CeTlR YVJDNE1pV2N1NkRvOU52dldhbDB1YjFSMTVqNSszM0RsKzBSMHM5RDJBOHgvM3lNaFplQi9IUGE4SHF6eWRiVDZIVE45cWZtS2JkdEdlaUx5eHJqZnUrZXRy NnZoclFaQVdmWVIvYmJycHZhOXFBSm9RUWljN0R2bC82YXVaZ25USkRMTGhCeGl2cXpzOE43N2xrNU9ydkdXMk55TUFUb2w0cWZ2N2lDMVN2aTFSS0QxZHEx Sk9GbldPMzNrSE5NN1orVzZPUE8zWHExUGo0K1A5ejdEakQvSy9ReVhBSER4NHNGQXBtVG1TWkg3VWRKWWZTVzYrNjJpUU1SZkVBUkNqRTdIdnZsSTkvSkpJ cENKMHh2dXVPWFBQOW9hK2RiNmJYZzgyVTlQemsyTEZqaHc0ZFd2dXVNOHhtWVdKaW9sQW9tUGw4YUVLSHJsb3Jrd0d6TW1NU2R3RkFpRWFwT1AzbWE2SFhG eENSbEpMcHpOZ1A3b2c3Ni91YS9acXI2d2JzM3IzNzhPSERBeGljRExQcDBXL2dYYnQyeFdmQ01TZFdUUFFVdzhvbWdmMnNsQkJpYnVMb3gwLytHSVZFQkVX RUtKUmJ5MXkwOThBZlhyZXlXUk5LUEpnQnZCNHFFd3l6V1ZuQmhJWW9vaW5ZWXBTUTlIaWUvOXY3eW5Vc1V6b1FrWHcvZDlrQks1ZUQwSDIxbXRhMGVLRVpo bWtuZXZmR25WanRZWHJSQnlJVXdwbWJXZnpIaDhKT2hDc2JCS1JRV3RtOSt5RU1rMTloK2F4bjR1R0JxK3dodzJ4NnpNSk5sOUZpSXU0cko0NjdNOU5vMnhq bFR4QklhVy9acXRlU1lJVjgrZjVhTTlpeERITU8wcnFNMUFrTU14NnJKMDhvMTVIcGpEYTNCWUlpRUpadDUvS0JmSDZubGYzZTJDREZDWWJaRkVRV2E5Y2RD UVVpT3FmK0F5WVZXMy9TTWd2TmdabnIyR1NHWWRyb1B1SFU5bTFqWVU0SFdlbU4yclZGbnVmWGFwRXVBWnZCRExPeDlGTmVOQ3JWR2lydCtyNWZYZ0lBSUF3 THpEQU1zM0YwSDhCNnVwellQcXBYbGlCd1RDTWlLcTlSUHY2eEZvc0dSQnFvRWlURE1BUFR6UXNkYXJFbFI4Zk03RGVveWdhQUtKWSsrcWZ2MUFMaE9vSXpW Q0ptR0diTjZUS0FqWE00dS9mYklwblNzZzFhdXhHSlpESlovWFN5T2pVSkFMcVVtdEhrM0tqMk04dzVUUThtTkNJUjVTKy9jbmpmcGNwMU1TNjNLYVZYS1gv NXg1Y3hETU9rWUZHWUhWb01zeEgwNElVR0pLV3NkT2E4Mis0T0JUZkM0RWNpT1pTZVBYcGsrc2diS0tYT2w5ZENIRVlCWkNNNndURG5LajJZMEFpQVNLUUtO Lzl3Ky9VMytkVUtTZ3RpbWdCQWF1cTVYOHorZFZ4WUZpSXEzd2VsTUN4dXlDRldETE4rZEJsZ01jazFKWVNzZnZIWnNjY2ZxVTRkdDRlellONnhpS3BlbCtu TXR4NTk4cnc3NzVkMklzcVdhRW1RWUJobVRlbitocVI0VXFHVTVhbkprOC8vY3VIREQ4anpNSkZBS1JFRlNFR2VENzQzY3UwTlg3LzdnZnhsVjRwTXBqMHZn bUdZdGFVbkU1ZEN2UTQ5aG4zWG1SMC84dFc3Ynk5L051Vlh5bDV0V1NjWW9wUkFrQmd0ak4zeW8yODg4SEFpbDFkRXFPV0RHWVpaQjNvZHdFYXREa2lCa0xx V1YzM21LMmRtMnAyZkljOGpSVEtWdExlTnBuYU15dFNRbGQrQ1VzS2dhcVlNdy9SQ3owNG1vN01UbHBTRE1MRzQ4KzdBbzVkaDFwVit2TVF4ZFhBSzVZL05U eEQzVjRYRnBWZ3JoMkhXbFQ2WGVVSUJyU1lwOEk3bnh2WktFQXpEckNISUdsUU1jL2JDL21HR09ZdmhTQ21HT1l1eEtwVWFHYWNVQUJCUUtHVUhzZTFrVnBP Qzd3UUl1dEMzU2ZObkdHYURzUnFlYjRadE5IRDFpbSt3S2RqWVBxQ0RIQ1NBdHVLQkRNTnNCUDhGcndlcm9kWDNDMGtBQUFBQVNVVk9SSzVDWUlJPSc7DQoN CiAgICBjb25zdCBza3VNYXAgPSB7CiAgICAiMzE1NDE0Njg2MTEwNCI6ICIxMDAyNjkiCn07DQoNCiAgICBjb25zdCBrYXRVcmwgPSB7CiAgICAiTWFrYXMi OiAiL2thdGVnb3JpL21ha2FzIgp9Ow0KDQogICAgbGV0IFAgPSBbCiAgICB7CiAgICAgICAgInNrdSI6ICIzMTU0MTQ2ODYxMTA0IiwKICAgICAgICAic2x1 ZyI6ICJtYXBlZC1leHBlcnQtdGl0YW5pdW0tYXNpbWV0cmlrLW1ha2FzLTIxLWNtIiwKICAgICAgICAiaXNpbSI6ICJNYXBlZCBFeHBlcnQgVGl0YW5pdW0g QXNpbWV0cmlrIE1ha2FzIDIxIGNtIiwKICAgICAgICAiaWQiOiAiMTAwMjY5IiwKICAgICAgICAiZml5YXQiOiA2MTIsCiAgICAgICAgImZpeWF0VGFtIjog NjEyLAogICAgICAgICJkZXRheSI6ICI8ZGl2IGNsYXNzPVwibWstZGVzY1wiPlxuPGRpdiBjbGFzcz1cIm1rLXRydXN0LXRpdGxlXCI+PHN0cm9uZz5NQVBF RCBSRVNNxLAgWUVUS0lMSSBTQVRJQ0kgR8OcVkVOQ0VTxLA8L3N0cm9uZz48L2Rpdj5cbjxwIGNsYXNzPVwibWstdHJ1c3QtdGV4dFwiPk1hdmlLYWxlbSwg TWFwZWQgbWFya2FzxLFuxLFuIHJlc21pIHlldGtpbGkgc2F0xLFjxLFzxLFkxLFyLiBTaXRlbWl6ZGUgc2F0xLHFn2Egc3VudWxhbiB0w7xtIG9yaWppbmFs IE1hcGVkIMO8csO8bmxlcmkgw7xyZXRpY2kvZGlzdHJpYsO8dMO2ciBmaXJtYSBnw7x2ZW5jZXNpIGFsdMSxbmRhZMSxci48YnIgLz48YnIgLz48c3Ryb25n Pkt1cnVtc2FsIERlc3RlayBIYXR0xLFtxLF6OiA0NDQgMTEgNjQ8L3N0cm9uZz48L3A+XG48aDIgY2xhc3M9XCJtay10aXRsZVwiPk1hcGVkIEV4cGVydCBU aXRhbml1bSBBc2ltZXRyaWsgTWFrYXMgMjEgY20gw5Z6ZWxsaWtsZXJpPC9oMj5cbjxwIGNsYXNzPVwibWstdGV4dFwiPk9maXMgw6dhbMSxxZ9hbmxhcsSx bsSxbiwgw7bEn3JldG1lbmxlcmluLCDDtsSfcmVuY2lsZXJpbiB2ZSBwcm9mZXN5b25lbCB0YXNhcsSxbSBhdMO2bHllbGVyaW5pbiBnw7xubMO8ayBrZXNp bSBpaHRpeWHDp2xhcsSxbsSxIGVuIMO8c3QgZMO8emV5IGtvbmZvcmxhIGthcsWfxLFsYW1hayBpw6dpbiBnZWxpxZ90aXJpbGVuIE1hcGVkIEV4cGVydCBU aXRhbml1bSBBc2ltZXRyaWsgTWFrYXMsIGfDvGPDvCB2ZSB6YXJhZmV0aSBiaXIgYXJhZGEgc3VuYXIuIDIxIGNtIGlkZWFsIGJveXV0dSB2ZSB0aXRhbnl1 bSBrYXBsYW1hbMSxIMO2emVsIGLEscOnYWsgeWFwxLFzxLEgc2F5ZXNpbmRlIGt1bWHFnywga2FsxLFuIGthcnRvbiwgbXVrYXZ2YSB2ZSDDp29rIGthdG1h bmzEsSBrw6LEn8SxdGxhcsSxIHpvcmxhbm1hZGFuLCB0ZWsgaGFtbGVkZSBww7xyw7x6c8O8emNlIGtlc2VyLiBUaXRhbnl1bSB0ZWtub2xvamlzaSwgYsSx w6dha2xhcsSxbiBrw7ZyZWxtZXNpbmkgw7ZubGV5ZXJlayBnZWxlbmVrc2VsIG1ha2FzbGFyYSBrxLF5YXNsYSDDp29rIGRhaGEgdXp1biDDtm3DvHJsw7wg YmlyIHBlcmZvcm1hbnMgdmFkZWRlci4gRWwgYW5hdG9taXNpbmUgdGFtIHV5dW0gc2HEn2xheWFuIGFzaW1ldHJpayBnw7Z2ZGUgdGFzYXLEsW3EsSwgdXp1 biBzw7xyZWxpIGt1bGxhbsSxbWxhcmRhIGJpbGUgcGFybWFrIHZlIGJpbGVrIHlvcmd1bmx1xJ91bnUgbWluaW11bWEgaW5kaXJpci4gQ3JhZnQgdmUgaG9i aSBha3Rpdml0ZWxlcmluZGVuIHlvxJ91biBvZmlzIGnFn2xlcmluZSBrYWRhciBoZXIgYWxhbmRhIGt1c3Vyc3V6IGTDvHpsw7xrdGUga2VzaW0gaGF0bGFy xLEgZWxkZSBldG1lbml6aSBzYcSfbGF5YW4gTWFwZWQgRXhwZXJ0LCDDp2FsxLHFn21hIG1hc2FuxLF6xLFuIGVuIGRheWFuxLFrbMSxIHZlIGfDvHZlbmls aXIgcGFyw6dhc8SxIG9sbWFrIGnDp2luIHNlcGV0aW5pemUgZWtsZW1lbml6IGdlcmVrZW4gcHJvZmVzeW9uZWwgYmlyIGvEsXJ0YXNpeWUgYXJhY8SxZMSx ci48L3A+XG48aDIgY2xhc3M9XCJtay1zdWJ0aXRsZVwiPsOWbmUgw4fEsWthbiDDnHLDvG4gw5Z6ZWxsaWtsZXJpPC9oMj5cbjx1bCBjbGFzcz1cIm1rLWxp c3RcIj5cbjxsaT48c3Ryb25nPlRpdGFueXVtIEthcGxhbWEgQsSxw6dha2xhcjo8L3N0cm9uZz4gU3RhbmRhcnQgw6dlbGlrIG1ha2FzbGFyYSBnw7ZyZSDD p29rIGRhaGEgdXp1biBzw7xyZSBrZXNraW5sacSfaW5pIGtvcnV5YW4sIHBhc2xhbm1heWEgdmUgYcWfxLFubWF5YSBrYXLFn8SxIHVsdHJhIGRpcmVuw6ds aSB0aXRhbnl1bSB0ZWtub2xvamlzaS48L2xpPlxuPGxpPjxzdHJvbmc+RXJnb25vbWlrIEFzaW1ldHJpayBUYXNhcsSxbTo8L3N0cm9uZz4gS2VzaW0gZXNu YXPEsW5kYSBlbCBiYXPEsW5jxLFuxLEgZGVuZ2VsaSBkYcSfxLF0YW4sIGtheW1hecSxIMO2bmxleWVuIHZlIHBhcm1ha2xhcsSxIHlvcm1heWFuIMO2emVs IGFzaW1ldHJpayBzYXAgbWltYXJpc2kuPC9saT5cbjxsaT48c3Ryb25nPkdlbGnFn3RpcmlsbWnFnyBNdWthdmVtZXQ6PC9zdHJvbmc+IEthbMSxbiBrYXJ0 b24sIHBsYXN0aWsgYW1iYWxhaiwga3VtYcWfIHZlIMOnb2tsdSBrw6LEn8SxdCBrYXRtYW5sYXLEsW5kYSB0YWvEsWxtYWRhbiwgcMO8csO8enPDvHogdmUg ZG/En3J1c2FsIGtlc2ltIHlhcGFiaWxtZSBnw7xjw7wuPC9saT5cbjxsaT48c3Ryb25nPjIxIGNtIMSwZGVhbCBCb3l1dDo8L3N0cm9uZz4gSGVtIGhhc3Nh cyBkZXRheSDDp2l6Z2lzaW5pIHRha2lwIGVkZWJpbGVjZcSfaW5peiBoZW0gZGUgdXp1biBkw7x6IGtlc2ltbGVyaSB0ZWsgc2VmZXJkZSB0YW1hbWxheWFi aWxlY2XEn2luaXogb3B0aW11bSBwcm9mZXN5b25lbCDDtmzDp8O8LjwvbGk+XG48bGk+PHN0cm9uZz5Zw7xrc2VrIE1hbHplbWUgS2FsaXRlc2k6PC9zdHJv bmc+IFlvxJ91biB2ZSBzZXJ0IGt1bGxhbsSxbSBrb8WfdWxsYXLEsW5hIGRheWFuYWNhayDFn2VraWxkZSB0YXNhcmxhbm3EscWfLCBrxLFyxLFsbWEgdmUg ZXNuZW1leWUga2FyxZ/EsSBrb3J1bWFsxLEgZ8O2dmRlIHlhcMSxc8SxLjwvbGk+XG48L3VsPlxuPGgyIGNsYXNzPVwibWstc3VidGl0bGVcIj5UZWtuaWsg RGV0YXlsYXI8L2gyPlxuPHRhYmxlIGNsYXNzPVwibWstdGFibGVcIj5cbjx0Ym9keT5cbjx0cj5cbjx0aD5NYXJrYSAvIMOccmV0aWNpOjwvdGg+XG48dGQ+ TWFwZWQgKEZyYW5zYSAvIEdsb2JhbCk8L3RkPlxuPC90cj5cbjx0cj5cbjx0aD5Nb2RlbCAvIFNlcmk6PC90aD5cbjx0ZD5FeHBlcnQgVGl0YW5pdW0gU2Vy aXNpPC90ZD5cbjwvdHI+XG48dHI+XG48dGg+w5xyw7xuIEJhcmtvZHU6PC90aD5cbjx0ZD4zMTU0MTQ2ODYxMTA0PC90ZD5cbjwvdHI+XG48dHI+XG48dGg+ TWFrYXMgVGlwaTo8L3RoPlxuPHRkPkFzaW1ldHJpayBUYXNhcsSxbSAvIE9maXMgdmUgSG9iaSBUaXBpPC90ZD5cbjwvdHI+XG48dHI+XG48dGg+QsSxw6dh ayDDlnplbGxpxJ9pOjwvdGg+XG48dGQ+WcO8a3NlayBNdWthdmVtZXRsaSBUaXRhbnl1bSBLYXBsYW1hIChVbHRyYSBLZXNraW4pPC90ZD5cbjwvdHI+XG48 dHI+XG48dGg+w5xyw7xuIMOWbMOnw7xsZXJpOjwvdGg+XG48dGQ+MjEgY20gKFN0YW5kYXJ0IELDvHnDvGsgQm95KTwvdGQ+XG48L3RyPlxuPHRyPlxuPHRo PlR1dGFtYWsgTWF0ZXJ5YWxpOjwvdGg+XG48dGQ+RXJnb25vbWlrIEtvbmZvciBTYcSfbGF5YW4gw5Z6ZWwgUGxhc3RpayBHw7Z2ZGU8L3RkPlxuPC90cj5c bjx0cj5cbjx0aD5TYcSfbMSxayBTdGFuZGFydGxhcsSxOjwvdGg+XG48dGQ+VG9rc2lrIE1hZGRlIMSww6dlcm1leiwgS3VsbGFuxLFjxLEgR8O8dmVubGnE n2luZSBVeWd1bmR1cjwvdGQ+XG48L3RyPlxuPHRyPlxuPHRoPkt1bGxhbsSxbSBBbGFubGFyxLE6PC90aD5cbjx0ZD5PZmlzbGVyLCBPa3VsbGFyLCBTYW5h dCBBdMO2bHllbGVyaSwgVGVyemlsaWsgdmUgVGFzYXLEsW0gw4dhbMSxxZ9tYWxhcsSxLCBFdiB2ZSBIb2JpIE1hc2FsYXLEsTwvdGQ+XG48L3RyPlxuPC90 Ym9keT5cbjwvdGFibGU+XG48ZGV0YWlscyBjbGFzcz1cIm1rLWFjY29yZGlvblwiPlxuPHN1bW1hcnkgY2xhc3M9XCJtay1hY2NvcmRpb24tc3VtbWFyeVwi PjxzcGFuPkdhcmFudGksIMSwYWRlIHZlIExvamlzdGlrIERldGF5bGFyPC9zcGFuPiA8c3BhbiBjbGFzcz1cIm1rLWFjY29yZGlvbi1pY29uXCI+Kzwvc3Bh bj48L3N1bW1hcnk+XG48ZGl2IGNsYXNzPVwibWstYWNjb3JkaW9uLWNvbnRlbnRcIj5NYXZpS2FsZW0nZGVuIHNhdMSxbiBhbGTEscSfxLFuxLF6IHTDvG0g b3JpamluYWwgTWFwZWQgw7xyw7xubGVyaSwgw7xyZXRpbSB2ZSBtYWx6ZW1lIGhhdGFsYXLEsW5hIGthcsWfxLEgZmlybWEgZ8O8dmVuY2VzaSBhbHTEsW5k YWTEsXIuIEt1bGxhbsSxbG1hbcSxxZ8gdmUgYW1iYWxhasSxIHphcmFyIGfDtnJtZW1pxZ8gw7xyw7xubGVyaSAxNCBnw7xuIGnDp2luZGUgeWFzYWwgaGFr bGFyxLFuxLF6IGthcHNhbcSxbmRhIHNvcnVuc3V6Y2EgaWFkZSBlZGViaWxpcnNpbml6LiBFbiBkb8SfcnUgZml5YXQgYXZhbnRhasSxLCBoYXNzYXMgcGFr ZXRsZW1lIGthcmdvIGfDtm5kZXJpbSBnYXJhbnRpc2kgdmUgZW50ZWdyZSBsb2ppc3RpayBtZXJrZXppbWl6bGUgdMO8bSBzw7xyZcOnbGVyZGUgeWFuxLFu xLF6ZGF5xLF6LjwvZGl2PlxuPC9kZXRhaWxzPjxkZXRhaWxzIGNsYXNzPVwibWstYWNjb3JkaW9uXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAyNXB4O1wi PlxuPHN1bW1hcnkgY2xhc3M9XCJtay1hY2NvcmRpb24tc3VtbWFyeVwiPjxzcGFuPk5lZGVuIE1hdmlLYWxlbSdkZW4gQWxtYWzEsXPEsW7EsXo/PC9zcGFu PiA8c3BhbiBjbGFzcz1cIm1rLWFjY29yZGlvbi1pY29uXCI+Kzwvc3Bhbj48L3N1bW1hcnk+XG48ZGl2IGNsYXNzPVwibWstYWNjb3JkaW9uLWNvbnRlbnRc Ij5cbjx1bCBjbGFzcz1cIm1rLWxpc3RcIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDA7XCI+XG48bGk+PHN0cm9uZz5ZZXRraWxpIFNhdMSxY8SxIEfDvHZl bmNlc2k6PC9zdHJvbmc+IFRha2xpdCB2ZXlhIGthbGl0ZXNpeiBtdWFkaWwgw7xyw7xuIHJpc2tpbmUgZ2lybWVkZW4gcmVzbWkgb25heWzEsSB5ZXRraWxp IHNhdMSxY8SxZGFuIGfDvHZlbmxlIG9yaWppbmFsIMO8csO8biBzYXTEsW4gYWzEsXJzxLFuxLF6LjwvbGk+XG48bGk+PHN0cm9uZz5FbiBEb8SfcnUgRml5 YXQgR2FyYW50aXNpOjwvc3Ryb25nPiBEb8SfcnVkYW4gYW5hIHN0b2sgZ8O8Y8O8bcO8emxlIGhlciB6YW1hbiBlbiBhdmFudGFqbMSxIHZlIGVuIGRvxJ9y dSBmaXlhdGxhcsSxIHN1bnV5b3J1ei48L2xpPlxuPGxpPjxzdHJvbmc+SMSxemzEsSBLYXJnbzo8L3N0cm9uZz4gRW50ZWdyZSBsb2ppc3RpayBtZXJrZXpp bWl6IHNheWVzaW5kZSBzaXBhcmnFn2xlcmluaXogZ8O8dmVubGUgcGFrZXRsZW5pciB2ZSBoxLF6bGEgeW9sYSDDp8Sxa2FyLjwvbGk+XG48bGk+PHN0cm9u Zz5LdXJ1bXNhbCBEZXN0ZWsgSGF0dMSxOjwvc3Ryb25nPiBUw7xtIHPDvHJlw6dsZXJkZSA8c3Ryb25nPjQ0NCAxMSA2NDwvc3Ryb25nPiBudW1hcmFsxLEg a3VydW1zYWwgaGF0dMSxbcSxemxhIHlhbsSxbsSxemRhecSxei48L2xpPlxuPC91bD5cbjwvZGl2PlxuPC9kZXRhaWxzPjwvZGl2PiIsCiAgICAgICAgImlt ZyI6ICJodHRwczovL3d3dy5tYXZpa2FsZW0udHIvaWRlYS9yZi84Ni9teWFzc2V0cy9wcm9kdWN0cy8yNjkvMTA5LnBuZyIsCiAgICAgICAgImFkZXQiOiAz LAogICAgICAgICJzZWwiOiB0cnVlLAogICAgICAgICJrYXQiOiAiTWFrYXMiLAogICAgICAgICJ2YXJ5YW50bGkiOiAwCiAgICB9Cl07DQoNCiAgICAvLyDD lsSfcmVuY2kgYmF6bMSxIHRla2xpZiBtb2R1OiDDvHLDvG4gYWRldGxlcmkga2lsaXRsaSwgc2FkZWNlIMO2xJ9yZW5jaSBzYXnEsXPEsSBnaXJpbGlyDQog ICAgLy8gdmUgdMO8bSBhZGV0bGVyIGJ1bnVubGEgw6dhcnDEsWzEsXIuIE5vcm1hbC9nw7xuY2VsbGVtZSBzYXlmYWxhcsSxbmRhIGZhbHNlIG9sdXIuDQog ICAgY29uc3QgVEVLTElGX01PRFUgPSBmYWxzZTsNCg0KICAgIC8vIFAnZGVraSBmaXlhdGxhcmEgdXlndWxhbm3EscWfIHnDvHpkZSBpbmRpcmltICgwID0g aW5kaXJpbSB5b2spLiBTYXlmYSBidW51DQogICAgLy8ga3VsbGFubcSxeW9yOyBFbGVjdHJvbiAiw4fDtnrDvG1sZSIgaWxlIGJ1IHNheWZhecSxIGdlcmkg b2t1ZHXEn3VuZGEgZml5YXRsYXLEsQ0KICAgIC8vIGxpc3RlIGZpeWF0xLFuYSBkw7ZuZMO8cm1layBpw6dpbiB2YXIg4oCUIG9sbWF6c2EgaGVyIMO8cmV0 aW1kZSBpbmRpcmltIMO8c3TDvG5lDQogICAgLy8gaW5kaXJpbSBiaW5lcmRpLg0KICAgIGNvbnN0IElORElSSU1fWVVaREUgPSAwOw0KICAgIGZ1bmN0aW9u IG9ncmVuY2lTYXlpc2koKSB7DQogICAgICAgIGNvbnN0IGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0dWRlbnQtY291bnQnKTsNCiAgICAgICAg aWYgKCFURUtMSUZfTU9EVSB8fCAhZWwpIHJldHVybiAxOw0KICAgICAgICBjb25zdCBuID0gTWF0aC5mbG9vcihOdW1iZXIoZWwudmFsdWUpKTsNCiAgICAg ICAgcmV0dXJuICghbiB8fCBuIDwgMSkgPyAxIDogbjsNCiAgICB9DQoNCiAgICBsZXQgYWN0aXZlS2F0ID0gJ3R1bXUnOw0KICAgIGxldCBtb2RhbElkeCA9 IC0xOw0KICAgIC8vIFRvcGxhbS90dXRhciBoZXNhYsSxbmRhIGZpeWF0xLFuIFRBTSAoeXV2YXJsYW5tYW3EscWfKSBow6JsaSBrdWxsYW7EsWzEsXIg4oCU IHNlcGV0DQogICAgLy8gdG9wbGFtxLF5bGEgYmlyZWJpciB0dXRtYXPEsSBpw6dpbi4gR8O2csO8bmVuIGJpcmltIGZpeWF0IHlpbmUgJ2ZpeWF0JyAoMiBv bmRhbMSxaykuDQogICAgLy8gRXNraSBzYXlmYWxhcmRhIGZpeWF0VGFtIG9sbWF5YWJpbGlyOyBvIHphbWFuIGZpeWF0YSBkw7zFn2VyLg0KICAgIGZ1bmN0 aW9uIHRhbUZpeWF0KHApIHsNCiAgICAgICAgY29uc3QgdiA9IChwICYmIHAuZml5YXRUYW0gIT0gbnVsbCkgPyBOdW1iZXIocC5maXlhdFRhbSkgOiBOdW1i ZXIocCAmJiBwLmZpeWF0KTsNCiAgICAgICAgcmV0dXJuIGlzRmluaXRlKHYpID8gdiA6IDA7DQogICAgfQ0KICAgIGZ1bmN0aW9uIHVwZGF0ZUZvb3Rlcigp IHsNCiAgICAgICAgY29uc3QgY2FycGFuID0gb2dyZW5jaVNheWlzaSgpOw0KICAgICAgICBjb25zdCBzdGF0cyA9IFAucmVkdWNlKChhY2MsIHApID0+IHsN CiAgICAgICAgICAgIGlmIChwLnNlbCkgeyBhY2MuY291bnQrKzsgYWNjLml0ZW1zICs9IHAuYWRldCAqIGNhcnBhbjsgYWNjLnRvdGFsICs9IHRhbUZpeWF0 KHApICogcC5hZGV0ICogY2FycGFuOyB9DQogICAgICAgICAgICByZXR1cm4gYWNjOw0KICAgICAgICB9LCB7IGNvdW50OiAwLCBpdGVtczogMCwgdG90YWw6 IDAgfSk7DQogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtYmFkZ2UnKS50ZXh0Q29udGVudCA9IHN0YXRzLmNvdW50Ow0KICAgICAgICBp ZiAoVEVLTElGX01PRFUpIHsNCiAgICAgICAgICAgIC8vIFRla2xpZiBtb2R1OiBzZcOnaW0geW9rLCB0b3BsYW0gZml5YXQgZ8O2c3RlcmlsbWV6DQogICAg ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLWNvdW50JykudGV4dENvbnRlbnQgPSBgTMSwU1RFREUgJHtzdGF0cy5jb3VudH0gw5xSw5xO YDsNCiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtcHJpY2UnKS50ZXh0Q29udGVudCA9ICdTZXBldGUgZWtsZXJrZW4gw7bEn3Jl bmNpIHNhecSxc8SxIHNvcnVsdXInOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1jb3VudCcp LnRleHRDb250ZW50ID0gYFNFw4fEsExFTjogJHtzdGF0cy5pdGVtc30gQURFVGA7DQogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNs LXByaWNlJykudGV4dENvbnRlbnQgPSBgVE9QTEFNOiAke3N0YXRzLnRvdGFsLnRvTG9jYWxlU3RyaW5nKCd0ci1UUicsIHttaW5pbXVtRnJhY3Rpb25EaWdp dHM6Mn0pfSBUTGA7DQogICAgICAgIH0NCiAgICB9DQogICAgZnVuY3Rpb24gcmVuZGVyUGlsbHMoKSB7DQogICAgICAgIGNvbnN0IGNhdHMgPSBbLi4ubmV3 IFNldChQLm1hcChwID0+IHAua2F0KSldOw0KICAgICAgICBjb25zdCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtcGlsbHMnKTsNCiAgICAg ICAgZWwuaW5uZXJIVE1MID0gJyc7DQogICAgICAgIGNvbnN0IG1ha2VCdG4gPSAobGFiZWwsIGthdCkgPT4gew0KICAgICAgICAgICAgY29uc3QgYiA9IGRv Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOw0KICAgICAgICAgICAgYi5jbGFzc05hbWUgPSBgcGlsbCAke2FjdGl2ZUthdCA9PT0ga2F0ID8gJ2Fj dGl2ZScgOiAnJ31gOw0KICAgICAgICAgICAgYi50ZXh0Q29udGVudCA9IGxhYmVsOw0KICAgICAgICAgICAgYi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycs ICgpID0+IHsNCiAgICAgICAgICAgICAgICBhY3RpdmVLYXQgPSBrYXQ7DQogICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI2Rz bC1waWxscyAucGlsbCcpLmZvckVhY2gocCA9PiBwLmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZScpKTsNCiAgICAgICAgICAgICAgICBiLmNsYXNzTGlzdC5h ZGQoJ2FjdGl2ZScpOw0KICAgICAgICAgICAgICAgIHJlbmRlckdyaWQoKTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGI7DQogICAg ICAgIH07DQogICAgICAgIGVsLmFwcGVuZENoaWxkKG1ha2VCdG4oJ1TDvG3DvCcsICd0dW11JykpOw0KICAgICAgICBjYXRzLmZvckVhY2goYyA9PiBlbC5h cHBlbmRDaGlsZChtYWtlQnRuKGMsIGMpKSk7DQogICAgfQ0KICAgIGZ1bmN0aW9uIHJlbmRlckdyaWQoKSB7DQogICAgICAgIGNvbnN0IGdyaWQgPSBkb2N1 bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLWdyaWQnKTsNCiAgICAgICAgZ3JpZC5pbm5lckhUTUwgPSAnJzsNCiAgICAgICAgbGV0IHNob3duID0gMDsNCiAg ICAgICAgUC5mb3JFYWNoKChwLCBpZHgpID0+IHsNCiAgICAgICAgICAgIGlmIChhY3RpdmVLYXQgIT09ICd0dW11JyAmJiBwLmthdCAhPT0gYWN0aXZlS2F0 KSByZXR1cm47DQogICAgICAgICAgICBzaG93bisrOw0KDQogICAgICAgICAgICBjb25zdCBjYXJkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7 DQogICAgICAgICAgICBpZiAoVEVLTElGX01PRFUpIHsNCiAgICAgICAgICAgICAgICAvLyDDnHLDvG4gw6fEsWthcm1hL2VrbGVtZSB5b2s6IHNlw6dpbSBr dXR1c3UgeW9rLCBrYXJ0IHTEsWtsYW1hc8SxIGJpciDFn2V5DQogICAgICAgICAgICAgICAgLy8geWFwbWF6LiBHw7Zyc2VsIC8gRGV0YXkgxLBuY2VsZSBp bGUgYcOnxLFrbGFtYSBtb2RhbMSxIGHDp8SxbMSxcjsgYWRldCBraWxpdGxpLg0KICAgICAgICAgICAgICAgIGNhcmQuY2xhc3NOYW1lID0gJ3BjJzsNCiAg ICAgICAgICAgICAgICBjYXJkLnN0eWxlLmN1cnNvciA9ICdkZWZhdWx0JzsNCiAgICAgICAgICAgICAgICBjYXJkLmlubmVySFRNTCA9IGANCiAgICAgICAg ICAgICAgICAgICAgPGRpdiBjbGFzcz0icGMtaW1nLXdyYXAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0icGMtaW1nIiBzcmM9IiR7 cC5pbWd9IiBhbHQ9IiR7cC5pc2ltfSIgb25lcnJvcj0idGhpcy5zdHlsZS5kaXNwbGF5PSdub25lJyI+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0K ICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0icGMtY2F0IiBocmVmPSIke2thdFVybFtwLmthdF0gfHwgJy9rYXRlZ29yaSd9IiB0YXJnZXQ9Il9ibGFu ayI+JHtwLmthdH08L2E+DQogICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJwYy1uYW1lIiBocmVmPSIvdXJ1bi8ke3Auc2x1Z30iIHRhcmdldD0iX2Js YW5rIj4ke3AuaXNpbX08L2E+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBjLXByaWNlLXJvdyI+DQogICAgICAgICAgICAgICAgICAgICAg ICA8c3BhbiBjbGFzcz0icGMtcHJpY2UiPiR7cC5maXlhdC50b0xvY2FsZVN0cmluZygndHItVFInLCB7bWluaW11bUZyYWN0aW9uRGlnaXRzOjJ9KX0gVEw8 L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIGA7DQogICAgICAgICAgICAgICAgY29uc3QgaW0gPSBjYXJkLnF1 ZXJ5U2VsZWN0b3IoJy5wYy1pbWcnKTsNCiAgICAgICAgICAgICAgICBpbS5zdHlsZS5jdXJzb3IgPSAnem9vbS1pbic7DQogICAgICAgICAgICAgICAgaW0u YWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiBvcGVuTW9kYWxEaXJlY3QoaWR4KSk7DQogICAgICAgICAgICAgICAgY29uc3QgZGIgPSBkb2N1bWVu dC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTsNCiAgICAgICAgICAgICAgICBkYi5jbGFzc05hbWUgPSAnYnRuLWRldCc7DQogICAgICAgICAgICAgICAgZGIu dGV4dENvbnRlbnQgPSAnRGV0YXkgxLBuY2VsZSc7DQogICAgICAgICAgICAgICAgZGIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiBvcGVuTW9k YWxEaXJlY3QoaWR4KSk7DQogICAgICAgICAgICAgICAgY2FyZC5hcHBlbmRDaGlsZChkYik7DQogICAgICAgICAgICAgICAgY29uc3QgaW5mbyA9IGRvY3Vt ZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOw0KICAgICAgICAgICAgICAgIGluZm8uY2xhc3NOYW1lID0gJ3Rla2xpZi1hZGV0JzsNCiAgICAgICAgICAgICAg ICBpbmZvLmlubmVySFRNTCA9IGA8c3Bhbj7DlsSfcmVuY2kgYmHFn8SxbmEgPGI+JHtwLmFkZXR9PC9iPiBhZGV0PC9zcGFuPmA7DQogICAgICAgICAgICAg ICAgY2FyZC5hcHBlbmRDaGlsZChpbmZvKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgY2FyZC5jbGFzc05hbWUgPSBgcGMgJHtw LnNlbCA/ICdzZWwnIDogJ3Bhcyd9YDsNCiAgICAgICAgICAgICAgICBjYXJkLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdG9nZ2xlUChpZHgp KTsNCiAgICAgICAgICAgICAgICBjYXJkLmlubmVySFRNTCA9IGANCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYy1jaGsiPg0KICAgICAgICAgICAg ICAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giICR7cC5zZWwgPyAnY2hlY2tlZCcgOiAnJ30gb25jbGljaz0iZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7 Ij4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1vYi1jIj4ke3Auc2VsID8gJ+KckycgOiAnJ308L3NwYW4+DQogICAgICAgICAgICAgICAg PC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGMtaW1nLXdyYXAiPg0KICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJwYy1pbWci IHNyYz0iJHtwLmltZ30iIGFsdD0iJHtwLmlzaW19IiBvbmVycm9yPSJ0aGlzLnN0eWxlLmRpc3BsYXk9J25vbmUnIj4NCiAgICAgICAgICAgICAgICA8L2Rp dj4NCiAgICAgICAgICAgICAgICA8YSBjbGFzcz0icGMtY2F0IiBocmVmPSIke2thdFVybFtwLmthdF0gfHwgJy9rYXRlZ29yaSd9IiB0YXJnZXQ9Il9ibGFu ayIgb25jbGljaz0iZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7Ij4ke3Aua2F0fTwvYT4NCiAgICAgICAgICAgICAgICA8YSBjbGFzcz0icGMtbmFtZSIgaHJl Zj0iL3VydW4vJHtwLnNsdWd9IiB0YXJnZXQ9Il9ibGFuayIgb25jbGljaz0iZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7Ij4ke3AuaXNpbX08L2E+DQogICAg ICAgICAgICAgICAgPGRpdiBjbGFzcz0icGMtcHJpY2Utcm93Ij4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBjLXByaWNlIj4ke3AuZml5 YXQudG9Mb2NhbGVTdHJpbmcoJ3RyLVRSJywge21pbmltdW1GcmFjdGlvbkRpZ2l0czoyfSl9IFRMPC9zcGFuPg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0K ICAgICAgICAgICAgYDsNCiAgICAgICAgICAgICAgICBjb25zdCBkYiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOw0KICAgICAgICAgICAg ICAgIGRiLmNsYXNzTmFtZSA9ICdidG4tZGV0JzsgZGIudGV4dENvbnRlbnQgPSAnRGV0YXkgxLBuY2VsZSc7DQogICAgICAgICAgICAgICAgZGIuYWRkRXZl bnRMaXN0ZW5lcignY2xpY2snLCBlID0+IHsgZS5zdG9wUHJvcGFnYXRpb24oKTsgb3Blbk1vZGFsRGlyZWN0KGlkeCk7IH0pOw0KICAgICAgICAgICAgICAg IGNhcmQucXVlcnlTZWxlY3RvcignLnBjLWltZycpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZSA9PiB7IGUuc3RvcFByb3BhZ2F0aW9uKCk7IG9wZW5N b2RhbERpcmVjdChpZHgpOyB9KTsNCiAgICAgICAgICAgICAgICBjYXJkLmFwcGVuZENoaWxkKGRiKTsNCiAgICAgICAgICAgICAgICBjb25zdCBxciA9IGRv Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOw0KICAgICAgICAgICAgICAgIHFyLmNsYXNzTmFtZSA9ICdxdHktcm93JzsNCiAgICAgICAgICAgICAgICBx ci5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGUgPT4gZS5zdG9wUHJvcGFnYXRpb24oKSk7DQogICAgICAgICAgICAgICAgcXIuaW5uZXJIVE1MID0gYA0K ICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJxdHktYnRuIiAkeyFwLnNlbCA/ICdkaXNhYmxlZCcgOiAnJ30+LTwvYnV0dG9uPg0KICAgICAg ICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icXR5LW51bSI+JHtwLmFkZXR9PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJx dHktYnRuIj4rPC9idXR0b24+DQogICAgICAgICAgICAgICAgYDsNCiAgICAgICAgICAgICAgICBxci5xdWVyeVNlbGVjdG9yKCdidXR0b246Zmlyc3QtY2hp bGQnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IGNoYW5nZVF0eShpZHgsIC0xKSk7DQogICAgICAgICAgICAgICAgcXIucXVlcnlTZWxlY3Rv cignYnV0dG9uOmxhc3QtY2hpbGQnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IGNoYW5nZVF0eShpZHgsIDEpKTsNCiAgICAgICAgICAgICAg ICBjYXJkLmFwcGVuZENoaWxkKHFyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGdyaWQuYXBwZW5kQ2hpbGQoY2FyZCk7DQogICAgICAgIH0pOw0K ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLWVtcHR5Jykuc3R5bGUuZGlzcGxheSA9IHNob3duID09PSAwID8gJ2Jsb2NrJyA6ICdub25l JzsNCiAgICAgICAgdXBkYXRlRm9vdGVyKCk7DQogICAgfQ0KICAgIGZ1bmN0aW9uIHRvZ2dsZVAoaSkgeyBQW2ldLnNlbCA9ICFQW2ldLnNlbDsgcmVuZGVy R3JpZCgpOyB9DQogICAgZnVuY3Rpb24gY2hhbmdlUXR5KGksIGQpIHsNCiAgICAgICAgY29uc3QgbiA9IFBbaV0uYWRldCArIGQ7DQogICAgICAgIGlmIChu IDw9IDApIHsgUFtpXS5hZGV0ID0gMTsgUFtpXS5zZWwgPSBmYWxzZTsgfQ0KICAgICAgICBlbHNlIHsgUFtpXS5hZGV0ID0gbjsgaWYgKGQgPiAwKSBQW2ld LnNlbCA9IHRydWU7IH0NCiAgICAgICAgcmVuZGVyR3JpZCgpOw0KICAgICAgICBpZiAobW9kYWxJZHggPT09IGkpIHVwZGF0ZU1vZGFsVUkoKTsNCiAgICB9 DQogICAgZnVuY3Rpb24gb3Blbk1vZGFsRGlyZWN0KGkpIHsNCiAgICAgICAgbW9kYWxJZHggPSBpOw0KICAgICAgICBjb25zdCBwID0gUFtpXTsNCg0KICAg ICAgICB1cGRhdGVNb2RhbFVJKCk7DQoNCiAgICAgICAgY29uc3QgZGVzY0VsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1tLWRlc2MnKTsNCiAg ICAgICAgZGVzY0VsLmlubmVySFRNTCA9IChwLmRldGF5IHx8ICdEZXRheSBidWx1bmFtYWTEsS4nKSArIGANCiAgICAgICAgICAgIDxicj4NCiAgICAgICAg ICAgIDxhIGhyZWY9Ii91cnVuLyR7cC5zbHVnfSIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJtLWxpbmstbW9yZSI+DQogICAgICAgICAgICAgICAgVMO8bSDD lnplbGxpa2xlcmkgxLBuY2VsZQ0KICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRD b2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPg0KICAgICAgICAgICAgICAgICAg ICA8cGF0aCBkPSJNMTggMTN2NmEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoNiI+PC9wYXRoPg0KICAgICAgICAgICAg ICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNSAzIDIxIDMgMjEgOSI+PC9wb2x5bGluZT4NCiAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEwIiB5 MT0iMTQiIHgyPSIyMSIgeTI9IjMiPjwvbGluZT4NCiAgICAgICAgICAgICAgICA8L3N2Zz4NCiAgICAgICAgICAgIDwvYT4NCiAgICAgICAgYDsNCg0KICAg ICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcubS1zY3JvbGwtYXJlYScpLnNjcm9sbFRvcCA9IDA7DQogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC eUlkKCdkc2wtbW9kYWwnKS5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7DQogICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJzsN CiAgICB9DQogICAgZnVuY3Rpb24gdXBkYXRlTW9kYWxVSSgpIHsNCiAgICAgICAgaWYobW9kYWxJZHggPT09IC0xKSByZXR1cm47DQogICAgICAgIGNvbnN0 IHAgPSBQW21vZGFsSWR4XTsNCiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1tLWltZycpLnNyYyA9IHAuaW1nOw0KICAgICAgICBkb2N1 bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLW0tc2t1JykudGV4dENvbnRlbnQgPSBgw5xyw7xuIEtvZHUgwrcgJHtwLnNrdX1gOw0KICAgICAgICBkb2N1bWVu dC5nZXRFbGVtZW50QnlJZCgnZHNsLW0tdGl0bGUnKS50ZXh0Q29udGVudCA9IHAuaXNpbTsNCiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Rz bC1tLWNhdCcpLnRleHRDb250ZW50ID0gcC5rYXQ7DQogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtbS1yZWMnKS50ZXh0Q29udGVudCA9 IFRFS0xJRl9NT0RVDQogICAgICAgICAgICA/IGDDlsSfcmVuY2kgYmHFn8SxbmEgJHtwLmFkZXR9IGFkZXRgDQogICAgICAgICAgICA6IGAke3AuYWRldH0g QWRldGA7DQogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtbS1wcmljZScpLnRleHRDb250ZW50ID0gYCR7cC5maXlhdC50b0xvY2FsZVN0 cmluZygndHItVFInLCB7bWluaW11bUZyYWN0aW9uRGlnaXRzOjJ9KX0gVExgOw0KICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLW0tcXR5 JykudGV4dENvbnRlbnQgPSBwLmFkZXQ7DQoNCiAgICAgICAgLy8gVGVrbGlmIG1vZHVuZGEgbW9kYWwgc2FkZWNlIGJpbGdpIGFtYcOnbMSxOiBsaXN0ZSBl a2xlL8OnxLFrYXIgYnV0b251IHlvaw0KICAgICAgICBpZiAoIVRFS0xJRl9NT0RVKSB7DQogICAgICAgICAgICBjb25zdCBidG4gPSBkb2N1bWVudC5nZXRF bGVtZW50QnlJZCgnZHNsLW0tYnRuJyk7DQogICAgICAgICAgICBidG4udGV4dENvbnRlbnQgPSBwLnNlbCA/ICdMaXN0ZWRlIOKckycgOiAnTGlzdGV5ZSBF a2xlJzsNCiAgICAgICAgICAgIGJ0bi5jbGFzc05hbWUgPSBwLnNlbCA/ICdtYnRuIGlubCcgOiAnbWJ0biBhZGQnOw0KICAgICAgICB9DQogICAgfQ0KICAg IGZ1bmN0aW9uIGNsb3NlTW9kYWwoKSB7DQogICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtbW9kYWwnKS5jbGFzc0xpc3QucmVtb3ZlKCdv cGVuJyk7DQogICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAnJzsNCiAgICAgICAgbW9kYWxJZHggPSAtMTsNCiAgICB9DQogICAgZG9j dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1tY2xzJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBjbG9zZU1vZGFsKTsNCiAgICBkb2N1bWVudC5nZXRF bGVtZW50QnlJZCgnZHNsLW1vZGFsJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKSB7IGlmIChlLnRhcmdldCA9PT0gdGhpcykgY2xv c2VNb2RhbCgpOyB9KTsNCg0KICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtbS1taW51cycpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkg PT4geyBpZiAobW9kYWxJZHggPiAtMSkgY2hhbmdlUXR5KG1vZGFsSWR4LCAtMSk7IH0pOw0KICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtbS1w bHVzJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7IGlmIChtb2RhbElkeCA+IC0xKSBjaGFuZ2VRdHkobW9kYWxJZHgsIDEpOyB9KTsNCiAg ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLW0tYnRuJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7DQogICAgICAgIGlmIChtb2Rh bElkeCA9PT0gLTEpIHJldHVybjsNCiAgICAgICAgdG9nZ2xlUChtb2RhbElkeCk7DQogICAgICAgIHVwZGF0ZU1vZGFsVUkoKTsNCiAgICB9KTsNCiAgICBk b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLWJ0bi1hbGwnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHsNCiAgICAgICAgY29uc3Qgdmlz ID0gUC5maWx0ZXIocCA9PiBhY3RpdmVLYXQgPT09ICd0dW11JyB8fCBwLmthdCA9PT0gYWN0aXZlS2F0KTsNCiAgICAgICAgY29uc3QgYWxsID0gdmlzLmV2 ZXJ5KHAgPT4gcC5zZWwpOw0KICAgICAgICB2aXMuZm9yRWFjaChwID0+IHAuc2VsID0gIWFsbCk7DQogICAgICAgIHJlbmRlckdyaWQoKTsNCiAgICB9KTsN Cg0KICAgIC8vIG9wdHMgaWxlIGJhxZ9sxLFrL2FsdCB5YXrEsS9vbmF5IGV0aWtldGkgZGXEn2nFn3RpcmlsZWJpbGlyOyB2ZXJpbG1lenNlIHNlcGV0ZQ0K ICAgIC8vIGVrbGVtZSBtZXRpbmxlcmkga3VsbGFuxLFsxLFyIChtZXZjdXQgw6dhxJ9yxLFsYXIgYXluZW4gw6dhbMSxxZ9zxLFuIGRpeWUpLg0KICAgIGZ1 bmN0aW9uIGFza09ncmVuY2lTYXlpc2kob3B0cykgew0KICAgICAgICBjb25zdCBvID0gb3B0cyB8fCB7fTsNCiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNl KChyZXNvbHZlKSA9PiB7DQogICAgICAgICAgICBjb25zdCBhc2sgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLWFzaycpOw0KICAgICAgICAgICAg Y29uc3QgaW5wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1hc2staW5wdXQnKTsNCiAgICAgICAgICAgIGNvbnN0IGVyciA9IGRvY3VtZW50Lmdl dEVsZW1lbnRCeUlkKCdkc2wtYXNrLWVycicpOw0KICAgICAgICAgICAgY29uc3QgYnRuT2sgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLWFzay1v aycpOw0KICAgICAgICAgICAgY29uc3QgYnRuQ2FuY2VsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1hc2stY2FuY2VsJyk7DQogICAgICAgICAg ICBjb25zdCBlbEJhc2xpayA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtYXNrLXRpdGxlJyk7DQogICAgICAgICAgICBjb25zdCBlbEFsdCA9IGRv Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNkc2wtYXNrIC5hc2stc3ViJyk7DQogICAgICAgICAgICBpZiAoZWxCYXNsaWspIGVsQmFzbGlrLnRleHRDb250ZW50 ID0gby5iYXNsaWsgfHwgJ0thw6cgw7bEn3JlbmNpeWUgc2lwYXJpxZ8gZ2XDp2lsZWNlaz8nOw0KICAgICAgICAgICAgaWYgKGVsQWx0KSBlbEFsdC50ZXh0 Q29udGVudCA9IG8uYWx0WWF6aSB8fCAnTGlzdGVkZWtpIMO8csO8biBhZGV0bGVyaSBnaXJkacSfaW5peiDDtsSfcmVuY2kgc2F5xLFzxLF5bGEgw6dhcnDE sWxhcmFrIHNlcGV0ZSBla2xlbmVjZWt0aXIuJzsNCiAgICAgICAgICAgIGJ0bk9rLnRleHRDb250ZW50ID0gby5vbmF5RXRpa2V0aSB8fCAnU2VwZXRlIEVr bGUnOw0KICAgICAgICAgICAgZXJyLnRleHRDb250ZW50ID0gJyc7DQogICAgICAgICAgICBpbnAudmFsdWUgPSAnMSc7DQogICAgICAgICAgICBhc2suY2xh c3NMaXN0LmFkZCgnb3BlbicpOw0KICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nOw0KICAgICAgICAgICAgc2V0 VGltZW91dCgoKSA9PiB7IGlucC5mb2N1cygpOyBpbnAuc2VsZWN0KCk7IH0sIDUwKTsNCg0KICAgICAgICAgICAgZnVuY3Rpb24ga2FwYXQodmFsKSB7DQog ICAgICAgICAgICAgICAgYXNrLmNsYXNzTGlzdC5yZW1vdmUoJ29wZW4nKTsNCiAgICAgICAgICAgICAgICBpZiAoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlk KCdkc2wtbW9kYWwnKS5jbGFzc0xpc3QuY29udGFpbnMoJ29wZW4nKSkgew0KICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJm bG93ID0gJyc7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGJ0bk9rLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgb25Payk7DQog ICAgICAgICAgICAgICAgYnRuQ2FuY2VsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgb25DYW5jZWwpOw0KICAgICAgICAgICAgICAgIGFzay5yZW1v dmVFdmVudExpc3RlbmVyKCdjbGljaycsIG9uQmFja2Ryb3ApOw0KICAgICAgICAgICAgICAgIGlucC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywg b25LZXkpOw0KICAgICAgICAgICAgICAgIHJlc29sdmUodmFsKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZ1bmN0aW9uIG9uT2soKSB7DQogICAg ICAgICAgICAgICAgY29uc3QgbiA9IE1hdGguZmxvb3IoTnVtYmVyKGlucC52YWx1ZSkpOw0KICAgICAgICAgICAgICAgIGlmICghbiB8fCBuIDwgMSkgew0K ICAgICAgICAgICAgICAgICAgICBlcnIudGV4dENvbnRlbnQgPSAnTMO8dGZlbiBnZcOnZXJsaSBiaXIgw7bEn3JlbmNpIHNhecSxc8SxIGdpcmluIChlbiBh eiAxKS4nOw0KICAgICAgICAgICAgICAgICAgICBpbnAuZm9jdXMoKTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAgICAgIH0N CiAgICAgICAgICAgICAgICBrYXBhdChuKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZ1bmN0aW9uIG9uQ2FuY2VsKCkgeyBrYXBhdChudWxsKTsg fQ0KICAgICAgICAgICAgZnVuY3Rpb24gb25CYWNrZHJvcChlKSB7IGlmIChlLnRhcmdldCA9PT0gYXNrKSBrYXBhdChudWxsKTsgfQ0KICAgICAgICAgICAg ZnVuY3Rpb24gb25LZXkoZSkgew0KICAgICAgICAgICAgICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJykgeyBlLnByZXZlbnREZWZhdWx0KCk7IG9uT2soKTsg fQ0KICAgICAgICAgICAgICAgIGlmIChlLmtleSA9PT0gJ0VzY2FwZScpIHsgZS5wcmV2ZW50RGVmYXVsdCgpOyBvbkNhbmNlbCgpOyB9DQogICAgICAgICAg ICB9DQogICAgICAgICAgICBidG5Pay5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIG9uT2spOw0KICAgICAgICAgICAgYnRuQ2FuY2VsLmFkZEV2ZW50TGlz dGVuZXIoJ2NsaWNrJywgb25DYW5jZWwpOw0KICAgICAgICAgICAgYXNrLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgb25CYWNrZHJvcCk7DQogICAgICAg ICAgICBpbnAuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9uS2V5KTsNCiAgICAgICAgfSk7DQogICAgfQ0KDQogICAgYXN5bmMgZnVuY3Rpb24gc2Vw ZXRlRWtsZShzZWwsIHN0dWRlbnRDb3VudCkgew0KICAgICAgICBjb25zdCBvdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtb3YnKTsNCiAgICAg ICAgY29uc3QgYmFyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1iYXInKTsNCg0KICAgICAgICBmdW5jdGlvbiBhbnRpY3NyZkFsKCkgew0KICAg ICAgICAgICAgY29uc3QgbWV0YSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ21ldGFbbmFtZT0iYW50aWNzcmYiXScpOw0KICAgICAgICAgICAgcmV0dXJu IHdpbmRvdy5hbnRpY3NyZiB8fCAodHlwZW9mIGFudGljc3JmICE9PSAndW5kZWZpbmVkJyA/IGFudGljc3JmIDogJycpIHx8IChtZXRhICYmIG1ldGEuY29u dGVudCkgfHwgJyc7DQogICAgICAgIH0NCg0KICAgICAgICBjb25zdCBla3Npa0lkID0gc2VsLmZpbHRlcihwID0+ICEocC5pZCB8fCBza3VNYXBbcC5za3Vd KSk7DQogICAgICAgIGlmIChla3Npa0lkLmxlbmd0aCkgew0KICAgICAgICAgICAgYWxlcnQoJ8WedSDDvHLDvG5sZXIgc2lzdGVtIElEIGVrc2lrIG9sZHXE n3UgacOnaW4gc2VwZXRlIGVrbGVuZW1lejpcblxuJyArDQogICAgICAgICAgICAgICAgZWtzaWtJZC5tYXAocCA9PiAn4oCiICcgKyBwLmlzaW0pLmpvaW4o J1xuJykgKw0KICAgICAgICAgICAgICAgICdcblxuU2F5ZmF5xLEgRWxlY3Ryb25cJ2RhbiBzaXN0ZW0gw7xyw7xubGVyaXlsZSB5ZW5pZGVuIMO8cmV0aW4u Jyk7DQogICAgICAgICAgICByZXR1cm47DQogICAgICAgIH0NCg0KICAgICAgICAvLyBWYXJ5YW50bMSxIEFOQSDDvHLDvG4gKHJlbmsvbW9kZWwgc2XDp2ls bWVtacWfIGthecSxdCkgL2NhcnQvYWRkX2l0ZW0gaWxlDQogICAgICAgIC8vIGVrbGVuZW1peW9yOiBtYcSfYXphIMO2bmNlIHNlw6dlbmXEn2luIGJlbGly bGVubWVzaW5pIGlzdGl5b3IuIEJ1bmxhcsSxDQogICAgICAgIC8vIGlzdGXEn2UgaGnDpyBzb2ttdXlvcnV6IOKAlCBha3NpIGhhbGRlIG3DvMWfdGVyaSBh bmxhxZ/EsWxtYXogYmlyIGhhdGEgYWzEsXANCiAgICAgICAgLy8gc2VwZXRpbiB5YXLEsXPEsSBla3NpayBrYWzEsXlvcmR1Lg0KICAgICAgICBjb25zdCB2 YXJ5YW50bGlPbGFubGFyID0gc2VsLmZpbHRlcihwID0+IHAudmFyeWFudGxpKTsNCiAgICAgICAgaWYgKHZhcnlhbnRsaU9sYW5sYXIubGVuZ3RoKSB7DQog ICAgICAgICAgICBhbGVydCgnxZ51IMO8csO8bmxlciByZW5rL21vZGVsIHNlw6dpbWkgZ2VyZWt0aXJkacSfaSBpw6dpbiB0b3BsdWNhIHNlcGV0ZSBla2xl bmVtaXlvcjpcblxuJyArDQogICAgICAgICAgICAgICAgdmFyeWFudGxpT2xhbmxhci5tYXAocCA9PiAn4oCiICcgKyBwLmlzaW0pLmpvaW4oJ1xuJykgKw0K ICAgICAgICAgICAgICAgICdcblxuQnUgw7xyw7xubGVyaSBsaXN0ZWRlbiDDp8Sxa2FyxLFwICh2ZXlhIGtlbmRpIMO8csO8biBzYXlmYWxhcsSxbmRhbiBp c3RlZGnEn2luaXogJyArDQogICAgICAgICAgICAgICAgJ3JlbmdpL21vZGVsaSBzZcOnZXJlaykgdGVrcmFyIGRlbmV5aW4uIERpxJ9lciDDvHLDvG5sZXIg acOnaW4gIlNlcGV0ZSBFa2xlInllICcgKw0KICAgICAgICAgICAgICAgICd5ZW5pZGVuIGJhc21hbsSxeiB5ZXRlcmxpLicpOw0KICAgICAgICAgICAgcmV0 dXJuOw0KICAgICAgICB9DQoNCiAgICAgICAgb3YucXVlcnlTZWxlY3RvcignLnNwaW4nKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsNCiAgICAgICAgb3Yu cXVlcnlTZWxlY3RvcignLm9rbWFyaycpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7DQogICAgICAgIG92LnF1ZXJ5U2VsZWN0b3IoJy5vdi10aXRsZScpLnRl eHRDb250ZW50ID0gJ1NlcGV0ZSBFa2xlbml5b3IuLi4nOw0KICAgICAgICBvdi5xdWVyeVNlbGVjdG9yKCcub3YtZGV0YWlsJykudGV4dENvbnRlbnQgPSAn TMO8dGZlbiBiZWtsZXlpbml6JzsNCiAgICAgICAgYmFyLnN0eWxlLndpZHRoID0gJzAlJzsNCiAgICAgICAgb3Yuc3R5bGUuZGlzcGxheSA9ICdmbGV4JzsN Cg0KICAgICAgICBjb25zdCBoYXRhbGFyID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNlbC5sZW5ndGg7 IGkrKykgew0KICAgICAgICAgICAgICAgIGNvbnN0IHAgPSBzZWxbaV07DQogICAgICAgICAgICAgICAgY29uc3QgcGlkID0gU3RyaW5nKHAuaWQgfHwgc2t1 TWFwW3Auc2t1XSB8fCAnJyk7DQogICAgICAgICAgICAgICAgY29uc3QgcXR5ID0gTWF0aC5tYXgoMSwgTWF0aC5mbG9vcihOdW1iZXIocC5hZGV0KSB8fCAx KSAqIE1hdGguZmxvb3IoTnVtYmVyKHN0dWRlbnRDb3VudCkgfHwgMSkpOw0KDQogICAgICAgICAgICAgICAgYmFyLnN0eWxlLndpZHRoID0gYCR7TWF0aC5y b3VuZCgoaSAvIHNlbC5sZW5ndGgpICogOTApfSVgOw0KICAgICAgICAgICAgICAgIG92LnF1ZXJ5U2VsZWN0b3IoJy5vdi1jbnQnKS50ZXh0Q29udGVudCA9 IGAke2kgKyAxfSAvICR7c2VsLmxlbmd0aH1gOw0KICAgICAgICAgICAgICAgIG92LnF1ZXJ5U2VsZWN0b3IoJy5vdi1kZXRhaWwnKS50ZXh0Q29udGVudCA9 IHAuaXNpbTsNCg0KICAgICAgICAgICAgICAgIGNvbnN0IGZkID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7DQogICAgICAgICAgICAgICAgICAgIGFudGljc3Jm OiBhbnRpY3NyZkFsKCksDQogICAgICAgICAgICAgICAgICAgIHByb2R1Y3RJZDogcGlkLA0KICAgICAgICAgICAgICAgICAgICBxdWFudGl0eTogU3RyaW5n KHF0eSkNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaCgnL2NhcnQvYWRkX2l0ZW0nLCB7DQog ICAgICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLCBib2R5OiBmZCwgY3JlZGVudGlhbHM6ICdpbmNsdWRlJywNCiAgICAgICAgICAgICAgICAgICAg aGVhZGVyczogew0KICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnLA0K ICAgICAgICAgICAgICAgICAgICAgICAgJ1gtUmVxdWVzdGVkLVdpdGgnOiAnWE1MSHR0cFJlcXVlc3QnDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAg ICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICBjb25zdCBib2R5ID0gYXdhaXQgcmVzLnRleHQoKTsNCiAgICAgICAgICAgICAgICBsZXQgb2sgPSBy ZXMub2ssIG1lc2FqID0gJyc7DQogICAgICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAgICAgY29uc3QgaiA9IEpTT04ucGFyc2UoYm9keSk7 DQogICAgICAgICAgICAgICAgICAgIGlmIChqICYmIChqLnN0YXR1cyA9PT0gJ2Vycm9yJyB8fCBqLnN1Y2Nlc3MgPT09IGZhbHNlIHx8IGouZXJyb3IpKSB7 DQogICAgICAgICAgICAgICAgICAgICAgICBvayA9IGZhbHNlOw0KICAgICAgICAgICAgICAgICAgICAgICAgbWVzYWogPSBqLmVycm9yTWVzc2FnZSB8fCBq Lm1lc3NhZ2UgfHwgKGouZXJyb3IgJiYgai5lcnJvci5tZXNzYWdlKSB8fCAnJzsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0g Y2F0Y2ggKF8pIHsgLyogSFRNTCBjZXZhcCBvbGFiaWxpcjsgc3RhdHVzLmNvZGUgeWV0ZXJsaSAqLyB9DQogICAgICAgICAgICAgICAgaWYgKCFvaykgew0K ICAgICAgICAgICAgICAgICAgICBoYXRhbGFyLnB1c2gocC5pc2ltICsgKG1lc2FqID8gJyDigJQgJyArIG1lc2FqIDogKHJlcy5zdGF0dXMgPyBgIChIVFRQ ICR7cmVzLnN0YXR1c30pYCA6ICcnKSkpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAoaSA8IHNlbC5sZW5ndGggLSAxKSBhd2Fp dCBuZXcgUHJvbWlzZShyID0+IHNldFRpbWVvdXQociwgMTAwMCkpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKGhhdGFsYXIubGVuZ3RoKSB7 DQogICAgICAgICAgICAgICAgb3Yuc3R5bGUuZGlzcGxheSA9ICdub25lJzsNCiAgICAgICAgICAgICAgICBhbGVydCgnQmF6xLEgw7xyw7xubGVyIHNlcGV0 ZSBla2xlbmVtZWRpOlxuXG4nICsNCiAgICAgICAgICAgICAgICAgICAgaGF0YWxhci5tYXAoaCA9PiAn4oCiICcgKyBoKS5qb2luKCdcbicpICsNCiAgICAg ICAgICAgICAgICAgICAgJ1xuXG5TZXBldGkga29udHJvbCBlZGlwIGthbGFuIMO8csO8bmxlciBpw6dpbiB0ZWtyYXIgZGVuZXlpbi4nKTsNCiAgICAgICAg ICAgICAgICByZXR1cm47DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoS1VQT04pIHsNCiAgICAgICAgICAgICAgICBiYXIuc3R5bGUud2lkdGgg PSAnOTIlJzsNCiAgICAgICAgICAgICAgICBvdi5xdWVyeVNlbGVjdG9yKCcub3YtdGl0bGUnKS50ZXh0Q29udGVudCA9ICdLdXBvbiBVeWd1bGFuxLF5b3Iu Li4nOw0KICAgICAgICAgICAgICAgIGF3YWl0IGZldGNoKCcvaGVkaXllLWNla2kta3VsbGFuJywgew0KICAgICAgICAgICAgICAgICAgICBtZXRob2Q6ICdQ T1NUJywNCiAgICAgICAgICAgICAgICAgICAgYm9keTogbmV3IFVSTFNlYXJjaFBhcmFtcyh7IGFudGljc3JmOiBhbnRpY3NyZkFsKCksIGNvZGU6IEtVUE9O IH0pLA0KICAgICAgICAgICAgICAgICAgICBjcmVkZW50aWFsczogJ2luY2x1ZGUnLA0KICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7DQogICAgICAg ICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcsDQogICAgICAgICAgICAgICAgICAg ICAgICAnWC1SZXF1ZXN0ZWQtV2l0aCc6ICdYTUxIdHRwUmVxdWVzdCcNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pOw0KICAg ICAgICAgICAgfQ0KICAgICAgICAgICAgYmFyLnN0eWxlLndpZHRoID0gJzEwMCUnOw0KICAgICAgICAgICAgb3YucXVlcnlTZWxlY3RvcignLnNwaW4nKS5z dHlsZS5kaXNwbGF5ID0gJ25vbmUnOw0KICAgICAgICAgICAgb3YucXVlcnlTZWxlY3RvcignLm9rbWFyaycpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOw0K ICAgICAgICAgICAgb3YucXVlcnlTZWxlY3RvcignLm92LXRpdGxlJykudGV4dENvbnRlbnQgPSAnVGFtYW1sYW5kxLEhJzsNCiAgICAgICAgICAgIG92LnF1 ZXJ5U2VsZWN0b3IoJy5vdi1kZXRhaWwnKS50ZXh0Q29udGVudCA9ICdZw7ZubGVuZGlyaWxpeW9yc3VudXouLi4nOw0KDQogICAgICAgICAgICBhd2FpdCBu ZXcgUHJvbWlzZShyID0+IHNldFRpbWVvdXQociwgODAwKSk7DQogICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9ICcvc2VwZXQnOw0KICAgICAg ICB9IGNhdGNoKGUpIHsNCiAgICAgICAgICAgIG92LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7DQogICAgICAgICAgICBhbGVydChgSGF0YTogJHtlLm1lc3Nh Z2V9YCk7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHNsLWJ0bi1jYXJ0JykuYWRkRXZlbnRMaXN0ZW5lcign Y2xpY2snLCBhc3luYyAoKSA9PiB7DQogICAgICAgIGNvbnN0IHNlbCA9IFAuZmlsdGVyKHAgPT4gcC5zZWwgJiYgcC5hZGV0ID4gMCk7DQogICAgICAgIGlm ICghc2VsLmxlbmd0aCkgcmV0dXJuIGFsZXJ0KCdMw7x0ZmVuIGVuIGF6IGJpciDDvHLDvG4gc2XDp2luLicpOw0KDQogICAgICAgIGxldCBzdHVkZW50Q291 bnQgPSAxOw0KICAgICAgICBpZiAoVEVLTElGX01PRFUpIHsNCiAgICAgICAgICAgIGNvbnN0IGNldmFwID0gYXdhaXQgYXNrT2dyZW5jaVNheWlzaSgpOw0K ICAgICAgICAgICAgaWYgKGNldmFwID09PSBudWxsKSByZXR1cm47DQogICAgICAgICAgICBzdHVkZW50Q291bnQgPSBjZXZhcDsNCiAgICAgICAgfQ0KICAg ICAgICBhd2FpdCBzZXBldGVFa2xlKHNlbCwgc3R1ZGVudENvdW50KTsNCiAgICB9KTsNCiAgICAvLyBUZWtsaWYgbW9kdTogw7xyw7xuIHNlw6dtZS/Dp8Sx a2FybWEgeW9rIOKGkiAiVMO8bcO8bsO8IHNlw6cva2FsZMSxciIgZ2l6bGk7IG1vZGFsDQogICAgLy8gc2FkZWNlIGHDp8Sxa2xhbWEgZ8O2c3RlcmlyIOKG kiBhZGV0ICsvLSB2ZSAiTGlzdGV5ZSBFa2xlIiBnaXpsaS4NCiAgICBpZiAoVEVLTElGX01PRFUpIHsNCiAgICAgICAgY29uc3QgYnRuQWxsID0gZG9jdW1l bnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1idG4tYWxsJyk7DQogICAgICAgIGlmIChidG5BbGwpIGJ0bkFsbC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOw0KICAg ICAgICBjb25zdCBtcSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNkc2wtbW9kYWwgLm1xdHknKTsNCiAgICAgICAgaWYgKG1xKSBtcS5zdHlsZS5kaXNw bGF5ID0gJ25vbmUnOw0KICAgICAgICBjb25zdCBtQnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RzbC1tLWJ0bicpOw0KICAgICAgICBpZiAobUJ0 bikgbUJ0bi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOw0KICAgIH0NCiAgICAvKiAtLS0tLS0tLS0tIMSwbmRpciAvIFlhemTEsXIgLS0tLS0tLS0tLQ0KICAg ICAgIExpc3RleWkgeWF6ZMSxcsSxbGFiaWxpciB0ZWsgZG9zeWEgSFRNTCBvbGFyYWsgaW5kaXJpci4gVmVyaXlpIGRvxJ9ydWRhbiBQJ2Rlbg0KICAgICAg IG9rdXIgKGdyaWQgeWFsbsSxemNhIHNlw6dpbGkga2F0ZWdvcml5aSDDp2l6ZGnEn2kgacOnaW4gRE9NJ2RhbiBva3VtYWsgZWtzaWsNCiAgICAgICBsaXN0 ZSDDvHJldGlyZGkpLiBUZWtsaWYgbW9kdW5kYSBhZGV0bGVyIMO2xJ9yZW5jaSBzYXnEsXPEsXlsYSDDp2FycMSxbMSxci4gKi8NCiAgICBmdW5jdGlvbiBl c2NIdG1sKHMpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZyhzID09IG51bGwgPyAnJyA6IHMpDQogICAgICAgICAgICAucmVwbGFjZSgvJi9nLCAnJmFtcDsn KS5yZXBsYWNlKC88L2csICcmbHQ7JykucmVwbGFjZSgvPi9nLCAnJmd0OycpLnJlcGxhY2UoLyIvZywgJyZxdW90OycpOw0KICAgIH0NCiAgICBmdW5jdGlv biBwYXJhVFIobikgew0KICAgICAgICByZXR1cm4gTnVtYmVyKG4gfHwgMCkudG9Mb2NhbGVTdHJpbmcoJ3RyLVRSJywgeyBtaW5pbXVtRnJhY3Rpb25EaWdp dHM6IDIsIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMiB9KTsNCiAgICB9DQogICAgLy8gQmFzxLFsxLEgc2F5ZmEgYmHFn8SxbmEgc2F0xLFyIHNhecSxc8Sx LiBBNCArIDEybW0ga2VuYXIgYm/Fn2x1xJ91ICsgNDRweCBnw7Zyc2VsDQogICAgLy8gacOnaW4gw7Zsw6fDvGxkw7w7IHNhdMSxcmxhciBzYXlmYXlhIHPE scSfbWF6c2EgYnUgaWtpIHNhecSxecSxIGTDvMWfw7xybWVrIHlldGVybGkuDQogICAgY29uc3QgSUxLX1NBWUZBX1NBVElSID0gMTE7ICAgLy8gaWxrIHNh eWZhZGEgbG9nbyArIGJhxZ9sxLFrIHllciBrYXDEsXlvcg0KICAgIGNvbnN0IFNBWUZBX1NBVElSID0gMTQ7DQoNCiAgICBjb25zdCBidG5JbmRpciA9IGRv Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdkc2wtYnRuLWluZGlyJyk7DQogICAgaWYgKGJ0bkluZGlyKSBidG5JbmRpci5hZGRFdmVudExpc3RlbmVyKCdjbGlj aycsIGFzeW5jICgpID0+IHsNCiAgICAgICAgY29uc3Qgb2t1bCA9IChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjZHNsIC5oZC1uYW1lJykgfHwge30pLnRl eHRDb250ZW50IHx8ICcnOw0KICAgICAgICBjb25zdCBiYXNsaWsgPSAoKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNkc2wgLmhkLXRpdGxlJykgfHwge30p LnRleHRDb250ZW50IHx8ICdLxLFydGFzaXllIExpc3Rlc2knKS50cmltKCk7DQogICAgICAgIC8vIFRla2xpZiBtb2R1bmRhIHNlw6dpbSB5b2s7IG5vcm1h bCBtb2RkYSBzYWRlY2UgacWfYXJldGxpIMO8csO8bmxlcg0KICAgICAgICBjb25zdCBzZWNpbGkgPSBQLmZpbHRlcihwID0+IFRFS0xJRl9NT0RVIHx8IHAu c2VsKTsNCiAgICAgICAgaWYgKCFzZWNpbGkubGVuZ3RoKSB7IGFsZXJ0KCdMaXN0ZWRlIGnFn2FyZXRsaSDDvHLDvG4geW9rLiBFbiBheiBiaXIgw7xyw7xu IHNlw6dpbi4nKTsgcmV0dXJuOyB9DQoNCiAgICAgICAgLy8gVGVrbGlmIG1vZHVuZGEgYWRldGxlciDDtsSfcmVuY2kgYmHFn8SxbmFkxLFyOyBrYcOnIMO2 xJ9yZW5jaSBpw6dpbiBiYXPEsWxhY2HEn8SxbsSxIHNvci4NCiAgICAgICAgbGV0IGNhcnBhbiA9IG9ncmVuY2lTYXlpc2koKTsNCiAgICAgICAgaWYgKFRF S0xJRl9NT0RVKSB7DQogICAgICAgICAgICBjb25zdCBjZXZhcCA9IGF3YWl0IGFza09ncmVuY2lTYXlpc2koew0KICAgICAgICAgICAgICAgIGJhc2xpazog J0thw6cgw7bEn3JlbmNpIGnDp2luIGxpc3RlIGluZGlyaWxlY2VrPycsDQogICAgICAgICAgICAgICAgYWx0WWF6aTogJ0xpc3RlZGVraSBhZGV0bGVyIGdp cmRpxJ9pbml6IMO2xJ9yZW5jaSBzYXnEsXPEsXlsYSDDp2FycMSxbGFyYWsgeWF6ZMSxcsSxbMSxci4nLA0KICAgICAgICAgICAgICAgIG9uYXlFdGlrZXRp OiAnxLBuZGlyJw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBpZiAoY2V2YXAgPT09IG51bGwpIHJldHVybjsgICAvLyBpcHRhbCBlZGlsZGksIGRv c3lhIGlubWVzaW4NCiAgICAgICAgICAgIGNhcnBhbiA9IGNldmFwOw0KICAgICAgICB9DQoNCiAgICAgICAgLy8gLS0tIHNhdMSxcmxhcsSxIMO8cmV0LCBz YXlmYWxhcmEgYsO2bCAtLS0NCiAgICAgICAgbGV0IHRvcGxhbSA9IDA7DQogICAgICAgIGNvbnN0IHNhdGlybGFyID0gc2VjaWxpLm1hcChwID0+IHsNCiAg ICAgICAgICAgIGNvbnN0IGFkZXQgPSAoTnVtYmVyKHAuYWRldCkgfHwgMSkgKiBjYXJwYW47DQogICAgICAgICAgICBjb25zdCB0dXRhciA9IHRhbUZpeWF0 KHApICogYWRldDsgICAvLyB0YW0gZml5YXR0YW47IHNlcGV0IHRvcGxhbcSxeWxhIHR1dGFyDQogICAgICAgICAgICB0b3BsYW0gKz0gdHV0YXI7DQogICAg ICAgICAgICBjb25zdCBnb3JzZWwgPSBwLmltZw0KICAgICAgICAgICAgICAgID8gJzxpbWcgc3JjPSInICsgZXNjSHRtbChwLmltZykgKyAnIiBhbHQ9IiIg b25lcnJvcj0idGhpcy5wYXJlbnROb2RlLmlubmVySFRNTD1cJyZtZGFzaDtcJyI+Jw0KICAgICAgICAgICAgICAgIDogJyZtZGFzaDsnOw0KICAgICAgICAg ICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICB0dXRhcjogdHV0YXIsDQogICAgICAgICAgICAgICAgaHRtbDogJzx0cj48dGQgY2xhc3M9ImciPicgKyBn b3JzZWwgKyAnPC90ZD4nICsNCiAgICAgICAgICAgICAgICAgICAgJzx0ZCBjbGFzcz0iYmsiPicgKyAocC5za3UgPyBlc2NIdG1sKHAuc2t1KSA6ICcmbWRh c2g7JykgKyAnPC90ZD4nICsNCiAgICAgICAgICAgICAgICAgICAgJzx0ZD4nICsgZXNjSHRtbChwLmthdCkgKyAnPC90ZD4nICsNCiAgICAgICAgICAgICAg ICAgICAgJzx0ZD4nICsgZXNjSHRtbChwLmlzaW0pICsgJzwvdGQ+JyArDQogICAgICAgICAgICAgICAgICAgICc8dGQgY2xhc3M9ImMiPicgKyBhZGV0ICsg JzwvdGQ+JyArDQogICAgICAgICAgICAgICAgICAgICc8dGQgY2xhc3M9InIiPicgKyBwYXJhVFIocC5maXlhdCkgKyAnIFRMPC90ZD4nICsNCiAgICAgICAg ICAgICAgICAgICAgJzx0ZCBjbGFzcz0iciI+JyArIHBhcmFUUih0dXRhcikgKyAnIFRMPC90ZD48L3RyPicNCiAgICAgICAgICAgIH07DQogICAgICAgIH0p Ow0KDQogICAgICAgIGNvbnN0IHNheWZhbGFyID0gW107DQogICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2F0aXJsYXIubGVuZ3RoOykgew0KICAgICAg ICAgICAgY29uc3QgYm95dXQgPSBzYXlmYWxhci5sZW5ndGggPT09IDAgPyBJTEtfU0FZRkFfU0FUSVIgOiBTQVlGQV9TQVRJUjsNCiAgICAgICAgICAgIHNh eWZhbGFyLnB1c2goc2F0aXJsYXIuc2xpY2UoaSwgaSArIGJveXV0KSk7DQogICAgICAgICAgICBpICs9IGJveXV0Ow0KICAgICAgICB9DQoNCiAgICAgICAg Y29uc3QgYmFzbGlnaVRhbSA9IChva3VsLnRyaW0oKSA/IG9rdWwudHJpbSgpICsgJyDigJQgJyA6ICcnKSArIGJhc2xpazsNCiAgICAgICAgY29uc3QgdGFy aWggPSBuZXcgRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZygndHItVFInKTsNCiAgICAgICAgY29uc3Qgb2t1bExvZ28gPSAoZG9jdW1lbnQucXVlcnlTZWxl Y3RvcignI2RzbCAuaGQtcm93IGltZycpIHx8IHt9KS5zcmMgfHwgJyc7DQogICAgICAgIGNvbnN0IGJhc2xpa2xhciA9ICc8dGhlYWQ+PHRyPjx0aD5Hw7Zy c2VsPC90aD48dGg+QmFya29kPC90aD48dGg+S2F0ZWdvcmk8L3RoPicgKw0KICAgICAgICAgICAgJzx0aD7DnHLDvG48L3RoPjx0aD5BZGV0PC90aD48dGg+ QmlyaW0gRml5YXQ8L3RoPjx0aD5UdXRhcjwvdGg+PC90cj48L3RoZWFkPic7DQoNCiAgICAgICAgLy8gVGVrIHNheWZheXNhIGFyYSB0b3BsYW0gYmFzbWEg 4oCUIGdlbmVsIHRvcGxhbWxhIGF5bsSxIHJha2FtIG9sdXJkdS4NCiAgICAgICAgY29uc3QgYXJhVG9wbGFtR29zdGVyID0gc2F5ZmFsYXIubGVuZ3RoID4g MTsNCiAgICAgICAgY29uc3Qgc2F5ZmFIdG1sID0gc2F5ZmFsYXIubWFwKChncnVwLCBpKSA9PiB7DQogICAgICAgICAgICBjb25zdCBhcmFUb3BsYW0gPSBn cnVwLnJlZHVjZSgodCwgcykgPT4gdCArIHMudHV0YXIsIDApOw0KICAgICAgICAgICAgY29uc3Qgc29uTXUgPSBpID09PSBzYXlmYWxhci5sZW5ndGggLSAx Ow0KICAgICAgICAgICAgcmV0dXJuICc8c2VjdGlvbiBjbGFzcz0ic2F5ZmEnICsgKHNvbk11ID8gJyBzb24nIDogJycpICsgJyI+JyArDQogICAgICAgICAg ICAgICAgKGkgPT09IDAgPyAnJyA6ICc8ZGl2IGNsYXNzPSJkZXZhbSI+JyArIGVzY0h0bWwoYmFzbGlnaVRhbSkgKyAnIOKAlCBkZXZhbcSxPC9kaXY+Jykg Kw0KICAgICAgICAgICAgICAgICc8dGFibGU+JyArIGJhc2xpa2xhciArDQogICAgICAgICAgICAgICAgJzx0Ym9keT4nICsgZ3J1cC5tYXAocyA9PiBzLmh0 bWwpLmpvaW4oJycpICsgJzwvdGJvZHk+JyArDQogICAgICAgICAgICAgICAgKGFyYVRvcGxhbUdvc3Rlcg0KICAgICAgICAgICAgICAgICAgICA/ICc8dGZv b3Q+PHRyIGNsYXNzPSJhcmEiPjx0ZCBjb2xzcGFuPSI2IiBjbGFzcz0iciI+QVJBIFRPUExBTSAoc2F5ZmEgJyArDQogICAgICAgICAgICAgICAgICAgICAg KGkgKyAxKSArICcvJyArIHNheWZhbGFyLmxlbmd0aCArICcpPC90ZD48dGQgY2xhc3M9InIiPicgKw0KICAgICAgICAgICAgICAgICAgICAgIHBhcmFUUihh cmFUb3BsYW0pICsgJyBUTDwvdGQ+PC90cj48L3Rmb290PicNCiAgICAgICAgICAgICAgICAgICAgOiAnJykgKw0KICAgICAgICAgICAgICAgICc8L3RhYmxl PicgKw0KICAgICAgICAgICAgICAgIChzb25NdQ0KICAgICAgICAgICAgICAgICAgICA/ICc8dGFibGUgY2xhc3M9ImdlbmVsIj48dGJvZHk+PHRyPjx0ZCBj b2xzcGFuPSI2IiBjbGFzcz0iciI+R0VORUwgVE9QTEFNICgnICsNCiAgICAgICAgICAgICAgICAgICAgICBzZWNpbGkubGVuZ3RoICsgJyBrYWxlbSk8L3Rk Pjx0ZCBjbGFzcz0iciI+JyArIHBhcmFUUih0b3BsYW0pICsgJyBUTDwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+Jw0KICAgICAgICAgICAgICAgICAgICA6 ICcnKSArDQogICAgICAgICAgICAgICAgJzwvc2VjdGlvbj4nOw0KICAgICAgICB9KS5qb2luKCcnKTsNCg0KICAgICAgICBjb25zdCBodG1sID0gJzwhRE9D VFlQRSBodG1sPjxodG1sIGxhbmc9InRyIj48aGVhZD48bWV0YSBjaGFyc2V0PSJ1dGYtOCI+JyArDQogICAgICAgICAgICAnPG1ldGEgbmFtZT0idmlld3Bv cnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEiPicgKw0KICAgICAgICAgICAgJzx0aXRsZT4nICsgZXNjSHRtbChiYXNs aWdpVGFtKSArICc8L3RpdGxlPjxzdHlsZT4nICsNCiAgICAgICAgICAgICdAcGFnZXtzaXplOkE0O21hcmdpbjoxMm1tfScgKw0KICAgICAgICAgICAgJ2Jv ZHl7Zm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7cGFkZGluZzoyNHB4O2NvbG9yOiMxMTE7bWF4LXdpZHRoOjkwMHB4O21hcmdpbjow IGF1dG99JyArDQogICAgICAgICAgICAnLmhke2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47 Z2FwOjE2cHg7bWFyZ2luLWJvdHRvbTo2cHh9JyArDQogICAgICAgICAgICAnLmhkIGltZ3ttYXgtaGVpZ2h0OjUycHg7d2lkdGg6YXV0bztvYmplY3QtZml0 OmNvbnRhaW59JyArDQogICAgICAgICAgICAnLmhkIC5vcnRhe2ZsZXg6MTt0ZXh0LWFsaWduOmNlbnRlcn0nICsNCiAgICAgICAgICAgICdoMXtmb250LXNp emU6MTlweDttYXJnaW46MCAwIDNweH0nICsNCiAgICAgICAgICAgICcuc3Vie2NvbG9yOiM2NjY7Zm9udC1zaXplOjEycHh9JyArDQogICAgICAgICAgICAn LmRldmFte2ZvbnQtc2l6ZToxMXB4O2NvbG9yOiM2NjY7bWFyZ2luLWJvdHRvbTo2cHh9JyArDQogICAgICAgICAgICAndGFibGV7d2lkdGg6MTAwJTtib3Jk ZXItY29sbGFwc2U6Y29sbGFwc2U7Zm9udC1zaXplOjEyLjVweH0nICsNCiAgICAgICAgICAgICd0YWJsZS5nZW5lbHttYXJnaW4tdG9wOjEwcHh9JyArDQog ICAgICAgICAgICAndGgsdGR7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO3BhZGRpbmc6NnB4fScgKw0KICAgICAgICAgICAgJ3Roe2JhY2tncm91bmQ6IzAwNTZi Mztjb2xvcjojZmZmO3RleHQtYWxpZ246bGVmdH0nICsNCiAgICAgICAgICAgICd0ZC5je3RleHQtYWxpZ246Y2VudGVyfXRkLnJ7dGV4dC1hbGlnbjpyaWdo dDt3aGl0ZS1zcGFjZTpub3dyYXB9JyArDQogICAgICAgICAgICAndGQuYmt7Zm9udC1mYW1pbHk6Q29uc29sYXMsIkNvdXJpZXIgTmV3Iixtb25vc3BhY2U7 Zm9udC1zaXplOjExLjVweDt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MSV9JyArDQogICAgICAgICAgICAndGQuZ3t3aWR0aDo1NnB4O3BhZGRpbmc6NHB4 O3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQ6I2ZmZn0nICsNCiAgICAgICAgICAgICd0ZC5nIGltZ3t3aWR0aDo0NHB4O2hlaWdodDo0NHB4O29iamVj dC1maXQ6Y29udGFpbjtkaXNwbGF5OmJsb2NrO21hcmdpbjowIGF1dG99JyArDQogICAgICAgICAgICAndGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pe2JhY2tn cm91bmQ6I2Y1ZjVmNX0nICsNCiAgICAgICAgICAgICd0Zm9vdCB0ZCx0YWJsZS5nZW5lbCB0ZHtmb250LXdlaWdodDpib2xkfScgKw0KICAgICAgICAgICAg J3Rmb290IHRyLmFyYSB0ZHtiYWNrZ3JvdW5kOiNmMWY1Zjl9JyArDQogICAgICAgICAgICAndGFibGUuZ2VuZWwgdGR7YmFja2dyb3VuZDojZWVmNGZkO2Zv bnQtc2l6ZToxNHB4fScgKw0KICAgICAgICAgICAgJy5zYXlmYXtwYWdlLWJyZWFrLWFmdGVyOmFsd2F5c30uc2F5ZmEuc29ue3BhZ2UtYnJlYWstYWZ0ZXI6 YXV0b30nICsNCiAgICAgICAgICAgICcueWF6e21hcmdpbi10b3A6MjBweDtwYWRkaW5nOjEwcHggMjBweDtiYWNrZ3JvdW5kOiMwMDU2YjM7Y29sb3I6I2Zm Zjtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjhweDtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MTRweH0nICsNCiAgICAgICAgICAgICdAbWVkaWEgcHJp bnR7LnlhentkaXNwbGF5Om5vbmV9Ym9keXtwYWRkaW5nOjA7bWF4LXdpZHRoOm5vbmV9JyArDQogICAgICAgICAgICAndHJ7cGFnZS1icmVhay1pbnNpZGU6 YXZvaWR9dGhlYWR7ZGlzcGxheTp0YWJsZS1oZWFkZXItZ3JvdXB9JyArDQogICAgICAgICAgICAndGgsdGZvb3QgdGQsdGFibGUuZ2VuZWwgdGR7LXdlYmtp dC1wcmludC1jb2xvci1hZGp1c3Q6ZXhhY3Q7cHJpbnQtY29sb3ItYWRqdXN0OmV4YWN0fX0nICsNCiAgICAgICAgICAgICc8L3N0eWxlPjwvaGVhZD48Ym9k eT4nICsNCiAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJoZCI+JyArDQogICAgICAgICAgICAoTUtfTE9HTyA/ICc8aW1nIHNyYz0iJyArIE1LX0xPR08gKyAn IiBhbHQ9Ik1hdmlLYWxlbSI+JyA6ICc8c3Bhbj48L3NwYW4+JykgKw0KICAgICAgICAgICAgJzxkaXYgY2xhc3M9Im9ydGEiPjxoMT4nICsgZXNjSHRtbChi YXNsaWdpVGFtKSArICc8L2gxPicgKw0KICAgICAgICAgICAgJzxkaXYgY2xhc3M9InN1YiI+JyArIHNlY2lsaS5sZW5ndGggKyAnIGthbGVtIMK3ICcgKyBl c2NIdG1sKHRhcmloKSArDQogICAgICAgICAgICAoY2FycGFuID4gMSA/ICcgwrcgJyArIGNhcnBhbiArICcgw7bEn3JlbmNpIGnDp2luJyA6ICcnKSArICc8 L2Rpdj48L2Rpdj4nICsNCiAgICAgICAgICAgIChva3VsTG9nbyA/ICc8aW1nIHNyYz0iJyArIGVzY0h0bWwob2t1bExvZ28pICsgJyIgYWx0PSIiIG9uZXJy b3I9InRoaXMuc3R5bGUuZGlzcGxheT1cJ25vbmVcJyI+JyA6ICc8c3Bhbj48L3NwYW4+JykgKw0KICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAg ICAgc2F5ZmFIdG1sICsNCiAgICAgICAgICAgICc8YnV0dG9uIGNsYXNzPSJ5YXoiIG9uY2xpY2s9IndpbmRvdy5wcmludCgpIj5ZYXpkxLFyPC9idXR0b24+ JyArDQogICAgICAgICAgICAnPC9ib2R5PjwvaHRtbD4nOw0KDQogICAgICAgIGNvbnN0IGRvc3lhQWRpID0gKG9rdWwudHJpbSgpIHx8ICdraXJ0YXNpeWUn KQ0KICAgICAgICAgICAgLnRvTG93ZXJDYXNlKCkNCiAgICAgICAgICAgIC5yZXBsYWNlKC9bw6fDh10vZywgJ2MnKS5yZXBsYWNlKC9bxJ/Enl0vZywgJ2cn KS5yZXBsYWNlKC9bxLFJxLBpXS9nLCAnaScpDQogICAgICAgICAgICAucmVwbGFjZSgvW8O2w5ZdL2csICdvJykucmVwbGFjZSgvW8WfxZ5dL2csICdzJyku cmVwbGFjZSgvW8O8w5xdL2csICd1JykNCiAgICAgICAgICAgIC5yZXBsYWNlKC9bXmEtejAtOV0rL2csICctJykucmVwbGFjZSgvXi0rfC0rJC9nLCAnJykg KyAnLWxpc3Rlc2kuaHRtbCc7DQoNCiAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFsn77u/JyArIGh0bWxdLCB7IHR5cGU6ICd0ZXh0L2h0bWw7Y2hh cnNldD11dGYtOCcgfSk7DQogICAgICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7DQogICAgICAgIGNvbnN0IGEgPSBkb2N1bWVu dC5jcmVhdGVFbGVtZW50KCdhJyk7DQogICAgICAgIGEuaHJlZiA9IHVybDsNCiAgICAgICAgYS5kb3dubG9hZCA9IGRvc3lhQWRpOw0KICAgICAgICBkb2N1 bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpOw0KICAgICAgICBhLmNsaWNrKCk7DQogICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYSk7DQogICAg ICAgIC8vIEJhesSxIHRhcmF5xLFjxLFsYXIgaW5kaXJtZSBiYcWfbGFtYWRhbiBVUkwgaXB0YWwgZWRpbGlyc2UgZG9zeWF5xLEgYm/FnyBrYXlkZWRpeW9y DQogICAgICAgIHNldFRpbWVvdXQoKCkgPT4gVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpLCA0MDAwKTsNCiAgICB9KTsNCg0KICAgIHJlbmRlclBpbGxzKCk7 DQogICAgcmVuZGVyR3JpZCgpOw0KfSkoKTsNCg==
