1669235777
AwuilbDvXz%3Ac23130d9f2401a6b3d8e8cc0b318d5f5-18958ba84aefd4b590746e867226c251
s:465632:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxMjp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6Njk6IkNyZWF0ZSBkZWZhdWx0IFdvcmRQcmVzcyBhZG1pbiBmdW5jdGlvbmFsaXR5IHRvIGNvbmZpZ3VyZSB0aGUgcGx1Z2luLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToyOntpOjA7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcR2VuZXJpYyI6Mjp7czo3OiIAKgBuYW1lIjtzOjU6ImNsYXNzIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyMDoiT2JqZWN0X1N5bmNfU2ZfQWRtaW4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcR2VuZXJpYyI6Mjp7czo3OiIAKgBuYW1lIjtzOjc6InBhY2thZ2UiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjIyOiJPYmplY3RfU3luY19TYWxlc2ZvcmNlIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBoYXNoIjtzOjMyOiIxODk1OGJhODRhZWZkNGI1OTA3NDZlODY3MjI2YzI1MSI7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjMwOiJjbGFzcy1vYmplY3Qtc3luYy1zZi1hZG1pbi5waHAiO3M6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAcGF0aCI7czozODoiY2xhc3Nlcy9jbGFzcy1vYmplY3Qtc3luYy1zZi1hZG1pbi5waHAiO3M6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAc291cmNlIjtzOjEwNjM1NDoiPD9waHAKLyoqCiAqIENyZWF0ZSBkZWZhdWx0IFdvcmRQcmVzcyBhZG1pbiBmdW5jdGlvbmFsaXR5IHRvIGNvbmZpZ3VyZSB0aGUgcGx1Z2luLgogKgogKiBAY2xhc3MgICBPYmplY3RfU3luY19TZl9BZG1pbgogKiBAcGFja2FnZSBPYmplY3RfU3luY19TYWxlc2ZvcmNlCiAqLwoKZGVmaW5lZCggJ0FCU1BBVEgnICkgfHwgZXhpdDsKCi8qKgogKiBPYmplY3RfU3luY19TZl9BZG1pbiBjbGFzcy4KICovCmNsYXNzIE9iamVjdF9TeW5jX1NmX0FkbWluIHsKCgkvKioKCSAqIEN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcGx1Z2luCgkgKgoJICogQHZhciBzdHJpbmcKCSAqLwoJcHVibGljICR2ZXJzaW9uOwoKCS8qKgoJICogVGhlIG1haW4gcGx1Z2luIGZpbGUKCSAqCgkgKiBAdmFyIHN0cmluZwoJICovCglwdWJsaWMgJGZpbGU7CgoJLyoqCgkgKiBHbG9iYWwgb2JqZWN0IG9mIGAkd3BkYmAsIHRoZSBXb3JkUHJlc3MgZGF0YWJhc2UKCSAqCgkgKiBAdmFyIG9iamVjdAoJICovCglwdWJsaWMgJHdwZGI7CgoJLyoqCgkgKiBUaGUgcGx1Z2luJ3Mgc2x1ZyBzbyB3ZSBjYW4gaW5jbHVkZSBpdCB3aGVuIG5lY2Vzc2FyeQoJICoKCSAqIEB2YXIgc3RyaW5nCgkgKi8KCXB1YmxpYyAkc2x1ZzsKCgkvKioKCSAqIFRoZSBwbHVnaW4ncyBwcmVmaXggd2hlbiBzYXZpbmcgb3B0aW9ucyB0byB0aGUgZGF0YWJhc2UKCSAqCgkgKiBAdmFyIHN0cmluZwoJICovCglwdWJsaWMgJG9wdGlvbl9wcmVmaXg7CgoJLyoqCgkgKiBTdWZmaXggZm9yIGdyb3VwIG5hbWUgaW4gQWN0aW9uU2NoZWR1bGVyCgkgKgoJICogQHZhciBzdHJpbmcKCSAqLwoJcHVibGljICRhY3Rpb25fZ3JvdXBfc3VmZml4OwoKCS8qKgoJICogTG9naW4gY3JlZGVudGlhbHMgZm9yIHRoZSBTYWxlc2ZvcmNlIEFQSTsgY29tZXMgZnJvbSB3cC1jb25maWcgb3IgZnJvbSB0aGUgcGx1Z2luIHNldHRpbmdzCgkgKgoJICogQHZhciBhcnJheQoJICovCglwdWJsaWMgJGxvZ2luX2NyZWRlbnRpYWxzOwoKCS8qKgoJICogQXJyYXkgb2Ygd2hhdCBjbGFzc2VzIGluIHRoZSBwbHVnaW4gY2FuIGJlIHNjaGVkdWxlZCB0byBvY2N1ciB3aXRoIGB3cF9jcm9uYCBldmVudHMKCSAqCgkgKiBAdmFyIGFycmF5CgkgKi8KCXB1YmxpYyAkc2NoZWR1bGFibGVfY2xhc3NlczsKCgkvKioKCSAqIE9iamVjdF9TeW5jX1NmX1F1ZXVlIGNsYXNzCgkgKgoJICogQHZhciBvYmplY3QKCSAqLwoJcHVibGljICRxdWV1ZTsKCgkvKioKCSAqIE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcgY2xhc3MKCSAqCgkgKiBAdmFyIG9iamVjdAoJICovCglwdWJsaWMgJGxvZ2dpbmc7CgoJLyoqCgkgKiBPYmplY3RfU3luY19TZl9NYXBwaW5nIGNsYXNzCgkgKgoJICogQHZhciBvYmplY3QKCSAqLwoJcHVibGljICRtYXBwaW5nczsKCgkvKioKCSAqIE9iamVjdF9TeW5jX1NmX1dvcmRQcmVzcyBjbGFzcwoJICoKCSAqIEB2YXIgb2JqZWN0CgkgKi8KCXB1YmxpYyAkd29yZHByZXNzOwoKCS8qKgoJICogT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZSBjbGFzcwoJICogVGhpcyBjb250YWlucyBTYWxlc2ZvcmNlIEFQSSBtZXRob2RzCgkgKgoJICogQHZhciBhcnJheQoJICovCglwdWJsaWMgJHNhbGVzZm9yY2U7CgoJLyoqCgkgKiBPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1c2ggY2xhc3MKCSAqCgkgKiBAdmFyIG9iamVjdAoJICovCglwdWJsaWMgJHB1c2g7CgoJLyoqCgkgKiBPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGwgY2xhc3MKCSAqCgkgKiBAdmFyIG9iamVjdAoJICovCglwdWJsaWMgJHB1bGw7CgoJLyoqCgkgKiBPYmplY3RfU3luY19TZl9Xb3JkUHJlc3NfVHJhbnNpZW50IGNsYXNzCgkgKgoJICogQHZhciBvYmplY3QKCSAqLwoJcHJpdmF0ZSAkc2Z3cF90cmFuc2llbnRzOwoKCS8qKgoJICogVVJMIGZyYWdtZW50IGZvciB0aGUgcGx1Z2luJ3Mgc2V0dGluZ3MgcGFnZQoJICoKCSAqIEB2YXIgc3RyaW5nCgkgKi8KCXByaXZhdGUgJGFkbWluX3NldHRpbmdzX3VybF9wYXJhbTsKCgkvKioKCSAqIFNhbGVzZm9yY2UgYWNjZXNzIHRva2VuCgkgKgoJICogQHZhciBzdHJpbmcKCSAqLwoJcHJpdmF0ZSAkYWNjZXNzX3Rva2VuOwoKCS8qKgoJICogU2FsZXNmb3JjZSBpbnN0YW5jZSBVUkwKCSAqCgkgKiBAdmFyIHN0cmluZwoJICovCglwcml2YXRlICRpbnN0YW5jZV91cmw7CgoJLyoqCgkgKiBTYWxlc2ZvcmNlIHJlZnJlc2ggdG9rZW4KCSAqCgkgKiBAdmFyIHN0cmluZwoJICovCglwcml2YXRlICRyZWZyZXNoX3Rva2VuOwoKCS8qKgoJICogRGVmYXVsdCBwYXRoIGZvciB0aGUgU2FsZXNmb3JjZSBhdXRob3JpemUgVVJMCgkgKgoJICogQHZhciBzdHJpbmcKCSAqLwoJcHVibGljICRkZWZhdWx0X2F1dGhvcml6ZV91cmxfcGF0aDsKCgkvKioKCSAqIERlZmF1bHQgcGF0aCBmb3IgdGhlIFNhbGVzZm9yY2UgdG9rZW4gVVJMCgkgKgoJICogQHZhciBzdHJpbmcKCSAqLwoJcHVibGljICRkZWZhdWx0X3Rva2VuX3VybF9wYXRoOwoKCS8qKgoJICogV2hhdCB2ZXJzaW9uIG9mIHRoZSBTYWxlc2ZvcmNlIEFQSSBzaG91bGQgYmUgdGhlIGRlZmF1bHQgb24gdGhlIHNldHRpbmdzIHNjcmVlbi4KCSAqIFVzZXJzIGNhbiBlZGl0IHdoYXQgdmVyc2lvbiBpcyB1c2VkLCBidXQgdGhleSB3b24ndCBzZWUgYSBjb3JyZWN0IGxpc3Qgb2YgYWxsIHRoZWlyIGF2YWlsYWJsZSB2ZXJzaW9ucyB1bnRpbCBXb3JkUHJlc3MgaGFzCgkgKiBiZWVuIGF1dGhlbnRpY2F0ZWQgd2l0aCBTYWxlc2ZvcmNlLgoJICoKCSAqIEB2YXIgc3RyaW5nCgkgKi8KCXB1YmxpYyAkZGVmYXVsdF9hcGlfdmVyc2lvbjsKCgkvKioKCSAqIERlZmF1bHQgbWF4IG51bWJlciBvZiBwdWxsIHJlY29yZHMuIFVzZXJzIGNhbiBlZGl0IHRoaXMuCgkgKgoJICogQHZhciBpbnQKCSAqLwoJcHVibGljICRkZWZhdWx0X3B1bGxfbGltaXQ7CgoJLyoqCgkgKiBEZWZhdWx0IHRocm90dGxlIGZvciBob3cgb2Z0ZW4gdG8gcHVsbCBmcm9tIFNhbGVzZm9yY2UuIFVzZXJzIGNhbiBlZGl0IHRoaXMuCgkgKgoJICogQHZhciBpbnQKCSAqLwoJcHVibGljICRkZWZhdWx0X3B1bGxfdGhyb3R0bGU7CgoJLyoqCgkgKiBEZWZhdWx0IGZvciB3aGV0aGVyIHRvIGxpbWl0IHRvIHRyaWdnZXJhYmxlIGl0ZW1zLiBVc2VycyBjYW4gZWRpdCB0aGlzLgoJICoKCSAqIEB2YXIgYm9vbAoJICovCglwdWJsaWMgJGRlZmF1bHRfdHJpZ2dlcmFibGU7CgoJLyoqCgkgKiBEZWZhdWx0IGZvciB3aGV0aGVyIHRvIGxpbWl0IHRvIGl0ZW1zIHRoYXQgY2FuIGJlIHVwZGF0ZWQuIFVzZXJzIGNhbiBlZGl0IHRoaXMuCgkgKgoJICogQHZhciBib29sCgkgKi8KCXB1YmxpYyAkZGVmYXVsdF91cGRhdGVhYmxlOwoKCS8qKgoJICogQ29uc3RydWN0b3IgZm9yIGFkbWluIGNsYXNzCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHsKCQkkdGhpcy0+dmVyc2lvbiAgICAgICAgICAgICA9IG9iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlKCktPnZlcnNpb247CgkJJHRoaXMtPmZpbGUgICAgICAgICAgICAgICAgPSBvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZSgpLT5maWxlOwoJCSR0aGlzLT53cGRiICAgICAgICAgICAgICAgID0gb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2UoKS0+d3BkYjsKCQkkdGhpcy0+c2x1ZyAgICAgICAgICAgICAgICA9IG9iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlKCktPnNsdWc7CgkJJHRoaXMtPm9wdGlvbl9wcmVmaXggICAgICAgPSBvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZSgpLT5vcHRpb25fcHJlZml4OwoJCSR0aGlzLT5hY3Rpb25fZ3JvdXBfc3VmZml4ID0gb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2UoKS0+YWN0aW9uX2dyb3VwX3N1ZmZpeDsKCgkJJHRoaXMtPmxvZ2luX2NyZWRlbnRpYWxzICAgPSBvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZSgpLT5sb2dpbl9jcmVkZW50aWFsczsKCQkkdGhpcy0+d29yZHByZXNzICAgICAgICAgICA9IG9iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlKCktPndvcmRwcmVzczsKCQkkdGhpcy0+c2FsZXNmb3JjZSAgICAgICAgICA9IG9iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlKCktPnNhbGVzZm9yY2U7CgkJJHRoaXMtPm1hcHBpbmdzICAgICAgICAgICAgPSBvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZSgpLT5tYXBwaW5nczsKCQkkdGhpcy0+cHVzaCAgICAgICAgICAgICAgICA9IG9iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlKCktPnB1c2g7CgkJJHRoaXMtPnB1bGwgICAgICAgICAgICAgICAgPSBvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZSgpLT5wdWxsOwoJCSR0aGlzLT5sb2dnaW5nICAgICAgICAgICAgID0gb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2UoKS0+bG9nZ2luZzsKCQkkdGhpcy0+c2NoZWR1bGFibGVfY2xhc3NlcyA9IG9iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlKCktPnNjaGVkdWxhYmxlX2NsYXNzZXM7CgkJJHRoaXMtPnF1ZXVlICAgICAgICAgICAgICAgPSBvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZSgpLT5xdWV1ZTsKCgkJJHRoaXMtPnNmd3BfdHJhbnNpZW50cyAgICAgICAgICA9IG9iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlKCktPndvcmRwcmVzcy0+c2Z3cF90cmFuc2llbnRzOwoJCSR0aGlzLT5hZG1pbl9zZXR0aW5nc191cmxfcGFyYW0gPSAnb2JqZWN0LXN5bmMtc2FsZXNmb3JjZS1hZG1pbic7CgoJCS8vIGRlZmF1bHQgYXV0aG9yaXplIHVybCBwYXRoLgoJCSR0aGlzLT5kZWZhdWx0X2F1dGhvcml6ZV91cmxfcGF0aCA9ICcvc2VydmljZXMvb2F1dGgyL2F1dGhvcml6ZSc7CgkJLy8gZGVmYXVsdCB0b2tlbiB1cmwgcGF0aC4KCQkkdGhpcy0+ZGVmYXVsdF90b2tlbl91cmxfcGF0aCA9ICcvc2VydmljZXMvb2F1dGgyL3Rva2VuJzsKCQkvLyB3aGF0IFNhbGVzZm9yY2UgQVBJIHZlcnNpb24gdG8gc3RhcnQgdGhlIHNldHRpbmdzIHdpdGguIFRoaXMgaXMgb25seSB1c2VkIGluIHRoZSBzZXR0aW5ncyBmb3JtLgoJCSR0aGlzLT5kZWZhdWx0X2FwaV92ZXJzaW9uID0gZGVmaW5lZCggJ09CSkVDVF9TWU5DX1NGX0RFRkFVTFRfQVBJX1ZFUlNJT04nICkgPyBPQkpFQ1RfU1lOQ19TRl9ERUZBVUxUX0FQSV9WRVJTSU9OIDogJzUyLjAnOwoJCS8vIGRlZmF1bHQgcHVsbCByZWNvcmQgbGltaXQuCgkJJHRoaXMtPmRlZmF1bHRfcHVsbF9saW1pdCA9IDI1OwoJCS8vIGRlZmF1bHQgcHVsbCB0aHJvdHRsZSBmb3IgYXZvaWRpbmcgZ29pbmcgb3ZlciBhcGkgbGltaXRzLgoJCSR0aGlzLT5kZWZhdWx0X3B1bGxfdGhyb3R0bGUgPSA1OwoJCS8vIGRlZmF1bHQgc2V0dGluZyBmb3IgdHJpZ2dlcmFibGUgaXRlbXMuCgkJJHRoaXMtPmRlZmF1bHRfdHJpZ2dlcmFibGUgPSB0cnVlOwoJCS8vIGRlZmF1bHQgc2V0dGluZyBmb3IgdXBkYXRlYWJsZSBpdGVtcy4KCQkkdGhpcy0+ZGVmYXVsdF91cGRhdGVhYmxlID0gdHJ1ZTsKCgkJJHRoaXMtPmFkZF9hY3Rpb25zKCk7Cgl9CgoJLyoqCgkgKiBDcmVhdGUgdGhlIGFjdGlvbiBob29rcyB0byBjcmVhdGUgdGhlIGFkbWluIHBhZ2VzLgoJICovCglwdWJsaWMgZnVuY3Rpb24gYWRkX2FjdGlvbnMoKSB7CgoJCS8vIHNldHRpbmdzIGxpbmsuCgkJYWRkX2ZpbHRlciggJ3BsdWdpbl9hY3Rpb25fbGlua3MnLCBhcnJheSggJHRoaXMsICdwbHVnaW5fYWN0aW9uX2xpbmtzJyApLCAxMCwgNSApOwoKCQkvLyBDU1MgYW5kIEphdmFzY3JpcHQuCgkJYWRkX2FjdGlvbiggJ2FkbWluX2VucXVldWVfc2NyaXB0cycsIGFycmF5KCAkdGhpcywgJ2FkbWluX3NjcmlwdHNfYW5kX3N0eWxlcycgKSApOwoKCQkvLyBTZXR0aW5ncyBBUEkgZm9ybXMgYW5kIG5vdGljZXMuCgkJYWRkX2FjdGlvbiggJ2FkbWluX21lbnUnLCBhcnJheSggJHRoaXMsICdjcmVhdGVfYWRtaW5fbWVudScgKSApOwoJCWFkZF9hY3Rpb24oICdhZG1pbl9pbml0JywgYXJyYXkoICR0aGlzLCAnc2FsZXNmb3JjZV9zZXR0aW5nc19mb3JtcycgKSApOwoJCWFkZF9hY3Rpb24oICdhZG1pbl9pbml0JywgYXJyYXkoICR0aGlzLCAnbm90aWNlcycgKSApOwoJCWFkZF9hY3Rpb24oICdhZG1pbl9wb3N0X3Bvc3RfZmllbGRtYXAnLCBhcnJheSggJHRoaXMsICdwcmVwYXJlX2ZpZWxkbWFwX2RhdGEnICkgKTsKCQlhZGRfYWN0aW9uKCAnYWRtaW5fcG9zdF9kZWxldGVfZmllbGRtYXAnLCBhcnJheSggJHRoaXMsICdkZWxldGVfZmllbGRtYXAnICkgKTsKCgkJLy8gQWpheCBmb3IgZmllbGRtYXAgZm9ybXMuCgkJYWRkX2FjdGlvbiggJ3dwX2FqYXhfZ2V0X3NhbGVzZm9yY2Vfb2JqZWN0X2Rlc2NyaXB0aW9uJywgYXJyYXkoICR0aGlzLCAnZ2V0X3NhbGVzZm9yY2Vfb2JqZWN0X2Rlc2NyaXB0aW9uJyApLCAxMCwgMSApOwoJCWFkZF9hY3Rpb24oICd3cF9hamF4X2dldF9zYWxlc2ZvcmNlX29iamVjdF9maWVsZHMnLCBhcnJheSggJHRoaXMsICdnZXRfc2FsZXNmb3JjZV9vYmplY3RfZmllbGRzJyApLCAxMCwgMSApOwoJCWFkZF9hY3Rpb24oICd3cF9hamF4X2dldF93b3JkcHJlc3Nfb2JqZWN0X2ZpZWxkcycsIGFycmF5KCAkdGhpcywgJ2dldF93b3JkcHJlc3Nfb2JqZWN0X2ZpZWxkcycgKSwgMTAsIDEgKTsKCgkJLy8gQWpheCBldmVudHMgdGhhdCBjYW4gYmUgbWFudWFsbHkgY2FsbGVkLgoJCWFkZF9hY3Rpb24oICd3cF9hamF4X3B1c2hfdG9fc2FsZXNmb3JjZScsIGFycmF5KCAkdGhpcywgJ3B1c2hfdG9fc2FsZXNmb3JjZScgKSwgMTAsIDMgKTsKCQlhZGRfYWN0aW9uKCAnd3BfYWpheF9wdWxsX2Zyb21fc2FsZXNmb3JjZScsIGFycmF5KCAkdGhpcywgJ3B1bGxfZnJvbV9zYWxlc2ZvcmNlJyApLCAxMCwgMiApOwoJCWFkZF9hY3Rpb24oICd3cF9hamF4X3JlZnJlc2hfbWFwcGVkX2RhdGEnLCBhcnJheSggJHRoaXMsICdyZWZyZXNoX21hcHBlZF9kYXRhJyApLCAxMCwgMSApOwoJCWFkZF9hY3Rpb24oICd3cF9hamF4X2NsZWFyX3Nmd3BfY2FjaGUnLCBhcnJheSggJHRoaXMsICdjbGVhcl9zZndwX2NhY2hlJyApICk7CgoJCS8vIHdlIGFkZCBhIFNhbGVzZm9yY2UgYm94IG9uIHVzZXIgcHJvZmlsZXMuCgkJYWRkX2FjdGlvbiggJ2VkaXRfdXNlcl9wcm9maWxlJywgYXJyYXkoICR0aGlzLCAnc2hvd19zYWxlc2ZvcmNlX3VzZXJfZmllbGRzJyApLCAxMCwgMSApOwoJCWFkZF9hY3Rpb24oICdzaG93X3VzZXJfcHJvZmlsZScsIGFycmF5KCAkdGhpcywgJ3Nob3dfc2FsZXNmb3JjZV91c2VyX2ZpZWxkcycgKSwgMTAsIDEgKTsKCgkJLy8gYW5kIHdlIGNhbiB1cGRhdGUgU2FsZXNmb3JjZSBmaWVsZHMgb24gdGhlIHVzZXIgcHJvZmlsZSBib3guCgkJYWRkX2FjdGlvbiggJ3BlcnNvbmFsX29wdGlvbnNfdXBkYXRlJywgYXJyYXkoICR0aGlzLCAnc2F2ZV9zYWxlc2ZvcmNlX3VzZXJfZmllbGRzJyApLCAxMCwgMSApOwoJCWFkZF9hY3Rpb24oICdlZGl0X3VzZXJfcHJvZmlsZV91cGRhdGUnLCBhcnJheSggJHRoaXMsICdzYXZlX3NhbGVzZm9yY2VfdXNlcl9maWVsZHMnICksIDEwLCAxICk7CgoJCS8vIHdoZW4gZWl0aGVyIGZpZWxkIGZvciBzY2hlZHVsZSBzZXR0aW5ncyBjaGFuZ2VzLgoJCWZvcmVhY2ggKCAkdGhpcy0+c2NoZWR1bGFibGVfY2xhc3NlcyBhcyAka2V5ID0+ICR2YWx1ZSApIHsKCQkJLy8gaWYgdGhlIHVzZXIgZG9lc24ndCBoYXZlIGFueSBhY3Rpb24gc2NoZWR1bGUgdGFza3MsIGxldCdzIG5vdCBsZWF2ZSB0aGVtIGVtcHR5LgoJCQlhZGRfZmlsdGVyKCAncHJlX3VwZGF0ZV9vcHRpb25fJyAuICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJGtleSAuICdfc2NoZWR1bGVfbnVtYmVyJywgYXJyYXkoICR0aGlzLCAnaW5pdGlhbF9hY3Rpb25fc2NoZWR1bGUnICksIDEwLCAzICk7CgkJCWFkZF9maWx0ZXIoICdwcmVfdXBkYXRlX29wdGlvbl8nIC4gJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAka2V5IC4gJ19zY2hlZHVsZV91bml0JywgYXJyYXkoICR0aGlzLCAnaW5pdGlhbF9hY3Rpb25fc2NoZWR1bGUnICksIDEwLCAzICk7CgoJCQkvLyB0aGlzIGlzIGlmIHRoZSB1c2VyIGlzIGNoYW5naW5nIHRoZWlyIHRhc2tzLgoJCQlhZGRfZmlsdGVyKCAndXBkYXRlX29wdGlvbl8nIC4gJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAka2V5IC4gJ19zY2hlZHVsZV9udW1iZXInLCBhcnJheSggJHRoaXMsICdjaGFuZ2VfYWN0aW9uX3NjaGVkdWxlJyApLCAxMCwgMyApOwoJCQlhZGRfZmlsdGVyKCAndXBkYXRlX29wdGlvbl8nIC4gJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAka2V5IC4gJ19zY2hlZHVsZV91bml0JywgYXJyYXkoICR0aGlzLCAnY2hhbmdlX2FjdGlvbl9zY2hlZHVsZScgKSwgMTAsIDMgKTsKCQl9CgoJCS8vIHdoZW4gQWN0aW9uU2NoZWR1bGVyIHJ1bnMgaXRzIG1pZ3JhdGlvbiwgcmVzYXZlIHRoZSBzY2hlZHVsZSBvcHRpb25zLgoJCWFkZF9hY3Rpb24oICdhY3Rpb25fc2NoZWR1bGVyL21pZ3JhdGlvbl9jb21wbGV0ZScsIGFycmF5KCAkdGhpcywgJ3Jlc2F2ZV9hY3Rpb25fc2NoZWR1bGVzJyApICk7CgoJCS8vIGhhbmRsZSBwb3N0IHJlcXVlc3RzIGZvciBvYmplY3QgbWFwcy4KCQlhZGRfYWN0aW9uKCAnYWRtaW5fcG9zdF9kZWxldGVfb2JqZWN0X21hcCcsIGFycmF5KCAkdGhpcywgJ2RlbGV0ZV9vYmplY3RfbWFwJyApICk7CgkJYWRkX2FjdGlvbiggJ2FkbWluX3Bvc3RfcG9zdF9vYmplY3RfbWFwJywgYXJyYXkoICR0aGlzLCAncHJlcGFyZV9vYmplY3RfbWFwX2RhdGEnICkgKTsKCgkJLy8gaW1wb3J0IGFuZCBleHBvcnQgcGx1Z2luIGRhdGEuCgkJYWRkX2FjdGlvbiggJ2FkbWluX3Bvc3Rfb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2VfaW1wb3J0JywgYXJyYXkoICR0aGlzLCAnaW1wb3J0X2pzb25fZmlsZScgKSApOwoJCWFkZF9hY3Rpb24oICdhZG1pbl9wb3N0X29iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlX2V4cG9ydCcsIGFycmF5KCAkdGhpcywgJ2V4cG9ydF9qc29uX2ZpbGUnICkgKTsKCgl9CgoJLyoqCgkgKiBEaXNwbGF5IGEgU2V0dGluZ3MgbGluayBvbiB0aGUgbWFpbiBQbHVnaW5zIHBhZ2UKCSAqCgkgKiBAcGFyYW0gYXJyYXkgICRsaW5rcyB0aGUgYXJyYXkgb2YgbGlua3MgZm9yIHRoZSBtYWluIHBsdWdpbnMgcGFnZS4KCSAqIEBwYXJhbSBzdHJpbmcgJGZpbGUgdGhlIGZpbGVuYW1lLgoJICogQHJldHVybiBhcnJheSAkbGlua3MgdGhlIGFycmF5IG9mIGxpbmtzIGZvciB0aGUgbWFpbiBwbHVnaW5zIHBhZ2UKCSAqLwoJcHVibGljIGZ1bmN0aW9uIHBsdWdpbl9hY3Rpb25fbGlua3MoICRsaW5rcywgJGZpbGUgKSB7CgkJaWYgKCBwbHVnaW5fYmFzZW5hbWUoICR0aGlzLT5maWxlICkgPT09ICRmaWxlICkgewoJCQkkc2V0dGluZ3MgPSAnPGEgaHJlZj0iJyAuIGdldF9hZG1pbl91cmwoKSAuICdvcHRpb25zLWdlbmVyYWwucGhwP3BhZ2U9JyAuICR0aGlzLT5hZG1pbl9zZXR0aW5nc191cmxfcGFyYW0gLiAnIj4nIC4gX18oICdTZXR0aW5ncycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSAuICc8L2E+JzsKCQkJYXJyYXlfdW5zaGlmdCggJGxpbmtzLCAkc2V0dGluZ3MgKTsKCQl9CgkJcmV0dXJuICRsaW5rczsKCX0KCgkvKioKCSAqIEFkbWluIHN0eWxlcy4gTG9hZCB0aGUgQ1NTIGFuZCBKYXZhU2NyaXB0IGZvciB0aGUgcGx1Z2luJ3Mgc2V0dGluZ3MKCSAqLwoJcHVibGljIGZ1bmN0aW9uIGFkbWluX3NjcmlwdHNfYW5kX3N0eWxlcygpIHsKCgkJLy8gRGV2ZWxvcGVycyBtaWdodCBub3Qgd2FudCB0byBib3RoZXIgd2l0aCBzZWxlY3QyIG9yIHNlbGVjdHdvbywgc28gd2UgYWxsb3cgdGhhdCB0byBiZSBjaGFuZ2VhYmxlLgoJCSRzZWxlY3RfbGlicmFyeSA9IGFwcGx5X2ZpbHRlcnMoICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3NlbGVjdF9saWJyYXJ5JywgJ3NlbGVjdHdvbycgKTsKCgkJLyoKCQkgKiBleGFtcGxlIHRvIG1vZGlmeSB0aGUgc2VsZWN0IGxpYnJhcnkKCQkgKiBhZGRfZmlsdGVyKCAnb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2Vfc2VsZWN0X2xpYnJhcnknLCAnc2VsZWN0X2xpYnJhcnknLCAxMCwgMSApOwoJCSAqIGZ1bmN0aW9uIHNlbGVjdF9saWJyYXJ5KCAkc2VsZWN0X2xpYnJhcnkgKSB7CgkJICogCSRzZWxlY3RfbGlicmFyeSA9ICdzZWxlY3QyJzsKCQkgKiAgLy8gdGhpcyBjb3VsZCBhbHNvIGJlIGVtcHR5OyBpbiB0aGF0IGNhc2Ugd2Ugd291bGQganVzdCB1c2UgZGVmYXVsdCBicm93c2VyIHNlbGVjdAoJCSAqIAlyZXR1cm4gJHNlbGVjdF9saWJyYXJ5OwoJCSAqIH0KCQkqLwoKCQkkamF2YXNjcmlwdF9kZXBlbmRlbmNpZXMgPSBhcnJheSggJ2pxdWVyeScgKTsKCQkkY3NzX2RlcGVuZGVuY2llcyAgICAgICAgPSBhcnJheSgpOwoJCWlmICggJycgIT09ICRzZWxlY3RfbGlicmFyeSApIHsKCQkJd3BfZW5xdWV1ZV9zY3JpcHQoICRzZWxlY3RfbGlicmFyeSAuICdqcycsIHBsdWdpbnNfdXJsKCAnYXNzZXRzL2pzL3ZlbmRvci8nIC4gJHNlbGVjdF9saWJyYXJ5IC4gJy5taW4uanMnLCAkdGhpcy0+ZmlsZSApLCBhcnJheSggJ2pxdWVyeScgKSwgZmlsZW10aW1lKCBwbHVnaW5fZGlyX3BhdGgoICR0aGlzLT5maWxlICkgLiAnYXNzZXRzL2pzL3ZlbmRvci8nIC4gJHNlbGVjdF9saWJyYXJ5IC4gJy5taW4uanMnICksIHRydWUgKTsKCQkJJGphdmFzY3JpcHRfZGVwZW5kZW5jaWVzW10gPSAkc2VsZWN0X2xpYnJhcnkgLiAnanMnOwoJCQl3cF9lbnF1ZXVlX3N0eWxlKCAkc2VsZWN0X2xpYnJhcnkgLiAnY3NzJywgcGx1Z2luc191cmwoICdhc3NldHMvY3NzL3ZlbmRvci8nIC4gJHNlbGVjdF9saWJyYXJ5IC4gJy5taW4uY3NzJywgJHRoaXMtPmZpbGUgKSwgYXJyYXkoKSwgZmlsZW10aW1lKCBwbHVnaW5fZGlyX3BhdGgoICR0aGlzLT5maWxlICkgLiAnYXNzZXRzL2Nzcy92ZW5kb3IvJyAuICRzZWxlY3RfbGlicmFyeSAuICcubWluLmNzcycgKSwgJ2FsbCcgKTsKCQkJJGNzc19kZXBlbmRlbmNpZXNbXSA9ICRzZWxlY3RfbGlicmFyeSAuICdjc3MnOwoJCX0KCgkJd3BfZW5xdWV1ZV9zY3JpcHQoICR0aGlzLT5zbHVnIC4gJy1hZG1pbicsIHBsdWdpbnNfdXJsKCAnYXNzZXRzL2pzL29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlLWFkbWluLm1pbi5qcycsICR0aGlzLT5maWxlICksICRqYXZhc2NyaXB0X2RlcGVuZGVuY2llcywgZmlsZW10aW1lKCBwbHVnaW5fZGlyX3BhdGgoICR0aGlzLT5maWxlICkgLiAnYXNzZXRzL2pzL29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlLWFkbWluLm1pbi5qcycgKSwgdHJ1ZSApOwoJCXdwX2VucXVldWVfc3R5bGUoICR0aGlzLT5zbHVnIC4gJy1hZG1pbicsIHBsdWdpbnNfdXJsKCAnYXNzZXRzL2Nzcy9vYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZS1hZG1pbi5jc3MnLCAkdGhpcy0+ZmlsZSApLCAkY3NzX2RlcGVuZGVuY2llcywgZmlsZW10aW1lKCBwbHVnaW5fZGlyX3BhdGgoICR0aGlzLT5maWxlICkgLiAnYXNzZXRzL2Nzcy9vYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZS1hZG1pbi5jc3MnICksICdhbGwnICk7Cgl9CgoJLyoqCgkgKiBJbml0aWFsIHJlY3VycmluZyB0YXNrcyBmb3IgQWN0aW9uU2NoZWR1bGVyCgkgKgoJICogQHBhcmFtIHN0cmluZyAkbmV3X3NjaGVkdWxlIHRoZSBuZXcsIHVuc2VyaWFsaXplZCBvcHRpb24gdmFsdWUuCgkgKiBAcGFyYW0gc3RyaW5nICRvbGRfc2NoZWR1bGUgdGhlIG9sZCBvcHRpb24gdmFsdWUuCgkgKiBAcGFyYW0gc3RyaW5nICRvcHRpb25fbmFtZSBvcHRpb24gbmFtZS4KCSAqIEByZXR1cm4gc3RyaW5nICRuZXdfc2NoZWR1bGUKCSAqLwoJcHVibGljIGZ1bmN0aW9uIGluaXRpYWxfYWN0aW9uX3NjaGVkdWxlKCAkbmV3X3NjaGVkdWxlLCAkb2xkX3NjaGVkdWxlLCAkb3B0aW9uX25hbWUgKSB7CgoJCS8vIGdldCB0aGUgY3VycmVudCBzY2hlZHVsZSBuYW1lIGZyb20gdGhlIHRhc2ssIGJhc2VkIG9uIHBhdHRlcm4gaW4gdGhlIGZvcmVhY2guCgkJcHJlZ19tYXRjaCggJy8nIC4gJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAnKC4qKV9zY2hlZHVsZS8nLCAkb3B0aW9uX25hbWUsICRtYXRjaGVzICk7CgkJJHNjaGVkdWxlX25hbWUgICAgID0gJG1hdGNoZXNbMV07CgkJJGFjdGlvbl9ncm91cF9uYW1lID0gJHNjaGVkdWxlX25hbWUgLiAkdGhpcy0+YWN0aW9uX2dyb3VwX3N1ZmZpeDsKCgkJLy8gbWFrZSBzdXJlIHRoZXJlIGFyZSBubyB0YXNrcyBhbHJlYWR5LgoJCSRjdXJyZW50X3Rhc2tzID0gYXNfZ2V0X3NjaGVkdWxlZF9hY3Rpb25zKAoJCQlhcnJheSgKCQkJCSdob29rJyAgPT4gJHRoaXMtPnNjaGVkdWxhYmxlX2NsYXNzZXNbICRzY2hlZHVsZV9uYW1lIF1bJ2luaXRpYWxpemVyJ10sCgkJCQknZ3JvdXAnID0+ICRhY3Rpb25fZ3JvdXBfbmFtZSwKCQkJKSwKCQkJQVJSQVlfQQoJCSk7CgoJCS8vIGV4aXQgaWYgdGhlcmUgYXJlIGFscmVhZHkgdGFza3M7IHRoZXknbGwgYmUgc2F2ZWQgaWYgdGhlIG9wdGlvbiBkYXRhIGNoYW5nZWQuCgkJaWYgKCAhIGVtcHR5KCAkY3VycmVudF90YXNrcyApICkgewoJCQlyZXR1cm4gJG5ld19zY2hlZHVsZTsKCQl9CgoJCSR0aGlzLT5zZXRfYWN0aW9uX3NjaGVkdWxlKCAkc2NoZWR1bGVfbmFtZSwgJGFjdGlvbl9ncm91cF9uYW1lICk7CgoJCXJldHVybiAkbmV3X3NjaGVkdWxlOwoKCX0KCgkvKioKCSAqIFVwZGF0ZSByZWN1cnJpbmcgdGFza3MgZm9yIEFjdGlvblNjaGVkdWxlciBpZiBvcHRpb25zIGNoYW5nZQoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJG9sZF9zY2hlZHVsZSB0aGUgb2xkIG9wdGlvbiB2YWx1ZS4KCSAqIEBwYXJhbSBzdHJpbmcgJG5ld19zY2hlZHVsZSB0aGUgbmV3LCB1bnNlcmlhbGl6ZWQgb3B0aW9uIHZhbHVlLgoJICogQHBhcmFtIHN0cmluZyAkb3B0aW9uX25hbWUgb3B0aW9uIG5hbWUuCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBjaGFuZ2VfYWN0aW9uX3NjaGVkdWxlKCAkb2xkX3NjaGVkdWxlLCAkbmV3X3NjaGVkdWxlLCAkb3B0aW9uX25hbWUgKSB7CgoJCS8vIHRoaXMgbWV0aG9kIGRvZXMgbm90IHJ1biBpZiB0aGUgb3B0aW9uJ3MgZGF0YSBpcyB1bmNoYW5nZWQuCgoJCS8vIGdldCB0aGUgY3VycmVudCBzY2hlZHVsZSBuYW1lIGZyb20gdGhlIHRhc2ssIGJhc2VkIG9uIHBhdHRlcm4gaW4gdGhlIGZvcmVhY2guCgkJcHJlZ19tYXRjaCggJy8nIC4gJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAnKC4qKV9zY2hlZHVsZS8nLCAkb3B0aW9uX25hbWUsICRtYXRjaGVzICk7CgkJJHNjaGVkdWxlX25hbWUgICAgID0gJG1hdGNoZXNbMV07CgkJJGFjdGlvbl9ncm91cF9uYW1lID0gJHNjaGVkdWxlX25hbWUgLiAkdGhpcy0+YWN0aW9uX2dyb3VwX3N1ZmZpeDsKCgkJJHRoaXMtPnNldF9hY3Rpb25fc2NoZWR1bGUoICRzY2hlZHVsZV9uYW1lLCAkYWN0aW9uX2dyb3VwX25hbWUgKTsKCgl9CgoJLyoqCgkgKiBTZXQgdXAgcmVjdXJyaW5nIHRhc2tzIGZvciBBY3Rpb25TY2hlZHVsZXIKCSAqCgkgKiBAcGFyYW0gc3RyaW5nICRzY2hlZHVsZV9uYW1lIHRoZSBuYW1lIG9mIHRoZSBzY2hlZHVsZS4KCSAqIEBwYXJhbSBzdHJpbmcgJGFjdGlvbl9ncm91cF9uYW1lIHRoZSBncm91cCdzIG5hbWUuCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gc2V0X2FjdGlvbl9zY2hlZHVsZSggJHNjaGVkdWxlX25hbWUsICRhY3Rpb25fZ3JvdXBfbmFtZSApIHsKCQkvLyBleGl0IGlmIHRoZXJlIGlzIG5vIGluaXRpYWxpemVyIHByb3BlcnR5IG9uIHRoaXMgc2NoZWR1bGUuCgkJaWYgKCAhIGlzc2V0KCAkdGhpcy0+c2NoZWR1bGFibGVfY2xhc3Nlc1sgJHNjaGVkdWxlX25hbWUgXVsnaW5pdGlhbGl6ZXInXSApICkgewoJCQlyZXR1cm47CgkJfQoKCQkvLyBjYW5jZWwgcHJldmlvdXMgdGFzay4KCQkkdGhpcy0+cXVldWUtPmNhbmNlbCgKCQkJJHRoaXMtPnNjaGVkdWxhYmxlX2NsYXNzZXNbICRzY2hlZHVsZV9uYW1lIF1bJ2luaXRpYWxpemVyJ10sCgkJCWFycmF5KCksCgkJCSRhY3Rpb25fZ3JvdXBfbmFtZQoJCSk7CgoJCS8vIGNyZWF0ZSBuZXcgcmVjdXJyaW5nIHRhc2sgZm9yIEFjdGlvblNjaGVkdWxlciB0byBjaGVjayBmb3IgZGF0YSB0byBwdWxsIGZyb20gU2FsZXNmb3JjZS4KCQkkdGhpcy0+cXVldWUtPnNjaGVkdWxlX3JlY3VycmluZygKCQkJdGltZSgpLCAvLyBwbHVnaW4gc2VlbXMgdG8gZXhwZWN0IFVUQy4KCQkJJHRoaXMtPnF1ZXVlLT5nZXRfZnJlcXVlbmN5KCAkc2NoZWR1bGVfbmFtZSwgJ3NlY29uZHMnICksCgkJCSR0aGlzLT5zY2hlZHVsYWJsZV9jbGFzc2VzWyAkc2NoZWR1bGVfbmFtZSBdWydpbml0aWFsaXplciddLAoJCQlhcnJheSgpLAoJCQkkYWN0aW9uX2dyb3VwX25hbWUKCQkpOwoJfQoKCS8qKgoJICogV2hlbiBpdCBmaW5pc2hlcyBpdHMgbWlncmF0aW9uLCByZXNhdmUgdGhlIHNjaGVkdWxlZCB0YXNrcyBmb3IgQWN0aW9uU2NoZWR1bGVyLgoJICovCglwdWJsaWMgZnVuY3Rpb24gcmVzYXZlX2FjdGlvbl9zY2hlZHVsZXMoKSB7CgkJLy8gZm9yIGVhY2ggc2NoZWR1bGFibGUgYWN0aW9uLCBnbyBhaGVhZCBhbmQgcmVzYXZlIGl0LgoJCSRzY2hlZHVsZXNfdXBkYXRlZCAgPSBhcnJheSgpOwoJCSRzY2hlZHVsZXNfcmVzdG9yZWQgPSBhcnJheSgpOwoJCWZvcmVhY2ggKCAkdGhpcy0+c2NoZWR1bGFibGVfY2xhc3NlcyBhcyAka2V5ID0+ICR2YWx1ZSApIHsKCQkJLy8gbWFrZSBzdXJlIGl0IGhhcyBhbiBpbml0aWFsaXplciBwcm9wZXJ0eTsgdGhpcyBpcyB1c2VkIG9uIHJlY3VycmluZyB0YXNrcy4KCQkJaWYgKCBpc3NldCggJHZhbHVlWydpbml0aWFsaXplciddICkgKSB7CgkJCQkvLyB0b2dnbGUgdGhlIHNjaGVkdWxlIG51bWJlciBzZXR0aW5nLgoJCQkJJHNjaGVkdWxlX29wdGlvbl9uYW1lICA9ICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJGtleSAuICdfc2NoZWR1bGVfbnVtYmVyJzsKCQkJCSRwcmV2aW91c19vcHRpb25fdmFsdWUgPSBnZXRfb3B0aW9uKCAkc2NoZWR1bGVfb3B0aW9uX25hbWUsIDAgKTsKCQkJCSRwcmV2aW91c19vcHRpb25fdmFsdWUgPSBmaWx0ZXJfdmFyKCAkcHJldmlvdXNfb3B0aW9uX3ZhbHVlLCBGSUxURVJfU0FOSVRJWkVfTlVNQkVSX0lOVCApOwoJCQkJJG5ld19vcHRpb25fdmFsdWUgICAgICA9ICRwcmV2aW91c19vcHRpb25fdmFsdWUgKyAxOwoJCQkJJHNjaGVkdWxlX3VwZGF0ZWQgICAgICA9IHVwZGF0ZV9vcHRpb24oICRzY2hlZHVsZV9vcHRpb25fbmFtZSwgJG5ld19vcHRpb25fdmFsdWUgKTsKCQkJCWlmICggdHJ1ZSA9PT0gJHNjaGVkdWxlX3VwZGF0ZWQgKSB7CgkJCQkJJHNjaGVkdWxlc191cGRhdGVkW10gPSAka2V5OwoJCQkJCSRzY2hlZHVsZV9yZXN0b3JlZCAgID0gdXBkYXRlX29wdGlvbiggJHNjaGVkdWxlX29wdGlvbl9uYW1lLCAkcHJldmlvdXNfb3B0aW9uX3ZhbHVlICk7CgkJCQkJaWYgKCB0cnVlID09PSAkc2NoZWR1bGVfcmVzdG9yZWQgKSB7CgkJCQkJCSRzY2hlZHVsZXNfcmVzdG9yZWRbXSA9ICRrZXk7CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoKCQkvLyBjcmVhdGUgYSBsb2cgZW50cnkgZnJvbSB0aGUgdXBkYXRlZCBzY2hlZHVsZWQgdGFza3MuCgkJaWYgKCAhIGVtcHR5KCAkc2NoZWR1bGVzX3VwZGF0ZWQgKSB8fCAhIGVtcHR5KCAkc2NoZWR1bGVzX3Jlc3RvcmVkICkgKSB7CgkJCSRzdGF0dXMgPSAnc3VjY2Vzcyc7CgkJfSBlbHNlIHsKCQkJJHN0YXR1cyA9ICdlcnJvcic7CgkJfQoKCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJfQoKCQkkYm9keSA9IHNwcmludGYoIGVzY19odG1sX18oICdUaGVzZSBhcmUgdGhlIHNjaGVkdWxlZCB0YXNrcyB0aGF0IHdlcmUgdXBkYXRlZDogJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApIC4gJzx1bD4nICk7CgkJZm9yZWFjaCAoICRzY2hlZHVsZXNfdXBkYXRlZCBhcyAkc2NoZWR1bGVfdXBkYXRlZCApIHsKCQkJJGJvZHkgLj0gc3ByaW50ZigKCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgc2NoZWR1bGUgbmFtZS4KCQkJCSc8bGk+JyAuIGVzY19odG1sX18oICdTY2hlZHVsZSBuYW1lOiAlMSRzLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSAuICc8L2xpPicsCgkJCQllc2NfYXR0ciggJHNjaGVkdWxlX3VwZGF0ZWQgKQoJCQkpOwoJCX0KCQkkYm9keSAuPSAnPC91bD4nOwoKCQkkYm9keSAuPSBzcHJpbnRmKCBlc2NfaHRtbF9fKCAnVGhlc2UgYXJlIHRoZSBzY2hlZHVsZWQgdGFza3MgdGhhdCBoYXZlIHRoZSBzYW1lIGZyZXF1ZW5jeSBhcyB0aGV5IGhhZCBwcmUtbWlncmF0aW9uOiAnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiAnPHVsPicgKTsKCQlmb3JlYWNoICggJHNjaGVkdWxlc19yZXN0b3JlZCBhcyAkc2NoZWR1bGVfcmVzdG9yZWQgKSB7CgkJCSRib2R5IC49IHNwcmludGYoCgkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIHNjaGVkdWxlIG5hbWUuCgkJCQknPGxpPicgLiBlc2NfaHRtbF9fKCAnU2NoZWR1bGUgbmFtZTogJTEkcy4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiAnPC9saT4nLAoJCQkJZXNjX2F0dHIoICRzY2hlZHVsZV9yZXN0b3JlZCApCgkJCSk7CgkJfQoJCSRib2R5IC49ICc8L3VsPic7CgoJCSRib2R5IC49IHNwcmludGYoIGVzY19odG1sX18oICdJZiBhbnkgdGFza3Mgd2VyZSBub3QgdXBkYXRlZCwgb3Igd2VyZSBub3QgYWJsZSB0byBrZWVwIHRoZSBzYW1lIGZyZXF1ZW5jeSB0aGV5IGhhZCBiZWZvcmUsIGdvIHRvIHRoZSBTY2hlZHVsaW5nIHRhYiB0byB1cGRhdGUgdGhlbS4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgKTsKCQkkYm9keSAuPSBzcHJpbnRmKAoJCQkvLyB0cmFuc2xhdG9yczogJTEkcyBpcyB0aGUgc2NoZWR1bGUgc2V0dGluZ3MgVVJMLgoJCQl3cF9rc2VzX3Bvc3QoICdJZiBhbnkgdGFza3Mgd2VyZSBub3QgdXBkYXRlZCwgb3Igd2VyZSBub3QgYWJsZSB0byBrZWVwIHRoZSBzYW1lIGZyZXF1ZW5jeSB0aGV5IGhhZCBiZWZvcmUsIGdvIHRvIHRoZSA8YSBocmVmPSInIC4gYWRtaW5fdXJsKCAnb3B0aW9ucy1nZW5lcmFsLnBocD9wYWdlPW9iamVjdC1zeW5jLXNhbGVzZm9yY2UtYWRtaW4mdGFiPXNjaGVkdWxlJyApIC4gJyI+JTEkczwvYT4gdGFiIHRvIHVwZGF0ZSB0aGVtLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJZXNjX2h0bWxfXyggJ1NjaGVkdWxpbmcnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkKCQkpOwoKCQkkbG9nZ2luZy0+c2V0dXAoCgkJCXNwcmludGYoCgkJCQkvLyB0cmFuc2xhdG9yczogJTEkcyBpcyB0aGUgbG9nIHN0YXR1cywgJTIkcyBpcyB0aGUgbmFtZSBvZiBhIFdvcmRQcmVzcyBvYmplY3QuICUzJHMgaXMgdGhlIGlkIG9mIHRoYXQgb2JqZWN0LgoJCQkJZXNjX2h0bWxfXyggJyUxJHMgQWN0aW9uU2NoZWR1bGVyOiB0aGUgQWN0aW9uU2NoZWR1bGVyIGxpYnJhcnkgaGFzIGNvbXBsZXRlZCBpdHMgbWlncmF0aW9uLiBTZWUgdGhlIGxvZyBlbnRyeSBjb250ZW50IGZvciBzdGF0dXMgb24gZWFjaCByZWN1cnJpbmcgdGFzay4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQl1Y2ZpcnN0KCBlc2NfYXR0ciggJHN0YXR1cyApICkKCQkJKSwKCQkJJGJvZHksCgkJCTAsCgkJCTAsCgkJCSRzdGF0dXMKCQkpOwoJfQoKCS8qKgoJICogQ3JlYXRlIHRoZSBXb3JkUHJlc3MgYWRtaW4gb3B0aW9ucyBwYWdlCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBjcmVhdGVfYWRtaW5fbWVudSgpIHsKCQkkdGl0bGUgPSBfXyggJ1NhbGVzZm9yY2UnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICk7CgkJYWRkX29wdGlvbnNfcGFnZSggJHRpdGxlLCAkdGl0bGUsICdjb25maWd1cmVfc2FsZXNmb3JjZScsICR0aGlzLT5hZG1pbl9zZXR0aW5nc191cmxfcGFyYW0sIGFycmF5KCAkdGhpcywgJ3Nob3dfYWRtaW5fcGFnZScgKSApOwoJfQoKCS8qKgoJICogUmVuZGVyIHRoZSBhZG1pbiBwYWdlcyBpbiBXb3JkUHJlc3MuIFRoaXMgYWxzbyBhbGxvd3Mgb3RoZXIgcGx1Z2lucyB0byBhZGQgdGFicyB0byB0aGlzIHBsdWdpbidzIHNldHRpbmdzIHNjcmVlbgoJICovCglwdWJsaWMgZnVuY3Rpb24gc2hvd19hZG1pbl9wYWdlKCkgewoJCSRnZXRfZGF0YSA9IGZpbHRlcl9pbnB1dF9hcnJheSggSU5QVVRfR0VULCBGSUxURVJfU0FOSVRJWkVfU1RSSU5HICk7CgkJZWNobyAnPGRpdiBjbGFzcz0id3JhcCI+JzsKCQllY2hvICc8aDE+JyAuIGVzY19odG1sKCBnZXRfYWRtaW5fcGFnZV90aXRsZSgpICkgLiAnPC9oMT4nOwoJCSRhbGxvd2VkID0gJHRoaXMtPmNoZWNrX3dvcmRwcmVzc19hZG1pbl9wZXJtaXNzaW9ucygpOwoJCWlmICggZmFsc2UgPT09ICRhbGxvd2VkICkgewoJCQlyZXR1cm47CgkJfQoJCSR0YWJzID0gYXJyYXkoCgkJCSdzZXR0aW5ncycgICAgICA9PiBfXyggJ1NldHRpbmdzJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQknYXV0aG9yaXplJyAgICAgPT4gX18oICdBdXRob3JpemUnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCSdmaWVsZG1hcHMnICAgICA9PiBfXyggJ0ZpZWxkbWFwcycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJJ3NjaGVkdWxlJyAgICAgID0+IF9fKCAnU2NoZWR1bGluZycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJJ2ltcG9ydC1leHBvcnQnID0+IF9fKCAnSW1wb3J0ICZhbXA7IEV4cG9ydCcsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkpOyAvLyB0aGlzIGNyZWF0ZXMgdGhlIHRhYnMgZm9yIHRoZSBhZG1pbi4KCgkJLy8gb3B0aW9uYWxseSBtYWtlIHRhYihzKSBmb3IgbG9nZ2luZyBhbmQgbG9nIHNldHRpbmdzLgoJCSRsb2dnaW5nX2VuYWJsZWQgICAgICA9IGdldF9vcHRpb24oICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ2VuYWJsZV9sb2dnaW5nJywgZmFsc2UgKTsKCQkkdGFic1snbG9nX3NldHRpbmdzJ10gPSBfXyggJ0xvZyBTZXR0aW5ncycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKTsKCgkJJG1hcHBpbmdfZXJyb3JzICAgICAgID0gJHRoaXMtPm1hcHBpbmdzLT5nZXRfZmFpbGVkX29iamVjdF9tYXBzKCk7CgkJJG1hcHBpbmdfZXJyb3JzX3RvdGFsID0gaXNzZXQoICRtYXBwaW5nX2Vycm9yc1sndG90YWwnXSApID8gJG1hcHBpbmdfZXJyb3JzWyd0b3RhbCddIDogMDsKCQlpZiAoIDAgPCAkbWFwcGluZ19lcnJvcnNfdG90YWwgKSB7CgkJCSR0YWJzWydtYXBwaW5nX2Vycm9ycyddID0gX18oICdNYXBwaW5nIEVycm9ycycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKTsKCQl9CgoJCS8vIGZpbHRlciBmb3IgZXh0ZW5kaW5nIHRoZSB0YWJzIGF2YWlsYWJsZSBvbiB0aGUgcGFnZQoJCS8vIGN1cnJlbnRseSBpdCB3aWxsIGdvIGludG8gdGhlIGRlZmF1bHQgc3dpdGNoIGNhc2UgZm9yICR0YWIuCgkJJHRhYnMgPSBhcHBseV9maWx0ZXJzKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdzZXR0aW5nc190YWJzJywgJHRhYnMgKTsKCgkJJHRhYiA9IGlzc2V0KCAkZ2V0X2RhdGFbJ3RhYiddICkgPyBzYW5pdGl6ZV9rZXkoICRnZXRfZGF0YVsndGFiJ10gKSA6ICdzZXR0aW5ncyc7CgkJJHRoaXMtPnRhYnMoICR0YWJzLCAkdGFiICk7CgoJCSRjb25zdW1lcl9rZXkgICAgPSAkdGhpcy0+bG9naW5fY3JlZGVudGlhbHNbJ2NvbnN1bWVyX2tleSddOwoJCSRjb25zdW1lcl9zZWNyZXQgPSAkdGhpcy0+bG9naW5fY3JlZGVudGlhbHNbJ2NvbnN1bWVyX3NlY3JldCddOwoJCSRjYWxsYmFja191cmwgICAgPSAkdGhpcy0+bG9naW5fY3JlZGVudGlhbHNbJ2NhbGxiYWNrX3VybCddOwoKCQlpZiAoIHRydWUgIT09ICR0aGlzLT5zYWxlc2ZvcmNlWydpc19hdXRob3JpemVkJ10gKSB7CgkJCSR1cmwgICAgID0gZXNjX3VybCggJGNhbGxiYWNrX3VybCApOwoJCQkkYW5jaG9yICA9IGVzY19odG1sX18oICdBdXRob3JpemUgdGFiJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApOwoJCQkkbWVzc2FnZSA9IHNwcmludGYoICdTYWxlc2ZvcmNlIG5lZWRzIHRvIGJlIGF1dGhvcml6ZWQgdG8gY29ubmVjdCB0byB0aGlzIHdlYnNpdGUuIFVzZSB0aGUgPGEgaHJlZj0iJXMiPiVzPC9hPiB0byBjb25uZWN0LicsICR1cmwsICRhbmNob3IgKTsKCQkJcmVxdWlyZSBwbHVnaW5fZGlyX3BhdGgoICR0aGlzLT5maWxlICkgLiAnL3RlbXBsYXRlcy9hZG1pbi9lcnJvci5waHAnOwoJCX0KCgkJaWYgKCAwID09PSBjb3VudCggJHRoaXMtPm1hcHBpbmdzLT5nZXRfZmllbGRtYXBzKCkgKSApIHsKCQkJJHVybCAgICAgPSBlc2NfdXJsKCBnZXRfYWRtaW5fdXJsKCBudWxsLCAnb3B0aW9ucy1nZW5lcmFsLnBocD9wYWdlPScgLiAkdGhpcy0+YWRtaW5fc2V0dGluZ3NfdXJsX3BhcmFtIC4gJyZ0YWI9ZmllbGRtYXBzJyApICk7CgkJCSRhbmNob3IgID0gZXNjX2h0bWxfXyggJ0ZpZWxkbWFwcyB0YWInLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICk7CgkJCSRtZXNzYWdlID0gc3ByaW50ZiggJ05vIGZpZWxkbWFwcyBleGlzdCB5ZXQuIFVzZSB0aGUgPGEgaHJlZj0iJXMiPiVzPC9hPiB0byBtYXAgV29yZFByZXNzIGFuZCBTYWxlc2ZvcmNlIG9iamVjdHMgdG8gZWFjaCBvdGhlci4nLCAkdXJsLCAkYW5jaG9yICk7CgkJCXJlcXVpcmUgcGx1Z2luX2Rpcl9wYXRoKCAkdGhpcy0+ZmlsZSApIC4gJy90ZW1wbGF0ZXMvYWRtaW4vZXJyb3IucGhwJzsKCQl9CgoJCXRyeSB7CgkJCXN3aXRjaCAoICR0YWIgKSB7CgkJCQljYXNlICdhdXRob3JpemUnOgoJCQkJCWlmICggaXNzZXQoICRnZXRfZGF0YVsnY29kZSddICkgKSB7CgkJCQkJCS8vIHRoaXMgc3RyaW5nIGlzIGFuIG9hdXRoIHRva2VuLgoJCQkJCQkkZGF0YSAgICAgICAgICA9IGVzY19odG1sKCB3cF91bnNsYXNoKCAkZ2V0X2RhdGFbJ2NvZGUnXSApICk7CgkJCQkJCSRpc19hdXRob3JpemVkID0gJHRoaXMtPnNhbGVzZm9yY2VbJ3NmYXBpJ10tPnJlcXVlc3RfdG9rZW4oICRkYXRhICk7CgkJCQkJCT8+CgkJCQkJCTxzY3JpcHQ+d2luZG93LmxvY2F0aW9uID0gJzw/cGhwIGVjaG8gZXNjX3VybF9yYXcoICRjYWxsYmFja191cmwgKTsgPz4nPC9zY3JpcHQ+CgkJCQkJCTw/cGhwCgkJCQkJfSBlbHNlaWYgKCB0cnVlID09PSAkdGhpcy0+c2FsZXNmb3JjZVsnaXNfYXV0aG9yaXplZCddICkgewoJCQkJCQkJcmVxdWlyZV9vbmNlIHBsdWdpbl9kaXJfcGF0aCggJHRoaXMtPmZpbGUgKSAuICcvdGVtcGxhdGVzL2FkbWluL2F1dGhvcml6ZWQucGhwJzsKCQkJCQkJCSR0aGlzLT5zdGF0dXMoICR0aGlzLT5zYWxlc2ZvcmNlWydzZmFwaSddICk7CgkJCQkJfSBlbHNlaWYgKCB0cnVlID09PSBpc19vYmplY3QoICR0aGlzLT5zYWxlc2ZvcmNlWydzZmFwaSddICkgJiYgaXNzZXQoICRjb25zdW1lcl9rZXkgKSAmJiBpc3NldCggJGNvbnN1bWVyX3NlY3JldCApICkgewoJCQkJCQk/PgoJCQkJCQk8cD48YSBjbGFzcz0iYnV0dG9uIGJ1dHRvbi1wcmltYXJ5IiBocmVmPSI8P3BocCBlY2hvIGVzY191cmwoICR0aGlzLT5zYWxlc2ZvcmNlWydzZmFwaSddLT5nZXRfYXV0aG9yaXphdGlvbl9jb2RlKCkgKTsgPz4iPjw/cGhwIGVjaG8gZXNjX2h0bWxfXyggJ0Nvbm5lY3QgdG8gU2FsZXNmb3JjZScsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKTsgPz48L2E+PC9wPgoJCQkJCQk8P3BocAoJCQkJCX0gZWxzZSB7CgkJCQkJCSR1cmwgICAgPSBlc2NfdXJsKCBnZXRfYWRtaW5fdXJsKCBudWxsLCAnb3B0aW9ucy1nZW5lcmFsLnBocD9wYWdlPScgLiAkdGhpcy0+YWRtaW5fc2V0dGluZ3NfdXJsX3BhcmFtIC4gJyZ0YWI9c2V0dGluZ3MnICkgKTsKCQkJCQkJJGFuY2hvciA9IGVzY19odG1sX18oICdTZXR0aW5ncycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKTsKCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmUgZm9yIHRoZSBzZXR0aW5ncyB0YWIgbGluazogMSkgdGhlIHVybCwgYW5kIDIpIHRoZSBhbmNob3IgdGV4dC4KCQkJCQkJJG1lc3NhZ2UgPSBzcHJpbnRmKCBlc2NfaHRtbF9fKCAnU2FsZXNmb3JjZSBuZWVkcyB0byBiZSBhdXRob3JpemVkIHRvIGNvbm5lY3QgdG8gdGhpcyB3ZWJzaXRlIGJ1dCB0aGUgY3JlZGVudGlhbHMgYXJlIG1pc3NpbmcuIFVzZSB0aGUgPGEgaHJlZj0iJTEkcyI+JTIkczwvYT4gdGFiIHRvIGFkZCB0aGVtLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwgJHVybCwgJGFuY2hvciApOwoJCQkJCQlyZXF1aXJlX29uY2UgcGx1Z2luX2Rpcl9wYXRoKCAkdGhpcy0+ZmlsZSApIC4gJy90ZW1wbGF0ZXMvYWRtaW4vZXJyb3IucGhwJzsKCQkJCQl9CgkJCQkJYnJlYWs7CgkJCQljYXNlICdmaWVsZG1hcHMnOgoJCQkJCWlmICggaXNzZXQoICRnZXRfZGF0YVsnbWV0aG9kJ10gKSApIHsKCgkJCQkJCSRtZXRob2QgICAgICA9IHNhbml0aXplX2tleSggJGdldF9kYXRhWydtZXRob2QnXSApOwoJCQkJCQkkZXJyb3JfdXJsICAgPSBnZXRfYWRtaW5fdXJsKCBudWxsLCAnb3B0aW9ucy1nZW5lcmFsLnBocD9wYWdlPScgLiAkdGhpcy0+YWRtaW5fc2V0dGluZ3NfdXJsX3BhcmFtIC4gJyZ0YWI9ZmllbGRtYXBzJm1ldGhvZD0nIC4gJG1ldGhvZCApOwoJCQkJCQkkc3VjY2Vzc191cmwgPSBnZXRfYWRtaW5fdXJsKCBudWxsLCAnb3B0aW9ucy1nZW5lcmFsLnBocD9wYWdlPScgLiAkdGhpcy0+YWRtaW5fc2V0dGluZ3NfdXJsX3BhcmFtIC4gJyZ0YWI9ZmllbGRtYXBzJyApOwoKCQkJCQkJJGRpc2FibGVfbWFwcGVkX2ZpZWxkcyA9IGdldF9vcHRpb24oICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ2Rpc2FibGVfbWFwcGVkX2ZpZWxkcycsIGZhbHNlICk7CgkJCQkJCSRkaXNhYmxlX21hcHBlZF9maWVsZHMgPSBmaWx0ZXJfdmFyKCAkZGlzYWJsZV9tYXBwZWRfZmllbGRzLCBGSUxURVJfVkFMSURBVEVfQk9PTEVBTiApOwoJCQkJCQkkZmllbGRtYXBfY2xhc3MgICAgICAgID0gJ2ZpZWxkbWFwJzsKCQkJCQkJaWYgKCB0cnVlID09PSAkZGlzYWJsZV9tYXBwZWRfZmllbGRzICkgewoJCQkJCQkJJGZpZWxkbWFwX2NsYXNzIC49ICcgZmllbGRtYXAtZGlzYWJsZS1tYXBwZWQtZmllbGRzJzsKCQkJCQkJfQoKCQkJCQkJaWYgKCBpc3NldCggJGdldF9kYXRhWyd0cmFuc2llbnQnXSApICkgewoJCQkJCQkJJHRyYW5zaWVudCA9IHNhbml0aXplX2tleSggJGdldF9kYXRhWyd0cmFuc2llbnQnXSApOwoJCQkJCQkJJHBvc3RlZCAgICA9ICR0aGlzLT5zZndwX3RyYW5zaWVudHMtPmdldCggJHRyYW5zaWVudCApOwoJCQkJCQl9CgoJCQkJCQlpZiAoIGlzc2V0KCAkcG9zdGVkICkgJiYgaXNfYXJyYXkoICRwb3N0ZWQgKSApIHsKCQkJCQkJCSRtYXAgPSAkcG9zdGVkOwoJCQkJCQl9IGVsc2VpZiAoICdlZGl0JyA9PT0gJG1ldGhvZCB8fCAnY2xvbmUnID09PSAkbWV0aG9kIHx8ICdkZWxldGUnID09PSAkbWV0aG9kICkgewoJCQkJCQkJJG1hcCA9ICR0aGlzLT5tYXBwaW5ncy0+Z2V0X2ZpZWxkbWFwcyggaXNzZXQoICRnZXRfZGF0YVsnaWQnXSApID8gc2FuaXRpemVfa2V5KCAkZ2V0X2RhdGFbJ2lkJ10gKSA6ICcnICk7CgkJCQkJCX0KCgkJCQkJCWlmICggJ2FkZCcgPT09ICRtZXRob2QgfHwgKCBpc3NldCggJG1hcCApICYmIGlzX2FycmF5KCAkbWFwICkgJiYgaXNzZXQoICRtYXBbJ2lkJ10gKSApICkgewoJCQkJCQkJaWYgKCBpc3NldCggJG1hcCApICYmIGlzX2FycmF5KCAkbWFwICkgJiYgaXNzZXQoICRtYXBbJ2lkJ10gKSApIHsKCQkJCQkJCQkkbGFiZWwgICAgICAgICAgICAgICAgICAgICAgICAgICA9ICRtYXBbJ2xhYmVsJ107CgkJCQkJCQkJJGZpZWxkbWFwX3N0YXR1cyAgICAgICAgICAgICAgICAgPSAkbWFwWydmaWVsZG1hcF9zdGF0dXMnXTsKCQkJCQkJCQkkc2FsZXNmb3JjZV9vYmplY3QgICAgICAgICAgICAgICA9ICRtYXBbJ3NhbGVzZm9yY2Vfb2JqZWN0J107CgkJCQkJCQkJJHNhbGVzZm9yY2VfcmVjb3JkX3R5cGVzX2FsbG93ZWQgPSBtYXliZV91bnNlcmlhbGl6ZSggJG1hcFsnc2FsZXNmb3JjZV9yZWNvcmRfdHlwZXNfYWxsb3dlZCddICk7CgkJCQkJCQkJJHNhbGVzZm9yY2VfcmVjb3JkX3R5cGVfZGVmYXVsdCAgPSAkbWFwWydzYWxlc2ZvcmNlX3JlY29yZF90eXBlX2RlZmF1bHQnXTsKCQkJCQkJCQkkd29yZHByZXNzX29iamVjdCAgICAgICAgICAgICAgICA9ICRtYXBbJ3dvcmRwcmVzc19vYmplY3QnXTsKCQkJCQkJCQkkcHVsbF90cmlnZ2VyX2ZpZWxkICAgICAgICAgICAgICA9ICRtYXBbJ3B1bGxfdHJpZ2dlcl9maWVsZCddOwoJCQkJCQkJCSRmaWVsZG1hcF9maWVsZHMgICAgICAgICAgICAgICAgID0gJG1hcFsnZmllbGRzJ107CgkJCQkJCQkJJHN5bmNfdHJpZ2dlcnMgICAgICAgICAgICAgICAgICAgPSAkbWFwWydzeW5jX3RyaWdnZXJzJ107CgkJCQkJCQkJJHB1c2hfYXN5bmMgICAgICAgICAgICAgICAgICAgICAgPSAkbWFwWydwdXNoX2FzeW5jJ107CgkJCQkJCQkJJHB1c2hfZHJhZnRzICAgICAgICAgICAgICAgICAgICAgPSAkbWFwWydwdXNoX2RyYWZ0cyddOwoJCQkJCQkJCSRwdWxsX3RvX2RyYWZ0cyAgICAgICAgICAgICAgICAgID0gJG1hcFsncHVsbF90b19kcmFmdHMnXTsKCQkJCQkJCQkkd2VpZ2h0ICAgICAgICAgICAgICAgICAgICAgICAgICA9ICRtYXBbJ3dlaWdodCddOwoJCQkJCQkJfQoJCQkJCQkJaWYgKCAnYWRkJyA9PT0gJG1ldGhvZCB8fCAnZWRpdCcgPT09ICRtZXRob2QgfHwgJ2Nsb25lJyA9PT0gJG1ldGhvZCApIHsKCQkJCQkJCQlyZXF1aXJlX29uY2UgcGx1Z2luX2Rpcl9wYXRoKCAkdGhpcy0+ZmlsZSApIC4gJy90ZW1wbGF0ZXMvYWRtaW4vZmllbGRtYXBzLWFkZC1lZGl0LWNsb25lLnBocCc7CgkJCQkJCQl9IGVsc2VpZiAoICdkZWxldGUnID09PSAkbWV0aG9kICkgewoJCQkJCQkJCXJlcXVpcmVfb25jZSBwbHVnaW5fZGlyX3BhdGgoICR0aGlzLT5maWxlICkgLiAnL3RlbXBsYXRlcy9hZG1pbi9maWVsZG1hcHMtZGVsZXRlLnBocCc7CgkJCQkJCQl9CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQkkbm9fZmllbGRtYXBfdXJsID0gZ2V0X2FkbWluX3VybCggbnVsbCwgJ29wdGlvbnMtZ2VuZXJhbC5waHA/cGFnZT0nIC4gJHRoaXMtPmFkbWluX3NldHRpbmdzX3VybF9wYXJhbSAuICcmdGFiPWZpZWxkbWFwcyZtaXNzaW5nX2ZpZWxkbWFwPXRydWUnICk7CgkJCQkJCQl3cF9zYWZlX3JlZGlyZWN0KCAkbm9fZmllbGRtYXBfdXJsICk7CgkJCQkJCQlleGl0KCk7CgkJCQkJCX0KCQkJCQl9IGVsc2UgewoJCQkJCQkkZmllbGRtYXBzID0gJHRoaXMtPm1hcHBpbmdzLT5nZXRfZmllbGRtYXBzKCk7CgkJCQkJCXJlcXVpcmVfb25jZSBwbHVnaW5fZGlyX3BhdGgoICR0aGlzLT5maWxlICkgLiAnL3RlbXBsYXRlcy9hZG1pbi9maWVsZG1hcHMtbGlzdC5waHAnOwoJCQkJCX0gLy8gRW5kIGlmIHN0YXRlbWVudC4KCQkJCQlicmVhazsKCQkJCWNhc2UgJ2xvZ291dCc6CgkJCQkJJHRoaXMtPmxvZ291dCgpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAnY2xlYXJfY2FjaGUnOgoJCQkJCSR0aGlzLT5jbGVhcl9jYWNoZSgpOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAnY2xlYXJfc2NoZWR1bGUnOgoJCQkJCWlmICggaXNzZXQoICRnZXRfZGF0YVsnc2NoZWR1bGVfbmFtZSddICkgKSB7CgkJCQkJCSRzY2hlZHVsZV9uYW1lID0gc2FuaXRpemVfa2V5KCAkZ2V0X2RhdGFbJ3NjaGVkdWxlX25hbWUnXSApOwoJCQkJCX0KCQkJCQkkdGhpcy0+Y2xlYXJfc2NoZWR1bGUoICRzY2hlZHVsZV9uYW1lICk7CgkJCQkJYnJlYWs7CgkJCQljYXNlICdzZXR0aW5ncyc6CgkJCQkJcmVxdWlyZV9vbmNlIHBsdWdpbl9kaXJfcGF0aCggJHRoaXMtPmZpbGUgKSAuICcvdGVtcGxhdGVzL2FkbWluL3NldHRpbmdzLnBocCc7CgkJCQkJYnJlYWs7CgkJCQljYXNlICdtYXBwaW5nX2Vycm9ycyc6CgkJCQkJaWYgKCBpc3NldCggJGdldF9kYXRhWydtZXRob2QnXSApICkgewoKCQkJCQkJJG1ldGhvZCAgICAgID0gc2FuaXRpemVfa2V5KCAkZ2V0X2RhdGFbJ21ldGhvZCddICk7CgkJCQkJCSRlcnJvcl91cmwgICA9IGdldF9hZG1pbl91cmwoIG51bGwsICdvcHRpb25zLWdlbmVyYWwucGhwP3BhZ2U9JyAuICR0aGlzLT5hZG1pbl9zZXR0aW5nc191cmxfcGFyYW0gLiAnJnRhYj1tYXBwaW5nX2Vycm9ycyZtZXRob2Q9JyAuICRtZXRob2QgKTsKCQkJCQkJJHN1Y2Nlc3NfdXJsID0gZ2V0X2FkbWluX3VybCggbnVsbCwgJ29wdGlvbnMtZ2VuZXJhbC5waHA/cGFnZT0nIC4gJHRoaXMtPmFkbWluX3NldHRpbmdzX3VybF9wYXJhbSAuICcmdGFiPW1hcHBpbmdfZXJyb3JzJyApOwoKCQkJCQkJaWYgKCBpc3NldCggJGdldF9kYXRhWydtYXBfdHJhbnNpZW50J10gKSApIHsKCQkJCQkJCSR0cmFuc2llbnQgPSBzYW5pdGl6ZV9rZXkoICRnZXRfZGF0YVsnbWFwX3RyYW5zaWVudCddICk7CgkJCQkJCQkkcG9zdGVkICAgID0gJHRoaXMtPnNmd3BfdHJhbnNpZW50cy0+Z2V0KCAkdHJhbnNpZW50ICk7CgkJCQkJCX0KCgkJCQkJCWlmICggaXNzZXQoICRwb3N0ZWQgKSAmJiBpc19hcnJheSggJHBvc3RlZCApICkgewoJCQkJCQkJJG1hcF9yb3cgPSAkcG9zdGVkOwoJCQkJCQl9IGVsc2VpZiAoICdlZGl0JyA9PT0gJG1ldGhvZCB8fCAnZGVsZXRlJyA9PT0gJG1ldGhvZCApIHsKCQkJCQkJCSRtYXBfcm93ID0gJHRoaXMtPm1hcHBpbmdzLT5nZXRfZmFpbGVkX29iamVjdF9tYXAoIGlzc2V0KCAkZ2V0X2RhdGFbJ2lkJ10gKSA/IHNhbml0aXplX2tleSggJGdldF9kYXRhWydpZCddICkgOiAnJyApOwoJCQkJCQl9CgoJCQkJCQlpZiAoIGlzc2V0KCAkbWFwX3JvdyApICYmIGlzX2FycmF5KCAkbWFwX3JvdyApICkgewoJCQkJCQkJJHNhbGVzZm9yY2VfaWQgPSAkbWFwX3Jvd1snc2FsZXNmb3JjZV9pZCddOwoJCQkJCQkJJHdvcmRwcmVzc19pZCAgPSAkbWFwX3Jvd1snd29yZHByZXNzX2lkJ107CgkJCQkJCX0KCgkJCQkJCWlmICggJ2VkaXQnID09PSAkbWV0aG9kICkgewoJCQkJCQkJcmVxdWlyZV9vbmNlIHBsdWdpbl9kaXJfcGF0aCggJHRoaXMtPmZpbGUgKSAuICcvdGVtcGxhdGVzL2FkbWluL21hcHBpbmctZXJyb3JzLWVkaXQucGhwJzsKCQkJCQkJfSBlbHNlaWYgKCAnZGVsZXRlJyA9PT0gJG1ldGhvZCApIHsKCQkJCQkJCXJlcXVpcmVfb25jZSBwbHVnaW5fZGlyX3BhdGgoICR0aGlzLT5maWxlICkgLiAnL3RlbXBsYXRlcy9hZG1pbi9tYXBwaW5nLWVycm9ycy1kZWxldGUucGhwJzsKCQkJCQkJfQoJCQkJCX0gZWxzZSB7CgoJCQkJCQlpZiAoIGlzc2V0KCAkZ2V0X2RhdGFbJ21hcHBpbmdfZXJyb3JfdHJhbnNpZW50J10gKSApIHsKCQkJCQkJCSR0cmFuc2llbnQgPSBzYW5pdGl6ZV9rZXkoICRnZXRfZGF0YVsnbWFwcGluZ19lcnJvcl90cmFuc2llbnQnXSApOwoJCQkJCQkJJHBvc3RlZCAgICA9ICR0aGlzLT5zZndwX3RyYW5zaWVudHMtPmdldCggJHRyYW5zaWVudCApOwoJCQkJCQl9CgoJCQkJCQkkaWRzX3N0cmluZyA9ICcnOwoJCQkJCQkkaWRzICAgICAgICA9IGFycmF5KCk7CgkJCQkJCWlmICggaXNzZXQoICRwb3N0ZWRbJ2RlbGV0ZSddICkgKSB7CgkJCQkJCQkkaWRzX3N0cmluZyA9IG1heWJlX3NlcmlhbGl6ZSggJHBvc3RlZFsnZGVsZXRlJ10gKTsKCQkJCQkJCSRpZHMgICAgICAgID0gJHBvc3RlZFsnZGVsZXRlJ107CgkJCQkJCX0KCgkJCQkJCSRlcnJvcl91cmwgICA9IGdldF9hZG1pbl91cmwoIG51bGwsICdvcHRpb25zLWdlbmVyYWwucGhwP3BhZ2U9JyAuICR0aGlzLT5hZG1pbl9zZXR0aW5nc191cmxfcGFyYW0gLiAnJnRhYj1tYXBwaW5nX2Vycm9ycyZpZHM9JyAuICRpZHNfc3RyaW5nICk7CgkJCQkJCSRzdWNjZXNzX3VybCA9IGdldF9hZG1pbl91cmwoIG51bGwsICdvcHRpb25zLWdlbmVyYWwucGhwP3BhZ2U9JyAuICR0aGlzLT5hZG1pbl9zZXR0aW5nc191cmxfcGFyYW0gLiAnJnRhYj1tYXBwaW5nX2Vycm9ycycgKTsKCQkJCQkJcmVxdWlyZV9vbmNlIHBsdWdpbl9kaXJfcGF0aCggJHRoaXMtPmZpbGUgKSAuICcvdGVtcGxhdGVzL2FkbWluL21hcHBpbmctZXJyb3JzLnBocCc7CgkJCQkJfQoJCQkJCWJyZWFrOwoJCQkJY2FzZSAnaW1wb3J0LWV4cG9ydCc6CgkJCQkJcmVxdWlyZV9vbmNlIHBsdWdpbl9kaXJfcGF0aCggJHRoaXMtPmZpbGUgKSAuICcvdGVtcGxhdGVzL2FkbWluL2ltcG9ydC1leHBvcnQucGhwJzsKCQkJCQlicmVhazsKCQkJCWRlZmF1bHQ6CgkJCQkJJGluY2x1ZGVfc2V0dGluZ3MgPSBhcHBseV9maWx0ZXJzKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdzZXR0aW5nc190YWJfaW5jbHVkZV9zZXR0aW5ncycsIHRydWUsICR0YWIgKTsKCQkJCQkkY29udGVudF9iZWZvcmUgICA9IGFwcGx5X2ZpbHRlcnMoICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3NldHRpbmdzX3RhYl9jb250ZW50X2JlZm9yZScsIG51bGwsICR0YWIgKTsKCQkJCQkkY29udGVudF9hZnRlciAgICA9IGFwcGx5X2ZpbHRlcnMoICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3NldHRpbmdzX3RhYl9jb250ZW50X2FmdGVyJywgbnVsbCwgJHRhYiApOwoJCQkJCWlmICggbnVsbCAhPT0gJGNvbnRlbnRfYmVmb3JlICkgewoJCQkJCQllY2hvIGVzY19odG1sKCAkY29udGVudF9iZWZvcmUgKTsKCQkJCQl9CgkJCQkJaWYgKCB0cnVlID09PSAkaW5jbHVkZV9zZXR0aW5ncyApIHsKCQkJCQkJcmVxdWlyZV9vbmNlIHBsdWdpbl9kaXJfcGF0aCggJHRoaXMtPmZpbGUgKSAuICcvdGVtcGxhdGVzL2FkbWluL3NldHRpbmdzLnBocCc7CgkJCQkJfQoJCQkJCWlmICggbnVsbCAhPT0gJGNvbnRlbnRfYWZ0ZXIgKSB7CgkJCQkJCWVjaG8gZXNjX2h0bWwoICRjb250ZW50X2FmdGVyICk7CgkJCQkJfQoJCQkJCWJyZWFrOwoJCQl9IC8vIEVuZCBzd2l0Y2ggc3RhdGVtZW50LgoJCX0gY2F0Y2ggKCBPYmplY3RfU3luY19TZl9FeGNlcHRpb24gJGV4ICkgewoJCQllY2hvIHNwcmludGYoCgkJCQknPHA+RXJyb3IgPHN0cm9uZz4lMSRzPC9zdHJvbmc+OiAlMiRzPC9wPicsCgkJCQlhYnNpbnQoICRleC0+Z2V0Q29kZSgpICksCgkJCQllc2NfaHRtbCggJGV4LT5nZXRNZXNzYWdlKCkgKQoJCQkpOwoJCX0gLy8gRW5kIHRyeSBmb3IgbWVudS9wYWdlIHNldHVwLgoJCWVjaG8gJzwvZGl2Pic7Cgl9CgoJLyoqCgkgKiBDcmVhdGUgZGVmYXVsdCBXb3JkUHJlc3MgYWRtaW4gc2V0dGluZ3MgZm9ybS4gVGhpcyBydW5zIHRoZSBTZXR0aW5ncyBwYWdlLgoJICovCglwdWJsaWMgZnVuY3Rpb24gc2FsZXNmb3JjZV9zZXR0aW5nc19mb3JtcygpIHsKCQkkZ2V0X2RhdGEgPSBmaWx0ZXJfaW5wdXRfYXJyYXkoIElOUFVUX0dFVCwgRklMVEVSX1NBTklUSVpFX1NUUklORyApOwoJCSRwYWdlICAgICA9IGlzc2V0KCAkZ2V0X2RhdGFbJ3RhYiddICkgPyBzYW5pdGl6ZV9rZXkoICRnZXRfZGF0YVsndGFiJ10gKSA6ICdzZXR0aW5ncyc7CgkJJHNlY3Rpb24gID0gaXNzZXQoICRnZXRfZGF0YVsndGFiJ10gKSA/IHNhbml0aXplX2tleSggJGdldF9kYXRhWyd0YWInXSApIDogJ3NldHRpbmdzJzsKCgkJJGlucHV0X2NhbGxiYWNrX2RlZmF1bHQgICA9IGFycmF5KCAkdGhpcywgJ2Rpc3BsYXlfaW5wdXRfZmllbGQnICk7CgkJJGlucHV0X2NoZWNrYm94ZXNfZGVmYXVsdCA9IGFycmF5KCAkdGhpcywgJ2Rpc3BsYXlfY2hlY2tib3hlcycgKTsKCQkkaW5wdXRfc2VsZWN0X2RlZmF1bHQgICAgID0gYXJyYXkoICR0aGlzLCAnZGlzcGxheV9zZWxlY3QnICk7CgkJJGxpbmtfZGVmYXVsdCAgICAgICAgICAgICA9IGFycmF5KCAkdGhpcywgJ2Rpc3BsYXlfbGluaycgKTsKCgkJJGFsbF9maWVsZF9jYWxsYmFja3MgPSBhcnJheSgKCQkJJ3RleHQnICAgICAgID0+ICRpbnB1dF9jYWxsYmFja19kZWZhdWx0LAoJCQknY2hlY2tib3hlcycgPT4gJGlucHV0X2NoZWNrYm94ZXNfZGVmYXVsdCwKCQkJJ3NlbGVjdCcgICAgID0+ICRpbnB1dF9zZWxlY3RfZGVmYXVsdCwKCQkJJ2xpbmsnICAgICAgID0+ICRsaW5rX2RlZmF1bHQsCgkJKTsKCgkJJHRoaXMtPmZpZWxkc19zZXR0aW5ncyggJ3NldHRpbmdzJywgJ3NldHRpbmdzJywgJGFsbF9maWVsZF9jYWxsYmFja3MgKTsKCQkkdGhpcy0+ZmllbGRzX2ZpZWxkbWFwcyggJ2ZpZWxkbWFwcycsICdvYmplY3RzJyApOwoJCSR0aGlzLT5maWVsZHNfc2NoZWR1bGluZyggJ3NjaGVkdWxlJywgJ3NjaGVkdWxlJywgJGFsbF9maWVsZF9jYWxsYmFja3MgKTsKCQkkdGhpcy0+ZmllbGRzX2xvZ19zZXR0aW5ncyggJ2xvZ19zZXR0aW5ncycsICdsb2dfc2V0dGluZ3MnLCAkYWxsX2ZpZWxkX2NhbGxiYWNrcyApOwoJCSR0aGlzLT5maWVsZHNfZXJyb3JzKCAnbWFwcGluZ19lcnJvcnMnLCAnbWFwcGluZ19lcnJvcnMnLCAkYWxsX2ZpZWxkX2NhbGxiYWNrcyApOwoJfQoKCS8qKgoJICogRmllbGRzIGZvciB0aGUgU2V0dGluZ3MgdGFiCgkgKiBUaGlzIHJ1bnMgYWRkX3NldHRpbmdzX3NlY3Rpb24gb25jZSwgYXMgd2VsbCBhcyBhZGRfc2V0dGluZ3NfZmllbGQgYW5kIHJlZ2lzdGVyX3NldHRpbmcgbWV0aG9kcyBmb3IgZWFjaCBvcHRpb24KCSAqCgkgKiBAcGFyYW0gc3RyaW5nICRwYWdlIHdoYXQgcGFnZSB3ZSdyZSBvbi4KCSAqIEBwYXJhbSBzdHJpbmcgJHNlY3Rpb24gd2hhdCBzZWN0aW9uIG9mIHRoZSBwYWdlLgoJICogQHBhcmFtIGFycmF5ICAkY2FsbGJhY2tzIG1ldGhvZCB0byBjYWxsLgoJICovCglwcml2YXRlIGZ1bmN0aW9uIGZpZWxkc19zZXR0aW5ncyggJHBhZ2UsICRzZWN0aW9uLCAkY2FsbGJhY2tzICkgewoJCWFkZF9zZXR0aW5nc19zZWN0aW9uKCAkcGFnZSwgdWN3b3JkcyggJHBhZ2UgKSwgbnVsbCwgJHBhZ2UgKTsKCQkkc2FsZXNmb3JjZV9zZXR0aW5ncyA9IGFycmF5KAoJCQknY29uc3VtZXJfa2V5JyAgICAgICAgICAgICAgICAgICA9PiBhcnJheSgKCQkJCSd0aXRsZScgICAgPT4gX18oICdDb25zdW1lciBLZXknLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQknY2FsbGJhY2snID0+ICRjYWxsYmFja3NbJ3RleHQnXSwKCQkJCSdwYWdlJyAgICAgPT4gJHBhZ2UsCgkJCQknc2VjdGlvbicgID0+ICRzZWN0aW9uLAoJCQkJJ2FyZ3MnICAgICA9PiBhcnJheSgKCQkJCQkndHlwZScgICAgID0+ICd0ZXh0JywKCQkJCQkndmFsaWRhdGUnID0+ICdzYW5pdGl6ZV92YWxpZGF0ZV90ZXh0JywKCQkJCQknZGVzYycgICAgID0+ICcnLAoJCQkJCSdjb25zdGFudCcgPT4gJ09CSkVDVF9TWU5DX1NGX1NBTEVTRk9SQ0VfQ09OU1VNRVJfS0VZJywKCQkJCSksCgoJCQkpLAoJCQknY29uc3VtZXJfc2VjcmV0JyAgICAgICAgICAgICAgICA9PiBhcnJheSgKCQkJCSd0aXRsZScgICAgPT4gX18oICdDb25zdW1lciBTZWNyZXQnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQknY2FsbGJhY2snID0+ICRjYWxsYmFja3NbJ3RleHQnXSwKCQkJCSdwYWdlJyAgICAgPT4gJHBhZ2UsCgkJCQknc2VjdGlvbicgID0+ICRzZWN0aW9uLAoJCQkJJ2FyZ3MnICAgICA9PiBhcnJheSgKCQkJCQkndHlwZScgICAgID0+ICd0ZXh0JywKCQkJCQkndmFsaWRhdGUnID0+ICdzYW5pdGl6ZV92YWxpZGF0ZV90ZXh0JywKCQkJCQknZGVzYycgICAgID0+ICcnLAoJCQkJCSdjb25zdGFudCcgPT4gJ09CSkVDVF9TWU5DX1NGX1NBTEVTRk9SQ0VfQ09OU1VNRVJfU0VDUkVUJywKCQkJCSksCgkJCSksCgkJCSdjYWxsYmFja191cmwnICAgICAgICAgICAgICAgICAgID0+IGFycmF5KAoJCQkJJ3RpdGxlJyAgICA9PiBfXyggJ0NhbGxiYWNrIFVSTCcsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCSdjYWxsYmFjaycgPT4gJGNhbGxiYWNrc1sndGV4dCddLAoJCQkJJ3BhZ2UnICAgICA9PiAkcGFnZSwKCQkJCSdzZWN0aW9uJyAgPT4gJHNlY3Rpb24sCgkJCQknYXJncycgICAgID0+IGFycmF5KAoJCQkJCSd0eXBlJyAgICAgPT4gJ3VybCcsCgkJCQkJJ3ZhbGlkYXRlJyA9PiAnc2FuaXRpemVfdmFsaWRhdGVfdGV4dCcsCgkJCQkJJ2Rlc2MnICAgICA9PiBzcHJpbnRmKAoJCQkJCQkvLyB0cmFuc2xhdG9yczogJTEkcyBpcyB0aGUgYWRtaW4gVVJMIGZvciB0aGUgQXV0aG9yaXplIHRhYi4KCQkJCQkJX18oICdJbiBtb3N0IGNhc2VzLCB5b3Ugd2lsbCB3YW50IHRvIHVzZSAlMSRzIGZvciB0aGlzIHZhbHVlLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJZ2V0X2FkbWluX3VybCggbnVsbCwgJ29wdGlvbnMtZ2VuZXJhbC5waHA/cGFnZT0nIC4gJHRoaXMtPmFkbWluX3NldHRpbmdzX3VybF9wYXJhbSAuICcmdGFiPWF1dGhvcml6ZScgKQoJCQkJCSksCgkJCQkJJ2NvbnN0YW50JyA9PiAnT0JKRUNUX1NZTkNfU0ZfU0FMRVNGT1JDRV9DQUxMQkFDS19VUkwnLAoJCQkJKSwKCQkJKSwKCQkJJ2xvZ2luX2Jhc2VfdXJsJyAgICAgICAgICAgICAgICAgPT4gYXJyYXkoCgkJCQkndGl0bGUnICAgID0+IF9fKCAnTG9naW4gQmFzZSBVUkwnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQknY2FsbGJhY2snID0+ICRjYWxsYmFja3NbJ3RleHQnXSwKCQkJCSdwYWdlJyAgICAgPT4gJHBhZ2UsCgkJCQknc2VjdGlvbicgID0+ICRzZWN0aW9uLAoJCQkJJ2FyZ3MnICAgICA9PiBhcnJheSgKCQkJCQkndHlwZScgICAgID0+ICd1cmwnLAoJCQkJCSd2YWxpZGF0ZScgPT4gJ3Nhbml0aXplX3ZhbGlkYXRlX3RleHQnLAoJCQkJCSdkZXNjJyAgICAgPT4gc3ByaW50ZigKCQkJCQkJLy8gdHJhbnNsYXRvcnM6IDEpIHByb2R1Y3Rpb24gc2FsZXNmb3JjZSBsb2dpbiwgMikgc2FuZGJveCBzYWxlc2ZvcmNlIGxvZ2luLgoJCQkJCQlfXyggJ0ZvciBtb3N0IFNhbGVzZm9yY2Ugc2V0dXBzLCB5b3Ugc2hvdWxkIHVzZSAlMSRzIGZvciBwcm9kdWN0aW9uIGFuZCAlMiRzIGZvciBzYW5kYm94LiBJZiB5b3UgdHJ5IHRvIHVzZSBhbiBpbnN0YW5jZSBuYW1lIGFzIHRoZSBVUkwsIHlvdSBtYXkgZW5jb3VudGVyIFNhbGVzZm9yY2UgZXJyb3JzLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJZXNjX3VybCggJ2h0dHBzOi8vbG9naW4uc2FsZXNmb3JjZS5jb20nICksCgkJCQkJCWVzY191cmwoICdodHRwczovL3Rlc3Quc2FsZXNmb3JjZS5jb20nICkKCQkJCQkpLAoJCQkJCSdjb25zdGFudCcgPT4gJ09CSkVDVF9TWU5DX1NGX1NBTEVTRk9SQ0VfTE9HSU5fQkFTRV9VUkwnLAoJCQkJKSwKCQkJKSwKCQkJJ2F1dGhvcml6ZV91cmxfcGF0aCcgICAgICAgICAgICAgPT4gYXJyYXkoCgkJCQkndGl0bGUnICAgID0+IF9fKCAnQXV0aG9yaXplIFVSTCBQYXRoJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJJ2NhbGxiYWNrJyA9PiAkY2FsbGJhY2tzWyd0ZXh0J10sCgkJCQkncGFnZScgICAgID0+ICRwYWdlLAoJCQkJJ3NlY3Rpb24nICA9PiAkc2VjdGlvbiwKCQkJCSdhcmdzJyAgICAgPT4gYXJyYXkoCgkJCQkJJ3R5cGUnICAgICA9PiAndGV4dCcsCgkJCQkJJ3ZhbGlkYXRlJyA9PiAnc2FuaXRpemVfdmFsaWRhdGVfdGV4dCcsCgkJCQkJJ2Rlc2MnICAgICA9PiBfXyggJ0ZvciBtb3N0IFNhbGVzZm9yY2UgaW5zdGFsbHMsIHRoaXMgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQknY29uc3RhbnQnID0+ICdPQkpFQ1RfU1lOQ19TRl9TQUxFU0ZPUkNFX0FVVEhPUklaRV9VUkxfUEFUSCcsCgkJCQkJJ2RlZmF1bHQnICA9PiAkdGhpcy0+ZGVmYXVsdF9hdXRob3JpemVfdXJsX3BhdGgsCgkJCQkpLAoJCQkpLAoJCQkndG9rZW5fdXJsX3BhdGgnICAgICAgICAgICAgICAgICA9PiBhcnJheSgKCQkJCSd0aXRsZScgICAgPT4gX18oICdUb2tlbiBVUkwgUGF0aCcsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCSdjYWxsYmFjaycgPT4gJGNhbGxiYWNrc1sndGV4dCddLAoJCQkJJ3BhZ2UnICAgICA9PiAkcGFnZSwKCQkJCSdzZWN0aW9uJyAgPT4gJHNlY3Rpb24sCgkJCQknYXJncycgICAgID0+IGFycmF5KAoJCQkJCSd0eXBlJyAgICAgPT4gJ3RleHQnLAoJCQkJCSd2YWxpZGF0ZScgPT4gJ3Nhbml0aXplX3ZhbGlkYXRlX3RleHQnLAoJCQkJCSdkZXNjJyAgICAgPT4gX18oICdGb3IgbW9zdCBTYWxlc2ZvcmNlIGluc3RhbGxzLCB0aGlzIHNob3VsZCBub3QgYmUgY2hhbmdlZC4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJJ2NvbnN0YW50JyA9PiAnT0JKRUNUX1NZTkNfU0ZfU0FMRVNGT1JDRV9UT0tFTl9VUkxfUEFUSCcsCgkJCQkJJ2RlZmF1bHQnICA9PiAkdGhpcy0+ZGVmYXVsdF90b2tlbl91cmxfcGF0aCwKCQkJCSksCgkJCSksCgkJCSdhcGlfdmVyc2lvbicgICAgICAgICAgICAgICAgICAgID0+IGFycmF5KAoJCQkJJ3RpdGxlJyAgICA9PiBfXyggJ1NhbGVzZm9yY2UgQVBJIFZlcnNpb24nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQknY2FsbGJhY2snID0+ICRjYWxsYmFja3NbJ3RleHQnXSwKCQkJCSdwYWdlJyAgICAgPT4gJHBhZ2UsCgkJCQknc2VjdGlvbicgID0+ICRzZWN0aW9uLAoJCQkJJ2FyZ3MnICAgICA9PiBhcnJheSgKCQkJCQkndHlwZScgICAgID0+ICd0ZXh0JywKCQkJCQkndmFsaWRhdGUnID0+ICdzYW5pdGl6ZV92YWxpZGF0ZV90ZXh0JywKCQkJCQknZGVzYycgICAgID0+ICcnLAoJCQkJCSdjb25zdGFudCcgPT4gJ09CSkVDVF9TWU5DX1NGX1NBTEVTRk9SQ0VfQVBJX1ZFUlNJT04nLAoJCQkJCSdkZWZhdWx0JyAgPT4gJHRoaXMtPmRlZmF1bHRfYXBpX3ZlcnNpb24sCgkJCQkpLAoJCQkpLAoJCQknb2JqZWN0X2ZpbHRlcnMnICAgICAgICAgICAgICAgICA9PiBhcnJheSgKCQkJCSd0aXRsZScgICAgPT4gX18oICdMaW1pdCBTYWxlc2ZvcmNlIE9iamVjdHMnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQknY2FsbGJhY2snID0+ICRjYWxsYmFja3NbJ2NoZWNrYm94ZXMnXSwKCQkJCSdwYWdlJyAgICAgPT4gJHBhZ2UsCgkJCQknc2VjdGlvbicgID0+ICRzZWN0aW9uLAoJCQkJJ2FyZ3MnICAgICA9PiBhcnJheSgKCQkJCQkndHlwZScgICAgID0+ICdjaGVja2JveGVzJywKCQkJCQkndmFsaWRhdGUnID0+ICdzYW5pdGl6ZV92YWxpZGF0ZV90ZXh0JywKCQkJCQknZGVzYycgICAgID0+IF9fKCAnQWxsb3dzIHlvdSB0byBsaW1pdCB3aGljaCBTYWxlc2ZvcmNlIG9iamVjdHMgY2FuIGJlIG1hcHBlZCcsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQknaXRlbXMnICAgID0+IGFycmF5KAoJCQkJCQkndHJpZ2dlcmFibGUnID0+IGFycmF5KAoJCQkJCQkJJ3RleHQnICAgID0+IF9fKCAnT25seSBUcmlnZ2VyYWJsZSBvYmplY3RzJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJJ2lkJyAgICAgID0+ICd0cmlnZ2VyYWJsZScsCgkJCQkJCQknZGVzYycgICAgPT4gJycsCgkJCQkJCQknZGVmYXVsdCcgPT4gJHRoaXMtPmRlZmF1bHRfdHJpZ2dlcmFibGUsCgkJCQkJCSksCgkJCQkJCSd1cGRhdGVhYmxlJyAgPT4gYXJyYXkoCgkJCQkJCQkndGV4dCcgICAgPT4gX18oICdPbmx5IFVwZGF0ZWFibGUgb2JqZWN0cycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJCSdpZCcgICAgICA9PiAndXBkYXRlYWJsZScsCgkJCQkJCQknZGVzYycgICAgPT4gJycsCgkJCQkJCQknZGVmYXVsdCcgPT4gJHRoaXMtPmRlZmF1bHRfdXBkYXRlYWJsZSwKCQkJCQkJKSwKCQkJCQkpLAoJCQkJKSwKCQkJKSwKCQkJJ3NhbGVzZm9yY2VfZmllbGRfZGlzcGxheV92YWx1ZScgPT4gYXJyYXkoCgkJCQkndGl0bGUnICAgID0+IF9fKCAnU2FsZXNmb3JjZSBGaWVsZCBEaXNwbGF5IFZhbHVlJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJJ2NhbGxiYWNrJyA9PiAkY2FsbGJhY2tzWydzZWxlY3QnXSwKCQkJCSdwYWdlJyAgICAgPT4gJHBhZ2UsCgkJCQknc2VjdGlvbicgID0+ICRzZWN0aW9uLAoJCQkJJ2FyZ3MnICAgICA9PiBhcnJheSgKCQkJCQkndHlwZScgICAgID0+ICdzZWxlY3QnLAoJCQkJCSd2YWxpZGF0ZScgPT4gJ3Nhbml0aXplX3ZhbGlkYXRlX3RleHQnLAoJCQkJCSdkZXNjJyAgICAgPT4gX18oICdXaGVuIGNob29zaW5nIFNhbGVzZm9yY2UgZmllbGRzIHRvIG1hcCwgdGhpcyB2YWx1ZSBkZXRlcm1pbmVzIGhvdyB0aGUgZHJvcGRvd24gd2lsbCBpZGVudGlmeSBTYWxlc2ZvcmNlIGZpZWxkcy4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJJ2NvbnN0YW50JyA9PiAnJywKCQkJCQknaXRlbXMnICAgID0+IGFycmF5KAoJCQkJCQknZmllbGRfbGFiZWwnID0+IGFycmF5KAoJCQkJCQkJJ3RleHQnICA9PiBfXyggJ0ZpZWxkIExhYmVsJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJJ3ZhbHVlJyA9PiAnZmllbGRfbGFiZWwnLAoJCQkJCQkpLAoJCQkJCQknYXBpX25hbWUnICAgID0+IGFycmF5KAoJCQkJCQkJJ3RleHQnICA9PiBfXyggJ0FQSSBOYW1lJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJJ3ZhbHVlJyA9PiAnYXBpX25hbWUnLAoJCQkJCQkpLAoJCQkJCSksCgkJCQkpLAoJCQkpLAoJCQknZGlzYWJsZV9tYXBwZWRfZmllbGRzJyAgICAgICAgICA9PiBhcnJheSgKCQkJCSd0aXRsZScgICAgPT4gX18oICdQcmV2ZW50IER1cGxpY2F0ZSBGaWVsZCBNYXBwaW5nPycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCSdjYWxsYmFjaycgPT4gJGNhbGxiYWNrc1sndGV4dCddLAoJCQkJJ3BhZ2UnICAgICA9PiAkcGFnZSwKCQkJCSdzZWN0aW9uJyAgPT4gJHNlY3Rpb24sCgkJCQknYXJncycgICAgID0+IGFycmF5KAoJCQkJCSd0eXBlJyAgICAgPT4gJ2NoZWNrYm94JywKCQkJCQkndmFsaWRhdGUnID0+ICdzYW5pdGl6ZV90ZXh0X2ZpZWxkJywKCQkJCQknZGVzYycgICAgID0+IF9fKCAnSWYgY2hlY2tlZCwgYW55IFdvcmRQcmVzcyBvciBTYWxlc2ZvcmNlIGZpZWxkIHRoYXQgaGFzIGFscmVhZHkgYmVlbiBtYXBwZWQsIG9yIHRoYXQgaXMgc2VsZWN0ZWQgd2hpbGUgY3JlYXRpbmcgb3IgZWRpdGluZyBhIGZpZWxkbWFwLCBjYW5ub3QgYmUgbWFwcGVkIGFnYWluLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQknY29uc3RhbnQnID0+ICcnLAoJCQkJKSwKCQkJKSwKCQkJJ3B1bGxfcXVlcnlfbGltaXQnICAgICAgICAgICAgICAgPT4gYXJyYXkoCgkJCQkndGl0bGUnICAgID0+IF9fKCAnUHVsbCBRdWVyeSBSZWNvcmQgTGltaXQnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQknY2FsbGJhY2snID0+ICRjYWxsYmFja3NbJ3RleHQnXSwKCQkJCSdwYWdlJyAgICAgPT4gJHBhZ2UsCgkJCQknc2VjdGlvbicgID0+ICRzZWN0aW9uLAoJCQkJJ2FyZ3MnICAgICA9PiBhcnJheSgKCQkJCQkndHlwZScgICAgID0+ICdudW1iZXInLAoJCQkJCSd2YWxpZGF0ZScgPT4gJ2Fic2ludCcsCgkJCQkJJ2Rlc2MnICAgICA9PiBfXyggJ0xpbWl0IHRoZSBudW1iZXIgb2YgcmVjb3JkcyB0aGF0IGNhbiBiZSBwdWxsZWQgZnJvbSBTYWxlc2ZvcmNlIGluIGEgc2luZ2xlIHF1ZXJ5LicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQknY29uc3RhbnQnID0+ICcnLAoJCQkJCSdkZWZhdWx0JyAgPT4gJHRoaXMtPmRlZmF1bHRfcHVsbF9saW1pdCwKCQkJCSksCgkJCSksCgkJCSdwdWxsX3Rocm90dGxlJyAgICAgICAgICAgICAgICAgID0+IGFycmF5KAoJCQkJJ3RpdGxlJyAgICA9PiBfXyggJ1B1bGwgVGhyb3R0bGUgKEluIFNlY29uZHMpJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJJ2NhbGxiYWNrJyA9PiAkY2FsbGJhY2tzWyd0ZXh0J10sCgkJCQkncGFnZScgICAgID0+ICRwYWdlLAoJCQkJJ3NlY3Rpb24nICA9PiAkc2VjdGlvbiwKCQkJCSdhcmdzJyAgICAgPT4gYXJyYXkoCgkJCQkJJ3R5cGUnICAgICA9PiAnbnVtYmVyJywKCQkJCQkndmFsaWRhdGUnID0+ICdzYW5pdGl6ZV92YWxpZGF0ZV90ZXh0JywKCQkJCQknZGVzYycgICAgID0+IF9fKCAnTnVtYmVyIG9mIHNlY29uZHMgdG8gd2FpdCBiZXR3ZWVuIHJlcGVhdGVkIHNhbGVzZm9yY2UgcHVsbHMuIFByZXZlbnRzIHRoZSB3ZWJzZXJ2ZXIgZnJvbSBiZWNvbWluZyBvdmVybG9hZGVkIGluIGNhc2Ugb2YgdG9vIG1hbnkgY3JvbiBydW5zLCBvciB3ZWJob29rIHVzYWdlLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQknY29uc3RhbnQnID0+ICcnLAoJCQkJCSdkZWZhdWx0JyAgPT4gJHRoaXMtPmRlZmF1bHRfcHVsbF90aHJvdHRsZSwKCQkJCSksCgkJCSksCgkJKTsKCgkJLy8gb25seSBzaG93IHNvYXAgc2V0dGluZ3MgaWYgdGhlIHNvYXAgZXh0ZW5zaW9uIGlzIGVuYWJsZWQgb24gdGhlIHNlcnZlci4KCQlpZiAoIHRydWUgPT09ICR0aGlzLT5zYWxlc2ZvcmNlWydzb2FwX2F2YWlsYWJsZSddICkgewoJCQkkc2FsZXNmb3JjZV9zZXR0aW5nc1sndXNlX3NvYXAnXSAgICAgICA9IGFycmF5KAoJCQkJJ3RpdGxlJyAgICA9PiBfXyggJ0VuYWJsZSB0aGUgU2FsZXNmb3JjZSBTT0FQIEFQST8nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQknY2FsbGJhY2snID0+ICRjYWxsYmFja3NbJ3RleHQnXSwKCQkJCSdwYWdlJyAgICAgPT4gJHBhZ2UsCgkJCQknc2VjdGlvbicgID0+ICRzZWN0aW9uLAoJCQkJJ2NsYXNzJyAgICA9PiAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UtZW5hYmxlLXNvYXAnLAoJCQkJJ2FyZ3MnICAgICA9PiBhcnJheSgKCQkJCQkndHlwZScgICAgID0+ICdjaGVja2JveCcsCgkJCQkJJ3ZhbGlkYXRlJyA9PiAnc2FuaXRpemVfdGV4dF9maWVsZCcsCgkJCQkJJ2Rlc2MnICAgICA9PiBfXyggJ0NoZWNrIHRoaXMgdG8gZW5hYmxlIHRoZSBTT0FQIEFQSSBhbmQgdXNlIGl0IGluc3RlYWQgb2YgdGhlIFJFU1QgQVBJIHdoZW4gdGhlIHBsdWdpbiBzdXBwb3J0cyBpdC4gaHR0cHM6Ly9kZXZlbG9wZXIuc2FsZXNmb3JjZS5jb20vYmxvZ3MvdGVjaC1wdWJzLzIwMTEvMTAvc2FsZXNmb3JjZS1hcGlzLXdoYXQtdGhleS1hcmUtd2hlbi10by11c2UtdGhlbS5odG1sIHRvIGNvbXBhcmUgdGhlIHR3by4gTm90ZTogaWYgeW91IG5lZWQgdG8gZGV0ZWN0IFNhbGVzZm9yY2UgbWVyZ2VzIGluIHRoaXMgcGx1Z2luLCB5b3Ugd2lsbCBuZWVkIHRvIGVuYWJsZSBTT0FQLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQknY29uc3RhbnQnID0+ICcnLAoJCQkJKSwKCQkJKTsKCQkJJHNhbGVzZm9yY2Vfc2V0dGluZ3NbJ3NvYXBfd3NkbF9wYXRoJ10gPSBhcnJheSgKCQkJCSd0aXRsZScgICAgPT4gX18oICdQYXRoIHRvIFNPQVAgV1NETCBGaWxlJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJJ2NhbGxiYWNrJyA9PiAkY2FsbGJhY2tzWyd0ZXh0J10sCgkJCQkncGFnZScgICAgID0+ICRwYWdlLAoJCQkJJ3NlY3Rpb24nICA9PiAkc2VjdGlvbiwKCQkJCSdjbGFzcycgICAgPT4gJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlLXNvYXAtd3NkbC1wYXRoJywKCQkJCSdhcmdzJyAgICAgPT4gYXJyYXkoCgkJCQkJJ3R5cGUnICAgICA9PiAndGV4dCcsCgkJCQkJJ3ZhbGlkYXRlJyA9PiAnc2FuaXRpemVfdGV4dF9maWVsZCcsCgkJCQkJJ2Rlc2MnICAgICA9PiBfXyggJ09wdGlvbmFsbHkgYWRkIGEgcGF0aCB0byB5b3VyIG93biBXU0RMIGZpbGUuIElmIHlvdSBkbyBub3QsIHRoZSBwbHVnaW4gd2lsbCB1c2UgdGhlIGRlZmF1bHQgcGFydG5lci53c2RsLnhtbCBmcm9tIHRoZSBGb3JjZS5jb20gdG9vbGtpdC4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJJ2NvbnN0YW50JyA9PiAnJywKCQkJCSksCgkJCSk7CgkJfQoKCQkkc2FsZXNmb3JjZV9zZXR0aW5nc1snZGVidWdfbW9kZSddICAgICAgICAgICAgICAgPSBhcnJheSgKCQkJJ3RpdGxlJyAgICA9PiBfXyggJ0RlYnVnIE1vZGU/JywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQknY2FsbGJhY2snID0+ICRjYWxsYmFja3NbJ3RleHQnXSwKCQkJJ3BhZ2UnICAgICA9PiAkcGFnZSwKCQkJJ3NlY3Rpb24nICA9PiAkc2VjdGlvbiwKCQkJJ2FyZ3MnICAgICA9PiBhcnJheSgKCQkJCSd0eXBlJyAgICAgPT4gJ2NoZWNrYm94JywKCQkJCSd2YWxpZGF0ZScgPT4gJ3Nhbml0aXplX3RleHRfZmllbGQnLAoJCQkJJ2Rlc2MnICAgICA9PiBfXyggJ0RlYnVnIG1vZGUgY2FuLCBjb21iaW5lZCB3aXRoIHRoZSBMb2cgU2V0dGluZ3MsIGxvZyB0aGluZ3MgbGlrZSBTYWxlc2ZvcmNlIEFQSSByZXF1ZXN0cy4gSXQgY2FuIGNyZWF0ZSBhIGxvdCBvZiBlbnRyaWVzIGlmIGVuYWJsZWQ7IGl0IGlzIG5vdCByZWNvbW1lbmRlZCB0byB1c2UgaXQgaW4gYSBwcm9kdWN0aW9uIGVudmlyb25tZW50LicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCSdjb25zdGFudCcgPT4gJycsCgkJCSksCgkJKTsKCQkkc2FsZXNmb3JjZV9zZXR0aW5nc1snZGVsZXRlX2RhdGFfb25fdW5pbnN0YWxsJ10gPSBhcnJheSgKCQkJJ3RpdGxlJyAgICA9PiBfXyggJ0RlbGV0ZSBQbHVnaW4gRGF0YSBvbiBVbmluc3RhbGw/JywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQknY2FsbGJhY2snID0+ICRjYWxsYmFja3NbJ3RleHQnXSwKCQkJJ3BhZ2UnICAgICA9PiAkcGFnZSwKCQkJJ3NlY3Rpb24nICA9PiAkc2VjdGlvbiwKCQkJJ2FyZ3MnICAgICA9PiBhcnJheSgKCQkJCSd0eXBlJyAgICAgPT4gJ2NoZWNrYm94JywKCQkJCSd2YWxpZGF0ZScgPT4gJ3Nhbml0aXplX3RleHRfZmllbGQnLAoJCQkJJ2Rlc2MnICAgICA9PiBfXyggJ0lmIGNoZWNrZWQsIHRoZSBwbHVnaW4gd2lsbCBkZWxldGUgdGhlIHRhYmxlcyBhbmQgb3RoZXIgZGF0YSBpdCBjcmVhdGVzIHdoZW4geW91IHVuaW5zdGFsbCBpdC4gVW5jaGVja2luZyB0aGlzIGZpZWxkIGNhbiBiZSB1c2VmdWwgaWYgeW91IG5lZWQgdG8gcmVhY3RpdmF0ZSB0aGUgcGx1Z2luIGZvciBhbnkgcmVhc29uIHdpdGhvdXQgbG9zaW5nIGRhdGEuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJJ2NvbnN0YW50JyA9PiAnJywKCQkJKSwKCQkpOwoKCQkvLyBpZiB0aGUgdXNlciBoYXMgYXV0aGVudGljYXRlZCB3aXRoIFNhbGVzZm9yY2UsIG92ZXJyaWRlIHRoZSB0ZXh0IGZpZWxkIHdpdGggYSBkcm9wZG93biBvZiBhdmFpbGFibGUgU2FsZXNmb3JjZSBBUEkgdmVyaXNvbnMuCgkJaWYgKCB0cnVlID09PSBpc19vYmplY3QoICR0aGlzLT5zYWxlc2ZvcmNlWydzZmFwaSddICkgJiYgdHJ1ZSA9PT0gJHRoaXMtPnNhbGVzZm9yY2VbJ3NmYXBpJ10tPmlzX2F1dGhvcml6ZWQoKSApIHsKCQkJJHNhbGVzZm9yY2Vfc2V0dGluZ3NbJ2FwaV92ZXJzaW9uJ10gPSBhcnJheSgKCQkJCSd0aXRsZScgICAgPT4gX18oICdTYWxlc2ZvcmNlIEFQSSBWZXJzaW9uJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJJ2NhbGxiYWNrJyA9PiAkY2FsbGJhY2tzWydzZWxlY3QnXSwKCQkJCSdwYWdlJyAgICAgPT4gJHBhZ2UsCgkJCQknc2VjdGlvbicgID0+ICRzZWN0aW9uLAoJCQkJJ2FyZ3MnICAgICA9PiBhcnJheSgKCQkJCQkndHlwZScgICAgID0+ICdzZWxlY3QnLAoJCQkJCSd2YWxpZGF0ZScgPT4gJ3Nhbml0aXplX3RleHRfZmllbGQnLAoJCQkJCSdkZXNjJyAgICAgPT4gJycsCgkJCQkJJ2NvbnN0YW50JyA9PiAnT0JKRUNUX1NZTkNfU0ZfU0FMRVNGT1JDRV9BUElfVkVSU0lPTicsCgkJCQkJJ2l0ZW1zJyAgICA9PiAkdGhpcy0+dmVyc2lvbl9vcHRpb25zKCksCgkJCQkpLAoJCQkpOwoJCX0KCgkJZm9yZWFjaCAoICRzYWxlc2ZvcmNlX3NldHRpbmdzIGFzICRrZXkgPT4gJGF0dHJpYnV0ZXMgKSB7CgkJCSRpZCAgICAgICA9ICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJGtleTsKCQkJJG5hbWUgICAgID0gJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAka2V5OwoJCQkkdGl0bGUgICAgPSAkYXR0cmlidXRlc1sndGl0bGUnXTsKCQkJJGNhbGxiYWNrID0gJGF0dHJpYnV0ZXNbJ2NhbGxiYWNrJ107CgkJCSR2YWxpZGF0ZSA9ICRhdHRyaWJ1dGVzWydhcmdzJ11bJ3ZhbGlkYXRlJ107CgkJCSRwYWdlICAgICA9ICRhdHRyaWJ1dGVzWydwYWdlJ107CgkJCSRzZWN0aW9uICA9ICRhdHRyaWJ1dGVzWydzZWN0aW9uJ107CgkJCSRjbGFzcyAgICA9IGlzc2V0KCAkYXR0cmlidXRlc1snY2xhc3MnXSApID8gJGF0dHJpYnV0ZXNbJ2NsYXNzJ10gOiAnJzsKCQkJJGFyZ3MgICAgID0gYXJyYXlfbWVyZ2UoCgkJCQkkYXR0cmlidXRlc1snYXJncyddLAoJCQkJYXJyYXkoCgkJCQkJJ3RpdGxlJyAgICAgPT4gJHRpdGxlLAoJCQkJCSdpZCcgICAgICAgID0+ICRpZCwKCQkJCQknbGFiZWxfZm9yJyA9PiAkaWQsCgkJCQkJJ25hbWUnICAgICAgPT4gJG5hbWUsCgkJCQkJJ2NsYXNzJyAgICAgPT4gJGNsYXNzLAoJCQkJKQoJCQkpOwoKCQkJLy8gaWYgdGhlcmUgaXMgYSBjb25zdGFudCBhbmQgaXQgaXMgZGVmaW5lZCwgZG9uJ3QgcnVuIGEgdmFsaWRhdGUgZnVuY3Rpb24uCgkJCWlmICggaXNzZXQoICRhdHRyaWJ1dGVzWydhcmdzJ11bJ2NvbnN0YW50J10gKSAmJiBkZWZpbmVkKCAkYXR0cmlidXRlc1snYXJncyddWydjb25zdGFudCddICkgKSB7CgkJCQkkdmFsaWRhdGUgPSAnJzsKCQkJfQoKCQkJYWRkX3NldHRpbmdzX2ZpZWxkKCAkaWQsICR0aXRsZSwgJGNhbGxiYWNrLCAkcGFnZSwgJHNlY3Rpb24sICRhcmdzICk7CgkJCXJlZ2lzdGVyX3NldHRpbmcoICRwYWdlLCAkaWQsIGFycmF5KCAkdGhpcywgJHZhbGlkYXRlICkgKTsKCQl9Cgl9CgoJLyoqCgkgKiBGaWVsZHMgZm9yIHRoZSBGaWVsZG1hcHMgdGFiCgkgKiBUaGlzIHJ1bnMgYWRkX3NldHRpbmdzX3NlY3Rpb24gb25jZSwgYXMgd2VsbCBhcyBhZGRfc2V0dGluZ3NfZmllbGQgYW5kIHJlZ2lzdGVyX3NldHRpbmcgbWV0aG9kcyBmb3IgZWFjaCBvcHRpb24KCSAqCgkgKiBAcGFyYW0gc3RyaW5nICRwYWdlIHdoYXQgcGFnZSB3ZSdyZSBvbi4KCSAqIEBwYXJhbSBzdHJpbmcgJHNlY3Rpb24gd2hhdCBzZWN0aW9uIG9mIHRoZSBwYWdlLgoJICogQHBhcmFtIHN0cmluZyAkaW5wdXRfY2FsbGJhY2sgbWV0aG9kIHRvIGNhbGwuCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gZmllbGRzX2ZpZWxkbWFwcyggJHBhZ2UsICRzZWN0aW9uLCAkaW5wdXRfY2FsbGJhY2sgPSAnJyApIHsKCQlhZGRfc2V0dGluZ3Nfc2VjdGlvbiggJHBhZ2UsIHVjd29yZHMoICRwYWdlICksIG51bGwsICRwYWdlICk7Cgl9CgoJLyoqCgkgKiBGaWVsZHMgZm9yIHRoZSBTY2hlZHVsaW5nIHRhYgoJICogVGhpcyBydW5zIGFkZF9zZXR0aW5nc19zZWN0aW9uIG9uY2UsIGFzIHdlbGwgYXMgYWRkX3NldHRpbmdzX2ZpZWxkIGFuZCByZWdpc3Rlcl9zZXR0aW5nIG1ldGhvZHMgZm9yIGVhY2ggb3B0aW9uCgkgKgoJICogQHBhcmFtIHN0cmluZyAkcGFnZSB3aGF0IHBhZ2Ugd2UncmUgb24uCgkgKiBAcGFyYW0gc3RyaW5nICRzZWN0aW9uIHdoYXQgc2VjdGlvbiBvZiB0aGUgcGFnZS4KCSAqIEBwYXJhbSBhcnJheSAgJGNhbGxiYWNrcyBtZXRob2QgdG8gY2FsbC4KCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBmaWVsZHNfc2NoZWR1bGluZyggJHBhZ2UsICRzZWN0aW9uLCAkY2FsbGJhY2tzICkgewoKCQlhZGRfc2V0dGluZ3Nfc2VjdGlvbiggJ2JhdGNoJywgX18oICdCYXRjaCBTZXR0aW5ncycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwgbnVsbCwgJHBhZ2UgKTsKCQkkc2VjdGlvbiAgICAgICAgICAgPSAnYmF0Y2gnOwoJCSRzY2hlZHVsZV9zZXR0aW5ncyA9IGFycmF5KAoJCQknYWN0aW9uX3NjaGVkdWxlcl9iYXRjaF9zaXplJyAgICAgICAgID0+IGFycmF5KAoJCQkJJ3RpdGxlJyAgICA9PiBfXyggJ0JhdGNoIFNpemUnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQknY2FsbGJhY2snID0+ICRjYWxsYmFja3NbJ3RleHQnXSwKCQkJCSdwYWdlJyAgICAgPT4gJHBhZ2UsCgkJCQknc2VjdGlvbicgID0+ICRzZWN0aW9uLAoJCQkJJ2FyZ3MnICAgICA9PiBhcnJheSgKCQkJCQkndHlwZScgICAgID0+ICdudW1iZXInLAoJCQkJCSd2YWxpZGF0ZScgPT4gJ2Fic2ludCcsCgkJCQkJJ2RlZmF1bHQnICA9PiA1LAoJCQkJCSdkZXNjJyAgICAgPT4gX18oICdTZXQgaG93IG1hbnkgYWN0aW9ucyAoY2hlY2tpbmcgZm9yIGRhdGEgY2hhbmdlcywgc3luY2luZyBhIHJlY29yZCwgZXRjLiBhbGwgY291bnQgYXMgaW5kaXZpZHVhbCBhY3Rpb25zKSBjYW4gYmUgcnVuIGluIGEgYmF0Y2guIFN0YXJ0IHdpdGggYSBsb3cgbnVtYmVyIGhlcmUsIGxpa2UgNSwgaWYgeW91IGFyZSB1bnN1cmUuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCSdjb25zdGFudCcgPT4gJycsCgkJCQkpLAoKCQkJKSwKCQkJJ2FjdGlvbl9zY2hlZHVsZXJfY29uY3VycmVudF9iYXRjaGVzJyA9PiBhcnJheSgKCQkJCSd0aXRsZScgICAgPT4gX18oICdDb25jdXJyZW50IEJhdGNoZXMnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQknY2FsbGJhY2snID0+ICRjYWxsYmFja3NbJ3RleHQnXSwKCQkJCSdwYWdlJyAgICAgPT4gJHBhZ2UsCgkJCQknc2VjdGlvbicgID0+ICRzZWN0aW9uLAoJCQkJJ2FyZ3MnICAgICA9PiBhcnJheSgKCQkJCQkndHlwZScgICAgID0+ICdudW1iZXInLAoJCQkJCSd2YWxpZGF0ZScgPT4gJ2Fic2ludCcsCgkJCQkJJ2RlZmF1bHQnICA9PiAzLAoJCQkJCSdkZXNjJyAgICAgPT4gX18oICdTZXQgaG93IG1hbnkgYmF0Y2hlcyBvZiBhY3Rpb25zIGNhbiBiZSBydW4gYXQgb25jZS4gU3RhcnQgd2l0aCBhIGxvdyBudW1iZXIgaGVyZSwgbGlrZSAzLCBpZiB5b3UgYXJlIHVuc3VyZS4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJJ2NvbnN0YW50JyA9PiAnJywKCQkJCSksCgkJCSksCgkJKTsKCgkJZm9yZWFjaCAoICR0aGlzLT5zY2hlZHVsYWJsZV9jbGFzc2VzIGFzICRrZXkgPT4gJHZhbHVlICkgewoJCQlhZGRfc2V0dGluZ3Nfc2VjdGlvbiggJGtleSwgJHZhbHVlWydsYWJlbCddLCBudWxsLCAkcGFnZSApOwoJCQlpZiAoIGlzc2V0KCAkdmFsdWVbJ2luaXRpYWxpemVyJ10gKSApIHsKCQkJCSRzY2hlZHVsZV9zZXR0aW5nc1sgJGtleSAuICdfc2NoZWR1bGVfbnVtYmVyJyBdID0gYXJyYXkoCgkJCQkJJ3RpdGxlJyAgICA9PiBfXyggJ1J1biBTY2hlZHVsZSBFdmVyeScsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQknY2FsbGJhY2snID0+ICRjYWxsYmFja3NbJ3RleHQnXSwKCQkJCQkncGFnZScgICAgID0+ICRwYWdlLAoJCQkJCSdzZWN0aW9uJyAgPT4gJGtleSwKCQkJCQknYXJncycgICAgID0+IGFycmF5KAoJCQkJCQkndHlwZScgICAgID0+ICdudW1iZXInLAoJCQkJCQkndmFsaWRhdGUnID0+ICdhYnNpbnQnLAoJCQkJCQknZGVzYycgICAgID0+ICcnLAoJCQkJCQknY29uc3RhbnQnID0+ICcnLAoJCQkJCSksCgkJCQkpOwoJCQkJJHNjaGVkdWxlX3NldHRpbmdzWyAka2V5IC4gJ19zY2hlZHVsZV91bml0JyBdICAgPSBhcnJheSgKCQkJCQkndGl0bGUnICAgID0+IF9fKCAnVGltZSBVbml0JywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCSdjYWxsYmFjaycgPT4gJGNhbGxiYWNrc1snc2VsZWN0J10sCgkJCQkJJ3BhZ2UnICAgICA9PiAkcGFnZSwKCQkJCQknc2VjdGlvbicgID0+ICRrZXksCgkJCQkJJ2FyZ3MnICAgICA9PiBhcnJheSgKCQkJCQkJJ3R5cGUnICAgICA9PiAnc2VsZWN0JywKCQkJCQkJJ3ZhbGlkYXRlJyA9PiAnc2FuaXRpemVfdmFsaWRhdGVfdGV4dCcsCgkJCQkJCSdkZXNjJyAgICAgPT4gJycsCgkJCQkJCSdpdGVtcycgICAgPT4gYXJyYXkoCgkJCQkJCQknbWludXRlcycgPT4gYXJyYXkoCgkJCQkJCQkJJ3RleHQnICA9PiBfXyggJ01pbnV0ZXMnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCQkJJ3ZhbHVlJyA9PiAnbWludXRlcycsCgkJCQkJCQkpLAoJCQkJCQkJJ2hvdXJzJyAgID0+IGFycmF5KAoJCQkJCQkJCSd0ZXh0JyAgPT4gX18oICdIb3VycycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJCQkndmFsdWUnID0+ICdob3VycycsCgkJCQkJCQkpLAoJCQkJCQkJJ2RheXMnICAgID0+IGFycmF5KAoJCQkJCQkJCSd0ZXh0JyAgPT4gX18oICdEYXlzJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJCSd2YWx1ZScgPT4gJ2RheXMnLAoJCQkJCQkJKSwKCQkJCQkJKSwKCQkJCQkpLAoJCQkJKTsKCQkJfQoJCQkkc2NoZWR1bGVfc2V0dGluZ3NbICRrZXkgLiAnX2NsZWFyX2J1dHRvbicgXSA9IGFycmF5KAoJCQkJLy8gdHJhbnNsYXRvcnM6ICR0aGlzLT5nZXRfc2NoZWR1bGVfY291bnQgaXMgYW4gaW50ZWdlciBzaG93aW5nIGhvdyBtYW55IGl0ZW1zIGFyZSBpbiB0aGUgY3VycmVudCBxdWV1ZS4KCQkJCSd0aXRsZScgICAgPT4gc3ByaW50ZiggJ1RoaXMgUXVldWUgSGFzICcgLiBfbiggJyVzIEl0ZW0nLCAnJXMgSXRlbXMnLCAkdGhpcy0+Z2V0X3NjaGVkdWxlX2NvdW50KCAka2V5ICksICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwgJHRoaXMtPmdldF9zY2hlZHVsZV9jb3VudCggJGtleSApICksCgkJCQknY2FsbGJhY2snID0+ICRjYWxsYmFja3NbJ2xpbmsnXSwKCQkJCSdwYWdlJyAgICAgPT4gJHBhZ2UsCgkJCQknc2VjdGlvbicgID0+ICRrZXksCgkJCQknYXJncycgICAgID0+IGFycmF5KAoJCQkJCSdsYWJlbCcgICAgICA9PiBfXyggJ0NsZWFyIHRoaXMgcXVldWUnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJJ2Rlc2MnICAgICAgID0+ICcnLAoJCQkJCSd1cmwnICAgICAgICA9PiBlc2NfdXJsKCAnP3BhZ2U9JyAuICR0aGlzLT5hZG1pbl9zZXR0aW5nc191cmxfcGFyYW0gLiAnJmFtcDt0YWI9Y2xlYXJfc2NoZWR1bGUmYW1wO3NjaGVkdWxlX25hbWU9JyAuICRrZXkgKSwKCQkJCQknbGlua19jbGFzcycgPT4gJ2J1dHRvbiBidXR0b24tc2Vjb25kYXJ5JywKCQkJCSksCgkJCSk7CgkJCWZvcmVhY2ggKCAkc2NoZWR1bGVfc2V0dGluZ3MgYXMgJGtleSA9PiAkYXR0cmlidXRlcyApIHsKCQkJCSRpZCAgICAgICA9ICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJGtleTsKCQkJCSRuYW1lICAgICA9ICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJGtleTsKCQkJCSR0aXRsZSAgICA9ICRhdHRyaWJ1dGVzWyd0aXRsZSddOwoJCQkJJGNhbGxiYWNrID0gJGF0dHJpYnV0ZXNbJ2NhbGxiYWNrJ107CgkJCQkkcGFnZSAgICAgPSAkYXR0cmlidXRlc1sncGFnZSddOwoJCQkJJHNlY3Rpb24gID0gJGF0dHJpYnV0ZXNbJ3NlY3Rpb24nXTsKCQkJCSRhcmdzICAgICA9IGFycmF5X21lcmdlKAoJCQkJCSRhdHRyaWJ1dGVzWydhcmdzJ10sCgkJCQkJYXJyYXkoCgkJCQkJCSd0aXRsZScgICAgID0+ICR0aXRsZSwKCQkJCQkJJ2lkJyAgICAgICAgPT4gJGlkLAoJCQkJCQknbGFiZWxfZm9yJyA9PiAkaWQsCgkJCQkJCSduYW1lJyAgICAgID0+ICRuYW1lLAoJCQkJCSkKCQkJCSk7CgkJCQlhZGRfc2V0dGluZ3NfZmllbGQoICRpZCwgJHRpdGxlLCAkY2FsbGJhY2ssICRwYWdlLCAkc2VjdGlvbiwgJGFyZ3MgKTsKCQkJCXJlZ2lzdGVyX3NldHRpbmcoICRwYWdlLCAkaWQgKTsKCQkJfQoJCX0gLy8gRW5kIGZvcmVhY2ggc3RhdGVtZW50LgoJfQoKCS8qKgoJICogRmllbGRzIGZvciB0aGUgTG9nIFNldHRpbmdzIHRhYgoJICogVGhpcyBydW5zIGFkZF9zZXR0aW5nc19zZWN0aW9uIG9uY2UsIGFzIHdlbGwgYXMgYWRkX3NldHRpbmdzX2ZpZWxkIGFuZCByZWdpc3Rlcl9zZXR0aW5nIG1ldGhvZHMgZm9yIGVhY2ggb3B0aW9uCgkgKgoJICogQHBhcmFtIHN0cmluZyAkcGFnZSB3aGF0IHBhZ2Ugd2UncmUgb24uCgkgKiBAcGFyYW0gc3RyaW5nICRzZWN0aW9uIHdoYXQgc2VjdGlvbiBvZiB0aGUgcGFnZS4KCSAqIEBwYXJhbSBhcnJheSAgJGNhbGxiYWNrcyBtZXRob2QgdG8gY2FsbC4KCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBmaWVsZHNfbG9nX3NldHRpbmdzKCAkcGFnZSwgJHNlY3Rpb24sICRjYWxsYmFja3MgKSB7CgkJYWRkX3NldHRpbmdzX3NlY3Rpb24oICRwYWdlLCB1Y3dvcmRzKCBzdHJfcmVwbGFjZSggJ18nLCAnICcsICRwYWdlICkgKSwgbnVsbCwgJHBhZ2UgKTsKCQkkbG9nX3NldHRpbmdzID0gYXJyYXkoCgkJCSdlbmFibGVfbG9nZ2luZycgICAgICAgID0+IGFycmF5KAoJCQkJJ3RpdGxlJyAgICA9PiBfXyggJ0VuYWJsZSBMb2dnaW5nPycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCSdjYWxsYmFjaycgPT4gJGNhbGxiYWNrc1sndGV4dCddLAoJCQkJJ3BhZ2UnICAgICA9PiAkcGFnZSwKCQkJCSdzZWN0aW9uJyAgPT4gJHNlY3Rpb24sCgkJCQknYXJncycgICAgID0+IGFycmF5KAoJCQkJCSd0eXBlJyAgICAgPT4gJ2NoZWNrYm94JywKCQkJCQkndmFsaWRhdGUnID0+ICdhYnNpbnQnLAoJCQkJCSdkZXNjJyAgICAgPT4gJycsCgkJCQkJJ2NvbnN0YW50JyA9PiAnJywKCQkJCSksCgkJCSksCgkJCSdzdGF0dXNlc190b19sb2cnICAgICAgID0+IGFycmF5KAoJCQkJJ3RpdGxlJyAgICA9PiBfXyggJ1N0YXR1c2VzIHRvIExvZycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCSdjYWxsYmFjaycgPT4gJGNhbGxiYWNrc1snY2hlY2tib3hlcyddLAoJCQkJJ3BhZ2UnICAgICA9PiAkcGFnZSwKCQkJCSdzZWN0aW9uJyAgPT4gJHNlY3Rpb24sCgkJCQknYXJncycgICAgID0+IGFycmF5KAoJCQkJCSd0eXBlJyAgICAgPT4gJ2NoZWNrYm94ZXMnLAoJCQkJCSd2YWxpZGF0ZScgPT4gJ3Nhbml0aXplX3ZhbGlkYXRlX3RleHQnLAoJCQkJCSdkZXNjJyAgICAgPT4gX18oICdUaGVzZSBhcmUgdGhlIHN0YXR1c2VzIHRvIGxvZycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQknaXRlbXMnICAgID0+IGFycmF5KAoJCQkJCQknZXJyb3InICAgPT4gYXJyYXkoCgkJCQkJCQkndGV4dCcgPT4gX18oICdFcnJvcicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJCSdpZCcgICA9PiAnZXJyb3InLAoJCQkJCQkJJ2Rlc2MnID0+ICcnLAoJCQkJCQkpLAoJCQkJCQknc3VjY2VzcycgPT4gYXJyYXkoCgkJCQkJCQkndGV4dCcgPT4gX18oICdTdWNjZXNzJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJJ2lkJyAgID0+ICdzdWNjZXNzJywKCQkJCQkJCSdkZXNjJyA9PiAnJywKCQkJCQkJKSwKCQkJCQkJJ25vdGljZScgID0+IGFycmF5KAoJCQkJCQkJJ3RleHQnID0+IF9fKCAnTm90aWNlJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJJ2lkJyAgID0+ICdub3RpY2UnLAoJCQkJCQkJJ2Rlc2MnID0+ICcnLAoJCQkJCQkpLAoJCQkJCQknZGVidWcnICAgPT4gYXJyYXkoCgkJCQkJCQkndGV4dCcgPT4gX18oICdEZWJ1ZycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJCSdpZCcgICA9PiAnZGVidWcnLAoJCQkJCQkJJ2Rlc2MnID0+ICcnLAoJCQkJCQkpLAoJCQkJCSksCgkJCQkpLAoJCQkpLAoJCQkncHJ1bmVfbG9ncycgICAgICAgICAgICA9PiBhcnJheSgKCQkJCSd0aXRsZScgICAgPT4gX18oICdBdXRvbWF0aWNhbGx5IERlbGV0ZSBPbGQgTG9nIEVudHJpZXM/JywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJJ2NhbGxiYWNrJyA9PiAkY2FsbGJhY2tzWyd0ZXh0J10sCgkJCQkncGFnZScgICAgID0+ICRwYWdlLAoJCQkJJ3NlY3Rpb24nICA9PiAkc2VjdGlvbiwKCQkJCSdhcmdzJyAgICAgPT4gYXJyYXkoCgkJCQkJJ3R5cGUnICAgICA9PiAnY2hlY2tib3gnLAoJCQkJCSd2YWxpZGF0ZScgPT4gJ2Fic2ludCcsCgkJCQkJJ2Rlc2MnICAgICA9PiAnJywKCQkJCQknY29uc3RhbnQnID0+ICcnLAoJCQkJKSwKCQkJKSwKCQkJJ2xvZ3NfaG93X29sZCcgICAgICAgICAgPT4gYXJyYXkoCgkJCQkndGl0bGUnICAgID0+IF9fKCAnQWdlIHRvIERlbGV0ZSBMb2cgRW50cmllcycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCSdjYWxsYmFjaycgPT4gJGNhbGxiYWNrc1sndGV4dCddLAoJCQkJJ3BhZ2UnICAgICA9PiAkcGFnZSwKCQkJCSdzZWN0aW9uJyAgPT4gJHNlY3Rpb24sCgkJCQknYXJncycgICAgID0+IGFycmF5KAoJCQkJCSd0eXBlJyAgICAgPT4gJ3RleHQnLAoJCQkJCSd2YWxpZGF0ZScgPT4gJ3Nhbml0aXplX3ZhbGlkYXRlX3RleHQnLAoJCQkJCSdkZXNjJyAgICAgPT4gX18oICdJZiBhdXRvbWF0aWMgZGVsZXRpbmcgaXMgZW5hYmxlZCwgaXQgd2lsbCBhZmZlY3QgbG9ncyB0aGlzIG9sZC4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJJ2RlZmF1bHQnICA9PiAnMiB3ZWVrcycsCgkJCQkJJ2NvbnN0YW50JyA9PiAnJywKCQkJCSksCgkJCSksCgkJCSdsb2dzX2hvd19vZnRlbl9udW1iZXInID0+IGFycmF5KAoJCQkJJ3RpdGxlJyAgICA9PiBfXyggJ0NoZWNrIEZvciBPbGQgTG9ncyBFdmVyeScsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCSdjYWxsYmFjaycgPT4gJGNhbGxiYWNrc1sndGV4dCddLAoJCQkJJ3BhZ2UnICAgICA9PiAkcGFnZSwKCQkJCSdzZWN0aW9uJyAgPT4gJHNlY3Rpb24sCgkJCQknYXJncycgICAgID0+IGFycmF5KAoJCQkJCSd0eXBlJyAgICAgPT4gJ251bWJlcicsCgkJCQkJJ3ZhbGlkYXRlJyA9PiAnYWJzaW50JywKCQkJCQknZGVzYycgICAgID0+ICcnLAoJCQkJCSdkZWZhdWx0JyAgPT4gJzEnLAoJCQkJCSdjb25zdGFudCcgPT4gJycsCgkJCQkpLAoJCQkpLAoJCQknbG9nc19ob3dfb2Z0ZW5fdW5pdCcgICA9PiBhcnJheSgKCQkJCSd0aXRsZScgICAgPT4gX18oICdUaW1lIFVuaXQnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQknY2FsbGJhY2snID0+ICRjYWxsYmFja3NbJ3NlbGVjdCddLAoJCQkJJ3BhZ2UnICAgICA9PiAkcGFnZSwKCQkJCSdzZWN0aW9uJyAgPT4gJHNlY3Rpb24sCgkJCQknYXJncycgICAgID0+IGFycmF5KAoJCQkJCSd0eXBlJyAgICAgPT4gJ3NlbGVjdCcsCgkJCQkJJ3ZhbGlkYXRlJyA9PiAnc2FuaXRpemVfdmFsaWRhdGVfdGV4dCcsCgkJCQkJJ2Rlc2MnICAgICA9PiBfXyggJ1RoZXNlIHR3byBmaWVsZHMgYXJlIGhvdyBvZnRlbiB0aGUgc2l0ZSB3aWxsIGNoZWNrIGZvciBsb2dzIHRvIGRlbGV0ZS4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJJ2l0ZW1zJyAgICA9PiBhcnJheSgKCQkJCQkJJ21pbnV0ZXMnID0+IGFycmF5KAoJCQkJCQkJJ3RleHQnICA9PiBfXyggJ01pbnV0ZXMnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCQkndmFsdWUnID0+ICdtaW51dGVzJywKCQkJCQkJKSwKCQkJCQkJJ2hvdXJzJyAgID0+IGFycmF5KAoJCQkJCQkJJ3RleHQnICA9PiBfXyggJ0hvdXJzJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJJ3ZhbHVlJyA9PiAnaG91cnMnLAoJCQkJCQkpLAoJCQkJCQknZGF5cycgICAgPT4gYXJyYXkoCgkJCQkJCQkndGV4dCcgID0+IF9fKCAnRGF5cycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJCSd2YWx1ZScgPT4gJ2RheXMnLAoJCQkJCQkpLAoJCQkJCSksCgkJCQkpLAoJCQkpLAoJCQknbG9nc19ob3dfbWFueV9udW1iZXInICA9PiBhcnJheSgKCQkJCSd0aXRsZScgICAgPT4gX18oICdDbGVhciBUaGlzIE1hbnkgTG9nIEVudHJpZXMnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQknY2FsbGJhY2snID0+ICRjYWxsYmFja3NbJ3RleHQnXSwKCQkJCSdwYWdlJyAgICAgPT4gJHBhZ2UsCgkJCQknc2VjdGlvbicgID0+ICRzZWN0aW9uLAoJCQkJJ2FyZ3MnICAgICA9PiBhcnJheSgKCQkJCQkndHlwZScgICAgID0+ICdudW1iZXInLAoJCQkJCSd2YWxpZGF0ZScgPT4gJ2Fic2ludCcsCgkJCQkJJ2Rlc2MnICAgICA9PiBfXyggJ1RoaXMgbnVtYmVyIGlzIGhvdyBtYW55IGxvZyBlbnRyaWVzIHRoZSBwbHVnaW4gd2lsbCB0cnkgdG8gY2xlYXIgYXQgYSB0aW1lLiBJZiB5b3UgZG8gbm90IGVudGVyIGEgbnVtYmVyLCB0aGUgZGVmYXVsdCBpcyAxMDAuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCSdkZWZhdWx0JyAgPT4gJzEwMCcsCgkJCQkJJ2NvbnN0YW50JyA9PiAnJywKCQkJCSksCgkJCSksCgkJCSd0cmlnZ2Vyc190b19sb2cnICAgICAgID0+IGFycmF5KAoJCQkJJ3RpdGxlJyAgICA9PiBfXyggJ1RyaWdnZXJzIHRvIExvZycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCSdjYWxsYmFjaycgPT4gJGNhbGxiYWNrc1snY2hlY2tib3hlcyddLAoJCQkJJ3BhZ2UnICAgICA9PiAkcGFnZSwKCQkJCSdzZWN0aW9uJyAgPT4gJHNlY3Rpb24sCgkJCQknYXJncycgICAgID0+IGFycmF5KAoJCQkJCSd0eXBlJyAgICAgPT4gJ2NoZWNrYm94ZXMnLAoJCQkJCSd2YWxpZGF0ZScgPT4gJ3Nhbml0aXplX3ZhbGlkYXRlX3RleHQnLAoJCQkJCSdkZXNjJyAgICAgPT4gX18oICdUaGVzZSBhcmUgdGhlIHRyaWdnZXJzIHRvIGxvZycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQknaXRlbXMnICAgID0+IGFycmF5KAoJCQkJCQkkdGhpcy0+bWFwcGluZ3MtPnN5bmNfd29yZHByZXNzX2NyZWF0ZSA9PiBhcnJheSgKCQkJCQkJCSd0ZXh0JyA9PiBfXyggJ1dvcmRQcmVzcyBDcmVhdGUnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCQknaWQnICAgPT4gJ3dvcmRwcmVzc19jcmVhdGUnLAoJCQkJCQkJJ2Rlc2MnID0+ICcnLAoJCQkJCQkpLAoJCQkJCQkkdGhpcy0+bWFwcGluZ3MtPnN5bmNfd29yZHByZXNzX3VwZGF0ZSA9PiBhcnJheSgKCQkJCQkJCSd0ZXh0JyA9PiBfXyggJ1dvcmRQcmVzcyBVcGRhdGUnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCQknaWQnICAgPT4gJ3dvcmRwcmVzc191cGRhdGUnLAoJCQkJCQkJJ2Rlc2MnID0+ICcnLAoJCQkJCQkpLAoJCQkJCQkkdGhpcy0+bWFwcGluZ3MtPnN5bmNfd29yZHByZXNzX2RlbGV0ZSA9PiBhcnJheSgKCQkJCQkJCSd0ZXh0JyA9PiBfXyggJ1dvcmRQcmVzcyBEZWxldGUnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCQknaWQnICAgPT4gJ3dvcmRwcmVzc19kZWxldGUnLAoJCQkJCQkJJ2Rlc2MnID0+ICcnLAoJCQkJCQkpLAoJCQkJCQkkdGhpcy0+bWFwcGluZ3MtPnN5bmNfc2ZfY3JlYXRlID0+IGFycmF5KAoJCQkJCQkJJ3RleHQnID0+IF9fKCAnU2FsZXNmb3JjZSBDcmVhdGUnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCQknaWQnICAgPT4gJ3NmX2NyZWF0ZScsCgkJCQkJCQknZGVzYycgPT4gJycsCgkJCQkJCSksCgkJCQkJCSR0aGlzLT5tYXBwaW5ncy0+c3luY19zZl91cGRhdGUgPT4gYXJyYXkoCgkJCQkJCQkndGV4dCcgPT4gX18oICdTYWxlc2ZvcmNlIFVwZGF0ZScsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJCSdpZCcgICA9PiAnc2ZfdXBkYXRlJywKCQkJCQkJCSdkZXNjJyA9PiAnJywKCQkJCQkJKSwKCQkJCQkJJHRoaXMtPm1hcHBpbmdzLT5zeW5jX3NmX2RlbGV0ZSA9PiBhcnJheSgKCQkJCQkJCSd0ZXh0JyA9PiBfXyggJ1NhbGVzZm9yY2UgRGVsZXRlJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJJ2lkJyAgID0+ICdzZl9kZWxldGUnLAoJCQkJCQkJJ2Rlc2MnID0+ICcnLAoJCQkJCQkpLAoJCQkJCSksCgkJCQkpLAoJCQkpLAoJCSk7CgkJZm9yZWFjaCAoICRsb2dfc2V0dGluZ3MgYXMgJGtleSA9PiAkYXR0cmlidXRlcyApIHsKCQkJJGlkICAgICAgID0gJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAka2V5OwoJCQkkbmFtZSAgICAgPSAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICRrZXk7CgkJCSR0aXRsZSAgICA9ICRhdHRyaWJ1dGVzWyd0aXRsZSddOwoJCQkkY2FsbGJhY2sgPSAkYXR0cmlidXRlc1snY2FsbGJhY2snXTsKCQkJJHBhZ2UgICAgID0gJGF0dHJpYnV0ZXNbJ3BhZ2UnXTsKCQkJJHNlY3Rpb24gID0gJGF0dHJpYnV0ZXNbJ3NlY3Rpb24nXTsKCQkJJGFyZ3MgICAgID0gYXJyYXlfbWVyZ2UoCgkJCQkkYXR0cmlidXRlc1snYXJncyddLAoJCQkJYXJyYXkoCgkJCQkJJ3RpdGxlJyAgICAgPT4gJHRpdGxlLAoJCQkJCSdpZCcgICAgICAgID0+ICRpZCwKCQkJCQknbGFiZWxfZm9yJyA9PiAkaWQsCgkJCQkJJ25hbWUnICAgICAgPT4gJG5hbWUsCgkJCQkpCgkJCSk7CgkJCWFkZF9zZXR0aW5nc19maWVsZCggJGlkLCAkdGl0bGUsICRjYWxsYmFjaywgJHBhZ2UsICRzZWN0aW9uLCAkYXJncyApOwoJCQlyZWdpc3Rlcl9zZXR0aW5nKCAkcGFnZSwgJGlkICk7CgkJfQoJfQoKCS8qKgoJICogRmllbGRzIGZvciB0aGUgTWFwcGluZyBFcnJvcnMgdGFiCgkgKiBUaGlzIHJ1bnMgYWRkX3NldHRpbmdzX3NlY3Rpb24gb25jZSwgYXMgd2VsbCBhcyBhZGRfc2V0dGluZ3NfZmllbGQgYW5kIHJlZ2lzdGVyX3NldHRpbmcgbWV0aG9kcyBmb3IgZWFjaCBvcHRpb24KCSAqCgkgKiBAcGFyYW0gc3RyaW5nICRwYWdlIHdoYXQgcGFnZSB3ZSdyZSBvbi4KCSAqIEBwYXJhbSBzdHJpbmcgJHNlY3Rpb24gd2hhdCBzZWN0aW9uIG9mIHRoZSBwYWdlLgoJICogQHBhcmFtIGFycmF5ICAkY2FsbGJhY2tzIG1ldGhvZCB0byBjYWxsLgoJICovCglwcml2YXRlIGZ1bmN0aW9uIGZpZWxkc19lcnJvcnMoICRwYWdlLCAkc2VjdGlvbiwgJGNhbGxiYWNrcyApIHsKCgkJYWRkX3NldHRpbmdzX3NlY3Rpb24oICRzZWN0aW9uLCBfXyggJ01hcHBpbmcgRXJyb3IgU2V0dGluZ3MnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksIG51bGwsICRwYWdlICk7CgkJJGVycm9yX3NldHRpbmdzID0gYXJyYXkoCgkJCSdlcnJvcnNfcGVyX3BhZ2UnID0+IGFycmF5KAoJCQkJJ3RpdGxlJyAgICA9PiBfXyggJ0Vycm9ycyBwZXIgcGFnZScsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCSdjYWxsYmFjaycgPT4gJGNhbGxiYWNrc1sndGV4dCddLAoJCQkJJ3BhZ2UnICAgICA9PiAkcGFnZSwKCQkJCSdzZWN0aW9uJyAgPT4gJHNlY3Rpb24sCgkJCQknYXJncycgICAgID0+IGFycmF5KAoJCQkJCSd0eXBlJyAgICAgPT4gJ251bWJlcicsCgkJCQkJJ3ZhbGlkYXRlJyA9PiAnYWJzaW50JywKCQkJCQknZGVmYXVsdCcgID0+IDUwLAoJCQkJCSdkZXNjJyAgICAgPT4gX18oICdTZXQgaG93IG1hbnkgbWFwcGluZyBlcnJvcnMgdG8gc2hvdyBvbiBhIHNpbmdsZSBwYWdlLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQknY29uc3RhbnQnID0+ICcnLAoJCQkJKSwKCQkJKSwKCQkpOwoKCQlmb3JlYWNoICggJGVycm9yX3NldHRpbmdzIGFzICRrZXkgPT4gJGF0dHJpYnV0ZXMgKSB7CgkJCSRpZCAgICAgICA9ICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJGtleTsKCQkJJG5hbWUgICAgID0gJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAka2V5OwoJCQkkdGl0bGUgICAgPSAkYXR0cmlidXRlc1sndGl0bGUnXTsKCQkJJGNhbGxiYWNrID0gJGF0dHJpYnV0ZXNbJ2NhbGxiYWNrJ107CgkJCSRwYWdlICAgICA9ICRhdHRyaWJ1dGVzWydwYWdlJ107CgkJCSRzZWN0aW9uICA9ICRhdHRyaWJ1dGVzWydzZWN0aW9uJ107CgkJCSRhcmdzICAgICA9IGFycmF5X21lcmdlKAoJCQkJJGF0dHJpYnV0ZXNbJ2FyZ3MnXSwKCQkJCWFycmF5KAoJCQkJCSd0aXRsZScgICAgID0+ICR0aXRsZSwKCQkJCQknaWQnICAgICAgICA9PiAkaWQsCgkJCQkJJ2xhYmVsX2ZvcicgPT4gJGlkLAoJCQkJCSduYW1lJyAgICAgID0+ICRuYW1lLAoJCQkJKQoJCQkpOwoJCQlhZGRfc2V0dGluZ3NfZmllbGQoICRpZCwgJHRpdGxlLCAkY2FsbGJhY2ssICRwYWdlLCAkc2VjdGlvbiwgJGFyZ3MgKTsKCQkJcmVnaXN0ZXJfc2V0dGluZyggJHBhZ2UsICRpZCApOwoJCX0gLy8gRW5kIGZvcmVhY2goKSBtZXRob2QuCgl9CgoJLyoqCgkgKiBDcmVhdGUgdGhlIG5vdGljZXMsIHNldHRpbmdzLCBhbmQgY29uZGl0aW9ucyBieSB3aGljaCBhZG1pbiBub3RpY2VzIHNob3VsZCBhcHBlYXIKCSAqLwoJcHVibGljIGZ1bmN0aW9uIG5vdGljZXMoKSB7CgoJCS8vIGJlZm9yZSBhIG5vdGljZSBpcyBkaXNwbGF5ZWQsIHdlIHNob3VsZCBtYWtlIHN1cmUgd2UgYXJlIG9uIGEgcGFnZSByZWxhdGVkIHRvIHRoaXMgcGx1Z2luLgoJCWlmICggISBpc3NldCggJF9HRVRbJ3BhZ2UnXSApIHx8ICR0aGlzLT5hZG1pbl9zZXR0aW5nc191cmxfcGFyYW0gIT09ICRfR0VUWydwYWdlJ10gKSB7CgkJCXJldHVybjsKCQl9CgoJCSRnZXRfZGF0YSA9IGZpbHRlcl9pbnB1dF9hcnJheSggSU5QVVRfR0VULCBGSUxURVJfU0FOSVRJWkVfU1RSSU5HICk7CgoJCSRub3RpY2VzID0gYXJyYXkoCgkJCSdwZXJtaXNzaW9uJyAgICAgICAgICAgICAgPT4gYXJyYXkoCgkJCQknY29uZGl0aW9uJyAgID0+ICggZmFsc2UgPT09ICR0aGlzLT5jaGVja193b3JkcHJlc3NfYWRtaW5fcGVybWlzc2lvbnMoKSApLAoJCQkJJ21lc3NhZ2UnICAgICA9PiBfXyggIllvdXIgYWNjb3VudCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gZWRpdCB0aGUgT2JqZWN0IFN5bmMgZm9yIFNhbGVzZm9yY2UgcGx1Z2luJ3Mgc2V0dGluZ3MuIiwgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJJ3R5cGUnICAgICAgICA9PiAnZXJyb3InLAoJCQkJJ2Rpc21pc3NpYmxlJyA9PiBmYWxzZSwKCQkJKSwKCQkJJ25vdF9zZWN1cmUnICAgICAgICAgICAgICA9PiBhcnJheSgKCQkJCSdjb25kaXRpb24nICAgPT4gKCBmYWxzZSA9PT0gJHRoaXMtPmNoZWNrX3dvcmRwcmVzc19zc2woKSAmJiBmYWxzZSA9PT0gJHRoaXMtPmNoZWNrX3dvcmRwcmVzc19zc2xfc3VwcG9ydCgpICksCgkJCQknbWVzc2FnZScgICAgID0+IGVzY19odG1sX18oICdBdCBsZWFzdCB0aGUgYWRtaW4gYXJlYSBvZiB5b3VyIHdlYnNpdGUgbXVzdCB1c2UgSFRUUFMgdG8gY29ubmVjdCB3aXRoIFNhbGVzZm9yY2UuIFdvcmRQcmVzcyByZXBvcnRzIHRoYXQgeW91ciBzaXRlIGVudmlyb25tZW50IGRvZXMgbm90LCBhbmQgY2Fubm90LCB1c2UgSFRUUFMuIFlvdSBtYXkgbmVlZCB0byB3b3JrIHdpdGggeW91ciBob3N0aW5nIGNvbXBhbnkgdG8gbWFrZSB0aGUgc3dpdGNoIGJlZm9yZSB5b3UgY2FuIHVzZSB0aGlzIHBsdWdpbi4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkndHlwZScgICAgICAgID0+ICdlcnJvcicsCgkJCQknZGlzbWlzc2libGUnID0+IGZhbHNlLAoJCQkpLAoJCQknc2VjdXJlX3N1cHBvcnRlZCcgICAgICAgID0+IGFycmF5KAoJCQkJJ2NvbmRpdGlvbicgICA9PiAoIGZhbHNlID09PSAkdGhpcy0+Y2hlY2tfd29yZHByZXNzX3NzbCgpICYmIHRydWUgPT09ICR0aGlzLT5jaGVja193b3JkcHJlc3Nfc3NsX3N1cHBvcnQoKSApLAoJCQkJJ21lc3NhZ2UnICAgICA9PiBzcHJpbnRmKAoJCQkJCS8vIHRyYW5zbGF0b3JzOiAxKSBpcyB0aGUgc2l0ZSBoZWFsdGggVVJMLCBhbmQgMikgaXMgdGhlIHRleHQgZm9yIHRoZSBzaXRlIGhlYWx0aCBwYWdlIHRpdGxlLgoJCQkJCV9fKCAnWW91ciB3ZWJzaXRlIGlzIG5vdCBjdXJyZW50bHkgdXNpbmcgSFRUUFMsIGJ1dCB5b3VyIGVudmlyb25tZW50IGRvZXMgc3VwcG9ydCBpdC4gVmlzaXQgeW91ciB3ZWJzaXRlXCdzIDxhIGhyZWY9IiUxJHMiPiUyJHM8L2E+IGZvciBtb3JlIGluZm9ybWF0aW9uLiBJZiB5b3UgaGF2ZSBqdXN0IG1pZ3JhdGVkIHRvIEhUVFBTLCBXb3JkUHJlc3MgbWF5IHRha2Ugc29tZSB0aW1lIHRvIHVwZGF0ZSB0aGlzIGRldGVjdGlvbi4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJZXNjX3VybCggYWRtaW5fdXJsKCAnc2l0ZS1oZWFsdGgucGhwJyApICksCgkJCQkJZXNjX2h0bWxfXyggJ1NpdGUgSGVhbHRoIHNjcmVlbicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKQoJCQkJKSwKCQkJCSd0eXBlJyAgICAgICAgPT4gJ2Vycm9yJywKCQkJCSdkaXNtaXNzaWJsZScgPT4gZmFsc2UsCgkJCSksCgkJCSdmaWVsZG1hcCcgICAgICAgICAgICAgICAgPT4gYXJyYXkoCgkJCQknY29uZGl0aW9uJyAgID0+IGlzc2V0KCAkZ2V0X2RhdGFbJ3RyYW5zaWVudCddICksCgkJCQknbWVzc2FnZScgICAgID0+IGVzY19odG1sX18oICdFcnJvcnMga2VwdCB0aGlzIGZpZWxkbWFwIGZyb20gYmVpbmcgc2F2ZWQuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJJ3R5cGUnICAgICAgICA9PiAnZXJyb3InLAoJCQkJJ2Rpc21pc3NpYmxlJyA9PiB0cnVlLAoJCQkpLAoJCQknZmllbGRtYXBfbWlzc2luZycgICAgICAgID0+IGFycmF5KAoJCQkJJ2NvbmRpdGlvbicgICA9PiBpc3NldCggJGdldF9kYXRhWydtaXNzaW5nX2ZpZWxkbWFwJ10gKSwKCQkJCSdtZXNzYWdlJyAgICAgPT4gX18oICdUaGVyZSBpcyBubyBmaWVsZG1hcCB3aXRoIHRoZSBzdXBwbGllZCBJRC4gSW5zdGVhZCwgdGhlIGxpc3Qgb2YgYWxsIGF2YWlsYWJsZSBmaWVsZG1hcHMgaXMgZGlzcGxheWVkLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCSd0eXBlJyAgICAgICAgPT4gJ2Vycm9yJywKCQkJCSdkaXNtaXNzaWJsZScgPT4gdHJ1ZSwKCQkJKSwKCQkJJ29iamVjdF9tYXAnICAgICAgICAgICAgICA9PiBhcnJheSgKCQkJCSdjb25kaXRpb24nICAgPT4gaXNzZXQoICRnZXRfZGF0YVsnbWFwX3RyYW5zaWVudCddICksCgkJCQknbWVzc2FnZScgICAgID0+IGVzY19odG1sX18oICdFcnJvcnMga2VwdCB0aGlzIG9iamVjdCBtYXAgZnJvbSBiZWluZyBzYXZlZC4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkndHlwZScgICAgICAgID0+ICdlcnJvcicsCgkJCQknZGlzbWlzc2libGUnID0+IHRydWUsCgkJCSksCgkJCSdkYXRhX3NhdmVkJyAgICAgICAgICAgICAgPT4gYXJyYXkoCgkJCQknY29uZGl0aW9uJyAgID0+IGlzc2V0KCAkZ2V0X2RhdGFbJ2RhdGFfc2F2ZWQnXSApICYmICd0cnVlJyA9PT0gJGdldF9kYXRhWydkYXRhX3NhdmVkJ10sCgkJCQknbWVzc2FnZScgICAgID0+IGVzY19odG1sX18oICdUaGlzIGRhdGEgd2FzIHN1Y2Nlc3NmdWxseSBzYXZlZC4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkndHlwZScgICAgICAgID0+ICdzdWNjZXNzJywKCQkJCSdkaXNtaXNzaWJsZScgPT4gdHJ1ZSwKCQkJKSwKCQkJJ2RhdGFfc2F2ZV9wYXJ0aWFsJyAgICAgICA9PiBhcnJheSgKCQkJCSdjb25kaXRpb24nICAgPT4gaXNzZXQoICRnZXRfZGF0YVsnZGF0YV9zYXZlZCddICkgJiYgJ3BhcnRpYWwnID09PSAkZ2V0X2RhdGFbJ2RhdGFfc2F2ZWQnXSwKCQkJCSdtZXNzYWdlJyAgICAgPT4gX18oICdUaGlzIGRhdGEgd2FzIHBhcnRpYWxseSBzdWNjZXNzZnVsbHkgc2F2ZWQuIFRoaXMgbWVhbnMgc29tZSBvZiB0aGUgZGF0YSB3YXMgdW5hYmxlIHRvIHNhdmUuIElmIHlvdSBoYXZlIGVuYWJsZWQgbG9nZ2luZyBpbiB0aGUgcGx1Z2luIHNldHRpbmdzLCB0aGVyZSBzaG91bGQgYmUgYSBsb2cgZW50cnkgd2l0aCBmdXJ0aGVyIGRldGFpbHMuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJJ3R5cGUnICAgICAgICA9PiAnZXJyb3InLAoJCQkJJ2Rpc21pc3NpYmxlJyA9PiB0cnVlLAoJCQkpLAoJCQknZGF0YV9zYXZlX2Vycm9yJyAgICAgICAgID0+IGFycmF5KAoJCQkJJ2NvbmRpdGlvbicgICA9PiBpc3NldCggJGdldF9kYXRhWydkYXRhX3NhdmVkJ10gKSAmJiAnZmFsc2UnID09PSAkZ2V0X2RhdGFbJ2RhdGFfc2F2ZWQnXSwKCQkJCSdtZXNzYWdlJyAgICAgPT4gZXNjX2h0bWxfXyggJ1RoaXMgZGF0YSB3YXMgbm90IHN1Y2Nlc3NmdWxseSBzYXZlZC4gVHJ5IGFnYWluLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCSd0eXBlJyAgICAgICAgPT4gJ2Vycm9yJywKCQkJCSdkaXNtaXNzaWJsZScgPT4gdHJ1ZSwKCQkJKSwKCQkJJ21hcHBpbmdfZXJyb3JfdHJhbnNpZW50JyA9PiBhcnJheSgKCQkJCSdjb25kaXRpb24nICAgPT4gaXNzZXQoICRnZXRfZGF0YVsnbWFwcGluZ19lcnJvcl90cmFuc2llbnQnXSApLAoJCQkJJ21lc3NhZ2UnICAgICA9PiBlc2NfaHRtbF9fKCAnRXJyb3JzIGtlcHQgdGhlc2UgbWFwcGluZyBlcnJvcnMgZnJvbSBiZWluZyBkZWxldGVkLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCSd0eXBlJyAgICAgICAgPT4gJ2Vycm9yJywKCQkJCSdkaXNtaXNzaWJsZScgPT4gdHJ1ZSwKCQkJKSwKCQkpOwoKCQlmb3JlYWNoICggJG5vdGljZXMgYXMgJGtleSA9PiAkdmFsdWUgKSB7CgoJCQkkY29uZGl0aW9uID0gKGJvb2wpICR2YWx1ZVsnY29uZGl0aW9uJ107CgkJCSRtZXNzYWdlICAgPSAkdmFsdWVbJ21lc3NhZ2UnXTsKCgkJCWlmICggaXNzZXQoICR2YWx1ZVsnZGlzbWlzc2libGUnXSApICkgewoJCQkJJGRpc21pc3NpYmxlID0gJHZhbHVlWydkaXNtaXNzaWJsZSddOwoJCQl9IGVsc2UgewoJCQkJJGRpc21pc3NpYmxlID0gZmFsc2U7CgkJCX0KCgkJCWlmICggaXNzZXQoICR2YWx1ZVsndHlwZSddICkgKSB7CgkJCQkkdHlwZSA9ICR2YWx1ZVsndHlwZSddOwoJCQl9IGVsc2UgewoJCQkJJHR5cGUgPSAnJzsKCQkJfQoKCQkJaWYgKCAhIGlzc2V0KCAkdmFsdWVbJ3RlbXBsYXRlJ10gKSApIHsKCQkJCSR0ZW1wbGF0ZSA9ICcnOwoJCQl9CgoJCQlpZiAoICRjb25kaXRpb24gKSB7CgkJCQluZXcgT2JqZWN0X1N5bmNfU2ZfQWRtaW5fTm90aWNlKCAkY29uZGl0aW9uLCAkbWVzc2FnZSwgJGRpc21pc3NpYmxlLCAkdHlwZSwgJHRlbXBsYXRlICk7CgkJCX0KCQl9CgoJfQoKCS8qKgoJICogR2V0IGFsbCB0aGUgU2FsZXNmb3JjZSBvYmplY3Qgc2V0dGluZ3MgZm9yIGZpZWxkbWFwcGluZwoJICogVGhpcyB0YWtlcyBlaXRoZXIgdGhlICRfUE9TVCBhcnJheSB2aWEgYWpheCwgb3IgY2FuIGJlIGRpcmVjdGx5IGNhbGxlZCB3aXRoIGEgJGRhdGEgYXJyYXkKCSAqCgkgKiBAcGFyYW0gYXJyYXkgJGRhdGEgbXVzdCBjb250YWluIGEgU2FsZXNmb3JjZSBvYmplY3QsIGNhbiBvcHRpb25hbGx5IGNvbnRhaW4gYSB0eXBlLgoJICogQHJldHVybiBhcnJheSAkb2JqZWN0X3NldHRpbmdzCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBnZXRfc2FsZXNmb3JjZV9vYmplY3RfZGVzY3JpcHRpb24oICRkYXRhID0gYXJyYXkoKSApIHsKCQkkYWpheCA9IGZhbHNlOwoJCWlmICggZW1wdHkoICRkYXRhICkgKSB7CgkJCSRkYXRhID0gZmlsdGVyX2lucHV0X2FycmF5KCBJTlBVVF9QT1NULCBGSUxURVJfU0FOSVRJWkVfU1RSSU5HICk7CgkJCSRhamF4ID0gdHJ1ZTsKCQl9CgoJCSRvYmplY3RfZGVzY3JpcHRpb24gPSBhcnJheSgpOwoKCQlpZiAoICEgZW1wdHkoICRkYXRhWydzYWxlc2ZvcmNlX29iamVjdCddICkgKSB7CgkJCSRvYmplY3QgPSAkdGhpcy0+c2FsZXNmb3JjZVsnc2ZhcGknXS0+b2JqZWN0X2Rlc2NyaWJlKCBlc2NfYXR0ciggJGRhdGFbJ3NhbGVzZm9yY2Vfb2JqZWN0J10gKSApOwoKCQkJJG9iamVjdF9maWVsZHMgICAgICAgID0gYXJyYXkoKTsKCQkJJGluY2x1ZGVfcmVjb3JkX3R5cGVzID0gYXJyYXkoKTsKCgkJCS8vIHRoZXNlIGNhbiBjb21lIGZyb20gYWpheC4KCQkJJGluY2x1ZGUgPSBpc3NldCggJGRhdGFbJ2luY2x1ZGUnXSApID8gKGFycmF5KSAkZGF0YVsnaW5jbHVkZSddIDogYXJyYXkoKTsKCQkJJGluY2x1ZGUgPSBhcnJheV9tYXAoICdlc2NfYXR0cicsICRpbmNsdWRlICk7CgoJCQlpZiAoIGluX2FycmF5KCAnZmllbGRzJywgJGluY2x1ZGUsIHRydWUgKSB8fCBlbXB0eSggJGluY2x1ZGUgKSApIHsKCQkJCSR0eXBlID0gaXNzZXQoICRkYXRhWydmaWVsZF90eXBlJ10gKSA/IGVzY19hdHRyKCAkZGF0YVsnZmllbGRfdHlwZSddICkgOiAnJzsgLy8gY2FuIGNvbWUgZnJvbSBhamF4LgoKCQkJCS8vIGhlcmUsIHdlIHNob3VsZCByZXNwZWN0IHRoZSBkZWNpc2lvbiBvZiB3aGV0aGVyIHRvIHNob3cgdGhlIEFQSSBuYW1lIG9yIHRoZSBsYWJlbC4KCQkJCSRkaXNwbGF5X3ZhbHVlID0gZ2V0X29wdGlvbiggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAnc2FsZXNmb3JjZV9maWVsZF9kaXNwbGF5X3ZhbHVlJywgJ2ZpZWxkX2xhYmVsJyApOwoJCQkJaWYgKCAnYXBpX25hbWUnID09PSAkZGlzcGxheV92YWx1ZSApIHsKCQkJCQkkdmlzaWJsZV9sYWJlbF9maWVsZCA9ICduYW1lJzsKCQkJCX0gZWxzZSB7CgkJCQkJJHZpc2libGVfbGFiZWxfZmllbGQgPSAnbGFiZWwnOwoJCQkJfQoJCQkJJGF0dHJpYnV0ZXMgPSBhcnJheSggJ25hbWUnLCAkdmlzaWJsZV9sYWJlbF9maWVsZCApOwoKCQkJCWZvcmVhY2ggKCAkb2JqZWN0WydkYXRhJ11bJ2ZpZWxkcyddIGFzICRrZXkgPT4gJHZhbHVlICkgewoJCQkJCWlmICggJycgPT09ICR0eXBlIHx8ICR0eXBlID09PSAkdmFsdWVbJ3R5cGUnXSApIHsKCQkJCQkJJG9iamVjdF9maWVsZHNbICRrZXkgXSA9ICR2YWx1ZTsKCQkJCQkJaWYgKCBpc3NldCggJGF0dHJpYnV0ZXMgKSApIHsKCQkJCQkJCSRvYmplY3RfZmllbGRzWyAka2V5IF0gPSBhcnJheV9pbnRlcnNlY3Rfa2V5KCAkdmFsdWUsIGFycmF5X2ZsaXAoICRhdHRyaWJ1dGVzICkgKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCQkJCSRvYmplY3RfZGVzY3JpcHRpb25bJ2ZpZWxkcyddID0gJG9iamVjdF9maWVsZHM7CgkJCX0KCgkJCWlmICggaW5fYXJyYXkoICdyZWNvcmRUeXBlSW5mb3MnLCAkaW5jbHVkZSwgdHJ1ZSApICkgewoJCQkJaWYgKCBpc3NldCggJG9iamVjdFsnZGF0YSddWydyZWNvcmRUeXBlSW5mb3MnXSApICYmIGNvdW50KCAkb2JqZWN0WydkYXRhJ11bJ3JlY29yZFR5cGVJbmZvcyddICkgPiAxICkgewoJCQkJCWZvcmVhY2ggKCAkb2JqZWN0WydkYXRhJ11bJ3JlY29yZFR5cGVJbmZvcyddIGFzICR0eXBlICkgewoJCQkJCQkkb2JqZWN0X3JlY29yZF90eXBlc1sgJHR5cGVbJ3JlY29yZFR5cGVJZCddIF0gPSAkdHlwZVsnbmFtZSddOwoJCQkJCX0KCQkJCQkkb2JqZWN0X2Rlc2NyaXB0aW9uWydyZWNvcmRUeXBlSW5mb3MnXSA9ICRvYmplY3RfcmVjb3JkX3R5cGVzOwoJCQkJfQoJCQl9CgkJfQoKCQlpZiAoIHRydWUgPT09ICRhamF4ICkgewoJCQl3cF9zZW5kX2pzb25fc3VjY2VzcyggJG9iamVjdF9kZXNjcmlwdGlvbiApOwoJCX0gZWxzZSB7CgkJCXJldHVybiAkb2JqZWN0X2Rlc2NyaXB0aW9uOwoJCX0KCX0KCgkvKioKCSAqIEdldCBhbGwgdGhlIFNhbGVzZm9yY2UgZmllbGRzIHNldHRpbmdzIGZvciBmaWVsZG1hcHBpbmcKCSAqIFRoaXMgdGFrZXMgZWl0aGVyIHRoZSAkX1BPU1QgYXJyYXkgdmlhIGFqYXgsIG9yIGNhbiBiZSBkaXJlY3RseSBjYWxsZWQgd2l0aCBhICRkYXRhIGFycmF5CgkgKgoJICogQHBhcmFtIGFycmF5ICRkYXRhIG11c3QgY29udGFpbiBhIFNhbGVzZm9yY2Ugb2JqZWN0IHVubGVzcyBpdCBpcyBBamF4LCBjYW4gb3B0aW9uYWxseSBjb250YWluIGEgdHlwZS4KCSAqIEByZXR1cm4gYXJyYXkgJG9iamVjdF9maWVsZHMKCSAqLwoJcHVibGljIGZ1bmN0aW9uIGdldF9zYWxlc2ZvcmNlX29iamVjdF9maWVsZHMoICRkYXRhID0gYXJyYXkoKSApIHsKCQkkYWpheCAgICAgID0gZmFsc2U7CgkJJHBvc3RfZGF0YSA9IGZpbHRlcl9pbnB1dF9hcnJheSggSU5QVVRfUE9TVCwgRklMVEVSX1NBTklUSVpFX1NUUklORyApOwoJCWlmICggZW1wdHkoICRkYXRhICkgKSB7CgkJCSRzYWxlc2ZvcmNlX29iamVjdCA9IGlzc2V0KCAkcG9zdF9kYXRhWydzYWxlc2ZvcmNlX29iamVjdCddICkgPyBzYW5pdGl6ZV90ZXh0X2ZpZWxkKCB3cF91bnNsYXNoKCAkcG9zdF9kYXRhWydzYWxlc2ZvcmNlX29iamVjdCddICkgKSA6ICcnOwoJCQkkYWpheCAgICAgICAgICAgICAgPSB0cnVlOwoJCQkvLyBoZXJlLCB3ZSBzaG91bGQgcmVzcGVjdCB0aGUgZGVjaXNpb24gb2Ygd2hldGhlciB0byBzaG93IHRoZSBBUEkgbmFtZSBvciB0aGUgbGFiZWwuCgkJCSRkaXNwbGF5X3ZhbHVlID0gZ2V0X29wdGlvbiggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAnc2FsZXNmb3JjZV9maWVsZF9kaXNwbGF5X3ZhbHVlJywgJ2ZpZWxkX2xhYmVsJyApOwoJCQlpZiAoICdhcGlfbmFtZScgPT09ICRkaXNwbGF5X3ZhbHVlICkgewoJCQkJJHZpc2libGVfbGFiZWxfZmllbGQgPSAnbmFtZSc7CgkJCX0gZWxzZSB7CgkJCQkkdmlzaWJsZV9sYWJlbF9maWVsZCA9ICdsYWJlbCc7CgkJCX0KCQkJJGF0dHJpYnV0ZXMgPSBhcnJheSggJ25hbWUnLCAkdmlzaWJsZV9sYWJlbF9maWVsZCApOwoJCX0gZWxzZSB7CgkJCSRzYWxlc2ZvcmNlX29iamVjdCA9IGlzc2V0KCAkZGF0YVsnc2FsZXNmb3JjZV9vYmplY3QnXSApID8gc2FuaXRpemVfdGV4dF9maWVsZCggd3BfdW5zbGFzaCggJGRhdGFbJ3NhbGVzZm9yY2Vfb2JqZWN0J10gKSApIDogJyc7CgkJfQoJCSRvYmplY3RfZmllbGRzID0gYXJyYXkoKTsKCQlpZiAoICEgZW1wdHkoICRzYWxlc2ZvcmNlX29iamVjdCApICkgewoJCQkkb2JqZWN0ICAgICAgICAgICAgICAgPSAkdGhpcy0+c2FsZXNmb3JjZVsnc2ZhcGknXS0+b2JqZWN0X2Rlc2NyaWJlKCBlc2NfYXR0ciggJHNhbGVzZm9yY2Vfb2JqZWN0ICkgKTsKCQkJJG9iamVjdF9maWVsZHMgICAgICAgID0gYXJyYXkoKTsKCQkJJHR5cGUgICAgICAgICAgICAgICAgID0gaXNzZXQoICRkYXRhWyd0eXBlJ10gKSA/IGVzY19hdHRyKCAkZGF0YVsndHlwZSddICkgOiAnJzsKCQkJJGluY2x1ZGVfcmVjb3JkX3R5cGVzID0gaXNzZXQoICRkYXRhWydpbmNsdWRlX3JlY29yZF90eXBlcyddICkgPyBlc2NfYXR0ciggJGRhdGFbJ2luY2x1ZGVfcmVjb3JkX3R5cGVzJ10gKSA6IGZhbHNlOwoJCQlmb3JlYWNoICggJG9iamVjdFsnZGF0YSddWydmaWVsZHMnXSBhcyAka2V5ID0+ICR2YWx1ZSApIHsKCQkJCWlmICggJycgPT09ICR0eXBlIHx8ICR0eXBlID09PSAkdmFsdWVbJ3R5cGUnXSApIHsKCQkJCQkkb2JqZWN0X2ZpZWxkc1sgJGtleSBdID0gJHZhbHVlOwoJCQkJCWlmICggaXNzZXQoICRhdHRyaWJ1dGVzICkgKSB7CgkJCQkJCSRvYmplY3RfZmllbGRzWyAka2V5IF0gPSBhcnJheV9pbnRlcnNlY3Rfa2V5KCAkdmFsdWUsIGFycmF5X2ZsaXAoICRhdHRyaWJ1dGVzICkgKTsKCQkJCQl9CgkJCQl9CgkJCX0KCQkJaWYgKCB0cnVlID09PSAkaW5jbHVkZV9yZWNvcmRfdHlwZXMgKSB7CgkJCQkkb2JqZWN0X3JlY29yZF90eXBlcyA9IGFycmF5KCk7CgkJCQlpZiAoIGlzc2V0KCAkb2JqZWN0WydkYXRhJ11bJ3JlY29yZFR5cGVJbmZvcyddICkgJiYgY291bnQoICRvYmplY3RbJ2RhdGEnXVsncmVjb3JkVHlwZUluZm9zJ10gKSA+IDEgKSB7CgkJCQkJZm9yZWFjaCAoICRvYmplY3RbJ2RhdGEnXVsncmVjb3JkVHlwZUluZm9zJ10gYXMgJHR5cGUgKSB7CgkJCQkJCSRvYmplY3RfcmVjb3JkX3R5cGVzWyAkdHlwZVsncmVjb3JkVHlwZUlkJ10gXSA9ICR0eXBlWyduYW1lJ107CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoKCQlpZiAoIHRydWUgPT09ICRhamF4ICkgewoJCQkkYWpheF9yZXNwb25zZSA9IGFycmF5KAoJCQkJJ2ZpZWxkcycgPT4gJG9iamVjdF9maWVsZHMsCgkJCSk7CgkJCXdwX3NlbmRfanNvbl9zdWNjZXNzKCAkYWpheF9yZXNwb25zZSApOwoJCX0gZWxzZSB7CgkJCXJldHVybiAkb2JqZWN0X2ZpZWxkczsKCQl9CgoJfQoKCS8qKgoJICogR2V0IFdvcmRQcmVzcyBvYmplY3QgZmllbGRzIGZvciBmaWVsZG1hcHBpbmcKCSAqIFRoaXMgdGFrZXMgZWl0aGVyIHRoZSAkX1BPU1QgYXJyYXkgdmlhIGFqYXgsIG9yIGNhbiBiZSBkaXJlY3RseSBjYWxsZWQgd2l0aCBhICR3b3JkcHJlc3Nfb2JqZWN0IGZpZWxkCgkgKgoJICogQHBhcmFtIHN0cmluZyAkd29yZHByZXNzX29iamVjdCBpcyB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdC4KCSAqIEByZXR1cm4gYXJyYXkgJG9iamVjdF9maWVsZHMKCSAqLwoJcHVibGljIGZ1bmN0aW9uIGdldF93b3JkcHJlc3Nfb2JqZWN0X2ZpZWxkcyggJHdvcmRwcmVzc19vYmplY3QgPSAnJyApIHsKCQkkYWpheCAgICAgID0gZmFsc2U7CgkJJHBvc3RfZGF0YSA9IGZpbHRlcl9pbnB1dF9hcnJheSggSU5QVVRfUE9TVCwgRklMVEVSX1NBTklUSVpFX1NUUklORyApOwoJCWlmICggZW1wdHkoICR3b3JkcHJlc3Nfb2JqZWN0ICkgKSB7CgkJCSR3b3JkcHJlc3Nfb2JqZWN0ID0gaXNzZXQoICRwb3N0X2RhdGFbJ3dvcmRwcmVzc19vYmplY3QnXSApID8gc2FuaXRpemVfdGV4dF9maWVsZCggd3BfdW5zbGFzaCggJHBvc3RfZGF0YVsnd29yZHByZXNzX29iamVjdCddICkgKSA6ICcnOwoJCQkkYWpheCAgICAgICAgICAgICA9IHRydWU7CgkJfQoKCQkkb2JqZWN0X2ZpZWxkcyA9ICR0aGlzLT53b3JkcHJlc3MtPmdldF93b3JkcHJlc3Nfb2JqZWN0X2ZpZWxkcyggJHdvcmRwcmVzc19vYmplY3QgKTsKCgkJaWYgKCB0cnVlID09PSAkYWpheCApIHsKCQkJJGFqYXhfcmVzcG9uc2UgPSBhcnJheSgKCQkJCSdmaWVsZHMnID0+ICRvYmplY3RfZmllbGRzLAoJCQkpOwoJCQl3cF9zZW5kX2pzb25fc3VjY2VzcyggJGFqYXhfcmVzcG9uc2UgKTsKCQl9IGVsc2UgewoJCQlyZXR1cm4gJG9iamVjdF9maWVsZHM7CgkJfQoJfQoKCS8qKgoJICogTWFudWFsbHkgcHVzaCB0aGUgV29yZFByZXNzIG9iamVjdCB0byBTYWxlc2ZvcmNlCgkgKiBUaGlzIHRha2VzIGVpdGhlciB0aGUgJF9QT1NUIGFycmF5IHZpYSBhamF4LCBvciBjYW4gYmUgZGlyZWN0bHkgY2FsbGVkIHdpdGggJHdvcmRwcmVzc19vYmplY3QgYW5kICR3b3JkcHJlc3NfaWQgZmllbGRzCgkgKgoJICogQHBhcmFtIHN0cmluZyAkd29yZHByZXNzX29iamVjdCBpcyB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdC4KCSAqIEBwYXJhbSBpbnQgICAgJHdvcmRwcmVzc19pZCBpcyB0aGUgSUQgb2YgdGhlIFdvcmRQcmVzcyByZWNvcmQuCgkgKiBAcGFyYW0gYm9vbCAgICRmb3JjZV9yZXR1cm4gRm9yY2UgdGhlIG1ldGhvZCB0byByZXR1cm4ganNvbiBpbnN0ZWFkIG9mIG91dHB1dHRpbmcgaXQuCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBwdXNoX3RvX3NhbGVzZm9yY2UoICR3b3JkcHJlc3Nfb2JqZWN0ID0gJycsICR3b3JkcHJlc3NfaWQgPSAnJywgJGZvcmNlX3JldHVybiA9IGZhbHNlICkgewoJCSRwb3N0X2RhdGEgPSBmaWx0ZXJfaW5wdXRfYXJyYXkoIElOUFVUX1BPU1QsIEZJTFRFUl9TQU5JVElaRV9TVFJJTkcgKTsKCQlpZiAoIGVtcHR5KCAkd29yZHByZXNzX29iamVjdCApICYmIGVtcHR5KCAkd29yZHByZXNzX2lkICkgKSB7CgkJCSR3b3JkcHJlc3Nfb2JqZWN0ID0gaXNzZXQoICRwb3N0X2RhdGFbJ3dvcmRwcmVzc19vYmplY3QnXSApID8gc2FuaXRpemVfdGV4dF9maWVsZCggd3BfdW5zbGFzaCggJHBvc3RfZGF0YVsnd29yZHByZXNzX29iamVjdCddICkgKSA6ICcnOwoJCQkkd29yZHByZXNzX2lkICAgICA9IGlzc2V0KCAkcG9zdF9kYXRhWyd3b3JkcHJlc3NfaWQnXSApID8gYWJzaW50KCAkcG9zdF9kYXRhWyd3b3JkcHJlc3NfaWQnXSApIDogJyc7CgkJfQoKCQkvLyBjbGFyaWZ5IHdoYXQgdGhhdCB2YXJpYWJsZSBpcyBpbiB0aGlzIGNvbnRleHQuCgkJJG9iamVjdF90eXBlID0gJHdvcmRwcmVzc19vYmplY3Q7CgoJCS8vIFdoZW4gb2JqZWN0cyBhcmUgYWxyZWFkeSBtYXBwZWQsIHRoZXJlIGlzIGEgU2FsZXNmb3JjZSBpZCBhcyB3ZWxsLiBPdGhlcndpc2UsIGl0J3MgYmxhbmsuCgkJJHNhbGVzZm9yY2VfaWQgPSBpc3NldCggJHBvc3RfZGF0YVsnc2FsZXNmb3JjZV9pZCddICkgPyBzYW5pdGl6ZV90ZXh0X2ZpZWxkKCAkcG9zdF9kYXRhWydzYWxlc2ZvcmNlX2lkJ10gKSA6ICcnOwoJCWlmICggJycgPT09ICRzYWxlc2ZvcmNlX2lkICkgewoJCQkkbWV0aG9kID0gJ1BPU1QnOwoJCX0gZWxzZSB7CgkJCSRtZXRob2QgPSAnUFVUJzsKCQl9CgoJCSRyZXN1bHQgPSAkdGhpcy0+cHVzaC0+bWFudWFsX3B1c2goICRvYmplY3RfdHlwZSwgJHdvcmRwcmVzc19pZCwgJG1ldGhvZCApOwoKCQlpZiAoIGZhbHNlID09PSAkZm9yY2VfcmV0dXJuICYmICEgZW1wdHkoICRwb3N0X2RhdGFbJ3dvcmRwcmVzc19vYmplY3QnXSApICYmICEgZW1wdHkoICRwb3N0X2RhdGFbJ3dvcmRwcmVzc19pZCddICkgKSB7CgkJCXdwX3NlbmRfanNvbl9zdWNjZXNzKCAkcmVzdWx0ICk7CgkJfSBlbHNlIHsKCQkJcmV0dXJuICRyZXN1bHQ7CgkJfQoKCX0KCgkvKioKCSAqIE1hbnVhbGx5IHB1bGwgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IGludG8gV29yZFByZXNzCgkgKiBUaGlzIHRha2VzIGVpdGhlciB0aGUgJF9QT1NUIGFycmF5IHZpYSBhamF4LCBvciBjYW4gYmUgZGlyZWN0bHkgY2FsbGVkIHdpdGggJHNhbGVzZm9yY2VfaWQgZmllbGRzCgkgKgoJICogQHBhcmFtIHN0cmluZyAkc2FsZXNmb3JjZV9pZCBpcyB0aGUgSUQgb2YgdGhlIFNhbGVzZm9yY2UgcmVjb3JkLgoJICogQHBhcmFtIHN0cmluZyAkd29yZHByZXNzX29iamVjdCBpcyB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdC4KCSAqLwoJcHVibGljIGZ1bmN0aW9uIHB1bGxfZnJvbV9zYWxlc2ZvcmNlKCAkc2FsZXNmb3JjZV9pZCA9ICcnLCAkd29yZHByZXNzX29iamVjdCA9ICcnICkgewoJCSRwb3N0X2RhdGEgPSBmaWx0ZXJfaW5wdXRfYXJyYXkoIElOUFVUX1BPU1QsIEZJTFRFUl9TQU5JVElaRV9TVFJJTkcgKTsKCQlpZiAoIGVtcHR5KCAkd29yZHByZXNzX29iamVjdCApICYmIGVtcHR5KCAkc2FsZXNmb3JjZV9pZCApICkgewoJCQkkd29yZHByZXNzX29iamVjdCA9IGlzc2V0KCAkcG9zdF9kYXRhWyd3b3JkcHJlc3Nfb2JqZWN0J10gKSA/IHNhbml0aXplX3RleHRfZmllbGQoIHdwX3Vuc2xhc2goICRwb3N0X2RhdGFbJ3dvcmRwcmVzc19vYmplY3QnXSApICkgOiAnJzsKCQkJJHNhbGVzZm9yY2VfaWQgICAgPSBpc3NldCggJHBvc3RfZGF0YVsnc2FsZXNmb3JjZV9pZCddICkgPyBzYW5pdGl6ZV90ZXh0X2ZpZWxkKCB3cF91bnNsYXNoKCAkcG9zdF9kYXRhWydzYWxlc2ZvcmNlX2lkJ10gKSApIDogJyc7CgkJfQoJCSR0eXBlICAgPSAkdGhpcy0+c2FsZXNmb3JjZVsnc2ZhcGknXS0+Z2V0X3NvYmplY3RfdHlwZSggJHNhbGVzZm9yY2VfaWQgKTsKCQkkcmVzdWx0ID0gJHRoaXMtPnB1bGwtPm1hbnVhbF9wdWxsKCAkdHlwZSwgJHNhbGVzZm9yY2VfaWQsICR3b3JkcHJlc3Nfb2JqZWN0ICk7IC8vIHdlIHdhbnQgdGhlIHdwIG9iamVjdCB0byBtYWtlIHN1cmUgd2UgZ2V0IHRoZSByaWdodCBmaWVsZG1hcC4KCQlpZiAoICEgZW1wdHkoICRwb3N0X2RhdGEgKSApIHsKCQkJd3Bfc2VuZF9qc29uX3N1Y2Nlc3MoICRyZXN1bHQgKTsKCQl9IGVsc2UgewoJCQlyZXR1cm4gJHJlc3VsdDsKCQl9Cgl9CgoJLyoqCgkgKiBNYW51YWxseSBwdWxsIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCBpbnRvIFdvcmRQcmVzcwoJICogVGhpcyB0YWtlcyBhbiBpZCBmb3IgYSBtYXBwaW5nIG9iamVjdCByb3cKCSAqCgkgKiBAcGFyYW0gaW50ICRtYXBwaW5nX2lkIGlzIHRoZSBJRCBvZiB0aGUgbWFwcGluZyBvYmplY3QgcmVjb3JkLgoJICovCglwdWJsaWMgZnVuY3Rpb24gcmVmcmVzaF9tYXBwZWRfZGF0YSggJG1hcHBpbmdfaWQgPSAnJyApIHsKCQkkcG9zdF9kYXRhID0gZmlsdGVyX2lucHV0X2FycmF5KCBJTlBVVF9QT1NULCBGSUxURVJfU0FOSVRJWkVfU1RSSU5HICk7CgkJaWYgKCBlbXB0eSggJG1hcHBpbmdfaWQgKSApIHsKCQkJJG1hcHBpbmdfaWQgPSBpc3NldCggJHBvc3RfZGF0YVsnbWFwcGluZ19pZCddICkgPyBhYnNpbnQoICRwb3N0X2RhdGFbJ21hcHBpbmdfaWQnXSApIDogJyc7CgkJfQoJCSRyZXN1bHQgPSAkdGhpcy0+bWFwcGluZ3MtPmdldF9hbGxfb2JqZWN0X21hcHMoCgkJCWFycmF5KAoJCQkJJ2lkJyA9PiAkbWFwcGluZ19pZCwKCQkJKQoJCSk7CgoJCSRvYmplY3RfbWFwID0gYXJyYXkoKTsKCgkJLy8gcmVzdWx0IGlzIGFuIGFycmF5IG9mIGFycmF5cywgbm90IGp1c3Qgb25lIGFycmF5LgoJCWlmICggMSA9PT0gY291bnQoICRyZXN1bHQgKSApIHsKCQkJJG9iamVjdF9tYXAgPSAkcmVzdWx0WzBdOwoJCX0KCgkJaWYgKCAhIGVtcHR5KCAkcG9zdF9kYXRhICkgKSB7CgkJCXdwX3NlbmRfanNvbl9zdWNjZXNzKCAkb2JqZWN0X21hcCApOwoJCX0gZWxzZSB7CgkJCXJldHVybiAkb2JqZWN0X21hcDsKCQl9Cgl9CgoJLyoqCgkgKiBQcmVwYXJlIGZpZWxkbWFwIGRhdGEgYW5kIHJlZGlyZWN0IGFmdGVyIHByb2Nlc3NpbmcKCSAqIFRoaXMgcnVucyB3aGVuIHRoZSBjcmVhdGUgb3IgdXBkYXRlIGZvcm1zIGFyZSBzdWJtaXR0ZWQKCSAqIEl0IGlzIHB1YmxpYyBiZWNhdXNlIGl0IGRlcGVuZHMgb24gYW4gYWRtaW4gaG9vawoJICogSXQgdGhlbiBjYWxscyB0aGUgT2JqZWN0X1N5bmNfU2ZfTWFwcGluZyBjbGFzcyBhbmQgc2VuZHMgcHJlcGFyZWQgZGF0YSBvdmVyIHRvIGl0LCB0aGVuIHJlZGlyZWN0cyB0byB0aGUgY29ycmVjdCBwYWdlCgkgKiBUaGlzIG1ldGhvZCBkb2VzIGluY2x1ZGUgZXJyb3IgaGFuZGxpbmcsIGJ5IGxvYWRpbmcgdGhlIHN1Ym1pc3Npb24gaW4gYSB0cmFuc2llbnQgaWYgdGhlcmUgaXMgYW4gZXJyb3IsIGFuZCB0aGVuIGRlbGV0aW5nIGl0IHVwb24gc3VjY2VzcwoJICovCglwdWJsaWMgZnVuY3Rpb24gcHJlcGFyZV9maWVsZG1hcF9kYXRhKCkgewoJCSRlcnJvciAgICAgPSBmYWxzZTsKCQkkcG9zdF9kYXRhID0gZmlsdGVyX2lucHV0X2FycmF5KCBJTlBVVF9QT1NULCBGSUxURVJfU0FOSVRJWkVfU1RSSU5HICk7CgkJJGNhY2hla2V5ICA9IHdwX2pzb25fZW5jb2RlKCAkcG9zdF9kYXRhICk7CgkJaWYgKCBmYWxzZSAhPT0gJGNhY2hla2V5ICkgewoJCQkkY2FjaGVrZXkgPSBtZDUoICRjYWNoZWtleSApOwoJCX0KCgkJaWYgKCAhIGlzc2V0KCAkcG9zdF9kYXRhWydsYWJlbCddICkgfHwgISBpc3NldCggJHBvc3RfZGF0YVsnc2FsZXNmb3JjZV9vYmplY3QnXSApIHx8ICEgaXNzZXQoICRwb3N0X2RhdGFbJ3dvcmRwcmVzc19vYmplY3QnXSApICkgewoJCQkkZXJyb3IgPSB0cnVlOwoJCX0KCQlpZiAoIHRydWUgPT09ICRlcnJvciApIHsKCQkJJHRoaXMtPnNmd3BfdHJhbnNpZW50cy0+c2V0KCAkY2FjaGVrZXksICRwb3N0X2RhdGEsICR0aGlzLT53b3JkcHJlc3MtPm9wdGlvbnNbJ2NhY2hlX2V4cGlyYXRpb24nXSApOwoJCQlpZiAoICcnICE9PSAkY2FjaGVrZXkgKSB7CgkJCQkkdXJsID0gZXNjX3VybF9yYXcoICRwb3N0X2RhdGFbJ3JlZGlyZWN0X3VybF9lcnJvciddICkgLiAnJnRyYW5zaWVudD0nIC4gJGNhY2hla2V5OwoJCQl9CgkJfSBlbHNlIHsgLy8gdGhlcmUgYXJlIG5vIGVycm9ycwoJCQkvLyBzZW5kIHRoZSByb3cgdG8gdGhlIGZpZWxkbWFwIGNsYXNzCgkJCS8vIGlmIGl0IGlzIGFkZCBvciBjbG9uZSwgdXNlIHRoZSBjcmVhdGUgbWV0aG9kLgoJCQkkbWV0aG9kICAgICAgICAgICAgPSBlc2NfYXR0ciggJHBvc3RfZGF0YVsnbWV0aG9kJ10gKTsKCQkJJHNhbGVzZm9yY2VfZmllbGRzID0gJHRoaXMtPmdldF9zYWxlc2ZvcmNlX29iamVjdF9maWVsZHMoCgkJCQlhcnJheSgKCQkJCQknc2FsZXNmb3JjZV9vYmplY3QnID0+ICRwb3N0X2RhdGFbJ3NhbGVzZm9yY2Vfb2JqZWN0J10sCgkJCQkpCgkJCSk7CgkJCSR3b3JkcHJlc3NfZmllbGRzICA9ICR0aGlzLT5nZXRfd29yZHByZXNzX29iamVjdF9maWVsZHMoICRwb3N0X2RhdGFbJ3dvcmRwcmVzc19vYmplY3QnXSApOwoJCQlpZiAoICdhZGQnID09PSAkbWV0aG9kIHx8ICdjbG9uZScgPT09ICRtZXRob2QgKSB7CgkJCQkkcmVzdWx0ID0gJHRoaXMtPm1hcHBpbmdzLT5jcmVhdGVfZmllbGRtYXAoICRwb3N0X2RhdGEsICR3b3JkcHJlc3NfZmllbGRzLCAkc2FsZXNmb3JjZV9maWVsZHMgKTsKCQkJfSBlbHNlaWYgKCAnZWRpdCcgPT09ICRtZXRob2QgKSB7IC8vIGlmIGl0IGlzIGVkaXQsIHVzZSB0aGUgdXBkYXRlIG1ldGhvZC4KCQkJCSRpZCAgICAgPSBlc2NfYXR0ciggJHBvc3RfZGF0YVsnaWQnXSApOwoJCQkJJHJlc3VsdCA9ICR0aGlzLT5tYXBwaW5ncy0+dXBkYXRlX2ZpZWxkbWFwKCAkcG9zdF9kYXRhLCAkd29yZHByZXNzX2ZpZWxkcywgJHNhbGVzZm9yY2VfZmllbGRzLCAkaWQgKTsKCQkJfQoJCQlpZiAoIGZhbHNlID09PSAkcmVzdWx0ICkgeyAvLyBpZiB0aGUgZGF0YWJhc2UgZGlkbid0IHNhdmUsIGl0J3Mgc3RpbGwgYW4gZXJyb3IuCgkJCQkkdGhpcy0+c2Z3cF90cmFuc2llbnRzLT5zZXQoICRjYWNoZWtleSwgJHBvc3RfZGF0YSwgJHRoaXMtPndvcmRwcmVzcy0+b3B0aW9uc1snY2FjaGVfZXhwaXJhdGlvbiddICk7CgkJCQlpZiAoICcnICE9PSAkY2FjaGVrZXkgKSB7CgkJCQkJJHVybCA9IGVzY191cmxfcmF3KCAkcG9zdF9kYXRhWydyZWRpcmVjdF91cmxfZXJyb3InXSApIC4gJyZ0cmFuc2llbnQ9JyAuICRjYWNoZWtleTsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCS8vIGlmIHRoZSB1c2VyIGhhcyBzYXZlZCBhIGZpZWxkbWFwLCBjbGVhciB0aGUgY3VycmVudGx5IHJ1bm5pbmcgcXVlcnkgdmFsdWUgaWYgdGhlcmUgaXMgb25lLgoJCQkJaWYgKCAnJyAhPT0gZ2V0X29wdGlvbiggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAnY3VycmVudGx5X3B1bGxpbmdfcXVlcnlfJyAuICRwb3N0X2RhdGFbJ3NhbGVzZm9yY2Vfb2JqZWN0J10sICcnICkgKSB7CgkJCQkJJHRoaXMtPnB1bGwtPmNsZWFyX2N1cnJlbnRfdHlwZV9xdWVyeSggJHBvc3RfZGF0YVsnc2FsZXNmb3JjZV9vYmplY3QnXSApOwoJCQkJfQoJCQkJaWYgKCBpc3NldCggJHBvc3RfZGF0YVsndHJhbnNpZW50J10gKSApIHsgLy8gdGhlcmUgd2FzIHByZXZpb3VzbHkgYW4gZXJyb3Igc2F2ZWQuIGNhbiBkZWxldGUgaXQgbm93LgoJCQkJCSR0aGlzLT5zZndwX3RyYW5zaWVudHMtPmRlbGV0ZSggZXNjX2F0dHIoICRwb3N0X2RhdGFbJ21hcF90cmFuc2llbnQnXSApICk7CgkJCQl9CgkJCQkvLyB0aGVuIHNlbmQgdGhlIHVzZXIgdG8gdGhlIGxpc3Qgb2YgZmllbGRtYXBzLgoJCQkJJHVybCA9IGVzY191cmxfcmF3KCAkcG9zdF9kYXRhWydyZWRpcmVjdF91cmxfc3VjY2VzcyddICk7CgkJCX0KCQl9CgkJd3Bfc2FmZV9yZWRpcmVjdCggJHVybCApOwoJCWV4aXQoKTsKCX0KCgkvKioKCSAqIERlbGV0ZSBmaWVsZG1hcCBkYXRhIGFuZCByZWRpcmVjdCBhZnRlciBwcm9jZXNzaW5nCgkgKiBUaGlzIHJ1bnMgd2hlbiB0aGUgZGVsZXRlIGxpbmsgaXMgY2xpY2tlZCwgYWZ0ZXIgdGhlIHVzZXIgY29uZmlybXMKCSAqIEl0IGlzIHB1YmxpYyBiZWNhdXNlIGl0IGRlcGVuZHMgb24gYW4gYWRtaW4gaG9vawoJICogSXQgdGhlbiBjYWxscyB0aGUgT2JqZWN0X1N5bmNfU2ZfTWFwcGluZyBjbGFzcyBhbmQgdGhlIGRlbGV0ZSBtZXRob2QKCSAqLwoJcHVibGljIGZ1bmN0aW9uIGRlbGV0ZV9maWVsZG1hcCgpIHsKCQkkcG9zdF9kYXRhID0gZmlsdGVyX2lucHV0X2FycmF5KCBJTlBVVF9QT1NULCBGSUxURVJfU0FOSVRJWkVfU1RSSU5HICk7CgkJaWYgKCAkcG9zdF9kYXRhWydpZCddICkgewoJCQkkcmVzdWx0ID0gJHRoaXMtPm1hcHBpbmdzLT5kZWxldGVfZmllbGRtYXAoICRwb3N0X2RhdGFbJ2lkJ10gKTsKCQkJaWYgKCB0cnVlID09PSAkcmVzdWx0ICkgewoJCQkJJHVybCA9IGVzY191cmxfcmF3KCAkcG9zdF9kYXRhWydyZWRpcmVjdF91cmxfc3VjY2VzcyddICk7CgkJCX0gZWxzZSB7CgkJCQkkdXJsID0gZXNjX3VybF9yYXcoICRwb3N0X2RhdGFbJ3JlZGlyZWN0X3VybF9lcnJvciddIC4gJyZpZD0nIC4gJHBvc3RfZGF0YVsnaWQnXSApOwoJCQl9CgkJCXdwX3NhZmVfcmVkaXJlY3QoICR1cmwgKTsKCQkJZXhpdCgpOwoJCX0KCX0KCgkvKioKCSAqIFByZXBhcmUgb2JqZWN0IGRhdGEgYW5kIHJlZGlyZWN0IGFmdGVyIHByb2Nlc3NpbmcKCSAqIFRoaXMgcnVucyB3aGVuIHRoZSB1cGRhdGUgZm9ybSBpcyBzdWJtaXR0ZWQKCSAqIEl0IGlzIHB1YmxpYyBiZWNhdXNlIGl0IGRlcGVuZHMgb24gYW4gYWRtaW4gaG9vawoJICogSXQgdGhlbiBjYWxscyB0aGUgT2JqZWN0X1N5bmNfU2ZfTWFwcGluZyBjbGFzcyBhbmQgc2VuZHMgcHJlcGFyZWQgZGF0YSBvdmVyIHRvIGl0LCB0aGVuIHJlZGlyZWN0cyB0byB0aGUgY29ycmVjdCBwYWdlCgkgKiBUaGlzIG1ldGhvZCBkb2VzIGluY2x1ZGUgZXJyb3IgaGFuZGxpbmcsIGJ5IGxvYWRpbmcgdGhlIHN1Ym1pc3Npb24gaW4gYSB0cmFuc2llbnQgaWYgdGhlcmUgaXMgYW4gZXJyb3IsIGFuZCB0aGVuIGRlbGV0aW5nIGl0IHVwb24gc3VjY2VzcwoJICovCglwdWJsaWMgZnVuY3Rpb24gcHJlcGFyZV9vYmplY3RfbWFwX2RhdGEoKSB7CgkJJGVycm9yICAgICA9IGZhbHNlOwoJCSRwb3N0X2RhdGEgPSBmaWx0ZXJfaW5wdXRfYXJyYXkoIElOUFVUX1BPU1QsIEZJTFRFUl9TQU5JVElaRV9TVFJJTkcgKTsKCQkkY2FjaGVrZXkgID0gd3BfanNvbl9lbmNvZGUoICRwb3N0X2RhdGEgKTsKCQlpZiAoIGZhbHNlICE9PSAkY2FjaGVrZXkgKSB7CgkJCSRjYWNoZWtleSA9IG1kNSggJGNhY2hla2V5ICk7CgkJfQoKCQlpZiAoICEgaXNzZXQoICRwb3N0X2RhdGFbJ3dvcmRwcmVzc19pZCddICkgfHwgISBpc3NldCggJHBvc3RfZGF0YVsnc2FsZXNmb3JjZV9pZCddICkgKSB7CgkJCSRlcnJvciA9IHRydWU7CgkJfQoJCWlmICggdHJ1ZSA9PT0gJGVycm9yICkgewoJCQkkdGhpcy0+c2Z3cF90cmFuc2llbnRzLT5zZXQoICRjYWNoZWtleSwgJHBvc3RfZGF0YSwgJHRoaXMtPndvcmRwcmVzcy0+b3B0aW9uc1snY2FjaGVfZXhwaXJhdGlvbiddICk7CgkJCWlmICggJycgIT09ICRjYWNoZWtleSApIHsKCQkJCSR1cmwgPSBlc2NfdXJsX3JhdyggJHBvc3RfZGF0YVsncmVkaXJlY3RfdXJsX2Vycm9yJ10gKSAuICcmbWFwX3RyYW5zaWVudD0nIC4gJGNhY2hla2V5OwoJCQl9CgkJfSBlbHNlIHsgLy8gdGhlcmUgYXJlIG5vIGVycm9ycwoJCQkvLyBzZW5kIHRoZSByb3cgdG8gdGhlIG9iamVjdCBtYXAgY2xhc3MuCgkJCSRtZXRob2QgPSBlc2NfYXR0ciggJHBvc3RfZGF0YVsnbWV0aG9kJ10gKTsKCQkJaWYgKCAnZWRpdCcgPT09ICRtZXRob2QgKSB7IC8vIGlmIGl0IGlzIGVkaXQsIHVzZSB0aGUgdXBkYXRlIG1ldGhvZC4KCQkJCSRpZCAgICAgPSBlc2NfYXR0ciggJHBvc3RfZGF0YVsnaWQnXSApOwoJCQkJJHJlc3VsdCA9ICR0aGlzLT5tYXBwaW5ncy0+dXBkYXRlX29iamVjdF9tYXAoICRwb3N0X2RhdGEsICRpZCApOwoJCQl9CgkJCWlmICggZmFsc2UgPT09ICRyZXN1bHQgKSB7IC8vIGlmIHRoZSBkYXRhYmFzZSBkaWRuJ3Qgc2F2ZSwgaXQncyBzdGlsbCBhbiBlcnJvci4KCQkJCSR0aGlzLT5zZndwX3RyYW5zaWVudHMtPnNldCggJGNhY2hla2V5LCAkcG9zdF9kYXRhLCAkdGhpcy0+d29yZHByZXNzLT5vcHRpb25zWydjYWNoZV9leHBpcmF0aW9uJ10gKTsKCQkJCWlmICggJycgIT09ICRjYWNoZWtleSApIHsKCQkJCQkkdXJsID0gZXNjX3VybF9yYXcoICRwb3N0X2RhdGFbJ3JlZGlyZWN0X3VybF9lcnJvciddICkgLiAnJm1hcF90cmFuc2llbnQ9JyAuICRjYWNoZWtleTsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCWlmICggaXNzZXQoICRwb3N0X2RhdGFbJ21hcF90cmFuc2llbnQnXSApICkgeyAvLyB0aGVyZSB3YXMgcHJldmlvdXNseSBhbiBlcnJvciBzYXZlZC4gY2FuIGRlbGV0ZSBpdCBub3cuCgkJCQkJJHRoaXMtPnNmd3BfdHJhbnNpZW50cy0+ZGVsZXRlKCBlc2NfYXR0ciggJHBvc3RfZGF0YVsnbWFwX3RyYW5zaWVudCddICkgKTsKCQkJCX0KCQkJCS8vIHRoZW4gc2VuZCB0aGUgdXNlciB0byB0aGUgc3VjY2VzcyByZWRpcmVjdCB1cmwuCgkJCQkkdXJsID0gZXNjX3VybF9yYXcoICRwb3N0X2RhdGFbJ3JlZGlyZWN0X3VybF9zdWNjZXNzJ10gKTsKCQkJfQoJCX0KCQl3cF9zYWZlX3JlZGlyZWN0KCAkdXJsICk7CgkJZXhpdCgpOwoJfQoKCS8qKgoJICogRGVsZXRlIG9iamVjdCBtYXAgZGF0YSBhbmQgcmVkaXJlY3QgYWZ0ZXIgcHJvY2Vzc2luZwoJICogVGhpcyBydW5zIHdoZW4gdGhlIGRlbGV0ZSBsaW5rIGlzIGNsaWNrZWQgb24gYW4gZXJyb3Igcm93LCBhZnRlciB0aGUgdXNlciBjb25maXJtcwoJICogSXQgaXMgcHVibGljIGJlY2F1c2UgaXQgZGVwZW5kcyBvbiBhbiBhZG1pbiBob29rCgkgKiBJdCB0aGVuIGNhbGxzIHRoZSBPYmplY3RfU3luY19TZl9NYXBwaW5nIGNsYXNzIGFuZCB0aGUgZGVsZXRlIG1ldGhvZAoJICovCglwdWJsaWMgZnVuY3Rpb24gZGVsZXRlX29iamVjdF9tYXAoKSB7CgkJJHBvc3RfZGF0YSA9IGZpbHRlcl9pbnB1dF9hcnJheSggSU5QVVRfUE9TVCwgRklMVEVSX1NBTklUSVpFX1NUUklORyApOwoJCWlmICggaXNzZXQoICRwb3N0X2RhdGFbJ2lkJ10gKSApIHsKCQkJJHJlc3VsdCA9ICR0aGlzLT5tYXBwaW5ncy0+ZGVsZXRlX29iamVjdF9tYXAoICRwb3N0X2RhdGFbJ2lkJ10gKTsKCQkJaWYgKCB0cnVlID09PSAkcmVzdWx0ICkgewoJCQkJJHVybCA9IGVzY191cmxfcmF3KCAkcG9zdF9kYXRhWydyZWRpcmVjdF91cmxfc3VjY2VzcyddICk7CgkJCX0gZWxzZSB7CgkJCQkkdXJsID0gZXNjX3VybF9yYXcoICRwb3N0X2RhdGFbJ3JlZGlyZWN0X3VybF9lcnJvciddIC4gJyZpZD0nIC4gJHBvc3RfZGF0YVsnaWQnXSApOwoJCQl9CgkJCXdwX3NhZmVfcmVkaXJlY3QoICR1cmwgKTsKCQkJZXhpdCgpOwoJCX0gZWxzZWlmICggJHBvc3RfZGF0YVsnZGVsZXRlJ10gKSB7CgkJCSRwb3N0X2RhdGEgPSBmaWx0ZXJfaW5wdXRfYXJyYXkoIElOUFVUX1BPU1QsIEZJTFRFUl9TQU5JVElaRV9TVFJJTkcgKTsKCQkJJGNhY2hla2V5ICA9IHdwX2pzb25fZW5jb2RlKCAkcG9zdF9kYXRhICk7CgkJCWlmICggZmFsc2UgIT09ICRjYWNoZWtleSApIHsKCQkJCSRjYWNoZWtleSA9IG1kNSggJGNhY2hla2V5ICk7CgkJCX0KCQkJJGVycm9yID0gZmFsc2U7CgkJCWlmICggISBpc3NldCggJHBvc3RfZGF0YVsnZGVsZXRlJ10gKSApIHsKCQkJCSRlcnJvciA9IHRydWU7CgkJCX0KCQkJaWYgKCB0cnVlID09PSAkZXJyb3IgKSB7CgkJCQkkdGhpcy0+c2Z3cF90cmFuc2llbnRzLT5zZXQoICRjYWNoZWtleSwgJHBvc3RfZGF0YSwgJHRoaXMtPndvcmRwcmVzcy0+b3B0aW9uc1snY2FjaGVfZXhwaXJhdGlvbiddICk7CgkJCQlpZiAoICcnICE9PSAkY2FjaGVrZXkgKSB7CgkJCQkJJHVybCA9IGVzY191cmxfcmF3KCAkcG9zdF9kYXRhWydyZWRpcmVjdF91cmxfZXJyb3InXSApIC4gJyZtYXBwaW5nX2Vycm9yX3RyYW5zaWVudD0nIC4gJGNhY2hla2V5OwoJCQkJfQoJCQl9IGVsc2UgeyAvLyB0aGVyZSBhcmUgbm8gZXJyb3JzLgoJCQkJJHJlc3VsdCA9ICR0aGlzLT5tYXBwaW5ncy0+ZGVsZXRlX29iamVjdF9tYXAoIGFycmF5X2tleXMoICRwb3N0X2RhdGFbJ2RlbGV0ZSddICkgKTsKCQkJCWlmICggdHJ1ZSA9PT0gJHJlc3VsdCApIHsKCQkJCQkkdXJsID0gZXNjX3VybF9yYXcoICRwb3N0X2RhdGFbJ3JlZGlyZWN0X3VybF9zdWNjZXNzJ10gKTsKCQkJCX0KCgkJCQlpZiAoIGZhbHNlID09PSAkcmVzdWx0ICkgeyAvLyBpZiB0aGUgZGF0YWJhc2UgZGlkbid0IHNhdmUsIGl0J3Mgc3RpbGwgYW4gZXJyb3IuCgkJCQkJJHRoaXMtPnNmd3BfdHJhbnNpZW50cy0+c2V0KCAkY2FjaGVrZXksICRwb3N0X2RhdGEsICR0aGlzLT53b3JkcHJlc3MtPm9wdGlvbnNbJ2NhY2hlX2V4cGlyYXRpb24nXSApOwoJCQkJCWlmICggJycgIT09ICRjYWNoZWtleSApIHsKCQkJCQkJJHVybCA9IGVzY191cmxfcmF3KCAkcG9zdF9kYXRhWydyZWRpcmVjdF91cmxfZXJyb3InXSApIC4gJyZtYXBwaW5nX2Vycm9yX3RyYW5zaWVudD0nIC4gJGNhY2hla2V5OwoJCQkJCX0KCQkJCX0gZWxzZSB7CgkJCQkJaWYgKCBpc3NldCggJHBvc3RfZGF0YVsnbWFwcGluZ19lcnJvcl90cmFuc2llbnQnXSApICkgeyAvLyB0aGVyZSB3YXMgcHJldmlvdXNseSBhbiBlcnJvciBzYXZlZC4gY2FuIGRlbGV0ZSBpdCBub3cuCgkJCQkJCSR0aGlzLT5zZndwX3RyYW5zaWVudHMtPmRlbGV0ZSggZXNjX2F0dHIoICRwb3N0X2RhdGFbJ21hcHBpbmdfZXJyb3JfdHJhbnNpZW50J10gKSApOwoJCQkJCX0KCQkJCQkvLyB0aGVuIHNlbmQgdGhlIHVzZXIgdG8gdGhlIGxpc3Qgb2YgZmllbGRtYXBzLgoJCQkJCSR1cmwgPSBlc2NfdXJsX3JhdyggJHBvc3RfZGF0YVsncmVkaXJlY3RfdXJsX3N1Y2Nlc3MnXSApOwoJCQkJfQoJCQl9CgkJCXdwX3NhZmVfcmVkaXJlY3QoICR1cmwgKTsKCQkJZXhpdCgpOwoJCX0KCX0KCgkvKioKCSAqIEltcG9ydCBhIGpzb24gZmlsZSBhbmQgdXNlIGl0IGZvciBwbHVnaW4gZGF0YQoJICovCglwdWJsaWMgZnVuY3Rpb24gaW1wb3J0X2pzb25fZmlsZSgpIHsKCgkJaWYgKCAhIHdwX3ZlcmlmeV9ub25jZSggJF9QT1NUWydvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZV9ub25jZV9pbXBvcnQnXSwgJ29iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlX25vbmNlX2ltcG9ydCcgKSApIHsKCQkJcmV0dXJuOwoJCX0KCQlpZiAoICEgY3VycmVudF91c2VyX2NhbiggJ21hbmFnZV9vcHRpb25zJyApICkgewoJCQlyZXR1cm47CgkJfQoJCSRwYXRoICAgICAgPSAkX0ZJTEVTWydpbXBvcnRfZmlsZSddWyduYW1lJ107CgkJJGV4dGVuc2lvbiA9IHBhdGhpbmZvKCAkcGF0aCwgUEFUSElORk9fRVhURU5TSU9OICk7CgkJaWYgKCAnanNvbicgIT09ICRleHRlbnNpb24gKSB7CgkJCXdwX2RpZSggZXNjX2h0bWxfXyggJ1BsZWFzZSB1cGxvYWQgYSB2YWxpZCAuanNvbiBmaWxlJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApICk7CgkJfQoKCQkkaW1wb3J0X2ZpbGUgPSAkX0ZJTEVTWydpbXBvcnRfZmlsZSddWyd0bXBfbmFtZSddOwoJCWlmICggZW1wdHkoICRpbXBvcnRfZmlsZSApICkgewoJCQl3cF9kaWUoIGVzY19odG1sX18oICdQbGVhc2UgdXBsb2FkIGEgZmlsZSB0byBpbXBvcnQnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgKTsKCQl9CgoJCS8vIFJldHJpZXZlIHRoZSBkYXRhIGZyb20gdGhlIGZpbGUgYW5kIGNvbnZlcnQgdGhlIGpzb24gb2JqZWN0IHRvIGFuIGFycmF5LgoJCSRkYXRhID0gKGFycmF5KSBqc29uX2RlY29kZSggZmlsZV9nZXRfY29udGVudHMoICRpbXBvcnRfZmlsZSApLCB0cnVlICk7IC8vIHBocGNzOmlnbm9yZSBXb3JkUHJlc3MuV1AuQWx0ZXJuYXRpdmVGdW5jdGlvbnMuZmlsZV9nZXRfY29udGVudHNfZmlsZV9nZXRfY29udGVudHMKCgkJJG92ZXJ3cml0ZSA9IGlzc2V0KCAkX1BPU1RbJ292ZXJ3cml0ZSddICkgPyBlc2NfYXR0ciggJF9QT1NUWydvdmVyd3JpdGUnXSApIDogJyc7CgkJaWYgKCB0cnVlID09PSBmaWx0ZXJfdmFyKCAkb3ZlcndyaXRlLCBGSUxURVJfVkFMSURBVEVfQk9PTEVBTiApICkgewoJCQlpZiAoIGlzc2V0KCAkZGF0YVsnZmllbGRtYXBzJ10gKSApIHsKCQkJCSRmaWVsZG1hcHMgPSAkdGhpcy0+bWFwcGluZ3MtPmdldF9maWVsZG1hcHMoKTsKCQkJCWZvcmVhY2ggKCAkZmllbGRtYXBzIGFzICRmaWVsZG1hcCApIHsKCQkJCQkkaWQgICAgID0gJGZpZWxkbWFwWydpZCddOwoJCQkJCSRkZWxldGUgPSAkdGhpcy0+bWFwcGluZ3MtPmRlbGV0ZV9maWVsZG1hcCggJGlkICk7CgkJCQl9CgkJCX0KCQkJaWYgKCBpc3NldCggJGRhdGFbJ29iamVjdF9tYXBzJ10gKSApIHsKCQkJCSRvYmplY3RfbWFwcyA9ICR0aGlzLT5tYXBwaW5ncy0+Z2V0X2FsbF9vYmplY3RfbWFwcygpOwoJCQkJZm9yZWFjaCAoICRvYmplY3RfbWFwcyBhcyAkb2JqZWN0X21hcCApIHsKCQkJCQkkaWQgICAgID0gJG9iamVjdF9tYXBbJ2lkJ107CgkJCQkJJGRlbGV0ZSA9ICR0aGlzLT5tYXBwaW5ncy0+ZGVsZXRlX29iamVjdF9tYXAoICRpZCApOwoJCQkJfQoJCQl9CgkJCWlmICggaXNzZXQoICRkYXRhWydwbHVnaW5fc2V0dGluZ3MnXSApICkgewoJCQkJZm9yZWFjaCAoICRkYXRhWydwbHVnaW5fc2V0dGluZ3MnXSBhcyAka2V5ID0+ICR2YWx1ZSApIHsKCQkJCQlkZWxldGVfb3B0aW9uKCAkdmFsdWVbJ29wdGlvbl9uYW1lJ10gKTsKCQkJCX0KCQkJfQoJCX0KCgkJLy8gaWYgdGhlIG9wdGlvbiBzYXlzIHRvLCBzZXQgYWxsIHRoZSBpbXBvcnRlZCBmaWVsZG1hcHMgdG8gaW5hY3RpdmUuCgkJJGltcG9ydF9maWVsZG1hcHNfaW5hY3RpdmUgPSBpc3NldCggJF9QT1NUWydpbXBvcnRfZmllbGRtYXBzX2luYWN0aXZlJ10gKSA/IGVzY19hdHRyKCAkX1BPU1RbJ2ltcG9ydF9maWVsZG1hcHNfaW5hY3RpdmUnXSApIDogJyc7CgkJaWYgKCB0cnVlID09PSBmaWx0ZXJfdmFyKCAkaW1wb3J0X2ZpZWxkbWFwc19pbmFjdGl2ZSwgRklMVEVSX1ZBTElEQVRFX0JPT0xFQU4gKSApIHsKCQkJaWYgKCBpc3NldCggJGRhdGFbJ2ZpZWxkbWFwcyddICkgKSB7CgkJCQlmb3JlYWNoICggJGRhdGFbJ2ZpZWxkbWFwcyddIGFzICRrZXkgPT4gJGZpZWxkbWFwICkgewoJCQkJCSRkYXRhWydmaWVsZG1hcHMnXVsgJGtleSBdWydmaWVsZG1hcF9zdGF0dXMnXSA9ICdpbmFjdGl2ZSc7CgkJCQl9CgkJCX0KCQl9CgoJCSRzdWNjZXNzID0gdHJ1ZTsKCgkJaWYgKCBpc3NldCggJGRhdGFbJ2ZpZWxkbWFwcyddICkgKSB7CgkJCSRzdWNjZXNzZnVsX2ZpZWxkbWFwcyA9IGFycmF5KCk7CgkJCSRlcnJvcl9maWVsZG1hcHMgICAgICA9IGFycmF5KCk7CgkJCWZvcmVhY2ggKCAkZGF0YVsnZmllbGRtYXBzJ10gYXMgJGZpZWxkbWFwICkgewoJCQkJdW5zZXQoICRmaWVsZG1hcFsnaWQnXSApOwoJCQkJJGNyZWF0ZSA9ICR0aGlzLT5tYXBwaW5ncy0+Y3JlYXRlX2ZpZWxkbWFwKCAkZmllbGRtYXAgKTsKCQkJCWlmICggZmFsc2UgPT09ICRjcmVhdGUgKSB7CgkJCQkJJHN1Y2Nlc3MgPSBmYWxzZTsKCQkJCX0KCQkJCWlmICggZmFsc2UgPT09ICRjcmVhdGUgKSB7CgkJCQkJJGVycm9yX2ZpZWxkbWFwc1tdID0gJGZpZWxkbWFwOwoJCQkJfSBlbHNlIHsKCQkJCQkkc3VjY2Vzc2Z1bF9maWVsZG1hcHNbXSA9ICRjcmVhdGU7CgkJCQl9CgkJCX0KCQl9CgoJCWlmICggaXNzZXQoICRkYXRhWydvYmplY3RfbWFwcyddICkgKSB7CgkJCSRzdWNjZXNzZnVsX29iamVjdF9tYXBzID0gYXJyYXkoKTsKCQkJJGVycm9yX29iamVjdF9tYXBzICAgICAgPSBhcnJheSgpOwoJCQlmb3JlYWNoICggJGRhdGFbJ29iamVjdF9tYXBzJ10gYXMgJG9iamVjdF9tYXAgKSB7CgkJCQl1bnNldCggJG9iamVjdF9tYXBbJ2lkJ10gKTsKCQkJCWlmICggaXNzZXQoICRvYmplY3RfbWFwWydvYmplY3RfdHlwZSddICkgKSB7CgkJCQkJJHNmX3N5bmNfdHJpZ2dlciA9ICR0aGlzLT5tYXBwaW5ncy0+c3luY19zZl9jcmVhdGU7CgkJCQkJJGNyZWF0ZSAgICAgICAgICA9ICR0aGlzLT5wdWxsLT5zYWxlc2ZvcmNlX3B1bGxfcHJvY2Vzc19yZWNvcmRzKCAkb2JqZWN0X21hcFsnb2JqZWN0X3R5cGUnXSwgJG9iamVjdF9tYXBbJ3NhbGVzZm9yY2VfaWQnXSwgJHNmX3N5bmNfdHJpZ2dlciApOwoJCQkJfSBlbHNlIHsKCQkJCQkkY3JlYXRlID0gJHRoaXMtPm1hcHBpbmdzLT5jcmVhdGVfb2JqZWN0X21hcCggJG9iamVjdF9tYXAgKTsKCQkJCX0KCQkJCWlmICggZmFsc2UgPT09ICRjcmVhdGUgKSB7CgkJCQkJJGVycm9yX29iamVjdF9tYXBzW10gPSAkb2JqZWN0X21hcDsKCQkJCX0gZWxzZSB7CgkJCQkJJHN1Y2Nlc3NmdWxfb2JqZWN0X21hcHNbXSA9ICRjcmVhdGU7CgkJCQl9CgkJCX0KCQl9CgoJCWlmICggaXNzZXQoICRkYXRhWydwbHVnaW5fc2V0dGluZ3MnXSApICkgewoJCQlmb3JlYWNoICggJGRhdGFbJ3BsdWdpbl9zZXR0aW5ncyddIGFzICRrZXkgPT4gJHZhbHVlICkgewoJCQkJdXBkYXRlX29wdGlvbiggJHZhbHVlWydvcHRpb25fbmFtZSddLCBtYXliZV91bnNlcmlhbGl6ZSggJHZhbHVlWydvcHRpb25fdmFsdWUnXSApLCAkdmFsdWVbJ2F1dG9sb2FkJ10gKTsKCQkJfQoJCX0KCgkJaWYgKCAhIGVtcHR5KCAkZXJyb3JfZmllbGRtYXBzICkgJiYgISBlbXB0eSggJGVycm9yX29iamVjdF9tYXBzICkgKSB7CgkJCSRzdGF0dXMgPSAnZXJyb3InOwoJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCX0KCgkJCSRib2R5ID0gc3ByaW50ZiggZXNjX2h0bWxfXyggJ1RoZXNlIGFyZSB0aGUgaW1wb3J0IGl0ZW1zIHRoYXQgd2VyZSBub3QgYWJsZSB0byBzYXZlOiAnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiAnPHVsPicgKTsKCQkJZm9yZWFjaCAoICRlcnJvcl9maWVsZG1hcHMgYXMgJGZpZWxkbWFwICkgewoJCQkJJGJvZHkgLj0gc3ByaW50ZigKCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIGZpZWxkbWFwIHJvdyBJRCwgMikgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IHR5cGUsIDMpIHRoZSBXb3JkUHJlc3Mgb2JqZWN0IHR5cGUuCgkJCQkJJzxsaT4nIC4gZXNjX2h0bWxfXyggJ0ZpZWxkbWFwIGlkIChpZiBpdCBleGlzdHMpOiAlMSRzLiBTYWxlc2ZvcmNlIG9iamVjdCB0eXBlOiAlMiRzLiBXb3JkUHJlc3Mgb2JqZWN0IHR5cGU6ICUzJHMnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiAnPC9saT4nLAoJCQkJCWlzc2V0KCAkZmllbGRtYXBbJ2lkJ10gKSA/IGFic2ludCggJGZpZWxkbWFwWydpZCddICkgOiAnJywKCQkJCQllc2NfYXR0ciggJGZpZWxkbWFwWydzYWxlc2ZvcmNlX29iamVjdCddICksCgkJCQkJZXNjX2F0dHIoICRmaWVsZG1hcFsnd29yZHByZXNzX29iamVjdCddICkKCQkJCSk7CgkJCX0KCQkJZm9yZWFjaCAoICRlcnJvcl9vYmplY3RfbWFwcyBhcyAkbWFwcGluZ19vYmplY3QgKSB7CgkJCQkkYm9keSAuPSBzcHJpbnRmKAoJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbWFwcGluZyBvYmplY3Qgcm93IElELCAyKSB0aGUgSUQgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0LCAzKSB0aGUgV29yZFByZXNzIG9iamVjdCB0eXBlLgoJCQkJCSc8bGk+JyAuIGVzY19odG1sX18oICdNYXBwaW5nIG9iamVjdCBpZCAoaWYgaXQgZXhpc3RzKTogJTEkcy4gU2FsZXNmb3JjZSBJZDogJTIkcy4gV29yZFByZXNzIG9iamVjdCB0eXBlOiAlMyRzJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApIC4gJzwvbGk+JywKCQkJCQlpc3NldCggJG1hcHBpbmdfb2JqZWN0WydpZCddICkgPyBhYnNpbnQoICRtYXBwaW5nX29iamVjdFsnaWQnXSApIDogJycsCgkJCQkJZXNjX2F0dHIoICRtYXBwaW5nX29iamVjdFsnc2FsZXNmb3JjZV9pZCddICksCgkJCQkJZXNjX2F0dHIoICRtYXBwaW5nX29iamVjdFsnd29yZHByZXNzX29iamVjdCddICkKCQkJCSk7CgkJCX0KCQkJJGJvZHkgLj0gc3ByaW50ZiggJzwvdWw+JyApOwoKCQkJJGxvZ2dpbmctPnNldHVwKAoJCQkJc3ByaW50ZigKCQkJCQkvLyB0cmFuc2xhdG9yczogJTEkcyBpcyB0aGUgbG9nIHN0YXR1cy4KCQkJCQllc2NfaHRtbF9fKCAnJTEkcyBvbiBpbXBvcnQ6IHNvbWUgb2YgdGhlIHJvd3Mgd2VyZSB1bmFibGUgdG8gc2F2ZS4gUmVhZCB0aGlzIHBvc3QgZm9yIGRldGFpbHMuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKQoJCQkJKSwKCQkJCSRib2R5LAoJCQkJMCwKCQkJCTAsCgkJCQkkc3RhdHVzCgkJCSk7CgkJfQoKCQlpZiAoIGVtcHR5KCAkZXJyb3JfZmllbGRtYXBzICkgJiYgZW1wdHkoICRlcnJvcl9vYmplY3RfbWFwcyApICYmICggISBlbXB0eSggJHN1Y2Nlc3NmdWxfZmllbGRtYXBzICkgfHwgISBlbXB0eSggJHN1Y2Nlc3NmdWxfb2JqZWN0X21hcHMgKSApICkgewoJCQkkdGhpcy0+Y2xlYXJfY2FjaGUoIGZhbHNlICk7CgkJCXdwX3NhZmVfcmVkaXJlY3QoIGdldF9hZG1pbl91cmwoIG51bGwsICdvcHRpb25zLWdlbmVyYWwucGhwP3BhZ2U9JyAuICR0aGlzLT5hZG1pbl9zZXR0aW5nc191cmxfcGFyYW0gLiAnJnRhYj1pbXBvcnQtZXhwb3J0JmRhdGFfc2F2ZWQ9dHJ1ZScgKSApOwoJCQlleGl0OwoJCX0gZWxzZWlmICggISBlbXB0eSggJGVycm9yX2ZpZWxkbWFwcyApICYmICEgZW1wdHkoICRzdWNjZXNzZnVsX2ZpZWxkbWFwcyApICkgewoJCQkkdGhpcy0+Y2xlYXJfY2FjaGUoIGZhbHNlICk7CgkJCXdwX3NhZmVfcmVkaXJlY3QoIGdldF9hZG1pbl91cmwoIG51bGwsICdvcHRpb25zLWdlbmVyYWwucGhwP3BhZ2U9JyAuICR0aGlzLT5hZG1pbl9zZXR0aW5nc191cmxfcGFyYW0gLiAnJnRhYj1pbXBvcnQtZXhwb3J0JmRhdGFfc2F2ZWQ9cGFydGlhbCcgKSApOwoJCX0gZWxzZWlmICggISBlbXB0eSggJGVycm9yX29iamVjdF9tYXBzICkgJiYgISBlbXB0eSggJHN1Y2Nlc3NmdWxfb2JqZWN0X21hcHMgKSApIHsKCQkJJHRoaXMtPmNsZWFyX2NhY2hlKCBmYWxzZSApOwoJCQl3cF9zYWZlX3JlZGlyZWN0KCBnZXRfYWRtaW5fdXJsKCBudWxsLCAnb3B0aW9ucy1nZW5lcmFsLnBocD9wYWdlPScgLiAkdGhpcy0+YWRtaW5fc2V0dGluZ3NfdXJsX3BhcmFtIC4gJyZ0YWI9aW1wb3J0LWV4cG9ydCZkYXRhX3NhdmVkPXBhcnRpYWwnICkgKTsKCQl9IGVsc2UgewoJCQl3cF9zYWZlX3JlZGlyZWN0KCBnZXRfYWRtaW5fdXJsKCBudWxsLCAnb3B0aW9ucy1nZW5lcmFsLnBocD9wYWdlPScgLiAkdGhpcy0+YWRtaW5fc2V0dGluZ3NfdXJsX3BhcmFtIC4gJyZ0YWI9aW1wb3J0LWV4cG9ydCZkYXRhX3NhdmVkPWZhbHNlJyApICk7CgkJCWV4aXQ7CgkJfQoKCX0KCgkvKioKCSAqIENyZWF0ZSBhIGpzb24gZmlsZSBmb3IgZXhwb3J0aW5nCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBleHBvcnRfanNvbl9maWxlKCkgewoKCQlpZiAoICEgd3BfdmVyaWZ5X25vbmNlKCAkX1BPU1RbJ29iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlX25vbmNlX2V4cG9ydCddLCAnb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2Vfbm9uY2VfZXhwb3J0JyApICkgewoJCQlyZXR1cm47CgkJfQoJCWlmICggISBjdXJyZW50X3VzZXJfY2FuKCAnbWFuYWdlX29wdGlvbnMnICkgKSB7CgkJCXJldHVybjsKCQl9CgkJJHBvc3RfZGF0YSA9IGZpbHRlcl9pbnB1dF9hcnJheSggSU5QVVRfUE9TVCwgRklMVEVSX1NBTklUSVpFX1NUUklORyApOwoJCSRleHBvcnQgICAgPSBhcnJheSgpOwoJCWlmICggaW5fYXJyYXkoICdmaWVsZG1hcHMnLCAkcG9zdF9kYXRhWydleHBvcnQnXSwgdHJ1ZSApICkgewoJCQkkZXhwb3J0WydmaWVsZG1hcHMnXSA9ICR0aGlzLT5tYXBwaW5ncy0+Z2V0X2ZpZWxkbWFwcygpOwoJCX0KCQlpZiAoIGluX2FycmF5KCAnb2JqZWN0X21hcHMnLCAkcG9zdF9kYXRhWydleHBvcnQnXSwgdHJ1ZSApICkgewoJCQkkZXhwb3J0WydvYmplY3RfbWFwcyddID0gJHRoaXMtPm1hcHBpbmdzLT5nZXRfYWxsX29iamVjdF9tYXBzKCk7CgkJfQoJCWlmICggaW5fYXJyYXkoICdwbHVnaW5fc2V0dGluZ3MnLCAkcG9zdF9kYXRhWydleHBvcnQnXSwgdHJ1ZSApICkgewoJCQkkd3BkYiAgICAgICAgICAgICAgICAgICAgICA9ICR0aGlzLT53cGRiOwoJCQkkZXhwb3J0X3Jlc3VsdHMgICAgICAgICAgICA9ICR3cGRiLT5nZXRfcmVzdWx0cyggJHdwZGItPnByZXBhcmUoICJTRUxFQ1QgKiBGUk9NIGB7JHdwZGItPmJhc2VfcHJlZml4fW9wdGlvbnNgIFdIRVJFIG9wdGlvbl9uYW1lIExJS0UgJXM7IiwgJHdwZGItPmVzY19saWtlKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCApIC4gJyUnICksIEFSUkFZX0EgKTsKCQkJJGV4cG9ydFsncGx1Z2luX3NldHRpbmdzJ10gPSAkZXhwb3J0X3Jlc3VsdHM7CgkJfQoJCW5vY2FjaGVfaGVhZGVycygpOwoJCWhlYWRlciggJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOCcgKTsKCQloZWFkZXIoICdDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT1vYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZS1kYXRhLWV4cG9ydC0nIC4gZ21kYXRlKCAnbS1kLVknICkgLiAnLmpzb24nICk7CgkJaGVhZGVyKCAnRXhwaXJlczogMCcgKTsKCQllY2hvIHdwX2pzb25fZW5jb2RlKCAkZXhwb3J0ICk7CgkJZXhpdDsKCX0KCgkvKioKCSAqIERlZmF1bHQgZGlzcGxheSBmb3IgPGlucHV0PiBmaWVsZHMKCSAqCgkgKiBAcGFyYW0gYXJyYXkgJGFyZ3MgaXMgdGhlIGFyZ3VtZW50cyB0byBjcmVhdGUgdGhlIGZpZWxkLgoJICovCglwdWJsaWMgZnVuY3Rpb24gZGlzcGxheV9pbnB1dF9maWVsZCggJGFyZ3MgKSB7CgkJJHR5cGUgICAgPSAkYXJnc1sndHlwZSddOwoJCSRpZCAgICAgID0gJGFyZ3NbJ2xhYmVsX2ZvciddOwoJCSRuYW1lICAgID0gJGFyZ3NbJ25hbWUnXTsKCQkkZGVzYyAgICA9ICRhcmdzWydkZXNjJ107CgkJJGNoZWNrZWQgPSAnJzsKCgkJJGNsYXNzID0gJ3JlZ3VsYXItdGV4dCc7CgoJCWlmICggJ2NoZWNrYm94JyA9PT0gJHR5cGUgKSB7CgkJCSRjbGFzcyA9ICdjaGVja2JveCc7CgkJfQoKCQlpZiAoIGlzc2V0KCAkYXJnc1snY2xhc3MnXSApICkgewoJCQkkY2xhc3MgPSAkYXJnc1snY2xhc3MnXTsKCQl9CgoJCWlmICggISBpc3NldCggJGFyZ3NbJ2NvbnN0YW50J10gKSB8fCAhIGRlZmluZWQoICRhcmdzWydjb25zdGFudCddICkgKSB7CgkJCSR2YWx1ZSA9IGVzY19hdHRyKCBnZXRfb3B0aW9uKCAkaWQsICcnICkgKTsKCQkJaWYgKCAnY2hlY2tib3gnID09PSAkdHlwZSApIHsKCQkJCSR2YWx1ZSA9IGZpbHRlcl92YXIoIGdldF9vcHRpb24oICRpZCwgZmFsc2UgKSwgRklMVEVSX1ZBTElEQVRFX0JPT0xFQU4gKTsKCQkJCWlmICggdHJ1ZSA9PT0gJHZhbHVlICkgewoJCQkJCSRjaGVja2VkID0gJ2NoZWNrZWQgJzsKCQkJCX0KCQkJCSR2YWx1ZSA9IDE7CgkJCX0KCQkJaWYgKCAnJyA9PT0gJHZhbHVlICYmIGlzc2V0KCAkYXJnc1snZGVmYXVsdCddICkgJiYgJycgIT09ICRhcmdzWydkZWZhdWx0J10gKSB7CgkJCQkkdmFsdWUgPSAkYXJnc1snZGVmYXVsdCddOwoJCQl9CgoJCQllY2hvIHNwcmludGYoCgkJCQknPGlucHV0IHR5cGU9IiUxJHMiIHZhbHVlPSIlMiRzIiBuYW1lPSIlMyRzIiBpZD0iJTQkcyIgY2xhc3M9IiU1JHMiJTYkcz4nLAoJCQkJZXNjX2F0dHIoICR0eXBlICksCgkJCQllc2NfYXR0ciggJHZhbHVlICksCgkJCQllc2NfYXR0ciggJG5hbWUgKSwKCQkJCWVzY19hdHRyKCAkaWQgKSwKCQkJCXNhbml0aXplX2h0bWxfY2xhc3MoICRjbGFzcyAuIGVzY19odG1sKCAnIGNvZGUnICkgKSwKCQkJCWVzY19odG1sKCAkY2hlY2tlZCApCgkJCSk7CgkJCWlmICggJycgIT09ICRkZXNjICkgewoJCQkJZWNobyBzcHJpbnRmKAoJCQkJCSc8cCBjbGFzcz0iZGVzY3JpcHRpb24iPiUxJHM8L3A+JywKCQkJCQllc2NfaHRtbCggJGRlc2MgKQoJCQkJKTsKCQkJfQoJCX0gZWxzZSB7CgkJCWVjaG8gc3ByaW50ZigKCQkJCSc8cD48Y29kZT4lMSRzPC9jb2RlPjwvcD4nLAoJCQkJZXNjX2h0bWxfXyggJ0RlZmluZWQgaW4gd3AtY29uZmlnLnBocCcsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKQoJCQkpOwoJCX0KCX0KCgkvKioKCSAqIERpc3BsYXkgZm9yIG11bHRpcGxlIGNoZWNrYm94ZXMKCSAqIEFib3ZlIG1ldGhvZCBjYW4gaGFuZGxlIGEgc2luZ2xlIGNoZWNrYm94IGFzIGl0IGlzCgkgKgoJICogQHBhcmFtIGFycmF5ICRhcmdzIGlzIHRoZSBhcmd1bWVudHMgdG8gY3JlYXRlIHRoZSBjaGVja2JveGVzLgoJICovCglwdWJsaWMgZnVuY3Rpb24gZGlzcGxheV9jaGVja2JveGVzKCAkYXJncyApIHsKCQkkdHlwZSAgICA9ICdjaGVja2JveCc7CgkJJG5hbWUgICAgPSAkYXJnc1snbmFtZSddOwoJCSRvcHRpb25zID0gZ2V0X29wdGlvbiggJG5hbWUsIGFycmF5KCkgKTsKCQlmb3JlYWNoICggJGFyZ3NbJ2l0ZW1zJ10gYXMgJGtleSA9PiAkdmFsdWUgKSB7CgkJCSR0ZXh0ICAgID0gJHZhbHVlWyd0ZXh0J107CgkJCSRpZCAgICAgID0gJHZhbHVlWydpZCddOwoJCQkkZGVzYyAgICA9ICR2YWx1ZVsnZGVzYyddOwoJCQkkY2hlY2tlZCA9ICcnOwoJCQlpZiAoIGlzX2FycmF5KCAkb3B0aW9ucyApICYmIGluX2FycmF5KCAoc3RyaW5nKSAka2V5LCAkb3B0aW9ucywgdHJ1ZSApICkgewoJCQkJJGNoZWNrZWQgPSAnY2hlY2tlZCc7CgkJCX0gZWxzZWlmICggaXNfYXJyYXkoICRvcHRpb25zICkgJiYgZW1wdHkoICRvcHRpb25zICkgKSB7CgkJCQlpZiAoIGlzc2V0KCAkdmFsdWVbJ2RlZmF1bHQnXSApICYmIHRydWUgPT09ICR2YWx1ZVsnZGVmYXVsdCddICkgewoJCQkJCSRjaGVja2VkID0gJ2NoZWNrZWQnOwoJCQkJfQoJCQl9CgkJCWVjaG8gc3ByaW50ZigKCQkJCSc8ZGl2IGNsYXNzPSJjaGVja2JveCI+PGxhYmVsPjxpbnB1dCB0eXBlPSIlMSRzIiB2YWx1ZT0iJTIkcyIgbmFtZT0iJTMkc1tdIiBpZD0iJTQkcyIlNSRzPiU2JHM8L2xhYmVsPjwvZGl2PicsCgkJCQllc2NfYXR0ciggJHR5cGUgKSwKCQkJCWVzY19hdHRyKCAka2V5ICksCgkJCQllc2NfYXR0ciggJG5hbWUgKSwKCQkJCWVzY19hdHRyKCAkaWQgKSwKCQkJCWVzY19odG1sKCAkY2hlY2tlZCApLAoJCQkJZXNjX2h0bWwoICR0ZXh0ICkKCQkJKTsKCQkJaWYgKCAnJyAhPT0gJGRlc2MgKSB7CgkJCQllY2hvIHNwcmludGYoCgkJCQkJJzxwIGNsYXNzPSJkZXNjcmlwdGlvbiI+JTEkczwvcD4nLAoJCQkJCWVzY19odG1sKCAkZGVzYyApCgkJCQkpOwoJCQl9CgkJfQoJfQoKCS8qKgoJICogRGlzcGxheSBmb3IgYSBkcm9wZG93bgoJICoKCSAqIEBwYXJhbSBhcnJheSAkYXJncyBpcyB0aGUgYXJndW1lbnRzIG5lZWRlZCB0byBjcmVhdGUgdGhlIGRyb3Bkb3duLgoJICovCglwdWJsaWMgZnVuY3Rpb24gZGlzcGxheV9zZWxlY3QoICRhcmdzICkgewoJCSR0eXBlID0gJGFyZ3NbJ3R5cGUnXTsKCQkkaWQgICA9ICRhcmdzWydsYWJlbF9mb3InXTsKCQkkbmFtZSA9ICRhcmdzWyduYW1lJ107CgkJJGRlc2MgPSAkYXJnc1snZGVzYyddOwoJCWlmICggISBpc3NldCggJGFyZ3NbJ2NvbnN0YW50J10gKSB8fCAhIGRlZmluZWQoICRhcmdzWydjb25zdGFudCddICkgKSB7CgkJCSRjdXJyZW50X3ZhbHVlID0gZ2V0X29wdGlvbiggJG5hbWUgKTsKCgkJCWVjaG8gc3ByaW50ZigKCQkJCSc8ZGl2IGNsYXNzPSJzZWxlY3QiPjxzZWxlY3QgaWQ9IiUxJHMiIG5hbWU9IiUyJHMiPjxvcHRpb24gdmFsdWU9IiI+LSAnIC4gZXNjX2h0bWxfXyggJ1NlbGVjdCBvbmUnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiAnIC08L29wdGlvbj4nLAoJCQkJZXNjX2F0dHIoICRpZCApLAoJCQkJZXNjX2F0dHIoICRuYW1lICkKCQkJKTsKCgkJCWZvcmVhY2ggKCAkYXJnc1snaXRlbXMnXSBhcyAka2V5ID0+ICR2YWx1ZSApIHsKCQkJCSR0ZXh0ICAgICA9ICR2YWx1ZVsndGV4dCddOwoJCQkJJHZhbHVlICAgID0gJHZhbHVlWyd2YWx1ZSddOwoJCQkJJHNlbGVjdGVkID0gJyc7CgkJCQlpZiAoICRrZXkgPT09ICRjdXJyZW50X3ZhbHVlIHx8ICR2YWx1ZSA9PT0gJGN1cnJlbnRfdmFsdWUgKSB7CgkJCQkJJHNlbGVjdGVkID0gJyBzZWxlY3RlZCc7CgkJCQl9CgoJCQkJZWNobyBzcHJpbnRmKAoJCQkJCSc8b3B0aW9uIHZhbHVlPSIlMSRzIiUyJHM+JTMkczwvb3B0aW9uPicsCgkJCQkJZXNjX2F0dHIoICR2YWx1ZSApLAoJCQkJCWVzY19hdHRyKCAkc2VsZWN0ZWQgKSwKCQkJCQllc2NfaHRtbCggJHRleHQgKQoJCQkJKTsKCgkJCX0KCQkJZWNobyAnPC9zZWxlY3Q+JzsKCQkJaWYgKCAnJyAhPT0gJGRlc2MgKSB7CgkJCQllY2hvIHNwcmludGYoCgkJCQkJJzxwIGNsYXNzPSJkZXNjcmlwdGlvbiI+JTEkczwvcD4nLAoJCQkJCWVzY19odG1sKCAkZGVzYyApCgkJCQkpOwoJCQl9CgkJCWVjaG8gJzwvZGl2Pic7CgkJfSBlbHNlIHsKCQkJZWNobyBzcHJpbnRmKAoJCQkJJzxwPjxjb2RlPiUxJHM8L2NvZGU+PC9wPicsCgkJCQllc2NfaHRtbF9fKCAnRGVmaW5lZCBpbiB3cC1jb25maWcucGhwJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApCgkJCSk7CgkJfQoJfQoKCS8qKgoJICogRHJvcGRvd24gZm9ybWF0dGVkIGxpc3Qgb2YgU2FsZXNmb3JjZSBBUEkgdmVyc2lvbnMKCSAqCgkgKiBAcmV0dXJuIGFycmF5ICRhcmdzIGlzIHRoZSBhcnJheSBvZiBBUEkgdmVyc2lvbnMgZm9yIHRoZSBkcm9wZG93bi4KCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiB2ZXJzaW9uX29wdGlvbnMoKSB7CgkJJGFyZ3MgPSBhcnJheSgpOwoJCWlmICggZGVmaW5lZCggJ09CSkVDVF9TWU5DX1NGX1NBTEVTRk9SQ0VfQVBJX1ZFUlNJT04nICkgfHwgISBpc3NldCggJF9HRVRbJ3BhZ2UnXSApIHx8IHNhbml0aXplX2tleSggJF9HRVRbJ3BhZ2UnXSApICE9PSAkdGhpcy0+YWRtaW5fc2V0dGluZ3NfdXJsX3BhcmFtICkgewoJCQlyZXR1cm4gJGFyZ3M7CgkJfQoJCSR2ZXJzaW9ucyA9ICR0aGlzLT5zYWxlc2ZvcmNlWydzZmFwaSddLT5nZXRfYXBpX3ZlcnNpb25zKCk7CgkJZm9yZWFjaCAoICR2ZXJzaW9uc1snZGF0YSddIGFzICRrZXkgPT4gJHZhbHVlICkgewoJCQkkYXJnc1tdID0gYXJyYXkoCgkJCQkndmFsdWUnID0+ICR2YWx1ZVsndmVyc2lvbiddLAoJCQkJJ3RleHQnICA9PiAkdmFsdWVbJ2xhYmVsJ10gLiAnICgnIC4gJHZhbHVlWyd2ZXJzaW9uJ10gLiAnKScsCgkJCSk7CgkJfQoJCXJldHVybiAkYXJnczsKCX0KCgkvKioKCSAqIERlZmF1bHQgZGlzcGxheSBmb3IgPGEgaHJlZj4gbGlua3MKCSAqCgkgKiBAcGFyYW0gYXJyYXkgJGFyZ3MgaXMgdGhlIGFyZ3VtZW50cyB0byBtYWtlIHRoZSBsaW5rLgoJICovCglwdWJsaWMgZnVuY3Rpb24gZGlzcGxheV9saW5rKCAkYXJncyApIHsKCQkkbGFiZWwgPSAkYXJnc1snbGFiZWwnXTsKCQkkZGVzYyAgPSAkYXJnc1snZGVzYyddOwoJCSR1cmwgICA9ICRhcmdzWyd1cmwnXTsKCQlpZiAoIGlzc2V0KCAkYXJnc1snbGlua19jbGFzcyddICkgKSB7CgkJCWVjaG8gc3ByaW50ZigKCQkJCSc8cD48YSBjbGFzcz0iJTEkcyIgaHJlZj0iJTIkcyI+JTMkczwvYT48L3A+JywKCQkJCWVzY19hdHRyKCAkYXJnc1snbGlua19jbGFzcyddICksCgkJCQllc2NfdXJsKCAkdXJsICksCgkJCQllc2NfaHRtbCggJGxhYmVsICkKCQkJKTsKCQl9IGVsc2UgewoJCQllY2hvIHNwcmludGYoCgkJCQknPHA+PGEgaHJlZj0iJTEkcyI+JTIkczwvYT48L3A+JywKCQkJCWVzY191cmwoICR1cmwgKSwKCQkJCWVzY19odG1sKCAkbGFiZWwgKQoJCQkpOwoJCX0KCgkJaWYgKCAnJyAhPT0gJGRlc2MgKSB7CgkJCWVjaG8gc3ByaW50ZigKCQkJCSc8cCBjbGFzcz0iZGVzY3JpcHRpb24iPiUxJHM8L3A+JywKCQkJCWVzY19odG1sKCAkZGVzYyApCgkJCSk7CgkJfQoKCX0KCgkvKioKCSAqIEFsbG93IGZvciBhIHN0YW5kYXJkIHNhbml0aXplL3ZhbGlkYXRlIG1ldGhvZC4gV2UgY291bGQgdXNlIG1vcmUgc3BlY2lmaWMgb25lcyBpZiBuZWVkIGJlLCBidXQgdGhpcyBvbmUgcHJvdmlkZXMgYSBiYXNlbGluZS4KCSAqCgkgKiBAcGFyYW0gc3RyaW5nICRvcHRpb24gaXMgdGhlIG9wdGlvbiB2YWx1ZS4KCSAqIEByZXR1cm4gc3RyaW5nICRvcHRpb24gaXMgdGhlIHNhbml0aXplZCBvcHRpb24gdmFsdWUuCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBzYW5pdGl6ZV92YWxpZGF0ZV90ZXh0KCAkb3B0aW9uICkgewoJCWlmICggaXNfYXJyYXkoICRvcHRpb24gKSApIHsKCQkJJG9wdGlvbnMgPSBhcnJheSgpOwoJCQlmb3JlYWNoICggJG9wdGlvbiBhcyAka2V5ID0+ICR2YWx1ZSApIHsKCQkJCSRvcHRpb25zWyAka2V5IF0gPSBzYW5pdGl6ZV90ZXh0X2ZpZWxkKCAkdmFsdWUgKTsKCQkJfQoJCQlyZXR1cm4gJG9wdGlvbnM7CgkJfQoJCSRvcHRpb24gPSBzYW5pdGl6ZV90ZXh0X2ZpZWxkKCAkb3B0aW9uICk7CgkJcmV0dXJuICRvcHRpb247Cgl9CgoJLyoqCgkgKiBSdW4gYSBkZW1vIG9mIFNhbGVzZm9yY2UgQVBJIGNhbGwgb24gdGhlIGF1dGhlbnRpY2F0ZSB0YWIgYWZ0ZXIgV29yZFByZXNzIGhhcyBhdXRoZW50aWNhdGVkIHdpdGggaXQKCSAqCgkgKiBAcGFyYW0gb2JqZWN0ICRzZmFwaSB0aGlzIGlzIHRoZSBTYWxlc2ZvcmNlIEFQSSBvYmplY3QuCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gc3RhdHVzKCAkc2ZhcGkgKSB7CgoJCSR2ZXJzaW9ucyA9ICRzZmFwaS0+Z2V0X2FwaV92ZXJzaW9ucygpOwoKCQkvLyBmb3JtYXQgdGhpcyBhcnJheSBpbnRvIHRleHQgc28gdXNlcnMgY2FuIHNlZSB0aGUgdmVyc2lvbnMuCgkJaWYgKCB0cnVlID09PSAkdmVyc2lvbnNbJ2NhY2hlZCddICkgewoJCQkkdmVyc2lvbnNfaXNfY2FjaGVkID0gZXNjX2h0bWxfXyggJ1RoaXMgbGlzdCBpcyBjYWNoZWQsIGFuZCcsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKTsKCQl9IGVsc2UgewoJCQkkdmVyc2lvbnNfaXNfY2FjaGVkID0gZXNjX2h0bWxfXyggJ1RoaXMgbGlzdCBpcyBub3QgY2FjaGVkLCBidXQnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICk7CgkJfQoKCQlpZiAoIHRydWUgPT09ICR2ZXJzaW9uc1snZnJvbV9jYWNoZSddICkgewoJCQkkdmVyc2lvbnNfZnJvbV9jYWNoZSA9IGVzY19odG1sX18oICdpdGVtcyB3ZXJlIGxvYWRlZCBmcm9tIHRoZSBjYWNoZScsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKTsKCQl9IGVsc2UgewoJCQkkdmVyc2lvbnNfZnJvbV9jYWNoZSA9IGVzY19odG1sX18oICdpdGVtcyB3ZXJlIG5vdCBsb2FkZWQgZnJvbSB0aGUgY2FjaGUnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICk7CgkJfQoKCQkkdmVyc2lvbnNfYXBpY2FsbF9zdW1tYXJ5ID0gc3ByaW50ZigKCQkJLy8gdHJhbnNsYXRvcnM6IDEpICR2ZXJzaW9uc19pc19jYWNoZWQgaXMgdGhlICJUaGlzIGxpc3QgaXMvaXMgbm90IGNhY2hlZCwgYW5kL2J1dCIgbGluZSwgMikgJHZlcnNpb25zX2Zyb21fY2FjaGUgaXMgdGhlICJpdGVtcyB3ZXJlL3dlcmUgbm90IGxvYWRlZCBmcm9tIHRoZSBjYWNoZSIgbGluZS4KCQkJZXNjX2h0bWxfXyggJ0F2YWlsYWJsZSBTYWxlc2ZvcmNlIEFQSSB2ZXJzaW9ucy4gJTEkcyAlMiRzLiBUaGlzIGlzIG5vdCBhbiBhdXRoZW50aWNhdGVkIHJlcXVlc3QsIHNvIGl0IGRvZXMgbm90IHRvdWNoIHRoZSBTYWxlc2ZvcmNlIHRva2VuLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJJHZlcnNpb25zX2lzX2NhY2hlZCwKCQkJJHZlcnNpb25zX2Zyb21fY2FjaGUKCQkpOwoKCQkkY29udGFjdHMgPSAkc2ZhcGktPnF1ZXJ5KCAnU0VMRUNUIE5hbWUsIElkIGZyb20gQ29udGFjdCBMSU1JVCAxMDAnICk7CgoJCS8vIGZvcm1hdCB0aGlzIGFycmF5IGludG8gaHRtbCBzbyB1c2VycyBjYW4gc2VlIHRoZSBjb250YWN0cy4KCQlpZiAoIHRydWUgPT09ICRjb250YWN0c1snY2FjaGVkJ10gKSB7CgkJCSRjb250YWN0c19pc19jYWNoZWQgPSBlc2NfaHRtbF9fKCAnVGhleSBhcmUgY2FjaGVkLCBhbmQnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICk7CgkJfSBlbHNlIHsKCQkJJGNvbnRhY3RzX2lzX2NhY2hlZCA9IGVzY19odG1sX18oICdUaGV5IGFyZSBub3QgY2FjaGVkLCBidXQnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICk7CgkJfQoKCQlpZiAoIHRydWUgPT09ICRjb250YWN0c1snZnJvbV9jYWNoZSddICkgewoJCQkkY29udGFjdHNfZnJvbV9jYWNoZSA9IGVzY19odG1sX18oICd0aGV5IHdlcmUgbG9hZGVkIGZyb20gdGhlIGNhY2hlJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApOwoJCX0gZWxzZSB7CgkJCSRjb250YWN0c19mcm9tX2NhY2hlID0gZXNjX2h0bWxfXyggJ3RoZXkgd2VyZSBub3QgbG9hZGVkIGZyb20gdGhlIGNhY2hlJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApOwoJCX0KCgkJaWYgKCB0cnVlID09PSAkY29udGFjdHNbJ2lzX3JlZG8nXSApIHsKCQkJJGNvbnRhY3RzX3JlZnJlc2hlZF90b2tlbiA9IGVzY19odG1sX18oICdUaGlzIHJlcXVlc3QgZGlkIHJlcXVpcmUgcmVmcmVzaGluZyB0aGUgU2FsZXNmb3JjZSB0b2tlbicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKTsKCQl9IGVsc2UgewoJCQkkY29udGFjdHNfcmVmcmVzaGVkX3Rva2VuID0gZXNjX2h0bWxfXyggJ1RoaXMgcmVxdWVzdCBkaWQgbm90IHJlcXVpcmUgcmVmcmVzaGluZyB0aGUgU2FsZXNmb3JjZSB0b2tlbicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKTsKCQl9CgoJCS8vIGRpc3BsYXkgY29udGFjdCBzdW1tYXJ5IGlmIHRoZXJlIGFyZSBhbnkgY29udGFjdHMuCgkJaWYgKCAwIDwgYWJzaW50KCAkY29udGFjdHNbJ2RhdGEnXVsndG90YWxTaXplJ10gKSApIHsKCQkJJGNvbnRhY3RzX2FwaWNhbGxfc3VtbWFyeSA9IHNwcmludGYoCgkJCQkvLyB0cmFuc2xhdG9yczogMSkgJGNvbnRhY3RzWydkYXRhJ11bJ3RvdGFsU2l6ZSddIGlzIHRoZSBudW1iZXIgb2YgaXRlbXMgbG9hZGVkLCAyKSAkY29udGFjdHNbJ2RhdGEnXVsncmVjb3JkcyddWzBdWydhdHRyaWJ1dGVzJ11bJ3R5cGUnXSBpcyB0aGUgbmFtZSBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QsIDMpICRjb250YWN0c19pc19jYWNoZWQgaXMgdGhlICJUaGV5IGFyZS9hcmUgbm90IGNhY2hlZCwgYW5kL2J1dCIgbGluZSwgNCkgJGNvbnRhY3RzX2Zyb21fY2FjaGUgaXMgdGhlICJ0aGV5IHdlcmUvd2VyZSBub3QgbG9hZGVkIGZyb20gdGhlIGNhY2hlIiBsaW5lLCA1KSBpcyB0aGUgInRoaXMgcmVxdWVzdCBkaWQvZGlkIG5vdCByZXF1aXJlIHJlZnJlc2hpbmcgdGhlIFNhbGVzZm9yY2UgdG9rZW4iIGxpbmUuCgkJCQllc2NfaHRtbF9fKCAnU2FsZXNmb3JjZSBzdWNjZXNzZnVsbHkgcmV0dXJuZWQgJTEkcyAlMiRzIHJlY29yZHMuICUzJHMgJTQkcy4gJTUkcy4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQlhYnNpbnQoICRjb250YWN0c1snZGF0YSddWyd0b3RhbFNpemUnXSApLAoJCQkJZXNjX2h0bWwoICRjb250YWN0c1snZGF0YSddWydyZWNvcmRzJ11bMF1bJ2F0dHJpYnV0ZXMnXVsndHlwZSddICksCgkJCQkkY29udGFjdHNfaXNfY2FjaGVkLAoJCQkJJGNvbnRhY3RzX2Zyb21fY2FjaGUsCgkJCQkkY29udGFjdHNfcmVmcmVzaGVkX3Rva2VuCgkJCSk7CgkJfSBlbHNlIHsKCQkJJGNvbnRhY3RzX2FwaWNhbGxfc3VtbWFyeSA9ICcnOwoJCX0KCgkJcmVxdWlyZV9vbmNlIHBsdWdpbl9kaXJfcGF0aCggJHRoaXMtPmZpbGUgKSAuICcvdGVtcGxhdGVzL2FkbWluL3N0YXR1cy5waHAnOwoKCX0KCgkvKioKCSAqIERlYXV0aG9yaXplIFdvcmRQcmVzcyBmcm9tIFNhbGVzZm9yY2UuCgkgKiBUaGlzIGRlbGV0ZXMgdGhlIHRva2VucyBmcm9tIHRoZSBkYXRhYmFzZTsgaXQgZG9lcyBub3QgY3VycmVudGx5IGRvIGFueXRoaW5nIGluIFNhbGVzZm9yY2UKCSAqIEZvciB0aGlzIHBsdWdpbiBhdCB0aGlzIHRpbWUsIHRoYXQgaXMgdGhlIGRlY2lzaW9uIHdlIGFyZSBtYWtpbmc6IGRvbid0IGRvIGFueSBraW5kIG9mIGF1dGhvcml6YXRpb24gc3R1ZmYgaW5zaWRlIFNhbGVzZm9yY2UKCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBsb2dvdXQoKSB7CgkJJGRlbGV0ZV9hY2Nlc3NfdG9rZW4gPSBkZWxldGVfb3B0aW9uKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdhY2Nlc3NfdG9rZW4nICk7CgkJaWYgKCB0cnVlID09PSAkZGVsZXRlX2FjY2Vzc190b2tlbiApIHsKCQkJJHRoaXMtPmFjY2Vzc190b2tlbiA9ICcnOwoJCX0KCQkkZGVsZXRlX2luc3RhbmNlX3VybCA9IGRlbGV0ZV9vcHRpb24oICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ2luc3RhbmNlX3VybCcgKTsKCQlpZiAoIHRydWUgPT09ICRkZWxldGVfaW5zdGFuY2VfdXJsICkgewoJCQkkdGhpcy0+aW5zdGFuY2VfdXJsID0gJyc7CgkJfQoJCSRkZWxldGVfcmVmcmVzaF90b2tlbiA9IGRlbGV0ZV9vcHRpb24oICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3JlZnJlc2hfdG9rZW4nICk7CgkJaWYgKCB0cnVlID09PSAkZGVsZXRlX3JlZnJlc2hfdG9rZW4gKSB7CgkJCSR0aGlzLT5yZWZyZXNoX3Rva2VuID0gJyc7CgkJfQoJCWVjaG8gc3ByaW50ZigKCQkJJzxwPllvdSBoYXZlIGJlZW4gbG9nZ2VkIG91dC4gWW91IGNhbiB1c2UgdGhlIDxhIGhyZWY9IiUxJHMiPiUyJHM8L2E+IHRhYiB0byBsb2cgaW4gYWdhaW4uPC9wPicsCgkJCWVzY191cmwoIGdldF9hZG1pbl91cmwoIG51bGwsICdvcHRpb25zLWdlbmVyYWwucGhwP3BhZ2U9JyAuICR0aGlzLT5hZG1pbl9zZXR0aW5nc191cmxfcGFyYW0gLiAnJnRhYj1hdXRob3JpemUnICkgKSwKCQkJZXNjX2h0bWxfXyggJ0F1dGhvcml6ZScsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKQoJCSk7Cgl9CgoJLyoqCgkgKiBBamF4IGNhbGwgdG8gY2xlYXIgdGhlIHBsdWdpbiBjYWNoZS4KCSAqLwoJcHVibGljIGZ1bmN0aW9uIGNsZWFyX3Nmd3BfY2FjaGUoKSB7CgkJJHJlc3VsdCAgID0gJHRoaXMtPmNsZWFyX2NhY2hlKCB0cnVlICk7CgkJJHJlc3BvbnNlID0gYXJyYXkoCgkJCSdtZXNzYWdlJyA9PiAkcmVzdWx0WydtZXNzYWdlJ10sCgkJCSdzdWNjZXNzJyA9PiAkcmVzdWx0WydzdWNjZXNzJ10sCgkJKTsKCQl3cF9zZW5kX2pzb25fc3VjY2VzcyggJHJlc3BvbnNlICk7Cgl9CgoJLyoqCgkgKiBDbGVhciB0aGUgcGx1Z2luJ3MgY2FjaGUuCgkgKiBUaGlzIHVzZXMgdGhlIGZsdXNoIG1ldGhvZCBjb250YWluZWQgaW4gdGhlIFdvcmRQcmVzcyBjYWNoZSB0byBjbGVhciBhbGwgb2YgdGhpcyBwbHVnaW4ncyBjYWNoZWQgZGF0YS4KCSAqCgkgKiBAcGFyYW0gYm9vbCAkYWpheCBXaGV0aGVyIHRoaXMgaXMgYW4gQWpheCByZXF1ZXN0IG9yIG5vdC4KCSAqIEByZXR1cm4gYXJyYXkKCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBjbGVhcl9jYWNoZSggJGFqYXggPSBmYWxzZSApIHsKCQkkcmVzdWx0ICA9ICR0aGlzLT53b3JkcHJlc3MtPnNmd3BfdHJhbnNpZW50cy0+Zmx1c2goKTsKCQkkc3VjY2VzcyA9ICRyZXN1bHRbJ3N1Y2Nlc3MnXTsKCQlpZiAoIDAgPCAkcmVzdWx0Wydjb3VudCddICkgewoJCQlpZiAoIHRydWUgPT09ICRzdWNjZXNzICkgewoJCQkJJG1lc3NhZ2UgPSBfXyggJ1RoZSBwbHVnaW4gY2FjaGUgaGFzIGJlZW4gY2xlYXJlZC4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICk7CgkJCX0gZWxzZSB7CgkJCQkkbWVzc2FnZSA9IF9fKCAnVGhlcmUgd2FzIGFuIGVycm9yIGNsZWFyaW5nIHRoZSBwbHVnaW4gY2FjaGUuIFRyeSByZWZyZXNoaW5nIHRoaXMgcGFnZS4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICk7CgkJCX0KCQl9IGVsc2UgewoJCQkkc3VjY2VzcyA9IHRydWU7CgkJCSRtZXNzYWdlID0gX18oICdUaGUgY2FjaGUgd2FzIG5vdCBjbGVhcmVkIGJlY2F1c2UgaXQgaXMgZW1wdHkuIFlvdSBjYW4gdHJ5IGFnYWluIGxhdGVyLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKTsKCQl9CgkJaWYgKCBmYWxzZSA9PT0gJGFqYXggKSB7CgkJCWVjaG8gJzxwPicgLiBlc2NfaHRtbCggJG1lc3NhZ2UgKSAuICc8L3A+JzsKCQl9IGVsc2UgewoJCQlyZXR1cm4gYXJyYXkoCgkJCQknbWVzc2FnZScgPT4gZXNjX2h0bWwoICRtZXNzYWdlICksCgkJCQknc3VjY2VzcycgPT4gJHN1Y2Nlc3MsCgkJCSk7CgkJfQoJfQoKCS8qKgoJICogQ2hlY2sgV29yZFByZXNzIEFkbWluIHBlcm1pc3Npb25zCgkgKiBDaGVjayBpZiB0aGUgY3VycmVudCB1c2VyIGlzIGFsbG93ZWQgdG8gYWNjZXNzIHRoZSBTYWxlc2ZvcmNlIHBsdWdpbiBvcHRpb25zCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gY2hlY2tfd29yZHByZXNzX2FkbWluX3Blcm1pc3Npb25zKCkgewoKCQkvLyBvbmUgcHJvZ3JhbW1hdGljIHdheSB0byBnaXZlIHRoaXMgY2FwYWJpbGl0eSB0byBhZGRpdGlvbmFsIHVzZXIgcm9sZXMgaXMgdGhlCgkJLy8gb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2Vfcm9sZXNfY29uZmlndXJlX3NhbGVzZm9yY2UgaG9vawoJCS8vIGl0IHJ1bnMgb24gYWN0aXZhdGlvbiBvZiB0aGlzIHBsdWdpbiwgYW5kIHdpbGwgYXNzaWduIHRoZSBiZWxvdyBjYXBhYmlsaXR5IHRvIGFueSByb2xlCgkJLy8gY29taW5nIGZyb20gdGhlIGhvb2suCgoJCS8vIGFsdGVybmF0aXZlbHksIG90aGVyIHJvbGVzIGNhbiBnZXQgdGhpcyBjYXBhYmlsaXR5IGluIHdoYXRldmVyIG90aGVyIHdheSB5b3UgbGlrZQoJCS8vIHBvaW50IGlzOiB0byBhZG1pbmlzdGVyIHRoaXMgcGx1Z2luLCB5b3UgbmVlZCB0aGlzIGNhcGFiaWxpdHkuCgoJCWlmICggISBjdXJyZW50X3VzZXJfY2FuKCAnY29uZmlndXJlX3NhbGVzZm9yY2UnICkgKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9IGVsc2UgewoJCQlyZXR1cm4gdHJ1ZTsKCQl9CgoJfQoKCS8qKgoJICogQ2hlY2sgV29yZFByZXNzIFNTTCBzdGF0dXMuCgkgKiBIVFRQUyBpcyByZXF1aXJlZCB0byBjb25uZWN0IHRvIFNhbGVzZm9yY2UuCgkgKgoJICogQHJldHVybiBib29sICRzZWN1cmVfYWRtaW4KCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBjaGVja193b3JkcHJlc3Nfc3NsKCkgewoKCQkvLyB0aGUgd3BfaXNfdXNpbmdfaHR0cHMoKSBmdW5jdGlvbiB3YXMgYWRkZWQgaW4gV29yZFByZXNzIDUuNy4KCQlpZiAoICEgZnVuY3Rpb25fZXhpc3RzKCAnd3BfaXNfdXNpbmdfaHR0cHMnICkgKSB7CgkJCXJldHVybiB0cnVlOwoJCX0KCgkJLy8gdGhlIHdob2xlIHNpdGUgaXMgYWxyZWFkeSB1c2luZyBTU0wuCgkJaWYgKCB0cnVlID09PSB3cF9pc191c2luZ19odHRwcygpICkgewoJCQlyZXR1cm4gdHJ1ZTsKCQl9CgoJCSRzZWN1cmVfYWRtaW4gPSBmYWxzZTsKCgkJLy8gdGhlIGFkbWluIGlzIGFscmVhZHkgZm9yY2VkIHRvIHVzZSBTU0wuCgkJaWYgKCB0cnVlID09PSBGT1JDRV9TU0xfQURNSU4gKSB7CgkJCSRzZWN1cmVfYWRtaW4gPSB0cnVlOwoJCX0KCgkJLy8gdGhlIHNlcnZlciByZXBvcnRzIHRoYXQgdGhlIGN1cnJlbnQgVVJMIGlzIHVzaW5nIEhUVFBTLgoJCWlmICggaXNzZXQoICRfU0VSVkVSWydIVFRQUyddICkgJiYgJ29uJyA9PT0gJF9TRVJWRVJbJ0hUVFBTJ10gKSB7CgkJCSRzZWN1cmVfYWRtaW4gPSB0cnVlOwoJCX0KCgkJcmV0dXJuICRzZWN1cmVfYWRtaW47Cgl9CgoJLyoqCgkgKiBDaGVjayBXb3JkUHJlc3MgU1NMIHN1cHBvcnQuCgkgKiBUaGlzIGFsbG93cyB1cyB0byBzaG93IGEgZGlmZmVyZW50IG1lc3NhZ2UgaWYgU1NMIGlzIHN1cHBvcnRlZCwgYnV0IGlzIG5vdCBpbiB1c2UuCgkgKgoJICogQHJldHVybiBib29sICRodHRwc19zdXBwb3J0ZWQKCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBjaGVja193b3JkcHJlc3Nfc3NsX3N1cHBvcnQoKSB7CgoJCS8vIHRoZSB3cF9pc19odHRwc19zdXBwb3J0ZWQoKSBmdW5jdGlvbiB3YXMgYWRkZWQgaW4gV29yZFByZXNzIDUuNy4KCQlpZiAoICEgZnVuY3Rpb25fZXhpc3RzKCAnd3BfaXNfaHR0cHNfc3VwcG9ydGVkJyApICkgewoJCQlyZXR1cm4gdHJ1ZTsKCQl9CgoJCWlmICggdHJ1ZSA9PT0gd3BfaXNfaHR0cHNfc3VwcG9ydGVkKCkgKSB7CgkJCXJldHVybiB0cnVlOwoJCX0KCgkJJGh0dHBzX3N1cHBvcnRlZCA9IGZhbHNlOwoJCXJldHVybiAkaHR0cHNfc3VwcG9ydGVkOwoKCX0KCgkvKioKCSAqIFNob3cgd2hhdCB3ZSBrbm93IGFib3V0IHRoaXMgdXNlcidzIHJlbGF0aW9uc2hpcCB0byBhIFNhbGVzZm9yY2Ugb2JqZWN0LCBpZiBhbnkKCSAqCgkgKiBAcGFyYW0gb2JqZWN0ICR1c2VyIHRoaXMgaXMgdGhlIHVzZXIgb2JqZWN0IGZyb20gV29yZFByZXNzLgoJICovCglwdWJsaWMgZnVuY3Rpb24gc2hvd19zYWxlc2ZvcmNlX3VzZXJfZmllbGRzKCAkdXNlciApIHsKCQkkZ2V0X2RhdGEgPSBmaWx0ZXJfaW5wdXRfYXJyYXkoIElOUFVUX0dFVCwgRklMVEVSX1NBTklUSVpFX1NUUklORyApOwoJCWlmICggdHJ1ZSA9PT0gJHRoaXMtPmNoZWNrX3dvcmRwcmVzc19hZG1pbl9wZXJtaXNzaW9ucygpICkgewoJCQkkbWFwcGluZ3MgPSAkdGhpcy0+bWFwcGluZ3MtPmxvYWRfYWxsX2J5X3dvcmRwcmVzcyggJ3VzZXInLCAkdXNlci0+SUQgKTsKCQkJJGZpZWxkbWFwID0gJHRoaXMtPm1hcHBpbmdzLT5nZXRfZmllbGRtYXBzKAoJCQkJbnVsbCwgLy8gaWQgZmllbGQgbXVzdCBiZSBudWxsIGZvciBtdWx0aXBsZXMuCgkJCQlhcnJheSgKCQkJCQknd29yZHByZXNzX29iamVjdCcgPT4gJ3VzZXInLAoJCQkJKQoJCQkpOwoJCQlpZiAoIGNvdW50KCAkbWFwcGluZ3MgKSA+IDAgKSB7CgkJCQlmb3JlYWNoICggJG1hcHBpbmdzIGFzICRtYXBwaW5nICkgewoJCQkJCWlmICggaXNzZXQoICRtYXBwaW5nWydpZCddICkgJiYgISBpc3NldCggJGdldF9kYXRhWydlZGl0X3NhbGVzZm9yY2VfbWFwcGluZyddICkgJiYgISBpc3NldCggJGdldF9kYXRhWydkZWxldGVfc2FsZXNmb3JjZV9tYXBwaW5nJ10gKSApIHsKCQkJCQkJcmVxdWlyZV9vbmNlIHBsdWdpbl9kaXJfcGF0aCggJHRoaXMtPmZpbGUgKSAuICcvdGVtcGxhdGVzL2FkbWluL3VzZXItcHJvZmlsZS1zYWxlc2ZvcmNlLnBocCc7CgkJCQkJfSBlbHNlaWYgKCAhIGVtcHR5KCAkZmllbGRtYXAgKSApIHsgLy8gaXMgdGhlIHVzZXIgbWFwcGVkIHRvIHNvbWV0aGluZyBhbHJlYWR5PwoJCQkJCQlpZiAoIGlzc2V0KCAkZ2V0X2RhdGFbJ2VkaXRfc2FsZXNmb3JjZV9tYXBwaW5nJ10gKSAmJiB0cnVlID09PSBmaWx0ZXJfdmFyKCAkZ2V0X2RhdGFbJ2VkaXRfc2FsZXNmb3JjZV9tYXBwaW5nJ10sIEZJTFRFUl9WQUxJREFURV9CT09MRUFOICkgKSB7CgkJCQkJCQlyZXF1aXJlX29uY2UgcGx1Z2luX2Rpcl9wYXRoKCAkdGhpcy0+ZmlsZSApIC4gJy90ZW1wbGF0ZXMvYWRtaW4vdXNlci1wcm9maWxlLXNhbGVzZm9yY2UtY2hhbmdlLnBocCc7CgkJCQkJCX0gZWxzZWlmICggaXNzZXQoICRnZXRfZGF0YVsnZGVsZXRlX3NhbGVzZm9yY2VfbWFwcGluZyddICkgJiYgdHJ1ZSA9PT0gZmlsdGVyX3ZhciggJGdldF9kYXRhWydkZWxldGVfc2FsZXNmb3JjZV9tYXBwaW5nJ10sIEZJTFRFUl9WQUxJREFURV9CT09MRUFOICkgKSB7CgkJCQkJCQlyZXF1aXJlX29uY2UgcGx1Z2luX2Rpcl9wYXRoKCAkdGhpcy0+ZmlsZSApIC4gJy90ZW1wbGF0ZXMvYWRtaW4vdXNlci1wcm9maWxlLXNhbGVzZm9yY2UtZGVsZXRlLnBocCc7CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQlyZXF1aXJlX29uY2UgcGx1Z2luX2Rpcl9wYXRoKCAkdGhpcy0+ZmlsZSApIC4gJy90ZW1wbGF0ZXMvYWRtaW4vdXNlci1wcm9maWxlLXNhbGVzZm9yY2UtbWFwLnBocCc7CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQlyZXF1aXJlX29uY2UgcGx1Z2luX2Rpcl9wYXRoKCAkdGhpcy0+ZmlsZSApIC4gJy90ZW1wbGF0ZXMvYWRtaW4vdXNlci1wcm9maWxlLXNhbGVzZm9yY2UtbWFwLnBocCc7CgkJCX0KCQl9Cgl9CgoJLyoqCgkgKiBJZiB0aGUgdXNlciBwcm9maWxlIGhhcyBiZWVuIG1hcHBlZCB0byBTYWxlc2ZvcmNlLCBkbyBpdAoJICoKCSAqIEBwYXJhbSBpbnQgJHVzZXJfaWQgdGhlIElEIG9mIHRoZSBXb3JkUHJlc3MgdXNlci4KCSAqLwoJcHVibGljIGZ1bmN0aW9uIHNhdmVfc2FsZXNmb3JjZV91c2VyX2ZpZWxkcyggJHVzZXJfaWQgKSB7CgkJJHBvc3RfZGF0YSA9IGZpbHRlcl9pbnB1dF9hcnJheSggSU5QVVRfUE9TVCwgRklMVEVSX1NBTklUSVpFX1NUUklORyApOwoJCWlmICggaXNzZXQoICRwb3N0X2RhdGFbJ3NhbGVzZm9yY2VfdXBkYXRlX21hcHBlZF91c2VyJ10gKSAmJiB0cnVlID09PSBmaWx0ZXJfdmFyKCAkcG9zdF9kYXRhWydzYWxlc2ZvcmNlX3VwZGF0ZV9tYXBwZWRfdXNlciddLCBGSUxURVJfVkFMSURBVEVfQk9PTEVBTiApICkgewoJCQkkbWFwcGluZ19vYmplY3RzID0gJHRoaXMtPm1hcHBpbmdzLT5nZXRfYWxsX29iamVjdF9tYXBzKAoJCQkJYXJyYXkoCgkJCQkJJ3dvcmRwcmVzc19pZCcgICAgID0+ICR1c2VyX2lkLAoJCQkJCSd3b3JkcHJlc3Nfb2JqZWN0JyA9PiAndXNlcicsCgkJCQkpCgkJCSk7CgkJCWZvcmVhY2ggKCAkbWFwcGluZ19vYmplY3RzIGFzICRtYXBwaW5nX29iamVjdCApIHsKCQkJCSRtYXBwaW5nX29iamVjdFsnc2FsZXNmb3JjZV9pZCddID0gJHBvc3RfZGF0YVsnc2FsZXNmb3JjZV9pZCddOwoJCQkJJHJlc3VsdCAgICAgICAgICAgICAgICAgICAgICAgICAgPSAkdGhpcy0+bWFwcGluZ3MtPnVwZGF0ZV9vYmplY3RfbWFwKCAkbWFwcGluZ19vYmplY3QsICRtYXBwaW5nX29iamVjdFsnaWQnXSApOwoJCQl9CgkJfSBlbHNlaWYgKCBpc3NldCggJHBvc3RfZGF0YVsnc2FsZXNmb3JjZV9jcmVhdGVfbWFwcGVkX3VzZXInXSApICYmIHRydWUgPT09IGZpbHRlcl92YXIoICRwb3N0X2RhdGFbJ3NhbGVzZm9yY2VfY3JlYXRlX21hcHBlZF91c2VyJ10sIEZJTFRFUl9WQUxJREFURV9CT09MRUFOICkgKSB7CgkJCS8vIGlmIGEgU2FsZXNmb3JjZSBJRCB3YXMgZW50ZXJlZC4KCQkJaWYgKCBpc3NldCggJHBvc3RfZGF0YVsnc2FsZXNmb3JjZV9pZCddICkgJiYgISBlbXB0eSggJHBvc3RfZGF0YVsnc2FsZXNmb3JjZV9pZCddICkgKSB7CgkJCQkkbWFwcGluZ19vYmplY3QgPSAkdGhpcy0+Y3JlYXRlX29iamVjdF9tYXAoICR1c2VyX2lkLCAndXNlcicsICRwb3N0X2RhdGFbJ3NhbGVzZm9yY2VfaWQnXSApOwoJCQl9IGVsc2VpZiAoIGlzc2V0KCAkcG9zdF9kYXRhWydwdXNoX25ld191c2VyX3RvX3NhbGVzZm9yY2UnXSApICkgewoJCQkJLy8gb3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgcmVjb3JkIGluIFNhbGVzZm9yY2UuCgkJCQkkcmVzdWx0ID0gJHRoaXMtPnB1c2hfdG9fc2FsZXNmb3JjZSggJ3VzZXInLCAkdXNlcl9pZCApOwoJCQl9CgkJfSBlbHNlaWYgKCBpc3NldCggJHBvc3RfZGF0YVsnc2FsZXNmb3JjZV9kZWxldGVfbWFwcGVkX3VzZXInXSApICYmIHRydWUgPT09IGZpbHRlcl92YXIoICRwb3N0X2RhdGFbJ3NhbGVzZm9yY2VfZGVsZXRlX21hcHBlZF91c2VyJ10sIEZJTFRFUl9WQUxJREFURV9CT09MRUFOICkgKSB7CgkJCS8vIGlmIGEgU2FsZXNmb3JjZSBJRCB3YXMgZW50ZXJlZC4KCQkJaWYgKCBpc3NldCggJHBvc3RfZGF0YVsnbWFwcGluZ19pZCddICkgJiYgISBlbXB0eSggJHBvc3RfZGF0YVsnbWFwcGluZ19pZCddICkgKSB7CgkJCQkkZGVsZXRlID0gJHRoaXMtPm1hcHBpbmdzLT5kZWxldGVfb2JqZWN0X21hcCggJHBvc3RfZGF0YVsnbWFwcGluZ19pZCddICk7CgkJCX0KCQl9Cgl9CgoJLyoqCgkgKiBSZW5kZXIgdGFicyBmb3Igc2V0dGluZ3MgcGFnZXMgaW4gYWRtaW4KCSAqCgkgKiBAcGFyYW0gYXJyYXkgICR0YWJzIGlzIHRoZSB0YWJzIGZvciB0aGUgc2V0dGluZ3MgbWVudS4KCSAqIEBwYXJhbSBzdHJpbmcgJHRhYiBpcyBhIHNpbmdsZSB0YWIuCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gdGFicyggJHRhYnMsICR0YWIgPSAnJyApIHsKCgkJJGdldF9kYXRhICAgICAgICA9IGZpbHRlcl9pbnB1dF9hcnJheSggSU5QVVRfR0VULCBGSUxURVJfU0FOSVRJWkVfU1RSSU5HICk7CgkJJGNvbnN1bWVyX2tleSAgICA9ICR0aGlzLT5sb2dpbl9jcmVkZW50aWFsc1snY29uc3VtZXJfa2V5J107CgkJJGNvbnN1bWVyX3NlY3JldCA9ICR0aGlzLT5sb2dpbl9jcmVkZW50aWFsc1snY29uc3VtZXJfc2VjcmV0J107CgkJJGNhbGxiYWNrX3VybCAgICA9ICR0aGlzLT5sb2dpbl9jcmVkZW50aWFsc1snY2FsbGJhY2tfdXJsJ107CgoJCSRjdXJyZW50X3RhYiA9ICR0YWI7CgkJZWNobyAnPGgyIGNsYXNzPSJuYXYtdGFiLXdyYXBwZXIiPic7CgkJZm9yZWFjaCAoICR0YWJzIGFzICR0YWJfa2V5ID0+ICR0YWJfY2FwdGlvbiApIHsKCQkJJGFjdGl2ZSA9ICRjdXJyZW50X3RhYiA9PT0gJHRhYl9rZXkgPyAnIG5hdi10YWItYWN0aXZlJyA6ICcnOwoKCQkJaWYgKCB0cnVlID09PSAkdGhpcy0+c2FsZXNmb3JjZVsnaXNfYXV0aG9yaXplZCddICkgewoJCQkJZWNobyBzcHJpbnRmKAoJCQkJCSc8YSBjbGFzcz0ibmF2LXRhYiUxJHMiIGhyZWY9IiUyJHMiPiUzJHM8L2E+JywKCQkJCQllc2NfYXR0ciggJGFjdGl2ZSApLAoJCQkJCWVzY191cmwoICc/cGFnZT0nIC4gJHRoaXMtPmFkbWluX3NldHRpbmdzX3VybF9wYXJhbSAuICcmdGFiPScgLiAkdGFiX2tleSApLAoJCQkJCWVzY19odG1sKCAkdGFiX2NhcHRpb24gKQoJCQkJKTsKCQkJfSBlbHNlaWYgKCAnc2V0dGluZ3MnID09PSAkdGFiX2tleSB8fCAoICdhdXRob3JpemUnID09PSAkdGFiX2tleSAmJiBpc3NldCggJGNvbnN1bWVyX2tleSApICYmIGlzc2V0KCAkY29uc3VtZXJfc2VjcmV0ICkgJiYgISBlbXB0eSggJGNvbnN1bWVyX2tleSApICYmICEgZW1wdHkoICRjb25zdW1lcl9zZWNyZXQgKSApICkgewoJCQkJZWNobyBzcHJpbnRmKAoJCQkJCSc8YSBjbGFzcz0ibmF2LXRhYiUxJHMiIGhyZWY9IiUyJHMiPiUzJHM8L2E+JywKCQkJCQllc2NfYXR0ciggJGFjdGl2ZSApLAoJCQkJCWVzY191cmwoICc/cGFnZT0nIC4gJHRoaXMtPmFkbWluX3NldHRpbmdzX3VybF9wYXJhbSAuICcmdGFiPScgLiAkdGFiX2tleSApLAoJCQkJCWVzY19odG1sKCAkdGFiX2NhcHRpb24gKQoJCQkJKTsKCQkJfQoJCX0KCQllY2hvICc8L2gyPic7CgoJCWlmICggaXNzZXQoICRnZXRfZGF0YVsndGFiJ10gKSApIHsKCQkJJHRhYiA9IHNhbml0aXplX2tleSggJGdldF9kYXRhWyd0YWInXSApOwoJCX0gZWxzZSB7CgkJCSR0YWIgPSAnJzsKCQl9Cgl9CgoJLyoqCgkgKiBDbGVhciBzY2hlZHVsZQoJICogVGhpcyBjbGVhcnMgdGhlIHNjaGVkdWxlIGlmIHRoZSB1c2VyIGNsaWNrcyB0aGUgYnV0dG9uCgkgKgoJICogQHBhcmFtIHN0cmluZyAkc2NoZWR1bGVfbmFtZSBpcyB0aGUgbmFtZSBvZiB0aGUgc2NoZWR1bGUgYmVpbmcgY2xlYXJlZC4KCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBjbGVhcl9zY2hlZHVsZSggJHNjaGVkdWxlX25hbWUgPSAnJyApIHsKCQlpZiAoICcnICE9PSAkc2NoZWR1bGVfbmFtZSApIHsKCQkJJHRoaXMtPnF1ZXVlLT5jYW5jZWwoICRzY2hlZHVsZV9uYW1lICk7CgkJCS8vIHRyYW5zbGF0b3JzOiAkc2NoZWR1bGVfbmFtZSBpcyB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBxdWV1ZS4gRGVmYXVsdHM6IHNhbGVzZm9yY2VfcHVsbCwgc2FsZXNmb3JjZV9wdXNoLCBzYWxlc2ZvcmNlLgoJCQllY2hvIHNwcmludGYoIGVzY19odG1sX18oICdZb3UgaGF2ZSBjbGVhcmVkIHRoZSAlcyBzY2hlZHVsZS4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksIGVzY19odG1sKCAkc2NoZWR1bGVfbmFtZSApICk7CgkJfSBlbHNlIHsKCQkJZWNobyBlc2NfaHRtbF9fKCAnWW91IG5lZWQgdG8gc3BlY2lmeSB0aGUgbmFtZSBvZiB0aGUgc2NoZWR1bGUgeW91IHdhbnQgdG8gY2xlYXIuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApOwoJCX0KCX0KCgkvKioKCSAqIEdldCBjb3VudCBvZiBzY2hlZHVsZSBpdGVtcwoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJHNjaGVkdWxlX25hbWUgaXMgdGhlIG5hbWUgb2YgdGhlIHNjaGVkdWxlLgoJICogQHJldHVybiBpbnQgJGNvdW50CgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gZ2V0X3NjaGVkdWxlX2NvdW50KCAkc2NoZWR1bGVfbmFtZSA9ICcnICkgewoJCWlmICggJycgIT09ICRzY2hlZHVsZV9uYW1lICkgewoJCQkkY291bnQgICAgICAgPSBjb3VudCgKCQkJCSR0aGlzLT5xdWV1ZS0+c2VhcmNoKAoJCQkJCWFycmF5KAoJCQkJCQknZ3JvdXAnICA9PiAkc2NoZWR1bGVfbmFtZSwKCQkJCQkJJ3N0YXR1cycgPT4gQWN0aW9uU2NoZWR1bGVyX1N0b3JlOjpTVEFUVVNfUEVORElORywKCQkJCQkpLAoJCQkJCSdBUlJBWV9BJwoJCQkJKQoJCQkpOwoJCQkkZ3JvdXBfY291bnQgPSBjb3VudCgKCQkJCSR0aGlzLT5xdWV1ZS0+c2VhcmNoKAoJCQkJCWFycmF5KAoJCQkJCQknZ3JvdXAnICA9PiAkc2NoZWR1bGVfbmFtZSAuICR0aGlzLT5hY3Rpb25fZ3JvdXBfc3VmZml4LAoJCQkJCQknc3RhdHVzJyA9PiBBY3Rpb25TY2hlZHVsZXJfU3RvcmU6OlNUQVRVU19QRU5ESU5HLAoJCQkJCSksCgkJCQkJJ0FSUkFZX0EnCgkJCQkpCgkJCSk7CgkJCXJldHVybiAkY291bnQgKyAkZ3JvdXBfY291bnQ7CgkJfSBlbHNlIHsKCQkJcmV0dXJuIDA7CgkJfQoJfQoKCS8qKgoJICogQ3JlYXRlIGFuIG9iamVjdCBtYXAgYmV0d2VlbiBhIFdvcmRQcmVzcyBvYmplY3QgYW5kIGEgU2FsZXNmb3JjZSBvYmplY3QKCSAqCgkgKiBAcGFyYW0gaW50ICAgICR3b3JkcHJlc3NfaWQgVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBXb3JkUHJlc3Mgb2JqZWN0LgoJICogQHBhcmFtIHN0cmluZyAkd29yZHByZXNzX29iamVjdCBXaGF0IGtpbmQgb2Ygb2JqZWN0IGlzIGl0LgoJICogQHBhcmFtIHN0cmluZyAkc2FsZXNmb3JjZV9pZCBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0LgoJICogQHBhcmFtIHN0cmluZyAkYWN0aW9uIERpZCB3ZSBwdXNoIG9yIHB1bGwuCgkgKiBAcmV0dXJuIGludCAgICR3cGRiLT5pbnNlcnRfaWQgVGhpcyBpcyB0aGUgZGF0YWJhc2Ugcm93IGZvciB0aGUgbWFwIG9iamVjdAoJICovCglwcml2YXRlIGZ1bmN0aW9uIGNyZWF0ZV9vYmplY3RfbWFwKCAkd29yZHByZXNzX2lkLCAkd29yZHByZXNzX29iamVjdCwgJHNhbGVzZm9yY2VfaWQsICRhY3Rpb24gPSAnJyApIHsKCQkvLyBDcmVhdGUgb2JqZWN0IG1hcCBhbmQgc2F2ZSBpdC4KCQkkbWFwcGluZ19vYmplY3QgPSAkdGhpcy0+bWFwcGluZ3MtPmNyZWF0ZV9vYmplY3RfbWFwKAoJCQlhcnJheSgKCQkJCSd3b3JkcHJlc3NfaWQnICAgICAgPT4gJHdvcmRwcmVzc19pZCwgLy8gd29yZHByZXNzIHVuaXF1ZSBpZC4KCQkJCSdzYWxlc2ZvcmNlX2lkJyAgICAgPT4gJHNhbGVzZm9yY2VfaWQsIC8vIHNhbGVzZm9yY2UgdW5pcXVlIGlkLiB3ZSBkb24ndCBjYXJlIHdoYXQga2luZCBvZiBvYmplY3QgaXQgaXMgYXQgdGhpcyBwb2ludC4KCQkJCSd3b3JkcHJlc3Nfb2JqZWN0JyAgPT4gJHdvcmRwcmVzc19vYmplY3QsIC8vIGtlZXAgdHJhY2sgb2Ygd2hhdCBraW5kIG9mIHdwIG9iamVjdCB0aGlzIGlzLgoJCQkJJ2xhc3Rfc3luYycgICAgICAgICA9PiBjdXJyZW50X3RpbWUoICdteXNxbCcgKSwKCQkJCSdsYXN0X3N5bmNfYWN0aW9uJyAgPT4gJGFjdGlvbiwKCQkJCSdsYXN0X3N5bmNfc3RhdHVzJyAgPT4gJHRoaXMtPm1hcHBpbmdzLT5zdGF0dXNfc3VjY2VzcywKCQkJCSdsYXN0X3N5bmNfbWVzc2FnZScgPT4gX18oICdNYXBwaW5nIG9iamVjdCB1cGRhdGVkIHZpYSBmdW5jdGlvbjogJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApIC4gX19GVU5DVElPTl9fLAoJCQkpCgkJKTsKCgkJcmV0dXJuICRtYXBwaW5nX29iamVjdDsKCgl9Cgp9CiI7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lc3BhY2VzIjthOjA6e31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGluY2x1ZGVzIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGZ1bmN0aW9ucyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjb25zdGFudHMiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY2xhc3NlcyI7YToxOntzOjIxOiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW4iO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIjoxMTp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MjE6IlxPYmplY3RfU3luY19TZl9BZG1pbiI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjIwOiJPYmplY3RfU3luY19TZl9BZG1pbiI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6Mjc6Ik9iamVjdF9TeW5jX1NmX0FkbWluIGNsYXNzLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHBhcmVudCI7TjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AaW1wbGVtZW50cyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGNvbnN0YW50cyI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHByb3BlcnRpZXMiO2E6Mjc6e3M6MzE6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6JHZlcnNpb24iO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MzE6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6JHZlcnNpb24iO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo3OiJ2ZXJzaW9uIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjI5OiJDdXJyZW50IHZlcnNpb24gb2YgdGhlIHBsdWdpbiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czoyODoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjokZmlsZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoyODoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjokZmlsZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjQ6ImZpbGUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MjA6IlRoZSBtYWluIHBsdWdpbiBmaWxlIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjI4OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OiR3cGRiIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI4OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OiR3cGRiIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NDoid3BkYiI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo0ODoiR2xvYmFsIG9iamVjdCBvZiBgJHdwZGJgLCB0aGUgV29yZFByZXNzIGRhdGFiYXNlIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO047fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozMDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czoyODoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjokc2x1ZyI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoyODoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjokc2x1ZyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjQ6InNsdWciO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NTM6IlRoZSBwbHVnaW4ncyBzbHVnIHNvIHdlIGNhbiBpbmNsdWRlIGl0IHdoZW4gbmVjZXNzYXJ5IjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjM3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo0MjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjM3OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OiRvcHRpb25fcHJlZml4IjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjM3OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OiRvcHRpb25fcHJlZml4IjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTM6Im9wdGlvbl9wcmVmaXgiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NTU6IlRoZSBwbHVnaW4ncyBwcmVmaXggd2hlbiBzYXZpbmcgb3B0aW9ucyB0byB0aGUgZGF0YWJhc2UiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NDQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQ5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NDM6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6JGFjdGlvbl9ncm91cF9zdWZmaXgiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDM6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6JGFjdGlvbl9ncm91cF9zdWZmaXgiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxOToiYWN0aW9uX2dyb3VwX3N1ZmZpeCI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo0MDoiU3VmZml4IGZvciBncm91cCBuYW1lIGluIEFjdGlvblNjaGVkdWxlciI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo1MTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NTY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czo0MToiXE9iamVjdF9TeW5jX1NmX0FkbWluOjokbG9naW5fY3JlZGVudGlhbHMiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDE6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6JGxvZ2luX2NyZWRlbnRpYWxzIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTc6ImxvZ2luX2NyZWRlbnRpYWxzIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjkwOiJMb2dpbiBjcmVkZW50aWFscyBmb3IgdGhlIFNhbGVzZm9yY2UgQVBJOyBjb21lcyBmcm9tIHdwLWNvbmZpZyBvciBmcm9tIHRoZSBwbHVnaW4gc2V0dGluZ3MiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjU4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo2MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjQzOiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OiRzY2hlZHVsYWJsZV9jbGFzc2VzIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQzOiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OiRzY2hlZHVsYWJsZV9jbGFzc2VzIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTk6InNjaGVkdWxhYmxlX2NsYXNzZXMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6ODM6IkFycmF5IG9mIHdoYXQgY2xhc3NlcyBpbiB0aGUgcGx1Z2luIGNhbiBiZSBzY2hlZHVsZWQgdG8gb2NjdXIgd2l0aCBgd3BfY3JvbmAgZXZlbnRzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo2NTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NzA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czoyOToiXE9iamVjdF9TeW5jX1NmX0FkbWluOjokcXVldWUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mjk6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6JHF1ZXVlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NToicXVldWUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MjY6Ik9iamVjdF9TeW5jX1NmX1F1ZXVlIGNsYXNzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO047fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo3MjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Nzc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czozMToiXE9iamVjdF9TeW5jX1NmX0FkbWluOjokbG9nZ2luZyI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozMToiXE9iamVjdF9TeW5jX1NmX0FkbWluOjokbG9nZ2luZyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjc6ImxvZ2dpbmciO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6Mjg6Ik9iamVjdF9TeW5jX1NmX0xvZ2dpbmcgY2xhc3MiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7Tjt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjc5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo4NDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjMyOiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OiRtYXBwaW5ncyI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozMjoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjokbWFwcGluZ3MiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo4OiJtYXBwaW5ncyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoyODoiT2JqZWN0X1N5bmNfU2ZfTWFwcGluZyBjbGFzcyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtOO31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6ODY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjkxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6MzM6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6JHdvcmRwcmVzcyI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozMzoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjokd29yZHByZXNzIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6OToid29yZHByZXNzIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjMwOiJPYmplY3RfU3luY19TZl9Xb3JkUHJlc3MgY2xhc3MiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7Tjt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjkzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo5ODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjM0OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OiRzYWxlc2ZvcmNlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjM0OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OiRzYWxlc2ZvcmNlIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTA6InNhbGVzZm9yY2UiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6Njg6Ik9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2UgY2xhc3MKVGhpcyBjb250YWlucyBTYWxlc2ZvcmNlIEFQSSBtZXRob2RzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMDA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEwNjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjI4OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OiRwdXNoIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI4OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OiRwdXNoIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NDoicHVzaCI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozNjoiT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdXNoIGNsYXNzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO047fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMDg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjExMztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjI4OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OiRwdWxsIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI4OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OiRwdWxsIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NDoicHVsbCI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozNjoiT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsIGNsYXNzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO047fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMTU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEyMDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjM5OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OiRzZndwX3RyYW5zaWVudHMiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mzk6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6JHNmd3BfdHJhbnNpZW50cyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE1OiJzZndwX3RyYW5zaWVudHMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NDA6Ik9iamVjdF9TeW5jX1NmX1dvcmRQcmVzc19UcmFuc2llbnQgY2xhc3MiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7Tjt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEyMjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEyNztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjQ4OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OiRhZG1pbl9zZXR0aW5nc191cmxfcGFyYW0iO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDg6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6JGFkbWluX3NldHRpbmdzX3VybF9wYXJhbSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjI0OiJhZG1pbl9zZXR0aW5nc191cmxfcGFyYW0iO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NDM6IlVSTCBmcmFnbWVudCBmb3IgdGhlIHBsdWdpbidzIHNldHRpbmdzIHBhZ2UiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTI5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTM0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6MzY6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6JGFjY2Vzc190b2tlbiI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozNjoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjokYWNjZXNzX3Rva2VuIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTI6ImFjY2Vzc190b2tlbiI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoyMzoiU2FsZXNmb3JjZSBhY2Nlc3MgdG9rZW4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTM2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTQxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6MzY6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6JGluc3RhbmNlX3VybCI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozNjoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjokaW5zdGFuY2VfdXJsIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTI6Imluc3RhbmNlX3VybCI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoyMzoiU2FsZXNmb3JjZSBpbnN0YW5jZSBVUkwiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTQzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTQ4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6Mzc6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6JHJlZnJlc2hfdG9rZW4iO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mzc6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6JHJlZnJlc2hfdG9rZW4iO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMzoicmVmcmVzaF90b2tlbiI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoyNDoiU2FsZXNmb3JjZSByZWZyZXNoIHRva2VuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE1MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE1NTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjUwOiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OiRkZWZhdWx0X2F1dGhvcml6ZV91cmxfcGF0aCI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MDoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjokZGVmYXVsdF9hdXRob3JpemVfdXJsX3BhdGgiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyNjoiZGVmYXVsdF9hdXRob3JpemVfdXJsX3BhdGgiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NDU6IkRlZmF1bHQgcGF0aCBmb3IgdGhlIFNhbGVzZm9yY2UgYXV0aG9yaXplIFVSTCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNTc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE2MjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjQ2OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OiRkZWZhdWx0X3Rva2VuX3VybF9wYXRoIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ2OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OiRkZWZhdWx0X3Rva2VuX3VybF9wYXRoIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjI6ImRlZmF1bHRfdG9rZW5fdXJsX3BhdGgiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NDE6IkRlZmF1bHQgcGF0aCBmb3IgdGhlIFNhbGVzZm9yY2UgdG9rZW4gVVJMIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE2NDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTY5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NDM6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6JGRlZmF1bHRfYXBpX3ZlcnNpb24iO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDM6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6JGRlZmF1bHRfYXBpX3ZlcnNpb24iO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxOToiZGVmYXVsdF9hcGlfdmVyc2lvbiI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo4MDoiV2hhdCB2ZXJzaW9uIG9mIHRoZSBTYWxlc2ZvcmNlIEFQSSBzaG91bGQgYmUgdGhlIGRlZmF1bHQgb24gdGhlIHNldHRpbmdzIHNjcmVlbi4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MTU4OiJVc2VycyBjYW4gZWRpdCB3aGF0IHZlcnNpb24gaXMgdXNlZCwgYnV0IHRoZXkgd29uJ3Qgc2VlIGEgY29ycmVjdCBsaXN0IG9mIGFsbCB0aGVpciBhdmFpbGFibGUgdmVyc2lvbnMgdW50aWwgV29yZFByZXNzIGhhcwpiZWVuIGF1dGhlbnRpY2F0ZWQgd2l0aCBTYWxlc2ZvcmNlLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE3MTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTc4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NDI6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6JGRlZmF1bHRfcHVsbF9saW1pdCI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0MjoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjokZGVmYXVsdF9wdWxsX2xpbWl0IjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTg6ImRlZmF1bHRfcHVsbF9saW1pdCI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo1NjoiRGVmYXVsdCBtYXggbnVtYmVyIG9mIHB1bGwgcmVjb3Jkcy4gVXNlcnMgY2FuIGVkaXQgdGhpcy4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTgwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxODU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czo0NToiXE9iamVjdF9TeW5jX1NmX0FkbWluOjokZGVmYXVsdF9wdWxsX3Rocm90dGxlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ1OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OiRkZWZhdWx0X3B1bGxfdGhyb3R0bGUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMToiZGVmYXVsdF9wdWxsX3Rocm90dGxlIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjc2OiJEZWZhdWx0IHRocm90dGxlIGZvciBob3cgb2Z0ZW4gdG8gcHVsbCBmcm9tIFNhbGVzZm9yY2UuIFVzZXJzIGNhbiBlZGl0IHRoaXMuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE4NztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTkyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NDM6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6JGRlZmF1bHRfdHJpZ2dlcmFibGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDM6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6JGRlZmF1bHRfdHJpZ2dlcmFibGUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxOToiZGVmYXVsdF90cmlnZ2VyYWJsZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo3MToiRGVmYXVsdCBmb3Igd2hldGhlciB0byBsaW1pdCB0byB0cmlnZ2VyYWJsZSBpdGVtcy4gVXNlcnMgY2FuIGVkaXQgdGhpcy4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEJvb2xlYW4iOjA6e31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTk0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxOTk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czo0MjoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjokZGVmYXVsdF91cGRhdGVhYmxlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQyOiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OiRkZWZhdWx0X3VwZGF0ZWFibGUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxODoiZGVmYXVsdF91cGRhdGVhYmxlIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjc5OiJEZWZhdWx0IGZvciB3aGV0aGVyIHRvIGxpbWl0IHRvIGl0ZW1zIHRoYXQgY2FuIGJlIHVwZGF0ZWQuIFVzZXJzIGNhbiBlZGl0IHRoaXMuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xCb29sZWFuIjowOnt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIwMTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjA2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fX1zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AbWV0aG9kcyI7YTo0ODp7czozNjoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpfX2NvbnN0cnVjdCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoyNzoiQ29uc3RydWN0b3IgZm9yIGFkbWluIGNsYXNzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMDg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MzY6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6X19jb25zdHJ1Y3QoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjExOiJfX2NvbnN0cnVjdCI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMTE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czozNjoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjphZGRfYWN0aW9ucygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo1MDoiQ3JlYXRlIHRoZSBhY3Rpb24gaG9va3MgdG8gY3JlYXRlIHRoZSBhZG1pbiBwYWdlcy4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI1MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozNjoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjphZGRfYWN0aW9ucygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTE6ImFkZF9hY3Rpb25zIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI1MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjQ0OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OnBsdWdpbl9hY3Rpb25fbGlua3MoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NDg6IkRpc3BsYXkgYSBTZXR0aW5ncyBsaW5rIG9uIHRoZSBtYWluIFBsdWdpbnMgcGFnZSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTozOntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NToibGlua3MiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjQ1OiJ0aGUgYXJyYXkgb2YgbGlua3MgZm9yIHRoZSBtYWluIHBsdWdpbnMgcGFnZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NDoiZmlsZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxMzoidGhlIGZpbGVuYW1lLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MjtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjUxOiIkbGlua3MgdGhlIGFycmF5IG9mIGxpbmtzIGZvciB0aGUgbWFpbiBwbHVnaW5zIHBhZ2UiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzExO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ0OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OnBsdWdpbl9hY3Rpb25fbGlua3MoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE5OiJwbHVnaW5fYWN0aW9uX2xpbmtzIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjI6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjU6ImxpbmtzIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NDoiZmlsZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjMxODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjQ5OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OmFkbWluX3NjcmlwdHNfYW5kX3N0eWxlcygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo2NzoiQWRtaW4gc3R5bGVzLiBMb2FkIHRoZSBDU1MgYW5kIEphdmFTY3JpcHQgZm9yIHRoZSBwbHVnaW4ncyBzZXR0aW5ncyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzI2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ5OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OmFkbWluX3NjcmlwdHNfYW5kX3N0eWxlcygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjQ6ImFkbWluX3NjcmlwdHNfYW5kX3N0eWxlcyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozMjk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo0ODoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjppbml0aWFsX2FjdGlvbl9zY2hlZHVsZSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo0MzoiSW5pdGlhbCByZWN1cnJpbmcgdGFza3MgZm9yIEFjdGlvblNjaGVkdWxlciI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTo0OntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTI6Im5ld19zY2hlZHVsZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozNToidGhlIG5ldywgdW5zZXJpYWxpemVkIG9wdGlvbiB2YWx1ZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTI6Im9sZF9zY2hlZHVsZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyMToidGhlIG9sZCBvcHRpb24gdmFsdWUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjExOiJvcHRpb25fbmFtZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxMjoib3B0aW9uIG5hbWUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTozO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxMzoiJG5ld19zY2hlZHVsZSI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozNTc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDg6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6aW5pdGlhbF9hY3Rpb25fc2NoZWR1bGUoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjIzOiJpbml0aWFsX2FjdGlvbl9zY2hlZHVsZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTozOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMjoibmV3X3NjaGVkdWxlIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTI6Im9sZF9zY2hlZHVsZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjExOiJvcHRpb25fbmFtZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjM2NTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjQ3OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OmNoYW5nZV9hY3Rpb25fc2NoZWR1bGUoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NjA6IlVwZGF0ZSByZWN1cnJpbmcgdGFza3MgZm9yIEFjdGlvblNjaGVkdWxlciBpZiBvcHRpb25zIGNoYW5nZSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTozOntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTI6Im9sZF9zY2hlZHVsZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyMToidGhlIG9sZCBvcHRpb24gdmFsdWUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEyOiJuZXdfc2NoZWR1bGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzU6InRoZSBuZXcsIHVuc2VyaWFsaXplZCBvcHRpb24gdmFsdWUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjExOiJvcHRpb25fbmFtZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxMjoib3B0aW9uIG5hbWUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjM5MjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0NzoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpjaGFuZ2VfYWN0aW9uX3NjaGVkdWxlKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMjoiY2hhbmdlX2FjdGlvbl9zY2hlZHVsZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTozOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMjoib2xkX3NjaGVkdWxlIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTI6Im5ld19zY2hlZHVsZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjExOiJvcHRpb25fbmFtZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjM5OTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjQ0OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OnNldF9hY3Rpb25fc2NoZWR1bGUoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NDI6IlNldCB1cCByZWN1cnJpbmcgdGFza3MgZm9yIEFjdGlvblNjaGVkdWxlciI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToyOntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTM6InNjaGVkdWxlX25hbWUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjU6InRoZSBuYW1lIG9mIHRoZSBzY2hlZHVsZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTc6ImFjdGlvbl9ncm91cF9uYW1lIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjE3OiJ0aGUgZ3JvdXAncyBuYW1lLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo0MTI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDQ6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6c2V0X2FjdGlvbl9zY2hlZHVsZSgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTk6InNldF9hY3Rpb25fc2NoZWR1bGUiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjI6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEzOiJzY2hlZHVsZV9uYW1lIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTc6ImFjdGlvbl9ncm91cF9uYW1lIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NDE4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NDg6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6cmVzYXZlX2FjdGlvbl9zY2hlZHVsZXMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6Nzk6IldoZW4gaXQgZmluaXNoZXMgaXRzIG1pZ3JhdGlvbiwgcmVzYXZlIHRoZSBzY2hlZHVsZWQgdGFza3MgZm9yIEFjdGlvblNjaGVkdWxlci4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQ0MTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0ODoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpyZXNhdmVfYWN0aW9uX3NjaGVkdWxlcygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjM6InJlc2F2ZV9hY3Rpb25fc2NoZWR1bGVzIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQ0NDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjQyOiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OmNyZWF0ZV9hZG1pbl9tZW51KCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjM5OiJDcmVhdGUgdGhlIFdvcmRQcmVzcyBhZG1pbiBvcHRpb25zIHBhZ2UiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjUyMDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0MjoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpjcmVhdGVfYWRtaW5fbWVudSgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTc6ImNyZWF0ZV9hZG1pbl9tZW51Ijt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjUyMztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjQwOiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OnNob3dfYWRtaW5fcGFnZSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoxMTI6IlJlbmRlciB0aGUgYWRtaW4gcGFnZXMgaW4gV29yZFByZXNzLiBUaGlzIGFsc28gYWxsb3dzIG90aGVyIHBsdWdpbnMgdG8gYWRkIHRhYnMgdG8gdGhpcyBwbHVnaW4ncyBzZXR0aW5ncyBzY3JlZW4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjUyODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0MDoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpzaG93X2FkbWluX3BhZ2UoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE1OiJzaG93X2FkbWluX3BhZ2UiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NTMxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NTA6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6c2FsZXNmb3JjZV9zZXR0aW5nc19mb3JtcygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo3NDoiQ3JlYXRlIGRlZmF1bHQgV29yZFByZXNzIGFkbWluIHNldHRpbmdzIGZvcm0uIFRoaXMgcnVucyB0aGUgU2V0dGluZ3MgcGFnZS4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjc1MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MDoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpzYWxlc2ZvcmNlX3NldHRpbmdzX2Zvcm1zKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyNToic2FsZXNmb3JjZV9zZXR0aW5nc19mb3JtcyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo3NTY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo0MDoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpmaWVsZHNfc2V0dGluZ3MoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MTM5OiJGaWVsZHMgZm9yIHRoZSBTZXR0aW5ncyB0YWIKVGhpcyBydW5zIGFkZF9zZXR0aW5nc19zZWN0aW9uIG9uY2UsIGFzIHdlbGwgYXMgYWRkX3NldHRpbmdzX2ZpZWxkIGFuZCByZWdpc3Rlcl9zZXR0aW5nIG1ldGhvZHMgZm9yIGVhY2ggb3B0aW9uIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjM6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo0OiJwYWdlIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjE5OiJ3aGF0IHBhZ2Ugd2UncmUgb24uIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjc6InNlY3Rpb24iO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjU6IndoYXQgc2VjdGlvbiBvZiB0aGUgcGFnZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6OToiY2FsbGJhY2tzIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxNToibWV0aG9kIHRvIGNhbGwuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjc4MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0MDoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpmaWVsZHNfc2V0dGluZ3MoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE1OiJmaWVsZHNfc2V0dGluZ3MiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjM6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjQ6InBhZ2UiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo3OiJzZWN0aW9uIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6OToiY2FsbGJhY2tzIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Nzg4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NDE6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6ZmllbGRzX2ZpZWxkbWFwcygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoxNDA6IkZpZWxkcyBmb3IgdGhlIEZpZWxkbWFwcyB0YWIKVGhpcyBydW5zIGFkZF9zZXR0aW5nc19zZWN0aW9uIG9uY2UsIGFzIHdlbGwgYXMgYWRkX3NldHRpbmdzX2ZpZWxkIGFuZCByZWdpc3Rlcl9zZXR0aW5nIG1ldGhvZHMgZm9yIGVhY2ggb3B0aW9uIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjM6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo0OiJwYWdlIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjE5OiJ3aGF0IHBhZ2Ugd2UncmUgb24uIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjc6InNlY3Rpb24iO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjU6IndoYXQgc2VjdGlvbiBvZiB0aGUgcGFnZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTQ6ImlucHV0X2NhbGxiYWNrIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjE1OiJtZXRob2QgdG8gY2FsbC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTA3NztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0MToiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpmaWVsZHNfZmllbGRtYXBzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNjoiZmllbGRzX2ZpZWxkbWFwcyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mzp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NDoicGFnZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjc6InNlY3Rpb24iO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxNDoiaW5wdXRfY2FsbGJhY2siO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtzOjI6IicnIjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTA4NTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjQyOiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OmZpZWxkc19zY2hlZHVsaW5nKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjE0MToiRmllbGRzIGZvciB0aGUgU2NoZWR1bGluZyB0YWIKVGhpcyBydW5zIGFkZF9zZXR0aW5nc19zZWN0aW9uIG9uY2UsIGFzIHdlbGwgYXMgYWRkX3NldHRpbmdzX2ZpZWxkIGFuZCByZWdpc3Rlcl9zZXR0aW5nIG1ldGhvZHMgZm9yIGVhY2ggb3B0aW9uIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjM6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo0OiJwYWdlIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjE5OiJ3aGF0IHBhZ2Ugd2UncmUgb24uIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjc6InNlY3Rpb24iO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjU6IndoYXQgc2VjdGlvbiBvZiB0aGUgcGFnZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6OToiY2FsbGJhY2tzIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxNToibWV0aG9kIHRvIGNhbGwuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEwODk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDI6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6ZmllbGRzX3NjaGVkdWxpbmcoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE3OiJmaWVsZHNfc2NoZWR1bGluZyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mzp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NDoicGFnZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjc6InNlY3Rpb24iO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo5OiJjYWxsYmFja3MiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMDk3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NDQ6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6ZmllbGRzX2xvZ19zZXR0aW5ncygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoxNDM6IkZpZWxkcyBmb3IgdGhlIExvZyBTZXR0aW5ncyB0YWIKVGhpcyBydW5zIGFkZF9zZXR0aW5nc19zZWN0aW9uIG9uY2UsIGFzIHdlbGwgYXMgYWRkX3NldHRpbmdzX2ZpZWxkIGFuZCByZWdpc3Rlcl9zZXR0aW5nIG1ldGhvZHMgZm9yIGVhY2ggb3B0aW9uIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjM6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo0OiJwYWdlIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjE5OiJ3aGF0IHBhZ2Ugd2UncmUgb24uIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjc6InNlY3Rpb24iO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjU6IndoYXQgc2VjdGlvbiBvZiB0aGUgcGFnZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6OToiY2FsbGJhY2tzIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxNToibWV0aG9kIHRvIGNhbGwuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEyMDc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDQ6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6ZmllbGRzX2xvZ19zZXR0aW5ncygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTk6ImZpZWxkc19sb2dfc2V0dGluZ3MiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjM6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjQ6InBhZ2UiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo3OiJzZWN0aW9uIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6OToiY2FsbGJhY2tzIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTIxNTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjM4OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OmZpZWxkc19lcnJvcnMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MTQ1OiJGaWVsZHMgZm9yIHRoZSBNYXBwaW5nIEVycm9ycyB0YWIKVGhpcyBydW5zIGFkZF9zZXR0aW5nc19zZWN0aW9uIG9uY2UsIGFzIHdlbGwgYXMgYWRkX3NldHRpbmdzX2ZpZWxkIGFuZCByZWdpc3Rlcl9zZXR0aW5nIG1ldGhvZHMgZm9yIGVhY2ggb3B0aW9uIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjM6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo0OiJwYWdlIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjE5OiJ3aGF0IHBhZ2Ugd2UncmUgb24uIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjc6InNlY3Rpb24iO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjU6IndoYXQgc2VjdGlvbiBvZiB0aGUgcGFnZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6OToiY2FsbGJhY2tzIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxNToibWV0aG9kIHRvIGNhbGwuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE0MDQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mzg6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6ZmllbGRzX2Vycm9ycygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTM6ImZpZWxkc19lcnJvcnMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjM6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjQ6InBhZ2UiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo3OiJzZWN0aW9uIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6OToiY2FsbGJhY2tzIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTQxMjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjMyOiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46Om5vdGljZXMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6ODE6IkNyZWF0ZSB0aGUgbm90aWNlcywgc2V0dGluZ3MsIGFuZCBjb25kaXRpb25zIGJ5IHdoaWNoIGFkbWluIG5vdGljZXMgc2hvdWxkIGFwcGVhciI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTQ1MjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozMjoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpub3RpY2VzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo3OiJub3RpY2VzIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE0NTU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1ODoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpnZXRfc2FsZXNmb3JjZV9vYmplY3RfZGVzY3JpcHRpb24oKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MTQ1OiJHZXQgYWxsIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCBzZXR0aW5ncyBmb3IgZmllbGRtYXBwaW5nClRoaXMgdGFrZXMgZWl0aGVyIHRoZSAkX1BPU1QgYXJyYXkgdmlhIGFqYXgsIG9yIGNhbiBiZSBkaXJlY3RseSBjYWxsZWQgd2l0aCBhICRkYXRhIGFycmF5IjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjI6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo0OiJkYXRhIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo2NDoibXVzdCBjb250YWluIGEgU2FsZXNmb3JjZSBvYmplY3QsIGNhbiBvcHRpb25hbGx5IGNvbnRhaW4gYSB0eXBlLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjE2OiIkb2JqZWN0X3NldHRpbmdzIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE1NjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTg6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6Z2V0X3NhbGVzZm9yY2Vfb2JqZWN0X2Rlc2NyaXB0aW9uKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czozMzoiZ2V0X3NhbGVzZm9yY2Vfb2JqZWN0X2Rlc2NyaXB0aW9uIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjQ6ImRhdGEiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtzOjc6ImFycmF5KCkiO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNTY3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NTM6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6Z2V0X3NhbGVzZm9yY2Vfb2JqZWN0X2ZpZWxkcygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoxNDU6IkdldCBhbGwgdGhlIFNhbGVzZm9yY2UgZmllbGRzIHNldHRpbmdzIGZvciBmaWVsZG1hcHBpbmcKVGhpcyB0YWtlcyBlaXRoZXIgdGhlICRfUE9TVCBhcnJheSB2aWEgYWpheCwgb3IgY2FuIGJlIGRpcmVjdGx5IGNhbGxlZCB3aXRoIGEgJGRhdGEgYXJyYXkiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mjp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjQ6ImRhdGEiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjgyOiJtdXN0IGNvbnRhaW4gYSBTYWxlc2ZvcmNlIG9iamVjdCB1bmxlc3MgaXQgaXMgQWpheCwgY2FuIG9wdGlvbmFsbHkgY29udGFpbiBhIHR5cGUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MTQ6IiRvYmplY3RfZmllbGRzIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE2MjY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTM6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6Z2V0X3NhbGVzZm9yY2Vfb2JqZWN0X2ZpZWxkcygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6Mjg6ImdldF9zYWxlc2ZvcmNlX29iamVjdF9maWVsZHMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NDoiZGF0YSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO3M6NzoiYXJyYXkoKSI7czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE2MzM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1MjoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpnZXRfd29yZHByZXNzX29iamVjdF9maWVsZHMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MTQ2OiJHZXQgV29yZFByZXNzIG9iamVjdCBmaWVsZHMgZm9yIGZpZWxkbWFwcGluZwpUaGlzIHRha2VzIGVpdGhlciB0aGUgJF9QT1NUIGFycmF5IHZpYSBhamF4LCBvciBjYW4gYmUgZGlyZWN0bHkgY2FsbGVkIHdpdGggYSAkd29yZHByZXNzX29iamVjdCBmaWVsZCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToyOntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTY6IndvcmRwcmVzc19vYmplY3QiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzY6ImlzIHRoZSBuYW1lIG9mIHRoZSBXb3JkUHJlc3Mgb2JqZWN0LiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjE0OiIkb2JqZWN0X2ZpZWxkcyI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNjg1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUyOiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OmdldF93b3JkcHJlc3Nfb2JqZWN0X2ZpZWxkcygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6Mjc6ImdldF93b3JkcHJlc3Nfb2JqZWN0X2ZpZWxkcyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxNjoid29yZHByZXNzX29iamVjdCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO3M6MjoiJyciO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNjkyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NDM6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6cHVzaF90b19zYWxlc2ZvcmNlKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjE2NzoiTWFudWFsbHkgcHVzaCB0aGUgV29yZFByZXNzIG9iamVjdCB0byBTYWxlc2ZvcmNlClRoaXMgdGFrZXMgZWl0aGVyIHRoZSAkX1BPU1QgYXJyYXkgdmlhIGFqYXgsIG9yIGNhbiBiZSBkaXJlY3RseSBjYWxsZWQgd2l0aCAkd29yZHByZXNzX29iamVjdCBhbmQgJHdvcmRwcmVzc19pZCBmaWVsZHMiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mzp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE2OiJ3b3JkcHJlc3Nfb2JqZWN0IjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjM2OiJpcyB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTI6IndvcmRwcmVzc19pZCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozNDoiaXMgdGhlIElEIG9mIHRoZSBXb3JkUHJlc3MgcmVjb3JkLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MjtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxMjoiZm9yY2VfcmV0dXJuIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEJvb2xlYW4iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjU3OiJGb3JjZSB0aGUgbWV0aG9kIHRvIHJldHVybiBqc29uIGluc3RlYWQgb2Ygb3V0cHV0dGluZyBpdC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTcxMjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0MzoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpwdXNoX3RvX3NhbGVzZm9yY2UoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE4OiJwdXNoX3RvX3NhbGVzZm9yY2UiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mzp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTY6IndvcmRwcmVzc19vYmplY3QiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtzOjI6IicnIjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTI6IndvcmRwcmVzc19pZCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO3M6MjoiJyciO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMjoiZm9yY2VfcmV0dXJuIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7czo1OiJmYWxzZSI7czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE3MjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo0NToiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpwdWxsX2Zyb21fc2FsZXNmb3JjZSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoxNDg6Ik1hbnVhbGx5IHB1bGwgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IGludG8gV29yZFByZXNzClRoaXMgdGFrZXMgZWl0aGVyIHRoZSAkX1BPU1QgYXJyYXkgdmlhIGFqYXgsIG9yIGNhbiBiZSBkaXJlY3RseSBjYWxsZWQgd2l0aCAkc2FsZXNmb3JjZV9pZCBmaWVsZHMiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mjp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEzOiJzYWxlc2ZvcmNlX2lkIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjM1OiJpcyB0aGUgSUQgb2YgdGhlIFNhbGVzZm9yY2UgcmVjb3JkLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxNjoid29yZHByZXNzX29iamVjdCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozNjoiaXMgdGhlIG5hbWUgb2YgdGhlIFdvcmRQcmVzcyBvYmplY3QuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE3NDg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDU6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6cHVsbF9mcm9tX3NhbGVzZm9yY2UoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjIwOiJwdWxsX2Zyb21fc2FsZXNmb3JjZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToyOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMzoic2FsZXNmb3JjZV9pZCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO3M6MjoiJyciO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxNjoid29yZHByZXNzX29iamVjdCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO3M6MjoiJyciO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNzU1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NDQ6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6cmVmcmVzaF9tYXBwZWRfZGF0YSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo5MjoiTWFudWFsbHkgcHVsbCB0aGUgU2FsZXNmb3JjZSBvYmplY3QgaW50byBXb3JkUHJlc3MKVGhpcyB0YWtlcyBhbiBpZCBmb3IgYSBtYXBwaW5nIG9iamVjdCByb3ciO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEwOiJtYXBwaW5nX2lkIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjM5OiJpcyB0aGUgSUQgb2YgdGhlIG1hcHBpbmcgb2JqZWN0IHJlY29yZC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTc3MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0NDoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpyZWZyZXNoX21hcHBlZF9kYXRhKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxOToicmVmcmVzaF9tYXBwZWRfZGF0YSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMDoibWFwcGluZ19pZCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO3M6MjoiJyciO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNzc2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NDY6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6cHJlcGFyZV9maWVsZG1hcF9kYXRhKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjQxMjoiUHJlcGFyZSBmaWVsZG1hcCBkYXRhIGFuZCByZWRpcmVjdCBhZnRlciBwcm9jZXNzaW5nClRoaXMgcnVucyB3aGVuIHRoZSBjcmVhdGUgb3IgdXBkYXRlIGZvcm1zIGFyZSBzdWJtaXR0ZWQKSXQgaXMgcHVibGljIGJlY2F1c2UgaXQgZGVwZW5kcyBvbiBhbiBhZG1pbiBob29rCkl0IHRoZW4gY2FsbHMgdGhlIE9iamVjdF9TeW5jX1NmX01hcHBpbmcgY2xhc3MgYW5kIHNlbmRzIHByZXBhcmVkIGRhdGEgb3ZlciB0byBpdCwgdGhlbiByZWRpcmVjdHMgdG8gdGhlIGNvcnJlY3QgcGFnZQpUaGlzIG1ldGhvZCBkb2VzIGluY2x1ZGUgZXJyb3IgaGFuZGxpbmcsIGJ5IGxvYWRpbmcgdGhlIHN1Ym1pc3Npb24gaW4gYSB0cmFuc2llbnQgaWYgdGhlcmUgaXMgYW4gZXJyb3IsIGFuZCB0aGVuIGRlbGV0aW5nIGl0IHVwb24gc3VjY2VzcyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTgwMTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0NjoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpwcmVwYXJlX2ZpZWxkbWFwX2RhdGEoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjIxOiJwcmVwYXJlX2ZpZWxkbWFwX2RhdGEiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTgwODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjQwOiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OmRlbGV0ZV9maWVsZG1hcCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoyMzU6IkRlbGV0ZSBmaWVsZG1hcCBkYXRhIGFuZCByZWRpcmVjdCBhZnRlciBwcm9jZXNzaW5nClRoaXMgcnVucyB3aGVuIHRoZSBkZWxldGUgbGluayBpcyBjbGlja2VkLCBhZnRlciB0aGUgdXNlciBjb25maXJtcwpJdCBpcyBwdWJsaWMgYmVjYXVzZSBpdCBkZXBlbmRzIG9uIGFuIGFkbWluIGhvb2sKSXQgdGhlbiBjYWxscyB0aGUgT2JqZWN0X1N5bmNfU2ZfTWFwcGluZyBjbGFzcyBhbmQgdGhlIGRlbGV0ZSBtZXRob2QiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE4NjE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDA6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6ZGVsZXRlX2ZpZWxkbWFwKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNToiZGVsZXRlX2ZpZWxkbWFwIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE4Njc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo0ODoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpwcmVwYXJlX29iamVjdF9tYXBfZGF0YSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozOTg6IlByZXBhcmUgb2JqZWN0IGRhdGEgYW5kIHJlZGlyZWN0IGFmdGVyIHByb2Nlc3NpbmcKVGhpcyBydW5zIHdoZW4gdGhlIHVwZGF0ZSBmb3JtIGlzIHN1Ym1pdHRlZApJdCBpcyBwdWJsaWMgYmVjYXVzZSBpdCBkZXBlbmRzIG9uIGFuIGFkbWluIGhvb2sKSXQgdGhlbiBjYWxscyB0aGUgT2JqZWN0X1N5bmNfU2ZfTWFwcGluZyBjbGFzcyBhbmQgc2VuZHMgcHJlcGFyZWQgZGF0YSBvdmVyIHRvIGl0LCB0aGVuIHJlZGlyZWN0cyB0byB0aGUgY29ycmVjdCBwYWdlClRoaXMgbWV0aG9kIGRvZXMgaW5jbHVkZSBlcnJvciBoYW5kbGluZywgYnkgbG9hZGluZyB0aGUgc3VibWlzc2lvbiBpbiBhIHRyYW5zaWVudCBpZiB0aGVyZSBpcyBhbiBlcnJvciwgYW5kIHRoZW4gZGVsZXRpbmcgaXQgdXBvbiBzdWNjZXNzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxODgxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ4OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OnByZXBhcmVfb2JqZWN0X21hcF9kYXRhKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMzoicHJlcGFyZV9vYmplY3RfbWFwX2RhdGEiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTg4ODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjQyOiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OmRlbGV0ZV9vYmplY3RfbWFwKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjI1MzoiRGVsZXRlIG9iamVjdCBtYXAgZGF0YSBhbmQgcmVkaXJlY3QgYWZ0ZXIgcHJvY2Vzc2luZwpUaGlzIHJ1bnMgd2hlbiB0aGUgZGVsZXRlIGxpbmsgaXMgY2xpY2tlZCBvbiBhbiBlcnJvciByb3csIGFmdGVyIHRoZSB1c2VyIGNvbmZpcm1zCkl0IGlzIHB1YmxpYyBiZWNhdXNlIGl0IGRlcGVuZHMgb24gYW4gYWRtaW4gaG9vawpJdCB0aGVuIGNhbGxzIHRoZSBPYmplY3RfU3luY19TZl9NYXBwaW5nIGNsYXNzIGFuZCB0aGUgZGVsZXRlIG1ldGhvZCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTkyODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0MjoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpkZWxldGVfb2JqZWN0X21hcCgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTc6ImRlbGV0ZV9vYmplY3RfbWFwIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE5MzQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo0MToiXE9iamVjdF9TeW5jX1NmX0FkbWluOjppbXBvcnRfanNvbl9maWxlKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjQ1OiJJbXBvcnQgYSBqc29uIGZpbGUgYW5kIHVzZSBpdCBmb3IgcGx1Z2luIGRhdGEiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE5ODQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDE6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6aW1wb3J0X2pzb25fZmlsZSgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTY6ImltcG9ydF9qc29uX2ZpbGUiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTk4NztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjQxOiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OmV4cG9ydF9qc29uX2ZpbGUoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MzI6IkNyZWF0ZSBhIGpzb24gZmlsZSBmb3IgZXhwb3J0aW5nIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMTQ1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQxOiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OmV4cG9ydF9qc29uX2ZpbGUoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE2OiJleHBvcnRfanNvbl9maWxlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIxNDg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo0NDoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpkaXNwbGF5X2lucHV0X2ZpZWxkKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjM0OiJEZWZhdWx0IGRpc3BsYXkgZm9yIDxpbnB1dD4gZmllbGRzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo0OiJhcmdzIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozNzoiaXMgdGhlIGFyZ3VtZW50cyB0byBjcmVhdGUgdGhlIGZpZWxkLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMTc3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ0OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OmRpc3BsYXlfaW5wdXRfZmllbGQoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE5OiJkaXNwbGF5X2lucHV0X2ZpZWxkIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjQ6ImFyZ3MiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMTgyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NDM6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6ZGlzcGxheV9jaGVja2JveGVzKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjgyOiJEaXNwbGF5IGZvciBtdWx0aXBsZSBjaGVja2JveGVzCkFib3ZlIG1ldGhvZCBjYW4gaGFuZGxlIGEgc2luZ2xlIGNoZWNrYm94IGFzIGl0IGlzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo0OiJhcmdzIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo0MjoiaXMgdGhlIGFyZ3VtZW50cyB0byBjcmVhdGUgdGhlIGNoZWNrYm94ZXMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIyMzU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDM6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6ZGlzcGxheV9jaGVja2JveGVzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxODoiZGlzcGxheV9jaGVja2JveGVzIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjQ6ImFyZ3MiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMjQxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6Mzk6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6ZGlzcGxheV9zZWxlY3QoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MjI6IkRpc3BsYXkgZm9yIGEgZHJvcGRvd24iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjQ6ImFyZ3MiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjQ3OiJpcyB0aGUgYXJndW1lbnRzIG5lZWRlZCB0byBjcmVhdGUgdGhlIGRyb3Bkb3duLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMjc1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjM5OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OmRpc3BsYXlfc2VsZWN0KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNDoiZGlzcGxheV9zZWxlY3QiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NDoiYXJncyI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIyODA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo0MDoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjp2ZXJzaW9uX29wdGlvbnMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NTA6IkRyb3Bkb3duIGZvcm1hdHRlZCBsaXN0IG9mIFNhbGVzZm9yY2UgQVBJIHZlcnNpb25zIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjUyOiIkYXJncyBpcyB0aGUgYXJyYXkgb2YgQVBJIHZlcnNpb25zIGZvciB0aGUgZHJvcGRvd24uIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIzMjY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDA6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6dmVyc2lvbl9vcHRpb25zKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNToidmVyc2lvbl9vcHRpb25zIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMzMxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6Mzc6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6ZGlzcGxheV9saW5rKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjM0OiJEZWZhdWx0IGRpc3BsYXkgZm9yIDxhIGhyZWY+IGxpbmtzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo0OiJhcmdzIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozNDoiaXMgdGhlIGFyZ3VtZW50cyB0byBtYWtlIHRoZSBsaW5rLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMzQ2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjM3OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OmRpc3BsYXlfbGluaygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTI6ImRpc3BsYXlfbGluayI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJhcmdzIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjM1MTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjQ3OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OnNhbml0aXplX3ZhbGlkYXRlX3RleHQoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MTI0OiJBbGxvdyBmb3IgYSBzdGFuZGFyZCBzYW5pdGl6ZS92YWxpZGF0ZSBtZXRob2QuIFdlIGNvdWxkIHVzZSBtb3JlIHNwZWNpZmljIG9uZXMgaWYgbmVlZCBiZSwgYnV0IHRoaXMgb25lIHByb3ZpZGVzIGEgYmFzZWxpbmUuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjI6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo2OiJvcHRpb24iO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjA6ImlzIHRoZSBvcHRpb24gdmFsdWUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozODoiJG9wdGlvbiBpcyB0aGUgc2FuaXRpemVkIG9wdGlvbiB2YWx1ZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjM3OTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0NzoiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpzYW5pdGl6ZV92YWxpZGF0ZV90ZXh0KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMjoic2FuaXRpemVfdmFsaWRhdGVfdGV4dCI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo2OiJvcHRpb24iO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMzg1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6MzE6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6c3RhdHVzKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjk5OiJSdW4gYSBkZW1vIG9mIFNhbGVzZm9yY2UgQVBJIGNhbGwgb24gdGhlIGF1dGhlbnRpY2F0ZSB0YWIgYWZ0ZXIgV29yZFByZXNzIGhhcyBhdXRoZW50aWNhdGVkIHdpdGggaXQiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjU6InNmYXBpIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7Tjt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozNDoidGhpcyBpcyB0aGUgU2FsZXNmb3JjZSBBUEkgb2JqZWN0LiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMzk3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjMxOiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OnN0YXR1cygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6Njoic3RhdHVzIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo1OiJzZmFwaSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI0MDI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czozMToiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpsb2dvdXQoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6Mzg6IkRlYXV0aG9yaXplIFdvcmRQcmVzcyBmcm9tIFNhbGVzZm9yY2UuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjIxNToiVGhpcyBkZWxldGVzIHRoZSB0b2tlbnMgZnJvbSB0aGUgZGF0YWJhc2U7IGl0IGRvZXMgbm90IGN1cnJlbnRseSBkbyBhbnl0aGluZyBpbiBTYWxlc2ZvcmNlCkZvciB0aGlzIHBsdWdpbiBhdCB0aGlzIHRpbWUsIHRoYXQgaXMgdGhlIGRlY2lzaW9uIHdlIGFyZSBtYWtpbmc6IGRvbid0IGRvIGFueSBraW5kIG9mIGF1dGhvcml6YXRpb24gc3R1ZmYgaW5zaWRlIFNhbGVzZm9yY2UiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjQ2NjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozMToiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpsb2dvdXQoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjY6ImxvZ291dCI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjQ3MTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjQxOiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OmNsZWFyX3Nmd3BfY2FjaGUoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MzY6IkFqYXggY2FsbCB0byBjbGVhciB0aGUgcGx1Z2luIGNhY2hlLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjQ5MTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0MToiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpjbGVhcl9zZndwX2NhY2hlKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNjoiY2xlYXJfc2Z3cF9jYWNoZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNDk0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6MzY6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6Y2xlYXJfY2FjaGUoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MjU6IkNsZWFyIHRoZSBwbHVnaW4ncyBjYWNoZS4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MTAyOiJUaGlzIHVzZXMgdGhlIGZsdXNoIG1ldGhvZCBjb250YWluZWQgaW4gdGhlIFdvcmRQcmVzcyBjYWNoZSB0byBjbGVhciBhbGwgb2YgdGhpcyBwbHVnaW4ncyBjYWNoZWQgZGF0YS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToyOntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NDoiYWpheCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xCb29sZWFuIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozOToiV2hldGhlciB0aGlzIGlzIGFuIEFqYXggcmVxdWVzdCBvciBub3QuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI1MDM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MzY6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6Y2xlYXJfY2FjaGUoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjExOiJjbGVhcl9jYWNoZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NDoiYWpheCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO3M6NToiZmFsc2UiO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNTEwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NTg6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6Y2hlY2tfd29yZHByZXNzX2FkbWluX3Blcm1pc3Npb25zKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjExMDoiQ2hlY2sgV29yZFByZXNzIEFkbWluIHBlcm1pc3Npb25zCkNoZWNrIGlmIHRoZSBjdXJyZW50IHVzZXIgaXMgYWxsb3dlZCB0byBhY2Nlc3MgdGhlIFNhbGVzZm9yY2UgcGx1Z2luIG9wdGlvbnMiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI1MzM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTg6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6Y2hlY2tfd29yZHByZXNzX2FkbWluX3Blcm1pc3Npb25zKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czozMzoiY2hlY2tfd29yZHByZXNzX2FkbWluX3Blcm1pc3Npb25zIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNTM3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NDQ6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6Y2hlY2tfd29yZHByZXNzX3NzbCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoyNzoiQ2hlY2sgV29yZFByZXNzIFNTTCBzdGF0dXMuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjQzOiJIVFRQUyBpcyByZXF1aXJlZCB0byBjb25uZWN0IHRvIFNhbGVzZm9yY2UuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEJvb2xlYW4iOjA6e31zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxMzoiJHNlY3VyZV9hZG1pbiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNTU1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ0OiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OmNoZWNrX3dvcmRwcmVzc19zc2woKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE5OiJjaGVja193b3JkcHJlc3Nfc3NsIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNTYxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NTI6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6Y2hlY2tfd29yZHByZXNzX3NzbF9zdXBwb3J0KCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjI4OiJDaGVjayBXb3JkUHJlc3MgU1NMIHN1cHBvcnQuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjgyOiJUaGlzIGFsbG93cyB1cyB0byBzaG93IGEgZGlmZmVyZW50IG1lc3NhZ2UgaWYgU1NMIGlzIHN1cHBvcnRlZCwgYnV0IGlzIG5vdCBpbiB1c2UuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEJvb2xlYW4iOjA6e31zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxNjoiJGh0dHBzX3N1cHBvcnRlZCI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNTg4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUyOiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OmNoZWNrX3dvcmRwcmVzc19zc2xfc3VwcG9ydCgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6Mjc6ImNoZWNrX3dvcmRwcmVzc19zc2xfc3VwcG9ydCI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjU5NDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjUyOiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OnNob3dfc2FsZXNmb3JjZV91c2VyX2ZpZWxkcygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo3OToiU2hvdyB3aGF0IHdlIGtub3cgYWJvdXQgdGhpcyB1c2VyJ3MgcmVsYXRpb25zaGlwIHRvIGEgU2FsZXNmb3JjZSBvYmplY3QsIGlmIGFueSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NDoidXNlciI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO047fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mzk6InRoaXMgaXMgdGhlIHVzZXIgb2JqZWN0IGZyb20gV29yZFByZXNzLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNjEwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUyOiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OnNob3dfc2FsZXNmb3JjZV91c2VyX2ZpZWxkcygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6Mjc6InNob3dfc2FsZXNmb3JjZV91c2VyX2ZpZWxkcyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJ1c2VyIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjYxNTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjUyOiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OnNhdmVfc2FsZXNmb3JjZV91c2VyX2ZpZWxkcygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo1NjoiSWYgdGhlIHVzZXIgcHJvZmlsZSBoYXMgYmVlbiBtYXBwZWQgdG8gU2FsZXNmb3JjZSwgZG8gaXQiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjc6InVzZXJfaWQiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mjk6InRoZSBJRCBvZiB0aGUgV29yZFByZXNzIHVzZXIuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI2NDU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTI6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6c2F2ZV9zYWxlc2ZvcmNlX3VzZXJfZmllbGRzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyNzoic2F2ZV9zYWxlc2ZvcmNlX3VzZXJfZmllbGRzIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjE6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjc6InVzZXJfaWQiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNjUwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6Mjk6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6dGFicygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozOToiUmVuZGVyIHRhYnMgZm9yIHNldHRpbmdzIHBhZ2VzIGluIGFkbWluIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjI6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo0OiJ0YWJzIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozNDoiaXMgdGhlIHRhYnMgZm9yIHRoZSBzZXR0aW5ncyBtZW51LiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czozOiJ0YWIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MTY6ImlzIGEgc2luZ2xlIHRhYi4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjY3OTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoyOToiXE9iamVjdF9TeW5jX1NmX0FkbWluOjp0YWJzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo0OiJ0YWJzIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToyOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJ0YWJzIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MzoidGFiIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7czoyOiInJyI7czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI2ODU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czozOToiXE9iamVjdF9TeW5jX1NmX0FkbWluOjpjbGVhcl9zY2hlZHVsZSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo2OToiQ2xlYXIgc2NoZWR1bGUKVGhpcyBjbGVhcnMgdGhlIHNjaGVkdWxlIGlmIHRoZSB1c2VyIGNsaWNrcyB0aGUgYnV0dG9uIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxMzoic2NoZWR1bGVfbmFtZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo0MjoiaXMgdGhlIG5hbWUgb2YgdGhlIHNjaGVkdWxlIGJlaW5nIGNsZWFyZWQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI3MjI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mzk6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6Y2xlYXJfc2NoZWR1bGUoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE0OiJjbGVhcl9zY2hlZHVsZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTM6InNjaGVkdWxlX25hbWUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtzOjI6IicnIjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjcyODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjQzOiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OmdldF9zY2hlZHVsZV9jb3VudCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoyNzoiR2V0IGNvdW50IG9mIHNjaGVkdWxlIGl0ZW1zIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjI6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxMzoic2NoZWR1bGVfbmFtZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyODoiaXMgdGhlIG5hbWUgb2YgdGhlIHNjaGVkdWxlLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NjoiJGNvdW50IjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI3Mzg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDM6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6Z2V0X3NjaGVkdWxlX2NvdW50KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxODoiZ2V0X3NjaGVkdWxlX2NvdW50Ijt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToxOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMzoic2NoZWR1bGVfbmFtZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO3M6MjoiJyciO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNzQ0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NDI6IlxPYmplY3RfU3luY19TZl9BZG1pbjo6Y3JlYXRlX29iamVjdF9tYXAoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NzE6IkNyZWF0ZSBhbiBvYmplY3QgbWFwIGJldHdlZW4gYSBXb3JkUHJlc3Mgb2JqZWN0IGFuZCBhIFNhbGVzZm9yY2Ugb2JqZWN0IjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjU6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxMjoid29yZHByZXNzX2lkIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjQzOiJVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIFdvcmRQcmVzcyBvYmplY3QuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE2OiJ3b3JkcHJlc3Nfb2JqZWN0IjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjI2OiJXaGF0IGtpbmQgb2Ygb2JqZWN0IGlzIGl0LiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MjtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxMzoic2FsZXNmb3JjZV9pZCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo0NDoiVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBTYWxlc2ZvcmNlIG9iamVjdC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NjoiYWN0aW9uIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjIwOiJEaWQgd2UgcHVzaCBvciBwdWxsLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NDtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NjA6IiR3cGRiLT5pbnNlcnRfaWQgVGhpcyBpcyB0aGUgZGF0YWJhc2Ugcm93IGZvciB0aGUgbWFwIG9iamVjdCI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNzcwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQyOiJcT2JqZWN0X1N5bmNfU2ZfQWRtaW46OmNyZWF0ZV9vYmplY3RfbWFwKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNzoiY3JlYXRlX29iamVjdF9tYXAiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjQ6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEyOiJ3b3JkcHJlc3NfaWQiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxNjoid29yZHByZXNzX29iamVjdCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEzOiJzYWxlc2ZvcmNlX2lkIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aTozO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NjoiYWN0aW9uIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7czoyOiInJyI7czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI3Nzk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwB1c2VkVHJhaXRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fX19czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBpbnRlcmZhY2VzIjthOjA6e31zOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHRyYWl0cyI7YTowOnt9fQ==";