1688054432
waR3U4bTeM%3A75c22105aec290fd9353ac98078d6966-27f4ce23cca7f63355ebb38ba97f05a2
s:77860:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NTE6IlBhcnNlcyBhbmQgdmVyaWZpZXMgdGhlIGRvYyBjb21tZW50cyBmb3IgZnVuY3Rpb25zLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTozOntpOjA7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcQXV0aG9yIjo0OntzOjc6IgAqAG5hbWUiO3M6NjoiYXV0aG9yIjtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcQXV0aG9yAGF1dGhvck5hbWUiO3M6MTM6IkdyZWcgU2hlcndvb2QiO3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xBdXRob3IAYXV0aG9yRW1haWwiO3M6MTk6ImdzaGVyd29vZEBzcXVpei5uZXQiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtOO31pOjE7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcR2VuZXJpYyI6Mjp7czo3OiIAKgBuYW1lIjtzOjk6ImNvcHlyaWdodCI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NDQ6IjIwMDYtMjAxNSBTcXVpeiBQdHkgTHRkIChBQk4gNzcgMDg0IDY3MCA2MDApIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEdlbmVyaWMiOjI6e3M6NzoiACoAbmFtZSI7czo3OiJsaWNlbnNlIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo4MDoiaHR0cHM6Ly9naXRodWIuY29tL3NxdWl6bGFicy9QSFBfQ29kZVNuaWZmZXIvYmxvYi9tYXN0ZXIvbGljZW5jZS50eHQgQlNEIExpY2VuY2UiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6IjI3ZjRjZTIzY2NhN2Y2MzM1NWViYjM4YmE5N2YwNWEyIjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWUiO3M6MjQ6IkZ1bmN0aW9uQ29tbWVudFNuaWZmLnBocCI7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBwYXRoIjtzOjk0OiJ2ZW5kb3Ivc3F1aXpsYWJzL3BocF9jb2Rlc25pZmZlci9zcmMvU3RhbmRhcmRzL1BFQVIvU25pZmZzL0NvbW1lbnRpbmcvRnVuY3Rpb25Db21tZW50U25pZmYucGhwIjtzOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHNvdXJjZSI7czoyMDg5MzoiPD9waHAKLyoqCiAqIFBhcnNlcyBhbmQgdmVyaWZpZXMgdGhlIGRvYyBjb21tZW50cyBmb3IgZnVuY3Rpb25zLgogKgogKiBAYXV0aG9yICAgIEdyZWcgU2hlcndvb2QgPGdzaGVyd29vZEBzcXVpei5uZXQ+CiAqIEBjb3B5cmlnaHQgMjAwNi0yMDE1IFNxdWl6IFB0eSBMdGQgKEFCTiA3NyAwODQgNjcwIDYwMCkKICogQGxpY2Vuc2UgICBodHRwczovL2dpdGh1Yi5jb20vc3F1aXpsYWJzL1BIUF9Db2RlU25pZmZlci9ibG9iL21hc3Rlci9saWNlbmNlLnR4dCBCU0QgTGljZW5jZQogKi8KCm5hbWVzcGFjZSBQSFBfQ29kZVNuaWZmZXJcU3RhbmRhcmRzXFBFQVJcU25pZmZzXENvbW1lbnRpbmc7Cgp1c2UgUEhQX0NvZGVTbmlmZmVyXEZpbGVzXEZpbGU7CnVzZSBQSFBfQ29kZVNuaWZmZXJcU25pZmZzXFNuaWZmOwp1c2UgUEhQX0NvZGVTbmlmZmVyXFV0aWxcVG9rZW5zOwoKY2xhc3MgRnVuY3Rpb25Db21tZW50U25pZmYgaW1wbGVtZW50cyBTbmlmZgp7CgogICAgLyoqCiAgICAgKiBEaXNhYmxlIHRoZSBjaGVjayBmb3IgZnVuY3Rpb25zIHdpdGggYSBsb3dlciB2aXNpYmlsaXR5IHRoYW4gdGhlIHZhbHVlIGdpdmVuLgogICAgICoKICAgICAqIEFsbG93ZWQgdmFsdWVzIGFyZSBwdWJsaWMsIHByb3RlY3RlZCwgYW5kIHByaXZhdGUuCiAgICAgKgogICAgICogQHZhciBzdHJpbmcKICAgICAqLwogICAgcHVibGljICRtaW5pbXVtVmlzaWJpbGl0eSA9ICdwcml2YXRlJzsKCiAgICAvKioKICAgICAqIEFycmF5IG9mIG1ldGhvZHMgd2hpY2ggZG8gbm90IHJlcXVpcmUgYSByZXR1cm4gdHlwZS4KICAgICAqCiAgICAgKiBAdmFyIGFycmF5CiAgICAgKi8KICAgIHB1YmxpYyAkc3BlY2lhbE1ldGhvZHMgPSBbCiAgICAgICAgJ19fY29uc3RydWN0JywKICAgICAgICAnX19kZXN0cnVjdCcsCiAgICBdOwoKCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gYXJyYXkgb2YgdG9rZW5zIHRoaXMgdGVzdCB3YW50cyB0byBsaXN0ZW4gZm9yLgogICAgICoKICAgICAqIEByZXR1cm4gYXJyYXkKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJlZ2lzdGVyKCkKICAgIHsKICAgICAgICByZXR1cm4gW1RfRlVOQ1RJT05dOwoKICAgIH0vL2VuZCByZWdpc3RlcigpCgoKICAgIC8qKgogICAgICogUHJvY2Vzc2VzIHRoaXMgdGVzdCwgd2hlbiBvbmUgb2YgaXRzIHRva2VucyBpcyBlbmNvdW50ZXJlZC4KICAgICAqCiAgICAgKiBAcGFyYW0gXFBIUF9Db2RlU25pZmZlclxGaWxlc1xGaWxlICRwaHBjc0ZpbGUgVGhlIGZpbGUgYmVpbmcgc2Nhbm5lZC4KICAgICAqIEBwYXJhbSBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgJHN0YWNrUHRyICBUaGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgdG9rZW4KICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgc3RhY2sgcGFzc2VkIGluICR0b2tlbnMuCiAgICAgKgogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBwcm9jZXNzKEZpbGUgJHBocGNzRmlsZSwgJHN0YWNrUHRyKQogICAgewogICAgICAgICRzY29wZU1vZGlmaWVyID0gJHBocGNzRmlsZS0+Z2V0TWV0aG9kUHJvcGVydGllcygkc3RhY2tQdHIpWydzY29wZSddOwogICAgICAgIGlmICgkc2NvcGVNb2RpZmllciA9PT0gJ3Byb3RlY3RlZCcKICAgICAgICAgICAgJiYgJHRoaXMtPm1pbmltdW1WaXNpYmlsaXR5ID09PSAncHVibGljJwogICAgICAgICAgICB8fCAkc2NvcGVNb2RpZmllciA9PT0gJ3ByaXZhdGUnCiAgICAgICAgICAgICYmICgkdGhpcy0+bWluaW11bVZpc2liaWxpdHkgPT09ICdwdWJsaWMnIHx8ICR0aGlzLT5taW5pbXVtVmlzaWJpbGl0eSA9PT0gJ3Byb3RlY3RlZCcpCiAgICAgICAgKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgICR0b2tlbnMgPSAkcGhwY3NGaWxlLT5nZXRUb2tlbnMoKTsKICAgICAgICAkaWdub3JlID0gVG9rZW5zOjokbWV0aG9kUHJlZml4ZXM7CiAgICAgICAgJGlnbm9yZVtUX1dISVRFU1BBQ0VdID0gVF9XSElURVNQQUNFOwoKICAgICAgICBmb3IgKCRjb21tZW50RW5kID0gKCRzdGFja1B0ciAtIDEpOyAkY29tbWVudEVuZCA+PSAwOyAkY29tbWVudEVuZC0tKSB7CiAgICAgICAgICAgIGlmIChpc3NldCgkaWdub3JlWyR0b2tlbnNbJGNvbW1lbnRFbmRdWydjb2RlJ11dKSA9PT0gdHJ1ZSkgewogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICgkdG9rZW5zWyRjb21tZW50RW5kXVsnY29kZSddID09PSBUX0FUVFJJQlVURV9FTkQKICAgICAgICAgICAgICAgICYmIGlzc2V0KCR0b2tlbnNbJGNvbW1lbnRFbmRdWydhdHRyaWJ1dGVfb3BlbmVyJ10pID09PSB0cnVlCiAgICAgICAgICAgICkgewogICAgICAgICAgICAgICAgJGNvbW1lbnRFbmQgPSAkdG9rZW5zWyRjb21tZW50RW5kXVsnYXR0cmlidXRlX29wZW5lciddOwogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KCiAgICAgICAgaWYgKCR0b2tlbnNbJGNvbW1lbnRFbmRdWydjb2RlJ10gPT09IFRfQ09NTUVOVCkgewogICAgICAgICAgICAvLyBJbmxpbmUgY29tbWVudHMgbWlnaHQganVzdCBiZSBjbG9zaW5nIGNvbW1lbnRzIGZvcgogICAgICAgICAgICAvLyBjb250cm9sIHN0cnVjdHVyZXMgb3IgZnVuY3Rpb25zIGluc3RlYWQgb2YgZnVuY3Rpb24gY29tbWVudHMKICAgICAgICAgICAgLy8gdXNpbmcgdGhlIHdyb25nIGNvbW1lbnQgdHlwZS4gSWYgdGhlcmUgaXMgb3RoZXIgY29kZSBvbiB0aGUgbGluZSwKICAgICAgICAgICAgLy8gYXNzdW1lIHRoZXkgcmVsYXRlIHRvIHRoYXQgY29kZS4KICAgICAgICAgICAgJHByZXYgPSAkcGhwY3NGaWxlLT5maW5kUHJldmlvdXMoJGlnbm9yZSwgKCRjb21tZW50RW5kIC0gMSksIG51bGwsIHRydWUpOwogICAgICAgICAgICBpZiAoJHByZXYgIT09IGZhbHNlICYmICR0b2tlbnNbJHByZXZdWydsaW5lJ10gPT09ICR0b2tlbnNbJGNvbW1lbnRFbmRdWydsaW5lJ10pIHsKICAgICAgICAgICAgICAgICRjb21tZW50RW5kID0gJHByZXY7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmICgkdG9rZW5zWyRjb21tZW50RW5kXVsnY29kZSddICE9PSBUX0RPQ19DT01NRU5UX0NMT1NFX1RBRwogICAgICAgICAgICAmJiAkdG9rZW5zWyRjb21tZW50RW5kXVsnY29kZSddICE9PSBUX0NPTU1FTlQKICAgICAgICApIHsKICAgICAgICAgICAgJGZ1bmN0aW9uID0gJHBocGNzRmlsZS0+Z2V0RGVjbGFyYXRpb25OYW1lKCRzdGFja1B0cik7CiAgICAgICAgICAgICRwaHBjc0ZpbGUtPmFkZEVycm9yKAogICAgICAgICAgICAgICAgJ01pc3NpbmcgZG9jIGNvbW1lbnQgZm9yIGZ1bmN0aW9uICVzKCknLAogICAgICAgICAgICAgICAgJHN0YWNrUHRyLAogICAgICAgICAgICAgICAgJ01pc3NpbmcnLAogICAgICAgICAgICAgICAgWyRmdW5jdGlvbl0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgJHBocGNzRmlsZS0+cmVjb3JkTWV0cmljKCRzdGFja1B0ciwgJ0Z1bmN0aW9uIGhhcyBkb2MgY29tbWVudCcsICdubycpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHBocGNzRmlsZS0+cmVjb3JkTWV0cmljKCRzdGFja1B0ciwgJ0Z1bmN0aW9uIGhhcyBkb2MgY29tbWVudCcsICd5ZXMnKTsKICAgICAgICB9CgogICAgICAgIGlmICgkdG9rZW5zWyRjb21tZW50RW5kXVsnY29kZSddID09PSBUX0NPTU1FTlQpIHsKICAgICAgICAgICAgJHBocGNzRmlsZS0+YWRkRXJyb3IoJ1lvdSBtdXN0IHVzZSAiLyoqIiBzdHlsZSBjb21tZW50cyBmb3IgYSBmdW5jdGlvbiBjb21tZW50JywgJHN0YWNrUHRyLCAnV3JvbmdTdHlsZScpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICBpZiAoJHRva2Vuc1skY29tbWVudEVuZF1bJ2xpbmUnXSAhPT0gKCR0b2tlbnNbJHN0YWNrUHRyXVsnbGluZSddIC0gMSkpIHsKICAgICAgICAgICAgZm9yICgkaSA9ICgkY29tbWVudEVuZCArIDEpOyAkaSA8ICRzdGFja1B0cjsgJGkrKykgewogICAgICAgICAgICAgICAgaWYgKCR0b2tlbnNbJGldWydjb2x1bW4nXSAhPT0gMSkgewogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmICgkdG9rZW5zWyRpXVsnY29kZSddID09PSBUX1dISVRFU1BBQ0UKICAgICAgICAgICAgICAgICAgICAmJiAkdG9rZW5zWyRpXVsnbGluZSddICE9PSAkdG9rZW5zWygkaSArIDEpXVsnbGluZSddCiAgICAgICAgICAgICAgICApIHsKICAgICAgICAgICAgICAgICAgICAkZXJyb3IgPSAnVGhlcmUgbXVzdCBiZSBubyBibGFuayBsaW5lcyBhZnRlciB0aGUgZnVuY3Rpb24gY29tbWVudCc7CiAgICAgICAgICAgICAgICAgICAgJHBocGNzRmlsZS0+YWRkRXJyb3IoJGVycm9yLCAkY29tbWVudEVuZCwgJ1NwYWNpbmdBZnRlcicpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAkY29tbWVudFN0YXJ0ID0gJHRva2Vuc1skY29tbWVudEVuZF1bJ2NvbW1lbnRfb3BlbmVyJ107CiAgICAgICAgZm9yZWFjaCAoJHRva2Vuc1skY29tbWVudFN0YXJ0XVsnY29tbWVudF90YWdzJ10gYXMgJHRhZykgewogICAgICAgICAgICBpZiAoJHRva2Vuc1skdGFnXVsnY29udGVudCddID09PSAnQHNlZScpIHsKICAgICAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgdGFnIGlzbid0IGVtcHR5LgogICAgICAgICAgICAgICAgJHN0cmluZyA9ICRwaHBjc0ZpbGUtPmZpbmROZXh0KFRfRE9DX0NPTU1FTlRfU1RSSU5HLCAkdGFnLCAkY29tbWVudEVuZCk7CiAgICAgICAgICAgICAgICBpZiAoJHN0cmluZyA9PT0gZmFsc2UgfHwgJHRva2Vuc1skc3RyaW5nXVsnbGluZSddICE9PSAkdG9rZW5zWyR0YWddWydsaW5lJ10pIHsKICAgICAgICAgICAgICAgICAgICAkZXJyb3IgPSAnQ29udGVudCBtaXNzaW5nIGZvciBAc2VlIHRhZyBpbiBmdW5jdGlvbiBjb21tZW50JzsKICAgICAgICAgICAgICAgICAgICAkcGhwY3NGaWxlLT5hZGRFcnJvcigkZXJyb3IsICR0YWcsICdFbXB0eVNlZXMnKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgJHRoaXMtPnByb2Nlc3NSZXR1cm4oJHBocGNzRmlsZSwgJHN0YWNrUHRyLCAkY29tbWVudFN0YXJ0KTsKICAgICAgICAkdGhpcy0+cHJvY2Vzc1Rocm93cygkcGhwY3NGaWxlLCAkc3RhY2tQdHIsICRjb21tZW50U3RhcnQpOwogICAgICAgICR0aGlzLT5wcm9jZXNzUGFyYW1zKCRwaHBjc0ZpbGUsICRzdGFja1B0ciwgJGNvbW1lbnRTdGFydCk7CgogICAgfS8vZW5kIHByb2Nlc3MoKQoKCiAgICAvKioKICAgICAqIFByb2Nlc3MgdGhlIHJldHVybiBjb21tZW50IG9mIHRoaXMgZnVuY3Rpb24gY29tbWVudC4KICAgICAqCiAgICAgKiBAcGFyYW0gXFBIUF9Db2RlU25pZmZlclxGaWxlc1xGaWxlICRwaHBjc0ZpbGUgICAgVGhlIGZpbGUgYmVpbmcgc2Nhbm5lZC4KICAgICAqIEBwYXJhbSBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgJHN0YWNrUHRyICAgICBUaGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgdG9rZW4KICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgc3RhY2sgcGFzc2VkIGluICR0b2tlbnMuCiAgICAgKiBAcGFyYW0gaW50ICAgICAgICAgICAgICAgICAgICAgICAgICRjb21tZW50U3RhcnQgVGhlIHBvc2l0aW9uIGluIHRoZSBzdGFjayB3aGVyZSB0aGUgY29tbWVudCBzdGFydGVkLgogICAgICoKICAgICAqIEByZXR1cm4gdm9pZAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gcHJvY2Vzc1JldHVybihGaWxlICRwaHBjc0ZpbGUsICRzdGFja1B0ciwgJGNvbW1lbnRTdGFydCkKICAgIHsKICAgICAgICAkdG9rZW5zID0gJHBocGNzRmlsZS0+Z2V0VG9rZW5zKCk7CgogICAgICAgIC8vIFNraXAgY29uc3RydWN0b3IgYW5kIGRlc3RydWN0b3IuCiAgICAgICAgJG1ldGhvZE5hbWUgICAgICA9ICRwaHBjc0ZpbGUtPmdldERlY2xhcmF0aW9uTmFtZSgkc3RhY2tQdHIpOwogICAgICAgICRpc1NwZWNpYWxNZXRob2QgPSBpbl9hcnJheSgkbWV0aG9kTmFtZSwgICR0aGlzLT5zcGVjaWFsTWV0aG9kcywgdHJ1ZSk7CgogICAgICAgICRyZXR1cm4gPSBudWxsOwogICAgICAgIGZvcmVhY2ggKCR0b2tlbnNbJGNvbW1lbnRTdGFydF1bJ2NvbW1lbnRfdGFncyddIGFzICR0YWcpIHsKICAgICAgICAgICAgaWYgKCR0b2tlbnNbJHRhZ11bJ2NvbnRlbnQnXSA9PT0gJ0ByZXR1cm4nKSB7CiAgICAgICAgICAgICAgICBpZiAoJHJldHVybiAhPT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAgICRlcnJvciA9ICdPbmx5IDEgQHJldHVybiB0YWcgaXMgYWxsb3dlZCBpbiBhIGZ1bmN0aW9uIGNvbW1lbnQnOwogICAgICAgICAgICAgICAgICAgICRwaHBjc0ZpbGUtPmFkZEVycm9yKCRlcnJvciwgJHRhZywgJ0R1cGxpY2F0ZVJldHVybicpOwogICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAkcmV0dXJuID0gJHRhZzsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKCRyZXR1cm4gIT09IG51bGwpIHsKICAgICAgICAgICAgJGNvbnRlbnQgPSAkdG9rZW5zWygkcmV0dXJuICsgMildWydjb250ZW50J107CiAgICAgICAgICAgIGlmIChlbXB0eSgkY29udGVudCkgPT09IHRydWUgfHwgJHRva2Vuc1soJHJldHVybiArIDIpXVsnY29kZSddICE9PSBUX0RPQ19DT01NRU5UX1NUUklORykgewogICAgICAgICAgICAgICAgJGVycm9yID0gJ1JldHVybiB0eXBlIG1pc3NpbmcgZm9yIEByZXR1cm4gdGFnIGluIGZ1bmN0aW9uIGNvbW1lbnQnOwogICAgICAgICAgICAgICAgJHBocGNzRmlsZS0+YWRkRXJyb3IoJGVycm9yLCAkcmV0dXJuLCAnTWlzc2luZ1JldHVyblR5cGUnKTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlmICgkaXNTcGVjaWFsTWV0aG9kID09PSB0cnVlKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRlcnJvciA9ICdNaXNzaW5nIEByZXR1cm4gdGFnIGluIGZ1bmN0aW9uIGNvbW1lbnQnOwogICAgICAgICAgICAkcGhwY3NGaWxlLT5hZGRFcnJvcigkZXJyb3IsICR0b2tlbnNbJGNvbW1lbnRTdGFydF1bJ2NvbW1lbnRfY2xvc2VyJ10sICdNaXNzaW5nUmV0dXJuJyk7CiAgICAgICAgfS8vZW5kIGlmCgogICAgfS8vZW5kIHByb2Nlc3NSZXR1cm4oKQoKCiAgICAvKioKICAgICAqIFByb2Nlc3MgYW55IHRocm93IHRhZ3MgdGhhdCB0aGlzIGZ1bmN0aW9uIGNvbW1lbnQgaGFzLgogICAgICoKICAgICAqIEBwYXJhbSBcUEhQX0NvZGVTbmlmZmVyXEZpbGVzXEZpbGUgJHBocGNzRmlsZSAgICBUaGUgZmlsZSBiZWluZyBzY2FubmVkLgogICAgICogQHBhcmFtIGludCAgICAgICAgICAgICAgICAgICAgICAgICAkc3RhY2tQdHIgICAgIFRoZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCB0b2tlbgogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBzdGFjayBwYXNzZWQgaW4gJHRva2Vucy4KICAgICAqIEBwYXJhbSBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbW1lbnRTdGFydCBUaGUgcG9zaXRpb24gaW4gdGhlIHN0YWNrIHdoZXJlIHRoZSBjb21tZW50IHN0YXJ0ZWQuCiAgICAgKgogICAgICogQHJldHVybiB2b2lkCiAgICAgKi8KICAgIHByb3RlY3RlZCBmdW5jdGlvbiBwcm9jZXNzVGhyb3dzKEZpbGUgJHBocGNzRmlsZSwgJHN0YWNrUHRyLCAkY29tbWVudFN0YXJ0KQogICAgewogICAgICAgICR0b2tlbnMgPSAkcGhwY3NGaWxlLT5nZXRUb2tlbnMoKTsKCiAgICAgICAgZm9yZWFjaCAoJHRva2Vuc1skY29tbWVudFN0YXJ0XVsnY29tbWVudF90YWdzJ10gYXMgJHRhZykgewogICAgICAgICAgICBpZiAoJHRva2Vuc1skdGFnXVsnY29udGVudCddICE9PSAnQHRocm93cycpIHsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkZXhjZXB0aW9uID0gbnVsbDsKICAgICAgICAgICAgaWYgKCR0b2tlbnNbKCR0YWcgKyAyKV1bJ2NvZGUnXSA9PT0gVF9ET0NfQ09NTUVOVF9TVFJJTkcpIHsKICAgICAgICAgICAgICAgICRtYXRjaGVzID0gW107CiAgICAgICAgICAgICAgICBwcmVnX21hdGNoKCcvKFteXHNdKykoPzpccysoLiopKT8vJywgJHRva2Vuc1soJHRhZyArIDIpXVsnY29udGVudCddLCAkbWF0Y2hlcyk7CiAgICAgICAgICAgICAgICAkZXhjZXB0aW9uID0gJG1hdGNoZXNbMV07CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICgkZXhjZXB0aW9uID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICAkZXJyb3IgPSAnRXhjZXB0aW9uIHR5cGUgbWlzc2luZyBmb3IgQHRocm93cyB0YWcgaW4gZnVuY3Rpb24gY29tbWVudCc7CiAgICAgICAgICAgICAgICAkcGhwY3NGaWxlLT5hZGRFcnJvcigkZXJyb3IsICR0YWcsICdJbnZhbGlkVGhyb3dzJyk7CiAgICAgICAgICAgIH0KICAgICAgICB9Ly9lbmQgZm9yZWFjaAoKICAgIH0vL2VuZCBwcm9jZXNzVGhyb3dzKCkKCgogICAgLyoqCiAgICAgKiBQcm9jZXNzIHRoZSBmdW5jdGlvbiBwYXJhbWV0ZXIgY29tbWVudHMuCiAgICAgKgogICAgICogQHBhcmFtIFxQSFBfQ29kZVNuaWZmZXJcRmlsZXNcRmlsZSAkcGhwY3NGaWxlICAgIFRoZSBmaWxlIGJlaW5nIHNjYW5uZWQuCiAgICAgKiBAcGFyYW0gaW50ICAgICAgICAgICAgICAgICAgICAgICAgICRzdGFja1B0ciAgICAgVGhlIHBvc2l0aW9uIG9mIHRoZSBjdXJyZW50IHRva2VuCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdGhlIHN0YWNrIHBhc3NlZCBpbiAkdG9rZW5zLgogICAgICogQHBhcmFtIGludCAgICAgICAgICAgICAgICAgICAgICAgICAkY29tbWVudFN0YXJ0IFRoZSBwb3NpdGlvbiBpbiB0aGUgc3RhY2sgd2hlcmUgdGhlIGNvbW1lbnQgc3RhcnRlZC4KICAgICAqCiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIHByb2Nlc3NQYXJhbXMoRmlsZSAkcGhwY3NGaWxlLCAkc3RhY2tQdHIsICRjb21tZW50U3RhcnQpCiAgICB7CiAgICAgICAgJHRva2VucyA9ICRwaHBjc0ZpbGUtPmdldFRva2VucygpOwoKICAgICAgICAkcGFyYW1zICA9IFtdOwogICAgICAgICRtYXhUeXBlID0gMDsKICAgICAgICAkbWF4VmFyICA9IDA7CiAgICAgICAgZm9yZWFjaCAoJHRva2Vuc1skY29tbWVudFN0YXJ0XVsnY29tbWVudF90YWdzJ10gYXMgJHBvcyA9PiAkdGFnKSB7CiAgICAgICAgICAgIGlmICgkdG9rZW5zWyR0YWddWydjb250ZW50J10gIT09ICdAcGFyYW0nKSB7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJHR5cGUgICAgICAgICAgPSAnJzsKICAgICAgICAgICAgJHR5cGVTcGFjZSAgICAgPSAwOwogICAgICAgICAgICAkdmFyICAgICAgICAgICA9ICcnOwogICAgICAgICAgICAkdmFyU3BhY2UgICAgICA9IDA7CiAgICAgICAgICAgICRjb21tZW50ICAgICAgID0gJyc7CiAgICAgICAgICAgICRjb21tZW50RW5kICAgID0gMDsKICAgICAgICAgICAgJGNvbW1lbnRUb2tlbnMgPSBbXTsKCiAgICAgICAgICAgIGlmICgkdG9rZW5zWygkdGFnICsgMildWydjb2RlJ10gPT09IFRfRE9DX0NPTU1FTlRfU1RSSU5HKSB7CiAgICAgICAgICAgICAgICAkbWF0Y2hlcyA9IFtdOwogICAgICAgICAgICAgICAgcHJlZ19tYXRjaCgnLygoPzooPyFbJC5dfCYoPz1cJCkpLikqKSg/OigoPzpcLlwuXC4pPyg/OlwkfCYpW15cc10rKSg/OihccyspKC4qKSk/KT8vJywgJHRva2Vuc1soJHRhZyArIDIpXVsnY29udGVudCddLCAkbWF0Y2hlcyk7CgogICAgICAgICAgICAgICAgaWYgKGVtcHR5KCRtYXRjaGVzKSA9PT0gZmFsc2UpIHsKICAgICAgICAgICAgICAgICAgICAkdHlwZUxlbiAgID0gc3RybGVuKCRtYXRjaGVzWzFdKTsKICAgICAgICAgICAgICAgICAgICAkdHlwZSAgICAgID0gdHJpbSgkbWF0Y2hlc1sxXSk7CiAgICAgICAgICAgICAgICAgICAgJHR5cGVTcGFjZSA9ICgkdHlwZUxlbiAtIHN0cmxlbigkdHlwZSkpOwogICAgICAgICAgICAgICAgICAgICR0eXBlTGVuICAgPSBzdHJsZW4oJHR5cGUpOwogICAgICAgICAgICAgICAgICAgIGlmICgkdHlwZUxlbiA+ICRtYXhUeXBlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRtYXhUeXBlID0gJHR5cGVMZW47CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChpc3NldCgkbWF0Y2hlc1syXSkgPT09IHRydWUpIHsKICAgICAgICAgICAgICAgICAgICAkdmFyICAgID0gJG1hdGNoZXNbMl07CiAgICAgICAgICAgICAgICAgICAgJHZhckxlbiA9IHN0cmxlbigkdmFyKTsKICAgICAgICAgICAgICAgICAgICBpZiAoJHZhckxlbiA+ICRtYXhWYXIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJG1heFZhciA9ICR2YXJMZW47CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJG1hdGNoZXNbNF0pID09PSB0cnVlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICR2YXJTcGFjZSA9IHN0cmxlbigkbWF0Y2hlc1szXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICRjb21tZW50ICA9ICRtYXRjaGVzWzRdOwoKICAgICAgICAgICAgICAgICAgICAgICAgLy8gQW55IHN0cmluZ3MgdW50aWwgdGhlIG5leHQgdGFnIGJlbG9uZyB0byB0aGlzIGNvbW1lbnQuCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc3NldCgkdG9rZW5zWyRjb21tZW50U3RhcnRdWydjb21tZW50X3RhZ3MnXVsoJHBvcyArIDEpXSkgPT09IHRydWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRlbmQgPSAkdG9rZW5zWyRjb21tZW50U3RhcnRdWydjb21tZW50X3RhZ3MnXVsoJHBvcyArIDEpXTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRlbmQgPSAkdG9rZW5zWyRjb21tZW50U3RhcnRdWydjb21tZW50X2Nsb3NlciddOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKCRpID0gKCR0YWcgKyAzKTsgJGkgPCAkZW5kOyAkaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHRva2Vuc1skaV1bJ2NvZGUnXSA9PT0gVF9ET0NfQ09NTUVOVF9TVFJJTkcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29tbWVudCAgICAgICAgLj0gJyAnLiR0b2tlbnNbJGldWydjb250ZW50J107CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbW1lbnRFbmQgICAgICA9ICRpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb21tZW50VG9rZW5zW10gPSAkaTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRlcnJvciA9ICdNaXNzaW5nIHBhcmFtZXRlciBjb21tZW50JzsKICAgICAgICAgICAgICAgICAgICAgICAgJHBocGNzRmlsZS0+YWRkRXJyb3IoJGVycm9yLCAkdGFnLCAnTWlzc2luZ1BhcmFtQ29tbWVudCcpOwogICAgICAgICAgICAgICAgICAgIH0vL2VuZCBpZgogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkZXJyb3IgPSAnTWlzc2luZyBwYXJhbWV0ZXIgbmFtZSc7CiAgICAgICAgICAgICAgICAgICAgJHBocGNzRmlsZS0+YWRkRXJyb3IoJGVycm9yLCAkdGFnLCAnTWlzc2luZ1BhcmFtTmFtZScpOwogICAgICAgICAgICAgICAgfS8vZW5kIGlmCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZXJyb3IgPSAnTWlzc2luZyBwYXJhbWV0ZXIgdHlwZSc7CiAgICAgICAgICAgICAgICAkcGhwY3NGaWxlLT5hZGRFcnJvcigkZXJyb3IsICR0YWcsICdNaXNzaW5nUGFyYW1UeXBlJyk7CiAgICAgICAgICAgIH0vL2VuZCBpZgoKICAgICAgICAgICAgJHBhcmFtc1tdID0gWwogICAgICAgICAgICAgICAgJ3RhZycgICAgICAgICAgICA9PiAkdGFnLAogICAgICAgICAgICAgICAgJ3R5cGUnICAgICAgICAgICA9PiAkdHlwZSwKICAgICAgICAgICAgICAgICd2YXInICAgICAgICAgICAgPT4gJHZhciwKICAgICAgICAgICAgICAgICdjb21tZW50JyAgICAgICAgPT4gJGNvbW1lbnQsCiAgICAgICAgICAgICAgICAnY29tbWVudF9lbmQnICAgID0+ICRjb21tZW50RW5kLAogICAgICAgICAgICAgICAgJ2NvbW1lbnRfdG9rZW5zJyA9PiAkY29tbWVudFRva2VucywKICAgICAgICAgICAgICAgICd0eXBlX3NwYWNlJyAgICAgPT4gJHR5cGVTcGFjZSwKICAgICAgICAgICAgICAgICd2YXJfc3BhY2UnICAgICAgPT4gJHZhclNwYWNlLAogICAgICAgICAgICBdOwogICAgICAgIH0vL2VuZCBmb3JlYWNoCgogICAgICAgICRyZWFsUGFyYW1zICA9ICRwaHBjc0ZpbGUtPmdldE1ldGhvZFBhcmFtZXRlcnMoJHN0YWNrUHRyKTsKICAgICAgICAkZm91bmRQYXJhbXMgPSBbXTsKCiAgICAgICAgLy8gV2Ugd2FudCB0byB1c2UgLi4uIGZvciBhbGwgdmFyaWFibGUgbGVuZ3RoIGFyZ3VtZW50cywgc28gYWRkCiAgICAgICAgLy8gdGhpcyBwcmVmaXggdG8gdGhlIHZhcmlhYmxlIG5hbWUgc28gY29tcGFyaXNvbnMgYXJlIGVhc2llci4KICAgICAgICBmb3JlYWNoICgkcmVhbFBhcmFtcyBhcyAkcG9zID0+ICRwYXJhbSkgewogICAgICAgICAgICBpZiAoJHBhcmFtWyd2YXJpYWJsZV9sZW5ndGgnXSA9PT0gdHJ1ZSkgewogICAgICAgICAgICAgICAgJHJlYWxQYXJhbXNbJHBvc11bJ25hbWUnXSA9ICcuLi4nLiRyZWFsUGFyYW1zWyRwb3NdWyduYW1lJ107CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZvcmVhY2ggKCRwYXJhbXMgYXMgJHBvcyA9PiAkcGFyYW0pIHsKICAgICAgICAgICAgaWYgKCRwYXJhbVsndmFyJ10gPT09ICcnKSB7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJGZvdW5kUGFyYW1zW10gPSAkcGFyYW1bJ3ZhciddOwoKICAgICAgICAgICAgaWYgKHRyaW0oJHBhcmFtWyd0eXBlJ10pICE9PSAnJykgewogICAgICAgICAgICAgICAgLy8gQ2hlY2sgbnVtYmVyIG9mIHNwYWNlcyBhZnRlciB0aGUgdHlwZS4KICAgICAgICAgICAgICAgICRzcGFjZXMgPSAoJG1heFR5cGUgLSBzdHJsZW4oJHBhcmFtWyd0eXBlJ10pICsgMSk7CiAgICAgICAgICAgICAgICBpZiAoJHBhcmFtWyd0eXBlX3NwYWNlJ10gIT09ICRzcGFjZXMpIHsKICAgICAgICAgICAgICAgICAgICAkZXJyb3IgPSAnRXhwZWN0ZWQgJXMgc3BhY2VzIGFmdGVyIHBhcmFtZXRlciB0eXBlOyAlcyBmb3VuZCc7CiAgICAgICAgICAgICAgICAgICAgJGRhdGEgID0gWwogICAgICAgICAgICAgICAgICAgICAgICAkc3BhY2VzLAogICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1bJ3R5cGVfc3BhY2UnXSwKICAgICAgICAgICAgICAgICAgICBdOwoKICAgICAgICAgICAgICAgICAgICAkZml4ID0gJHBocGNzRmlsZS0+YWRkRml4YWJsZUVycm9yKCRlcnJvciwgJHBhcmFtWyd0YWcnXSwgJ1NwYWNpbmdBZnRlclBhcmFtVHlwZScsICRkYXRhKTsKICAgICAgICAgICAgICAgICAgICBpZiAoJGZpeCA9PT0gdHJ1ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAkY29tbWVudFRva2VuID0gKCRwYXJhbVsndGFnJ10gKyAyKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICRjb250ZW50ICA9ICRwYXJhbVsndHlwZSddOwogICAgICAgICAgICAgICAgICAgICAgICAkY29udGVudCAuPSBzdHJfcmVwZWF0KCcgJywgJHNwYWNlcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICRjb250ZW50IC49ICRwYXJhbVsndmFyJ107CiAgICAgICAgICAgICAgICAgICAgICAgICRjb250ZW50IC49IHN0cl9yZXBlYXQoJyAnLCAkcGFyYW1bJ3Zhcl9zcGFjZSddKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICR3cmFwTGVuZ3RoID0gKCR0b2tlbnNbJGNvbW1lbnRUb2tlbl1bJ2xlbmd0aCddIC0gJHBhcmFtWyd0eXBlX3NwYWNlJ10gLSAkcGFyYW1bJ3Zhcl9zcGFjZSddIC0gc3RybGVuKCRwYXJhbVsndHlwZSddKSAtIHN0cmxlbigkcGFyYW1bJ3ZhciddKSk7CgogICAgICAgICAgICAgICAgICAgICAgICAkc3RhciAgICAgICAgPSAkcGhwY3NGaWxlLT5maW5kUHJldmlvdXMoVF9ET0NfQ09NTUVOVF9TVEFSLCAkcGFyYW1bJ3RhZyddKTsKICAgICAgICAgICAgICAgICAgICAgICAgJHNwYWNlTGVuZ3RoID0gKHN0cmxlbigkY29udGVudCkgKyAkdG9rZW5zWygkY29tbWVudFRva2VuIC0gMSldWydsZW5ndGgnXSArICR0b2tlbnNbKCRjb21tZW50VG9rZW4gLSAyKV1bJ2xlbmd0aCddKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICRwYWRkaW5nICA9IHN0cl9yZXBlYXQoJyAnLCAoJHRva2Vuc1skc3Rhcl1bJ2NvbHVtbiddIC0gMSkpOwogICAgICAgICAgICAgICAgICAgICAgICAkcGFkZGluZyAuPSAnKiAnOwogICAgICAgICAgICAgICAgICAgICAgICAkcGFkZGluZyAuPSBzdHJfcmVwZWF0KCcgJywgJHNwYWNlTGVuZ3RoKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICRjb250ZW50IC49IHdvcmR3cmFwKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhcmFtWydjb21tZW50J10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd3JhcExlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwaHBjc0ZpbGUtPmVvbENoYXIuJHBhZGRpbmcKICAgICAgICAgICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICRwaHBjc0ZpbGUtPmZpeGVyLT5yZXBsYWNlVG9rZW4oJGNvbW1lbnRUb2tlbiwgJGNvbnRlbnQpOwogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKCRpID0gKCRjb21tZW50VG9rZW4gKyAxKTsgJGkgPD0gJHBhcmFtWydjb21tZW50X2VuZCddOyAkaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGhwY3NGaWxlLT5maXhlci0+cmVwbGFjZVRva2VuKCRpLCAnJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9Ly9lbmQgaWYKICAgICAgICAgICAgICAgIH0vL2VuZCBpZgogICAgICAgICAgICB9Ly9lbmQgaWYKCiAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgcGFyYW0gbmFtZSBpcyBjb3JyZWN0LgogICAgICAgICAgICBpZiAoaXNzZXQoJHJlYWxQYXJhbXNbJHBvc10pID09PSB0cnVlKSB7CiAgICAgICAgICAgICAgICAkcmVhbE5hbWUgPSAkcmVhbFBhcmFtc1skcG9zXVsnbmFtZSddOwogICAgICAgICAgICAgICAgaWYgKCRyZWFsTmFtZSAhPT0gJHBhcmFtWyd2YXInXSkgewogICAgICAgICAgICAgICAgICAgICRjb2RlID0gJ1BhcmFtTmFtZU5vTWF0Y2gnOwogICAgICAgICAgICAgICAgICAgICRkYXRhID0gWwogICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1bJ3ZhciddLAogICAgICAgICAgICAgICAgICAgICAgICAkcmVhbE5hbWUsCiAgICAgICAgICAgICAgICAgICAgXTsKCiAgICAgICAgICAgICAgICAgICAgJGVycm9yID0gJ0RvYyBjb21tZW50IGZvciBwYXJhbWV0ZXIgJXMgZG9lcyBub3QgbWF0Y2ggJzsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RydG9sb3dlcigkcGFyYW1bJ3ZhciddKSA9PT0gc3RydG9sb3dlcigkcmVhbE5hbWUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRlcnJvciAuPSAnY2FzZSBvZiAnOwogICAgICAgICAgICAgICAgICAgICAgICAkY29kZSAgID0gJ1BhcmFtTmFtZU5vQ2FzZU1hdGNoJzsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICRlcnJvciAuPSAnYWN0dWFsIHZhcmlhYmxlIG5hbWUgJXMnOwoKICAgICAgICAgICAgICAgICAgICAkcGhwY3NGaWxlLT5hZGRFcnJvcigkZXJyb3IsICRwYXJhbVsndGFnJ10sICRjb2RlLCAkZGF0YSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSBpZiAoc3Vic3RyKCRwYXJhbVsndmFyJ10sIC00KSAhPT0gJywuLi4nKSB7CiAgICAgICAgICAgICAgICAvLyBXZSBtdXN0IGhhdmUgYW4gZXh0cmEgcGFyYW1ldGVyIGNvbW1lbnQuCiAgICAgICAgICAgICAgICAkZXJyb3IgPSAnU3VwZXJmbHVvdXMgcGFyYW1ldGVyIGNvbW1lbnQnOwogICAgICAgICAgICAgICAgJHBocGNzRmlsZS0+YWRkRXJyb3IoJGVycm9yLCAkcGFyYW1bJ3RhZyddLCAnRXh0cmFQYXJhbUNvbW1lbnQnKTsKICAgICAgICAgICAgfS8vZW5kIGlmCgogICAgICAgICAgICBpZiAoJHBhcmFtWydjb21tZW50J10gPT09ICcnKSB7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gQ2hlY2sgbnVtYmVyIG9mIHNwYWNlcyBhZnRlciB0aGUgcGFyYW0gbmFtZS4KICAgICAgICAgICAgJHNwYWNlcyA9ICgkbWF4VmFyIC0gc3RybGVuKCRwYXJhbVsndmFyJ10pICsgMSk7CiAgICAgICAgICAgIGlmICgkcGFyYW1bJ3Zhcl9zcGFjZSddICE9PSAkc3BhY2VzKSB7CiAgICAgICAgICAgICAgICAkZXJyb3IgPSAnRXhwZWN0ZWQgJXMgc3BhY2VzIGFmdGVyIHBhcmFtZXRlciBuYW1lOyAlcyBmb3VuZCc7CiAgICAgICAgICAgICAgICAkZGF0YSAgPSBbCiAgICAgICAgICAgICAgICAgICAgJHNwYWNlcywKICAgICAgICAgICAgICAgICAgICAkcGFyYW1bJ3Zhcl9zcGFjZSddLAogICAgICAgICAgICAgICAgXTsKCiAgICAgICAgICAgICAgICAkZml4ID0gJHBocGNzRmlsZS0+YWRkRml4YWJsZUVycm9yKCRlcnJvciwgJHBhcmFtWyd0YWcnXSwgJ1NwYWNpbmdBZnRlclBhcmFtTmFtZScsICRkYXRhKTsKICAgICAgICAgICAgICAgIGlmICgkZml4ID09PSB0cnVlKSB7CiAgICAgICAgICAgICAgICAgICAgJGNvbW1lbnRUb2tlbiA9ICgkcGFyYW1bJ3RhZyddICsgMik7CgogICAgICAgICAgICAgICAgICAgICRjb250ZW50ICA9ICRwYXJhbVsndHlwZSddOwogICAgICAgICAgICAgICAgICAgICRjb250ZW50IC49IHN0cl9yZXBlYXQoJyAnLCAkcGFyYW1bJ3R5cGVfc3BhY2UnXSk7CiAgICAgICAgICAgICAgICAgICAgJGNvbnRlbnQgLj0gJHBhcmFtWyd2YXInXTsKICAgICAgICAgICAgICAgICAgICAkY29udGVudCAuPSBzdHJfcmVwZWF0KCcgJywgJHNwYWNlcyk7CgogICAgICAgICAgICAgICAgICAgICR3cmFwTGVuZ3RoID0gKCR0b2tlbnNbJGNvbW1lbnRUb2tlbl1bJ2xlbmd0aCddIC0gJHBhcmFtWyd0eXBlX3NwYWNlJ10gLSAkcGFyYW1bJ3Zhcl9zcGFjZSddIC0gc3RybGVuKCRwYXJhbVsndHlwZSddKSAtIHN0cmxlbigkcGFyYW1bJ3ZhciddKSk7CgogICAgICAgICAgICAgICAgICAgICRzdGFyICAgICAgICA9ICRwaHBjc0ZpbGUtPmZpbmRQcmV2aW91cyhUX0RPQ19DT01NRU5UX1NUQVIsICRwYXJhbVsndGFnJ10pOwogICAgICAgICAgICAgICAgICAgICRzcGFjZUxlbmd0aCA9IChzdHJsZW4oJGNvbnRlbnQpICsgJHRva2Vuc1soJGNvbW1lbnRUb2tlbiAtIDEpXVsnbGVuZ3RoJ10gKyAkdG9rZW5zWygkY29tbWVudFRva2VuIC0gMildWydsZW5ndGgnXSk7CgogICAgICAgICAgICAgICAgICAgICRwYWRkaW5nICA9IHN0cl9yZXBlYXQoJyAnLCAoJHRva2Vuc1skc3Rhcl1bJ2NvbHVtbiddIC0gMSkpOwogICAgICAgICAgICAgICAgICAgICRwYWRkaW5nIC49ICcqICc7CiAgICAgICAgICAgICAgICAgICAgJHBhZGRpbmcgLj0gc3RyX3JlcGVhdCgnICcsICRzcGFjZUxlbmd0aCk7CgogICAgICAgICAgICAgICAgICAgICRjb250ZW50IC49IHdvcmR3cmFwKAogICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1bJ2NvbW1lbnQnXSwKICAgICAgICAgICAgICAgICAgICAgICAgJHdyYXBMZW5ndGgsCiAgICAgICAgICAgICAgICAgICAgICAgICRwaHBjc0ZpbGUtPmVvbENoYXIuJHBhZGRpbmcKICAgICAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgICAgICAgICAkcGhwY3NGaWxlLT5maXhlci0+cmVwbGFjZVRva2VuKCRjb21tZW50VG9rZW4sICRjb250ZW50KTsKICAgICAgICAgICAgICAgICAgICBmb3IgKCRpID0gKCRjb21tZW50VG9rZW4gKyAxKTsgJGkgPD0gJHBhcmFtWydjb21tZW50X2VuZCddOyAkaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRwaHBjc0ZpbGUtPmZpeGVyLT5yZXBsYWNlVG9rZW4oJGksICcnKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9Ly9lbmQgaWYKICAgICAgICAgICAgfS8vZW5kIGlmCgogICAgICAgICAgICAvLyBDaGVjayB0aGUgYWxpZ25tZW50IG9mIG11bHRpLWxpbmUgcGFyYW0gY29tbWVudHMuCiAgICAgICAgICAgIGlmICgkcGFyYW1bJ3RhZyddICE9PSAkcGFyYW1bJ2NvbW1lbnRfZW5kJ10pIHsKICAgICAgICAgICAgICAgICR3cmFwTGVuZ3RoID0gKCR0b2tlbnNbKCRwYXJhbVsndGFnJ10gKyAyKV1bJ2xlbmd0aCddIC0gJHBhcmFtWyd0eXBlX3NwYWNlJ10gLSAkcGFyYW1bJ3Zhcl9zcGFjZSddIC0gc3RybGVuKCRwYXJhbVsndHlwZSddKSAtIHN0cmxlbigkcGFyYW1bJ3ZhciddKSk7CgogICAgICAgICAgICAgICAgJHN0YXJ0Q29sdW1uID0gKCR0b2tlbnNbKCRwYXJhbVsndGFnJ10gKyAyKV1bJ2NvbHVtbiddICsgJHRva2Vuc1soJHBhcmFtWyd0YWcnXSArIDIpXVsnbGVuZ3RoJ10gLSAkd3JhcExlbmd0aCk7CgogICAgICAgICAgICAgICAgJHN0YXIgICAgID0gJHBocGNzRmlsZS0+ZmluZFByZXZpb3VzKFRfRE9DX0NPTU1FTlRfU1RBUiwgJHBhcmFtWyd0YWcnXSk7CiAgICAgICAgICAgICAgICAkZXhwZWN0ZWQgPSAoJHN0YXJ0Q29sdW1uIC0gJHRva2Vuc1skc3Rhcl1bJ2NvbHVtbiddIC0gMSk7CgogICAgICAgICAgICAgICAgZm9yZWFjaCAoJHBhcmFtWydjb21tZW50X3Rva2VucyddIGFzICRjb21tZW50VG9rZW4pIHsKICAgICAgICAgICAgICAgICAgICBpZiAoJHRva2Vuc1skY29tbWVudFRva2VuXVsnY29sdW1uJ10gPT09ICRzdGFydENvbHVtbikgewogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICRmb3VuZCA9IDA7CiAgICAgICAgICAgICAgICAgICAgaWYgKCR0b2tlbnNbKCRjb21tZW50VG9rZW4gLSAxKV1bJ2NvZGUnXSA9PT0gVF9ET0NfQ09NTUVOVF9XSElURVNQQUNFKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRmb3VuZCA9ICR0b2tlbnNbKCRjb21tZW50VG9rZW4gLSAxKV1bJ2xlbmd0aCddOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgJGVycm9yID0gJ1BhcmFtZXRlciBjb21tZW50IG5vdCBhbGlnbmVkIGNvcnJlY3RseTsgZXhwZWN0ZWQgJXMgc3BhY2VzIGJ1dCBmb3VuZCAlcyc7CiAgICAgICAgICAgICAgICAgICAgJGRhdGEgID0gWwogICAgICAgICAgICAgICAgICAgICAgICAkZXhwZWN0ZWQsCiAgICAgICAgICAgICAgICAgICAgICAgICRmb3VuZCwKICAgICAgICAgICAgICAgICAgICBdOwoKICAgICAgICAgICAgICAgICAgICBpZiAoJGZvdW5kIDwgJGV4cGVjdGVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRjb2RlID0gJ1BhcmFtQ29tbWVudEFsaWdubWVudCc7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGNvZGUgPSAnUGFyYW1Db21tZW50QWxpZ25tZW50RXhjZWVkZWQnOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgJGZpeCA9ICRwaHBjc0ZpbGUtPmFkZEZpeGFibGVFcnJvcigkZXJyb3IsICRjb21tZW50VG9rZW4sICRjb2RlLCAkZGF0YSk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCRmaXggPT09IHRydWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHBhZGRpbmcgPSBzdHJfcmVwZWF0KCcgJywgJGV4cGVjdGVkKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCR0b2tlbnNbKCRjb21tZW50VG9rZW4gLSAxKV1bJ2NvZGUnXSA9PT0gVF9ET0NfQ09NTUVOVF9XSElURVNQQUNFKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGhwY3NGaWxlLT5maXhlci0+cmVwbGFjZVRva2VuKCgkY29tbWVudFRva2VuIC0gMSksICRwYWRkaW5nKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwaHBjc0ZpbGUtPmZpeGVyLT5hZGRDb250ZW50QmVmb3JlKCRjb21tZW50VG9rZW4sICRwYWRkaW5nKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0vL2VuZCBmb3JlYWNoCiAgICAgICAgICAgIH0vL2VuZCBpZgogICAgICAgIH0vL2VuZCBmb3JlYWNoCgogICAgICAgICRyZWFsTmFtZXMgPSBbXTsKICAgICAgICBmb3JlYWNoICgkcmVhbFBhcmFtcyBhcyAkcmVhbFBhcmFtKSB7CiAgICAgICAgICAgICRyZWFsTmFtZXNbXSA9ICRyZWFsUGFyYW1bJ25hbWUnXTsKICAgICAgICB9CgogICAgICAgIC8vIFJlcG9ydCBtaXNzaW5nIGNvbW1lbnRzLgogICAgICAgICRkaWZmID0gYXJyYXlfZGlmZigkcmVhbE5hbWVzLCAkZm91bmRQYXJhbXMpOwogICAgICAgIGZvcmVhY2ggKCRkaWZmIGFzICRuZWVkZWRQYXJhbSkgewogICAgICAgICAgICAkZXJyb3IgPSAnRG9jIGNvbW1lbnQgZm9yIHBhcmFtZXRlciAiJXMiIG1pc3NpbmcnOwogICAgICAgICAgICAkZGF0YSAgPSBbJG5lZWRlZFBhcmFtXTsKICAgICAgICAgICAgJHBocGNzRmlsZS0+YWRkRXJyb3IoJGVycm9yLCAkY29tbWVudFN0YXJ0LCAnTWlzc2luZ1BhcmFtVGFnJywgJGRhdGEpOwogICAgICAgIH0KCiAgICB9Ly9lbmQgcHJvY2Vzc1BhcmFtcygpCgoKfS8vZW5kIGNsYXNzCiI7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lc3BhY2VzIjthOjE6e3M6NDk6IlxQSFBfQ29kZVNuaWZmZXJcU3RhbmRhcmRzXFBFQVJcU25pZmZzXENvbW1lbnRpbmciO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0OToiXFBIUF9Db2RlU25pZmZlclxTdGFuZGFyZHNcUEVBUlxTbmlmZnNcQ29tbWVudGluZyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEwOiJDb21tZW50aW5nIjt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW5jbHVkZXMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZnVuY3Rpb25zIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNvbnN0YW50cyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjbGFzc2VzIjthOjE6e3M6NzA6IlxQSFBfQ29kZVNuaWZmZXJcU3RhbmRhcmRzXFBFQVJcU25pZmZzXENvbW1lbnRpbmdcRnVuY3Rpb25Db21tZW50U25pZmYiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIjoxMzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NzA6IlxQSFBfQ29kZVNuaWZmZXJcU3RhbmRhcmRzXFBFQVJcU25pZmZzXENvbW1lbnRpbmdcRnVuY3Rpb25Db21tZW50U25pZmYiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMDoiRnVuY3Rpb25Db21tZW50U25pZmYiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZG9jQmxvY2siO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHBhcmVudCI7TjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AaW1wbGVtZW50cyI7YToxOntzOjI5OiJcUEhQX0NvZGVTbmlmZmVyXFNuaWZmc1xTbmlmZiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI5OiJcUEhQX0NvZGVTbmlmZmVyXFNuaWZmc1xTbmlmZiI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjU6IlNuaWZmIjt9fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBjb25zdGFudHMiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBwcm9wZXJ0aWVzIjthOjI6e3M6OTA6IlxQSFBfQ29kZVNuaWZmZXJcU3RhbmRhcmRzXFBFQVJcU25pZmZzXENvbW1lbnRpbmdcRnVuY3Rpb25Db21tZW50U25pZmY6OiRtaW5pbXVtVmlzaWJpbGl0eSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6MTE6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6OTA6IlxQSFBfQ29kZVNuaWZmZXJcU3RhbmRhcmRzXFBFQVJcU25pZmZzXENvbW1lbnRpbmdcRnVuY3Rpb25Db21tZW50U25pZmY6OiRtaW5pbXVtVmlzaWJpbGl0eSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE3OiJtaW5pbXVtVmlzaWJpbGl0eSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo3NzoiRGlzYWJsZSB0aGUgY2hlY2sgZm9yIGZ1bmN0aW9ucyB3aXRoIGEgbG93ZXIgdmlzaWJpbGl0eSB0aGFuIHRoZSB2YWx1ZSBnaXZlbi4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NTA6IkFsbG93ZWQgdmFsdWVzIGFyZSBwdWJsaWMsIHByb3RlY3RlZCwgYW5kIHByaXZhdGUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czo0ODoiUEhQX0NvZGVTbmlmZmVyXFN0YW5kYXJkc1xQRUFSXFNuaWZmc1xDb21tZW50aW5nIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTozOntzOjQ6IkZpbGUiO3M6MjY6IlBIUF9Db2RlU25pZmZlclxGaWxlc1xGaWxlIjtzOjU6IlNuaWZmIjtzOjI4OiJQSFBfQ29kZVNuaWZmZXJcU25pZmZzXFNuaWZmIjtzOjY6IlRva2VucyI7czoyNzoiUEhQX0NvZGVTbmlmZmVyXFV0aWxcVG9rZW5zIjt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO3M6OToiJ3ByaXZhdGUnIjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAcmVhZE9ubHkiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBtZXRhZGF0YSI7YTowOnt9fXM6ODc6IlxQSFBfQ29kZVNuaWZmZXJcU3RhbmRhcmRzXFBFQVJcU25pZmZzXENvbW1lbnRpbmdcRnVuY3Rpb25Db21tZW50U25pZmY6OiRzcGVjaWFsTWV0aG9kcyI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6MTE6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6ODc6IlxQSFBfQ29kZVNuaWZmZXJcU3RhbmRhcmRzXFBFQVJcU25pZmZzXENvbW1lbnRpbmdcRnVuY3Rpb25Db21tZW50U25pZmY6OiRzcGVjaWFsTWV0aG9kcyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE0OiJzcGVjaWFsTWV0aG9kcyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo1MjoiQXJyYXkgb2YgbWV0aG9kcyB3aGljaCBkbyBub3QgcmVxdWlyZSBhIHJldHVybiB0eXBlLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtyOjcyO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO3M6Mjk6IlsnX19jb25zdHJ1Y3QnLCAnX19kZXN0cnVjdCddIjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjM2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAcmVhZE9ubHkiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBtZXRhZGF0YSI7YTowOnt9fX1zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AbWV0aG9kcyI7YTo1OntzOjgyOiJcUEhQX0NvZGVTbmlmZmVyXFN0YW5kYXJkc1xQRUFSXFNuaWZmc1xDb21tZW50aW5nXEZ1bmN0aW9uQ29tbWVudFNuaWZmOjpyZWdpc3RlcigpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NTc6IlJldHVybnMgYW4gYXJyYXkgb2YgdG9rZW5zIHRoaXMgdGVzdCB3YW50cyB0byBsaXN0ZW4gZm9yLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtyOjcyO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6ODI6IlxQSFBfQ29kZVNuaWZmZXJcU3RhbmRhcmRzXFBFQVJcU25pZmZzXENvbW1lbnRpbmdcRnVuY3Rpb25Db21tZW50U25pZmY6OnJlZ2lzdGVyKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo4OiJyZWdpc3RlciI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo0NDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQ4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGhhc1JldHVybkJ5UmVmZXJlbmNlIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAG1ldGFkYXRhIjthOjA6e319czo4MToiXFBIUF9Db2RlU25pZmZlclxTdGFuZGFyZHNcUEVBUlxTbmlmZnNcQ29tbWVudGluZ1xGdW5jdGlvbkNvbW1lbnRTbmlmZjo6cHJvY2VzcygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6MTI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NTk6IlByb2Nlc3NlcyB0aGlzIHRlc3QsIHdoZW4gb25lIG9mIGl0cyB0b2tlbnMgaXMgZW5jb3VudGVyZWQuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjM6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo5OiJwaHBjc0ZpbGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mjc6IlxQSFBfQ29kZVNuaWZmZXJcRmlsZXNcRmlsZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjQ6IkZpbGUiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyMzoiVGhlIGZpbGUgYmVpbmcgc2Nhbm5lZC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6ODoic3RhY2tQdHIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NjU6IlRoZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCB0b2tlbgppbiB0aGUgc3RhY2sgcGFzc2VkIGluICR0b2tlbnMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozNjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFZvaWRfIjowOnt9czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjo3MjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjgxOiJcUEhQX0NvZGVTbmlmZmVyXFN0YW5kYXJkc1xQRUFSXFNuaWZmc1xDb21tZW50aW5nXEZ1bmN0aW9uQ29tbWVudFNuaWZmOjpwcm9jZXNzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo3OiJwcm9jZXNzIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjI6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjk6InBocGNzRmlsZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI3OiJcUEhQX0NvZGVTbmlmZmVyXEZpbGVzXEZpbGUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo0OiJGaWxlIjt9fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjg6InN0YWNrUHRyIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNTQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fX1zOjg3OiJcUEhQX0NvZGVTbmlmZmVyXFN0YW5kYXJkc1xQRUFSXFNuaWZmc1xDb21tZW50aW5nXEZ1bmN0aW9uQ29tbWVudFNuaWZmOjpwcm9jZXNzUmV0dXJuKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo1MjoiUHJvY2VzcyB0aGUgcmV0dXJuIGNvbW1lbnQgb2YgdGhpcyBmdW5jdGlvbiBjb21tZW50LiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTo0OntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6OToicGhwY3NGaWxlIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI3OiJcUEhQX0NvZGVTbmlmZmVyXEZpbGVzXEZpbGUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo0OiJGaWxlIjt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjM6IlRoZSBmaWxlIGJlaW5nIHNjYW5uZWQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjg6InN0YWNrUHRyIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjY1OiJUaGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgdG9rZW4KaW4gdGhlIHN0YWNrIHBhc3NlZCBpbiAkdG9rZW5zLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MjtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxMjoiY29tbWVudFN0YXJ0IjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjUyOiJUaGUgcG9zaXRpb24gaW4gdGhlIHN0YWNrIHdoZXJlIHRoZSBjb21tZW50IHN0YXJ0ZWQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTozO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozNjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFZvaWRfIjowOnt9czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjo3MjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjg3OiJcUEhQX0NvZGVTbmlmZmVyXFN0YW5kYXJkc1xQRUFSXFNuaWZmc1xDb21tZW50aW5nXEZ1bmN0aW9uQ29tbWVudFNuaWZmOjpwcm9jZXNzUmV0dXJuKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMzoicHJvY2Vzc1JldHVybiI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6OToicHJvdGVjdGVkIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTozOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo5OiJwaHBjc0ZpbGUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoyNzoiXFBIUF9Db2RlU25pZmZlclxGaWxlc1xGaWxlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NDoiRmlsZSI7fX1zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo4OiJzdGFja1B0ciI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEyOiJjb21tZW50U3RhcnQiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNjc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMDM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAaGFzUmV0dXJuQnlSZWZlcmVuY2UiO2I6MDtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbWV0YWRhdGEiO2E6MDp7fX1zOjg3OiJcUEhQX0NvZGVTbmlmZmVyXFN0YW5kYXJkc1xQRUFSXFNuaWZmc1xDb21tZW50aW5nXEZ1bmN0aW9uQ29tbWVudFNuaWZmOjpwcm9jZXNzVGhyb3dzKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjoxMjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo1NDoiUHJvY2VzcyBhbnkgdGhyb3cgdGFncyB0aGF0IHRoaXMgZnVuY3Rpb24gY29tbWVudCBoYXMuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjQ6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo5OiJwaHBjc0ZpbGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mjc6IlxQSFBfQ29kZVNuaWZmZXJcRmlsZXNcRmlsZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjQ6IkZpbGUiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyMzoiVGhlIGZpbGUgYmVpbmcgc2Nhbm5lZC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6ODoic3RhY2tQdHIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NjU6IlRoZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCB0b2tlbgppbiB0aGUgc3RhY2sgcGFzc2VkIGluICR0b2tlbnMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEyOiJjb21tZW50U3RhcnQiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NTI6IlRoZSBwb3NpdGlvbiBpbiB0aGUgc3RhY2sgd2hlcmUgdGhlIGNvbW1lbnQgc3RhcnRlZC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcVm9pZF8iOjA6e31zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtyOjcyO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6ODc6IlxQSFBfQ29kZVNuaWZmZXJcU3RhbmRhcmRzXFBFQVJcU25pZmZzXENvbW1lbnRpbmdcRnVuY3Rpb25Db21tZW50U25pZmY6OnByb2Nlc3NUaHJvd3MoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEzOiJwcm9jZXNzVGhyb3dzIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo5OiJwcm90ZWN0ZWQiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjM6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjk6InBocGNzRmlsZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI3OiJcUEhQX0NvZGVTbmlmZmVyXEZpbGVzXEZpbGUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo0OiJGaWxlIjt9fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjg6InN0YWNrUHRyIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTI6ImNvbW1lbnRTdGFydCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIxNjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIzODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9fXM6ODc6IlxQSFBfQ29kZVNuaWZmZXJcU3RhbmRhcmRzXFBFQVJcU25pZmZzXENvbW1lbnRpbmdcRnVuY3Rpb25Db21tZW50U25pZmY6OnByb2Nlc3NQYXJhbXMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjEyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjQwOiJQcm9jZXNzIHRoZSBmdW5jdGlvbiBwYXJhbWV0ZXIgY29tbWVudHMuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjQ6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo5OiJwaHBjc0ZpbGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mjc6IlxQSFBfQ29kZVNuaWZmZXJcRmlsZXNcRmlsZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjQ6IkZpbGUiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyMzoiVGhlIGZpbGUgYmVpbmcgc2Nhbm5lZC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6ODoic3RhY2tQdHIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NjU6IlRoZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCB0b2tlbgppbiB0aGUgc3RhY2sgcGFzc2VkIGluICR0b2tlbnMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEyOiJjb21tZW50U3RhcnQiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NTI6IlRoZSBwb3NpdGlvbiBpbiB0aGUgc3RhY2sgd2hlcmUgdGhlIGNvbW1lbnQgc3RhcnRlZC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcVm9pZF8iOjA6e31zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtyOjcyO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6ODc6IlxQSFBfQ29kZVNuaWZmZXJcU3RhbmRhcmRzXFBFQVJcU25pZmZzXENvbW1lbnRpbmdcRnVuY3Rpb25Db21tZW50U25pZmY6OnByb2Nlc3NQYXJhbXMoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEzOiJwcm9jZXNzUGFyYW1zIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo5OiJwcm90ZWN0ZWQiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjM6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjk6InBocGNzRmlsZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI3OiJcUEhQX0NvZGVTbmlmZmVyXEZpbGVzXEZpbGUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo0OiJGaWxlIjt9fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjg6InN0YWNrUHRyIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTI6ImNvbW1lbnRTdGFydCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI1MTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjUyMjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABoYXNSZXR1cm5CeVJlZmVyZW5jZSI7YjowO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABtZXRhZGF0YSI7YTowOnt9fX1zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AdXNlZFRyYWl0cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZW5kTG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjUyNTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AbWV0YWRhdGEiO2E6MDp7fX19czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBpbnRlcmZhY2VzIjthOjA6e31zOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHRyYWl0cyI7YTowOnt9czo0MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBlbnVtcyI7YTowOnt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBtZXRhZGF0YSI7YTowOnt9fQ==";