Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 海阔视界规则分享,当前分享的是:小程序¥home_rule_v2¥base64://@粉妹爱PikPak@eyJsYXN0X2NoYXB0ZXJfcnVsZSI6IiIsInRpdGxlIjoi57KJ5aa554ixUGlrUGFrIiwiYXV0aG9yIjoi57KJ5aa5IiwidXJsIjoiaGlrZXI6Ly9lbXB0eSIsInZlcnNpb24iOjEsImNvbF90eXBlIjoibW92aWVfMyIsImNsYXNzX25hbWUiOiIiLCJ0eXBlIjoidmlkZW8iLCJjbGFzc191cmwiOiIiLCJhcmVhX25hbWUiOiIiLCJhcmVhX3VybCI6IiIsInNvcnRfbmFtZSI6IiIsInllYXJfbmFtZSI6IiIsInNvcnRfdXJsIjoiIiwieWVhcl91cmwiOiIiLCJmaW5kX3J1bGUiOiJqczpcbiQucmVxdWlyZShcImhpa2VyOi8vcGFnZS9TaG93XCIpIiwic2VhcmNoX3VybCI6Imhpa2VyOi8vKioiLCJncm91cCI6IuKRpOW3peWFtyIsInNlYXJjaEZpbmQiOiJqczpcclxudmFyIHJlcyA9IFtdXHJcbnZhciB7c2VhcmNoX2xpc3R9ID0gJC5yZXF1aXJlKFwiaGlrZXI6Ly9wYWdlL1NlYXJjaEJhckFuZENhdGVnb3J5XCIpXHJcbnNlYXJjaF9saXN0KE1ZX1VSTC5yZXBsYWNlKFwiaGlrZXI6Ly9cIiwgXCJcIikscmVzKVxyXG5wdXRNeVZhcihcInNlYXJjaF8xXCIsIFwiMVwiKVxyXG5zZXRSZXN1bHQocmVzKSIsImRldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJkZXRhaWxfZmluZF9ydWxlIjoiIiwic2RldGFpbF9jb2xfdHlwZSI6Im1vdmllXzEiLCJzZGV0YWlsX2ZpbmRfcnVsZSI6ImpzOlxyXG4vLyAkLmxvZyhNWV9VUkwpXHJcbnNldFBhZ2VUaXRsZShcIuaQnOe0olwiKVxyXG52YXIgcmVzID0gW11cclxudmFyIHNlYXJjaF9yb290X2l0ZW0gPSBNWV9VUkwuc3BsaXQoJyYmJicpXHJcbnZhciB7IGdlbmVyYXRlX3BhdGhzIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9QYXRoJylcclxudmFyIHsgZ2VuZXJhdGVfbGlzdCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvTGlzdCcpXHJcblxyXG5pZiAoZ2V0TXlWYXIoJ3NlYXJjaF8xJywgJzAnKSA9PSBcIjFcIikge1xyXG4gICAgLy8g6I635Y+W5omA5pyJ5paH5Lu25aS5L+aWh+S7tuWIl+ihqFxyXG4gICAgdmFyIHsgZ2V0X2l0ZW1zX2xpc3QgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXHJcbiAgICBsZXQgbGlzdCA9IGdldF9pdGVtc19saXN0KCcqJylcclxuICAgIGxldCBzX2l0ZW0gPSB7fVxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGk8IGxpc3QuZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBpZiAoKGxpc3QuZmlsZXMpW2ldLmlkID09IHNlYXJjaF9yb290X2l0ZW1bMV0pIHtcclxuICAgICAgICAgICAgc19pdGVtID0gKGxpc3QuZmlsZXMpW2ldXHJcbiAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8g5pCc57Si57uT5p6c5YiX6KGo6aG555uu5piv5paH5Lu25aS577yM6YCS5b2S566X5Ye66Lev5b6EXHJcbiAgICBmdW5jdGlvbiBzZWFyY2hfbGlzdF9mb2xkZXJfcGF0aHMoc19wYXRocywgbGlzdCwgaXRlbSkge1xyXG4gICAgICAgIHNfcGF0aHMudW5zaGlmdCh7XHJcbiAgICAgICAgICAgIGlkOiBpdGVtLmlkLFxyXG4gICAgICAgICAgICBuYW1lOiBpdGVtLm5hbWUsXHJcbiAgICAgICAgfSlcclxuICAgICAgICBpZiAoaXRlbS5wYXJlbnRfaWQgPT0gJycpIHtcclxuICAgICAgICAgICAgc19wYXRocy51bnNoaWZ0KHtcclxuICAgICAgICAgICAgICAgIGlkOiAnJyxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdob21lJyxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgcmV0dXJuXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbGV0IHNfaXRlbSA9IHt9XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGxpc3RbaV0uaWQgPT0gaXRlbS5wYXJlbnRfaWQpIHtcclxuICAgICAgICAgICAgICAgICAgICBzX2l0ZW0gPSBsaXN0W2ldXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc2VhcmNoX2xpc3RfZm9sZGVyX3BhdGhzKHNfcGF0aHMsIGxpc3QsIHNfaXRlbSlcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgc19wYXRocyA9IFtdXHJcbiAgICBzZWFyY2hfbGlzdF9mb2xkZXJfcGF0aHMoc19wYXRocywgbGlzdC5maWxlcywgc19pdGVtKVxyXG4gICAgc3RvcmFnZTAucHV0TXlWYXIoJ3NfcGF0aHMnLCBzX3BhdGhzKVxyXG4gICAgLy8g6Z2i5YyF5bGR6Lev5b6EKOaMiemSrilcclxuICAgIGdlbmVyYXRlX3BhdGhzKHJlcywgJ3NfcGF0aHMnLCBzZWFyY2hfcm9vdF9pdGVtWzJdKVxyXG4gICAgLy8g5YiX6KGo5qCPXHJcbiAgICBnZW5lcmF0ZV9saXN0KHJlcywgJ3NfcGF0aHMnKVxyXG59IGVsc2Uge1xyXG4gICAgLy8g6Z2i5YyF5bGR6Lev5b6EKOaMiemSrilcclxuICAgIGdlbmVyYXRlX3BhdGhzKHJlcywgJ3NfcGF0aHMnLCBzZWFyY2hfcm9vdF9pdGVtWzJdKVxyXG4gICAgLy8g5YiX6KGo5qCPXHJcbiAgICBnZW5lcmF0ZV9saXN0KHJlcywgJ3NfcGF0aHMnKVxyXG59XHJcblxyXG4vLyB2YXIgcmVzID0gW11cclxuLy8gLy8gdmFyIGl0ZW1fa2luZCA9IE1ZX1VSTC5yZXBsYWNlKCdoaWtlcjovLycsICcnKVxyXG4vLyBjb25zdCB7IGdlbmVyYXRlX3BhdGhzIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9QYXRoJylcclxuLy8gY29uc3QgeyBnZW5lcmF0ZV9saXN0IH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9MaXN0JylcclxuXHJcbi8vIC8vIOmdouWMheWxkei3r+W+hCjmjInpkq4pXHJcbi8vIGdlbmVyYXRlX3BhdGhzKFwic19wYXRoc1wiLCByZXMpXHJcblxyXG4vLyAvLyDliJfooajmoI9cclxuLy8gZ2VuZXJhdGVfbGlzdChcInNfcGF0aHNcIiwgcmVzKVxyXG5cclxuLy8gLy8g6LW36aOeXHJcbnNldFJlc3VsdChyZXMpXHJcbiIsInVhIjoibW9iaWxlIiwicHJlUnVsZSI6Ii8vIOaJqeWxlSTlr7nosaHnmoTlsZ7mgKdcbiQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0V4dGVuZCcpXG52YXIgeyBhdXRvX3VwZGF0ZSwgc3VibWl0X3VwZGF0ZV9pbmZvLCBwaWtwYWtfaW5pdCwgY2xlYXJfdXNlcl9pbmZvLCBzaGFyZV9vdGhlcl9yb290LCBzdWJfcmVhZF9sb2NhbCB9ID1cbiAgICAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxuXG4vLyDoh6rliqjmm7TmlrDjgIHotoXml7bliLfmlrAv6YeN5paw55m75b2V44CB5Yid5aeL5YyW44CB5o+Q5Lqk5pu05paw5L+h5oGvXG5pZiAoZ2V0TXlWYXIoJ2ZpcnN0X3NwbGFzaCcsICcwJykgPT0gJzAnKSB7XG4gICAgYXV0b191cGRhdGUoKVxuICAgIHB1dE15VmFyKCdmaXJzdF9zcGxhc2gnLCAnMScpXG59XG5cbnZhciB7IHJlZnJlc2hfYXV0aG9yaXphdGlvbiB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvSW52aXRlJylcbnVuUmVnaXN0ZXJUYXNrKCdkb3dubG9hZF90YXNrX2lkJylcbnJlZnJlc2hfYXV0aG9yaXphdGlvbigpXG5waWtwYWtfaW5pdCgpXG5zdWJtaXRfdXBkYXRlX2luZm8oKVxuXG4iLCJwYWdlcyI6Ilt7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiQVBJXCIsXCJwYXRoXCI6XCJBUElcIixcInJ1bGVcIjpcImV2YWxQcml2YXRlSlMoJ0RXL0o1TUZieHRtbm9wbmlqTUVGQTlab1JGNStzNVNHdnJDc3FEdHhqZVAyTGFxNjNTazNBTG1FakMwbjhEeVlOQ2N0VFJOU01CdFBEQ1VYTUJ2SzdFS3phNmprZTdKODVEYjZiTE9vOGRnQnBLRlZLR0ZpckhJWU0wd1JXRlBVMllhYUE4b3p1MjM3a1BoWnczNXFHaTdxZXpRWk5rQ0VKOGhvR09WQXpKMko0L0dVN2Z2UGxuZDJ6ZTdlMTJLU2N0RGZmZGtvVTA5WSs3MzhLdjA3M0dPVzBqNnR5V3JJcERIR3pnQVcxTGxCbUFjQWQ0MTBpUk9obzE1em9RaEhubkNFb0thc2dhRU55WWxTWWdHaGJrYzNkNjFvQVFBZXloOHZoSnhtenlHRzdJSHpvV3Qwc2k0LzkxQm11MmZESWlXcXQzYmxoOHZ6WUNlZ0REUDltT2RkZlRLd21NSXpseWRORm5KTGFNMlVNN3Z2OGRyaEVpb2ZxREhMVXpmL2o1NGdBV3RrdVNGOEV3ckZtc3JWSWtsL25qeC9KYXFzdVFXUmxGQ3o1eTBqRVcxaTZDQ0ExQXlmUjl5d3ZvUTBZY2RPRitOa2VvTGY4TEZ4S3NReXNmclROOHNWWlUzZmIxU1U4N1ZwNi83QlBTQ05qVFpxbW52ZVVrdXZGNjBIRGVnRWVXTnl0clVvckRFZEtEY2VFbTFrT1BLNTh1YkVTdUgzRzA5ZnZhMDhyeVFNR21BNy82YlZUVWRDYlJqUU9GNjlDbmo4dUZWZjZoOHJURkZkdkFHa29WVW9ZV0tzY2hnelRCRllVOVMxczA3OE1NVWpvWVB3c3g4UFBqTzhxY3MrZW5HaG0rcE5FWE44aFV2bTNsOGk0ZUo2YlVrNE9veXJnN0NNcFdJR0JjSFYvUjB2L0RCMHFZeU1rRGlYYjQ3dk5BZFlkSWd1TjdnZ3pMNmxBOUJTcFk0NjE2VXlHcjN4S011UndZWjkvaXhJYUk5M3NURU1YWFU3VnA5RTNSUThRVmhIanViODdBVTZLenJMcDI2SUJOWXlRTXFISFBSWm1pVTVjcVFhNjVYckNvcVpvMm0zejlicWdqVVZzdDMydi9wWHF1d1hNN09NYU5Sc0t4dUxDbHBLb1JpcjdYTk11MXNwWlZiN3U1cnJSR2lxdHNrdkFmcVhiQ3IyYWRnL0Jja2tIRHNOZGZ0MGt5M2d6N1drdUFUdXMrNGoyaDdZbmRvSzVlT3ZiZlA3TjNwTHNnOTROd295M0pRY21ONXA0T1V4T2F5QzVCSXZvbFBEWk16MnI4VktNV1hvVlowYlRla1VoR28zSUFjTWVZNmp3Z0ovaTgxclVWWnJCR2xRWmY2QS80MFJ0TWM5OVMrR1NMQU04TG5yS3JaRDlSbTVNWkxaRE1OTDh4SVAwQWhNSkFmWjREV2I0NWlqUUViM2c5WTlmdmppc1M2RWRYa2Y1akxubUlYMDJ4QWVVM0xVQUp1TENuZGlvSUNIQUJ1eHRQMFd4SDh6VU1LU2xhSlR2eXExanV4ekdoZGhycmtPemltcDVTbnVSTURxNmRibEUvdnBrS0hBeXo3MWtqYlQxSll0VjhIYkVmUWdhNVFrVGZ4MlVpRnFXaytwZXg3ZzJoY2dwSHlEOTJoREk5VXROSno3VktlMFQ5blAwSHgvSmhEbWUyRHFKdFVpa21nMW5USVBsREFZTm5JQUtmNTVuZ0w1UUFXQ01rVWdDZUZLWUp4cFBFVGJCckdLRHcxUmptRG5aeEtiNS9WZFNJQjdtVFZ1anFoOStZcGlJMS80VTNJakt6TE9ySmdzeWIrRkRKWnRXMVVycUFOQ1BpbGVrZHZDYUhKbjJkdjU1SVJ3NWNnaFRmb2Fvb0d6ZUdNaFdmdTBubXhITlNjQVB3bXkrRUh2VU1Eb1ZORUpvZ01kdDNzVjlJblFlakNoNmNBczVnZytKVjA5ZkJ0QmdtTDRRL0wvT0JmcURrcDVUeFc4b1pLN2FWczQvdVRtVXJ0citCUFdXWlZLZkZlamtISDJxcFlTL1VFSTYyYU84ZFFFR1NIYUJLbHBkd1JqeFZQc3VreTlLbDRsM0R6blZjUit5aTZJZTlhZU0rWU9uQVM3anUzRzRJdG9aeVI1Vm5Gd0JHdDluRDkrbTgwVFZPVWVaQnJTUjFwNURpUk5ySkgvTjVkN2IrT0FEcFNDekpld3V2ZG5lUWsxSFcyUmNHVFdXbW5YS2ZmZXpRdGtiaEovcVVwdmZzaE9aU29yQ0QwKytScUpDc3lISHcwU0E2ZFJUeU54Ujc1QkY1M3pSb1hubTFRMjdpdm5zU1FuMlJKMGF5akpkZGttTVFXT29mNmRPekdsZHJ5Z09UZEp4OGF6dVMvZzhWWUtZY0hWY3hBVHF2aFpkSjQyZ1Jna2oxblozNVdURHdHTTJYWktBbjk0MG1UTGZJWWtUMTFoTWg0Vklqa0RxNllTZVlNODl6NXRDZDdDVk41SVBUdXYwL0FmYXZHamo3cHJmVU1hZU13LzVjL1I4QXo4SzJFSVZ5QjNaRlJLS2xKUElGOXNaMU9aRnlZeEJZNmgvcDA3TWFWMnZLQTVOMG12VDV4NFBZV29hUWl6SGpVVkNzOFBYZU1HcjRHb3QrVEx4TFRhYkhFMzl3TEI2UHFPdzMrRkMySlBXVVVoL3N0RGliWmNXditMOEtOVlpmNHB2WkhtcVZuRlRhdVVZbWh3REZJQ3phOTIzL0h1S05FSjdUYnkwaTZFMGdMUHN4SEhMVWZJcnR5MmVTczNYV09SaEtVRGcxelNTckREeEI2WnFVcnJyQTEzU3k2cE1pM09obWczVWl1cXlSNUlOc0ZTZXFxWjBWdksrczY4akNnZWsxZ1NKcTJUbWc2ekRmVzdLWXlZc2pzUVNvSnd2VVRVYXozVkN1ZDcvcHpKMElNUUNNVFI3Nno1QWt5UTNOQlJVcFYrc0F6d3Vlc3F0a1AxR2JreGt0a013N2dFcGVvdFgvcXJuekk5Mk9Qc1VyamljWEJWbUdOYUZqVExwcDFTSlhKL0trQnB0ZnhmT09XaXA3ck5xK0dWNVRHTW96cUtXeWRqbitnUmVNSTFwV0RIeHJPNUwrRHhWZ3Bod2RWekVCT3ErRmwwbmphQkdDU1BXZG5mbFpNUEFWVFFFWjdoejhwd0p5K2RCRXZKTTFmSExXWGFreGNBWWUrTFFkOXRaejdtSmMrVyswRy9BWENHTlRmK01SQmpjUVFDajhhMENoVFlwbWJyQy84RnNhNWZsMEdmYzlrQi93Wit5ak9hd1YyZHcvZHhObzJiRWgzK0V5Q25tTXVVOEsyVmdtbU1pL3hONEVhR3N2dno1a0VTUUJsOHZCeDV0MGxmcnNMTGd5TTQyV0QxNU5vU3lsZS93ZjNrYlNTRFZoUnBKcEJGZ0JYanFFcGZZWG53UCt6Q2UyWS9oUjVPY3V1N3RLU0Zvc3NKQUlMaTNzdEtUQXRJVkg3ejljdHVHOEFxZ3FOZ000Q0hUTkRvNU50akE4VHZsdllwTGxVMjFRdm5RU2RMSmpBQWtLUjZ5YXNQODZqRlNDcHkvZkg5V2VYRUY3SGVtRFlNdFVoNEJTZzQyTml3RXpUajBENEdqcU5BWlU1K0IzR1FoVndnbW5ZdmZ2Zzk0Q2dqOFlSRW9YdE5PMGdCVFZxWHNkc0U3Nll3SHIzSEZ0NE9LMzR1bG10RGQzbW9oS2hMbE0vSmFIRXBRM0xITEhYWENia0NkR00yUGExYzdBMDR2VEFaU0g1bGc3eUFyU2RPTkxFN01wQ2dTYTJ1QnJrUTJ3MEFtb0lndE0rT2NyeVRpa25ENlY1SnYzdWhobW1nNXFvNlFiVjZYU0RZaG5CajZaVU5ock16UzRMU1V2U3d1ZzZkLy9abmhoZWFVc0dOOXpicjdxSENINkgra0VZcWtUMzFKZjJYeEpneXNRd1g2T2ZmUEFTenQ3YzNOTjhiR1pUOFhXZ0YzU1FVS2VyUkw3ZTJWL2RZZE1JUHlSWmRHOVJjc0ZTdnVWeW1taHB2THlkZGk5cUJ5RWd1Wlo1QXl5dkxTTlpXYy9zSW4vdldTQUhVOXVVNlJuUTVhUi9jdUxSZmh4L2thWExrSlcrVEtIcVhOVnh1K0xkbk9nOVVhTXhTY1ZXc3BxQ0dMVm1MVWRNSzRiZ3MxWmNFeGZMQmplYlJLZ0NBcEdydFozNm9EV3Q2a2ZYUUdwMHpoVmdPWkI5bFA1WkVLbE14VG9xcWdCNXdCNWtpeG90aUkrZk1EWFp5MDhEVmNaNEp2Ky9SaFpPMlRSdnRUVitzWFljS09mZXdtbysxSmtNWDU0ak9aWUM0dUJUeWxSYzEvQmJVbmNzeVJJTzllT3B1OStkTXhtU0ZUQkJlWTUyVGlYdUgyQTVkVC96aHlDcjJ3Y3Vlb010Tlo5WDFCWnZmR2VvcWZFbHhqVS9wd2hnZjNZVUVGZnpmRHlSeUI2cWpvYSs2MTlmNWFFcktTQXB1dk01NTBSUm1aRHlpVksrdkN0bEFPRWs1cFNvc0xUOEhUQkhnRkszUERlZXJxZjhFdkRpdHhCOFQ1eTdpaFRjNUFQWXNPcWhLdHJaSFRCMFF6RjYvWHg3c2tYTWUweWxSRk9VcSszckk2YWluaHlIZjJGZDBIdHUxU2xJdTJ2eGxkU0JBQXRxbE9waU9FNjZEWW9DNzhXUmtCWG1pTE1BUVVXazdSckxkbHNKQXNCUlhXNU5NQVEvdU9zUCtZa2pJK1hoZHd2elNrK01kdlU5TjdXUzVrOUZXQ0gzSzkyZmcvdGYyZjVDcVhIVkY4Y3RZM3dkMk1yRU1GK2puM3p3RXM3ZTNOelRmR3htVS9GMW9CZDBrRkNucTBTKzN0bGNGUTJ3RzVrQ0crNmNrUk1ndyt4N1JZMGZDdURKM3BVWHJrV1NENkVBekppQStESlYvQVJpcWVqNmdyUDN5empQTlRVY05vL1lXaHE0RVpOblNwUVFaTFNxc3cyUU1hcUV3NDBlVWVhMklvdmRxZDRZcjhrank0L211b0I5dFQwQXhhcktIdW82ZE5LOE05Z1VtWWdKZWpJZHBRZ1hVWmpaaTBWeHB0Z0lyWmdEeGtjYnJaTmNXaEZ0RmhIY0lEMHZFUTc5YW10clVzalU2OCthVVRtRnVuWEFHTjJ2bkhETUxVVXozSkQ5Zy9lbGZCc3lTUGZPMWJpdG1POWRKNVJJRFphUE9mOGxlYmhqeGI5MXpINVpaNllpbnBxQWlDQnZubWJkbTgwSzJzQXJ4aXZIYUVNUDVRMXFUY21ucnZsY04wS0EvY1NUS0xQSTNtVktWbDllQU1xYzZJSGVyNll2QkpEWlhjMStwZlcwbUVHZGdTODBlbG85Nkh3RE94aGFxYmo4YWQ0aHE0VWVTMWxzK2g5Qk1wcG9hYnk4blhZdmFnY2hJTG1XZVFMQU04TG5yS3JaRDlSbTVNWkxaRE1NeGpZN2NJWWh0Q3BTZ2EvNE1DVlpvMENzV3RUb1NQcGNWMzF1cHoybWFtcVpiRTZEcVhSYzFDaC91MXIwU2xoeUtIN25XbTc2NVZ1ZDhGbnZUUmhueHowVkRXZVRpOU5mWm4vTmhzOFcwMHhtTlpOWVdlRXoyOHlVTEVaZjdMOUlYaHMrR0hpNnQyM2RJWVJVZWpvTnBTcmJ2c0ZRdkJUVmtRWDV5N1NiUzhjVnd6ZFlFUUhNeVFlSG9CQmRpYUFNZ2RrTHgxTmU2c0JzUDAxdmdxVUttaThEMFlXc0gvV2hmRFVwSjJka1kva0ZwWWZ4VWwrOGZGRzBWYnRFanRTNU1VSXA4VEVyTFliSTd4RXEwaEhxclZKQTUxQmRac08yUkRES1diSGdSVkFTL3NrVDdPOTZVZWpQeHBCMy9JQ0JVV3BXdFdPR0M3NS9NY3I1N2hCenJwQUJvV1drM2EybnhRT3FDeWlrMHlxWUNLdGo3aDFuMFRIb2d5NWhqN3VhcUw3c3pLdXo3M0JIOHFqN1ZuUFBzOUZOY3FkcWFmbmJtSTVRTWoySlY2R3hRVGl0cEg1U0RqcGNYZ25xeXc1WVhQSGJnUVF3RkFjUDN2NWhVQXF2QnJaV0NhWXlML0UzZ1JvYXkrL1BtUWQzSkc3Q1B0RVhCd05uQU9mOW5mNWVRSzF3SVVQQTRFZVZ5U1dPcllSNjBBcXBjM2dCdW5jdW5hNWs1ZG55L214eERNbCs5QnNOQUNJVWdaOGRQMUl1WVk0ZFg4SXhmWklxSVlsYm9TeE9YSmpFc21PbGZMWDd5VGx1Qm5lVDh4dXBVVHNCR0xSRGZ3Z042RVFyaXZWUFpzRXdVM2FOazlzVmpBSXoxbzZPS041K2I1S0NteHlzOUpTd3RKTFRucVpqUldxVnhwMlNBc3U5cDZLZktxSGtkSE8wMFVoelBENW94a3pIVUJ6NlFrcnlzMlY0dTV4dVJUeFRuTEJDa3ZKeDdOV0pZWjArVGdOZ0M0bE00RlVMd0hpTnZicEJsMzJZTkF0bmNmT2VvVWhYY29QSm9Ycmllc3BOSU81NnlDMGZjQ1dockdPb1BSU0hCR0JwN2tBWnZqN2lJMjd6UmpmejZYcER0bU9DM0hZbFBVaUlsZWgvMmd1d3RIZVpwOXBYNHh2RHVCVzNFdkFMNm5FanBkZG95a0MrMXRDMHQ4Y0RUWmpWMlgwQkxXQUVWeW40VXdxOHVEZnh0QTRFMGJ4cEJrUzYyOEUxN05maElGaXF6TXJ0RHBwTU1kbHNiQkgrYWNQMkxCRXJhZ29oZXc5WDc2RE5pZ0RLMU1uT3E5YnZsY0h6OGtTeHRnK3dsS05TK2tpQmZ0SDJIOUtFemxqZGQxRHlFNk9mck5oZHhkbjZaU2VoTlBqRkhKYnpjQWdHSUVwcVI2dkdtaklBclFESkNhb0xpeTNsa2lkaDJvenhGTXhDOXZGWVh6cFF5K3c3ODg3RGtKeXZ2MnduT0orODZlMXBzajkwSGhXSTNNZlYzRXR5RzdJSHpvV3Qwc2k0LzkxQm11MmZEaG5hRm5QMmxvQUQzcm5KRUpGUG9WTFA2Vi9RZ05NazdOOVgxRlNvNWI0QjdUZzhzU0UzQ3JvbE5PN3gzODl2Z3dUMGdqWTAyYXBwNzNsSkxyeGV0Qi8rV2NVTWlWZTcxZ1k4bDB1UHhYZHo3S0dWYzU4WG1SMlduYWpHU0lrV3o2MS9UN2FJVzJVSlg4aWZ2c3pGTThVRlBVbHlGVEdCQllxUk0zSDMvMG14dmo3aUkyN3pSamZ6NlhwRHRtT0MzYUVob0gvOWQ2UEdEczV6dWlueXdCTFMvckZqdGdTdHIrV1h5SnhlRjhNUXpLUUtiSVVQVVUrMU9UN2d3RUxTcFFzTmRTdHRORXJPVUVCL0VIV2wzTGRVWVZYSDZld1dnVDZPWGxwK2FLQ3VWUWt5ZUJzNFFZaFdrTWwya2FEOERaMEFHdGc0RXI1NUxldHNVZVhJaEc3UjAveG1JR1hUcytOUWIvVWZLOVlwcGJaaUl4NFVBNmdUcFlRWER3eXFyNjMvWHFvM3krSU1iNS81bTQxQTFKMjZJMnp1U092Ylk5cjROSEt4TUJ3cEdLN0RQK28xVlRRU05CNkIrYlA1dHpwUXkrdzc4ODdEa0p5dnYyd25PSjhNZXdXNUh4amx1ZS85Q0h1dlJDZXJMSzh0STFsWnord2lmKzlaSUFkVDJyVDZUVkdvSTdYK3o1Slk2ZG8rSWQ3WkhUQjBRekY2L1h4N3NrWE1lMHlrQjk2U2pOYWhjM3JzZmNHT2J3ZWRwV2plT0paanFBNDVJZnh3MnVYYnlDaFR5M1BITkJZN3A0UFRSdTBGZGwvY3ZaSUpVbXp0dWk2eXVwME9mNkFOWXl5dkxTTlpXYy9zSW4vdldTQUhVOXJQNlYvUWdOTWs3TjlYMUZTbzViNEI3VGc4c1NFM0Nyb2xOTzd4Mzg5dmd3VDBnalkwMmFwcDczbEpMcnhldEIvK1djVU1pVmU3MWdZOGwwdVB4WGR5T1Z4Uitsd2R5amtzWk9oSnIwOExGei9nT1laTjlLYWlqMVJsSHIvNzl6cmdWaXQ0dEI0TFFoUXBLVDJZSFQwWi9ZLzVnSFhCVmhKcUY2NFZTRHVhMm03ekE4emhLRTg2ZjVYWXZQYXE0WHkzaGZFT2RLMHdMVllDSVdKMytlZjJUQVFuVXRKL1Y4eWNHMGt3YnFYUVl2VjZHQTQ5YkN3c1N6SnE4TXhBMkJMSVBwOHVSMS9FWVJnL0dhTWVMWDlPVlFreWVCczRRWWhXa01sMmthRDhEWjBBR3RnNEVyNTVMZXRzVWVYSWhHMWhSRkk1d0h0cTJObzBMSjFhVEltZCtYaTQycGRhNktqT1NKa0xyTDlnMnRXQzZvWUlUZlZGOE5NaTBiUmxOcTNBRWJWaE1GbkhGNm5oVnhuNGR3NElsMmhrL3VCNE50SHdCbi8xU2ZyMThnME8zQjc5bWZOd0tPN0w4ZHRqak9KRU53bDZGdC8ybUlmeE0wVk92N0tlR2RvV2MvYVdnQVBldWNrUWtVK2hVV1VSUkVZK2RDekNPNHhabUZqSFh6dXNuaXRBY0t5NERDcFBxeTlsRWFLWlB1dC90RHFPUFhpMTF5dTR6VjMzbkk4cURBSysxVjJaUy9nWWVVc0UyWFJUNEdmcmR2MnRZdzdydzkweldMRkdRSzF3SVVQQTRFZVZ5U1dPcllSNjBpM1RBbG90SnRWTEd1WDJCNWxTUG80dFNYVXMvYTdMUDUwTlNLd1VSZlcrNEZZcmVMUWVDMElVS1NrOW1CMDlHSmI0YTJCYlZsZm9jdHd5NlN0RTU3RnQ0c2RGOGlpNHJTcW45NGViM3RVTUN3VUxuR2ROb05FUkFQQW5ZbkhZWFQ5OUZtWHJ4bUpVMFZoM2hWZm44QVBUTk1ZV05uYlVRQkZXaExtN3A5VmJqdEpjZ1I4QkxjZzNSYVdJSFVodldNVTJySWdUQ3FtNVl0TEEwdmkzdWpNTUtHMDg1SExHdGlKRnlTY1hPR0V5eDFSRVhPcGFWcnV4VUprTER5SFBvcnphRzBzVk9SdnF4M1F1YnNlRnplRnNWVmdPS2FXNEk3UUFrYVNPdGRWTTg3M0xseUJLNEs5US96N29CWm9UbExxa3lMYzZHYURkU0s2ckpIa2cyd1F1cU4vaS9Ra3BHUGozQ0RYaS81bUVrTk5xTTE3aEVsaFM1RjRjcTVDZHZtU0xHaTJJajU4d05kbkxUd05WeG5nbS83OUdGazdaTkcrMU5YNnhkaHdySE5TUEIzSTBWSU4xTVRpVDJIZTVRanJOVXdQTHRuZTRKcXZaWjZ5ditTTmd5MUd0QnFqT1NZU1NxdzhOTEpqTGtSemlWQ3BsWmNPTTZDcnhadExSM3l6THpzZmp6QWJLUVdoOXFlMmZRMEZqVjQxSzhWSndPZWFwYUNQSUhUa0dCS2dRenpDZVRteHR0TVFSSUNwdWZwdEo3Sjk1OVIxTVl3dEgxdnQ2WEJhYXg2eTdiNVNjSGQ1NEtIRE9zcXh0NFZReElPV3Q5bysreEttYU5TVW5TMGoxVFFaUW9VUHpTbysvM3hsRXJlSlg0eHZEdUJXM0V2QUw2bkVqcGRkb3lrQysxdEMwdDhjRFRaalYyWDBCTE5XdE5LcGdYcE5lVXB0Rk1Xb1FSNUZmcklRVFowcW1KNTQzakpsT2wxTFJRczJ1eGh1THczbXJEVDdrSi9iUUgvUGRyQUhQL2gxalUzL0w0L21xazFmcmxTZ2FFV3R0VWkwVUE3K1RuRDlOYlZYYnFpS1VWakpjVm42L3NRY1R3YnZmblRNWmtoVXdRWG1PZGs0bDdoOWdPWFUvODRjZ3E5c0hMbnFETFRXYzNwblFjcFBENW5yWXFiWHZWM1ByUGkvU0ZReUhQOHp0bTlCYk5CVkptU2ozbTRLd3IrVXpIclhubmtmL2s1TVlSV2ZCOU90WXRUc3MzS0xKS053Y1E5M2xkUUp5MmtrMXN0M1NISk85Q25EelN0ZlFiMHBGL0t3MjFDM01NT0N4cm9vYlVuNC9CMkxsbWdXUjViUk5RdkJ3TUJPTmFlWGp0aGYyem5QUkZYUUFtcm53eE5JK0pONUVRK2pqSEJtM2RnVlF1bm9IczQzKytjMFVEMysrYnR2YW1vb29aZ3ZwbGU3TnduQjFzYzUzbmFrbll5dzFnajVYa1p4OWx4UUx6S0MxR1BNZGNNVG5ETjgxY1pjcFZRd1RZVW1QbWZmZGRRUVduaEt0alRjY2ZWMk5wQW1vU3NLSTRzZDdlUnNUZzBwdUtUaWY3SFU4Z1I4MElwQkpnbXFZRzkwQzdINzFrVEthVXdHb2RYSE5nMUFUMTFEMnFDZHFLRXNwNVdiTjVNeE9pZ3M5SksrUmFJKzJodGZ0TTJxQjR4UC8xcWlIMUk4b1o3bnh5dHE4WUdjSWxTUjlZbkNZellQeVNVWEkzb1VnY0dScFpnTm12R2FZRHF6YTJkTGxXYXZ0TlFhN0JWb2YyVzRIZXRzYUJUSDF1RkdaQlhmei82TkNobWh3dmdkWDg2VHMxRlRxYVh1V3hob3Blc0FGNUtzeGNxS29GM3VpUFZtazFKK1RwZG5SQXVudHIxVllDS0lxbkpYWWpZczBYYlhDYm90WER1bU9GSllkbVljNkdKMWtNZCszVmJkRTUxSjZGdU9OZGt5dDhWdHR5Zmk5K1dWKyt4TDMyMGpKczNsblltN3FUSXhmUmNLcENYdUF0RmlBOXRZK2EwZVpCbm52dENyYjlvRFNGMXFiZDZXUS8rZlZNSEJWOGNMZFk2dUdFalJ0SFB1anB3djZPOGF6R2F3WDVJcnVxNjhkd1dJNkhoOHNyeTBqV1ZuUDdDSi83MWtnQjFQWlltMFJlQjd5VFlhQy9QRVVEUjNSR0pxcFJYLzNpOUgyQ0JyS3V1UVVEQmMvUUVqbWVONmJTR0ZtMzZVUTlUSFpFMDR4MFF3ZGJST2xUd1JxMlhsNU54UFdoaG05c04zT2lOYnhUR2kyL1psUEk3L1lER3g2TTJqQmhVZlMwV3hGSXgyVEVoWnJDNGpnUUh0QUlYL3prUlgvbld1QytTR3orb3VURnBYaVhRamY0b25nVXdJeFE5ZytMS1dwWFVBMGhDSVJ6cUphNGQwQ1NERVdIYU00c1hZbDllL1h3cldlaXpqNFZ6TEEyUzNpSGRvTUFNRzdDK1FGTmxQcWRSVlhoUE9oZWY5VFlFYVNMRkNEVG5tbEJobmFGblAybG9BRDNybkpFSkZQb1ZDQkhrdVlkYmhFT3crMmV3TlRyS25ZTGJhcFB1RC8wWUo5SW9YSnpIUGxpbkRScGtiNVVIeUJZTENqUFlza0JQUmxhWVh0ZkE2VEtxMkNoU0tCN1U4Y3BOSmlvR1pIYUlscTBFVGlyVWpSWnh5YTd1WWdKY1RxWk5PYXJFbldad2pLMmpKdFNyaHZXZHExNUVFN2lQdHh2RlJ6akpsbW5oRTluZXVGSkZHcHoranlWdlUxTDNDczh3VXFVdUc2R3B1T2NUR3VFMll2bzRJN3o5U01QWmt1YXczQ1VaRzU1Z3IzZy9BdG81ellwY1J1RDZpbU9qM3dNY0RnQStpNHQ3a2RMVkljaWZ6RUhUdHp1M1JNcnMrTVFsN2dIK0J0V0U5SUlJMmpYaTVseEFoRkRueS9PcFpsWnY1dFRQcUtwaFlLVDZROGVLRk1CVTB6R2ZPV1lmaVo5WFZFMmtOajZIYTFFcXZpTmpISG5sRmJLWXpBK3pXSFBnMW8xQzltOXJBcUJuYlFPNno5MW5GRVBHWktaa29GZ1hQVTlveHl2QXRkZEN1dkJ4cjI3eXl2TFNOWldjL3NJbi92V1NBSFU5cmFCVTZkRWdDbENTejJjUFZYbEY2MmYraHhubUtCNVJva3p1U1ZsSHVhb2d1cUlvMW5QTDFWbWtPRS82ZFdYb2twZEt3L3lXa0pVREVSRjRtOHcva3JTN0x4V095c0pwYkgydFZvckFOOCtFTTh5U2hOcXlaVmpmSkNrYzRtU2JwUExiaVZ1SVFTcVZ1cVpxRzRQalFlY1RzTHp3V25zLzl1b0VGdWFrdERWRlFSajJGYnVzbzFNMFZtY2MzUGJXa1hrTkJ6QnVLQmk5bGxTUkEySklBSUZjMDh2cXZ5THB1ZHQ3NUFrcGd3RFVZaTZQK29ZaDVHd3UyclBySmZ5QmxYRUF5cDBPYzBheVVzYlBjOFBDT3BrOW1UVURoSFNuOHhjVXFvUDlTRkt1ZUVmUWpxcTljdlAwVUwxZ1pkYmZzZmx5L0RVSzlwWVY5K1VEVnlRcmhFeFRhc2lCTUtxYmxpMHNEUytMZTZNWE0xTk5xd0dBNHkweEdkeDl1aGhTUkdJMVFGb2t0cjhxblhPQythOWEvOXBiWmlJeDRVQTZnVHBZUVhEd3lxcklNVXZtZU1aNldCU3FTVWhXK3ZFK1o3TDd0d1ZNcjUvYXNSNU52Zi9hVlEvNE01ZFZ3OEs2N2d5Tk15Z0xMNUVZSXNiRmFVMkNlRi9vbmw2ME0zZkZEK1hENTBqZVhVbFBtbk9lSDc5bDFHN3Z6bE5pS2RrbU1BenZiWlA5OVVKSjFRazZEN2RhOHRkR1JaeWxscVdEczZVTXZzTy9QT3c1Q2NyNzlzSnppZFk5L2FjcXdzZ1BVaWJwbkpZN1BUbU5UTGJGdFNqdHdPT0ZwUVo2dzcvUFBpQlJDMzFrTHdDbGFxV2gxOEhERzF2dUM4ZXZNaWs5UmNpdTA4d2xzWmFXMVYyNm9pbEZZeVhGWit2N0VIRThGWW9Ib3UxdVRuREhFMmlnYTBhZ25LM2dVOFhsRWxNWjUwNm5mdjdnTXRxeXl2TFNOWldjL3NJbi92V1NBSFU5b2tRaXBDRDFqS214N1F1bWtxSGVrenRVRmlSRlVqeDQ1Tm5tcENwdXV0dHl5dkxTTlpXYy9zSW4vdldTQUhVOXRNM0JuZHJNTjNoeXhYSFdTZnk2U0xMY2JvRUFPVE0vUFYwc3NmL2RZZEs2TEpZcHM5Vkt2Q0Jsb3RIZncyaW16eHE4WW1yT1cxa2REK1N6SGEvUzh6S1lSWGkyQ0VPajVxQ2Y4MXFwL2d0L0NZbEEza056ZW90ckgvamNpZVNBeWtQRVo5NUI4aUhmcjhXcXFaUnIrVThmZXRBU29ZbXhiNE84WHd4ZjFBbGRFaFlidk8zZXpmNlRCZmFCWnhqVVVmMnNaQmFyYWN4cnVXeUVHcFQyME5VZUdJQ2xRa1RnVmNaVGZJTjExaXBaQ0pYa0tzbXV1cnZRRDNaaGQ2NVMxWnV1M2VKMmFvRkkrVkFOMVU3eDVaazh6WXRFQ2JFc1Y1WGNOSGM0WlR0ZVVpaVJTbHYvWVROK0RoQ2daT3o4SXhhSElMMGVGVEYyTkVwT2tsbmw4SGRYQlI4WUpTVWlPejVjcDRkaEJHdk1ZMk8zQ0dJYlFxVW9HditEQWxXYUhvRTV0VjdjQ0xVbWxES1ZEcW1aTk4vTnNmYXBZRkRoUDV5QlZ0YVVzQUlXamVPSlpqcUE0NUlmeHcydVhieUNoVHkzUEhOQlk3cDRQVFJ1MEZkbC9jdlpJSlVtenR1aTZ5dXAwT2Y2QU5Za3RDZWVmbnI3MWhKS1hoUUFqNUwybllsSml5bUp3NlV0TXQ1WHNHWlRVN0RFUm8veHRQRTlyd3d5OUxnaExocDVFTnlCRkk4OHlDRDQrbzB0cHpwWk12YUE3RTRYV2R0OEVSSm5wOHIrOVFsSWwwTjQ4ZzE3cXZCNE44MzNlUUpaYVR3b2RsT2k2SzFMRDJPclNzUjJRc0JEVkJWRnhFdDR1WUtZLy9EMDM4aGc3Rk1uMUdNK28rNkIxditwQkxxNlYzdG80V0pBV2ZEZU9GbXFkRTMvdktIMEN2V29iTzlBMlJFaC9GSEJ1TlUyMGZvd0NFbm1tWHdQQUhhQm1lOU5zc2RHUGNNTzI2UTZTeExvblVGRHdQYmQwc2wwVUcya3hKZEkvdWtKbVJhaHNoaWRUQ0dDSnBtU010TEt3UmxVQS9YZERwZHgrN2VOckQ5TGZNakNVVWdLV3NYTTlZR3JDMDN4dzNlVDJ0VnhBTXFkRG5OR3NsTEd6M1BEd2pxWlBaazFBNFIwcC9NWEZLcUQvVWhTZ2M3SE9haFBCS2F6N1h5UGhGTTJFMFp4dFdXL3V1Z25YdU83WW1aNEQwZFRFaSswWGsveGp4bkhSL2I1aUhGU2t1U2RDanZkbEJ2N1FqcWpIdmlmRUJOeERqM3dXdVhibjh3azRnakRXVkpLOUtwRXBVVmoySUQzajFZNXdUWElibW8wekhXK2NaWGNpNDk0NElJWWJtcnRPeStKUlYza05XM1ZJTmVVV3Nqc2RrZTNiZ0YrSlE0emtnNmRYOU1LN1A3b3M3SVdHL1N0MzB5UjFncUhuOUFKZENXczNQbVpBR2JoL0s5TSs3cGYrWkxqUVc5Q2hldzNkNVlnR2ZoTWc3cGYwK2FLVVVHVld0alJFWlJpU3VHeDFGZm1wdDlyQmNpc082M1dLWEZEWU0yTllvQlQ0YytRMjI5WFhiY0RPalBiTmdtVmZCdXF1aTNRb2VVNGxTUW53RzdtUW1McG5aUEhCTEtxU3RnbnpxSWtyMVVWV2liZGRMa09jVGIzdjBUamk5b3lCbW92SDh3ejR2Nkk5V2JmcmRFSEtDQU5FTU96VFA2bHdpK3d1TDZVbkJqZDRwSDVRS0tRcGhpbjRtWWpvdU1CNkhra0dDMnFzYlE4TUNCNjZlR04vUGhzT0FjK2RiV2dUbXhxR3dDOG9wZ0RHUWV3MTM5Tm92akp5Y0t1Q0poa2VpSDlOdzJBKzg2NU1TQkxpUUNHTUpsS0U4Y3huaXpFRGJUU2U0bWxyK2xkYzN1dTlpN2RmTHR6M0l5dFV1N0VpS3p0OXhRWWNaWEtia0Z3bU4reUdGTVQ2RGNVRS9kd2FvOEI2Q2gxSDY0QzlUdFprTForaEY2TDlDNTFrOVUva3FCVTJxSWJmN255a3h1RS9TSUc0Wk9jaExuUTI4WjRVd2JpMW9VbkVPK0JrQmVxK09MRnlKRGYvZTkzbWIvbkFJOU5VenJleGxFWnp3WmFkN3ptbEc5NVdsQUROK0pzUWZJZGNlcDFKQ2FsRjdyelZPbEtySmRyMW5IaVVGRUZUWnBZZkV4QVpIZXBLS09IazJKZ0dLMGpENThxbG9xVW9vN3Uxcy9EWWZCMUlCZXUrNk94TkRFcTdKU0pxNjJteStoRzhxVkxLWEZUZVl6V3YrTWorcjlMTDZnbjFPYXdoZXNwTnFEZHRKZExWYWY5OW5mNXBBMnlqWWtzU1NHY0RYUThYbWFlejRwL0hZNHFJM29PMEFGZk1pa3JJaFBTM3NWU2d5d3lmVEdseXFJdU9zWmwwUEJvUUFzNk80SHNubkpWeFRkbzRLUDFLNFBlMTdwZnR4UjQrTys2MVlkcFo4V3RDTkNxM0o5QTV5a1V4dG41L3JSdmdta0dnZ3RmaFV3dnR1bFlta2hTVmg5WWh6MzJKS2srM2FsQVFpMTlVS2QzNDl1V1lzWkthNWlDZjlSbUFQQU1mVXFwVDhrbVJKYS9MZTZRN3NnUHNOTmF2Z0lLaFNzUmV0MWkyVmEzM1JoRkZGVTZYdnA3SVA0RUJTMEJWd0FnQ0E0Y1YyVk96Zllqb29UUWV2N3ZybHV6bk5hSVFSRWdJSnBkUUhPakRKdTZUUXdudEJUSEZ6UVVwNVZoRHIzdkpFbmlmd3grbURpT2lydmE4Y0ZiZ1lUSXZlTVdBVGhHYzBwRlFyVUxBWFlNcUwzTWhkdTBoeVJLUHJGdTFnRkFrVFZIaXJ6cVhoejdBdEFabjFqVjQvU0g5VzVDRWFtSTIyU1h3UDFxSHd5aFVRQjRWckV6NEhhYVZnQm53MXNHVmEwV1A3Y2l6RE5yVzBhYmxlTVhEYThiZ1NVWlF6Q3JZLzdxak93S05xSHRFNzlqVGZXbmxOSmdoL2pRcE9LNDRBQjBxekMzazk0MlNCdTNYMVhSMVYzckE1QTk0c2g5VXpPQmR3aVVpZFdWMW1XUXNsYmxrREwyeWYvMkl5cXM1bStPUm5nTmxWdTJkZzREemYvN3hPcHB2d3hXN0hvdGdMbE1PdUtFK09JVFNjWSs4UW00TnpleVl4MTZmelk4Y0JaQkpJUFAvOGhiYjBXemVydE9BTTJIRXdqQWhRYTgyY0NvMDNzbUZNVXEzaERmRi9Cc2MzcUx0eXhEQS84TldNeHloM09wNDVEMnY2dkpLNnExN0tPUkVRdWRqMy91YTZQYkcyMmFOTU5nNGcxQ2pmVnM1dTBMMkZWYUIvMnlWVUxnM250QXkzN0o5REEzTWtjSmtlbjlvTTNDY2l1ZTQ3VmZsQWxOTVZEVGpnZEQwTW5GSWp0Qm1MZkh5dXN3TmFIaWc1WjR5SldHWkFlVzhjclRzUk9FN05UNitHUzUzR3pvNEpta1BlMFI4cUMxWmpxY0JaWkJ0L1Q2aWRNR1FxbkxRMkFvb0EyYUdObmlFR0hqVGQ2VTZ4ZnhKS1VNdHBCeXNwcWxRL0lFQzZPQUZsZHNOK3BaTGhhKzczSUZtOUJtQmEzN3JHYnVCdWVvUkxLbngzZDVINnZpbmlOQ202NDNtbE9aa09ySnVMWS9SM1dxSUtkeHlXdkY2UmVYVXRyZ0dabkR1N2pRZEFDYjk0NVV1bk9sREw3RHZ6enNPUW5LKy9iQ2M0blRkN1hwTFE5ejRBcG5YMGY3YVd3b2pFdWcrQ0krWndnTE9nUU5rcG05NG1CNXl4SzA0bDZHTEhHT290d3JJV0tkbjhTQ1hxU1I5bmVFVENDZ1FEK1ppZlgxQkhFaDFyNVBINmNwOFBnWkdDTnhnNFVmejRsMnNodHBHWW5qb21xQTQ0L3BpalVKcml4TlNQdHBFd1J5RlN0blVubTZQa3Y0OTFpNW9mNDR5eHNBanJ5WHBOejZkNHZWZ0YrVCtuWHZWTUxwVThrekM4OER0WFREV1BtcDJ2cnJPWGR6WVRqNHFyM0EwdmxDNFBhZWdCT2NQRk5NUlpDZUlTMktnNklLRmlEN2MxNzZ2Nk9RWDR2anNVdmNobE5TaW8wOUpkSjhlbWVySC8xcXZJODczTGx5Qks0SzlRL3o3b0Jab1RsOUc5VEJpd0FxRE5SMklGbTIwakcwUzVxQzF3UTBYdDNkdDFpbDMxeTFaMnBwb2ZrOThpRU9ieXdKZktHMFhrTUY0OVc2RFFQc00xaU1oMHdkRm9NRG4vNVBidmZLZXBIbjBtM0pLZzNIZWw4MjVCMFZuS0psVzFwaHFpOWE0M2FXU1VlS2RmenB2YTVtVDF4YjFYS0RMRmRua2JOc3ZWMUFkZ2Q4OS9ITERWNVBZQlJFQ1NjT1FDS3BTdy9DNnNsUVlsbE1udUh0VjBkK3FwalFQbm5OTUIzcFE5WmFCSHJBc2crZE5SKzBXTkcyS0dXZ0VsYnVRcDdKOU9TM2tBa1NMMlFIdGZZTjBEVkw3d1dQSkRxQ0htdFJQc2ozWDdxQUlLRjZzSjJrbmMxK0JZeFJZaXY3Rk84bWR1TG5zMUhMQllDMzhQdXZvdWh3eEJaSzhld3dhSXRISi9OS1MrQVl4L3p2ZTVnN1g3dzZ0cE5aT3p2YjZnTUY1b2hwc0pLdHA3QldxcTBKK2ZCVTdseDFWTHdVdXN0RGRCRTJhcy9oTzRsSkVlNzFrMnMxTjJLaDl3aWZhZXA5c2UvUEVxT0FXTmxaZ29oUGRLWHM1bVBIRHkyMG1MclhaYUhoT3ZPejQyUDlVeXZiejcxVE9YMm9jbGFnb2lVZitsNnVQTXhqbHVHZndxZFQvU041QWUzUkxRK0RxbW1oK1QzeUlRNXZMQWw4b2JSZVF3WGoxYm9OQSt3eldJeUhUQjBXZ3dPU25FTStlaVVJSW81OFhVS3FQQ3FocW04VXZKbktodzFxTnRKODJBZDlBakxLOHRJMWxaeit3aWYrOVpJQWRUMmVuR29yNWlFRE1XTjhOQmEzeThmd1k3VFF4WkVyNjRLZElFaDdHQ1BPcnNpSm90UDhYWXBqTCtCSFZEYXF6MWJPNzFFUDFCVFQrWFhyS25nMy8ySjA2RDg1Tlg1b2pwdEN0MUJDR0o1aVhmTEs4dEkxbFp6K3dpZis5WklBZFQySWtUclNVZzRrOG9COFhoWjN4WGV0TEZ4amw5REs5aVZXbml0eDl2a1RBM0xLOHRJMWxaeit3aWYrOVpJQWRUMmFqZmhVTTdCWWE1MUxCVG9uYUd3VHRQOTJzS0E5U0srL05Ic3FmMTNDT3ZEakVoaHdLbEJ4amp3N0lNeXRJSTM1Um9vN3NOd1dqOVN0NzZJYU93T1lDeWpmcUJIamVpZ0Y5Yy9hWmZBd01DTmVSKy9vT01GUVpWb29wN1o4SlBFTzl5Nlo4OXo2d2RyQ0pWdXdvZS9kanB6dVNhaEZyLzFNaE9IRTByb3ZJR2thWDh1NzVIVmhQMldPdHpyYzlkUStqTEhZc3h1U1lMZG9Hd0NFSWlLNUs5b1FKWk5QSGwvZjRiTTRENEtCdkgwcTcyUjMzSXBqbGpWMzQ2UFJXSHRaQ0pYa0tzbXV1cnZRRDNaaGQ2NVM1aUMxU1p2ZGMwZ01lZ2NiRmFlcmt6cWM1eldPSkhOTGRyTmVIeW03Y25QeE4zOXZBUlRLZkRmSXVuUVZ5TWd3SGE1MXUzdU4vOEJyS1paZkZ0Zk1wVmVpME5ITWs0UElNN0ZQV3lmYkw4TW9GdnlPeThpcHRnSmlBWVJreUR2cm0yUWtCNlFRalJBSnNyc1BjVkY5M0xWNU5GQmcySDJtME5hVjM4VFAvc2tTNU1lY3B6dStMWTIydC9WSXhWam14SzlaU3BwVEh1M21OUTRxbkw2R01hRmFBS1h4RWNRNGJmc2JVOEFERENlenEvTXlLL3BUY25sVkZVbDlwMmtHQm1FemEyWEprN2tDOE45V0RTSHlhYlhKRmJWNzJCUWxqd1VLOTZHVjNhUVB3eXBVam5LMkx1aklXeFBXZFBnYkdyeDBRVTdFMXZSUGd1S1ZydlpaM1ZFK2RUQ1lWcUg1Tk84VHlvWXRyeWliUUw2aG4vd3Y5bVpwOWVGQm5xc3hNQlBhMzdyZHF1cVMyTkhYOHp0YURRMUtqZGlBdW9kV2xXa1l3RFd5MWxjcHR2WnFrUVZ4ZjNNb3c3MDU2akhraE5zeU85cFhuTFZyY0hMSWxBVFJxK1htMjdUMWl0UkVTdkFRWW9kZTZpK1BPOXk1Y2dTdUN2VVA4KzZBV2FFNVpuZXVtZnpRRjgvNFVSVDQ4aWVxSUZXTDd1U3JpZUlIdkdEMVFlb3FOU0NWSzJkU2VibytTL2ozV0xtaC9qakxJV2NDSlg1amg0QU9oRUt5eHBZNlBsZGVYcngzb0kzTFhqU1gwTDFEeXF4S3RyYVlBYVQrazhZeVdjRXVnMGs1WjE3NC9YRDRISG9GTnFLUG1UV1JTTVJhaG9FKzNaVE5uMUlTQVJERHNPNmMzT0k5WnRvL0ZnWWg1azA5YUliUnhLOVpTcHBUSHUzbU5RNHFuTDZHTWJESldvREFPZU1JNWlEQzBWVjB6TDV0NUo2TEtpa1VjeU5xWkpXS1BTZENFV0lHckh0N0NhaUFYZmlZNkNRUlZwOUFGRFVDNXFRM0NKZ2liNWs2U1RoQlNVdVpHd1k5TUJNNXByN3R3d1JBY0RNbWVlcGhvWGdOSUpueGtjL3grRzgrUmZ1UXpQeE5xdzdSQ0lERjdEdFZ1a0FUUDRha3FodTlIK1o0dVE1eS9TUVJnaVV5a3laTVNncFk1OVpTVlBmS3d2RzFsVytsZVAxeWdsVFR6aGNLSXJWK0F1TmZiVWJvTHV4YTBOWjZXUzR0bHVYODU3ZDltQTNzNGNzSEd5enhDdHh1dlNJL3ZmN21GQWEwWERMa0FUaGExZVhzYXY1Zmgyd3ZXalhhY1M3aVBtclF1cWtXVGJlSTdRdGZXMGVJcVkzM3MyeGt3NjkwQUFyR2RabWM2OER2blIyODZQb0tJb2dlTHlrdWJ4dGF6dnE5NURFVzgxRlVSVG0yZ0dVZVRsTVBUUlY0QloxaTJxS2h3TUN6bmJucTcza0pVNUZGbGhEN3p6Q0tTamgxZjNSV3dtZ2tWWlRHbDFGVTJZVmNmNUw0L3l5SkZwK2dRMTk5SDZjek1SNU96bEMvT0NXNXorejBCeXFVUWhEVEZwa3FPck5PdGpLbkhDdzlBV1V4UmJWNlhTU3ZoYjZhTG1Gbll1dWhvUVQzRSs4T2cyamo5WEk1R04xd0ppRk1aVDlBY1d2MG9USXVkcTkveHEwNUtqUkszY0JoM1R2R2ZBN0tCNCtJQUF4N1MrUVNya3VJblpCbjNqZytGNm5rMUNWTncrVFZFUjZpYWw2eFEzYnFTdnFYUFFScWp5c2cvREFlQW50dHRrYnowV3gvcjcwNmsrSDV1N3UxWWpUMGcvck14SW9XSnAwY3IySVIzZXVIbytXU0p2aUpNMW52TThFTUQxSTNhbUtmQ2NXRjRJb3Fjb29pQ3VQNFBXSTROd2FxWTYyYlNKU3d0V041K3cwcnZDck9aeWw4dXdHazZ0M1RPMFBOZFU2aVlyQTVJZW9tYm9XQUkvWUpvUnFEeURlYWVNS0hiSkowZUdOT1d1TFA3U085M2RxM25rTzZmMzQ4eFVLWVp3Q28yMEFNUVNDTGtBM0lzMHVHc0g2d1dPN2VjVlRLS1VpWGNGVGUzRU10bUszMnZTWVBmRHcyUVZqUi9HSDQ1eE1hNFRaaStqZ2p2UDFJdzltUzVpZ1NzMVFMNE90THdJWmRlcmpEakJ0RDJ2SXc0ZmxETENkUFpPcGZ4YVJSK2huMjZzOGJTNzhsRHNWTWFoTlh3UWlMeEc2TTVac29ZWmN5WFV3K29RQUwrZFNYMGhwU1BHdEUvV2NBZ0JGMXlPV1d5WDBBU0FJaXZjSFY1cDRXWGNtOXppcktjbDc3UTcvcitRK3pYdzZwWnRUMmVGQ04weFd2dHIrTHc3L3FYZGRFbFpuNmhaSTFDYks5a2RwRlZvVldDcFZmSDVnRk80WEM1Z2M0emZtd1ZJZnJKWVFqZGp0WEdXWHFYejBJYzg0NW9KQllYVmRsalQrU2NobktIcTlzNDdlSlB3RzkwYU9QNkNIRlR5bnRQWmdJMWM5YklVaERmWlN5L1Y1UEI1NXZSaW4xaXY2NHR3QjVGMUVrcXlaVFllL2Exb1dEdHd3NzN5bXFaRXI3SEovSU5EVVozakdTOTc5dHFxQVZFamw5VWtDMFRMT2FxKzQ2aWsvcGZUNXQ4WEh5SHRnR0RUUUF5enB5SXFFdytuOXlRNHJkdldkdmhuV3k3dGJyMDdZL1RsYnU1WUNaWUtuU2JZK0Yvb3B0NldGemZRenJJUVNjb0NxcEM3Rm1OZjZzVU5zZEhkVUhkUGtuMG1qK2FvaXZDbitsTGFKYzk0SGVlcTArWkxkWDlUa3lOZm13b0pEWExQbmsraUpRTGtYR1I3R0xwcmJNNmUvYjgxVzRnRy9mak94R2d2ZklzNmdZR05KR2dRSTd2eU0wREJFSDMvNzFBdkpjQlg0Ynl0RnlBcXVmQm9TMlppZjlmcy9SZnNPRlpRSkU2bk1vT1pqYkFtbzZValdnREwrLzZaYWYzMmhmVUFveHY2bStQRUtZdnBBbmF4REh2MkFOa28xS1kyeEtYWlp6VEkrSlp1VjhYZ0RweXh5QU1CZDBXZ1FaeXFtWU9qOVRwclJEbUJFWlg0SC9JS1VxOXNGRFZSVG02SEdKUXZSMDBpbENEN1pSQjRseHV0VjFRVkNneTJTbGhQTnE1Tjh1MERmMHVkMVkvVkdZckFPTUJqSFJzdG1XL2tIRUwrV2tLei9Ha0N4ZFVycEc5OStzVjh2QnpMVDc4VHZEc3VVTzEyTW5UM1MrNHBXNFNzMjlrUkc0M2pwd3J5SUdlcnQ3dnUrN2lYQlA5NngxZ01VUlptdmZpQTNDSzUxcCtsRUVFS0hvZDhSRHB4TmRXaDJUb09yZ1dkNnl2RWdqTjhhVlR3OGczejhPMXVyVDAzcDkzVWFqNm1LOUYzK0diSmNPVmE1eHIvbXlhYUxwTkczZWYvYnpwSk5rUXdvRnBKUmtKMU5hSzVBTHRybmJqd0g2Y092djEwK1NxcDc0WGI0a0RZWEZLUzQ3R3gvWVg4VnNGSzd6RmRpaEF2V1FidlRsTVpmeEF3WjhSeDVOc0tUV3J5QlpEdWtzY0wrVy9YU3NWRENrZHdSVGpKblV1SE9wa1FISk13dlZLMmRTZWJvK1MvajNXTG1oL2pqTEtrTE5mbE5Wb0pUT0F5NUpVOVBWcDg2S29UbjhhTXVNdGowN1pWU2ZrU3VEM1FzR004dTJLbjN6emUxN3E1L0I4cGI0Nm8vbXFoL0NpQlZuVFY5RnlhQjRMdXIwMHBjdjV1U1o0eU0ybEl6d3BOYXZJRmtPNlN4d3Y1YjlkS3hVRTJkL25LaTh5N2NSYjBJeU9GNGgybVo4cFFGeHlRTjB3YlpnQy9DZXFUR1dQeDVua0RrNjJYK0k5enhRYndibDJWcU5lbEdWVFlhd0VsNEdqOEhiUDRqWi8rUkhWanBoYmxZUDJtVmFZUFdXYWlQVnRVUTJrSGJGNSswdG5WRGwreGJhekhoQUR2UVpYNDZRdU9yaUk1dFVycG12d0pNRzJPQ084S3hkKytXVnM0UkcyNkYwTmlSRXk4eHFvdUJhQVIyTEx0Uk4zZDZtSko4NHZvQ1dYaHRVcnBtdndKTUcyT0NPOEt4ZCsrVzcwU1psckhYdVRzcHhEaC9VZ3Q5Q2ZiM292djQ1SHQ1WFFMQUc1WTdlRjNMSzh0STFsWnord2lmKzlaSUFkVDJaL3JjMExjRlFqNWlYOTIxaWxkVzVxRGxVa3YvVEJQWm82YW4rWmVhSm92TEs4dEkxbFp6K3dpZis5WklBZFQyc3JTenJ3dmo1UXJGMnhaYjIyZDZRbVBjSGJwL1ZXQTBYcXU3TUovTFhzL0xLOHRJMWxaeit3aWYrOVpJQWRUMmVWYWhvVWhBMlg4UTVnODFwQXNIZXlySDZReGdBWXpMTjBJeUFLVjNyZGNSa21zR3prSHhrTUdTTnA5RGl4R2xtd2VQZTQxSFRJNk1oSmxBVmQrRjFVNUJXd3NoZ0UyZkFDdzVSVzZIeUJJUW4vVHI1QjBDRUVGdHpjZzdFZkcwemZFdWlsRFh5ZVdWbzJTWWV6M2tHc2ZFVHFCNXhsY2M2Rkl2dTBrVllTNFdXK3pZZFdpM0dsVHhHZTdPN1hHZFcyc294Z3M1U0FZNk1KU0Z4WUlwNWMzRnJhbnRLSXJhQ2Jrc3NaLzUxeDd0MEJiUE0yL2xuRkJ0WnM0MjZ0blh5bVhTc0tDRVVvMUdJMFpESjl6ZHdRU2xkVTI5c2R4QkNmSkd5Nll3aTh6Mm1RcnRvZ0Y5b1FacVVlWWJ0bmlKTVl2TjNtUTQ0TThJSFQ2Uk5qYk5WRjR2dWg4aHB0TndYMG5ad1cvR1NMc0VwWFZOdmJIY1FRbnlSc3VtTUl2TTlwa0s3YUlCZmFFR2FsSG1HN1o0aWNNSmQ4ZDVTcjR3UUhOcmdCbUhUOG4ydGlsMXEvbkhoTFJYNThzWlVDY2c3UG1GVzI2UVB5N2xicDA2S3FRSnd2RkZaYThJMElyZE1TTzd1L1k3Q3FLUEVNN1pBaGNsb1lWeFZBTENaeVE2c3pyQ2owVFQvZis5VlVwL0gxSlJ4TUlMU05WQkR4YWdraTBkVUR5VUtIeFRtTkNpZkkzUG5reGhiU1AvMnl3MWw4cVd0MTJTYlgxVlhaTjhFRmlHWGs2OVFIendQaURxS1U5K0NHRm56NkdrNkZ5VnFGQXpVZ0hYSkw2UkxWMHpPcVdiVTluaFFqZE1WcjdhL2k4Ty8vQ21ScWowWUlQaitoZnRBNUhVWXFzLytyM1lDS2M1WHVOMmRKTmVOTFJJVFhaVXRYOVFzeDgwQ25VVUIzd3Y0MVZtZEhiaThDNGpTWDd0bkMxbE0yd0VuTkcrR0IzNStYYjA4eXorNU1sU1V4SXdzVFFpMjg4Sks0MkRMTFBVc2lsUktJSE9Hdnc0ZnI1YU5PRzhMSS9hZjdiUk5wOElXMzJrU3I0SkdDd25SaWhSdTgydTZmdklSdkpOeEgwT1BueVRLNUowdVlteWYxclo0YmtGc1UrbkRRYklBb0kzWUprMlJqckhndU9XY25lNHZ5cm5IeVhCRmtNWm9YdFlBUWFFQWh6bEh3bjJybGtBdjc4MlJjUmZlN0k2Q0tRZmF3c0dYbWN2MkJDWTg3UHNDN0lqcW13UmpXYlRhS3pyR2pSR2NmYjRjamlZUTYrZU5MMGJ3bSsyL2FBMGhkYW0zZWxrUC9uMVRCd1Z3RHE4elFuM1JObEo1YUpaNldVS0dPbDNNcFhLeDhGZjY1N1psMHlNRDB1NVlDa0ptY3BJMXFURkkvWE52eG4xWlZ1QlFUZlcvTWdQK2pWZmtKRjdBbFdiajZoRkNNcjZSK2pYWGpuVzhzVm5nQjhnUjR0bmVKc21aOCtHSlJOMTQwZG85R0NyUVFOUkFSTjdWWXI2VndrWlJualJDcVI2S3pwVyttYjM1SmI2NVVvR2hGcmJWSXRGQU8vazV3L1RXMVYyNm9pbEZZeVhGWit2N0VIRThOTzJ2WU9iaFJ3YjVKTnhVNHNTdkRoTm5HYzAvalJUaGQ2YUJ6VjZya2ZRQVZoZ1BWc3N0TXh6K2lVSVFSbis3OHNyeTBqV1ZuUDdDSi83MWtnQjFQWnNNT01XaXdUUzE2aDNwS1FVN2x3NFhpQU1xc2dWV2NwYmlndG5BVHM5NjBnNFR3YnZuYktiSVlKNW5USjRwUjJMcHRGNHd1UEwzczduMzNtSStxYytoMi9GenowOWNQK0VDUks3eDNMQXAyS0gvdmpTZHg1QTAzcVBURU9RUG9CRWl6V3l0YzlGdkQwS2pwUkRpU1NRSGJtdVk5SDAyeW5JN1lXa3NjeUZkbGZkUkw4aGJ6M1I1c1A4akgydk5TTE9sREw3RHZ6enNPUW5LKy9iQ2M0bjlzN2tmRWg1R0grbVY0RTM3NzFwNmhEZzZsOUFYWVlKWEdLdm5VVDZrT1oyU1A0aWxCYlVSRE1ieDl4WHdUUTRMbGJCeFhkZGRsQTlEWWx0ZzlxeHEvblVYTmRrSFdsV0xxRG16K3k5QTNKQWxaR096RmRrSVJKMWhUTGVpa2pFdkZHaE1sSnB2Qi9TYS9UZlhFc2hRRGRha1U5UUxIRmd4a25JQk5wN3Nuc1NVMk1La05JNnFmMTBPcTJzUUp0V1NxcFkrWHdqSVdJNjRrSHRZaE10L2xLYXlLc2l0blBzaTVDcmhCQm5reFJjMVlaTHJkQVN5Sm5lYldUY1VETTJiZ0tLalZMUWx2bjQ5WHc3cmJkSDh0M1BLV1FOTStPUWhjbkxPaUlUY1BWM1NWYVdqMXhQc0dtU002RHIrSGtsdFFJSGROTEFRaTdaMjBFS2RnTSt4WVU0SjJDLzdkZmtQbTZZZmxNSlloOTBuOE9TWDZ1cUdMaHFveW9KSW9tRUk4cURBSysxVjJaUy9nWWVVc0UyWFJUNEdmcmR2MnRZdzdydzkweldMRkdRSzF3SVVQQTRFZVZ5U1dPcllSNjBqR0dGWENRNDN5RGhPZXdaTjF0KzExeVZmZ3U4cDNNNlZaOVdoMDhVcS9Qbm5kWVZZa2tWMlkzTGFUdXRsMGRmNkFXOG1jUXh0b3JtaEhUdGV1Tnh5K2t4Q2NDWVBRV29jbkFmQnpXc3JaTk5nUzBzM09MbUtRcUZDRWN0dUlCdFRFWks2YUN3YUNMc1VDUTgwcWpxU3pNbmZKa0lrMjEzcnBkTDZTQlpNNVJNZWR2NzVrWWwzT1p2TXRTUmZhZE4xV3IvaE5vYjk1WElIZzZTLzRQaUs2eXN2VVJQdy9mNjFJNTlkUjhMWHV6dno4UDdnRmRrR3g1bkJpcmNsKzFkTjFxUlQxQXNjV0RHU2NnRTJudXlleEpUWXdxUTBqcXAvWFE2cmF4QW0xYkE2QS8rN21hOVZOdVE0MmQyNG9lTCt1VktCb1JhMjFTTFJRRHY1T2NQMDhZYVZPZnB4V1gyRkhHRWJkUFA2azE0WDEwZE5YR2o5YkFXMjNnd3d0UFM4MnM2R2w0OE4rMmNmZiszY3lEVTcvMlM1WEdCRTdpV0cvSDcvbFhrNWJkc01PTVdpd1RTMTZoM3BLUVU3bHc0WGlBTXFzZ1ZXY3BiaWd0bkFUczk2MGc0VHdidm5iS2JJWUo1blRKNHBSM05GQ29vSFBVdXU4YXJ4dGhLb1FqTktjUmk5cC9PQkZ4eTdPTWdja1gyYlhjclg0TTJCK3I1V3grcHh6Y21rdDFPcGViMzlTcTZ4aDdQV1dBYW9vQjlRbVk2QVFwYXovRU5vL2QwVEtCbnRPeWphRmJhbDVqWFB0SDQvelFpNFMxVWZ4ZjVmVGU5ZDZkWXVPejZHMGk2dDhkdUVYSDBGVlJvQWtUTEUvbEV5VDNwb0FXYm1SOHEydTBLRnEwaVZGd3AzZ1M2bGdFN1Y2MHFzb01lSG42UUhOQjNORjhyVFNzUmY5YjRjc2VIVDluS2VBeGlQVEVINmdEVWxJaHAxeXJjUE1qQlBNTHpmcmpxR21aRGpOSktGWFVPSXpzMVN3dVphQnE1bVdDVy9LMUdCQUpHUUlzWC9TdkNRRzA2NjR1UzA3Qzc5U202NFlCSzNSVEloSWxrdUdmSlV5ZzZId3BVYlZWM29CRlJVQmdSRmFqdzlDYU8zb0hXN0owSi93Ui8vZWljOVI2NkFIK1ZMcXVEaFdHSHdIWEFGQXk0bjNhY1BIMlhCYy9tczRuSlJ5bzQ3RGphanNURnhxOFYyVmp5RTZZWnAwWDFIaGFPN0g3QmlvanNIOFgyVnc5QVJWL2VSeTNTenJJdUVkZ2tQZE92Wnc2d1NlTFdkdDN5cTNsZDBQb0I2blV4NHVZaDVjM3dKNGlsOWFLaVl1RGVxb1RzK1JxR2RZN1IwU0x6R2pGVHRKcnhMYWZBYS9MT1V3Q3NIVm95UlZUKzBPTXdwOEs2cVF5andTRXlTMXJvVGE5R3ZHdDI3c2ZhUFJnRmhSeDM0QUN0bk9vNTNNZDVGQjAzS3NvRXU4ZjhrSEl6NmYrM1R6YVdMQzM1VHd2N2JoUVUxL1JLL0RlZ1pURk5xeUlFd3FwdVdMU3dOTDR0N294Y3pVMDJyQVlEakxURVozSDI2R0ZKYmQrRlFoSklDSGFMWENnbmZKRVloR3doMllPYlNNU2VDNFlobTJRTmdWN0RIc0Z1UjhZNWJudi9RaDdyMFFucU5oZHhkbjZaU2VoTlBqRkhKYnpjQWdHSUVwcVI2dkdtaklBclFESkNhb0xpeTNsa2lkaDJvenhGTXhDOXZGWVg4SnEweVRvL2NFZitPZDNhejcwbmFSVHkzUEhOQlk3cDRQVFJ1MEZkbC9jdlpJSlVtenR1aTZ5dXAwT2Y2QU5ZYzU3SGFxVjEwMkk5WkN6TW9OWFZtN2xRWEUzM2hTZVo5SHVKZHR5VkVOdlNkQmE1cDV2YmI4VVBDaTd0YTFLMHJKRUxBTUUranFmRks4dU5NNTJkZDQ1WEZINlhCM0tPU3hrNkVtdlR3c1h0dVFpc2thTGZkeWlNOWxGNG1maUxvQVc5RitPWm9NeTBsTjFGLzFCcW5wRTZDOTVuaHpQK2FYeHlDRWtaMGJ5YmFTRVI0cjVLRGxjeUh5Q283MmNmNkFXOG1jUXh0b3JtaEhUdGV1Tnh5MnJFWEJjamp6MXRiZnFXem9KZDJNOG1UQ1RuUDZDbER1aEV5UkRWQVFpZGYxbFdoNWJMZFJ3KzJINFFtQzRRSFFvelVUSE5jRjlGMDJzbTFES3UxKzNOYnRUTEdLbHRRajJ2bGVIMGNoaTZQbjQyamhnUDJjdmFDdWlLSTQxU0ZGRS93eHBBNlNVV21zSDBIaGpyNkQ1cy8ybzBTTG1yd3FpN25XYmluU1RZUSsyZG13YmR1NDcvOHcxeGZ1NnZJK2FqQXpJV3plaEREZCtCczJ5aWRjTS8zbk9lUlVlTzhiS2U0Z2xQaUV4Rlo3YnVEUnFnQXFQR04rRGJvdkhIM2M1QkdQUVJDQkxRQVZCVFBrMVRSQy9oRmljMGw4by9Wc0traUZmMmx2Q3RCWnFBQzA4WXlHa2J3YjZ4YXlmQWlENWhmc3MzRytQVWsxa2ZGc0lxMTJBaGVTbDNBM0pMRHlSZEhZRE5HQ2cxRjIwcnBYcDIwcWlhOEdhQzA5VWJ0VDRVOGk0WVJ2M2srclZvaEluZFZVeldsWHFWclBFdzc4ZS9nanQwL1hlWU45RGNHaDNERmR5amEvN0IwTDZLTTNOa0xiamU4Zmgxa2pRSzM1WG1PZndPOXk5U2ZFWWEyMmY1b2tpaGNmSWp0RlIrT1dOeXB0RFNnejNZMHlOQnptWjJMd21CcnBaSTN4QjFCc0ZsUWhKS3NaUHpHYzNEUFhEQ1BpR2lBS2FKRjdtSkdwaDM5MEFlSnkzaU1TUVhmNHhOTXlsMU9aVTBXcjJGSldMaVFvdnplaWlFNU5Hb0VDRTFqOVdDUlVMbVlmSTNwSG8waTZvZEdncVlQbzgxVzlOMDV1U3FpNU1VeHM1TEMvaHBkL1hVREpTNVFCQ0VoU3VlU29kZ2Vldkt0QkVDdDdidXZFN055RDJxa2orQXVvY21wWHowVVc0QUp0RUd1TTlHQitPek9yMnZUZjZJczVPelYreGdRTkJEcEZmdUlxaVZDVy9zcnU3QnZTUS8ydEFjQjluYllueTdQamtud1YrYTNaSVdPTTVYUHJGeTVFamplWWw4SjZTcHR1d010M1lKZ1ljN2prWERnbUgxcTZXRDVZYkkzMC9BWkJKQTJkMkFwOTk1TktPQVZiYU9iRXZsVDFpaGN2VEp2ZnB3M3A4U2Z0cXA4Mm1jVmt2cW95TlhsbTV0TVRvOGFZSFFraFFYZUo0endXQXVxNzFRRXFwSnRPdEtvanlVaDlPbVNzZ3VMZFVUa0FWZGFaZ1g4aUhnVll4YkgzbjV4aXpKSjVLNEgrcXBJWHRZcENOQWEyOGNPWlN2UFAweEk3cTFpOFNZTUcvSnQ2ZGRBYXJmOE9na04wZkY4MHp0QkorazZycXQvYnBrT3FzcGVtUmdMeWFaR2tEaG9pZ0JSNWt3NlZpbGVIdk5lTEgwZVExSzZtNzM1MHpHWklWTUVGNWpuWk9KZTRmWURsMVAvT0hJS3ZiQnk1Nmd5MDFuTjZaMEhLVHcrWjYyS20xNzFkejZ6eC9wQ0FPK2ZDTVQ5TmlHQzV2aXR2aXNrT3RlelFCTklaSHNQd3NYTUxlRkVFTkZRM2swRzZBNTB0N2NmTW10K0xZaFljRkxjZXAvTjZkQnBHaC9weUdwNTRlREw1QU02TWs0ajFQQXZQL1VobDFaeHRHWFBDLzFBU0FncngxMSt3SDNwS00xcUZ6ZXV4OXdZNXZCNTJteVViV2d0QWlNU0d5cUVRVUFuUzREL1o4NUVpY0U5OXBkMGVJUFRsUW9oanlpVksrdkN0bEFPRWs1cFNvc0xUKzIxOVRabEp5aUxybjJPYWwyTUU2TXZxZDY3ZzRXNmlpS3ZRV1V5UnZFaUpMRldDdm44L0YySEg0VlZvakpBRUNKVmxNUUs3K2c4UGtXMGdRd2xVOUU3K1JiTHZzdmRaL1JBK1NlMkVENjNXNHdPUUNNRFF1K21RWlBoQnFkUi8zM2Jib0piWXpyaWh4Z21iMXcwM29FRUxuQW1MY0FNbE94UGQ3TkZMUjhaK1dzL1Qrd1NIVGxVNmtSM0Fpczh4OEZ0MHk1TklUYzVRdDVVRzJHRFdqaHlLWUlMakswZEhhejBXL3ZoNXZZU2lJTEYvNDlyT0Jpdm9UZFYraFl2aVA4aXY3YUxvWUxrZHVFaWphenhibGNvbUVZRlZ1NEcvQ1VRTXlPZytOT3BtRldsbUxpQ25lQmJFUVpVVDVpVE5jUGpxbFdoRjhpa3dBTFdmblZsdHduUDkzMnRpQ1ladFdYaHF3U1FwVTBIY3pvZHNUYXowbGtFSURyTUZGVDVjMy9qWGl5ZTR5QVVkYmZXNDU5bTZZRmU2NTZKZE1XSlNKYU5tT1gwN3FGY0ZZbG44Qm84RFFEeml0OTVVSmVsRGFMd1NvQ1QyVENZTlIwK0lJZ3k4czUxSTJlTk53REVCWDlxNit5N2pYRHg5aEs4Tys3UEtHMWx4Zm96WHJDa1FYSDM0d1FaWWd1dkJoNVNCaXpVNmtiV01IZXNSOTBNaUpQNnQ3OXhvS1JUUmlQNS9ISWZxZSswdGVqcFlCV3AvUlh1TlV0emp6Q0Yxd05zcXlOWDYxVjhRaGdjTFQvM1h2Qko5R2JYd3VpMTVNWnl5aUs4MnVkK0RRdFd6bVZ1bmxVd1lwZ2tRcGhhbTc1L2lJTzJmRzFHYWJXeGdDWkxVQ3JRK1RTRXpSTEFVMlBlTmNRR2FxSHp0bHkzL0gzdStJbHBWLzdMRWlaQzY4UVpsRit6ZU8wS3A5aE14SmpTY2xBN2JDMmZzOEJCbHJWdlpqb2RGVTNudXNmUkJVL1BMcGRJUURTVzlUVi9aTDdvamEzSTE3YWIrT1pKdmY1eFgxOXlyQ3o0UEZ2ZG1IUWRGKzhGWlBaNWtxRCtocFE1azJyV3VqbzJXOURLK3RrdU9ibnFaM1JsdllqSDFuekhlZ3lCYUUxanFhc0grNm0xenlWSUFsa3k2aFJ6QUJkQmRBbkhKZkV4T2lNZTk0bkdXTzdOZjdUOC80ZENyYmh1NW9vQWt6Vzhxemp3UmxwM3ZPYVViM2xhVUFNMzRteEI4aW9xNDB3RFhwR2cwbTBCV0pqd3dtMEpzNWRhb3hPK0U1cWUvaGZ4WEtoZGQ3QnE4QU9aNE56clF0WW11Y1lPWi9ONWMrNUJpSXlVd1VpMUVLdytXSW8wTWlrYlR6d3ZXR3c4SFBoR000blFqL1FNekpRL1QwaVlTWjJIYUVDVmk3UnR1Q2ZiYlRxSkJ6TkEreitFQUN5M0Z6bDNETzZOaDArR2U5ZWF2TXgwZTBXeUdCdUxFT01odFJnRDBKcUtNcUx2eVZwQnVIODNaQm9LRTA3VGR6N01tcGlKcVNmYTlzNkp0amRlR3hzV1l2enlMcjZFMlNnYk5XTWtLdEFlc2prdFVWZzhYdUE2K05sSTZPOWNpaGdFUm80MmNoWENVUDBPbWlXNzlDNlJGYUlIQlBqL2dJRm5vODMzVk15eW05M2tIUW91bFFZNHROejdxNWtqM2VMZTM3K0wrNlRIUStoSGs4TU0wZzdqTjdUTkp2dXVvK1Q1R0FPS0FDdzdxRjJmeElKZXBKSDJkNFJNSUtCQVA1bWxYczFyNkQ0c0pIWWg2Kzd4M2tQUWoxZDlhKzBvVG5hNlJwdW1iNEtMN3JZY2NYSk5hUzltbTNzSzRyT0dYUndKUGRQRVZFS0hNZ2ZqeEQxZVNMOHo0azVvc2VaVWJSYzhBa0tuK1dONlZ0RzVHZUxwa3cxVDBQUTY0S1hKMms1NUJJTnU3QXJuT1RPa1ZRVkh5Z3BSQ0p0cTdacWJPWE9VcTFxdnk0MUVhcTFvd2ZndGNXdkgybHFvVVNDQnhRWHhEOU0zSmNlZHNqcGZxZ0hTZE9pU3ovZDlyWWdtR2JWbDRhc0VrS1ZOQjA0VzRwS3QxcHVxZ0dsTy9xQU1uQ0phMnRLL2ViS1pQMzQ0VExNOFNHQ3UrblEyK3JsbXRqMkFtMGdmeFBxWmtRSUNDRlpTeHdSb1BzeVlDOHhCTU1QMW5RNm1IUWNad2NYWmkycGFuY0tPQStPcVZhRVh5S1RBQXRaK2RXVzNDYy8zZmEySUpobTFaZUdyQkpDbFRRZDdIMktmSzB1L0h1bm1ab3JyazUxUE0zbHo3a0dJakpUQlNMVVFyRDVZaWhPSDNwRmF4Zmt1bkJ4YngxTE1HTTJhZytod2V3YVQ5aHRNN3JWaHRHa0Jidmw3cHRtckR6bXNTazJTT25sSFZGL0ZmN1oyTU9EbEpUckNQd3YwdTdkUWozMldmNGp2RjRpM3lha0tackNzQmFvRVZob2xjS2FORHlKQUo5MmZhYk1SRjI5RHpiMk1hd2w2LzZNME5VK2RJZkxBWXBmU0V3K3h4L3crWHIrUXVZQWYvNkpQbnJnOW9EYVZxbWQ2ZG85RkxkdVgvemhEeDFRRlVWMFZvSnltVG9YZnAzNkpiS3E4V3l1TzBMWkIvMHk1SGVqMW1XOHUwRUxVV280RERRL1ZtZnVEM0M1WU1hRlFoNlRwaU05bzlmbFRpeGxwS3ZkRGd3SzNDWUJtNTdhY1BDNzF6U1pwY1lCWlE2REpYVVBpWGNhOTJ6L3BrOU1rd2R5dG9MazJBOERGdk1mRm1sWjNCbGU4V1FGWDJVTW1FSU8yemhHcjhlR25Idm5peVd3KzlGeU1VMUNoOXF0LytkazRzN0NrY1hJa2Y0amVlUFQxTTFIZFVTTytRZUZuQjY0L1did0cxUjF3SDFKcGpuRVdaK2FyWDNiS0ZyTm1IQWVwRkJpNmNzQTlPYmlZcGtZL1pKNFpCblhiWjUvQnVHbTU3TlBvRGRreEJCMnZUT2VSeTIzZHNXZWVaV2orSERla08zTVRzNStmV0dQUXExTDRJa2pTNDVyaDNrZHF4UU0zUXpacG9SS3FMTkR2L3R2YmFzU0Nia2swaHU1NDdwNWtGaTZ1V1FiVTJ2UlFOR1ZJN2xPNUVla2VlTGtNWkhaMDlkWVlTT0VuSW55dVYzeGYyb2ZCZkxXN1RjeTZ0OXZkWFhESFJ3WmdxY05Pc1RyS1ZuQkxILzFYMWFzdndrci9mck5rb3Uyb0E4YTVXb2luVFJDVXI3UThBTEhwZlVXaHR1MzlPTDR0OTcyZ05JTGxYRWo5MlN4OEJqQ2lYcCsrdjBxdTBDMU12M09JNEFYdWdKNzBHMWVPRExTSmh0Nnd4U0ZsVWRKOTNEV21OOVlpTkk5SmFOMUdJanpndHNQODBQS1pSU01ZUkc0TEZiWmJvYlpOSHZrajVFeGtwU2N1MHhXUHdEM0NnNnRhZ3hmSVIyNGJqYlh2TTVzVnJ3R3hUUjlJUngzSWI3ckc5ckl6V1B5Y1ROanZDOG1OWEJvWEdsYm14ako5bzZBYTlIY1hvclIvbmwxRWVzOU03bGR1c0luUXkzMHFTaHNQT1FZUElMV2dURDB0QjlVZ3BTdENFS2JlMjlpZmxlRjM1M0N2RnJsSExQbE1SQmFDcmdTMHFYWEZ2dDBKYmV2eHprSkdVWjQwUXFrZWlzNlZ2cG05K1NXQ285VWVPeEovM3lqTUxiWmtYZmg3UW55N2luQ1BoaXdhOEozRllVdEU0OVhtYWd2THhhRmo5OGVGazgrWWNyTmZ0ZUdlNGw0N3U5K0lHZ0IrZ2lsNi9vMTdTM2VZemVGZVRLb3hyRGxWSGY2QitZTVJ5TUprSWQxWmx0MU1qVjNTVXNFaVZYek1LOWpBNStuMllIOXd0MndxdlhaQTYxMDc2M1E4NUZaWmMrb3p2d2ZoYTNpWUhzWVYrMUJZS0diQUhDNHFoZUNNZ3hnbndWaXR3RlQ3T01LZDA2Z21BWGR0elR1d3ROZnR6WXJRQWNDK1Y1SlVGRTdWSG84ZGU1UDJhWTUxM1Y4K3VuSmNGaW1jakNsMDhjL3FtZElQZkZhaXNGWm1DalFsaWdaaFAydFB1SkluVCs0eWxQL0FtbVlFd2lGbmVUcHVONEMveldZbi83VDBZNzBYVE55MzRWT2xnZFYxTkVpbGJPTTZ0aFh1RzNtRWNvSm95WlJNYjNMd00yK3VpTlkvUUFjMTh6S08zZDIvMzQxTElzd0pVekpIYm5BVEh1OWl0Z1JVbkkwZklkZ0VxdXBVN3ZBMkNpSVRjNWs2NXRoS1k3UmltYUNoRDBwaDBkTFZJY2lmekVIVHR6dTNSTXJzK05MNVVtYTdFU1B2cnN2WFZmaUlObE9TUTVJNDdUM1lGYU1TQWFPQW81NHkzWVRjRjdyTDhBcHUrZWlWaUYxWGl3aEQ1aU9GR1Foelp6RnRIOTZiSWx3MnJEUE1NczlEVFl3VmtKM1hyNE9nUzRnSzFqRFg1T0dVUDlPZldNSElZSmR3UmtLWjg0RHlUNExJZE0rVWQrbTFGWlVPOCs0aHJRY3U4Q1V4ZjRZRTJYQS9IalJVMWFlNkZmQTJFWS9vRXh0eHNLaWlnK0xyRFljVVZ2S3k0dVB5eXZMU05aV2Mvc0luL3ZXU0FIVTl1cUlDY3JqVGl1NW1TRkFrUDFMZlhNRWFTdU5IdGQwVkVhRTR1Q2FxQVMwMldEMTVOb1N5bGUvd2Yza2JTU0RWblAxUTU2QTlZU1FHUUsya1l1UTV6YVdWVkZaU0lwVU9xaEQ3QjgyK3F6R0FzTmF6YzJScmZlOHV6MlpuWElXYVhLQkRKOWpGWkN4NVF0elBRbWRrRmsxTDZVeStBK3M3WjdZYWRwNFA1OXN2ZnB3M3A4U2Z0cXA4Mm1jVmt2cW8rY1gvRGltdExaY3BoaXc4T1NJYmV1a1FpMHdRK2RCYWFPcG9GbXNETlZsSkx3WHFaSEFYYUgrbklJbndLWW1kR1NXa01MTFZnUEN4cDJNK2VKQzkxYk9sREw3RHZ6enNPUW5LKy9iQ2M0bmh1QnVjeVVtVzRRbUZtQngxVzc4NzVSV3ltTXdQczFoejROYU5Rdlp2YXlGYWhHTnRBbmtWM1FHQTlob3l0KzFZeUs1WEhYMG9uZ2x2TnpiRmY5aGg1cWJtcDM0cDZDU1FSSTRieVJCQjZtR2RvV2MvYVdnQVBldWNrUWtVK2hVZ1dPM3BYMk0yWk5VYkwzaWlGZW9IZ1JKNFNDS1dzRS9OYkNmU0NCS0o3eDUxenl2bGQrT2FvcHpianVTZWRaeGpDNWRCVGNtZGhCMkpGZTh3QWYxalgwdTlJWlpkSjltREVHdzUxNi95SWpsL0xha0c3aW9hZFFGV0hQKy9hZS94UUlkb2o5akYyRUlGaVlSRGM2eTdaOXFMYldSb3JYZ0grUk0xeFQ0S0VRZmVaclUwS25kQzBlQlZNSnFUeUNMdU84cFNQLzZQVDRSa3dzTGFKUUxsRXFrKzc4ZFdZcm1mNkFNL0dYLzdZc2JpRVBkc25oeDNneVpmd1RqK1JzRE5wYlFuT1BHcUlRTVQ5UkxuamJaL21rVGtGT1RLTUdrb0d5WWZRVlhDTy8yZUZJYzdmRC82V0JMV2ZwMDRpQ2VGcmlHWjM0OXFQZ1ZQSzIvZnBJZlZzc3J5MGpXVm5QN0NKLzcxa2dCMVBhdFBwTlVhZ2p0ZjdQa2xqcDJqNGgzdGtkTUhSRE1YcjlmSHV5UmN4N1RLUUgzcEtNMXFGemV1eDl3WTV2QjUybnJ2SS9xa3I0QmxmbVM2NStsUlFYSnM3dnNNajE1ZEVPcSt0bnZQbjdBSG1Qck1nUTJNVGRtczZyVWRDUURPNTF6bnNkcXBYWFRZajFrTE15ZzFkV2J1VkJjVGZlRko1bjBlNGwyM0pVUTI5SjBGcm1ubTl0dnhROEtMdTFyVXJTc2tRc0F3VDZPcDhVcnk0MHpuWjEzZWRjOHI1WGZqbXFLYzI0N2tubldjYzZ6a3Y0a1NHQXprYUd5OUdtamx6eXF2Wk4xdmpSYy9iT2VNaG1WNXNJNUFsUHI4UFA5ZytrRkF4aW51ZWIvQ09kek52UzFVY1FWdGZ3dkpweW91b05meVJlc3ZZTWMxRTRjbWtaNUQ0RnZ6ZU5yMkFCb3pMVVM5ZllhWUVvWGkyTnVYbHh5dlg2dEVrclFlZFZBbXBjWUJZVWNkK0FBclp6cU9kekhlUlFkWDk4a0Vla29VTHVIK1ZiYmlqbDBJL1FzVTVNVEFXMVVmS3pXNmF4d3ZoeUQ4MjJDR0xqZWFMNHFUaDhZaDEyTUV4WXlGVHZ1WjVsRUVYWjltakRJZGllaTVuYlg4aDEwams1S2VUNndma0hyTy8vUy8rMjViY1Q1RUxCd3pWY0NBblJxRmVqNnNPc3ZFS1BhdnZ0RWh1TUJjQXN0WldOV1BEVHh6cHJHQ05tQ1RKMm1YbDliK1hERURFVk1jN0FIdHBicG1mbE5lWTg2VFdLbkVuTlNiRytJZjlQNjhhRmhJazV3akd5M0tZWFlBMFJQWkpVOHYxOVhON2lFa2Z2anpwUXkrdzc4ODdEa0p5dnYyd25PSjlCZFdOOHUxR0RJelpOU1l5YytmY2toZmY4R3NYZnR2dEE2L2hkcGRVdlFBQ2F1ZkRFMGo0azNrUkQ2T01jR2JXNTJBYjVLTE9qWlBQWkw4M1owcTN3c0xmbFBDL3R1RkJUWDlFcjhONkJsTVUycklnVENxbTVZdExBMHZpM3VqRnpOVFRhc0JnT010TVJuY2Zib1lVbHUzdWwvOVp5MDhDT0pUR0NjUFQzc2JDSFpnNXRJeEo0TGhpR2JaQTJCWHNNZXdXNUh4amx1ZS85Q0h1dlJDZW8yRjNGMmZwbEo2RTArTVVjbHZOd0NBWWdTbXBIcThhYU1nQ3RBTWtKcWd1TExlV1NKMkhhalBFVXpFTDI4Vmhmd21yVEpPajl3Ui80NTNkclB2U2RwRlBMYzhjMEZqdW5nOU5HN1FWMlg5eTlrZ2xTYk8yNkxySzZuUTUvb0ExaHpuc2RxcFhYVFlqMWtMTXlnMWRXYnVWQmNUZmVGSjVuMGU0bDIzSlVRMjlKMEZybW5tOXR2eFE4S0x1MXJVclNza1FzQXdUNk9wOFVyeTQwem5aMTNqbGNVZnBjSGNvNUxHVG9TYTlQQ3hZTDJUeG8vTWJ5OU9yeFNJZVhUYituMng0Zjl0TlpvU2dFeDZ6S1AvSCtIVE01MTdPTE9uNkR6b0tWbmJzbC93Nk1UMElWdzJIYWpES2hCMjkyWEVWSXNMU0Y4SEpkMC83N05wK1UrR3g0WWo2NUU0Wm9rdFVYaDNZQ1I4d0NMck5sQTNXRWFyNXRaWWIyd0U3SzFkUGNLeXpHK3RoT0FBbnB2K25weEJaS2RxWmlEMjZDNUp2YUwzS3B4UUV4ek9vTlhJUklRc0xsZHR1b3E4VEpSYVI0TUJSQlFjbHYwcFpuMUJ3aFVuMnl5dDZhNU5NeUh2dC9DQVlxV3VadUMvNFZCMXNRbkhWVVRIMkZRcmc2VnNGZmdmSnQzcndBemI0K3hXSU9KTnBRVjQzMzJHeG9oUkwwaVJtS0F4d29HalkxWjZDeUhKVldpWkdldDkyZUJpS241YmtjbzQxZk9WZTlvS2JFLzRieHpaNjFhVEZDVGc4OTkxRHBxZlNhaW8rQS8xRzV4cjEzOVBnMnJObGFFWU5mNjVVb0doRnJiVkl0RkFPL2s1dy9UeGhwVTUrbkZaZllVY1lSdDA4L3FUWGhmWFIwMWNhUDFzQmJiZUREQzA5THphem9hWGp3MzdaeDkvN2R6SU5Udi9aTGxjWUVUdUpZYjhmditWZVRsdDJ3dzR4YUxCTkxYcUhla3BCVHVYRGhlSUF5cXlCVlp5bHVLQzJjQk96M3JTRGhQQnUrZHNwc2hnbm1kTW5pbEhjMFVLaWdjOVM2N3hxdkcyRXFoQ00wcHhHTDJuODRFWEhMczR5QnlSZlp0ZHl0Zmd6WUg2dmxiSDZuSE55YVMzVTZsNXZmMUtyckdIczlaWUJxaWdIMWgrcXU5OXIrNVRmdGVqemNqczd2Nm1MNDdKM01qMHFNK3dKTkJUc1hNaDUvd3krd21JOWpRRGpXTEpZcll5SW5wb2RxVFpPWHd3MG1PcU01REE2cGNPNmp4aUIycHZ3bjEwSUgySWlTb2hhUUFyUmo2dHY3eWlIUWxqL2hnMlcvQUF6dU45SVhBRlluZUxLTmtORXBlek4yOC9vZHVCMFRYaGpKNCtGZ3RxbkNWZldpWTlkaEFWQXJkYWdnVDgvTGFhYitiSE1XZTJDTmVmRzVpQzBma2p5dVZxdmF2RmtybE9TZHVpM21lYlppVDVnbnNmWHRIZlB1MU1ZMm9ObTlrUjkyQjlBanNKd2dLS2xURHdDM0cySHE3M2I4NWQzMUI0c240Qkg2OHF6VVVWYlAxQWhMNVV6cWZ3bGY3elArTTNHemREVlBGVmJRVFgzNUpkbXBiNStoSGtoRFhUdEFyVlRtVk54Z0ZZU1djSGhkcms1QmJGWW53TXUyUnc4Y3U3Z0IwYkI1RWk1QUhkUlFmWXZHM1kvek5sdml0YmI1aU4xS1B0RmFDa2Q4U3l4bDA3Zm16NE93bHBtRFU3M3cvM2NEd1BPWldTNitjTlRQQWtDMW9Kbm80OWpmSktXdkt0SGNBWFk2d3Q0TE93TFFJajFXTStXOUpLQWhmUU43Y0M2cWc0Skhld2dxMTB4YVBkelgvQXd5NTdtbi9ITDBpOEJCVnhyZ2VBTHBLT2djMVRraElxVjU5Y3JnMHZCZDhCbFd4enU4MnNXTVBqRXdQZ2NTWGNkOXh5c3JIR3BNMnRNaTRTMlZJV2JJV3BiTmx6dnNraGZEQ2hjVk5zVGFUT2JGamNvNE9LTjRFTHIrZExTL3JSdUgyUTFzUzNmMWpLK1o4Y08zRTJLbmFLcHkzMW9GcEpNSjVYd3F5NnFlQXEvbWxLWmdKUXpkUEIxTUd5cXlQdlNkT2ZNdFZQTjVMZ0Qva2p0ZDNjVzJEMWZFRzkyMERQUVp6VjIrbmVaWFNkQmE1cDV2YmI4VVBDaTd0YTFLMFgycGo1N2UybEtrN3h2d0RmcGIwcWRuMDZtWG8wR3dMMFNkOXUyUTNzWlF1QWFGdUZuTlMvY0RWWHNSQ2IzcXJES21wZnE2UXgrM0NybnZnbHE2WUxQb3FEcGRvbEcrV3VmbjY5M0ozd01VT2NCYTJMZHlOMGtCb0c1ZlpMWHVzT1QrUjNndTR3SWxoSm5QY2tlTEhkRngvZkJ0RDNKUGdoeGVUaFhLYklJcGhjbFg4TmNiNGtIS1J1ZmlNNlFNb0hrcGl2TmFiMWJvVVQ5M3NFTTcxdi8wZy9sSkczdmY2QkhEZ3ZEbWp5TExFMlZhb0RlWVlnRmtoYk9keFZJeEJJY0htZkxqUnN0b3JyZkphN0I2dnZidzQrTE95NG9jVk03OEFISnVFUUdpTWxzNGhxY3N6UFFTRG4vOUxvV09ySlpjVW95eDlmRFRVbG1NT0FDSjZRdXA1UTV0QXJkQzlvSUVqc2Ezd3cycEtsSkJYZDZzSkx4eUZWQ0dqOU8rVXA4cmE4Yi85dG1qZFFrUnJyRUFpYmlRNENIQUJxbURMalEvejdTWlBtRzRIbU1QU2VEbHVvSW0zSGVPM3hBN3cxRitjTGVCRjA1cStiOGZHVjNtMlBwM2hTQ2N1LzkzRDNwSUZaM0dQZ0tNcUFOdEpuRG5tMEhzQWFJamkxd3c1M3RCTHlWWHEyQWZWcFh6ai9GQWZZdmJodTg3MGJqMGNJTWRPSnVuWEtCakxLOHRJMWxaeit3aWYrOVpJQWRUMkVTYS9VODRtbWV5Vnp1bzAzdU9jSXBLYUVWOXQ0czB3SGtVMi9wdjE5UitCTTJMZzkwTFhva1dGWnl1WEZ1MlFnLzViTFlCcTRmOENCdEZiN2N5Qzl3U2MwYjRZSGZuNWR2VHpMUDdreVZJTlNUWlVYNTBkc2VvQzRUM3VJekpZbFVKTW5nYk9FR0lWcERKZHBHZy9BMER6T1JZeUptRGM1YUcxblpaS0lXZkZXd0pRcFlOVVE0Uk1HR1FqSTBzbGtpM1pZV3BWSXdNVWo4RUdqS3pKajNzb3dSL1JnMDRyZVkrS1R0VnF3QUF5QUlpc3BsMVJrN0FSWGp2cDhnVmpLb0duU296V2VIKzkvd1NQVTF4alhJdDVqUG1YS0VtdmRncmdjaXRPR2tHd2V4TUhQaXJEZ1ZTWkZxN1VEVVFOWDhKWE5DcUZNd0xVYXd2NHlSUm5LUlVMMHdNMEVDS1UyR2ZqOHo5b2c5WUtxU1Iyei9MQXNLNTZ3U3J4ejExc3pLTFErQXRLMXZGQWlmT1lXcjBpWVVZRmFZbTJPUldNVXRJK0toMlNrd3prYm9Gc0c5dk5TcEJ5ZU5ReVJFUG1iZVJZcVUzWFVDT1BIMmxibVYxa3lyRk1TOVZPcnFnelhFZHZ0QXBWMmdqRmdLUGdqOENYNXdESm5teVZYYWlDOEtWNGIzclh0am1ndnEvaFRucUtBZC90K1lQR3BTNEViOVpGV0UyTVZrNHVEQWNQSEg3bVVXK0pjQWhTbytPcDgwa3JLWmtqRmpZdFBoei85Z0Q1bG9vNk1FOG1KWjhQZFhabWdFTUptWWtxelZrWEQvVlM5MDNmQjJsRHVuMHBhZ2s3blk3ZlJ1aW9oTHR4bGQxRTVwQzVKREhIazdlU2VwazNkZW9tVFBXMDZLT3NVbVdVSHBmejd1YTRZbXlQOE0zR0NKazRybFM3N2Nqa1owSlM5M1lUY0Y3ckw4QXB1K2VpVmlGMVhpd2hENWlPRkdRaHpaekZ0SDk2Yklsd2hzUTc4QUZOSXRvaDVsUDhSRHJRblNvcmRPWWNPRUZLVnU5UXJPaXdZQkxxWWFSZDc4dWF4NExlM1BnTG94SW5UN3JmN1E2amoxNHRkY3J1TTFkOTUvMFZiNmNMOHErU3psK1N4T1JXdkdtZjAzOGREblJZL3pyYm1rc1NmcXdOdWUxOEZjOGVraFpjMzVKZDdvQXVoWTZ6Vk1EeTdaM3VDYXIyV2Vzci9rallNdFJyUWFvemttRWtxc1BEU3lZeTVFYzRsUXFaV1hEak9ncThXYlMwZDhzeTg3SDQ4d0d5a0ZvZmFudG4wTkRMSzh0STFsWnord2lmKzlaSUFkVDJOZEF0eWpweHJtaEhwRHdtQmxSOFpINjVsMWtkOFcwYmVIdkRrMmRzZTV5ZkNuM21nbjRxSFZuRGJFUmZ1a1VNZzJvZ1hVRy81WFZqVDFBMmlIeW9zOEJZclIwb2ZoQ2lSZ2pLRkxoU050U0dTNUJHaDh0VWxOZENnUThIMk02akp1OUFtbjhZWThzcXJ1dXNCUTd5WU1zcnkwaldWblA3Q0ovNzFrZ0IxUGFCWXYxaG85LytvTG05aHkxYkMvUU8vL09obWdzNGR0S05KMGIzR0Vua002cWh3TEZ4cnNMSFlPNE9BaE91aUZzam5rVHRDVkpOUi9RbnkzUUI0czJEeXl2TFNOWldjL3NJbi92V1NBSFU5alhkZFBnN24ycElkSWxodURjNXZDdVlqbFE3YXFMWnlybTk3Ny9Ja0lETzVmbnJrSWhDZHdOYmtwOWRSa3M2ZHNzcnkwaldWblA3Q0ovNzFrZ0IxUFoyaWsrNFdqZXdKZDhRRnBvTklCUVp5eXZMU05aV2Mvc0luL3ZXU0FIVTlwMEpqOGJ1T3VlZVBqeTRyeCtsZWJWWVA2NE1ZdHVXR1dXM2NSRkg4QnQweXl2TFNOWldjL3NJbi92V1NBSFU5aHp0T0IxZVZnSkhBeWJtSHpYN0RIeUdkb1djL2FXZ0FQZXVja1FrVStoVWpsY1VmcGNIY281TEdUb1NhOVBDeGVYNTY1Q0lRbmNEVzVLZlhVWkxPbmJKTHNHQWQ0V0VHRjNrV1NWd0ZYWHI2QVc4bWNReHRvcm1oSFR0ZXVOeHkxUjRZZ0tWQ1JPQlZ4bE44ZzNYV0ttRm5BaVYrWTRlQURvUkNzc2FXT2o1Wk9mbUVzUXNJbm9oMjAreTFOMEpmbWQ3YTVFdmVnTDEySkgrSDhUK05yUjVhZnVtMHNsRGN3Um0xMk9EMEc5QmltUFo1eEltbVJjSXNsMVJZUm81VnlFQ3gzSm42c2tadHlPcUhWRTF2ZXE5UWhpVlZBSXp4UEkxR1hsSzRscmFvUHltYzN3VlZERy8yL1JiV3dGbVo1WDhUcUNPejdWMGQ1aFUrQ0NZUDBGRDN6em5kbnNRUWYrYVhqVVFqbjVoMDArcjNqTVh2cVRzSGN2eFZHNEcydzRaZElMTnlHMkhFbzA1NDN1Z3BNUkV2SUpJbTZQdjQ3eVcxdXAvTTk5cTRZWU8wMVVtT2dDdUdXNnFjaEE1bVQyOWdNYm1wYStMVTA2NktXTHViKzdHMEs5NThuT0xZZHBGd0V2MmZjWklHR1ErelEwcFZnenhOZnlFN2RQVDNxS3djWm5MZG1PWENKQ2dBOTV5WTcvLzN4UWJEUmJ0TVVXQ2VuZ2lQSWQyM1NyamJhNk1FM3hSc1c5TFhVdmFUd21zRTlrYjNkZm9YS3YyZ1NwZ2c1V3RsWUpwakl2OFRlQkdockw3OCtaQjFYajVxcy9USFVTN0FNU0hSZFU3NEJwQzk3WkxIK2dmWHA3RnZyZWx1ejFwa05PSWNtRWVZVlM0b09HdERsS1d2a2xQSXAwdTZ4N1V3S083RUU0c1FFQTRsM1hjZHhYMXkyZlg5ZGhaWExiODh2cUdQOWwzdy94aS9sWnIvZlBaTjFxUlQxQXNjV0RHU2NnRTJudXllMHZ1bHRTMmxvR0NJdzdzMURNTS9mYWNzVm5oVlJMbnBHb09WVHRLbDI0QlpwU2Fxb2RpSVFGVndvTThIblBhendRaTlsZnhLUlhUc2NHMERNZ3hnWStHZG9XYy9hV2dBUGV1Y2tRa1UraFVnNTQwREZGNkRtSzNuS0JjaXFuMUs4QllyUjBvZmhDaVJnaktGTGhTTnRTRXB1WUI1QllSVys4VVRFRndCekpxZGFxVnNCZ1hTT2hNYW51OHUxTUtPYzZVTXZzTy9QT3c1Q2NyNzlzSnppY21ZSHluS2hZQ1NndXpsVXZlclI3aXpwUXkrdzc4ODdEa0p5dnYyd25PSi9pN3dNSDhJd2w3Q2Z5N3NPZHNGQmFCdnpBZlNsM29hcmdiNjlzVHN5K1VXaUdIcHFHdDdDd056eVBMK0RvQVA4Z2lNTlZrWG53TlRiSlBQQmVkVHlKZDRYSTBGdmhDTkF6OCt6QnFvWXF5SnFWK3J3ZFlxTHJyUjNTd1UwajVNdS9XQmZGNENzYlh1MFN6MElCTUdHaEtaZjM0ZEdncTZVOHpjckdhQnV5b29aKzZRNEx2U0RJdFovS1hQdlFrT3FNK0plWlFLZy9PelZweWZNOEdRazl1aU5zN2tqcjIyUGErRFJ5c1RBY0tSaXV3ei9xTlZVMEVqUWVnZm16K2JjNlVNdnNPL1BPdzVDY3I3OXNKemlmREhzRnVSOFk1Ym52L1FoN3IwUW5xeXl2TFNOWldjL3NJbi92V1NBSFU5dXFJQ2NyalRpdTVtU0ZBa1AxTGZYTWRmUG5rNTZocnhjNnJJZTJ1Z2NVVEpFMGdvN2pRRWwrYUpaUGZZOVNUS3BUb3k1YS9kckhTUHRYUk5yc2I2UWF4NmlRaVNZRW8zOXJwRDZ4b0JQdXpYWWw5ZS9Yd3JXZWl6ajRWekxBMlMzR3RsTWo1TzJzUXZqMEE2V2U0R3pvSzFGbkczRFh2NG1VTHJ1TDRUTk1FcWF6RllhOFczRjlUVlNMY1Bvd0szTVI2cHArbythUHFpUktZbVVJdWFWWERYSmFBc3FhUmJ1cWlibjZDa3NJVHIyUnJSRmVqek5NQVNKRmFmVGMyNHJIeEpOKzhOaVlSYmxqRXdkNWl5amNERElISEMxWUgrU0JFeHB1Nzk3OEVGSzdMNERFajVwVGdvTGFLYVVINnIvQ0E0TmtzZFVPRU1aZktHVnZNY3BneUdmK1QwbUdlSXBsVk1lamJtNGYxb25yUjY1ODVXTzJWOTZEYjhCTHROR1E2cXlsNlpHQXZKcGthUU9HaUtBRkhtVERwV0tWNGU4MTRzZlI1RFVycWJ2Zm5UTVpraFV3UVhtT2RrNGw3aDlnT1hVLzg0Y2dxOXNITG5xRExUV2MzcG5RY3BQRDVucllxYlh2VjNQclBIK2tJQTc1OEl4UDAySVlMbStLMitLeVE2MTdOQUUwaGtldy9DeGN3dDRVUVEwVkRlVFFib0RuUzN0eDh5YTM0dGlGaHdVdHg2bjgzcDBHa2FIK25JYW5uaDRNdmtBem95VGlQVThDOC85U0dYVm5HMFpjOEwvVUJJQ0N2SFhYN0FmZWtveldvWE42N0gzQmptOEhuYWJKUnRhQzBDSXhJYktvUkJRQ2RMZ1BkWEJSOFlKU1VpT3o1Y3A0ZGhCR3ZvZHNjQjlqVTZRZFg5czVkSC83djVsM2tyNkxaZFBhdFFrN0VhWndyRnhGT0o5N0IrMGRNN2lwK2R5c2dRRjRiSFJEdWRlazgwUVY1b25wN1dBYU9OQ0dCUEhYTEtXYUZZbUJpSHJtb3A3ZUlPN3RCTUJYN2Z0TkQ1ak9rQ3MrSlYydXM4bmpHNFFLeXBFWVFPSnBqdndneGQ0VTgyUngvN3hMOU5kSEt0WW0zeDI0UmNmUVZWR2dDUk1zVCtVVEpQZW1nQlp1Wkh5cmE3UW9XclNKVVhHcFZJaU1GZW9oMys0T0thZTZlNnRVeSsySUpGSkR3NGtzSTFCNENRa0Q3ZzU3VWp6ckhqQTBybFJoY1daNjFHNGcrTWRuUE5hcEk1cjMvaWtnV25UYzY1VDB4eDlyMEdHMG03YmozZStJVGVnWkM5S3B6eGxNWWdjR0RyRWViQnQ0TmMvQWpVN0FBUGtzVndiSndLTnR2aFZocDVzbU1KTWhFUEhVb2hvK1g1OEpkK1IxRENvUDNWa1lWbEt6UnBKSlBubTdVUUtwbFovTm1sdHhzTllScHB1bHlDUjVhdjhrSnAzcTJMWVh0OVQvKzRFSmI1NWxzWFc5Q3NnL1lDZHhKYUhsL3lyWjZ4ZVVRZ3kwR05UY3dVemZLWENiS0p3OVVsUm5qMkw5SWRaeTRjTjJhYWRRNXpqYWttOE04TXF4anoyZkNTZzNrbXE3V2dCbGVCVUMrcUdEdy9YYUVFQ2NFSXZoNXAxeXoySjBybUFiMmp0QnZpRVBreHMySGY0c3Q3SmFHa2V1MnNnZVpBRW1zV1AwMGxzcGRsNnlaMG1NNlNVaU1qRGtlZWlmNXdQb3c4aE9PT1A3cmxQeWliWFdjOFBFTVE1ak0yUWdpREZuTit4bElPRWp0U2pENzJJNjd2WXM2ZHVsY3NkeEcrSHhjS2lrWUpxd21ETVlpUXRTYzRqSTR4c3NDNG1xdU1aNDByK1hFWGxMT0FoL3h0MDNvK3Vjb1h0dncxSEN2aHdxMGMwRFhJWmd0WHFzVExZT2UxSTg2eDR3Tks1VVlYRm1ldFJ2amZHYlBWTHM4T2Zhby9TKzdSaVYzaWZXbW5iUHhUZ3dyN1hmQkc3TGo3a2RSOHdJT2pjWFRwRlZKNTZGVFdUaGYzbkZGOXE0cklPbEttdFN5V0plS0RmZVFQNzRqS3lrMVdGLzQ0TnNNZ3JIRlMvOXZLK2QzWENiaitsbnFUSUEyUW43OGJpYlZweUxhQk96WGxJQlQvOW10SmpYN2I3b2FDZGtFWXYrMDFYZ2QyM0hKcW9CSzRWajlPeHY5K250YTl0SDUzd0NINC9tRklOa2szcW1HOVFMOUFQOFZIVlZjbStkQmpIQXlDdE9LREtoaGxhZm9hMXhJdG9WZzQ3dDIzdW5FWUtEQmIwc213NXpWWFZ6OGpOMnFWb01zMDlEUGJ5SGxVNWRHNXJLOWdtb1dmeE0yZUZpQzhqdnVtaTVybnNjbHlRL1lWcWw5dzNlMXhPR1B0UzFoamJMUXVFaWpxODlDand5QUdqcFJWWTlFbk9aRmhrcy84c0RRTlFEKzRlUXVtbVRXMFpJcUE1dlFmaUNNNmpEcE5WUHdRaHlSR2ozUWVuQTZRNkxjeDdML2ZPZkxLdnNOeGxSQjFjVGw4MTMwUFUrNGxSMElBUGQ5RjBOK2V4VlJNK3RyWllvYUlNQzlPZ0RGcnNweWdMR2tXajJteFYxeWFKdGtCTWorbWxiWXdjZXlUYVN2MkJaL1hQSkxGRVIvWDIyMG1nU05ETEhQK2c3Q3lWeEpxVjlNUm1tRjlOdW9DT0haQ0VBQSs0d1dQeDVRdmVqV3c3TnFaUHRDQi8yVFgvUFplVmlpVzVFODJTaTF2WGRDaC9INjdxYXBubHB1Q1ZETWhTenVReWhnOTd0NTl5K3IzVlowYUt3Nm1CVENHNVhxUEgwbVluY2NFWXhYeERJNWJrdVBUb0ZuMFcxSHZMR0hyaG5xZEptdngvM0QzLzZ0NXRrNy8xeTdYYStPVkdTM3cxNDNQaElJdXVXbTlkR1ZPZ0M2cU4xcnpwZE5keThqdGVpbkpBMkt0L1Z3dytpTnlVb0dlVjVTUHd5cFVqbksyTHVqSVd4UFdkUGdiSDhDczR0ZlZsLzFSbGhxYjJ6bTlIRS93ekdaelBjajYvSi9HakoxVTU3Z2Vkb3orZUU0SlBPbVFEOGxQL2NFVi9FLzFSQXJsQkYrRFZaUVZKdDl3Z1JTa3ZYYmtxbmUvRGdDUFphRFhCM0NGbXpUNFY3Wm1NR1FZWEF6cEpuWS9rbnZQQ1F3bHhKNlV6aEEycTRPZHltbGFmR1FINWtuZE5uQUx4UFQ0bjhORDA0alJJb1ZDL3dBanZ2QWxKRHhzVTAwVkJvVE8wUE1PNm9tUFFwaHFWR1l6MGU2RVBLLysycGRqempPL3dlekhsUzIwYTJKdnZzS3kzQWNGYzlyb3ROL0dTeXJXcVpqazk0Y0dOVklPaU5ZV1M1b1VZNEVXZ0htTHZZVWxSSVlURmx2VlBlR3BrUHVkZ0dsR2Y1UXZRallNTitHUE8yMjVnMGE5OG1BaERCaHhwMDF2OWM5OFlNVldBd3RZS2RJTGwydmVoVERtWm9tQmhhRE15dXozOTQySUFqSTNuZEFZYkhCUVBVaWorb3l1V2RZWVFuMERKcVBDZ0FzZHhsZEVXRlVkbDNKSEhTM2RJd2U0aVlyRlZ0VmR1cUlwUldNbHhXZnIreEJ4UEIvQXJPTFgxWmY5VVpZYW05czV2UnhiODF0dFVwMDNROTRXTnZxRW8wNkZvL3d6R2toY1ZYR2V6S0ZwZHFKL0JwY0dXbTdDTGsvSDBMNkEveTVnYWpxN2xVdlRwb2ZwdHh0QThPZFF5aDJkTXNyeTBqV1ZuUDdDSi83MWtnQjFQWUlKcllnVS9tWHVsNDNFcW9KM3FLaE5ORU1Sb0VCYjIxdnllbzdlbXhkcUVnZDhHU0pTOGdNOWNyRDFibHNtWDBJTFJvbmxjT0FWd09EV1dPRHNXcm15eXZMU05aV2Mvc0luL3ZXU0FIVTl2L3F1VnlFcnBuZEpqekFRb3Q0SVdwLzRzOEhXRytOU2c2ZWJCK25tNTlabXB1YW5maW5vSkpCRWpodkpFRUhxUkdTYXdiT1FmR1F3WkkybjBPTEVhVmdZZytob2lLSDlYV3lsR2F0K0dpZ2lIMzRJbzI4YVlpUk5xeUIyT1dwWTh5WXpXOGI2OFBGZXJyd002NEtvd29qRjFZL0pCblYwVHVDeS9OejVTcEd3Z0VHNXNCcFF4QUh6b3NxcmFpMFBYZ2tOKzl6eHZhME9uTlVoRyt6Qng0QVJPSzM3d2U3MG1EVEJvaGpBN2U4SU1YSXd5Y1JDK0xtdnpvK1ZWZ2s4TGlKNVkyV0QxOExzYzYyS21rOU03UmVhN3RCNkgwdmN5cENIcGF0VGhURFcxVjI2b2lsRll5WEZaK3Y3RUhFOENRRHhYQm0yeXdpUk9zMURIdHJGRmdRUEZsWDMybjVwNTZOR0krSTBtNlVvMmdIdzUyY08vNDFxd0ZFa1FlNUsxdFZkdXFJcFJXTWx4V2ZyK3hCeFBBc3YvYXNRa2FhWmIxS1ZSSjNNeTh6SWlYQmw3dU5xamFvakdpcDF0Q2cwQkk0RDZMeEpyM3dBZ21DL1hPWnVJcU1hNUptNC9TMFdTOUdzakdHVGNIcnVIOGtJc3phSWt1OFJ3NFIrV1B3bUpPdkVvS2lweGF6SlBDYkZlamprc2NHb2NJN3ZvVkV1cHF5aHR6YlpySDRsdXdZbEpYNHozNXpIMFh6YjR4a2ZsU3RuVW5tNlBrdjQ5MWk1b2Y0NHl6VC9kckNnUFVpdnZ6UjdLbjlkd2pyZTAwN1NBRk5XcGV4MndUdnBqQWV2VUMxajlEWjNOTkUzNkJuUVpGWkp1VUZWRnUxeEtYdjZOTS9yZDA3NlBQVThNVExBZnFNMHcxNzlSV2tKc2FYMzFuOTNONm8yVUtFMGErcjdIREVDQnhUVk1aYkZrbTEyeXNXUWRlMHBUVnhQTzl5NWNnU3VDdlVQOCs2QVdhRTVienhpa3UycExyS01sd21LTm1oM3VNSUFYY2JDdmpiMUpxR0xVRUtlanBMZEhmUHNobTU1K0lJSmtpRXpCRFdOVHp2Y3VYSUVyZ3IxRC9QdWdGbWhPV0VveVNVWmhhQmR6UE4xNEpBbm1uWVFaOU5QYkEya3RlM3h2ZlZ4OCtSTE1EeUdNWlY4aEttOUprMFlmVG5NTlRMSzh0STFsWnord2lmKzlaSUFkVDJOSmJLWFplc21kSmpPa2xJakl3NUhtS2gzaEphYW4vaGw1elV5Y205dHlxSjBsQy9SSlQ0ZC9PZU9YSW9YYTMreXl2TFNOWldjL3NJbi92V1NBSFU5dEpabFRtaUt2TnB0bjh3TElWWTArbWE1NTlwbG1vaWN3ZEs5dS9FZEhpRC9hRUYvTklQSEcxVWp3VElJa0pveDhzcnkwaldWblA3Q0ovNzFrZ0IxUFpnWWcraG9pS0g5WFd5bEdhdCtHaWdpSDM0SW8yOGFZaVJOcXlCMk9XcFk4eVl6VzhiNjhQRmVycndNNjRLb3dxUXBIckpxdy96cU1WSUtuTDk4ZjFaNkJrSG4zRGdFK2dpV2J3aG9yNnhhRCsvczFGTlVGdFA5TXIwaWppdy84TG9oS21LYVlWQmVmdEh3aSsySXZnTzJidzJXZS8xVDA2dElkNitVY3BuQnRIckliRlNpdzdtY2ZqYm9tK2grRE1kRXZhZk0zSkNaRTZqZDNhK0k5dHRTVEdlZ0NhL040ck9TMnRUS1dMZFpaWGdpeTZtYU5PSnliY1ZFV2syWHB0R095RWRDRzQvRWp2emtWM0kxRk5mRTlyT2djSWtSN3NhUXcwdTVoUlNvTmcrMGt0ejZ6blB0aGVQQ1E5SXVMV01GSGg5TS9hSWlaRGsxcG11Y3pDZUNHZTBlUVBSS1VCMzJkaGNLTnlsa0xISkJlbjRWL0xDSEFPbDUxQjd3RS8vbnhZcHN0UDdPRFBwNWJ5OWpPbTRjckQ3TlZQaGNaaGNQR2dKdW83dU15eGRtVlorcWJsWklYUzM0RFZIOFVuUm5ydmdKMUJ5cGQrdTJtaWlzZTJFY0VRd1Zjd2pvYlQrdDlMbXZBNCtSTldOcVdiTFRpZXdXR1BuTkxpdVhEUC8wZkwySnZzUHNpN3hyQjZNYjVIa3N1UlpBSEJLSDRlOW1OZjR5cXBXV05LNUZsTEJPQzJRcDFEaUV0bk4zSEhhRWEyczJSaUJXc3BGM1VHRlp0WW5Pek9ueE9HcXVsc2F2MGtuNFpIRlZDR21yQXlBTUp0eE5kMjZSUmZrazFnSGJQK1BxWGwrNTY0cFc4d2gvMDM3WlVvN01NSjg3Z2RyUGdQSnZBWFFoRmhOaUpPaE1pVFBPUzZYM3RubWFSY21MOEFZSUFnSFRKUTNJT3ZFRTlDcUhxcEF5RXZJaGtNZlplT2VnMVNKenFucEN4dDVzQWdwbEpCakhBK0lzbDlodEtMU2ZrYWlMRW13MUE2UWlPdDZwMmRRajVaOG03eThaVkVITXdQMk1oTkxVL2l0QjM4TlJ5VFBLeFZ1cVpWL0NXNnArSEV3eDVLWm81c1F0Qm8xVFFIbmUyMnZESVpWeGdSTW1jSGluNE9lMUk4Nng0d05LNVVZWEZtZXRSdEtkbkxna0xUc0dNTjZUN0tmYVltRzkvcGE3R3pub211MVBycytZb0hjbFdxeWpCdElHMDkrbkIwamtIWFMzSm00Z0lyaVNKRGZpc0dHVmVkYjczN0RtU3B3czE5S1F3eDdCS0JwQXJOWS9obXJqcjdJM3MrTE44RHpKTHI1Q2EyNE5Ya1JESlh4cGdYWHdWK0ZDQnBFcEt3TStLbU8wMjE4bmFqTmM5Ymd1aVdHNWNHK0RTRUxGdytSVWVLYTZ3YlFORHg4UFNFRVcxa05kU2xoQXVqZFFDLzhKZFFGc0h0SVNOTDdFc0MzTFBqNjg1WXFvWnVqS1lnc3QwTzc4WTlyRWhQNUZuZFEzTU9qU1NHYWY0UHpjTmh2aFp3ZE1LczhoOVQrZ09mdGVNMFlDZlMwYzBYdmdKUHBUWDdoQ2QzWTY3MUE4QmMzOWloT3FsMTV3RVE0dTg0T3RmTmQ4SURQcTI1OGc3TGxudkRFeXdINmpOTU5lL1VWcENiR2w5LzdFNHhWM254eVM0bjVsVmQ1czVSVFlMRTZzSTBlQ2pNNXZta2dBaHhqVUFDeG8rWWo4SFJjVEVYcndITS9ialdmNDEzM2lrSUZJdEMzbVdCcWpncnpzZG51ekJtZFN6OHVOVXl4U2wySEh1S3JFRTB3dHJvWGVabkxNeTdyVi9oQm5pSGdqeGp4TnpzSy9LYS9YVUNUUDlBek1sRDlQU0poSm5ZZG9RSldMb3JpRUxKditxWk9jazR2SFRJSUtjWWo2ZWxIUDduWGczTzl6V2FJT1Uvci9neEVTWHc2eG56TzhBR0lMMzJBY21ObWZhN2pLMzZHNUF3a2hhWkQzby9ZNjcxQThCYzM5aWhPcWwxNXdFUTRjYm56VlBpZmZ4VVdVeXJ2K1B0SDhwMG9HM3BubFQ0QXZQQmYrbDRzS1RQNzArNUtXcXU5bmY0bzFBdlJKSnJWK2RBcVNobndKcXpjZjNId1I1S0lHUjRnM3h4TE51SDVadlZVSXdibFcrQmx3aDBhU2dMbzk5OFBFUnlJOHJaY2pSVTZhODNjNG54Vk5qT3hSbENkUGx2MWNnQ2F6aUNjWFo5akZXRHFYMktYc0UrNVYrQ2I2eEZiYzBNOVVuc0ZkODM2eEFCWlN6Sk95VFU1UFBML3RCaGFVSEh4UzByUzBxU005a1d3Q3hGQmYyeHU4bDNlTHh5NmJkTXpyTHE2V3JkVXhXRlB4ajZXY0cvL1pkV0l1am9xTGZIejU3SGNrbEdkTEJmNHVLWWJiMW4xUWxzajEzMXpIQVZ0UzZuYktIRDFSeXdreHp0ZHdIenhHbTJzQkRteXVocnV2YWM3R0FGZy80Y2htUUxMbXQwNWJZWlN0SWI2cWNoYmI2Z2ZGOVBSclg5MXR6NHhxZGxJZ21OSWh5eWFsbU50THJPY1RDbE12U0kvL2hQNmROWm9zQ1U2dDFlYkNPaFBGeHE1Q0tUZWJVeHJxWUI4d3JkSWxMSFdJRjRvWXNGSll4dWlaTVlXMkQzL2d3NTJxQWhkQzZtbElRTENDNGFLZXJTb0ZJK2lZaUpENDNnSjQyNFhzMnF0LzBwMVBmSHZlMjdQa3hNdXEzejFudlg3VlZ6K1ljOXhFVjVjVGIrOXNPU1g2cU1UcGFsb2ViWHB0Mm53YXN2aVNZeDJwTmF2VWgrOEFXYUhtU3hnT0U3dVF5aGc5N3Q1OXkrcjNWWjBhS3c2ZWRMUm9laXBrays0VjZjUy9DRS9TdGpydlVEd0Z6ZjJLRTZxWFhuQVJEak0vcEszVkEwMUZlajdKNFdXUnUrTUxiRXFWa0hMcnNVUUJoY2phOWE3SWhKNDUwcXZ3ckV4eWNvMTlyVWJ5UkE3ZzJiYzROMll5bHQ4Lzh5bHpHTmpUVWhKRE8rbEtWRjN2VFpZUHN3SjRyZUVWZVdDZE9QTURZbnROc3FxOTRieiszN2F0Q2huK3JlSFlHdDBpN2FQTWxCdDRVaW9HVzF6bXpEQVdpakRoSU44eXgvZmpGeXNyQUhCV1VQRWtjOTF2T3h4c2pFcHBROWkrYXBuazZJZ2ZVY0ZiUkFVNFhObWhFYVZ6RnZIeG9LUStackV5QU51ejV4NTE2S21SdWVhbmxkejVra0l6S1lkYmNtTW9YT3Y4WVk3N2xKU3JCUnBKSFJ3K2VWRlBpa3o2TUE3N1p5WEd2MHo4UzBjRnhMUk9GeE9GMExBYUdGL3FPaTN5YTRya0ZTZnFuSFFTcGNnNnFJSU02MFZ5aFJHRC9HZzRqZENvWk1TZ0FMOUF6ejRsZUhGR3pyUEJZVlh5L1YwOGxTWmJKbGhDOWJST3BZOHpadncxWSt1aFB2OThtQnJPZEQ1c211ekVUTGdSbVFKb1k1L05hZHZyUUxNVlVyWnJUZkh3bnJHclF1U1J1VzIrL1V2bENLMmVhSytqQ1pTRmZnRzdIY29USitIVGdpcnZQUUR2WmQ3Mkh4MDMzclh1dDNkaHdUUWNqNWFKNVB4STNpZENYQ09wVlNPazZjVkpYQzlUNmN2Tlc3ZnRiZmt4MTNqMzBENTQ2aTlaUUk1R2ZnSHpENXd0cmhZZ3FPMU0zbVdYVGJBaGZvaTRHT0JJdVRjazk3QXhPR2p3OHpqYlovU0lUbHBld0E0MEtJVk5PVEdyUGRhVnIrYTBSeFpNenA3MUViTlJWMzc1U091S2J3dit0RGZMR0lIZmUyYW5sZHo1a2tJektZZGJjbU1vWE92aWdadExVb3hadTFtcVlCRXpDbFBEZU4yeVFGUDVkcmdGYjY2TkY3NzN1NHNDTE5DUGlVTmgvSWlmazlTVExoTGk0RFBSZ2VIcUpNb2FqcExNVEw2SXI3UFFCUGZUQ2NoTDVuQW9zTUI2TlZ3RXBaVjJtanBJdlVlMjV5ZUFuVXJHM0RwcFBEcEtqK0NnMmZPMm9nNTNlZ290d00xV3dFcnpKTm9xWEhCWUZQUUlyUkQvN3VoVnJ6T25hTVh6VkZsa0FyTzlHcUtYbDFBN21NWGZ4TkFqdTZia0ZnalkxU0ZYclAxWGszbWJpY0FIdzZONEJHZHBKenlyVW9ncXRPaXUrVE1NNjdNbW9wV05qUk9qREtsNGF4SytjcG45V3FzWmtTcUJmY2syMUphWEZYQXNpUDNCZ2dCc2pmNmE4RUs2ODNZOER4WE9ocnhmMEkrdkIvM3hLTlh1c1BnL2xKekFpN0lJV2F0aHZzTkc1Smo2WlZ4WjhpT0U2a3lxc2pLRitTWmE0eU5zdjdoQXNPVmVVa3pJU3lsOTd2cGlTb2kwV09aZmRhblVRMU1ZcnFqN05ZdGl3cUczQzYwSG05bGpDZ09BWVM1OFZZZmF2YTBYczZBdWMzSFhLT001QnQ3VW9ucTh3R3pWcU1mUjBQWkQ5TmpFSVpsWTBLQ2ozNGtwYmdsbk5ReVJpRGVqYm5MWnlkSUlTNFdJdW52SU1CUWdhcVNGL0JQR1lJZGd6SHJVOTFPR1N2Rld2cDVJYVljbk9nTE53VGkzMlZCbSsxcU1qeWJVSUE0NXpqejB4Umxtejd6b01IWWY2R3hUM0xJanJYYzR0OFJST2dOUUFWRDZieWFVUUV3R3VmMHdXb3ArT2JORkhtSithWllQS1Q0b1o4d1ZpREF6TFJVNlRVTHNXYzBlTG13UWsxWFh6Mi9uTktJVlFrUnpZUFBGMmt2SzBPNHJpQms0YU95ZzFzOE1sRFlFNmpMOU42YytVSTROSS9pRlIzL2ovV3A1SXRoaVhQd3dtVjFEbitjK3RvMFUrdUpjNGU1SzJBSTAvbGlEVjRTUThmV0hlRHJrdVN1Wi9ITGkwYWt2WHVrZitqMndySSt3K3FtQ3Y2ajNKVnBET3FYK2VHWXY2QjhCNStpT0FicUVMNVlvZ0F5aWd6ZXdSRWFyeXhWL0dNdkdObisyVWxpNi9sMXdOOTdidWpDZkFZK3dGWkVOOEI4OEtCaEZ5Tlc5YXY0aVdqb3VtOTFQaHBCdWMwOG51NG92bm14ZFpVTFBEcFBpOUlGaFhQZXk5Y2F4cWVlVU9ycFNDc25ZYTVPVXdFOHpOcWd2R0VUdUhVbk5pWmJYSkxXRFdya1NlYUFJVEpiTlh0QVNUU2U5WlZhemNrVmwyNjhldWhod1ZhdHFQbzA2K0xPbERMN0R2enpzT1FuSysvYkNjNG5XR2RRcXFOTE5wTzhFS3VCUUNrZGRFTmhhVzFFMGZ3eFZUNytlcjlEY3hkbnFoL3YrZ1FkYjRPNFlZV09ZVHZjZHVrSXBtV05JMjZzQnQvTEkyVWc3aDRHaTd4M0RodzNuYXQzay9EdEpSZTg0UmhkaWE2NFluU2tEQ2FsVXJwWTl2Z3NZdk5KZ0lQekJyQlVRUUdvQUdJNmpDVjdjZkNleHJuajRQSm5rQ0Q3QlJ3dmxKbUlhbkRIZlNIblpRYUh5eXZMU05aV2Mvc0luL3ZXU0FIVTlsd3Q4KzFEam1QLzlFRWM5TkZURWdQNGZPY29BSlV2NVYzZGJCakJiNVIzQmZFTmRFTjRmZjdmcFR2MTN2aU9YOHNyeTBqV1ZuUDdDSi83MWtnQjFQWnJxM0tJWVNjMkN5RDBNZkwwUXdWVXd2OUdPVnZGdzljaTdGQU1KRTd4c1hqVE9IM0d0ck4vaU9IM0xSRWxqV2NSa21zR3prSHhrTUdTTnA5RGl4R2xWZHlOZU8zQkJUR3B4cTdBbEdhbnBTQnptUVNJY2hhTTRJWk5xcDFzdW1uVnd4TjVtU2hwZHltS0FaSzB0ZTNPd0RRKzFhTnB6Q1Brc3M4M2JsUGgzQWsrR2tYcjdaTzZuNnlCdEQ2YjB0Mk9rK0RZcmdWZ0h2ZG1yMEJEOGFFOTRaMUFDWmdab01WQVEzZEl1YkJsbmNzcnkwaldWblA3Q0ovNzFrZ0IxUGFUdGkrWW5GeTd2aEFpbHUvWDUzcjlPZFVmczFwaG8weGZMTm12QzBoNWFxK3JKTURQVjM4UlF2SjgvVzI4TVd2OHEyd2IzTzlzWEFyYnB0RnJtNEtTRk94K3ZqU1poMlNLSjgxQzV1Ty9XWHRONFlQdVA0N0VmM25IU1ZPR3VvOG5WQ1RvUHQxcnkxMFpGbktXV3BZTythb2l2Q24rbExhSmM5NEhlZXEwK2VhdnkvbnluOTBXTitOOWxCRjdNUkVFbk5HK0dCMzUrWGIwOHl6KzVNbFNyR0MyTzRQakpXRGduYlJxK3haVWNXV1NLM0hYcjFzOUxiaGQ3RzdpaEZtUXRtWlI2d3R3Q2MvbVAvM1pVN2ZHbkYrR2krS1IzQ09MeUNlVUFveE5JcTB2Wm1OK3k1L1pzMVhXT3dXK3pqK3E3dVdEYUVOTHRQZEpVWnZFb3lhOE13d1NEQ2VDZWRvN2RnUFNzc28xallhMVJiWWc0T3ZkSVp1OXVtMjhIVnZtdS9jaDczVHdmODFudHpjaVlKbmUyWjFXK3lFZm9mNWEzaFVlZk1TQmtmYTRFZ1oydTJOKzQ4aExveVBhRk5iRE9ST3VLamlNQkVmcG5CTmVsR1VmbzFROFlPZjdyajFLWUxNQnZSeWh6TDFHNC8zRjNwRDdxWk4yS2JWMmJ6ZlVYK2ZkbUQvMTlOTmpTMHExanZHMkUwN2gyVVV4V3E1V3ZqYmVkY2hWRzROYzBrcXd3OFFlbWFsSzY2d05kMHNWU0FMelRoWEVkdDA1Njc5TDUwdU0yQ1lwNlBpK0ZmN1FnU0ZOWk5FYitGZUlBazU3ZnozWld2aTdYVXdpN2pYTzJJeE80WUc0bEptNEJhdTBCempwOWFlRjcraUdSUzk0dXRxVXJPWFFMYTBTTHB3enpkK1loZUtUWkE5ODQxSGdPZTZ4TDREVlo2WmNMc1lhZVFrcGRZdzVnRXFVcFBhckZmQjZPK0dxUlUxZUFURDg5TUFudjNvWk1LcjN2anpXOEtqVU1qVGs2dWNJaHR5L1ZUSi8vS05tR0NhWmZsZmpteDM2ZEhuTXdYaVd6c2tCLy9MWVhoUDVZWWxwamV3MTRFQ3NsYXBzK3JwdTQrTU1RWFVuM2lMUEgzQUNQOG1RVVZlR3NCMkxDZWxvY1J2aXc0RC9qTUgvY3JHZWRaZ3g5TU1lSndMeEJHL1pLS1UrWEczcWxSQXlmYnJhWWVKNlJyVW90RjhiWHNzcnkwaldWblA3Q0ovNzFrZ0IxUFp5dFh5ZUIzeXNTNWI1YjZOcHNXWWlteTVnRjFTdDROQXpTeU92M2syY0VON0NWTjVJUFR1djAvQWZhdkdqajdweGM0V09uL2lyejk5bWVqeTVJSGsrZUUxUmt1R1MzWkR6ZUZOT1Qxd1VZNzB6WlUxR0N5UENLTTRIMnNldzlXTExLOHRJMWxaeit3aWYrOVpJQWRUMmVpNHBjT2t0TkdTRjF4bC8zcXJFWU13NDlmdWF4TXJFUmJSZXQydWx4OFhMSzh0STFsWnord2lmKzlaSUFkVDJyRnIxMXdhMmFnZGF1TkdTT2ViYm83MWtMK2JXRGRWT21tUmZtdWRtQUNJZlIwMFFLdmlyUVBtU3JDQk9kUE9aZzF6U1NyRER4QjZacVVycnJBMTNTOHNyeTBqV1ZuUDdDSi83MWtnQjFQYk54MXlqak9RYmUxS0o2dk1CczFhalc4U0hpVi9LdUczd0xXUHNndzMvMFhicENLWmxqU051ckFiZnl5TmxJTzRlQm91OGR3NGNONTJyZDVQdzdTVVhVWE9ZcHU1a1Bva3VjTDliaTQvRWZjc3J5MGpXVm5QN0NKLzcxa2dCMVBiK2VERVFzMlpCc0FaYVI5dTF5aG1aaXB4V0hzVVZtTENOVEc4TXpSckRHSEdsOEVpOG45aE1VaVU5YkIzeEtiV0ZnK3hUZTJjS09FZHdpNG90enRLQ3l5dkxTTlpXYy9zSW4vdldTQUhVOXBaaGpxb3FSWU11L3J2Qk9lODRFbDFnSUZBZjNSWUhsWTNnNmlETWRJRGtJK21GOGkzcXF2eUoxWWpBRVRXNW5STkNxc2pIaDV5bGpyY2VCMklZK2FqTEs4dEkxbFp6K3dpZis5WklBZFQydzM1MWYxQk5UcktidkRleVZGZEJ5MTVCckNCVmM0OEN1eEZQZUZKMzZLZmV3bFRlU0QwN3I5UHdIMnJ4bzQrNkVSbzQyY2hYQ1VQME9taVc3OUM2Uk9GTzRKSkFhS0xJZTB6L3pwRDFwRnl3RFBDNTZ5cTJRL1VadVRHUzJRekRXTlhqVXJ4VW5BNTVxbG9JOGdkT1FZTmMwa3F3dzhRZW1hbEs2NndOZDB1T2srRFlyZ1ZnSHZkbXIwQkQ4YUU5NFoxQUNaZ1pvTVZBUTNkSXViQmxuVXBiNW04dlEzcUdEbG1oZ2VJWjRGN0xLOHRJMWxaeit3aWYrOVpJQWRUMk80Tm0zT0RkbU1wYmZQL01wY3hqWTFIZ0xrazZTWi85RDBZdGRTMlhvcFNLelRaOXRCQmxYWHpRdEtOVTJDSVRWaW9uZHNhNGtZeEI1cUxlWHpuRFRyQU04TG5yS3JaRDlSbTVNWkxaRE1OWTFlTlN2RlNjRG5tcVdnanlCMDVCZzF6U1NyRER4QjZacVVycnJBMTNTNnZrRzg0WUJXbEx2NXJhN2laSDlSZXdEUEM1NnlxMlEvVVp1VEdTMlF6RGt6QTcwUWsxN1JrNzladUg3dWF5cytYNTY1Q0lRbmNEVzVLZlhVWkxPbmE2UWl6V29YWHdvcXlmMklsR2htNzMwUjBscFdzRE9wYktERVN4NmlERnU0TmMwa3F3dzhRZW1hbEs2NndOZDB2QXFDSGJiVVl4SjhKcUVKcVZIQytRaDhRaGp0SGNZWmpEd3c1K3JFd1JhbHdCQ1IrSUpqcjc2b0EvZkI1VytUbi9HZjRXTEdSenJCTXlQbUFNRFBUeVlFMlZQcGtUZG1HUFNDcFdGRFh6c2piWXVtdTh0b2trNm9kb3J2citHNmQ3YTRqZ0pkcmlSQU81amp0emtITDRDYnpaK1BKY21RSjAzK05rL0JiYk1PVWEzOE5wTVArTUtaK1dHVHlEYmhmUFh4TUIyVzArYlRZTVpLcU8rN25PMnN4Nmt5cTRBTit3Q2hIMHZ2OFV2b0hpb1Vza20rSzRpbXN2d1phcUFBaXdEUEM1NnlxMlEvVVp1VEdTMlF6RE14RDVGQktVQ25lUFNKb0ZJRkwvdTMvNk5Sa09ZZnNJdmNXOXQ1MmZGNm1pMmV5SVZVWTEwcUdiVWxjVnU5ajlUQmg2dGhQdUEzSlVZdTBMdlI5S3RlbG9jUnZpdzREL2pNSC9jckdlZFpnWXFBeXNpcDBiWWd6RzRsSUJiU2NmQkxvUDdDc2QvMlAzLytkY280SDU3TXNyeTBqV1ZuUDdDSi83MWtnQjFQWjRHL0FWaEhDcWVrTHRRdmlBNzRxS0ZWTWdkckhWNUV0S01aVlZ3YzYra3BJMUZDWktWMnYvMXhiV3NURUxmQXkwcitmVUxjWFZ0TnBoc1NlNDZON241UnJmdzJrdy80d3BuNVlaUElOdUZ4NkFsa0x6a0hnbFdvNVp5NTZLazFxYXcyUXB1RVZaZGtOWlZoOTRzUE9aY3hNbVZJMEV0RjM4dEloQ3RiUFBTckFNOExucktyWkQ5Um01TVpMWkRNTkw2VmlRZkFDaHVVdnEvOGtpWGp6QTFVVGU0TXVmMWZMRmxibzdsYjBQUnJBTThMbnJLclpEOVJtNU1aTFpETVBMSzh0STFsWnord2lmKzlaSUFkVDJVbThDTnl2TnR2aXk2aVlLbFhsa1dPcnVzcjVKcGl2U2xqMzJKZEJ1UmdsWmpJZ21hYlhjOExudEUvOC8yeWJKRlBLVkZ6WDhGdFNkeXpKRWc3MTQ2cGdtc3dUWXg0MmRER3N6bU4ydkJMVm15L00rYkhYdXZFY1N4Z0JmaXNYUXZVYmovY1hla1B1cGszWXB0WFp2TjlSZjU5MllQL1gwMDJOTFNyV084YllUVHVIWlJURmFybGErTnQ1MXlGVWJnMXpTU3JERHhCNlpxVXJyckExM1M4c3J5MGpXVm5QN0NKLzcxa2dCMVBaaUIrMXo0VnBENXFEelZsL2I4V01kZVluNXBsZzhwUGlobnpCV0lNRE10Qnc4V1NKNDhERTFhSWlGcmpReWllWHBhSEViNHNPQS80ekIvM0t4bm5XWXNEdWJKUlg2SURaUHpqOHR3UTZTY25SejlpSEFENlY3TVFEdHZqWUxIeHR3L0pXcjBhMmVmWFhBTFRhOXVkYUR2OE1DVG1mdVpCT2txdlhGaVhqZzhJTmMwa3F3dzhRZW1hbEs2NndOZDB2TEs4dEkxbFp6K3dpZis5WklBZFQyaUJPS3FETHE0cUQ2enJQYTI0R3FjZVVhMzhOcE1QK01LWitXR1R5RGJoZkxLOHRJMWxaeit3aWYrOVpJQWRUMnBEbmRuWjBpVy9Sck1vWmtWc3I0a2wrUnBEdmc0ZW5vY2thWi9zSVU2RTdMSzh0STFsWnord2lmKzlaSUFkVDJHOWdrQldrUUYrd3kyWndHOWFDZjFoVHlsUmMxL0JiVW5jc3lSSU85ZU9xTVFjVThtcVYyVHN5OXBoTHFoeTF0eURBU1hGek9LanZQd1hrczdBeHc5dDdDVk41SVBUdXYwL0FmYXZHamo3b1JHampaeUZjSlEvUTZhSmJ2MExwRVRmbnM2UEZaQW9nZlZ4akJVaEtFNlZvbXlpSndsNytHbmxUNjBmNENTTFJubk02bDJ0ZmlCNEpsbUFFVXNwaHNyTjBxZitId3hXMG9mUk1RRHJ6MkFzc3J5MGpXVm5QN0NKLzcxa2dCMVBZYjJDUUZhUkFYN0RMWm5BYjFvSi9XRlBLVkZ6WDhGdFNkeXpKRWc3MTQ2dVFra1MwZ3pXcEFIaVpsVzBXOGp5RkJlSEJVTGFuZzZyeSsvZFJWNU4zRWcxelNTckREeEI2WnFVcnJyQTEzUzZ0dGJjVmxCdzJMbzJlM0pTR3NOeUovWmZVWTdiWlZVTHBiaWx3RzN3U2N6MWNVNEVNQlNTUStXemRqUnlNemRPVzRhUHlPS3FHSHMrbmowa3M3akUreWV3UXVuakFiYjJhRmlqcmYvK2NieElJRmUzaGFWcnIrUWlaSUdZcVhVWlVRTW4yNjJtSGlla2ExS0xSZkcxNTRHL0FWaEhDcWVrTHRRdmlBNzRxS1F0YmkyVGppU2YwMVFrODR3UDFpRWVoYVJQTHdtZWZQU054ZTIvbjZvcWx1b0VVZzRPUEtwSm52aXJ1WHJMdXphQWFSaXpycnNaOFMyM3dDNkVMUUl4TEFHTWx2VFJvU2pBcytHb3owOUY2TDBla0Z0cjRNVVNERUNmRUlFbGhlNWNFUG9hRE4rN0FLZytTM0RKczhLd2ZRZElVMnNHRFBML29STU14ZDBWVHE1RHRGd3hHRlhOU1U1R081alA2cFVtOENOeXZOdHZpeTZpWUtsWGxrV09ydXNyNUpwaXZTbGozMkpkQnVSZ2xaaklnbWFiWGM4TG50RS84LzJ5YkpOdGk2YTd5MmlTVHFoMml1K3Y0YnAxR1VtcVJXLzA3cHNDOTNzSnVPK0todCtvZEZMemMzdXM4VWRNYXd0cUt4ODY2VExNRWk3RDZucm9uRmFEbVcxdHJ1ZGhCQXYzQ21GR0o1Z2hYQTRzbVY2anFZOVgyRWZ4d0VvUW5yV1RMNUVBeHlwTFZ0eGpTbzloMGx3MWpyN2pGOVlJUng5WVBjamRtMFBFRll1dzRiWThlWlNtdkdsTE1JdUU5NzFIUHNMVVQ4VWRiQUt1c1hXY2U4TXh5YTZRUmdXdGNCNGFoRmFTQ0RWdWpYNDE5cEFuUGMwZXUzTzlicmh3MGlhbXk5SXhEMU1tWDJYdjNHNHFjU0pMaGtDS1p2eXZXZ2tkaXVEWjFEWE1qRzlaY1pqV1RXRm5oTTl2TWxDeEdYK3kvU2lCT0txRExxNHFENnpyUGEyNEdxY2VVYTM4TnBNUCtNS1orV0dUeURiaGRkSmp2R1VlL0ZTYmt4MytCcElGQ095bEErTVUxbEZrcDQ2eVdUOFRRcXN0c0dzWW9QRFZHT1lPZG5FcHZuOVYzbEd0L0RhVEQvakNtZmxoazhnMjRYTmVGMlo2RUluTHRkeGNveEJ4M0cxWGlXenNrQi8vTFlYaFA1WVlscGpld1JHampaeUZjSlEvUTZhSmJ2MExwRVRmbnM2UEZaQW9nZlZ4akJVaEtFNlZvbXlpSndsNytHbmxUNjBmNENTTFJubk02bDJ0ZmlCNEpsbUFFVXNwaHNyTjBxZitId3hXMG9mUk1RRHJ6MkF1WDU2NUNJUW5jRFc1S2ZYVVpMT25hRm9VYXcyNSszRWVIQk4rbFR3UFN0SXFkY2Nkblltak9HSE00K0d4MU5BelFaNDZwTzhnRTE4MHZCWndLS3J0ZWd0bUVVVkhuUFhWY0tjbE9LeDM4ZnNiazNTRCsybCtSYm5kcXVwWDZlSGszSi9lRTY4aHJlV2VVQnNiSjRLWFQ5cHVJcVdUNVdWK0lUcU82OUEwN28vSmVwM1dURnREait3NnBKS3dSKzNSZXg1Ry91dEllYkNrMDlGTjlCZzBvczJaMVhYZXMwQzBxYTdyRzZXU0RCdEdxMko4UXVxRTlvenREOHZUSmkrMUNuSW1DV3BQRmNQY2tVZFdrc3M1VSs0RzNCN2U0OTRjRDBQUFdCL1hFRlJacm9uTnhQUnc5TW9KbE41ZDV1WWg0bWxaWFo5MU4vUURqU0tONGlNVHdIQi9xMElrK3hleWZ2VDVjQ1lhL2JxVko0aXhRckJLTjB2cTRlS2dqTm5rR1dTcmZISFAzVUhOSDRSQzdkZ0dJdUxuR0VUbXY5R3BYQUVQVDVqUmFiYytsRktISFlnVU1NMnp4bG5FUDBjOS9oTXBMRElmMFZmeXFPeEZBck9Dd0hQMGprSGZxcjBKcVhYY3ZTWVB3L3BURTNSWHVuNUZkeU96bXNHQTUvMWFhUWY3a0ZTdEw0aU15OHRhZHBSNERSTXdwblhlS282MVpNaFlBRmU4NDlocHdPS2U1Y0RDUUh5NHVDWlh2Q1I5blNDUjJLSHk3UDJITldwbk13aG1OS3RUL2phRGI2RnZ3NmVmek1WOGZZUkQ2MHlKbFVXQTY3OTdDdXFySUpBVmlQb2VrSGhyczlFdGZVNkZ1NENOYlIvSGlzQlZPOUs0RUhpeUZFTkQ3THhBNzRFYWt6eEhlQUFjblk4djdiNE1nT3ZyU1BmcUxmUTNiQVRxNTVXQWVCeG1tYlowWEVNWHZRZlRMRGFvbFpBcUlVSjd1ejd5SXEramhVUTFUSG1ncWp4WWlEMHErT1IwZFh4Y1FreVNtZkVzaXcrelVoT09QcEE2RVMrS204dGtOUWJBVDNHRWZLZVJqUkpVTlBNZ256ZDYxNjRlTFoySmNTVEM4ZFB1Q1crYytNTVJJQUs5amJmY3hPbGVaeDVQZkJEb0s2MFB2R3hxa0ZPMmExN00wOW9BOXl2RTVRWkV4L3lYb3Mzck9FWTNqYkY4MExSSFZmbW5xZUs2RDByNzRjVHk0cGFWTUlqa3laZzlaZitjMng4RXM4b20xMjdRQmw3Z1I4cldrM05QR3dGTzVnY3JodTVtK2RENDh1QXFJVUo3dXo3eUlxK2poVVExVEhtaW9rYlVHVVZnVEtRL1MxR3BNb2dVWXNyRXE4cVJVZkVTelZlTDhXVUpreVNxWmUxQnZvS01MMDBoOHphNDQ0KzRkM2grT3A1UlhGazZMWndzczA0TGlXbSt4eDlOVTRCTXdtZzkvcmRnWGxoOWNseDJmQ2twVXRMWDhvQ1VRbUh5OTFkTHdqZnhmNS9keDlrNC9uRDhYN1BkWHV3ZHdnREV6cGxBYS9zcmlncFhEajh5dWtMb243SDBNREJ6VC9kK25wSDk4ZXd2WmRKc3Y3MklSZkJrMnV0RzU2dHpUMjU2OE9qQWpVeEdObGFPVEdIK3pqcVp4WjllbU9RYWR3ekUzcTdiQlpZMDVodXh6SGZDSnhCK1Q0K2U4bVA5ZTFRSG9WNUordmNFVERXOXNYYTZubEY0clhLSWw5aEZsNGpiaVJYZkU1WEVQc2d2ZlVJd055aWhzOFNTY2pSYmQrZy8zWGJUTjBGVGZHdUpzNFRRWFVScW1kczRPM0NaNTQyK0xOZkJpV3pxQkk0K2ZheGZiUmt4aWFXQzJaSjdPM3E3SkVlQmsrcVAwRkZ3N3o1TjRUNXVIcFBYV2dHLy9TM0ZRTkxDSmIxbU0vRGMvLzhyQ2JiQldpSzlyTmc1MCtQY3lEb3Z1QVVmaG12bENqRGRYUXlzajE2MzJqdkxZMERmVCtDZ2xxOGJUcU5TU3FoMkdqbllxOE1Gakx6eWdZL0dLSU1wcDZ3azJWaFB0dlZRQ1RmZHUvaFdRa2p5SDR0RXV2Q3djMnVQeVg1UjhFRHdQQ3JJOHkrZmNEUHJNQzJCbTFNb2JZUElqNFhTcjhTdXR2UldLVWV4TndsMlVVZzJJTGtHS3YvQTdlK25FL0ZOTEs4clZOc1k4b0VjejhnSlZRczhCUFR6NnJHZVg2ZFl3aEhxcUNBUUJjOGdEYzBkV1ErQzhRNDVUVWM4cEQyRHYxbzRmL2MyckJobENlWTdsUnRibUF5L1NEdXFrUWg5RitVdUp3ZFVmTWtZclFYUVpmL0VYUUlTRTZ3a3puSFZpTnhHU250VFBJd3ZhVG9CWVlGQjBKaXBkTGRTeW1iVU1QNkNtK1BJQW81K2JyYjFQeURNV1FQb1MrQ1JiQzhwcDRQRVR6N1lZTS9NdFZjTWhJTS9qOENQSmxZTE1kc3RkTHhhSUh0OFVCdDZnTTdtakV1K1ZvY2U5RmM4SFd0WlhSZVhldXZZd3p6a0Vha1V5ZjIxZnJtZEs1My8zMUNjL0N5RXpmTUQvOUE5b05WelJqODFOWjhpVEZNUTNQa3FlVklxV3kzOFYzUUlHUCtnMit0QkJFMUhISFFZSzc4Zk5Cd1o5SFJyc3pyNjVQMDdIcVp0akxPUzloYlZCQ245ZUY2S21UNWdkaHdwd3pkekdYSUxXaC8xd2g2bml0Ym9uTEtQZXREMFZuRFN2RDMvb2RtcmlpUnB6L2I2Y2daVElLM0paeDlHTHloNk1yNkYzWTArSUdRcEpWNGxUc0xYcHVuSnZuajFuY01nQzN2bGJOMW1RWXEzT2dyVVhldk1DVlY4SVVjMVhjVzBGR3UxdVV1QzFuVmRaOTBwNlZYU0pQdVRlYXdSUlE0YzNjcllRdzRIeWxldDRiYklVMTJ0ZldnN3VLN20yajROUitPN0dDZWxTL2hzUHJHTFJPWjZaeTBaU2d1QVVSMVBMRTdHNTJBYjVLTE9qWlBQWkw4M1owcTN5VzZ5UEF0OG40eGtPQlhaQjhLWDNvRjlPNWVDTUZ5bElwSEZ6TkQ5eU8xUHJGSzR6MWlFWDNyclNNV3Z5Y2VBTGltaUxFQzkwSXZWWTNETzFuV3YwWGY2cnRrWEtBL2pIcEYwVG9CS0lOSGppaUNKRjRrYjI3dHpsYjIveVdLN1dLQWFrYmg2bk9EL0N5MzlQZWhXMGNnZzJ1L25hTXNpcmpOMTZ1TXNSY1h2alUxdGVOa3IxTzRwK2VqU29RR3E0cVhHNG9ZUzExN004aklSKzMzd0NLUlh6ODM3dEVCeDFQbDN2SXZvY1BqVWlhUW53QW50UDljTmVRSlZkc3VtS01hNUptNC9TMFdTOUdzakdHVGNIclBCT3BoNEttWGpmUWpybHE4U3liaXhNOWxNM0lnUmpaVDUwWWF3YjFWcWtsTHBpNFYzTnByaEJjRzhtWThqaFhxM0ZDMEJvRExWQXBzNmZic01RaXVyTmNSZGc4ZEdMemhJL1pGaVIwNzk3MngvOXM2MG41ZFYwMHloL3B2bXpnbVd0SXlBdyt2NElTYlpJWXdjWnpRNHhyVkJ0T21iTXd2YThPM3ltcW5KdVBBbkJlQ2NUODErQkM5VG00ZTh1K1ZOR2txeHpSMjdrWmRXN2lZTTFqNkxLWWllNkZrZGtmWHMwZ1NHOGRZa3B3L2FvWlNnMXNLSjJQSEZZVS9uK3JuazFCUU5hbXpvU3VCLzlBVHFkOEtCa0Nka1NaZUwzWEl5TjJhenhzVmxObkxmUm0vR1hLRDREM3ViT3Z3b09RNkpPeE5QSjJLVTBPL25JN2gxcVpCeHIvd0xsMGVHZytDSUQzMnZsMjNUVVBEcFVmS1Z3VUhXM3pHSWdLeUpEMTJ0STBJOGJ3Sm9RbVFacXc2R01vMlhKaVpCRFlXWkZRUzJsdnlUbHNJL2VJN3ZqSFNHQXI5MkowKzRvcUxPcGt4aEwzUGg4djBWODVsYlRTaGVXMmcxL2pyL1dlcFF4TXZhcjVjb1JCdzlRdmZxMjI2YURYYVFRQ3pqQTk2dXFaV1JJTXNGRDN4REJmSDhaZGtGbERLWUthRlN1T2hoRG5NRmMxc1lFTnpGNmcwRmo4K0NlZU5yWmprSXRDWlJUNll4SFAza2tiMkY5QThoT0o0MnpqUWkrTWhJSGQvNCt2SVN4cmdUQ1FHaHR0aTB4VmZmbmY1SkZ5Z2lYWnFCN1pKT092bGNSQ3NBSlFGNW43T2ZkblIrV3JncDNPbGNXT0NLSThHMFV0OUc5eG42dU1TdXFsRmVMdmhvMFEwTklPM3d0d3pnSVZVdExxVnhwVjJXUFFBbHFSV1F0cHpORWY2WmdDVmNhZjlueW8yYTgxN2tNMkszeVdHM05wNGtITmFPRWFVR3QzeVNmbGxzZ0lTQ05ubzFuMWZhMTdtbnRGTzRHb1VTS3hEbjZsWFNZb0RvcVZWckIxSm5lSFc1dnFXb2xram96R2t5SlNUZmFwSitDb3ZnMjluRWRQZ2pPWDU3S0dqWm41OGp4R1JoM1N3M0poNnByaGt1WVpkN3RwcmwyQmh3eEdKTzNrMEo2VzJTL1ZaMGVBWWZhTnRsZGRVZUQwblFMbmVyNlNuUndKdjBxcVBqT0pscUE3SFBXOTJKOFlSazZENzd6NEx2UmtnRGNTNWZwcE14SW96TE54L1V4OTc1ZXIzeGxlYTZFZm9sR0JrZWVYUDNJV0lGb3Q3NERXRkhvUGNuNDhyNnh5b3hIK1NsVkNuZUF1SThIeitWOUFhYUdWbFg5ME5DcHRHTExYU29NQlkzNE10TEtCVm9FNmZlZW5iOXlOcXMyb1FIbWEvcDlUY0JqOWpjdGo2YnpFMmwzZEJTQThTd0JIL0MvMlVkMTFLZElRYzFSQk1FeFV5WmdoV2lxYStQV01OWmU3VTBPREFDQUxDODQ3K2paTjFHQW92K3c4WmpYMEplRld2czZ1cm5mUjZ3VVdDa2dMQUVSdUlDMFBMbG92ajMyRGlYTEg1T20rSCtBR1JKY2VOYnNicjNWMisrVkNqbTNYOG84WnF6OWhxUVFSJylcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIlNob3dcIixcInBhdGhcIjpcIlNob3dcIixcInJ1bGVcIjpcInZhciBwcmVzID0gW11cXHJcXG52YXIgcmVzID0gW11cXHJcXG52YXIgeyBnZW5lcmF0ZV9saXN0LCBnZW5lcmF0ZV9kb3dubG9hZF9saXN0IH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9MaXN0JylcXHJcXG52YXIgeyBmaXhfdGFiIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9GaXhUYWInKVxcclxcblxcclxcbi8vIOmhtumDqOWbuuWumuagj1xcclxcbmZpeF90YWIocHJlcylcXHJcXG5cXHJcXG4vLyDnmbvlvZXlkI7miY3kvJrmmL7npLrmlofku7blpLkv5paH5Lu25YiX6KGoXFxyXFxuaWYgKCEoZ2V0SXRlbSgnYWNjZXNzX3Rva2VuJywgJycpID09ICcnIHx8IGdldEl0ZW0oJ2FjY2Vzc190b2tlbicsICcnKSA9PSAndW5kZWZpbmVkJykpIHtcXHJcXG4gICAgLy8gbGV0IHBhdGhzX2tpbmRfcHJlID0gWydwYXRocycsICdzaF9wYXRocycsICdkb3dubG9hZF9wYXRocyddXFxyXFxuICAgIGxldCBwYXRoc19raW5kX3ByZSA9IFsncGF0aHMnLCAnc2hfcGF0aHMnXVxcclxcbiAgICBsZXQgcGF0aHNfa2luZCA9IHBhdGhzX2tpbmRfcHJlW2dldE15VmFyKCdzaG93X2luZGV4JywgJzAnKV1cXHJcXG5cXHJcXG4gICAgLy8gLy8g5YiX6KGo5qCPXFxyXFxuICAgIC8vIGlmIChnZXRNeVZhcignc2hvd19pbmRleCcsICcwJykgPT0gJzEnKSB7XFxyXFxuICAgIC8vICAgICBnZW5lcmF0ZV9vdGhlcl9zaGFyZV9saXN0KHJlcywgXFxcInNoX3BhdGhzXFxcIilcXHJcXG4gICAgLy8gfSBlbHNlIHtcXHJcXG4gICAgLy8gICAgIGdlbmVyYXRlX2xpc3QocmVzLCBwYXRoc19raW5kKVxcclxcbiAgICAvLyB9XFxyXFxuICAgIGlmIChnZXRNeVZhcignc2hvd19pbmRleCcsICcwJykgIT0gJzInKSB7XFxyXFxuICAgICAgICBnZW5lcmF0ZV9saXN0KHJlcywgcGF0aHNfa2luZClcXHJcXG4gICAgfSBlbHNlIHtcXHJcXG4gICAgICAgIGdlbmVyYXRlX2Rvd25sb2FkX2xpc3QocmVzKVxcclxcblxcclxcbiAgICB9XFxyXFxufVxcclxcblxcclxcbi8vIOi1t+mjnn5cXHJcXG5zZXRSZXN1bHQocmVzKVxcclxcblwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiUGF0aFwiLFwicGF0aFwiOlwiUGF0aFwiLFwicnVsZVwiOlwidmFyIHsgc3R5bGVfY29sb3IgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0RlYnVnJylcXHJcXG4vLyDnlJ/miJDpppbpobXot6/lvoQo5oyJ6ZKu5qC35byPKVxcclxcbmZ1bmN0aW9uIGdlbmVyYXRlX3BhdGhzKHJlcywgcGF0aHNfa2luZCwgc2VhcmNoX3Jvb3RfcGF0aCkge1xcclxcbiAgICAvLyDojrflj5blvZPliY3nmoTot6/lvoRcXHJcXG4gICAgbGV0IHBhdGhzID0gc3RvcmFnZTAuZ2V0TXlWYXIocGF0aHNfa2luZCwgW1xcclxcbiAgICAgICAge1xcclxcbiAgICAgICAgICAgIGlkOiAnJyxcXHJcXG4gICAgICAgICAgICBuYW1lOiAnSG9tZScsXFxyXFxuICAgICAgICB9LFxcclxcbiAgICBdKVxcclxcblxcclxcbiAgICAvLyDmnoTlu7rot6/lvoTnmoRuYW1l5bGe5oCn5pWw57uE77yM55So5LqO6K6+572u5qC56Lev5b6EXFxyXFxuICAgIGxldCBwYXRoc19uYW1lcyA9IFtdXFxyXFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGF0aHMubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgIHBhdGhzX25hbWVzLnB1c2gocGF0aHNbaV0ubmFtZSlcXHJcXG4gICAgfVxcclxcblxcclxcbiAgICAvLyDot6/lvoTmjInpkq7kuLTml7bmlbDnu4RcXHJcXG4gICAgbGV0IHRfcmVzID0gW11cXHJcXG5cXHJcXG4gICAgLy8g6Lev5b6E5Lul5oyJ6ZKu5pa55byP5pi+56S6XFxyXFxuICAgIHBhdGhzLmZvckVhY2goKGl0ZW0sIGkpID0+IHtcXHJcXG4gICAgICAgIGlmIChpID49IHBhdGhzX25hbWVzLmluZGV4T2Yoc2VhcmNoX3Jvb3RfcGF0aCkpIHtcXHJcXG4gICAgICAgICAgICBsZXQgc2hvd19pbmRleCA9IGdldE15VmFyKCdzaG93X2luZGV4JywgJzAnKVxcclxcbiAgICAgICAgICAgIGxldCBob21lX2NhdGVnb3J5X2luZGV4ID0gZ2V0TXlWYXIoJ2hvbWVfY2F0ZWdvcnlfaW5kZXgnLCAnMCcpXFxyXFxuICAgICAgICAgICAgbGV0IHVybCA9ICcnXFxyXFxuXFxyXFxuICAgICAgICAgICAgLy8g5re75Yqg5YiG6ZqU56ymXFxyXFxuICAgICAgICAgICAgaWYgKGhvbWVfY2F0ZWdvcnlfaW5kZXggPT0gJzAnKSB7XFxyXFxuICAgICAgICAgICAgICAgIHRfcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICcvJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nLFxcclxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAndG9hc3Q6Ly/kvaDmmK/kuI3mmK/ngrnplJnkuobvvJ8nLFxcclxcbiAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgIH1cXHJcXG5cXHJcXG4gICAgICAgICAgICBzd2l0Y2ggKHNob3dfaW5kZXgpIHtcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSAnMSc6XFxyXFxuICAgICAgICAgICAgICAgICAgICB1cmwgPSAkKCkubGF6eVJ1bGUoXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgKHBhdGhzLCBpLCBwYXRoc19raW5kKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKHBhdGhzX2tpbmQsIHBhdGhzLnNsaWNlKDAsIGkgKyAxKSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRocyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhzX2tpbmRcXHJcXG4gICAgICAgICAgICAgICAgICAgIClcXHJcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XFxyXFxuICAgICAgICAgICAgICAgICAgICBpZiAoaG9tZV9jYXRlZ29yeV9pbmRleCA9PSAnMCcpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmwgPSAkKCkubGF6eVJ1bGUoXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYXRocywgaSwgcGF0aHNfa2luZCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIocGF0aHNfa2luZCwgcGF0aHMuc2xpY2UoMCwgaSArIDEpKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRocyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aHNfa2luZFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIClcXHJcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuXFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgfVxcclxcblxcclxcbiAgICAgICAgICAgIC8vIOa3u+WKoOi3r+W+hFxcclxcbiAgICAgICAgICAgIHRfcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgICAgICAvLyB0aXRsZTogaXRlbS5uYW1lLFxcclxcbiAgICAgICAgICAgICAgICB0aXRsZTogc3R5bGVfY29sb3IoaXRlbS5uYW1lLCAnIzI0QkI3NScsICdzdHJvbmcnKSxcXHJcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICdmbGV4X2J1dHRvbicsXFxyXFxuICAgICAgICAgICAgICAgIHVybDogdXJsLFxcclxcbiAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICB9XFxyXFxuICAgIH0pXFxyXFxuXFxyXFxuICAgIHRfcmVzLnNoaWZ0KClcXHJcXG5cXHJcXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0X3Jlcy5sZW5ndGg7IGkrKykge1xcclxcbiAgICAgICAgcmVzLnB1c2godF9yZXNbaV0pXFxyXFxuICAgIH1cXHJcXG59XFxyXFxuXFxyXFxuZnVuY3Rpb24gZ2VuZXJhdGVfaG9tZV9jYXRlZ29yeV9wYXRocyhyZXMpIHtcXHJcXG4gICAgbGV0IGhvbWVfY2F0Z2Vnb3J5X2FyciA9IFsn5omA5pyJ5paH5Lu2JywgJ+aIkeeahOWIhuS6qycsICflm57mlLbnq5knXVxcclxcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGhvbWVfY2F0Z2Vnb3J5X2Fyci5sZW5ndGg7IGkrKykge1xcclxcbiAgICAgICAgbGV0IGhvbWVfY2F0ZWdvcnlfaW5kZXggPSBnZXRNeVZhcignaG9tZV9jYXRlZ29yeV9pbmRleCcsICcwJylcXHJcXG4gICAgICAgIGxldCB1cmwgPSAkKCkubGF6eVJ1bGUoKGkpID0+IHtcXHJcXG4gICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICBwdXRNeVZhcignaG9tZV9jYXRlZ29yeV9pbmRleCcsIGkpXFxyXFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXHJcXG4gICAgICAgIH0sIGkpXFxyXFxuXFxyXFxuICAgICAgICBpZiAoaG9tZV9jYXRlZ29yeV9pbmRleCA9PSBpKSB7XFxyXFxuICAgICAgICAgICAgaWYgKGkgPT0gMSkge1xcclxcbiAgICAgICAgICAgICAgICB1cmwgPSAkKFsn5pKk6ZSA5omA5pyJ5YiG5LqrJ10sIDEsICfor7fpgInmi6nmk43kvZwnKS5zZWxlY3QoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0ID09ICfmkqTplIDmiYDmnInliIbkuqsnKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHsgc2hhcmVfZW1wdHkgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVfZW1wdHkoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5bey57uP5pKk6ZSA5omA5pyJ5YiG5Lqr77yBJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgfSBlbHNlIGlmIChpID09IDIpIHtcXHJcXG4gICAgICAgICAgICAgICAgdXJsID0gJChbJ+a4heepuuWbnuaUtuermSddLCAxLCAn6K+36YCJ5oup5pON5L2cJykuc2VsZWN0KCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dCA9PSAn5riF56m65Zue5pS256uZJykge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpcm0oe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+Wwj+eoi+W6j+aPkOekuicsIC8vIOW8ueeql+agh+mimFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAn5piv5ZCm5riF56m65Zue5pS256uZJywgLy8g5by556qX5YaF5a65XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpcm06ICQudG9TdHJpbmcoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgeyB0cmFzaF9lbXB0eSB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYXNoX2VtcHR5KClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/lt7Lnu4/muIXnqbrlm57mlLbnq5knXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWw6ICQudG9TdHJpbmcoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+WPlua2iOa4heepuuWbnuaUtuermSdcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgIHVybCA9ICQoJycsICfor7fovpPlhaXmlrDlu7rmlofku7blpLnlkI3lrZcnKS5pbnB1dCgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgeyBpdGVtX2FkZF9mb2xkZXIgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbV9hZGRfZm9sZGVyKFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldE15VmFyKCdwYXRocycsIFtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAnJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0hvbWUnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBvcCgpLmlkLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIClcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH1cXHJcXG5cXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTpcXHJcXG4gICAgICAgICAgICAgICAgZ2V0TXlWYXIoJ2hvbWVfY2F0ZWdvcnlfaW5kZXgnLCAnMCcpID09IGlcXHJcXG4gICAgICAgICAgICAgICAgICAgID8gc3R5bGVfY29sb3IoaG9tZV9jYXRnZWdvcnlfYXJyW2ldLCAnI0ZGNjM0NycsICdzdHJvbmcnKVxcclxcbiAgICAgICAgICAgICAgICAgICAgOiBob21lX2NhdGdlZ29yeV9hcnJbaV0sXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdzY3JvbGxfYnV0dG9uJyxcXHJcXG4gICAgICAgICAgICB1cmw6IHVybCxcXHJcXG4gICAgICAgIH0pXFxyXFxuICAgIH1cXHJcXG59XFxyXFxuXFxyXFxuZnVuY3Rpb24gZ2VuZXJhdGVfb3RoZXJfc2hhcmVfcGF0aHMocmVzLCBvdGhlcl9zaGFyZV9pdGVtcykge1xcclxcbiAgICB2YXIgeyBzaGFyZV9vdGhlcl9yb290X2luZm8gfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgIGlmIChvdGhlcl9zaGFyZV9pdGVtcy5sZW5ndGggPD0gMCkge1xcclxcbiAgICAgICAgc2V0SXRlbSgnc2hhcmVfaWQnLCAnJylcXHJcXG4gICAgICAgIHNldEl0ZW0oJ3NoYXJlX3Bhc3NfY29kZV90b2tlbicsICcnKVxcclxcbiAgICB9IGVsc2Uge1xcclxcbiAgICAgICAgLy8g5pyJ5YiG5Lqr6ZO+5o6l77yM5L2G5piv5rKh5pyJc2hhcmVfaWTlkoxzaGFyZV9wYXNzX2NvZGVfdG9rZW7vvIzlsLHpu5jorqTorr/pl67nrKzkuIDkuKrojrflj5ZcXHJcXG4gICAgICAgIGlmIChnZXRJdGVtKCdzaGFyZV9pZCcsICcnKSA9PSAnJyB8fCBnZXRJdGVtKCdzaGFyZV9wYXNzX2NvZGVfdG9rZW4nLCAnJykgPT0gJycpIHtcXHJcXG4gICAgICAgICAgICBzaGFyZV9vdGhlcl9yb290X2luZm8ob3RoZXJfc2hhcmVfaXRlbXNbMF0udXJsLCBvdGhlcl9zaGFyZV9pdGVtc1swXS5wYXNzd2QpXFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG5cXHJcXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvdGhlcl9zaGFyZV9pdGVtcy5sZW5ndGg7IGkrKykge1xcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIHRpdGxlOlxcclxcbiAgICAgICAgICAgICAgICBnZXRNeVZhcignc2hhcmVfc2hvd19pbmRleCcsICcwJykgPT0gaVxcclxcbiAgICAgICAgICAgICAgICAgICAgPyBzdHlsZV9jb2xvcihvdGhlcl9zaGFyZV9pdGVtc1tpXS5uYW1lLCAnI0ZGNjM0NycsICdzdHJvbmcnKVxcclxcbiAgICAgICAgICAgICAgICAgICAgOiBvdGhlcl9zaGFyZV9pdGVtc1tpXS5uYW1lLFxcclxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxyXFxuICAgICAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoXFxyXFxuICAgICAgICAgICAgICAgIChpLCBvdGhlcl9zaGFyZV9pdGVtcykgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICB2YXIgeyBzaGFyZV9vdGhlcl9yb290X2luZm8gfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignc2hfcGF0aHMnLCBbXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogJycsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdTaGFyZUhvbWUnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICBdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgLy8g54K55Ye76I635Y+Wc2hhcmVfaWTlkoxzaGFyZV9wYXNzX2NvZGVfdG9rZW5cXHJcXG4gICAgICAgICAgICAgICAgICAgIHNoYXJlX290aGVyX3Jvb3RfaW5mbyhvdGhlcl9zaGFyZV9pdGVtc1tpXS51cmwpXFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgICAgICBpZiAoZ2V0TXlWYXIoJ3NoYXJlX3Nob3dfaW5kZXgnLCAnMCcpID09IGkpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyDlvLnlh7rmmK/lkKbovazlrZjmlbTkuKrliIbkuqvvvIzlpoLmnpzph43lpI3ngrnlh7vmjInpkq5cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maXJtKHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICflsI/nqIvluo/mj5DnpLonLCAvLyDlvLnnqpfmoIfpophcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ+aYr+WQpui9rOWtmOaVtOS4quWIhuS6qycsIC8vIOW8ueeql+WGheWuuVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maXJtOiAkLnRvU3RyaW5nKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB7IGdldF9pdGVtc19saXN0LCBzaGFyZV9vdGhlcl9zYXZlIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHBhdGhzID0gc3RvcmFnZTAuZ2V0TXlWYXIoJ3NoX3BhdGhzJywgW1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICcnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnSG9tZScsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbGlzdCA9IGdldF9pdGVtc19saXN0KHBhdGhzW3BhdGhzLmxlbmd0aCAtIDFdLmlkKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6L2s5a2YXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZV9vdGhlcl9zYXZlKFtsaXN0LmZpbGVzWzBdLmlkXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/ovazlrZjmlbTkuKrliIbkuqvmiJDlip8nXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLCAvLyDnoa7lrprlkI7miafooYxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuY2VsOiAkLnRvU3RyaW5nKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/lj5bmtojovazlrZjmk43kvZwnXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLCAvLyDlj5bmtojlkI7miafooYxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcignc2hhcmVfc2hvd19pbmRleCcsIGkpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICBpLFxcclxcbiAgICAgICAgICAgICAgICBvdGhlcl9zaGFyZV9pdGVtc1xcclxcbiAgICAgICAgICAgICksXFxyXFxuICAgICAgICB9KVxcclxcbiAgICB9XFxyXFxufVxcclxcblxcclxcbmZ1bmN0aW9uIGdlbmVyYXRlX2Rvd25sb2FkX3BhdGhzKHJlcykge1xcclxcbiAgICAvLyDmt7vliqDkupHkuIvovb3jgIHkupHkuIvovb3ml6Xlv5fjgIHmuIXnqbrml6Xlv5dcXHJcXG4gICAgbGV0IGRvd25sb2FkX2NhdGdlZ29yeV9hcnIgPSBbJ+a3u+WKoOS6keS4i+i9vScsICfkupHku7vliqHliJfooagnLCAn5riF56m65LqR5Lu75Yqh5YiX6KGoJ11cXHJcXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkb3dubG9hZF9jYXRnZWdvcnlfYXJyLmxlbmd0aDsgaSsrKSB7XFxyXFxuICAgICAgICBsZXQgdXJsID0gJCgpLmxhenlSdWxlKChpKSA9PiB7XFxyXFxuICAgICAgICAgICAgcHV0TXlWYXIoJ2Rvd25sb2FkX2NhdGVnb3J5X2luZGV4JywgaSlcXHJcXG4gICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICAgICAgfSwgaSlcXHJcXG4gICAgICAgIGlmIChpID09IDIpIHtcXHJcXG4gICAgICAgICAgICB1cmwgPSAkKCfmmK/lkKbmuIXnqbrkupHku7vliqHliJfooajvvJ8nKS5jb25maXJtKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgcHV0TXlWYXIoJ2Rvd25sb2FkX2NhdGVnb3J5X2luZGV4JywgMSlcXHJcXG4gICAgICAgICAgICAgICAgLy8gc3RvcmFnZTAucHV0TXlWYXIoXFxcImRvd25sb2FkX3Rhc2tfaWRzXFxcIiwgW10pXFxyXFxuICAgICAgICAgICAgICAgIHZhciB7IGRvd25sb2FkX2NsZWFyIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICBkb3dubG9hZF9jbGVhcigpXFxyXFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgdGl0bGU6XFxyXFxuICAgICAgICAgICAgICAgIGdldE15VmFyKCdkb3dubG9hZF9jYXRlZ29yeV9pbmRleCcsICcwJykgPT0gaVxcclxcbiAgICAgICAgICAgICAgICAgICAgPyBzdHlsZV9jb2xvcihkb3dubG9hZF9jYXRnZWdvcnlfYXJyW2ldLCAnI0ZGNjM0NycsICdzdHJvbmcnKVxcclxcbiAgICAgICAgICAgICAgICAgICAgOiBkb3dubG9hZF9jYXRnZWdvcnlfYXJyW2ldLFxcclxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnc2Nyb2xsX2J1dHRvbicsXFxyXFxuICAgICAgICAgICAgdXJsOiB1cmwsXFxyXFxuICAgICAgICB9KVxcclxcbiAgICB9XFxyXFxufVxcclxcblxcclxcbiQuZXhwb3J0cyA9IHtcXHJcXG4gICAgZ2VuZXJhdGVfcGF0aHMsXFxyXFxuICAgIGdlbmVyYXRlX290aGVyX3NoYXJlX3BhdGhzLFxcclxcbiAgICBnZW5lcmF0ZV9ob21lX2NhdGVnb3J5X3BhdGhzLFxcclxcbiAgICBnZW5lcmF0ZV9kb3dubG9hZF9wYXRocyxcXHJcXG4gICAgLy8gZ2VuZXJhdGVfc2VhcmNoX3BhdGhzLFxcclxcbn1cXHJcXG5cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIlNlYXJjaEJhckFuZENhdGVnb3J5XCIsXCJwYXRoXCI6XCJTZWFyY2hCYXJBbmRDYXRlZ29yeVwiLFwicnVsZVwiOlwiLy8g5q+P5pel5LiA5Y+l57yT5a2YXFxyXFxuZnVuY3Rpb24gc2F2ZV9kYXlfc2F5X2NhY2hlKCkge1xcclxcbiAgICBsZXQgZGF5X3NheV9jYWNoZSA9IHt9XFxyXFxuICAgIGxldCBkYXlfc2F5X2h0bWwgPSBmZXRjaCgnaHR0cHM6Ly92MS5oaXRva290by5jbicsIHtcXHJcXG4gICAgICAgIGhlYWRlcnM6IHtcXHJcXG4gICAgICAgICAgICAnVXNlci1BZ2VudCc6XFxyXFxuICAgICAgICAgICAgICAgICdNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTIyLjAuMC4wIFNhZmFyaS81MzcuMzYnLFxcclxcbiAgICAgICAgfSxcXHJcXG4gICAgfSlcXHJcXG4gICAgZGF5X3NheV9odG1sID0gSlNPTi5wYXJzZShkYXlfc2F5X2h0bWwpXFxyXFxuICAgIGRheV9zYXlfY2FjaGVbJ2NvbnRlbnQnXSA9IGRheV9zYXlfaHRtbFsnaGl0b2tvdG8nXVxcclxcbiAgICBkYXlfc2F5X2NhY2hlWyd0aW1lJ10gPSBNYXRoLmZsb29yKERhdGUubm93KCkgLyAxMDAwKVxcclxcbiAgICBnbG9iYWxNYXAwLnB1dE15VmFyKCdkYXlzYXknLCBkYXlfc2F5X2NhY2hlKVxcclxcbiAgICByZXR1cm4gZGF5X3NheV9odG1sWydoaXRva290byddXFxyXFxufVxcclxcblxcclxcbi8vIOeUn+aIkOaQnOe0ouagj1xcclxcbmZ1bmN0aW9uIHNlYXJjaF9iYXIocmVzKSB7XFxyXFxuICAgIHZhciB7IHBpY19ob21lLCBwaWNfc2hhcmUsIHBpY19yZWN5Y2xlLCBwaWNfbGluayB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQmFzZTY0UGljJylcXHJcXG4gICAgdmFyIHsgc3R5bGVfY29sb3IgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0RlYnVnJylcXHJcXG4gICAgbGV0IGRheV9zYXkgPSAnJ1xcclxcbiAgICB0cnkge1xcclxcbiAgICAgICAgbGV0IGRheV9zYXlfY2FjaGUgPSB7fVxcclxcbiAgICAgICAgbGV0IGRheV90aW1lID0gMFxcclxcbiAgICAgICAgaWYgKGdsb2JhbE1hcDAuaGFzTXlWYXIoJ2RheXNheScpKSB7XFxyXFxuICAgICAgICAgICAgZGF5X3NheV9jYWNoZSA9IGdsb2JhbE1hcDAuZ2V0TXlWYXIoJ2RheXNheScsIHt9KVxcclxcbiAgICAgICAgICAgIGRheV90aW1lID0gZGF5X3NheV9jYWNoZVsndGltZSddXFxyXFxuICAgICAgICAgICAgaWYgKE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApIC0gZGF5X3RpbWUgPj0gMTApIHtcXHJcXG4gICAgICAgICAgICAgICAgZGF5X3NheSA9IHNhdmVfZGF5X3NheV9jYWNoZSgpXFxyXFxuICAgICAgICAgICAgfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgZGF5X3NheSA9IGRheV9zYXlfY2FjaGVbJ2NvbnRlbnQnXVxcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgZGF5X3NheSA9IHNhdmVfZGF5X3NheV9jYWNoZSgpXFxyXFxuICAgICAgICB9XFxyXFxuICAgIH0gY2F0Y2gge1xcclxcbiAgICAgICAgZGF5X3NheSA9ICcnXFxyXFxuICAgIH1cXHJcXG5cXHJcXG4gICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgdGl0bGU6ICfmkJzntKInLFxcclxcbiAgICAgICAgY29sX3R5cGU6ICdpbnB1dCcsXFxyXFxuICAgICAgICBkZXNjOiAn8J+kljogJyArIGRheV9zYXksXFxyXFxuICAgICAgICB1cmw6IFxcXCInaGlrZXI6Ly9zZWFyY2g/cz0nICsgaW5wdXQgKyAnJnJ1bGU9XFxcIiArIE1ZX1JVTEUudGl0bGUgKyBcXFwiJ1xcXCIsXFxyXFxuICAgICAgICAvLyBleHRyYToge1xcclxcbiAgICAgICAgLy8gICAgIHRpdGxlVmlzaWJsZTogZmFsc2UsXFxyXFxuICAgICAgICAvLyB9LFxcclxcbiAgICAgICAgLy8gZXh0cmE6IHsgZGVmYXVsdFZhbHVlOiAnJyArIGRheV9zYXkgfSxcXHJcXG4gICAgICAgIC8vICAgICBleHRyYToge1xcclxcbiAgICAgICAgLy8gICAgICAgICB0aXRsZVZpc2libGU6IGZhbHNlLFxcclxcbiAgICAgICAgLy8gICAgICAgICBvbkNoYW5nZTogXFxcInB1dE15VmFyKCdob21lX2lucHV0JywgaW5wdXQpXFxcIixcXHJcXG4gICAgICAgIC8vICAgICB9LFxcclxcbiAgICB9KVxcclxcblxcclxcbiAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICB0aXRsZTogZ2V0TXlWYXIoJ3Nob3dfaW5kZXgnLCAnMCcpID09ICcwJyA/IHN0eWxlX2NvbG9yKCfkuLvpobUnLCAnI0ZGNjlCNCcsICdzdHJvbmcnKSA6ICfkuLvpobUnLFxcclxcbiAgICAgICAgY29sX3R5cGU6ICdpY29uXzQnLFxcclxcbiAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xcclxcbiAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgIHB1dE15VmFyKCdzaG93X2luZGV4JywgJzAnKVxcclxcbiAgICAgICAgICAgIHB1dE15VmFyKCdob21lX2NhdGVnb3J5X2luZGV4JywgJzAnKVxcclxcbiAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdwYXRocycsIFtcXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgaWQ6ICcnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ0hvbWUnLFxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIF0pXFxyXFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXHJcXG4gICAgICAgIH0pLFxcclxcbiAgICAgICAgcGljX3VybDogcGljX2hvbWUsXFxyXFxuICAgIH0pXFxyXFxuXFxyXFxuICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgIHRpdGxlOiBnZXRNeVZhcignc2hvd19pbmRleCcsICcwJykgPT0gJzEnID8gc3R5bGVfY29sb3IoJ+WIhuS6qycsICcjRkY2OUI0JywgJ3N0cm9uZycpIDogJ+WIhuS6qycsXFxyXFxuICAgICAgICBjb2xfdHlwZTogJ2ljb25fNCcsXFxyXFxuICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgcHV0TXlWYXIoJ3Nob3dfaW5kZXgnLCAnMScpXFxyXFxuICAgICAgICAgICAgcHV0TXlWYXIoJ3NoYXJlX2luZGV4X3Nob3cnLCAnMCcpXFxyXFxuICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ3NoX3BhdGhzJywgW1xcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBpZDogJycsXFxyXFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnU2hhcmVIb21lJyxcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICBdKVxcclxcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICB9KSxcXHJcXG4gICAgICAgIHBpY191cmw6IHBpY19zaGFyZSxcXHJcXG4gICAgfSlcXHJcXG5cXHJcXG4gICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgLy8gdGl0bGU6ICfkupHkuIvovb0nLFxcclxcbiAgICAgICAgdGl0bGU6IGdldE15VmFyKCdzaG93X2luZGV4JywgJzAnKSA9PSAnMicgPyBzdHlsZV9jb2xvcign5LqR5LiL6L29JywgJyNGRjY5QjQnLCAnc3Ryb25nJykgOiAn5LqR5LiL6L29JyxcXHJcXG4gICAgICAgIGNvbF90eXBlOiAnaWNvbl80JyxcXHJcXG4gICAgICAgIHVybDogJCgpLmxhenlSdWxlKCgpID0+IHtcXHJcXG4gICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICBwdXRNeVZhcignc2hvd19pbmRleCcsICcyJylcXHJcXG4gICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICAgICAgfSksXFxyXFxuICAgICAgICAvLyB1cmw6ICQoJycsICfovpPlhaXpk77mjqUnKS5pbnB1dCgoKSA9PiB7XFxyXFxuICAgICAgICAvLyAgICAgLy8gcmV0dXJuICdwaWtwYWthcHA6Ly9teXBpa3Bhay5jb20veHBhbi9tYWluX3RhYj90YWI9MSZhZGRfdXJsPScgKyBlbmNvZGVVUklDb21wb25lbnQoaW5wdXQpXFxyXFxuICAgICAgICAvLyAgICAgY29uc3Qge2Rvd25sb2FkX2FkZH0gPSAkLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9BUElcXFwiKVxcclxcbiAgICAgICAgLy8gICAgIGRvd25sb2FkX2FkZChpbnB1dClcXHJcXG4gICAgICAgIC8vICAgICBwdXRNeVZhcignc2hvd19pbmRleCcsICcyJylcXHJcXG4gICAgICAgIC8vICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAvLyAgICAgcmV0dXJuIFxcXCJ0b2FzdDovL+W3sue7j+a3u+WKoO+8jOmcgOimgeetieS4gOauteaXtumXtO+8jOacjeWKoeWZqOaJjeiDveS4i+i9veWujOavlVxcXCJcXHJcXG4gICAgICAgIC8vIH0pLFxcclxcbiAgICAgICAgcGljX3VybDogcGljX2xpbmssXFxyXFxuICAgIH0pXFxyXFxuXFxyXFxuICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgIHRpdGxlOiAn6K6+572uJyxcXHJcXG4gICAgICAgIGNvbF90eXBlOiAnaWNvbl80JyxcXHJcXG4gICAgICAgIHVybDogJ2hpa2VyOi8vcGFnZS9PdGhlclNldHRpbmcjbm9IaXN0b3J5IyNub1JlY29yZEhpc3RvcnkjJyxcXHJcXG4gICAgICAgIHBpY191cmw6IHBpY19yZWN5Y2xlLFxcclxcbiAgICB9KVxcclxcblxcclxcbiAgICAvLyByZXMucHVzaCh7XFxyXFxuICAgIC8vICAgICB0aXRsZTogJ+aUueWQjScsXFxyXFxuICAgIC8vICAgICBjb2xfdHlwZTogJ2ljb25fNCcsXFxyXFxuICAgIC8vICAgICB1cmw6ICQoKS5sYXp5UnVsZSgoKT0+e1xcclxcbiAgICAvLyAgICAgICAgIGNvbnN0IHt0ZXN0X3dlYnZpZXd9ID0gJC5yZXF1aXJlKFxcXCJoaWtlcjovL3BhZ2UvVGVzdFdlYnZpZXdcXFwiKVxcclxcbiAgICAvLyAgICAgICAgIHRlc3Rfd2VidmlldygpXFxyXFxuICAgIC8vICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICAvLyAgICAgfSksXFxyXFxuICAgIC8vICAgICBwaWNfdXJsOiBwaWNfcmVjeWNsZSxcXHJcXG4gICAgLy8gfSlcXHJcXG59XFxyXFxuXFxyXFxuLy8g5pCc57Si57uT5p6c5YiX6KGoXFxyXFxuZnVuY3Rpb24gc2VhcmNoX2xpc3Qoa2V5X3dvcmQsIHJlcykge1xcclxcbiAgICB2YXIgeyBnZXRFeHQgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0xpc3QnKVxcclxcbiAgICB2YXIgeyBnZXRfaXRlbXNfbGlzdCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgbGV0IGxpc3QgPSBnZXRfaXRlbXNfbGlzdCgnKicpXFxyXFxuICAgIGxldCBrZXlfd29yZF9yZWdleCA9IG5ldyBSZWdFeHAoJy4qPycgKyBrZXlfd29yZCArICcuKj8nLCAnbWdpJylcXHJcXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaXN0LmZpbGVzLmxlbmd0aDsgaSsrKSB7XFxyXFxuICAgICAgICBpZiAobGlzdC5maWxlc1tpXS5uYW1lLm1hdGNoKGtleV93b3JkX3JlZ2V4KSkge1xcclxcbiAgICAgICAgICAgIHZhciB1cmwgPSAkKCkubGF6eVJ1bGUoXFxyXFxuICAgICAgICAgICAgICAgIChpdGVtLCBleHQsIGFjY2Vzc190b2tlbikgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdmFyIHsgZ2V0X2l0ZW1fdXJsIH0gPSAkLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9BUEk/cnVsZT3nsonlprnniLFQaWtQYWtcXFwiKVxcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IHJlcyA9IGdldF9pdGVtX3VybChpdGVtLmlkLCBhY2Nlc3NfdG9rZW4pICAgICAgXFxyXFxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzLm1lZGlhcy5sZW5ndGggPT0gMCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXMud2ViX2NvbnRlbnRfbGluayArIGV4dFxcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgZm9yIChpdGVtIG9mIHJlcy5tZWRpYXMpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB0cnkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdG1wID0gaXRlbS5saW5rXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAudXJsKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG1wLnVybCArIGV4dFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIGxpc3QuZmlsZXNbaV0sXFxyXFxuICAgICAgICAgICAgICAgIGdldEV4dChsaXN0LmZpbGVzW2ldLm5hbWUpLFxcclxcbiAgICAgICAgICAgICAgICBnZXRJdGVtKCdhY2Nlc3NfdG9rZW4nLCAnJylcXHJcXG4gICAgICAgICAgICApXFxyXFxuXFxyXFxuICAgICAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgICAgICB0aXRsZTogbGlzdC5maWxlc1tpXS5uYW1lLFxcclxcbiAgICAgICAgICAgICAgICBpbWc6IGxpc3QuZmlsZXNbaV0ua2luZCA9PSAnZHJpdmUjZm9sZGVyJyA/IGxpc3QuZmlsZXNbaV0uaWNvbl9saW5rIDogbGlzdC5maWxlc1tpXS50aHVtYm5haWxfbGluayxcXHJcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICdhdmF0YXInLFxcclxcbiAgICAgICAgICAgICAgICB1cmw6XFxyXFxuICAgICAgICAgICAgICAgICAgICBsaXN0LmZpbGVzW2ldLmtpbmQgPT0gJ2RyaXZlI2ZvbGRlcidcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICA/ICdoaWtlcjovL2VtcHR5JiYmJyArIGxpc3QuZmlsZXNbaV0uaWQgKyAnJiYmJyArIGxpc3QuZmlsZXNbaV0ubmFtZSArICcjbm9IaXN0b3J5IyNub1JlY29yZEhpc3RvcnkjJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdXJsICsgJyNub0hpc3RvcnkjI25vUmVjb3JkSGlzdG9yeSMnLFxcclxcbiAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuXFxyXFxuJC5leHBvcnRzID0ge1xcclxcbiAgICBzZWFyY2hfYmFyLFxcclxcbiAgICBzZWFyY2hfbGlzdCxcXHJcXG59XFxyXFxuXCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCJMaXN0XCIsXCJwYXRoXCI6XCJMaXN0XCIsXCJydWxlXCI6XCIvLyDojrflj5bmlofku7blkI3lkI7nvIBcXHJcXG5mdW5jdGlvbiBnZXRFeHQoZmlsZU5hbWUpIHtcXHJcXG4gICAgbGV0IHBfZXh0ID0gZmlsZU5hbWUuc3Vic3RyKGZpbGVOYW1lLmxhc3RJbmRleE9mKCcuJykgKyAxKVxcclxcblxcclxcbiAgICBpZiAoJC5tb3ZpZS5pbmNsdWRlcyhwX2V4dCkpIHtcXHJcXG4gICAgICAgIHZhciBleHQgPSAnI2lzVmlkZW89dHJ1ZSMnXFxyXFxuICAgIH0gZWxzZSBpZiAoJC5hdWRpby5pbmNsdWRlcyhwX2V4dCkpIHtcXHJcXG4gICAgICAgIHZhciBleHQgPSAnI2lzTXVzaWM9dHJ1ZSMnXFxyXFxuICAgIH0gZWxzZSBpZiAoJC5pbWcuaW5jbHVkZXMocF9leHQpKSB7XFxyXFxuICAgICAgICB2YXIgZXh0ID0gJyMuanBnJ1xcclxcbiAgICB9IGVsc2UgaWYgKCQudHh0LmluY2x1ZGVzKHBfZXh0KSkge1xcclxcbiAgICAgICAgdmFyIGV4dCA9ICcjcmVhZFRoZW1lIydcXHJcXG4gICAgfSBlbHNlIHtcXHJcXG4gICAgICAgIHZhciBleHQgPSAnJ1xcclxcbiAgICB9XFxyXFxuICAgIHJldHVybiBleHRcXHJcXG59XFxyXFxuXFxyXFxuLy8g55Sf5oiQ5pi+56S66ZyA6KaB55qE5paH5Lu25aS5L+aWh+S7tuWIl+ihqFxcclxcbmZ1bmN0aW9uIGdlbmVyYXRlX2xpc3QocmVzLCBwYXRoc19raW5kKSB7XFxyXFxuICAgIHZhciB7IGdldF9pdGVtc19saXN0LCBzb3J0X2l0ZW1zX2xpc3QgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgIHZhciB7IHN0eWxlX2NvbG9yIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9EZWJ1ZycpXFxyXFxuICAgIGxldCBwYXRocyA9IHN0b3JhZ2UwLmdldE15VmFyKHBhdGhzX2tpbmQsIFtcXHJcXG4gICAgICAgIHtcXHJcXG4gICAgICAgICAgICBpZDogJycsXFxyXFxuICAgICAgICAgICAgbmFtZTogJ0hvbWUnLFxcclxcbiAgICAgICAgfSxcXHJcXG4gICAgXSlcXHJcXG5cXHJcXG4gICAgbGV0IGxpc3QgPSBnZXRfaXRlbXNfbGlzdChwYXRoc1twYXRocy5sZW5ndGggLSAxXS5pZClcXHJcXG4gICAgaWYgKFxcclxcbiAgICAgICAgZ2V0TXlWYXIoJ3Nob3dfaW5kZXgnLCAnMCcpID09ICcxJyAmJlxcclxcbiAgICAgICAgKGdldEl0ZW0oJ3NoYXJlX2lkJywgJycpID09ICcnIHx8IGdldEl0ZW0oJ3NoYXJlX3Bhc3NfY29kZV90b2tlbicsICcnKSA9PSAnJylcXHJcXG4gICAgKSB7XFxyXFxuICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgdGl0bGU6ICfliIbkuqvpk77mjqXml6DmlYjmiJbogIXlvZPliY3lnLDljLrkuI3lj6/nlKgo6ZyA6KaB6aOeKScsXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6IGdldE15VmFyKCdsaXN0X3Nob3dfc3R5bGUnLCAnMCcpID09ICcwJyA/ICdhdmF0YXInIDogJ21vdmllXzFfdmVydGljYWxfcGljJyxcXHJcXG4gICAgICAgICAgICB1cmw6ICdoaWtlcjovL2VtcHR5JyxcXHJcXG4gICAgICAgIH0pXFxyXFxuICAgICAgICByZXR1cm5cXHJcXG4gICAgfVxcclxcblxcclxcbiAgICBsZXQgc29ydF9maWxlcyA9IHNvcnRfaXRlbXNfbGlzdChsaXN0LmZpbGVzLCBnZXRNeVZhcignbGlzdF9zaG93X3NvcnQnLCAnMCcpKVxcclxcbiAgICBsaXN0LmZpbGVzID0gc29ydF9maWxlc1xcclxcblxcclxcbiAgICBsaXN0LmZpbGVzLmZvckVhY2goKGl0ZW0pID0+IHtcXHJcXG4gICAgICAgIHZhciB1cmwgPSAnJ1xcclxcbiAgICAgICAgdmFyIGZpbGVfYWN0aW9uID0gc3RvcmFnZTAuZ2V0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICB2YXIgbG9uZ0NsaWNrX2FyciA9IFtcXHJcXG4gICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgIHRpdGxlOiAn6YCJ5oupJyxcXHJcXG4gICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoXFxyXFxuICAgICAgICAgICAgICAgICAgICAoaXRlbSwgbGlzdCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dTZWxlY3RPcHRpb25zKHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfor7fpgInmi6nmk43kvZwnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBbJ+mAieaLqScsICfkuI3pgIknLCAn5YWo6YCJJywgJ+a4heepuuW3sumAiSddLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZyhcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpdGVtLCBsaXN0KSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZpbGVfYWN0aW9uID0gc3RvcmFnZTAuZ2V0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChpbnB1dCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICfpgInmi6knOlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9hY3Rpb24ucHVzaChpdGVtLmlkKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgZmlsZV9hY3Rpb24pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICfkuI3pgIknOlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9hY3Rpb24uc3BsaWNlKGZpbGVfYWN0aW9uLmluZGV4T2YoaXRlbS5pZCksIDEpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBmaWxlX2FjdGlvbilcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+a4heepuuW3sumAiSc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlX2FjdGlvbi5wdXNoKGxpc3RbaV0uaWQpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBmaWxlX2FjdGlvbilcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0sXFxyXFxuICAgICAgICAgICAgICAgICAgICBsaXN0LmZpbGVzXFxyXFxuICAgICAgICAgICAgICAgICksXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgIHRpdGxlOiAn5Yig6ZmkJyxcXHJcXG4gICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoXFxyXFxuICAgICAgICAgICAgICAgICAgICAoYWN0aW9uLCBpdGVtX3NvdXJjZV9pZCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpcm0oe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+Wwj+eoi+W6j+aPkOekuicsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICfmmK/lkKbliKDpmaTmnKzmlofku7Yv5paH5Lu25aS5JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlybTogJC50b1N0cmluZyhcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhY3Rpb24sIGl0ZW1fc291cmNlX2lkKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHsgaXRlbV9hY3Rpb24gfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbV9hY3Rpb24oYWN0aW9uLCBbaXRlbV9zb3VyY2VfaWRdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5oiQ5Yqf5Yig6Zmk5pys5paH5Lu2L+aWh+S7tuWkuSdcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb24sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtX3NvdXJjZV9pZFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWw6ICQudG9TdHJpbmcoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+WPlua2iOWIoOmZpCdcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAnYmF0Y2hUcmFzaCcsXFxyXFxuICAgICAgICAgICAgICAgICAgICBpdGVtLmlkXFxyXFxuICAgICAgICAgICAgICAgICksXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgIHRpdGxlOiAn5YiG5LqrJyxcXHJcXG4gICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKGl0ZW0pID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdzdF9pdGVtJywgaXRlbSlcXHJcXG4gICAgICAgICAgICAgICAgICAgIHNob3dTZWxlY3RPcHRpb25zKHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+mAieaLqeacieaViOacnycsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogWyfmsLjkuYXmnInmlYgnLCAnN+WkqScsICcxNOWkqScsICczMOWkqSddLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbDogMixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdleHBpcmVkX2RhdGUnLCBpbnB1dClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1NlbGVjdE9wdGlvbnMoe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfpgInmi6nmmK/lkKbluKblr4bnoIEnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogWyfmmK8nLCAn5ZCmJ10sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2w6IDIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHsgc2hhcmVfY3JlYXRlIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpdGVtID0gc3RvcmFnZTAuZ2V0TXlWYXIoJ3N0X2l0ZW0nLCB7fSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgc2hhcmVfcmVzID0gc2hhcmVfY3JlYXRlKFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbS5pZF0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLmdldE15VmFyKCdleHBpcmVkX2RhdGUnLCAnLTEnKSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVfcmVzID0gSlNPTi5wYXJzZShzaGFyZV9yZXMpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNoYXJlX3Jlcy5wYXNzX2NvZGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYGNvcHk6Ly8ke3NoYXJlX3Jlcy5zaGFyZV91cmx9XFxyXFxu5a+G56CBOiAke3NoYXJlX3Jlcy5wYXNzX2NvZGV9XFxyXFxu5aSN5Yi26L+Z5q615YaF5a655ZCO5omT5byAIFBpa1Bhay1BcHDvvIznlYXkuqvmnoHpgJ/np5Lmkq1gXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYGNvcHk6Ly8ke3NoYXJlX3Jlcy5zaGFyZV91cmx9XFxyXFxu5aSN5Yi26L+Z5q615YaF5a655ZCO5omT5byAIFBpa1Bhay1BcHDvvIznlYXkuqvmnoHpgJ/np5Lmkq1gXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICB9LCBpdGVtKSxcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICfph43lkb3lkI0nLFxcclxcbiAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygoaXRlbV9pZCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICQoJycsICfor7fovpPlhaXmlofku7blpLkv5paH5Lu255qE5paw5ZCN5a2XJykuaW5wdXQoKGl0ZW1faWQpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgeyBpdGVtX3JlbmFtZSB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtX3JlbmFtZShpdGVtX2lkLCBpbnB1dClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+ato+WcqOmHjeWRveWQjS4uLidcXHJcXG4gICAgICAgICAgICAgICAgICAgIH0sIGl0ZW1faWQpXFxyXFxuICAgICAgICAgICAgICAgIH0sIGl0ZW0uaWQpLFxcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICBdXFxyXFxuICAgICAgICBpZiAoZmlsZV9hY3Rpb24ubGVuZ3RoID4gMCkge1xcclxcbiAgICAgICAgICAgIGxvbmdDbGlja19hcnIgPSBbXFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn6YCJ5oupJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIChpdGVtLCBsaXN0KSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dTZWxlY3RPcHRpb25zKHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn6K+36YCJ5oup5pON5L2cJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IFsn6YCJ5oupJywgJ+S4jemAiScsICflhajpgIknLCAn5riF56m65bey6YCJJ10sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZyhcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaXRlbSwgbGlzdCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZmlsZV9hY3Rpb24gPSBzdG9yYWdlMC5nZXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChpbnB1dCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn6YCJ5oupJzpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlX2FjdGlvbi5wdXNoKGl0ZW0uaWQpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgZmlsZV9hY3Rpb24pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICfkuI3pgIknOlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVfYWN0aW9uLnNwbGljZShmaWxlX2FjdGlvbi5pbmRleE9mKGl0ZW0uaWQpLCAxKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIGZpbGVfYWN0aW9uKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn5riF56m65bey6YCJJzpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVfYWN0aW9uLnB1c2gobGlzdFtpXS5pZClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgZmlsZV9hY3Rpb24pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QuZmlsZXNcXHJcXG4gICAgICAgICAgICAgICAgICAgICksXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn5Yig6Zmk5bey6YCJJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIChhY3Rpb24sIGl0ZW1fc291cmNlX2lkKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpcm0oe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICflsI/nqIvluo/mj5DnpLonLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ+aYr+WQpuWIoOmZpOW3sumAieeahOaWh+S7ti/mnKzmlofku7blpLknLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlybTogJC50b1N0cmluZyhcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYWN0aW9uLCBpdGVtX3NvdXJjZV9pZCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgeyBpdGVtX2FjdGlvbiB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZpbGVfYWN0aW9uID0gc3RvcmFnZTAuZ2V0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtX2FjdGlvbihhY3Rpb24sIGZpbGVfYWN0aW9uKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/miJDlip/liKDpmaTlt7LpgInmlofku7Yv5paH5Lu25aS5J1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1fc291cmNlX2lkXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuY2VsOiAkLnRvU3RyaW5nKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+WPlua2iOWIoOmZpCdcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2JhdGNoVHJhc2gnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uaWRcXHJcXG4gICAgICAgICAgICAgICAgICAgICksXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn5YiG5Lqr5bey6YCJJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKChpdGVtKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1NlbGVjdE9wdGlvbnMoe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+mAieaLqeacieaViOacnycsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IFsn5rC45LmF5pyJ5pWIJywgJzflpKknLCAnMTTlpKknLCAnMzDlpKknXSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sOiAyLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZXhwaXJlZF9kYXRlJywgaW5wdXQpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93U2VsZWN0T3B0aW9ucyh7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfpgInmi6nmmK/lkKbluKblr4bnoIEnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IFsn5pivJywgJ+WQpiddLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbDogMixcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB7IHNoYXJlX2NyZWF0ZSB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZpbGVfYWN0aW9uID0gc3RvcmFnZTAuZ2V0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgc2hhcmVfcmVzID0gc2hhcmVfY3JlYXRlKFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9hY3Rpb24sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5nZXRNeVZhcignZXhwaXJlZF9kYXRlJywgJy0xJyksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlX3JlcyA9IEpTT04ucGFyc2Uoc2hhcmVfcmVzKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2hhcmVfcmVzLnBhc3NfY29kZSkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBjb3B5Oi8vJHtzaGFyZV9yZXMuc2hhcmVfdXJsfVxcclxcbuWvhueggTogJHtzaGFyZV9yZXMucGFzc19jb2RlfVxcclxcbuWkjeWItui/meauteWGheWuueWQjuaJk+W8gCBQaWtQYWstQXBw77yM55WF5Lqr5p6B6YCf56eS5pKtYFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBjb3B5Oi8vJHtzaGFyZV9yZXMuc2hhcmVfdXJsfVxcclxcbuWkjeWItui/meauteWGheWuueWQjuaJk+W8gCBQaWtQYWstQXBw77yM55WF5Lqr5p6B6YCf56eS5pKtYFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgIH0sIGl0ZW0pLFxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+enu+WKqOW3sumAieWIsOi/mScsXFxyXFxuICAgICAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZyhcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAoYWN0aW9uLCBpdGVtX3RhcmdldF9pZCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgeyBpdGVtX2FjdGlvbiB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZpbGVfYWN0aW9uID0gc3RvcmFnZTAuZ2V0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtX2FjdGlvbihhY3Rpb24sIGZpbGVfYWN0aW9uLCBpdGVtX3RhcmdldF9pZClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5q2j5Zyo56e75YqoLi4uJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2JhdGNoTW92ZScsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5pZFxcclxcbiAgICAgICAgICAgICAgICAgICAgKSxcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICflpI3liLblt7LpgInliLDov5knLFxcclxcbiAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgKGFjdGlvbiwgaXRlbV90YXJnZXRfaWQpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHsgaXRlbV9hY3Rpb24gfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmaWxlX2FjdGlvbiA9IHN0b3JhZ2UwLmdldE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbV9hY3Rpb24oYWN0aW9uLCBmaWxlX2FjdGlvbiwgaXRlbV90YXJnZXRfaWQpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+ato+WcqOWkjeWIti4uLidcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICdiYXRjaENvcHknLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uaWRcXHJcXG4gICAgICAgICAgICAgICAgICAgICksXFxyXFxuICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn5pi+56S65bey6YCJJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgZmlsZV9hY3Rpb24gPSBzdG9yYWdlMC5nZXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgc2hvd19zZWxlY3RfaXRlbXMgPSBbXVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIOexu+S8vOaQnOe0ouaLv+aJgOacie+8jOeUqOaVsOe7hOeahGluZGV4T2bliKTmlq3vvIznhLblkI7mjqjlhaVzaG93X3NlbGVjdF9pdGVtc1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB7IGdldF9pdGVtc19saXN0IH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBsaXN0ID0gZ2V0X2l0ZW1zX2xpc3QoJyonKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGlzdC5maWxlcy5sZW5ndGg7IGkrKykge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZV9hY3Rpb24uaW5kZXhPZihsaXN0LmZpbGVzW2ldLmlkKSAhPSAtMSkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd19zZWxlY3RfaXRlbXMucHVzaChsaXN0LmZpbGVzW2ldLm5hbWUpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1NlbGVjdE9wdGlvbnMoe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+W3sumAieaWh+S7ti/mlofku7blpLknLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2w6IDEsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHNob3dfc2VsZWN0X2l0ZW1zLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5pi+56S65bey6YCJ5oup55qE5paH5Lu25aS5L+aWh+S7tu+8jOeCueWHu+aXoOaViCdcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgICAgICAgICAgICAgIH0pLFxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIF1cXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICBsZXQgbG9uZ0NsaWNrMl9hcnIgPSBbXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn5pON5L2cJyxcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKChpdGVtKSA9PiB7XFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1NlbGVjdE9wdGlvbnMoe1xcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+ivt+mAieaLqeaTjeS9nCcsXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IFsn5Yig6Zmk5omA5pyJ6YCJ5oupJywgJ+WIhuS6q+aJgOaciemAieaLqScsICfnp7vliqjmiYDmnInpgInmi6nliLDov5nph4wnLCAn5aSN5Yi25omA5pyJ6YCJ5oup5Yiw6L+Z6YeMJ10sXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbDogMixcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKGl0ZW0pID0+IHtcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgaXRlbV9hY3Rpb24gfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZmlsZV9hY3Rpb24gPSBzdG9yYWdlMC5nZXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoaW5wdXQpIHtcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICfliKDpmaTmiYDmnInpgInmi6knOlxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtX2FjdGlvbignYmF0Y2hUcmFzaCcsIGZpbGVfYWN0aW9uKVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+WIhuS6q+aJgOaciemAieaLqSc6XFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dTZWxlY3RPcHRpb25zKHtcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn6YCJ5oup5pyJ5pWI5pyfJyxcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IFsn5rC45LmF5pyJ5pWIJywgJzflpKknLCAnMTTlpKknLCAnMzDlpKknXSxcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbDogMixcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZXhwaXJlZF9kYXRlJywgaW5wdXQpXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1NlbGVjdE9wdGlvbnMoe1xcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+mAieaLqeaYr+WQpuW4puWvhueggScsXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IFsn5pivJywgJ+WQpiddLFxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2w6IDIsXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgc2hhcmVfY3JlYXRlIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZpbGVfYWN0aW9uID0gc3RvcmFnZTAuZ2V0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG5cXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzaGFyZV9yZXMgPSBzaGFyZV9jcmVhdGUoXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW0uaWRdLFxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLmdldE15VmFyKCdleHBpcmVkX2RhdGUnLCAnLTEnKSxcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dFxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVfcmVzID0gSlNPTi5wYXJzZShzaGFyZV9yZXMpXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2hhcmVfcmVzLnBhc3NfY29kZSkge1xcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgY29weTovLyR7c2hhcmVfcmVzLnNoYXJlX3VybH1cXHJcXG4gICAgICAgICAgICAvLyDlr4bnoIE6ICR7c2hhcmVfcmVzLnBhc3NfY29kZX1cXHJcXG4gICAgICAgICAgICAvLyAke3NoYXJlX3Jlcy5zaGFyZV9pZH1cXHJcXG4gICAgICAgICAgICAvLyDlpI3liLbov5nmrrXlhoXlrrnlkI7miZPlvIAgUGlrUGFrLUFwcO+8jOeVheS6q+aegemAn+enkuaSrWBcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBjb3B5Oi8vJHtzaGFyZV9yZXMuc2hhcmVfdXJsfVxcclxcbiAgICAgICAgICAgIC8vICR7c2hhcmVfcmVzLnNoYXJlX2lkfVxcclxcbiAgICAgICAgICAgIC8vIOWkjeWItui/meauteWGheWuueWQjuaJk+W8gCBQaWtQYWstQXBw77yM55WF5Lqr5p6B6YCf56eS5pKtYFxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICfnp7vliqjmiYDmnInpgInmi6nliLDov5nph4wnOlxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtX2FjdGlvbignYmF0Y2hNb3ZlJywgZmlsZV9hY3Rpb24sIGl0ZW0uaWQpXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbV9hY3Rpb24oJ2JhdGNoQ29weScsIGZpbGVfYWN0aW9uLCBpdGVtLmlkKVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBpdGVtKSxcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgfSwgaXRlbSksXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn5pi+56S65omA5pyJ6YCJ5oupJyxcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZmlsZV9hY3Rpb24gPSBzdG9yYWdlMC5nZXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgc2hvd19zZWxlY3RfaXRlbXMgPSBbXVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOexu+S8vOaQnOe0ouaLv+aJgOacie+8jOeUqOaVsOe7hOeahGluZGV4T2bliKTmlq3vvIznhLblkI7mjqjlhaVzaG93X3NlbGVjdF9pdGVtc1xcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgZ2V0X2l0ZW1zX2xpc3QgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGxpc3QgPSBnZXRfaXRlbXNfbGlzdCgnKicpXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaXN0LmZpbGVzLmxlbmd0aDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWxlX2FjdGlvbi5pbmRleE9mKGxpc3QuZmlsZXNbaV0uaWQpICE9IC0xKSB7XFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3NlbGVjdF9pdGVtcy5wdXNoKGxpc3QuZmlsZXNbaV0ubmFtZSlcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBzaG93U2VsZWN0T3B0aW9ucyh7XFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn5bey6YCJ5oup55qE5paH5Lu2L+aWh+S7tuWkuScsXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbDogMSxcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogc2hvd19zZWxlY3RfaXRlbXMsXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/mmL7npLrlt7LpgInmi6nnmoTmlofku7blpLkv5paH5Lu277yM54K55Ye75peg5pWIJ1xcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICQubG9nKGZpbGVfYWN0aW9uKVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgLy8gICAgICAgICAgICAgXVxcclxcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgIGxvbmdDbGlja19hcnIgPSBsb25nQ2xpY2tfYXJyLmNvbmNhdChsb25nQ2xpY2syX2FycilcXHJcXG4gICAgICAgIH1cXHJcXG5cXHJcXG4gICAgICAgIGlmIChnZXRNeVZhcignc2hvd19pbmRleCcsICcwJykgPT0gJzEnKSB7XFxyXFxuICAgICAgICAgICAgbG9uZ0NsaWNrX2FyciA9IFtcXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfpgInmi6knLFxcclxcbiAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgKGl0ZW0sIGxpc3QpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1NlbGVjdE9wdGlvbnMoe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfor7fpgInmi6nmk43kvZwnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogWyfpgInmi6knLCAn5LiN6YCJJywgJ+WFqOmAiScsICfmuIXnqbrlt7LpgIknXSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpdGVtLCBsaXN0KSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmaWxlX2FjdGlvbiA9IHN0b3JhZ2UwLmdldE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGlucHV0KSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICfpgInmi6knOlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVfYWN0aW9uLnB1c2goaXRlbS5pZClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBmaWxlX2FjdGlvbilcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+S4jemAiSc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9hY3Rpb24uc3BsaWNlKGZpbGVfYWN0aW9uLmluZGV4T2YoaXRlbS5pZCksIDEpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgZmlsZV9hY3Rpb24pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICfmuIXnqbrlt7LpgIknOlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9hY3Rpb24ucHVzaChsaXN0W2ldLmlkKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBmaWxlX2FjdGlvbilcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC5maWxlc1xcclxcbiAgICAgICAgICAgICAgICAgICAgKSxcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfovazlrZgnLFxcclxcbiAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKGl0ZW0pID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgeyBzaGFyZV9vdGhlcl9zYXZlIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIOi9rOWtmFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlX290aGVyX3NhdmUoW2l0ZW0uaWRdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/mraPlnKjovazlrZguLi4nXFxyXFxuICAgICAgICAgICAgICAgICAgICB9LCBpdGVtKSxcXHJcXG4gICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICBdXFxyXFxuICAgICAgICAgICAgaWYgKHN0b3JhZ2UwLmdldE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKS5sZW5ndGggPiAwKSB7XFxyXFxuICAgICAgICAgICAgICAgIGxvbmdDbGlja19hcnIgPSBbXFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfpgInmi6knLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaXRlbSwgbGlzdCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1NlbGVjdE9wdGlvbnMoe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn6K+36YCJ5oup5pON5L2cJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBbJ+mAieaLqScsICfkuI3pgIknLCAn5YWo6YCJJywgJ+a4heepuuW3sumAiSddLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaXRlbSwgbGlzdCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZpbGVfYWN0aW9uID0gc3RvcmFnZTAuZ2V0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGlucHV0KSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn6YCJ5oupJzpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9hY3Rpb24ucHVzaChpdGVtLmlkKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBmaWxlX2FjdGlvbilcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+S4jemAiSc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVfYWN0aW9uLnNwbGljZShmaWxlX2FjdGlvbi5pbmRleE9mKGl0ZW0uaWQpLCAxKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBmaWxlX2FjdGlvbilcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+a4heepuuW3sumAiSc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlX2FjdGlvbi5wdXNoKGxpc3RbaV0uaWQpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgZmlsZV9hY3Rpb24pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0LmZpbGVzXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICfovazlrZjlt7LpgIknLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKChpdGVtKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB7IHNoYXJlX290aGVyX3NhdmUgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmaWxlX2FjdGlvbiA9IHN0b3JhZ2UwLmdldE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDovazlrZhcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVfb3RoZXJfc2F2ZShmaWxlX2FjdGlvbilcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/mraPlnKjovazlrZjlt7LpgIkuLi4nXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgaXRlbSksXFxyXFxuICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICBdXFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGlmIChpdGVtLmtpbmQgPT0gJ2RyaXZlI2ZvbGRlcicpIHtcXHJcXG4gICAgICAgICAgICAgICAgdXJsID0gJCgpLmxhenlSdWxlKFxcclxcbiAgICAgICAgICAgICAgICAgICAgKHBhdGhzLCBpdGVtLCBwYXRoc19raW5kKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aHMucHVzaCh7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBpdGVtLmlkLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBpdGVtLm5hbWUsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcihwYXRoc19raW5kLCBwYXRocylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHBhdGhzLFxcclxcbiAgICAgICAgICAgICAgICAgICAgaXRlbSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHBhdGhzX2tpbmRcXHJcXG4gICAgICAgICAgICAgICAgKVxcclxcbiAgICAgICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgIHZhciBleHQgPSBnZXRFeHQoaXRlbS5uYW1lKVxcclxcbiAgICAgICAgICAgICAgICBpZiAoIWV4dCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdXJsID0gJChbJ+inhumikScsICfpn7PpopEnLCAn5paH5qGjL+WbvueJhycsICfkuIvovb0nXSwgMiwgJ+ivt+mAieaLqeaJk+W8gOaWueW8jycpLnNlbGVjdChcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAoaXRlbSwgZXh0KSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoaW5wdXQpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+inhumikSc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0ID0gJyNpc1ZpZGVvPXRydWUjJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICfpn7PpopEnOlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dCA9ICcjaXNNdXNpYz10cnVlIydcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn5paH5qGjL+WbvueJhyc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0ID0gJyMuanBnJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dCA9ICcnXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHsgc2hhcmVfb3RoZXJfc2F2ZSwgZ2V0X2l0ZW1fdXJsLCBpdGVtX2FjdGlvbiwgdHJhc2hfYWN0aW9uIH0gPVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g6L2s5a2YXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzaGFyZV90cmFjZV9yZXMgPSBzaGFyZV9vdGhlcl9zYXZlKFtpdGVtLmlkXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNoYXJlX3RyYWNlX2lkID0gSlNPTi5wYXJzZShzaGFyZV90cmFjZV9yZXMucGFyYW1zLnRyYWNlX2ZpbGVfaWRzKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDojrflj5bmkq3mlL7lnLDlnYBcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJlcyA9IGdldF9pdGVtX3VybChzaGFyZV90cmFjZV9pZFtpdGVtLmlkXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5Yig6ZmkKOWMheWQq+WbnuaUtuermeawuOS5heWIoOmZpClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbV9hY3Rpb24oJ2JhdGNoVHJhc2gnLCBbc2hhcmVfdHJhY2VfaWRbaXRlbS5pZF1dKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFzaF9hY3Rpb24oJ2JhdGNoRGVsZXRlJywgW3NoYXJlX3RyYWNlX2lkW2l0ZW0uaWRdXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5tZWRpYXMubGVuZ3RoID09IDApIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXMud2ViX2NvbnRlbnRfbGluayArIGV4dFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaXRlbSBvZiByZXMubWVkaWFzKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0bXAgPSBpdGVtLmxpbmtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wLnVybCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG1wLnVybCArIGV4dFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgZXh0XFxyXFxuICAgICAgICAgICAgICAgICAgICApXFxyXFxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXh0ID09ICcjLmpwZycgJiYgZ2V0TXlWYXIoJ2xpc3Rfc2hvd19zdHlsZScsICcwJykgPT0gJzInKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB2YXIgeyBzaGFyZV9vdGhlcl9zYXZlLCBnZXRfaXRlbV91cmwsIGl0ZW1fYWN0aW9uLCB0cmFzaF9hY3Rpb24gfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgICAgICAvLyDovazlrZhcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxldCBzaGFyZV90cmFjZV9yZXMgPSBzaGFyZV9vdGhlcl9zYXZlKFtpdGVtLmlkXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxldCBzaGFyZV90cmFjZV9pZCA9IEpTT04ucGFyc2Uoc2hhcmVfdHJhY2VfcmVzLnBhcmFtcy50cmFjZV9maWxlX2lkcylcXHJcXG4gICAgICAgICAgICAgICAgICAgIC8vIOiOt+WPluWbvueJh+WcsOWdgFxcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IHJlcyA9IGdldF9pdGVtX3VybChzaGFyZV90cmFjZV9pZFtpdGVtLmlkXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgIC8vIOWIoOmZpCjljIXlkKvlm57mlLbnq5nmsLjkuYXliKDpmaQpXFxyXFxuICAgICAgICAgICAgICAgICAgICBpdGVtX2FjdGlvbignYmF0Y2hUcmFzaCcsIFtzaGFyZV90cmFjZV9pZFtpdGVtLmlkXV0pXFxyXFxuICAgICAgICAgICAgICAgICAgICB0cmFzaF9hY3Rpb24oJ2JhdGNoRGVsZXRlJywgW3NoYXJlX3RyYWNlX2lkW2l0ZW0uaWRdXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgIHVybCA9ICdwaWNzOi8vJyArIHJlcy53ZWJfY29udGVudF9saW5rXFxyXFxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB1cmwgPSAkKCkubGF6eVJ1bGUoXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgKGl0ZW0sIGV4dCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgeyBzaGFyZV9vdGhlcl9zYXZlLCBnZXRfaXRlbV91cmwsIGl0ZW1fYWN0aW9uLCB0cmFzaF9hY3Rpb24gfSA9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDovazlrZhcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNoYXJlX3RyYWNlX3JlcyA9IHNoYXJlX290aGVyX3NhdmUoW2l0ZW0uaWRdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgc2hhcmVfdHJhY2VfaWQgPSBKU09OLnBhcnNlKHNoYXJlX3RyYWNlX3Jlcy5wYXJhbXMudHJhY2VfZmlsZV9pZHMpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOiOt+WPluaSreaUvuWcsOWdgFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzID0gZ2V0X2l0ZW1fdXJsKHNoYXJlX3RyYWNlX2lkW2l0ZW0uaWRdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDliKDpmaQo5YyF5ZCr5Zue5pS256uZ5rC45LmF5Yig6ZmkKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtX2FjdGlvbignYmF0Y2hUcmFzaCcsIFtzaGFyZV90cmFjZV9pZFtpdGVtLmlkXV0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYXNoX2FjdGlvbignYmF0Y2hEZWxldGUnLCBbc2hhcmVfdHJhY2VfaWRbaXRlbS5pZF1dKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzLm1lZGlhcy5sZW5ndGggPT0gMCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlcy53ZWJfY29udGVudF9saW5rICsgZXh0XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpdGVtIG9mIHJlcy5tZWRpYXMpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRtcCA9IGl0ZW0ubGlua1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAudXJsKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0bXAudXJsICsgZXh0XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge31cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBleHRcXHJcXG4gICAgICAgICAgICAgICAgICAgIClcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAvLyB9IGVsc2UgaWYgKGdldE15VmFyKCdzaG93X2luZGV4JywgJzAnKSA9PSAnMicpIHtcXHJcXG4gICAgICAgIH0gZWxzZSBpZiAoZ2V0TXlWYXIoJ2hvbWVfY2F0ZWdvcnlfaW5kZXgnLCAnMCcpICE9ICcwJykge1xcclxcbiAgICAgICAgICAgIC8vIGlmIChnZXRNeVZhcignb3RfaW5kZXgnLCAnMCcpID09ICcwJykge1xcclxcbiAgICAgICAgICAgIGxvbmdDbGlja19hcnIgPSBbXVxcclxcbiAgICAgICAgICAgIGlmIChnZXRNeVZhcignaG9tZV9jYXRlZ29yeV9pbmRleCcsICcwJykgPT0gJzInKSB7XFxyXFxuICAgICAgICAgICAgICAgIGxldCBzZWxfb3BfYXJyID0gWyfpgInmi6knLCAn5LiN6YCJJywgJ+WFqOmAiScsICfmuIXnqbrlt7LpgIknLCAn5rC45LmF5Yig6ZmkJywgJ+i/mOWOnyddXFxyXFxuICAgICAgICAgICAgICAgIGlmIChmaWxlX2FjdGlvbi5sZW5ndGggPiAwKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBzZWxfb3BfYXJyID0gWyfpgInmi6knLCAn5LiN6YCJJywgJ+WFqOmAiScsICfmuIXnqbrlt7LpgIknLCAn5rC45LmF5Yig6Zmk5bey6YCJJywgJ+i/mOWOn+W3sumAiScsICfmmL7npLrlt7LpgIknXVxcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIHVybCA9ICQoc2VsX29wX2FyciwgMywgJ+ivt+mAieaLqeaTjeS9nCcpLnNlbGVjdChcXHJcXG4gICAgICAgICAgICAgICAgICAgIChpdGVtLCBsaXN0MSkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB7IHRyYXNoX2FjdGlvbiB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgZmlsZV9hY3Rpb24gPSBzdG9yYWdlMC5nZXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGlucHV0KSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+i/mOWOnyc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFzaF9hY3Rpb24oJ2JhdGNoVW50cmFzaCcsIFtpdGVtLmlkXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/mraPlnKjov5jljp8uLi4nXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+awuOS5heWIoOmZpCc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maXJtKHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+Wwj+eoi+W6j+aPkOekuicsIC8vIOW8ueeql+agh+mimFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICfmmK/lkKbmsLjkuYXliKDpmaTmnKzmlofku7Yv5paH5Lu25aS577yfJywgLy8g5by556qX5YaF5a65XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlybTogJC50b1N0cmluZygoaXRlbSkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgeyB0cmFzaF9hY3Rpb24gfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYXNoX2FjdGlvbignYmF0Y2hEZWxldGUnLCBbaXRlbS5pZF0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+ato+WcqOawuOS5heWIoOmZpC4uLidcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBpdGVtKSwgLy8g56Gu5a6a5ZCO5omn6KGMXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuY2VsOiAkLnRvU3RyaW5nKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5Y+W5raI5rC45LmF5Yig6ZmkLi4uJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLCAvLyDlj5bmtojlkI7miafooYxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICfpgInmi6knOlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9hY3Rpb24ucHVzaChpdGVtLmlkKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgZmlsZV9hY3Rpb24pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICfkuI3pgIknOlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9hY3Rpb24uc3BsaWNlKGZpbGVfYWN0aW9uLmluZGV4T2YoaXRlbS5pZCksIDEpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBmaWxlX2FjdGlvbilcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+WFqOmAiSc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QxLmxlbmd0aDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9hY3Rpb24ucHVzaChsaXN0MVtpXS5pZClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIGZpbGVfYWN0aW9uKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn5riF56m65bey6YCJJzpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn5rC45LmF5Yig6Zmk5bey6YCJJzpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpcm0oe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn5bCP56iL5bqP5o+Q56S6JywgLy8g5by556qX5qCH6aKYXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ+aYr+WQpuawuOS5heWIoOmZpOW3sumAiScsIC8vIOW8ueeql+WGheWuuVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpcm06ICQudG9TdHJpbmcoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgeyB0cmFzaF9hY3Rpb24gfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmaWxlX2FjdGlvbiA9IHN0b3JhZ2UwLmdldE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFzaF9hY3Rpb24oJ2JhdGNoRGVsZXRlJywgZmlsZV9hY3Rpb24pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/mraPlnKjmsLjkuYXliKDpmaTlt7LpgIkuLi4nXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksIC8vIOehruWumuWQjuaJp+ihjFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbDogJC50b1N0cmluZygoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+WPlua2iOawuOS5heW3sumAieWIoOmZpC4uLidcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSwgLy8g5Y+W5raI5ZCO5omn6KGMXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn6L+Y5Y6f5bey6YCJJzpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYXNoX2FjdGlvbignYmF0Y2hVbnRyYXNoJywgZmlsZV9hY3Rpb24pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/mraPlnKjov5jljp/lt7LpgIkuLi4nXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNob3dfc2VsZWN0X2l0ZW1zID0gW11cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB7IGdldF9pdGVtc19saXN0IH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGxpc3QgPSBnZXRfaXRlbXNfbGlzdCgnKicpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QuZmlsZXMubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZV9hY3Rpb24uaW5kZXhPZihsaXN0LmZpbGVzW2ldLmlkKSAhPSAtMSkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3NlbGVjdF9pdGVtcy5wdXNoKGxpc3QuZmlsZXNbaV0ubmFtZSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93U2VsZWN0T3B0aW9ucyh7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICflt7LpgInmi6nnmoTmlofku7Yv5paH5Lu25aS5JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2w6IDEsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogc2hvd19zZWxlY3RfaXRlbXMsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5pi+56S65bey6YCJ5oup55qE5paH5Lu25aS5L+aWh+S7tu+8jOeCueWHu+aXoOaViCdcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0sXFxyXFxuICAgICAgICAgICAgICAgICAgICBsaXN0LmZpbGVzXFxyXFxuICAgICAgICAgICAgICAgIClcXHJcXG4gICAgICAgICAgICB9IGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICBsZXQgc2VsX29wX2FyciA9IFsn6YCJ5oupJywgJ+S4jemAiScsICflhajpgIknLCAn5riF56m65bey6YCJJywgJ+WkjeWItuWIhuS6qycsICfmkqTplIDliIbkuqsnXVxcclxcbiAgICAgICAgICAgICAgICBpZiAoZmlsZV9hY3Rpb24ubGVuZ3RoID4gMCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgc2VsX29wX2FyciA9IFsn6YCJ5oupJywgJ+S4jemAiScsICflhajpgIknLCAn5riF56m65bey6YCJJywgJ+WkjeWItuW3sumAieWIhuS6qycsICfmkqTplIDlt7LpgInliIbkuqsnLCAn5pi+56S65bey6YCJJ11cXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICB1cmwgPSAkKHNlbF9vcF9hcnIsIDMsICfor7fpgInmi6nmk43kvZwnKS5zZWxlY3QoXFxyXFxuICAgICAgICAgICAgICAgICAgICAoaXRlbSwgbGlzdDEpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgeyBzaGFyZV9hY3Rpb24sIHNoYXJlX2NvcHlfdXJsIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmaWxlX2FjdGlvbiA9IHN0b3JhZ2UwLmdldE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoaW5wdXQpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn6YCJ5oupJzpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVfYWN0aW9uLnB1c2goaXRlbS5zaGFyZV9pZClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIGZpbGVfYWN0aW9uKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn5LiN6YCJJzpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVfYWN0aW9uLnNwbGljZShmaWxlX2FjdGlvbi5pbmRleE9mKGl0ZW0uc2hhcmVfaWQpLCAxKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgZmlsZV9hY3Rpb24pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICflhajpgIknOlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaXN0MS5sZW5ndGg7IGkrKykge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVfYWN0aW9uLnB1c2gobGlzdDFbaV0uc2hhcmVfaWQpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBmaWxlX2FjdGlvbilcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+a4heepuuW3sumAiSc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+WkjeWItuWIhuS6qyc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgc2hhcmVfdXJsID0gYGh0dHBzOi8vbXlwaWtwYWsuY29tL3MvJHtpdGVtLnNoYXJlX2lkfWBcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzaGFyZV9wYXNzd2QgPSBpdGVtLnNoYXJlX3Bhc3N3ZCA/IGAke2l0ZW0uc2hhcmVfcGFzc3dkfWAgOiAnJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGV0IHNoYXJlX3VybCA9IGBodHRwczovL215cGlrcGFrLmNvbS9zLyR7c2hhcmVfaWR9JHtzaGFyZV9wYXNzd2R9YFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGV0IGhpa2VyX3NoYXJlX2NvcHlfdXJsID0gc2hhcmVfY29weV91cmwoc2hhcmVfaWQsIHNoYXJlX3Bhc3N3ZClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJldHVybiAnY29weTovLycgKyBoaWtlcl9zaGFyZV9jb3B5X3VybFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNoYXJlX3Bhc3N3ZCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgY29weTovLyR7c2hhcmVfdXJsfVxcclxcbuWvhueggTogJHtzaGFyZV9wYXNzd2R9XFxyXFxu5aSN5Yi26L+Z5q615YaF5a655ZCO5omT5byAIFBpa1Bhay1BcHDvvIznlYXkuqvmnoHpgJ/np5Lmkq1gXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgY29weTovLyR7c2hhcmVfdXJsfVxcclxcbuWkjeWItui/meauteWGheWuueWQjuaJk+W8gCBQaWtQYWstQXBw77yM55WF5Lqr5p6B6YCf56eS5pKtYFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICfmkqTplIDliIbkuqsnOlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVfYWN0aW9uKCdiYXRjaERlbGV0ZScsIFtpdGVtLnNoYXJlX2lkXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/mraPlnKjmkqTplIDliIbkuqsuLi4nXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+WkjeWItuW3sumAieWIhuS6qyc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkLmxvZyhmaWxlX2FjdGlvbilcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQubG9nKGxpc3QxKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGNvcHlfc2hhcmVfbGlzdCA9ICcnXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QxLmxlbmd0aDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBmaWxlX2FjdGlvbi5sZW5ndGg7IGorKykge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZV9hY3Rpb25bal0gPT0gbGlzdDFbaV0uc2hhcmVfaWQpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaXN0MVtpXS5zaGFyZV9wYXNzd2QpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3B5X3NoYXJlX2xpc3QgKz0gYGh0dHBzOi8vbXlwaWtwYWsuY29tL3MvJHtsaXN0MVtpXS5zaGFyZV9pZH1cXHJcXG7lr4bnoIE6ICR7bGlzdDFbaV0uc2hhcmVfcGFzc3dkfVxcclxcbuWkjeWItui/meauteWGheWuueWQjuaJk+W8gCBQaWtQYWstQXBw77yM55WF5Lqr5p6B6YCf56eS5pKtYFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3B5X3NoYXJlX2xpc3QgKz0gYGh0dHBzOi8vbXlwaWtwYWsuY29tL3MvJHtsaXN0MVtpXS5zaGFyZV9pZH1cXHJcXG7lpI3liLbov5nmrrXlhoXlrrnlkI7miZPlvIAgUGlrUGFrLUFwcO+8jOeVheS6q+aegemAn+enkuaSrWBcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcHlfc2hhcmVfbGlzdCArPSAnXFxcXG4nXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYGNvcHk6Ly8ke2NvcHlfc2hhcmVfbGlzdH1gXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICfmkqTplIDlt7LpgInliIbkuqsnOlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVfYWN0aW9uKCdiYXRjaERlbGV0ZScsIGZpbGVfYWN0aW9uKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5q2j5Zyo5pKk6ZSA5bey6YCJ5YiG5LqrLi4uJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzaG93X3NlbGVjdF9pdGVtcyA9IFtdXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgeyBnZXRfaXRlbXNfbGlzdCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBsaXN0ID0gZ2V0X2l0ZW1zX2xpc3QoJyonKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaXN0LmZpbGVzLmxlbmd0aDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpbGVfYWN0aW9uLmluZGV4T2YobGlzdC5maWxlc1tpXS5zaGFyZV9pZCkgIT0gLTEpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd19zZWxlY3RfaXRlbXMucHVzaChsaXN0LmZpbGVzW2ldLm5hbWUpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1NlbGVjdE9wdGlvbnMoe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn5bey6YCJ5oup55qE5paH5Lu2L+aWh+S7tuWkuScsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sOiAxLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHNob3dfc2VsZWN0X2l0ZW1zLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+aYvuekuuW3sumAieaLqeeahOaWh+S7tuWkuS/mlofku7bvvIzngrnlh7vml6DmlYgnXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICBpdGVtLFxcclxcbiAgICAgICAgICAgICAgICAgICAgbGlzdC5maWxlc1xcclxcbiAgICAgICAgICAgICAgICApXFxyXFxuICAgICAgICAgICAgICAgIC8vIHVybCA9ICQoc2VsX29wX2FyciwgNCwgJ+ivt+mAieaLqeaTjeS9nCcpLnNlbGVjdChcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIChpdGVtLCBsaXN0KSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgY29uc3QgeyBzaGFyZV9hY3Rpb24sIHNoYXJlX2NvcHlfdXJsIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIHN3aXRjaCAoaW5wdXQpIHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgY2FzZSAn5aSN5Yi25YiG5LqrJzpcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIGxldCBzaGFyZV9pZCA9IGl0ZW0uc2hhcmVfaWRcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIGxldCBzaGFyZV9wYXNzd2QgPSBpdGVtLnNoYXJlX3Bhc3N3ZCA/IGA/c19jb2RlPSR7aXRlbS5zaGFyZV9wYXNzd2R9YCA6ICcnXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAvLyBsZXQgc2hhcmVfdXJsID0gYGh0dHBzOi8vbXlwaWtwYWsuY29tL3MvJHtzaGFyZV9pZH0ke3NoYXJlX3Bhc3N3ZH1gXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICBsZXQgaGlrZXJfc2hhcmVfY29weV91cmwgPSBzaGFyZV9jb3B5X3VybChzaGFyZV9pZCwgc2hhcmVfcGFzc3dkKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgcmV0dXJuICdjb3B5Oi8vJyArIGhpa2VyX3NoYXJlX2NvcHlfdXJsXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIGNhc2UgJ+aSpOmUgOWIhuS6qyc6XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICBzaGFyZV9hY3Rpb24oJ2JhdGNoRGVsZXRlJywgW2l0ZW0uc2hhcmVfaWRdKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+S9oOacrOasoeaJp+ihjOaTjeS9nOeahOaYrycgKyBpbnB1dFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICBjYXNlICfpgInmi6knOlxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgc2hvd1NlbGVjdE9wdGlvbnMoe1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAn6K+36YCJ5oup5pON5L2cJyxcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBbJ+mAieaLqScsICfkuI3pgInmi6knLCAn5YWo6YOo6YCJ5oupJywgJ+a4heepuuaJgOaciemAieaLqSddLFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAoaXRlbSwgbGlzdCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZpbGVfYWN0aW9uID0gc3RvcmFnZTAuZ2V0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGlucHV0KSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn6YCJ5oupJzpcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9hY3Rpb24ucHVzaChpdGVtLnNoYXJlX2lkKVxcclxcblxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBmaWxlX2FjdGlvbilcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+S4jemAieaLqSc6XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVfYWN0aW9uLnNwbGljZShmaWxlX2FjdGlvbi5pbmRleE9mKGl0ZW0uc2hhcmVfaWQpLCAxKVxcclxcblxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yYWdlMC5wdXRNeVZhcignZmlsZV9hY3Rpb24nLCBmaWxlX2FjdGlvbilcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+a4heepuuaJgOaciemAieaLqSc6XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlX2FjdGlvbi5wdXNoKGxpc3RbaV0uc2hhcmVfaWQpXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgZmlsZV9hY3Rpb24pXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgaXRlbSxcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgbGlzdFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICksXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgY2FzZSAn5pON5L2cJzpcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIHNob3dTZWxlY3RPcHRpb25zKHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+ivt+mAieaLqeaTjeS9nCcsXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogWyflpI3liLbmiYDmnInpgInmi6nliIbkuqsnLCAn5pKk6ZSA5omA5pyJ6YCJ5oup5YiG5LqrJ10sXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHNoYXJlX2FjdGlvbiwgc2hhcmVfY29weV91cmwgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmaWxlX2FjdG9pbiA9IHN0b3JhZ2UwLmdldE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGlucHV0KSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICflpI3liLbmiYDmnInpgInmi6nliIbkuqsnOlxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZV9hY3Rpb24oJ2JhdGNoRGVsZXRlJywgZmlsZV9hY3RvaW4pXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFnZTAucHV0TXlWYXIoJ2ZpbGVfYWN0aW9uJywgW10pXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgZGVmYXVsdDpcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIGxldCBmaWxlX2FjdGlvbiA9IHN0b3JhZ2UwLmdldE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgbGV0IHNob3dfc2VsZWN0X2l0ZW1zID0gW11cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIGNvbnN0IHsgZ2V0X2l0ZW1zX2xpc3QgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICBsZXQgbGlzdCA9IGdldF9pdGVtc19saXN0KCcqJylcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGlzdC5maWxlcy5sZW5ndGg7IGkrKykge1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIGlmIChmaWxlX2FjdGlvbi5pbmRleE9mKGxpc3QuZmlsZXNbaV0uc2hhcmVfaWQpICE9IC0xKSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfc2VsZWN0X2l0ZW1zLnB1c2gobGlzdC5maWxlc1tpXS5uYW1lKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIHNob3dTZWxlY3RPcHRpb25zKHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+W3sumAieaLqeeahOaWh+S7ti/mlofku7blpLknLFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIGNvbDogMSxcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBzaG93X3NlbGVjdF9pdGVtcyxcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/mmL7npLrlt7LpgInmi6nnmoTmlofku7blpLkv5paH5Lu277yM54K55Ye75peg5pWIJ1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIH0pLFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICQubG9nKGZpbGVfYWN0aW9uKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICBpdGVtLFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgbGlzdC5maWxlc1xcclxcbiAgICAgICAgICAgICAgICAvLyApXFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtLmtpbmQgPT0gJ2RyaXZlI2ZvbGRlcicpIHtcXHJcXG4gICAgICAgICAgICB1cmwgPSAkKCkubGF6eVJ1bGUoXFxyXFxuICAgICAgICAgICAgICAgIChwYXRocywgaXRlbSwgcGF0aHNfa2luZCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgcHV0TXlWYXIoJ3NlYXJjaF8xJywgJzAnKVxcclxcbiAgICAgICAgICAgICAgICAgICAgcGF0aHMucHVzaCh7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogaXRlbS5uYW1lLFxcclxcbiAgICAgICAgICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnB1dE15VmFyKHBhdGhzX2tpbmQsIHBhdGhzKVxcclxcbiAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICBwYXRocyxcXHJcXG4gICAgICAgICAgICAgICAgaXRlbSxcXHJcXG4gICAgICAgICAgICAgICAgcGF0aHNfa2luZFxcclxcbiAgICAgICAgICAgIClcXHJcXG4gICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgdmFyIGV4dCA9IGdldEV4dChpdGVtLm5hbWUpXFxyXFxuICAgICAgICAgICAgaWYgKCFleHQpIHtcXHJcXG4gICAgICAgICAgICAgICAgdXJsID0gJChbJ+inhumikScsICfpn7PpopEnLCAn5paH5qGjL+WbvueJhycsICfkuIvovb0nXSwgMiwgJ+ivt+mAieaLqeaJk+W8gOaWueW8jycpLnNlbGVjdChcXHJcXG4gICAgICAgICAgICAgICAgICAgIChpdGVtLCBleHQpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGlucHV0KSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ+inhumikSc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHQgPSAnI2lzVmlkZW89dHJ1ZSMnXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICfpn7PpopEnOlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0ID0gJyNpc011c2ljPXRydWUjJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAn5paH5qGjL+WbvueJhyc6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHQgPSAnIy5qcGcnXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0ID0gJydcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcHV0TXlWYXIoJ3NlYXJjaF8xJywgJzAnKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB7IGdldF9pdGVtX3VybCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzID0gZ2V0X2l0ZW1fdXJsKGl0ZW0uaWQpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5tZWRpYXMubGVuZ3RoID09IDApIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlcy53ZWJfY29udGVudF9saW5rICsgZXh0XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaXRlbSBvZiByZXMubWVkaWFzKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdG1wID0gaXRlbS5saW5rXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wLnVybCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0bXAudXJsICsgZXh0XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0sXFxyXFxuICAgICAgICAgICAgICAgICAgICBleHRcXHJcXG4gICAgICAgICAgICAgICAgKVxcclxcbiAgICAgICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgIGlmIChleHQgPT0gJyMuanBnJyAmJiBnZXRNeVZhcignbGlzdF9zaG93X3N0eWxlJywgJzAnKSA9PSAnMicpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKCdzZWFyY2hfMScsICcwJylcXHJcXG4gICAgICAgICAgICAgICAgICAgIHZhciB7IGdldF9pdGVtX3VybCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxldCByZXMgPSBnZXRfaXRlbV91cmwoaXRlbS5pZClcXHJcXG4gICAgICAgICAgICAgICAgICAgIHVybCA9ICdwaWNzOi8vJyArIHJlcy53ZWJfY29udGVudF9saW5rXFxyXFxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB1cmwgPSAkKCkubGF6eVJ1bGUoXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgKGl0ZW0sIGV4dCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcignc2VhcmNoXzEnLCAnMCcpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB7IGdldF9pdGVtX3VybCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJlcyA9IGdldF9pdGVtX3VybChpdGVtLmlkKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzLm1lZGlhcy5sZW5ndGggPT0gMCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlcy53ZWJfY29udGVudF9saW5rICsgZXh0XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpdGVtIG9mIHJlcy5tZWRpYXMpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRtcCA9IGl0ZW0ubGlua1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAudXJsKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0bXAudXJsICsgZXh0XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge31cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBleHRcXHJcXG4gICAgICAgICAgICAgICAgICAgIClcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAvLyBpZiAoZXh0ID09ICcjLmpwZycpIHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIHB1dE15VmFyKCdzZWFyY2hfMScsICcwJylcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIHZhciB7IGdldF9pdGVtX3VybCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIGxldCByZXMgPSBnZXRfaXRlbV91cmwoaXRlbS5pZClcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIGlmIChyZXMubWVkaWFzLmxlbmd0aCA9PSAwKSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgcmV0dXJuIHJlcy53ZWJfY29udGVudF9saW5rICsgZXh0XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICB1cmwgPSAncGljczovLycgKyBtdWx0aXBsZV9waWNfdXJscy5qb2luKCcmJicpXFxyXFxuICAgICAgICAgICAgICAgIC8vIGlmIChnZXRNeVZhcignbGlzdF9zaG93X3N0eWxlJywgJzAnKSA9PSAnMicpIHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIHB1dE15VmFyKCdzZWFyY2hfMScsICcwJylcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIHZhciB7IGdldF9pdGVtX3VybCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIC8vIHZhciB7IGdldEV4dCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvTGlzdCcpXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICBsZXQgbXVsdGlwbGVfcGljX2lkcyA9IFtdXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICBsZXQgbXVsdGlwbGVfcGljX3VybHMgPSBbXVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaXN0LmZpbGVzLmxlbmd0aDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgaWYgKGdldEV4dChsaXN0LmZpbGVzW2ldLm5hbWUpID09ICcjLmpwZycpIHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgbXVsdGlwbGVfcGljX2lkcy5wdXNoKGxpc3QuZmlsZXNbaV0uaWQpXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgJC5sb2coMTIzKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtdWx0aXBsZV9waWNfaWRzLmxlbmd0aDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgbGV0IHBpY19yZXMgPSBnZXRfaXRlbV91cmwobXVsdGlwbGVfcGljX2lkc1tpXSlcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICBtdWx0aXBsZV9waWNfdXJscy5wdXNoKHBpY19yZXMud2ViX2NvbnRlbnRfbGluaylcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICQubG9nKDIzNClcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIC8vIHRvYXN0KCfmraPlnKjlvIDlkK/mvKvnlLvmqKHlvI8uLi4nKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgdXJsID0gJ3BpY3M6Ly8nICsgbXVsdGlwbGVfcGljX3VybHMuam9pbignJiYnKVxcclxcbiAgICAgICAgICAgICAgICAvLyB9IGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgdXJsID0gJCgpLmxhenlSdWxlKFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIChpdGVtLCBleHQpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgcHV0TXlWYXIoJ3NlYXJjaF8xJywgJzAnKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICB2YXIgeyBnZXRfaXRlbV91cmwgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIGxldCByZXMgPSBnZXRfaXRlbV91cmwoaXRlbS5pZClcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgaWYgKHJlcy5tZWRpYXMubGVuZ3RoID09IDApIHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIHJldHVybiByZXMud2ViX2NvbnRlbnRfbGluayArIGV4dFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIGZvciAoaXRlbSBvZiByZXMubWVkaWFzKSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICB0cnkge1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIGxldCB0bXAgPSBpdGVtLmxpbmtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICBpZiAodG1wLnVybCkge1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG1wLnVybCArIGV4dFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHt9XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIGl0ZW0sXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgZXh0XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICApXFxyXFxuICAgICAgICAgICAgICAgIC8vIH1cXHJcXG4gICAgICAgICAgICAgICAgLy8gdXJsID0gJChbJ+WNleWbvuaooeW8jycsICflpJrlm77mqKHlvI8nXSwgMiwgJ+ivt+mAieaLqScpLnNlbGVjdChcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIChpdGVtLCBleHQsIGxpc3QpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICBzd2l0Y2ggKGlucHV0KSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIGNhc2UgJ+WkmuWbvuaooeW8jyc6XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICB2YXIgeyBnZXRfaXRlbV91cmwgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICB2YXIgeyBnZXRFeHQgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0xpc3QnKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgbGV0IG11bHRpcGxlX3BpY19pZHMgPSBbXVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgbGV0IG11bHRpcGxlX3BpY191cmxzID0gW11cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIGlmIChnZXRFeHQobGlzdFtpXS5uYW1lKSA9PSAnIy5qcGcnKSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpcGxlX3BpY19pZHMucHVzaChsaXN0W2ldLmlkKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbXVsdGlwbGVfcGljX2lkcy5sZW5ndGg7IGkrKykge1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIGxldCBwaWNfcmVzID0gZ2V0X2l0ZW1fdXJsKG11bHRpcGxlX3BpY19pZHNbaV0pXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGVfcGljX3VybHMucHVzaChwaWNfcmVzLndlYl9jb250ZW50X2xpbmspXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICB0b2FzdCgn5q2j5Zyo5byA5ZCv5ryr55S75qih5byPKOaKpemUmeivt+aXoOinhu+8jOa1t+mYlOWOn+WboCkuLi4nKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgcmV0dXJuICdwaWNzOi8vJyArIG11bHRpcGxlX3BpY191cmxzLmpvaW4oJyYmJylcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgZGVmYXVsdDpcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIHB1dE15VmFyKCdzZWFyY2hfMScsICcwJylcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIHZhciB7IGdldF9pdGVtX3VybCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIGxldCByZXMgPSBnZXRfaXRlbV91cmwoaXRlbS5pZClcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIGlmIChyZXMubWVkaWFzLmxlbmd0aCA9PSAwKSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlcy53ZWJfY29udGVudF9saW5rICsgZXh0XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICBmb3IgKGl0ZW0gb2YgcmVzLm1lZGlhcykge1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAgIHRyeSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0bXAgPSBpdGVtLmxpbmtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcC51cmwpIHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0bXAudXJsICsgZXh0XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7fVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICBpdGVtLFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgZXh0LFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgbGlzdC5maWxlc1xcclxcbiAgICAgICAgICAgICAgICAvLyApXFxyXFxuICAgICAgICAgICAgICAgIC8vIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vIHVybCA9ICQoKS5sYXp5UnVsZShcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIChpdGVtLCBleHQpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICBwdXRNeVZhcignc2VhcmNoXzEnLCAnMCcpXFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgdmFyIHsgZ2V0X2l0ZW1fdXJsIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIGxldCByZXMgPSBnZXRfaXRlbV91cmwoaXRlbS5pZClcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICBpZiAocmVzLm1lZGlhcy5sZW5ndGggPT0gMCkge1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICByZXR1cm4gcmVzLndlYl9jb250ZW50X2xpbmsgKyBleHRcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgZm9yIChpdGVtIG9mIHJlcy5tZWRpYXMpIHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgdHJ5IHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIGxldCB0bXAgPSBpdGVtLmxpbmtcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIGlmICh0bXAudXJsKSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRtcC51cmwgKyBleHRcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgfSBjYXRjaCAoZSkge31cXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgaXRlbSxcXHJcXG4gICAgICAgICAgICAgICAgLy8gICAgIGV4dFxcclxcbiAgICAgICAgICAgICAgICAvLyApXFxyXFxuICAgICAgICAgICAgICAgIC8vIH1cXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuXFxyXFxuICAgICAgICAvLyBmaWxlX2FjdGlvbiA9IHN0b3JhZ2UwLmdldE15VmFyKCdmaWxlX2FjdGlvbicsIFtdKVxcclxcbiAgICAgICAgbGV0IGxpc3Rfc2hvd19zdHlsZSA9ICcwJ1xcclxcbiAgICAgICAgc3dpdGNoIChnZXRNeVZhcignbGlzdF9zaG93X3N0eWxlJywgJzAnKSkge1xcclxcbiAgICAgICAgICAgIGNhc2UgJzInOlxcclxcbiAgICAgICAgICAgICAgICBsaXN0X3Nob3dfc3R5bGUgPSAnbW92aWVfMV92ZXJ0aWNhbF9waWMnXFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgY2FzZSAnMSc6XFxyXFxuICAgICAgICAgICAgICAgIGxpc3Rfc2hvd19zdHlsZSA9ICdtb3ZpZV8xX2xlZnRfcGljJ1xcclxcbiAgICAgICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgICAgIGRlZmF1bHQ6XFxyXFxuICAgICAgICAgICAgICAgIGxpc3Rfc2hvd19zdHlsZSA9ICdhdmF0YXInXFxyXFxuICAgICAgICB9XFxyXFxuXFxyXFxuICAgICAgICB2YXIgZXh0ID0gZ2V0RXh0KGl0ZW0ubmFtZSlcXHJcXG4gICAgICAgIGlmIChleHQgIT0gJyMuanBnJyAmJiBnZXRNeVZhcignbGlzdF9zaG93X3N0eWxlJywgJzAnKSA9PSAnMicpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gZmFsc2VcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICAvLyB0aXRsZTogaXRlbS5uYW1lLFxcclxcbiAgICAgICAgICAgIHRpdGxlOlxcclxcbiAgICAgICAgICAgICAgICBmaWxlX2FjdGlvbi5pbmRleE9mKFxcclxcbiAgICAgICAgICAgICAgICAgICAgZ2V0TXlWYXIoJ3Nob3dfaW5kZXgnLCAnMCcpID09ICcwJyAmJiBnZXRNeVZhcignaG9tZV9jYXRlZ29yeV9pbmRleCcsICcwJykgPT0gJzEnXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpdGVtLnNoYXJlX2lkXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpdGVtLmlkXFxyXFxuICAgICAgICAgICAgICAgICkgIT0gLTFcXHJcXG4gICAgICAgICAgICAgICAgICAgID8gc3R5bGVfY29sb3IoaXRlbS5uYW1lLCAnIzdCNjhFRScsICdzdHJvbmcnKS5yZXBsYWNlKCfigJjigJjigJnigJknLCAnJylcXHJcXG4gICAgICAgICAgICAgICAgICAgIDogaXRlbS5uYW1lLFxcclxcbiAgICAgICAgICAgIGltZzogaXRlbS5raW5kID09ICdkcml2ZSNmb2xkZXInID8gaXRlbS5pY29uX2xpbmsgOiBpdGVtLnRodW1ibmFpbF9saW5rLFxcclxcbiAgICAgICAgICAgIGNvbF90eXBlOiBsaXN0X3Nob3dfc3R5bGUsXFxyXFxuICAgICAgICAgICAgLy8gY29sX3R5cGU6IGdldE15VmFyKCdsaXN0X3Nob3dfc3R5bGUnLCAnMCcpID09ICcwJyA/ICdhdmF0YXInIDogJ21vdmllXzFfdmVydGljYWxfcGljJyxcXHJcXG4gICAgICAgICAgICAvLyBkZXNjOiAn57KJ5aa554ixUGlrUGFrJyxcXHJcXG4gICAgICAgICAgICAvLyBjb2xfdHlwZTogJ21vdmllXzEnLFxcclxcbiAgICAgICAgICAgIC8vIGNvbF90eXBlOiBcXFwibW92aWVfMV9sZWZ0X3BpY1xcXCIsXFxyXFxuICAgICAgICAgICAgdXJsOiB1cmwsXFxyXFxuICAgICAgICAgICAgZXh0cmE6IHtcXHJcXG4gICAgICAgICAgICAgICAgbG9uZ0NsaWNrOiBsb25nQ2xpY2tfYXJyLFxcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICB9KVxcclxcbiAgICB9KVxcclxcbn1cXHJcXG5cXHJcXG5mdW5jdGlvbiBnZW5lcmF0ZV9kb3dubG9hZF9saXN0KHJlcykge1xcclxcbiAgICB2YXIgeyBkb3dubG9hZF9saXN0IH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICBsZXQgZG93bmxvYWRfY2F0ZWdvcnlfaW5kZXggPSBnZXRNeVZhcignZG93bmxvYWRfY2F0ZWdvcnlfaW5kZXgnLCAnMCcpXFxyXFxuICAgIHN3aXRjaCAoZG93bmxvYWRfY2F0ZWdvcnlfaW5kZXgpIHtcXHJcXG4gICAgICAgIGNhc2UgJzAnOlxcclxcbiAgICAgICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICdpbnB1dCcsXFxyXFxuICAgICAgICAgICAgICAgIGRlc2M6ICfor7fovpPlhaXkupHkuIvovb3pk77mjqUo5Y+v5o2i6KGM5LiA5qyh5oCn5re75Yqg5aSa5Liq6ZO+5o6lKScsXFxyXFxuICAgICAgICAgICAgICAgIGV4dHJhOiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAndGV4dGFyZWEnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAtMSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGhpZ2hsaWdodDogdHJ1ZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiAkLnRvU3RyaW5nKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcignYWRkX2Rvd25sb2FkX2xpbmsnLCBpbnB1dClcXHJcXG4gICAgICAgICAgICAgICAgICAgIH0pLFxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgIH0pXFxyXFxuXFxyXFxuICAgICAgICAgICAgLy8g6Ze06ZqU5qCPXFxyXFxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnYmxhbmtfYmxvY2snLFxcclxcbiAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgIH1cXHJcXG5cXHJcXG4gICAgICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgICAgIHRpdGxlOiAn5re75YqgJyxcXHJcXG4gICAgICAgICAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IGlucHV0ID0gZ2V0TXlWYXIoJ2FkZF9kb3dubG9hZF9saW5rJywgJycpXFxyXFxuICAgICAgICAgICAgICAgICAgICB2YXIgeyBkb3dubG9hZF9hZGQgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgICAgICBkb3dubG9hZF9hZGQoaW5wdXQpXFxyXFxuICAgICAgICAgICAgICAgICAgICBwdXRNeVZhcignZG93bmxvYWRfY2F0ZWdvcnlfaW5kZXgnLCAxKVxcclxcbiAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+W3sue7j+a3u+WKoO+8jOmcgOimgeetieS4gOauteaXtumXtO+8jOacjeWKoeWZqOaJjeiDveS4i+i9veWujOavlSdcXHJcXG4gICAgICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8yJyxcXHJcXG4gICAgICAgICAgICB9KVxcclxcblxcclxcbiAgICAgICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICAgICAgdGl0bGU6ICfmuIXnqbonLFxcclxcbiAgICAgICAgICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICAgICAgICAgIH0pLFxcclxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMicsXFxyXFxuICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgICAgICBicmVha1xcclxcbiAgICAgICAgZGVmYXVsdDpcXHJcXG4gICAgICAgICAgICAvLyDlvITkuKrlrprml7blmajkuI3mlq3mm7TmlrDnirbmgIFcXHJcXG4gICAgICAgICAgICB1blJlZ2lzdGVyVGFzaygnZG93bmxvYWRfdGFza19pZCcpXFxyXFxuICAgICAgICAgICAgbGV0IHRhc2tfaWQgPSAnZG93bmxvYWRfdGFza19pZCdcXHJcXG4gICAgICAgICAgICBsZXQgYWNjZXNzX3Rva2VuID0gZ2V0SXRlbSgnYWNjZXNzX3Rva2VuJywgJycpXFxyXFxuICAgICAgICAgICAgcmVnaXN0ZXJUYXNrKFxcclxcbiAgICAgICAgICAgICAgICB0YXNrX2lkLFxcclxcbiAgICAgICAgICAgICAgICAxMDAwLFxcclxcbiAgICAgICAgICAgICAgICAkLnRvU3RyaW5nKFxcclxcbiAgICAgICAgICAgICAgICAgICAgKHRhc2tfaWQsIGFjY2Vzc190b2tlbikgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB7IGRvd25sb2FkX2xpc3QgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQST9ydWxlPeeyieWmueeIsVBpa1BhaycpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHN0b3BfdGFza190aW1lciA9IHRydWVcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgZG93bmxvYWRfbGlzdF9yZXMgPSBkb3dubG9hZF9saXN0KGFjY2Vzc190b2tlbilcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBkb3dubG9hZF9saXN0X3JlcyA9IGRvd25sb2FkX2xpc3RfcmVzLnRhc2tzXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkb3dubG9hZF9saXN0X3Jlcy5sZW5ndGg7IGkrKykge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZG93bmxvYWRfbGlzdF9yZXNbaV0ucGhhc2UgPT0gJ1BIQVNFX1RZUEVfUlVOTklORycpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3BfdGFza190aW1lciA9IGZhbHNlXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlSXRlbShgZG93bmxvYWRfaXRlbV9pZF8ke2l9YCwge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzYzogYCR7ZG93bmxvYWRfbGlzdF9yZXNbaV0ubWVzc2FnZX0oJHtkb3dubG9hZF9saXN0X3Jlc1tpXS5wcm9ncmVzc30lKWAsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdG9wX3Rhc2tfdGltZXIpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5SZWdpc3RlclRhc2sodGFza19pZClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgdGFza19pZCxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGFjY2Vzc190b2tlblxcclxcbiAgICAgICAgICAgICAgICApXFxyXFxuICAgICAgICAgICAgKVxcclxcbiAgICAgICAgICAgIC8vIOagueaNrmlk6I635Y+W5Lu75Yqh6L+b5bqm77yM54S25ZCO5o+Q5Y+W5ZCN5a2X5ZKM6L+b5bqm77yM5pi+56S6XFxyXFxuICAgICAgICAgICAgbGV0IGRvd25sb2FkX2xpc3RfcmVzID0gZG93bmxvYWRfbGlzdCgpXFxyXFxuICAgICAgICAgICAgZG93bmxvYWRfbGlzdF9yZXMgPSBkb3dubG9hZF9saXN0X3Jlcy50YXNrc1xcclxcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZG93bmxvYWRfbGlzdF9yZXMubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgICAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGRvd25sb2FkX2xpc3RfcmVzW2ldLm5hbWUsXFxyXFxuICAgICAgICAgICAgICAgICAgICBkZXNjOiBkb3dubG9hZF9saXN0X3Jlc1tpXS5tZXNzYWdlLFxcclxcbiAgICAgICAgICAgICAgICAgICAgZGVzYzogYCR7ZG93bmxvYWRfbGlzdF9yZXNbaV0ubWVzc2FnZX0oJHtkb3dubG9hZF9saXN0X3Jlc1tpXS5wcm9ncmVzc30lKWAsXFxyXFxuICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2F2YXRhcicsXFxyXFxuICAgICAgICAgICAgICAgICAgICAvLyBpbWc6IGRvd25sb2FkX2xpc3RfcmVzW2ldLnRodW1ibmFpbF9saW5rLFxcclxcbiAgICAgICAgICAgICAgICAgICAgaW1nOiAnaHR0cHM6Ly9teXBpa3Bhay5jb20vZmF2aWNvbi0zMngzMi5wbmcnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgZXh0cmE6IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogYGRvd25sb2FkX2l0ZW1faWRfJHtpfWAsXFxyXFxuICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgfVxcclxcbn1cXHJcXG5cXHJcXG4kLmV4cG9ydHMgPSB7XFxyXFxuICAgIGdlbmVyYXRlX2xpc3QsXFxyXFxuICAgIGdlbmVyYXRlX2Rvd25sb2FkX2xpc3QsXFxyXFxuICAgIGdldEV4dCxcXHJcXG59XFxyXFxuXCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCJFeHRlbmRcIixcInBhdGhcIjpcIkV4dGVuZFwiLFwicnVsZVwiOlwiJC5leHRlbmQoe1xcclxcbiAgICBhdWRpbzogWydtcDMnLCAnZmxhYycsICdvZ2cnLCAnbTRhJywgJ3dhdicsICdvcHVzJ10sXFxyXFxuICAgIG1vdmllOiBbJ21wNCcsICdta3YnLCAnYXZpJywgJ21vdicsICdybXZiJywgJ3dlYm0nLCAnZmx2JywgJ200dicsICdtM3U4JywgJ3RzJ10sXFxyXFxuICAgIGltZzogWydqcGcnLCAncG5nJywgJ2pwZWcnLCAnZ2lmJywgJ3N2ZycsICdyYXcnXSxcXHJcXG4gICAgdHh0OiBbJ3R4dCcsICdzcnQnLCAnc3ViJywgJ2pzb24nXSxcXHJcXG4gICAgLy8gMS4gc3VibWl0X3VwZGF0ZV9pbmZv56m6IC0+IOiuvue9rnVwZGF0ZV9pbmZv55qEdmVyc2lvbuOAgWNvbnRlbnQgLT4g5YiG5Lqr5LqR5Ymq6LS05p2/IC0+IOaLv+WIsOWwj+eoi+W6j+acgOaWsOeJiOacrOS6keWPo+S7pFxcclxcbiAgICAvLyAyLiDorr7nva51cGRhdGVfaW5mb+eahHVybFxcclxcbiAgICAvLyAzLiBzdWJtaXRfdXBkYXRlX2luZm/kuI3nqbogLT4g5o+Q5LqkdXBkYXRlX2luZm9cXHJcXG4gICAgLy8gNC4gc3VtaXRfdXBkYXRlX2luZm/nqbogLT4g5LiN5o+Q5LqkKOm7mOiupOeKtuaAgSlcXHJcXG4gICAgdXBkYXRlX2luZm86IHtcXHJcXG4gICAgICAgIHZlcnNpb246ICcyMDI0MDUyMTIwMTI0NCcsXFxyXFxuICAgICAgICBhZDogJycsXFxyXFxuICAgICAgICBjb250ZW50OiAn5pu05paw5py65Yi25LyY5YyW44CB5qOA5p+l5pu05paw5o+Q56S65YaF5a655re75Yqg5LiK5qyh5pu05paw5YaF5a65JyxcXHJcXG4gICAgICAgIHVybDogYOS6kTZvb29vbGUveHh4eHh4L21odmw0b3hpa3k5d3ZrZ3pcXHJcXG5cXHJcXG7lsI/nqIvluo/vvJrnsonlprnniLFQaWtQYWtgLnNwbGl0KCdcXFxcbicpWzBdLFxcclxcbiAgICB9LFxcclxcbn0pXFxyXFxuXCJ9LHtcImNvbF90eXBlXCI6XCJtb3ZpZV8zXCIsXCJuYW1lXCI6XCJEZWJ1Z1wiLFwicGF0aFwiOlwiRGVidWdcIixcInJ1bGVcIjpcImZ1bmN0aW9uIHN0eWxlX2NvbG9yKHN0ciwgY29sb3IsIHRoaWNrbmVzcykge1xcclxcbiAgICBzd2l0Y2ggKHRoaWNrbmVzcykge1xcclxcbiAgICAgICAgY2FzZSAnc21hbGwnOlxcclxcbiAgICAgICAgICAgIHJldHVybiAn4oCY4oCY4oCZ4oCZPHNwYW4gc3R5bGU9XFxcImNvbG9yOicgKyBjb2xvciArICdcXFwiPjxzbWFsbD4nICsgc3RyICsgJzwvc21hbGw+PC9zcGFuPidcXHJcXG5cXHJcXG4gICAgICAgIGNhc2UgJ3N0cm9uZyc6XFxyXFxuICAgICAgICAgICAgcmV0dXJuICfigJjigJjigJnigJk8c3BhbiBzdHlsZT1cXFwiY29sb3I6JyArIGNvbG9yICsgJ1xcXCI+PHN0cm9uZz4nICsgc3RyICsgJzwvc3Ryb25nPjwvc3Bhbj4nXFxyXFxuXFxyXFxuICAgICAgICBkZWZhdWx0OlxcclxcbiAgICAgICAgICAgIHJldHVybiAn4oCY4oCY4oCZ4oCZPHNwYW4gc3R5bGU9XFxcImNvbG9yOicgKyBjb2xvciArICdcXFwiPicgKyBzdHIgKyAnPC9zcGFuPidcXHJcXG4gICAgfVxcclxcbn1cXHJcXG5cXHJcXG5mdW5jdGlvbiBkZWJ1Z19sb2cob2JqKSB7XFxyXFxuICAgIGxldCBkZWJ1Z19lbmJsZSA9IGdldEl0ZW0oJ2RlYnVnX2VuYWJsZScsICcwJylcXHJcXG4gICAgaWYgKGRlYnVnX2VuYmxlID09ICcxJykge1xcclxcbiAgICAgICAgLy8gaWYgKHRydWUpIHtcXHJcXG4gICAgICAgICQubG9nKG9iailcXHJcXG4gICAgfVxcclxcbn1cXHJcXG5cXHJcXG4kLmV4cG9ydHMgPSB7XFxyXFxuICAgIHN0eWxlX2NvbG9yLFxcclxcbiAgICBkZWJ1Z19sb2csXFxyXFxufVxcclxcblwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiSW52aXRlXCIsXCJwYXRoXCI6XCJJbnZpdGVcIixcInJ1bGVcIjpcImV2YWxQcml2YXRlSlMoJys2c0V5dmtQYlc0Q3BpTVFQaFBUWit0cWI0Z21lUlg5Z2Y2ZmhKVUFBaFNkMUtxeDFOcVp5K25iTGxnbmtlb2o0MEpMMUVZMTNxNWV1OXM3UFowMUxEWk9meWZka1lnSkNZdUNDcVhmQ3AvQzlWaWF6WUQ0NC9FbEVKanRHTVVHN3ZlWmoweWwvREJIMEViTkNMNXRNRHJubXFJWERjdmxTWEVEOFNnZEVHM2VDNU4xTmZqMVBQTm0wYjRwdmJHbVJjaHVmRGF5U0hEalB0UGtMeWY5TE85UlFyYUJsQWFhZEVDQ1BYNVRpL1N6eHBZbGQ2M3Q5cHdaR2N6SlU3cTI5Z1lpcyt0SE9URWw5UFhQV2N0aUlWdWthQWhDNmE2eUhzTkZLVHFLUWtqVTVWUHNpUEhpZzBUNmJmQXEyaGxleS8wd1RXMm9VN3F0TXdRSUFpTGhFUUZaVWd5Nzg1eTlnVjhnVGRIQkQzVmdPdklvNlBDS1QwcHNZRVRuNXNoZFR4QjdDY01mdmJDRm9ZYXRkdHBaTDQyakNLUEZCNzNxaEJ6dGdST1d3bUZ2T3AwM05rYklvSVZIdVhmTWUrSVY4YzZQRER1RWdjSThSRkFHWG5mSFdQa1JwV1NKRkVEMTAzQ09iS3YzSURaNmtidHNIZ3RyRFVWWGE5WllxVnpFZ25DOVJOUnJQZFVLNTN2K25NblFnL1Y3Rlo3WTB0OU85N2hDeVpYZ3ZhVzR1VnVhcjFTbXRTZ1R5SkFJaHk4T1FXbGgvRlNYN3g4VWJSVnUwU08xTGhmdjFPTmxWY3BQRmsydHVHUVpFbnFybWdmUkgvRU9ZcG5DVGRzU1N6Z2dZSHBzUGJmajZ0M211WXYwdHlWNmova0tpcXFIMTdDSnpWZUxRUlRJQWJtOVZPMHU5c2J5NjlGanFFSUhRQ2lWQ29Rekk3dHlidlptM1lCVWk3UGdBdTYzQ1ZzOTZySHVhZFd4T0NtZUJ3VTc2eU9Jc3E4d2EzaGd1Mi9pSUNLcS9MaEJiUWFndXgyQkpoa1gvLzRSYi9TSGlNQWN6WURPUmNuQW9GS2VFbnFHM3AwODNyQm1ML2xwOCtOcXRRU3NhYWkwUkhtVllGb1N0YndPTHBRd0FPWWxKdU1YTWJZOE16R3VhbEZXaXc2elFhZnFxNnZ4SDFoV1hSM2s4c2hyd0hzUjRsdHliZ3VRYUtMUllaaGM4SEdqakUrTStaTy9QNnBhdWJDaG9vbHZGVWNqYlBTMGhtdkdadmNxdEhiOFZjR3dGS0M4VVo2d0dJMDlFcFhCN3VWSXJZbXVnVkJ3QWtmcVNxWU5DdFZ0R0s4WFNLQTNQSWNIVk9IY0NyWkxiR3V2MnpNSDJOU1JLSDU1RFl4SERzU2w2dVdTMS9zQmNwb2g3a2pkdm9SblZPVVlSbHJ1VUVSdjFFMXpiZWtiNVhweGd3bHQyVGVHb1lQVlVjWW9YbzVGcVB4bkJWVEVEUklRMjhkMEw4YmdEZ21MVW16bTRHV255dEgzTTBjQnFTWVhkcnRIcEpVNG9hU1BCVzFBNXk5bVFVRFFTUkNWNlFyQ0lUekVWVTNuK0NGbzJJbGhjL0FsK0lseFMxRVFsMGZ0WjlrSmJBQ1VZRjFNdFFXMFo2d2xyL3lVemZXdE0zNVhVVXhuMjlBbFVpS1hzWGxkTEl0OUZ0UUtyRisrdGVxY05wc0xvVjYrTUgxRGxqaFVpU1BWeHY1SGUyd2RoYVR5TENlVVpkUWxBRmRqdStZMW1xL3hRQ2dwckNZa2toeWFhUmxtQ0RWelRNalA2RnFVaEVISEpLbEhCdlFTWldYalBzRlVlc29nMHdDMUtjaW9hNkU0UU5SdGpERU5VL1JYTWtyNGdSRStlR0VsaTlhb2hadm1rME1jOERWUWIyenBRVXBzL0hYZGNSS2ZwUTJDQzdpT2RhZTQrbm8vM3ZsUEdwOW9Kb2FIN1FLaWdtRnZKSWphRFJqSDRRN1JxcWRkekdpdUtxNmt0V0I0Q0dnYXdER1dIN0c3a1FpYmQ2MEdQZWhjTGxBV1E2ay93SGZMQkQxMlJVb20wRHh6VnpRcElZTlVUa2pQZ3NYeHpFYmt5T2FKbTZoUEsxUVZqalZLZ2ZhVlNvSkVRSWY3ZUxJOHAvYjgyOW1Jc1ViaFZmcUNMNllmcXBza2dUa3YzVjNqWGZpVXk0ZU9oaHZJajArcWE3ZTBXeHlsZFp5aW9nenlybUJQcW52ZDBFNEFvNXZnV04rcWZTamZZWUQ5ZDBYUTZlN3haZDAzSGhwY1owaDJOY2RlcVJGQ1RnTHhKS3Y5WTZXS0VBMm1lWENHdG5OSEhEeFlVS2lCeVVkZ0tHTmZBSTBTK0thek1KTlprdHdENUlTeE5oRXhPallhN0d5eG0xbGFGSVJUbjBtRThCcXJ6a3pLaHN6dHlGUG1wTnIvRW13Y1ZZelRsRTdxS21BejgwWDEvTG1nYy9WdnlhQUU0ai9BeFpmSGlHcU5lako0Wmh3UVpyV1ZYL2tvTkVyc08wRWV3S0VITDFPWDg2WklKQ3ZmSmkvY3dHVy92anU0bHZpNWxBU1ZDWE85Tm4rUmFSbFZyOFRqZE9rWTAvbkFQRTZTdGkzUWEzczR5eDdKMmNPcGM0NUtjeVVjZS9oQjJSNkZZenFZejJzN0VqTE93bk51NGNwakdSMHh2K0xpVDhHTzF6OER5WW9TWUpYQkxCM2R6Q2Vac3hhK2FWZitqNGUvRUI5cy9Ib2xmNHZaUExERytjWlFFQ2JNVGFHL1poSFRuODJLZ2NjU0xReW5UK2s2NDBLdjN6b25ReGRsdHBxNE1EWUlaUlN3K0JwbngrM00wenRNbS8vMEEzYjhOVHhQSk5LS0ZmNDBFMkJISnEyc1ErV0RscW81TUo3T1A1UnpHOERCNFhXRHpDZ2JWOEtkSmVlN0Q1MzJJMGpwRjNQVlppcENOVmFBV0NKb2w4a3JXTzV2cnZTZXlZc2tXNXdIUWpxSWdXRlB4MVZwRWlUdGFzN2tuTk45TmpSMjVna3UxMHNieTBwdkk5NGw0czNsYmR3Q1FQeDRuVE1kNUxuSEdKMXhLbDloK3NQNHlEMDJFY2FVWTk1c1AyUmNWb3MxVWdnWmV1TDJUUC9rMWVNWHN6Q0RSZkJ4OW4xZTZqRlpOY0tyN3VNYVdCdHdRdmRaUlBUaEJDTzlWOE9aMWpoUS8wTHR4Z09Jc25qL2dKY1YxeDRmREFzdFIwR3JQdmJKVUdZNDluQVhDVzZ1cXBuUVd5TjlWbXExUDlmb0hSK0lFYmo0azZMVmZ3S3ppMTlXWC9WR1dHcHZiT2IwY2ZUNXQ4WEh5SHRnR0RUUUF5enB5SW9abXRaV3JSTG9RbjJNaklKQ0t5VFRaU29OZ0Q0TE51cnVldWZ2aHpkY0xTWDdDZm1nSmVvZ3FETHRXMTBXSXdBS1FGdVJmYUJtR3RjWWNJRDhuVndEdFkzeWdaQ2Njb0FyQmc3YW8xWnYzeVBlSmVMTjVXM2NBa0Q4ZUowekhlVDZ1M1A4cXIrVUdyeWl0SEFER21mYjk0MWNlNEE2WEtGa2c4NW5yV0wzYm5WNWc2MGNicXJvbXkwcnBaTXB6SWs5UkNNYlpZYVpkclUvOG5hYStiOVZWN3RFbEQvU0ZJRnA1Mm9vS29mOHdNL2lERi9RVWszVGo5SlBaSGdaeGwxaHBNTVpyMmhUdzkrNGcxbGlVSGN3NmJoZWVRUXhOSFAxdmtnVW1oRkJNYjk3cUYwNUZPV3Y1Z3VlNy9XVkhpcHB0MUdvUVR4NU1ZM3BIYjArQXZqRDEvQzlsRDVabkE0NkxQcnc0OWpySlowUXppVkJ0ZXJzSW53SGozQ0xsUXJFRlQ2bzhGYmFUQTk2Wnp4bXV5Y21McEpiNlVIVDFpNFJYT2ltTFE2VWc5MnBxK00yYkxQck5rOU9QUExpSnN1djZuZXJmMEpuK08vWWtwQmJXSUpYUUd2VW9wS1ByczZINEJ6ZGN1b3hjMTFub3VmZytSU294eFNTemhRWFp6RzgxbkFBUm14ZTA0Q3NXaDBRdGZWOG55OGZDbDh5YzJJdUg3cVAwYVowcU9aMFViZVRsem1HVXZHMW0wdVl3b0ZQYVlVOFpnNEl5aEtvWitIVzU1TFpEZDNMcVpQNW45cm1FRmtWd2ZJeDVsNjBwaXp3RmtEbVVVTDhYK29tZWxIU0YyejhibjFMQnZ4eE91YTdndmNXNlR4bndRSllSdWFkUjdDS3dXbUVqRDZSaUsyWFB1MUdLSlF6dm96cXRWSVZzY0JaL2M5QmpYc0h2dzlicDkrTEkrbUoza05nSWlQOHBRMTdseDJWUFl5dkk2R1JqNmJBSjBNNVI2MSt2Ni92SmgwK2RXczJCYm5SS1Y4NTZzRFdzQkZFWjRQcDVwMEd4ZnN5RnFxay9hRnpFYXVhZ3ZJd0txMVhhYjVUMUphRXF6MzhkUkhKbGNuWG9YUDdCempBbkFkQ09vaUJZVS9IVldrU0pPMXF6aldkVlZveDN5UHljaGtiQVo4NzloeEpzbmpRZGplazlsZjhVcDd6UHFxTmVZM0lmNi93bDZpWTMzL2Y1TXFUSGczZHk2bVQrWi9hNWhCWkZjSHlNZWJjOFNwQ3VoWDhJR25KU29QNC9aaktZME0rRVA2TmQ3T29uNjJtRzlyZTdWdDRTeVBPcWlCS2tXRUpxc1VqRXdNZ01hSDRPK242b2YycUhMRGgxQ0VVU216WVI4bE5ZM1BLK0h1QWQ5bVI5TXVyZlg1VmZ0WUEwOU15V0hqZi83R1puajczSVpwKy9KTmNJdkQzZnY2OFE4bXp3eVd2dDVuQ2JTVDdoNCtrUys4bUhUNTFhellGdWRFcFh6bnF3TllzNnZ4SytPMjRGRWxCRE1vdlR6VDBvcFJiQmpROTd1V3g2MlFvQWNvbEJVTktkcFlYNVpGcHYzaUF6Z3lvNU5McHVGNTVCREUwYy9XK1NCU2FFVUV4S1A2OWdaL04zKzcvclRmcENzNURXaEMwMHZtQm5iT25MOHlVNnAwaTlTMmkzNE5OV2xxMkJoWUpWSWNvTmVxak1JZkpMSGxweTFQTTMvSDk5MlhpbThRVlBxandWdHBNRDNwblBHYTdKeVlxMXdPeStKQVhpREtXMTdrNjlFRFM0MnFPTkFhdzJMTktzbkRxTG9ucklES0dRNFg2S1JSaU95czc5UjVEOXI3blJsQkFkU1pVMThXZ0dHbDJ2enpQdnN5TERYQ1VPdDNqSHhZWTNFSHo2SGcxVGNPNEJCQVB2U2VZTGl3alh5SGZreG8wZlJKQ3ZwKzFPN1BVdjdMVW81MFg1QzBaOGlTcFpydmg2OThURG9kZGEvZ3VNenl1elk5NWdhcTRHc3ZtZEZHM2s1YzVobEx4dFp0TG1NS0JiWkt3RE1TMmRTTDdJUWUyS2NqNmdBM2R5Nm1UK1ovYTVoQlpGY0h5TWVad0x3UmNLcUMzRkQ3QWIxdmtxMW9wNTBaUVFIVW1WTmZGb0JocGRyODh6eWdTWEVKU0pHUXZrdEVYeE1rS1hpRzlsUnZPVmJhbEgxQTlGNXIvSk1sUlNtL3VkMXg4dnkzR3FHdUdpaTd1cWlXY3oxWXhhbm5NNEJaVVNDR3RSZ0FnanBUVjdkNWxDbWZHSm81R3FPUUFVRkJucktJOUdWM0p6bkVPRW9yMUZIZTZPRjhndzBLVFlPdm55VTFyM0dOL1hXWkdUaU9STklzWXVLVldJdFplTWI5RW10VVgwM0tBVWdJSmU0R1AvVEtrWlArRk43QjlBRlRMS2NJbkZ3L0UvZno4Zi9ZWlA0b0loWDlIU3pwd2R1NVJGYTNKRmpWNzJjUWQvZ2RTc2tacG5EK3RFNjhFWnpkdkJmWFkreUV6eUltQndVNWZraG15NlpNR2NaOEdKZjNQTXJGVEQ1STJTam0rR3U4YWZkMWYxZklBKzJSYnVLcXRFakNrNEQxQUl0cnRLSU8xcVRMWlVwYXFkZ1RkT2ludHhySWludUt2ZXFQU1RiLzhKSzJjTmd6SURMTno3WkxCLzNCbUVNZ3I0dTdLUnB4WE1iYndkR0dMRmJvSXZNYXNVUkROM0Z3anc0QWM3SG4rZnpxaVVvZC9ib0xSbTA5UzhmU0dic0dJK3BvczlCN0lOMU9seGJHMkl2M2ZwdW9ZbWJjNEdNQnA4RzNMY0xTTHVUU29MZ2pSc0d3NG1mZm5wTUduaGpYb1lBajhTdldNSmVXUmRnR3pDWm43Ky9YWDZ2R2RCbzB5b0xHbzBFQklvd1cxTFhjT0tCOUpDUUtZQkNCN3lVN0dPWDU1THNsRXp3TWk2Mm1VVThkRCtueWMrTTRKRm5KZVZFQm1iL1BpdjdzUG5mWWpTT2tYYzlWbUtrSTFWb0JZSW1pWHlTdFk3bSt1OUo3Sml5UmJDc2ZJM05sVTNwQzFkVUhCejErN3REM3lxVVp6UXlJTVVCQTFvL281WTFaUFRHYXpaNVBzUnV6ZUVLa2hXZVBnS0ZxbGI0TkFUN3QrYkNLZEh3T2NRakpKU0xkaUxQYVVVNGpXb2FSNCtBeXB1N1pvd0xqM0dGVFZ3N1lkMXEwb3FRaEhCTXlhZVN1akR3RTg2dVhnaUNyYXRqcHU2R0JDY1k4aWtOSWxxZlkvd0tsWTVaNG5hS0VvVVVnVEU3emJFMXpEcE8vOFJOOGVEUjd1SmdMUlJvMHYzYnpiNllqTm0zVDRXOXlNMDVTeitYSTYrbWNBclBoOGZuQmwxcjAyUDhDcFdPV2VKMmloS0ZGSUV4TzgyOVgrNzI3M1NsTEpPS0lVOC9UeE9iUmRSQzhpMmYrVnRqLzRKWnZXRExGVzRUa094SENwcm9OS1FwWDNpeFVFbTI1dTMwY283cVdRMjY4bEJCdGRidlVMK0RibmZmU1RscVdabGp4UHYrZTdWYmtmWUpucWNpTVJPWExweTJQdnJVb2xxMm9mOEVSQ1lQNjh1UW9OMUorUFNURTBYYjJpSENqTVdrZE1vaStrbVJPd0k5cWxObEo3aXdJZzNSR0tNYXFHc2txQ1lQcmtITjdsekhoOTNxRFROVU05dTZ0N2F6Qjk0RFRHRjJ3UXl5dkxTTlpXYy9zSW4vdldTQUhVOW1xYXBvd25XN3BSdmVGZ3FkWHVIcWZPeGVNcEJzaEtpUE9iMkRyMmNyUkJ5eXZMU05aV2Mvc0luL3ZXU0FIVTlpd3A4bjU2VXl1Q1dKeTdkcGpWcmRSTEhQSXZDbWpla1JMSGdvMlhTanpkSXNPMUVBemVxRU5POVFkdFh0R0dJRVE2TkZHbXJLajIwR1RoS2ZLckJ3aS9VRDJzSmtNYWNsb0VoUldqeEJWWm9KWG52SHhET3NpODdHMnlLZkc4SXVYNTY1Q0lRbmNEVzVLZlhVWkxPblpVZUdJQ2xRa1RnVmNaVGZJTjExaXBOTzNSaXVJU0p0Z0plOTRSa0J0elpVTVQ2aFp4RFZOcHlsSGNIcUtGelVXdjZHcWhObnpXNlJCeXlRc2VjSnBhaXJKUXpYTkhxQm5LT2NaR1lkNm05Ti9xcklxejFOUHI5VVRJc1ZuckhST3EyUndnUFVMdTNiZk9VMDBpcVAya2R4MGwzREdZbnd5U0NCeXVla0xtSTY3TUlQNWY1MGpKd1h4NHUzVlBzNWFPY3d0bnpsYW5aK2VudElYL2tvRStVRXRJVytjQW1Hc2k5V2Rub1ZNcldwdjBhYlp2MjJOSkROYzJTb3M5U2Q1S2RaRFdLRXF3R21oVUR6WEROek01Y2hFZW9uYkx1ekNUOWRJNXQ0RnFXQTNkeTZtVCtaL2E1aEJaRmNIeU1lWjhXdkxVTzNYZlpCU0QybjBLdGpuRWdBQ0hoZzR6SUZyQ3AvOVg4eGNBYmc1WkoyYU1rUEovZ1l2MC9VaU8xeW4zSWpoUjdMa0p4VVI0OWpObm5vYlVPR2taL3BQZ1ZmM1RaQTBwRUhoa2tzYVZocWJXZHJrUmhSMFBTWVdsOVFFV3JJNlFzWmcrZll5anAwNlgrdzhWZVFIMDdxd0pscmJUeGI0ODlibmQzdUU1RHNSd3FhNkRTa0tWOTRzVkJKdHVidDlIS082bGtOdXZKUVFiWFc3MUMvZzI1MzMwazVhbG1aWThUNy9udXhzNWVTNFJrK2s2OXM4ZUt1akZSYUhKajhoalluOVp1ZVMrTFdmVUtYQUFGcmlHWjM0OXFQZ1ZQSzIvZnBJZlZzc3J5MGpXVm5QN0NKLzcxa2dCMVBhUnN2Z1pyWmplOUVxVzJUSWM3eXlYbkwvUExGM0FzQzBSdEovSVJzWkNLL1JnMzhzQStsZTUvSUNCYW1yK2pWN09sREw3RHZ6enNPUW5LKy9iQ2M0bjlzN2tmRWg1R0grbVY0RTM3NzFwNmhmVWJCUmtJV0pycFZyMGI4bHNFZ0hMSzh0STFsWnord2lmKzlaSUFkVDJ0ZjJtcVZ3dkE2QnFFQTE3TnNGSHlBZVl3OUo0T1c2Z2liY2Q0N2ZFRHZDa0FHaFphVGRyYWZGQTZvTEtLVFRLUVRReWRYbURsK2xjZTc0QlUvWEZWTXNyeTBqV1ZuUDdDSi83MWtnQjFQWURiRnhkNXFZYjVNYkgrVmtmZlR3UXRkeTViOHMvQnR0MjBrQytTTGZmcUZMT0xmck9RTXBDeFFsRGcwMllKQVRFTUl3UTg0U2ErZkU3MDYwWDUrSFNieSs0WWlLU0ZkdjBxTElvaGdGSER5aGR6eVE0VFdsVGJrT1BSWkVSaGl3VEs4K3dweE8vMm45R1FFMUFXb1cyUThtend5V3Z0NW5DYlNUN2g0K2tTNDlQTzhUd29BMXpUdTRDdmU5K0RMdWNVTmlQQzRyMEZ3eEpKNXZyVHdmQk1JNE5TM2s4REtEQ0VFeVFhOUxUWG04dnVHSWlraFhiOUtpeUtJWUJSdytFekZ4d1FTZ1o0NmZvdlFaQmJPVnQyUFVVKzhaN0p1V2tKNGNkcXE3ZVlqaks4Z3RwQ1FhZUF2KzdzREx0Sm80ajVrbGpIQjhSQVFScHU5RENOR1U1UmcvTTJwUTdJUE9rQlZibzdaRDIxbzFXMkdxTTRVQ2s0bW9ieEUwZFFRUFNaVlN1SCtSUytwUWJMQjNLZ1hyR1pyUndGTFNqZ241T0VsTzFzS2I4dU1seE5MVzhRODJEUEg5dktWQVRwNUxUZFIrQ2xMYXEyclg5VDNuM3V0UHROZHFnZFhFcjAvWjBoUGY3QzFFanlUTklxNVlQREwyU1ZWWGZjQVFxVjk5VXBzTThKaDZaaktBUU1iYjNVTmxUa0l5UGtnaGZ2TE5mS05lWVU5MnRCNVVmM1dYclVuRTRFNnUwNGRydWdrWjJmeElKZXBKSDJkNFJNSUtCQVA1bWxYczFyNkQ0c0pIWWg2Kzd4M2tQUXBBblNFWGp1Tzh4TGpMdmdTdHE3RlVEdEY4ZDVyQ0tKOUhaZzRCblBpZUZMWjVPNEtXMFBOcWQyVU85SDhxcy9qYmg2U3ZlM2ZkeDh3cTI5cXpabFhHUHdkZFNYT1dqWDM3NnZxMzNTNFRyaWN5SXMrODB3U3ducG5uRlVPbSt2QzRoTk9yYXBPdXpxbXJrZUZlNWlwSjZlL1phSXJkc21BSDdyQ1dwckdlNGp5YlhDelI4dUczQnNHQ1VFNVYvN3h0V0o0aFh3am0weWlhRkdOa1pRSG5nWnhXRFEyalVUTTlwUHF5MUVCeFh1c040S09FT0dodktsa1BncEd2NktQYk80WTlobU13djZ3UVhsQ0xnSkg2MUJVQUtTUmRMS0kzbThIbG4zQXBqUGpHRURlU3J2TmIvbGNvQTJsWG1yM1p4YmRRSE16c2srZ1ZNQUREWG1EQ21iZ1hScGFQZzcyWEtnbTBvVldFQ2FpTzF2aGRxcC96ajRxdjlzcG5kL09CTzdDb0NibmNsMUYvWkJ5aUxjejZTYlBYalFNbUFKeHZBZExNMEV4eEYrNE5FKzhTV0hoK3Z0QjRhOWRwTHJTSndxYStzQWZXYW1wR0lDd3diT3dJTkIxOS9nNlFmcXk2VlMrU3dIRjE4a0FvU2Z6bXF6VEQxdWhjZW04NSsxRHhLS3BQL1p1MjhrQWtpeXNuVzZTZ1pqbzRVVmdzNjJ6cm15Q01SOElIeTdiR1QrTnNUVGVBVDlkL1ZkZ3JpbENDcHhEMThEeTBBZG5sa01TWUdHeGt4QzM3UEg1NU40NkRDcHdJSTRLZnBXMXRjM2V6OVUwZUNxR2ZFZU5TNWJQYmo4eXJScjhFb3NhVGF4a1NIOU5VZGt3K09mUTgwT3NyVmdZT1JiK1RBS25oVnQyalJreDU0emIwN3N2bnhuUUQvNHFIbnYxbmtXK3kvbS80bmtkWWRrdytPZlE4ME9zclZnWU9SYitUQUVwc2ZETGozc29naEhjNHBLcUdpeEZ4M01GN1IzWmdrNlppeFZaN3NuNHJKZGRUWUl2RCsyd21EN1ZpT241VXFrcGs5RXQ5dEpKSUFLcnAxOERiWEoyc0trNlF6U1E5SFgzRjVZNU5KN2Y2Q1oyT2l6ZGY2KzNYR2ptZm9NQXhFYWRnL0Jja2tIRHNOZGZ0MGt5M2d6N1drdUFUdXMrNGoyaDdZbmRvSzVlT1hseXNIUUdKbTNGV1hseEpSdFhhMmNjNm9PUlNqTEFkKyszL2l6UGFKZ1hBRWJWaE1GbkhGNm5oVnhuNGR3NExMSzh0STFsWnord2lmKzlaSUFkVDJDaWVaN0hLaDV0Wk1FNllwcHBOQjExUXd1UWxvaTBKV0xHTlljR0tTUkVxTDZ4Nitpd01zWXdKRzh4SUh3anV3aG5hRm5QMmxvQUQzcm5KRUpGUG9WSTVYRkg2WEIzS09TeGs2RW12VHdzV1BTVEUwWGIyaUhDak1Xa2RNb2kra21ST3dJOXFsTmxKN2l3SWczUkdLTWFaYkU2RHFYUmMxQ2gvdTFyMFNsaHl3Z3JlOHM5aHZZaE5PTW1oUnYvcHd5eXZMU05aV2Mvc0luL3ZXU0FIVTltZ1p0QkQyMWZtNDZhNjAva2I2TTJmT3dHS2V5SW9OeE1sOEUwb29TcHR1MHJCRjQxelZ0UkM3Ky84MDF4VE5yU0x4VHJaZnRodlcvaTUyYWNVOHUrb0pNbUwvU2l2eDE5b1pYM1poS3RXYW80K3hRKytvdG9mdE4waHcyVGtLOFp3S0cvVUdCOXk4WUs5KzNlNGI3R0FVN0g2K05KbUhaSW9uelVMbTQ3OVp6cFF5K3c3ODg3RGtKeXZ2MnduT0p5azBtS2daa2RvaVdyUVJPS3RTTkZrMVpPdTZ4WDFwdlpxSG9DRWgvRHhHOTVqeVcycFZrS3lDdG1QWlNyVnRQaDZLVGtST2p2N1h2bUNXbHRmVkRSR2JLYmVPYUswbFFlcFpKNkVJUG9URXgyOG9JV3lub3BUK2tRNlhzTytMUFVFMXlmNUFOdEhGbUdSR3ZzVDZDVytkeTROVEpORmJZbHVKSEpTS2dDTEtUOWEvbEFVSUpTM3BabHRuRnMzbFI4ZHZLQ0ZzcDZLVS9wRU9sN0R2aXozbE5WcDByWEE1ZzZtaTVLNU5adG4vVzFWMjZvaWxGWXlYRlordjdFSEU4Q2pyS3E0a0UybVlIQWphTnhjaGswckY1Y2ZPa0c5c0xGMDMwNUJXUVV6cEdqQXppaDdpWUdDVS9yZjZTbEZnb3hEdHRyS2h1eTB5Mmg5RWU2SSsrTmZaaHBvRHlqTzdiZnVRK0ZuRGZtb2EyTFkxanRtdkhNVVFvVU5Hc2YvVUNjc3J5MGpXVm5QN0NKLzcxa2dCMVBZZWgwRzlSS2tWWDRTUThocllOTGQxdkNJbkpOMk9zUVg5VE53UzBaN0NHejUweTdVWTRyVHd3NnJTS2VSNTJQSlR3WjZ5blJMRTdPZDdZWE5vaGszNnFWN0lJS3RwU0VSSXJEUEh6Qk5uTGZUNXQ4WEh5SHRnR0RUUUF5enB5SXFKd3UzMHBQa01VZWk4alh2SUJRRHVKakVzbU9sZkxYN3lUbHVCbmVUOHhvdzFmMlRlZ2xDNkVJNXZYN0x2VXpqTTRsc3ovOExubmlIemY3WURzZTJTVlR5bEt0enNUSDJCSTBGa1NzWmJWdFR0Z2hDZHFHR2pMbjFmVFZIUzBFVjBtT0xxM0Q2SGVGb3dqdVF3enhkeVB3eXBVam5LMkx1aklXeFBXZFBnYlBTSDJvZUptNldPMzRicnRTTHdzQWczN3NCUDVPVFZML2thdWYyRHVLZWxuYmNMYWFXcmpSdHY0SmpGY1RJMzRRb2tyR2tQM0tURXY0NmttR1BXMWVQM1F6T01BU0dyM05zNnZLWVRsdnAybVJlOGc2L3RJSTMva3R3bHZ4Y3lXY2EycGtpenVrSk1jRWtpMkRwSG1CTWpoenAxT2RDVVNVWEg3bTNVYUdyVkxOc3REQkZOUm1teXVpZVZoLzJFZDY0T1RYT3Q5QWZ0ekJaS2xMOXdpTDUyS0t0RGtTVk15MEhndjFRNHdBVjBzVmVKcXNlYlBva2dMZTJPWEpTOXZ5Ym1SWGJyM2UybEhKTnF3NmVqUGRHMjlaWTZCS3ozaUJQaUs4emJqd0hTWFVBcG0xYzByQm10RFlKU0dLc3NUYmRyQ1ZtYTg3UktKcWVITHVtUHBwQWpDamNRRnZHRkRxanNTQSt5VnRrc0NPSTNHS0hzcEJTTTI0azhFdlNtRWtSVUtaOFFYTHNjaWRyRlZlbzNpOC91ejlFMkJOVHMzOVQzbWQ5RFUxSGtERElXT2F1bENuTVVUMVd1VnVLRnVMWkhUQjBRekY2L1h4N3NrWE1lMHlsdUM5U2lXWDdaS0k0YUU1dks4OUUwNnVRN1JjTVJoVnpVbE9SanVZeitxYXp6RTRiNzh5S0gvQk9NOWVwelZhTXJIVG5nc3h4RnovdW5UZUU5MjZWVUZWTWdkckhWNUV0S01aVlZ3YzYra29LNkhNUTYwK2FVdUpLMlZwR3VkVkRMak9aTlpRWXgzMXlGY3RTUktqZG8yMVJ4K1BLWmxQNldJUjRGSHgrM1kxWk8wbTVDQWtyeDBYSHRoTk9NODY1Z3hHeGhDbDB6L2czRkZrYUdCKzFEVjNOTS9xNzlyRzVET0lUMzQ3VHkrUlR5bFJjMS9CYlVuY3N5UklPOWVPcVlIdVVuWlpuc0k5L2M1TFdXRGxTODZmUytzUFFBRS94VWgyMFNIV1RXbU9YNTY1Q0lRbmNEVzVLZlhVWkxPbmJMT0krVkkwWFpJcGV0S1B5U3lEUkRzRkprL0JkT2RhSDFQZ0Rqek9FcnF6dm1YemFobHVVT0VjZzduZTBlV3lZUGJxRWtTVGZnbkJiR0h2RDB1aDBmZHl0Zmd6WUg2dmxiSDZuSE55YVMzUlBVWFhCOUJpVWh0U3pZbnowTXRVS2lxK3dsVGdFSmloVzA2ZG0zQ2tkcmlKR05Zdmx2bjNQalp3bXJ2bWNJYTVrM1FTVUFpY1JIZEdnQ21yMk1ZSzNDN05WODR0TGZhUjBOMWJud0dBNXdCTUZiczRaamNUeTlMRWg2b1RtYTRxSE8zdTlpaFVLdTFUaFFsbkpQQkY5NTN0L3NMUHN6MGpWU1hDUCtYb2J1aE4yUzBJOGRTRmhrTXZUVysxUFREbWdPdmF0NXRXa1JranVrc1djKzlOVHhLWWhtRlpXd25GdU9zaUVMNXRSck1uT05wRjNIR1k5b1NaYlU5aTQ4UUxZNUJBT3ByWDRvbHNpQkZPcStnRklsWWNpZGozZGxORmRhVEFGcXd4NExvSEwvakE1UGZYYXVrWUZReHFHcGdNTy9DQ2ZhQ2VnS1dUTTNKcjB1dTVNbmt3Y21FL1RsNG85NEltb0dlaVVGWjlQSjhLQ0JqRmM5dEpjOE1nNmRsY0ZhRTZaYjNJZzdGT2c5QTRmZU5ZdjdyNUtMd2c2MDFrU0s1U3pQRnhHd0NFRUhxeW5mU05YRmFsRTc2L3RORURRQXN1RmJ4eDg1VzBpZGtyUEF4MmpzRjA5N3ppQVRSQ004UDZWNE5xdm1HY1NGUlN3YUtTblRpUTBBeEVldXl3NTRKb3A0OXdJQXNUaDBqSnlBYkdPWU4rL3FzRHdZRUUrNWF1SWR2OFVwTEFYeXpyT0dmZlZDcHFaZ1pNQXhFK3FPV0Yrb3FGZVkvMVVvY05wYXA0ZmVMUExqOXpVdXhQNTV1alBCdFdGNU56UGExc2NZNW1NUWthWUQ3Mm5EcHIvelpiU0VLT0tCZmNPVWVyLzJQUE9PTGUrTzd3OEs1eTRwSHJyRGxZYUhBL1VNMUFYejRYUVBnVHgzWFF2SnVxeDk3bk1yR0dMd09KQWhXcHhPYWI3RFEyTFk3bjQrYUtmT0RFRGVjWGFzbjU4c3MxdHo4V3dWRTl6SlZTQS9ES1VwWGNRaGdhcWNJd2kvRE8wbGRWbUhLNDg5cHAwNThpSjBSdHhObEtUVUhEZVlIbk1BaTRUTHA2RHQwdHpWSXh6MTlJMkh2eHVBL21SMTNNOEthSmtsbmkrck9IZkRtbHh5cjVFcG1XdytBRHh0dTZ1QzlVVXRjMzRJVCs1K2RRRXc3NExTRDRiVmJWZ0piVmxvdVU4SVczMXl5d3hQaFJsRTY3VE43Zll6VnlNaWZVUWNlT1M5eXV5VEM2dTBXd1VsaXBtMi9nZGpJNnA0UjFZU2ZVR3pwR053K2xTY1JPWEJsNWpuUlY1NnFieFM4bWNxSERXbzIwbnpZQjMwQ0lHSTZ5UUw4VnRyN0dBVDFzZ1BLQkI1WU1EeDdtaXRVZU95MWtvbzc2ckZQaGN5b2dVWjFWcTBBeTF5ZlN0dnk0TlZjamVueVlBYUlHRndQOGdoMHZPMlVEb05QU1ZVRFp3Z2FLTUd5NWNPQitGZkxEenVoYStWL0lyZWdHQlpucVlTUGU3RVBLQVpkZWRRNko4eWd4ak9Wc1ZycDlPRWFPYjVtaWJZNUEzV1hXeStYT1pwenpKTi9GL3c0YU11MGFZWHNpZEhaWVhvaHgwVFhqWXhLQnBONUlDaVFaOWtKNmFjVDB5ZGkwakNUb3pWbTh3YTRQZHBCaWFzWFRBaHhWMWdHMDU4c2JkRkNVMVl1dzB1OU5YR09jWFora0RibHY0Uktqc3U3djQ1OTk0OUs3UEl5NjFmcktOVkdYbnU2SWEzRGZDM2xuak1zZGhEYWpiVkdic0g5bzhvZytndVU3c29ja0FkaUUwYVVZVTNNRmRWd1ZsUTlhS1hwTXlVNjJXYkRqanBGSSthcDl5VThMUGVMb255N2RQWGR5dkFSRDh5SmpWdXJyaHMxODQxYzZtNHRDYzNqeWlkZ1hjbXd0L3QrWVBHcFM0RWI5WkZXRTJNVms0SmdEMFJvV3IzeXhNYVIxUlJCUGFxRVRmekwycVNxUVhGSXpHc2FpL2l2SnJldkExcHdtaWVJVzBtWHdZR3RES3lwUjNPNElNdUN3eVNQWDRtcEhqOUVtYktUaWR0Y2tkVk1ZbmgrdWpSV083QW1lNnhKSkg4N2xUbU5xQVFmN3VTKzFMRExIa3orUk9zNHdkZUUyandwQ0dORm1oTm93TG1nbTdVK0p0a0o4ZUt5YXVvV3E5MjdFbDlGQVZHSUIvelE3MWp2ajY1RnRLYUtwL3A5bnhUSmhJekVtM0RQYmhuc1lWS0xFalUyUnhzeC9qRFc4cko2ZjN3Wm90WXFuQ2UxTHJRUWdNUE1YZ0VoMGJ6MHB1QSsvcVUxMCtQd1FFaU1aTHZMYTBQbWN4dkhiU2lHbnNtR1NObFNmbXFYS2pRd0UxLy9sd1RHS0ZOZndQc0tUTHZQODg5eVlZWjE3NzlYVHl3VFBjRGpXM0dLVGV0dVFUSHhZSUNvM3lURG1WMVlEN01zTVhkVzBYc0o1YkdmUmV0c1lrcXNBd3JuRy9saVI0emdVQW4rdzBrZlBaYWxMMnpFZ2ttU3ljR0ExZEVIVTQ5bVF3RTZqaE5ySW0vYnhyUzNUeFY0QXlXR056SGJzSG9FSHBlZ1h4T1VmeUxMZjFHMWdFN3EwQk5jd3RteFBETVg1b2JHUHFXRUFEQ0tnclJ2cGlSL3VMTTR0RzVBaGJBcXVtcFEva3FqUnRVcEQxODhkbHVJVkU3WTRKd09qWDI3cGk0VmpLU1VGRzFoWE9ESERhaGwzSTZlenc0YVhRb1B3RHdBQytPSFVNdXZnTFVUMmdjZGRuK1F6TnVDL2swTHR0YkdpN21oRGhRa2RvVElSWkk3SjlqSURoRlhGWG5rSnl2ZWU4TDNOWndLcnJjZ3lBWGs2Si8zK0JqeWt0a0VIYnRjYlkwbzNMcHBKL0dtdG5VZFRNb1pEdGtlNFhzbzBWcEI5RHkyTzR1NjVZRlljWTNOLzFOUTBLRkxidjVDYjhYNTNxYWloR3JRYjNRa3hkYXd3NFdSeTJBd1g0VTdzdW9TQVBhY1lIRzVuNUp5SHZuNmNBYUt5N2ExeHlNTXNXdkVrT25xZlRNV0hkZWM1S2UrbE1IWllrY1I5WFhRUy9yZ0VpTnprdTUvTzlaSWtjcVhrYlBZMnVWeE9YTG1jRWRjd0RXU0s1dkNqVXY1NmNrdFJHOVZmMElRc2lDbHVVaXdUM3BvQVdibVI4cTJ1MEtGcTBpVkZ3RmMwOHZxdnlMcHVkdDc1QWtwZ3dES29EVzR2NHh3OWdJNUJvb1M1S1Jqc0RaL1ZvTmRReDdHb0ZIOUhyd29EZTF6NmU3OTdETmJ3dEwvZEd5RUVnaUNBMGxpVk0waDJoZEs0NDVzZTlyVnRNWE1LcUhGQ3dQblRBVHdXQ3RHNjBZS1hsRWJJWW5ya0RHWno5aE9qYXdrZGNjT1ZLaEJFejNtam5xd3ZMbmFNVDBPM3d3WSt0cjlHM2YxY1FWVk1VdW5rQnV1dTlwbWo1clJvUzYwekZaSVZlUlpvWFhGK044cjQ5cnBvZWtxZnpoa1o4OFJFQis3Z0E2dU9kc0hQL3NWcnVpK0FhWjFLSjhrV2dCOEwxcExDSzR2NzBkQkRlZS9MUHlJK3FDeUlLaUlWWldDWFM2VnNiNWNDSzZMRGhyemk2MWhmaG51d0pvQ2NseDg0ZEhCUmNodHdENUNKeXVQRVg1SWsyaElkdTFQNDR2ZG15ZjhPamZHQXFnWmtIbnNHbWF5SW9tZzJMeU5CSVFyaXVXdjBENkhBck9pekFBV2ExT0FGTGRoaUxiSEhzUmR6Z2ZzQXBGSGwxUzlCMG5reHlCUjlNb1cyM1Z5S0U0L2lsa01FYXgvUjhwV2VONHpIV2gxVUEwcWJHRU5UZ0xWLzhQOGpSbjhQajg2N2hqTU9nZDhmWThkN1VKZkNVWGZSTWR2TFg0eVQ2aVFZdWxDTkdHYVJsc3gyc2RCbjVqNmQ4NG10SHBGRmhzbjIxWmxlcmhRTjc1NmlOUkF2UGZtekhFb1JNUGZvSG80MnpBWjg4d3lCb1NvNTVHUjQxMFFkUkpXa2F6UjNncTl3UXI1UXprK2FxWFB5RFdHVHBidFNBeHV5Nmg2Q3Uzd3d6OFovbDN3MlptSGtrVGYwL2Raa1ljK1RUYjhxYmdXbDBFRDdYMTlWbzQ1UjM2TEg4aW90dWI4M3p6Ym81YTk3TzB1OWtMbkhoWnlwZE1zRG5SSzNqZDIrcXhocmlwQ1RmaXMvRmVUb0dwdEJxRHVuYkNkYmpoU3JPSmtxd0NnUVBrSjY4d3g3K1NnN2oxRVFibk5zTVRkL1hxT1dJdmJIVmMyK1QyTEt0ZzBHVDRyMHU4aDJCelRsSHE5cHg4Y3dxZHFwRXlaRWxaZWEvVk4zT2ZZZHFGU3VGNVdpTlp1ZncySjU0b1k3d2RLZVJjbEE3QnRQczJSdml3WGpXSmlBK0w4bldtT3BhYnhhMjFTVGFZZFhFYURGUm1VQ3UwOHVIT2xETDdEdnp6c09RbksrL2JDYzRuTmpnN3UrTE15aEdtVGNkU2pMN3VKMTBpV2JkTis1SlA5MlluN2N1SmVNY24xTmM2Y0loR3cxb1NrTWhaT0JoemplY0hYNDFTaWVwWTBwcjZsTVI2WFNwdmdXb1pYMjB4Y1ZibnZhaURaY1RMSzh0STFsWnord2lmKzlaSUFkVDJEKzVqakhjRlpjRC93TnM2R1dDc3NCdHBoMk9raTNxYTlUK1ZmZzlEQmJoS3M0bVNyQUtCQStRbnJ6REh2NUtEVTRlZWlFeFN4YU5PN2hndDBQbHlwY0daWU5NSHgzN0dDU05vV1g3ZEFHU1NXcGVZbGpKbXV6QlV3VXFDS284RlQweG1zMmVUN0ViczNoQ3BJVm5qNEY4a3N6NkM0elFxZzlsT0J1SlVRODBaUi9yL0dzSzA2bk9SVWRUc3NEWVlVejBHNWtQWmhtL3lwMVp1YXlHOGEwMzVqdG5uc0x1blRoTGFvLyt4bmtKRkxSTjJHcGpjQnhsSHY5UTJwYkFQZEtLU29XZDVCVkNHb0RNSkhJUDVubWtPbEUzUC81Q3A3RTV4ZU5qdzBZQWQ3K3RCcVk2eU5NbXFlZnk5REw2TnZGNGFMSDhWUEFwNGNwNFcyZE5ZdU1zcnkwaldWblA3Q0ovNzFrZ0IxUGI1Tk5EclNXU2JXUnZXSUM3c05FcE9GdWNlMVFyU2xVWDNLMVZsdUR5RGJvbVUzS0JqVzlPREdlM2VoNE4yTTcxYlZYYnFpS1VWakpjVm42L3NRY1R3U2lsSERvclJkN1FraEw3RjJQMEZDRTM1anRubnNMdW5UaExhby8reG5rS2oxRiswSmRtL0RWbGRocC96RlJjd0dpRGpaRVBQM2VCTFRGemVkMk5UUi9nSnNKZjdxSWJETW9nWHpVMGJxRjNuVkVpZklDaWxiZEFKb3U4UlRqWGwzeEFVRndhV3R5c24ydnl3N0JlVS9Ma0RaSmZJNnpPR3crMkppaFpkOUJFL3Y3TlJUVkJiVC9USzlJbzRzUC9DRTF6RHBPLzhSTjhlRFI3dUpnTFJScmo4ZXJmbytWcFhhOUtoTzc2NzVMY3YzVy90UmpHQThHMytPbjZYa2FBSzhrUmtEZ3JOUWg5cjFickMrRHhhUURxbG0xUFo0VUkzVEZhKzJ2NHZEdi9SbHc3UERhRklWb2ZjZThaMjBoaVJwMG9yT0swME1hVWdQU0VDV1JmeS9RYWlueHovT3VoWUdnMzlwVXFhZnl4U1hFZUo4dFV3MFhmTFR0M1FYZmRPbXB4U2M2OVp6dm4rK0RKaDJKMEZKSTlQcW11M3RGc2NwWFdjb3FJTThxNU9zRndEd20zcmFxZkdUYXNiRG1VUXR4Snkrc3lyMFBQYzUzKy82V3hwY3RKN21uWVlmb3BsMzg1TDdNcmZJRjVlNGJZR3hheHFtQ3NGUXowUFpiM1Y3SDcyOVZ0RUJ3N2FvTlR1MlFRdTJIL3phbFQ3NUFWR0V4MmxmQlhYZ0tNQUNtWDE3YkdXL0ZDTFFxNnlPZ3h4MVk5aXEwZEFMdHlQSDB0YXBTMFVVOERZajcweVRwU1RQSHFjdUoxWThhSHJhenRTNitsWnFSYkZIaFRFZm5zMEkvdyt2WHE5SlczbzI2NmFzL3V1dVZuVXdTaWNKQ1d4eHpEOEh1eWtxZi9jTElDWjN2cG5UeE1OZ2tvVmJpbmNqaGdGS1RXK2NxaVg1R1V4OUN5NG1PcGpGandWSGJtOUNrQXZWTnQxVGpTZHdsWkFhNzJiN2FHemhIb3h4OFA4MDgvUEtHQmFmU205cmR1eWgvTWQxRHRLdTRYblN4RExrK0RCQUxHSGM5L0w3UnhWcEhNQ3Z6V0tiRlF5S3FGWVc1TElGNFM4VXpFbXFQR2tTeTFpOFZZTmZmdHdrRzdoM09RN3gyK3BiMzcraHFzN2xDNUNGN2Nud2M3b2tjZ2xZT3JONjQ4SWFpb1JqSEJUMTN5UWx2cXBML0JhZ0Y3TW5PejNMV3BITVlCSGhNWmxEWktRN21hTHNialAwbllCQVBLYjFTdW1zWThRY3BFZlNraUJ6YjZZd1Eza0d0bnA4cURwKzIwZXZxUlVVeGpjNW1KcGVISFlNSlhoTFcxWGNueWpWaEVjdytKbEVBUWQvSUxJNXJkTWVCaDMvK1BWTDZGb2ZGUjRhN000UmxkNW9TaTB5a2pFSnRPUStwL3Y3a0Z5WjN2K0o2YXJMMG9tSGFyRk5ZRWdxWms1aGxtT2RUam1mZmJvVXlsa3NvNHZuN3haNUpFek8zd2JPbmJERktvUDVBa3p2MWJTaHZpTlBzQmREdzF3VzVnRGpRcEszMXE2Y1BVcEpacFhROW1lemxXM1NsdktSaWJSWi9XWnBIaTUzRzBkZy9RUEJHUlBYVWVyek5OMFdDdWRpZzFZMWMveEZkV203aXFVUUJGRFFoUzRjakN4THdHUHdWaXVrb3JUU1NrSnlYYk0yakpNRzc1eFpNakNJSm9jRHlpRCs1YW92OUQrRG84cVhaaVRSb0pxNWRWSy94Z2pWVU8wMCtRSG9CQmNIUHZwbzgxcDJCUGcza3dtc3JRMEd3R3hPSFp4ajRZOEk3Wk03TzVPQndYR0l2b2NXbjNKNGNtd1pJNk9vb0w4SjRoS0hQY0Z3TVlwMmxtOCtVc2N5SEVCaWdGSVdoVEZMU3R1TFpSS25zUFlRVzBjSjd0VkJnV3lNVkFrb1B2UlBhTW04ZmkxeDFOaGpYcUQrdFYrUm9xOVJEdndhTm5qckV2RzdBQ1pTQVo0djBUVlVTWThRUnFpQUc2aHgxK1JnN1dLSkZNVHgyOGZQTUljd2U2QzhyU0JTcE51WTVQY2JTWVFZWnQ0YlF2V3FXVEJ1U2dkYjZxUklDQm0weHZpL0x3QVRSUWhlcVRjeWdhSkkwVlZOdzN6N1JramQ5TnBjV2FqT29Sd2taMnY2cTdCNHQrazBjVjhhNVVpa1FiUkFmVmNYK2RFRVFQblpXN2Y1Sm9Ha2FTT3JyL0FsYmhiL1hTNTBsTVZwTzl1T3dCcmQzT3AvUC9qOWVCMWtzVU5DL1BsNjhzRWJDL3IwakhtNDR6YU0wRUVxQ3U5Z3pXMDNPK0RySW9XZHh3eUFVd1g4cHdtbGhIRk9lTFYyWDNRbkMyUHAxbzZJaHdNdE9hcGg4VE5OQk9OSFdka0VDd1VDaWJPMmdXNHdnNjVWUzc2ejZlRzhOL3pmd0xzNmVLMGhqSXJTdGg4eHU1ajFOMWpkTnFvUTBCRDJsa2V2c205V1kwYjJDUUZhUkFYN0RMWm5BYjFvSi9XcmpjbUZoWFlyZEN5WHJ4UnRCUGk0dmJvSHZQci9wN3FCd0RRTTAxenlJajhqenpQWXR2eW96RWtFVmkxQ0RBeGsrd3VMVFNTWmNSSWUySE1iT3VWcTZqMW91WFJmdTZvTjJ3YW9IamhCV29KR1VaNDBRcWtlaXM2VnZwbTkrU1c3d0h2VkpDSFc3SEpPOVYwT3dzanlWc0EzWDREVENXazVTQ0xrc1pRVWp3ZlZlMjBYd2o4ejJKTzE3UG1HSlcxZXAvajlHQXNjSnNHS2F5WDdwUHYvRXFZaWhJb0hTUFZGRmVlOHRoeGQ1TmlBT0RpOGFhZDhDMXVZdVBZWUFoTkxPUzV3TnhZNHRLMSt3eDJ3SVV3S1g2bXVXdC95V0U3Y1lEVFBzN0xhYTY4VC9mNU9SOFBWS3NTOE10SzRLWTNwTk1JQTF3ODJEM3ZWN3ViMVVCZGkwcVlpaElvSFNQVkZGZWU4dGh4ZDVOaUFPRGk4YWFkOEMxdVl1UFlZQWhOTE9TNXdOeFk0dEsxK3d4MndJVXdLWDZtdVd0L3lXRTdjWURUUHM3TGFhNDVGbVBHRm13eTI5Ym5uem9ER2EzYlJsK0ZhTWprMGovR3hsem1qcklTTE92anZ4MGZkNzJmUWI0K0kwQURjMXcxNGUwZVRVdUlLZkZraTd3MTRBclpmclNVSXUrNWwzNjNnSCtSL2VtWXFuRWVWLzBMWkxaejVrRjR1c0RaaDkydWdHLzQ0bnQ2UGdWWHZlZHhIc3YwZUx4OTdldkhLeFpnaXBOUlJHeEs2OG5qb2hWSThMT2VGbjNMQ0xsaWk0dUprYjhxeDgxUDh0bTU4d1MzSmhENTFsZnBaOEF6ME1YWnFwRnVvblJhaWppN2RPSnlYOWpTR010ZzFHd3BtYUdvOWFMbDBYN3VxRGRzR3FCNDRRVnFDUmxHZU5FS3BIb3JPbGI2WnZma2x1OEI3MVNRaDF1eHlUdlZkRHNMSThsYkFOMStBMHdscE9VZ2k1TEdVRkk4dXZoRVdVcTZOYXo2eWt0VFRIZ1pNWm5mdW9LMGFhMm1sQ01VMFNKd2wyaVYvNkRDWDFyYzZNUWpEVU9Obk02cWdaenpScjBLQlZ2bVVWVlIreWV0UUZMSUJmQ0c2Q2ZPNVpOVHV1N1QrZzhLVEc0NkQrS0JmR2JhWTBNUHF0amc0c1lkU0cwTUlkbUZiTTRQb2NUc25Pdmp2eDBmZDcyZlFiNCtJMEFEYzF3MTRlMGVUVXVJS2ZGa2k3dzE0QXJaZnJTVUl1KzVsMzYzZ0grUi9lbVlxcDlzeHlIejNnNDVVK1hGM3lLbGdJd0ZJVGgyZHVpbnFSOWtIN2xiWG1PSWFDTzUzcTZkV083Kzc5a2FVcU81ak9DZGxIaTI4OWRjbCt2ZDlXWEZMN0RtcVlmRXpUUVRqUjFuWkJBc0ZBb216dG9GdU1JT3VWVXUrcytuaHZEZjgya0VESGVSL25aVFByd1pIWUtSemZYVlFXdzhUOUZmSnhCZmNGSkN2cGhWRzlna0JXa1FGK3d5Mlp3RzlhQ2YxcTQzSmhZVjJLM1FzbDY4VWJRVDR1TDI2Qjd6Ni82ZTZnY0EwRE5OYzhpSWdMYVFvUDVPVmJYMnl5a0ErOFJwWHpTcWdsSkYyRGZ3ajBnTTk5Sk5HQ2VPVnhSK2x3ZHlqa3NaT2hKcjA4TEZDNmdHQlIrL1M3ZTdlcFd1QjFTaFpYbXFBdnV1RWp6ZC9waWx0SEJOaGpoRVBQMXNwVUNIbTV5UkV6aFN6QmthdVBEcmFNUXJiSjNINWw0WDlnNTVkSTJtZ0d5Wng5ZmtWaWlxb1NEY1JUQnJIOSt1WjB3TXJxbVBPbElZaUVYUkY2RWJVNjFrRENQTzZWWmNOQXFxUEJHQnBEUHo5L3M1MjNRNGo5OGR0aHloRWI1OE12WGhGOHBQei82aWpQMUx0YnhORkhrWXg1bkFVbWxlRTIxZFdFdU8wNENYY3RhQU9PUGx3bVFvRDBkZnRtWWo2SUdIbm53YVpycW8zK1drNUxsaWNaNDN4MDUvTmFKaE15ZVpQNzVGdWNFUUdLQzNIa05qRnNtcGpzL2xkUnNETkNHQ0tXRGxqVms0QXJFbUwrWnUrdnFsVlVjdS90bVA2Q0hxMGVKd2dWcnJCRTFBS0x1dUFEOVFkZ2pqSndkaWoyU2pVTDZvRDg2MitMY1ozL2t0clE3M1ZqZndDV0FDb3pWK0pmOUpSbFAzSHFwaytuVmZDUERTNGluZWJPK1Y0ZkUvWFdsTUhMZkI0aHY1WnRVWXRhM3VYN3E1eC90dzJZVVB6R1hDNDN4QUFWbmVOSjZlNjBGUTNkdHVtblRlZU5sQVpaMnp4UzQ1VnBBVUVSZWxHc1lCYUgvRG45QWVqTW16djdmR0h3SVM4UDk5ZFdqYWo1dUJPM2ZHa2VYVWw2QWtNUVpGbHF4cW1pK3ZrWnpsbkZKQ1lWWXN2NmJuQzFBRGxpZXl4VVpzUWt5MDhyNGVNQyttdGE3RUliNUhvSU4wek1UeUFJUzRqTnVwOFlGRzd4L2NmWXROZ2RCM2FxbmNaWDFrNGFNaC9FMkdpRnZnNVJVYWRBUUczN0wwd1lvSlk0RXdONUdBSEh5cmtVZ3B0ZndqVXk1Q1g4YTJYT2RuMHVpa1RuQzI3SWhXMjNDQjJ6TFVXV3JkQ1B2RXQ1bEJNejA0dlZVRWJWTWJDV3ZNeTVaYis3bUxVUUZveDVOTVJ3TVdHT3U2RDBBL3RBZVczV3UrSEFiQXpKbm5xWWFGNERTQ1o4WkhQOGZoQkFsKzduN0dPNDVXZG51S05mYUtVZDFJUzlGVHM3aHJqaGZ5ampMUllYMTczYlkzQXpJUnE0SVMySzA1c0xaOG1DbmN3SlYwNWpNbkJBZmk5MzM0d1ZTZHR3djdDaWlHVHNzczNHaEtEb2JUNnlqSnlQMXhsNWhiSVQ5SUNqeGc3dDZsWG12SGtNdG9vd1QyR1BuSkNkb1ZnTC81Y05LdUE3WURHQmVKSjNpZHcveG0yN1VyWHNoNEkxMDdzM3RsU0ljQmhVWEQrUXlYY0U5b0R3NUZBem1BT0ZMRThINXhibVN1cFMya3AxK2pzVGtVNjdneWpQSmsvRUxBMzRhQnFLdjQ2SGYzS2E4TUN6c0hTWTZzaDZ4cjFaQi9jSjJOMklBU0xJT0xmQXFSbk85MUVyUGhCcnAzejkzcEpyWUxwcURyYWVENXZUck1FL3dTSHJTczd2RjNwQ2FwT3ZUOWNYdURadDVYMWVRLytyM1lDS2M1WHVOMmRKTmVOTFJJRGxtY0lpNVFjNStSVVhybGRwMkZiYnh3b0F5OWtXc0QwRldCVWhLWHBmcDlwTUE3VFdRWHBweXp5YVJoOWZXK0lHUnN3SGNCaG9yN0RIWnp1RFB5bUNSUWtZeVpWL05zM1QrN0g2SmpWK2NKNEU1RWN6ZDU2cDIyRzk2UWp6azFMLzRmTkJ1RUtCUHJLZUN0TmZYWi9EVHB1aHp5MmtXZVZrMmZCK0hycmppYVcwbjI4WStDS3B2bWRtWDBxN3QzN2NnelFadnoxcHd6TE9TY1llVFR2a3kwb09VMkwxTVNFYmRFSlM0Ym1YYzdPN2tDU0RmZGN1NWhKUHR5ZitOK09XNG1ta3dqQW4zK2YrNWVGdDFRZ3RQd012V2F3Vy9XdjlWNU4rNncwZ1ZKQ28yd1hTVE1yL0dZMVNyWUlOY09nQjRVNmJoU3IyNjNKR2lPZ3oyajU0U0tLWlVvSTRUVlROZ2tvaG5vRHFUbWduMjk5OHoxUTUzL2ZERGdud3BTRGQ2d3B6QVVrRE9ZdkRFWlJJZ2tVUm1MOHdzbU9keG8zY0hiUWRHeWtWTnRzd1VhZUM0Q0xoSlR0QzhEajdUcHc0Si9pOStNeXNJQnFCVmR4akhISk1EYlRSUkl6eEo3Ui9GZkswR3hWVWVkbk1sb1N4YTJ1Wm5raW1xQnJSWmh1N0tPTlV3eGNNY2JDbHUra1RhUGpCMFV3dlFiOHloaGkrRXd6L0FlRUgxOFF2YzhOVVBPVCtaZllDb1J0RXpuN3VjWUMyL3JLbFdEYjRNcnJHczFsSkc2ZkNUbWdJaEZvU2JNZTRnK1FSTUUvSlJQL210bDFlWUdjcWR3cWxFT2tGSFU1Y3o4RStpQ3liK0tmaTgvWU5zVEJlb3ZpMzgwMzRKNk9KT3Qwa2dKblIxNkd5bnQxWXFiQ05zUVV4WXFDMERQTDhodHp6amY1ZzBoT3JpUHpLMTRpS3AzdFljN0wrM1lVV21Fci9HaUQ4OUFyWGVLdnBJdUNlME41MitVTEpWMng3aG1PVTU2WWtoYlNNN21yazdjaVQ3MW42T0x1NE9FQ08wVmQ0UTdZWDhyWG4xNjVtcnZYbWdEN3h1bC9mdEdmRXZZWCtlS24vT0V0UVZ4QVRlMlF6dDZVbFdsdmxhZ2t0a0x1MVUrZHJocnFUdUJqYmxjakJEZGg3R3UzaWx1VmhwTCszc2pGOEJ6RnN1S1RUaHllWWlmU296OEpMcXZKUzZUTTVzdzVCUmRHajNwR1ZKV3Q4T204QWJCZ2NyOGt3VjBNbTRsdEZkWGZnSkZYUVpCekdsRXY1eE5qR2JEZVRmVmpjM3YySFR3akRtWi9WWElGV0NFeStGUmtWcUhEMGx6R0tPbGlLbTJ2TUpJd2ZUWHJDRWN5SDQyNEh0MXNISkkrVDY4Z0xOcXhjQ1JpeHZIaVZHMkJyQktzZDZpOVpjcDVyQ3dYZGlqbElCZzMyZDkvSkFjQStucEx1U05FdzhjNXNiNFdmL0NLVC8rTEZiSE1XQVR2ditKMi9uVndaMmc0RXJsNWl2L1VsMjY4VEVMaGlxZHRjc3RDYXFtUEt4dHFnUC96NEVrdHRYc0ovZFJVcjlaRDdteGhTbjFwSFdYeCtBOWVZbHllK3VKY0djbWZmd280UUw3S2VmNFRFT2p4THdJTzdpSzRHMUdhNlFUTTRLT2V1aUdKK3pxOTdqV21oL3RNNW5yWFhkeVF4cmEzdXFkYXl5bk52eHpsMVJFVXhrRFpZUFVEanZmZEh0ajNrZ0h0bHY0cGZQZndmc29hMDFiWmhteDdGU3F5VFpieHdYWWR3MFoyVWRObDFLM3plQnZDK0VkM3o1clF6Q2ZYZUNTd2g4MEJ3TFkxYUZKdU15S3BNbGM3U2hidTM4Z0pXRVlwRXdkclg3Y1VkcnAybk16RXJiV25XMHdLc1lXWEl4YWgyS3BWb2JUOVBaOVY5Z2JSTEFKUGd5VTNCYmZEV1h1RU5FZ2FXTkJ2NXZuL3hsd3hYcGR2QnZaQ0pTbnF4Qm1pZjZ1M2E5ZDdaWjRkTUpiMXduRkEyYy8xeHphc3NLdk9yeElaaTJpRnA5SjRJMCtTWklIL1Bua3FRNG0wejBLUFJBWWxBQU4wbGJVSC9Jb3BuVXFROUgyOEVUQjdndFMya0M5cjRLWFVwemRDalJrQm8wanRqWjJqTHVqQzRlU2lDR1VsY0drT3RLc2J4bkVtRlR2ejhpVE1RRTdscFNwdjRiOXFBOHBHQ29YWk00bjlIVFRxVmdDMkNjeVhBcG9pRnRmbzNuZFFyT2pOdzN4ME9MeUUxVy83Z3ZESW53Y3hBbXpvRUkyOEtvdktCN2NOWFZBb21PSGY0K0RLMS95NFRueUpLdkFFLzBGZDRnRW1yK0dScm9oTzNRZWVIaGR0NmZsQXhKY0IxYXBidkJBajhFOUs5Z0hvMzJhVlZ2cFNpYldTeFpmZWlHcGc2MzFCbDJpN0xJd1hUZWhXeWF1Q29ZQ0kvQS9DdFo4Vm5HSUZES2VyZXNtZXdjWjRPL0dLYjR1aUJNK1E0a295SWRFS2c3VWc5cWFkY0NFdFhZMG1rNTZQTVpQZDZkb0EwZ3VqUTBwRDduYmUzQzRla0JqR1l1NzlsUlREbjFMTnVJMkczdW45VFFtYWJJczk2VkIrMjdKMTM1S3lCdEpWTTNIN1JyU1Q3Z3lQemc1cnlrR0pXVEs0TXZoLzhOY1h5a24rUXdjd3dBWWNYZjlGOWE3U05uUWpBSXI4bTJremU0NFZrQUtONEpUL1dnZEZOb3pKbVAxa1ZrS2gvZDREZmdCdnEwU0tCMjBWbmdNdEtqU1dMa01TWlErcGVqQWt2V1ZYUXFEa2hOU1FvY1RCb1hJZWVraXJDaytmMU1ya3R2WjFiQ0NzYm1Gc1gxdGMvVG9xN0tWVmJQeVlCKzNNRWE4T2prUWlUOXlVU2Z5ZEExRWFBVE1ZMVVRZHNIM3hZanFxSGxLc0J5blNlUGxuSEVJcEF5NG1Pc0MzbXhwb0txWklLQVp4MHcxaXl1YThET1RNUTJXbG1zMnRZak5EeStTNmR2QW5qQy82VVhUSTNKWUxUcnVwTDhEbTR0dGtTUmM0QmdjUDk5NkFaa2VLMEd5Q1gyN3M4ZUJCekxvK2NDRnNmbzlCWFdneUEyNm85cnIvYVlVSTNpcTRyTEk1aWNnYW9MR0NxN0xSMjQ5VlNVV2tUbmNjc1pCaml2dHBkekM1K0JldU1CMFluNXU1M3Z2cHE0bVpNZUEzVUFvT1l1Rzh0U1RJTkp2aXRxSWVRZFkyMm5td0RKN09HSTVDYWk3WTJXa3lVQnpiZ0FLclBTSGZxbXpSQzRXTy9ERHV3bWg1Y252Qys1STdSblRZZUZWL2wrdXUwVU43Y3p6Uk9ENFhVMGxpa2FjWDdBYjcyYTFjVllHalVuZ1VxeFJRNHQrOGZ2ditONFFOWmhnL0c0UHZXeGtVdWNqVnRlRnExUGcyVndrRWZrR3lKS2x5ckM2Q0pBU0JidlFDK2VhWEtuR0dsVG42Y1ZsOWhSeGhHM1R6K3BOdzR5ZGZ0Q0JnUlFLc1NUUTNZTDBydmsyK2F2U2E5dDBIK2VpZEtSRi91Nkc3NFBXY0loQU5aVlZtN1NFMDBhVjkvWHRrRFdZRVJpOGl3Ry9rendLY3VuVVFoWFpxUEFsTVE5TGkyejdGYWhnMm1JUDkyZGtWcTFrT2lFbEZEK1A4UFJJRjlUUHdGSElCVWRQOEhCc1Zrc3ZYZnVFV3JVeTRuWVpMOHpMa28ySkF0WVFxbzlJTFAwbGRWZTBSNk5ZNWRPMVZ0MEhMeEZUSnloQ3A4bkc2NUhuczF0Q3o1Y3NnSk9qc0FmUk1XemlNUUVZZi94N3RzVUpia1pBcmpXT0c5Z2tCV2tRRit3eTJad0c5YUNmMXI4NkJlVUIrNXZzeG1OSko2Q2E3V09zbVhoNDdzalBKcmlwaWNsditNOXhIcVJBRDZyc0xYblpvMExEMkV1bFJKUmpGK3F4OEtGRk53OUxYODVkZ05aRlYzSElZZS9rR0tmRFova25UaXBGMnBHaXRWY2kzK0ZyM2dwemJCOU55MGhWU3YrVnByVkVXTDlzRGxKWkJmaXhBL2V5a3JuTnhKZzc1cUg0cHBqQTg1cWdaZVIyVlhjem1LSk55enJ5UjdDUS9Ha3NWd1ZEZmpEMlkyZFpDMlZubjVzQWhiWE93UHc1cS9USkhxVnhGTUFQZHNEeDJTdmhMRHYwQlVGYk1QSFV2ZkxDeWgyUmphaW1xbFoyRWJuOWVvUUdXWHR0MmN2QzMxZzRJT3IyNTdKdVBUODhWZGdIVnpSbHlmMzVJMXNWVmdPS2FXNEk3UUFrYVNPdGRWT2g4UG1tNkk3TW96WXNTVlhGTy9PTHpqVmJ4THp4V003WGN3ME5VVDdUSXM2VU12c08vUE93NUNjcjc5c0p6aWRsQ2Q4bngwQnVla3dLWVdST0Zsck4reDJjVW9KNks5Ry9NZW9QMHd0TzFMazV3L1RhbVZPRTBrRmpuZnIvUTVibCtldVFpRUozQTF1U24xMUdTenAyaVZTbjJYNk9LOTBSZkVxamtDL3JJWTFvVlVtb1J1UFdMUDNPbXVTN215aUpFVTR5MjJTRmswZVZUek00Y3MrNVJpL3ZxR05DNm1YdlFVcWZWeUphTFJQWUVyQkZXOHEwRGs2My8wbDBiWlZVZUdJQ2xRa1RnVmNaVGZJTjExaXB0UytDcEYxTGlnSW5IYVR0ZG1ubGJjZmFsS1dlTGFoQklDUm5JREplQnV6VVhtbWt1L29GU2hrMHhaU3BVKzdYaXNyTnhLOWQwVVJZanhBbVJURk1scnd0eUZOQ2JCY0EzRVNiTFNVZDhqOWhSakdaODFQaUdYU2J3MVBKeEN3ZFN3L0VFUC9OamhQZkkwODhnbGNRTzEvQ2cxQU4yQjk5emZvb0RSN1d0VkhSOEdNc0xjWTRjZkFJWmN0VTRYdWZsbXMydFlqTkR5K1M2ZHZBbmpDLzZVWFRJM0pZTFRydXBMOERtNHR0a1NRRFlPbmtJbFNHNzVYOW1TNUppN01BaGVpTG4zZ25WQXNseTgvQ1Rzb3RsdjQ5Z2VHajlGcG1qMTZVeVlpeFFFbS9Zb1VGWXM1OEVla0sxcThTL09Ta0d5RFlLeEZ2Z09RaGF2dnl5ZGp1Q2twYjVtOHZRM3FHRGxtaGdlSVo0RjdpWW85VDQ2OUthSFVyWDk3RVFPc0pJZ0FCY1lGNEhUOC96a1FXcEZ1UEpQVjkreGdrTzY3Tm5iamFvTWFGcGF3WmpXVFdGbmhNOXZNbEN4R1greS9TRld0U0xkaDlOT2htTE1XdDduM3RvK2E3OXlIdmRQQi96V2UzTnlKZ21kN0dVQzEzTHdjVXlwQjhkUWJmSXlLSmtHeHZlZkZwTU5jTXF3SG12VGM0SWVVYTM4TnBNUCtNS1orV0dUeURiaGNYMDVwaXQxajdZSE92ZzE5M3RmVmJCWE5QTDZyOGk2Ym5iZStRSktZTUF4dnJtc2pUSGJxTVkybVlKVXBqc0NIVFZMYytVdGtqWXQ5RkVqRnkraUwvUEdFOHBmVXplbURuano5SDdtaDVVV3VBRHU2KzhaTStDcjhZK1N2bkRidEtmK2FOVGF2ZUQyQUp6QmhaTWhha2lScStveXdlT091OWFJZjd2dWFId3A5YXdtNWdjYnV3d0I0dTh6cThUcFpUTkFnZDNYTGlXU1hLK3VpNUZsWlQ4R1JTeFM4RDYzVmxCWm1Xa2RITC9HSGp4WmRyNXRNYjVINXVtamsrOW1GcDF5bjMzczBMWkc0U2Y2bEtiMzdJK1F0UHYycXJiV2dEQ2RnMkthSHljZjJsU2xCYXRsWmlkVklqT1hFcXh0dCthbXVZWVR0SWdFSjZoSVVvaGVJYkdNMjIyUitnRS83Y0VlQWJ4ZkE5QnoxRzl5OG93aFB6azZ2RkxvVTYzamdRTnFMeHN5d01LWnpEdGNyY2Z6dHpRMk8vNEdhakhUNGVmVDg4aDZ4TGlCQlBMdzg4TE5NSlhYaXAyMFZSUytSdmp1V05lcW1VdWE5T0psWnZ5L2E2OStveWFneEZvMloyNTZGN1N0TUFORFBER2lxQ2JmMVVHR2kwNDNtM044YWlnSEl6QlE4UXoxNTkxSEhhc1hWU1pyZXpjRnhVNnRuZlczQnRVMEVTcWY5TmJHTGt4NytQWmtDZVd6T0xvZ2V6RXVJNGpLYW5GclhyZ3ZTZXhmNGV3U3lwc2taWkUwdWVVVXdad1B0aVkyWFpXRVZla01jRGZJQXVVQ0NrR2J0WG9XZWNQWHQ3SmNuaSt4Yyt2UndCUHpXVEE5bWxIL0pMaTBwdmZuSjRDS0RHWlpWMTd2dXZJNHMvTDBJWlg2YWIxd25HUVlhbDRqQVA1aUxNQStlWCtKMVBpY1A1aWs2Rmg0c3h6SVorb0FDeXd5WW0wZGRFZTc5bDZYMVpVUlc3L3lBekQ1UFhDYjRoYkc3SjRBYmVZY3REQkxxTFQ2a29Td2Q3YVFLZ2VnVEhEalBDOS9WV3BYaHRKZXUzSldNOGFZaVgxbFVJSGUwUEY4bXZGUmo5Q1VZeC9SMVNiZWdtVjhzd0VLQzYxVnpHdk9TTVFYdmVsMDdaWCt3dVFxaWY5NEZsL2E3RngvL1dReVlxTnp2KzlQbTN4Y2ZJZTJBWU5OQURMT25JaXBjdDBqNTlhTXFWM1dxNW5tdTZHM3R5WXNNaUV4Q1pzTkVXQ2tMS1JRU1Z0ckhCNm5RUE82Yk11VmgydW1HYjNLVnVCTVZsclNGV2J2MkRXbjl5UjltcFVpWEx1QUhVTjU3VmlUZE9qYVI5WFFXaEVjWHY3RWVlQlV0eXdRbHNRb0pQNE0wcUpNcTNOU0dlaWpSVWROVmtxOHo5WDEzSG9lbVdvWnR3TVlEdVF6aHZkWVhZTmk0ZEJ1RTlsL0hkZ3UyY1BpVnZudytZK1k2MVVTdkNYUFdQeGVKcGREWGNMZTZUckhtK3YwRWtrOE9VRitydE5TczlZS2MyVnR4N2o5ajlLRlF2SnY1bFExeEIySE0vaUpXUytiUjM3Ri9VY2VadUc0RDBaa3N5TFdmMDd6RVRROGZqMStnM2hiazYzV3lvTXZkOTAyaVcxOUxPWTJxbVJyUUFwbEdzU0xYTDhodHRqVGtjYXZ5c3laMmRDMW1GbVExdXpSUXd0UXpxUTNEUUxKZVI0RzFHdGxxUG9BckJxZTU3SkZuNmFwUzhVNnlLSDRuK0VzcWljZVgxNjJDSGg2eWVHQWF6ajdWNVkyWUVyQm9LdklLRWRQOHlsZnd6RG43bnNTVXlMMDVGK3Y1S044ajhTK2xkemJxaXpNUnJOdEVtOXhiM0hqY2VTR2l5dTArWjVrVVVhWkNYRW50SnlJWUdwV3dTczlpV0cwRTA5NFRCUzlDalVDSk1pRHFjWXFPa0RYRXhaWGlieXRsWXd4REJ0eFh6V0FjUzQ3ZUNld0dwYVdQL1V5STV5VU15K29JRTVmMHBoSnVQWEVleXpSbldkWWhvKzgzc3VhVncwSHpReWU2U2poUEptTUhsYm5UV0M1dFNCNld3OUp3MUs4OTJHZnVoVGo3VW1XNy8xclhSdTRrb1VVQ3hGWGVkSnFUQ2U0QmpQZmZUTjJINERQRWxmZXpXMDNLYVoxYllPOE9JT3FYZGFQNVUyV0FqNmpJcDJveXJLSmw4VDlkRnZFbVlHUWhKQTFBMDV3bkJUclJnOUNWOEZFdDNxV2puQytTS0R5NlFIMmo3Wm1tbW1hRGorcXkrcmhXTFg0RDVnVkdRS2FTQzV0SUZWM0RiRlRId2E5SURYemFrcWlLOEpMcmdPQzlKRG53a1hYa25zRVNCblJia1VobzBzVGZWemxLSzdGNmk1MiswNWFrdTV5eHZUK1RtR0I4SG9ndFZzN0Rwc2t0RGx1QXpOSlN2bWE0NFpiYzVvOFVESlZSNFlnS1ZDUk9CVnhsTjhnM1hXS20xTDRLa1hVdUtBaWNkcE8xMmFlVnR4L0NhaVdHNDdKc28wbjhQY1VkUDhxVWpKMzBDd2ZnZ3hvTmVESWNncFF6SDRIZ1Y1NW0vUmx3V3cvSlJoV1FmeTNkd1F3bDV6Uy9BTUJZN01XOStqcjVCQmJpZ3lVRlE5enpvcGluUFJqR0hLNlRzc1p3UHhBdERIVkZmYiszUTN4WE1FZVBCNSthdDFZQ1NkSDVUaWJkYjRxQWhqWHQ3UFd2NmdQRlFuN0VpUnB0RDBDSWxoQVBtZWUxZFBxSnhlR3dWUDZhY04rSjNQMjl3RHN6a2liUUlnZWdldDdlZ2NwMTh0MndaMUNhcnBzU1RTZ2ZhTlhKVnRDdkd6dkF6VXg5ZkNaYXoxb0pLaCtyTjkvWW5ZUklMQkZkWExKVjJPbWZML0xZQTUway9xdmdFMlZJK3duNTI5bUpKUXRKSWVqY0FJMGEzVXQ5SldFTW1tMGdpbWJvNU1ZRitYU3lteURvWGVrQnovWDdTazhIUXNHVytLbGFkU1VRSURMMlQ5VHovNktaMFNGcm9kaFZ6REpBejdSanJMczQyOEtZUjNPOWtTWG56ME83aUxWallUM1crd2NFUnczY1pSUTAzTlo4T2l5SXJ1bWYzU2x1YllscXNVSmdsbS84QVhybi9OWFFrS2JWS0FjbWxiZ1RGWmEwaFZtNzlnMXAvY2tmWm02czArTy82R3hMR3BmMDhxME1EOFJpTm5mTmxvbHYveCt0RVZOV2VlUkttRmpVKys0dVoyZnptNFR4TkdYb2lDSE5jMnIzNjMyRlBSa3FvdE9LaXZwa2dvQm5IVERXTEs1cndNNU14RFphV2F6YTFpTTBQTDVMcDI4Q2VNTC9wQUFxczlJZCtxYk5FTGhZNzhNTzdDVFpwRmhjbEUvbDgyR25rZXlxY2xxbVlTaE56M2djL0I1RmZ4S2VhbkIxZW5QU0xhSlNkMkx3WHI0TXVxWW5iaHI5aWhRVml6bndSNlFyV3J4TDg1S1FiSU5nckVXK0E1Q0ZxKy9MSjJPNEtxampZUGJheXpCTkVzOW9iK3JvYUxzT3lpUGhEb0JLK1IrYXM0c3UxaDNLek9yMnZUZjZJczVPelYreGdRTkJEdWFmQXQzS0lpWjBDNzZ1NjZJTXk4Ny80ZEpYL28yWmttNDZlQ3E2ZjhmMEdtVXVXeFNTR0FEak9ITGpEbllIWTdudG5KN01uUGNUV2UzK0pjZUpSNENrbXpTT2xiUUFkcEZ0SWhJRHZGS04raUlrVzdmclhzOUVuazVZRnVlc1o4MjNXMXFZV3pkRzY3SW5ydWxBZEtPWW82RGFDSmtKbGpOZVVTNlhXVzJMQjl3WFR6WnlOZ1N3eE8xN1ZjNjQ0Q1AxTm5iVDNNRHkxVS9rR1hKdWlCMjAzWG80alg0SmtTa3lwSW0wUmcwaHlPeFpKYU9TM1dBdDVBaFhvN1Z1QUNSbEdlTkVLcEhvck9sYjZadmZrbHRqb3IxWENhckhXWVphWnhLOEV4Q1ltQnI1TENmR3A0cEtyMDRhK0luVTVNRUY5RXpiZ2F2US96VXh5TW9YazdvNnM0a1krYU1HanB3eWdSSXpDUFQ5NTF6eXZsZCtPYW9wemJqdVNlZFp4VHVVbUlhdlNONThIWk1pL2VyOGR5Qis4OUErYkJtbU1lQ2puUFlLSkVlK0JTZStvbEo2QktVNlFIUGdUSVRxbWt2WGZhNTVHS0JnTU9NaG5OTGtpUmdhOWFyRTdqbHNGbFVHTnhYS0krRWFVYUxYQ0sxTG5LY0g3WUZIUVJXZUgwc1Z3QWlLZThzNklxRWVYYWVGb21ob1RUNUovYjFvL0N2TGZmR0Y3bUdPMUw0S2tYVXVLQWljZHBPMTJhZVZ0dlpnNEYyU1gzOW1wVC9ISXdya3p2Q0ZvWWFSWGFIR0VTUWJQUDdBZThFTVJKcjlUemlhWjdKWE82alRlNDV3aWtwb1JYMjNpelRBZVJUYittL1gxSHdPZnNrQ3pmaW0wdmJqd21YRmhtYmpPdThCTDRZNVhsOUVhd245Rjd5dHZ6UzUxbmZrTkJTSWV2OVBVNjRyY2REK3ErQVRaVWo3Q2ZuYjJZa2xDMGtqcTJLZW9iNkpxS2JIYmpzTG9HK3FhWnJlemNGeFU2dG5mVzNCdFUwRVNxYlBjd2RoWlo0clBFbXJ5UW5aUW04bnRNNG9qcEV4dUlTSWRsMzNGWFAvT0x0MmVLUFNRRnJvWVhBbW15V2FKaXczZHk2bVQrWi9hNWhCWkZjSHlNZVpRVlBBS0ZiODhEbW1veEsyMWdaenRjamxVNkp6QVd4MzhQQUdzNzJML2RyakZ3cGkvVnROdkQrcHlIUXNaclJoSXZXRFh3TG1YN3VMQmI2YlFZQ2tUa0crWERZbWgrZ01Gdnh0Uy9nRWEwa2NUZTRmY09SSFhSSHdnL1J3M0dyUmY2ejVmTm9DTmhjNjlOWTdneTRaZmQzWksvNGtNc01PMXMweGhPRnI2NWdEUC9WMjI5SU1TTkw5US9SNFl5eCtZMEY2dldxL3F0aVFQbUVTSEJFZzhMNnRhY0trcjg3VUpuUGlMT3RzcjhMZEx1Y0o5L3lnb1h5Rld0bnBwWElXcG5PR3o2dk5VZEt5QVhzVTM5eHRuNGh3ZXhuSGcxcnBuNWticUVxQ3cwL3NHT1Q3UXluZjBvVWd6N202WmladGx0RDNVVUJZdEdjMXFxeFN0VExBVXRVTGZHeWJZaDhNcS9vZ3d0TGdTbGp5alNxS1dWWU41TGMyMURNdzdXRHRxUEl1aGE0eTVtWTF0RmhaRDc0a3hSOUlKL3g0VjAzaWxURGpZTlJuYkhUb0xTeUpDdUpLYmZ0UlN5U0xXazJscjhXMTZPSmphTE5MN1d5NzNpOTgwYmVCQTRCaUhTbGVQWUhFWmZCcVpNQm5vMUU2My96LzVyVWcwakJOYWpETnU3NlZ3VzZ3WHVTcTUyRW1mdmdXNnkvTTJXeWJhWTR3NmFtb3Z4NGMrSWg2bFZjUGV0T2JXNHUxeXdEc0tuRXNTU0J1b1RlTjNHMWRaUDVrR1Y0ZzBNWEhVa2pud0RkZ1BBT0tTeThGWE5MVTQ3bFFVN29nbk9mQ0VEYTVjejNwbTdETi9yQ1R3MXBBTXF5MnJKSFcySXdtTVdVNFlFa2lGYklIa3F6YXlKV1M5cGIvdmZTOXF6ZlhUZEg4anpPamhaUzQ5ZXM2NGhnbzhzblUrbXQzWHgvMFAzRWQ5ZG1kdUhvdHJ6QmtFdGtUUzhKKzNVSXZsUG1ZTlZHZnZ2L3JuVk50OFRMSTJWdTBZaFBadFBPajVFRTh2RHp3czB3bGRlS25iUlZGTDVEWlZDV0J3Z3YxdTRXNklLTDJCZXI1TjJZU3lDMkplMjRMR09jSm9HN2txdFdDNm9ZSVRmVkY4Tk1pMGJSbE5xNllURzNTczRFUkxaeGVHNHJUS01iRk1BS2s2ODUrcUVkdzJTalEydG85NVZjNW81K0gwRm9iTnp1U09jc1NVNXBlY3h3c0R5YWhuY2NXelR4Q1FGL0RwT1RubnNxcjlMVUV2V0VnbzlGeW9PYmlZRDJqd3NGR3U4UnpmUTI4eWh3Qmp4eHJ0Z1dERGgxcS9UNWxZWjlkSktnL0VGNDI0SFM3Q2pucEJtaTBVTDlLS0VTYzI5ZGtmc0dERnQ0QlZUNHg1N2pkdStIc0FlR3RtRHBWRkovUjI3bEVWcmNrV05Ydlp4QjMrQjFLeVJtbWNQNjBUcndSbk4yOEY5ZGo3SWY4d3hkNEwyVm10OTRSZVBsQ0syeFhoSnpXR1B2VnFwQjlSMmticHJxZ0docG05VzdOVEpoTlVMWm1tYTZjOEFCdFJ6U3J6U1FaWS9GMmhjWS9SWlZRbUsyUUZaMUdUQ1ZTNXVraUF4T3VKK0NXQzdBZ2NZVkkxVDRWYzFUMmsrWEVxVzZDZDFJSkNxaFVQTk83aUVkUFVDSXdOM1NXL1pZTVM1bUw0TUNNRFllUEZsMnZtMHh2a2ZtNmFPVDcyWVduWEtmZmV6UXRrYmhKL3FVcHZmc2hPWlNvckNEMCsrUnFKQ3N5SEh3MFNTRFJRdEplQlU0QnpXTEJNeklNQXRScU9TUmlkcmlxR29PazdFRGxwZ0p4L0JmQXF3WW1WdzZxcS9NU2FRZjdxNWlqb05vSW1RbVdNMTVSTHBkWmJZbHJUbktHZDRMWTVqZHdjbDY5YVQ0YzB5aFpBbG41RVpDOU04SVQ5OGp5ZEpiK2ViSktad2NwQ3RCSnhoWUs5WTRSRGt3a1djTTBubXRaWDB2alBVbFRYTTJjNWVoNGJjc1Y0VE1xeXh2bTdQS05Lb3BaVmcza3R6YlVNekR0WU8rTUxLNFBPdytlZjZKSVphdjd3TlBETHhKam5iSWFYaS8vb1NkR1RpcmM3QmRsRUlFdEY5UVpMMkNVSXVkTklQT1hUdFZiZEJ5OFJVeWNvUXFmSnh1c1R3OFgyU09XdGs2akhobWtkZHQ2WWhHcmJOY2Z0aHdITWNzOHFVbmhSeTNXcDVFNkxRQklWM2ZvUWxWSzNVTDZQU3pJODBiUWhLdXkyZ0FyVlBSVTdhU0lSSzJ2ZGlaYWZKb2hyd3ltU3l4NW5XZDdhRldCRzBodFpMdHVJUncwSk9YVFprUEdveHc5MzdEWVpLYUVUYnozTXNUMVpodUI0TlNvRTRpV1BqelhqV3NpeVpGVlRFaGUyWnNnSUJmd0hoOVY3cDh5RkNUNnRQVUJWNEI1Lysva0ZpUFpsWHBIVXpKditjYk9wVmpCQmZSTTI0R3IwUDgxTWNqS0Y1TzZPck9KR1BtakJvNmNNb0VTTXdqMC9qbGNVZnBjSGNvNUxHVG9TYTlQQ3hRYmJkRStpQ0tRanYwaVVpbkVRTFlVMk85MjVRenY1Q3VETG9WckdBeHRqeXZVY010aEZsZFRrSGJaclVxRW1oUWE5YXJFN2psc0ZsVUdOeFhLSStFYVVhTFhDSzFMbktjSDdZRkhRUldlSE5lYzc1TXVLS2dpKzFUejdjWDFneXk1SWFWc0FnYTMwODZUcTRicnFpWHZaWUFXWGZ3V1FtbWZBbEkrQk5jZzJnOHhUTzJJNSt1TnZsNlEyQytvMkJMb29GQXJPemZiK3k3UXRtRUxLb0tqRUxGU2M1djZXQUh6WDFZVnhrVENla3FBOXFINUIvU2ZtVXB5M3d5UlBOQmVYWWRFSTIwazZwYnZVTlFhYXRWaUhYeE1GL1FHMVBYaDRzZXpjNHRjSnlhQldYNUpZUWlTN2w2UlNNbkJ4bEQrcStBVFpVajdDZm5iMllrbEMwa2pxMktlb2I2SnFLYkhianNMb0crcWFacmV6Y0Z4VTZ0bmZXM0J0VTBFU3FiUGN3ZGhaWjRyUEVtcnlRblpRbThudE00b2pwRXh1SVNJZGwzM0ZYUC9PTHQyZUtQU1FGcm9ZWEFtbXlXYUppdzNkeTZtVCtaL2E1aEJaRmNIeU1lWlFWUEFLRmI4OERtbW94SzIxZ1p6dGNqbFU2SnpBV3gzOFBBR3M3MkwvZHJqRndwaS9WdE52RCtweUhRc1pyUmlESHhEcTRGeE13Z2FYOTk5cjdNdjBtTFgrV0o0aGVrWkNsa2xSWGdjZUNMYWtPN3ZVNmJmVGVPdEMwak4rRXNjSWMxemF2ZnJmWVU5R1NxaTA0cUsrbVNDZ0djZE1OWXNybXZBemt6RU5scFpyTnJXSXpROHZrdW5id0o0d3YrbEYweU55V0MwNjdxUy9BNXVMYlpFazF0dkZtQXRROGVtc2ZoZUViMk0venYrLzh4eHcrQ1RKblc5TDIrYVF5Z1liL3RmaTEzWmQzMlZjWnRaTnlaMzBSWkpwZzA3U2daMFU0MDVLUWRHbnI3Q0N0N3l6Mkc5aUUwNHlhRkcvK25CVWVHSUNsUWtUZ1ZjWlRmSU4xMWlwZmtIWUhrS0hLN0luQ0h4aTB5UVh0R0NXb09VMWFDeGlHVVdNVjN1azhlZ2JqakFyNzJUekpRY1E1eHlkN2E5QnFYY2lQZkhIT0cwZXNrREEvWWN3MVRSVUhGSENzaHJJZ2Q4aGdYRUs0MnZhc004d3l6ME5OakJXUW5kZXZnNkJHWm5wZHMxNkFkSEJ2amU5VGt5YldMM1U1cmdwUzRLWWhNVUdyTU9QT2owaFJFK0VPRFVKL2RCRVRsQ1VqY0RhOEpxMHlUby9jRWYrT2QzYXo3MG5hUk5xK3R3R2wwUENKN3R0amNFS1JHSEdVQzEzTHdjVXlwQjhkUWJmSXlLSnpwUXkrdzc4ODdEa0p5dnYyd25PSnpuaHpNaGpoWi9TNnFrRnFxZEpBTm5PYzlpamFlblpsTmMvdHJkdndkWHQyWXkycmFXa0dSa1huWmNSdDNMM0ZJb0VGTjEvNGlWb2U3Rk9FNTQrOTdjY1NzMFNBNEppT2tCMUhPZExEZVlYR0VYTVhFMzFudWNkNm1ka25GVy9XR0NWZkl4NCtudTQrT0NoQ2ZLcmRkb2VnSlpDODVCNEpWcU9XY3VlaXBOYWRMSis4RWpBaGlGWnZPeDFhUUJjYXc1YWRDMG9zWHpZMjlsWG9OOVE5dmJsbWFoT1puOS9TYittSUMrZ2FmR0UrV0lnamZSYnBCMzJjZDlPVjZVcGtWTE9MZnJPUU1wQ3hRbERnMDJZSkFTTHo2OHRxMlhITnI3Tm96MStlcXlyR0hxYTVrTEVyL3hPd0JvRmVFYlN5amlmT29HVStVTXVDYXpxZUNVejRSQ2ovMFlRbjdqU0N5U3JaKy9DaUI5TU5lYzc1TXVLS2dpKzFUejdjWDFneTBPUUtLREdEMzhNRzFrVW5QTlcva0dlUnZwOXkzR0p0RHRrYWdYaDgrMDBtSFVJeGhOMk5PNnZSeXZCTHYxc044NlVNdnNPL1BPdzVDY3I3OXNKemlkUm5hbExJK2kxVXNpWnpxTDVUL0VWcFQzYUo1dVFLd3BjR0tKMjlDWnhkeVB0bXh1OUMzVE11SmZKK0kvNUY5cyswRXFEY1lFRXQwbEFwMTczcEZwYVVzNHQrczVBeWtMRkNVT0RUWmdrQk52UU9zTkxlVUJqMzdmaVNoUkk1VXNXbVFPT2xjNUdMK3VUY3R5VFNoZjFZZ0RnNHZHbW5mQXRibUxqMkdBSVRjWTZrUEdzN01jclNXRTJ3MFdaWlRkNlRSRlMweFlrNXBTOFBsbEFuTWpaOHR2eTZBYTY4OEt2cHQ0QVd2cmhEZFA5MnNLQTlTSysvTkhzcWYxM0NPdkFWWi9GMk83dFM3a3lBWThnbjJDVjNWMUg5UU9XM3hmU1daUGJROTJ6QVBIVXZmTEN5aDJSamFpbXFsWjJFYmwyRTNCZTZ5L0FLYnZub2xZaGRWNHNzeElxRFR6aS83NEhTSFg0QXV4MjE1U3NQemM4cEx5ZnlVYmowY294QWVNY1NlUzlVandyYUgvb3VLcG1CZnhLN3BtWFVsN2pUbEVYT0d5OXJqa2hhalNOQnIrVmJ1WUt2dXFpSi8zbHlQZm5DZDJaRnQxVllDMnVPRVhsVWdEWHdabGcwd2ZIZnNZSkkyaFpmdDBBWk5zcEFHYUlmZHpreVRwTlM1NXFRUE82SVBSVUZRdjFVUThtMDJwZS9EakcyTmNRVEZEaHVmYWNhR3dkZUwxZlZvMzA3SVdGNTlrcmo4cWhmb3RxbW9tZVFBY2lYVUcwR21wVmlKOTZSQ1ZZRXppcjVsd0YwTzl6WWhHdnVlczFlN0dCdTZZOXo5VGNIOEN1ck51eEpMS05jVmVya1g5QjljN0xPUmt4dGFxVGlVQUw3ZklCVDZJQ0xqY09tOU8wQzRzU2VZYjhxbUZic2hDcnNyakpSWWNDbnV3TG4wVzlzcEI1a2psVGpiQ2c2cW9aQ0xaVkVrczZKK2NYWjE2U2tiUGlqZkpTaXJyZ2Rrakg1MHJMRE0xSFMxU0hJbjh4QjA3Yzd0MFRLN1BqQ3FoRVR5eEpVVFV3WWhPaWtNakNER1NURmZ5L1ZPWi81T2hKampvOE50QTB5aFpBbG41RVpDOU04SVQ5OGp5ZElMamIrcHFvaXFFdzNqK0VBVGdtV1VDeFh4UC96TGxtR3daWUZQellVS0szUmFNRjBoa1hjMXJMekNFUEZaZEdMSEZMaEhOSGZ1MUlTTlNwMWRHajI0cnBpV0RxL2lGNU5tM0VHQWpOK05HbFBkb25tNUFyQ2x3WW9uYjBKbkYzanpuMnRrTXV3UDlROGpCcnhETGowMCtndFpEK2laZ1JhWkJWOEovcVYwSm1wRU1Xd0VURVdRNE1zS1p1Q0hxNnpwUXkrdzc4ODdEa0p5dnYyd25PSjlGMndQU0pIQXBHMUJiaHY4aWVOWUltVXN0NnpPRjFZV2l5UjdDSHBrUi9SZTR2THVpa25kVG00MEl1SjJVM3FyNWJpeS9qejlZMWw4SmN3UzYyZzFWRUw3RjkwL0NsUTVGNGdDVU5LRHRCTE9RZ0hNTXJMSThWMWM4SEp5RjVGZlBnQXhsbW14THhGRWRTZUFDTVlucStiNFN0V0hHV0wzUHVNVDRQeE04SElpOU1sY01lR3JHQVZ6djNyNzFRU2tYQlQwWkZmMHpjS05GRmVCQ3laZ2l5djhDNk9vVkw3MXhDcnRWWHIrcjFuN2pFTTJFTDlnSWZyUVFjQlZwZUZkWnNYNVhvSk9zcHhmeTM0ak1RNU1tNlpYVmE4RHk0bXpIZ3FnWGtWY042enBReSt3Nzg4N0RrSnl2djJ3bk9KM1oxeHJUT0ZvWGMydGRYWU9jUGxlLzl4TENSS09lTHpYVFBCSXBSZVNFd3pwUXkrdzc4ODdEa0p5dnYyd25PSjdvVjV6dFRjcFdLTy80amJVdjJzMGlmaEFWRzF6NXdQOXFXbzVYdENUOUlwRXVsc3dzOFg2REsycVdRU1VDekhMUGRma2NvRDZYTGQ1NTNQOXI4N2hJa2FVS2RoOG8rcVBmMUJnVEl3dytXV21QNFFQZ3U2aExvMFI3UmlnRVB4YzZVTXZzTy9QT3c1Q2NyNzlzSnppZXZ2b2haRTNNcEE1U2ZyT3Z2RS9IdEdwbmw4VXZOR3RNMWFjdTFHMmZGay9zRmtzVFNKZUY4ZHVsbVArajd2ZzZRMVpkSXFKUDNFbUk3RTNrSXhJU216RTN1SDJVenlYVXgrNFloMUZBQ2NQczV6VXl1bEUvUkxpT2NsdWtuVjIzbCtldVFpRUozQTF1U24xMUdTenAyVnA0dERzbXphYVQ5VGx2dzIxK1ZkVW5iZEUwUW1UNnlQZWl0YmNkUVNVaG1rajdKSFBseklpOHM5OEVGTjJld212R0hEejM2eFNhanpOb0dSakpnWFk1WEZINlhCM0tPU3hrNkVtdlR3c1VJL1UyZHRQY3dQTFZUK1FaY202SUhlQmNxV25BdWhVRHYxcEpxcHYva2xtK05nWUJTaytqSS9MZUdsSDdxUlc0eHAzK3RYUktNVDAwVy9WbkU5VVR4bXdKZnZRaGhFN1RvYWl2Um4xZFMycnVqS1dCZ3JMVzFmdE5VZUp1bTJmQ0NYL29EWldWQzZCYkVxbVVITkR4MnhsM3ZjeFlSeStlcHdUVFRnd2M5VmN0d0ZTbE9ZdVJBUVl6cXJSbUs0TjFqTmNDZkRUL1A5MUN3NFVjVllEREtoOEVpWnpQTnBvWjIxUHFNUnBjSlVBb25tZXh5b2ViV1RCT21LYWFUUWRlNkVYMDg2c3RZaHA0bXRPa1J1cjJCZUpUNEVaa3c2anNZVlRWUWpNaUUvNlBmVlFVTkwvV01lVVpLaUJWYWZIYkIvaE5zMCtPczlFL3kycFZPQm1ObzlWMERUUU9aNUxBQkhkdzhFNWF6QldhTGUxK1Y2SkxSQWVURmlaeHNvTXpXb1JXSE9zOCtheXNLanVMV2xsOXJud3BPUlZqTDVOQWJrRGZwK1MxYkR1U3Blclc1TnNuY0J3bEhwY2dsYTAycW9jQ3hjYTdDeDJEdURnSVRyb2hiNXVHMlUra05UMnlOZEJhK2lVY1dPL2ErUUx3TFE1OUN5bDFOL0xUWHE4QWk5Tk14OWtScXpRcWVjc3NUaGNIYTBBMG1HcGEvWXFhVVFkL0ZOWTk1bUpSQXkvZlUza3VsWUozVWpla2pQNXVydmFHNHJFUi9LRG9yWklWVEtxS2hNanRaYUpxYTVncjdnQUN1ckdDNjhtdmJIQ3BOZzVHTHlOc2FKUVNXbXpveXRoaXY5aS9QUStEVWkzN245SlBtbFg2SEsza1VKYzh0b3JzZkVSL0J1TVZpVGhVbCtJbHVjZVYzV1RWNEhhQ3h1aWM2ZTdWRHQzOUR4Z1E0ZWVkbVV6dERJQWYxejl5V244Y21iYmNyTVFja2N2S3haQzdsUFpLMXY3WTMrWXVCOXV6U0lFN2puUHluR2c5ZVBPMzZsR2kxd2l0UzV5bkIrMkJSMEVWbmh6WG5PK1RMaWlvSXZ0VTgrM0Y5WU12WllBV1hmd1dRbW1mQWxJK0JOY2cyalFydTlOempyc3p3YmZQeFhZcUdPcnZsY0h6OGtTeHRnK3dsS05TK2tpRGh5MitlUlZVZWc1TkhCakJwYzNPdVBLMld1VUozTTZUZGR0eGZ3Q3VDY3NrWjk2cWFlK2JrOTgzRzAwa1VVMVpNYnBTNXNmZEZSellEYXREQnZ0WWhJcktlV3NUT2xFMThXMFkxSFpEYjlVUHZLZnU3Tkpndk9WZVo1T0x0QzMvQTJmMWFEWFVNZXhxQlIvUjY4S0EzdGMrbnUvZXd6VzhMUy8zUnNoQklJaHVsamNFSnRZVDZBNFpyT2hwdE41RGNlL2h4dzR5TFQ1dlZnWDY4amJ0cExqRzFhRFhlSElWQjJFaC9CSDVxc1oxeEFidlphZE11eGU5akdyR2xIcDBVN2liNFRqcUNDalRxMklIdzRFaW0ySkxjYmNCSzhiYzR0UEFqNXJxNVNoeVZtUnVWNW0rcFA5QXBobEFKcStaTHdoM1JZdlI2NFh1OElFclYxUHRKSVo3TzJ6NUNsU1pWRDJJMzl4Nzd3WDRSc0dQdnd1d3owNnVxbTBvZEtxdk5lSXRHYkNzUkhPRDhTeGxEYVVPKzhJRGcyU3gxUTRReGw4b1pXOHh5bUQzb2VvMVJXVzV4a215bW1Ha2RoQVc2NkRkUFNQZDA1SlVTNmFVb1ZsWllqejd5R1pvaDBYcGpSa1M2cXNWVEt5eUhZaldZeTFUalZTOGxLWWgvaEFsSVFtVVZOdy9yTkRFZEpEaTZpVkxHMHZ5aU1vRStJRmE5eWJJcmsxTFlsd0dNZEtGaDZnY0hHVWdmL2RuU29TVlNPQzE1WWNyd3d2Z0E1ZGtnY3ljMTU3Y0dDRjZRMFpjdXlicjUrU2U2WWxPZUVBOG1nVGVGMzVRQTZscnMrSXdJcy9SY3JwR2h0ZnAwZDFmeGFkUDJXN2J5V25OS2M3ZWU5endHOHhpOWx0aDZ1OTIvT1hkOVFlTEorQVIrdkt0Tng0Q05CSHVXMVRGeHRKWG9MS3BSVE1rdDhTb29ucXlDZ1pkTVVCaCs5anAwaDdpck9QSWVyVjJHQVgwaDNyOGhCQWJSOEI1TmtwNEJHeFlWS0k4RWd5UlN5RlBHL2xTa1JDSkpxSStPUVRBa3FZaXRkUVF2cFBMNXh2WUpPb1hkaVVLcTdTWm9xd1N4UVNNSFI0Z1NjNTUrUm9DdVZvNUNiOTJHb29NZy9DVVhIcERCNjB1dy8vNlM1Y1NRWm9sRFlRa3BQSXptVFBmaFM5azJXWEx5RDhRV2Mrd1hrR2xCbXNMVUVZYTh5aC8xOGlYM25uWU1GTE1OVE9JbDc1NVlZUTBMNXg3L0JnbzVrT1hnRWhtc0pYZHlDb2xFVWVKcnFMVFBocFpjRHlpZHNQbW9hYkplQy9lUW5iaXNwZjhnVHR0RDJETU96Y3JCd3hKTGZXUWVISDRoNUgxd1hWVkZ0dW1vMGZWbnFIRm82bWtBYmJpcUUzc2l6Zjl5WlNzV3grZW9DZ1JHbEx5NlZiUGozdkxRY1ZyQ0JGajEzWjQ1SzIrU1Z2akk4ejVaTlZzblBQanpIcWFMUU9JaTR6c3NlTEcwaDZtcHB0bGtGblVKaUwvMytxRFJCbithdXB4dUQxTVJQd1NuSGtOaTZqdjcybGtkVVRxWXk2YTZXNktRTHl5ZU9yeFk3MUxYc3llaUNNcVdJODlCRmtuT3Vpc2dVWGQwSjVVckxHUGdSOGdESzVIcnVIcUUwQkZJV0g5dTJDaGJDZHNscDVjZnlSaVpsRWNWdUxyMEF0WXRDMUFPZlNzNmYyTHlMZXpFbkt1a3dYS3pxd0RIREpiYXBuSVgvY21PcGQ0Q3lJODhDaUQ5S28xVS9tbTFDeGFlWHhkV2VneTdoeE5PTEFsNU9nOTRhQnFnTjBXL1FVcmRsaUVRVHk4UFBDelRDVjE0cWR0RlVVdmtObFVKWUhDQy9XN2hib2dvdllGNnZrMWlsUy9iTHJ4WnNOb1c4VEZVbkdkYkZWWURpbWx1Q08wQUpHa2pyWFZUZ3ZVdkpsZUszVTZjeVB0czlPWm9RejdSbFE5WEpnTzFubTFTYTduS20xWkI1Zy9jVytoZFNDamRqbUR2R3ZrT0pTSmREZVBJTmU2cndlRGZOOTNrQ2RsZ0JaZC9CWkNhWjhDVWo0RTF5RFo3YmF6K1cvUmllK1A5ZlJhR0RaMnBDWDdDYVBhSTN6WWE5RWZTTGRvQlBSbHAzdk9hVWIzbGFVQU0zNG14QjhpNHB3Y1ZNemRJa3NmamRHdDRBVEkzUDg4OXlZWVoxNzc5WFR5d1RQY0RqY1FWUHFqd1Z0cE1EM3BuUEdhN0p5WVBYT0xSbGsrY1RrMFk3eVE2M0x1QXZzZ0NwU251N2ZCWlNjcGhEUlBwN2k0akNmaC9Wb0NQcVRlNURnRVBjSUZVQlVKVWk1SXpXeWd2V1dhaDJSZHBYRFNYOHkyTUNseE9MMGYzWllVUkR3ZmhYeXc4N29XdmxmeUszb0JnV1o2VEtZdlpFMSt3TXRMd29lZTl2eWhrJylcIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIkJhc2U2NFBpY1wiLFwicGF0aFwiOlwiQmFzZTY0UGljXCIsXCJydWxlXCI6XCJsZXQgcGljX2hvbWUgPSBgZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFRQUFBQUVBQ0FZQUFBQmNjcWhtQUFBQUNYQklXWE1BQUFBRkFBQUFCUUhIMzNOU0FBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCM2QzY3VhVzVyYzJOaGNHVXViM0pubSs0OEdnQUFJQUJKUkVGVWVKenQzWGw0Vk9YMUIvRHZ1VE9UZlFHU3pDUnNnb0pXTmhkUUZGQ1JvcUxpQm9LN2JhMVNheTBrYkc2L2F0d1ZOUUZxcmRiZHVySnBLMXBVeEtWU0YrcUNJR3BsVTFreU13bVFQWm5NM1BQN0l4a0VDV1R1NU41NTU4NmN6L1AwYVVneWQ0NlplYjl6dC9lOEJHRnJQY3QrVEE4Nk0vb2lwUGRsc0llZzVldk0rYVJSUHBqekFPU0JrQWRHU3R0RHVyYjlmd3FBekxhdjZ3RUUycjdlMmZiL3pRUlVNVkFGVUJVelYya2EvTXhjUlRvcTRISnNkZ1liTm0yWjNxc3hOditsd2dxa3VnQVJnVWZZNVduYWVSajAwR0NBQndOME1JQStiZi96S0swTjhJSjRFMENid2J3SlRGOFN0RFVWTmQyK1JTa0ZGZGNtT2lBQkVHZDZsdjJZM296VVlVUTBYQU9HTURBWXdBQmc5eWU0WFFTSThCV1kxK2lnTmN6OGNXWk4vYXJOcFgyYlZCY21maUlCb0poN3J0ZER1bllzRVlZeU1CS0VVV0NrcWE3TElrRUFxOEcwa2pWODZpVHQzVzNUdXYyZ3VxaGtKZ0VRYTZYc0xPanFQMDdUTVI2Z3NRQ09SbksvRGhzQkxBZGphYlp6MTV2cnAvWnZWbDFRTWtubU4xN005SmhmMWJNbHhHY1JlQnlBWCtLbmsyOWliM1VBM21iR3NoRG8xYXJwK1Z0VkY1VG9KQUFzMHVQQm1yeVdZT0JNWXI0TXdCZ0FtdXFhYkVZSDhDR1lGNGFJRmxTV0ZHeFhYVkFpa2dBd1VZOEhhL0phV2dLVENUd1p3SW1RUVcrV0VBanZzNDRGS1VoWnNHVjY3ZzdWQlNVS0NRQVRGTTN6RDlWMVRBRndLWUFNMWZVa3VHYUEvZ25nYjk3aXZMZEJ4S29Mc2pNSmdDajFmbWhYMStibWxra0FwZ0lZcUxxZUpQVWRFVDJ1SS9TVXI5ampWVjJNSFVrQUdPUit3SHVFcG1rekdMZ0E5cnMybjZnQ0JINVIxN25NTjhPelduVXhkaUlCRUtHQ2ViNVJXb2l1QStGTXlOOHRucTBFNDE1dlNmNVNPVHpvbUx5UkQ2U1VuWVU1VlpjdzZUTUJHcVM2SEdFRXJXSGdQbCtQdk9jeG1VS3FxNGxYRWdEdEtXV3RzSXQvb3M1ME93R0hxUzVIZEFKakV3ajNlSHZrUHk1QnNDOEpnRDB4azZlOGNqd0l0d0U0VW5VNXdrU01kYXpSdmI1ZGVjK2lsSFRWNWNRTENZQTI3cktxVTRuMGV5RURQNkVSNFhObW11MHR5Vit1dXBaNGtQUUJVRERQMTEvVHRUc0JucVM2RmhGVHk4bWhUYXVZbXJkT2RTRXFKVzBBRlB6RmwrVUkwRXdHcmdlUXFyb2VvVVFMbVA0YUNHZzM3N3krVzdYcVlsUkl2Z0JnSnM4OC94Vmd1aHRBZ2VweVJGendFdmo2aXVLQ3A1UHQwbUZTQllDbjNIc3dvRDBDWUt6cVdrVDhZZUI5SjJIS3R1S0NiMVhYRWl2SkVRQ2w3UFRrK1A4QW9qc2hVM0hGZ1RVU01LY2lJLzlPL0k1YVZCZGp0WVFQZ083bC9xTjF3bVBNT0VwMUxjSStHUGlNd2IvMWw3aS9VRjJMbFJJM0FKakpVKzZmQ3FJNWtIdjJSWFNDQk54WjBTUC85a1M5aVNnaEE2RDd2QjI5UTNyb0dRQW5xYTVGSkFMK0VPQkx2U1dlamFvck1WdkNOYXdvbk91YkZOSkRuME1HdnpBTkhROW9uN25ML1plb3JzUnNDYk1IMFAyUmJSbDZnK3RoQmk1VFhZdElZRVJQdXZUR1B5VEtnaWdKRVFBRlpiNStHdEZpQUVOVTF5S1N3bXBBbjVBSWh3UzJQd1FvZk1CM2hrYjBDV1R3aTlnNUF0QStkNWRYbnF1NmtNNnk3eDRBTXhYT3E1ck56SGNoQVlKTTJCSURQTWRiWFhDalhXY1kyaklBUFBkVlpNTHBlQTdBT2FwckVRTEVMenZTZzVkdSsxMzNCdFdsR0dXN0FDaVk0eXZVWFBRcWdHR3FheEZpRDZ1WTlMUHMxcHpVVmdGUVdGWTFrRWwvRGNCQnFtc1JZbCswV1FQTzJGNlMvN1hxU2lKbG0yTm5UM25sR0NiOUE4amdGM0dMKytqZ2xZVVArRTlXWFVta2JCRUFuakwvaFFBdkE5QkZkUzFDZEtBcmExaFdPTmRuaXdZemNSOEE3cm1WbDRMd2R3QXUxYlVJRWFFVVpuckJVKzY3UW5VaEhZbnJBSENYVi82ZW1KOEc0RlJkaXhBR09RQjZ6RlB1TDFaZHlJSEViUUFVenEyOGpzQVBJWTVyRktJREJLRGNQZGQvcytwQzlpY3VCMWRobWY5V1pyNUhkUjFDbUlFWXQ3ckwvYmVvcnFNOWNYY1owRlBtTHdHaFRIVWRRcGlPNlFidjlQeTQrbUNMcXdBb25GdDVMVFAvV1hVZFFsaUZnUm0ra29LNCtZQ0xtd0FvTEt2OEZSTS9nVGc5TEJIQ0pBeGdpcmVrNERIVmhRQnhFZ0NlTXYrRklEd0x3S0c2RmlGaUlFVEVGMVVVdXhlcUxrUjVBQlNXK1U5aXdodVF4VGxFY21tQlJxZDdwK1cvcmJJSXBRRlFPTDlxQUlmMER3QjBWVm1IRUlwVVEzT004azdydGxaVkFjb0NvRzFXMzBlUWUvdEZVcVBOVEtIalZNMGlWSExDcldmWmorbWFpMTZCREg2UjlMZ1BzYmJVYzErRmtnVnJZaDhBcGF5MVVOb0xBSWJIL0xtRmlFL0R5S2s5QSthWTc1SEhQQUFLY3l0dmhuVHlFV0l2REpyZ21ldS9NZGJQRzlQRWNaZFZuVXFrdnc2NTNDZEVlM1FDajY4b2NmOHJWazhZc3dBb0xOL2VoK0g0TDBCNXNYcE9zYThNRitHWGZWSXdzcGNMM2JOYWR3QXI2blY4OEdNTDN0NFVRSDFMVXEyT0hZOTJBdnF3V0xVY2owa0E5Q3o3TVQyb3BhMlVCVHJWdW5CZ0dtNGNrUUYzWnZ0SGZwVU5PdTc1VHdPZVhkc1U0OHJFejZ4MlpMU01pRVdUMFppY0F3aFMyaU15K05YUkNManI1Q3pNUFNWcnY0TWZBUEl6Tk53L05nc1BqTTJDUS9rdFlrbnRpRkM5YTM0c25zanlsN213M0hjK2c1VGY4cGlzQ01BOVk3THdxeUZwaGg3M3ovODE0NXBsdFFqYXN0dDlnaUMrMEZ2c2ZzblNwN0J5NHozbVYvVU1odlF2SVhmNktVRUE3ajQ1Qzc4K3d0amdEMXV3cmhuRmI5VkNsOU1DcXV4eWFJNGp0azNyOW9OVlQyRGRJVUFwYThHUS9uZkk0RmVDMExyYkgrM2dCNERKQTFKUmZrb1dORGtjVUtWTFVBLzlIUXZZc3F0bWxnV0FKOWQvQTREUlZtMWZITmlmVHNqRWJ6b3grTU11R0pDR0I4WktDS2hDd0ltRlc2dG1XTGg5ODNVdjl4OGRBajZDZFBKVjRxYVJtZmpqTWVtbWJ2TzV0VTJZdWJ3T2NqU2dSRUFIRC9lWHVMOHdlOFBtN3dHVXNqTUlQQW9aL0VyY01DTEQ5TUVQQUpjTVNzUHRvelBWeng5UFRpa2E2RWs4d3FhUEtkTUR3Sk5UTlpPQW84M2VydWpZZFNNeU1PM1lETXUyZitXUjZiajFKQ1Z6VmdSd3BMdWhjcHJaR3pVMTBBdm0rZnByT3EwR1lQNUhrRGlnbWNkbFlPWngxZzMrUFQzOFdTTkszNitQeVhPSnZUU3dReC9pbStyWllOWUd6ZHNEWUNaTnA0Y2dnei9tcmhtYUhyUEJEd0JYSDUyT20wK1FQUUVGTWtqWEhqVnoxcUJwbHhjOFhmL3dXNERpZWhXVVJQVDdvZW00UmNGZ1BLWjc2K0hvZjdhMHhQeTVrMXpmN0E4Yk45VzlNV2UxR1JzekpVbTZ6YS9LY2VuNnQyQVVtckU5RVprcFI2WGpOc1hINUhNK2JFRFp4NWJmc2k3MjVnczBPdzdkZVgyMzZzNXV5SlJEZ0pTUWZvc00vdGk2S2c0R1B3RE1QajREeFJhZWVCVHRjcWVrQm04d1kwT2QzZ01vS1BQMTA0aldRcnI2eHN5bGc5SnczOWlzdUxva2Q5Zktlc3hmMWFpNmpHUVMwRFVlNUovbS9xNHpHK24wSG9CR05CY3krR1BtNG9IeE4vZ0I0TWFSbWJoMm1Kei9qYUVVVGFjNW5kMUlwOTVIbm5tVnY0VE95enRiaElqTWhRUFRVQmJIdCtVeWdKdmVxY01UcTZXZlFLd3dhNmY1cHVlOUdlM2pvOThEWUNib2ZIL1VqeGVHVEI2UUd0ZURIMmo5Tkxtemt4T1FoREZFK2wyZHVTd1lkUUFVenZWUEJIQmt0SThYa1R2NzBGU1VuNUlkMTRNL2JQY1VaSVA5QjBUVWhucktxODZPOXNIUkJVQXBhd3o2VTdSUEtpSjNWdjlVUERRdTIxWWRlZ2pBM1dPeWNQbGdDWUdZSVAwT2xISlVZem1xQjdsekt5OENNQ1NheDRySWplK1hpcitlbmcybkRkZExEbmNpbW5TNG5CKzJIZzBxN09LZkdNMGpqYisxV3BzVHlLZS94YzdvbDRLL25tSFB3UittRVREMzFHeWMvd3NKQWNzeDNSRk40eENuMFFjVWJxbTZsQW1IR1gyY2lOeTRRMUx3eUJrNWNGazArSnVDaksvOElWUTI2c2h3RVhybmFEZ28xNXFtTTQ2MkVBam9yWDBHaFRVWU9OU3pwZklDTC9DOGtjY1pEZ0Ftbm03ME1TSnlZL3VtNEZHTEJ2K0duU0hNK2JBQmIyNE1vREc0ZDJ1UFE3bzZNT1dvZEZ3eUtNMzB2UTZuQmp3MExoc2huZkhhK29DNUd4Yy9JVndINWhkQUZISGZGa09ubGdyTGZhY3o2SFhqbFlsSWpPbVRncWZPeWthS0JXZjhubHZiaE90WDFLR2xneTYvUnhjNjhkUlpPUWRzSHg2dEZoMjQ2clVhTE5zZ0lXQWRPc1Zia2gveHZUbUdYbVZtc3F3M1diSTdxYmNMVDQ2M1p2RFArNlFCTTVaM1BQZ0I0TE9LSU01YVVJMnR0ZWIzQTNkcHdLTm41T0NVdmltbWIxdTBJbUpEWXpUaWQ1dDdybmNJc2ZhRmtjZUl5QXp2NGNJTDUrWWd3MlgrbnpiYTVoMDljelM4Y240WDlNeXhZRThnQkZ5eHRBWnZiWkk5QVN1d3JoL3BtK0dKYUxwd3hLOHU2ZG9zeU9BMzNiSGRYWGplb3NIL3Q4K2o3OXl6cFViSDVDWFZxS2kzWUUvQUFUd3hQZ2RqWlUvQUdwb2o0cjRjRWIzcjNITzlIbUx0QndEeWlwbm9tQ0lYWGpndkIxa3A1Zy8reDc1b3hKL2VyZTkwRjk5RHVqcXc1UHhjZUN3NEo5QVVaRno2anhwODhLTTBGVEZaZ0J6Qm5oVlRpL3dkL1dKRXI2b0d4NjhoZzk5VVE0dWNlTjZpd2YvYzJpWlRCai9RZXVWZ3dxSnErQ3pZRTBoekV2NStUZzVHOXBJRzBpWkwwWVBPeXlQNXhZNERnSm1ZK2JlZExrbnNOdGp0eFBQbjVpTGJnc0gvd2xkTm1QVzJ1ZjM3Tit3TVljTGlhdmdiekErQmRDZmgyWE55TUtLbmhJQ3BDRmRGTWttb3d3QW9MS3NjRGFDL0dUVUpZRkNCRXdzbjVDSTMxZnpCLzlLNkpzeFlYbWZKV243cmQ0Unc0Y3MxMk5say9zYkRJWEJjRHdrQnN4QndXRUc1ZjFSSHY5ZGhBTENHcTh3cFNRd3NjR0xoeEZ4MFNUTi84QzlZMTR5U3Q2d1ovR0ZmK1lPWXRMZ2F1eXdJZ1F4WDYrSEEwWVdHNzAwVCsrRWdYTm5SN3h6d25kamp3WnE4WUxCNUN4Z3lyYXVUQnVRN3NXaGlEcnFsbTM4eUxkWkxlUTkyTzdGb29qVjdNVFhOak1sTHF2R0ZOMmo2dHBOUVkycXFxOGNQMTNUWnViOWZPT0M3TVJRSVhDQ0R2L1A2ZFhQZ3hmT3NHZnhMdjR2dDRBZUFOYjRnTG42bEdyVUI4L2NFY2xJSkwwM0l4UkVlMlJNd1FYcHpjOHNCWndrZThCM0p4SlBOclNmNUhOTFZnY1VUY3kyNXRmYTE5UUZjL1Mvamd6OTgrWEh0bEc3NDd4WGRjT2ZvVEhRMWVGank2ZllnTG5xNUduVVdoRUJ1S21IQmhGd01ka3NJbU9DQ0EvMXd2Njk2d1J4Zm9lYWlMVEJ4OFpCa2MzQVhCNVpNeWtXaEJZUC9YeHNDbVBKYVRVUzM5KzdwbkVOVDhlQzQ3SDBtRzIzY0ZjTEVSZFhZWG1kc2c4ZDJidzJUVEF0dVpLcHExREZ4VVRXK3FRcVp2dTBrRWtJdzFOMDdxOURYM2cvMys4N1VVakFaTXZpajFyZUxBNHZQdDJid3I5Z2N3TzllcnpVOCtNL3NsOUx1NEFkYXd5cWFlai9aMW9LTFg2NUJmWXY1ZXdKNTZSb1dUY3pGWVhueU51d0VCenNjRS9iM3cvMi8ya3l5K3grbG5qa2FGa3pJUVZHVytZUC8zZTliOEp1bHRRaUVqQTI0MHc5SndjTWRURE1PaDREUnUvNCszdGFDMzd4YWc2YWcrU0dRbjZGaDhjUmNITnBOUWlCYVJQcy9ER2gzdjYzSC9LcWV3WkQrUFN4WVBqelI5Y2pXOFBLa1hQVE9NZjhOKzk0UExiajhuelZvTmpqUWpFNHozckF6aFBPaXVQdnZwTjR1UEhOMkRsS2Q1aDhPK0J0MG5MZW9HdXQzeU9GQUZFSWhvRmRsU2NIMm4vK2czUUhlRXVLejl2Y3pzWC9kc3pVc09kK2F3Zi9SMXRaUFdhT0RmL1JCeHFjWkg5TFZnU1VUYzFHUVlld3Q4TjRQTGZqMXE3V0dhNHhFUVlhR2hSTnkwY2VpemtVSnp1RUF6bXp2QisyK3dnUSszZHA2RWs5UlZ1dmd0NksxMXNmYlduREpLelZvTUhpY2ZWSnZGNTQrSzdwUDVQQ2xTNk5YQjk3NVBoRFZJVW9rclB3Yko3cjlqZWw5QW1CZ0thY0FPTm55aWhKSVFZYUdCUlo5T3EzYUh0MUp0dUU5WEhneXlzRWZGdTJkaXlzMnQxNmVOSHFTTWhKVzdtVWxNZ2FOeFNPOHo3M1crd1JBWlc3VmlRQ3lZbEpWQXNqUDBMRDQvRnowdCtBazFYKzNCM0ZSTklQZnhCNEQ0YmtMUmtQZzlmVUJYUDE2alNVM0tQVm9Dd0VybXBVa3NKekMrc29SUC8vbVBuOUJJaDRYbTNyc0x6K2o5WTFveFJucWFHKzBPYWJJaGVkTnZpNC8yTzNFYytjWW43MzQydm9Bcm4yakZoWWNEYlJkYWJIbU1tdWlZbTNmc2IzUFg0OTF5UEYvQkxxbGExZzRJY2VTd2IvR0Y4UWwvekIrcSsyd0lxZGxOK1VNTFhMaWhmTnlEZmN2ZU9YYlp2dytpcnNWSXhIdHZRdEppMm1mc2IzWHE5blcrYWNpZGhYWlUyNHFZZUhFWEF5eDRGYlZ0ZjRnem85aXhwMlZFM1QyOU1tMmxxZ09TeVlQU01WY2k5WTNERGN0OFZyUXRDVEJNRG1DbmowN0JmMDhPanVjUDV6c2N0cnVVN2RpOEsrcmpHNjY3V0MzZFQwR2Z1N1k3dEVkWWl4WTE0enBGdlVxQ00rM01IclpNZ2tSNjg3ajkvekdYbjh4amJWOVRoS0luK1NrRWw0Nno1cVphdXQzaEhEQkV1TU5Od1lWT0xFZ2lwTjBuVEc4ZStzVmhqU0RWeGhlL0tvSk15MEtnWDdkSEhocGd2SExsc21HR1NQMy9QZGVBY0RZKzRmaUo5a3BoQmZQeThWUkZqU3NpTGJsMW9EODFzdDBLdDcwSi9aMjRla283dnA3L3FzbXpEYTVaVm1ZeXIrSFhSRDJFd0E5eTM1TUIzQlV6Q3V5QVN1NzFVVGJkRE1lUHZGTzZ1M0NVMmRsR3c2Qlo5dWFsbHBCeFI2UnpRenJVN3BwZDQrUDNRRVEwbEtQZ1hUKzNZZVYvZXJDVTNDTm5yeUs5bFpkSzV4OFVFcFVLeG85OWtVamJuN1BtaENJNVRrUkcwcHR5TTBZR3Y3SFR3SEFkS3lhZXVKWGVsdmJhaXM2MWthNzhNWWhYVnN2ZlZuUllDUmFZL3FrNE9IVDI1OW1mQ0NkV2Jpa0k0UGRUangzcnZITGxzbEJHNzc3cS9BWHhEaENUVEh4S2NWQmVIeDhOa1paMExOK2EyM3J6TFl0TmNZR2Z6eGY5ejZqWCt0MFk2TXJDei84V1NOdSs3YzFJUkMrTDBKQzRPZG9jUGlybjE0dXd1QjJmemNKdFM1ZGxZMHhmY3cvSXRwV3ErTzhoZFg0c2NiWXRGWTczUGwyWnIvV1BRR2pJZkRRcDQyNC82TUdTMm82cHNpRjU4NjE1dVlvKytJaDRhOWFYNnJXU1FLSHF5b25ucmdjd09ObldyTnUzZlk2SFJNV1ZlTUhnNE8vUjdhR2wyMXk3L3Y0L3FsNGFKenhFTGovb3dhVWYySk5DQXp2M2hvQ1ZxeS9hRWNFREVRcE80RzJBUERVZTM4Qk9RRzRlL0NmZXJCMWczOXp0YkhCSDU3OTFzdEdzOS9PUGpRVlpXT04zL1YzNzM4YThPQi9HeTJwNmJnZUxqd3gzcHBtSlRhVVdwUmIxUjlvQ3dBbXg1QUQvMzdpY3hEdzRHblpsZ3grZjRPT0M1WlVZOU11WTRQZnp2UGZKdzlJUmRuWUxNTWhjTWNIOWZqekttdENZUFJCMGZkSFNEUTY2VU9BdGdBZzhFQzE1YWpsSU9EQmNkazQ1OUJVMDdkZDJhRGovTVhWK0ovQlZsYUowQUhud29GcGVDQ0tFTGh6WlQzK1l0R2VRRFFka2hLU3JnMENkcDhFcElOVjFxS1NnNEQ1cDJYanZNUE1IL3hWamEyRC8xdURiYTNEUFFiNkpVQWp6SXNHcHVHK1gyWkZ0Zzc5SHU3NG9CNVByRzZ5cEtZeGZWTHd5Qm5HTDFzbUZPSyt3RTlYQWZvcUxFVVpqWUI1cDJWajRpL01IL3pWell3TFg2NHgzTk0rRWJ2Z1hqSW9EYmVQempUMEdBWncwenQxZU1xaUVBaDNTVFo2c2pKaE1PMFZBSDNVVmFJR0FiaDNUQmJPdDJqd1QxNVNqVFUrWSt2YkpYSWYvQ3VQVE1kdEp4a1BnUnZlcWNQVFgxb1RBdEZldGt3SWJYc0FEczk5RlpuUXREdlF3VUtoaVlRQTNETW1DNWNQTVgvWnc1cG14Z1ZMcXJIYTRPS1c0ZVd3QmhZazduSllRNHRjeUVvaHZQdDlpNkhIdmIwcEFFK21ac2tzekVQem5PalgxWUYvYlFoWXVySnlITW9xT1A2YWV4M1pwOTl3S0lqL29McWFXQ0VBZDUrY2hWOGZZZjdncncwd0xueTVHcDlIT2ZpSEpNR0NtTU9LWE1od0VkNzd3V0FJYkE2Z2Q2N0Rrb0E4TE0rSm50a092TEV4WU1rc3hUaEZuSjd5ckNQcjFKbkhnT2dTMWRYRUFnRzQ2K1FzL01hQ3dkL1F3cmowSHpWWXRkMzQ0Rjg0TWJsV3d6Mm11d3RFd0grMlJCNENET0ROalFIMDZlTEFnSHp6LzFZREM1em9tYVBoelNRS2dSRHphNDdNMDJlZkJPQnMxY1hFd3A5R1pXTEswZW1tYjdjeDJEcjRQOXhxN0ZNdE80WHc0b1JjSEpsRWd6OHNQTUhLYUFpOHNTR0FnN3M2Y0xnRklUQ293SW51MlJyZTJwUWNJYUFCS3h4WnAxMTNLZ2hqVlJkanRadEdadUxhWTZ3Yi9FYmV5RUJyajRIbnpzM0JNZDNObjJ4a0Z5TjZ1c0FNUThISkFKWnRDS0JmTndkK2tXZCtDQXgyTzFHWXBlR3RqUUhUdHgxdlNLT1ZqdXh4czg0QmtOQ3R3RzRZa1lHcHgyYVl2dDJtSU9PeWY5Umc1WS9HQm4rNnMzWHdIMi9CTkdPN0dka3J1aEI0WTBNQUEvS2RsdHdyTWNUdFJKYzB3b3JOeGw1WCsrSFBISm1uWDNjUkVyZ1QwSFVqTWxCc3dlQnZDUUcvZmEzVzhCbnRjSU9Sa1JaTU03YXJrYjFjMEEyR2dNN0FheHVhTWFqQWlVTzZtaDhDUnhlNmtKTktlTWZnNjJzdjlJMGo2N1JaVndBNFRIVXBWcGg1WEFabURMZG04Rit4dEFiTE54bmJUVXhyRy94VzlCaXd1NUc5WEFqcHJZdWdSa3BuWU9uNlpneHhPM0d3QlNFUTdXVkwyeUQrM3BGMTJuVi9CS0dYNmxyTWRzM1FkTnd3MHRpTko1Rm9DUUZYdmxhRE53ME9mcGNEZUhKOERrWWZsUFNUTHZkclZDOFhnbEdGUU1DeUVJajJzcVVkTUtqU2tYWGFyQmtnRktndXhreFhINTJPVzA2MFlQRHJ3SlRYYTdETTRBbWkxZ1lqMXZRWVNEU2plcm5Rb2dNZkd3aUJFQU92YndoZ1dKRUx2UzJZUEJVK1VXdjBSRys4STNDdEkydmM3QmtBdXFvdXhpeFRqa3JIclFadk9ZMUVpSUZyMzZqRjB1K01ELzdITE9veGtLaE9pQ0lFZ2pydzZuY0JITnZkWlVudmhCRTlqWituaUg5VTdjZ2NOM3NXQVRtcVN6SERWVWVsNDNhTEJ2OGYzNmpGeTk4MkczcWNTd01lUFRNSDR3NlJ3Vy9VQ2IxY0NJUVlIMitML01ZcXEwTmdaQlNIS0hHdTNwRTFidmIxQU13Zk5URjI2YUEwM0QzRytMVFRqb1FZbVBaR0xSWi9ZMnp3aDNzTWpPOXYvbVNqWkhGQzd4UTBoeGlmR0FpQmxyWVFHTjdEaFo0V2hNQ29YaTdETmNVdFFxTWphOXpzL3dOZy9yMnhNWFR4d0RUY0YwWGppWTdvREpTOFdZdUZVUXorUDUrV2pmTXNtR21ZYkU3c25ZS21vUEVRZUgxREFLTjZwYUFveS95cGZpZjJUa0Zqa0xISy9pSFE0c2dhTi90bUFMYTlMaFZ0MTVtT01JRHJWOVRoK2ErTUQzNnJlZ3drcTJoQ29Ea0V2UHBkTTA3b25ZSkNpMEpnWjZOdWVPSlhuR0VOTm00R0dtM2Z1WTR3Z0J0VzFPR1pOY2Jtb1dzRXpEMDEyNUllQThudXBsR1p1UEpJWTdkeWg2ZG1mMm13TDBNa0NNQ2RGczBxamFGVTI3WkNPUHZRVkpSYnNONDhBN2p4blRvOFpiQUpSYmpId0tURFpmQmJnUURjUGpvVHZ6VVlBdFhOakVtTGpUZG5pYlNtdTAvT3dxOHM2Q3NSS3hvQTI4MTZPUGV3VlB6MTlHeVkzZGVSQWZ6ZnUvVjQwbUFiS2dKdzk1Z3NYRDdZdm04RU95QUFkNHpPeEJVR1AzV3JteGtYdlZKanVEZGpwRFhkZlhJV0xoaGd5OWUrMlhZQk1PNlFGRHg0bXZtREh3QkszNi9INDE4WTYwYTd1OEdJalQ4RjdDUzg2MjIwcDBPNE8vTjZnOTJaSTZFUlVIWktsaDB2OXpackFJeWQ1VkxJbmFsaC9xblc5SEM3N2QvMWVPUXo0NFAvanRHWmRqOE90SjFvRzd2NEczUk1YRnlORFR2TkQ0SHdsUjhycmpwWWh0Q3NzWTMyQUdZTXowQ09CVXMrMzdXeUhnOTlhcndQL1UyampCK1RDbk9FUThCbytIcnJXL2NFakM3U0VvbnNGTEprNXFsbEdBR05iQklBTGtmcnNiL1o1bnpZZ1BsUnJFUno0OGhNWER0TUJyOUswZlozM0Y3WHVpZGdkSTNHU0V6OFJTcGM5bW5xM0t3QnNHWUpGcE1kMXMySlhKTS8vY3MrYmtEWng4WVhwTHgrUkFhbVd0QmRTQmdYN1RtWWJiV3RhelVhWGFLOUkxa3BoSUVXdEN1ekJqZHJCT3hVWFVZa3pMNlpZLzZxUnN6NTBQamduMzI4TlExR1JQVENWMkdNWG83YlV0TzZKN0N0MXR3UThNVHhFdTU3b3lxTmdTclZaVVFpRURLdlRlTkRuemJpcnBYMWhoODM4N2dNVExlZ3dZam92TjFyUFJpOEZQdDlkUWdURjFkamU1MTVJZEJpYnA1WWhzQlZHa0MyQ0lBZnFzMzVxejd5V1NOdSs3Znh3WC9OMEhUTVBFNEdmendqQVBmK01ndVhHUXlCVGJ0Q09IOXhOYnoxNXJ6SHJMalVhQVZtcXRJWVhLbTZrRWhzcmc1MSt2TE5zMnViVVBxKzhjSC91NlBUY2ZNSnRwOHdtUlRDUzc1TkhtRHNoUEdHblNGTVdOVDVFTml3TTJUSnlVVkxFRmRxbWszMkFBRGdNWU0zNmV6cHFTK2JNR3Q1bmVGKzcxT09Tc2V0Rm5RWEV0YlJDSmg3U2pZbUc3d3RlOFBPRUNZdnFVWlZZL1FoWVBRV2NwVmE5d0JJdDAwQVBMdW1LYXFKSGMrdWJjSU5LNHdQL2l1UHRLYTdrTENlUmtENXFkbUc1Mlo4V3hYQ3BNVTEyQkZGQ0h4VEZiSnNJVk1yYU1SVkdvV3dYWFVoa1dyUmdWKy9XbU5vRit1NXRVMlkvYmJ4d1I5ZTBqcHBWa3hOUUk0b1oyZXVxd3hpOHBJYVZEWkVIZ0wrQmgyL1hWcGo2c2xxcTRVWUZScGNqczJxQ3pGaVc2Mk9jUzlVNDQwT0duUFdCUmpYcjZqRGpPVjFobGQ5dldoZ0d1NzdwZm5kaFVUc2hmc3pHQTJCdGY0Z3puZ3hzcW5FcTcxQm5QV1NOYmNZVzhtbDBTYnFXZlpqZWd1bDFjT0d5NE1mVStUQ3hNTlRNYnk3RSs1TURZRVFzSEZuQ0N1K0QrRDV0VTNZMldROGpTOFlrSWJ5VTh6dk1TRFVDakV3TllyV2Job0I1eDJXaW9tL1NNWHdIaTVrdWxyZkdIVUJ4aWZiV3JEZzYyYjg4My9OZGx4YW5OT3I2eklJQUR6bGZpOEF0K0tDbER2bjBGUThaTUUwWXhFZm9nMkJQV1c2Q0JxMUxnVnZjOXU4SlFVOXdyY3NiVkphU3B5NGFWU0dEUDRFNXFEVzI3ZzdvNzZGRTJId0EyMWpQaHdBbTlYVklZUlFZRE1RRGdDaURTb3JFVUxFRmdFYmdYQUFNSzlWV28wUUlyYUkxd0J0QVVDc2ZhbTJHaUZFTEdsQjdhY0FxS2pwOWkxczFCcE1DTkVwamR0NjUzMEhoQThCU2lrSTRHdVZGUWtoWW1ZZEpsTUkrT2txQUFnc2h3RkNKQU9pM1dOOWR3RG9UQklBUWlRRHZmVUVJTEJIQURENEV6WFZDQ0ZpaVVuN0tQejE3Z0RJZFZaL0Fqa1JLRVNpYTg1eDdQZ3MvSS9kQWJCK2F2OW1FSCt1cGlZaFJDd1FzR3I5MVA2N1AraTF2WDlJSzJOZmtoQWlWcGo0Z3ozL3ZWY0E2TG9FZ0JDSmJlOHh2bGNBYU02V0R3RER6WE9FRVBiQVRtZnFoM3QrWTY4QXFKaGE1QWV3THFZbENTRmlaZlhXYTNQMjZnRzZ6eEltQlB3cmR2VUlJV0tIOXhuYit3UUFhN1FzTnNVSUlXSkpJK3d6dHZjSmdQeWRlZjhHVUJ1VGlvUVFzVkt6UGIzZ3c1OS9jNThBK0txVUFnRGVpVWxKUW9pWUlLYTM4RHRxK2ZuMzIxM0dsRm5PQXdpUlNGalQyeDNUN1FaQUNQUXFBSnVzY1NxRTZFQklEK0MxOW43Z2JPK2JWZFB6dDdyTC9Tc0pPTUhhdW9SWjFsVUc4ZWpuVGZpMktvaWdSZEh0MUlERDhweVljbFFhRHM5djk2MGo0dE43L3RudWl2WitzTjlYVVNOYXdNd1NBRGF3YkVNQVUxNnZqY215Vko5VkJMSDRtMlk4ZW1ZMlRqczR4ZkxuRTZaNGFYOC9hUGNRQUFCQ0FYMFJBSHV0ZFpTRWFwb1owOTZNemVBUEM0UmFuek5CK3VNbnVpQ0NvVmYyOThQOUJvQi90cnNDaFBldHFVbVk1ZjBmQXFodWp2MUEzTlhFZU8rSEE2L1BLT0lCci9ET0t2VHQ3NmY3RFFBQVlCMEx6QzlJbU1uWG9PNVQyRnNuNTRsdFlMKzcvMEFIQVpDQ2xBVWcyR2ZCOHlTa3M3b0FzT0dDbU1tbU1UVTE1ZVVEL2NJQkEyREw5TndkQUphWVdwSVFJaVlZdk9DSGE3cnNQTkR2SERBQUFJQVlqNXBYa2hBaVZsakRZeDM5VG9jQlVGR2MveDRCL3pPbkpDRkVMRER3clg5cVFZY05mam9NQUJBeFFJLzhteHN3QUFBSm9VbEVRVlNiVXBVUUlqWVlqN2FPM1FQck9BQUFjREQ0RkFDNTVpT0VQUVEwWi9DWlNINHhvZ0R3emlyMEVmakZ6dFVraElnSm91ZmF1bnQxS0tJQUFBQm0vWDVJdjBBaDRoMXpLRFF2MGwrT09BQzgwd3ZYQUx3OHVwcUVFREhCK0pkdmhtZDFwTDhlY1FBQUFCTS9ZTHdpSVVUTUVCa2FvNFlDd0Zmc2VRTkF4T2tpaElpcDFkN2lQRVBkdkF3RkFBQXdqQ1dNRUNKR0dQZEVjdWx2VDRZRHdOY2o3M2tRdmpINk9DR0VwYjd5MXVRYm5yeG5PQUF3bVVKZzNHYjRjVUlJeXpEcHQ2Q1VERS9QTkI0QUFMelYrUzhCK0RLYXh3b2h6RVpyZkx2Y0I1ejF0ejlSQlFCS1NXZlNaUzlBaUhqQWZGTTBuLzVBdEFFQXdEZk52UVRBcW1nZkw0UXd4YWZla3Z5bDBUNDQ2Z0JvbXlSMGZkU1BGMEowR2dFempaNzUzMVAwQVFEQVc1Sy9Bc0EvT3JNTklVUjBHTFNvb3FUZzNjNXNvMU1CMEVxZkRxQzU4OXNSUWhqUXpLemYwTm1OZERvQXZDV2VqY3lZMzludENDRU1JSHJBUDkyOXZyT2JNV0VQQU5CYmNEdUE3V1pzU3dqUklXK0xSdmVhc1NGVEFxRHl1b0phQXQ5b3hyYUVFQWZHUkROM1RNMnJNV05icGdRQUFGUVVGendOOEZ0bWJVOEkwYTRWdm1sNXo1bTFNZE1DQUVSTUNFMEJVRy9hTm9VUWUyb0E5S3M2YzludjU4d0xBQUFWSlVXYkNTUjNDQXBoQmNiL2VVczhHODNjcEtrQkFBQVYxWGxsQUQ0MWU3dENKTGxWM3A3NXBsOXRNejBBVUVwQlhlZXJJRjJFaFRCTGdFbS9FcFBKOU5XNnpROEFBUDRaN3M4QktyVmkyMElrR3dadThoVjdMSmw5YTBrQUFJQzNPdTllQUN1czJyNFFTZUk5WDNWK21WVWJ0eXdBVUVxNjA2SDlDc0FPeTU3RFpIWmM3VmJoNHNDMjdCRnZzOWQ0cDBQWExvdDJxbThrckFzQUFGdW41bTFoMHFkWStSeG1xckRoZXZkYmE5WFZ2TjJHZjY5dEN2OWVSaEh6MWR0bTVQMW81WE5ZR2dBQTRDdjJMQWJSazFZL2p4a1dmVzJ2T1UzTlFjWS92MU5YOHovLzE0eEF5RjRmcVF2dDh4ci9yV0s2MjNDUFA2TXNEd0FBU045VmV3MXNjR253K2ErYXNQZ2JlN3hCV25SZ3h2STZwWjlvVzJ0MXpGaGVoNkJOUGxRWGZkT01GOWMxcVM0akVsKzR1S2s0Rms5RXNYZ1NBQ2k2ZitkQnVpUDRYd0Q1c1hyT2FCQ0FNL3FsNE14K3FjalBpRWsrR3FJenNHbFhDTStzYWNMWGxVSFY1UUFBQnVRN2NkbmdOUFR0NG9BV3MzZFU1Q29iZEx5MnZobXZydy9ZNGJ6RkRqaER3N3gvTE53VWl5ZUw2Y3ZsS2E4Y0MvQXlBSTVZUHE4UU5xRXo2V2UwTGNBVEV6SDlpUE9XNUM5bjROWllQcWNRZGtGRU44Wnk4QU14M2dNQUFEQ1RaNTUvTVpqT2kvbHpDeEduR0xUSVY1dzMyY3lKUHBHSS9VRXVFYnYwNWt0QS9GSE1uMXVJK0xUS21SSDRWYXdIUDZCaUQ2Qk45L3UzNVljY3JnOEI5Rk5WZ3hES01UYXhwaC92Sy9aNFZUeTkwbk8yUmVXVmgrdmdsUUM2cXF4RENFVjJPQWdqdGhVWGZLdXFBS1hYdWJhWDVIK3RFWjhMNlNvc2trOEFvRWtxQnorZ09BQUFZSHV4KzMwaXZneUE2Vk1kaFloVFFRWmQxTGF1aGxMS0F3QUFLb3JkQzVub0NnQTJ1YWRNaUtneGlLLzJsZVF2VVYwSUVDY0JBQUMrNHZ4bmlPbVBxdXNRd2tMTW9EOTRpOTJQcXk0a0xHNENBQUFxcHVjL0JLQkVkUjFDV0lHSWJ2Q1Y1UDlWZFIxN2lxc0FBQUJ2U2NGY0JrcFYxeUdFbVpod1MwVnh2aW1MZVpncERxZHV0Q29zcjV6TjRIc1F4elVLRVFGbVlMYXZwT0IrMVlXMEo2NEhsN3ZNZnpVUi9vSTQzRk1SSWdJTTRtSnZzVHR1MTg2TTZ3QUFBRStaLzJJUW5nYmdWRjJMRUFhRUNIeGxSWW43S2RXRkhFamNCd0FBRk03MVRXS21ad0drcUs1RmlBZzBNK2ppZUxuVWR5QzJDQUFBY00vemppQmQrd2ZpdktHSVNIbzdpREdoWW5yQmU2b0xpWVJ0QWdBQUNzcDgvVFNpMXdIMFYxMkxFTzNZNkFqUm1kdG01bitqdXBCSTJlcmttbis2ZTczVGxYbzhBUitvcmtXSW4va1l3ZER4ZGhyOGdNMENBQUMyWHB0VHBXVzBuRWJndUQrK0VzbUJRWXRjM0hTeWQxYWhUM1V0UnRucUVHQXZ6RlE0cjJvMk05OEo2VEVvMUFnUmNFZEZkZjV0Vmk3ZVlTWDdCa0Nid25ML2FBWmVBdUJXWFl0SUpsekY3TGpZTnozdlRkV1ZkSWJ0QXdBQXVqOVExU3VrNllzQUhLdTZGcEg0aVBBNU8wSVRZOVc2MjBxMk93ZlFubTB6OG41MGNkTm9NT0ptbHBWSVdIOUwyMVUzSWhFR1A1QWdld0I3Y3BkWFRpRG9md01vVDNVdElxSHNBdVAzM3VrRkw2b3V4RXdKRndBQVVEREhWK2hJb1NlWk1VNTFMU0lockFneVhWNDFQWCtyNmtMTWxwQUJBS0IxL1lGeS8xUVF6WUhjUWl5aTAwTEFYWFkreTkrUnhBMkFOZ1hsdmlNMTBHTUFocXF1UmRqS0tpYjlTbCt4NTB2VmhWZ3A0UU1BQUZES21pZTM4a29BRHdESVVsMk9pR3VOUkhSclJmZTgrekdaRXI1UmJYSUVRQnZQbnl2NklxZzlETkNwcW1zUmNlazlYZU9yL05QYzM2a3VKRmFTS2dBQXRONUJXRjUxT1d0OER4aUZxc3NSY1dFN0U4MzJGZWMvcTdxUVdFdStBR2pqdWE4aWs1eU9XVXk0RG93MDFmVUlKUUpnZXJqRlNYL2FNVFd2Um5VeEtpUnRBSVIxZjZDcWw2N3Bkekp3bWVwYVJBd3hsb0wwYWQ0U3owYlZwYWlVOUFFUTVpbXZIQVB3dlFDR3FhNUZXR29WQWJNclNncmVWVjFJUEpBQStCbFBlZVZZQnQ5THdOR3FheEZtNHJWRXVLMWlXc0VpRmN0d3h5c0pnUFl3azZlOGNqd0l0d000UW5VNW9sTytacUo3Zkx2eW5rM1VtM2s2UXdMZ1FFcFo4K1JVWGdqQ0xBQkhxaTVIUkk0SW56UGpQbTkxL2tzeThQZFBBaUJDQmZOOG83UVFYUWZDbVpDL1d6eGJDY2E5M3BMOHBiS3IzekY1SXh2a0thc1l6S1ROSU5CRmtEa0c4U0xBb09kSjB4N3dUdXUyVm5VeGRpSUJFS1hlRCszcTJ0emNNZ21nYXdFZXJMcWVaRVRBLzBEMEJMY0VuN1JqUDc1NElBRmdncUo1L3FHNmppa0FMZ0dRcWJxZWhFWm9BdE9yQVA3bUxjNTdXM2J6TzBjQ3dFUmR5bmQyU1VYd2ZJQW5BelFHMHF6VUxFR0FWNEN3SU5Ea1hMVHorbTdWcWd0S0ZCSUFGdWxaVnQwdG9MV01KNTBuZ1RBT3NyYWhVVHFBRDhHOFVBL2lKZjlzZDRYcWdoS1JCRUFNNUpmN2l4eUU4Y1E4amtGakFlU29yaWxPVlJQVGNpWmVwcmZ3VWhuMDFwTUFpTFZIMkZYWVVEbVN3ZU1BR29ma3Z0R0lBYXdHOFRMU2FWbEZUZjVLbEZKUWRWSEpSQUpBc1c3enEzSmNJVDZXd0tNWUdBbkNxQVNlblJnRXNCcE1LMG5UUDRBV2VyZGlhcEZmZFZISlRBSWd6dlNiLzExcVRTaG5HS0FOQjJnd3dFTUlHQWdnVlhWdGhoQ2FtTEVPb0M4QlhnUG9IK2M0YXY2N2Ztci9adFdsaVo5SUFOaEJLVHVMY3F2Nk0rdURHZHBnYUh3d2RPb0Q0cjRBaWhSWHR3MU1tMEc4aVlDTllGNnI2ZHFYMityeTFzdnVmUHlUQUxDNVBxV2IwZ0paMlgxMGg5NFhqRUtkS0krSTg2QlRBUWg1RE9RUnVDdEFHVzBQeVVIcjVVa1hmdXFQV0FlZ0JVQUlRRnRqREtwbjhDNENxc0NvZ3NaKzFxbFNJNjRLTVNwY3VyWTVwYTUyOCtiU3ZrMngvUzhXWnZwLzhmWDJtcTRqb09FQUFBQUFTVVZPUks1Q1lJST1gXFxyXFxubGV0IHBpY19zaGFyZSA9IGBkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRUFDQVlBQUFCY2NxaG1BQUFBQ1hCSVdYTUFBQWRoQUFBSFlRR1Z3N2kyQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUIzZDNjdWFXNXJjMk5oY0dVdWIzSm5tKzQ4R2dBQUlBQkpSRUZVZUp6dG5YbThYRldWdHA5MTZtWWV5QVJoRkFJSmtBQUJJU1FoRTJDcmpZamRkdHZRSXFJMGt3eUM4Q0VrME4xMld0UldsRVlKa3dFRUlSRWhPR0NqZ29wQkpTTUpFRUNDQk1nQUlRRVNJSkRwRG5YVzkwY05xYnIzVk5YZVo2anA3dmYzZzN0djdYZXR0VlBKcys0KzU5VFpSM0JxYU9uQ3kvdmdlU05va1JHb0RBZUdJZXlPNmxDUW9hQkRnYUVnUGJNUmc3T2hQWUYrMmUrM0FXMmdBTzltWHBKV2ZOME11aGxrTTdBWjJJU25tNENOcEdVTnZyOWFKdDJ3bzBwL1ZLY0VKTFdlZ0ZObDZiTHplNkFERDBFWUN4eU95b0hBQWRuL2hnZEVoS2xpbVNKdmVCTllEYklHZERVaXo0RThoN3ovTnhrM3V6M0VSSnlxS05jQTZreTY4UEkrOUdvWlI5cWJnT2hZMENPQU1XUitZNXRrQ0ZQVk1vVlJqVGFRRjFEL09VU2VSWFVKYVphNUZVTjl5VFdBR2tzWFh6TWNMejBlMFdOQUpvTk9BWHBuUjIyemhabUJaWXBJTlRvUVZxQXNRR1U1cWZUak11NEg2MElrZElwSnJnRlVXVHAvWmdzRGRreEU5UlRnbzhEUkJQNDlOQjM4cGZRcThBZmdZUVozL0U1R3pXb05VY1FwcEZ3RHFJSjA4Vlg3MGlLZlF2MVBnSHlFWFNmZlNrWFlWZ2d6SzhzVWljRGZ5YTViZ2NkQUhpSE4vOG1rRzlhSEtPcGtJZGNBRXBJdXUySVk2cDJNNTUySnJ4OEJQTU5JMjBxMlUrc2FVdy93ZC9YN3dDS1FlYlMxejVNcE43MFJZaEpPRmVRYVFJelNaVmNNUTFyK0ZaL1RFSjBDZUhZY09QaExEUGtJZndZZVFOc2ZrQWszYnc0eEthY0F1UVlRZzNUNWpHUHcvZk1ST1JQb2svOEg3ZUNQNWc4ZWFnWDlGWjQzbTNFM1BDWVNhcEpPV2JrR0VGSzY5TW85OFZKZkJEMFhHRmt3VXZURk1KdHRkVXQvUUV4and0OTU0R1dRdVloM3A0ei8zOWNzaXp2aEdvQzE5TWtaSDBhNEF2UTBvRWVuMGFJdmhobHRaMkRwRDRocER2Z0wxWTV5UDU1Y0wrTy8vNHpsUkxxMVhBTXdsQzZiUGdWa091Z25LWGZaenNFZnpXOFBmMmZiQWp6dk94eDd3OFB1OEtDeVhBTW9JNTAvczRXQjI4OUU1YXRrUG8xWHlsbjB4VEM3N1d3cy9RRXh6UTUvc2Y5NTRIdHNIekpYVHB6WllabWcyOGcxZ0FDcHp2Ull2dk16b044QURxN2dMdnBpV01GMlJwYitnSmp1QlgraDFxRDhEK3MyM0NtbnpVdGJKbXQ2dVFaUUlGV0VwNmFmZ25JdGNLUkJSTkVYd3lxMnM3TDBCOFIwWC9nTHRSTGsyNHdmUEVka3BtK1p1R25sR2tCV3VuekdTU2pmQVIxckdGSDB4U29tTVg5QWpJTy9zNTVCZGJwTW5QVTd5d0pOcVc3ZkFQVHBLMGVSOXI0Sm5Hb1JWZlRGS2lZeGYwQ01nNzlNaVA0QitJcE1uUFdDZlhEenFOczJBSDE2NWlEU08yZUFYZ2Iwc29ncyttSVZrNWcvSU1iQmJ4TFRqbklyTGExZmszR3p0NFJJMVBEcWRnMGdjNXgvOWJtb2ZndDBtR1YwMFJlcm1NVDhBVEVPZnR1WXQxQ2R3WVNiN3U1dWx3NjdWUVBRWlZjZWhIby9ST1R2UXY5amMvQkg4OWNmL0lYNkM1NTNuaHo3ZzcrRlNONlE2aFlOSUhzUC9zVWczd1Q2T2ZnajFJamlyMi80YzVZZHFGekh3Q0hma3NObXRvVW8xRkJxK2dhZ3kyY2NnM0luK2N0NkR2N1FOYUw0R3dQK1hUOElUK1BydVhMY3pVK0ZLTmd3YXRvR2tQa3d6NDVMUUs0anY1K2VnejkwalNqK1JvTi9senBRdnNscmIxN2JyQjhpYXNvR29NdW1md2lWZXhHbUZieHFteVZFbUlQZmZLanU0Uy9VSWxMcHo4dXh0NzRhWWhKMUxjTmRhaHBIdW16R3FTRFBPUGhqcWhIRjN4endBeHhIT3ZXMEx2N3k1ME5NcEs3Vk5Dc0FYZkhWZnJTMy9CQTRvOU9JYmFZUVlRNSs4NkdHZzc5ejNJL3AwWGFSakp1OTNYWlc5YWltYUFDNmZNWklsSjhEUjNRYXNjMFVJc3pCYno3VTRQRHZpbm1XdFBmUE1ubldLeUdDNjBvTmZ3aWdUMTU5TXNwU0hQengxWWppYjM3NEFjYVM4cC9TSlYvK2RJZ0VkYVdHWFFHb0lpeWZjUlh3TGJvME1nZC82QnBSL04wRC91SVhoT3NZdi9zMWpYcUhZVU0yQUYzeDFYNjB0ZHlIOEttQVVkdHNJY0ljL09aRFRRdC9vUjZpVDU4ejVNanZiUXVSdUtacXVBYWd5NjdaQy96L0E0NEpHTFhORmlMTXdXOCsxQzNnejJrRmVLZkl4Rm12aHloUU16VlVBOUNsMHcvRGsxOEQrd2VNMm1ZTEVlYmdOeC9xVnZEbnRCN3hQaWtUWnEwSVVhZ21hcGlUZ1ByVU5YK0hKd3R3OE1kYkk0cmZ3ZC9adncrYS9vc3V2T2lrRU1WcW9vWm9BTHBzK3Vmdy9kOEN1d1dNMm1ZTEVlYmdOeC9xdHZEbnZobUFKdy9wb292K05VVFJxcXZ1RzRBdXYvbzhrSHZwc2djL09QZ2oxSWppZC9CWDhHdFBoTG02NUtKelFoU3ZxdXE2QWVpeUdSZWhlaHVCODNUd2g2NFJ4ZS9nTi9XblVHN1h4UmRmRm1JU1ZWUGROZ0JkTm1NNmNETU8vbmhyUlBFNytHMzlBbnFETHJub3YwSk1waXFxeXdhZ3k2NitGdmgyaVZIYmJDSENIUHptUXc1K0ErdE1YWHp4ZjFzV3FJcnE3aktnUGpuajN4RytVV0xVTmx1SU1BZS8rWkNEM3poQ0ZWR3VrVW0zL285MWNJS3Fxd2FneTZaZkFuSmppVkhiYkNIQ0hQem1RdzUrNHdqZEZTT2lYNVdKdDExdm5TUWgxVTBEME9VenprTDVFZVVldkdtZUxVU1lnOTk4eU1GdkhLRmRZbFNRTDhseHQ5eHVuU3dCMVVVRDBHWFRQNWU5MU9kTytNVlpJNHJmd1IvUkh3aC9UbWxCenBEamJybmZPbW5NcW5rRDBDZG5uSUR3S1BsOSs0cEdiYk9GQ0hQd213ODUrSTBqU3NPZlU3dkF5WExjclgrd1RoNmphdG9BOUttcngrRDdDMEFHQll6YVpnc1I1dUEzSDNMd0cwZFVoaituOTBWVFUyVFNUYzlaRjRsSk5Xc0EyYnY2RnVFKzJ4OXZqU2grQjM5RXZ4WDh1WWcxSWgwVFplSWRiMW9YaTBFMStSeUFMcHZaRi94ZjRPQ1B0MFlVdjRNL29qOFUvQUFIcUxiOFdsZWMyYys2WUF5cWVnTlFuZW1oTzM4S1RBZ1l0YzBXSXN6QmJ6N2s0RGVPQ0FkL1RzZm9qcjV6VkdkV25jZnFyd0NXNzV6cGR2S0p1VVlVdjRNL29qOHkvTm1YNU5NczJmanYxc1VqcXFybkFIVDUxYWVnK2hCdUQ3LzRha1R4Ty9naittT0NmNWQ4RWYyVVRQemhiNnduRWxKVmF3RDY5SldqU0h0THU1N3hkL0NIcmhIRjcrQ1A2SThkL3B6ZUZkOC9WaWJQcnNxVzQxVnBBTm1IZGl3R0R1ODBZcHNwUkppRDMzeW9DdTlWcWpmMDJ3OTZENE5VMzJ5YU5MUytBenZlZ0oxdmQyZjRjM3BXZXZqSFZlUGhJeTFKRndESVBySEh3UjlYalNqK1dzQ2Y2Z083ajRjaHgyVGdsektubnRxMndMdlB3dHRMWU50YXl6bFp6aXVVUDNINEFSM3J0OHROd05tV2dkWktmQVdneTZkL0hwVjdPNzFxbXlWRW1JUGZmQ2loOThyckNYdC9ESVlmRDZsZWxqV0FMWCtEZGIrQTdldmpuVmRvZjFYZ3ozOG5JcWZMeE50K2FwbkFTb2syQUYzNjcvdmhwVmNBZ3d0ZXRjMFNJc3pCYno2VTBIdlZmd1FjOUFYb05jUXlmK2R5UHJ6eGUxai9tOHozVWVjVjJsOWQrQUVRM3BOMHkxRXkrZVl3U3lFakpYWVpVSFdtaDVlK0J3ZC9QRFdpK0tzTi83QUpNUHJTNlBCRDVuQmhuNytIUXk0c3M0cG9Rdmd6THcxUzZiaFhIemcxWlpuTVdNbDlEbUQ1am11QUUzYTk0T0FQWFNPS3Y5cndEejhlRGp5OS9IRitHTzEyS0J4NlNlWjhRcGg1aGZiWENQNmNoS2w4YVBDVmxnbU5sY2doZ0M2ZmNRektJdkk3K1RyNFE5ZUk0cTgyL0h0TWhnTk9KZEVqeTIydndZczNRY2QyODNubDFXRHc3MUs3cUV5UVNiYzliWm04b21KZkFlajhtUzJvenNiQkg3MUdGSDh6d2crWnF3aUhmaGxhT3E4RUtxbGg0UWZvb2FKMzZiTHpBN2JHajZiNER3RUc3cmdLNU9qTUR3NyswRFdpK0pzVi9wejY3WmM1SEdqcGF4alEwUERuZENSdHhMN0ZlS3gvWTdyazZvTko2VE5BSHdkL2hCcFIvTTBPZjZHMnZRWXZ6c29lRHBSU1U4Q2ZpOWtobWg0cmsrNThPVVNDUU1XMkFsQkZTT210T1BpajFZamk3MDd3ZzhGS29LbmdCK2lqZUxlcnh2ZUd4M2NJOE5UVjV3SWZjZkJIcUJIRjM5M2d6NmxrRTJnNitMUGZ5Z2tzL05KWklSSUZLcGEvUFgxNjVpRFNPMWVCRHJPTUxQcGlGWk9ZUHlER3dWK3Nlb0cvVUVXSEE4MEtmMTV2U1U4T2xuR3p0NFJJV3FSNFZnQWRPLzdMd1IraFJoUy9nejhqNnhPRHU5Umc4QVBzNGJjUnk5NEJrZjhXZGRuVmg0TC9MSUZQN3kwWlZmVEZLaVl4ZjBDTWc3OVk5UXAvb2ZJcmdXMUc5Z2FFUDZjMlNla1JNdUgybDBJVXlDdjZDa0Q4LzhYQkg2NUdGSCsxNFI5K2ZQencrMjJaMjREalZMLzk0TkNMQXo0eDJGVU5ERDlBVCsyUTc0WW9VS1JJZjV2NjVJeVBJdnA3aTRpaUwxWXhpZmtEWWh6OHhVcmlOMy9IOXN3bityYS9BYVBPaHNGajQ4c05GVmNDRFE1LzNpUndra3k2L2RFUXhZQUlLd0JWQk5IdldVUVVmYkdLU2N3ZkVPUGdMMWFTOEc5N0RUUU5xMzZVMlFNZ1R1WFBDWFRkYkxkWjRNLysvMXRSTGd1R1B3UjRhdnFwd0pGbVpnZC9MUDVtZ3o4L25lbzFnV2FDUDZ1aldYVGVwME1VQlVJMkFIM2cxQlRLVEVOMzBSZXJtTVQ4QVRFTy9tSWxCdi9OeGZEbnA5VUJxKzVNdEFrMElmeTVWNjROdTZWNHVCWEFpQkdmQTBaWE5qcjRZL0UzRmZ6clNzOUwwNGszQVhNMUJ2eFpIY2JpMTA4Tk1RSDdCcUFQbkpwQ3hPQWFwSU0vRm45M2dULy9ZM0pOUUVaZmF0Z0VHZ3Irektndlg5ZjVNNjMzK0xSZkFSdzA0Z3ZBSWVWTkR2NVkvTldHZi9makVvQi9HNnljWlFaLy91VmNFNGo1bVpuOTlrTXEza3JjZVBBRElCeE16OWMvYXpzVHF3YWdpcUR5MVFxdW9pK0dtVzNNSWZ3Qk1RNytZdlUvSUNINGI0THRyOXZQUzlPdzZvNzRtMEQvL1pGREx5M1JCQm9VL3B4VDVDcmJLd0oySzREbDAwOEd4cFNaUXRFWE16bjR6WWNTZksvMiswZVFHTGVlaXdKLzNwWnJBakVmRGdRMmdjYUdQNnNqV0hqMngyd0NiQThCcmlnOTVPQ1B4VjhMK0hzUGd3RUhXdVl2by9RT2VQR1dhUERuN1IzWkpyQWlscW5sMVg5L1pQUmwyWE1DVFFFL29LaWt5akRhVmNZTlFKK2FmaVJGbTN3V0Z5NzhZcGpSeGh6Q0h4RGo0QS9XZ0ZHVytjdW9ZeHVzdk5IdW1MK2tDcThPSlBNNWdjcm5CRXJNeVVyVmdULzc5ZU82NEx5alRLUE1Wd0ErVnhGNGdPamdqOFZmSy9nQmV2UzNqd2xTL2tNK01mem03L0wzbDlEbkJQcnZqeHo2RmNNbVVPL3daK1NMWG00YWFkUUFkT21WZXdJQjF4a2QvTEg0YXdrL0NuNTdpTGhPU3UvSVh1cExBUDc4eTBrZURseGU0UkpoWThBUElQQlpYWERCSGliUlppc0FULzZOTG5mOE9maGo4ZGNhZm9BZEcwUEVGcWhqZS96TC9wTERTUjRPWEJMVDFZRk9NVldFUDZ1ZVNNY1hUVEpVYkFDWnl3clM2U0dGRHY1WS9QVUFQOEFITDJkK2c0ZFJ4L2JNWFhkSi91YnZZcXZtNFVERHdaOFpWYzQxdVNSWWVRWHc5RlVmQVVaMktlemdqK2F2Ri9naGN3aXc0WS8yYVpJODVxOW83MEJmU3VvU1lhNEpOQ2I4UU9hRFFRdlBtVnJKVnJrQnBEbXZTMkVIZnpSL1BjR2YwNFkvWkZZQ3BzcGQ2Z3U2c2FjS2Z3NVYzZFVFM3FuRk9ZSEFXUVYrYStRUFU2T0NmRS9PcStRcHUwVFFKVmNQSmVXdkIzbzUrR1B5MXlQOE9iWDBnNUZudzhBS2x3VjNib0tYWnNPT0RUSE1LeVQ4aFpJVzVPQno0OTlVWk9zYTlNVWJLengzSUQrcndHK04vTWF5Zm05M1Nycm4zakwxMW5kTE9jcXZBTHowNlRqNDQvUFhNL3dBN2RzeVovSlhQd0N0bTdxT2QyeUROMzRIejE5WFAvQkRnb2NEQjJRK01aanFYV2xXZ2Q4YStZMFY2cjN0VGFxOTdGMkM1VmNBVDA3L0U2TFQ3T3M3K00ySDZnUitEZmloejNEb3RYdm1TYjl0NzJVKzJhZCtUUE9LQ2Y1Q0piVVMyTElTZlhGV2lUOTczY0tmMDJQZXBEcy9Xc3Bac2dIb3NtdjJnbzdYZ0pTRFA2Sy9FZUdQdTBZa3Z3SDhPVWtMTXVvY0dHSzRXWldwMXY4V2ZlMmh6ck1LL0xhMGF2TGVwc1dUZldUaUhXOEd1Y3NjQXJTZmhvTS91dC9CSDlGdkFUOWtEZ2RXSlhCaWNKK1RvTi8raFlVQ3Z5MHpzUkJGWTNsdlU2VDFNNlVpU2pjQWtkTWMvQkg5RHY2SWZrdjRjelZ5VFNEV2N3S0M3UC9QdTJyUTlkdXljN0pXVE8rdGdpS25sWW9LYkFDNitLcDk4WmtZdVhocy9vQVlCMyswbUdhRlAvOXRCL3JTN2ZFMmdZR0hRUCtDVlVBRHdKLzlacW8rY2ZiZVFaYmdGWURIUDVRY015MGVtejhneHNFZkxhYlo0YysvbEcwQ01SNE95TzZUUzVZem1sUHNNWlhnQjhERDgwNEpzZ1ZETG5wU3BPS3grUU5pSFB6Ullyb0wvUG1obUE4SGhod0ZhckxwVHQzQW4zbkpKNURwTG44Uy9ldk1ubXpmdmhtb2NJK29nOTk4S09IM3F0ZFFHSHdFRERnSSt1d0ZQUWVCMXlPVHAzMHJ0TDROVzlmQ2xoZGh5OS9JWE03cUJ2QVhTbHFRZzgrTDVSS2hQdk0xMkJGNFV0MXVUcEZpek9IUDZnTVo5UDR3T1d4ZVcrR0xYWGNSM2I1MUduZ09mbHQvTGVBZmRCanM5WkVNK0lGWGRBVjZETWo4MS85QTJQTkVhUDhBM25vQ05qNXUrQW0zRVBNSzVVOFFmc2dlRHN4R1JwMmIrUzBlUmIxM0w5TUE2aEorUUFmd3ptNlRnTWNMWHcwNEJQQStFYXA0YlA2QUdBZC9zWHJ2bm5rQTVzSG53NENSV0czazJXTUE3UE1KT1BKcnNNZWtlT2NWMnA4dy9EbC8vaExoTTVheG5kUmp0NWptRkNZbUZQd0ErSjUyWWJ0ckF4QXBjL3p2NERjZlN1aTlHbklVSEhZbEREellNbjhudGZTREVhZkRxSFBBNnhsOVhxSDlWWUkvLzIyMkNiUnV0c3hSb0I0RFk1aFRtSmp3OEFNSUZScUFMcjVtT0tvbGR2MTE4SnNQSmZSZURaOEtJOCtDVkMvTC9HVTA1Q2dvK2NDTUpvTS9wejU3WmxaQ1lkVmxCNlg2aHorcnczWEJtVVU3QlJXdkFGTHRVMEpVaWNFZkVPUGdMOWFlSjhEKy8wS3MrL2JuMUg5L0dIMEp0QlNlK21sUytQdnVpNHk1ck1LcXA0TGF0MFNZVTVpWVdPQUhFR2c1cnZDRlRvY0EzbVRMS3Jhek1vdHg4QmRyenhQZ1EvOWttZHRTZmZlQjBWL09Ob0VtaDc4bDRpYW9iYmtHMEZEd0ErQ0xGREhlcVFGb3B3Ymc0RGNmYW1ENGN5cHFBcWJxWnZDanNIMTlpRG1WbUZjWWYwajRBVVFKYmdDNjhQSStRTUgxRVFlLytWQVR3SjlUMzMwQ0RnZEtxYnZCRDJ4ZEJ4MWJRd1RXSHY2c2p0SDVaK1UzT05pMUFtanBlU3pRMHlLUmJlSHlNUTcrWXRVQy9weU1ta0EzaEIvUXpVK0dpWXJISHgxK2dGNzBUaDJUKzZId0VHQzhaU0xid3FWakhQekZxaVg4T1pWdEF0MFRmdnhXZUd1aFpWQmR3WitSbjU2USszWlhBeEQvU0FlL3pWQVR3NTlUWUJQb3B2QkRadWRrcStWL0hjS1A0b3ZrUHc5ZHVBS3cvSkMwZ3orV0dvV3FKL2h6S21vQzNSait0bmZROWIreENLaFArQUZFT1NMM2lnZWd5ODd2QVJ4cW15aE1jZk1VRHY2NmtkV0p3VjFxR3ZqVlIxZmRDZW5XOFBNSzQwOEEvcXdPMC9reld5Qy9BaGg4S1BrVGdGYUp3aFIzOEhkV1BjT2ZVOTk5c3A4WU5BT3JhZUFIZE0zOThQNnE4UE1LNDA4T2ZvQmVwTlllRExrRzRLdmg4dC9CSDB1TlFpVUJmOGMyZVBudTZEZTlkRlorSlZEK2dSbE5CZi9hbjhIRytlSG5GY2FmTFB3WmVabkRnRXdEOFB6RFFpZXlpWEh3RnlzUitMZG45dmJmdkJ4ZXZnczJoYmxzVlVaOTk0WFJYeWtKV2xQQnYrNlg4TWFqNGVjVnhsOE4rQUZmT0J4eURVRGx3TENKakdNYy9NVktEUDZiZGoydVMzMTRkVTRDVFNENGNLRHA0RGMrNmRkWThHZUhENFJkVndGR3hGYzRJTWJCWDZ4cXdKK2ZrZyt2M3B0NEUzRHdHMmNQa1NiKzkxYUVBeUMvQXNqOEVMMXdRSXlEdjFqVmhCOEFUYndKYUNyQ1F6VEQraDM4RWYwNkFrQjB4VmY3MFNZZjBPVStVd2QvTERVS1ZRdjRDeVVlSEhnbUREczIzamxzZngxOTRVYkREOGs0K00zVEpMcXFVbW5Udmg2dHFRTnc4Q2RUbzFDMWhoOFNYQW5zaTR3eHVVVG80RGRQay9RaEZVSVBiMzhQOGZlUG1LaHJqSU8vV1BVQWYzNm9WazNBd1crZUpuSDRNekdlUDhKRDJMdm94VENKck9iaTRJK3NzUERuTGRWdUFnNSs4elJWZ2g5QVpTOFBHQlk1a2ZGY0hQeVJGUlgrdk5XSFYrK0JUVXRqbXhvUTBBUWMvT1pwcWdnL2dPb3dEeGpxNEkrcFJxSHFHZjZjUDc4U1NLQUpISElCZUNuN09RWGxjdkRINE84YTR3dERQVlNIUmszazRPK2twRDdldS9MRytPRFBmNXR0QXB1WFJabGRWdzA0RU5ubmsrSG1sSk9EUHlaL3FSZ2Q2b0ZZTmdBSGYxa2xCditzN0Y1MG5SWERuME45ZU9YSDhUZUJ2VTZzZU45QXlUazUrR1B5bDQ0UjlZWjZvTU5DSjNMd0Y2c1I0YzhQSmRBRXZGNHdxTVJqSnNyTnljRWZrNzlDak9nd0QyRlFxRVFPL21JbGVXTlAwdkRuTGRrbUVPTTVBZW03ajkyY0hQd3grUTFpVkFlM29OSzdjbklIZjFrMThtLytMdGJzT1FFOEdEYk9zazZBVW4zTTUrVGdqOGx2RUtPQVNDOFB0TUpHSUE3K3Ntb20rSE1SZmhwOTVXN1lGTVBoUVBzSFFSVzZ2dVRnajhsdkVLUDVyNzA4dE54T1FBNytzbXFHWlgvbmlOeGRmZXBubTBDMHd3SGQrbXJsT1RuNFkvSWJ4QlFQOTJ4QktQR2tTUWQvV1RYamIvN090L1Nxajc1eUR4TDJjS0R0UFhqL3BmSnpjdkRINURlSTZUS3N2Vm9JM0F2UXdWOVd0WUsvOSs0dy9IZ1lOQnA2RHNtODFyb1p0cXlFTi84TU85OHU5bHVvNVAzODJaV0FnSFVUME5kK0JYNUg2VGtsdVkxWGsrN2tFenFtSy93QVFRM0F3VjlXTllGZllOK1RZZSsvejl6U1c2ZytlMmIrR3o0TjFqOXE4VnV2b0VLbHpUenlUY0NIWWVQTmtyNzFCTHk5S0plZzY3aURQeWEvUVV3dy9BQzlPajhjMUhJdUR2N0lNdm5OUCtKMDJPY1RYZUV2bEtReVRXTGtGOHY3T2xjdzNjbEhmZlRsSDZPdlB3eWFMdU5MbzYvOUgvcnFUM0l2ZFBVNCtHUHlHOFNVaGgrQUZxQU42T1BncjZCYXdiL0hwTXgvcGhwNkxDQ1o2L25xbDdYYWIrUGx3K3UvUmpjdFJZWlBnOTNHUU8vczU4aDJib0l0TDZBYi93U3RtNHIvRElWeThNZmtONGlwQUQvUW1tMEEycWU4ejdKd0xESE5Eci9CMlg2dkIreHI4M242cklabWo5WExOSUZJZS9qdGZEc0RIRDh6OCtlVUdQd1B3aHUvTTNYYlpnK1JwaUhnQjJqMVVHMnQ3TE15eEJEVEhlQTN1S3R2NENIUVk3ZHdOWWFPZzVIL0ZuZzQwSFFiZURyNEt3eVg5TGQ2Q0czbWMzSHdSNWJOTGIzOXkyeldiS0loUjhOQnhlY0VtZ3IrdFErNlMzMFZoOHY2Mnp6SU5nQUhmN0ZxRFQ5QWp4aUFHVG91M3dTYURuNzNtNy9DY0FXL1pGWUFPeDM4blZRUDhBT2tkOFJUZStnNE9DajRjS0MwNmhqK2RiOXc4RmNjTnFpaHRIcjQrbTZrd3JIRU9QZ0RGWGlDTUtTR0hvMGNkSlpoRTZoaitOYytDT3QvRzM1ZVlmek5DSDlHNzNnb20wcVBPL2dqSzhvMlh1LzlGZnkyOGg0YkRSdG4wQVRxSEg3M203L0NzRTBOM2VTQmJBNVZPSllZQjMvRitJMlB4enVuc2szQXdXK2VwdEhoQjFVMmUzaEJLd0FIZjJURnRZSG42NytHRDE2T2JWcEFwZ21NUEx0VEU2aGorTjB4djhGd2lCcWlteng4T3EwQUhQeVJGZWZ1dmRvQkwvMFF0cTJMWldwNURUMjZvQW5VT2Z6dW1ML0NjTGdhbnJLNTB5R0Fneit5NHQ2Nk81OXpWc0pOd0hKT2hYTHd4K1EzaUlrSmZnQThObnQ0L29iSWllTHdPL2pMK3hOdEF1ZUV2enJnNEkvSmJ4QVRKL3dBZm1xalIxcldPUGhqVUpMd0Y5V29WUk53OEVldUVTVW1idmdCcEdPMWgrK3Z0cy9tNEM5U05lQXZxbFh0SnVEZ2oxd2pTa3dTOElQUzNyTFdrMGszN0FEZURvZ3dUUlRlNytBUDU2OXFFM0R3UjY0UkpTWVorQUUyeUlsMzc4ejhUYXV1anBBb25OL0JIODNmc1IxZGVTTnNXMnRacDRLS21vQ0RQM0tOS0RISndRL0tHb0JNQXhCWkV6cFJHTCtEUDZLZnpJMDlIZHZSbGJNU2FnSUJWd2NjL0RINURXS1NoQjlReWZ6U3o2MEFYZ21ieU5ydjRJL29wL2l1dnNTYXdESEZod01PL3BqOEJqRUp3NStSdkFxWkxjSEE4NTZuNUsyaWpRei9pZkNoVDF2bXJxQjYyN29ic2szZ1ptVE1wZEIzWCt1Y0pUWDBHRVE4ZFBOeVpNVHBoZy82TkpldW5RZHYvTjdVYlpzOVJKcnVBajk0cXM5QmJnV0FQQmMya2JHLzJ2QVBPeFkrOUkrV3VTdW9YaDdhRWFTT3JlZ0wzNC8veE9DUUR5T2p6bzBmL25XL2NQQlhIRTRHZmdCU3FZSUdzTFgvaTBEeDFtQ05EUCtBQTJIRTV5Q3ptMzA4NnRnR0syK3NqMlYvS2VWUERNYmNCR0tXVy9hYkRDY0lQK3prOVcycklOc0E1TVNaSFNBcnd4ZXZJL2k5bm5EZ21aWWZiNjJnZWx6MmwxTEhkblRsRCtxMkNUajRUWVlUaFIvZ3IzTGF2RFRrRHdFQTBXZkRGYThqK0FIMi9qajBHbUtadjR3YUNmNWNqVHB0QWc1K2srSEU0VWVWWjNQZkYrd1d5WE1ORDM5TDM4d1RjdUpTUFIvelY2cFJaMDNBd1c4eW5EejhvSGdleitkK0t0d3Vka2xzaFdzQlAyUWVXNVVxOGF4VFd6WENNWCtsR25YU0JCejhKc1BWZ1I4QThSZm5YdG5WQUlaMExLWExpY0FRaFdzRlAyUzJ3WTVEamJqc0w2VWFOd0ZkOTNNSGY4WGhLc0lQcmJTMlBKWDdJZDhBWk5Tc1Z1RHBTSVZyQ1grcU4vVGJ6ejZ1c3hwNTJWOUtOV29DR2ZnZk1YWGJaZytScHR2REQvQ2tuSGozenR3UG5VK1ZMd2hkdUpid285QjNyK2huL3B0aDJWOUtIZHZSbFFsOFRxQ0VIUHdtdzFXSEh4VXBZdHpyNUMzVEFPb1lmZ2ovQ0syY212RTNmMmQvbFpxQWc5OWt1UHJ3QTNpK2xta0FIYWtTRGFETzRRZm9NU0JFZkZaK1cvUCs1dS9zVCtvdXdtd2RYZjFUQjMvRjRkckFEeWphc3Jqd2hhSUdJSk8vOXhid1YrUEM5UUkvWkQ0QUZGYnRXMkhIeHNvMUtxck80YytwWXl2Nnd2L0NPODlZNWlxajlFNzBwZG13OFkvaDV4WEc3K0MzOFQ4cjArNHEydnNqNEtCWkNrN1pOZ2o4QU8zdmg4aVRWYThoY1BENTRMV1VyMkU3cDBvUnRZQS9wM1FyK3RJUDBkVnpNNGMvVWJUbFJmVFpiOERtNWRIblplTjM4RnY1RmJwY2pnazZhL1pJeGNMMUJqOUVhd0FBZzhiQXFQT3lUYURKNFMvMHZQa1g5Sm12Wlo2eTI3SFZyc1Q3cTlBWFoyVldFenZmaW5GZUJuNEh2N1hmOCtseWJOYlN4ZFZ2NEYvWTl0NEhRUEJCZFQzQ0Q5QmE0Z0ZITmhvMEJrYitHNnk2RXpRZGZVNmxJdW9DL2dKMWJFVmZld2hlZnhoMkc0M3NOZ2I2SHdDOWQ4K2VXNUhNZVpLMmQySDdCdlQ5VmZEdU03RFRZaWU1TVBOeThNZnBmNSsrZlJaMmZqSHdkamxkZXRsRHdEK1kxNmlETngzZ3FHdWhaOFNyQVFEdlBtdllCSm9BL3M0eFJ1RTEvQWZ0NEEvci83azM1ZDdQZEg2eDFJWHpycWR4NngxK0pRTnVIQm84Rmc3K1VxZHpBaUhtMURuQ3dSL043K0FQN1JjSllKcFNEYUJEZmdYNGxXdlV3WnRlYUhsN2NWbWJsUWFOZ1pGbmc2VEN6YWx6aElNL210L0JIOFh2azlhSGd3WUNHNEJNdW1FOXlzTHlOZXJnVGU5czJiWU90cndZb2s0SkRSNExvODdwMUFRYy9LRnFSUEU3K0tQNWxUL0p0RGtiZ29iS2ZYYjJnWWFDUC9mRDJwK0Qra0h1Y0NvNkhIRHdoNm9SeGUvZ2orWlhFT0dCVXNPbEc0RDBtQWNFbkFXcmd6ZTlpNlhnaHgwYjRJMUhROVFzbzZKTGhPWnk4RWYwTy9paitUUFdOTUxQUzFsS05nQVovOTJOQ0g4SlhUeVUzekNtRlB3NXJYOEV0cXpzK25vVURUb01ScDREWXRZRWFnYS9lSmxMZUVPT2dzRkhRSis5Z21NYy9ORmlHZ04rUVA4b2srOHQrU0dOU3YrYUh3Qk9zQzRleW04WVV3bCt5QndDckxvVER2MXlCb2E0bERzbnNPcE8wSTdTVTZ3Ri9DMTlrYjAvRG50TTdicURiK3NtOUkxSDRhMG5NdStOZ3o5YVRPUEFqNGpjWDg1YS92NVpiWDhBZEdkZHZPbGRMQlg4NlZaNDhSYll1aWJFWE1vb2YySXd1SGZXQlA2K2V5TkhYQU43bnhTOGZYZXZZY2lJTTVEUlg0R1V5ZmJlRG43ejRmcUZIOWlCcGt2V3lLbmhBQUFPYjBsRVFWUXUvNkZDQTVBSk4yOUcrS1Y1OWFJWnhCdGpBMzlPNlIzSk5ZRXU5dzdVQ1A1Kyt5Rmpyb0Jld3lxSER6d1VPZlRpMkQvZjRPQ1BzVVlVZnpIOEtNeVRxVDk1dDF4STVSMDBWRzRQTVFNTEpRUi9UdWtkbWZ2ODQyNENuYzRKMUF6KzBaZlpQYlJqd0VHdzE4ZGltbE9ZR0FkL0luN3Q4ZzJlY0VlbHNNb05ZUHozNXdPckxHWmdvWVRoejhVazFRU3lod05LMEllRktzd3BxajhNL0ZuSjNoOFBXQVU0K00ySDZ4OSs0Q1VtejNtaVVtakZCaUNDSXZ6SWNBWVdxaEw4T1NYWUJPVGdjNDJ2RHRRYWZpQ3pmZnJBZ3lQTUtVeU1nejhSZnpEOGlIQzdTT1ZFWnB2bytkd0Z0RmVZZ1lXcURIOU8rU2F3T2tTK01obzhGam1rNnprQm96blorcVBDbjFQKzhxQ0QzM3k0TWVBSDJoQzV4eVNGVVFPUWlUOTRFeVhnY2tJRHdaOVRVaWNHQngyZWVZaG15WlZBSGNFUDJSMlVIUHptd3cwRFB5cjZrM0xYL2d0bHM0M3VkNHVyTlNEOE9WWDljS0RPNEFkbzN4SWl5TUVmVzQwby9qTHdBM2dxM3pkTlpkd0FaT0lQbmtYMXNYS0Z5NnRPNE04cHZRTmV2S2tLaHdNeC9FUG91Mi9tR242Y2oraCszK0M4YnBFYy9MSFZpT0t2QUQvd2lFeWRzOEkwbmQxRytoN1hOd1g4T1g5aWx3aHpod014WEIzb3R4OHk1bkpvNlIvTDFJQU0vTVpiZUlHRFA4WWFVZnlWNFVkVXYyZFQzYW9CeVBnYkh3R011MHRHZFFwL1R2bVZ3Sm9RZGNzb2pxc0RjUy83QVRTTnJuM1FKc0MyUUlnMERuNXphOW1ZWjVrNjEzUmJac0IyQlpEUkRlYldPb2MvcDhTYXdKR0dUYUJLOEFPNitqNkx3eDRIZjJ3MW92ak40RWRFdjJOeTZhOVE5ZzFnN1lZNXdOOHFHeHNFL3B3U095ZHdKSEpJdWUzRnFuVE1ENWtuOXJ6NVoxTzNiZllRYVJ6ODV0YUtNUy94Umx2WkczK0NaTjBBNUxSNWFVU3ZMZTlxTVBoelN1cHpBb01PUndMM0dDd0IvNWpMNGozbUIvZTRMcVBoT3ZsMzJNVmFPVWFRLzVEVDVwbHVaWjFYdUtkcEhqdjBQcURFRHB3TkNuOU9WV3NDRHY3SU5hTEVOQkg4d1BOTU9laG5scE1CUWpZQWtaaytHclFLYUhENGN4RWQyOUdWc3hKc0FnRlhCeHo4TWZrTllwb0xma1M5L3hDWkdXb2Z2TURuQXBoSUZXSHBwVThCUjJWZk1RZ3ErWU5wMVlUOUZOL1ZsK3FOakw0RStvK3d6bE5XN3oyUHZuUWIrTmxOUlJ6OE1ma05ZcG9NZnBEbE11WGVZMjFQL3VVVTdoQ0EvRTFDWDgzODFJVHdRK2FCbDRtdEJDN0lIQTQ0K0dQeUc4UTBIZndnb2xlSGhSOGlyQUJ5MGlXWC9BcjRWSGxUeVI5TXF5VHNENEMvVUtrKzJaWEFBZFo1eTZwMUUvUVlHTzNKeGwyazZKcDVzT0VQeG43Yi9QWnBIUHptVnBzYStuTnY2dHd1VC91eFVlZ1ZRRjRwTGdkYVM0NDNPdndBNlIzb3lodmpYd24wR2hZei9LRHJmdUhncnpoY1ovOE9ROEZQbS9nNnd5WWdTSkViZ0l5YjlRcWlzd0lIbXdIK25KSTZISWhSYnRsdk1seG4vdzdEd1krcVhpL0gvOFQyaG80dWlyNENBR2pyKzNWZ1k5RnJ6UVIvVGttdEJDSkwwVFgzTy9nckR0Zlp2OE9ROElPKzZmWGsyNVpCZ1lxbEFjaVU2ejVBOVpyOEM4MElmNjVHZW1lZE5RRkYxendBR3g0ejl0dm10MC9qNERlMzJ0Y1E5RXFaT1BkOXk4QkFSVDRKbUpNcXdwSkxmZ2Q4dE9EVk1Ka1M5a2VBdjFDcDNzam9TK08vUkdnbEI3L1pjSjM5TzR3QVB6QmZwc3o5dXlobi9nc1Z6eUVBdWN1Q2VqNndMZk5LbmIzcHVZaTRkdSt0K1VyQXdXODJYR2YvRHFQQnYxMjhqdlBpZ2g5aWJBQUFNdUdtMVNqWDF0MmJub3VJZSt2dW1qVUJCNy9aY0ozOU80d0dQd0pmazhuM3YySVpYRmF4TmdBQWRnNjlIbGh1RjlTQThPZFU5U2JnNERjYmJpNzRnV2ZvV1A4RHkrQ0tpdTBjUUtGMDBjVkhJN0lZNkdIZ3RzMXVQNTlxUExRajFUdHpDMitpNXdRYy9HYkRUUWQvbXlEamJiYjZNbFg4S3dCQWpydjVLVVJtVm5ZMkNmeFFoWldBZzk5c3VPbmdSNVQvVEFKK1NLZ0JBREIrNkxkQjU1YzJOQkg4T2FWM29DdS9EKys5WUptblVwazArdkxkRHY2S3c4MEhQOEtmMmRoMnZXVUNZeVZ5Q0pDVExyNWtYOUFWd0pCT0k3YVo3R3ZYNGxsOU9ZbUg3UHRKMlBzVElCRjdiT3NtZE5VZDhNR3IwZWRsNDNmd1IvUEhBVCs4SjVJNlVxYmNzODR5aWJFU2JRQUF1dmlTZndHZFYvQ0tiUWI3bXJXRXYxQjk5MFgyL3d6c050b3lQNURlQ1JzZVE5Zi9GdnkyZU9kVnllL2dqK2FQQjM1RStLeE1tV3U5elplTkVtOEFBTHJveTNjamZMRmJ3VitvZmg5QzlwZ0VRejRNUFhZcms5cUhiV3ZSVFV2aDdVWFFzVDNCZVRuNEUvSEhCTC9DN2FtcGM4KzNUR0t0NmpTQStXZjFwaysvQmNEUkZsSDJkZW9SL3NJWUJYb1BoNzU3UTY4aHU3WUhhOSthdVRWNDZ6cEkyMEFmZGw0Ty9rVDhNY0VQUENPcHRra3lhZDRPeTBUV3Frb0RBTkFGRis5UGl1WEFVQU8zZmY1R2dEL3BHbEg4RHY1by92amdmMGQ4YjV3Y2YyOVNsNU9LbE54VmdFNlN5VGV2QlU0SEt1eGM2dUFQVlNPSzM4RWZ6UjhmL0w0Z1oxUUxmcWhpQXdDUWlUZi92dnlXNGc3K1VEV2krQjM4MGZ6eHdZOEkveUZUNTVqZTB4MkxxdG9BQUJpL3g3WEFRMTBISFB5aGFrVHhPL2lqK1dPRUg5R2ZNWGx1TFBmNDI2anFEVUJrcG8vZjgzU1F4YnRlZGZDSHFoSEY3K0NQNW84VGZuU1piRXQ5TWM2Ny9FeFZ0Wk9BbmFWL3ZtUjNldm1MVUQzSU90YkJIODN2NEkvbWp4VitWa3NQL3ppWmVOK2Jsc2xpVWMwYUFJQXV1bWcwd2dKZ3NIR01neithMzhFZnpSOHYvTzlJeXA4c2srNTcwVEpaYktyK09ZQUN5WEczck1UWGYwTEs3Q3BjSUFkL1JMK0RQNW8vWHZqYlJUbXRsdkJEalJzQWdFeTY5VS80ZkpFS2x3Y2QvQkg5RHY1by9uamhUNHZ5T1prMjEvVHVyc1JVOHdZQUlNZmRjaitpNXdDQnp6ZHo4RWYwTy9paitlT0ZYMFhsQXBrMjkwSExaSW1vTGhvQWdFeTQ5Y2VnbDNaKzNjRWYwZS9naithUEYzNUU5UXFaTnVjT3kyU0pxVzRhQUlCTXZQVm1oUCtYKzluQkg5SHY0SS9tanh0KzRXcVo5cE1iTEpNbHFycHFBQUF5NFpZYlFMN3U0SS9vZC9CSDg4Y012eUwvTFZPcS8wR2ZTcXJwWmNCeTBrVVhUbGRNbjM3aTREZFA0K0EzdDhhMTdPZS9aTnJjcjFzbXE0cnF0Z0VBNktJTEwxQzRtYklyRlFlL2VSb0h2N2sxcGhOK3lPVXlkVTdzdS9uR3BicHVBQUM2NklJekZMa2JhQWtZdGMwV1pnYVc0UTUrOCtHbWhqOHR5SGt5ZGM1ZGxzbXFxcnB2QUFDNjZLSi9WZlFlb09CWjJnNSs4elFPZm5OckhEV2tWVlEvWHkrWCtzcXBJUm9BZ0M2NllMSWl2d1NHT2ZodDBqajR6YTJ4MUhoWGtIK1dxWE1ldDB4V0V6Vk1Bd0RRaFJlTlZQRi9BNHl5aUFwVHlUTGN3VzgrM05Ud3I1YVVmM0t0UDk1cm80WnFBQUM2N1B4aDJ1NzlFcGhzNEE1VHdUTGN3VzgrM05Ud0w1VWUvai9VNnE2K3NLcTd6d0ZVa295YnZVbDYrQjhIZmxIZTZlQ1BYQ05LVEhlQ1gvUm5rbW83b2RIZ2h3WmNBZVNraXJENHdxc1UvU2FRNmpRYUpxTmx1SVBmZkxocDRWZEZydk9takx4R1pHYmdmU3oxcm9adEFEbnA0b3RPVlBWL0N1eVJmU1ZNbHNCdmpmeGhha1R4Ty9paitlT0NYOWtzNkJreTdTZVBXaWFxS3pWOEF3RFFwUmZ0cDJuL1o2REhob2dPL05iSUg2WkdGTCtEUDVvL0x2aEZucGEwZkthYXUvY21wWVk3QnhBa0dYL0xhNko5amxlNHl5N1N3UjliVERlQlgrRjJhVytaMUF6d1E1T3NBQXFsaXkvNGpLck9wc3NEU2JzNEE3ODE4cHZQSmg2L2d6K2FQdzc0aFMyaWNxRk1uWE9mWlpLNlZ0TTFBTWdkRXFUdkFVNG80UWo4dGt6R01MT0l4Ky9naithUDV6Zi9mT25nQzNMaTNOY3RrOVM5bXJJQlFQWXF3Wkl2WGFyS2RaVDZDTEdEUDFwTTg4UGZvY2czdlNranY5Nm9aL2tycVdrYlFFNjY4SUlQcStnZHdORU8vaGhqbWg1K1hTWjQ1OHJVT1Nzc0V6U1VtdUlrWURuSnBOdWVscDE3VFJEeEx3TzJBZzcrcURITkRmOE9RV2ZJaHZhSnpRNC9kSU1WUUtIMHlRc1AxTGFPMnhENVdBVm5tT3p4K0IzODBmeVI0SmMvQ2Q3NU12V2VseXlERzFiZHFnRkE5dHpBd2krZHBhTC9Bd3dQY0lUSkdvL2Z3Ui9OSHg3K2pZSk1sNmx6N3JFTWJIaDF1d2FRazY0NHM1Ky90YytWSWt3SGVtZGZEWk1wSHIrRFA1by9IUHp0aXQ3cTllQS9aZUxjOTIwQ20wWGR0Z0hrcEF2UEdhbWt2Z1Y2YW9qb2VQd08vbWorVVBETHcrSzFYU2FUNzMvRklxanAxTzBiUUU2NjZMeVBxdklkNEdqRENOc0tJZEk0K00ydHhqSEx4SmZwY3Z5OWY3U2JVM1BLTllCT3lqUUN1UTcwdzJWY3RsbERwSEh3bTF0Tll2U3ZndmZmVExuM3dWbzhocnRlNVJwQWdESzNHcDl6aXFyM0RXQnNwMUhiYkZZdngxb2pTa3p6d0w5UzROdHNhSjBycDgwcisveko3aWpYQU1wSUh6ZzF4VDY3bmE0aVZ3SmpIZnd4MW9qaU40UC9HUkg5THBOSC9iUlpQOFVYaDF3RE1KUXVQbitLK3Y1MDRKTVl2VzhPL2tUOGxlRmZJTWgzbUhMdncyNnBYMW11QVZoS0Y1ODcxdmU1UXVDekZOMWpVT1N5ZXRsZ01BYS9RVXpqd3QrbXluMmU2dlZ5L056bkxDZlFyZVVhUUVqcFh5NGNUS3I5VklWTGdNTUxSa29FbE0xbVc5M1NieERUbVBDL0pQQWpQTGxMSnQvN2xtVnhKMXdEaUVXNitOeGpmSi96QlQwRDZOZlZVRGJhdHBxbDN5Q21zZUJ2Qlg0bGVMT1pjczlqYnBrZlRhNEJ4S2hkcXdJOWpjeGVCQ2tIZjBSL3hwb0dmNzZvM0UrNjVVRTU4ZTczTEFzNmxaQnJBQWxKbDN4aEtPbVdUNnB5S3NoSmRIbTJvWU8vZ254VUZ3bk1vNlBsZmpueDdvMldoWndNNUJwQUZhUlBuTDAzbm5lSytweUU2RWRCQjFobUNGUFZjcmd1NEg4ZitJTUlqNURXaDJYYW5BMGhKdVZrSWRjQXFpeGRkbjRQZG5aTThVVk9FdFdUa000Zk5Pb1NFYWFLNVhCTjRWK2hJbzk0dnY4SWZmb3VrSEd6MjBOTXhpbWtYQU9vc1hUeEdRUFJYdU45bnltaVRFYVlRcEozSjlZVy9nNWdoU29MUEhnQ2JYbGNwdDMxZG9nSk9NVWsxd0RxVERyL3JONzA4TVloL25oZlpLd29Sd0NIQWIwTW9pMkhFNFYvSnlJdnFQclBlaUxQa1pZbGJCMjRURTZlMVJxaXFGTkNjZzJnQWFUelo3YlErL1ZScE5OamZlRndsQU5GT0FCMEJNaGVXVmVGSkJWZk1KbEowSXNiVUZhcjZHcVFWejNrZVZMK2MreDhiWldjK0hoSGlDSk9WWlJyQUEwdW5YOVdiM3B4QUw0L0FrbnRpVERVVngyR01FeVVvY0JRVkFlRDlNMUdEQ1R6TE1VZVFQOXNtcTFBTzVBbWN5SU9ZRHZ3THNKbVZUYUR2dTBobXhGL0UzNXFJeW5XME1vYU9mSHVuZFg4OHpyRnEvOFBVdlhTZnNLT041RUFBQUFBU1VWT1JLNUNZSUk9YFxcclxcblxcclxcbmxldCBwaWNfcmVjeWNsZSA9IGBkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVFBQUFBRUFDQVlBQUFCY2NxaG1BQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUhZZ0FBQjJJQk9IcVoyd0FBQUJsMFJWaDBVMjltZEhkaGNtVUFkM2QzTG1sdWEzTmpZWEJsTG05eVo1dnVQQm9BQUJyTVNVUkJWSGljN1oxNW5GMUZsY2UvMlJNZ0pHR0hHQXo3Sm10WXdqNGlPd1JjR1IwR3hnWEZVY0VCVVZ5SHdaRlJSTnlGUVhCQngxSEFmUUIxRkFSbENZc0VZdGdTaEdZbllVMG5KSkIwdXVlUDg5N1F0dDNwZDIrZHFycjN2ZC8zOHprZjh1SFRkZXZVZlZWMWF6a0xDQ0dFRUVJSUlZUVFRZ2doaEJCQ0NDR0VFS0pkR0pGYkFSSE1TR0FxTUwzeDN3MGJzakd3RHJCMlF5WURreHAvVCtQL2pXcjgrMFZnUmVQZkx3QjlqZi8zYkVPZTd2ZnZSVUFYOEJEd1pPTnZSVTNSQkZBZkpnTTdOR1I3WUJ0Z2MyemdqODJrMDh2WVpOQUYvQVdZMjVCNXdKSk1Pb2tDYUFLb0pwT0FHY0Nld0I0Tm1aWlZvMkwwWVN1RXVjQWM0RWJnRm1CcFRxWEUzNklKb0Jxc0Ird1BITmlRblhobHFkNHU5R0FUd28zQVRjRHZnWVZaTlJLYUFESXhDdnU2SHdrY0FleEc1LzBXZmNBZHdLK0JYd0d6Z1ZWWk5SSWlJdU9CWTRGTHNVTzFQc2xmeVhQQVpjQnh3Qm9sMzdFUWxXSWM4RWJnaDBBMytRZFpYV1FwOEtQR3U1dFErSzBMa1ptWndBWFl0Vm51d1ZSMzZRYStDK3hYNUFjUUlqVlRnTk9BZThrL2FOcFY3bW04NC9WYS9FMkVpTTRld0hlQVplUWZJSjBpTDJIYnFyMWErSDJFY0dja01BdjRMZmtIUTZmTDdjQ0p2R0xWS0VRMHhnSW5BZmVSditOTC9scm1BKy9GYmx1RWNHVU05cFY1Z1B3ZFhiSjZXUWljaVNZQzRjQm80R1RnWWZKM2JFa3g2UUxlMWZnTmhTak1HOUJTdngxa0FmQldPcy9TVXBSa0ptYXZucnZqU256bEJtQjNoQmlDZFlHdllQYm91VHVySkk3MEFwY0RteUpFZzlHWWNVa3pFSWFrL2FVYitCQTZIK2g0ZGdKdUkzK0hsT1NSTzlHMm9DTVpEL3diRnRFbWR5ZVU1SldWMk5adlRVUkhNQk80bi93ZFQxSXRtUS9zZzJoYlJtTUdJaXZJMzlrazFaUWU0SE9ZNFpkb0k3YkZiTVp6ZHpCSlBlUm1MT0NxYUFOT3dBSk01TzVVa25wSk4yYitMV3JLZU94d0ozZEhrdFJidm9laUV0V09MYkVJdExrN2o2UTk1RlprUEZRYkRzTUNUT2J1TkpMMmttZUFReEdWNXNQWVNXN3V6aUpwVCtrQlRrZFVqakZZV0s3Y0hVVFNHWElCaWtCVUdkWUNyaVovcDVCMGx2d0dTN0JhYStydUl6ME51QXJZTWJjaW9pT1pBeHdOUEpGYmtiTFVlUUxZQmd2S1dhZWttYUw5ZUFRNEdBczhVanZxbW9CeU4rQVBhUENML0d3Sy9CSHpMSzBkZFp3QTlnZXVCVGJJcllnUURUYkUrdVNNM0lvVXBXNFR3SDdZZ2QrazNJb0lNWUIxZ2V1QTEyYldveEIxT2dNNEFCdjg4dHNXVmVaRnpCanR4dHlLdEVKZEpvQjlzUnp5RTNNcklrUUxkQU92d3p4UUswMGRKb0Nkc2FYVjVNeDZDRkdFWjdEdHdMemNpcXlPcWs4QVcyRW5yQnZtVmtTSUVpd0NEc1R5UzFTU0trOEEwN0JZN3ZMQ0VuWG1ZV0J2NE1uY2lneEdWVzhCSm1PbWxocjhvdTY4R3JnU00xbXZIRldjQU1ZQVZ3RGI1VlpFQ0NkMnd4S1NWQzRQUVJVOW1yNEJISmRiQ1NHYzJRcllDRnNOVklhcVRRQWZBVDZXV3draElqRUR1eUtjblZ1UkpsVTZCRHdFdSt1djJxUWtoQ2U5d0pIWUdWZDJxaklCVE1kU2RLMlhXUThoVXZBY2xwTHNvZHlLVk9FUWNBTHdFelQ0UmVld0R0Ym5zMGNicnNKeSsxdkE0Ym1WRUNJeEcyTzJMai9QcVVUdUNlQkVMRW1uRUozSXp0ZzI0SzVjQ3VROEE5Z1N1QU01K0lqT1ppbG1KNUFsb2xDdU00QnhtTEdQQnIvb2ROWUNMaVdUa1ZDdUxjQTV3SnN6MVMxRTFaaUdSUnErTG5YRk9iWUErMkR4L0hLZlB3aFJKWG93ejhHYlVsYWFlZ0pZQXd1bHZIWGllb1dvQXd1d2c4SGxxU3BNL1JVK0R6Z3FjWjFDMUlWMXNYTzVhMUpWbUhJRnNEdG1BNjJsdnhCRDB3UHNpYTJVbzVQcUZtQVVjQkVhL0VJTXgyZ1NqcFZVQS9JMDRPMko2aEtpN2t3RkZnTTN4NjRveFJaZ1EyQStiWkJJVVlpRUxNSFMzMFVOSlpaaUJYQUJ0cWNSUXJUT09HQUs4TXVZbGNSZUFjd0FicVVhWG9kQzFJMWVZQ2JtS2grRm1BTnpCUEQxeUhVSTBjNk1CTTRuNG9jNjV1QjhNelo3Q1NIS3N6L3dsbGdQanpXempBTCtqQ0w3Q3VIQkFtQjd6RWJBbFZncmdIZWd3UytFRjFzQi94amp3VEZXQU9PeGE3OXBFWjR0UktmeUVIWXR1Tkx6b1RGV0FPOUVnMThJYnpiRHhwWXIzaXVBTWRqWGY3cnpjNFVROEFRV1Njdk5XOUI3QlhBOEd2eEN4R0lUNEFUUEIzcXVBRVlCZDJQN0ZDRkVITzREZHNDTWhJTHhYQUhNUW9OZmlOaHNDeHp0OVREUENlQ0RqczhTUWd6Tmg3d2U1TFVGZUEwdzEvRjVRb2pWTXhPNEpmUWhYaXVBMDlEZ0Z5SWxwM284eEdQUVRnRWVwd0o1em9Ub0lGNENYZ1U4Ry9JUWp4WEFDV2p3QzVHYThUaVlCM3VzQU83RVFoa0xJZEp5TCtZa1ZKclFGY0JNTlBpRnlNVjJ3TjRoRHdpZEFONFJXRjRJRWNhN1F3cUhiQUhHWUFFTDF3MVJRQWdSUkRjV2VQZWxNb1ZEVmdCSG9NRXZSRzdXQmc0cld6aGtBbmhiUUZraGhCL0hsUzFZZGd1d0JyQUlXTE5zeFVJSU41WmcyNERDYnNKbFZ3Q0hvc0V2UkZXWUNCeFpwbURaQ2VDWWt1V0VFSEY0VTVsQ1piWUFvN0RULy9YTFZDaUVpTUp6d0FiQXFpS0Z5cXdBOWtHRFg0aXFzUTZ3UjlGQ1pTYUEwbGNPUW9pb0hGNjBRSmtKNE9BU1pZUVE4VG1pYUlHaVp3Q1RnV2RJazFWWUNGR01YbUJqN0lxK0pZcXVBQTVDZzErSXFqSVNPS0JJZ2RFRkt6aXc0TjhMVVZXV1l6bjN1ckNzT3c4MS90OXl6TmQrRXJBUmxwQmpCMkJyNmhIMWFsL2d4NjMrY2RFSllOK0NmNStiWGl5WlFoZDJkZGxrVGV6VWREUE1ncXFkNmNNU3RWN0xLeDIraTFjNlBKZ2h5V1JnVTJBTFlCZGdUMkF2aXZlUnF0S0h4YTM4MzRiY1FERUhtc25ZQi9BSTRGaHNjcWdpMGNib1dsaGVzcjRLeTBMZ0I4QS9ZUmxVeHJiUXJyV3hyYzJuc0U3UlU0RjJoTXBLNEFvc1dsTklSNTJFcFhuL0tmQnlCZHBWUnBZQjN5UXdjTVlBUmdOSEFWZGlINW5jYmV3dks0aGtwWHRRQlJvMzFBOThFVEFEbnlYYUJsaUk4N2tWYUZ0UmVSNDRsemk1R2RmREpzbUZGV2hucSsvaWt3MjlZN0lETnRsV2FTSjRiWXlHZnJJQ0Rlc3ZUd0FmSis0UGZDaHdmUVhhT3B4MEF4L0ZWbW14V1FPYkNKWWtiRjhSNmNXKytLbU4xZmJGdGxxNTI5K0hqVlYzZmxLQmh2VmhYL3l6c1k2WWlsblkvamwzMndlVG4yRlhQNm1aQ3Z4UENYMWp5bVBZcEoyTHNjQTVtRGx1enZmdzB4aU4rMHZtUnZVQk4yT25zVG1ZQUh5Qi9EOXVVNVpSalpCc0oyR0hpYm5meDNYWTlxMEtISWJaeStSNkZ3dThHelNKdkh1Y1h1RHpWT05FK25EZ2FmSjI5aTVnMThqdExNS3UyTmMzMS92NFBoYWlya3BzaTkyMDVIZ2ZxM0RlRGg2UXFTRjkyT256UDNnMnhvSE5nZnZKOHo3dXdSSkNWSTFwV0hibzFPL2pRdnpUM0hzeGxYeGJ4NzA4Ry9MZVRJMVlSZ243NWtTc0I5eEIrc0ZmWlUvTURiRlk5YW5leC9lcDd1QnZzaW53Q09uSFRsQzA0SUY4S1VNRFhxYTZnNy9KZXFRNytlMmltbC8rZ1V3bHpYYmc5MVJqUzlnS3U1RCsxdVNybmcyNEtySHlmVGlrUFVyRWRDdy9XOHgzc1l4cTdmbUhZd2FtYzZ6MzhRalZYZ2tOeGx0Sk8zNnU5bFQrZ2NUS24rK3BmQUlPSis3dFFCVk8rNHR5TW5IZVJTL3d1b1R0OE9RN3BCdEQ5M2dwUFpxMDVyRzNVcCtsWFgvT0lzNzcrRm5LUmpqekMvemZ4d1ZKVytETFpNd25KY1U0V29hVDg5S21pUlR1dys2VHQvVlFPZ01qZ1p2d2ZSL2Q1REh5OFdJYXZudmZaekVucmpwekF1bkdrNHZEMGo0SkZmNFBENFV6c2pPK0RsTWZUYXQrRkQ2QjMvdjRTR0xkWXpBU3VJczA0eWtvY1dpVHYwK2s3Q0xTMkxMSDVsdjR2SS9uYUkvM3NSWStEa1JMZ0NrUjlCdUxtUStmZ2QxMlhRSjhCbmdmbG4wM0JzZVJaa3k1Wk8vNlVDSmx6L1pRZGdpMkFQYkhYRnNQQjNiRVRIdGo4R3A4VmdHZmo2RGJwc0Fwd0srQis0Q2xEYm12OGY4K1FCeFB3azhUL2o2KzVxelROT0JpNElWaDZyMGZlRCsrbG9aanNROWU3REgxTHg3S25wdEEwWmZ3RDdDd0hkWnBIaDZpemhjeHA0azM0Ui9wSmZUd2F5VTJXTDJZaXJsTXQzS1l1d3E0SEx2ZTlHSTZZYmNrcTRCdG5IUVpnWG5MRmIybVhJQnRoNzA0djJEOVplVGZQUlM5SklHaTMvRlF0TUU2Mk14ZTVDdDhLekRUVVlkWkJlb2VUSzV3MU9YMWxEdUk2OFkzQTlSdlMralFsTmxPT3F5Qmhjc3FxOGRMV0xBWkQ3WVAwS05WY2JreCtYa0NSYjFtMXEwb2I0cTZFbHNDZXpBYWVMeWtIbjNZU2JFSEh5VDh5M3Vxa3k1dkM5RGowdzcxandBdUM5Q2hLYjNZdVpnSHNROERML05ROG9iSVNqNlB6NzMvdHRqQldhZytwenZvQW5CZXlmcDc4ZGtPdlI0ZjQ2UlYrS3dFSmxIK2JHUS9oL3JQS2xuM1lMSVVpd1FVU3V4dHdEVU9Pa2EzZFc4NWd1bHFtQUxNZDlLbkJ4OGZoRU5LMW4rWFE5MnZ3dmYrdlJ2WXhFR3ZtMHZVdlpqd0E3anAyUExkczk5ZUc2Z1R3QnVjZFJvb2R6cm9HRDBReU1rT09sN29yTlBqaEFkV25JQUZhQ3hhOTVjQzZ3WDRkb2w2aDVPTEhmVDZTb2w2YjNhbzk3c2w2bTFGUWsyU3AwZlNxeWt1Z1VGaW15N3VGS2pmMXBRYmFNUEpKd0wxZ25KN3ZIOE9ySE5UNHBodTl4RHVqZmoyRXZYK01MRE9DZGlTUFViZi9XNmdiaU1pNnRhSDNZQ3RsbFo4cVdQSDNuc29zUHpKeElrRzh6N0Nyd2ZubGlqVEZWam42NG1UdldrVUZnOC9oTCtVS0JQYVB3NGhVcGhzNEdqQzNuVWY1am9kaTNIRC9VRXJFMEFzZ3hrdzIrNGxnYytZNWFISUlHeENpWFRMQXhoMkJoNkVyc0E2WThaUU9ES3cvS01seW5RRjFybGJZUG5Wc1M1bStCWENVeDZLRElITEJCQXpIVkpYWVBtcDJOVmZMQTRNTFA5RWlUSmxCa2wvdGd3c3Z6cTJDQ3ovZklreUx3VFdHZHVaS3ZSd2RKbUxGb016YkdLYzNCUEF3c0R5VTEyMEdKclFIN2ZNNm1iNThIK3lXbUttckFwOTMyVTYrNnJBT3RjT0xEOGNrd0xMcjNUUlluQmNWZ0F4WTY2Rk5qNTJWSmpRdklGRmNzODE2UTJzTXlhaHVwWHBTNjJrZDFzZExhZktMa25vRWo2cncxZnVnSXFoOVM5MjBXSm9RcGVmNDB1VUNlMFFaYllkcVo0OXNVU1p5WUYxUGg1WWZqaHl2Sk5XR2ZZRDI4b0FYT0dneUZDRUxzK2VIUDVQZ3FoamgzOHdzSHpNWjVkNUg2RmJtdXNEeTYrT0JZVDN3WmlyV0pjSm9Nd3l0bFZDOC9vOWpKbi94bUpPWVBreS91dWhYb0JYQlpaZkhWY0dsaS9UdHMwQzY3eVZlRmR0b1NtNEp1RHI5VGtRbHdrZzlGQnFkVXduN0pDeGgzZ2RmaW5odHRSbFR1UTNENnp6RjRRZm5BMUdENVlMTUlReUxyMmhhYjM3TUZkb2IxWmluckloYkVuY2JmaXdxL2ZjRThDYWhKKzBmODlEa1VHNGd2RFZUNWtPSHhyKysxSENMZFFHNDF1RWYwbkxSTmpaaVhCYmxQUHhYd1ZjaUVYTERpSFV6bVE0UW0xc0FMTm1pMldxMklkWnJvVVM0bXMrbUN3bmZHazJDanVrTEZyM2pZSDFnbDNYZFplb2V5aFpqTTk5K20wbDZ6L0lvZTRqOERPUnZvL3c2eitBLzNMU1p5aTUzVUZIcm8rc3BFZm9xOWZnYTFQOWNRZWQ5aXhaOXdwOE9wZFhoMStGajdYbGxBQjl6bk9vSDh6Vk8vUjlQSXRQaHVvUjJDRnp6TEhsNGc0Y095QklHWHY1d1hnalBobU1mNEtQOGRPWkFUcTgyYUYrc0dBZW9RRkJUbkhTSlNRUTVnUDRHYVNkaEtXZEs2UEhBc0xQSkpxa1NManJrbE1paG12cFFBazk2VzN5ZHNMOHZpL0h6L2xwZG9BZW9hZkwvVG1HY3R1QnhaaXppeGUvTEtGRGY5bmZVWmVad0MwRjZsNko3ZmxEcjJqN2MzR0Irc3RLNkNFbFVENnlUUkg1Vnc5RkcreEw4ZUFnTDJJeCtMMitNbHNYckgrZ3ZFejRGV2wvMXNkODhWdUp5TE1LTzFqMXRLRmZuM0NYN1I4NDZnUDJXNzhSVy9FTnRYMThDUGd5ZmdGSm0weW0zUGxRVWZtTWg3S25KVkQwUVh4ZFdNZGdvWnp2SDZiZTU3RXJJbStmZ25PR3FiY1YrWlN6VG1EKy9PL0hFa2ZlaTUwU0wybjgreXJNQlRwR0J1S3pDSDhmS3duM3ZCdUtDZGc1MG1GWWxPajlDTCtPWFIyZkpQNlk2c01weG1XcUpBYkhlU2c3Q050aFFUWStneTI3dm9UbE9qaVlPSEVFMXNZbk51RkM0c2RpU01GRS9MSW51eXhwTXpNUmVJWTBZOHJsTENsVmFyQTU1UGROOE9CaitMMlRHS3VBMUh3S3YvZlJneVYxcVRNcDhnRTBaVjhQaFYrZFVPRVRQUlRPeUFiNGZQMmIwazE4bCtlWWJFYnhCQnpEeVUzRWlYaVVnaDN4elIwNW5IZ0VjbVVVNWE5TmlzcmorSjYwcHVaUy9OOUpxUGx0VHE0a1RqODVJMlVqbkJnUDNFRzZ3ZStXSGh6TThpbVY0dC8yVWpveGgrSmpoekNZbkpTd0hWNmNRcncrc2dLbnpMY0orUWJweGxBZmNJK244ckZtOHFIRUphdHBRamJCSndQdVVMS2NjQitCbE95T2Z4eitnZklZY1JLWnh1QmRwQjAvZlRnN3lYMDVzZkpMcU05aHp6amdEOFIvSjNYcDhKc1IzOFMxS2ZPd1hKQlZaaFpwOS8xTk9kK3pFU2RuYUVBZE92eEl6SG93MVR1NW0vQXdaVEhaZ09GdEw3emxUdUtIaGl2TExQd1BRVnVWZDNvMlpPOU1qWmhQZFNlQmtjQTNTZjlPN2lXT3NVNG9tNUYrOERmbFB1SkdReTdETzhuejVXL0tucDZOV1F1ZlJKTmw1RUVzOFdlVkdJZkZDOGoxNHo0R3pJamV5dGJablhUTC9xSGtXZUR3MkExdGdYSEExOGo3TG5xSkVHeDBRY1lHUFkrZHNsZUJxY0FmeWZzRDkyRkxTNCs4aXFHY1F2d0R2eUlkLzR2a3M2RGNIdlBCei8wZVFnT1ZERXJPTDE0ZnRnTDVMSEhNZDF2bENDek1kTzRmdUwvOGdqemJwTTFJZnp2VXFqeEl2SXhSZzdFbWNDNXhjbFNXa2RCOGlvUHk0UW8wckE5TFYrNlJMNzRJR3hNL2VrdUlMTUVjVEZMRW1KK0ltZmZtT3R3cUlqZGcyNEpZSnVZVHNiZ1BNYStBeThqcE1ScWJJb0JCcTlJTC9CaS80QXhETVFWelZYNGhZMXVMeUVMZzAvakZWK2pQK3BoWG41ZGpUMHJwYXVqdUZZRjNiK0RyK0pwOWU0cG43SVQvWnczeW5tb09KcjNBdGNEeGxFdkNNUlN2d2VJZ3BQRFpqaUdyc0RpSmJ5TXN2TmdVekV2emwxUm5lUnY2WG00RXpzYXlCcmNTYzJFMGxuL3llTXdiOGFFS3RHTjFzcElDMlpDTDJnci9pYmpaVmtONEhydVQvdzF3SGNVU1VZNEY5c0tDVHg1THZhenVocU1ITzVpNkZic3pYNERkSWl4dXlHaHM2ekFaKzBKdWpibFE3NGU5aDdvNjNyVEtJdXg5TE9LVktMb1RzSGV5RVJZWElEUTlXVXB1bzhBVllORUo0SXRZZ0pDcTA0Zk4xSGNCajJBL2NEZjJGUnVMZlJYWHhtYjJyYkZyeHBocDBJVkl4UmV3ODdxV0tEb0JISU9kT2dzaHFzblJGUEFES0RvQlRNSU9nZHA5V1NoRUhWa0ZyRXVCcExsRnIwY1dZK2NBUW9qcWNSc0ZNMmFYdVIvOVRZa3lRb2o0WEYyMFFKa0pJR2IyV1NGRWVYNVZ0RUNaa0VFak1jZVBLcnVsQ3RGcFBJMWRXL1lXS1ZSbUJkQkxpWmxHQ0JHVnF5ZzQrS0c4amZUUFM1WVRRc1RoeDJVS2xZMGFPZzZ6Ty9mSVlpdUVDT01GYkV1K29takJzaXVBbDZsM3VHb2gyb21tcjBaaFF0d2tyd2dvSzRUd285VHlIOElTQjR6RGJnT3FIcFZWaUhibWFTeEsxY295aFVOV0FDOERQd29vTDRRSTU3OHBPZmdoUEZMS3BZSGxoUkJoZkQra3NFZnVzSG5BRGc3UEVVSVVZeDZCQ1hROFlxWFZOWmVmRUhYbm90QUhlS3dBSm1NQk4xb09ReVNFQ0dZcGR2alhIZklRanhYQUMrZ3dVSWpVL0lEQXdROSsrY04zeFhLZkN5SFNzQXNXOGk0SXIzanBjN0FZN0VLSStGeUR3K0FIMzRRSjV6aytTd2d4TkYvd2VwRFhGcUQ1ckQrakswRWhZaklQMkFtTGZCMk01d3FnRHpqZjhYbENpTC9sZkp3R1AvaXVBTUJpN2kvQUx3V1RFT0lWSHNSeVdKUTIvUjJJZDNqdlZWaXE2S09kbnl1RWdETndqc3J0dlFJQVM5OTlQM0VTVkFyUnFUeU1aYkVxNWZjL0ZERVNmUFJpVmtySFJIaTJFSjNLYVVUSXlSRmpCUUMyQ3BpSHpWaENpRERtWVlZL3E3d2Y3SGtMMEorVndKbVJuaTFFcDNFbUVRWS94RnNCTkxrR1M3a3RoQ2pIOWNEZnhYcDQ3QWxnVDJCMmducUVhRWQ2c1RFVUxSOW5yQzFBazFzSmpGZ2lSQWR6Q1pHVDhhYjRNbThJM0lmRkRSQkN0TWJ6d0RaWTBNOW94TGdHSE1pTHdETGdpQVIxQ2RFdW5JSHQvNk9TYW04K0NzdGR2bXVpK29Tb003Y0JleFBwNUw4L0tRL25kc0hPQk1Za3JGT0l1dEdESGZ6TlNWRlppaTFBazZlQU5ZRDlFdFlwUk4zNExCYnJQd21wcitmR1l6UGJ0b25yRmFJTzNJK3RsRjlLVldIc2E4Q0J2QVM4aXdSN0d5RnFSZzl3SWdrSFA2VGRBalI1RkRzSE9DQkQzVUpVbGJOSnVQUnZrc3RDYnpUd1IyQm1wdnFGcUJLM0EvdmdHT2lqVlhLYTZHNkpuUWVzbFZFSElYTFREY3dBSHNoUmVlb3pnUDQ4QUx3L1kvMUNWSUgza0dud1E1NHpnUDdjQld5Q3pZQkNkQm9YQXAvUHFVQVZ2UFRHQXpjQ3UrVldSSWlFek1IMi9VbFAvUWRTaFFrQVlIUHNJR1JLYmtXRVNNQXp3QjVBVjJZOXNwNEI5T2RCNERqc0xsU0lkcVlINit0ZG1mVUE4cDhCOU9kQkxOT3d2QVpGTzNNcWNIbHVKWnBVYVFJQWN4YmFHTmc5dHlKQ1JPQS9nYk55SzlHZnFwd0I5R2NNY0JWd1NHNUZoSERrYXVCWUtyYk5yZUlFQURBUnVBN2RESWoyWUI3bUJiczR0eUlEcWVvRUFMQVJjQlBLTUNUcVRSZXdML0JFWmowR3BTcTNBSVB4RkhBNHNDaTNJa0tVNUNsc0sxdkp3US9WbmdBQTVtTXY4Tm5jaWdoUmtNWEFrV1EwODIyRnFrOEFBSE94cThIdTNJb0kwU0pMc05WcmtyQmVJZFJoQWdBTGtuZ1VGbUZZaUNyVGpRMysyYmtWYVlXNlRBQUFOd0NIVWNHVFZDRWFOQWYvVGJrVmFaVXEzd0lNeFI3QXI0RjFjaXNpUkQrYVZxeTErUEkzcWVNRUFMQTk4RHZNYWxDSTNDekV2dngzNWxha0tIWGFBdlRuSHN5d1lrRnVSVVRIMHdYc1R3MEhQOVIzQWdCekhqb0F1Q08zSXFKam1Zc1orZFQyUTFUbkNRRE0wT0pBNEZlNUZSRWR4Mit4RDFCbGpYeGFvV3JlZ0dWWUFWeUdCUlBaSzdNdW9qTzRCRGdlUzNvcktzUUhzTkRLZlJKSkJPa0JUa2RVbW9NeDArSGNuVVhTWHZJMDFyZEVEZGdVdTQvTjNXa2s3U0Z6a0ZkcTdSaVBSV0RKM1hrazlaYUxnUW1JMm5JQzVweVJ1eU5KNmlXTGdiY2kyb0l0Z0p2SjM2a2s5WkRic0Q0ajJvalJ3Sm5ZdFdIdURpYXBwcXdFUGdlTVJiUXRNNEc3eWQvWkpOV1N1MUUwNm81aEhIQU9zaG1RV0I4NEZ6czBGaDNHcnNDZnlOOEpKWG5rRm1CblJFY3pDbmdmOEJ6NU82UWtqYndBbkVMOWZXR0VJeHNBM3daNnlkOUJKWEZrRlhhdnZ3RkNETUVNNFBmazc2d1NYNW1OSFFBTDBSSUhZLzdldVR1dUpFenVBZDVDZmFOZmlZeU14RHJQZlBKM1pFa3hlUmg0RCszaDhpNHlNd1k0Q1F2L2xMdGpTMVl2RHdEdlJzWThJZ0pqZ0JPQlA1Ty9vMHYrV3VZMWZwdlJRLzU2UWpneEFrdFVjaDM1TzM2bnkrK0FvOUdWbnNqRVRwamI4Vkx5RDRaT2tlVllXSzRkVy9oOWhFakNKT0JVNEM3eUQ1QjJsVGxZMkxjcExmNG1RbVJoTitDcndEUGtIelIxbDBYQU41Q2pqcWdoWTdHemdrc3g4OVBjZzZrdTBnMThEMHUxcFVNOTBSYU1BMlpoZTljbnlUL0lxaVpQQUJkaEU2WTg4eEloNjZnOGpNQk1qby9DTWg3dlFlZDk2WG93ODl6ZllZbGRic2Y4TUVSQ05BRlVnNGxZZnJtRHNHd3p1MkEyQiszRVNpeU4yODNBdGRnVjZwS2NDZ2xOQUZWbEFyWkMyQXR6WU5rRjJKejYzSFgzWXZueTdzVGlMY3pHdnZETGN5b2wvaFpOQVBWaFRXQUhMSURGTnNDV3dOYll4REF1azA0cnNDU3Q5MlArRXZNeDU1dTVtRjJFcURpYUFPclBTR0JqWUZxLy8yNElyQStzMDA4bVl1Y01FekVIbWJVSFBHY3g5dVZlZ2czc3hkZ2dmaGE3em53R3k0N3pHUEFvOEFpV25MVXZXc3VFRUVJSUlZUVFRZ2doaEJCQ0NDR0VFRUlJSVVUTC9COUUvYmZIYkd1VTJnQUFBQUJKUlU1RXJrSmdnZz09YFxcclxcblxcclxcbmxldCBwaWNfcmVjeWNsZTIgPSBgZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFRQUFBQUVBQ0FZQUFBQmNjcWhtQUFBQUJITkNTVlFJQ0FnSWZBaGtpQUFBQUFsd1NGbHpBQUFIWWdBQUIySUJPSHFaMndBQUFCbDBSVmgwVTI5bWRIZGhjbVVBZDNkM0xtbHVhM05qWVhCbExtOXlaNXZ1UEJvQUFCMlBTVVJCVkhpYzdkMTVmRlRsMmYveHozVW1DYXNiNEZLcjRJSW9vcTFDcllLWWhNVmE2b28yUHBJQW9yVzIvcXg5dE5ZdWRubWlyUXZXYW4xYTlTa3FSVWdDR2x0eHQ4b3lpZURTU3QwUUZGR0JBa1ZaWE5pVHpGeS9QeWFSTGN1WlpPYmNNMmV1OSt2Rml6Qnp6bjIrR1hLdW5IT2YrOXhITUZsTlI0M3F4T2I5ZWhPUjNxZ2Vpc29CUUUvUUhpQTlnTWEvdFh2akt0MkIvTWF2OXdZVTJOajQ3enBnYytQWEc0RU5xRzVBWkFQSytzVGYrakdpSzRpeG5FL3FWOHJiMVhVQmZhc21EY1IxQU5NMkxTbUo4Sjh1UjVJZlA1NDR4eUk2Z0RpSElmUUd2dVF3V2h4WUF5eHIvTE1RVHhlaDN0dEUrMzRnbE1jZFpqTStXQUhJTURybzhueTZiejRCT0FYNE9uQWNhSCtRVG82akpXc3JzQWg0Qy9RZkNDL0I2b1VTalRhNERtWjJzQUxnbUk0WTM1TjR2Smg0ZkFncUp5TU1BanE3enBVbW00RUZ3TXVvektkZ2U0M01xdjdNZGFoY1pnVWdZRnBjbkljYy9GVmlqRVJrSkZBTTVEbU81VW9NZUIyUldSQ2Z4ZHI2V3V0VENKWVZnQUJvOFpoZXhPVmNrTkVJeFVBMzE1a3kxT2ZBYk5CSGtZSW5KRHJsVTllQndzNEtRSnJvYVNYN0k1MUdJVm9Dbk1HT25uZmpUd3psWlpCcWxJZmxoWXIvdUE0VVJsWUFVa2hQTHR1YkxuSWh5c1dnUXdEUGRhYVFpS0ZFRVgyUVRkMy9LZ3NtYlhFZEtDeXNBSFNRVXU1Ui9PNFFORElPdEpURWRYYVRQcDhEanlFNmxXalZiRW1NWXpEdFpBV2duUktIK0FXWEkxd0dIT1k2VDI3U0pRajNRY0g5MWwvUVBsWUFrcVREeGg1TlhQOGZjQm5RMVhVZUE4QTJvQm92UGxIbVRuL2JkWmhzWWdYQWg4UmgvdEp6VVAwaE1NeDFIdE1pQmY2T3AzOWdidFZ6ZG5yUU5pc0FyVkRLUFlyZVBSTzhHNEVUWE9jeFNYa0xsZHVwN1Z0aFE1SmJaZ1dnR1lrZGY4a0ZJRGNDeDdqT1l6cGtJU3EvNDhEdGxWSmRIWE1kSnROWUFkaUpVdTVSdUhRc29yOEVqbktkeDZUVVFvUWJpRmIrMVU0TmRyQUMwRWdMeHcxSDlIYlFFMTFuTVduMVQ1QnJwYWJpQmRkQk1rSE9GNEJFcno2L0FTMXhuY1VFNmtraURWZkxuSWZlZHgzRXBad3RBRm84cGhjYXVSSDB1K1R1elRnNVRyY2o4aWZ5Nm42VHEzY2w1bVFCMEtMU0V2RHVCdDNmZFJhVEVkYWc4bE9wclpqcU9ralFjcW9BYVBIWXZxamVDNHgwbmNWa0lua2FhYmhTb2pPV3VVNFNsSndvQURybzhueTZiZm9SSXVXRWQ3SU5reHBiRWJtTnRkdHZ6b1c1Q1VKZkFQUzBzUVB4ZEJwd3JPc3NKcXNzUUwxeFVqdHRzZXNnNlJUYUF0QjRUZjhxUkc4RENsem5NVmxwRzZybDFQYjdYVmhIRTRheUFHanhSWWVoa1FlQlF0ZFpUQ2pNUXJoRW9wVXJYUWRKdGRCTldLR0ZaWmVpa1RleG5kK2t6a2lVTnhKWGo4SWxORWNBV2p5aE0xcjNSNURMWEdjeFlTYVRXTGY5cXJCMEVJYWlBT2p3MGo3RXBCbzR5WFVXa3d2MFZTSjhXK1pVTFhlZHBLT3kvaFJBaTh2T0lpYXZZVHUvQ1l4OGpaaThxa1ZqVDNlZHBLT3l0Z0FvNVo0V2xkNkU4aml3bitzOEp1ZjBBbjFHaTh0K3BsbDhKSjJWd2JWNFFtZW9uNEx5WDY2ekdJUHdFT1JQa09pVWJhNmpKQ3ZyQ29BV1R6Z0lyWDhjTytRM21lVkY0blhueVF2VmExMEhTVVpXRlFBZE5tWUFjZThwb0kvckxNWTBZeW1lbkNWeks5NTFIY1N2ck9rRDBNS3lieEQzNW1NN3Y4bGNmWW5yUEIxV2RxcnJJSDVsUlFIUXdyRVhJandKN09NNml6RnQ2RVZjWjJ2eDJQTmNCL0VqNHd1QUZwZU5SYlFTZTdhZXlSclNDZFdIc21Ia1lFWVhBQzBxdlFMbFFXekdIcE45Q2tDbWEySFpwYTZEdENaakM0QVdsdjRVNUI0eU9LTXhiWWdnM0svRlpWZTdEdEtTak55NXRLanNCa1J1ZFozRG1CUVFsRHUxdVBUSHJvTTBKK011QTJwUjZUVWdkN2pPWVV6cTZZK2twdXBPMXlsMmxsRUZRQXZMcmtUNGsrc2N4cVNKSW5LNVJDdnVkeDJrU2NZVUFDMHN1eGhoTWhsNldtSk1pc1JReXFTMjhpSFhRU0JEQ29BV2xwNlB5RU5ZYjcvSkRmVjRNbHJtVmp6bE9vanpBcUREU3M4Z0xrOWcxL2xOYnRtS3lraXByWGpSWlFpbkJVQlBLenNXai9uQXZpNXpHT1BJZWxRSFMyM1ZlNjRDT0R2ZjF1SUpCK0h4Tkxiem05elZFNUhIZFdpcHMva3NuQlFBSFZ6U2hYajlUT3pHSG1PT0lTSXpkZFNvVGk0MkhuZ0JVTW85Q2dvcUVVNE9ldHZHWktoQ3R2U2M0bUptb2VDUEFBcmZ1d2tZSGZoMmpjbG9laEZGWmRjRnZkVkFLNDRXalRrYnZNZUMzcTR4V1NJR01rcHFLcDRQYW9PQjdZaU5UK1o5RmJ1bjM1aldmRXdrTWxEbVRGMFZ4TVlDT1FYUXdTVmRVQjdHZG41ajJuSUFzZGdqT3FBa2tPZFpCdE1IVUZCd0QraUpnV3pMbU94M0NqMExKZ2F4b2JTZkFtangyTXRRdlMvZDJ6RW1kRlF2a05xcXY2VnpFMmt0QURxMDlBZ2k4anF3VnpxM1kweElmWUx3bFhRK2xUaHRwd0JLdVVkRXBtQTd2ekh0dFIrcWs5TTVQaUI5ZlFCRlMzOEJuSmEyOW8zSkNYSTZSV1ZYcEszMWREU3FwNDBkaUtjdkFZSDBaQm9UY2x2d1pHQTZIamlTOGlNQUxaN1FHVThyc0ozZm1GVHBTbHluYVVsSkpOVU5wLzRVUU91dUIvcW52RjFqY3R0SnJDMjRLdFdOcHZRVVFJZU83MGVrNFUwUUozYzJHUk55bTVIWWNSS2RzU3hWRGFac0NpNEZJZEp3ciszOGFkYnZNRGorYU9pVVlXZFkyK3ZnelhmaHZXV3VrNFJaTnpUdmJ1RE1WRFdZc2lNQUxTejlEaUlaTTl0cDZPemRIYTcvUHB4eWd1c2tyWHZwTmJqbHovRDVKdGRKd2t0a3RFUXJacWFrcVZRMG9rUEdIVUIrZkRIUUl4WHRtZDNrUmVDUHY0YitSN3BPNHMvaTkrR3FHNkVoNWpwSldLMmtvZE94TW4veXhvNDJsSnBPd1B6NGI3R2RQMzFHRldYUHpnK0pyR2ZZRUpBME9vUzg3VDlQUlVNZExnQmFPSzQvY0VrS3NwaVduUFkxMXdtU1YzaVM2d1JoZDQwT0wrM3dsSG9wT0FLSTM0bk41NTllKzJmaHdkVUJQVjBuQ0x2T3hMMmJPdHBJaHdxQUZvNGJqbkJHUjBPWU5uaForTENrYk15Y2JWUkx0YWlzUTRkYTdmNWZVc285UkcvdnlNYU5NUjBpd0YwZHVWbW8vV1c2YU9uRk5zbUhNYzROWmxqcE9lMWR1VjBGSURFbVdWUFNDMm1NNmFDNGxMZjNLS0I5blhkcjg4Y0JSN1ZyWFpNK1QwWGhzdzVmR203ZFBudkJtY1hwM1laSjFna1VqVG1MbXVsUEpMdGkwZ1ZBUzBvaWZJejk5czlFRHo4TnkxZW5keHQ5RHJZQ2tKRzhjb1VuQlRTcHRaTGV6c2Y1cFNEOWtsN1BHSk5PQXlrc0haWHNTa2tWZ01TNXYvd2kyWTBZWXdJZ2NtT3lmUUhKblFLc0xSZ05ISjNVT3Jtc1MrZkVPUDZPOG50TnZXc1gyS3RieDdmWDFqYjg4THpVWkdtSXdkWnRIVzhuTnd5aWNOd3dhcWZOOGJ0Q1V0VkNDOHZtSVp5YWZLNGMwR01mT0hVUW5Eb1F2bnhnWXZSZVo3c3pPaVcyYlllMUcyRGxHcGovTDNqeFg3RGhNOWVwTXRYalVsTjVydCtGZlJlQXhubitGclF2VTRqdDN3UEduNWZvR0xQUmI4R0lLOVQrQS81dkJxeFo2enBOcG9rVGFlZ25jeDU2MzgvQy9uOWlQYjI2M1pIQ2F2VHBVSEU3bkQzY2R2NGdlUUxGSjhPREUrRzhrYTdUWkJxUGhyd2YrRjNZMXhGQTQvMyt5NEhPN1k0Vkpua1IrT0hGY001dzEwa013T096NGE2cEVMUDVCeHB0SkwvdVVKbFYzZVo1a3I5ZlczbXhLN0NkZjRlcnh0bk9uMG5PR1pINFB6Rk45cUkrLzJJL0M3WlpBQkkzL2NpbEhjOFVFdWVOaEhQdHNEUGpuRGN5VVFoTUk3bmN6MUp0SHdFVXZqY1M2TjNST0tIUWF6LzRmcW5yRktZbFY1Wmw1OXdKNlRGQWk4ZTFPWk5NMndWQXhHYjdhWExKQmRBNXcyYmpOVHQwS2toY2tUR040aFBhV3FMVkFxQWpTL1lCOVgxTk1kVDIzUnUrYWZQY1pieHZGU1Z1V0RLZ2pOSGlDYTMyM2JVK0VyQSt2eFR3T2ZRcjVBYWZBSkVrUi9WdDJ3NzFEZW5Ka3l2eTg1SWJVQldKd09BVDRkbmE5R1hLSGoySU41d0RQTnpTQXEwWEFKV0wwL2RnNGl3elpLRC9aWjk5QVNvZmc1VWZnU1oxYzViWm5RZ2NjaUNNUFEvT0dPcHZuU0ZXQUw0Z09vRldDa0NMcHdBNnZMUVB3dGZUa1NrckhYcVF2K1grUGc5dS9UUDhlNDN0L0ttZ212Z3NiL2svZUg2K3YzVU84ZmwvbFJ0RzZ1Q1NGbnRHVys0RGlIRSthWHA4ZUZicXNhKy81YVkvbWQ0Y3Vheks1M3dYdmZaTGI0N3NrazkrcDdOYWVyT1ZUa0R2L0hTa3lVcCs3MnlMeDJIRnF2VG55VlhMVnljKzQ3YnMzVDM1L3Bvd0U3MmdwYmVhTFFBNllzeUJvSVBUbHlqTGlDVCt0RVUxY2FPS1NZOTQzUDlwbFIyNzdrVFAwRk12YmZiU1NQTkhBQTF5UG1BbDFKaFFrRTVFNnBxZExhajVxd0FxNTFvRmJRY1I2SGU0NnhUaDV1ZEl6T3hKR0UwelZ3UDJLQUJhUEtFeldsOFlTS2l3OFR5WTlCdlhLWXhwaHA2dWxIdEMrUzZkS0h1ZUFzVHJDN0hCUDhhRVRVK0dMZG5qUVQ3TjlBSEk2VUdrTWNZRVRQZmN0L2NzQUtKV0FJd0pJOTF6Mzk2bEFDUXUvL0dWd0FJWmt5NTJOYllaTWxTL01XNlhBUzI3SGdFMFJJWmpWMUQzRkl2QjVxMnVVeGkvTm0reDZjR2FWMEI5YkpjYktuWXRBQm9mRW1pY2JQTEdZdGNKakYrdnYrTTZRZVpTYjVjQmZyc1dBT0dVUU1Oa2sybVAyVytWYk5BUWcya3pYYWZJWEhIZFpSLy9vZ0FrSmc0UU8vOXZ5ZUwzNGRaSlVGL3ZPb2xwU1gwOVRKd0U3M3pnT2tubUVrNVd5ci9ZNzNjTUJKTDZRU2cyMzFWcm5wOFBpNVltSmdVOTVvZ2QwNE1kZmdqazU3ZTkvb2NycllDMEpUOC84WG0ycGI0KzhYa0NiS3RMRk9qSFpzUHFqOUtiTC92dFMrSDdSMVBMWXRpNUFNUTR4YnIvZkZqMUVkeFR1ZXRyVlhmQXdRZTB2ZTR2N29EVkg2Y25WMWdjZkVEaTgyekwyay9nOGwrbFAwOFlpWjRDaVFLd293L0E0eVJYZVl3eEFWTDlZcUtmSFFWQTdmcS9NVG5pK0tZdlBBQWRVRklBOUhVV3h4Z1RIT0c0cGk4VFJ3QTlDNDRHZlBSaUdXTkNZQjg5OWFLRG9ha0FlRHJBYVJ4alRMQWlrZU9ncVFERXhRcUFNYmxFRXIvMEV3VkFPTlpwR0dOTXNNUWJBRHZHQVJ6aE1JcHBpeWR3MFA0UThlQS9heFBEWFRzcUVvR0RlaVcrWHJNdU5jT2M4eUx3cGYwaEZvYzFhMjJDMUV3VzE4TmdSd0d3cC85bW92dzhHRDhhemgyUm1Pb2FZT3MyZUc0ZTNQY3diTnFTZkp1ZE84R2wzNFl6aTZCYjE4UnJtN2ZBVXpVdytaSEU0OHlTMWIwcmZQZEMrTVpRNk5MNEtMclBOOEZqczJEcVRIczhXaVlTK2dEa2FYRkpkeFI3cG5LbXlZdkF4Si9Bd04zT3pycDBUZ3hGL3NveDhJTWJFenV2WDUwTDRNN3JvZitSdTc3ZXJTdGNPQXFPN3dkWDN3VGI2L3kzMmIwci9PblhjTmh1dzNmMzdnN2p6b01CUjhGUGJrdk5VWXRKSVQxVUtmYzhKSytQNnlpbUdXY08yM1BuMzluaGg4RDRKQi9jL08xdjdybno3Nnova1ZEeXplVGFISGZ1bmp2L3pnWU9TSHd2SnNOSUowNWJlcUJIVEt3QVpLS1JQcDdMTWlMSjZSdEcrbGcrMlRiOUxEL0NuakdUa2ZLa3R3ZmVvYTV6bUdZY2ZHRGJ5L1RhRHpvbGNRT25uemEvN0dPWkpwMEsvRDJITDVrMlRYQmkyc2REMVA1M01sR0J6NEdaZnBmenUyeXEyMHUyVFJNY2p3TThSSzBEMEpoY3BOckRROFVLZ0RHNVNMU0haNWNBamNsUktqMDh4QXFBTVRsSjZlR0JGUUJqY3BMUTB3TzZ1czVoakhGQnVucGdNd0ViazV1MHdBcUFNYm5MQ29BeE9jd0tnREU1ck1CajU0ZURHR055U1NldjdXV01NV0hsQVRaZGl6RzVhYnNISkRIOWl6RW1ST3FzQUJpVHU2d0FHSlBEckFBWWs3dWt6Z00ydTQ1aGpIRkJOM3ZBQnRjeGpERk9yTGNDWUV6TzBnMGVxQlVBWTNLUnlnWVB2UFd1Y3hoakhCRFo0QUdmdU01aGpIRkFkWU9IOHJIckhNWVlGMlN0aCtnSzF6R01NUTVFWkxtSEY3Y0NZRXd1MHNoeUQyMVk3anFITVNab3VwM29sSTg4aVZadndzWUNHSk5qWklXQU5rNElJbllVWUV3dVVWWkFZa0lRUUQ5MG1jVVlFekJKN1BPSkFxQXNjaHJHR0JNc2tiZWhxUUI0K3JiVE1NYVlZT25PQllESVFwZFpqREVCYTJqWXFRQnM3UEl1VU84eWp6RW1NSi9LL0Jtcm9iRUF5SUpKOWNCN1RpTVpZd0lpWHh6eDczZ3VnUENXa3l6R21HQ3BObE1BVlA3aEpJd3hKbWd2TjMyeFV3SFk4YUl4SnNRaTBrd0I2TForQWVoMko0R01NVUg1bExrVlM1cis4VVVCa0dlZTJRN3locHRNeHBpQXZDU2dUZi9ZL2VHZ2RocGdUSmlwdnJMelAzY3RBTXFMZ1lZeHhnUkx2RjMyOFYwTGdCZWZEY1NEekdPTUNjdzJObldkdi9NTHV4UUFpVTVmQjd3WmFDUmpURENVK2JKZzBwYWRYOXE5RHdEZytZRGlHR01DcFh2czI4MFVBTEVDWUV3WXFlZWpBRWplQzhEV0lQSVlZd0t6bmhmNnZyNzdpM3NVQUlsTzJRYlVCQkxKR0JPVTU0VHlQVHI0bStzREFQVFJkS2N4eGdSSStGdHpMemRmQU9vak00RllPdk1ZWXdLemxRTHZtZWJlYUxZQXlJdlRQZ2JtTi9lZU1TYnJQQ3ZQVGR2YzNCc3RuQUlBS3MwZU1oaGpza3dMaC8vUVdnSHc5Sy9zZE5PQU1TWXIxZE9nVDdYMFpvc0ZRS0tWSzdHYmc0ekpic3B6TXEvcWs1YmVidmtJQUVEbHdaUUhNdjdFZmQ2UzRYYzV2OHVtdXIxazJ6U3A1VEdsOWJkYlU3QjlCckNsMVdWTWVxei90TzFsdG02RHpVbU0yZkxUNXJvV2YxbnNhZk5XMk9aakRoay8yelhwc0lFdUc1NW9iWUZXQzRETXF2NE1tSm5TU01hZmYvaTRKK3VmU2M3ajZxcE5QOHVZMUZPdFNrejAwN0xXandBQWtDa3BpbU9TTWVPcDFuOXpidDBHRDFRbjErYlVtZkQ1cHBiZi8zeFRZcGxrVEg0a2thVWw2ejVKZkM4bWVKSFdELy9CVHdHbzZUc2JFazhTTlFINjlITzQ1bVpZc216UDkxWi9CTmROaE9XcmsydnpvM1Z3N2Eyd2JOV2U3eTFibFhqdm8zWEp0YmxzRlZ4M0c2eitlTS8zbGl5REg5MlMrRjVNMEJiSzNLb0ZiUzJVMTlZQ1FubGNLWHNBdUNFbHNjSklmVjR0amZnNDROclppdFh3dlYvQmdMNXc5QkVnQWgrdWhOY1hRNnlkQXpYZld3YVgvZ3krY2d6MDdkMzQyZ3A0NngySXQvT3E3OElsTU80Nk9LRS9ISDVJNHZONDl3TjRlNm4vejZhSjM4OG8yWFp6enlRL0M3VlpBQUNJMTkyTFYvQnpvSE5IRW9XV240NHdnSDMzZ1grdlNhNXRWVmo0WHVKUHFzUTFVVVJlWDV5Nk5tTXhXTEF3OGFjamV1em5iN2t0ZHNOcUt6NW5HNzZ1NFBrcXQvSkM5VnBnUm9jaWhkbkdaa2RaN3FuM2w5S2JJd3o4ZmtaK1AvT2NwUGZMSzVXK3pydjhINU1xZDdRN1Q5aXQ5UGxiZmNqQTlPWUlnMU45ZmtaK1AvUGNFeVBHM1g0WDlsMEFwTGJ5TGFDMlhaSEM3bjJmZmFRbmZ4VU9PU2k5V2JKWjc0UGhwT1A5TGZ2QnY5T2JKWHM5THZPcVB2QzdjSEs5VXFwM0pSMG5GL2c5bDg2THdKVmxpYzQ4c3l1UnhHY1RpZmhiL3JWRjZjMlRyVVQrTjVuRmt5c0F0ZjFtQWgzczVRbWhaYXVhdnd6V25NRW53c1dqMDVzbkcwMDRQM0dFNU1lcWo1Sy9CSm9iWHBab1JUU1pGWklxQUVKNUhOVmJrNHFVQzFUaHVYbitsNTl3ZnVLM25aZmtaY0V3aWtUZ3FuSEpGY1ZrUHV0Y0lwTDBwZnJrZndJUHJKOEJ2SnYwZW1IM3hCeW9xL2UvZk1rb21Id3pEQjJVT0RYSU5Ya1JPTzFyOE1ETmNNRVovdGZiWGdlUHowbGZydXkxZ0dqRjM1TmRxVjBubzFvNGRqeWlkcWZnN3E0YWw5d1BjNU9ObStHTmR4S2o4RDc1clAwRGNqS2RKN0RmUG5CUUwvaHFmK2plTmZrMkhuNEc3cWxNZmJaczU4bFpNcmNpNlRIWDdTc0FKU1VSUHM1ZkJOS3ZQZXVIVnJldU1QVTI2TG12NnlUaDlNbG5pUkdIbSt3RzFWM0phOVJVREpKMlRPRFRycE5RcWE2T29YSnplOVlOdGMxYjRNNi8yRERWZEZDRjIrNjNuYjlac2Y5cHo4NFA3U3dBQU5RZU5RMW84MmFEbkROdlFlSXcxYVRXOUNmaHBkZGNwOGc4S2pWU003M1ZlLzViMCs0Q2tIaklnRjdYM3ZWRDdjL1RZYzVMcmxPRXg2d1g0YjZIWGFmSVJIRTgrWEZIR3VqUWRTaXBxWnFMWWpkNzd5NnU4TnQ3NGFtbzZ5VFo3OWtYNE5ZLzIybFZzN1JDb3ROZTdVZ0xIYjhRN2NWL0REUjB1SjJ3aWNmaDlnZGcwa1B0djNVM2x6WEU0TjRxbURncDhiWFozVlppZWIvcWFDTXBHWk9xaFdYM0ludy9GVzJGVXY4ajRkcExvVzhmMTBteXc1SmxjTWRrZU1mM2tQYmNvL3hXYWlzenBBQ01HTitUaHZoaTBQMVQwVjRvUlNKd3hsQW9Pd2UrZktEck5KbHA1UnFvZUR3eDBzOW1FbTdOQ3FSdWdFU3JXNW5melorVTNaV2lSV012QVoyY3F2WkN5eE00Y1FDTUdKeTQ4MjMvSHE0VHVmWHhlbmgxWWFLajcvVkY0UjBFbFVvcTUwcHR4ZU9wYUNwMUJRQ0VvdEpaSU1OVDFXWk9PR2oveENRWUIvYUN2YnBCMXk2SkloRkdjVTNNNUxOeGMyTFU0NHIvd0pxMXJsTmxtNzlKVGVVRnFXck0zNVJnUGdpb3h2S3VJQko3QTVzNnpMODFhMjBuTUg1dFJQanZWRGFZMHR2UlpON1VKWWhNVEdXYnhwZ20rc3ZHUi9hbFRPcnZSKzJ5L2hiQVptc3dKcFdVVnppZzN2ZFVYMzZsNVdSVEN5ODZFWW04REJTa28zMWpjc3dXWXBFVFpkN1VKYWx1T0MwelVranRqTmVBOG5TMGJVek9VZmxST25aK1NGTUJBS0RtcUltbzFLU3RmV055Z2ZKM2FpdDhQZVNqUGRKV0FCSTNDOGtsZ0QwWHlwajJXWWVYUDZHOXQvcjZrZFpKNmFSMjJvY2dWNmR6RzhhRWxPTHBaUktka3RZSElLUjlWa3FwcWZnTFlDTUVqVW1HeXU5bGJ0Vmo2ZDVNTU5QU1N2NlZ3TDhDMlpZeDJlOGxObmU5UG9nTkJUYm1WSWVYOWlFbUM0Q2VRVzNUbUN6MEVRMnhnVEovUmlBUFBnaHNZbnFaVTdVY1lRSmd0M2taMDd3R3ZQaC9CYlh6UTRBRkFFQ2lsVThpM0JMa05vM0pHc3JQWk83MFFDK2RCLzlvbXVoUnZ3YitGdmgyamNsbytoZXByZng5MEZzTnZBQUk1WEhxNnNZQ0x3ZTliV015a2tvTjYrcWR6S2psNU9GMDhsTDFWaVIrTnNqN0xyWnZUQVpaVER3K1d0NnVybk94Y1dkUHA1VG85SFdvbkExODZpcURNWTZ0UStRY21WZjFpYXNBVGg5UEs3WFRGb05jQ0RpcGZzWTR0QVhoYklsV0xIVVp3dm56cWFXbTRubmdJbXhxY1pNNzZsQXRrV2lsODM0dzV3VUFRR29xSDBYbE85Z1lBUk4rTVZUR1NXM1YwNjZEUUlZVUFBQ3ByWmlLOGtQWE9ZeEpJMFgxZTFKYmtUSFBPY3VZQWdBZ3RaVjNJMXpqT29jeDZhSFhTbTNWQTY1VDdDeWpDZ0NBUkN2L0FOem9Pb2N4S1NWNm5kUlUzZWs2eHU0eWRnSjZMU3I3Q1dBekRKdHNwNmhjSTdVVmQ3a08wcHlNTFFBQVdsejJmWlM3eWNBakZXTjhpSUY4dDNGT2pJeVUwUVVBUUF2TFNoRWVKSVVQTVRFbUFIVUlaUkt0Zk1SMWtOWmtmQUVBME1LeDV5RHhoMEU2dWM1aWpBOWJFTGxBb2hYUHVnN1NscXdvQUFBNnJHd0VjUjRCOW5XZHhaaFdyQWNaTFRVVkw3Z080a2ZXRkFBQUxTdzlDcEduZ0tOY1p6R21HVXRSL1piVVZyM25Pb2hmV2RXNUpyVlY3NUVYR1F3eXozVVdZM2FsYzVEOGs3SnA1NGNzT3dKb29xTkdkV0pMajc4QVkxeG5NUWFZd3JxNjc3bTZwYmNqc3JJQUFDamxIa1ZMeWtGK1NSWi9IeWFyTllCY0x6VVZ2M01kcEwyeWZzZlJ3dEp2SVRJTjZPRTZpOGtsc2hhSmwwcTBhcGJySkIyUjlRVUFRSWVPNzAwa1ZnMTgzWFVXa3d0a0hnME5nYzdlbXk1WjFRbllFcGszZFFWZE54UUMvK3M2aXdrN21jUzY3U1BDc1BORFNJNEFkcWFGWThjaitrZGdiOWRaVEtpc0F5Nlhtc3BIWFFkSnBkQVZBUGppS1VSVGdHTEhVVXdvNlBORThpNlJPVk5YdVU2U2FxRXNBQUFLUXVIWUh5THhpVGFFMkxUVFZsUnZvTGJmN3hLUHV3K2YwQmFBSmpwczdGZUphd1Z3bk9zc0pxdjhFMC9HeWR5S2QxMEhTYWRRZEFLMlJ1Wld2TUdtYmdOUnVSclk3RHFQeVhoYlVQMFpzbXBJMkhkK3lJRWpnSjNwME5JajhPUWVoRE5jWnpFWjZVa2krZ09aVTdYY2RaQ2c1RlFCYUtKRnBTVWdmd0lPY0ozRlpJVFZxUHhjYWl1bXVnNFN0SndzQUFBNnVLUUhCUVgvQTF3QjVMdk9ZNXpZaHZJSFlwMXVsdm1UTjdvTzQwTE9Gb0FtaVZ1TXZadEFTMXhuTVlGUmtFZFErYW5VVHZ2UWRSaVhjcjRBTk5IaXNsTlFmZzhNY1ozRnBKSHlDaEd1bGJtVjgxMUh5UVJXQUhhU0dEdFFOZ2JoVjhBeHJ2T1lsSG9ka1Jza1dqSFRkWkJNWWdXZ0dZbGJqZDg5RXlJM2dKN29Pby9wQ0hrVDRyK2xwdW9SQVhXZEp0TllBV2pGamtMZ2xRTURYZWN4U1hrRDlDYmI4VnRuQmNBSEJhRzQ3RXlVL3daR1lKOWJwb29EVHlONlY3YmZweDhVKzBGT2tnNGQzNDlJN0VyZ08wQTMxM2tNQUp0QXFsRDVnOVJPVyt3NlREYXhBdEJPT21KOFQyS3g3Nkp5R2VpUnJ2UGtxTVdnOTVGZlAxbG1WWC9tT2t3MnNnS1FBanFzZEJCeDczTFFNY0JlcnZPRTNHZkE0NGhPSlZvMTI4N3ZPOFlLUUFwcGNVbDN5UDgyS2hjRGhlVEF6VllCYVVDWmpjaURTTjZqRXAyeXpYV2dzTEFDa0NZNllueFA2dU5uSWxvQ2ZBTW9jSjBweThSUVhnYXBKajgyUTJaUC84aDFvREN5QWhBQUhWelNnMDc1NXhDWDh4QkdBTjFkWjhwUW53S3pVQjVsTzAvS0s1V2Z1dzRVZGxZQUFxWWxKUkhXNVo5QWpKR0lqQVNLeU4yYmtXSWtSdWpOZ3Znc05uYXZrUVdUNmwySHlpVldBQnpUNGduN0luVkZ4R1VJY0Fyd05hQ3I0MWpwc2hIMG40aThoTWhMNlBZYWlWWnZjaDBxbDFrQnlEQmFYSnhIL0tEamtjaGdoSytqSEFmMEovdUt3aVpnTVNKdm92b0t5c3NjV0xkSXFxdGpyb09aSGF3QVpBR2wzR1A0NHNQUnlISEU1VmpnV0pUREVRNER2b1M3cXcwTndHcVFGWWkrajdJSVQ5NG1Kb3VvbmJiTUx0RmxQaXNBV1U0SFhaNVB0NjJIRUdub1RTelNCM1IvUkh1ZzBnT1JuaER2Q2Q1K29QczBybExBRnlNWXRTdUlBbHNiMzlzRU5KMkRmd3BzUUZpUHlnWkVONkN5QWVKcndWdEdKTDZDK09wVkVvMDJCUGp0bWhUNy8yN09QcllMRmEyTUFBQUFBRWxGVGtTdVFtQ0NgXFxyXFxuXFxyXFxubGV0IHBpY19saW5rID0gYGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBUUFBQUFFQUNBWUFBQUJjY3FobUFBQUFDWEJJV1hNQUFBZGhBQUFIWVFHVnc3aTJBQUFBR1hSRldIUlRiMlowZDJGeVpRQjNkM2N1YVc1cmMyTmhjR1V1YjNKbm0rNDhHZ0FBSUFCSlJFRlVlSnp0M1hsOEZkWDVQL0RQTTNmSnZwQ0VoSkNGQkFsSjJGeFE2MVlYeElxNFZFV3BxTmpTdXRYK2FxdXRXb1hBSlFHdDJtcnJ0M1d0NHI1UUZYZWhzcmdVdFFvb2V3Sm9RaFpJSUJ2WmM1ZDVmbjlBa0NYYnZYZG16dHk1NS8xNitaSVh5VDNuQVhLZU9UTnp6bk1JVWtqTHJIb29TdWxxeVNXbVhGV2xOQVpTQ0JnS1VETEF5UUNTR1VnbXdIbmdJME1PL044SklPYkFyOXNCdUEvOHV1bkEvN3NCYmdDb0FVQURnUnRVVUQwQjlVeFVxeWkrQ2pVeXZydzY2L1pPUS82Z2tpNUlkQURTd0NhdWVjS3hKM3AzUHBNeWdSUWVCMVpHZ2prSENuTEFTQk1hSEtFTzRIS29WQUdGeTZGaUk1ZzNwbmFrbDYwOThTYVAwTmlrQWNrRVlES1pWUTlGVVVmYmlWRHhJeWFhb0FEakdUd0dQMXpCUTRXYlFGdFVZQ014YjRDQy8zRjA3Qm81WXpBWG1RQUV5OTI0TU0xbjk1NE1ZQ0tEVGdmaERBQ1JvdVBTaVJmQWVnWldLNFMxWHEvNjhhNnhya3JSUVlVem1RQ010c3Bseng1dVAwVmwzMFVFbWd6Z0JJVDN2OFAzVEZpdXFQeWUwejdrUHp2eWJ1MFdIVkE0Q2VjZlBNTmtiSGRsS2o3YnhRQmZBR0FTZm5qNEpoMnVEY0FLQUV1WmxIZXI4K2ZVaUE3STZtUUMwTW53TWxlS0hjcFVWakVUaEVrQUZORXhoUmdWd0JjRStqZkQ5KytxQXRjdTBRRlprVXdBR2hwZTVrcXh3Zll6cU9wMEVKMEJPZWkxb2dMNEZLREZLdHNXMXhUZTB5QTZJS3VRQ1VBRDJWdUxKNm9LYmlUR1RBQlJvdU94dUc2QTNpRUZUMWJtelZrQkloWWRVQ2lUQ1NCQU9adGR3MVNiN2VkTWZEMFlvMFRIRTVZSU8wamxsN3dPMjlPN1JzMnBFaDFPS0pJSndFOGp0aGNmeno3NkE0T25BM0NJamtjQ0FIZ0llTTJucUgrdEdlMzZWblF3b1VRbWdFSEtMbHR3aGdyMUxtSmNDUG4zWm1hcmlmbit5b0s1NzhuYmc0SEpIK1QrckhMWnM5SnBKcGorQ01JWTBlRkkvcUJOeE9wZkttdjVKWnpqOG9xT3hxeGtBdWdOdTVUc01wckdvQVVBUm9zT1J3cEtCVEh1cXl3b2VCbzAzU2M2R0xPUkNlQlF6SlJkV253UkU1VUFPRlowT0pLbXRoTGh6NVdqMVJkQkxsVjBNR1loRThBQm1hVWxVd2k0SCtBSm9tT1I5RU9nYjVseFYxVmgwWDlFeDJJR1laOEFNcmVVNUpHQ2hRQmZLVG9XeVVDTTVXUlhmMWVaNTlvaU9oU1J3allCNUpTN0VyM2Q5Q2NDL1I1QWhPaDRKQ0U4RER6bWREam5mbi9Nbi9hSkRrYUU4RXNBekpTNXJmaDZZcm9YUUlyb2NDVHhHTmhENEQ5VjVjOTlOdHhlSFlaVkFzamFYbklNKy9nSkFzNFZIWXRrU3AvNVFEZnNLaWdxRXgySVVjSWpBYXh5MmJQVGJiOWg4RUxJcmJoUy96cUorWUU0bGUvZFBOYmxIdmpiUTV2bEUwRDIxdUtKVEhnYThyV2U1QWRtZkdOajlmcWRZMXpyUk1laUorc21BSFlwMldXMjN6TDRBWVJlUFQzSkhMekV2TEN5b0xERXFvdUlMSmtBaG05Mlpkc1VlZ0ZFWjRxT1JRcDlCSHdCUmIyMmNyVHJlOUd4YU0xeUJTdXlTK2RmYWJNcDM4ckJMMm1GZ1ZOWlZiN0pMQzIrVm5Rc1dyUE1EQ0J0L1lNeEVSRmRUekQ0R3RHeFNCWkc5Snl2MVhmTHJoTmRIYUpEMFlJbEVrRG1adGNvc2lsdkFoZ3ZPaFlwSE5BRzJIQjVWVjdSZDZJakNWYkkzd0prbHBWTUpadnlGZVRnbHd6REUrRGpkVmxsSlplS2ppUllvVHNEWUtic3NnVjNNdmhlV0NDUlNTR0pHZnhBZFQ3ZkU2bzdERU15QWFTdGZ6REdHZEg1Q29DTFJjY2lTUURlZG5kSFhWTjM3QjN0b2dQeFY4Z2xnQkZiRnFhcml1OWRBQk5GeHlKSmgxaXYydFNMYXZKYzFhSUQ4VWRJSllEc3pjVmpWUnZlSjJDRTZGZ2txUmMxS3VIQ212eTU2MFVITWxnaGMrK2NYVGIvWExaaHRSejhrb2xsMkJpZlpaYVdUQkVkeUdDRlJBTEkzRnA4TlROOUNDQkJkQ3lTMUI4RzRnajhkbGJaL0orSmptVXdUSjhBTXN2bTMwQ0VGeUJyOEV1aHd3bW1sekpMNS85S2RDQURNWFVDeUNvcnZvV1lIb2ZKNDVTa1h0Z0k5RlIyYWZIdlJRZlNIOU1Pck96U2tydkErQ2RNSEtNa0RZQVllRGl6ckdTZTZFRDZZc3EzQUZtbHhTVUE1b2lPUTVLMFFveml5c0s1cGtzRXBrc0FXYVVsc3dGZUlEb09TZElhTWQxVFdWaDBuK2c0RG1XcUJKQzV0ZVMzUlB5STZEZ2tTVGRNZjZ3cUxQcXI2REI2bUNZQlpHMHQvZ1VJejhCRU1VbVNEcGlKYjZyT24vZVU2RUFBa3d5MnpLM0ZWeDk0MVNjZitFbmh3QWZpYTZyeTU3MG1PaERoQ1NCemE4blpSTHdNc202ZkZGNDhwTkRVeXRGRnkwVUdJVFFCWkc5M2pXR2ZzaHBBb3NnNEpFbVFGbWFjVVYwNGQ2T29BSVJOdVVkc1daaXUrcFFQSUFlL0ZMN2lpZkJPN3NhRmFhSUNFSklBaHE5eFJhdmtXeUkzOWtnU2Nyd08zL3RwNng4VWNtQ044UW1BWFlvdFZua1ZoQjhaM3Jja21kTkVaMFRuaTJDWDRlUFI4QTZ6eXNnRldjbEhrbzUwYVZhWmJiYlJuUnI2RURCN2E4bEZUUHcyNU9zK1NlcU55a1FYVitjWGZXQlVoNFlsZ013dEpYbWs4RmVRRC8wa3FUOU5zTkZKUnBVY04rUktuTGIrd1JoUzhDYms0SmVrZ1F5QkQyOE9YK09LTnFJelF4SkFSRVRYRXdDUE02SXZTUXA5UE1FV2EvdUhFVDNwZmd1UVdWcDhMUUV2Nk4yUEpGa09ZVVpWL3R4WDllMUNSOE4zTE1peWVkWDFBSWJvMlk4a1dWU3pYVldPS3g4elo2ZGVIZWgzQzhBdXhlWlZuNGNjL0pJVXFFU3ZvcjRBWG16VHF3UGRFa0JXbVhJUGdMUDFhbCtTd3NTUHM3ZVYzcUZYNDdyY0FtUnZMWjdJaEM4Z0svbEtraFk4aWcwLzJwazM5eHV0RzlaK0JyREtaV2VpSnlFSHZ5UnB4YUg2c0dqaW1pYzBIMU4yclJ2TUdxYmNDZkFKV3Jjcm1VOGsyWEdNTXdYSE9KTnhURVFLTXUwSmlMTkZJRjZKUkp3U2dRUmJKTnpzUTZmcTJmOS85cURSMTRFcWR6TXFQVTJvOURTajNOMkFYZDRXMFgrVVVIQnNYZXllM3dONFVNdEdOYjBGeU5qcUdxMlE4aTJBS0MzYmxjd2h4UjZEVTZOeWNHcjBDSndhUFFJam5TbWEvQURWZWx1eHByUHE0SDhidTNhRE5XalhnanJacDA2b0h1dmFvVldEMmlVQVpzb3NLMWxPd0NUTjJwU0V5M0FrNE5MNGNiZ2tiaXdLSXRJTVdUdSsyOXVDRDFxMzRyM1dMVmpYV1MyVHdlRStyc292bWdRaVRmNWFOUHYzekN5YmZ3TXhQYWxWZTVJNGtXVEhwZkhqY1huOGVKd2NuUTFGWU9Hb1hkNFd2Tks4RGk4MHIwV2pyME5ZSE9iQ3Y2d3FtTGRJaTVZMCtaZk5LWGNsK3JxVjdRQlN0R2hQRWlOV2NXSjZ3bkg0ZGRKcFNMUEhpUTduTUc3MjRiM1d6ZmhudytmWTd0NHJPaHloR05qamREaEhmMy9Nbi9ZRjI1WW1Ed0Y5M2NvOHlNRWZzaEpza2JnbDZYVE1USnlJV0NWQ2REaTljcElObDhkUHdLWHg0L0ZXeXliY3YzY2xkb2ZwdzBNQ1VyMmU3dGtBN3RTZ3JlRGtsTGtLZkt4c2dIenRGM0lJd09YeEV6Qjc2R1NrMklWVXBBcFlwK3JCczgxZjQ1R0d6OUN1dWtXSEk0SmJaWFY4VGFGcld6Q05CTDBPd01mS1E1Q0RQK1NNaTB6SG05bXo4SEQ2VDBOdThBTkFsT0xBcjVOT3cvS2NtM0ZtekVqUjRZamdWRWdKK3BWZ1VET0E3RzBsazFubGo0SU5RaklPQVpnMTVHVE1HWG9lN0dTTndrd000Tm1tcjdCdzczSzQyU2M2SEdNeFQ2a3FuTGNzMEk4SC9oUEFUS3p5WHdMK3ZHUzRaRnNNbnN1OEdxN1U4eTB6K0lFZmt0cjdJNjVIUVVTcTZIQ01SY3E5WUE3NFFoN3dMcVBzR2JicEFQNWZvSitYakhWYWRBNWV6WnFKTVpIQ1N0RHJMc1VlZzh2akoyQnpkeTBxUEUyaXd6RktlbnpqSit0Yi92RnhhU0FmRHV3eXdJdHRETGdDK3F4a3VFdmp4K0hGekd0QzhsN2ZYekdLRTRzeVorRHF4UEJaalU2Z2trQkxpZ2Ywb2V4dFc2OEdVQmpJWnlWanpScHlFdjZXZnFtbHB2d0RzWUh3NTdRTGNmZlFjMFdIWWd6RzJLeHRkR1VnSC9YL0ZvQVgyeExxRzE2RmZPOXZhZ1RnN3FIbjRvNlVjMERpejRBVjRxU29MRVFyVG56VzhiM29VQXhBRTFxbW5mVTRudnRZOWVkVGZsOFdzc3EyWHNkQXZyK2ZrNHhEQUZ5cDUrUFhTYWVKRGtXNG01Sk94UzFKcDRzT3d3aWpNOU9WcS96OWtIOEpnSm5BOUVkL081R00welA0WncwNVdYUW9wbkhYMEVtNE9zSDZ6d1FJdU5QZk53SitKWUFSMjR1bmdqREd2N0FrbzhqQjN6c0NzSERZVkV5T0hTMDZGTDJOenlwZGNKNC9IL0FyQWJCS2YvQXZIc2tvY3ZEM3p3YkMzOUovaW15SHhXdlVFdnMxUmdlZEFETEtpbzlsV2VUVGxPVGdINXg0SlJLUERwOEdKK2xXWk5jTWZwS3h6WFhjWUw5NTBBbEFZZHdKZ3c4VGxRWW1CNzkvSmtTbVkvYlF5YUxEMEpYaVUyNGI3UGNPYWtEbmJIWU44OW1VU3NoTlA2YmpTajBmdjVTRDMyL1hWcitFVDlzdCszclE3YmFyV1hXalhIc0crc1pCelFCVXhUWUxjdkNiemkxSnA4dkJINkFGcVJjZ2dqU3ZpV3NXVG9mWDl2UEJmT1BBZndQTXhOdEtmaWtMczVuTDJUSEg0TTZoNTRnTzR6QzEzbFo4NTY1SHVic1IrM3hkYUZHN0FBQ1JpZ1B4U2dSR09JWWcxNW1NWEdlUzBESmpBSkRqVE1MTlNhZmk3dzJmQ1kxREx3UytIc3gvR2FoMjRJRC9DdGxsODg5bHB1WGFoU1lGeTA0S1BzcTVHY2M0azRYRzRXWWZWclh2d0xLMk1uelJVWUVheitBcVZDWGFvbkJTVkJiT2l4Mk5DMklMa1dDTDFEblMzbld4RjVQTEgwZWxWVGNPS2NwWlZhUG5mTnJmdHd3NEEyQldib0M4L0p2S3BmSGpoUTcrR3M4Ky9LdnBmM2k5WlQzMiticjgvbnl6cnhNZnRXM0RSMjNiTUljK3hOUzRRdHljZEJyR1JCaTdVekdTN1BoRHlsbjQzZTYzRE8zWEtLU3FOd0RvTndIME93UEkySHB2c2tMZUdnRG1MQlFYcHA3TG5JRnpZa1laM20rVHJ4TVAxSy9FYS91K2haZjlXbkkrSUFKd2Ztd0I1cWFlaDB4SG9xWnQ5OGZMS3M0cGZ4UTdyVGtMNkNLM1kzamxoTHY3L01QMSt4Q1E0SjBCT2ZoTkpaTHNPQzA2eC9CKzMyalpnTFBLLzRtWG10ZHBQdmlCL1hQTXBXMmxtRlQrR0o1by9NS3dPYWVkRk55U2JObTlBcEZ3ZVByZEpUaEFBdUNBdGhoSytobm1pRGYwNlhXYjZzYnZkcitGMjNhL2pXWmZwKzc5ZGJFWEMvY3V4NnpxVjlCa1FIOEFjRVg4QktUYjR3M3B5MmdxWVhwL1grOHpBWXpZc2pBZFJKWk5qYUZxcU0yNG9oNzEzblpNcjNvZVMxbzJHdFpuajVYdE96Q3Q4bGxEU244N3lJYVppUk4xNzBjRUFzN08zYml3ejRjcmZTWUFWdFRwQ0tKa21LU1BidllhMGsrMXB4bVhWUzdDcHE3ZGh2VFhteDN1ZWt5cmZHN1FieGVDY1ZuOGVPR3ZKblZpOHpwOTAvcjZZcDhKUUlYYTc5UkJFbU9QdDAzM1BtbzgrL0N6cWhkTThXQ3MydE9NbWRVdkIvUzJ3UjhaamdTY0hKMnRheC9DY04rM0FiMG1nSXp0cmt3Q25hSmZSRktnOW5qYmRFMEMxWjVtWEZIMUhLbzh6YnIxNGE4ZDducjhldGZyVUhWK05EZ3Rmb0t1N1F2MDQ2eFMxL0RldnRCckFsQlU1WksrdmlhSnBZS3h2RDJvdzJENlZPMXB4cFZWenhzeTVmYlhmenZLOFZUamw3cjJNVFd1MEtxMUV4Vmk1YUpldjlEcnR6T202QnFPRkpSWG1yL1IvRnBvNXNIZjQ0SDZWZmpPM2FCYiszRktCQ1pFcHV2V3ZraU0zc2YwVVFsZzdHYVhFNEM1RnBsTGgxbmZ0UXNmdG03VnJMMmVlMzR6RDM0QThMQVBDL2JxZXhEVmFkRzV1cll2Q2hFbUh4amJoemtxQWJRNmJHY0NpRFVrS2lsZzgvWXNRNjIzTmVoMnpIalAzNThWYmR2eFZXZWxidTJmTG1DUmxSRVlpTnVuMkk2cUVudFVBbUFmWDJCTVNGSXc2cnl0dUtGbU1kcUNPQmwzcDZmSjlOUCszanlwNDdPQWlWRlpscTBZcE5EUlk3dTNad0R5L2o5RXJPL2FoY3NyRndXMG0rM3pqZ3Bjc3ZQcGtCdjhBTEM4Ylp0dWNVZVNIYm1DZDFucWhZSCtFMER1eG9WcHN1cHZhQ250M29PcEZmL0NZNDJmbzJzUWk0VDJldHN3cCs1RFhGdjlrbUZMYmJXbWd2RmU2eGJkMmhlOXpWcEg0OUoydUE0N1BmV3dSZVVldS9lTWNEMUZKcFMxcUYyNGIrOEtQTlgwSlg0U200L0pNWG5JZFNZaHpSNFBOM3V4MTl1R3pkMjErS2h0TzFhMmIwZW42aEVkY3RDV3RwWGlwcVJUZFdsN2xOT3loMTZSMDB1bkFuaTc1emNPU3dBRXlMWC9JYXplMjQ2WG05Zmg1ZVoxdXZlVjRVakExTmhDbkIxekRFWTZrNUZpajRHYmZhanp0bUpqMTI2c2FOdU9qOXEzNlpaczFuZnRRcWZxUVpTaWZhVzZrYzRremRzMGl3Tmp2UGNFQUpJSlFPcmZVSHNzZnA5OEptWWtISC9Vb3BrSXNpUE9HWUZSemhSY0ZqOGVlN3h0ZUtUaE03elV2QlkralZjdWVGbkZ0MTI3Y0dyMENFM2JCWUFzQzU4ZG9CNXhrVC80TDVoWjlWQVVRSU91Snk2Rm43RVJ3L0R1aUY5aFp1TEVRYTJZUzdYSFlrSGFCWGd1ODJwZHluNTk1NjdYdkUwQWlGV09lbDF1R1FTYW1GUHVPdmlQY2ZCZmtUbzdUZ0pnM1QrNUZKVHpZa2ZqclJHek1EeUFmZk5ueG96RWt1eFptaWNCdldyNXhTdGlhaFFhSkVMdFZnN3VmZjRoamZ0VVdWOWE2dFdrbUZGNGJQZ1ZRUlVpR2VWTXdhUHAwelJkYTkvZzY5Q3NyVVBGV0hnR0FBQk0rRkhQcjMrWUFSQ09GUk9PWkdhVFlrYmh5WXpwbWl5TytYSE1TRnlWY0x3R1VlM1hvZE1EeGxqRjZsWHc2T0MyeDRNSmdBLzVUVWtDOWsvN245Sm84UGY0WGZLUE5YdHl6enB0RDlaNzI3RndqUEU5djFRQVlPS2FKeHdBRjRpTFNES2JubW0vUStObHNXbjJPRXlPMGVhWWJyMnUxRzFxdHk3dG1nZVB4U3FYSFRpUUFPcGk2Z29nSHdCS0IyZzU3ZS9OdWJIYWxEUlAxT2xBRVNzc2xCcEFSSFltUmdNOXR3REVjdm92QWRCLzhBUEFoTWhlaTlQNExkZWh6NUxkOWlBMldJVUtWbWs4Y0dBaEVCSEdXdjIyeHlqUmlnTVo5a1NrMktQaFlSVjd2RzJvOFRScnZoQkdEMFlNZm1ELytnQXQ2TFZtZjUrcWIvMUJVMkFhQitDMS9lOTFXQmtwai84S25KMFVYQkYvTEM2T0c0TlRva2NjZGQvYzVPdkV5dmJ0ZUxsNUhiN3VyQklVWmYvT2l4Mk54M1c0NSsrTlU0TnpEUnhrdzdFYXpTU090TlBkcUV1N0pqTVNPTGdVV00wZHhEbWhVaThteFl5Q0svVjg1UFN6Zm55SUxRclQ0aWRnV3Z3RXJHemZqdGwxSDVwcUc2NWVEL3o2c2tlRFFpYkhSUTdYWlI4QUFKUjdySjhBR0p3REhIZ0d3S0FjY2FHRXJsOE9PUm5QWkY3VjcrQS8wcVNZUEx3LzRucGQxckFIUW85WGZRTXAxK0FLT3lWT3Y1ZFczNGZCRElCQXVRQ2dwSzEvTUlhQW9hSURDaVVFWUg3cUZMaFN6dy9vTUlra1d6U2V6WmlCY1lJTFVCcDk1ZSt4c24xSFVKOVhRTGc0YnF4RzBSeXRJZ3dTQUlCaE9lV3VTQ1hDM3BrRE9mOGZ0SjdCUDJ2SVNVRzFFNlU0OEhUR2RDVFpvclVKekU4aXJ2ekEvc0tleTFwTGcycmp2TmpSR0dhUDB5aWl3M1dxSG14ejc5V2xiWk1oZDdkdGhLTGF5Unh6MFJCQUFGeXBVL0NMSUFkL2ozUjdQRzVOL3JFbWJmbEQxSlVmQUY1c1hvZGRRWjczZDNQU1ViVXROYk8ycXhvZTl1bld2cGtvUUs0Q3NENlBVaTJHQUpTa1hSRDBsZjlJMXlaTzFPMXExaHRSVjM0QXFQVzI0cEdHejRKcVkzTHNhRXlNeXRRb29xTjkyYkZUdDdiTmhxQ21Ld3BnMmZwSFd1bVo5bCtYZUtMbWJUdkpoZ3QwZktCMUtKRlgvbTcyNHNhYXhXand0UWZjaHBOc0tCcDZub1pSSGUyTGpncGQyemNUaHBLaU1NT3lGUkMxUUFBV3BrM1ZiTnJmbTNOaThuUnJ1NGZJSzcrSGZiaGwxeHY0dG10WFVPM2NOWFFTY25VczE5V2lkZ1VkWTJoUmt4V0FaQUxvUTgvZ3YxYm5zK1AxL0tFR3hGNzVld2IvUjIzQm5XYzRLV1lVcmgraTczbTFIN1J1RFp2N2Z3QlFRTWtLd0RJQjlLRWs3UUxkQno4QXBOcjBPNGpKcU9XOXZla1ovTXZheW9KcUp6OGlGWThNdjB6M1YxVnZ0V3pTdVFkellVYXl3bUQ1REtBWHQ2V2NwY3M5ZjI4ODBPZXFZNFhCbitGSXdBdVpWK3RlcHF2VzJ4cFdEd0FCQUlRVWhaZ1NSY2RoTmpNVEorSzI1RE1ONjY5T2c2V3hSN0xLNEg4dGE2WWhiMG1XdEd5MGZpR1FvOUFRQlFSTFYwRDAxOVM0UWhTbkdYczg0cWF1V2szYnM5TGd6emFnUkxlYmZWalU5Slh1L1pnUFJ5aVFoVUFPeW5VbTRTL0RMb0hONElXUndUNGdPNVFWQnY5d2V6eGVOV2p3QThBYkxSczBPV2s1QkVYWUdYREtkY0Q3RDdWNGJQZ1ZodGVFMyt0dHc4cjI3WnEwWllYQmIrU1ZIOWhmLysrSnhpOE02Y3VFbkFvQlZpK0JPaWhGcWVkaFRFU2E0ZjMrdmVFelRhcmJ5c0VmbVBkYnQrQjdkNE5oL1ptTXZBVUE5aStTTWVxSi82RldkNVRqNVgzQm4rTW5CMzlndXRpTCsvYXVOS3cvRTVJSklFcHhvRGgxaXVIOVZyZ2JjY3V1TitCbE5haDI1T0FQM0tNTnExSHRhVGEwVDVPSjBPNllsaEQxbTZUVGtlRklNTFRQU2s4VFpsUy9pQ1pmWjFEdFdHSHdEN0ZGNFpYTWF3MGYvSldlSmp6VytMbWhmWnFSQXNENkpWRDdrT05NMG5WcmFXOHFQVTM0V2RVTFFaY0VzOExndDVPQ3g0ZGY2VmRGSlMwd2dLSzZwZWhtcjZIOW1sQjNXQ2VBMlVNbkd6cUE1T0EvM016RWlVSktveTFxK2dxcmdxeEtaQkhkQ2dOV1B3YWxWM25Pb2ZoSmJMNWgvY25CZjdnWXhZbmZDaWlHc3JGck4rN2R1OXp3ZmsycVc2RXduUUhja255YVljdDlhano3TUtQcVJUbjREM0ZlN0dpazJHSTBhV3V3MmxVM2J0MjlCTzR3MnZFM0FMY2RZWmdBTWh3SitHbmNPRVA2a2xmKzNwMXJRQTJFUS9uQXVIWDNFbndYdnUvOGU5T3RnQkVHeDZBY2JsYml5WnFlVTk4WE9majdOaTV5bUtidERXUjI3UWVhTHJtMkJ1cFdRR2dTSFlhUmJDQmNGcS8vMVgrM3QwVU8vbjRNMWVoNHNNRjRxUDRUVFJaY1dRNnJqUXFBZXRGeEdPbjBtRnpkZi9pYWZaMllXZjJ5SFB6OTBPSjRzTUY0dm5rTi90YndxU0Y5aFJ5RjZoVUFZWFZUZEZuOGVGM2Jad0MzMWI2TmJkM0IxWmEzOHVBSDltK0MwdHNyKzc3QjNMcWx1dmNUcWtpbEJvWENhQVlRU1hhY0g2dHZCZDdIR3ovSGlyYmdkdmVKTHVCNTg2N1hkUjM4QUhUZmdQTmk4MXI4cWZhOU1DenlNWGlzcVBXS0drWXpnQk9pTW5YZDdsdmhic1JEOVo4RTFjYjR5SFQ4Yy9pMGtDN2dPUmhhYllIdXpjdjcxbUZPM1lkeTZBOUVWUm9VZ01NbUFaeWk4NnF6ZVh1V0JiVzhOTVVlZzBVWlZ5SFNvUHZqUXhsMTVlL3hZV3VwTHUvam4yOWVnN3RyMzVkWC9rSGhCZ1drN0JZZGhsRk9pZEl2QVh6VldSbjA4dExiazg5Q3FvRlB4M3NZZWVYdlVldHR4WXZOYXpWdDgrWG1kU2lTVi81Qlk2SmFSVkY4RmFJRE1VSUUyWEY4VkladTdRZTdzeXpEa1lDckVvN1hLSnJCTS9yS2Y2aEhHajRMK3B6QUhzODJmWTI3Njk2WGc5OFBLbEN1cUpIeDVZRDEvOTRLSWxJUm9kUFV1c2F6RDZ2YWdydjZYeGhYYU1qaXBFT0p1UElmcXRIWGdldHJGcU16eUlwSWk1cSt4cnc5UzYzL1E2d3Rka2I0ZGlyVldiZDNNbUQ1ODVCSE92VTcvK1R0MWsxQjMzT2VIVE5LbzJnR1IrU1YvMUNidW5iajZ1b1hVZS8xLzh4QUJ2Qnd3NmR3eWNFZmlOMFZ1YTR1QlFDSVVTNDZHcjNwdWVkOFdXdndneWpYWWR5ZWVORlgvaU90N2F6R3haVlArL1g2OUh0M0EzNWUvVEllcnY5RUR2NEFNTGdDQVBiUGlZa3FBUDZSd0hoMHA5Y0FhMVBkMk5nZC9IUFVaTHN4TytONnJ2eG1HZnc5YWp6N01Ldm1WWndVbFlVWkNjZGpVbXdla216UmgzMlBtMzM0c21NbjNtbmRqRGRiTmdSZFRpMmNLVkRLZ1lNSmdMK3plaG9kNGRTbjVOVDZyaHBOZmhEZDdOWDk5Wi9acnZ5OSticXpDbDkzVnNFR1Fyb2pBV24yV0RqSmhyM2VkdFI0OXdYOXZFRGFqNkYrRC9Ra0FKVTNnYXg5T2tDQ1RtZkxiZS9XWmlIbFhtOGI0cDM2SGRKazFpdC9YM3hnVkh1YXc3MW9wMjRJMkFqc3J3a0lNRzhVR28wQm9uVmFBVmpoYWRTa25mVmQraTNIQ0lVcnYyUXNoZmlIQkZCVmgxSll2RFJZakU0Sm9ObW5UVG1GbFVIdUgraUxFUnQ3cEpEVFZURjZ6SGFnWndad2pzdExvSzFDUTlKWkZEbDBhYmRkMVNadmZ0UytEWHMwM2lGbmxsZDlrdWxzQmszM0FUMEpBQUF6YnhBWGo3NElnS0xUTXc2dDJ1MVVQWGlrNFROTjJnTGt0Ri9xRHgwYzY0Y3VQYlBzY3dBRzBLSHFVL293VXNPWnhZdk5hN0ZTZzNMVmN0b3Y5WXQ0VTg4dmYwZ0FDdjRuSkJpRHRHbzBWVC9Ta2UrcWc2R0M4YnZkUzdEREhmaWJoVzcyeW1tLzFDOUZWYjQ4K091ZVgwUW9pVi9Cd2c4QzIzUktBRm9mYWJYUDE0VkxkajZENVFGTTNldThyWmhlK2J5Yzlrdjk2YVpJNzhFQ2lRY1R3STY4Vzd0Qi9JMlltUFRYNnRQbkZtQjBSSXJtYmJhcDNiaWhaakZtMTMwd3FBZURIdmJoMmFhdk1hWGlLWHpUVmFONVBKS1Y4TmNWdWE2RHI2Nk9YSHEyR3NBcHhnWmtqQnB2TTA2QTl0dUJqNHZNZ0owVXpaZWwrc0I0b1hrdFhtL1pnTWt4bzNGdWJCN0dSdzVEbWowT0VXVEhIbThidm5jM1lGWDdEaXh0TGRWc1c2MWtiYngvakI5a1AvS0xCUHpCMkpDTXNVT25HblF4aWhOakk0WmhmZGN1WGRydlZEMTR0M1V6M20zZHJFdjdoNHBXSEpnVWs0ZWZ4T1pqVEVRYVV1d3hpQ0E3YXIwdDJPbHB3a2R0MjdDc3JTeWduWHVTT1NqY1R3THcySGkxMDJ2TkpjSGZhYlJrdHpkVDR3cDFTd0JHc0pPQ2F4TW40dGFrSHlPbGwwMUp4emhUY0l3ekJaTmk4akF2OVh3c2F2b0tqemF1eGo2TkZrRkpobUczM2ZIbG9iOXhXQVdLdWxHdVBTRG9mNmtSUU04am9TNktHd1BGc0pNR3RaVmtpOGJMbWRlaU9IVktyNFAvU0pGa3g2K1RUc01ISTI1QVFVU3FBUkZLR3RwUW0zZlBZYlUvamk1QncvalFzSEFNOUoyN1hyZERJYk1jaVpnVWEreFpkMXJJY0NUZ25SRy9ES2hZYXBZakVXOW16OEt4a2NOMWlFelNBL2N5dG85S0FFUnN5Wk1VdXRpcjZ4UHltNUpPMWExdFBXUTRFdkR2ck91Q2VvMFpxemp4Vk1aMHBObmpOSXhNMHRGUlkvdW9CQkRuNWM4SWFEVW1IbU45M2xHaFc5cy9pc3JHSklOUHZBMVVoaU1CcjJYTlJLWWpNZWkyaHRuak1ELzFmQTJpa25UV2t0YWVkbFRsMnFNU3dPYXhMamNEcTR5SnlWaXIyL1d0ZkZhVU9sbklnUjcrME9MS2Y2UUw0Z294SVRKZHMvWWtIUkNXcnozeHBxT3FxZlJSaHBZc2VSdndUVmNOMm5YYUV3RHNmMXArUjhvNXVyVWZySjdCcjhXVi8xQUU0T3FFRXpSdFU5SVdvL2RiKzE0VEFCTzlBOEJ5QmRjODdNT3l0bEpkKzdneDZSU2NFWjJyYXgrQjBHdnc5emczTmk5RTM0T0VCZFhtczcvWDJ4ZDZUUURWK1hOcUFBN3VwQXVUZXFORjMwMlBDZ2hQWkZ4cHFsZGtXdDd6OXlYTkhvZFUrVERRbEFqNFpPZVkyYjJXbk9yekpBcG1aYkYrSVluemVYczVhcjM2UHVPTVV5S3dLT01xWFFmY1lJMXdETkg4bnI4dmFRS09OWk1HeGtDZlk3blBCR0JYZmY4R29NK0xjNEY4WUN6UmVSWUE3TC9xdnBIOWM0eHlhcjlaYUxER1I2WmpTZllzd3hLUlhpY3ZTVUh4dWUzcW0zMTlzYzhFVURIV1ZRdEF1eEkxSnZKQzgxcERhc3FuMitQeFJ2WXZoTHdldkNMaFdDek91bTVRcS91MG9uVkpNMGtEaEpWMW8xeDcrdnJ5QUlmUmtTVnZBNm85elliTUFnQmdpQzBLaXpLdnd1eWhreEdsNkZPWDhGREp0bWo4UGYxU1BEVHNFdDBLb2ZhbWk3M1lMWGNrbWc0enY5YmYxL3ROQUNyYkZnT3c1STZQUnh0WHcyZlFhU2lFL1NzRlYrVGNqQ214QmJvOExYZVNEYk9HbklTUGMzK0R5K0xINjlCRC8xYTNsK3UyMUZvS1dLZmlkdlk1L1FjR1NBQTFoZmMwZ1BHV3RqR1p3M2Z1Qm56WWFtd2g1RXhISXA3TXVCSWY1dHlJUytQSHdhbkJvcUVodGlqY2xIUXFWby84TGVhblRrR0NUYi9EUmZyemJ1c1dJZjFLL1dEOHUzTEMzVTM5ZmN1QUY2TVJwU1dUVlBBSzdhSXlqMXcrUVp5c0FBQU1EVWxFUVZSbkV2NlRjNU93aDFjdGFoYytiQzNGOHJadCtMcXpDbzIramtGOUxzZVpoRk9pUnVEODJIeWNGWE9NNGNlS0gybUh1eDdubFQ5dTJJeEtHaVRDbVZYNWMvdDlqamZ3YkpTWnNzcEt5Z0NFeGtKM1A5MmVjaForbjN5bTZEREFBQ3JjalNqM05HS251eEZ0cWh0dGFqY0loQVJiSkJKdFVjaDFKR0dVTThYUUIzc0Q4WUZ4WGZYTCtLejllOUdoU0lmYlZwVmZWQUNpZnJQeXdKYytJcWF5NG1lWWNaOW1vWm5JUHhyK2kwdml4bUtrTTFsb0hJVDlNNUpjWnhKZ252RTlvUHYzcnBDRDM0d1lUdzAwK0lFQjN3THNaM1BiRmdHdzVMR3NidlpoL3A3L2lBNGpKRDNUOUJVZWIveENkQmpTMGR4dWgvcjhZTDV4VUFtZ2ZQenNPZ0w2ZlowUXlsYTE3OEFMeld0Rmh4RlNubW42Q3ZQM0xCTWRodFFid3N2OXZmcy8xS0NmSHFsUUh3U3MrNVJuL3A1bDJLampDYjFXOGxMek9zemZzOHk2UHd3aFRnWCtOdGp2SFhRQ3FDNXdiUUREa204RGdQMjNBcmZzZWtPM0U0U3M0cVhtZGJpbjduMDUrTTFyYVUzKzNQV0QvV2EvM2g4eDBWLzlqeWQwN1BRMDRmYmRiOHZYV1gxWTFQUzFIUHdtUjhSLzhldjcvZTBncTdUNFd3REgrdnU1VUhKTjRnbTRMKzFDMFdHWXlzdk42M0MzSFB3bVJ4dXE4dWNjTjVpbi96MzhYa0ZDekEvNys1bFE4MUx6T2p4WWI4bXFhQUdSZ3o4ME1QUDkvZ3grSUlBRVVGbFErQ0lCbGo5Njl2OGEvb3VubXl4OVlQS2dQTmI0dVJ6OG9XRmJkVUdCMzIvcS9GOURTdE45S3JqRTc4K0ZvT0k5LzhIRERaK0tEa01JQm5EdjN1VzRiKzhLT2ZoREFJSG5nS2I3dlJzcm9FWGsxZm44Q2tBYkF2bHNLR0VBRDlkL2dqL1d2bXRJL1FDejhMQVB0KzVlSWhmNWhBemFWSm5QYndUeXljQjJrWkJMSlNBc1pnRUFzSGpmdDdoaDEySjBxSlpjREhtWVBkNDJYRnY5RXQ1dTJTUTZGR25RMURrZ1YwQlhxTUMzcGpOVGR0bUNkUXcrTHVBMlFzd29ad3IrYi9obEdCc3hUSFFvdXZpOG93SzM3bDRpSy91RWxyVlYrVVVuK2Z2d3IwZmcrMGlKR0tUK01lRFBoNkFkN25yOGRPY3plS3p4YzZnV3VqUDJzb3FIR3o3RjFWVXZ5c0VmWWtqbHV3TWQvRUF3TTRBRHNrcUwzd0Z3Y2JEdGhKcHpZa2JoejhNdVJMbzlYblFvUVZuVFdZV2l1cVhZM0Ywck9oVEpYNFEzcS9MblRndW1pZUFyU2Rqb05nQmh0MzUyVmZzT25GMytLTzdidTBMWDA0YjAwdVRyaEd2UE1seFIrWndjL0tISnpUNzZVN0NOYUZLZUxxdTArRUVBWVhVN2NLamg5bmpjUGZSY1hCSS96dlNuNDdTcTNYaXU2V3M4MXZpNTNQY1F5b2p2cThxZmQwL1F6V2dSUzBycC9YRlI2TjRHd0pwUHh3WXB4NW1FV1lrbjRhcUU0dzJwQU95UEJsOEhubTllZzJlYS9vZDlQa3ZXZVEwZmhMb0lSUjI5STg4VmRCbG16UzVZV2FYelp3SDBqRmJ0aGJKa1d3eXVHM0lpWmlRY2oyRUNqOHRTd2ZpeVl5ZVd0R3pFMnkyYjBNVmVZYkZJMmlIaTZ5cno1NzJnU1Z0YU5BSmdmKzNBMHBML2dEQlpzelpEbkFMQ0NWR1p1Q2h1REtiR0ZScVNERlF3dG5UVjRwM1d6WGk3WmJPczFXOHhCS3lxekM4Nk41Z24vMGUwcDUwUnBTVzVLbmdqUXFxcW5URVVFTVpGRHNPSlVWazRLU29MRTZPeU5Fa0lLaGpmdWV2eGVjZE9mTkZSZ1M4N2RnNjZ1ckFVY2pwZ293bFZlVVhmYWRXZzVzK3Nza3RMN21Md243VnUxNG95SEFuSWNTUWgyNUdJYk1jUVpEa1RrV1NMUmhRNTRDUWJvaFVISEdSRGk2OExMV28zOXZtNjBLSjJvZHJUak8vY0RRZitxNWNIY29RTHBqOVdGUlpwV3BORCs0ZldxMXoyckhUbFN3QVROVzlia3NJVWdiNnQzTzA3Q2VlNE5IMlFvLzJKRXVlNHZJcXEzZ2lMVmhHV0pBSGNQdUpmYUQzNEFUMFNBSUNkWTF6cndIRHAwYllraFJzR2l2eXA4K2NQM2M2VXFpcFEvMHlBTEtzalNjRmcvclE2djBDM1dwejZIU3BITHRWblU2OEQwS2hiSDVKa2JjMCtsV2NHVXVoanNIUTlWYkltejFWTm9KdjA3RU9TTEl2NDVsMWpYWlY2ZHFIN3NiS1ZCVVd2ZytnNXZmdVJKQ3NocHFlcTh1ZnBmaHFYSWVkSzI1eSttd0ZhWjBSZmtoVHFDUFN0R2h2ek95UDZNaVFCVk9TNnV1d3FYUTZnd1lqK0pDbUVOUkp3ZVhYVzdaMUdkR1pJQWdDQThqRnpkcExLTXdESVpXdVMxRHVWUWRmc0xDZ3FONnBEd3hJQUFGU09tZmNSRTRWTk1WRko4Z2N4emFrdUtGcHFaSitHSmdBQXFCN3RLd0h3dHRIOVNwS1pFZkJHWmNFY3cvZlFHSjRBUUM2VlkySm5nUGhMdy91V0pGUGlOZDNkVVQvWGFvdXZQNHhQQUFDcXMyN3Y5Q2lPU3dCb3RxMVJra0pVdWQxanY2anUyRHZhUlhRdUpBRUFRRzNlUFhzVmhTNEcwQ1FxQmtrU3JORkc2dFR5OGJQclJBVWdMQUVBd003UlJWdVpjUm5Dc0txd0ZQWThSRHk5SXQ5VktqSUlvUWtBQUtvTDUzNEM0cDlEdmg2VXdvZVBRRmRYNXM5YklUb1E0UWtBQUtyeTU3MUd6TDhDRUQ0bmNFcmhpcGx3YzJWQjBldWlBd0ZNa2dBQW9MSnczbk1ndWxWMEhKS2tLNkkvVk9mUC9aZm9NSHFZSmdFQVFGViswVDlCZEx2b09DUkpEMFM0dXlxLzZHSFJjUnpLVkFrQUFLcnlpeDRtUnJIb09DUkpTOFE4dnpKL3J1bUs1WnIySkN0WlhWaXlDaWJNcTg2ZmE4cUxtbWtUQUFCa2xSYmZET0NmTU9GTVJaSUdnUWwwVzJWQjBkOUZCOUlYVXljQUFNZ3NuWDhOZ1o0RllCY2RpeVQ1d1Fmd0RWVUY4eGFKRHFRL3BrOEFBSkJWTnY5bllIb2VnRk4wTEpJMENOMEV1dFlzci9yNkV4SUpBQUN5UzR0UForQXRBQ21pWTVHa2ZqUXgwK1hWaFVVZml3NWtNRUltQVFCQTVtYlhLTElwSHdESUV4MkxKUFdpM0VicVZOSExlLzBSVWcvWHFzZTZkdmhJUFEzQWF0R3hTTkxoK0N1N3gzWnFLQTErSU1RU0FBRHN5bmZWKzlyVW40Q3hSSFFza2dUc0wrYkJNWEZuaTl6VkY2aVF1Z1U0RERObGx5MjRrOEVMQWRoRWh5T0ZKV2J3QTlYNWZBL0lGWkw3V0VJM0FSeVFVVHIvSEFLOVNrQ3E2Rmlrc05JQTVtdXFDdWN0RXgxSU1FSStBUURBOEIwTHNteGU5UTBBSjRtT1JiSStabnhqSTVwbVpQVmV2WVRjTTREZTdCbzFwNHBqWXM4Q3lOU0xMcVRRUjB4UDJTUFYwNnd3K0FHTHpBQU9sYmwxL2pRaWVoSkFrdWhZSkV2WkIrWmZWeFhPZTBWMElGcXlYQUlBRHQ0U1BBL2diTkd4U0tHUGdGVSttM3BkVFo2clduUXNXck5rQWdEUTg1YmdWZ1kvQUxtRVdBcU1sNWdYVmhad2NhZys1UitJZFJQQUFTTzJGeCt2K3VoZkFKOGdPaFlwbFBBYWxlajZtdnk1NjBWSG9pZkxKd0FBd0NxWFBUdmQ5aHNHTHdBUUt6b2N5ZFE2Q1RTL01qLy9MNkRwbGk5VUd4NEo0SURzYmE2UnpNcmpZSnduT2hiSmxENVJXYjJ4cHRDMVRYUWdSZ21yQkFBQVlLYXNzdUpmZ09nK01OSkVoeU9aUWkwUjdxck1uL3U4NkVDTUZuNEo0SUMwOVEvR1JEZzc3bUNpdXdCRWlvNUhFc0xEd0dPUk5yVm9SNTZyUlhRd0lvUnRBdWl4ZjR1eDdWNkFyeFFkaTJRY0pyeEhDdjIrS3E4b3JNK25EUHNFMENON1c4bGtWbkcvZkZ0Z2RieEdnWExYem9LaWxhSWpNUU9aQUk2UXZhMWtzdXJqQjRod3ZPaFlKQTBSTmg4b3pmMjZpR080elVvbWdONHdVM1pwOFVWTXlnS0FKNGdPUndyS1ZpTDh1WEowd1V2aDhGclBYeklCOUljWDJ6TExTbWNRNkE2WkNFSUxnYjVWbVIrc0xsQmZ0ZW9xUGkzSUJEQkkyV1VMemxDaDNrV01DeUgvM3N4c05USGZYMWt3OXowNTFSK1kvRUgyVTJhcGF3S3g4Z2NRcm9MY1kyQVdiaEM5d2lyL3RicHc3a2JSd1lRU21RQUNsTDNodmlGd2VLNWtvdDhDUEU1MFBHRnFHNEdlNmJiN0Z0V05jdTBSSFV3b2tnbEFBOWxiaXllcUNtNGt4alVBWWtUSFkzSGRBTDFEQ3A2c3pKdXpRazd6Z3lNVGdJWjZaZ1VxWVRydHIwVWdpNVZxd3dmR0tsYndtdDJwdmw2UjYyb1dIWkJWeUFTZ2s0eXQ5eWJiRk8rRktuQWxNYVpBbm0zb0x4WEFGd1Q2dCtMenZWWXgxbFVyT2lBcmtnbkFBRm1scnVIRXlrVU1UQ0hDWkFiaVJNZGtVaTBnTEdmd1VwdlAvdDdPTWJOM2l3N0k2bVFDTU5qRU5VODRhbU5yejdDQnBqQm9pbHhmZ1BVTVhncFdscWExcDY1ZWUrSk5IdEVCaFJPWkFBUWJ0ZDBWNzJiYnlmQ3BaekRvZEJET2dIVjNKM29CckdkZ3RRTCtyOXZtK0xnMjc1Njlvb01LWnpJQm1FeE91U3RTZGR0UFpLZ25BelFCalBFQWp3VVFJVG8yUDNVQnRBWEVHd0JzSk1iL25MYkVOVHZ5YnUwV0haajBBNWtBUXNFcWwzMUVoaTFQWlhVQ21NWUJHTW5nSEFMbEFrZ1hITjF1QnBjclVNb1o2dmNFMmtRS2JkeFo0OXVPYzF4ZXdiRkpBNUFKSU1UbGxMc2k0VWFPRjVSTGpHRmdTbWJpRklLU0FuQXlnR1NBaGdBY2ZlQWo4ZGovZXRLQkgrb2p0Z0h3QVBBQk9GQVlnem9BYmdMUUFGQURNKzhsb0FGQVBSUFYyc2xYQVNjcUtuSmRYUWIrY1NXTi9YOFVrSXVQZVE4cC93QUFBQUJKUlU1RXJrSmdnZz09YFxcclxcblxcclxcbiQuZXhwb3J0cyA9IHtcXHJcXG4gICAgcGljX2hvbWUsXFxyXFxuICAgIHBpY19zaGFyZSxcXHJcXG4gICAgcGljX3JlY3ljbGUsXFxyXFxuICAgIHBpY19saW5rXFxyXFxufVxcclxcblwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiRml4VGFiXCIsXCJwYXRoXCI6XCJGaXhUYWJcIixcInJ1bGVcIjpcInZhciB7IGdldF91c2VyX2Jhc2VfaW5mbywgZ2V0X3VzZXJfdmlwX2luZm8sIGdldF91c2VyX3N0b3JhZ2VfaW5mbywgZ2V0X3VzZXJfaW52aXRlQ29kZSwgc3ViX3JlYWRfbG9jYWwgfSA9XFxyXFxuICAgICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxudmFyIHsgc2VhcmNoX2JhciB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvU2VhcmNoQmFyQW5kQ2F0ZWdvcnknKVxcclxcbnZhciB7IGdlbmVyYXRlX3BhdGhzLCBnZW5lcmF0ZV9vdGhlcl9zaGFyZV9wYXRocywgZ2VuZXJhdGVfaG9tZV9jYXRlZ29yeV9wYXRocywgZ2VuZXJhdGVfZG93bmxvYWRfcGF0aHMgfSA9XFxyXFxuICAgICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL1BhdGgnKVxcclxcbnZhciB7IGludml0ZV9nbyB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvSW52aXRlJylcXHJcXG52YXIgeyBzdHlsZV9jb2xvciwgZGVidWdfbG9nIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9EZWJ1ZycpXFxyXFxuXFxyXFxuZnVuY3Rpb24gZml4X3RhYihyZXMpIHtcXHJcXG4gICAgLy8g55So5oi35L+h5oGvXFxyXFxuICAgIGxldCB1c2VyX2Jhc2VfaW5mbyA9IGdldF91c2VyX2Jhc2VfaW5mbygpXFxyXFxuICAgIGxldCB1c2VyX3ZpcF9pbmZvID0gZ2V0X3VzZXJfdmlwX2luZm8oKVxcclxcbiAgICBsZXQgdXNlcl9zdG9yYWdlX2luZm8gPSBnZXRfdXNlcl9zdG9yYWdlX2luZm8oKVxcclxcbiAgICBsZXQgdXNlcl9zdG9yYWdlX2xpbWl0ID0gJzBUQidcXHJcXG4gICAgbGV0IHVzZXJfc3RvcmFnZV91c2FnZSA9ICcwVEInXFxyXFxuXFxyXFxuICAgIC8vIHB1dE15VmFyKCdzaG93X2VtYWlsJywgJzAnKVxcclxcblxcclxcbiAgICBpZiAoZ2V0SXRlbSgnYWNjZXNzX3Rva2VuJywgJycpID09ICcnIHx8IGdldEl0ZW0oJ2FjY2Vzc190b2tlbicsICcnKSA9PSAndW5kZWZpbmVkJykge1xcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIHRpdGxlOiBg5oKo5pyq55m75b2V5oiW6ICF55m75b2V5aSx6LSl77yM6K+35qOA5p+l56Gu6K6kYCxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ2F2YXRhcicsXFxyXFxuICAgICAgICAgICAgcGljX3VybDogYGh0dHBzOi8vbXlwaWtwYWsuY29tL2Zhdmljb24tMzJ4MzIucG5nYCxcXHJcXG4gICAgICAgICAgICB1cmw6ICdoaWtlcjovL3BhZ2UvQWNjb3VudFNldHRpbmcjbm9IaXN0b3J5IyNub1JlY29yZEhpc3RvcnkjJyxcXHJcXG4gICAgICAgIH0pXFxyXFxuICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAvLyDoh6rliqjliLfmlrDpgoDor7fkuIDmrKFcXHJcXG4gICAgICAgIGlmIChnZXRJdGVtKCdhdXRvX3JlZnJlc2hfaW52aXRlJywgJzAnKSA9PSAnMScpIHtcXHJcXG4gICAgICAgICAgICBpZiAoISh1c2VyX3ZpcF9pbmZvLmJhc2UudmlwX3N0YXR1cyA9PSAnb2snKSkge1xcclxcbiAgICAgICAgICAgICAgICBsZXQgaW52aXRlX3JlcyA9IGludml0ZV9nbyhnZXRfdXNlcl9pbnZpdGVDb2RlKCkuY29kZSlcXHJcXG4gICAgICAgICAgICAgICAgaWYgKCEoaW52aXRlX3JlcyA9PSAnaW52aXRlIGxpbWl0JykpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgIGRlYnVnX2xvZygn5bey57uP5pivUHJlbWl1bemrmOe6p+eUqOaIt++8jOaXoOmcgOWIt+aWsOmCgOivtycpXFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgLy8gdXNlcl9iYXNlX2luZm8ubmFtZSA9ICfnsonlprknXFxyXFxuICAgICAgICAvLyBzdHlsZV9jb2xvcih1c2VyX3N0b3JhZ2VfbGltaXQgKyAnLycgKyB1c2VyX3N0b3JhZ2VfdXNhZ2UgKyAnICcsICcjZmZmZmZmJywgJ3NtYWxsJylcXHJcXG4gICAgICAgIHVzZXJfc3RvcmFnZV9saW1pdCA9IE51bWJlcih1c2VyX3N0b3JhZ2VfaW5mby5xdW90YS5saW1pdCkgLyAxMDk5NTExNjI3Nzc2XFxyXFxuICAgICAgICB1c2VyX3N0b3JhZ2VfdXNhZ2UgPSBOdW1iZXIodXNlcl9zdG9yYWdlX2luZm8ucXVvdGEudXNhZ2UpIC8gMTA5OTUxMTYyNzc3NlxcclxcbiAgICAgICAgZnVuY3Rpb24gZm9ybWF0TnVtYmVyKG51bWJlcikge1xcclxcbiAgICAgICAgICAgIGNvbnN0IHJvdW5kZWROdW1iZXIgPSBNYXRoLnJvdW5kKG51bWJlciAqIDEwMCkgLyAxMDBcXHJcXG4gICAgICAgICAgICByZXR1cm4gcm91bmRlZE51bWJlci50b1N0cmluZygpXFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICB1c2VyX3N0b3JhZ2VfbGltaXQgPSBmb3JtYXROdW1iZXIodXNlcl9zdG9yYWdlX2xpbWl0KSArICdUQidcXHJcXG4gICAgICAgIHVzZXJfc3RvcmFnZV91c2FnZSA9IGZvcm1hdE51bWJlcih1c2VyX3N0b3JhZ2VfdXNhZ2UpICsgJ1RCJ1xcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIHRpdGxlOiBgJHtcXHJcXG4gICAgICAgICAgICAgICAgdXNlcl92aXBfaW5mby5iYXNlLnZpcF9zdGF0dXMgPT0gJ29rJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgPyBzdHlsZV9jb2xvcih1c2VyX2Jhc2VfaW5mby5uYW1lLCAnIzU1OTNGNScsICdzdHJvbmcnKS5yZXBsYWNlKCfigJjigJjigJnigJknLCAnJykgK1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAnICgnICtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGVfY29sb3IoJ+mrmOe6p+eUqOaItycsICcjMjRCQjc1JywgJ3NtYWxsJykucmVwbGFjZSgn4oCY4oCY4oCZ4oCZJywgJycpICtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGVfY29sb3IoJyAnICsgdXNlcl9zdG9yYWdlX3VzYWdlICsgJy8nICsgdXNlcl9zdG9yYWdlX2xpbWl0LCAnI0RDMTQzQycsICdzbWFsbCcpLnJlcGxhY2UoXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAn4oCY4oCY4oCZ4oCZJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICcnXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICkgK1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAnKSdcXHJcXG4gICAgICAgICAgICAgICAgICAgIDogc3R5bGVfY29sb3IodXNlcl9iYXNlX2luZm8ubmFtZSwgJyM1NTkzRjUnLCAnc3Ryb25nJykucmVwbGFjZSgn4oCY4oCY4oCZ4oCZJywgJycpICtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgJyAoJyArXFxyXFxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlX2NvbG9yKCflj5fpmZAnLCAnI0M2MTgxNicsICdzbWFsbCcpLnJlcGxhY2UoJ+KAmOKAmOKAmeKAmScsICcnKSArXFxyXFxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlX2NvbG9yKCcgJyArIHVzZXJfc3RvcmFnZV91c2FnZSArICcvJyArIHVzZXJfc3RvcmFnZV9saW1pdCwgJyNEQzE0M0MnLCAnc21hbGwnKS5yZXBsYWNlKFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ+KAmOKAmOKAmeKAmScsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgICApICtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgJyknXFxyXFxuICAgICAgICAgICAgfWAsXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdhdmF0YXInLFxcclxcbiAgICAgICAgICAgIHBpY191cmw6IGBodHRwczovL215cGlrcGFrLmNvbS9mYXZpY29uLTMyeDMyLnBuZ2AsXFxyXFxuICAgICAgICAgICAgZGVzYzogYOi0puWPt+iuvue9ruKamWAsXFxyXFxuICAgICAgICAgICAgdXJsOiAnaGlrZXI6Ly9wYWdlL0FjY291bnRTZXR0aW5nI25vSGlzdG9yeSMjbm9SZWNvcmRIaXN0b3J5IycsXFxyXFxuICAgICAgICB9KVxcclxcblxcclxcbiAgICAgICAgLy8g5pCc57Si5qCPXFxyXFxuICAgICAgICBzZWFyY2hfYmFyKHJlcylcXHJcXG5cXHJcXG4gICAgICAgIC8vIOmXtOmalOagj1xcclxcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyBpKyspIHtcXHJcXG4gICAgICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnYmxhbmtfYmxvY2snLFxcclxcbiAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICB9XFxyXFxuXFxyXFxuICAgICAgICAvLyDlhbbku5bkurrliIbkuqvorqLpmIVcXHJcXG4gICAgICAgIGlmIChnZXRNeVZhcignc2hvd19pbmRleCcsICcwJykgPT0gJzEnKSB7XFxyXFxuICAgICAgICAgICAgZ2VuZXJhdGVfb3RoZXJfc2hhcmVfcGF0aHMocmVzLCBzdWJfcmVhZF9sb2NhbCgpKVxcclxcbiAgICAgICAgfSBlbHNlIGlmIChnZXRNeVZhcignc2hvd19pbmRleCcsICcwJykgPT0gJzAnKSB7XFxyXFxuICAgICAgICAgICAgZ2VuZXJhdGVfaG9tZV9jYXRlZ29yeV9wYXRocyhyZXMpXFxyXFxuICAgICAgICB9IGVsc2Uge1xcclxcbiAgICAgICAgICAgIGdlbmVyYXRlX2Rvd25sb2FkX3BhdGhzKHJlcylcXHJcXG4gICAgICAgICAgICBzZXRQcmVSZXN1bHQocmVzKVxcclxcbiAgICAgICAgICAgIHJldHVyblxcclxcbiAgICAgICAgfVxcclxcblxcclxcbiAgICAgICAgLy8g6Z2i5YyF5bGR6Lev5b6EKOaMiemSrilcXHJcXG4gICAgICAgIC8vIGdlbmVyYXRlX3BhdGhzKHJlcylcXHJcXG4gICAgICAgIC8vIGxldCBwYXRoc19raW5kX3ByZSA9IFsncGF0aHMnLCAnc2hfcGF0aHMnLCAnZG93bmxvYWRfcGF0aHMnXVxcclxcbiAgICAgICAgbGV0IHBhdGhzX2tpbmRfcHJlID0gWydwYXRocycsICdzaF9wYXRocyddXFxyXFxuICAgICAgICBsZXQgcGF0aHNfa2luZCA9IHBhdGhzX2tpbmRfcHJlW2dldE15VmFyKCdzaG93X2luZGV4JywgJzAnKV1cXHJcXG4gICAgICAgIGxldCBzaG93X3RpdGxlcyA9IFsn8J+ThCcsICfwn46e77iPJywgJ/CflrzvuI8nXVxcclxcblxcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIC8vIPCfjp7vuI8g8J+ThCDwn5a877iPXFxyXFxuICAgICAgICAgICAgLy8gdGl0bGU6IGdldE15VmFyKCdsaXN0X3Nob3dfc3R5bGUnLCAnMCcpID09ICcwJyA/ICfwn5OEJyA6ICfwn5a877iPJyxcXHJcXG4gICAgICAgICAgICB0aXRsZTogc2hvd190aXRsZXNbZ2V0TXlWYXIoJ2xpc3Rfc2hvd19zdHlsZScsICcwJyldLFxcclxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnZmxleF9idXR0b24nLFxcclxcbiAgICAgICAgICAgIHVybDogJChbJ/Cfk4Qg5YiX6KGo5qih5byPJywgJ/Cfjp7vuI8g57yp55Wl5Zu+5qih5byPJywgJ/CflrzvuI8g5ryr55S75qih5byPJ10sIDEsICfor7fpgInmi6nmtY/op4jmlrnlvI8nKS5zZWxlY3QoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAvLyBNWV9JTkRFWFxcclxcbiAgICAgICAgICAgICAgICAvLyBsZXQgbGlzdF9zaG93X3N0eWxlID0gZ2V0TXlWYXIoJ2xpc3Rfc2hvd19zdHlsZScsICcwJylcXHJcXG4gICAgICAgICAgICAgICAgLy8gbGlzdF9zaG93X3N0eWxlID0gTnVtYmVyKGxpc3Rfc2hvd19zdHlsZSkgKyAxXFxyXFxuICAgICAgICAgICAgICAgIC8vIGlmIChsaXN0X3Nob3dfc3R5bGUgPiAyKSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vICAgICBsaXN0X3Nob3dfc3R5bGUgPSAwXFxyXFxuICAgICAgICAgICAgICAgIC8vIH1cXHJcXG4gICAgICAgICAgICAgICAgcHV0TXlWYXIoJ2xpc3Rfc2hvd19zdHlsZScsIE1ZX0lOREVYKVxcclxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXHJcXG4gICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICAvLyB1cmw6ICQoKS5sYXp5UnVsZSgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgLy8gICAgIGxldCBsaXN0X3Nob3dfc3R5bGUgPSBnZXRNeVZhcignbGlzdF9zaG93X3N0eWxlJywgJzAnKVxcclxcbiAgICAgICAgICAgIC8vICAgICBsaXN0X3Nob3dfc3R5bGUgPSBOdW1iZXIobGlzdF9zaG93X3N0eWxlKSArIDFcXHJcXG4gICAgICAgICAgICAvLyAgICAgaWYgKGxpc3Rfc2hvd19zdHlsZSA+IDIpIHtcXHJcXG4gICAgICAgICAgICAvLyAgICAgICAgIGxpc3Rfc2hvd19zdHlsZSA9IDBcXHJcXG4gICAgICAgICAgICAvLyAgICAgfVxcclxcbiAgICAgICAgICAgIC8vICAgICBwdXRNeVZhcignbGlzdF9zaG93X3N0eWxlJywgbGlzdF9zaG93X3N0eWxlKVxcclxcblxcclxcbiAgICAgICAgICAgIC8vICAgICAvLyBpZiAobGlzdF9zaG93X3N0eWxlID09ICcwJykge1xcclxcbiAgICAgICAgICAgIC8vICAgICAvLyAgICAgcHV0TXlWYXIoJ2xpc3Rfc2hvd19zdHlsZScsICcxJylcXHJcXG4gICAgICAgICAgICAvLyAgICAgLy8gfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICAvLyAgICAgLy8gICAgIHB1dE15VmFyKCdsaXN0X3Nob3dfc3R5bGUnLCAnMCcpXFxyXFxuICAgICAgICAgICAgLy8gICAgIC8vIH1cXHJcXG4gICAgICAgICAgICAvLyAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgIC8vICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICAgICAgLy8gfSksXFxyXFxuICAgICAgICB9KVxcclxcbiAgICAgICAgbGV0IGxpc3Rfc2hvd19zb3J0ID0gZ2V0TXlWYXIoJ2xpc3Rfc2hvd19zb3J0JywgJzAnKVxcclxcbiAgICAgICAgLy8gbGV0IGxpc3Rfc2hvd19zb3J0X3RpdGxlcyA9IFsn8J+TliDirIfvuI8nLCAn8J+TliDirIbvuI8nLCAnMO+4j+KDoyDirIfvuI8nLCAnOe+4j+KDoyDirIbvuI8nLCfij7LvuI8g4qyG77iPJywgJ+KPsu+4jyDirIfvuI8nLCAn8J+TpiDirIbvuI8nLCAn8J+TpiDirIfvuI8nXVxcclxcbiAgICAgICAgbGV0IGxpc3Rfc2hvd19zb3J0X3RpdGxlcyA9IFsn8J+TliDirIfvuI8nLCAn8J+TliDirIbvuI8nLCAn4o+y77iPIOKshu+4jycsICfij7LvuI8g4qyH77iPJywgJ/Cfk6Yg4qyG77iPJywgJ/Cfk6Yg4qyH77iPJ11cXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTogbGlzdF9zaG93X3NvcnRfdGl0bGVzW2xpc3Rfc2hvd19zb3J0XSxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ2ZsZXhfYnV0dG9uJyxcXHJcXG4gICAgICAgICAgICB1cmw6ICQoXFxyXFxuICAgICAgICAgICAgICAgIFtcXHJcXG4gICAgICAgICAgICAgICAgICAgICfwn5OWIOWQjeWtlygwL0EtPjkvWiknLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ/Cfk5Yg5ZCN5a2XKDkvWi0+MC9BKScsXFxyXFxuICAgICAgICAgICAgICAgICAgICAn4o+y77iPIOaXtumXtCjml6ctPuaWsCknLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ+KPsu+4jyDml7bpl7Qo5pawLT7ml6cpJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICfwn5OmIOWkp+WwjyjlpKctPuWwjyknLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ/Cfk6Yg5aSn5bCPKOWwjy0+5aSnKScsXFxyXFxuICAgICAgICAgICAgICAgIF0sXFxyXFxuICAgICAgICAgICAgICAgIDIsXFxyXFxuICAgICAgICAgICAgICAgICfor7fpgInmi6nmjpLluo/mlrnlvI8nXFxyXFxuICAgICAgICAgICAgKS5zZWxlY3QoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICBwdXRNeVZhcignbGlzdF9zaG93X3NvcnQnLCBNWV9JTkRFWClcXHJcXG4gICAgICAgICAgICAgICAgLy8gJC5sb2coZ2V0TXlWYXIoJ2xpc3Rfc2hvd19zb3J0JywgJzAnKSlcXHJcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICB9KVxcclxcbiAgICAgICAgZ2VuZXJhdGVfcGF0aHMocmVzLCBwYXRoc19raW5kLCAnSG9tZScpXFxyXFxuICAgIH1cXHJcXG4gICAgc2V0UHJlUmVzdWx0KHJlcylcXHJcXG59XFxyXFxuXFxyXFxuJC5leHBvcnRzID0ge1xcclxcbiAgICBmaXhfdGFiLFxcclxcbn1cXHJcXG5cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIkFjY291bnRTZXR0aW5nXCIsXCJwYXRoXCI6XCJBY2NvdW50U2V0dGluZ1wiLFwicnVsZVwiOlwianM6XFxyXFxudmFyIHsgcGlrcGFrX2luaXQgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxucGlrcGFrX2luaXQoKVxcclxcbnNldFBhZ2VUaXRsZSgn6LSm5Y+36K6+572uJylcXHJcXG52YXIgcmVzID0gW11cXHJcXG5cXHJcXG52YXIgeyBzdHlsZV9jb2xvciB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvRGVidWcnKVxcclxcbnZhciB7IGdldF91c2VyX2Jhc2VfaW5mbywgZ2V0X3VzZXJfdmlwX2luZm99ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG5cXHJcXG5sZXQgdXNlcl9iYXNlX2luZm8gPSBnZXRfdXNlcl9iYXNlX2luZm8oKVxcclxcbmxldCB1c2VyX3ZpcF9pbmZvID0gZ2V0X3VzZXJfdmlwX2luZm8oKVxcclxcblxcclxcbnJlcy5wdXNoKHtcXHJcXG4gICAgdGl0bGU6ICfwn5GkIOeUqOaIt+S/oeaBrycsXFxyXFxuICAgIGNvbF90eXBlOiAndGV4dF8xJyxcXHJcXG4gICAgZXh0cmE6IHsgbGluZVZpc2libGU6IGZhbHNlIH0sXFxyXFxufSlcXHJcXG5cXHJcXG5yZXMucHVzaCh7XFxyXFxuICAgIHRpdGxlOiAn5re75Yqg6LSm5Y+3JyxcXHJcXG4gICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXHJcXG4gICAgZGVzYzogJ+a3u+WKoOWkmueUqOaItycsXFxyXFxuICAgIHVybDogJ2hpa2VyOi8vcGFnZS9BZGRBY2NvdW50I25vSGlzdG9yeSMjbm9SZWNvcmRIaXN0b3J5IycsXFxyXFxuICAgIGV4dHJhOiB7IGxpbmVWaXNpYmxlOiBmYWxzZSB9LFxcclxcbn0pXFxyXFxuXFxyXFxucmVzLnB1c2goe1xcclxcbiAgICBjb2xfdHlwZTogJ2xpbmUnLFxcclxcbn0pXFxyXFxuXFxyXFxucmVzLnB1c2goe1xcclxcbiAgICB0aXRsZTogJ+i0puWPt+euoeeQhicsXFxyXFxuICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxyXFxuICAgIGRlc2M6ICfov5vlhaXotKblj7fnrqHnkIYnLFxcclxcbiAgICB1cmw6ICdoaWtlcjovL3BhZ2UvTXVsdGlwbGVBY2NvdW50I25vSGlzdG9yeSMjbm9SZWNvcmRIaXN0b3J5IycsXFxyXFxuICAgIGV4dHJhOiB7IGxpbmVWaXNpYmxlOiBmYWxzZSB9LFxcclxcbn0pXFxyXFxuXFxyXFxucmVzLnB1c2goe1xcclxcbiAgICBjb2xfdHlwZTogJ2xpbmUnLFxcclxcbn0pXFxyXFxuXFxyXFxucmVzLnB1c2goe1xcclxcbiAgICB0aXRsZTogJ+W9k+WJjei0puWPtycsXFxyXFxuICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxyXFxuICAgIGRlc2M6IHVzZXJfYmFzZV9pbmZvLm5hbWUgPyB1c2VyX2Jhc2VfaW5mby5uYW1lICsgJ1xcXFxuJyArIHVzZXJfYmFzZV9pbmZvLmVtYWlsIDogJ+acqueZu+W9leaIluiAheacqumAieaLqei0puWPtycsXFxyXFxuICAgIHVybDogJ2NvcHk6Ly8nICsgdXNlcl9iYXNlX2luZm8uZW1haWwsXFxyXFxuICAgIGV4dHJhOiB7IGxpbmVWaXNpYmxlOiBmYWxzZSB9LFxcclxcbn0pXFxyXFxuXFxyXFxuZm9yIChsZXQgaSA9IDA7IGkgPCA1OyBpKyspIHtcXHJcXG4gICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgY29sX3R5cGU6ICdsaW5lJyxcXHJcXG4gICAgfSlcXHJcXG59XFxyXFxuXFxyXFxuc2V0UmVzdWx0KHJlcylcXHJcXG5cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIkFkZEFjY291bnRcIixcInBhdGhcIjpcIkFkZEFjY291bnRcIixcInJ1bGVcIjpcImpzOlxcclxcbnZhciB7IHBpa3Bha19pbml0IH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbnBpa3Bha19pbml0KClcXHJcXG5zZXRQYWdlVGl0bGUoJ+a3u+WKoOi0puWPtycpXFxyXFxudmFyIHJlcyA9IFtdXFxyXFxuXFxyXFxuY2xlYXJNeVZhcigndHVzZXJuYW1lJylcXHJcXG5jbGVhck15VmFyKCd0cGFzc3dkJylcXHJcXG5cXHJcXG5yZXMucHVzaCh7XFxyXFxuICAgIHRpdGxlOiAn8J+RpCDnlKjmiLflkI0nLFxcclxcbiAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxyXFxuICAgIGV4dHJhOiB7IGxpbmVWaXNpYmxlOiBmYWxzZSB9LFxcclxcbn0pXFxyXFxuXFxyXFxucmVzLnB1c2goe1xcclxcbiAgICB0aXRsZTogJ+eUqOaIt+WQjScsXFxyXFxuICAgIGNvbF90eXBlOiAnaW5wdXQnLFxcclxcbiAgICBkZXNjOiAn6K+36L6T5YWl55So5oi35ZCNKOmCrueusS/miYvmnLrlj7cpJyxcXHJcXG4gICAgZXh0cmE6IHtcXHJcXG4gICAgICAgIG9uQ2hhbmdlOiBcXFwicHV0TXlWYXIoJ3R1c2VybmFtZScsIGlucHV0KVxcXCIsXFxyXFxuICAgICAgICB0aXRsZVZpc2libGU6IGZhbHNlLFxcclxcbiAgICB9LFxcclxcbn0pXFxyXFxuXFxyXFxucmVzLnB1c2goe1xcclxcbiAgICB0aXRsZTogJ/CflJEg5a+G56CBJyxcXHJcXG4gICAgY29sX3R5cGU6ICd0ZXh0XzEnLFxcclxcbiAgICBleHRyYTogeyBsaW5lVmlzaWJsZTogZmFsc2UgfSxcXHJcXG59KVxcclxcblxcclxcbnJlcy5wdXNoKHtcXHJcXG4gICAgdGl0bGU6ICflr4bnoIEnLFxcclxcbiAgICBjb2xfdHlwZTogJ2lucHV0JyxcXHJcXG4gICAgZGVzYzogJ+ivt+i+k+WFpeWvhueggScsXFxyXFxuICAgIGV4dHJhOiB7XFxyXFxuICAgICAgICBvbkNoYW5nZTogXFxcInB1dE15VmFyKCd0cGFzc3dkJywgaW5wdXQpXFxcIixcXHJcXG4gICAgICAgIHRpdGxlVmlzaWJsZTogZmFsc2UsXFxyXFxuICAgIH0sXFxyXFxufSlcXHJcXG5cXHJcXG4vLyDpl7TpmpTmoI9cXHJcXG5mb3IgKGxldCBpID0gMDsgaSA8IDE1OyBpKyspIHtcXHJcXG4gICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgY29sX3R5cGU6ICdibGFua19ibG9jaycsXFxyXFxuICAgIH0pXFxyXFxufVxcclxcblxcclxcbnJlcy5wdXNoKHtcXHJcXG4gICAgdGl0bGU6ICfmt7vliqAnLFxcclxcbiAgICB1cmw6ICQoKS5sYXp5UnVsZSgoKSA9PiB7XFxyXFxuICAgICAgICBpZiAoIWdldE15VmFyKCd0dXNlcm5hbWUnLCAnJykgfHwgIWdldE15VmFyKCd0cGFzc3dkJywgJycpKSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+eUqOaIt+WQjeWSjOWvhueggeS4jeiDveS4uuepuidcXHJcXG4gICAgICAgIH1cXHJcXG5cXHJcXG4gICAgICAgIC8vIHZhciB7IGxvZ2luX2NoZWNrIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgdmFyIHsgbG9naW5fZ28gfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0ludml0ZScpXFxyXFxuICAgICAgICBpZiAobG9naW5fZ28oZ2V0TXlWYXIoJ3R1c2VybmFtZScsICcnKSwgZ2V0TXlWYXIoJ3RwYXNzd2QnLCAnJykpKSB7XFxyXFxuICAgICAgICAgICAgbGV0IG1fYWNjb3VudHMgPSBzdG9yYWdlMC5nZXRJdGVtKCdtX2FjY291bnRzJywgW10pXFxyXFxuICAgICAgICAgICAgbV9hY2NvdW50cy5wdXNoKHtcXHJcXG4gICAgICAgICAgICAgICAgbmFtZTogZ2V0TXlWYXIoJ3R1c2VybmFtZScsICcnKSxcXHJcXG4gICAgICAgICAgICAgICAgcGFzc3dkOiBnZXRNeVZhcigndHBhc3N3ZCcsICcnKSxcXHJcXG4gICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgIHN0b3JhZ2UwLnNldEl0ZW0oJ21fYWNjb3VudHMnLCBtX2FjY291bnRzKVxcclxcbiAgICAgICAgICAgIGN1cnJlbnRfYWNjb3VudCA9IG1fYWNjb3VudHNbbV9hY2NvdW50cy5sZW5ndGggLSAxXVxcclxcbiAgICAgICAgICAgIHNldEl0ZW0oJ2N1cnJlbnRfYWNjb3VudF9pbmRleCcsIChtX2FjY291bnRzLmxlbmd0aCAtIDEpLnRvU3RyaW5nKCkpXFxyXFxuICAgICAgICAgICAgLy8gc2V0SXRlbSgndXNlcm5hbWUnLCBjdXJyZW50X2FjY291bnQubmFtZSlcXHJcXG4gICAgICAgICAgICAvLyBzZXRJdGVtKCdwYXNzd2QnLCBjdXJyZW50X2FjY291bnQucGFzc3dkKVxcclxcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5re75Yqg5oiQ5Yqf77yM5bm25L2/55So5q2k6LSm5Y+3J1xcclxcbiAgICAgICAgICAgIC8vIGlmIChtX2FjY291bnRzLmxlbmd0aCA9PSAxKSB7XFxyXFxuICAgICAgICAgICAgLy8gICAgIGN1cnJlbnRfYWNjb3VudCA9IG1fYWNjb3VudHNbMF1cXHJcXG4gICAgICAgICAgICAvLyAgICAgc2V0SXRlbSgnY3VycmVudF9hY2NvdW50X2luZGV4JywgJzAnKVxcclxcbiAgICAgICAgICAgIC8vICAgICBzZXRJdGVtKCd1c2VybmFtZScsIGN1cnJlbnRfYWNjb3VudC5uYW1lKVxcclxcbiAgICAgICAgICAgIC8vICAgICBzZXRJdGVtKCdwYXNzd2QnLCBjdXJyZW50X2FjY291bnQucGFzc3dkKVxcclxcbiAgICAgICAgICAgIC8vICAgICB2YXIgeyBsb2dpbiB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAvLyAgICAgbG9naW4oY3VycmVudF9hY2NvdW50Lm5hbWUsIGN1cnJlbnRfYWNjb3VudC5wYXNzd2QpXFxyXFxuICAgICAgICAgICAgLy8gICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAvLyAgICAgcmV0dXJuICd0b2FzdDovL+W3sue7j+WIh+aNouWIsOatpOi0puWPtydcXHJcXG4gICAgICAgICAgICAvLyB9XFxyXFxuICAgICAgICAgICAgLy8gcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgIC8vIHJldHVybiAndG9hc3Q6Ly/mt7vliqDmiJDlip/vvIzor7fljrvlpJrnlKjmiLfnrqHnkIbnlYzpnaLov5vooYzmk43kvZwnXFxyXFxuICAgICAgICB9IGVsc2Uge1xcclxcbiAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/mt7vliqDlpLHotKXvvIzor7fnoa7orqTnlKjmiLflkI3lkozlr4bnoIHmmK/lkKbmraPnoa4nXFxyXFxuICAgICAgICB9XFxyXFxuICAgIH0pLFxcclxcbiAgICBjb2xfdHlwZTogJ3RleHRfMicsXFxyXFxufSlcXHJcXG5cXHJcXG5yZXMucHVzaCh7XFxyXFxuICAgIHRpdGxlOiAn5riF56m6JyxcXHJcXG4gICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xcclxcbiAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICB9KSxcXHJcXG4gICAgY29sX3R5cGU6ICd0ZXh0XzInLFxcclxcbn0pXFxyXFxuXFxyXFxuc2V0UmVzdWx0KHJlcylcXHJcXG5cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIk11bHRpcGxlQWNjb3VudFwiLFwicGF0aFwiOlwiTXVsdGlwbGVBY2NvdW50XCIsXCJydWxlXCI6XCJqczpcXHJcXG52YXIgeyBwaWtwYWtfaW5pdCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG5waWtwYWtfaW5pdCgpXFxyXFxuc2V0UGFnZVRpdGxlKCfotKblj7fnrqHnkIYnKVxcclxcbnZhciB7IHN0eWxlX2NvbG9yIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9EZWJ1ZycpXFxyXFxudmFyIHJlcyA9IFtdXFxyXFxudmFyIG1fYWNjb3VudHMgPSBzdG9yYWdlMC5nZXRJdGVtKCdtX2FjY291bnRzJywgW10pXFxyXFxuXFxyXFxuaWYgKG1fYWNjb3VudHMubGVuZ3RoID09IDApIHtcXHJcXG4gICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgdGl0bGU6IGDov5Tlm57kuIrkuIDpobXvvIzngrnlh7tcXFwi5re75Yqg6LSm5Y+3XFxcImAsXFxyXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcclxcbiAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xcclxcbiAgICAgICAgICAgIGJhY2sodHJ1ZSlcXHJcXG4gICAgICAgICAgICByZXR1cm4gJ2hpa2VyOi8vZW1wdHknXFxyXFxuICAgICAgICB9KSxcXHJcXG4gICAgfSlcXHJcXG59IGVsc2Uge1xcclxcbiAgICBsZXQgY3VycmVudF9hY2NvdW50X2luZGV4ID0gTnVtYmVyKGdldEl0ZW0oJ2N1cnJlbnRfYWNjb3VudF9pbmRleCcsICctMScpKVxcclxcbiAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICB0aXRsZTogJ/CfkaQg5aSa55So5oi35L+h5oGvJyxcXHJcXG4gICAgICAgIGNvbF90eXBlOiAndGV4dF8xJyxcXHJcXG4gICAgfSlcXHJcXG5cXHJcXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAyOyBpKyspIHtcXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ2xpbmUnLFxcclxcbiAgICAgICAgfSlcXHJcXG4gICAgfVxcclxcblxcclxcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1fYWNjb3VudHMubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTogYOeUqOaItyAke2l9YCxcXHJcXG4gICAgICAgICAgICAvLyBkZXNjOiBtX2FjY291bnRzW2ldLm5hbWUgKyAoY3VycmVudF9hY2NvdW50X2luZGV4ID09IGkgPyAnKOato+WcqOS9v+eUqCknIDogJycpLFxcclxcbiAgICAgICAgICAgIGRlc2M6XFxyXFxuICAgICAgICAgICAgICAgIGN1cnJlbnRfYWNjb3VudF9pbmRleCA9PSBpXFxyXFxuICAgICAgICAgICAgICAgICAgICA/IHN0eWxlX2NvbG9yKG1fYWNjb3VudHNbaV0ubmFtZSArICcgKOato+WcqOS9v+eUqCknLCAnIzU1OTNGNScsICdzdHJvbmcnKVxcclxcbiAgICAgICAgICAgICAgICAgICAgOiBtX2FjY291bnRzW2ldLm5hbWUsXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXHJcXG4gICAgICAgICAgICB1cmw6ICQoWyfkvb/nlKjotKblj7cnLCAn5Yig6Zmk6LSm5Y+3J10sIDIsICfor7fpgInmi6nmk43kvZwnKS5zZWxlY3QoXFxyXFxuICAgICAgICAgICAgICAgIChjdXJyZW50X2FjY291bnQsIGluZGV4KSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQgPT0gJ+S9v+eUqOi0puWPtycpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRJdGVtKCdjdXJyZW50X2FjY291bnRfaW5kZXgnLCBpbmRleC50b1N0cmluZygpKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNldEl0ZW0oJ3VzZXJuYW1lJywgY3VycmVudF9hY2NvdW50Lm5hbWUpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gc2V0SXRlbSgncGFzc3dkJywgY3VycmVudF9hY2NvdW50LnBhc3N3ZClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgeyBsb2dpbl9nbyB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvSW52aXRlJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB2YXIgeyBsb2dpbiB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgY2hlY2tfbG9naW4gPSBsb2dpbl9nbyhjdXJyZW50X2FjY291bnQubmFtZSwgY3VycmVudF9hY2NvdW50LnBhc3N3ZClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2hlY2tfbG9naW4pIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5bey57uP5YiH5o2i5Yiw5q2k6LSm5Y+3J1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+i0puWPt+WkseaViO+8jOivt+ehruiupOi0puWPt+aYr+WQpuato+ehridcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHZhciB7IGNsZWFyX2FjY291bnQgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2xlYXJfYWNjb3VudCgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRfYWNjb3VudF9pbmRleCA9IGdldEl0ZW0oJ2N1cnJlbnRfYWNjb3VudF9pbmRleCcsICcwJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3VycmVudF9hY2NvdW50X2luZGV4ID09IGluZGV4KSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+W9k+WJjeato+WcqOS9v+eUqOatpOi0puWPt++8jOaXoOazleWIoOmZpCdcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbV9hY2NvdW50cyA9IHN0b3JhZ2UwLmdldEl0ZW0oJ21fYWNjb3VudHMnLCBbXSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9hY2NvdW50cy5zcGxpY2UoaW5kZXgsIDEpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JhZ2UwLnNldEl0ZW0oJ21fYWNjb3VudHMnLCBtX2FjY291bnRzKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/lt7Lnu4/liKDpmaTmraTotKblj7cnXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICBtX2FjY291bnRzW2ldLFxcclxcbiAgICAgICAgICAgICAgICBpXFxyXFxuICAgICAgICAgICAgKSxcXHJcXG4gICAgICAgIH0pXFxyXFxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDI7IGkrKykge1xcclxcbiAgICAgICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICdsaW5lJyxcXHJcXG4gICAgICAgICAgICB9KVxcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuXFxyXFxuICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgIHRpdGxlOiBzdHlsZV9jb2xvcign5riF56m65omA5pyJ6LSm5Y+3JywgJyNGRjNGNUInLCAnc3Ryb25nJyksXFxyXFxuICAgICAgICBjb2xfdHlwZTogJ3RleHRfY2VudGVyXzEnLFxcclxcbiAgICAgICAgdXJsOiAkKCfmmK/lkKbmuIXnqbrmiYDmnInotKblj7cnKS5jb25maXJtKCgpID0+IHtcXHJcXG4gICAgICAgICAgICB2YXIgeyBjbGVhcl9hY2NvdW50c19pbmZvIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgIGNsZWFyX2FjY291bnRzX2luZm8oKVxcclxcbiAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5bey57uP5riF56m65omA5pyJ6LSm5Y+3J1xcclxcbiAgICAgICAgfSksXFxyXFxuICAgIH0pXFxyXFxuXFxyXFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMjsgaSsrKSB7XFxyXFxuICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdsaW5lJyxcXHJcXG4gICAgICAgIH0pXFxyXFxuICAgIH1cXHJcXG59XFxyXFxuXFxyXFxuc2V0UmVzdWx0KHJlcylcXHJcXG5cIn0se1wiY29sX3R5cGVcIjpcIm1vdmllXzNcIixcIm5hbWVcIjpcIk90aGVyU2V0dGluZ1wiLFwicGF0aFwiOlwiT3RoZXJTZXR0aW5nXCIsXCJydWxlXCI6XCJqczpcXHJcXG5wdXRNeVZhcignc3ViaXRlbV9hY3Rpb24nLCAnYnJvd3NlJylcXHJcXG52YXIgeyBwaWtwYWtfaW5pdCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG5waWtwYWtfaW5pdCgpXFxyXFxuc2V0UGFnZVRpdGxlKCflhbbku5borr7nva4nKVxcclxcbnZhciByZXMgPSBbXVxcclxcblxcclxcbnZhciB7IHN0eWxlX2NvbG9yIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9EZWJ1ZycpXFxyXFxudmFyIHsgZ2V0X3VzZXJfaW52aXRlQ29kZSwgZ2V0X3VzZXJfaW52aXRlX3JlY29yZHMsIGdldF91c2VyX3ZpcF9pbmZvIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbnZhciB7IHJlZnJlc2hfYXV0aG9yaXphdGlvbiB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvSW52aXRlJylcXHJcXG5sZXQgaW52aXRlX2NvZGVfc2hvdyA9ICcnXFxyXFxubGV0IHZpcF9zdGF0dXNfc2hvdyA9ICcnXFxyXFxubGV0IHVzZXJfaW52aXRlX3JlY29yZHNfc2hvdyA9ICcnXFxyXFxuXFxyXFxudHJ5IHtcXHJcXG4gICAgcmVmcmVzaF9hdXRob3JpemF0aW9uKClcXHJcXG4gICAgbGV0IHVzZXJfaW52aXRlQ29kZSA9IGdldF91c2VyX2ludml0ZUNvZGUoKVxcclxcbiAgICBsZXQgdXNlcl9pbnZpdGVfcmVjb3JkcyA9IGdldF91c2VyX2ludml0ZV9yZWNvcmRzKCkuZGF0YVxcclxcbiAgICBsZXQgdXNlcl92aXBfaW5mbyA9IGdldF91c2VyX3ZpcF9pbmZvKClcXHJcXG4gICAgaW52aXRlX2NvZGVfc2hvdyA9IHVzZXJfaW52aXRlQ29kZS5jb2RlXFxyXFxuICAgIHZpcF9zdGF0dXNfc2hvdyA9IHVzZXJfdmlwX2luZm8uYmFzZS52aXBfc3RhdHVzXFxyXFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdXNlcl9pbnZpdGVfcmVjb3Jkcy5sZW5ndGg7IGkrKykge1xcclxcbiAgICAgICAgdXNlcl9pbnZpdGVfcmVjb3Jkc19zaG93ICs9XFxyXFxuICAgICAgICAgICAgJ+mCgOivt+eUqOaItycgK1xcclxcbiAgICAgICAgICAgIGkgK1xcclxcbiAgICAgICAgICAgICcgICAgICcgK1xcclxcbiAgICAgICAgICAgIHVzZXJfaW52aXRlX3JlY29yZHNbaV0uaW52aXRlZF91c2VyICtcXHJcXG4gICAgICAgICAgICAnICAgICAnICtcXHJcXG4gICAgICAgICAgICB1c2VyX2ludml0ZV9yZWNvcmRzW2ldLnRpbWUuc3BsaXQoJy4nKVswXSArXFxyXFxuICAgICAgICAgICAgJ1xcXFxuJ1xcclxcbiAgICB9XFxyXFxufSBjYXRjaCAoZSkge31cXHJcXG5cXHJcXG5yZXMucHVzaCh7XFxyXFxuICAgIHRpdGxlOiAn8J+YiCDpgoDor7forr7nva4nLFxcclxcbiAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxyXFxuICAgIGV4dHJhOiB7IGxpbmVWaXNpYmxlOiBmYWxzZSB9LFxcclxcbn0pXFxyXFxuXFxyXFxucmVzLnB1c2goe1xcclxcbiAgICB0aXRsZTogJ+mCgOivt+eggScsXFxyXFxuICAgIGRlc2M6IGludml0ZV9jb2RlX3Nob3csXFxyXFxuICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxyXFxuICAgIC8vIHVybDogYGNvcHk6Ly8ke2ludml0ZV9jb2RlX3Nob3d9YCxcXHJcXG4gICAgdXJsOiAkKCkubGF6eVJ1bGUoXFxyXFxuICAgICAgICAoaW52aXRlX2NvZGVfc2hvdywgdXNlcl9pbnZpdGVfcmVjb3Jkc19zaG93KSA9PiB7XFxyXFxuICAgICAgICAgICAgY29weShpbnZpdGVfY29kZV9zaG93KVxcclxcbiAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly8nICsgdXNlcl9pbnZpdGVfcmVjb3Jkc19zaG93XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgaW52aXRlX2NvZGVfc2hvdyxcXHJcXG4gICAgICAgIHVzZXJfaW52aXRlX3JlY29yZHNfc2hvd1xcclxcbiAgICApLFxcclxcbiAgICAvLyBleHRyYTogeyBsaW5lVmlzaWJsZTogZmFsc2UgfSxcXHJcXG59KVxcclxcblxcclxcbnJlcy5wdXNoKHtcXHJcXG4gICAgY29sX3R5cGU6ICdsaW5lJyxcXHJcXG59KVxcclxcblxcclxcbnJlcy5wdXNoKHtcXHJcXG4gICAgdGl0bGU6IGDoh6rliqjpgoDor7dgLFxcclxcbiAgICBkZXNjOiBnZXRJdGVtKCdhdXRvX3JlZnJlc2hfaW52aXRlJywgJzAnKSA9PSAnMCcgPyAn5ZCmJyA6ICfmmK8nLFxcclxcbiAgICB1cmw6ICQoKS5sYXp5UnVsZSgoKSA9PiB7XFxyXFxuICAgICAgICBpZiAoZ2V0SXRlbSgnYXV0b19yZWZyZXNoX2ludml0ZScsICcwJykgPT0gJzAnKSB7XFxyXFxuICAgICAgICAgICAgc2V0SXRlbSgnYXV0b19yZWZyZXNoX2ludml0ZScsICcxJylcXHJcXG4gICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgc2V0SXRlbSgnYXV0b19yZWZyZXNoX2ludml0ZScsICcwJylcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXHJcXG4gICAgfSksXFxyXFxuICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxyXFxufSlcXHJcXG5cXHJcXG5yZXMucHVzaCh7XFxyXFxuICAgIGNvbF90eXBlOiAnbGluZScsXFxyXFxufSlcXHJcXG5cXHJcXG5sZXQgaW52aXRlX3Jlc3VsdCA9IGdldEl0ZW0oJ2ludml0ZV9yZXN1bHQnKVxcclxcblxcclxcbmlmIChpbnZpdGVfcmVzdWx0ID09ICd1bmRlZmluZWQnKSB7XFxyXFxuICAgIGludml0ZV9yZXN1bHQgPSAn5rKh5pyJ6Kem5Y+R6Ieq5Yqo6YKA6K+3J1xcclxcbn0gZWxzZSBpZiAoaW52aXRlX3Jlc3VsdCA9PSAnRmFpbCcpIHtcXHJcXG4gICAgaW52aXRlX3Jlc3VsdCA9ICfpgoDor7flpLHotKXvvIzlsJ3or5Xngrnlh7vmiYvliqjpgoDor7cnXFxyXFxuICAgIGlmICh2aXBfc3RhdHVzX3Nob3cgPT0gJ29rJykge1xcclxcbiAgICAgICAgaW52aXRlX3Jlc3VsdCA9ICfml6DpnIDpgoDor7cnXFxyXFxuICAgIH1cXHJcXG59XFxyXFxuXFxyXFxucmVzLnB1c2goe1xcclxcbiAgICB0aXRsZTogYOacgOi/keiHquWKqOmCgOivt+aXtumXtGAsXFxyXFxuICAgIGRlc2M6IGAke2ludml0ZV9yZXN1bHR9ICjliankvZnmrKHmlbA6JHszIC0gTnVtYmVyKGdldE15VmFyKCdpbnZpdGVfY3VycmVudF9jb3VudCcsICcwJykpfSlgLFxcclxcbiAgICAvLyBkZXNjOiBgJHtnZXRJdGVtKCdpbnZpdGVfcmVzdWx0JywgJ0ZhaWwnKSA9PSAnRmFpbCcgPyAn6YKA6K+35aSx6LSlJyA6IGdldEl0ZW0oJ2ludml0ZV9yZXN1bHQnLCAnRmFpbCcpfSAo5Ymp5L2Z5qyh5pWwOiR7XFxyXFxuICAgIC8vICAgICAzIC0gTnVtYmVyKGdldE15VmFyKCdpbnZpdGVfY3VycmVudF9jb3VudCcsICcwJykpXFxyXFxuICAgIC8vIH0pYCxcXHJcXG4gICAgLy8gdXJsOiAnaGlrZXI6Ly9lbXB0eScsXFxyXFxuICAgIHVybDogJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgoKSA9PiB7XFxyXFxuICAgICAgICBzaG93TG9hZGluZygn5q2j5Zyo6Ieq5Yqo6YKA6K+3JylcXHJcXG4gICAgICAgIHZhciB7IGdldF91c2VyX3ZpcF9pbmZvLCBnZXRfdXNlcl9pbnZpdGVDb2RlIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgdmFyIHsgaW52aXRlX2dvIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9JbnZpdGUnKVxcclxcbiAgICAgICAgbGV0IHVzZXJfdmlwX2luZm8gPSBnZXRfdXNlcl92aXBfaW5mbygpXFxyXFxuICAgICAgICBsZXQgcmVzID0gZmFsc2VcXHJcXG4gICAgICAgIGlmIChnZXRNeVZhcignbWFudWFsX2ludml0ZV91bmxpbWl0ZWQnLCAnMCcpID09ICcxJykge1xcclxcbiAgICAgICAgICAgIHdoaWxlICghcmVzKSB7XFxyXFxuICAgICAgICAgICAgICAgIGlmIChnZXRNeVZhcignaW52aXRlX2N1cnJlbnRfY291bnQnLCAnMCcpID49IDMpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKCdpbnZpdGVfY3VycmVudF9jb3VudCcsICcyJylcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICByZXMgPSBpbnZpdGVfZ28oZ2V0X3VzZXJfaW52aXRlQ29kZSgpLmNvZGUpXFxyXFxuICAgICAgICAgICAgICAgIHB1dE15VmFyKCdtYW51YWxfaW52aXRlX3VubGltaXRlZCcsICcwJylcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgcHV0TXlWYXIoJ21hbnVhbF9pbnZpdGVfdW5saW1pdGVkJywgJzAnKVxcclxcbiAgICAgICAgICAgIGhpZGVMb2FkaW5nKClcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmICghKHVzZXJfdmlwX2luZm8uYmFzZS52aXBfc3RhdHVzID09ICdvaycpKSB7XFxyXFxuICAgICAgICAgICAgaWYgKGdldE15VmFyKCdpbnZpdGVfY3VycmVudF9jb3VudCcsICcwJykgPj0gMykge1xcclxcbiAgICAgICAgICAgICAgICBwdXRNeVZhcignaW52aXRlX2N1cnJlbnRfY291bnQnLCAnMicpXFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIHJlcyA9IGludml0ZV9nbyhnZXRfdXNlcl9pbnZpdGVDb2RlKCkuY29kZSlcXHJcXG4gICAgICAgICAgICBoaWRlTG9hZGluZygpXFxyXFxuICAgICAgICB9IGVsc2Uge1xcclxcbiAgICAgICAgICAgIGhpZGVMb2FkaW5nKClcXHJcXG4gICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5bey57uP6auY57qn5Lya5ZGY77yM5LiN6ZyA6KaB6YKA6K+3J1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICB9KSxcXHJcXG4gICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXHJcXG59KVxcclxcblxcclxcbmZvciAobGV0IGkgPSAwOyBpIDwgNTsgaSsrKSB7XFxyXFxuICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgIGNvbF90eXBlOiAnbGluZScsXFxyXFxuICAgIH0pXFxyXFxufVxcclxcblxcclxcbnJlcy5wdXNoKHtcXHJcXG4gICAgdGl0bGU6ICfwn5SUIOWIhuS6q+iuvue9ricsXFxyXFxuICAgIGNvbF90eXBlOiAndGV4dF8xJyxcXHJcXG4gICAgZXh0cmE6IHsgbGluZVZpc2libGU6IGZhbHNlIH0sXFxyXFxufSlcXHJcXG5cXHJcXG5yZXMucHVzaCh7XFxyXFxuICAgIHRpdGxlOiAn5LqR5Y+j5LukJyxcXHJcXG4gICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXHJcXG4gICAgZGVzYzogJ+WIhuS6q+OAgeWvvOWFpeS6keWPo+S7pCjmiopQaWtQYWvliIbkuqvpk77mjqXpm4blkIjnlKjkupHlj6Pku6TmnaXliIbkuqvjgIHlr7zlhaUpJyxcXHJcXG4gICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xcclxcbiAgICAgICAgc2hvd1NlbGVjdE9wdGlvbnMoe1xcclxcbiAgICAgICAgICAgIHRpdGxlOiAn6K+36YCJ5oup5pON5L2cJyxcXHJcXG4gICAgICAgICAgICBvcHRpb25zOiBbJ+WvvOWFpeS6keWPo+S7pCcsICfliIbkuqvkupHlj6Pku6QnXSxcXHJcXG4gICAgICAgICAgICBjb2w6IDEsXFxyXFxuICAgICAgICAgICAganM6ICQudG9TdHJpbmcoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKE1ZX0lOREVYKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBjYXNlIDA6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICQoJycsICfor7fovpPlhaXmnKznqIvluo/liIbkuqvnmoTkupHlj6Pku6QnKS5pbnB1dCgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB7IGNsb3VkX2ltcG9ydCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJP3J1bGU957KJ5aa554ixUGlrUGFrJylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXQgPSBpbnB1dC5tYXRjaCgvXiguKj8pQGltcG9ydD1qcy9tKVsxXVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG91ZF9pbXBvcnQoaW5wdXQpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHBhc3RlcyA9IGdldFBhc3RlcygpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1NlbGVjdE9wdGlvbnMoe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+mAieaLqeS9v+eUqOWIhuS6q+eahOWJqui0tOadvycsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHBhc3RlcyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sOiAzLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqczogJC50b1N0cmluZygoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgeyBjbG91ZF9zaGFyZSwgc3ViX3JlYWRfbG9jYWwgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgc2hhcmVfbGlua191cmxzID0gc3ViX3JlYWRfbG9jYWwoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdjb3B5Oi8vJyArIGNsb3VkX3NoYXJlKHNoYXJlX2xpbmtfdXJscywgaW5wdXQpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIH0pLFxcclxcbiAgICAgICAgfSlcXHJcXG4gICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXHJcXG4gICAgfSksXFxyXFxuICAgIC8vIHVybDogJChbJ+WvvOWFpeS6keWPo+S7pCcsICfliIbkuqvkupHlj6Pku6QnXSkuc2VsZWN0KCgpID0+IHtcXHJcXG4gICAgLy8gICAgIHN3aXRjaCAoTVlfSU5ERVgpIHtcXHJcXG4gICAgLy8gICAgICAgICBjYXNlIDA6XFxyXFxuICAgIC8vICAgICAgICAgICAgICQudG9TdHJpbmcoKCk9PntcXHJcXG4gICAgLy8gICAgICAgICAgICAgICAgICQoKS5pbnB1dCgoKT0+e30pXFxyXFxuICAgIC8vICAgICAgICAgICAgIH0pXFxyXFxuICAgIC8vICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgIC8vICAgICAgICAgZGVmYXVsdDpcXHJcXG4gICAgLy8gICAgICAgICAgICAgbGV0IHBhc3RlcyA9IGdldFBhc3RlcygpXFxyXFxuICAgIC8vICAgICAgICAgICAgIHNob3dTZWxlY3RPcHRpb25zKHtcXHJcXG4gICAgLy8gICAgICAgICAgICAgICAgIHRpdGxlOiAn6YCJ5oup5L2/55So5YiG5Lqr55qE5Ymq6LS05p2/JyxcXHJcXG4gICAgLy8gICAgICAgICAgICAgICAgIG9wdGlvbnM6IHBhc3RlcyxcXHJcXG4gICAgLy8gICAgICAgICAgICAgICAgIGNvbDogMyxcXHJcXG4gICAgLy8gICAgICAgICAgICAgICAgIGpzOiAkLnRvU3RyaW5nKCgpID0+IHtcXHJcXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGNsb3VkX3NoYXJlLCBzdWJfcmVhZF9sb2NhbCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICBsZXQgc2hhcmVfbGlua191cmxzID0gc3ViX3JlYWRfbG9jYWwoKVxcclxcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgIHJldHVybiBcXFwiY29weTovL1xcXCIgKyBjbG91ZF9zaGFyZShzaGFyZV9saW5rX3VybHMsIGlucHV0KVxcclxcbiAgICAvLyAgICAgICAgICAgICAgICAgfSksXFxyXFxuICAgIC8vICAgICAgICAgICAgIH0pXFxyXFxuICAgIC8vICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgIC8vICAgICB9XFxyXFxuXFxyXFxuICAgIC8vICAgICByZXR1cm4gYGhpa2VyOi8vZW1wdHlgXFxyXFxuICAgIC8vIH0pLFxcclxcbn0pXFxyXFxuXFxyXFxucmVzLnB1c2goe1xcclxcbiAgICB0aXRsZTogJ+a3u+WKoOWIhuS6qycsXFxyXFxuICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxyXFxuICAgIGRlc2M6ICfmma7pgJrmt7vliqDliIbkuqvpk77mjqXlkozlr4bnoIHjgIHlrpjmlrnlpI3liLbliIbkuqvpk77mjqXjgIHmlofmnKznvJbovpHmqKHlvI/mt7vliqAnLFxcclxcbiAgICB1cmw6ICQoWyfmma7pgJrmt7vliqAnLCAn5a6Y5pa55aSN5Yi25YiG5Lqr5re75YqgJywgJ+aWh+acrOe8lui+kea3u+WKoCddKS5zZWxlY3QoKCkgPT4ge1xcclxcbiAgICAgICAgcmV0dXJuIGBoaWtlcjovL3BhZ2UvU3ViU2V0dGluZz9zaG93dHlwZT0ke01ZX0lOREVYfSNub0hpc3RvcnkjI25vUmVjb3JkSGlzdG9yeSNgXFxyXFxuICAgIH0pLFxcclxcbn0pXFxyXFxuXFxyXFxucmVzLnB1c2goe1xcclxcbiAgICB0aXRsZTogJ+euoeeQhuWIhuS6qycsXFxyXFxuICAgIGNvbF90eXBlOiAndGV4dF9jZW50ZXJfMScsXFxyXFxuICAgIGRlc2M6ICfmmL7npLrmr4/kuIDmnaFQaWtQYWvliIbkuqvpk77mjqXlkozlr4bnoIHvvIzpgJrov4fngrnlh7vmk43kvZwo57yW6L6R44CB5Yig6Zmk44CB5aSN5Yi244CB5o6S5bqPKScsXFxyXFxuICAgIHVybDogJ2hpa2VyOi8vcGFnZS9TdWJJdGVtI25vSGlzdG9yeSMjbm9SZWNvcmRIaXN0b3J5IycsXFxyXFxufSlcXHJcXG5cXHJcXG5mb3IgKGxldCBpID0gMDsgaSA8IDU7IGkrKykge1xcclxcbiAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICBjb2xfdHlwZTogJ2xpbmUnLFxcclxcbiAgICB9KVxcclxcbn1cXHJcXG5cXHJcXG5yZXMucHVzaCh7XFxyXFxuICAgIHRpdGxlOiAn8J+UoSDlhbbku5borr7nva4nLFxcclxcbiAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxyXFxuICAgIGV4dHJhOiB7IGxpbmVWaXNpYmxlOiBmYWxzZSB9LFxcclxcbn0pXFxyXFxuXFxyXFxucmVzLnB1c2goe1xcclxcbiAgICB0aXRsZTogYOajgOafpeabtOaWsGAsXFxyXFxuICAgIGRlc2M6IGDlvZPliY3niYjmnKzlj7c6ICR7JC51cGRhdGVfaW5mby52ZXJzaW9ufWAsXFxyXFxuICAgIHVybDogJCgnI25vTG9hZGluZyMnKS5sYXp5UnVsZSgoKSA9PiB7XFxyXFxuICAgICAgICBzaG93TG9hZGluZygn5q2j5Zyo5qOA5p+l5pyA5paw54mI5pysJylcXHJcXG4gICAgICAgIHZhciB7IGF1dG9fdXBkYXRlIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgbGV0IHJlcyA9IGF1dG9fdXBkYXRlKClcXHJcXG4gICAgICAgIGhpZGVMb2FkaW5nKClcXHJcXG4gICAgICAgIGlmIChyZXMgPT0gJ2xhdGVzdCcpIHtcXHJcXG4gICAgICAgICAgICBsZXQgdGlwc19tZXNzYWdlID0gJzEuIOaPkOekujpcXFxcbuW3sue7j+aYr+acgOaWsOeJiO+8jOaXoOmcgOabtOaWsCcrICdcXFxcblxcXFxuMi4g5pyA6L+R5LiA5qyh5pu05paw5YaF5a65OlxcXFxuJyArICQudXBkYXRlX2luZm8uY29udGVudFxcclxcbiAgICAgICAgICAgIC8vIHJldHVybiAndG9hc3Q6Ly/lt7Lnu4/mmK/mnIDmlrDniYjvvIEnXFxyXFxuICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovLycgKyB0aXBzX21lc3NhZ2VcXHJcXG4gICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9KSxcXHJcXG4gICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXHJcXG59KVxcclxcblxcclxcbnJlcy5wdXNoKHtcXHJcXG4gICAgdGl0bGU6IGDmiZPljbDosIPor5Xml6Xlv5dgLFxcclxcbiAgICBkZXNjOiBnZXRJdGVtKCdkZWJ1Z19lbmFibGUnLCAnMCcpID09ICcwJyA/ICflkKYnIDogJ+aYrycsXFxyXFxuICAgIHVybDogJCgpLmxhenlSdWxlKCgpID0+IHtcXHJcXG4gICAgICAgIGlmIChnZXRJdGVtKCdkZWJ1Z19lbmFibGUnLCAnMCcpID09ICcwJykge1xcclxcbiAgICAgICAgICAgIHNldEl0ZW0oJ2RlYnVnX2VuYWJsZScsICcxJylcXHJcXG4gICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgc2V0SXRlbSgnZGVidWdfZW5hYmxlJywgJzAnKVxcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICB9KSxcXHJcXG4gICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXHJcXG59KVxcclxcblxcclxcbnJlcy5wdXNoKHtcXHJcXG4gICAgdGl0bGU6IHN0eWxlX2NvbG9yKCfph43nva5QaWtQYWvlsI/nqIvluo8nLCAnI0ZGM0Y1QicsICdzdHJvbmcnKSxcXHJcXG4gICAgZGVzYzogJ+WIoOmZpOi0puWPt++8jOWIoOmZpOaJgOacieWPmOmHj++8jOWIoOmZpOaJgOacieWIhuS6q+iuoumYhSjlj6/pgIkpJyxcXHJcXG4gICAgY29sX3R5cGU6ICd0ZXh0X2NlbnRlcl8xJyxcXHJcXG4gICAgdXJsOiAkKFsn6YeN572uKOS/neeVmeWIhuS6q+iuoumYhSknLCAn5a6M5YWo6YeN572uJ10pLnNlbGVjdCgoKSA9PiB7XFxyXFxuICAgICAgICBzd2l0Y2ggKGlucHV0KSB7XFxyXFxuICAgICAgICAgICAgY2FzZSAn5a6M5YWo6YeN572uJzpcXHJcXG4gICAgICAgICAgICAgICAgZGVsZXRlRmlsZSgnZm1fcGlrcGFrX3N1Yi50eHQnKVxcclxcbiAgICAgICAgICAgIGNhc2UgJ+mHjee9rijkv53nlZnliIbkuqvorqLpmIUpJzpcXHJcXG4gICAgICAgICAgICAgICAgLy8g5Yig6Zmk6LSm5Y+35L+h5oGvXFxyXFxuICAgICAgICAgICAgICAgIHZhciB7IGNsZWFyX2FjY291bnRzX2luZm8gfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgIGNsZWFyX2FjY291bnRzX2luZm8oKVxcclxcblxcclxcbiAgICAgICAgICAgICAgICAvLyDliKDpmaTmm7TmlrDkv6Hmga9cXHJcXG4gICAgICAgICAgICAgICAgY2xlYXJQdWJsaWNJdGVtKCdmbV9waWtwYWtfZ2xvYmFsJylcXHJcXG4gICAgICAgICAgICAgICAgY2xlYXJQdWJsaWNJdGVtKCdmbV9waWtwYWtfZ2xvYmFsX3VwZGF0ZScpXFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgIC8vIOWIoOmZpOavj+aXpeS4gOWPpeS/oeaBr1xcclxcbiAgICAgICAgICAgICAgICBnbG9iYWxNYXAwLmNsZWFyTXlWYXIoJ2RheXNheScpXFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgIC8vIOWIoOmZpOaJgOacieWPmOmHj1xcclxcbiAgICAgICAgICAgICAgICBsZXQgZF9pdGVtcyA9IFtcXHJcXG4gICAgICAgICAgICAgICAgICAgICdhY2Nlc3NfdG9rZW4nLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ2RldmljZV9pZCcsXFxyXFxuICAgICAgICAgICAgICAgICAgICAnY2xpZW50X2lkJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdjYXB0Y2hhX3Rva2VuJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdyZWZyZXNoX3Rva2VuJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdzaGFyZV9pZCcsXFxyXFxuICAgICAgICAgICAgICAgICAgICAnc2hhcmVfcGFzc19jb2RlX3Rva2VuJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdhdXRvX3JlZnJlc2hfaW52aXRlJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdpbnZpdGVfcmVzdWx0JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdjdXJyZW50X2FjY291bnRfaW5kZXgnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ2RlYnVnX2VuYWJsZScsXFxyXFxuICAgICAgICAgICAgICAgICAgICAnbV9hY2NvdW50cycsXFxyXFxuICAgICAgICAgICAgICAgIF1cXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgbGV0IGRfdmFycyA9IFtcXHJcXG4gICAgICAgICAgICAgICAgICAgICdzaG93X2luZGV4JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdzaGFyZV9zaG93X2luZGV4JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdob21lX2NhdGVnb3J5X2luZGV4JyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdkb3dubG9hZF9jYXRlZ29yeV9pbmRleCcsXFxyXFxuICAgICAgICAgICAgICAgICAgICAnbGlzdF9zaG93X3N0eWxlJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdsaXN0X3Nob3dfc29ydCcsXFxyXFxuICAgICAgICAgICAgICAgICAgICAnYWRkX2Rvd25sb2FkX2xpbmsnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ3R1c2VybmFtZScsXFxyXFxuICAgICAgICAgICAgICAgICAgICAndHBhc3N3ZCcsXFxyXFxuICAgICAgICAgICAgICAgICAgICAnaW52aXRlX2N1cnJlbnRfY291bnQnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ3RzdWJuYW1lJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICd0c3VibGluaycsXFxyXFxuICAgICAgICAgICAgICAgICAgICAndHN1YnBhc3N3ZCcsXFxyXFxuICAgICAgICAgICAgICAgICAgICAnc3ViaXRlbV9lZGl0X25hbWUnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ3N1Yml0ZW1fZWRpdF91cmwnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ3N1Yml0ZW1fZWRpdF9wYXNzd2QnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ3N1Yml0ZW1fYWN0aW9uJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdzb3J0XzFfcG9zJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdwYXRoc19raW5kJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdwYXRocycsXFxyXFxuICAgICAgICAgICAgICAgICAgICAnc2hfcGF0aHMnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ2ZpbGVfYWN0aW9uJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdzdF9pdGVtJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgICdleHBpcmVkX2RhdGUnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ2ZpcnN0X3NwbGFzaCcsXFxyXFxuICAgICAgICAgICAgICAgICAgICAnbWFudWFsX2ludml0ZV91bmxpbWl0ZWQnLFxcclxcbiAgICAgICAgICAgICAgICAgICAgJ3VwZGF0ZV91cmwnLFxcclxcbiAgICAgICAgICAgICAgICBdXFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgIGRfaXRlbXMuZm9yRWFjaCgoZWxlX2l0ZW0pID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGNsZWFySXRlbShlbGVfaXRlbSlcXHJcXG4gICAgICAgICAgICAgICAgfSlcXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgZF92YXJzLmZvckVhY2goKGVsZV92YXIpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGNsZWFyTXlWYXIoZWxlX3ZhcilcXHJcXG4gICAgICAgICAgICAgICAgfSlcXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5bey57uP6YeN572uUGlrUGFr5bCP56iL5bqPJ1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9KSxcXHJcXG4gICAgLy8gdXJsOiAkKCfmmK/lkKbph43nva5QaWtQYWvlsI/nqIvluo8nKS5jb25maXJtKCgpID0+IHtcXHJcXG4gICAgLy8gICAgIC8vIOWIoOmZpOi0puWPt+S/oeaBr1xcclxcbiAgICAvLyAgICAgdmFyIHsgY2xlYXJfYWNjb3VudHNfaW5mbyB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgLy8gICAgIGNsZWFyX2FjY291bnRzX2luZm8oKVxcclxcblxcclxcbiAgICAvLyAgICAgLy8g5Yig6Zmk5pu05paw5L+h5oGvXFxyXFxuICAgIC8vICAgICBjbGVhclB1YmxpY0l0ZW0oJ2ZtX3Bpa3Bha19nbG9iYWwnKVxcclxcbiAgICAvLyAgICAgY2xlYXJQdWJsaWNJdGVtKCdmbV9waWtwYWtfZ2xvYmFsX3VwZGF0ZScpXFxyXFxuXFxyXFxuICAgIC8vICAgICAvLyDliKDpmaTmr4/ml6XkuIDlj6Xkv6Hmga9cXHJcXG4gICAgLy8gICAgIGdsb2JhbE1hcDAuY2xlYXJNeVZhcignZGF5c2F5JylcXHJcXG5cXHJcXG4gICAgLy8gICAgIC8vIOWIoOmZpOaJgOacieWPmOmHj1xcclxcbiAgICAvLyAgICAgbGV0IGRfaXRlbXMgPSBbXFxyXFxuICAgIC8vICAgICAgICAgJ2FjY2Vzc190b2tlbicsXFxyXFxuICAgIC8vICAgICAgICAgJ3NoYXJlX2lkJyxcXHJcXG4gICAgLy8gICAgICAgICAnc2hhcmVfcGFzc19jb2RlX3Rva2VuJyxcXHJcXG4gICAgLy8gICAgICAgICAnYXV0b19yZWZyZXNoX2ludml0ZScsXFxyXFxuICAgIC8vICAgICAgICAgJ2ludml0ZV9yZXN1bHQnLFxcclxcbiAgICAvLyAgICAgICAgICdjdXJyZW50X2FjY291bnRfaW5kZXgnLFxcclxcbiAgICAvLyAgICAgICAgICdkZWJ1Z19lbmFibGUnLFxcclxcbiAgICAvLyAgICAgICAgICdtX2FjY291bnRzJyxcXHJcXG4gICAgLy8gICAgIF1cXHJcXG5cXHJcXG4gICAgLy8gICAgIGxldCBkX3ZhcnMgPSBbXFxyXFxuICAgIC8vICAgICAgICAgJ3Nob3dfaW5kZXgnLFxcclxcbiAgICAvLyAgICAgICAgICdzaGFyZV9zaG93X2luZGV4JyxcXHJcXG4gICAgLy8gICAgICAgICAnaG9tZV9jYXRlZ29yeV9pbmRleCcsXFxyXFxuICAgIC8vICAgICAgICAgJ2Rvd25sb2FkX2NhdGVnb3J5X2luZGV4JyxcXHJcXG4gICAgLy8gICAgICAgICAnbGlzdF9zaG93X3N0eWxlJyxcXHJcXG4gICAgLy8gICAgICAgICAnbGlzdF9zaG93X3NvcnQnLFxcclxcbiAgICAvLyAgICAgICAgICdhZGRfZG93bmxvYWRfbGluaycsXFxyXFxuICAgIC8vICAgICAgICAgJ3R1c2VybmFtZScsXFxyXFxuICAgIC8vICAgICAgICAgJ3RwYXNzd2QnLFxcclxcbiAgICAvLyAgICAgICAgICdpbnZpdGVfY3VycmVudF9jb3VudCcsXFxyXFxuICAgIC8vICAgICAgICAgJ3RzdWJuYW1lJyxcXHJcXG4gICAgLy8gICAgICAgICAndHN1YmxpbmsnLFxcclxcbiAgICAvLyAgICAgICAgICd0c3VicGFzc3dkJyxcXHJcXG4gICAgLy8gICAgICAgICAnc3ViaXRlbV9lZGl0X25hbWUnLFxcclxcbiAgICAvLyAgICAgICAgICdzdWJpdGVtX2VkaXRfdXJsJyxcXHJcXG4gICAgLy8gICAgICAgICAnc3ViaXRlbV9lZGl0X3Bhc3N3ZCcsXFxyXFxuICAgIC8vICAgICAgICAgJ3N1Yml0ZW1fYWN0aW9uJyxcXHJcXG4gICAgLy8gICAgICAgICAnc29ydF8xX3BvcycsXFxyXFxuICAgIC8vICAgICAgICAgJ3BhdGhzX2tpbmQnLFxcclxcbiAgICAvLyAgICAgICAgICdwYXRocycsXFxyXFxuICAgIC8vICAgICAgICAgJ3NoX3BhdGhzJyxcXHJcXG4gICAgLy8gICAgICAgICAnZmlsZV9hY3Rpb24nLFxcclxcbiAgICAvLyAgICAgICAgICdzdF9pdGVtJyxcXHJcXG4gICAgLy8gICAgICAgICAnZXhwaXJlZF9kYXRlJyxcXHJcXG4gICAgLy8gICAgIF1cXHJcXG5cXHJcXG4gICAgLy8gICAgIGRfaXRlbXMuZm9yRWFjaCgoZWxlX2l0ZW0pID0+IHtcXHJcXG4gICAgLy8gICAgICAgICBjbGVhckl0ZW0oZWxlX2l0ZW0pXFxyXFxuICAgIC8vICAgICB9KVxcclxcblxcclxcbiAgICAvLyAgICAgZF92YXJzLmZvckVhY2goKGVsZV92YXIpID0+IHtcXHJcXG4gICAgLy8gICAgICAgICBjbGVhck15VmFyKGVsZV92YXIpXFxyXFxuICAgIC8vICAgICB9KVxcclxcblxcclxcbiAgICAvLyAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAvLyAgICAgcmV0dXJuICd0b2FzdDovL+W3sue7j+mHjee9rlBpa1Bha+Wwj+eoi+W6jydcXHJcXG4gICAgLy8gfSksXFxyXFxufSlcXHJcXG5cXHJcXG5mb3IgKGxldCBpID0gMDsgaSA8IDU7IGkrKykge1xcclxcbiAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICBjb2xfdHlwZTogJ2xpbmUnLFxcclxcbiAgICB9KVxcclxcbn1cXHJcXG5cXHJcXG5zZXRSZXN1bHQocmVzKVxcclxcblwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiU3ViU2V0dGluZ1wiLFwicGF0aFwiOlwiU3ViU2V0dGluZ1wiLFwicnVsZVwiOlwianM6XFxyXFxudmFyIHsgcGlrcGFrX2luaXQgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxucGlrcGFrX2luaXQoKVxcclxcbnZhciByZXMgPSBbXVxcclxcbmxldCBzaG93X3R5cGUgPSBnZXRQYXJhbSgnc2hvd3R5cGUnLCAnMCcpXFxyXFxubGV0IHNob3dfdGl0bGVzID0gWyfmma7pgJrmt7vliqAnLCAn5a6Y5pa55aSN5Yi25YiG5Lqr5re75YqgJywgJ+aWh+acrOe8lui+kea3u+WKoCcsICfnvJbovpFQaWtQYWvliIbkuqvpk77mjqUnXVxcclxcblxcclxcbmlmIChzaG93X3R5cGUgPT0gMykge1xcclxcbiAgICBzZXRQYWdlVGl0bGUoYOe8lui+keWIhuS6q2ApXFxyXFxufSBlbHNlIHtcXHJcXG4gICAgc2V0UGFnZVRpdGxlKGDmt7vliqDliIbkuqsoJHtzaG93X3RpdGxlc1tOdW1iZXIoc2hvd190eXBlKV0ucmVwbGFjZSgn5re75YqgJywgJycpfSlgKVxcclxcbn1cXHJcXG5zd2l0Y2ggKHNob3dfdHlwZSkge1xcclxcbiAgICBjYXNlICcwJzpcXHJcXG4gICAgICAgIGNsZWFyTXlWYXIoJ3RzdWJuYW1lJylcXHJcXG4gICAgICAgIGNsZWFyTXlWYXIoJ3RzdWJsaW5rJylcXHJcXG4gICAgICAgIGNsZWFyTXlWYXIoJ3RzdWJwYXNzd2QnKVxcclxcblxcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIHRpdGxlOiAn8J+TnSDliIbkuqvlkI3lrZcnLFxcclxcbiAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8xJyxcXHJcXG4gICAgICAgICAgICBleHRyYTogeyBsaW5lVmlzaWJsZTogZmFsc2UgfSxcXHJcXG4gICAgICAgIH0pXFxyXFxuXFxyXFxuICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgdGl0bGU6ICfliIbkuqvlkI3lrZcnLFxcclxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnaW5wdXQnLFxcclxcbiAgICAgICAgICAgIGRlc2M6ICfor7fovpPlhaVQaWtQYWvliIbkuqvlkI3lrZcnLFxcclxcbiAgICAgICAgICAgIGV4dHJhOiB7XFxyXFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiBcXFwicHV0TXlWYXIoJ3RzdWJuYW1lJywgaW5wdXQpXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgdGl0bGVWaXNpYmxlOiBmYWxzZSxcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgfSlcXHJcXG5cXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTogJ/CflJcg5YiG5Lqr6ZO+5o6lJyxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxyXFxuICAgICAgICAgICAgZXh0cmE6IHsgbGluZVZpc2libGU6IGZhbHNlIH0sXFxyXFxuICAgICAgICB9KVxcclxcblxcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIHRpdGxlOiAn5YiG5Lqr6ZO+5o6lJyxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ2lucHV0JyxcXHJcXG4gICAgICAgICAgICBkZXNjOiAn6K+36L6T5YWlUGlrUGFr5YiG5Lqr6ZO+5o6lJyxcXHJcXG4gICAgICAgICAgICBleHRyYToge1xcclxcbiAgICAgICAgICAgICAgICBvbkNoYW5nZTogXFxcInB1dE15VmFyKCd0c3VibGluaycsIGlucHV0KVxcXCIsXFxyXFxuICAgICAgICAgICAgICAgIHRpdGxlVmlzaWJsZTogZmFsc2UsXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgIH0pXFxyXFxuXFxyXFxuICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgdGl0bGU6ICfwn5SRIOWIhuS6q+WvhueggScsXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzEnLFxcclxcbiAgICAgICAgICAgIGV4dHJhOiB7IGxpbmVWaXNpYmxlOiBmYWxzZSB9LFxcclxcbiAgICAgICAgfSlcXHJcXG5cXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTogJ+WIhuS6q+WvhueggScsXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdpbnB1dCcsXFxyXFxuICAgICAgICAgICAgZGVzYzogJ+ivt+i+k+WFpVBpa1Bha+WIhuS6q+WvhueggScsXFxyXFxuICAgICAgICAgICAgZXh0cmE6IHtcXHJcXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U6IFxcXCJwdXRNeVZhcigndHN1YnBhc3N3ZCcsIGlucHV0KVxcXCIsXFxyXFxuICAgICAgICAgICAgICAgIHRpdGxlVmlzaWJsZTogZmFsc2UsXFxyXFxuICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgIH0pXFxyXFxuXFxyXFxuICAgICAgICAvLyDpl7TpmpTmoI9cXHJcXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTU7IGkrKykge1xcclxcbiAgICAgICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICAgICAgY29sX3R5cGU6ICdibGFua19ibG9jaycsXFxyXFxuICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgIH1cXHJcXG5cXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTogJ+a3u+WKoCcsXFxyXFxuICAgICAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICBsZXQgdHN1Ym5hbWUgPSBnZXRNeVZhcigndHN1Ym5hbWUnKVxcclxcbiAgICAgICAgICAgICAgICBsZXQgdHN1YmxpbmsgPSBnZXRNeVZhcigndHN1YmxpbmsnKVxcclxcbiAgICAgICAgICAgICAgICBsZXQgdHN1YnBhc3N3ZCA9IGdldE15VmFyKCd0c3VicGFzc3dkJylcXHJcXG4gICAgICAgICAgICAgICAgdmFyIHsgc3ViX2NoZWNrLCBzdWJfcmVhZF9sb2NhbCwgc3ViX3dyaXRlX2xvY2FsIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcblxcclxcbiAgICAgICAgICAgICAgICBpZiAoIXRzdWJuYW1lIHx8ICF0c3VibGluaykge1xcclxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+WQjeWtl+WSjOWIhuS6q+mTvuaOpeS4jeiDveS4uuepuidcXHJcXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmIChzdWJfY2hlY2sodHN1YmxpbmspKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+W3sue7j+WtmOWcqOebuOWQjOWIhuS6q+mTvuaOpe+8jOWPquiDveWOu+e8lui+keimhueblidcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgIGxldCBzaGFyZV9saW5rX3VybHMgPSBzdWJfcmVhZF9sb2NhbCgpXFxyXFxuICAgICAgICAgICAgICAgICAgICBzaGFyZV9saW5rX3VybHMucHVzaCh7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogdHN1Ym5hbWUsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiB0c3VibGluayxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXNzd2Q6IHRzdWJwYXNzd2QsXFxyXFxuICAgICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAgICAgc3ViX3dyaXRlX2xvY2FsKHNoYXJlX2xpbmtfdXJscylcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/mt7vliqDliIbkuqvpk77mjqXmiJDlip8nXFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMicsXFxyXFxuICAgICAgICB9KVxcclxcblxcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIHRpdGxlOiAn5riF56m6JyxcXHJcXG4gICAgICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICAgICAgICAgIH0pLFxcclxcbiAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8yJyxcXHJcXG4gICAgICAgIH0pXFxyXFxuICAgICAgICBicmVha1xcclxcbiAgICBjYXNlICcxJzpcXHJcXG4gICAgICAgIGNsZWFyTXlWYXIoJ3RzdWJuYW1lJylcXHJcXG4gICAgICAgIGNsZWFyTXlWYXIoJ3RzdWJsaW5rJylcXHJcXG4gICAgICAgIGNsZWFyTXlWYXIoJ3RzdWJwYXNzd2QnKVxcclxcblxcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIHRpdGxlOiAn8J+TnSDliIbkuqvlkI3lrZcnLFxcclxcbiAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8xJyxcXHJcXG4gICAgICAgICAgICBleHRyYTogeyBsaW5lVmlzaWJsZTogZmFsc2UgfSxcXHJcXG4gICAgICAgIH0pXFxyXFxuXFxyXFxuICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgdGl0bGU6ICfliIbkuqvlkI3lrZcnLFxcclxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnaW5wdXQnLFxcclxcbiAgICAgICAgICAgIGRlc2M6ICfor7fovpPlhaVQaWtQYWvliIbkuqvlkI3lrZcnLFxcclxcbiAgICAgICAgICAgIGV4dHJhOiB7XFxyXFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiBcXFwicHV0TXlWYXIoJ3RzdWJuYW1lJywgaW5wdXQpXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgdGl0bGVWaXNpYmxlOiBmYWxzZSxcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgfSlcXHJcXG5cXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTogJ/CfpoAg6L6T5YWl5LuO5a6Y5pa55aSN5Yi255qE5YiG5Lqr6ZO+5o6lJyxcXHJcXG4gICAgICAgICAgICB1cmw6ICdoaWtlcjovL2VtcHR5JyxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxyXFxuICAgICAgICAgICAgZXh0cmE6IHsgbGluZVZpc2libGU6IGZhbHNlIH0sXFxyXFxuICAgICAgICB9KVxcclxcblxcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnaW5wdXQnLFxcclxcbiAgICAgICAgICAgIGV4dHJhOiB7XFxyXFxuICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0YXJlYScsXFxyXFxuICAgICAgICAgICAgICAgIGhlaWdodDogLTEsXFxyXFxuICAgICAgICAgICAgICAgIGhpZ2hsaWdodDogdHJ1ZSxcXHJcXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U6ICQudG9TdHJpbmcoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgcHV0TXlWYXIoJ3RzdWJsaW5rJywgaW5wdXQpXFxyXFxuICAgICAgICAgICAgICAgIH0pLFxcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICB9KVxcclxcblxcclxcbiAgICAgICAgLy8g6Ze06ZqU5qCPXFxyXFxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDEwOyBpKyspIHtcXHJcXG4gICAgICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgICAgIGNvbF90eXBlOiAnYmxhbmtfYmxvY2snLFxcclxcbiAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICB9XFxyXFxuXFxyXFxuICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgdGl0bGU6ICfmt7vliqAnLFxcclxcbiAgICAgICAgICAgIHVybDogJCgpLmxhenlSdWxlKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IHRzdWJuYW1lID0gZ2V0TXlWYXIoJ3RzdWJuYW1lJylcXHJcXG4gICAgICAgICAgICAgICAgbGV0IHRzdWJsaW5rID0gZ2V0TXlWYXIoJ3RzdWJsaW5rJylcXHJcXG4gICAgICAgICAgICAgICAgbGV0IHRzdWJwYXNzd2QgPSBnZXRNeVZhcigndHN1YnBhc3N3ZCcpXFxyXFxuICAgICAgICAgICAgICAgIHZhciB7IHN1Yl9jaGVjaywgc3ViX3JlYWRfbG9jYWwsIHN1Yl93cml0ZV9sb2NhbCwgc2hhcmVfd2ViX3VybCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG5cXHJcXG4gICAgICAgICAgICAgICAgaWYgKCF0c3VibmFtZSB8fCAhdHN1YmxpbmspIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/lkI3lrZflkozliIbkuqvpk77mjqXkuI3og73kuLrnqbonXFxyXFxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB0c3VibGluayA9IHNoYXJlX3dlYl91cmwodHN1YmxpbmspXFxyXFxuICAgICAgICAgICAgICAgICAgICBpZiAoc3ViX2NoZWNrKHRzdWJsaW5rKSkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/lt7Lnu4/lrZjlnKjnm7jlkIzliIbkuqvpk77mjqXvvIzlj6rog73ljrvnvJbovpHopobnm5YnXFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgc2hhcmVfbGlua191cmxzID0gc3ViX3JlYWRfbG9jYWwoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgc2hhcmVfbGlua191cmxzLnB1c2goe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHRzdWJuYW1lLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogdHN1YmxpbmssXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFzc3dkOiB0c3VicGFzc3dkLFxcclxcbiAgICAgICAgICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgICAgICAgICAgICAgIHN1Yl93cml0ZV9sb2NhbChzaGFyZV9saW5rX3VybHMpXFxyXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5re75Yqg5YiG5Lqr6ZO+5o6l5oiQ5YqfJ1xcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICd0ZXh0XzInLFxcclxcbiAgICAgICAgfSlcXHJcXG5cXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTogJ+a4heepuicsXFxyXFxuICAgICAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXHJcXG4gICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMicsXFxyXFxuICAgICAgICB9KVxcclxcblxcclxcbiAgICAgICAgYnJlYWtcXHJcXG4gICAgY2FzZSAnMyc6XFxyXFxuICAgICAgICBjbGVhck15VmFyKCd0c3VibmFtZScpXFxyXFxuICAgICAgICBjbGVhck15VmFyKCd0c3VibGluaycpXFxyXFxuICAgICAgICBjbGVhck15VmFyKCd0c3VicGFzc3dkJylcXHJcXG5cXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTogJ/Cfk50g5YiG5Lqr5ZCN5a2XJyxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxyXFxuICAgICAgICAgICAgZXh0cmE6IHsgbGluZVZpc2libGU6IGZhbHNlIH0sXFxyXFxuICAgICAgICB9KVxcclxcblxcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIHRpdGxlOiAn5YiG5Lqr5ZCN5a2XJyxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ2lucHV0JyxcXHJcXG4gICAgICAgICAgICBkZXNjOiAn6K+36L6T5YWlUGlrUGFr5YiG5Lqr5ZCN5a2XJyxcXHJcXG4gICAgICAgICAgICBleHRyYToge1xcclxcbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGdldE15VmFyKCdzdWJpdGVtX2VkaXRfbmFtZScsICcnKSxcXHJcXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U6IFxcXCJwdXRNeVZhcigndHN1Ym5hbWUnLCBpbnB1dClcXFwiLFxcclxcbiAgICAgICAgICAgICAgICB0aXRsZVZpc2libGU6IGZhbHNlLFxcclxcbiAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICB9KVxcclxcblxcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIHRpdGxlOiAn8J+UlyDliIbkuqvpk77mjqUnLFxcclxcbiAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8xJyxcXHJcXG4gICAgICAgICAgICBleHRyYTogeyBsaW5lVmlzaWJsZTogZmFsc2UgfSxcXHJcXG4gICAgICAgIH0pXFxyXFxuXFxyXFxuICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgdGl0bGU6ICfliIbkuqvpk77mjqUnLFxcclxcbiAgICAgICAgICAgIGNvbF90eXBlOiAnaW5wdXQnLFxcclxcbiAgICAgICAgICAgIGRlc2M6ICfor7fovpPlhaVQaWtQYWvliIbkuqvpk77mjqUnLFxcclxcbiAgICAgICAgICAgIGV4dHJhOiB7XFxyXFxuICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogZ2V0TXlWYXIoJ3N1Yml0ZW1fZWRpdF91cmwnLCAnJyksXFxyXFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiBcXFwicHV0TXlWYXIoJ3RzdWJsaW5rJywgaW5wdXQpXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgdGl0bGVWaXNpYmxlOiBmYWxzZSxcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgfSlcXHJcXG5cXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTogJ/CflJEg5YiG5Lqr5a+G56CBJyxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMScsXFxyXFxuICAgICAgICAgICAgZXh0cmE6IHsgbGluZVZpc2libGU6IGZhbHNlIH0sXFxyXFxuICAgICAgICB9KVxcclxcblxcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIHRpdGxlOiAn5YiG5Lqr5a+G56CBJyxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ2lucHV0JyxcXHJcXG4gICAgICAgICAgICBkZXNjOiAn6K+36L6T5YWlUGlrUGFr5YiG5Lqr5a+G56CBJyxcXHJcXG4gICAgICAgICAgICBleHRyYToge1xcclxcbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IGdldE15VmFyKCdzdWJpdGVtX2VkaXRfcGFzc3dkJywgJycpLFxcclxcbiAgICAgICAgICAgICAgICBvbkNoYW5nZTogXFxcInB1dE15VmFyKCd0c3VicGFzc3dkJywgaW5wdXQpXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgdGl0bGVWaXNpYmxlOiBmYWxzZSxcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgfSlcXHJcXG5cXHJcXG4gICAgICAgIC8vIOmXtOmalOagj1xcclxcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNTsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2JsYW5rX2Jsb2NrJyxcXHJcXG4gICAgICAgICAgICB9KVxcclxcbiAgICAgICAgfVxcclxcblxcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIHRpdGxlOiAn5L+u5pS5JyxcXHJcXG4gICAgICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgIGxldCB0c3VibmFtZSA9IGdldE15VmFyKCd0c3VibmFtZScpXFxyXFxuICAgICAgICAgICAgICAgIGxldCB0c3VibGluayA9IGdldE15VmFyKCd0c3VibGluaycpXFxyXFxuICAgICAgICAgICAgICAgIGxldCB0c3VicGFzc3dkID0gZ2V0TXlWYXIoJ3RzdWJwYXNzd2QnKVxcclxcbiAgICAgICAgICAgICAgICB2YXIgeyBzdWJfY2hlY2ssIHN1Yl9yZWFkX2xvY2FsLCBzdWJfd3JpdGVfbG9jYWwgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuXFxyXFxuICAgICAgICAgICAgICAgIGlmICghdHN1Ym5hbWUgfHwgIXRzdWJsaW5rKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5ZCN5a2X5ZKM5YiG5Lqr6ZO+5o6l5LiN6IO95Li656m6J1xcclxcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IHNoYXJlX2xpbmtfdXJscyA9IHN1Yl9yZWFkX2xvY2FsKClcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxldCBzaGFyZV9saW5rX3VybF9leGlzdCA9IGZhbHNlXFxyXFxuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNoYXJlX2xpbmtfdXJscy5sZW5ndGg7IGkrKykge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0c3VibGluayA9PSBzaGFyZV9saW5rX3VybHNbaV0udXJsKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlX2xpbmtfdXJsc1tpXS5uYW1lID0gdHN1Ym5hbWVcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVfbGlua191cmxfZXhpc3QgPSB0cnVlXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFzaGFyZV9saW5rX3VybF9leGlzdCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlX2xpbmtfdXJscy5wdXNoKHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogdHN1Ym5hbWUsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogdHN1YmxpbmssXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3N3ZDogdHN1YnBhc3N3ZCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgc3ViX3dyaXRlX2xvY2FsKHNoYXJlX2xpbmtfdXJscylcXHJcXG4gICAgICAgICAgICAgICAgICAgIC8vIGJhY2sodHJ1ZSlcXHJcXG4gICAgICAgICAgICAgICAgICAgIC8vIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/kv67mlLnliIbkuqvpk77mjqXmiJDlip8nXFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMicsXFxyXFxuICAgICAgICB9KVxcclxcblxcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIHRpdGxlOiAn6L+Y5Y6fJyxcXHJcXG4gICAgICAgICAgICB1cmw6ICQoKS5sYXp5UnVsZSgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICAgICAgICAgIH0pLFxcclxcbiAgICAgICAgICAgIGNvbF90eXBlOiAndGV4dF8yJyxcXHJcXG4gICAgICAgIH0pXFxyXFxuICAgICAgICBicmVha1xcclxcbiAgICBkZWZhdWx0OlxcclxcbiAgICAgICAgY2xlYXJNeVZhcigndHN1Ym5hbWUnKVxcclxcbiAgICAgICAgY2xlYXJNeVZhcigndHN1YmxpbmsnKVxcclxcbiAgICAgICAgY2xlYXJNeVZhcigndHN1YnBhc3N3ZCcpXFxyXFxuXFxyXFxuICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgdGl0bGU6IGDwn6aAIOebtOaOpeaWh+acrOaooeW8j+e8lui+keiuoumYheaWh+S7tuWGheWuuTxici8+5qC85byPOiA8YnIvPlxcclxcbls8YnIvPlxcclxcbiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3s8YnIvPlxcclxcbiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1xcXCJuYW1lXFxcIjogXFxcIueyieWmueeahOWIhuS6q1xcXCIsPGJyLz5cXHJcXG4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtcXFwidXJsXFxcIjogXFxcImh0dHBzOi8vbXlwaWtwYWsuY29tL3MvKioqXFxcIiw8YnIvPlxcclxcbiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1xcXCJwYXNzd2RcXFwiOiBcXFwiZW1tbVxcXCI8YnIvPlxcclxcbiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO308YnIvPlxcclxcbl1gLFxcclxcbiAgICAgICAgICAgIHVybDogJ2hpa2VyOi8vZW1wdHknLFxcclxcbiAgICAgICAgICAgIGNvbF90eXBlOiAncmljaF90ZXh0JyxcXHJcXG4gICAgICAgICAgICBleHRyYTogeyBsaW5lVmlzaWJsZTogZmFsc2UgfSxcXHJcXG4gICAgICAgIH0pXFxyXFxuXFxyXFxuICAgICAgICByZXMucHVzaCh7XFxyXFxuICAgICAgICAgICAgY29sX3R5cGU6ICdpbnB1dCcsXFxyXFxuICAgICAgICAgICAgZXh0cmE6IHtcXHJcXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHRhcmVhJyxcXHJcXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4LFxcclxcbiAgICAgICAgICAgICAgICBoaWdobGlnaHQ6IHRydWUsXFxyXFxuICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogcmVhZEZpbGUoJ2ZtX3Bpa3Bha19zdWIudHh0JywgMCksXFxyXFxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiAkLnRvU3RyaW5nKCgpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHB1dE15VmFyKCd0c3VibGluaycsIGlucHV0KVxcclxcbiAgICAgICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICB9LFxcclxcbiAgICAgICAgfSlcXHJcXG5cXHJcXG4gICAgICAgIC8vIOmXtOmalOagj1xcclxcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgICAgICBjb2xfdHlwZTogJ2JsYW5rX2Jsb2NrJyxcXHJcXG4gICAgICAgICAgICB9KVxcclxcbiAgICAgICAgfVxcclxcblxcclxcbiAgICAgICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgICAgIHRpdGxlOiAn5L+d5a2YJyxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMicsXFxyXFxuICAgICAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICB2YXIgeyBzdWJfd3JpdGVfbG9jYWwgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgIGxldCBzaGFyZV9saW5rX3VybHMgPSBnZXRNeVZhcigndHN1YmxpbmsnLCAnJylcXHJcXG4gICAgICAgICAgICAgICAgaWYgKCFzaGFyZV9saW5rX3VybHMpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHNoYXJlX2xpbmtfdXJscyA9ICdbXSdcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICBzaGFyZV9saW5rX3VybHMgPSBldmFsKHNoYXJlX2xpbmtfdXJscylcXHJcXG4gICAgICAgICAgICAgICAgc3ViX3dyaXRlX2xvY2FsKHNoYXJlX2xpbmtfdXJscylcXHJcXG4gICAgICAgICAgICAgICAgLy8gcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v57yW6L6R5YiG5Lqr6ZO+5o6l5oiQ5YqfJ1xcclxcbiAgICAgICAgICAgIH0pLFxcclxcbiAgICAgICAgfSlcXHJcXG5cXHJcXG4gICAgICAgIHJlcy5wdXNoKHtcXHJcXG4gICAgICAgICAgICB0aXRsZTogJ+i/mOWOnycsXFxyXFxuICAgICAgICAgICAgdXJsOiAkKCkubGF6eVJ1bGUoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXHJcXG4gICAgICAgICAgICB9KSxcXHJcXG4gICAgICAgICAgICBjb2xfdHlwZTogJ3RleHRfMicsXFxyXFxuICAgICAgICB9KVxcclxcbn1cXHJcXG5cXHJcXG5zZXRSZXN1bHQocmVzKVxcclxcblwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiU3ViSXRlbVwiLFwicGF0aFwiOlwiU3ViSXRlbVwiLFwicnVsZVwiOlwianM6XFxyXFxudmFyIHsgcGlrcGFrX2luaXQsIHN1Yl9yZWFkX2xvY2FsIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbnZhciB7IHN0eWxlX2NvbG9yIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9EZWJ1ZycpXFxyXFxucGlrcGFrX2luaXQoKVxcclxcbnZhciByZXMgPSBbXVxcclxcbnNldFBhZ2VUaXRsZSgn566h55CG5YiG5LqrJylcXHJcXG5sZXQgc2hhcmVfbGlua191cmxzID0gc3ViX3JlYWRfbG9jYWwoKVxcclxcblxcclxcbnJlcy5wdXNoKHtcXHJcXG4gICAgdGl0bGU6IGDwn5OdIOW9k+WJjeWIhuS6q+aAu+aVsOS4ujogJHtzdHlsZV9jb2xvcihzaGFyZV9saW5rX3VybHMubGVuZ3RoICsgJ+adoScsICcjMjRCQjc1JywgJ3N0cm9uZycpfWAsXFxyXFxuICAgIGNvbF90eXBlOiAndGV4dF8xJyxcXHJcXG4gICAgdXJsOiAnaGlrZXI6Ly9lbXB0eScsXFxyXFxuICAgIC8vIHBpY191cmw6ICdodHRwczovL215cGlrcGFrLmNvbS9mYXZpY29uLTMyeDMyLnBuZycsXFxyXFxufSlcXHJcXG5cXHJcXG5mb3IgKGxldCBpID0gMDsgaSA8IHNoYXJlX2xpbmtfdXJscy5sZW5ndGg7IGkrKykge1xcclxcbiAgICBsZXQgdXJsID0gJChbJ+e8lui+kScsICfmlofmnKznvJbovpEnLCAn5Yig6ZmkJywgJ+WkjeWItuWIhuS6qycsICfmiYvliqjmjpLluo8nLCAn5pm66IO95o6S5bqPJ10sIDMpLnNlbGVjdCgoaSkgPT4ge1xcclxcbiAgICAgICAgdmFyIHsgc3ViX3JlYWRfbG9jYWwsIHN1Yl93cml0ZV9sb2NhbCwgc2hhcmVfd2ViX3VybCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgIGxldCBzaGFyZV9saW5rX3VybHMgPSBzdWJfcmVhZF9sb2NhbCgpXFxyXFxuICAgICAgICBzd2l0Y2ggKE1ZX0lOREVYKSB7XFxyXFxuICAgICAgICAgICAgY2FzZSAwOlxcclxcbiAgICAgICAgICAgICAgICBwdXRNeVZhcignc3ViaXRlbV9lZGl0X25hbWUnLCBzaGFyZV9saW5rX3VybHNbaV0ubmFtZSlcXHJcXG4gICAgICAgICAgICAgICAgcHV0TXlWYXIoJ3N1Yml0ZW1fZWRpdF91cmwnLCBzaGFyZV9saW5rX3VybHNbaV0udXJsKVxcclxcbiAgICAgICAgICAgICAgICBwdXRNeVZhcignc3ViaXRlbV9lZGl0X3Bhc3N3ZCcsIHNoYXJlX2xpbmtfdXJsc1tpXS5wYXNzd2QpXFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9wYWdlL1N1YlNldHRpbmc/c2hvd3R5cGU9MyNub0hpc3RvcnkjI25vUmVjb3JkSGlzdG9yeSMnXFxyXFxuICAgICAgICAgICAgY2FzZSAxOlxcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gYGhpa2VyOi8vcGFnZS9TdWJTZXR0aW5nP3Nob3d0eXBlPTIjbm9IaXN0b3J5IyNub1JlY29yZEhpc3RvcnkjYFxcclxcbiAgICAgICAgICAgIGNhc2UgMjpcXHJcXG4gICAgICAgICAgICAgICAgY29uZmlybSh7XFxyXFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ+Wwj+eoi+W6j+aPkOekuicsXFxyXFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAn5piv5ZCm5Yig6Zmk5YiG5Lqr6ZO+5o6lJyxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpcm06ICQudG9TdHJpbmcoXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgKGksIHNoYXJlX2xpbmtfdXJscykgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgeyBzdWJfd3JpdGVfbG9jYWwgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlX2xpbmtfdXJscy5zcGxpY2UoaSwgMSlcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViX3dyaXRlX2xvY2FsKHNoYXJlX2xpbmtfdXJscylcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5Yig6Zmk5YiG5Lqr6ZO+5o6l5oiQ5YqfJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBzaGFyZV9saW5rX3VybHNcXHJcXG4gICAgICAgICAgICAgICAgICAgICksXFxyXFxuICAgICAgICAgICAgICAgICAgICBjYW5jZWw6ICQudG9TdHJpbmcoKCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3RvYXN0Oi8v5Y+W5raI5Yig6Zmk5YiG5Lqr6ZO+5o6lJ1xcclxcbiAgICAgICAgICAgICAgICAgICAgfSksXFxyXFxuICAgICAgICAgICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrXFxyXFxuICAgICAgICAgICAgY2FzZSAzOlxcclxcbiAgICAgICAgICAgICAgICBpZiAoc2hhcmVfbGlua191cmxzW2ldLnBhc3N3ZCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBjb3B5Oi8vJHtzaGFyZV9saW5rX3VybHNbaV0udXJsfVxcXFxu5a+G56CBOiAke3NoYXJlX2xpbmtfdXJsc1tpXS5wYXNzd2R9XFxcXG7lpI3liLbov5nmrrXlhoXlrrnlkI7miZPlvIAgUGlrUGFrLUFwcO+8jOeVheS6q+aegemAn+enkuaSrWBcXHJcXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgY29weTovLyR7c2hhcmVfbGlua191cmxzW2ldLnVybH1cXFxcbuWkjeWItui/meauteWGheWuueWQjuaJk+W8gCBQaWtQYWstQXBw77yM55WF5Lqr5p6B6YCf56eS5pKtYFxcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgLy8gcmV0dXJuICdjb3B5Oi8vJyArIHNoYXJlX3dlYl91cmwoc2hhcmVfbGlua191cmxzW2ldLnVybCwgc2hhcmVfbGlua191cmxzW2ldLnBhc3N3ZClcXHJcXG4gICAgICAgICAgICBjYXNlIDQ6XFxyXFxuICAgICAgICAgICAgICAgIHB1dE15VmFyKCdzdWJpdGVtX2FjdGlvbicsICdzb3J0JylcXHJcXG4gICAgICAgICAgICAgICAgcHV0TXlWYXIoJ3NvcnRfMV9wb3MnLCBpKVxcclxcbiAgICAgICAgICAgICAgICByZWZyZXNoUGFnZSgpXFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiAndG9hc3Q6Ly/or7fngrnlh7vkvaDopoHmlL7nmoTkvY3nva4nXFxyXFxuICAgICAgICAgICAgLy8gcmV0dXJuICdoaWtlcjovL2VtcHR5J1xcclxcbiAgICAgICAgICAgIGRlZmF1bHQ6XFxyXFxuICAgICAgICAgICAgICAgIHZhciB7IHNvcnRfaXRlbXNfbGlzdCB9ID0gJC5yZXF1aXJlKCdoaWtlcjovL3BhZ2UvQVBJJylcXHJcXG4gICAgICAgICAgICAgICAgbGV0IHNoYXJlX2F1dG9fc29ydF9saXN0ID0gc29ydF9pdGVtc19saXN0KHNoYXJlX2xpbmtfdXJscywgMClcXHJcXG4gICAgICAgICAgICAgICAgdmFyIHsgc3ViX3dyaXRlX2xvY2FsIH0gPSAkLnJlcXVpcmUoJ2hpa2VyOi8vcGFnZS9BUEknKVxcclxcbiAgICAgICAgICAgICAgICBzdWJfd3JpdGVfbG9jYWwoc2hhcmVfYXV0b19zb3J0X2xpc3QpXFxyXFxuICAgICAgICAgICAgICAgIC8vIHNoYXJlX2F1dG9fc29ydF9saXN0LmZvckVhY2goKGVsZSkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAvLyAgICAgJC5sb2coZWxlLm5hbWUpXFxyXFxuICAgICAgICAgICAgICAgIC8vIH0pXFxyXFxuICAgICAgICAgICAgICAgIHJlZnJlc2hQYWdlKClcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuICd0b2FzdDovL+aZuuiDveaOkuW6j+aIkOWKnydcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfSwgaSlcXHJcXG5cXHJcXG4gICAgaWYgKGdldE15VmFyKCdzdWJpdGVtX2FjdGlvbicsICdicm93c2UnKSA9PSAnc29ydCcpIHtcXHJcXG4gICAgICAgIHVybCA9ICQoKS5sYXp5UnVsZSgoaSkgPT4ge1xcclxcbiAgICAgICAgICAgIHZhciB7IHN1Yl9yZWFkX2xvY2FsLCBzdWJfd3JpdGVfbG9jYWwgfSA9ICQucmVxdWlyZSgnaGlrZXI6Ly9wYWdlL0FQSScpXFxyXFxuICAgICAgICAgICAgbGV0IHNoYXJlX2xpbmtfdXJscyA9IHN1Yl9yZWFkX2xvY2FsKClcXHJcXG4gICAgICAgICAgICBsZXQgc29ydF8xX3BvcyA9IGdldE15VmFyKCdzb3J0XzFfcG9zJywgJzAnKVxcclxcbiAgICAgICAgICAgIGxldCB0X3NoYXJlX2xpbmtfdXJscyA9IFtdXFxyXFxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzaGFyZV9saW5rX3VybHMubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgICAgICAgICAgdF9zaGFyZV9saW5rX3VybHMucHVzaChzaGFyZV9saW5rX3VybHNbaV0pXFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIHRfc2hhcmVfbGlua191cmxzW3NvcnRfMV9wb3NdID0gc2hhcmVfbGlua191cmxzW2ldXFxyXFxuICAgICAgICAgICAgdF9zaGFyZV9saW5rX3VybHNbaV0gPSBzaGFyZV9saW5rX3VybHNbc29ydF8xX3Bvc11cXHJcXG4gICAgICAgICAgICBzaGFyZV9saW5rX3VybHMgPSB0X3NoYXJlX2xpbmtfdXJsc1xcclxcbiAgICAgICAgICAgIHN1Yl93cml0ZV9sb2NhbChzaGFyZV9saW5rX3VybHMpXFxyXFxuICAgICAgICAgICAgcHV0TXlWYXIoJ3N1Yml0ZW1fYWN0aW9uJywgJ2Jyb3dzZScpXFxyXFxuICAgICAgICAgICAgcmVmcmVzaFBhZ2UoKVxcclxcbiAgICAgICAgICAgIHJldHVybiAnaGlrZXI6Ly9lbXB0eSdcXHJcXG4gICAgICAgIH0sIGkpXFxyXFxuICAgIH1cXHJcXG4gICAgcmVzLnB1c2goe1xcclxcbiAgICAgICAgLy8gdGl0bGU6IHNoYXJlX2xpbmtfdXJsc1tpXS5uYW1lLFxcclxcbiAgICAgICAgdGl0bGU6XFxyXFxuICAgICAgICAgICAgaSArXFxyXFxuICAgICAgICAgICAgMSArXFxyXFxuICAgICAgICAgICAgJy4gJyArXFxyXFxuICAgICAgICAgICAgKGdldE15VmFyKCdzdWJpdGVtX2FjdGlvbicsICdicm93c2UnKSA9PSAnc29ydCcgJiYgZ2V0TXlWYXIoJ3NvcnRfMV9wb3MnLCAnMCcpID09IGlcXHJcXG4gICAgICAgICAgICAgICAgPyBzdHlsZV9jb2xvcihzaGFyZV9saW5rX3VybHNbaV0ubmFtZSwgJyM3QjY4RUUnLCAnc3Ryb25nJykucmVwbGFjZSgn4oCY4oCY4oCZ4oCZJywgJycpXFxyXFxuICAgICAgICAgICAgICAgIDogc2hhcmVfbGlua191cmxzW2ldLm5hbWUpLFxcclxcbiAgICAgICAgZGVzYzpcXHJcXG4gICAgICAgICAgICBzaGFyZV9saW5rX3VybHNbaV0udXJsLnJlcGxhY2UoJ2h0dHBzOi8vbXlwaWtwYWsuY29tL3MvJywgJycpICtcXHJcXG4gICAgICAgICAgICAnKCcgK1xcclxcbiAgICAgICAgICAgIChzaGFyZV9saW5rX3VybHNbaV0ucGFzc3dkID8gc2hhcmVfbGlua191cmxzW2ldLnBhc3N3ZCA6ICfml6AnKSArXFxyXFxuICAgICAgICAgICAgJyknLFxcclxcbiAgICAgICAgY29sX3R5cGU6ICdhdmF0YXInLFxcclxcbiAgICAgICAgdXJsOiB1cmwsXFxyXFxuICAgICAgICBwaWNfdXJsOiAnaHR0cHM6Ly9teXBpa3Bhay5jb20vZmF2aWNvbi0zMngzMi5wbmcnLFxcclxcbiAgICB9KVxcclxcbn1cXHJcXG5cXHJcXG5zZXRSZXN1bHQocmVzKVxcclxcblwifSx7XCJjb2xfdHlwZVwiOlwibW92aWVfM1wiLFwibmFtZVwiOlwiQ2xvdWRJbXBvcnRcIixcInBhdGhcIjpcIkNsb3VkSW1wb3J0XCIsXCJydWxlXCI6XCJ2YXIge2Nsb3VkX2ltcG9ydH0gPSAkLnJlcXVpcmUoXFxcImhpa2VyOi8vcGFnZS9BUEk/cnVsZT3nsonlprnniLFQaWtQYWtcXFwiKVxcclxcbiQuZXhwb3J0cyA9IGNsb3VkX2ltcG9ydChpbnB1dClcXHJcXG5cIn1dIiwiaWNvbiI6Imh0dHBzOi8vbXlwaWtwYWsuY29tL2Zhdmljb24tMzJ4MzIucG5nIiwicHJveHkiOiIifQ==
Add Comment
Please, Sign In to add comment