1789595935
c05b9b66eacc8e11cfd97f370d355f8b-phpdoc%3A2be8ad7801f84affa4ec19251986e6d0-0b8bff783886e82501688e96016ca69b
s:13400:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjEwOiJzZXNpb24ucGhwIjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWVzcGFjZXMiO2E6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW5jbHVkZXMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZnVuY3Rpb25zIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNvbnN0YW50cyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjbGFzc2VzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGludGVyZmFjZXMiO2E6MDp7fXM6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAdHJhaXRzIjthOjA6e31zOjQwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGVudW1zIjthOjA6e31zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6IjBiOGJmZjc4Mzg4NmU4MjUwMTY4OGU5NjAxNmNhNjliIjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHBhdGgiO3M6MzE6ImJhY2tlbmQvYXBpL3YyL3J1dGFzL3Nlc2lvbi5waHAiO3M6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAc291cmNlIjtzOjc4NTM6Ijw/cGhwCmRlY2xhcmUoc3RyaWN0X3R5cGVzPTEpOwoKLyoqCiAqIFJ1dGFzIGRlIFNFU0nDk04geSBDQU1QQcORQVMuCiAqCiAqIMOabmljYXMgcnV0YXMgcMO6YmxpY2FzIGRlIHRvZGEgbGEgQVBJOiBsb2dpbiB5IGxvZ291dC4gRWwgcmVzdG8gZXhpZ2UKICogc2VzacOzbiB2w6FsaWRhIGNvbiBiaW5kaW5nIElQL1VBLgogKgogKiBAcGFja2FnZSB0cmFja2luZ1xiYWNrZW5kXGFwaVx2MlxydXRhcwogKi8KCnJldHVybiBbCgogICAgLy8g4pSA4pSAIFDDmkJMSUNBUyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAKCiAgICAnbG9naW4nID0+IG5ldyBSdXRhKAogICAgICAgIGFjY2VzbzogIEFjY2Vzbzo6UFVCTElDTywKICAgICAgICBhbWJpdG86ICBBbWJpdG86OlRSQUNLSU5HV0VCLAogICAgICAgIGhhbmRsZXI6IHN0YXRpYyBmdW5jdGlvbiAoQ29udGV4dG8gJGN0eCk6IG5ldmVyIHsKICAgICAgICAgICAgJGxvZ2luICAgID0gdHJpbSgoc3RyaW5nKSgkX1BPU1RbJ2xvZ2luJ10gPz8gJycpKTsKICAgICAgICAgICAgJHBhc3N3b3JkID0gKHN0cmluZykoJF9QT1NUWydwYXNzd29yZCddID8/ICcnKTsKCiAgICAgICAgICAgIGlmICgkbG9naW4gPT09ICcnIHx8ICRwYXNzd29yZCA9PT0gJycpIHsKICAgICAgICAgICAgICAgIHVzbGVlcChyYW5kb21faW50KDEwMDAwMCwgMzAwMDAwKSk7ICAgLy8gYW50aS1lbnVtZXJhY2nDs24KICAgICAgICAgICAgICAgIFJlc3B1ZXN0YTo6ZXJyb3IoJ0ZhbHRhbiBjcmVkZW5jaWFsZXMuJywgNDAwKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8g4pSA4pSAIEludGVyY2VwY2nDs24gU1VQRVJBQ0NFU1Mg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSACiAgICAgICAgICAgICRzdXBlclVzZXIgICA9ICRfRU5WWydTVVBFUl9VU0VSJ10gICA/PyBudWxsOwogICAgICAgICAgICAkc3VwZXJTZWNyZXQgPSAkX0VOVlsnU1VQRVJfU0VDUkVUJ10gPz8gbnVsbDsKCiAgICAgICAgICAgIGlmICgkc3VwZXJVc2VyICYmICRzdXBlclNlY3JldCAmJiAkbG9naW4gPT09ICRzdXBlclVzZXIpIHsKICAgICAgICAgICAgICAgICRoYXNoZWFkYSA9IGhhc2hfaG1hYygnc2hhMjU2JywgJ3N1cGVyYWNjZXNzJywgJHBhc3N3b3JkKTsKCiAgICAgICAgICAgICAgICBpZiAoIWhhc2hfZXF1YWxzKCRzdXBlclNlY3JldCwgJGhhc2hlYWRhKSkgewogICAgICAgICAgICAgICAgICAgIHVzbGVlcChyYW5kb21faW50KDEwMDAwMDAsIDIwMDAwMDApKTsKICAgICAgICAgICAgICAgICAgICBlcnJvcl9sb2coJ1tTVVBFUkFDQ0VTU10gSW50ZW50byBmYWxsaWRvIHwgSVA6ICcgLiAkX1NFUlZFUlsnUkVNT1RFX0FERFInXSk7CiAgICAgICAgICAgICAgICAgICAgUmVzcHVlc3RhOjplcnJvcignQ3JlZGVuY2lhbGVzIGluY29ycmVjdGFzLicsIDQwMSk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgc2Vzc2lvbl9yZWdlbmVyYXRlX2lkKHRydWUpOwogICAgICAgICAgICAgICAgJF9TRVNTSU9OWyd1c2VyX2lkJ10gICA9IC0xOwogICAgICAgICAgICAgICAgJF9TRVNTSU9OWydub21icmUnXSAgICA9ICdTdXBlciBBZG1pbic7CiAgICAgICAgICAgICAgICAkX1NFU1NJT05bJ3JvbCddICAgICAgID0gMjsKICAgICAgICAgICAgICAgICRfU0VTU0lPTlsnX19pcCddICAgICAgPSAkX1NFUlZFUlsnUkVNT1RFX0FERFInXTsKICAgICAgICAgICAgICAgICRfU0VTU0lPTlsnX191YSddICAgICAgPSAkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10gPz8gJyc7CiAgICAgICAgICAgICAgICAkX1NFU1NJT05bJ2xvZ2dlZF9pbiddID0gdHJ1ZTsKICAgICAgICAgICAgICAgICRfU0VTU0lPTlsnbGFzdF9hY3Rpdml0eSddID0gdGltZSgpOwoKICAgICAgICAgICAgICAgIGludmFsaWRhckNhY2hlUGVybWlzb3MoKTsgICAvLyBwb3Igc2kgc29icmV2aXZlIGFsZ28gZGUgdW5hIHNlc2nDs24gYW50ZXJpb3IKICAgICAgICAgICAgICAgIHBlcm1pc29zQ2FjaGUoKTsgICAgICAgICAgICAvLyBjb25zdHJ1eWUgeWE6IDMgcXVlcmllcywgdW5hIHNvbGEgdmV6CgogICAgICAgICAgICAgICAgZXJyb3JfbG9nKCdbU1VQRVJBQ0NFU1NdIEFjY2VzbyBleGl0b3NvIHwgSVA6ICcgLiAkX1NFUlZFUlsnUkVNT1RFX0FERFInXSk7CiAgICAgICAgICAgICAgICBSZXNwdWVzdGE6Ompzb24oWydvaycgPT4gdHJ1ZSwgJ25vbWJyZScgPT4gJ1N1cGVyIEFkbWluJ10pOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyDilIDilIAgTG9naW4gbm9ybWFsIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgAogICAgICAgICAgICAkc2VzaW9uID0gQ29udHJvbGFkb3JVc2Vyczo6bG9naW5Vc3VhcmlvV2ViKCRsb2dpbiwgJHBhc3N3b3JkKTsKICAgICAgICAgICAgaWYgKGVtcHR5KCRzZXNpb24pKSB7CiAgICAgICAgICAgICAgICBSZXNwdWVzdGE6OmVycm9yKCdMb2dpbiBpbmNvcnJlY3RvJywgNDAxKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgc2Vzc2lvbl9yZWdlbmVyYXRlX2lkKHRydWUpOwogICAgICAgICAgICAkX1NFU1NJT05bJ3VzZXJfaWQnXSAgID0gJHNlc2lvblsndXNlcl9pZCddOwogICAgICAgICAgICAkX1NFU1NJT05bJ25vbWJyZSddICAgID0gJHNlc2lvblsnbm9tYnJlJ107CiAgICAgICAgICAgICRfU0VTU0lPTlsncm9sJ10gICAgICAgPSAkc2VzaW9uWyd0aXBvJ107CiAgICAgICAgICAgICRfU0VTU0lPTlsnX19pcCddICAgICAgPSAkX1NFUlZFUlsnUkVNT1RFX0FERFInXTsKICAgICAgICAgICAgJF9TRVNTSU9OWydfX3VhJ10gICAgICA9ICRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSA/PyAnJzsKICAgICAgICAgICAgJF9TRVNTSU9OWydsb2dnZWRfaW4nXSAgICAgPSB0cnVlOwogICAgICAgICAgICAkX1NFU1NJT05bJ2xhc3RfYWN0aXZpdHknXSA9IHRpbWUoKTsKCiAgICAgICAgICAgIGludmFsaWRhckNhY2hlUGVybWlzb3MoKTsgICAvLyBwb3Igc2kgc29icmV2aXZlIGFsZ28gZGUgdW5hIHNlc2nDs24gYW50ZXJpb3IKICAgICAgICAgICAgcGVybWlzb3NDYWNoZSgpOyAgICAgICAgICAgIC8vIGNvbnN0cnV5ZSB5YTogMyBxdWVyaWVzLCB1bmEgc29sYSB2ZXoKCiAgICAgICAgICAgIFJlc3B1ZXN0YTo6anNvbihbJ29rJyA9PiB0cnVlLCAnbm9tYnJlJyA9PiAkc2VzaW9uWydub21icmUnXV0pOwogICAgICAgIH0KICAgICksCgogICAgLy8gUMO6YmxpY2EgYSBwcm9ww7NzaXRvOiBjZXJyYXIgc2VzacOzbiBkZWJlIGZ1bmNpb25hciBhdW5xdWUgbGEgc2VzacOzbgogICAgLy8geWEgbm8gc2VhIHbDoWxpZGEgKGV4cGlyYWRhLCBiaW5kaW5nIHJvdG8pLiBTb2xvIGRlc3RydXllLgogICAgJ2xvZ291dCcgPT4gbmV3IFJ1dGEoCiAgICAgICAgYWNjZXNvOiAgQWNjZXNvOjpQVUJMSUNPLAogICAgICAgIGFtYml0bzogIEFtYml0bzo6VFJBQ0tJTkdXRUIsCiAgICAgICAgaGFuZGxlcjogc3RhdGljIGZ1bmN0aW9uIChDb250ZXh0byAkY3R4KTogbmV2ZXIgewogICAgICAgICAgICAkX1NFU1NJT04gPSBbXTsKICAgICAgICAgICAgaWYgKGluaV9nZXQoJ3Nlc3Npb24udXNlX2Nvb2tpZXMnKSkgewogICAgICAgICAgICAgICAgJHAgPSBzZXNzaW9uX2dldF9jb29raWVfcGFyYW1zKCk7CiAgICAgICAgICAgICAgICBzZXRjb29raWUoc2Vzc2lvbl9uYW1lKCksICcnLCB0aW1lKCkgLSA0MjAwMCwKICAgICAgICAgICAgICAgICAgICAkcFsncGF0aCddLCAkcFsnZG9tYWluJ10sICRwWydzZWN1cmUnXSwgJHBbJ2h0dHBvbmx5J10pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHNlc3Npb25fZGVzdHJveSgpOwogICAgICAgICAgICBSZXNwdWVzdGE6Ompzb24oWydvaycgPT4gdHJ1ZV0pOwogICAgICAgIH0sCgogICAgKSwKCiAgICAvLyDilIDilIAgQ09OVFJPTCBERSBTRVNJw5NOIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgAoKICAgIC8vIFNvbmRlbzogTk8gcmVudWV2YSBsYSBhY3RpdmlkYWQsIG8gZWwgdGltZW91dCBwb3IgaW5hY3RpdmlkYWQgbnVuY2EKICAgIC8vIHNlIGN1bXBsaXLDrWEgbWllbnRyYXMgZWwgZnJvbnRlbmQgc2lnYSBwcmVndW50YW5kby4KICAgICdjaGVja19zZXNzaW9uJyA9PiBuZXcgUnV0YSgKICAgICAgICBhY2Nlc286ICBBY2Nlc286OkFVVEVOVElDQURPLAogICAgICAgIGFtYml0bzogIEFtYml0bzo6VFJBQ0tJTkdXRUIsCiAgICAgICAgaGFuZGxlcjogc3RhdGljIGZ1bmN0aW9uIChDb250ZXh0byAkY3R4KTogbmV2ZXIgewogICAgICAgICAgICBSZXNwdWVzdGE6Ompzb24oWwogICAgICAgICAgICAgICAgJ29rJyAgICAgICAgPT4gdHJ1ZSwKICAgICAgICAgICAgICAgICdub21icmUnICAgID0+ICRfU0VTU0lPTlsnbm9tYnJlJ10gPz8gJycsCiAgICAgICAgICAgICAgICAncm9sJyAgICAgICA9PiAkX1NFU1NJT05bJ3JvbCddID8/IDAsCiAgICAgICAgICAgICAgICAncmVtYWluaW5nJyA9PiBtYXgoMCwgU0VTU0lPTl9USU1FT1VUX1NFQ09ORFMKICAgICAgICAgICAgICAgICAgICAtICh0aW1lKCkgLSAoaW50KSgkX1NFU1NJT05bJ2xhc3RfYWN0aXZpdHknXSA/PyB0aW1lKCkpKSksCiAgICAgICAgICAgIF0pOwogICAgICAgIH0sCiAgICAgICAgcmVub3ZhckFjdGl2aWRhZDogZmFsc2UsCiAgICApLAoKICAgIC8vIEFjY2nDs24gZXhwbMOtY2l0YSBkZWwgdXN1YXJpbzogc8OtIHJlbnVldmEuCiAgICAnc2Vzc2lvbl9rZWVwYWxpdmUnID0+IG5ldyBSdXRhKAogICAgICAgIGFjY2VzbzogIEFjY2Vzbzo6QVVURU5USUNBRE8sCiAgICAgICAgYW1iaXRvOiAgQW1iaXRvOjpUUkFDS0lOR1dFQiwKICAgICAgICBoYW5kbGVyOiBzdGF0aWMgZnVuY3Rpb24gKENvbnRleHRvICRjdHgpOiBuZXZlciB7CiAgICAgICAgICAgIFJlc3B1ZXN0YTo6anNvbihbJ29rJyA9PiB0cnVlLCAncmVtYWluaW5nJyA9PiBTRVNTSU9OX1RJTUVPVVRfU0VDT05EU10pOwogICAgICAgIH0KICAgICksCgogICAgLy8g4pSA4pSAIENBTVBBw5FBUyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAKCiAgICAnbG9hZF9jYW1wYW5pYXMnID0+IG5ldyBSdXRhKAogICAgICAgIGFjY2VzbzogIEFjY2Vzbzo6QVVURU5USUNBRE8sCiAgICAgICAgYW1iaXRvOiAgQW1iaXRvOjpUUkFDS0lOR1dFQiwKICAgICAgICBoYW5kbGVyOiBzdGF0aWMgZnVuY3Rpb24gKENvbnRleHRvICRjdHgpOiBuZXZlciB7CiAgICAgICAgICAgICRjb25leGlvbklkID0gY29uZXhpb25Qb3JEZWZlY3RvKCk7CgogICAgICAgICAgICBpZiAoJGNvbmV4aW9uSWQgPT09IG51bGwpIHsKICAgICAgICAgICAgICAgIFJlc3B1ZXN0YTo6anNvbihbJ29rJyA9PiB0cnVlLCAnc3RhdHVzJyA9PiAyMDAsICdkYXRhJyA9PiBbXV0pOwogICAgICAgICAgICB9CgogICAgICAgICAgICBSZXNwdWVzdGE6OmRlbENvbnRyb2xhZG9yKENvbnRyb2xhZG9yQ2FtcGFuaWFzOjpnZXRBbGwoJGNvbmV4aW9uSWQpKTsKICAgICAgICB9CiAgICApLAoKICAgICdnZXRfY2FtcGFuaWFfYWN0aXZhJyA9PiBuZXcgUnV0YSgKICAgICAgICBhY2Nlc286ICBBY2Nlc286OkFVVEVOVElDQURPLAogICAgICAgIGFtYml0bzogIEFtYml0bzo6VFJBQ0tJTkdXRUIsCiAgICAgICAgaGFuZGxlcjogc3RhdGljIGZ1bmN0aW9uIChDb250ZXh0byAkY3R4KTogbmV2ZXIgewogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgaWYgKCFlbXB0eSgkX1NFU1NJT05bJ2NhbXBhbmlhJ10pKSB7CiAgICAgICAgICAgICAgICAgICAgUmVzcHVlc3RhOjpqc29uKFsnb2snID0+IHRydWUsICdjYW1wYW5pYScgPT4gKGludCkkX1NFU1NJT05bJ2NhbXBhbmlhJ10sICdzdGF0dXMnID0+IDIwMF0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICRjb25leGlvbmVzID0gQ29uZXhpb25Db25maWdEYW86OmdldEFsbCgpOwogICAgICAgICAgICAgICAgaWYgKGVtcHR5KCRjb25leGlvbmVzKSkgewogICAgICAgICAgICAgICAgICAgIFJlc3B1ZXN0YTo6anNvbihbJ29rJyA9PiB0cnVlLCAnY2FtcGFuaWEnID0+IDAsICdzdGF0dXMnID0+IDIwMF0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICRwcmltZXJhSWQgPSAkY29uZXhpb25lc1swXS0+dG9QdWJsaWNBcnJheSgpWydpZCddOwogICAgICAgICAgICAgICAgJGRiICAgICAgICA9IENvbmV4aW9uOjpnZXREYkZvcigoaW50KSRwcmltZXJhSWQpOwogICAgICAgICAgICAgICAgJGNhbXBhbmlhICA9IEJkRGVzdGlub0hlbHBlcjo6Z2V0Q2FtcGFuaWFBY3RpdmEoJGRiKTsKCiAgICAgICAgICAgICAgICBSZXNwdWVzdGE6Ompzb24oWydvaycgPT4gdHJ1ZSwgJ2NhbXBhbmlhJyA9PiAkY2FtcGFuaWEsICdzdGF0dXMnID0+IDIwMF0pOwogICAgICAgICAgICB9IGNhdGNoIChUaHJvd2FibGUgJGUpIHsKICAgICAgICAgICAgICAgIGVycm9yX2xvZygnW2FwaS92MjpnZXRfY2FtcGFuaWFfYWN0aXZhXSAnIC4gJGUtPmdldE1lc3NhZ2UoKSk7CiAgICAgICAgICAgICAgICBSZXNwdWVzdGE6Ompzb24oWydvaycgPT4gdHJ1ZSwgJ2NhbXBhbmlhJyA9PiAwLCAnc3RhdHVzJyA9PiAyMDBdKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICksCgogICAgLy8gRW4gbGEgdjEgZXN0YSBhY2Npw7NuIE5PIHRlbsOtYSBuaW5nw7puIGd1YXJkOiBlc2NyaWLDrWEgZW4gJF9TRVNTSU9OCiAgICAvLyBzaW4gc2VzacOzbiBpbmljaWFkYS4KICAgICdjYW1iaWFyX2NhbXBhbmlhJyA9PiBuZXcgUnV0YSgKICAgICAgICBhY2Nlc286ICBBY2Nlc286OkFVVEVOVElDQURPLAogICAgICAgIGFtYml0bzogIEFtYml0bzo6VFJBQ0tJTkdXRUIsCiAgICAgICAgaGFuZGxlcjogc3RhdGljIGZ1bmN0aW9uIChDb250ZXh0byAkY3R4KTogbmV2ZXIgewogICAgICAgICAgICAkaWQgICAgPSAkX1BPU1RbJ2lkX3NlbGVjY2lvbmFkbyddICAgID8/IG51bGw7CiAgICAgICAgICAgICRmZWNoYSA9ICRfUE9TVFsnZmVjaGFfc2VsZWNjaW9uYWRhJ10gPz8gbnVsbDsKCiAgICAgICAgICAgIGlmICgkaWQgPT09IG51bGwgfHwgJGZlY2hhID09PSBudWxsKSB7CiAgICAgICAgICAgICAgICBSZXNwdWVzdGE6OmVycm9yKCdGYWx0YW4gcGFyw6FtZXRyb3MgcmVxdWVyaWRvcy4nLCA0MDApOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkX1NFU1NJT05bJ2NhbXBhbmlhX2lkJ10gPSAkaWQ7CiAgICAgICAgICAgICRfU0VTU0lPTlsnY2FtcGFuaWEnXSAgICA9ICRmZWNoYTsKCiAgICAgICAgICAgIFJlc3B1ZXN0YTo6anNvbihbJ29rJyA9PiB0cnVlXSk7CiAgICAgICAgfQogICAgKSwKXTsKIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoyOToiUnV0YXMgZGUgU0VTScOTTiB5IENBTVBBw5FBUy4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MTA1OiLDmm5pY2FzIHJ1dGFzIHDDumJsaWNhcyBkZSB0b2RhIGxhIEFQSTogbG9naW4geSBsb2dvdXQuIEVsIHJlc3RvIGV4aWdlCnNlc2nDs24gdsOhbGlkYSBjb24gYmluZGluZyBJUC9VQS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcR2VuZXJpYyI6Mjp7czo3OiIAKgBuYW1lIjtzOjc6InBhY2thZ2UiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjI5OiJ0cmFja2luZ1xiYWNrZW5kXGFwaVx2MlxydXRhcyI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAbWV0YWRhdGEiO2E6MDp7fX0=";