1669346173
AwuilbDvXz%3Aa3d429d347a190e48f8b25b9e931be13-cf58cf4de3cf142a740dc08bd7990dda
s:401856:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxMjp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NDA6IlB1bGwgZGF0YSBmcm9tIFNhbGVzZm9yY2UgaW50byBXb3JkUHJlc3MiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mjp7aTowO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXEdlbmVyaWMiOjI6e3M6NzoiACoAbmFtZSI7czo1OiJjbGFzcyI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzA6Ik9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbCI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xHZW5lcmljIjoyOntzOjc6IgAqAG5hbWUiO3M6NzoicGFja2FnZSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjI6Ik9iamVjdF9TeW5jX1NhbGVzZm9yY2UiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6ImNmNThjZjRkZTNjZjE0MmE3NDBkYzA4YmQ3OTkwZGRhIjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWUiO3M6NDA6ImNsYXNzLW9iamVjdC1zeW5jLXNmLXNhbGVzZm9yY2UtcHVsbC5waHAiO3M6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAcGF0aCI7czo0ODoiY2xhc3Nlcy9jbGFzcy1vYmplY3Qtc3luYy1zZi1zYWxlc2ZvcmNlLXB1bGwucGhwIjtzOjQxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHNvdXJjZSI7czoxMDAyMzg6Ijw/cGhwCi8qKgogKiBQdWxsIGRhdGEgZnJvbSBTYWxlc2ZvcmNlIGludG8gV29yZFByZXNzCiAqCiAqIEBjbGFzcyAgIE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbAogKiBAcGFja2FnZSBPYmplY3RfU3luY19TYWxlc2ZvcmNlCiAqLwoKZGVmaW5lZCggJ0FCU1BBVEgnICkgfHwgZXhpdDsKCi8qKgogKiBPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGwgY2xhc3MuCiAqLwpjbGFzcyBPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGwgewoKCS8qKgoJICogQ3VycmVudCB2ZXJzaW9uIG9mIHRoZSBwbHVnaW4KCSAqCgkgKiBAdmFyIHN0cmluZwoJICovCglwdWJsaWMgJHZlcnNpb247CgoJLyoqCgkgKiBUaGUgbWFpbiBwbHVnaW4gZmlsZQoJICoKCSAqIEB2YXIgc3RyaW5nCgkgKi8KCXB1YmxpYyAkZmlsZTsKCgkvKioKCSAqIEdsb2JhbCBvYmplY3Qgb2YgYCR3cGRiYCwgdGhlIFdvcmRQcmVzcyBkYXRhYmFzZQoJICoKCSAqIEB2YXIgb2JqZWN0CgkgKi8KCXB1YmxpYyAkd3BkYjsKCgkvKioKCSAqIFRoZSBwbHVnaW4ncyBzbHVnIHNvIHdlIGNhbiBpbmNsdWRlIGl0IHdoZW4gbmVjZXNzYXJ5CgkgKgoJICogQHZhciBzdHJpbmcKCSAqLwoJcHVibGljICRzbHVnOwoKCS8qKgoJICogVGhlIHBsdWdpbidzIHByZWZpeCB3aGVuIHNhdmluZyBvcHRpb25zIHRvIHRoZSBkYXRhYmFzZQoJICoKCSAqIEB2YXIgc3RyaW5nCgkgKi8KCXB1YmxpYyAkb3B0aW9uX3ByZWZpeDsKCgkvKioKCSAqIExvZ2luIGNyZWRlbnRpYWxzIGZvciB0aGUgU2FsZXNmb3JjZSBBUEk7IGNvbWVzIGZyb20gd3AtY29uZmlnIG9yIGZyb20gdGhlIHBsdWdpbiBzZXR0aW5ncwoJICoKCSAqIEB2YXIgYXJyYXkKCSAqLwoJcHVibGljICRsb2dpbl9jcmVkZW50aWFsczsKCgkvKioKCSAqIEFycmF5IG9mIHdoYXQgY2xhc3NlcyBpbiB0aGUgcGx1Z2luIGNhbiBiZSBzY2hlZHVsZWQgdG8gb2NjdXIgd2l0aCBgd3BfY3JvbmAgZXZlbnRzCgkgKgoJICogQHZhciBhcnJheQoJICovCglwdWJsaWMgJHNjaGVkdWxhYmxlX2NsYXNzZXM7CgoJLyoqCgkgKiBPYmplY3RfU3luY19TZl9RdWV1ZSBjbGFzcwoJICoKCSAqIEB2YXIgb2JqZWN0CgkgKi8KCXB1YmxpYyAkcXVldWU7CgoJLyoqCgkgKiBPYmplY3RfU3luY19TZl9Mb2dnaW5nIGNsYXNzCgkgKgoJICogQHZhciBvYmplY3QKCSAqLwoJcHVibGljICRsb2dnaW5nOwoKCS8qKgoJICogT2JqZWN0X1N5bmNfU2ZfTWFwcGluZyBjbGFzcwoJICoKCSAqIEB2YXIgb2JqZWN0CgkgKi8KCXB1YmxpYyAkbWFwcGluZ3M7CgoJLyoqCgkgKiBPYmplY3RfU3luY19TZl9Xb3JkUHJlc3MgY2xhc3MKCSAqCgkgKiBAdmFyIG9iamVjdAoJICovCglwdWJsaWMgJHdvcmRwcmVzczsKCgkvKioKCSAqIE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2UgY2xhc3MKCSAqIFRoaXMgY29udGFpbnMgU2FsZXNmb3JjZSBBUEkgbWV0aG9kcwoJICoKCSAqIEB2YXIgYXJyYXkKCSAqLwoJcHVibGljICRzYWxlc2ZvcmNlOwoKCS8qKgoJICogT2JqZWN0X1N5bmNfU2ZfUHVsbF9PcHRpb25zIGNsYXNzCgkgKgoJICogQHZhciBvYmplY3QKCSAqLwoJcHVibGljICRwdWxsX29wdGlvbnM7CgoJLyoqCgkgKiBUaGUgbmFtZSBvZiB0aGUgQWN0aW9uU2NoZWR1bGVyIHF1ZXVlCgkgKgoJICogQHZhciBzdHJpbmcKCSAqLwoJcHVibGljICRzY2hlZHVsZV9uYW1lOwoKCS8qKgoJICogV2hldGhlciB0byBiYXRjaCBTT1FMIHF1ZXJpZXMKCSAqCgkgKiBAdmFyIGJvb2wKCSAqLwoJcHJpdmF0ZSAkYmF0Y2hfc29xbF9xdWVyaWVzOwoKCS8qKgoJICogTWluaW11bSBzaXplIG9mIGEgU09RTCBiYXRjaAoJICoKCSAqIEB2YXIgaW50CgkgKi8KCXByaXZhdGUgJG1pbl9zb3FsX2JhdGNoX3NpemU7CgoJLyoqCgkgKiBNYXhpbXVtIHNpemUgb2YgYSBTT1FMIGJhdGNoCgkgKgoJICogQHZhciBpbnQKCSAqLwoJcHJpdmF0ZSAkbWF4X3NvcWxfc2l6ZTsKCgkvKioKCSAqIFR5cGVzIG9mIFNhbGVzZm9yY2UgcmVjb3JkcyB0aGF0IGNhbiBiZSBtZXJnZWQKCSAqCgkgKiBAdmFyIGFycmF5CgkgKi8KCXB1YmxpYyAkbWVyZ2VhYmxlX3JlY29yZF90eXBlczsKCgkvKioKCSAqIFdoZXRoZXIgdGhlIHBsdWdpbiBpcyBpbiBkZWJ1ZyBtb2RlCgkgKgoJICogQHZhciBzdHJpbmcKCSAqLwoJcHVibGljICRkZWJ1ZzsKCgkvKioKCSAqIENvbnN0cnVjdG9yIGZvciBwdWxsIGNsYXNzCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHsKCQkkdGhpcy0+dmVyc2lvbiAgICAgICAgICAgICA9IG9iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlKCktPnZlcnNpb247CgkJJHRoaXMtPmZpbGUgICAgICAgICAgICAgICAgPSBvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZSgpLT5maWxlOwoJCSR0aGlzLT53cGRiICAgICAgICAgICAgICAgID0gb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2UoKS0+d3BkYjsKCQkkdGhpcy0+c2x1ZyAgICAgICAgICAgICAgICA9IG9iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlKCktPnNsdWc7CgkJJHRoaXMtPm9wdGlvbl9wcmVmaXggICAgICAgPSBvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZSgpLT5vcHRpb25fcHJlZml4OwoJCSR0aGlzLT5sb2dpbl9jcmVkZW50aWFscyAgID0gb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2UoKS0+bG9naW5fY3JlZGVudGlhbHM7CgkJJHRoaXMtPnNjaGVkdWxhYmxlX2NsYXNzZXMgPSBvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZSgpLT5zY2hlZHVsYWJsZV9jbGFzc2VzOwoKCQkkdGhpcy0+cXVldWUgICAgICA9IG9iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlKCktPnF1ZXVlOwoJCSR0aGlzLT5sb2dnaW5nICAgID0gb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2UoKS0+bG9nZ2luZzsKCQkkdGhpcy0+bWFwcGluZ3MgICA9IG9iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlKCktPm1hcHBpbmdzOwoJCSR0aGlzLT53b3JkcHJlc3MgID0gb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2UoKS0+d29yZHByZXNzOwoJCSR0aGlzLT5zYWxlc2ZvcmNlID0gb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2UoKS0+c2FsZXNmb3JjZTsKCgkJJHRoaXMtPnB1bGxfb3B0aW9ucyA9IG5ldyBPYmplY3RfU3luY19TZl9QdWxsX09wdGlvbnMoKTsKCgkJJHRoaXMtPnNjaGVkdWxlX25hbWUgPSAnc2FsZXNmb3JjZV9wdWxsJzsKCgkJLy8gVG8gYmUgY2xlYXI6IHdlIHNob3VsZCBvbmx5IGV2ZXIgc2V0IHRoaXMgdG8gdHJ1ZSBpZiBTYWxlc2ZvcmNlIGFjdHVhbGx5IHN0YXJ0cyB0byByZWxpYWJseSBzdXBwb3J0IGl0IGluc3RlYWQgb2YgZ2VuZXJhbGx5IGlnbm9yaW5nIGl0LgoJCSR0aGlzLT5iYXRjaF9zb3FsX3F1ZXJpZXMgPSAkdGhpcy0+YmF0Y2hfc29xbF9xdWVyaWVzKCBmYWxzZSApOwoKCQkvLyBNYXhpbXVtIG9mZnNldCBzaXplIGZvciBhIFNPUUwgcXVlcnkgdG8gU2FsZXNmb3JjZQoJCS8vIFNlZTogaHR0cHM6Ly9kZXZlbG9wZXIuc2FsZXNmb3JjZS5jb20vZG9jcy9hdGxhcy5lbi11cy5zb3FsX3Nvc2wubWV0YS9zb3FsX3Nvc2wvc2ZvcmNlX2FwaV9jYWxsc19zb3FsX3NlbGVjdF9vZmZzZXQuaHRtCgkJLy8gRnJvbSBTYWxlc2ZvcmNlOiAiVGhlIG1heGltdW0gb2Zmc2V0IGlzIDIsMDAwIHJvd3MuIFJlcXVlc3RpbmcgYW4gb2Zmc2V0IGdyZWF0ZXIgdGhhbiAyLDAwMCByZXN1bHRzIGluIGEgTlVNQkVSX09VVFNJREVfVkFMSURfUkFOR0UgZXJyb3IuIi4KCQkkdGhpcy0+bWluX3NvcWxfYmF0Y2hfc2l6ZSA9IDIwMDsgLy8gYmF0Y2hlcyBjYW5ub3QgYmUgc21hbGxlciB0aGFuIDIwMCByZWNvcmRzLgoJCSR0aGlzLT5tYXhfc29xbF9zaXplICAgICAgID0gMjAwMDsKCgkJJHRoaXMtPm1lcmdlYWJsZV9yZWNvcmRfdHlwZXMgPSBhcnJheSggJ0xlYWQnLCAnQ29udGFjdCcsICdBY2NvdW50JyApOwoKCQkvLyBDcmVhdGUgYWN0aW9uIGhvb2tzIGZvciBXb3JkUHJlc3Mgb2JqZWN0cy4gV2UgcnVuIHRoaXMgYWZ0ZXIgcGx1Z2lucyBhcmUgbG9hZGVkIGluIGNhc2Ugc29tZXRoaW5nIGRlcGVuZHMgb24gYW5vdGhlciBwbHVnaW4uCgkJYWRkX2FjdGlvbiggJ3BsdWdpbnNfbG9hZGVkJywgYXJyYXkoICR0aGlzLCAnYWRkX2FjdGlvbnMnICkgKTsKCgkJLy8gZGVwcmVjYXRlZCBhY3Rpb25zLgoJCSR0aGlzLT5kZXByZWNhdGVkX2FjdGlvbnMoKTsKCgkJJHRoaXMtPmRlYnVnID0gZ2V0X29wdGlvbiggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAnZGVidWdfbW9kZScsIGZhbHNlICk7CgkJJHRoaXMtPmRlYnVnID0gZmlsdGVyX3ZhciggJHRoaXMtPmRlYnVnLCBGSUxURVJfVkFMSURBVEVfQk9PTEVBTiApOwoKCX0KCgkvKioKCSAqIFdoZXRoZXIgdG8gdXNlIHRoZSBiYXRjaFNpemUgcGFyYW1ldGVyIG9uIFNPUUwgcXVlcmllcwoJICoKCSAqIEBwYXJhbSBib29sICRiYXRjaF9zb3FsX3F1ZXJpZXMgd2hldGhlciB0byBiYXRjaCB0aGUgcXVlcmllcy4KCSAqIEByZXR1cm4gYm9vbCAkYmF0Y2hfc29xbF9xdWVyaWVzCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gYmF0Y2hfc29xbF9xdWVyaWVzKCAkYmF0Y2hfc29xbF9xdWVyaWVzICkgewoJCS8vIGFzIG9mIHZlcnNpb24gMzQuMCwgdGhlIFNhbGVzZm9yY2UgUkVTVCBBUEkgYWNjZXB0cyBhIGJhdGNoU2l6ZSBvcHRpb24gb24gdGhlIFNmb3JjZS1DYWxsLU9wdGlvbnMgaGVhZGVyLgoJCWlmICggdmVyc2lvbl9jb21wYXJlKCAkdGhpcy0+bG9naW5fY3JlZGVudGlhbHNbJ3Jlc3RfYXBpX3ZlcnNpb24nXSwgJzM0LjAnLCAnPCcgKSApIHsKCQkJJGJhdGNoX3NvcWxfcXVlcmllcyA9IGZhbHNlOwoJCX0KCQkvLyBvdGhlcndpc2UsIHJldHVybiB3aGF0ZXZlciB0aGUgcGx1Z2luJ3MgZGVmYXVsdCB2YWx1ZSBpcy4KCQkvLyB0aGlzIGFsbG93cyB1cyB0byBkZWNpZGUgdG8gc3VwcG9ydCBxdWVyeSBiYXRjaGluZyBpZiBpdCBpcyBldmVyIG5vdCBhYnN1cmRseSBiYWQuCgkJcmV0dXJuICRiYXRjaF9zb3FsX3F1ZXJpZXM7Cgl9CgoJLyoqCgkgKiBDcmVhdGUgdGhlIGFjdGlvbiBob29rcyBiYXNlZCBvbiB3aGF0IG9iamVjdCBtYXBzIGV4aXN0IGZyb20gdGhlIGFkbWluIHNldHRpbmdzCgkgKiByb3V0ZSBpcyBodHRwOi8vZXhhbXBsZS5jb20vd3AtanNvbi9zYWxlc2ZvcmNlLXJlc3QtYXBpL3B1bGwvIHBsdXMgcGFyYW1zIHdlIGRlY2lkZSB0byBhY2NlcHQuCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBhZGRfYWN0aW9ucygpIHsKCgkJLy8gYWpheCBob29rLgoJCWFkZF9hY3Rpb24oICd3cF9hamF4X3NhbGVzZm9yY2VfcHVsbF93ZWJob29rJywgYXJyYXkoICR0aGlzLCAnc2FsZXNmb3JjZV9wdWxsX3dlYmhvb2snICkgKTsKCgkJLy8gYWN0aW9uLXNjaGVkdWxlciBuZWVkcyB0d28gaG9va3M6IG9uZSB0byBjaGVjayBmb3IgcmVjb3JkcywgYW5kIG9uZSB0byBwcm9jZXNzIHRoZW0uCgkJYWRkX2FjdGlvbiggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHVsbF9jaGVja19yZWNvcmRzJywgYXJyYXkoICR0aGlzLCAnc2FsZXNmb3JjZV9wdWxsJyApLCAxMCApOwoJCWFkZF9hY3Rpb24oICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3B1bGxfcHJvY2Vzc19yZWNvcmRzJywgYXJyYXkoICR0aGlzLCAnc2FsZXNmb3JjZV9wdWxsX3Byb2Nlc3NfcmVjb3JkcycgKSwgMTAsIDMgKTsKCX0KCgkvKioKCSAqIERlcHJlY2F0ZWQgYWN0aW9ucwoJICovCglwdWJsaWMgZnVuY3Rpb24gZGVwcmVjYXRlZF9hY3Rpb25zKCkgewoJCS8vIHByZXZpb3VzIG9wdGlvbiBuYW1lcy4KCQlhZGRfZmlsdGVyKCAnb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2VfcHVsbF9vcHRpb25fbGVnYWN5X2tleScsIGFycmF5KCAkdGhpcywgJ2RlcHJlY2F0ZWRfcHVsbF9vcHRpb25fbmFtZXMnICksIDEwLCAyICk7Cgl9CgoJLyoqCgkgKiBNb2RpZnkgbGVnYWN5IG5hbWVkIGluZGl2aWR1YWwgb3B0aW9uIHJlY29yZHMgZm9yIHN5bmMgb3BlcmF0aW9ucwoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJGtleSB0aGUgcGx1Z2luJ3Mgc3VnZ2VzdGVkIGtleSBuYW1lLgoJICogQHBhcmFtIGFycmF5ICAkcGFyYW1zIHRoZSBhcnJheSBvZiBwYXJhbWV0ZXJzIHRvIG1ha2UgdGhlIGtleS4KCSAqIEByZXR1cm4gbWl4ZWQgJHZhbHVlIHRoZSB2YWx1ZSBvZiB0aGUgaXRlbS4gRmFsc2UgaWYgaXQncyBlbXB0eS4KCSAqLwoJcHVibGljIGZ1bmN0aW9uIGRlcHJlY2F0ZWRfcHVsbF9vcHRpb25fbmFtZXMoICRrZXksICRwYXJhbXMgKSB7CgkJaWYgKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdwdWxsX2xhc3RfaWQnID09PSAka2V5ICkgewoJCQkka2V5ID0gJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAnbGFzdF9wdWxsX2lkJzsKCQl9CgkJaWYgKCBpc3NldCggJHBhcmFtc1snb2JqZWN0X3R5cGUnXSApICkgewoJCQlpZiAoICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3B1bGxfY3VycmVudF9xdWVyeV8nIC4gJHBhcmFtc1snb2JqZWN0X3R5cGUnXSA9PT0gJGtleSApIHsKCQkJCSRrZXkgPSAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdjdXJyZW50bHlfcHVsbGluZ19xdWVyeV8nIC4gJHBhcmFtc1snb2JqZWN0X3R5cGUnXTsKCQkJfQoJCX0KCQlyZXR1cm4gJGtleTsKCX0KCgkvKioKCSAqIFJFU1QgQVBJIGNhbGxiYWNrIGZvciBzYWxlc2ZvcmNlIHB1bGwuIFJldHVybnMgc3RhdHVzIG9mIDIwMCBmb3Igc3VjY2Vzc2Z1bAoJICogYXR0ZW1wdCBvciA0MDMgZm9yIGEgZmFpbGVkIHB1bGwgYXR0ZW1wdCAoU0Ygbm90IGF1dGhvcml6ZWQsIHRocmVzaGhvbGQKCSAqIHJlYWNoZWQsIGV0Yy4KCSAqCgkgKiBAcGFyYW0gV1BfUkVTVF9SZXF1ZXN0ICRyZXF1ZXN0IFRoaXMgaXMgYSBtZXJnZWQgb2JqZWN0IG9mIGFsbCB0aGUgYXJndW1lbnRzIGZyb20gdGhlIEFQSSByZXF1ZXN0LgoJICogQHJldHVybiBhcnJheQoJICogY29kZTogMjAxCgkgKiBkYXRhOgoJICogICBzdWNjZXNzIDogdHJ1ZQoJICovCglwdWJsaWMgZnVuY3Rpb24gc2FsZXNmb3JjZV9wdWxsX3dlYmhvb2soIFdQX1JFU1RfUmVxdWVzdCAkcmVxdWVzdCApIHsKCgkJLy8gcnVuIGEgcHVsbCByZXF1ZXN0IGFuZCB0aGVuIHJ1biB0aGUgc2NoZWR1bGUgaWYgYW55dGhpbmcgaXMgaW4gdGhlcmUuCgkJJGRhdGEgPSAkdGhpcy0+c2FsZXNmb3JjZV9wdWxsKCk7CgoJCS8vIHNhbGVzZm9yY2VfcHVsbCBjdXJyZW50bHkgcmV0dXJucyB0cnVlIGlmIGl0IHJ1bnMgc3VjY2Vzc2Z1bGx5LgoJCWlmICggdHJ1ZSA9PT0gJGRhdGEgKSB7CgkJCSRjb2RlID0gJzIwMSc7CgkJCS8vIGNoZWNrIHRvIHNlZSBpZiBhbnl0aGluZyBpcyBpbiB0aGUgcXVldWUgYW5kIGhhbmRsZSBpdCBpZiBpdCBpcwoJCQkvLyBzaW5nbGUgdGFzayBmb3IgYWN0aW9uLXNjaGVkdWxlciB0byBjaGVjayBmb3IgZGF0YS4KCQkJJHRoaXMtPnF1ZXVlLT5hZGQoCgkJCQkkdGhpcy0+c2NoZWR1bGFibGVfY2xhc3Nlc1sgJHRoaXMtPnNjaGVkdWxlX25hbWUgXVsnaW5pdGlhbGl6ZXInXSwKCQkJCWFycmF5KCksCgkJCQkkdGhpcy0+c2NoZWR1bGVfbmFtZQoJCQkpOwoJCX0gZWxzZSB7CgkJCSRjb2RlID0gJzQwMyc7CgkJfQoKCQkkcmVzdWx0ID0gYXJyYXkoCgkJCSdjb2RlJyA9PiAkY29kZSwKCQkJJ2RhdGEnID0+IGFycmF5KAoJCQkJJ3N1Y2Nlc3MnID0+ICRkYXRhLAoJCQkpLAoJCSk7CgoJCXJldHVybiAkcmVzdWx0OwoKCX0KCgkvKioKCSAqIENhbGxiYWNrIGZvciB0aGUgc3RhbmRhcmQgcHVsbCBwcm9jZXNzIHVzZWQgYnkgd2ViaG9va3MgYW5kIGNyb24uCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBzYWxlc2ZvcmNlX3B1bGwoKSB7CgkJJHNmYXBpID0gJHRoaXMtPnNhbGVzZm9yY2VbJ3NmYXBpJ107CgoJCWlmICggdHJ1ZSA9PT0gJHRoaXMtPnNhbGVzZm9yY2VbJ2lzX2F1dGhvcml6ZWQnXSAmJiB0cnVlID09PSAkdGhpcy0+Y2hlY2tfdGhyb3R0bGUoKSApIHsKCgkJCSR0aGlzLT5nZXRfdXBkYXRlZF9yZWNvcmRzKCk7CgkJCSR0aGlzLT5nZXRfbWVyZ2VkX3JlY29yZHMoKTsKCQkJJHRoaXMtPmdldF9kZWxldGVkX3JlY29yZHMoKTsKCgkJCS8vIFN0b3JlIHRoaXMgcmVxdWVzdCB0aW1lIGZvciB0aGUgdGhyb3R0bGUgY2hlY2suCgkJCSR0aGlzLT5wdWxsX29wdGlvbnMtPnNldCggJ2xhc3Rfc3luYycsICcnLCAnJywgdGltZSgpICk7CgkJCXJldHVybiB0cnVlOwoKCQl9IGVsc2UgewoJCQkvLyBObyBwdWxsIGhhcHBlbmVkLgoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJfQoKCS8qKgoJICogRGV0ZXJtaW5lcyBpZiB0aGUgU2FsZXNmb3JjZSBwdWxsIHNob3VsZCBiZSBhbGxvd2VkLCBvciB0aHJvdHRsZWQuCgkgKiBQcmV2ZW50cyB0b28gbWFueSBwdWxsIHByb2Nlc3NlcyBmcm9tIHJ1bm5pbmcgYXQgb25jZS4KCSAqCgkgKiBAcmV0dXJuIGJvb2wgUmV0dXJucyBmYWxzZSBpZiB0aGUgdGltZSBlbGFwc2VkIGJldHdlZW4gcmVjZW50IHB1bGxzIGlzIHRvbyBzaG9ydC4KCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBjaGVja190aHJvdHRsZSgpIHsKCQkkcHVsbF90aHJvdHRsZSA9ICR0aGlzLT5wdWxsX29wdGlvbnMtPmdldCggJ3Rocm90dGxlJywgJycsICcnLCA1ICk7CgkJJGxhc3Rfc3luYyAgICAgPSAkdGhpcy0+cHVsbF9vcHRpb25zLT5nZXQoICdsYXN0X3N5bmMnLCAnJywgJycsIDAgKTsKCgkJaWYgKCB0aW1lKCkgPiAoICRsYXN0X3N5bmMgKyAkcHVsbF90aHJvdHRsZSApICkgewoJCQlyZXR1cm4gdHJ1ZTsKCQl9IGVsc2UgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJfQoKCS8qKgoJICogUHVsbCB1cGRhdGVkIHJlY29yZHMgZnJvbSBTYWxlc2ZvcmNlIGFuZCBwbGFjZSB0aGVtIGluIHRoZSBxdWV1ZS4KCSAqIEV4ZWN1dGVzIGEgU09RTCBxdWVyeSBiYXNlZCBvbiBkZWZpbmVkIG1hcHBpbmdzLCBsb29wcyB0aHJvdWdoIHRoZSByZXN1bHRzLAoJICogYW5kIHBsYWNlcyBlYWNoIHVwZGF0ZWQgU0Ygb2JqZWN0IGludG8gdGhlIHF1ZXVlIGZvciBsYXRlciBwcm9jZXNzaW5nLgoJICogV2UgY29weSB0aGUgY29udmVudGlvbiBmcm9tIHRoZSBEcnVwYWwgbW9kdWxlIGhlcmUsIGFuZCBydW4gYSBzZXBhcmF0ZSBTT1FMIHF1ZXJ5IGZvciBlYWNoIHR5cGUgb2Ygb2JqZWN0IGluIFNGCgkgKiBJZiB3ZSByZXR1cm4gc29tZXRoaW5nIGhlcmUsIGl0J3MgYmVjYXVzZSB0aGVyZSBpcyBhbiBlcnJvci4KCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBnZXRfdXBkYXRlZF9yZWNvcmRzKCkgewoJCSRzZmFwaSA9ICR0aGlzLT5zYWxlc2ZvcmNlWydzZmFwaSddOwoJCWZvcmVhY2ggKCAkdGhpcy0+bWFwcGluZ3MtPmdldF9maWVsZG1hcHMoIG51bGwsICR0aGlzLT5tYXBwaW5ncy0+YWN0aXZlX2ZpZWxkbWFwX2NvbmRpdGlvbnMgKSBhcyAkc2FsZXNmb3JjZV9tYXBwaW5nICkgewoJCQkkbWFwX3N5bmNfdHJpZ2dlcnMgPSAkc2FsZXNmb3JjZV9tYXBwaW5nWydzeW5jX3RyaWdnZXJzJ107IC8vIHRoaXMgc2V0cyB3aGljaCBTYWxlc2ZvcmNlIHRyaWdnZXJzIGFyZSBhbGxvd2VkIGZvciB0aGUgbWFwcGluZy4KCQkJJHR5cGUgICAgICAgICAgICAgID0gJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9vYmplY3QnXTsgLy8gdGhpcyBzZXRzIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCB0eXBlIGZvciB0aGUgU09RTCBxdWVyeS4KCgkJCSRzb3FsID0gJHRoaXMtPmdldF9wdWxsX3F1ZXJ5KCAkdHlwZSwgJHNhbGVzZm9yY2VfbWFwcGluZyApOwoKCQkJLy8gZ2V0X3B1bGxfcXVlcnkgcmV0dXJucyBudWxsIGlmIGl0IGhhcyBubyBtYXRjaGluZyBmaWVsZHMuCgkJCWlmICggbnVsbCA9PT0gJHNvcWwgKSB7CgkJCQljb250aW51ZTsKCQkJfQoKCQkJLy8gd2UgZG9uJ3Qgd2FudCB0byBjYWNoZSB0aGlzIGJlY2F1c2UgdGltZXN0YW1wcy4KCQkJJHF1ZXJ5X29wdGlvbnMgPSBhcnJheSgKCQkJCSdjYWNoZScgPT4gZmFsc2UsCgkJCSk7CgoJCQkvLyBpZiB3ZSBhcmUgYmF0Y2hpbmcgc29xbCBxdWVyaWVzLCBsZXQncyBkbyBpdC4KCQkJaWYgKCB0cnVlID09PSAkdGhpcy0+YmF0Y2hfc29xbF9xdWVyaWVzICkgewoJCQkJLy8gcHVsbCBxdWVyeSBiYXRjaCBzaXplIG9wdGlvbiBuYW1lLgoJCQkJJHB1bGxfcXVlcnlfYmF0Y2hfc2l6ZSA9ICR0aGlzLT5wdWxsX29wdGlvbnMtPmdldCggJ3F1ZXJ5X2JhdGNoX3NpemUnLCAnJywgJycsICcnICk7CgkJCQlpZiAoICcnICE9PSAkcHVsbF9xdWVyeV9iYXRjaF9zaXplICkgewoJCQkJCSRiYXRjaF9zaXplID0gZmlsdGVyX3ZhciggJHRoaXMtPnB1bGxfb3B0aW9ucy0+Z2V0KCAncXVlcnlfYmF0Y2hfc2l6ZScsICcnLCAnJywgJHRoaXMtPm1pbl9zb3FsX2JhdGNoX3NpemUgKSwgRklMVEVSX1ZBTElEQVRFX0lOVCApOwoJCQkJfSBlbHNlIHsKCQkJCQkvLyBvbGQgbGltaXQgdmFsdWUuCgkJCQkJLy8gRGVwcmVjYXRlZCBpbiAyLjAuMy4KCQkJCQkkYmF0Y2hfc2l6ZSA9IGZpbHRlcl92YXIoICR0aGlzLT5wdWxsX29wdGlvbnMtPmdldCggJ3F1ZXJ5X2xpbWl0JywgJycsICcnLCAkdGhpcy0+bWluX3NvcWxfYmF0Y2hfc2l6ZSApLCBGSUxURVJfVkFMSURBVEVfSU5UICk7CgkJCQl9CgkJCQkkYmF0Y2hfc2l6ZSA9IGZpbHRlcl92YXIoCgkJCQkJJGJhdGNoX3NpemUsCgkJCQkJRklMVEVSX1ZBTElEQVRFX0lOVCwKCQkJCQlhcnJheSgKCQkJCQkJJ29wdGlvbnMnID0+IGFycmF5KAoJCQkJCQkJJ21pbl9yYW5nZScgPT4gJHRoaXMtPm1pbl9zb3FsX2JhdGNoX3NpemUsCgkJCQkJCQknbWF4X3JhbmdlJyA9PiAkdGhpcy0+bWF4X3NvcWxfc2l6ZSwKCQkJCQkJKSwKCQkJCQkpCgkJCQkpOwoJCQkJaWYgKCBmYWxzZSAhPT0gJGJhdGNoX3NpemUgKSB7CgkJCQkJLy8gdGhlIFNmb3JjZS1RdWVyeS1PcHRpb25zIGhlYWRlciBpcyBhIGNvbW1hIGRlbGltaXRlZCBzdHJpbmcuCgkJCQkJJHF1ZXJ5X29wdGlvbnNbJ2hlYWRlcnMnXVsnU2ZvcmNlLVF1ZXJ5LU9wdGlvbnMnXSA9ICdiYXRjaFNpemU9JyAuICRiYXRjaF9zaXplOwoJCQkJfQoJCQl9CgoJCQkvLyBydW4gdGhlIF9fdG9TdHJpbmcgbWV0aG9kIHRvIGNvbnZlcnQgdGhlIFNPUUwgcXVlcnkgb2JqZWN0IHRvIGEgc3RyaW5nLgoJCQkkc29xbF9zdHJpbmcgPSAoc3RyaW5nKSAkc29xbDsKCgkJCS8vIGFkZCBhIGZpbHRlciBoZXJlIHRvIG1vZGlmeSB0aGUgcXVlcnkgb25jZSBpdCdzIGEgc3RyaW5nLgoJCQkvLyBIb29rIHRvIGFsbG93IG90aGVyIHBsdWdpbnMgdG8gbW9kaWZ5IHRoZSBTT1FMIHF1ZXJ5IGJlZm9yZSBpdCBpcyBzZW50IHRvIFNhbGVzZm9yY2UuCgkJCSRzb3FsX3N0cmluZyA9IGFwcGx5X2ZpbHRlcnMoICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3B1bGxfcXVlcnlfc3RyaW5nX21vZGlmeScsICRzb3FsX3N0cmluZywgJHNvcWwsICR0eXBlLCAkc2FsZXNmb3JjZV9tYXBwaW5nICk7CgoJCQkvLyBxdWljayBleGFtcGxlIHRvIGNoYW5nZSB0aGUgb3JkZXIgdG8gZGVzY2VuZGluZyBvbmNlIHRoZSBxdWVyeSBpcyBhbHJlYWR5IGEgc3RyaW5nLgoJCQkvKiAvLyBwaHBjczppZ25vcmUgU3F1aXouUEhQLkNvbW1lbnRlZE91dENvZGUuRm91bmQKCQkJYWRkX2ZpbHRlciggJ29iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlX3B1bGxfcXVlcnlfc3RyaW5nX21vZGlmeScsICdjaGFuZ2VfcHVsbF9xdWVyeScsIDEwLCA0ICk7CgkJCS8vIGNhbiBhbHdheXMgcmVkdWNlIHRoaXMgbnVtYmVyIGlmIGFsbCB0aGUgYXJndW1lbnRzIGFyZSBub3QgbmVjZXNzYXJ5CgkJCWZ1bmN0aW9uIGNoYW5nZV9wdWxsX3F1ZXJ5X3N0cmluZyggJHNvcWxfc3RyaW5nLCAkc29xbCwgJHR5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmcgKSB7CgkJCQkkc29xbF9zdHJpbmcgPSBzdHJfcmVwbGFjZSggJ0FTQycsICdERVNDJywgJHNvcWxfc3RyaW5nKTsKCQkJCXJldHVybiAkc29xbF9zdHJpbmc7CgkJCX0KCQkJKi8KCgkJCS8vIEV4ZWN1dGUgcXVlcnkuCgkJCSRyZXN1bHRzID0gJHNmYXBpLT5xdWVyeSgKCQkJCSRzb3FsX3N0cmluZywKCQkJCSRxdWVyeV9vcHRpb25zCgkJCSk7CgoJCQkkcmVzcG9uc2UgICAgID0gJHJlc3VsdHNbJ2RhdGEnXTsKCQkJJHZlcnNpb25fcGF0aCA9IHdwX3BhcnNlX3VybCggJHNmYXBpLT5nZXRfYXBpX2VuZHBvaW50KCksIFBIUF9VUkxfUEFUSCApOwoKCQkJJHNmX2xhc3Rfc3luYyA9ICR0aGlzLT5wdWxsX29wdGlvbnMtPmdldCggJ2xhc3Rfc3luYycsICR0eXBlLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddLCBudWxsICk7CgkJCSRsYXN0X3N5bmMgICAgPSBnbWRhdGUoICdZLW0tZFxUSDppOnNcWicsICRzZl9sYXN0X3N5bmMgKTsKCgkJCWlmICggISBpc3NldCggJHJlc3BvbnNlWydlcnJvckNvZGUnXSApICYmIDAgPCBjb3VudCggJHJlc3BvbnNlWydyZWNvcmRzJ10gKSApIHsKCQkJCS8vIFdyaXRlIGl0ZW1zIHRvIHRoZSBxdWV1ZS4KCQkJCWZvcmVhY2ggKCAkcmVzcG9uc2VbJ3JlY29yZHMnXSBhcyAka2V5ID0+ICRyZXN1bHQgKSB7CgkJCQkJLy8gaWYgd2UndmUgYWxyZWFkeSBwdWxsZWQsIG9yIHRyaWVkIHRvIHB1bGwsIHRoZSBjdXJyZW50IElELCBkb24ndCBkbyBpdCBhZ2Fpbi4KCQkJCQkkbGFzdF9pZCA9ICR0aGlzLT5wdWxsX29wdGlvbnMtPmdldCggJ2xhc3RfaWQnLCAnJywgJycsICcnICk7CgkJCQkJaWYgKCAkbGFzdF9pZCA9PT0gJHJlc3VsdFsnSWQnXSApIHsKCQkJCQkJaWYgKCB0cnVlID09PSAkdGhpcy0+ZGVidWcgKSB7CgkJCQkJCQkvLyBjcmVhdGUgbG9nIGVudHJ5IGZvciBmYWlsZWQgcHVsbC4KCQkJCQkJCSRzdGF0dXMgPSAnZGVidWcnOwoJCQkJCQkJJHRpdGxlICA9IHNwcmludGYoCgkJCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLCAyKSB0aGUgU2FsZXNmb3JjZSBJRC4KCQkJCQkJCQllc2NfaHRtbF9fKCAnJTEkczogU2FsZXNmb3JjZSBJRCAlMiRzIGhhcyBhbHJlYWR5IGJlZW4gYXR0ZW1wdGVkLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJCQl1Y2ZpcnN0KCBlc2NfYXR0ciggJHN0YXR1cyApICksCgkJCQkJCQkJZXNjX2F0dHIoICRyZXN1bHRbJ0lkJ10gKQoJCQkJCQkJKTsKCgkJCQkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCQkJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQkJCQl9CgoJCQkJCQkJJGRlYnVnID0gYXJyYXkoCgkJCQkJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCQkJCQknbWVzc2FnZScgPT4gZXNjX2h0bWxfXyggJ1RoaXMgSUQgaGFzIGFscmVhZHkgYmVlbiBhdHRlbXB0ZWQgc28gaXQgd2FzIG5vdCBwdWxsZWQgYWdhaW4uJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJCSd0cmlnZ2VyJyA9PiAwLAoJCQkJCQkJCSdwYXJlbnQnICA9PiAnJywKCQkJCQkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJCQkJCSk7CgoJCQkJCQkJJGxvZ2dpbmctPnNldHVwKCAkZGVidWcgKTsKCQkJCQkJfQoKCQkJCQkJY29udGludWU7CgkJCQkJfQoKCQkJCQkvLyBpZiB0aGlzIHJlY29yZCBpcyBuZXcgYXMgb2YgdGhlIGxhc3Qgc3luYywgdXNlIHRoZSBjcmVhdGUgdHJpZ2dlci4KCQkJCQlpZiAoIGlzc2V0KCAkcmVzdWx0WydDcmVhdGVkRGF0ZSddICkgJiYgJHJlc3VsdFsnQ3JlYXRlZERhdGUnXSA+ICRsYXN0X3N5bmMgKSB7CgkJCQkJCSRzZl9zeW5jX3RyaWdnZXIgPSAkdGhpcy0+bWFwcGluZ3MtPnN5bmNfc2ZfY3JlYXRlOwoJCQkJCX0gZWxzZSB7CgkJCQkJCSRzZl9zeW5jX3RyaWdnZXIgPSAkdGhpcy0+bWFwcGluZ3MtPnN5bmNfc2ZfdXBkYXRlOwoJCQkJCX0KCgkJCQkJLy8gT25seSBxdWV1ZSB3aGVuIHRoZSByZWNvcmQncyB0cmlnZ2VyIGlzIGNvbmZpZ3VyZWQgZm9yIHRoZSBtYXBwaW5nLgoJCQkJCWlmICggaXNzZXQoICRtYXBfc3luY190cmlnZ2VycyApICYmIGlzc2V0KCAkc2Zfc3luY190cmlnZ2VyICkgJiYgaW5fYXJyYXkoICRzZl9zeW5jX3RyaWdnZXIsICRtYXBfc3luY190cmlnZ2VycywgdHJ1ZSApICkgeyAvLyB3cCBvciBzZiBjcnVkIGV2ZW50LgoJCQkJCQkkZGF0YSA9IGFycmF5KAoJCQkJCQkJJ29iamVjdF90eXBlJyAgICAgPT4gJHR5cGUsCgkJCQkJCQknb2JqZWN0JyAgICAgICAgICA9PiAkcmVzdWx0LAoJCQkJCQkJJ21hcHBpbmcnICAgICAgICAgPT4gJHNhbGVzZm9yY2VfbWFwcGluZywKCQkJCQkJCSdzZl9zeW5jX3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsIC8vIHVzZSB0aGUgYXBwcm9wcmlhdGUgdHJpZ2dlciBiYXNlZCBvbiB3aGVuIHRoaXMgd2FzIGNyZWF0ZWQuCgkJCQkJCSk7CgoJCQkJCQkkcHVsbF9hbGxvd2VkID0gJHRoaXMtPmlzX3B1bGxfYWxsb3dlZCggJHR5cGUsICRyZXN1bHQsICRzZl9zeW5jX3RyaWdnZXIsICRzYWxlc2ZvcmNlX21hcHBpbmcsICRtYXBfc3luY190cmlnZ2VycyApOwoKCQkJCQkJaWYgKCBmYWxzZSA9PT0gJHB1bGxfYWxsb3dlZCApIHsKCQkJCQkJCS8vIHVwZGF0ZSB0aGUgY3VycmVudCBzdGF0ZSBzbyB3ZSBkb24ndCBlbmQgdXAgb24gdGhlIHNhbWUgcmVjb3JkIGFnYWluIGlmIHRoZSBsb29wIGZhaWxzLgoJCQkJCQkJJHRoaXMtPnB1bGxfb3B0aW9ucy0+c2V0KCAnbGFzdF9pZCcsICcnLCAnJywgJHJlc3VsdFsnSWQnXSApOwoJCQkJCQkJaWYgKCB0cnVlID09PSAkdGhpcy0+ZGVidWcgKSB7CgkJCQkJCQkJLy8gY3JlYXRlIGxvZyBlbnRyeSBmb3IgZmFpbGVkIHB1bGwuCgkJCQkJCQkJJHN0YXR1cyA9ICdkZWJ1Zyc7CgkJCQkJCQkJJHRpdGxlICA9IHNwcmludGYoCgkJCQkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgdGhlIFNhbGVzZm9yY2UgSUQuCgkJCQkJCQkJCWVzY19odG1sX18oICclMSRzOiBTYWxlc2ZvcmNlIElEICUyJHMgaXMgbm90IGFsbG93ZWQuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJCQl1Y2ZpcnN0KCBlc2NfYXR0ciggJHN0YXR1cyApICksCgkJCQkJCQkJCWVzY19hdHRyKCAkcmVzdWx0WydJZCddICkKCQkJCQkJCQkpOwoKCQkJCQkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCQkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQkJCQkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCQkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQkJCQkJfQoKCQkJCQkJCQkkZGVidWcgPSBhcnJheSgKCQkJCQkJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCQkJCQkJJ21lc3NhZ2UnID0+IGVzY19odG1sX18oICdUaGlzIElEIGlzIG5vdCBwdWxsYWJsZSBzbyBpdCB3YXMgc2tpcHBlZC4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCQkJCSd0cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLAoJCQkJCQkJCQkncGFyZW50JyAgPT4gJycsCgkJCQkJCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkJCQkJCSk7CgoJCQkJCQkJCSRsb2dnaW5nLT5zZXR1cCggJGRlYnVnICk7CgkJCQkJCQl9CgkJCQkJCQljb250aW51ZTsKCQkJCQkJfQoKCQkJCQkJaWYgKCB0cnVlID09PSAkdGhpcy0+ZGVidWcgKSB7CgkJCQkJCQkvLyBjcmVhdGUgbG9nIGVudHJ5IGZvciBxdWV1ZSBhZGRpdGlvbi4KCQkJCQkJCSRzdGF0dXMgPSAnZGVidWcnOwoJCQkJCQkJJHRpdGxlICA9IHNwcmludGYoCgkJCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLCAyKSB0aGUgU2FsZXNmb3JjZSBJRC4KCQkJCQkJCQllc2NfaHRtbF9fKCAnJTEkczogQWRkIFNhbGVzZm9yY2UgSUQgJTIkcyB0byB0aGUgcXVldWUnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJCQkJCWVzY19hdHRyKCAkcmVzdWx0WydJZCddICkKCQkJCQkJCSk7CgoJCQkJCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCQkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQkJCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQkJCQkJfQoKCQkJCQkJCSRtZXNzYWdlID0gc3ByaW50ZigKCQkJCQkJCQkvLyB0cmFuc2xhdG9yczogMSkgaXMgdGhlIG5hbWUgb2YgdGhlIGhvb2sgdGhhdCB3YXMgY2FsbGVkLCAyKSBpcyB0aGUgU2FsZXNmb3JjZSBvYmplY3QgdHlwZSwgMykgaXMgdGhlIElEIGZvciB0aGUgb2JqZWN0IG1hcCwgNCkgaXMgdGhlIGV2ZW50IHRyaWdnZXIgdGhhdCBpcyBydW5uaW5nLCBhbmQgNSkgaXMgdGhlIG5hbWUgb2YgdGhlIHNjaGVkdWxlIHRoYXQgaXMgcnVubmluZy4KCQkJCQkJCQllc2NfaHRtbF9fKCAnVGhpcyByZWNvcmQgaXMgYmVpbmcgc2VudCB0byB0aGUgcXVldWUuIFRoZSBob29rIG5hbWUgaXMgJTEkcy4gVGhlIGFyZ3VtZW50cyBmb3IgdGhlIGhvb2sgYXJlOiBvYmplY3QgdHlwZSAlMiRzLCBvYmplY3QgbWFwIElEICUzJHMsIHN5bmMgdHJpZ2dlciAlNCRzLiBUaGUgc2NoZWR1bGUgbmFtZSBpcyAlNSRzLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJCQllc2NfYXR0ciggJHRoaXMtPnNjaGVkdWxhYmxlX2NsYXNzZXNbICR0aGlzLT5zY2hlZHVsZV9uYW1lIF1bJ2NhbGxiYWNrJ10gKSwKCQkJCQkJCQllc2NfYXR0ciggJHR5cGUgKSwKCQkJCQkJCQlhYnNpbnQoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10gKSwKCQkJCQkJCQkkc2Zfc3luY190cmlnZ2VyLAoJCQkJCQkJCSR0aGlzLT5zY2hlZHVsZV9uYW1lCgkJCQkJCQkpOwoKCQkJCQkJCSRkZWJ1ZyA9IGFycmF5KAoJCQkJCQkJCSd0aXRsZScgICA9PiAkdGl0bGUsCgkJCQkJCQkJJ21lc3NhZ2UnID0+ICRtZXNzYWdlLAoJCQkJCQkJCSd0cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLAoJCQkJCQkJCSdwYXJlbnQnICA9PiAnJywKCQkJCQkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJCQkJCSk7CgoJCQkJCQkJJGxvZ2dpbmctPnNldHVwKCAkZGVidWcgKTsKCQkJCQkJfQoKCQkJCQkJLy8gYWRkIGEgcXVldWUgYWN0aW9uIHRvIHNhdmUgZGF0YSBmcm9tIHNhbGVzZm9yY2UuCgkJCQkJCSR0aGlzLT5xdWV1ZS0+YWRkKAoJCQkJCQkJJHRoaXMtPnNjaGVkdWxhYmxlX2NsYXNzZXNbICR0aGlzLT5zY2hlZHVsZV9uYW1lIF1bJ2NhbGxiYWNrJ10sCgkJCQkJCQlhcnJheSgKCQkJCQkJCQknb2JqZWN0X3R5cGUnICAgICA9PiAkdHlwZSwKCQkJCQkJCQknb2JqZWN0JyAgICAgICAgICA9PiAkcmVzdWx0WydJZCddLAoJCQkJCQkJCSdzZl9zeW5jX3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkJCQkpLAoJCQkJCQkJJHRoaXMtPnNjaGVkdWxlX25hbWUKCQkJCQkJKTsKCQkJCQkJLy8gdXBkYXRlIHRoZSBjdXJyZW50IHN0YXRlIHNvIHdlIGRvbid0IGVuZCB1cCBvbiB0aGUgc2FtZSByZWNvcmQgYWdhaW4gaWYgdGhlIGxvb3AgZmFpbHMuCgkJCQkJCSR0aGlzLT5wdWxsX29wdGlvbnMtPnNldCggJ2xhc3RfaWQnLCAnJywgJycsICRyZXN1bHRbJ0lkJ10gKTsKCQkJCQkJaWYgKCB0cnVlID09PSAkdGhpcy0+ZGVidWcgKSB7CgkJCQkJCQkvLyBjcmVhdGUgbG9nIGVudHJ5IGZvciBzdWNjZXNzZnVsIHB1bGwuCgkJCQkJCQkkc3RhdHVzID0gJ2RlYnVnJzsKCQkJCQkJCSR0aXRsZSAgPSBzcHJpbnRmKAoJCQkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgdGhlIFNhbGVzZm9yY2UgSUQuCgkJCQkJCQkJZXNjX2h0bWxfXyggJyUxJHM6IFNhbGVzZm9yY2UgSUQgJTIkcyBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgcHVsbGVkLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJCQl1Y2ZpcnN0KCBlc2NfYXR0ciggJHN0YXR1cyApICksCgkJCQkJCQkJZXNjX2F0dHIoICRyZXN1bHRbJ0lkJ10gKQoJCQkJCQkJKTsKCgkJCQkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCQkJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQkJCQl9CgoJCQkJCQkJJGRlYnVnID0gYXJyYXkoCgkJCQkJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCQkJCQknbWVzc2FnZScgPT4gZXNjX2h0bWxfXyggJ1RoaXMgSUQgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHB1bGxlZCBhbmQgYWRkZWQgdG8gdGhlIHF1ZXVlIGZvciBwcm9jZXNzaW5nLiBJdCBjYW5ub3QgYmUgcHVsbGVkIGFnYWluIHdpdGhvdXQgYmVpbmcgbW9kaWZpZWQgYWdhaW4uJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJCSd0cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLAoJCQkJCQkJCSdwYXJlbnQnICA9PiAnJywKCQkJCQkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJCQkJCSk7CgkJCQkJCQkkbG9nZ2luZy0+c2V0dXAoICRkZWJ1ZyApOwoJCQkJCQl9IC8vIGVuZCBvZiBkZWJ1ZwoJCQkJCX0gLy8gZW5kIGlmCgkJCQl9IC8vIGVuZCBmb3JlYWNoCgoJCQkJLy8gd2UncmUgZG9uZSB3aXRoIHRoZSBmb3JlYWNoLiBzdG9yZSB0aGUgTGFzdE1vZGlmaWVkRGF0ZSBvZiB0aGUgbGFzdCBpdGVtIHByb2Nlc3NlZCwgb3IgdGhlIGN1cnJlbnQgdGltZSBpZiBpdCBpc24ndCB0aGVyZS4KCQkJCSRsYXN0X2RhdGVfZm9yX3F1ZXJ5ID0gaXNzZXQoICRyZXN1bHRbJ0xhc3RNb2RpZmllZERhdGUnXSApID8gJHJlc3VsdFsnTGFzdE1vZGlmaWVkRGF0ZSddIDogJyc7CgkJCQkkdGhpcy0+aW5jcmVtZW50X2N1cnJlbnRfdHlwZV9kYXRldGltZSggJHR5cGUsICRsYXN0X2RhdGVfZm9yX3F1ZXJ5LCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddICk7CgoJCQkJaWYgKCB0cnVlID09PSAkdGhpcy0+YmF0Y2hfc29xbF9xdWVyaWVzICkgewoJCQkJCS8vIGlmIGFwcGxpY2FibGUsIHByb2Nlc3MgdGhlIG5leHQgYmF0Y2ggb2YgcmVjb3Jkcy4KCQkJCQkkdGhpcy0+Z2V0X25leHRfcmVjb3JkX2JhdGNoKCAkbGFzdF9zeW5jLCAkc2FsZXNmb3JjZV9tYXBwaW5nLCAkbWFwX3N5bmNfdHJpZ2dlcnMsICR0eXBlLCAkdmVyc2lvbl9wYXRoLCAkcXVlcnlfb3B0aW9ucywgJHJlc3BvbnNlICk7CgkJCQl9IGVsc2UgewoJCQkJCS8vIEhlcmUsIHdlIGNoZWNrIGFuZCBzZWUgaWYgdGhlIHF1ZXJ5IGhhcyByZXN1bHRzIHdpdGggYW4gYWRkaXRpb25hbCBvZmZzZXQuCgkJCQkJLy8gSWYgaXQgZG9lcywgd2UgcmVnZW5lcmF0ZSB0aGUgcXVlcnkgc28gaXQgd2lsbCBoYXZlIGFuIG9mZnNldCBuZXh0IHRpbWUgaXQgcnVucy4KCQkJCQkvLyBJZiBpdCBkb2VzIG5vdCwgd2UgY2xlYXIgdGhlIHF1ZXJ5IGlmIHdlJ3ZlIGp1c3QgcHJvY2Vzc2VkIHRoZSBsYXN0IHJvdy4KCQkJCQkvLyB0aGlzIGFsbG93cyB1cyB0byBydW4gYW4gb2Zmc2V0IG9uIHRoZSBzdG9yZWQgcXVlcnkgaW5zdGVhZCBvZiBjbGVhcmluZyBpdC4KCQkJCQkkZG9lc19uZXh0X29mZnNldF9oYXZlX3Jlc3VsdHMgPSAkdGhpcy0+Y2hlY2tfb2Zmc2V0X3F1ZXJ5KCAkdHlwZSwgJHNhbGVzZm9yY2VfbWFwcGluZywgJHF1ZXJ5X29wdGlvbnMgKTsKCQkJCQllbmQoICRyZXNwb25zZVsncmVjb3JkcyddICk7CgkJCQkJJGxhc3RfcmVjb3JkX2tleSA9IGtleSggJHJlc3BvbnNlWydyZWNvcmRzJ10gKTsKCQkJCQlpZiAoIHRydWUgPT09ICRkb2VzX25leHRfb2Zmc2V0X2hhdmVfcmVzdWx0cyApIHsKCQkJCQkJLy8gaW5jcmVtZW50IFNPUUwgcXVlcnkgdG8gcnVuLgoJCQkJCQkkc29xbCA9ICR0aGlzLT5nZXRfcHVsbF9xdWVyeSggJHR5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmcgKTsKCQkJCQl9IGVsc2VpZiAoICRsYXN0X3JlY29yZF9rZXkgPT09ICRrZXkgKSB7CgkJCQkJCS8vIGNsZWFyIHRoZSBzdG9yZWQgcXVlcnkuIHdlIGRvbid0IG5lZWQgdG8gb2Zmc2V0IGFuZCB3ZSd2ZSBmaW5pc2hlZCB0aGUgbG9vcC4KCQkJCQkJJHRoaXMtPmNsZWFyX2N1cnJlbnRfdHlwZV9xdWVyeSggJHR5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10gKTsKCQkJCQl9CgkJCQl9IC8vIGVuZCBpZgoJCQl9IGVsc2VpZiAoICEgaXNzZXQoICRyZXNwb25zZVsnZXJyb3JDb2RlJ10gKSAmJiAwID09PSBjb3VudCggJHJlc3BvbnNlWydyZWNvcmRzJ10gKSAmJiBmYWxzZSA9PT0gJHRoaXMtPmJhdGNoX3NvcWxfcXVlcmllcyApIHsKCQkJCS8vIG9ubHkgdXBkYXRlL2NsZWFyIHRoZXNlIG9wdGlvbiB2YWx1ZXMgaWYgd2UgYXJlIGN1cnJlbnRseSBzdGlsbCBwcm9jZXNzaW5nIGEgcXVlcnkuCgkJCQkkY3VycmVudF9xdWVyeSA9ICR0aGlzLT5wdWxsX29wdGlvbnMtPmdldCggJ2N1cnJlbnRfcXVlcnknLCAkdHlwZSwgJHNhbGVzZm9yY2VfbWFwcGluZ1snaWQnXSwgJycgKTsKCQkJCWlmICggJycgIT09ICRjdXJyZW50X3F1ZXJ5ICkgewoJCQkJCSR0aGlzLT5jbGVhcl9jdXJyZW50X3R5cGVfcXVlcnkoICR0eXBlLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddICk7CgkJCQl9CgkJCQkvLyB0cnkgdG8gY2hlY2sgZm9yIHNwZWNpZmljIGVycm9yIGNvZGVzIGZyb20gU2FsZXNmb3JjZS4KCQkJfSBlbHNlaWYgKCBpc3NldCggJHJlc3BvbnNlWydlcnJvckNvZGUnXSApICYmICdJTlZBTElEX0ZJRUxEJyA9PT0gJHJlc3BvbnNlWydlcnJvckNvZGUnXSApIHsKCQkJCS8vIHNldCB1cCBsb2cgZW50cnkuCgkJCQkkc3RhdHVzICAgID0gJ2Vycm9yJzsKCQkJCSRsb2dfdGl0bGUgPSBzcHJpbnRmKAoJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgdGhlIHNlcnZlciBlcnJvciBjb2RlLCBhbmQgMykgdGhlIG5hbWUgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0LgoJCQkJCWVzY19odG1sX18oICclMSRzOiAlMiRzIHdoZW4gcHVsbGluZyAlMyRzIGRhdGEgZnJvbSBTYWxlc2ZvcmNlLiBDaGVjayBhbmQgcmVzYXZlIHRoZSBmaWVsZG1hcC4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJCWVzY19hdHRyKCAkcmVzcG9uc2VbJ2Vycm9yQ29kZSddICksCgkJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3NhbGVzZm9yY2Vfb2JqZWN0J10gKQoJCQkJKTsKCQkJCSRsb2dfYm9keSA9ICc8cD4nIC4gZXNjX2h0bWxfXyggJ0EgZmllbGQgbWF5IGhhdmUgYmVlbiBkZWxldGVkIGZyb20gU2FsZXNmb3JjZSwgb3IgaXQgaGFzIG90aGVyd2lzZSBiZWNvbWUgaW52YWxpZC4gWW91IG1heSBuZWVkIHRvIGNoZWNrIGFuZCByZXNhdmUgeW91ciBmaWVsZG1hcC4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiAnPC9wPic7CgoJCQkJLy8gaWYgaXQncyBhbiBpbnZhbGlkIGZpZWxkLCB0cnkgdG8gY2xlYXIgdGhlIGNhY2hlZCBxdWVyeSBzbyBpdCBjYW4gdHJ5IGFnYWluIG5leHQgdGltZS4KCQkJCSRjdXJyZW50X3F1ZXJ5ID0gJHRoaXMtPnB1bGxfb3B0aW9ucy0+Z2V0KCAnY3VycmVudF9xdWVyeScsICR0eXBlLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddLCAnJyApOwoJCQkJaWYgKCAnJyAhPT0gJGN1cnJlbnRfcXVlcnkgKSB7CgkJCQkJJHRoaXMtPmNsZWFyX2N1cnJlbnRfdHlwZV9xdWVyeSggJHR5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10gKTsKCQkJCQkkbG9nX3RpdGxlIC49IGVzY19odG1sX18oICcgVGhlIHN0b3JlZCBxdWVyeSBoYXMgYmVlbiBjbGVhcmVkLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKTsKCQkJCQkkbG9nX2JvZHkgIC49ICc8cD4nIC4gZXNjX2h0bWxfXyggJ1RoZSBjdXJyZW50bHkgc3RvcmVkIHF1ZXJ5IGZvciB0aGlzIG9iamVjdCB0eXBlIGhhcyBiZWVuIGRlbGV0ZWQuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApIC4gJzwvcD4nOwoJCQkJfQoKCQkJCSRsb2dfYm9keSAuPSBzcHJpbnRmKAoJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgU2FsZXNmb3JjZSBBUEkgcmVzcG9uc2UgbWVzc2FnZS4KCQkJCQknPHA+JyAuIGVzY19odG1sX18oICdTYWxlc2ZvcmNlIEFQSSBSZXNwb25zZTogJTEkcycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSAuICc8L3A+JywKCQkJCQkkcmVzcG9uc2VbJ21lc3NhZ2UnXQoJCQkJKTsKCgkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQl9CgoJCQkJJHJlc3VsdCA9IGFycmF5KAoJCQkJCSd0aXRsZScgICA9PiAkbG9nX3RpdGxlLAoJCQkJCSdtZXNzYWdlJyA9PiAkbG9nX2JvZHksCgkJCQkJJ3RyaWdnZXInID0+IDAsCgkJCQkJJ3BhcmVudCcgID0+ICcnLAoJCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkJKTsKCgkJCQkkbG9nZ2luZy0+c2V0dXAoICRyZXN1bHQgKTsKCQkJfSBlbHNlaWYgKCBpc3NldCggJHJlc3BvbnNlWydlcnJvckNvZGUnXSApICkgewoJCQkJLy8gY3JlYXRlIGxvZyBlbnRyeSBmb3IgZmFpbGVkIHB1bGwuCgkJCQkkc3RhdHVzID0gJ2Vycm9yJzsKCQkJCSR0aXRsZSAgPSBzcHJpbnRmKAoJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgdGhlIHNlcnZlciBlcnJvciBjb2RlLCBhbmQgMykgdGhlIG5hbWUgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0LgoJCQkJCWVzY19odG1sX18oICclMSRzOiAlMiRzIHdoZW4gcHVsbGluZyAlMyRzIGRhdGEgZnJvbSBTYWxlc2ZvcmNlJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKSwKCQkJCQllc2NfYXR0ciggJHJlc3BvbnNlWydlcnJvckNvZGUnXSApLAoJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddICkKCQkJCSk7CgoJCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQkJfQoKCQkJCSRyZXN1bHQgPSBhcnJheSgKCQkJCQkndGl0bGUnICAgPT4gJHRpdGxlLAoJCQkJCSdtZXNzYWdlJyA9PiAkcmVzcG9uc2VbJ21lc3NhZ2UnXSwKCQkJCQkndHJpZ2dlcicgPT4gMCwKCQkJCQkncGFyZW50JyAgPT4gJycsCgkJCQkJJ3N0YXR1cycgID0+ICRzdGF0dXMsCgkJCQkpOwoKCQkJCSRsb2dnaW5nLT5zZXR1cCggJHJlc3VsdCApOwoKCQkJCXJldHVybiAkcmVzdWx0OwoKCQkJfSAvLyBFbmQgaWYoKSBzdGF0ZW1lbnQuCgkJfSAvLyBFbmQgZm9yZWFjaCgpIGxvb3AuCgl9CgoJLyoqCgkgKiBQdWxsIHRoZSBuZXh0IGJhdGNoIG9mIHJlY29yZHMgZnJvbSB0aGUgU2FsZXNmb3JjZSBBUEksIGlmIGFwcGxpY2FibGUKCSAqIEV4ZWN1dGVzIGEgbmV4dFJlY29yZHNVcmwgU09RTCBxdWVyeSBiYXNlZCBvbiB0aGUgcHJldmlvdXMgcmVzdWx0LAoJICogYW5kIHBsYWNlcyBlYWNoIHVwZGF0ZWQgU0Ygb2JqZWN0IGludG8gdGhlIHF1ZXVlIGZvciBsYXRlciBwcm9jZXNzaW5nLgoJICoKCSAqIEBwYXJhbSBkYXRldGltZSAkbGFzdF9zeW5jIHdoZW4gaXQgd2FzIGxhc3Qgc3luY2VkLgoJICogQHBhcmFtIGFycmF5ICAgICRzYWxlc2ZvcmNlX21hcHBpbmcgdGhlIGZpZWxkbWFwLgoJICogQHBhcmFtIGFycmF5ICAgICRtYXBfc3luY190cmlnZ2VycyB0aGUgc3luYyB0cmlnZ2VyIGJpdCB2YWx1ZXMuCgkgKiBAcGFyYW0gc3RyaW5nICAgJHR5cGUgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IHR5cGUuCgkgKiBAcGFyYW0gc3RyaW5nICAgJHZlcnNpb25fcGF0aCB0aGUgQVBJIHBhdGggZm9yIHRoZSBTYWxlc2ZvcmNlIHZlcnNpb24uCgkgKiBAcGFyYW0gYXJyYXkgICAgJHF1ZXJ5X29wdGlvbnMgdGhlIFNPUUwgcXVlcnkgb3B0aW9ucy4KCSAqIEBwYXJhbSBhcnJheSAgICAkcmVzcG9uc2UgdGhlIHByZXZpb3VzIHJlc3BvbnNlLgoJICovCglwcml2YXRlIGZ1bmN0aW9uIGdldF9uZXh0X3JlY29yZF9iYXRjaCggJGxhc3Rfc3luYywgJHNhbGVzZm9yY2VfbWFwcGluZywgJG1hcF9zeW5jX3RyaWdnZXJzLCAkdHlwZSwgJHZlcnNpb25fcGF0aCwgJHF1ZXJ5X29wdGlvbnMsICRyZXNwb25zZSApIHsKCQkvLyBIYW5kbGUgbmV4dCBiYXRjaCBvZiByZWNvcmRzIGlmIGl0IGV4aXN0cy4KCQkkbmV4dF9yZWNvcmRzX3VybCA9IGlzc2V0KCAkcmVzcG9uc2VbJ25leHRSZWNvcmRzVXJsJ10gKSA/IHN0cl9yZXBsYWNlKCAkdmVyc2lvbl9wYXRoLCAnJywgJHJlc3BvbnNlWyduZXh0UmVjb3Jkc1VybCddICkgOiBmYWxzZTsKCQl3aGlsZSAoICRuZXh0X3JlY29yZHNfdXJsICkgewoJCQkvLyBzaG91bGRuJ3QgY2FjaGUgdGhpcyBlaXRoZXIuIGl0J3MgZ29pbmcgaW50byB0aGUgcXVldWUgaWYgaXQgZXhpc3RzIGFueXdheS4KCQkJJG5ld19yZXN1bHRzICA9ICRzZmFwaS0+YXBpX2NhbGwoCgkJCQkkbmV4dF9yZWNvcmRzX3VybCwKCQkJCWFycmF5KCksCgkJCQknR0VUJywKCQkJCSRxdWVyeV9vcHRpb25zCgkJCSk7CgkJCSRuZXdfcmVzcG9uc2UgPSAkbmV3X3Jlc3VsdHNbJ2RhdGEnXTsKCQkJaWYgKCAhIGlzc2V0KCAkbmV3X3Jlc3BvbnNlWydlcnJvckNvZGUnXSApICkgewoJCQkJLy8gV3JpdGUgaXRlbXMgdG8gdGhlIHF1ZXVlLgoJCQkJZm9yZWFjaCAoICRuZXdfcmVzcG9uc2VbJ3JlY29yZHMnXSBhcyAkcmVzdWx0ICkgewoJCQkJCS8vIGlmIHRoaXMgcmVjb3JkIGlzIG5ldyBhcyBvZiB0aGUgbGFzdCBzeW5jLCB1c2UgdGhlIGNyZWF0ZSB0cmlnZ2VyLgoJCQkJCWlmICggaXNzZXQoICRyZXN1bHRbJ0NyZWF0ZWREYXRlJ10gKSAmJiAkcmVzdWx0WydDcmVhdGVkRGF0ZSddID4gJGxhc3Rfc3luYyApIHsKCQkJCQkJJHNmX3N5bmNfdHJpZ2dlciA9ICR0aGlzLT5tYXBwaW5ncy0+c3luY19zZl9jcmVhdGU7CgkJCQkJfSBlbHNlIHsKCQkJCQkJJHNmX3N5bmNfdHJpZ2dlciA9ICR0aGlzLT5tYXBwaW5ncy0+c3luY19zZl91cGRhdGU7CgkJCQkJfQoJCQkJCS8vIE9ubHkgcXVldWUgd2hlbiB0aGUgcmVjb3JkJ3MgdHJpZ2dlciBpcyBjb25maWd1cmVkIGZvciB0aGUgbWFwcGluZy4KCQkJCQlpZiAoIGlzc2V0KCAkbWFwX3N5bmNfdHJpZ2dlcnMgKSAmJiBpc3NldCggJHNmX3N5bmNfdHJpZ2dlciApICYmIGluX2FycmF5KCAkc2Zfc3luY190cmlnZ2VyLCAkbWFwX3N5bmNfdHJpZ2dlcnMsIHRydWUgKSApIHsgLy8gd3Agb3Igc2YgY3J1ZCBldmVudC4KCQkJCQkJJGRhdGEgPSBhcnJheSgKCQkJCQkJCSdvYmplY3RfdHlwZScgICAgID0+ICR0eXBlLAoJCQkJCQkJJ29iamVjdCcgICAgICAgICAgPT4gJHJlc3VsdCwKCQkJCQkJCSdtYXBwaW5nJyAgICAgICAgID0+ICRzYWxlc2ZvcmNlX21hcHBpbmcsCgkJCQkJCQknc2Zfc3luY190cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLCAvLyB1c2UgdGhlIGFwcHJvcHJpYXRlIHRyaWdnZXIgYmFzZWQgb24gd2hlbiB0aGlzIHdhcyBjcmVhdGVkLgoJCQkJCQkpOwoJCQkJCQkvLyBhZGQgYSBxdWV1ZSBhY3Rpb24gdG8gc2F2ZSBkYXRhIGZyb20gc2FsZXNmb3JjZS4KCQkJCQkJJHRoaXMtPnF1ZXVlLT5hZGQoCgkJCQkJCQkkdGhpcy0+c2NoZWR1bGFibGVfY2xhc3Nlc1sgJHRoaXMtPnNjaGVkdWxlX25hbWUgXVsnY2FsbGJhY2snXSwKCQkJCQkJCWFycmF5KAoJCQkJCQkJCSdvYmplY3RfdHlwZScgICAgID0+ICR0eXBlLAoJCQkJCQkJCSdvYmplY3QnICAgICAgICAgID0+ICRyZXN1bHRbJ0lkJ10sCgkJCQkJCQkJJ3NmX3N5bmNfdHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwKCQkJCQkJCSksCgkJCQkJCQkkdGhpcy0+c2NoZWR1bGVfbmFtZQoJCQkJCQkpOwoJCQkJCQkvLyBVcGRhdGUgdGhlIGxhc3QgcHVsbCBzeW5jIHRpbWVzdGFtcCBmb3IgdGhpcyByZWNvcmQgdHlwZSB0byBhdm9pZCByZS1wcm9jZXNzaW5nIGluIGNhc2Ugb2YgZXJyb3IuCgkJCQkJCSRsYXN0X3N5bmNfcHVsbF90cmlnZ2VyID0gRGF0ZVRpbWU6OmNyZWF0ZUZyb21Gb3JtYXQoICdZLW0tZFxUSDppOnMrJywgJHJlc3VsdFsgJHNhbGVzZm9yY2VfbWFwcGluZ1sncHVsbF90cmlnZ2VyX2ZpZWxkJ10gXSwgbmV3IERhdGVUaW1lWm9uZSggJ1VUQycgKSApOwoJCQkJCX0KCQkJCX0KCQkJfQoJCQkkbmV4dF9yZWNvcmRzX3VybCA9IGlzc2V0KCAkbmV3X3Jlc3BvbnNlWyduZXh0UmVjb3Jkc1VybCddICkgPyBzdHJfcmVwbGFjZSggJHZlcnNpb25fcGF0aCwgJycsICRuZXdfcmVzcG9uc2VbJ25leHRSZWNvcmRzVXJsJ10gKSA6IGZhbHNlOwoJCX0gLy8gZW5kIHdoaWxlIGxvb3AKCX0KCgkvKioKCSAqIEdldCB0aGUgbmV4dCBvZmZzZXQgcXVlcnkuIElmIGNoZWNrIGlzIHRydWUsIG9ubHkgc2VlIGlmIHRoYXQgcXVlcnkgd291bGQgaGF2ZSByZXN1bHRzLiBPdGhlcndpc2UsIHJldHVybiB0aGUgU09RTCBvYmplY3QuCgkgKiBXaGVuIGJhdGNoU2l6ZSBpcyBub3QgaW4gdXNlLCBydW4gYSBjaGVjayB3aXRoIGFuIG9mZnNldC4KCSAqCgkgKiBAcGFyYW0gc3RyaW5nICR0eXBlIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCB0eXBlLgoJICogQHBhcmFtIGFycmF5ICAkc2FsZXNmb3JjZV9tYXBwaW5nIHRoZSBtYXAgYmV0d2VlbiBvYmplY3QgdHlwZXMuCgkgKiBAcGFyYW0gYXJyYXkgICRxdWVyeV9vcHRpb25zIHRoZSBvcHRpb25zIGZvciB0aGUgU09RTCBxdWVyeS4KCSAqIEByZXR1cm4gb2JqZWN0fGJvb2wgJHNvcWx8JGRvZXNfbmV4dF9vZmZzZXRfaGF2ZV9yZXN1bHRzCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gY2hlY2tfb2Zmc2V0X3F1ZXJ5KCAkdHlwZSwgJHNhbGVzZm9yY2VfbWFwcGluZywgJHF1ZXJ5X29wdGlvbnMgKSB7CgoJCSRzb3FsICAgICAgICAgICAgICAgICAgICAgICAgICA9ICR0aGlzLT5nZXRfcHVsbF9xdWVyeSggJHR5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmcgKTsKCQkkZG9lc19uZXh0X29mZnNldF9oYXZlX3Jlc3VsdHMgPSBmYWxzZTsKCgkJJHNmYXBpID0gJHRoaXMtPnNhbGVzZm9yY2VbJ3NmYXBpJ107CgkJLy8gRXhlY3V0ZSBxdWVyeQoJCS8vIGhhdmUgdG8gY2FzdCBpdCB0byBzdHJpbmcgdG8gbWFrZSBzdXJlIGl0IHVzZXMgdGhlIG1hZ2ljIG1ldGhvZAoJCS8vIHdlIGRvbid0IHdhbnQgdG8gY2FjaGUgdGhpcyBiZWNhdXNlIHRpbWVzdGFtcHMuCgkJJHJlc3VsdHMgPSAkc2ZhcGktPnF1ZXJ5KAoJCQkoc3RyaW5nKSAkc29xbCwKCQkJJHF1ZXJ5X29wdGlvbnMKCQkpOwoKCQkkcmVzcG9uc2UgPSAkcmVzdWx0c1snZGF0YSddOwoJCWlmICggISBpc3NldCggJHJlc3BvbnNlWydlcnJvckNvZGUnXSApICYmIDAgPCBjb3VudCggJHJlc3BvbnNlWydyZWNvcmRzJ10gKSApIHsKCQkJJGRvZXNfbmV4dF9vZmZzZXRfaGF2ZV9yZXN1bHRzID0gdHJ1ZTsKCQl9CgkJcmV0dXJuICRkb2VzX25leHRfb2Zmc2V0X2hhdmVfcmVzdWx0czsKCX0KCgoJLyoqCgkgKiBHaXZlbiBhIFNPYmplY3QgdHlwZSBuYW1lLCBidWlsZCBhbiBTT1FMIHF1ZXJ5IHRvIGluY2x1ZGUgYWxsIGZpZWxkcyBmb3IgYWxsCgkgKiBmaWVsZG1hcHMgbWFwcGVkIHRvIHRoYXQgU09iamVjdC4KCSAqCgkgKiBAcGFyYW0gc3RyaW5nICR0eXBlIGUuZy4gIkNvbnRhY3QiLCAiQWNjb3VudCIsIGV0Yy4KCSAqIEBwYXJhbSBhcnJheSAgJHNhbGVzZm9yY2VfbWFwcGluZyB0aGUgZmllbGRtYXAgdGhhdCBtYXBzIHRoZSB0d28gb2JqZWN0IHR5cGVzLgoJICogQHJldHVybiBPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1NlbGVjdF9RdWVyeSBvciBudWxsIGlmIG5vIG1hcHBpbmdzIG9yIG5vIG1hcHBlZCBmaWVsZHMgd2VyZSBmb3VuZC4KCSAqIEBzZWUgT2JqZWN0X1N5bmNfU2ZfTWFwcGluZzo6Z2V0X21hcHBlZF9maWVsZHMKCSAqIEBzZWUgT2JqZWN0X1N5bmNfU2ZfTWFwcGluZzo6Z2V0X21hcHBlZF9yZWNvcmRfdHlwZXMKCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBnZXRfcHVsbF9xdWVyeSggJHR5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmcgPSBhcnJheSgpICkgewoJCS8vIHdlIG5lZWQgdG8gZGV0ZXJtaW5lIHdoYXQgdG8gZG8gd2l0aCBzYXZlZCBxdWVyaWVzLiB0aGlzIGlzIHdoYXQgd2UgY3VycmVudGx5IGRvIGJ1dCBpdCBkb2Vzbid0IHdvcmsuCgkJLy8gY2hlY2sgaWYgd2UgaGF2ZSBhIHN0b3JlZCBuZXh0IHF1ZXJ5IHRvIHJ1biBmb3IgdGhpcyB0eXBlLiBpZiBzbywgdW5zZXJpYWxpemUgaXQgc28gd2UgaGF2ZSBhbiBvYmplY3QuCgkJJHB1bGxfcXVlcnlfcnVubmluZyA9ICR0aGlzLT5wdWxsX29wdGlvbnMtPmdldCggJ2N1cnJlbnRfcXVlcnknLCAkdHlwZSwgJHNhbGVzZm9yY2VfbWFwcGluZ1snaWQnXSwgJycgKTsKCQlpZiAoICcnICE9PSAkcHVsbF9xdWVyeV9ydW5uaW5nICkgewoJCQkkc2F2ZWRfcXVlcnkgPSBtYXliZV91bnNlcmlhbGl6ZSggJHB1bGxfcXVlcnlfcnVubmluZyApOwoJCX0KCgkJJG1hcHBlZF9maWVsZHMgICAgICAgPSBhcnJheSgpOwoJCSRtYXBwZWRfcmVjb3JkX3R5cGVzID0gYXJyYXkoKTsKCgkJJG1hcHBpbmdzID0gJHRoaXMtPm1hcHBpbmdzLT5nZXRfZmllbGRtYXBzKAoJCQludWxsLAoJCQlhcnJheV9tZXJnZSgKCQkJCSR0aGlzLT5tYXBwaW5ncy0+YWN0aXZlX2ZpZWxkbWFwX2NvbmRpdGlvbnMsCgkJCQlhcnJheSgKCQkJCQknc2FsZXNmb3JjZV9vYmplY3QnID0+ICR0eXBlLAoJCQkJKQoJCQkpLAoJCSk7CgoJCS8vIEl0ZXJhdGUgb3ZlciBlYWNoIGZpZWxkIG1hcHBpbmcgdG8gZGV0ZXJtaW5lIG91ciBxdWVyeSBwYXJhbWV0ZXJzLgoJCWZvcmVhY2ggKCAkbWFwcGluZ3MgYXMgJHNhbGVzZm9yY2VfbWFwcGluZyApIHsKCgkJCS8vIG9ubHkgdXNlIGZpZWxkcyB0aGF0IGNvbWUgZnJvbSBTYWxlc2ZvcmNlIHRvIFdvcmRQcmVzcywgb3IgdGhhdCBzeW5jLgoJCQkkbWFwcGVkX2ZpZWxkcyA9IGFycmF5X21lcmdlKAoJCQkJJG1hcHBlZF9maWVsZHMsCgkJCQkkdGhpcy0+bWFwcGluZ3MtPmdldF9tYXBwZWRfZmllbGRzKAoJCQkJCSRzYWxlc2ZvcmNlX21hcHBpbmcsCgkJCQkJYXJyYXkoICR0aGlzLT5tYXBwaW5ncy0+ZGlyZWN0aW9uX3N5bmMsICR0aGlzLT5tYXBwaW5ncy0+ZGlyZWN0aW9uX3NmX3dvcmRwcmVzcyApCgkJCQkpCgkJCSk7CgoJCQkvLyBJZiBSZWNvcmQgVHlwZSBpcyBzcGVjaWZpZWQsIHJlc3RyaWN0IHF1ZXJ5LgoJCQkkbWFwcGluZ19yZWNvcmRfdHlwZXMgPSAkdGhpcy0+bWFwcGluZ3MtPmdldF9tYXBwZWRfcmVjb3JkX3R5cGVzKCAkc2FsZXNmb3JjZV9tYXBwaW5nICk7CgoJCQkvLyBJZiBSZWNvcmQgVHlwZSBpcyBub3Qgc3BlY2lmaWVkIGZvciBhIGdpdmVuIG1hcHBpbmcsIGVuc3VyZSBxdWVyeSBpcyB1bnJlc3RyaWN0ZWQuCgkJCWlmICggZW1wdHkoICRtYXBwaW5nX3JlY29yZF90eXBlcyApICkgewoJCQkJJG1hcHBlZF9yZWNvcmRfdHlwZXMgPSBmYWxzZTsKCQkJfSBlbHNlaWYgKCBpc19hcnJheSggJG1hcHBlZF9yZWNvcmRfdHlwZXMgKSApIHsKCQkJCSRtYXBwZWRfcmVjb3JkX3R5cGVzID0gYXJyYXlfbWVyZ2UoICRtYXBwZWRfcmVjb3JkX3R5cGVzLCAkbWFwcGluZ19yZWNvcmRfdHlwZXMgKTsKCQkJfQoJCX0gLy8gRW5kIGZvcmVhY2goKSBsb29wLgoKCQkvLyBUaGVyZSBhcmUgbm8gZmllbGQgbWFwcGluZ3MgY29uZmlndXJlZCB0byBwdWxsIGRhdGEgZnJvbSBTYWxlc2ZvcmNlIHNvCgkJLy8gbW92ZSBvbiB0byB0aGUgbmV4dCBtYXBwZWQgb2JqZWN0LiBQcmV2ZW50cyBxdWVyeWluZyB1bm1hcHBlZCBkYXRhLgoJCWlmICggZW1wdHkoICRtYXBwZWRfZmllbGRzICkgKSB7CgkJCXJldHVybiBudWxsOwoJCX0KCgkJaWYgKCAhIGlzc2V0KCAkc2F2ZWRfcXVlcnkgKSApIHsKCQkJJHNvcWwgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9TZWxlY3RfUXVlcnkoICR0eXBlICk7CgoJCQkvLyBDb252ZXJ0IGZpZWxkIG1hcHBpbmdzIHRvIFNPUUwuCgkJCSRzb3FsLT5maWVsZHMgPSBhcnJheV9tZXJnZSgKCQkJCSRtYXBwZWRfZmllbGRzLAoJCQkJYXJyYXkoCgkJCQkJJ0lkJyA9PiAnSWQnLAoJCQkJCSRzYWxlc2ZvcmNlX21hcHBpbmdbJ3B1bGxfdHJpZ2dlcl9maWVsZCddID0+ICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3B1bGxfdHJpZ2dlcl9maWVsZCddLAoJCQkJKQoJCQkpOwoKCQkJLy8gY2hlY2sgaWYgdGhpcyBpcyBhIFNhbGVzZm9yY2UgY3JlYXRlIGV2ZW50LgoJCQlpZiAoIGluX2FycmF5KCAkdGhpcy0+bWFwcGluZ3MtPnN5bmNfc2ZfY3JlYXRlLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzeW5jX3RyaWdnZXJzJ10sIHRydWUgKSApIHsKCQkJCSRzb3FsLT5maWVsZHNbJ0NyZWF0ZWREYXRlJ10gPSAnQ3JlYXRlZERhdGUnOwoJCQl9CgoJCQkvLyBPcmRlciBieSB0aGUgdHJpZ2dlciBmaWVsZCwgcmVxdWVzdGluZyB0aGUgb2xkZXN0IHJlY29yZHMgZmlyc3QuCgkJCSRzb3FsLT5vcmRlciA9IGFycmF5KAoJCQkJJHNhbGVzZm9yY2VfbWFwcGluZ1sncHVsbF90cmlnZ2VyX2ZpZWxkJ10gPT4gJ0FTQycsCgkJCSk7CgoJCQkvLyBTZXQgYSBsaW1pdCBvbiB0aGUgbnVtYmVyIG9mIHJlY29yZHMgdGhhdCBjYW4gYmUgcmV0cmlldmVkIGZyb20gdGhlIEFQSSBhdCBvbmUgdGltZS4KCQkJJHNvcWwtPmxpbWl0ID0gZmlsdGVyX3ZhciggJHRoaXMtPnB1bGxfb3B0aW9ucy0+Z2V0KCAncXVlcnlfbGltaXQnLCAnJywgJycsIDI1ICksIEZJTFRFUl9WQUxJREFURV9JTlQgKTsKCgkJCS8vIGlmIHRoZXJlIGFyZSByZWNvcmQgdHlwZXMgb24gdGhpcyBmaWVsZG1hcCwgdXNlIHRoZW0gYXMgYSBjb25kaXRpb25hbC4KCQkJaWYgKCAhIGVtcHR5KCAkbWFwcGVkX3JlY29yZF90eXBlcyApICkgewoJCQkJJHNvcWwtPmFkZF9jb25kaXRpb24oICdSZWNvcmRUeXBlSWQnLCBhcnJheV92YWx1ZXMoICRtYXBwZWRfcmVjb3JkX3R5cGVzICksICdJTicgKTsKCQkJfQoJCX0gZWxzZSB7CgkJCSRzb3FsID0gJHNhdmVkX3F1ZXJ5OwoJCX0KCgkJLy8gR2V0IHRoZSB2YWx1ZSBmb3IgdGhlIHB1bGwgdHJpZ2dlciBmaWVsZC4gT2Z0ZW4gdGhpcyB3aWxsIExhc3RNb2RpZmllZERhdGUuIEl0IG5lZWRzIHRvIGNoYW5nZSB3aGVuIHRoZSBxdWVyeSBnZXRzIHJlZ2VuZXJhdGVkIGFmdGVyIHRoZSBtYXggb2Zmc2V0IGhhcyBiZWVuIHJlYWNoZWQuCgkJJHB1bGxfdHJpZ2dlcl9maWVsZF92YWx1ZSA9ICR0aGlzLT5nZXRfcHVsbF9kYXRlX3ZhbHVlKCAkdHlwZSwgJHNvcWwsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10gKTsKCgkJLy8gd2UgY2hlY2sgdG8gc2VlIGlmIHRoZSBzdG9yZWQgZGF0ZSBpcyB0aGUgc2FtZSBhcyB0aGUgbmV3IG9uZS4gaWYgaXQgaXMgbm90LCB3ZSB3aWxsIHdhbnQgdG8gcmVzZXQgdGhlIG9mZnNldC4KCQkkcmVzZXRfb2Zmc2V0ID0gZmFsc2U7CgkJJGhhc19kYXRlICAgICA9IGZhbHNlOwoJCSRrZXkgICAgICAgICAgPSBhcnJheV9zZWFyY2goICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3B1bGxfdHJpZ2dlcl9maWVsZCddLCBhcnJheV9jb2x1bW4oICRzb3FsLT5jb25kaXRpb25zLCAnZmllbGQnICksIHRydWUgKTsKCQlpZiAoIGZhbHNlICE9PSAka2V5ICkgewoJCQkkaGFzX2RhdGUgPSB0cnVlOwoJCQlpZiAoICRzb3FsLT5jb25kaXRpb25zWyAka2V5IF1bJ3ZhbHVlJ10gIT09ICRwdWxsX3RyaWdnZXJfZmllbGRfdmFsdWUgKSB7CgkJCQkkcmVzZXRfb2Zmc2V0ID0gdHJ1ZTsKCQkJfQoJCX0KCgkJaWYgKCBmYWxzZSA9PT0gJGhhc19kYXRlICkgewoJCQkkcmVzZXRfb2Zmc2V0ID0gdHJ1ZTsKCQkJJHNvcWwtPmFkZF9jb25kaXRpb24oICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3B1bGxfdHJpZ2dlcl9maWVsZCddLCAkcHVsbF90cmlnZ2VyX2ZpZWxkX3ZhbHVlLCAnPicgKTsKCQl9IGVsc2UgewoJCQkkc29xbC0+Y29uZGl0aW9uc1sgJGtleSBdWyd2YWx1ZSddID0gJHB1bGxfdHJpZ2dlcl9maWVsZF92YWx1ZTsKCQl9CgoJCS8vIEdldCB0aGUgdmFsdWUgZm9yIHRoZSBTT1FMIG9mZnNldC4gSWYgbWF4IGhhcyBhbHJlYWR5IGJlZW4gcmVhY2hlZCwgaXQgaXMgemVyby4KCQkkc29xbC0+b2Zmc2V0ID0gJHRoaXMtPmdldF9wdWxsX29mZnNldCggJHR5cGUsICRzb3FsLCAkcmVzZXRfb2Zmc2V0ICk7CgoJCS8vIGFkZCBhIGZpbHRlciBoZXJlIHRvIG1vZGlmeSB0aGUgcXVlcnkKCQkvLyBIb29rIHRvIGFsbG93IG90aGVyIHBsdWdpbnMgdG8gbW9kaWZ5IHRoZSBTT1FMIHF1ZXJ5IGJlZm9yZSBpdCBpcyBzZW50IHRvIFNhbGVzZm9yY2UuCgkJJHNvcWwgPSBhcHBseV9maWx0ZXJzKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdwdWxsX3F1ZXJ5X21vZGlmeScsICRzb3FsLCAkdHlwZSwgJHNhbGVzZm9yY2VfbWFwcGluZywgJG1hcHBlZF9maWVsZHMgKTsKCgkJLy8gcXVpY2sgZXhhbXBsZSB0byBjaGFuZ2UgdGhlIG9yZGVyIHRvIGRlc2NlbmRpbmcuCgkJLyogLy8gcGhwY3M6aWdub3JlIFNxdWl6LlBIUC5Db21tZW50ZWRPdXRDb2RlLkZvdW5kCgkJYWRkX2ZpbHRlciggJ29iamVjdF9zeW5jX2Zvcl9zYWxlc2ZvcmNlX3B1bGxfcXVlcnlfbW9kaWZ5JywgJ2NoYW5nZV9wdWxsX3F1ZXJ5JywgMTAsIDQgKTsKCQkvLyBjYW4gYWx3YXlzIHJlZHVjZSB0aGlzIG51bWJlciBpZiBhbGwgdGhlIGFyZ3VtZW50cyBhcmUgbm90IG5lY2Vzc2FyeQoJCWZ1bmN0aW9uIGNoYW5nZV9wdWxsX3F1ZXJ5KCAkc29xbCwgJHR5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmcsICRtYXBwZWRfZmllbGRzICkgewoJCQkkc29xbC0+b3JkZXIgPSAnREVTQyc7CgkJCXJldHVybiAkc29xbDsKCQl9CgkJKi8KCgkJLy8gTWFrZSBzdXJlIG91ciBTT1FMIG9iamVjdCBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFycmF5cyBhcmUgdW5pcXVlLiBUaGlzIHByZXZlbnRzIHZhbHVlcyBhZGRlZCB2aWEgZGV2ZWxvcGVyIGhvb2sgZnJvbSBiZWluZyBhZGRlZCByZXBlYXRlZGx5IHdoZW4gYSBxdWVyeSBpcyBjYWNoZWQuCgkJaWYgKCB2ZXJzaW9uX2NvbXBhcmUoIFBIUF9WRVJTSU9OLCAnNy4wLjgnLCAnPj0nICkgKSB7CgkJCSRzb3FsLT5maWVsZHMgICAgID0gYXJyYXlfdW5pcXVlKCAkc29xbC0+ZmllbGRzLCBTT1JUX1JFR1VMQVIgKTsKCQkJJHNvcWwtPm9yZGVyICAgICAgPSBhcnJheV91bmlxdWUoICRzb3FsLT5vcmRlciwgU09SVF9SRUdVTEFSICk7CgkJCSRzb3FsLT5jb25kaXRpb25zID0gYXJyYXlfdW5pcXVlKCAkc29xbC0+Y29uZGl0aW9ucywgU09SVF9SRUdVTEFSICk7CgkJfSBlbHNlIHsKCQkJJHNvcWwtPmZpZWxkcyAgICAgPSBhcnJheV9tYXAoICd1bnNlcmlhbGl6ZScsIGFycmF5X3VuaXF1ZSggYXJyYXlfbWFwKCAnc2VyaWFsaXplJywgJHNvcWwtPmZpZWxkcyApICkgKTsKCQkJJHNvcWwtPm9yZGVyICAgICAgPSBhcnJheV9tYXAoICd1bnNlcmlhbGl6ZScsIGFycmF5X3VuaXF1ZSggYXJyYXlfbWFwKCAnc2VyaWFsaXplJywgJHNvcWwtPm9yZGVyICkgKSApOwoJCQkkc29xbC0+Y29uZGl0aW9ucyA9IGFycmF5X21hcCggJ3Vuc2VyaWFsaXplJywgYXJyYXlfdW5pcXVlKCBhcnJheV9tYXAoICdzZXJpYWxpemUnLCAkc29xbC0+Y29uZGl0aW9ucyApICkgKTsKCQl9CgoJCS8vIHNlcmlhbGl6ZSB0aGUgY3VycmVudGx5IHJ1bm5pbmcgU09RTCBxdWVyeSBhbmQgc3RvcmUgaXQgZm9yIHRoaXMgdHlwZS4KCQkkc2VyaWFsaXplZF9jdXJyZW50X3F1ZXJ5ID0gbWF5YmVfc2VyaWFsaXplKCAkc29xbCApOwoJCSR0aGlzLT5wdWxsX29wdGlvbnMtPnNldCggJ2N1cnJlbnRfcXVlcnknLCAkdHlwZSwgJHNhbGVzZm9yY2VfbWFwcGluZ1snaWQnXSwgJHNlcmlhbGl6ZWRfY3VycmVudF9xdWVyeSwgZmFsc2UgKTsKCQlyZXR1cm4gJHNvcWw7Cgl9CgoKCS8qKgoJICogRGV0ZXJtaW5lIHRoZSBvZmZzZXQgZm9yIHRoZSBTT1FMIHF1ZXJ5IHRvIHJ1bgoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJHR5cGUgZS5nLiAiQ29udGFjdCIsICJBY2NvdW50IiwgZXRjLgoJICogQHBhcmFtIG9iamVjdCAkc29xbCB0aGUgU09RTCBvYmplY3QuCgkgKiBAcGFyYW0gYm9vbCAgICRyZXNldCB3aGV0aGVyIHRvIHJlc2V0IHRoZSBvZmZzZXQuCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gZ2V0X3B1bGxfb2Zmc2V0KCAkdHlwZSwgJHNvcWwsICRyZXNldCA9IGZhbHNlICkgewoJCS8vIHNldCBhbiBvZmZzZXQuIGlmIHRoZXJlIGlzIGEgc2F2ZWQgb2Zmc2V0LCBhZGQgdGhlIGxpbWl0IHRvIGl0IGFuZCBtb3ZlIG9uLiBvdGhlcndpc2UsIHVzZSB0aGUgbGltaXQuCgkJJG9mZnNldCA9IGlzc2V0KCAkc29xbC0+b2Zmc2V0ICkgPyAkc29xbC0+b2Zmc2V0ICsgJHNvcWwtPmxpbWl0IDogJHNvcWwtPmxpbWl0OwoJCWlmICggdHJ1ZSA9PT0gJHJlc2V0IHx8ICRvZmZzZXQgPiAkdGhpcy0+bWF4X3NvcWxfc2l6ZSApIHsKCQkJJG9mZnNldCA9IDA7CgkJfQoJCXJldHVybiAkb2Zmc2V0OwoJfQoKCS8qKgoJICogR2l2ZW4gYSBTT2JqZWN0IHR5cGUgbmFtZSwgZGV0ZXJtaW5lIHRoZSBkYXRldGltZSB2YWx1ZSB0aGUgU09RTCBvYmplY3Qgc2hvdWxkIHVzZSB0byBmaWx0ZXIgcmVzdWx0cy4gT2Z0ZW4gdGhpcyB3aWxsIGJlIExhc3RNb2RpZmllZERhdGUuCgkgKgoJICogQHBhcmFtIHN0cmluZyAkdHlwZSBlLmcuICJDb250YWN0IiwgIkFjY291bnQiLCBldGMuCgkgKiBAcGFyYW0gb2JqZWN0ICRzb3FsIHRoZSBTT1FMIG9iamVjdC4KCSAqIEBwYXJhbSBpbnQgICAgJGZpZWxkbWFwX2lkIGlzIHRoZSBmaWVsZG1hcCBJRCB0aGF0IGdvZXMgd2l0aCB0aGlzIHF1ZXJ5LgoJICogQHJldHVybiB0aW1lc3RhbXAgJHB1bGxfdHJpZ2dlcl9maWVsZF92YWx1ZQoJICovCglwcml2YXRlIGZ1bmN0aW9uIGdldF9wdWxsX2RhdGVfdmFsdWUoICR0eXBlLCAkc29xbCwgJGZpZWxkbWFwX2lkID0gJycgKSB7CgkJLy8gSWYgbm8gbGFzdHVwZGF0ZSwgZ2V0IGFsbCByZWNvcmRzLCBlbHNlIGdldCByZWNvcmRzIHNpbmNlIGxhc3QgcHVsbC4KCQkvLyB0aGlzIHNob3VsZCBiZSB3aGF0IGtlZXBzIGl0IGZyb20gZ2V0dGluZyBhbGwgdGhlIHJlY29yZHMsIHdoZXRoZXIgb3Igbm90IHRoZXkndmUgZXZlciBiZWVuIHVwZGF0ZWQKCQkvLyB3ZSBhbHNvIHVzZSB0aGUgb3B0aW9uIGZvciB3aGVuIHRoZSBwbHVnaW4gd2FzIGluc3RhbGxlZCwgYW5kIGRvbid0IGdvIGJhY2sgZnVydGhlciB0aGFuIHRoYXQgYnkgZGVmYXVsdC4KCgkJJHNmX2FjdGl2YXRlX3RpbWUgPSBnZXRfb3B0aW9uKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdhY3RpdmF0ZV90aW1lJywgJycgKTsKCQkkc2ZfbGFzdF9zeW5jICAgICA9ICR0aGlzLT5wdWxsX29wdGlvbnMtPmdldCggJ2xhc3Rfc3luYycsICR0eXBlLCAkZmllbGRtYXBfaWQsIG51bGwgKTsKCQlpZiAoICRzZl9sYXN0X3N5bmMgKSB7CgkJCSRwdWxsX3RyaWdnZXJfZmllbGRfdmFsdWUgPSBnbWRhdGUoICdZLW0tZFxUSDppOnNcWicsICRzZl9sYXN0X3N5bmMgKTsKCQl9IGVsc2UgewoJCQkkcHVsbF90cmlnZ2VyX2ZpZWxkX3ZhbHVlID0gZ21kYXRlKCAnWS1tLWRcVEg6aTpzXFonLCAkc2ZfYWN0aXZhdGVfdGltZSApOwoJCX0KCgkJLy8gdG9kbzogcHV0IGEgaG9vayBpbiBoZXJlIHRvIGxldCBkZXZzIGdvIHJldHJvYWN0aXZlIGlmIHRoZXkgd2FudCwgYW5kIHN5bmMgZGF0YSBmcm9tIGJlZm9yZSBwbHVnaW4gd2FzIGFjdGl2YXRlZC4KCgkJcmV0dXJuICRwdWxsX3RyaWdnZXJfZmllbGRfdmFsdWU7CgoJfQoKCS8qKgoJICogR2V0IG1lcmdlZCByZWNvcmRzIGZyb20gU2FsZXNmb3JjZS4KCSAqIE5vdGUgdGhhdCBtZXJnZXMgY2FuIGN1cnJlbnRseSBvbmx5IHdvcmsgaWYgdGhlIFNvYXAgQVBJIGlzIGVuYWJsZWQuCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gZ2V0X21lcmdlZF9yZWNvcmRzKCkgewoKCQkkdXNlX3NvYXAgPSAkdGhpcy0+c2FsZXNmb3JjZVsnc29hcF9sb2FkZWQnXTsKCQlpZiAoIHRydWUgPT09ICR1c2Vfc29hcCApIHsKCQkJJHNvYXAgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9Tb2FwX1BhcnRuZXIoKTsKCQl9CgkJJHNlY29uZHMgPSA2MDsKCgkJJG1lcmdlZF9yZWNvcmRzID0gYXJyYXkoKTsKCgkJLy8gTG9hZCBmaWVsZG1hcHMgZm9yIG1lcmdlYWJsZSB0eXBlcy4KCQlmb3JlYWNoICggJHRoaXMtPm1lcmdlYWJsZV9yZWNvcmRfdHlwZXMgYXMgJHR5cGUgKSB7CgkJCSRtYXBwaW5ncyA9ICR0aGlzLT5tYXBwaW5ncy0+Z2V0X2ZpZWxkbWFwcygKCQkJCW51bGwsCgkJCQlhcnJheV9tZXJnZSgKCQkJCQkkdGhpcy0+bWFwcGluZ3MtPmFjdGl2ZV9maWVsZG1hcF9jb25kaXRpb25zLAoJCQkJCWFycmF5KAoJCQkJCQknc2FsZXNmb3JjZV9vYmplY3QnID0+ICR0eXBlLAoJCQkJCSkKCQkJCSksCgkJCSk7CgoJCQkvLyBJdGVyYXRlIG92ZXIgZWFjaCBmaWVsZCBtYXBwaW5nIHRvIGRldGVybWluZSBvdXIgcXVlcnkgcGFyYW1ldGVycy4KCQkJZm9yZWFjaCAoICRtYXBwaW5ncyBhcyAkc2FsZXNmb3JjZV9tYXBwaW5nICkgewoJCQkJJGxhc3RfbWVyZ2Vfc3luYyA9ICR0aGlzLT5wdWxsX29wdGlvbnMtPmdldCggJ21lcmdlX2xhc3QnLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddLCAnJywgdGltZSgpICk7CgkJCQkkbm93ICAgICAgICAgICAgID0gdGltZSgpOwoJCQkJJHRoaXMtPnB1bGxfb3B0aW9ucy0+c2V0KCAnbWVyZ2VfbGFzdCcsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3NhbGVzZm9yY2Vfb2JqZWN0J10sICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10sICRub3cgKTsKCgkJCQkvLyBnZXRfZGVsZXRlZCgpIGNvbnN0cmFpbnQ6IHN0YXJ0RGF0ZSBjYW5ub3QgYmUgbW9yZSB0aGFuIDMwIGRheXMgYWdvCgkJCQkvLyAodXNpbmcgYW4gaW5jb21wYXRpYmxlIGRhdGUgbWF5IGxlYWQgdG8gZXhjZXB0aW9ucykuCgkJCQkkbGFzdF9tZXJnZV9zeW5jID0gJGxhc3RfbWVyZ2Vfc3luYyA+ICggdGltZSgpIC0gMjUwNTYwMCApID8gJGxhc3RfbWVyZ2Vfc3luYyA6ICggdGltZSgpIC0gMjUwNTYwMCApOwoKCQkJCS8vIGdldF9kZWxldGVkKCkgY29uc3RyYWludDogc3RhcnREYXRlIG11c3QgYmUgYXQgbGVhc3Qgb25lIG1pbnV0ZSBncmVhdGVyCgkJCQkvLyB0aGFuIGVuZERhdGUuCgkJCQkkbm93ID0gJG5vdyA+ICggJGxhc3RfbWVyZ2Vfc3luYyArIDYwICkgPyAkbm93IDogJG5vdyArIDYwOwoKCQkJCS8vIG5lZWQgdG8gYmUgdXNpbmcgZ21kYXRlIGZvciBTYWxlc2ZvcmNlIGNhbGwuCgkJCQkkbGFzdF9tZXJnZV9zeW5jX3NmID0gZ21kYXRlKCAnWS1tLWRcVEg6aTpzXFonLCAkbGFzdF9tZXJnZV9zeW5jICk7CgoJCQkJLy8gdG9kbzogd2Ugd2FudCB0byBhZGQgc29tZXRoaW5nIGxpa2UgdGhpcyBldmVudHVhbGx5LCB0byB0aGUgcXVlcnk6IEFORCBTeXN0ZW1Nb2RzdGFtcCA+IDIwMDYtMDEtMDFUMjM6MDE6MDErMDE6MDAuCgoJCQkJJG1lcmdlZCA9IGFycmF5KCk7CgkJCQkvLyB0aGVyZSBkb2Vzbid0IGFwcGVhciB0byBiZSBhIHdheSB0byBkbyB0aGlzIGluIHRoZSByZXN0IGFwaTsgZm9yIG5vdyB3ZSdsbCBkbyBzb2FwLgoJCQkJaWYgKCB0cnVlID09PSAkdXNlX3NvYXAgKSB7CgkJCQkJJHR5cGUgICA9ICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3NhbGVzZm9yY2Vfb2JqZWN0J107CgkJCQkJJHF1ZXJ5ICA9ICJTRUxFQ1QgSWQsIGlzRGVsZXRlZCwgbWFzdGVyUmVjb3JkSWQgRlJPTSAkdHlwZSBXSEVSRSBtYXN0ZXJSZWNvcmRJZCAhPSAnJyBBTkQgU3lzdGVtTW9kU3RhbXAgPiAkbGFzdF9tZXJnZV9zeW5jX3NmIjsKCQkJCQkkbWVyZ2VkID0gJHNvYXAtPnRyeV9zb2FwKCAncXVlcnlBbGwnLCAkcXVlcnkgKTsKCQkJCQlpZiAoICEgZW1wdHkoICRtZXJnZWQtPnJlY29yZHMgKSApIHsKCQkJCQkJJG1lcmdlZCA9IGpzb25fZGVjb2RlKCB3cF9qc29uX2VuY29kZSggJG1lcmdlZC0+cmVjb3JkcyApLCB0cnVlICk7CgkJCQkJfSBlbHNlIHsKCQkJCQkJY29udGludWU7CgkJCQkJfQoKCQkJCQlmb3JlYWNoICggJG1lcmdlZCBhcyAkcmVzdWx0ICkgewoJCQkJCQkkcmVjb3JkID0gYXJyYXkoKTsKCQkJCQkJaWYgKCBpc19hcnJheSggYXJyYXlfdW5pcXVlKCAkcmVzdWx0WydJZCddICkgKSApIHsKCQkJCQkJCSRyZWNvcmRbJ0lkJ10gPSBhcnJheV91bmlxdWUoICRyZXN1bHRbJ0lkJ10gKVswXTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCSRyZWNvcmRbJ0lkJ10gPSAkcmVzdWx0WydJZCddOwoJCQkJCQl9CgkJCQkJCWlmICggaXNzZXQoICRyZXN1bHRbJ2FueSddICkgKSB7CgkJCQkJCQlsaWJ4bWxfdXNlX2ludGVybmFsX2Vycm9ycyggdHJ1ZSApOwoJCQkJCQkJJGFueSA9IHNpbXBsZXhtbF9sb2FkX3N0cmluZyggJzw/eG1sIHZlcnNpb249IjEuMCIgc3RhbmRhbG9uZT0ieWVzIj8+PHJvb3Q+JyAuICRyZXN1bHRbJ2FueSddIC4gJzwvcm9vdD4nICk7CgkJCQkJCQlpZiAoICRhbnkgKSB7CgkJCQkJCQkJJGpzb24gICA9IHdwX2pzb25fZW5jb2RlKCAkYW55ICk7CgkJCQkJCQkJJGFycmF5ICA9IGpzb25fZGVjb2RlKCAkanNvbiwgdHJ1ZSApOwoJCQkJCQkJCSRyZWNvcmQgPSBhcnJheV9tZXJnZSggJHJlY29yZCwgJGFycmF5ICk7CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQkJJG1lcmdlZF9yZWNvcmRzW10gPSAkcmVjb3JkOwoJCQkJCQkkdGhpcy0+cmVzcG9uZF90b19zYWxlc2ZvcmNlX21lcmdlKCAkdHlwZSwgJHJlY29yZCApOwoJCQkJCX0gLy8gRW5kIGZvcmVhY2ggb24gbWVyZ2VkCgkJCQl9IC8vIEVuZCBpZiBvbiBzb2FwCgkJCQlpZiAoICEgZW1wdHkoICRtZXJnZWRfcmVjb3JkcyApICkgewoJCQkJCXNldF90cmFuc2llbnQoICdzYWxlc2ZvcmNlX21lcmdlZF8nIC4gJHR5cGUsICRtZXJnZWRfcmVjb3JkcywgJHNlY29uZHMgKTsKCQkJCX0KCQkJfSAvLyBFbmQgZm9yZWFjaCBvbiBtYXBwaW5ncwoJCX0gLy8gZW5kIGZvcmVhY2ggb24gdHlwZXMKCgl9CgoJLyoqCgkgKiBSZXNwb25kIHRvIFNhbGVzZm9yY2UgbWVyZ2UgZXZlbnRzCgkgKiBUaGlzIG1lYW5zIHdlIHVwZGF0ZSB0aGUgbWFwcGluZyBvYmplY3QgdG8gY29udGFpbiB0aGUgbmV3IFNhbGVzZm9yY2UgSWQsIGFuZCBwdWxsIGl0cyBkYXRhCgkgKgoJICogQHBhcmFtIHN0cmluZyAkb2JqZWN0X3R5cGUgd2hhdCB0eXBlIG9mIFNhbGVzZm9yY2Ugb2JqZWN0IGl0IGlzLgoJICogQHBhcmFtIGFycmF5ICAkbWVyZ2VkX3JlY29yZCB0aGUgcmVjb3JkIHRoYXQgd2FzIG1lcmdlZC4KCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiByZXNwb25kX3RvX3NhbGVzZm9yY2VfbWVyZ2UoICRvYmplY3RfdHlwZSwgJG1lcmdlZF9yZWNvcmQgKSB7CgkJJG9wID0gJ01lcmdlJzsKCQlpZiAoIGlzc2V0KCAkbWVyZ2VkX3JlY29yZFsnSWQnXSApICYmIHRydWUgPT09IGZpbHRlcl92YXIoICRtZXJnZWRfcmVjb3JkWydzZjpJc0RlbGV0ZWQnXSwgRklMVEVSX1ZBTElEQVRFX0JPT0xFQU4gKSAmJiAnJyAhPT0gJG1lcmdlZF9yZWNvcmRbJ3NmOk1hc3RlclJlY29yZElkJ10gKSB7CgkJCSRwcmV2aW91c19zZl9pZCAgPSAkbWVyZ2VkX3JlY29yZFsnSWQnXTsKCQkJJG5ld19zZl9pZCAgICAgICA9ICRtZXJnZWRfcmVjb3JkWydzZjpNYXN0ZXJSZWNvcmRJZCddOwoJCQkkbWFwcGluZ19vYmplY3RzID0gJHRoaXMtPm1hcHBpbmdzLT5sb2FkX29iamVjdF9tYXBzX2J5X3NhbGVzZm9yY2VfaWQoICRwcmV2aW91c19zZl9pZCApOwoJCQlmb3JlYWNoICggJG1hcHBpbmdfb2JqZWN0cyBhcyAkbWFwcGluZ19vYmplY3QgKSB7CgkJCQkkd29yZHByZXNzX3R5cGUgICAgICAgICAgICAgICAgICA9ICRtYXBwaW5nX29iamVjdFsnd29yZHByZXNzX29iamVjdCddOwoJCQkJJHdvcmRwcmVzc19pZCAgICAgICAgICAgICAgICAgICAgPSAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddOwoJCQkJJG1hcHBpbmdfb2JqZWN0WydzYWxlc2ZvcmNlX2lkJ10gPSAkbmV3X3NmX2lkOwoJCQkJJG1hcHBpbmdfb2JqZWN0ICAgICAgICAgICAgICAgICAgPSAkdGhpcy0+bWFwcGluZ3MtPnVwZGF0ZV9vYmplY3RfbWFwKCAkbWFwcGluZ19vYmplY3QsICRtYXBwaW5nX29iamVjdFsnaWQnXSApOwoKCQkJCSRzdGF0dXMgPSAnc3VjY2Vzcyc7CgoJCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQkJfQoKCQkJCSR0aXRsZSA9IHNwcmludGYoCgkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLCAyKSB3aGF0IG9wZXJhdGlvbiBpcyBoYXBwZW5pbmcsIDMpIHRoZSBuYW1lIG9mIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCB0eXBlLCA0KSB0aGUgcHJldmlvdXMgU2FsZXNmb3JjZSBJZCB2YWx1ZSwgNSkgdGhlIG5ldyBTYWxlc2ZvcmNlIElkIHZhbHVlLCA2KSB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdCwgNykgdGhlIFdvcmRQcmVzcyBpZCB2YWx1ZS4KCQkJCQllc2NfaHRtbF9fKCAnJTEkczogJTIkcyBTYWxlc2ZvcmNlICUzJHMgb2JqZWN0cyB3aXRoIElkcyAlNCRzIGFuZCAlNSRzIHdlcmUgbWVyZ2VkICglNSRzIGlzIHRoZSByZW1haW5pbmcgSUQuIEl0IGlzIG1hcHBlZCB0byBXb3JkUHJlc3MgJTYkcyB3aXRoICU3JHMuKScsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQl1Y2ZpcnN0KCBlc2NfYXR0ciggJHN0YXR1cyApICksCgkJCQkJZXNjX2F0dHIoICRvcCApLAoJCQkJCWVzY19hdHRyKCAkb2JqZWN0X3R5cGUgKSwKCQkJCQllc2NfYXR0ciggJHByZXZpb3VzX3NmX2lkICksCgkJCQkJZXNjX2F0dHIoICRuZXdfc2ZfaWQgKSwKCQkJCQllc2NfYXR0ciggJHdvcmRwcmVzc190eXBlICksCgkJCQkJZXNjX2F0dHIoICR3b3JkcHJlc3NfaWQgKQoJCQkJKTsKCgkJCQkkcmVzdWx0ID0gYXJyYXkoCgkJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCQknbWVzc2FnZScgPT4gJycsCgkJCQkJJ3RyaWdnZXInID0+IDAsCgkJCQkJJ3BhcmVudCcgID0+ICR3b3JkcHJlc3NfaWQsCgkJCQkJJ3N0YXR1cycgID0+ICRzdGF0dXMsCgkJCQkpOwoKCQkJCSRsb2dnaW5nLT5zZXR1cCggJHJlc3VsdCApOwoKCQkJCS8vIGFmdGVyIGl0IGhhcyBiZWVuIG1lcmdlZCwgcHVsbCBpdC4KCQkJCSRyZXN1bHQgPSAkdGhpcy0+bWFudWFsX3B1bGwoICRvYmplY3RfdHlwZSwgJG5ld19zZl9pZCApOwoKCQkJfQoJCX0KCX0KCgkvKioKCSAqIEdldCBkZWxldGVkIHJlY29yZHMgZnJvbSBzYWxlc2ZvcmNlLgoJICogTm90ZSB0aGF0IGRlbGV0aW9ucyBjYW4gb25seSBiZSBxdWVyaWVkIHZpYSBSRVNUIHdpdGggYW4gQVBJIHZlcnNpb24gPj0gMjkuMC4KCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBnZXRfZGVsZXRlZF9yZWNvcmRzKCkgewoKCQkkc2ZhcGkgPSAkdGhpcy0+c2FsZXNmb3JjZVsnc2ZhcGknXTsKCgkJLy8gVGhlIERydXBhbCBtb2R1bGUgcnVucyBhIGNoZWNrX21lcmdlZF9yZWNvcmRzIGNhbGwgcmlnaHQgaGVyZSwgYnV0IGl0IHNlZW1zIHRvIGJlIGFuIGludmFsaWQgU09RTCBxdWVyeS4KCQkvLyBXZSBhcmUgbm90IGluY29ycG9yYXRpbmcgdGhhdCBwYXJ0IG9mIHRoaXMgYnJhbmNoIGF0IHRoaXMgdGltZQoJCS8vIFNlZSBHaXRIdWIgaXNzdWUgMTk3IHRvIHRyYWNrIHRoaXMgc3RhdHVzLiBodHRwczovL2dpdGh1Yi5jb20vTWlublBvc3Qvb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UvaXNzdWVzLzE5Ny4KCgkJLy8gTG9hZCBhbGwgdW5pcXVlIFNGIHJlY29yZCB0eXBlcyB0aGF0IHdlIGhhdmUgbWFwcGluZ3MgZm9yLiBUaGlzIHJlc3VsdHMgaW4gYSBkb3VibGUgbG9vcC4KCQlmb3JlYWNoICggJHRoaXMtPm1hcHBpbmdzLT5nZXRfZmllbGRtYXBzKCBudWxsLCAkdGhpcy0+bWFwcGluZ3MtPmFjdGl2ZV9maWVsZG1hcF9jb25kaXRpb25zICkgYXMgJHNhbGVzZm9yY2VfbWFwcGluZyApIHsKCgkJCSRtYXBfc3luY190cmlnZ2VycyA9ICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3N5bmNfdHJpZ2dlcnMnXTsgLy8gdGhpcyBzZXRzIHdoaWNoIFNhbGVzZm9yY2UgdHJpZ2dlcnMgYXJlIGFsbG93ZWQgZm9yIHRoZSBtYXBwaW5nLgoJCQkkdHlwZSAgICAgICAgICAgICAgPSAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddOyAvLyB0aGlzIHNldHMgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IHR5cGUgZm9yIHRoZSBTT1FMIHF1ZXJ5LgoKCQkJJG1hcHBpbmdzID0gJHRoaXMtPm1hcHBpbmdzLT5nZXRfZmllbGRtYXBzKAoJCQkJbnVsbCwKCQkJCWFycmF5X21lcmdlKAoJCQkJCSR0aGlzLT5tYXBwaW5ncy0+YWN0aXZlX2ZpZWxkbWFwX2NvbmRpdGlvbnMsCgkJCQkJYXJyYXkoCgkJCQkJCSdzYWxlc2ZvcmNlX29iamVjdCcgPT4gJHR5cGUsCgkJCQkJKQoJCQkJKSwKCQkJKTsKCgkJCS8vIEl0ZXJhdGUgb3ZlciBlYWNoIGZpZWxkIG1hcHBpbmcgdG8gZGV0ZXJtaW5lIG91ciBxdWVyeSBwYXJhbWV0ZXJzLgoJCQlmb3JlYWNoICggJG1hcHBpbmdzIGFzICRzYWxlc2ZvcmNlX21hcHBpbmcgKSB7CgoJCQkJJGxhc3RfZGVsZXRlX3N5bmMgPSAkdGhpcy0+cHVsbF9vcHRpb25zLT5nZXQoICdkZWxldGVfbGFzdCcsICR0eXBlLCAnJywgdGltZSgpICk7CgkJCQkkbm93ICAgICAgICAgICAgICA9IHRpbWUoKTsKCQkJCSR0aGlzLT5wdWxsX29wdGlvbnMtPnNldCggJ2RlbGV0ZV9sYXN0JywgJHR5cGUsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ2lkJ10sICRub3cgKTsKCgkJCQkvLyBnZXRfZGVsZXRlZCgpIGNvbnN0cmFpbnQ6IHN0YXJ0RGF0ZSBjYW5ub3QgYmUgbW9yZSB0aGFuIDMwIGRheXMgYWdvCgkJCQkvLyAodXNpbmcgYW4gaW5jb21wYXRpYmxlIGRhdGUgbWF5IGxlYWQgdG8gZXhjZXB0aW9ucykuCgkJCQkkbGFzdF9kZWxldGVfc3luYyA9ICRsYXN0X2RlbGV0ZV9zeW5jID4gKCB0aW1lKCkgLSAyNTA1NjAwICkgPyAkbGFzdF9kZWxldGVfc3luYyA6ICggdGltZSgpIC0gMjUwNTYwMCApOwoKCQkJCS8vIGdldF9kZWxldGVkKCkgY29uc3RyYWludDogc3RhcnREYXRlIG11c3QgYmUgYXQgbGVhc3Qgb25lIG1pbnV0ZSBncmVhdGVyCgkJCQkvLyB0aGFuIGVuZERhdGUuCgkJCQkkbm93ID0gJG5vdyA+ICggJGxhc3RfZGVsZXRlX3N5bmMgKyA2MCApID8gJG5vdyA6ICRub3cgKyA2MDsKCgkJCQkvLyBuZWVkIHRvIGJlIHVzaW5nIGdtZGF0ZSBmb3IgU2FsZXNmb3JjZSBjYWxsLgoJCQkJJGxhc3RfZGVsZXRlX3N5bmNfc2YgPSBnbWRhdGUoICdZLW0tZFxUSDppOnNcWicsICRsYXN0X2RlbGV0ZV9zeW5jICk7CgkJCQkkbm93X3NmICAgICAgICAgICAgICA9IGdtZGF0ZSggJ1ktbS1kXFRIOmk6c1xaJywgJG5vdyApOwoKCQkJCS8vIFNhbGVzZm9yY2UgY2FsbC4KCQkJCSRkZWxldGVkID0gJHNmYXBpLT5nZXRfZGVsZXRlZCggJHR5cGUsICRsYXN0X2RlbGV0ZV9zeW5jX3NmLCAkbm93X3NmICk7CgkJCQkkbWVyZ2VkICA9IGdldF90cmFuc2llbnQoICdzYWxlc2ZvcmNlX21lcmdlZF8nIC4gJHR5cGUgKTsKCQkJCWlmICggZmFsc2UgIT09ICRtZXJnZWQgJiYgaXNzZXQoICRkZWxldGVkWydkYXRhJ11bJ2RlbGV0ZWRSZWNvcmRzJ10gKSApIHsKCQkJCQlmb3JlYWNoICggJG1lcmdlZCBhcyAka2V5ICkgewoJCQkJCQkkZGVsZXRlZFsnZGF0YSddWydkZWxldGVkUmVjb3JkcyddID0gYXJyYXlfZmlsdGVyKAoJCQkJCQkJJGRlbGV0ZWRbJ2RhdGEnXVsnZGVsZXRlZFJlY29yZHMnXSwKCQkJCQkJCWZ1bmN0aW9uKCAkeCApIHVzZSAoICRrZXkgKSB7CgkJCQkJCQkJaWYgKCAhIGlzc2V0KCAkeFsnSWQnXSApICYmIGlzc2V0KCAkeFsnaWQnXSApICkgewoJCQkJCQkJCQkkeFsnSWQnXSA9ICR4WydpZCddOwoJCQkJCQkJCX0KCQkJCQkJCQlyZXR1cm4gJHhbJ0lkJ10gIT09ICRrZXk7CgkJCQkJCQl9CgkJCQkJCSk7CgkJCQkJfQoJCQkJfQoKCQkJCWlmICggZW1wdHkoICRkZWxldGVkWydkYXRhJ11bJ2RlbGV0ZWRSZWNvcmRzJ10gKSApIHsKCQkJCQljb250aW51ZTsKCQkJCX0KCgkJCQlmb3JlYWNoICggJGRlbGV0ZWRbJ2RhdGEnXVsnZGVsZXRlZFJlY29yZHMnXSBhcyAkcmVzdWx0ICkgewoKCQkJCQkkc2Zfc3luY190cmlnZ2VyID0gJHRoaXMtPm1hcHBpbmdzLT5zeW5jX3NmX2RlbGV0ZTsKCgkJCQkJLy8gU2FsZXNmb3JjZSBzZXJpb3VzbHkgcmV0dXJucyBJZCBmb3IgdXBkYXRlIHJlcXVlc3RzIGFuZCBpZCBmb3IgZGVsZXRlIHJlcXVlc3RzIGFuZCB0aGlzIG1ha2VzIG5vIHNlbnNlIGJ1dCBtYXliZSBvbmUgZGF5IHRoZXkgbWlnaHQgY2hhbmdlIGl0IHNvbWVob3c/CgkJCQkJaWYgKCAhIGlzc2V0KCAkcmVzdWx0WydJZCddICkgJiYgaXNzZXQoICRyZXN1bHRbJ2lkJ10gKSApIHsKCQkJCQkJJHJlc3VsdFsnSWQnXSA9ICRyZXN1bHRbJ2lkJ107CgkJCQkJfQoJCQkJCSRkYXRhID0gYXJyYXkoCgkJCQkJCSdvYmplY3RfdHlwZScgICAgID0+ICR0eXBlLAoJCQkJCQknb2JqZWN0JyAgICAgICAgICA9PiAkcmVzdWx0LAoJCQkJCQknbWFwcGluZycgICAgICAgICA9PiAkc2FsZXNmb3JjZV9tYXBwaW5nLAoJCQkJCQknc2Zfc3luY190cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLCAvLyBzZiBkZWxldGUgdHJpZ2dlci4KCQkJCQkpOwoKCQkJCQkvLyBkZWZhdWx0IGlzIHB1bGwgaXMgYWxsb3dlZC4KCQkJCQkkcHVsbF9hbGxvd2VkID0gdHJ1ZTsKCgkJCQkJLy8gaWYgdGhlIGN1cnJlbnQgZmllbGRtYXAgZG9lcyBub3QgYWxsb3cgZGVsZXRlLCBzZXQgcHVsbF9hbGxvd2VkIHRvIGZhbHNlLgoJCQkJCWlmICggaXNzZXQoICRtYXBfc3luY190cmlnZ2VycyApICYmICEgaW5fYXJyYXkoICR0aGlzLT5tYXBwaW5ncy0+c3luY19zZl9kZWxldGUsICRtYXBfc3luY190cmlnZ2VycywgdHJ1ZSApICkgewoJCQkJCQkkcHVsbF9hbGxvd2VkID0gZmFsc2U7CgkJCQkJfQoKCQkJCQkvLyBIb29rIHRvIGFsbG93IG90aGVyIHBsdWdpbnMgdG8gcHJldmVudCBhIHB1bGwgcGVyLW1hcHBpbmcuCgkJCQkJLy8gUHV0dGluZyB0aGUgcHVsbF9hbGxvd2VkIGhvb2sgaGVyZSB3aWxsIGtlZXAgdGhlIHF1ZXVlIGZyb20gZGVsZXRpbmcgYSBXb3JkUHJlc3MgcmVjb3JkIHdoZW4gaXQgaXMgbm90IHN1cHBvc2VkIHRvIGRlbGV0ZSBpdC4KCQkJCQkkcHVsbF9hbGxvd2VkID0gYXBwbHlfZmlsdGVycyggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHVsbF9vYmplY3RfYWxsb3dlZCcsICRwdWxsX2FsbG93ZWQsICR0eXBlLCAkcmVzdWx0LCAkc2Zfc3luY190cmlnZ2VyLCAkc2FsZXNmb3JjZV9tYXBwaW5nICk7CgoJCQkJCS8vIGV4YW1wbGUgdG8ga2VlcCBmcm9tIGRlbGV0aW5nIHRoZSBXb3JkUHJlc3MgcmVjb3JkIG1hcHBlZCB0byB0aGUgQ29udGFjdCB3aXRoIElkIG9mIGFiY2RlZi4KCQkJCQkvKiAvLyBwaHBjczppZ25vcmUgU3F1aXouUEhQLkNvbW1lbnRlZE91dENvZGUuRm91bmQKCQkJCQlhZGRfZmlsdGVyKCAnb2JqZWN0X3N5bmNfZm9yX3NhbGVzZm9yY2VfcHVsbF9vYmplY3RfYWxsb3dlZCcsICdjaGVja191c2VyJywgMTAsIDUgKTsKCQkJCQkvLyBjYW4gYWx3YXlzIHJlZHVjZSB0aGlzIG51bWJlciBpZiBhbGwgdGhlIGFyZ3VtZW50cyBhcmUgbm90IG5lY2Vzc2FyeQoJCQkJCWZ1bmN0aW9uIGNoZWNrX3VzZXIoICRwdWxsX2FsbG93ZWQsICRvYmplY3RfdHlwZSwgJG9iamVjdCwgJHNmX3N5bmNfdHJpZ2dlciwgJHNhbGVzZm9yY2VfbWFwcGluZyApIHsKCQkJCQkJaWYgKCAkb2JqZWN0X3R5cGUgPT09ICdDb250YWN0JyAmJiAkb2JqZWN0WydJZCddID09PSAnYWJjZGVmJyApIHsKCQkJCQkJCXJldHVybiBmYWxzZTsKCQkJCQkJfQoJCQkJCX0KCQkJCQkqLwoKCQkJCQlpZiAoIGZhbHNlID09PSAkcHVsbF9hbGxvd2VkICkgewoJCQkJCQljb250aW51ZTsKCQkJCQl9CgoJCQkJCS8vIHNldHVwIHRoZSBJZCBhbmQgdGhlIGRlbGV0ZWREYXRlIGZvciBwYXNzaW5nIHRvIHRoZSBxdWV1ZS4KCQkJCQkkZGVsZXRlZF9pdGVtID0gYXJyYXkoCgkJCQkJCSdJZCcgICAgICAgICAgPT4gJHJlc3VsdFsnSWQnXSwKCQkJCQkJJ2RlbGV0ZWREYXRlJyA9PiAkcmVzdWx0WydkZWxldGVkRGF0ZSddLAoJCQkJCSk7CgoJCQkJCS8vIEFkZCBhIHF1ZXVlIGFjdGlvbiB0byBkZWxldGUgZGF0YSBmcm9tIFdvcmRQcmVzcyBhZnRlciBpdCBoYXMgYmVlbiBkZWxldGVkIGZyb20gU2FsZXNmb3JjZS4KCQkJCQkkdGhpcy0+cXVldWUtPmFkZCgKCQkJCQkJJHRoaXMtPnNjaGVkdWxhYmxlX2NsYXNzZXNbICR0aGlzLT5zY2hlZHVsZV9uYW1lIF1bJ2NhbGxiYWNrJ10sCgkJCQkJCWFycmF5KAoJCQkJCQkJJ29iamVjdF90eXBlJyAgICAgPT4gJHR5cGUsCgkJCQkJCQknb2JqZWN0JyAgICAgICAgICA9PiAkZGVsZXRlZF9pdGVtLAoJCQkJCQkJJ3NmX3N5bmNfdHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwKCQkJCQkJKSwKCQkJCQkJJHRoaXMtPnNjaGVkdWxlX25hbWUKCQkJCQkpOwoKCQkJCX0gLy8gZW5kIGZvcmVhY2guCgoJCQkJJHRoaXMtPnB1bGxfb3B0aW9ucy0+c2V0KCAnZGVsZXRlX2xhc3QnLCAkdHlwZSwgJHNhbGVzZm9yY2VfbWFwcGluZ1snaWQnXSwgdGltZSgpICk7CgoJCQl9IC8vIEVuZCBmb3JlYWNoKCkgbG9vcC4KCQl9IC8vIEVuZCBmb3JlYWNoKCkgbG9vcC4KCX0KCgkvKioKCSAqIE1ldGhvZCBmb3IgYWpheCBob29rcyB0byBjYWxsIGZvciBwdWxsaW5nIG1hbnVhbGx5CgkgKgoJICogQHBhcmFtIHN0cmluZyAkb2JqZWN0X3R5cGUgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IHR5cGUuCgkgKiBAcGFyYW0gc3RyaW5nICRzYWxlc2ZvcmNlX2lkIHRoZSBTYWxlc2ZvcmNlIHJlY29yZCBJRC4KCSAqIEByZXR1cm4gYXJyYXkgJHJlc3VsdAoJICovCglwdWJsaWMgZnVuY3Rpb24gbWFudWFsX3B1bGwoICRvYmplY3RfdHlwZSwgJHNhbGVzZm9yY2VfaWQgPSAnJyApIHsKCgkJaWYgKCAnJyA9PT0gJHNhbGVzZm9yY2VfaWQgKSB7CgkJCSRzZl9zeW5jX3RyaWdnZXIgPSAkdGhpcy0+bWFwcGluZ3MtPnN5bmNfc2ZfY3JlYXRlOwoJCX0gZWxzZSB7CgkJCSRzZl9zeW5jX3RyaWdnZXIgPSAkdGhpcy0+bWFwcGluZ3MtPnN5bmNfc2ZfdXBkYXRlOwoJCX0KCgkJJHJlc3VsdHMgPSAkdGhpcy0+c2FsZXNmb3JjZV9wdWxsX3Byb2Nlc3NfcmVjb3JkcyggJG9iamVjdF90eXBlLCAkc2FsZXNmb3JjZV9pZCwgJHNmX3N5bmNfdHJpZ2dlciApOwoKCQkkY29kZSA9ICcyMDEnOwoJCWZvcmVhY2ggKCAkcmVzdWx0cyBhcyAkcmVzdWx0ICkgewoJCQlpZiAoICEgaXNzZXQoICRyZXN1bHRbJ3N0YXR1cyddICkgfHwgJ3N1Y2Nlc3MnICE9PSAkcmVzdWx0WydzdGF0dXMnXSApIHsKCQkJCSRjb2RlID0gJzQwMyc7CgkJCX0KCQl9CgoJCSRyZXN1bHQgPSBhcnJheSgKCQkJJ2NvZGUnID0+ICRjb2RlLAoJCQknZGF0YScgPT4gYXJyYXkoCgkJCQknc3VjY2VzcycgPT4gJHJlc3VsdHMsCgkJCSksCgkJKTsKCgkJcmV0dXJuICRyZXN1bHQ7CgoJfQoKCS8qKgoJICogU3luYyBXb3JkUHJlc3Mgb2JqZWN0cyBhbmQgU2FsZXNmb3JjZSBvYmplY3RzIGZyb20gdGhlIHF1ZXVlIHVzaW5nIHRoZSBSRVNUIEFQSS4KCSAqCgkgKiBAcGFyYW0gc3RyaW5nICAgICAgICRvYmplY3RfdHlwZSBUeXBlIG9mIFNhbGVzZm9yY2Ugb2JqZWN0LgoJICogQHBhcmFtIGFycmF5fHN0cmluZyAkb2JqZWN0IFRoZSBTYWxlc2ZvcmNlIGRhdGEgb3IgaXRzIElkIHZhbHVlLgoJICogQHBhcmFtIGludCAgICAgICAgICAkc2Zfc3luY190cmlnZ2VyIFRyaWdnZXIgZm9yIHRoaXMgc3luYy4KCSAqIEByZXR1cm4gYm9vbCB0cnVlIG9yIGV4aXQgdGhlIG1ldGhvZAoJICogQHRocm93cyBPYmplY3RfU3luY19TZl9FeGNlcHRpb24gRXhjZXB0aW9uICRlLgoJICovCglwdWJsaWMgZnVuY3Rpb24gc2FsZXNmb3JjZV9wdWxsX3Byb2Nlc3NfcmVjb3JkcyggJG9iamVjdF90eXBlLCAkb2JqZWN0LCAkc2Zfc3luY190cmlnZ2VyICkgewoKCQkkc2ZhcGkgPSAkdGhpcy0+c2FsZXNmb3JjZVsnc2ZhcGknXTsKCgkJaWYgKCBpc19zdHJpbmcoICRvYmplY3QgKSApIHsKCQkJJHNhbGVzZm9yY2VfaWQgPSAkb2JqZWN0OwoJCQkvLyBMb2FkIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCBkYXRhIHRvIHNhdmUgaW4gV29yZFByZXNzLiBXZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IHRoaXMgZGF0YSBkb2VzIG5vdCBnZXQgY2FjaGVkLCB3aGljaCBpcyBjb25zaXN0ZW50IHdpdGggb3RoZXIgcHVsbCBiZWhhdmlvciBhcyB3ZWxsIGFzIGluIG90aGVyIG1ldGhvZHMgaW4gdGhpcyBjbGFzcy4KCQkJLy8gV2Ugc2hvdWxkIG9ubHkgZG8gdGhpcyBpZiB3ZSdyZSBub3QgdHJ5aW5nIHRvIGRlbGV0ZSBkYXRhIGluIFdvcmRQcmVzcyAtIG90aGVyd2lzZSwgd2UnbGwgZ2V0IGEgNDA0IGZyb20gU2FsZXNmb3JjZSBhbmQgdGhlIGRlbGV0ZSB3aWxsIGZhaWwuCgkJCWlmICggJHNmX3N5bmNfdHJpZ2dlciAhPT0gJHRoaXMtPm1hcHBpbmdzLT5zeW5jX3NmX2RlbGV0ZSApIHsKCQkJCSRvYmplY3QgPSAkc2ZhcGktPm9iamVjdF9yZWFkKAoJCQkJCSRvYmplY3RfdHlwZSwKCQkJCQkkc2FsZXNmb3JjZV9pZCwKCQkJCQlhcnJheSgKCQkJCQkJJ2NhY2hlJyA9PiBmYWxzZSwKCQkJCQkpCgkJCQkpWydkYXRhJ107CgkJCX0gZWxzZSB7CgkJCQlpZiAoIHRydWUgPT09ICR0aGlzLT5kZWJ1ZyApIHsKCQkJCQkvLyBjcmVhdGUgbG9nIGVudHJ5IGZvciBmYWlsZWQgcHVsbC4KCQkJCQkkc3RhdHVzID0gJ2RlYnVnJzsKCQkJCQkkdGl0bGUgID0gc3ByaW50ZigKCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLgoJCQkJCQllc2NfaHRtbF9fKCAnJTEkczogd2UgYXJlIG1pc3NpbmcgYSBkZWxldGVkRGF0ZSBhdHRyaWJ1dGUgaGVyZSwgYnV0IGFyZSBleHBlY3RlZCB0byBkZWxldGUgYW4gaXRlbS4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKQoJCQkJCSk7CgoJCQkJCWlmICggaXNzZXQoICR0aGlzLT5sb2dnaW5nICkgKSB7CgkJCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJCQkkbG9nZ2luZyA9IG5ldyBPYmplY3RfU3luY19TZl9Mb2dnaW5nKCAkdGhpcy0+d3BkYiwgJHRoaXMtPnZlcnNpb24gKTsKCQkJCQl9CgoJCQkJCSRkZWJ1ZyA9IGFycmF5KAoJCQkJCQkndGl0bGUnICAgPT4gJHRpdGxlLAoJCQkJCQknbWVzc2FnZScgPT4gJycsCgkJCQkJCSd0cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLAoJCQkJCQkncGFyZW50JyAgPT4gJycsCgkJCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkJCSk7CgoJCQkJCSRsb2dnaW5nLT5zZXR1cCggJGRlYnVnICk7CgkJCQl9CgoJCQkJJG9iamVjdCA9IGFycmF5KAoJCQkJCSdJZCcgICAgICAgICAgPT4gJG9iamVjdCwKCQkJCQknZGVsZXRlZERhdGUnID0+IGdtZGF0ZSggJ1ktbS1kXFRIOmk6c1xaJyApLCAvLyB0aGlzIHNob3VsZCBob3BlZnVsbHkgbmV2ZXIgaGFwcGVuLgoJCQkJKTsKCQkJfSAvLyBkZWxldGVkIHJlY29yZHMgc2hvdWxkIGFsd2F5cyBjb21lIHRocm91Z2ggd2l0aCB0aGVpciBvd24gZGVsZXRlZERhdGUgdmFsdWUuCgkJfQoKCQkkbWFwcGluZ19jb25kaXRpb25zID0gYXJyYXkoCgkJCSdzYWxlc2ZvcmNlX29iamVjdCcgPT4gJG9iamVjdF90eXBlLAoJCSk7CgoJCWlmICggaXNzZXQoICRvYmplY3RbJ1JlY29yZFR5cGVJZCddICkgJiYgJG9iamVjdFsnUmVjb3JkVHlwZUlkJ10gIT09ICR0aGlzLT5tYXBwaW5ncy0+c2FsZXNmb3JjZV9kZWZhdWx0X3JlY29yZF90eXBlICkgewoJCQkvLyB1c2UgdGhpcyBjb25kaXRpb24gdG8gZmlsdGVyIHRoZSBtYXBwaW5ncywgYXQgdGhhdCB0aW1lLgoJCQkkbWFwcGluZ19jb25kaXRpb25zWydzYWxlc2ZvcmNlX3JlY29yZF90eXBlJ10gPSAkb2JqZWN0WydSZWNvcmRUeXBlSWQnXTsKCQl9CgoJCSRzYWxlc2ZvcmNlX21hcHBpbmdzID0gJHRoaXMtPm1hcHBpbmdzLT5nZXRfZmllbGRtYXBzKAoJCQludWxsLAoJCQlhcnJheV9tZXJnZSgKCQkJCSR0aGlzLT5tYXBwaW5ncy0+YWN0aXZlX2ZpZWxkbWFwX2NvbmRpdGlvbnMsCgkJCQkkbWFwcGluZ19jb25kaXRpb25zLAoJCQkpLAoJCSk7CgoJCS8vIGZyb20gZHJ1cGFsOiBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIG1hcHBpbmcsIGRvbid0IHRocm93IGV4Y2VwdGlvbnMuCgkJJGhvbGRfZXhjZXB0aW9ucyA9IGNvdW50KCAkc2FsZXNmb3JjZV9tYXBwaW5ncyApID4gMTsKCQkkZXhjZXB0aW9uICAgICAgID0gZmFsc2U7CgoJCSRmcmVxdWVuY2llcyA9ICR0aGlzLT5xdWV1ZS0+Z2V0X2ZyZXF1ZW5jaWVzKCk7CgkJJHNlY29uZHMgICAgID0gcmVzZXQoICRmcmVxdWVuY2llcyApWydmcmVxdWVuY3knXSArIDYwOwoKCQkkdHJhbnNpZW50c190b19kZWxldGUgPSBhcnJheSgpOwoKCQkkcmVzdWx0cyA9IGFycmF5KCk7CgoJCWZvcmVhY2ggKCAkc2FsZXNmb3JjZV9tYXBwaW5ncyBhcyAkc2FsZXNmb3JjZV9tYXBwaW5nICkgewoKCQkJLy8gdGhpcyByZXR1cm5zIHRoZSByb3cgdGhhdCBtYXBzIGFuIGluZGl2aWR1YWwgU2FsZXNmb3JjZSByb3cgdG8gYW4gaW5kaXZpZHVhbCBXb3JkUHJlc3Mgcm93LgoJCQlpZiAoIGlzc2V0KCAkb2JqZWN0WydJZCddICkgKSB7CgkJCQkkbWFwcGluZ19vYmplY3RzID0gJHRoaXMtPm1hcHBpbmdzLT5sb2FkX29iamVjdF9tYXBzX2J5X3NhbGVzZm9yY2VfaWQoICRvYmplY3RbJ0lkJ10sICRzYWxlc2ZvcmNlX21hcHBpbmcgKTsKCQkJfSBlbHNlIHsKCQkJCS8vIGlmIHdlIGRvbid0IGhhdmUgYSBTYWxlc2ZvcmNlIG9iamVjdCBpZCwgd2UndmUgZ290IG5vIGJ1c2luZXNzIGRvaW5nIHN0dWZmIGluIFdvcmRQcmVzcy4KCQkJCSRzdGF0dXMgPSAnZXJyb3InOwoJCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQkJfQoKCQkJCSR0aXRsZSA9IHNwcmludGYoCgkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLgoJCQkJCWVzY19odG1sX18oICclMSRzOiBTYWxlc2ZvcmNlIFB1bGw6IHVuYWJsZSB0byBwcm9jZXNzIHF1ZXVlIGl0ZW0gYmVjYXVzZSBpdCBoYXMgbm8gU2FsZXNmb3JjZSBJZC4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApCgkJCQkpOwoJCQkJJHJlc3VsdCA9IGFycmF5KAoJCQkJCSd0aXRsZScgICA9PiAkdGl0bGUsCgkJCQkJJ21lc3NhZ2UnID0+IHByaW50X3IoICRvYmplY3QsIHRydWUgKSwgLy8gcGhwY3M6aWdub3JlIFdvcmRQcmVzcy5QSFAuRGV2ZWxvcG1lbnRGdW5jdGlvbnMuZXJyb3JfbG9nX3ByaW50X3IKCQkJCQkndHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwKCQkJCQkncGFyZW50JyAgPT4gMCwgLy8gcGFyZW50IGlkIGdvZXMgaGVyZSBidXQgd2UgZG9uJ3QgaGF2ZSBvbmUsIHNvIG1ha2UgaXQgMC4KCQkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJCSk7CgoJCQkJJGxvZ2dpbmctPnNldHVwKCAkcmVzdWx0ICk7CgoJCQkJJHJlc3VsdHNbXSA9ICRyZXN1bHQ7CgkJCQljb250aW51ZTsKCQkJfQoKCQkJLy8gSXMgdGhpcyBTYWxlc2ZvcmNlIG9iamVjdCBhbHJlYWR5IGNvbm5lY3RlZCB0byBhdCBsZWFzdCBvbmUgV29yZFByZXNzIG9iamVjdD8KCQkJaWYgKCBpc3NldCggJG1hcHBpbmdfb2JqZWN0c1swXVsnaWQnXSApICkgewoJCQkJJGlzX25ldyA9IGZhbHNlOwoJCQl9IGVsc2UgewoJCQkJLy8gdGhlcmUgaXMgbm90IGEgbWFwcGluZyBvYmplY3QgZm9yIHRoaXMgU2FsZXNmb3JjZSBvYmplY3QgaWQgeWV0CgkJCQkvLyBjaGVjayB0byBzZWUgaWYgdGhlcmUgaXMgYSBwdXNoaW5nIHRyYW5zaWVudCBmb3IgdGhhdCBTYWxlc2ZvcmNlIElkLgoJCQkJJGlzX25ldyA9IHRydWU7CgkJCX0KCgkJCS8vIGJ5IGRlZmF1bHQsIHdlJ3JlIG5vdCBkb2luZyBhIG1lcmdlLgoJCQkkaXNfbWVyZ2UgPSBmYWxzZTsKCQkJJG1lcmdlZCAgID0gZ2V0X3RyYW5zaWVudCggJ3NhbGVzZm9yY2VfbWVyZ2VkXycgLiAkb2JqZWN0X3R5cGUgKTsKCQkJaWYgKCBmYWxzZSAhPT0gJG1lcmdlZCApIHsKCQkJCSRrZXkgPSBhcnJheV9zZWFyY2goICRvYmplY3RbJ0lkJ10sIGFycmF5X2NvbHVtbiggJG1lcmdlZCwgJ0lkJyApLCB0cnVlICk7CgkJCQlpZiAoIGZhbHNlICE9PSAka2V5ICkgewoJCQkJCSRpc19tZXJnZSA9IHRydWU7CgkJCQkJJGlzX25ldyAgID0gZmFsc2U7CgkJCQl9CgkJCX0KCgkJCSRtYXBwaW5nX29iamVjdF9pZF90cmFuc2llbnQgPSBnZXRfdHJhbnNpZW50KCAnc2FsZXNmb3JjZV9wdXNoaW5nX29iamVjdF9pZCcgKTsKCQkJaWYgKCBmYWxzZSA9PT0gJG1hcHBpbmdfb2JqZWN0X2lkX3RyYW5zaWVudCApIHsKCQkJCSRtYXBwaW5nX29iamVjdF9pZF90cmFuc2llbnQgPSAkb2JqZWN0WydJZCddOwoJCQl9CgkJCS8vIEhlcmUncyB3aGVyZSB3ZSBjaGVjayB0byBzZWUgd2hldGhlciB0aGUgY3VycmVudCByZWNvcmQgd2FzIHVwZGF0ZWQgYnkgYSBwdXNoIGZyb20gdGhpcyBwbHVnaW4gb3Igbm90LiBIZXJlJ3MgaG93IGl0IHdvcmtzOgoJCQkvLyAxLiBBIHJlY29yZCBnZXRzIHB1c2hlZCB0byBTYWxlc2ZvcmNlIGJ5IHRoaXMgcGx1Z2luLgoJCQkvLyAyLiBXZSBzYXZlIHRoZSBMYXN0TW9kaWZpZWREYXRlIGZyb20gdGhlIFNhbGVzZm9yY2UgcmVzdWx0IGFzIGEgdGltZXN0YW1wIGluIHRoZSB0cmFuc2llbnQuCgkJCS8vIDMuIEJlbG93LCBpbiBhZGRpdGlvbiB0byBjaGVja2luZyB0aGUgU2FsZXNmb3JjZSBJZCwgd2UgY2hlY2sgYWdhaW5zdCAkb2JqZWN0J3MgTGFzdE1vZGlmaWVkRGF0ZSBhbmQgaWYgaXQncyBub3QgbGF0ZXIgdGhhbiB0aGUgdHJhbnNpZW50IHZhbHVlLCB3ZSBza2lwIGl0IGJlY2F1c2UgaXQncyBzdGlsbCBwdXNoaW5nIGZyb20gb3VyIGFjdGl2aXR5LgoJCQkkc2FsZXNmb3JjZV9wdXNoaW5nID0gKGludCkgZ2V0X3RyYW5zaWVudCggJ3NhbGVzZm9yY2VfcHVzaGluZ18nIC4gJG1hcHBpbmdfb2JqZWN0X2lkX3RyYW5zaWVudCApOwoKCQkJaWYgKCAxICE9PSAkc2FsZXNmb3JjZV9wdXNoaW5nICkgewoJCQkJLy8gdGhlIGZvcm1hdCB0byBjb21wYXJlIGlzIGxpa2UgdGhpczogZ21kYXRlKCAnWS1tLWRcVEg6aTpzXFonLCAkc2FsZXNmb3JjZV9wdXNoaW5nICkuCgkJCQlpZiAoICRtYXBwaW5nX29iamVjdF9pZF90cmFuc2llbnQgIT09ICRvYmplY3RbJ0lkJ10gKSB7CgkJCQkJJHNhbGVzZm9yY2VfcHVzaGluZyA9IDA7CgkJCQl9IGVsc2VpZiAoIDAgPT09ICRzYWxlc2ZvcmNlX3B1c2hpbmcgfHwgKCBpc3NldCggJG9iamVjdFsnTGFzdE1vZGlmaWVkRGF0ZSddICkgJiYgc3RydG90aW1lKCAkb2JqZWN0WydMYXN0TW9kaWZpZWREYXRlJ10gKSA+ICRzYWxlc2ZvcmNlX3B1c2hpbmcgKSB8fCAoIGlzc2V0KCAkb2JqZWN0WydkZWxldGVkRGF0ZSddICkgJiYgc3RydG90aW1lKCAkb2JqZWN0WydkZWxldGVkRGF0ZSddICkgPiAkc2FsZXNmb3JjZV9wdXNoaW5nICkgKSB7CgkJCQkJJHNhbGVzZm9yY2VfcHVzaGluZyA9IDA7CgkJCQl9IGVsc2UgewoJCQkJCSRzYWxlc2ZvcmNlX3B1c2hpbmcgPSAxOwoJCQkJfQoJCQl9IGVsc2UgewoJCQkJJHNhbGVzZm9yY2VfcHVzaGluZyA9IDE7CgkJCX0KCgkJCWlmICggMSA9PT0gJHNhbGVzZm9yY2VfcHVzaGluZyApIHsKCQkJCSR0cmFuc2llbnRzX3RvX2RlbGV0ZVtdID0gJG1hcHBpbmdfb2JqZWN0X2lkX3RyYW5zaWVudDsKCQkJCWlmICggdHJ1ZSA9PT0gJHRoaXMtPmRlYnVnICkgewoJCQkJCS8vIGNyZWF0ZSBsb2cgZW50cnkgZm9yIGZhaWxlZCBwdWxsLgoJCQkJCSRzdGF0dXMgPSAnZGVidWcnOwoJCQkJCSR0aXRsZSAgPSBzcHJpbnRmKAoJCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIGxvZyBzdGF0dXMsIDIpIHRoZSBtYXBwaW5nIG9iamVjdCBJRCB0cmFuc2llbnQuCgkJCQkJCWVzY19odG1sX18oICclMSRzOiBtYXBwaW5nIG9iamVjdCB0cmFuc2llbnQgSUQgJTIkcyBpcyBjdXJyZW50bHkgcHVzaGluZywgc28gd2UgZG8gbm90IHB1bGwgaXQuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQl1Y2ZpcnN0KCBlc2NfYXR0ciggJHN0YXR1cyApICksCgkJCQkJCSRtYXBwaW5nX29iamVjdF9pZF90cmFuc2llbnQKCQkJCQkpOwoKCQkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQkJfQoKCQkJCQkkZGVidWcgPSBhcnJheSgKCQkJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCQkJJ21lc3NhZ2UnID0+ICcnLAoJCQkJCQkndHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwKCQkJCQkJJ3BhcmVudCcgID0+ICcnLAoJCQkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJCQkpOwoKCQkJCQkkbG9nZ2luZy0+c2V0dXAoICRkZWJ1ZyApOwoJCQkJfQoKCQkJCWNvbnRpbnVlOwoJCQl9CgoJCQkkc3RydWN0dXJlICAgICAgICAgICAgICAgPSAkdGhpcy0+d29yZHByZXNzLT5nZXRfd29yZHByZXNzX3RhYmxlX3N0cnVjdHVyZSggJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddICk7CgkJCSR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSA9ICRzdHJ1Y3R1cmVbJ2lkX2ZpZWxkJ107CgoJCQkvLyBvbmx5IGRlYWwgd2l0aCBwYXJhbWV0ZXJzIGlmIHdlIGFyZSBub3QgZGVsZXRpbmcuCgkJCWlmICggKCB0cnVlID09PSAkaXNfbmV3ICYmICRzZl9zeW5jX3RyaWdnZXIgPT09ICR0aGlzLT5tYXBwaW5ncy0+c3luY19zZl9jcmVhdGUgKSB8fCAkc2Zfc3luY190cmlnZ2VyID09PSAkdGhpcy0+bWFwcGluZ3MtPnN5bmNfc2ZfdXBkYXRlICkgeyAvLyB0cmlnZ2VyIGlzIGEgYml0IG9wZXJhdG9yCgkJCQkvLyBtYXAgdGhlIFNhbGVzZm9yY2UgdmFsdWVzIHRvIFdvcmRQcmVzcyBmaWVsZHMuCgkJCQkkcGFyYW1zID0gJHRoaXMtPm1hcHBpbmdzLT5tYXBfcGFyYW1zKCAkc2FsZXNmb3JjZV9tYXBwaW5nLCAkb2JqZWN0LCAkc2Zfc3luY190cmlnZ2VyLCBmYWxzZSwgJGlzX25ldywgJHdvcmRwcmVzc19pZF9maWVsZF9uYW1lICk7CgoJCQkJLy8gaG9vayB0byBhbGxvdyBvdGhlciBwbHVnaW5zIHRvIG1vZGlmeSB0aGUgJHBhcmFtcyBhcnJheQoJCQkJLy8gdXNlIGhvb2sgdG8gbWFwIGZpZWxkcyBiZXR3ZWVuIHRoZSBXb3JkUHJlc3MgYW5kIFNhbGVzZm9yY2Ugb2JqZWN0cwoJCQkJLy8gcmV0dXJucyAkcGFyYW1zLgoJCQkJJHBhcmFtcyA9IGFwcGx5X2ZpbHRlcnMoICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3B1bGxfcGFyYW1zX21vZGlmeScsICRwYXJhbXMsICRzYWxlc2ZvcmNlX21hcHBpbmcsICRvYmplY3QsICRzZl9zeW5jX3RyaWdnZXIsIGZhbHNlLCAkaXNfbmV3ICk7CgoJCQkJLy8gc2V0dXAgcHJlbWF0Y2ggcGFyYW1ldGVycy4KCQkJCSRwcmVtYXRjaCA9IGFycmF5KCk7CgoJCQkJLy8gaWYgdGhlcmUgaXMgYSBwcmVtYXRjaCBXb3JkUHJlc3MgZmllbGQgLSBpZSBlbWFpbCAtIG9uIHRoZSBmaWVsZG1hcCBvYmplY3QuCgkJCQlpZiAoIGlzc2V0KCAkcGFyYW1zWydwcmVtYXRjaCddICkgJiYgaXNfYXJyYXkoICRwYXJhbXNbJ3ByZW1hdGNoJ10gKSApIHsKCQkJCQkkcHJlbWF0Y2hbJ2ZpZWxkX3dvcmRwcmVzcyddICA9ICRwYXJhbXNbJ3ByZW1hdGNoJ11bJ3dvcmRwcmVzc19maWVsZCddOwoJCQkJCSRwcmVtYXRjaFsnZmllbGRfc2FsZXNmb3JjZSddID0gJHBhcmFtc1sncHJlbWF0Y2gnXVsnc2FsZXNmb3JjZV9maWVsZCddOwoJCQkJCSRwcmVtYXRjaFsndmFsdWUnXSAgICAgICAgICAgID0gJHBhcmFtc1sncHJlbWF0Y2gnXVsndmFsdWUnXTsKCQkJCQkkcHJlbWF0Y2hbJ21ldGhvZHMnXSAgICAgICAgICA9IGFycmF5KAoJCQkJCQknbWV0aG9kX21hdGNoJyAgPT4gaXNzZXQoICRwYXJhbXNbJ3ByZW1hdGNoJ11bJ21ldGhvZF9tYXRjaCddICkgPyAkcGFyYW1zWydwcmVtYXRjaCddWydtZXRob2RfbWF0Y2gnXSA6ICRwYXJhbXNbJ3ByZW1hdGNoJ11bJ21ldGhvZF9yZWFkJ10sCgkJCQkJCSdtZXRob2RfY3JlYXRlJyA9PiAkcGFyYW1zWydwcmVtYXRjaCddWydtZXRob2RfY3JlYXRlJ10sCgkJCQkJCSdtZXRob2RfdXBkYXRlJyA9PiAkcGFyYW1zWydwcmVtYXRjaCddWydtZXRob2RfdXBkYXRlJ10sCgkJCQkJCSdtZXRob2RfcmVhZCcgICA9PiAkcGFyYW1zWydwcmVtYXRjaCddWydtZXRob2RfcmVhZCddLAoJCQkJCSk7CgkJCQkJdW5zZXQoICRwYXJhbXNbJ3ByZW1hdGNoJ10gKTsKCQkJCX0KCgkJCQkvLyBpZiB0aGVyZSBpcyBhbiBleHRlcm5hbCBrZXkgZmllbGQgaW4gU2FsZXNmb3JjZSAtIGllIGEgTWFpbGNoaW1wIHVzZXIgaWQgLSBvbiB0aGUgZmllbGRtYXAgb2JqZWN0LCB0aGlzIHNob3VsZCBub3QgYWZmZWN0IGhvdyBXb3JkUHJlc3MgaGFuZGxlcyBpdCBpcyBub3QgaW5jbHVkZWQgaW4gdGhlIHB1bGwgcGFyYW1ldGVycy4KCgkJCQkvLyBpZiB3ZSBkb24ndCBnZXQgYW55IHBhcmFtcywgdGhlcmUgYXJlIG5vIGZpZWxkcyB0aGF0IHNob3VsZCBiZSBzZW50IHRvIFdvcmRQcmVzcy4KCQkJCWlmICggZW1wdHkoICRwYXJhbXMgKSApIHsKCgkJCQkJLy8gaWYgdGhlIHBhcmFtZXRlcnMgYXJyYXkgaXMgZW1wdHkgYXQgdGhpcyBwb2ludCwgd2Ugc2hvdWxkIGNyZWF0ZSBhIGxvZyBlbnRyeSB0byB0aGF0IGVmZmVjdC4KCQkJCQkvLyBJIHRoaW5rIGl0IHNob3VsZCBiZSBhIGRlYnVnIG1lc3NhZ2UsIHVubGVzcyB3ZSBsZWFybiBmcm9tIHVzZXJzIHRoYXQgaXQgc2hvdWxkIGJlIHJhaXNlZCB0byBhbiBlcnJvci4KCQkJCQlpZiAoIHRydWUgPT09ICR0aGlzLT5kZWJ1ZyApIHsKCQkJCQkJJHN0YXR1cyA9ICdkZWJ1Zyc7CgkJCQkJCWlmICggaXNzZXQoICR0aGlzLT5sb2dnaW5nICkgKSB7CgkJCQkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQkJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkJCQkkbG9nZ2luZyA9IG5ldyBPYmplY3RfU3luY19TZl9Mb2dnaW5nKCAkdGhpcy0+d3BkYiwgJHRoaXMtPnZlcnNpb24gKTsKCQkJCQkJfQoKCQkJCQkJJHRpdGxlID0gc3ByaW50ZigKCQkJCQkJCS8vIHRyYW5zbGF0b3JzOiAlMSRzIGlzIHRoZSBsb2cgc3RhdHVzLgoJCQkJCQkJZXNjX2h0bWxfXyggJyUxJHMgTWFwcGluZzogYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IHBsdWdpbiBzZXR0aW5ncywgdGhlcmUgYXJlIG5vIHBhcmFtZXRlcnMgaW4gdGhlIGN1cnJlbnQgZGF0YXNldCB0aGF0IGNhbiBiZSBwdWxsZWQgZnJvbSBTYWxlc2ZvcmNlLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKQoJCQkJCQkpOwoKCQkJCQkJJGJvZHkgPSAnJzsKCgkJCQkJCSRib2R5IC49IHNwcmludGYoCgkJCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIGZpZWxkbWFwIHJvdyBJRCwgMikgdGhlIG5hbWUgb2YgdGhlIFdvcmRQcmVzcyBvYmplY3QsIDMpIHRoZSBuYW1lIG9mIHRoZSBTYWxlc2ZvcmNlIG9iamVjdC4KCQkJCQkJCSc8cD4nIC4gZXNjX2h0bWxfXyggJ1RoZXJlIGlzIGEgZmllbGRtYXAgd2l0aCBJRCBvZiAlMSRzIGFuZCBpdCBtYXBzIHRoZSBXb3JkUHJlc3MgJTIkcyBvYmplY3QgdG8gdGhlIFNhbGVzZm9yY2UgJTMkcyBvYmplY3QuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApIC4gJzwvcD4nLAoJCQkJCQkJYWJzaW50KCAkc2FsZXNmb3JjZV9tYXBwaW5nWydpZCddICksCgkJCQkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddICksCgkJCQkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9vYmplY3QnXSApCgkJCQkJCSk7CgoJCQkJCQkvLyB3aGV0aGVyIGl0J3MgYSBuZXcgbWFwcGluZyBvYmplY3Qgb3Igbm90LgoJCQkJCQlpZiAoIGZhbHNlID09PSAkaXNfbmV3ICkgewoJCQkJCQkJLy8gdGhpcyBvbmUgaXMgbm90IG5ldy4KCQkJCQkJCWZvcmVhY2ggKCAkbWFwcGluZ19vYmplY3RzIGFzICRtYXBwaW5nX29iamVjdCApIHsKCQkJCQkJCQkkYm9keSAuPSBzcHJpbnRmKAoJCQkJCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIG1hcHBpbmcgb2JqZWN0IHJvdyBJRCwgMikgdGhlIG5hbWUgb2YgdGhlIFdvcmRQcmVzcyBvYmplY3QsIDMpIHRoZSBJRCBvZiB0aGUgV29yZFByZXNzIG9iamVjdCwgNCkgdGhlIElEIG9mIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCBpdCB3YXMgdHJ5aW5nIHRvIG1hcC4KCQkJCQkJCQkJJzxwPicgLiBlc2NfaHRtbF9fKCAnVGhlcmUgaXMgYW4gZXhpc3Rpbmcgb2JqZWN0IG1hcCB3aXRoIElEIG9mICUxJHMgYW5kIGl0IGlzIG1hcHBlZCB0byB0aGUgV29yZFByZXNzICUyJHMgd2l0aCBJRCBvZiAlMyRzIGFuZCB0aGUgU2FsZXNmb3JjZSBvYmplY3Qgd2l0aCBJRCBvZiAlNCRzLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSAuICc8L3A+JywKCQkJCQkJCQkJYWJzaW50KCAkbWFwcGluZ19vYmplY3RbJ2lkJ10gKSwKCQkJCQkJCQkJZXNjX2F0dHIoICRtYXBwaW5nX29iamVjdFsnd29yZHByZXNzX29iamVjdCddICksCgkJCQkJCQkJCWVzY19hdHRyKCAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddICksCgkJCQkJCQkJCWVzY19hdHRyKCAkbWFwcGluZ19vYmplY3RbJ3NhbGVzZm9yY2VfaWQnXSApCgkJCQkJCQkJKTsKCQkJCQkJCX0KCQkJCQkJfSBlbHNlIHsKCQkJCQkJCS8vIHRoaXMgb25lIGlzIG5ldy4KCQkJCQkJCSRib2R5IC49IHNwcmludGYoCgkJCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBJRCBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QsIDIpIHRoZSBXb3JkUHJlc3Mgb2JqZWN0IHR5cGUuCgkJCQkJCQkJJzxwPicgLiBlc2NfaHRtbF9fKCAnVGhlIHBsdWdpbiB3YXMgdHJ5aW5nIHRvIHB1bGwgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IHdpdGggSUQgb2YgJTEkcyB0byB0aGUgV29yZFByZXNzICUyJHMgb2JqZWN0IHR5cGUuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApIC4gJzwvcD4nLAoJCQkJCQkJCWVzY19hdHRyKCAkb2JqZWN0WydJZCddICksCgkJCQkJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSApCgkJCQkJCQkpOwoJCQkJCQl9CgoJCQkJCQkkYm9keSAuPSBzcHJpbnRmKAoJCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmUgMSkgdGhlIG9iamVjdCdzIGRhdGEgdGhhdCB3YXMgYXR0ZW1wdGVkLgoJCQkJCQkJJzxwPicgLiBlc2NfaHRtbF9fKCAnVGhlIFNhbGVzZm9yY2Ugb2JqZWN0IGRhdGEgdGhhdCB3YXMgYXR0ZW1wdGVkOiAlMSRzJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApIC4gJzwvcD4nLAoJCQkJCQkJcHJpbnRfciggJG9iamVjdCwgdHJ1ZSApIC8vIHBocGNzOmlnbm9yZSBXb3JkUHJlc3MuUEhQLkRldmVsb3BtZW50RnVuY3Rpb25zLmVycm9yX2xvZ19wcmludF9yCgkJCQkJCSk7CgoJCQkJCQkkbG9nZ2luZy0+c2V0dXAoCgkJCQkJCQkkdGl0bGUsCgkJCQkJCQkkYm9keSwKCQkJCQkJCSRzZl9zeW5jX3RyaWdnZXIsCgkJCQkJCQkwLAoJCQkJCQkJJHN0YXR1cwoJCQkJCQkpOwoJCQkJCX0gLy8gZW5kIGRlYnVnIG1vZGUgY2hlY2suCgoJCQkJCWNvbnRpbnVlOwoJCQkJfSAvLyBlbmQgaWYgcGFyYW1zIGFyZSBlbXB0eS4KCQkJfSBlbHNlaWYgKCAkc2Zfc3luY190cmlnZ2VyID09PSAkdGhpcy0+bWFwcGluZ3MtPnN5bmNfc2ZfZGVsZXRlICkgewoJCQkJLy8gdGhpcyBpcyBhIGRlbGV0aW9uLiBkb24ndCBkZWFsIHdpdGggcGFyYW1ldGVycy4KCQkJCSRpc19uZXcgPSBmYWxzZTsKCQkJfSAvLyBlbmQgY2hlY2tpbmcgZm9yIGNyZWF0ZS91cGRhdGUvZGVsZXRlLgoKCQkJLy8gaWYgdGhpcyBTYWxlc2ZvcmNlIHJlY29yZCBpcyBuZXcgdG8gV29yZFByZXNzLCB3ZSBjYW4gdHJ5IHRvIGNyZWF0ZSBpdC4KCQkJaWYgKCB0cnVlID09PSAkaXNfbmV3ICkgewoJCQkJaWYgKCBpc3NldCggJG1hcHBpbmdfb2JqZWN0c1swXSApICkgewoJCQkJCSRtYXBwaW5nX29iamVjdCA9ICRtYXBwaW5nX29iamVjdHNbMF07CgkJCQl9IGVsc2UgewoJCQkJCSRtYXBwaW5nX29iamVjdCA9ICRtYXBwaW5nX29iamVjdHM7CgkJCQl9CgkJCQkkc3luY2VkX29iamVjdCA9ICR0aGlzLT5nZXRfc3luY2VkX29iamVjdCggJG9iamVjdCwgJG1hcHBpbmdfb2JqZWN0LCAkc2FsZXNmb3JjZV9tYXBwaW5nICk7CgkJCQkkY3JlYXRlICAgICAgICA9ICR0aGlzLT5jcmVhdGVfY2FsbGVkX2Zyb21fc2FsZXNmb3JjZSggJHNmX3N5bmNfdHJpZ2dlciwgJHN5bmNlZF9vYmplY3QsICRwYXJhbXMsICRwcmVtYXRjaCwgJHdvcmRwcmVzc19pZF9maWVsZF9uYW1lLCAkc2Vjb25kcyApOwoJCQkJJHJlc3VsdHMgICAgICAgPSBhcnJheV9tZXJnZSggJHJlc3VsdHMsICRjcmVhdGUgKTsKCQkJfSBlbHNlaWYgKCBmYWxzZSA9PT0gJGlzX25ldyAmJiBmYWxzZSA9PT0gJGlzX21lcmdlICkgewoJCQkJLy8gdW5sZXNzIHdlJ3JlIG9uIGEgZGVsZXRlLCB0aGVyZSBpcyBhbHJlYWR5IGF0IGxlYXN0IG9uZSBtYXBwaW5nX29iamVjdFsnaWQnXSBhc3NvY2lhdGVkIHdpdGggdGhpcyBTYWxlc2ZvcmNlIElkCgkJCQkvLyByaWdodCBoZXJlIHdlIHNob3VsZCBzZXQgdGhlIHB1bGxpbmcgdHJhbnNpZW50LgoJCQkJc2V0X3RyYW5zaWVudCggJ3NhbGVzZm9yY2VfcHVsbGluZ18nIC4gJG9iamVjdFsnSWQnXSwgMSwgJHNlY29uZHMgKTsKCQkJCXNldF90cmFuc2llbnQoICdzYWxlc2ZvcmNlX3B1bGxpbmdfb2JqZWN0X2lkJywgJG9iamVjdFsnSWQnXSApOwoKCQkJCWZvcmVhY2ggKCAkbWFwcGluZ19vYmplY3RzIGFzICRtYXBwaW5nX29iamVjdCApIHsKCQkJCQkkc3luY2VkX29iamVjdCA9ICR0aGlzLT5nZXRfc3luY2VkX29iamVjdCggJG9iamVjdCwgJG1hcHBpbmdfb2JqZWN0LCAkc2FsZXNmb3JjZV9tYXBwaW5nICk7CgkJCQkJLy8gaWYgcGFyYW1zIGlzIHNldCwgdGhpcyBpcyBhbiB1cGRhdGUgcmVxdWVzdC4gaWYgbm90LCBpdCBpcyBhIGRlbGV0ZS4KCQkJCQlpZiAoIGlzc2V0KCAkcGFyYW1zICkgKSB7CgkJCQkJCSR1cGRhdGUgID0gJHRoaXMtPnVwZGF0ZV9jYWxsZWRfZnJvbV9zYWxlc2ZvcmNlKCAkc2Zfc3luY190cmlnZ2VyLCAkc3luY2VkX29iamVjdCwgJHBhcmFtcywgJHdvcmRwcmVzc19pZF9maWVsZF9uYW1lLCAkc2Vjb25kcyApOwoJCQkJCQkkcmVzdWx0cyA9IGFycmF5X21lcmdlKCAkcmVzdWx0cywgJHVwZGF0ZSApOwoJCQkJCX0gZWxzZSB7CgkJCQkJCSRkZWxldGUgID0gJHRoaXMtPmRlbGV0ZV9jYWxsZWRfZnJvbV9zYWxlc2ZvcmNlKCAkc2Zfc3luY190cmlnZ2VyLCAkc3luY2VkX29iamVjdCwgJHdvcmRwcmVzc19pZF9maWVsZF9uYW1lLCAkc2Vjb25kcywgJG1hcHBpbmdfb2JqZWN0cyApOwoJCQkJCQkkcmVzdWx0cyA9IGFycmF5X21lcmdlKCAkcmVzdWx0cywgJGRlbGV0ZSApOwoJCQkJCX0KCQkJCX0KCQkJfSBlbHNlaWYgKCBmYWxzZSA9PT0gJGlzX25ldyApIHsKCQkJCS8vIG9uIG1lcmdlLCB3ZSBzaG91bGQgc3RpbGwgdXBkYXRlIHRoZSB0cmFuc2llbnQuCgkJCQlzZXRfdHJhbnNpZW50KCAnc2FsZXNmb3JjZV9wdWxsaW5nXycgLiAkb2JqZWN0WydJZCddLCAxLCAkc2Vjb25kcyApOwoJCQkJc2V0X3RyYW5zaWVudCggJ3NhbGVzZm9yY2VfcHVsbGluZ19vYmplY3RfaWQnLCAkb2JqZWN0WydJZCddICk7CgkJCX0KCQl9IC8vIEVuZCBmb3JlYWNoKCkgb24gJHNhbGVzZm9yY2VfbWFwcGluZ3MuCgoJCS8vIGRlbGV0ZSB0cmFuc2llbnRzIHRoYXQgd2UndmUgYWxyZWFkeSBwcm9jZXNzZWQgZm9yIHRoaXMgU2FsZXNmb3JjZSBvYmplY3QuCgkJZm9yZWFjaCAoICR0cmFuc2llbnRzX3RvX2RlbGV0ZSBhcyAkbWFwcGluZ19vYmplY3RfaWRfdHJhbnNpZW50ICkgewoJCQlkZWxldGVfdHJhbnNpZW50KCAnc2FsZXNmb3JjZV9wdXNoaW5nXycgLiAkbWFwcGluZ19vYmplY3RfaWRfdHJhbnNpZW50ICk7CgkJfQoKCQkkcHVzaGluZ19pZCA9IGdldF90cmFuc2llbnQoICdzYWxlc2ZvcmNlX3B1c2hpbmdfb2JqZWN0X2lkJyApOwoJCWlmICggaW5fYXJyYXkoICRwdXNoaW5nX2lkLCAkdHJhbnNpZW50c190b19kZWxldGUsIHRydWUgKSApIHsKCQkJZGVsZXRlX3RyYW5zaWVudCggJ3NhbGVzZm9yY2VfcHVzaGluZ19vYmplY3RfaWQnICk7CgkJfQoKCQlpZiAoICEgZW1wdHkoICRleGNlcHRpb24gKSApIHsKCQkJdGhyb3cgJGV4Y2VwdGlvbjsKCQl9CgoJCXJldHVybiAkcmVzdWx0czsKCgl9CgoJLyoqCgkgKiBHZW5lcmF0ZSB0aGUgc3luY2VkX29iamVjdCBhcnJheQoJICoKCSAqIEBwYXJhbSBhcnJheSAkb2JqZWN0IFRoZSBkYXRhIGZvciB0aGUgU2FsZXNmb3JjZSBvYmplY3QuCgkgKiBAcGFyYW0gYXJyYXkgJG1hcHBpbmdfb2JqZWN0IFRoZSBkYXRhIGZvciB0aGUgbWFwcGluZyBvYmplY3QgYmV0d2VlbiB0aGUgaW5kaXZpZHVhbCBTYWxlc2ZvcmNlIGFuZCBXb3JkUHJlc3MgaXRlbXMuCgkgKiBAcGFyYW0gYXJyYXkgJHNhbGVzZm9yY2VfbWFwcGluZyBUaGUgZGF0YSBmb3IgdGhlIGZpZWxkbWFwIGJldHdlZW4gdGhlIG9iamVjdCB0eXBlcy4KCSAqIEByZXR1cm4gYXJyYXkgJHN5bmNlZF9vYmplY3QgVGhlIGNvbWJpbmVkIGFycmF5IG9mIHRoZXNlIGl0ZW1zLiBJdCBhbGxvd3MgZm9yIGZpbHRlcmluZyBvZiwgYXQgbGVhc3QsIHRoZSBtYXBwaW5nX29iamVjdC4KCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBnZXRfc3luY2VkX29iamVjdCggJG9iamVjdCwgJG1hcHBpbmdfb2JqZWN0LCAkc2FsZXNmb3JjZV9tYXBwaW5nICkgewoJCS8vIGlmIHRoZXJlJ3MgYWxyZWFkeSBhIGNvbm5lY3Rpb24gYmV0d2VlbiB0aGUgb2JqZWN0cywgJG1hcHBpbmdfb2JqZWN0IHdpbGwgYmUgYW4gYXJyYXkgYXQgdGhpcyBwb2ludAoJCS8vIGlmIGl0J3Mgbm90IGFscmVhZHkgY29ubmVjdGVkIChpZSBvbiBjcmVhdGUpLCB0aGUgYXJyYXkgd2lsbCBiZSBlbXB0eS4KCgkJLy8gaG9vayB0byBhbGxvdyBvdGhlciBwbHVnaW5zIHRvIGRlZmluZSBvciBhbHRlciB0aGUgbWFwcGluZyBvYmplY3QuCgkJJG1hcHBpbmdfb2JqZWN0ID0gYXBwbHlfZmlsdGVycyggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHVsbF9tYXBwaW5nX29iamVjdCcsICRtYXBwaW5nX29iamVjdCwgJG9iamVjdCwgJHNhbGVzZm9yY2VfbWFwcGluZyApOwoKCQkvLyB3ZSBhbHJlYWR5IGhhdmUgdGhlIGRhdGEgZnJvbSBTYWxlc2ZvcmNlIGF0IHRoaXMgcG9pbnQ7IHdlIGp1c3QgbmVlZCB0byB3b3JrIHdpdGggaXQgaW4gV29yZFByZXNzLgoJCSRzeW5jZWRfb2JqZWN0ID0gYXJyYXkoCgkJCSdzYWxlc2ZvcmNlX29iamVjdCcgPT4gJG9iamVjdCwKCQkJJ21hcHBpbmdfb2JqZWN0JyAgICA9PiAkbWFwcGluZ19vYmplY3QsCgkJCSdtYXBwaW5nJyAgICAgICAgICAgPT4gJHNhbGVzZm9yY2VfbWFwcGluZywKCQkpOwoJCXJldHVybiAkc3luY2VkX29iamVjdDsKCX0KCgkvKioKCSAqIENyZWF0ZSByZWNvcmRzIGluIFdvcmRQcmVzcyBmcm9tIGEgU2FsZXNmb3JjZSBwdWxsCgkgKgoJICogQHBhcmFtIHN0cmluZyAkc2Zfc3luY190cmlnZ2VyIFRoZSBjdXJyZW50IG9wZXJhdGlvbidzIHRyaWdnZXIuCgkgKiBAcGFyYW0gYXJyYXkgICRzeW5jZWRfb2JqZWN0IENvbWJpbmVkIGRhdGEgZm9yIGZpZWxkbWFwLCBtYXBwaW5nIG9iamVjdCwgYW5kIFNhbGVzZm9yY2Ugb2JqZWN0IGRhdGEuCgkgKiBAcGFyYW0gYXJyYXkgICRwYXJhbXMgQXJyYXkgb2YgbWFwcGVkIGtleSB2YWx1ZSBwYWlycyBiZXR3ZWVuIFdvcmRQcmVzcyBhbmQgU2FsZXNmb3JjZSBmaWVsZHMuCgkgKiBAcGFyYW0gYXJyYXkgICRwcmVtYXRjaCBBcnJheSBvZiBjcml0ZXJpYSB0byBkZXRlcm1pbmUgd2hhdCB0byBkbyBvbiB1cHNlcnQgb3BlcmF0aW9ucy4KCSAqIEBwYXJhbSBzdHJpbmcgJHdvcmRwcmVzc19pZF9maWVsZF9uYW1lIFRoZSBuYW1lIG9mIHRoZSBJRCBmaWVsZCBmb3IgdGhpcyBwYXJ0aWN1bGFyIFdvcmRQcmVzcyBvYmplY3QgdHlwZS4KCSAqIEBwYXJhbSBpbnQgICAgJHNlY29uZHMgVGltZW91dCBmb3IgdGhlIHRyYW5zaWVudCB2YWx1ZSB0byBkZXRlcm1pbmUgdGhlIGRpcmVjdGlvbiBmb3IgYSBzeW5jLgoJICogQHJldHVybiBhcnJheSAkcmVzdWx0cyBDdXJyZW50bHkgdGhpcyBjb250YWlucyBhbiBhcnJheSBvZiBsb2cgZW50cmllcyBmb3IgZWFjaCBhdHRlbXB0LgoJICogQHRocm93cyBPYmplY3RfU3luY19TZl9FeGNlcHRpb24gRXhjZXB0aW9uICRlLgoJICovCglwcml2YXRlIGZ1bmN0aW9uIGNyZWF0ZV9jYWxsZWRfZnJvbV9zYWxlc2ZvcmNlKCAkc2Zfc3luY190cmlnZ2VyLCAkc3luY2VkX29iamVjdCwgJHBhcmFtcywgJHByZW1hdGNoLCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUsICRzZWNvbmRzICkgewoKCQkkc2FsZXNmb3JjZV9tYXBwaW5nID0gJHN5bmNlZF9vYmplY3RbJ21hcHBpbmcnXTsKCQkkb2JqZWN0ICAgICAgICAgICAgID0gJHN5bmNlZF9vYmplY3RbJ3NhbGVzZm9yY2Vfb2JqZWN0J107CgkJLy8gbWV0aG9kcyB0byBydW4gdGhlIHdwIHVwZGF0ZSBvcGVyYXRpb25zLgoJCSRyZXN1bHRzID0gYXJyYXkoKTsKCQkkb3AgICAgICA9ICcnOwoKCQkvLyBzZXR1cCBTRiByZWNvcmQgdHlwZS4gQ2FtcGFpZ25NZW1iZXIgb2JqZWN0cyBnZXQgdGhlaXIgQ2FtcGFpZ24ncyB0eXBlCgkJLy8gaSBhbSBzdGlsbCBhIGJpdCBjb25mdXNlZCBhYm91dCB0aGlzCgkJLy8gd2Ugc2hvdWxkIHN0b3JlIHRoaXMgYXMgYSBtZXRhIGZpZWxkIG9uIGVhY2ggb2JqZWN0LCBpZiBpdCBtZWV0cyB0aGVzZSBjcml0ZXJpYQoJCS8vIHdlIG5lZWQgdG8gc3RvcmUgdGhlIHJlYWQvbW9kaWZ5IGF0dHJpYnV0ZXMgYmVjYXVzZSB0aGUgZmllbGQgZG9lc24ndCBleGlzdCBpbiB0aGUgbWFwcGluZy4KCQlpZiAoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3NhbGVzZm9yY2VfcmVjb3JkX3R5cGVfZGVmYXVsdCddICE9PSAkdGhpcy0+bWFwcGluZ3MtPnNhbGVzZm9yY2VfZGVmYXVsdF9yZWNvcmRfdHlwZSAmJiBlbXB0eSggJHBhcmFtc1snUmVjb3JkVHlwZUlkJ10gKSAmJiAoICdDYW1wYWlnbk1lbWJlcicgIT09ICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3NhbGVzZm9yY2Vfb2JqZWN0J10gKSApIHsKCQkJJHR5cGUgPSAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J107CgkJCWlmICggJ2NhdGVnb3J5JyA9PT0gJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddIHx8ICd0YWcnID09PSAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gfHwgJ3Bvc3RfdGFnJyA9PT0gJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddICkgewoJCQkJJHR5cGUgPSAndGVybSc7CgkJCX0KCQkJJHBhcmFtc1snUmVjb3JkVHlwZUlkJ10gPSBhcnJheSgKCQkJCSd2YWx1ZScgICAgICAgICA9PiAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX3JlY29yZF90eXBlX2RlZmF1bHQnXSwKCQkJCSdtZXRob2RfbW9kaWZ5JyA9PiAndXBkYXRlXycgLiAkdHlwZSAuICdfbWV0YScsCgkJCQknbWV0aG9kX3JlYWQnICAgPT4gJ2dldF8nIC4gJHR5cGUgLiAnX21ldGEnLAoJCQkpOwoJCX0KCgkJdHJ5IHsKCgkJCS8vIGhvb2sgdG8gYWxsb3cgb3RoZXIgcGx1Z2lucyB0byBtb2RpZnkgdGhlICR3b3JkcHJlc3NfaWQgc3RyaW5nIGhlcmUKCQkJLy8gdXNlIGhvb2sgdG8gY2hhbmdlIHRoZSBvYmplY3QgdGhhdCBpcyBiZWluZyBtYXRjaGVkIHRvIGRldmVsb3BlcidzIG93biBjcml0ZXJpYQoJCQkvLyBleDogbWF0Y2ggYSBXb3JkUHJlc3MgdXNlciBiYXNlZCBvbiBzb21lIG90aGVyIGNyaXRlcmlhIHRoYW4gdGhlIHByZWRlZmluZWQgb25lcwoJCQkvLyByZXR1cm5zIGEgJHdvcmRwcmVzc19pZC4KCQkJLy8gaXQgc2hvdWxkIGtlZXAgTlVMTCBpZiB0aGVyZSBpcyBubyBtYXRjaAoJCQkvLyB0aGUgZnVuY3Rpb24gdGhhdCBjYWxscyB0aGlzIGhvb2sgbmVlZHMgdG8gY2hlY2sgdGhlIG1hcHBpbmcgdG8gbWFrZSBzdXJlIHRoZSBXb3JkUHJlc3Mgb2JqZWN0IGlzIHRoZSByaWdodCB0eXBlLgoJCQkkd29yZHByZXNzX2lkID0gYXBwbHlfZmlsdGVycyggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAnZmluZF93cF9vYmplY3RfbWF0Y2gnLCBudWxsLCAkb2JqZWN0LCAkc2FsZXNmb3JjZV9tYXBwaW5nLCAncHVsbCcgKTsKCgkJCS8vIGhvb2sgdG8gYWxsb3cgb3RoZXIgcGx1Z2lucyB0byBkbyBzb21ldGhpbmcgcmlnaHQgYmVmb3JlIFdvcmRQcmVzcyBkYXRhIGlzIHNhdmVkCgkJCS8vIGV4OiBydW4gb3V0c2lkZSBtZXRob2RzIG9uIGFuIG9iamVjdCBpZiBpdCBleGlzdHMsIG9yIGRvIHNvbWV0aGluZyBpbiBwcmVwYXJhdGlvbiBmb3IgaXQgaWYgaXQgZG9lc24ndC4KCQkJZG9fYWN0aW9uKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdwcmVfcHVsbCcsICR3b3JkcHJlc3NfaWQsICRzYWxlc2ZvcmNlX21hcHBpbmcsICRvYmplY3QsICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSwgJHBhcmFtcyApOwoKCQkJaWYgKCBpc3NldCggJHByZW1hdGNoWydmaWVsZF9zYWxlc2ZvcmNlJ10gKSB8fCBudWxsICE9PSAkd29yZHByZXNzX2lkICkgewoKCQkJCSRvcCA9ICdVcHNlcnQnOwoKCQkJCS8vIGlmIGEgcHJlbWF0Y2ggY3JpdGVyaWEgZXhpc3RzLCBtYWtlIHRoZSB2YWx1ZXMgcXVlcnlhYmxlLgoJCQkJaWYgKCBpc3NldCggJHByZW1hdGNoWydmaWVsZF9zYWxlc2ZvcmNlJ10gKSApIHsKCQkJCQkkdXBzZXJ0X2tleSAgICAgPSAkcHJlbWF0Y2hbJ2ZpZWxkX3dvcmRwcmVzcyddOwoJCQkJCSR1cHNlcnRfdmFsdWUgICA9ICRwcmVtYXRjaFsndmFsdWUnXTsKCQkJCQkkdXBzZXJ0X21ldGhvZHMgPSAkcHJlbWF0Y2hbJ21ldGhvZHMnXTsKCQkJCX0KCgkJCQlpZiAoIG51bGwgIT09ICR3b3JkcHJlc3NfaWQgKSB7CgkJCQkJJHVwc2VydF9rZXkgICAgID0gJHdvcmRwcmVzc19pZF9maWVsZF9uYW1lOwoJCQkJCSR1cHNlcnRfdmFsdWUgICA9ICR3b3JkcHJlc3NfaWQ7CgkJCQkJJHVwc2VydF9tZXRob2RzID0gYXJyYXkoKTsKCQkJCX0KCgkJCQkvLyB3aXRoIHRoZSBmbGFnIGF0IHRoZSBlbmQsIHVwc2VydCByZXR1cm5zIGEgJHdvcmRwcmVzc19pZCBvbmx5CgkJCQkvLyB3ZSBjYW4gdGhlbiBjaGVjayB0byBzZWUgaWYgaXQgaGFzIGEgbWFwcGluZyBvYmplY3QKCQkJCS8vIHdlIHNob3VsZCBvbmx5IGRvIHRoaXMgaWYgdGhlIGFib3ZlIGhvb2sgZGlkbid0IGFscmVhZHkgc2V0IHRoZSAkd29yZHByZXNzX2lkLgoJCQkJaWYgKCBudWxsID09PSAkd29yZHByZXNzX2lkICkgewoJCQkJCSR3b3JkcHJlc3NfaWQgPSAkdGhpcy0+d29yZHByZXNzLT5vYmplY3RfdXBzZXJ0KCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10sICR1cHNlcnRfa2V5LCAkdXBzZXJ0X3ZhbHVlLCAkdXBzZXJ0X21ldGhvZHMsICRwYXJhbXMsICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3B1bGxfdG9fZHJhZnRzJ10sIHRydWUgKTsKCQkJCX0KCgkJCQkvLyBwbGFjZWhvbGRlciBtYXBwaW5nIG9iamVjdC4KCQkJCSRtYXBwaW5nX29iamVjdCA9IGFycmF5KCk7CgoJCQkJLy8gZmluZCBvdXQgaWYgdGhlcmUgaXMgYSBtYXBwaW5nIG9iamVjdCBmb3IgdGhpcyBXb3JkUHJlc3Mgb2JqZWN0IGFscmVhZHkKCQkJCS8vIGRvbid0IGRvIGl0IGlmIHRoZSBXb3JkUHJlc3MgaWQgaXMgMC4KCQkJCWlmICggMCAhPT0gJHdvcmRwcmVzc19pZCApIHsKCQkJCQkkbWFwcGluZ19vYmplY3RzID0gJHRoaXMtPm1hcHBpbmdzLT5nZXRfYWxsX29iamVjdF9tYXBzKAoJCQkJCQlhcnJheSgKCQkJCQkJCSd3b3JkcHJlc3NfaWQnICAgICA9PiAkd29yZHByZXNzX2lkLAoJCQkJCQkJJ3dvcmRwcmVzc19vYmplY3QnID0+ICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSwKCQkJCQkJKQoJCQkJCSk7CgkJCQkJaWYgKCBpc3NldCggJG1hcHBpbmdfb2JqZWN0c1swXSApICYmIGlzX2FycmF5KCAkbWFwcGluZ19vYmplY3RzWzBdICkgKSB7CgkJCQkJCSRtYXBwaW5nX29iamVjdCA9ICRtYXBwaW5nX29iamVjdHNbMF07CgkJCQkJfQoJCQkJfSBlbHNlIHsKCQkJCQkvLyBpZiB0aGUgd3Agb2JqZWN0IGlzIDAsIGNoZWNrIHRvIHNlZSBpZiB0aGVyZSBhcmUgYW55IG9iamVjdCBtYXBzIHRoYXQgaGF2ZSBhbiBpZCBvZiAwLiBpZiB0aGVyZSBhcmUgYW55LCBsb2cgdGhlbS4KCQkJCQkkbWFwcGluZ19vYmplY3RfZGVidWcgPSAkdGhpcy0+bWFwcGluZ3MtPmdldF9hbGxfb2JqZWN0X21hcHMoCgkJCQkJCWFycmF5KAoJCQkJCQkJJ3dvcmRwcmVzc19pZCcgPT4gJHdvcmRwcmVzc19pZCwKCQkJCQkJKQoJCQkJCSk7CgoJCQkJCWlmICggISBlbXB0eSggJG1hcHBpbmdfb2JqZWN0X2RlYnVnICkgKSB7CgkJCQkJCS8vIGNyZWF0ZSBsb2cgZW50cnkgdG8gd2FybiBhYm91dCBhdCBsZWFzdCBvbmUgaWQgb2YgMC4KCQkJCQkJJHN0YXR1cyA9ICdlcnJvcic7CgkJCQkJCSR0aXRsZSAgPSBzcHJpbnRmKAoJCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLgoJCQkJCQkJZXNjX2h0bWxfXyggJyUxJHM6IFRoZXJlIGlzIGF0IGxlYXN0IG9uZSBvYmplY3QgbWFwIHdpdGggYSBXb3JkUHJlc3MgSUQgb2YgMC4nLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkJCQl1Y2ZpcnN0KCBlc2NfYXR0ciggJHN0YXR1cyApICkKCQkJCQkJKTsKCgkJCQkJCWlmICggMSA9PT0gY291bnQoICRtYXBwaW5nX29iamVjdF9kZWJ1ZyApICkgewoJCQkJCQkJJGJvZHkgPSBzcHJpbnRmKAoJCQkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbWFwcGluZyBvYmplY3Qgcm93IElELCAyKSB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdCwgMykgdGhlIElEIG9mIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCBpdCB3YXMgdHJ5aW5nIHRvIG1hcC4KCQkJCQkJCQllc2NfaHRtbF9fKCAnVGhlcmUgaXMgYW4gb2JqZWN0IG1hcCB3aXRoIElEIG9mICUxJHMgYW5kIGl0IGlzIG1hcHBlZCB0byB0aGUgV29yZFByZXNzICUyJHMgd2l0aCBJRCBvZiAwIGFuZCB0aGUgU2FsZXNmb3JjZSBvYmplY3Qgd2l0aCBJRCBvZiAlMyRzJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJCWFic2ludCggJG1hcHBpbmdfb2JqZWN0X2RlYnVnWzBdWydpZCddICksCgkJCQkJCQkJZXNjX2F0dHIoICRtYXBwaW5nX29iamVjdF9kZWJ1Z1swXVsnd29yZHByZXNzX29iamVjdCddICksCgkJCQkJCQkJZXNjX2F0dHIoICRtYXBwaW5nX29iamVjdF9kZWJ1Z1swXVsnc2FsZXNmb3JjZV9pZCddICkKCQkJCQkJCSk7CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQkkYm9keSA9IHNwcmludGYoIGVzY19odG1sX18oICdUaGVyZSBhcmUgbXVsdGlwbGUgb2JqZWN0IG1hcHMgd2l0aCBXb3JkUHJlc3MgSUQgb2YgMC4gVGhlaXIgSURzIGFyZTogJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApIC4gJzx1bD4nICk7CgkJCQkJCQlmb3JlYWNoICggJG1hcHBpbmdfb2JqZWN0X2RlYnVnIGFzICRtYXBwaW5nX29iamVjdCApIHsKCQkJCQkJCQkkYm9keSAuPSBzcHJpbnRmKAoJCQkJCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIG1hcHBpbmcgb2JqZWN0IHJvdyBJRCwgMikgdGhlIElEIG9mIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCwgMykgdGhlIFdvcmRQcmVzcyBvYmplY3QgdHlwZS4KCQkJCQkJCQkJJzxsaT4nIC4gZXNjX2h0bWxfXyggJ01hcHBpbmcgb2JqZWN0IGlkOiAlMSRzLiBTYWxlc2ZvcmNlIElkOiAlMiRzLiBXb3JkUHJlc3Mgb2JqZWN0IHR5cGU6ICUzJHMnLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiAnPC9saT4nLAoJCQkJCQkJCQlhYnNpbnQoICRtYXBwaW5nX29iamVjdFsnaWQnXSApLAoJCQkJCQkJCQllc2NfYXR0ciggJG1hcHBpbmdfb2JqZWN0WydzYWxlc2ZvcmNlX2lkJ10gKSwKCQkJCQkJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSApCgkJCQkJCQkJKTsKCQkJCQkJCX0KCQkJCQkJCSRib2R5IC49IHNwcmludGYoICc8L3VsPicgKTsKCQkJCQkJfQoKCQkJCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCQkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQkJCQl9CgkJCQkJCSRwYXJlbnQgPSAwOwoKCQkJCQkJJHJlc3VsdCA9IGFycmF5KAoJCQkJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCQkJCSdtZXNzYWdlJyA9PiAkYm9keSwKCQkJCQkJCSd0cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLAoJCQkJCQkJJ3BhcmVudCcgID0+ICRwYXJlbnQsCgkJCQkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJCQkJKTsKCgkJCQkJCSRsb2dnaW5nLT5zZXR1cCggJHJlc3VsdCApOwoKCQkJCQkJJHJlc3VsdHNbXSA9ICRyZXN1bHQ7CgkJCQkJfSAvLyBFbmQgaWYoKSBzdGF0ZW1lbnQuCgkJCQl9IC8vIEVuZCBpZigpIHN0YXRlbWVudC4KCgkJCQkvLyB0aGVyZSBpcyBhbHJlYWR5IGEgbWFwcGluZyBvYmplY3QuIGRvbid0IGNoYW5nZSB0aGUgV29yZFByZXNzIGRhdGEgdG8gbWF0Y2ggdGhpcyBuZXcgU2FsZXNmb3JjZSByZWNvcmQsIGJ1dCBsb2cgaXQuCgkJCQlpZiAoIGlzc2V0KCAkbWFwcGluZ19vYmplY3RbJ2lkJ10gKSApIHsKCQkJCQkvLyBzZXQgdGhlIHRyYW5zaWVudCBzbyB0aGF0IHNhbGVzZm9yY2VfcHVzaCBkb2Vzbid0IHN0YXJ0IGRvaW5nIHN0dWZmLCB0aGVuIHJldHVybiBvdXQgb2YgaGVyZS4KCQkJCQlzZXRfdHJhbnNpZW50KCAnc2FsZXNmb3JjZV9wdWxsaW5nXycgLiAkbWFwcGluZ19vYmplY3RbJ3NhbGVzZm9yY2VfaWQnXSwgMSwgJHNlY29uZHMgKTsKCQkJCQlzZXRfdHJhbnNpZW50KCAnc2FsZXNmb3JjZV9wdWxsaW5nX29iamVjdF9pZCcsICRtYXBwaW5nX29iamVjdFsnc2FsZXNmb3JjZV9pZCddICk7CgkJCQkJLy8gY3JlYXRlIGxvZyBlbnRyeSB0byBpbmRpY2F0ZSB0aGF0IG5vdGhpbmcgaGFwcGVuZWQuCgkJCQkJJHN0YXR1cyA9ICdub3RpY2UnOwoJCQkJCSR0aXRsZSAgPSBzcHJpbnRmKAoJCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgbG9nIHN0YXR1cywgMikgbWFwcGluZyBvYmplY3Qgcm93IGlkLCAzKSBXb3JkUHJlc3Mgb2JqZWN0IHR5b2UsIDQpIGluZGl2aWR1YWwgV29yZFByZXNzIGl0ZW0gSUQsIDUpIGluZGl2aWR1YWwgU2FsZXNmb3JjZSBpdGVtIElELgoJCQkJCQllc2NfaHRtbF9fKCAnJTEkczogQmVjYXVzZSBvYmplY3QgbWFwICUyJHMgYWxyZWFkeSBleGlzdHMsIFdvcmRQcmVzcyAlMyRzICU0JHMgd2FzIG5vdCBtYXBwZWQgdG8gU2FsZXNmb3JjZSBJZCAlNSRzJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQl1Y2ZpcnN0KCBlc2NfYXR0ciggJHN0YXR1cyApICksCgkJCQkJCWFic2ludCggJG1hcHBpbmdfb2JqZWN0WydpZCddICksCgkJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKSwKCQkJCQkJYWJzaW50KCAkd29yZHByZXNzX2lkICksCgkJCQkJCWVzY19hdHRyKCAkb2JqZWN0WydJZCddICkKCQkJCQkpOwoKCQkJCQkkYm9keSA9IHNwcmludGYoCgkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlIDEpIFdvcmRQcmVzcyBvYmplY3QgdHlwZSwgMikgZmllbGQgbmFtZSBmb3IgdGhlIFdvcmRQcmVzcyBpZCwgMykgdGhlIFdvcmRQcmVzcyBpZCB2YWx1ZSwgNCkgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IHR5cGUsIDUpIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCBJZCB0aGF0IHdhcyBtb2RpZmllZCwgNikgdGhlIG1hcHBpbmcgb2JqZWN0IHJvdyBpZC4KCQkJCQkJZXNjX2h0bWxfXyggJ1RoZSBXb3JkUHJlc3MgJTEkcyB3aXRoICUyJHMgb2YgJTMkcyBpcyBhbHJlYWR5IG1hcHBlZCB0byB0aGUgU2FsZXNmb3JjZSAlNCRzIHdpdGggSWQgb2YgJTUkcyBpbiB0aGUgbWFwcGluZyBvYmplY3Qgd2l0aCBpZCBvZiAlNiRzLiBUaGUgU2FsZXNmb3JjZSAlNCRzIHdpdGggSWQgb2YgJTUkcyB3YXMgY3JlYXRlZCBvciBtb2RpZmllZCBpbiBTYWxlc2ZvcmNlLCBhbmQgd291bGQgb3RoZXJ3aXNlIGhhdmUgYmVlbiBtYXBwZWQgdG8gdGhpcyBXb3JkUHJlc3MgcmVjb3JkLiBObyBXb3JkUHJlc3MgZGF0YSBoYXMgYmVlbiBjaGFuZ2VkIHRvIHByZXZlbnQgY2hhbmdpbmcgZGF0YSB1bmludGVudGlvbmFsbHkuJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddICksCgkJCQkJCWVzY19hdHRyKCAkc3RydWN0dXJlWydpZF9maWVsZCddICksCgkJCQkJCWFic2ludCggJHdvcmRwcmVzc19pZCApLAoJCQkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9vYmplY3QnXSApLAoJCQkJCQllc2NfYXR0ciggJG9iamVjdFsnSWQnXSApLAoJCQkJCQlhYnNpbnQoICRtYXBwaW5nX29iamVjdFsnaWQnXSApCgkJCQkJKTsKCgkJCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQkJCX0KCgkJCQkJLy8gaWYgd2Uga25vdyB0aGUgV29yZFByZXNzIG9iamVjdCBpZCB3ZSBjYW4gcHV0IGl0IGluIHRoZXJlLgoJCQkJCWlmICggbnVsbCAhPT0gJHdvcmRwcmVzc19pZCApIHsKCQkJCQkJJHBhcmVudCA9ICR3b3JkcHJlc3NfaWQ7CgkJCQkJfSBlbHNlIHsKCQkJCQkJJHBhcmVudCA9IDA7CgkJCQkJfQoKCQkJCQkkcmVzdWx0ID0gYXJyYXkoCgkJCQkJCSd0aXRsZScgICA9PiAkdGl0bGUsCgkJCQkJCSdtZXNzYWdlJyA9PiAkYm9keSwKCQkJCQkJJ3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkJCSdwYXJlbnQnICA9PiAkcGFyZW50LAoJCQkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJCQkpOwoKCQkJCQkkbG9nZ2luZy0+c2V0dXAoICRyZXN1bHQgKTsKCgkJCQkJJHJlc3VsdHNbXSA9ICRyZXN1bHQ7CgoJCQkJfSAvLyBFbmQgaWYoKSBzdGF0ZW1lbnQuCgoJCQkJLy8gcmlnaHQgaGVyZSB3ZSBzaG91bGQgc2V0IHRoZSBwdWxsaW5nIHRyYW5zaWVudAoJCQkJLy8gdGhpcyBtZWFucyB3ZSBoYXZlIHRvIGNyZWF0ZSB0aGUgbWFwcGluZyBvYmplY3QgaGVyZSBhcyB3ZWxsLCBhbmQgdXBkYXRlIGl0IHdpdGggdGhlIGNvcnJlY3QgSURzIGFmdGVyIHN1Y2Nlc3NmdWwgcmVzcG9uc2UKCQkJCS8vIGNyZWF0ZSB0aGUgbWFwcGluZyBvYmplY3QgYmV0d2VlbiB0aGUgcm93cy4KCQkJCSRtYXBwaW5nX29iamVjdF9pZCA9ICR0aGlzLT5jcmVhdGVfb2JqZWN0X21hcCggJG9iamVjdCwgJHRoaXMtPm1hcHBpbmdzLT5nZW5lcmF0ZV90ZW1wb3JhcnlfaWQoICdwdWxsJyApLCAkc2FsZXNmb3JjZV9tYXBwaW5nICk7CgkJCQlzZXRfdHJhbnNpZW50KCAnc2FsZXNmb3JjZV9wdWxsaW5nXycgLiAkb2JqZWN0WydJZCddLCAxLCAkc2Vjb25kcyApOwoJCQkJc2V0X3RyYW5zaWVudCggJ3NhbGVzZm9yY2VfcHVsbGluZ19vYmplY3RfaWQnLCAkb2JqZWN0WydJZCddICk7CgkJCQkkbWFwcGluZ19vYmplY3RzID0gJHRoaXMtPm1hcHBpbmdzLT5nZXRfYWxsX29iamVjdF9tYXBzKAoJCQkJCWFycmF5KAoJCQkJCQknaWQnID0+ICRtYXBwaW5nX29iamVjdF9pZCwKCQkJCQkpCgkJCQkpOwoJCQkJaWYgKCBpc3NldCggJG1hcHBpbmdfb2JqZWN0c1swXSApICYmIGlzX2FycmF5KCAkbWFwcGluZ19vYmplY3RzWzBdICkgKSB7CgkJCQkJJG1hcHBpbmdfb2JqZWN0ID0gJG1hcHBpbmdfb2JqZWN0c1swXTsKCQkJCX0KCQkJCS8vIG5vdyB3ZSBjYW4gdXBzZXJ0IHRoZSBvYmplY3QgaW4gd3AgaWYgd2UndmUgZ290dGVuIHRvIHRoaXMgcG9pbnQKCQkJCS8vIHRoaXMgY29tbWFuZCB3aWxsIGVpdGhlciBjcmVhdGUgb3IgdXBkYXRlIHRoZSBvYmplY3QuCgkJCQkkcmVzdWx0ID0gJHRoaXMtPndvcmRwcmVzcy0+b2JqZWN0X3Vwc2VydCggJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddLCAkdXBzZXJ0X2tleSwgJHVwc2VydF92YWx1ZSwgJHVwc2VydF9tZXRob2RzLCAkcGFyYW1zLCAkc2FsZXNmb3JjZV9tYXBwaW5nWydwdWxsX3RvX2RyYWZ0cyddICk7CgoJCQl9IGVsc2UgewoJCQkJLy8gTm8ga2V5IG9yIHByZW1hdGNoIGZpZWxkIGV4aXN0cyBvbiB0aGlzIGZpZWxkIG1hcCBvYmplY3QsIGNyZWF0ZSBhIG5ldyBvYmplY3QgaW4gV29yZFByZXNzLgoJCQkJJG9wICAgICAgICAgICAgICAgID0gJ0NyZWF0ZSc7CgkJCQkkbWFwcGluZ19vYmplY3RfaWQgPSAkdGhpcy0+Y3JlYXRlX29iamVjdF9tYXAoICRvYmplY3QsICR0aGlzLT5tYXBwaW5ncy0+Z2VuZXJhdGVfdGVtcG9yYXJ5X2lkKCAncHVsbCcgKSwgJHNhbGVzZm9yY2VfbWFwcGluZyApOwoJCQkJc2V0X3RyYW5zaWVudCggJ3NhbGVzZm9yY2VfcHVsbGluZ18nIC4gJG1hcHBpbmdfb2JqZWN0X2lkLCAxLCAkc2Vjb25kcyApOwoJCQkJc2V0X3RyYW5zaWVudCggJ3NhbGVzZm9yY2VfcHVsbGluZ19vYmplY3RfaWQnLCAkbWFwcGluZ19vYmplY3RfaWQgKTsKCQkJCSRtYXBwaW5nX29iamVjdHMgPSAkdGhpcy0+bWFwcGluZ3MtPmdldF9hbGxfb2JqZWN0X21hcHMoCgkJCQkJYXJyYXkoCgkJCQkJCSdpZCcgPT4gJG1hcHBpbmdfb2JqZWN0X2lkLAoJCQkJCSkKCQkJCSk7CgkJCQlpZiAoIGlzc2V0KCAkbWFwcGluZ19vYmplY3RzWzBdICkgJiYgaXNfYXJyYXkoICRtYXBwaW5nX29iamVjdHNbMF0gKSApIHsKCQkJCQkkbWFwcGluZ19vYmplY3QgPSAkbWFwcGluZ19vYmplY3RzWzBdOwoJCQkJfQoKCQkJCSRyZXN1bHQgPSAkdGhpcy0+d29yZHByZXNzLT5vYmplY3RfY3JlYXRlKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10sICRwYXJhbXMgKTsKCQkJfSAvLyBFbmQgaWYoKSBzdGF0ZW1lbnQuCgkJfSBjYXRjaCAoIE9iamVjdF9TeW5jX1NmX0V4Y2VwdGlvbiAkZSApIHsKCQkJLy8gY3JlYXRlIGxvZyBlbnRyeSBmb3IgZmFpbGVkIGNyZWF0ZSBvciB1cHNlcnQuCgkJCSRzdGF0dXMgPSAnZXJyb3InOwoJCQkkdGl0bGUgID0gc3ByaW50ZigKCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgd2hhdCBvcGVyYXRpb24gaXMgaGFwcGVuaW5nLCBhbmQgMykgdGhlIG5hbWUgb2YgdGhlIFdvcmRQcmVzcyBvYmplY3QuCgkJCQllc2NfaHRtbF9fKCAnJTEkczogJTIkcyBXb3JkUHJlc3MgJTMkcycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKSwKCQkJCWVzY19hdHRyKCAkb3AgKSwKCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKQoJCQkpOwoKCQkJaWYgKCBudWxsICE9PSAkc2FsZXNmb3JjZV9pZCApIHsKCQkJCSR0aXRsZSAuPSAnICcgLiAkc2FsZXNmb3JjZV9pZDsKCQkJfQoKCQkJJHRpdGxlIC49IHNwcmludGYoCgkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIG5hbWUgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0LCBhbmQgMikgSWQgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0LgoJCQkJZXNjX2h0bWxfXyggJyAoU2FsZXNmb3JjZSAlMSRzIHdpdGggSWQgb2YgJTIkcyknLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICksCgkJCQkkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddLAoJCQkJJG9iamVjdFsnSWQnXQoJCQkpOwoKCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQl9CgoJCQkvLyBpZiB3ZSBrbm93IHRoZSBXb3JkUHJlc3Mgb2JqZWN0IGlkIHdlIGNhbiBwdXQgaXQgaW4gdGhlcmUuCgkJCWlmICggbnVsbCAhPT0gJHdvcmRwcmVzc19pZCApIHsKCQkJCSRwYXJlbnQgPSAkd29yZHByZXNzX2lkOwoJCQl9IGVsc2UgewoJCQkJJHBhcmVudCA9IDA7CgkJCX0KCgkJCSRyZXN1bHQgPSBhcnJheSgKCQkJCSd0aXRsZScgICA9PiAkdGl0bGUsCgkJCQknbWVzc2FnZScgPT4gJGUtPmdldE1lc3NhZ2UoKSwKCQkJCSd0cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLAoJCQkJJ3BhcmVudCcgID0+ICRwYXJlbnQsCgkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJKTsKCgkJCSRsb2dnaW5nLT5zZXR1cCggJHJlc3VsdCApOwoKCQkJJHJlc3VsdHNbXSA9ICRyZXN1bHQ7CgoJCQlpZiAoIGZhbHNlID09PSAkaG9sZF9leGNlcHRpb25zICkgewoJCQkJdGhyb3cgJGU7CgkJCX0KCQkJaWYgKCBlbXB0eSggJGV4Y2VwdGlvbiApICkgewoJCQkJJGV4Y2VwdGlvbiA9ICRlOwoJCQl9IGVsc2UgewoJCQkJJG15X2NsYXNzICA9IGdldF9jbGFzcyggJGUgKTsKCQkJCSRleGNlcHRpb24gPSBuZXcgJG15X2NsYXNzKCAkZS0+Z2V0TWVzc2FnZSgpLCAkZS0+Z2V0Q29kZSgpLCAkZXhjZXB0aW9uICk7CgkJCX0KCgkJCS8vIGhvb2sgZm9yIHB1bGwgZmFpbC4KCQkJZG9fYWN0aW9uKCAkdGhpcy0+b3B0aW9uX3ByZWZpeCAuICdwdWxsX2ZhaWwnLCAkb3AsICRyZXN1bHQsICRzeW5jZWRfb2JqZWN0ICk7CgoJCX0gLy8gRW5kIHRyeSgpIG1ldGhvZC4KCgkJLy8gc2V0ICR3b3JkcHJlc3NfZGF0YSB0byB0aGUgcXVlcnkgcmVzdWx0LgoJCSR3b3JkcHJlc3NfZGF0YSA9ICRyZXN1bHRbJ2RhdGEnXTsKCQlpZiAoIGlzc2V0KCAkd29yZHByZXNzX2RhdGFbICIkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUiIF0gKSApIHsKCQkJJHdvcmRwcmVzc19pZCA9ICR3b3JkcHJlc3NfZGF0YVsgIiR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSIgXTsKCQl9IGVsc2UgewoJCQkkd29yZHByZXNzX2lkID0gMDsKCQl9CgoJCS8vIFdvcmRQcmVzcyBjcnVkIGNhbGwgd2FzIHN1Y2Nlc3NmdWwKCQkvLyB0aGlzIG1lYW5zIHRoZSBvYmplY3QgaGFzIGFscmVhZHkgYmVlbiBjcmVhdGVkL3VwZGF0ZWQgaW4gV29yZFByZXNzCgkJLy8gdGhpcyBpcyBub3QgcmVkdW5kYW50IGJlY2F1c2UgdGhpcyBpcyB3aGVyZSBpdCBjcmVhdGVzIHRoZSBvYmplY3QgbWFwcGluZyByb3dzIGluIFdvcmRQcmVzcyBpZiB0aGUgb2JqZWN0IGRvZXMgbm90IGFscmVhZHkgaGF2ZSBvbmUgKHdlIGFyZSBzdGlsbCBpbnNpZGUgJGlzX25ldyA9PT0gVFJVRSBoZXJlKS4KCgkJaWYgKCBlbXB0eSggJHJlc3VsdFsnZXJyb3JzJ10gKSApIHsKCQkJJHN0YXR1cyA9ICdzdWNjZXNzJzsKCgkJCWlmICggaXNzZXQoICR0aGlzLT5sb2dnaW5nICkgKSB7CgkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkkbG9nZ2luZyA9IG5ldyBPYmplY3RfU3luY19TZl9Mb2dnaW5nKCAkdGhpcy0+d3BkYiwgJHRoaXMtPnZlcnNpb24gKTsKCQkJfQoKCQkJJHRpdGxlID0gc3ByaW50ZigKCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgd2hhdCBvcGVyYXRpb24gaXMgaGFwcGVuaW5nLCAzKSB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdCB0eXBlLCA0KSB0aGUgV29yZFByZXNzIGlkIGZpZWxkIG5hbWUsIDUpIHRoZSBXb3JkUHJlc3Mgb2JqZWN0IGlkIHZhbHVlLCA2KSB0aGUgbmFtZSBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QsIDcpIHRoZSBTYWxlc2ZvcmNlIElkIHZhbHVlLgoJCQkJZXNjX2h0bWxfXyggJyUxJHM6ICUyJHMgV29yZFByZXNzICUzJHMgd2l0aCAlNCRzIG9mICU1JHMgKFNhbGVzZm9yY2UgJTYkcyBJZCBvZiAlNyRzKScsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKSwKCQkJCWVzY19hdHRyKCAkb3AgKSwKCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKSwKCQkJCWVzY19hdHRyKCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUgKSwKCQkJCWVzY19hdHRyKCAkd29yZHByZXNzX2lkICksCgkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9vYmplY3QnXSApLAoJCQkJZXNjX2F0dHIoICRvYmplY3RbJ0lkJ10gKQoJCQkpOwoKCQkJJHJlc3VsdCA9IGFycmF5KAoJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCSdtZXNzYWdlJyA9PiAnJywKCQkJCSd0cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLAoJCQkJJ3BhcmVudCcgID0+ICR3b3JkcHJlc3NfaWQsCgkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJKTsKCgkJCSRsb2dnaW5nLT5zZXR1cCggJHJlc3VsdCApOwoKCQkJJHJlc3VsdHNbXSA9ICRyZXN1bHQ7CgoJCQkvLyB1cGRhdGUgdGhhdCBtYXBwaW5nIG9iamVjdC4KCQkJJG1hcHBpbmdfb2JqZWN0Wyd3b3JkcHJlc3NfaWQnXSA9ICR3b3JkcHJlc3NfaWQ7CgkJCSRtYXBwaW5nX29iamVjdCAgICAgICAgICAgICAgICAgPSAkdGhpcy0+bWFwcGluZ3MtPnVwZGF0ZV9vYmplY3RfbWFwKCAkbWFwcGluZ19vYmplY3QsICRtYXBwaW5nX29iamVjdFsnaWQnXSApOwoKCQkJLy8gaG9vayBmb3IgcHVsbCBzdWNjZXNzLgoJCQlkb19hY3Rpb24oICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3B1bGxfc3VjY2VzcycsICRvcCwgJHJlc3VsdCwgJHN5bmNlZF9vYmplY3QgKTsKCQl9IGVsc2UgewoKCQkJLy8gY3JlYXRlIGxvZyBlbnRyeSBmb3IgZmFpbGVkIGNyZWF0ZSBvciB1cHNlcnQKCQkJLy8gdGhpcyBpcyBwYXJ0IG9mIHRoZSBkcnVwYWwgbW9kdWxlIGJ1dCBpIGFtIGZhaWxpbmcgdG8gdW5kZXJzdGFuZCB3aGVuIGl0IHdvdWxkIGV2ZXIgZmlyZSwgc2luY2UgdGhlIGNhdGNoIHNob3VsZCBjYXRjaCB0aGUgZXJyb3JzCgkJCS8vIGlmIHdlIHNlZSB0aGlzIGluIHRoZSBsb2cgZW50cmllcywgd2UgY2FuIHVuZGVyc3RhbmQgd2hhdCBpdCBkb2VzLCBidXQgcHJvYmFibHkgbm90IHVudGlsIHRoZW4uCgkJCSRzdGF0dXMgPSAnZXJyb3InOwoJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCX0KCgkJCWlmICggaXNfb2JqZWN0KCAkd29yZHByZXNzX2lkICkgKSB7CgkJCQkvLyBwcmludCB0aGlzIGFycmF5IGJlY2F1c2UgaWYgdGhpcyBoYXBwZW5zLCBzb21ldGhpbmcgd2VpcmQgaGFzIGhhcHBlbmVkIGFuZCB3ZSB3YW50IHRvIGxvZyB3aGF0ZXZlciB3ZSBoYXZlLgoJCQkJJHdvcmRwcmVzc19pZCA9IHByaW50X3IoICR3b3JkcHJlc3NfaWQsIHRydWUgKTsgLy8gcGhwY3M6aWdub3JlIFdvcmRQcmVzcy5QSFAuRGV2ZWxvcG1lbnRGdW5jdGlvbnMuZXJyb3JfbG9nX3ByaW50X3IKCQkJfQoKCQkJJHRpdGxlID0gc3ByaW50ZigKCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgd2hhdCBvcGVyYXRpb24gaXMgaGFwcGVuaW5nLCAzKSB0aGUgbmFtZSBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QgdHlwZSwgNCkgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IElkIHZhbHVlLgoJCQkJZXNjX2h0bWxfXyggJyUxJHMgc3luY2luZzogJTIkcyB0byBXb3JkUHJlc3MgKFNhbGVzZm9yY2UgJTMkcyBJZCAlNCRzKScsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKSwKCQkJCWVzY19hdHRyKCAkb3AgKSwKCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddICksCgkJCQllc2NfYXR0ciggJG9iamVjdFsnSWQnXSApCgkJCSk7CgoJCQkkYm9keSA9IHNwcmludGYoCgkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIG5hbWUgb2YgdGhlIFdvcmRQcmVzcyBvYmplY3QgdHlwZSwgMikgdGhlIFdvcmRQcmVzcyBpZCBmaWVsZCBuYW1lLCAzKSB0aGUgV29yZFByZXNzIGlkIGZpZWxkIHZhbHVlLCA0KSB0aGUgYXJyYXkgb2YgZXJyb3JzLgoJCQkJJzxwPicgLiBlc2NfaHRtbF9fKCAnT2JqZWN0OiAlMSRzIHdpdGggJTIkcyBvZiAlMyRzJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApIC4gJzwvcD48cD4nIC4gZXNjX2h0bWxfXyggJ01lc3NhZ2U6ICcsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSAuICclNCRzPC9wPicsCgkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddICksCgkJCQllc2NfYXR0ciggJHdvcmRwcmVzc19pZF9maWVsZF9uYW1lICksCgkJCQllc2NfYXR0ciggJHdvcmRwcmVzc19pZCApLAoJCQkJcHJpbnRfciggJHJlc3VsdFsnZXJyb3JzJ10sIHRydWUgKSAvLyBwaHBjczppZ25vcmUgV29yZFByZXNzLlBIUC5EZXZlbG9wbWVudEZ1bmN0aW9ucy5lcnJvcl9sb2dfcHJpbnRfcgoJCQkpOwoKCQkJJHJlc3VsdCA9IGFycmF5KAoJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCSdtZXNzYWdlJyA9PiAkYm9keSwKCQkJCSd0cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLAoJCQkJJ3BhcmVudCcgID0+ICR3b3JkcHJlc3NfaWQsCgkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJKTsKCgkJCSRsb2dnaW5nLT5zZXR1cCggJHJlc3VsdCApOwoKCQkJJHJlc3VsdHNbXSA9ICRyZXN1bHQ7CgoJCQkvLyBob29rIGZvciBwdWxsIGZhaWwuCgkJCWRvX2FjdGlvbiggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHVsbF9mYWlsJywgJG9wLCAkcmVzdWx0LCAkc3luY2VkX29iamVjdCApOwoKCQl9IC8vIEVuZCBpZigpIHN0YXRlbWVudC4KCQlyZXR1cm4gJHJlc3VsdHM7Cgl9CgoJLyoqCgkgKiBVcGRhdGUgcmVjb3JkcyBpbiBXb3JkUHJlc3MgZnJvbSBhIFNhbGVzZm9yY2UgcHVsbAoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJHNmX3N5bmNfdHJpZ2dlciBUaGUgY3VycmVudCBvcGVyYXRpb24ncyB0cmlnZ2VyLgoJICogQHBhcmFtIGFycmF5ICAkc3luY2VkX29iamVjdCBDb21iaW5lZCBkYXRhIGZvciBmaWVsZG1hcCwgbWFwcGluZyBvYmplY3QsIGFuZCBTYWxlc2ZvcmNlIG9iamVjdCBkYXRhLgoJICogQHBhcmFtIGFycmF5ICAkcGFyYW1zIEFycmF5IG9mIG1hcHBlZCBrZXkgdmFsdWUgcGFpcnMgYmV0d2VlbiBXb3JkUHJlc3MgYW5kIFNhbGVzZm9yY2UgZmllbGRzLgoJICogQHBhcmFtIHN0cmluZyAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUgVGhlIG5hbWUgb2YgdGhlIElEIGZpZWxkIGZvciB0aGlzIHBhcnRpY3VsYXIgV29yZFByZXNzIG9iamVjdCB0eXBlLgoJICogQHBhcmFtIGludCAgICAkc2Vjb25kcyBUaW1lb3V0IGZvciB0aGUgdHJhbnNpZW50IHZhbHVlIHRvIGRldGVybWluZSB0aGUgZGlyZWN0aW9uIGZvciBhIHN5bmMuCgkgKiBAcmV0dXJuIGFycmF5ICRyZXN1bHRzIEN1cnJlbnRseSB0aGlzIGNvbnRhaW5zIGFuIGFycmF5IG9mIGxvZyBlbnRyaWVzIGZvciBlYWNoIGF0dGVtcHQuCgkgKiBAdGhyb3dzIE9iamVjdF9TeW5jX1NmX0V4Y2VwdGlvbiBFeGNlcHRpb24gJGUuCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gdXBkYXRlX2NhbGxlZF9mcm9tX3NhbGVzZm9yY2UoICRzZl9zeW5jX3RyaWdnZXIsICRzeW5jZWRfb2JqZWN0LCAkcGFyYW1zLCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUsICRzZWNvbmRzICkgewoKCQkkc2FsZXNmb3JjZV9tYXBwaW5nID0gJHN5bmNlZF9vYmplY3RbJ21hcHBpbmcnXTsKCQkkbWFwcGluZ19vYmplY3QgICAgID0gJHN5bmNlZF9vYmplY3RbJ21hcHBpbmdfb2JqZWN0J107CgkJJG9iamVjdCAgICAgICAgICAgICA9ICRzeW5jZWRfb2JqZWN0WydzYWxlc2ZvcmNlX29iamVjdCddOwoKCQkvLyBtZXRob2RzIHRvIHJ1biB0aGUgd3AgdXBkYXRlIG9wZXJhdGlvbnMuCgkJJHJlc3VsdHMgPSBhcnJheSgpOwoJCSRvcCAgICAgID0gJyc7CgoJCS8vIGlmIHRoZSBsYXN0IHN5bmMgaXMgZ3JlYXRlciB0aGFuIHRoZSBsYXN0IHRpbWUgdGhpcyBvYmplY3Qgd2FzIHVwZGF0ZWQgYnkgU2FsZXNmb3JjZSwgc2tpcCBpdAoJCS8vIHRoaXMga2VlcHMgdXMgZnJvbSBkb2luZyByZWR1bmRhbnQgc3luY3MKCQkvLyBiZWNhdXNlIFNGIHN0b3JlcyBhbGwgRGF0ZVRpbWVzIGluIFVUQy4KCQkkbWFwcGluZ19vYmplY3RbJ29iamVjdF91cGRhdGVkJ10gPSBjdXJyZW50X3RpbWUoICdteXNxbCcgKTsKCgkJJHB1bGxfdHJpZ2dlcl9maWVsZCA9ICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3B1bGxfdHJpZ2dlcl9maWVsZCddOwoJCSRwdWxsX3RyaWdnZXJfdmFsdWUgPSAkb2JqZWN0WyAkcHVsbF90cmlnZ2VyX2ZpZWxkIF07CgoJCS8vIGhvb2sgdG8gYWxsb3cgb3RoZXIgcGx1Z2lucyB0byBkbyBzb21ldGhpbmcgcmlnaHQgYmVmb3JlIFdvcmRQcmVzcyBkYXRhIGlzIHNhdmVkCgkJLy8gZXg6IHJ1biBvdXRzaWRlIG1ldGhvZHMgb24gYW4gb2JqZWN0IGlmIGl0IGV4aXN0cywgb3IgZG8gc29tZXRoaW5nIGluIHByZXBhcmF0aW9uIGZvciBpdCBpZiBpdCBkb2Vzbid0LgoJCWRvX2FjdGlvbiggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHJlX3B1bGwnLCAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddLCAkc2FsZXNmb3JjZV9tYXBwaW5nLCAkb2JqZWN0LCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUsICRwYXJhbXMgKTsKCgkJdHJ5IHsKCgkJCSRvcCAgICAgPSAnVXBkYXRlJzsKCQkJJHJlc3VsdCA9ICR0aGlzLT53b3JkcHJlc3MtPm9iamVjdF91cGRhdGUoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSwgJG1hcHBpbmdfb2JqZWN0Wyd3b3JkcHJlc3NfaWQnXSwgJHBhcmFtcywgJG1hcHBpbmdfb2JqZWN0ICk7CgoJCQkkbWFwcGluZ19vYmplY3RbJ2xhc3Rfc3luY19zdGF0dXMnXSAgPSAkdGhpcy0+bWFwcGluZ3MtPnN0YXR1c19zdWNjZXNzOwoJCQkkbWFwcGluZ19vYmplY3RbJ2xhc3Rfc3luY19tZXNzYWdlJ10gPSBlc2NfaHRtbF9fKCAnTWFwcGluZyBvYmplY3QgdXBkYXRlZCB2aWEgZnVuY3Rpb246ICcsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSAuIF9fRlVOQ1RJT05fXzsKCgkJCSRzdGF0dXMgPSAnc3VjY2Vzcyc7CgkJCWlmICggaXNzZXQoICR0aGlzLT5sb2dnaW5nICkgKSB7CgkJCQkkbG9nZ2luZyA9ICR0aGlzLT5sb2dnaW5nOwoJCQl9IGVsc2VpZiAoIGNsYXNzX2V4aXN0cyggJ09iamVjdF9TeW5jX1NmX0xvZ2dpbmcnICkgKSB7CgkJCQkkbG9nZ2luZyA9IG5ldyBPYmplY3RfU3luY19TZl9Mb2dnaW5nKCAkdGhpcy0+d3BkYiwgJHRoaXMtPnZlcnNpb24gKTsKCQkJfQoKCQkJJHRpdGxlID0gc3ByaW50ZigKCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgd2hhdCBvcGVyYXRpb24gaXMgaGFwcGVuaW5nLCAzKSB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdCB0eXBlLCA0KSB0aGUgV29yZFByZXNzIGlkIGZpZWxkIG5hbWUsIDUpIHRoZSBXb3JkUHJlc3Mgb2JqZWN0IGlkIHZhbHVlLCA2KSB0aGUgbmFtZSBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QsIDcpIHRoZSBTYWxlc2ZvcmNlIElkIHZhbHVlLgoJCQkJZXNjX2h0bWxfXyggJyUxJHM6ICUyJHMgV29yZFByZXNzICUzJHMgd2l0aCAlNCRzIG9mICU1JHMgKFNhbGVzZm9yY2UgJTYkcyBJZCBvZiAlNyRzKScsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKSwKCQkJCWVzY19hdHRyKCAkb3AgKSwKCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKSwKCQkJCWVzY19hdHRyKCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUgKSwKCQkJCWVzY19hdHRyKCAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddICksCgkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9vYmplY3QnXSApLAoJCQkJZXNjX2F0dHIoICRvYmplY3RbJ0lkJ10gKQoJCQkpOwoKCQkJJHJlc3VsdCA9IGFycmF5KAoJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCSdtZXNzYWdlJyA9PiAnJywKCQkJCSd0cmlnZ2VyJyA9PiAkc2Zfc3luY190cmlnZ2VyLAoJCQkJJ3BhcmVudCcgID0+ICRtYXBwaW5nX29iamVjdFsnd29yZHByZXNzX2lkJ10sCgkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJKTsKCgkJCSRsb2dnaW5nLT5zZXR1cCggJHJlc3VsdCApOwoKCQkJJHJlc3VsdHNbXSA9ICRyZXN1bHQ7CgoJCQkvLyBob29rIGZvciBwdWxsIHN1Y2Nlc3MuCgkJCWRvX2FjdGlvbiggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHVsbF9zdWNjZXNzJywgJG9wLCAkcmVzdWx0LCAkc3luY2VkX29iamVjdCApOwoKCQl9IGNhdGNoICggT2JqZWN0X1N5bmNfU2ZfRXhjZXB0aW9uICRlICkgewoJCQkvLyBjcmVhdGUgbG9nIGVudHJ5IGZvciBmYWlsZWQgdXBkYXRlLgoJCQkkc3RhdHVzID0gJ2Vycm9yJzsKCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQl9CgoJCQkkdGl0bGUgLj0gc3ByaW50ZigKCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgbG9nIHN0YXR1cywgMikgd2hhdCBvcGVyYXRpb24gaXMgaGFwcGVuaW5nLCAzKSB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdCwgNCkgdGhlIFdvcmRQcmVzcyBpZCBmaWVsZCBuYW1lLCA1KSB0aGUgV29yZFByZXNzIG9iamVjdCBpZCB2YWx1ZSwgNikgdGhlIG5hbWUgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0LCA3KSB0aGUgU2FsZXNmb3JjZSBJZCB2YWx1ZS4KCQkJCWVzY19odG1sX18oICclMSRzOiAlMiRzIFdvcmRQcmVzcyAlMyRzIHdpdGggJTQkcyBvZiAlNSRzIChTYWxlc2ZvcmNlICU2JHMgd2l0aCBJZCBvZiAlNyRzKScsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKSwKCQkJCWVzY19hdHRyKCAkb3AgKSwKCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKSwKCQkJCWVzY19hdHRyKCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUgKSwKCQkJCWVzY19hdHRyKCAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddICksCgkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9vYmplY3QnXSApLAoJCQkJZXNjX2F0dHIoICRvYmplY3RbJ0lkJ10gKQoJCQkpOwoKCQkJJHJlc3VsdCA9IGFycmF5KAoJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCSdtZXNzYWdlJyA9PiAkZS0+Z2V0TWVzc2FnZSgpLAoJCQkJJ3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkncGFyZW50JyAgPT4gJG1hcHBpbmdfb2JqZWN0Wyd3b3JkcHJlc3NfaWQnXSwKCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkpOwoKCQkJJGxvZ2dpbmctPnNldHVwKCAkcmVzdWx0ICk7CgoJCQkkcmVzdWx0c1tdID0gJHJlc3VsdDsKCgkJCSRtYXBwaW5nX29iamVjdFsnbGFzdF9zeW5jX3N0YXR1cyddICA9ICR0aGlzLT5tYXBwaW5ncy0+c3RhdHVzX2Vycm9yOwoJCQkkbWFwcGluZ19vYmplY3RbJ2xhc3Rfc3luY19tZXNzYWdlJ10gPSAkZS0+Z2V0TWVzc2FnZSgpOwoKCQkJaWYgKCBmYWxzZSA9PT0gJGhvbGRfZXhjZXB0aW9ucyApIHsKCQkJCXRocm93ICRlOwoJCQl9CgkJCWlmICggZW1wdHkoICRleGNlcHRpb24gKSApIHsKCQkJCSRleGNlcHRpb24gPSAkZTsKCQkJfSBlbHNlIHsKCQkJCSRteV9jbGFzcyAgPSBnZXRfY2xhc3MoICRlICk7CgkJCQkkZXhjZXB0aW9uID0gbmV3ICRteV9jbGFzcyggJGUtPmdldE1lc3NhZ2UoKSwgJGUtPmdldENvZGUoKSwgJGV4Y2VwdGlvbiApOwoJCQl9CgoJCQkvLyBob29rIGZvciBwdWxsIGZhaWwuCgkJCWRvX2FjdGlvbiggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHVsbF9mYWlsJywgJG9wLCAkcmVzdWx0LCAkc3luY2VkX29iamVjdCApOwoKCQl9IC8vIEVuZCB0cnkoKSBtZXRob2QuCgoJCS8vIG5lZWQgdG8gbW92ZSB0aGVzZSBpbnRvIHRoZSBzdWNjZXNzIGNoZWNrLgoKCQkvLyBtYXliZSBjYW4gY2hlY2sgdG8gc2VlIGlmIHdlIGFjdHVhbGx5IHVwZGF0ZWQgYW55dGhpbmcgaW4gV29yZFByZXNzCgkJLy8gdGVsbCB0aGUgbWFwcGluZyBvYmplY3QgLSB3aGV0aGVyIGl0IGlzIG5ldyBvciBhbHJlYWR5IGV4aXN0ZWQgLSBob3cgd2UganVzdCB1c2VkIGl0LgoJCSRtYXBwaW5nX29iamVjdFsnbGFzdF9zeW5jX2FjdGlvbiddID0gJ3B1bGwnOwoJCSRtYXBwaW5nX29iamVjdFsnbGFzdF9zeW5jJ10gICAgICAgID0gY3VycmVudF90aW1lKCAnbXlzcWwnICk7CgoJCS8vIHVwZGF0ZSB0aGF0IG1hcHBpbmcgb2JqZWN0LiB0aGUgU2FsZXNmb3JjZSBkYXRhIHZlcnNpb24gd2lsbCBiZSBzZXQgaGVyZSBhcyB3ZWxsIGJlY2F1c2Ugd2Ugc2V0IGl0IGVhcmxpZXIuCgkJJHVwZGF0ZV9vYmplY3RfbWFwID0gJHRoaXMtPm1hcHBpbmdzLT51cGRhdGVfb2JqZWN0X21hcCggJG1hcHBpbmdfb2JqZWN0LCAkbWFwcGluZ19vYmplY3RbJ2lkJ10gKTsKCgkJcmV0dXJuICRyZXN1bHRzOwoKCX0KCgkvKioKCSAqIERlbGV0ZSByZWNvcmRzIGluIFdvcmRQcmVzcyBmcm9tIGEgU2FsZXNmb3JjZSBwdWxsCgkgKgoJICogQHBhcmFtIHN0cmluZyAkc2Zfc3luY190cmlnZ2VyIFRoZSBjdXJyZW50IG9wZXJhdGlvbidzIHRyaWdnZXIuCgkgKiBAcGFyYW0gYXJyYXkgICRzeW5jZWRfb2JqZWN0IENvbWJpbmVkIGRhdGEgZm9yIGZpZWxkbWFwLCBtYXBwaW5nIG9iamVjdCwgYW5kIFNhbGVzZm9yY2Ugb2JqZWN0IGRhdGEuCgkgKiBAcGFyYW0gc3RyaW5nICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSBUaGUgbmFtZSBvZiB0aGUgSUQgZmllbGQgZm9yIHRoaXMgcGFydGljdWxhciBXb3JkUHJlc3Mgb2JqZWN0IHR5cGUuCgkgKiBAcGFyYW0gaW50ICAgICRzZWNvbmRzIFRpbWVvdXQgZm9yIHRoZSB0cmFuc2llbnQgdmFsdWUgdG8gZGV0ZXJtaW5lIHRoZSBkaXJlY3Rpb24gZm9yIGEgc3luYy4KCSAqIEBwYXJhbSBhcnJheSAgJG1hcHBpbmdfb2JqZWN0cyBUaGUgZGF0YSBmb3IgdGhlIG1hcHBpbmcgb2JqZWN0cyBiZXR3ZWVuIHRoZSBpbmRpdmlkdWFsIFNhbGVzZm9yY2UgYW5kIFdvcmRQcmVzcyBpdGVtcy4gV2Ugb25seSBwYXNzIHRoaXMgYmVjYXVzZSBvZiB0aGUgbmVlZCB0byBjb3VudCBiZWZvcmUgZGVsZXRpbmcgcmVjb3Jkcy4KCSAqIEByZXR1cm4gYXJyYXkgJHJlc3VsdHMgQ3VycmVudGx5IHRoaXMgY29udGFpbnMgYW4gYXJyYXkgb2YgbG9nIGVudHJpZXMgZm9yIGVhY2ggYXR0ZW1wdC4KCSAqIEB0aHJvd3MgT2JqZWN0X1N5bmNfU2ZfRXhjZXB0aW9uIEV4Y2VwdGlvbiAkZS4KCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBkZWxldGVfY2FsbGVkX2Zyb21fc2FsZXNmb3JjZSggJHNmX3N5bmNfdHJpZ2dlciwgJHN5bmNlZF9vYmplY3QsICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSwgJHNlY29uZHMsICRtYXBwaW5nX29iamVjdHMgKSB7CgoJCSRzYWxlc2ZvcmNlX21hcHBpbmcgPSAkc3luY2VkX29iamVjdFsnbWFwcGluZyddOwoJCSRtYXBwaW5nX29iamVjdCAgICAgPSAkc3luY2VkX29iamVjdFsnbWFwcGluZ19vYmplY3QnXTsKCgkJLy8gbWV0aG9kcyB0byBydW4gdGhlIHdwIGRlbGV0ZSBvcGVyYXRpb25zLgoJCSRyZXN1bHRzID0gYXJyYXkoKTsKCQkkb3AgICAgICA9ICcnOwoKCQkvLyBkZWxldGluZyBtYXBwZWQgb2JqZWN0cy4KCQlpZiAoICRzZl9zeW5jX3RyaWdnZXIgPT09ICR0aGlzLT5tYXBwaW5ncy0+c3luY19zZl9kZWxldGUgKSB7IC8vIHRyaWdnZXIgaXMgYSBiaXQgb3BlcmF0b3IuCgkJCWlmICggaXNzZXQoICRtYXBwaW5nX29iamVjdFsnaWQnXSApICkgewoKCQkJCSRvcCA9ICdEZWxldGUnOwoKCQkJCS8vIG9ubHkgZGVsZXRlIGlmIHRoZXJlIGFyZSBubyBhZGRpdGlvbmFsIG1hcHBpbmcgb2JqZWN0cyBmb3IgdGhpcyByZWNvcmQuCgkJCQlpZiAoIDEgPT09IGNvdW50KCAkbWFwcGluZ19vYmplY3RzICkgKSB7CgoJCQkJCXNldF90cmFuc2llbnQoICdzYWxlc2ZvcmNlX3B1bGxpbmdfJyAuICRtYXBwaW5nX29iamVjdFsnc2FsZXNmb3JjZV9pZCddLCAxLCAkc2Vjb25kcyApOwoJCQkJCXNldF90cmFuc2llbnQoICdzYWxlc2ZvcmNlX3B1bGxpbmdfb2JqZWN0X2lkJywgJG1hcHBpbmdfb2JqZWN0WydzYWxlc2ZvcmNlX2lkJ10gKTsKCgkJCQkJdHJ5IHsKCQkJCQkJJHJlc3VsdCA9ICR0aGlzLT53b3JkcHJlc3MtPm9iamVjdF9kZWxldGUoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSwgJG1hcHBpbmdfb2JqZWN0Wyd3b3JkcHJlc3NfaWQnXSApOwoJCQkJCX0gY2F0Y2ggKCBPYmplY3RfU3luY19TZl9FeGNlcHRpb24gJGUgKSB7CgkJCQkJCSRzdGF0dXMgPSAnZXJyb3InOwoJCQkJCQkvLyBjcmVhdGUgbG9nIGVudHJ5IGZvciBmYWlsZWQgZGVsZXRlLgoJCQkJCQlpZiAoIGlzc2V0KCAkdGhpcy0+bG9nZ2luZyApICkgewoJCQkJCQkJJGxvZ2dpbmcgPSAkdGhpcy0+bG9nZ2luZzsKCQkJCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJCQkJJGxvZ2dpbmcgPSBuZXcgT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZyggJHRoaXMtPndwZGIsICR0aGlzLT52ZXJzaW9uICk7CgkJCQkJCX0KCgkJCQkJCSR0aXRsZSA9IHNwcmludGYoCgkJCQkJCQkvLyB0cmFuc2xhdG9yczogcGxhY2Vob2xkZXJzIGFyZTogMSkgdGhlIGxvZyBzdGF0dXMsIDIpIHdoYXQgb3BlcmF0aW9uIGlzIGhhcHBlbmluZywgMykgdGhlIG5hbWUgb2YgdGhlIFdvcmRQcmVzcyBvYmplY3QgdHlwZSwgNCkgdGhlIFdvcmRQcmVzcyBpZCBmaWVsZCBuYW1lLCA1KSB0aGUgV29yZFByZXNzIG9iamVjdCBpZCB2YWx1ZSwgNikgdGhlIG5hbWUgb2YgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0LCA3KSB0aGUgU2FsZXNmb3JjZSBJZCB2YWx1ZS4KCQkJCQkJCWVzY19odG1sX18oICclMSRzOiAlMiRzIFdvcmRQcmVzcyAlMyRzIHdpdGggJTQkcyBvZiAlNSRzICglNiRzICU3JHMpJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApLAoJCQkJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJCQkJZXNjX2F0dHIoICRvcCApLAoJCQkJCQkJZXNjX2F0dHIoICRzYWxlc2ZvcmNlX21hcHBpbmdbJ3dvcmRwcmVzc19vYmplY3QnXSApLAoJCQkJCQkJZXNjX2F0dHIoICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSApLAoJCQkJCQkJZXNjX2F0dHIoICRtYXBwaW5nX29iamVjdFsnd29yZHByZXNzX2lkJ10gKSwKCQkJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWydzYWxlc2ZvcmNlX29iamVjdCddICksCgkJCQkJCQllc2NfYXR0ciggJG1hcHBpbmdfb2JqZWN0WydzYWxlc2ZvcmNlX2lkJ10gKQoJCQkJCQkpOwoKCQkJCQkJJHJlc3VsdCA9IGFycmF5KAoJCQkJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCQkJCSdtZXNzYWdlJyA9PiAkZS0+Z2V0TWVzc2FnZSgpLAoJCQkJCQkJJ3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkJCQkncGFyZW50JyAgPT4gJG1hcHBpbmdfb2JqZWN0Wyd3b3JkcHJlc3NfaWQnXSwKCQkJCQkJCSdzdGF0dXMnICA9PiAkc3RhdHVzLAoJCQkJCQkpOwoKCQkJCQkJJGxvZ2dpbmctPnNldHVwKCAkcmVzdWx0ICk7CgoJCQkJCQkkcmVzdWx0c1tdID0gJHJlc3VsdDsKCgkJCQkJCWlmICggZmFsc2UgPT09ICRob2xkX2V4Y2VwdGlvbnMgKSB7CgkJCQkJCQl0aHJvdyAkZTsKCQkJCQkJfQoJCQkJCQlpZiAoIGVtcHR5KCAkZXhjZXB0aW9uICkgKSB7CgkJCQkJCQkkZXhjZXB0aW9uID0gJGU7CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQkkbXlfY2xhc3MgID0gZ2V0X2NsYXNzKCAkZSApOwoJCQkJCQkJJGV4Y2VwdGlvbiA9IG5ldyAkbXlfY2xhc3MoICRlLT5nZXRNZXNzYWdlKCksICRlLT5nZXRDb2RlKCksICRleGNlcHRpb24gKTsKCQkJCQkJfQoKCQkJCQkJLy8gaG9vayBmb3IgcHVsbCBmYWlsLgoJCQkJCQlkb19hY3Rpb24oICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3B1bGxfZmFpbCcsICRvcCwgJHJlc3VsdCwgJHN5bmNlZF9vYmplY3QgKTsKCgkJCQkJfSAvLyBFbmQgdHJ5KCkgbWV0aG9kLgoKCQkJCQlpZiAoICEgaXNzZXQoICRlICkgKSB7CgkJCQkJCS8vIGNyZWF0ZSBsb2cgZW50cnkgZm9yIHN1Y2Nlc3NmdWwgZGVsZXRlIGlmIHRoZSByZXN1bHQgaGFkIG5vIGVycm9ycy4KCQkJCQkJJHN0YXR1cyA9ICdzdWNjZXNzJzsKCQkJCQkJaWYgKCBpc3NldCggJHRoaXMtPmxvZ2dpbmcgKSApIHsKCQkJCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCQkJCX0gZWxzZWlmICggY2xhc3NfZXhpc3RzKCAnT2JqZWN0X1N5bmNfU2ZfTG9nZ2luZycgKSApIHsKCQkJCQkJCSRsb2dnaW5nID0gbmV3IE9iamVjdF9TeW5jX1NmX0xvZ2dpbmcoICR0aGlzLT53cGRiLCAkdGhpcy0+dmVyc2lvbiApOwoJCQkJCQl9CgoJCQkJCQkkdGl0bGUgPSBzcHJpbnRmKAoJCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBsYWNlaG9sZGVycyBhcmU6IDEpIHRoZSBsb2cgc3RhdHVzLCAyKSB3aGF0IG9wZXJhdGlvbiBpcyBoYXBwZW5pbmcsIDMpIHRoZSBuYW1lIG9mIHRoZSBXb3JkUHJlc3Mgb2JqZWN0IHR5cGUsIDQpIHRoZSBXb3JkUHJlc3MgaWQgZmllbGQgbmFtZSwgNSkgdGhlIFdvcmRQcmVzcyBvYmplY3QgaWQgdmFsdWUsIDYpIHRoZSBuYW1lIG9mIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCwgNykgdGhlIFNhbGVzZm9yY2UgSWQgdmFsdWUuCgkJCQkJCQllc2NfaHRtbF9fKCAnJTEkczogJTIkcyBXb3JkUHJlc3MgJTMkcyB3aXRoICU0JHMgb2YgJTUkcyAoJTYkcyAlNyRzKScsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJCXVjZmlyc3QoIGVzY19hdHRyKCAkc3RhdHVzICkgKSwKCQkJCQkJCWVzY19hdHRyKCAkb3AgKSwKCQkJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKSwKCQkJCQkJCWVzY19hdHRyKCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUgKSwKCQkJCQkJCWVzY19hdHRyKCAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddICksCgkJCQkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9vYmplY3QnXSApLAoJCQkJCQkJZXNjX2F0dHIoICRtYXBwaW5nX29iamVjdFsnc2FsZXNmb3JjZV9pZCddICkKCQkJCQkJKTsKCgkJCQkJCSRyZXN1bHQgPSBhcnJheSgKCQkJCQkJCSd0aXRsZScgICA9PiAkdGl0bGUsCgkJCQkJCQknbWVzc2FnZScgPT4gJycsCgkJCQkJCQkndHJpZ2dlcicgPT4gJHNmX3N5bmNfdHJpZ2dlciwKCQkJCQkJCSdwYXJlbnQnICA9PiAkbWFwcGluZ19vYmplY3RbJ3dvcmRwcmVzc19pZCddLAoJCQkJCQkJJ3N0YXR1cycgID0+ICRzdGF0dXMsCgkJCQkJCSk7CgoJCQkJCQkkbG9nZ2luZy0+c2V0dXAoICRyZXN1bHQgKTsKCgkJCQkJCSRyZXN1bHRzW10gPSAkcmVzdWx0OwoKCQkJCQkJLy8gaG9vayBmb3IgcHVsbCBzdWNjZXNzLgoJCQkJCQlkb19hY3Rpb24oICR0aGlzLT5vcHRpb25fcHJlZml4IC4gJ3B1bGxfc3VjY2VzcycsICRvcCwgJHJlc3VsdCwgJHN5bmNlZF9vYmplY3QgKTsKCQkJCQl9IC8vIEVuZCBpZigpIHN0YXRlbWVudCBpZiBpdCB3YXMgc3VjY2Vzc2Z1bC4KCQkJCX0gZWxzZSB7CgkJCQkJLy8gY3JlYXRlIGxvZyBlbnRyeSBmb3IgYWRkaXRpb25hbCBtYXBwZWQgaXRlbXMuCgkJCQkJJG1vcmVfaWRzID0gc3ByaW50ZigKCQkJCQkJLy8gdHJhbnNsYXRvcnM6IHBhcmFtZXRlciBpcyB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIGlkIGZpZWxkIG5hbWUuCgkJCQkJCSc8cD4nIC4gZXNjX2h0bWxfXyggJ1RoZSBXb3JkUHJlc3MgcmVjb3JkIHdhcyBub3QgZGVsZXRlZCBiZWNhdXNlIHRoZXJlIGFyZSBtdWx0aXBsZSBTYWxlc2ZvcmNlIElEcyB0aGF0IG1hdGNoIHRoaXMgV29yZFByZXNzICUxJHMuKSBUaGV5IGFyZTonLCAnb2JqZWN0LXN5bmMtZm9yLXNhbGVzZm9yY2UnICkgLiAnPC9wPicsCgkJCQkJCWVzY19hdHRyKCAkd29yZHByZXNzX2lkX2ZpZWxkX25hbWUgKQoJCQkJCSk7CgoJCQkJCSRtb3JlX2lkcyAuPSAnPHVsPic7CgkJCQkJZm9yZWFjaCAoICRtYXBwaW5nX29iamVjdHMgYXMgJG1hdGNoICkgewoJCQkJCQkkbW9yZV9pZHMgLj0gJzxsaT4nIC4gJG1hdGNoWydzYWxlc2ZvcmNlX2lkJ10gLiAnPC9saT4nOwoJCQkJCX0KCQkJCQkkbW9yZV9pZHMgLj0gJzwvdWw+JzsKCgkJCQkJJG1vcmVfaWRzIC49ICc8cD4nIC4gZXNjX2h0bWxfXyggJ1RoZSBtYXAgcm93IGJldHdlZW4gdGhpcyBTYWxlc2ZvcmNlIG9iamVjdCBhbmQgdGhlIFdvcmRQcmVzcyBvYmplY3QsIGFzIHN0b3JlZCBpbiB0aGUgV29yZFByZXNzIGRhdGFiYXNlLCB3aWxsIGJlIGRlbGV0ZWQsIGFuZCB0aGlzIFNhbGVzZm9yY2Ugb2JqZWN0IGhhcyBiZWVuIGRlbGV0ZWQsIGJ1dCBXb3JkUHJlc3Mgb2JqZWN0IGRhdGEgd2lsbCByZW1haW4gdW50b3VjaGVkLicsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSAuICc8L3A+JzsKCgkJCQkJJHN0YXR1cyA9ICdub3RpY2UnOwoJCQkJCWlmICggaXNzZXQoICR0aGlzLT5sb2dnaW5nICkgKSB7CgkJCQkJCSRsb2dnaW5nID0gJHRoaXMtPmxvZ2dpbmc7CgkJCQkJfSBlbHNlaWYgKCBjbGFzc19leGlzdHMoICdPYmplY3RfU3luY19TZl9Mb2dnaW5nJyApICkgewoJCQkJCQkkbG9nZ2luZyA9IG5ldyBPYmplY3RfU3luY19TZl9Mb2dnaW5nKCAkdGhpcy0+d3BkYiwgJHRoaXMtPnZlcnNpb24gKTsKCQkJCQl9CgoJCQkJCSR0aXRsZSA9IHNwcmludGYoCgkJCQkJCS8vIHRyYW5zbGF0b3JzOiBwbGFjZWhvbGRlcnMgYXJlOiAxKSB0aGUgb3BlcmF0aW9uIHRoYXQgaXMgaGFwcGVuaW5nLCAyKSB0aGUgbmFtZSBvZiB0aGUgV29yZFByZXNzIG9iamVjdCB0eXBlLCAzKSB0aGUgV29yZFByZXNzIGlkIGZpZWxkIG5hbWUsIDQpIHRoZSBXb3JkUHJlc3Mgb2JqZWN0IGlkIHZhbHVlLCA1KSB0aGUgbmFtZSBvZiB0aGUgU2FsZXNmb3JjZSBvYmplY3QgdHlwZSwgNikgdGhlIFNhbGVzZm9yY2UgSWQuCgkJCQkJCWVzY19odG1sX18oICclMSRzOiAlMiRzIG9uIFdvcmRQcmVzcyAlMyRzIHdpdGggJTQkcyBvZiAlNSRzIHdhcyBzdG9wcGVkIGJlY2F1c2UgdGhlcmUgYXJlIG90aGVyIFdvcmRQcmVzcyByZWNvcmRzIG1hcHBlZCB0byBTYWxlc2ZvcmNlICU2JHMgb2YgJTckcycsICdvYmplY3Qtc3luYy1mb3Itc2FsZXNmb3JjZScgKSwKCQkJCQkJdWNmaXJzdCggZXNjX2F0dHIoICRzdGF0dXMgKSApLAoJCQkJCQllc2NfYXR0ciggJG9wICksCgkJCQkJCWVzY19hdHRyKCAkc2FsZXNmb3JjZV9tYXBwaW5nWyd3b3JkcHJlc3Nfb2JqZWN0J10gKSwKCQkJCQkJZXNjX2F0dHIoICR3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSApLAoJCQkJCQllc2NfYXR0ciggJG1hcHBpbmdfb2JqZWN0Wyd3b3JkcHJlc3NfaWQnXSApLAoJCQkJCQllc2NfYXR0ciggJHNhbGVzZm9yY2VfbWFwcGluZ1snc2FsZXNmb3JjZV9vYmplY3QnXSApLAoJCQkJCQllc2NfYXR0ciggJG1hcHBpbmdfb2JqZWN0WydzYWxlc2ZvcmNlX2lkJ10gKQoJCQkJCSk7CgoJCQkJCSRub3RpY2UgPSBhcnJheSgKCQkJCQkJJ3RpdGxlJyAgID0+ICR0aXRsZSwKCQkJCQkJJ21lc3NhZ2UnID0+ICRtb3JlX2lkcywKCQkJCQkJJ3RyaWdnZXInID0+ICRzZl9zeW5jX3RyaWdnZXIsCgkJCQkJCSdwYXJlbnQnICA9PiAwLAoJCQkJCQknc3RhdHVzJyAgPT4gJHN0YXR1cywKCQkJCQkpOwoKCQkJCQkkbG9nZ2luZy0+c2V0dXAoICRub3RpY2UgKTsKCQkJCX0gLy8gRW5kIGlmKCkgb24gY291bnQKCQkJCS8vIGRlbGV0ZSB0aGUgbWFwIHJvdyBmcm9tIFdvcmRQcmVzcyBhZnRlciB0aGUgV29yZFByZXNzIHJvdyBoYXMgYmVlbiBkZWxldGVkCgkJCQkvLyB3ZSBkZWxldGUgdGhlIG1hcCByb3cgZXZlbiBpZiB0aGUgV29yZFByZXNzIGRlbGV0ZSBmYWlsZWQsIGJlY2F1c2UgdGhlIFNhbGVzZm9yY2Ugb2JqZWN0IGlzIGdvbmUuCgkJCQkkdGhpcy0+bWFwcGluZ3MtPmRlbGV0ZV9vYmplY3RfbWFwKCAkbWFwcGluZ19vYmplY3RbJ2lkJ10gKTsKCQkJCS8vIHRoZXJlIGlzIG5vIG1hcCByb3cgaWYgd2UgZW5kIHRoaXMgaWYgc3RhdGVtZW50LgoJCQl9IC8vIEVuZCBpZigpIHN0YXRlbWVudC4KCQl9IC8vIEVuZCBpZigpIHN0YXRlbWVudC4KCgkJcmV0dXJuICRyZXN1bHRzOwoKCX0KCgkvKioKCSAqIENsZWFyIHRoZSBjdXJyZW50bHkgc3RvcmVkIHF1ZXJ5IGZvciB0aGUgc3BlY2lmaWVkIGNvbnRlbnQgdHlwZQoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJHR5cGUgZS5nLiAiQ29udGFjdCIsICJBY2NvdW50IiwgZXRjLgoJICogQHBhcmFtIGludCAgICAkZmllbGRtYXBfaWQgaXMgdGhlIGZpZWxkbWFwIElEIHRoYXQgZ29lcyB3aXRoIHRoaXMgcXVlcnkuCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBjbGVhcl9jdXJyZW50X3R5cGVfcXVlcnkoICR0eXBlLCAkZmllbGRtYXBfaWQgPSAnJyApIHsKCQkvLyB1cGRhdGUgdGhlIGxhc3Qgc3luYyB0aW1lc3RhbXAgZm9yIHRoaXMgY29udGVudCB0eXBlLgoJCSR0aGlzLT5pbmNyZW1lbnRfY3VycmVudF90eXBlX2RhdGV0aW1lKCAkdHlwZSwgJGZpZWxkbWFwX2lkICk7CgkJLy8gZGVsZXRlIHRoZSBvcHRpb24gdmFsdWUgZm9yIHRoZSBjdXJyZW50bHkgcHVsbGluZyBxdWVyeSBmb3IgdGhpcyB0eXBlLgoJCSR0aGlzLT5wdWxsX29wdGlvbnMtPmRlbGV0ZSggJ2N1cnJlbnRfcXVlcnknLCAkdHlwZSwgJGZpZWxkbWFwX2lkICk7CgkJLy8gZGVsZXRlIHRoZSBvcHRpb24gdmFsdWUgZm9yIHRoZSBsYXN0IHB1bGwgcmVjb3JkIGlkLgoJCSR0aGlzLT5wdWxsX29wdGlvbnMtPmRlbGV0ZSggJ2xhc3RfaWQnLCAnJywgJycgKTsKCX0KCgkvKioKCSAqIEluY3JlbWVudCB0aGUgY3VycmVudGx5IHJ1bm5pbmcgcXVlcnkncyBkYXRldGltZQoJICoKCSAqIEBwYXJhbSBzdHJpbmcgICAgJHR5cGUgZS5nLiAiQ29udGFjdCIsICJBY2NvdW50IiwgZXRjLgoJICogQHBhcmFtIHRpbWVzdGFtcCAkbmV4dF9xdWVyeV9tb2RpZmllZF9kYXRlIHRoZSBsYXN0IHJlY29yZCdzIG1vZGlmaWVkIGRhdGV0aW1lLCBvciB0aGUgY3VycmVudCB0aW1lIGlmIHRoZXJlIGlzbid0IG9uZS4KCSAqIEBwYXJhbSBpbnQgICAgICAgJGZpZWxkbWFwX2lkIGlzIHRoZSBmaWVsZG1hcCBJRCB0aGF0IGdvZXMgd2l0aCB0aGlzIHF1ZXJ5LgoJICovCglwcml2YXRlIGZ1bmN0aW9uIGluY3JlbWVudF9jdXJyZW50X3R5cGVfZGF0ZXRpbWUoICR0eXBlLCAkbmV4dF9xdWVyeV9tb2RpZmllZF9kYXRlID0gJycsICRmaWVsZG1hcF9pZCA9ICcnICkgewoJCS8vIHVwZGF0ZSB0aGUgbGFzdCBzeW5jIHRpbWVzdGFtcCBmb3IgdGhpcyBjb250ZW50IHR5cGUuCgkJaWYgKCAnJyA9PT0gJG5leHRfcXVlcnlfbW9kaWZpZWRfZGF0ZSApIHsKCQkJJG5leHRfcXVlcnlfbW9kaWZpZWRfZGF0ZSA9IHRpbWUoKTsKCQl9IGVsc2UgewoJCQkkbmV4dF9xdWVyeV9tb2RpZmllZF9kYXRlID0gc3RydG90aW1lKCAkbmV4dF9xdWVyeV9tb2RpZmllZF9kYXRlICk7CgkJfQoJCSR0aGlzLT5wdWxsX29wdGlvbnMtPnNldCggJ2xhc3Rfc3luYycsICR0eXBlLCAkZmllbGRtYXBfaWQsICRuZXh0X3F1ZXJ5X21vZGlmaWVkX2RhdGUgKTsKCX0KCgkvKioKCSAqIENyZWF0ZSBhbiBvYmplY3QgbWFwIGJldHdlZW4gYSBTYWxlc2ZvcmNlIG9iamVjdCBhbmQgYSBXb3JkUHJlc3Mgb2JqZWN0CgkgKgoJICogQHBhcmFtIGFycmF5ICAkc2FsZXNmb3JjZV9vYmplY3QgQXJyYXkgb2YgdGhlIHNhbGVzZm9yY2Ugb2JqZWN0J3MgZGF0YS4KCSAqIEBwYXJhbSBzdHJpbmcgJHdvcmRwcmVzc19pZCBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIFdvcmRQcmVzcyBvYmplY3QuCgkgKiBAcGFyYW0gYXJyYXkgICRmaWVsZF9tYXBwaW5nIFRoZSByb3cgdGhhdCBtYXBzIHRoZSBvYmplY3QgdHlwZXMgdG9nZXRoZXIsIGluY2x1ZGluZyB3aGljaCBmaWVsZHMgbWF0Y2ggd2hpY2ggb3RoZXIgZmllbGRzLgoJICogQHJldHVybiBpbnQgJHdwZGItPmluc2VydF9pZCBUaGlzIGlzIHRoZSBkYXRhYmFzZSByb3cgZm9yIHRoZSBtYXAgb2JqZWN0CgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gY3JlYXRlX29iamVjdF9tYXAoICRzYWxlc2ZvcmNlX29iamVjdCwgJHdvcmRwcmVzc19pZCwgJGZpZWxkX21hcHBpbmcgKSB7CgkJLy8gQ3JlYXRlIG9iamVjdCBtYXAgYW5kIHNhdmUgaXQuCgkJJG1hcHBpbmdfb2JqZWN0ID0gJHRoaXMtPm1hcHBpbmdzLT5jcmVhdGVfb2JqZWN0X21hcCgKCQkJYXJyYXkoCgkJCQknd29yZHByZXNzX2lkJyAgICAgID0+ICR3b3JkcHJlc3NfaWQsIC8vIFdvcmRQcmVzcyB1bmlxdWUgaWQuCgkJCQknc2FsZXNmb3JjZV9pZCcgICAgID0+ICRzYWxlc2ZvcmNlX29iamVjdFsnSWQnXSwgLy8gU2FsZXNmb3JjZSB1bmlxdWUgaWQuIHdlIGRvbid0IGNhcmUgd2hhdCBraW5kIG9mIG9iamVjdCBpdCBpcyBhdCB0aGlzIHBvaW50LgoJCQkJJ3dvcmRwcmVzc19vYmplY3QnICA9PiAkZmllbGRfbWFwcGluZ1snd29yZHByZXNzX29iamVjdCddLCAvLyBrZWVwIHRyYWNrIG9mIHdoYXQga2luZCBvZiBXb3JkUHJlc3Mgb2JqZWN0IHRoaXMgaXMuCgkJCQknbGFzdF9zeW5jJyAgICAgICAgID0+IGN1cnJlbnRfdGltZSggJ215c3FsJyApLAoJCQkJJ2xhc3Rfc3luY19hY3Rpb24nICA9PiAncHVsbCcsCgkJCQknbGFzdF9zeW5jX3N0YXR1cycgID0+ICR0aGlzLT5tYXBwaW5ncy0+c3RhdHVzX3N1Y2Nlc3MsCgkJCQknbGFzdF9zeW5jX21lc3NhZ2UnID0+IGVzY19odG1sX18oICdNYXBwaW5nIG9iamVjdCBjcmVhdGVkIHZpYSBmdW5jdGlvbjogJywgJ29iamVjdC1zeW5jLWZvci1zYWxlc2ZvcmNlJyApIC4gX19GVU5DVElPTl9fLAoJCQkJJ2FjdGlvbicgICAgICAgICAgICA9PiAnY3JlYXRlZCcsCgkJCSkKCQkpOwoKCQlyZXR1cm4gJG1hcHBpbmdfb2JqZWN0OwoKCX0KCgkvKioKCSAqIEZpbmQgb3V0IGlmIHB1bGwgaXMgYWxsb3dlZCBmb3IgdGhpcyByZWNvcmQKCSAqCgkgKiBAcGFyYW0gc3RyaW5nICRvYmplY3RfdHlwZSBTYWxlc2ZvcmNlIG9iamVjdCB0eXBlLgoJICogQHBhcmFtIGFycmF5ICAkb2JqZWN0IEFycmF5IG9mIHRoZSBzYWxlc2ZvcmNlIG9iamVjdCdzIGRhdGEuCgkgKiBAcGFyYW0gc3RyaW5nICRzZl9zeW5jX3RyaWdnZXIgVGhlIGN1cnJlbnQgb3BlcmF0aW9uJ3MgdHJpZ2dlci4KCSAqIEBwYXJhbSBhcnJheSAgJHNhbGVzZm9yY2VfbWFwcGluZyB0aGUgZmllbGRtYXAgdGhhdCBtYXBzIHRoZSB0d28gb2JqZWN0IHR5cGVzLgoJICogQHBhcmFtIGFycmF5ICAkbWFwX3N5bmNfdHJpZ2dlcnMgdGhlIHRyaWdnZXJzIHRoYXQgYXJlIGVuYWJsZWQuCgkgKiBAcmV0dXJuIGJvb2wgJHB1bGxfYWxsb3dlZCBXaGV0aGVyIGFsbCB0aGlzIHN0dWZmIGFsbG93cyB0aGUgJHJlc3VsdCB0byBiZSBwdWxsZWQgaW50byBXb3JkUHJlc3MKCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBpc19wdWxsX2FsbG93ZWQoICRvYmplY3RfdHlwZSwgJG9iamVjdCwgJHNmX3N5bmNfdHJpZ2dlciwgJHNhbGVzZm9yY2VfbWFwcGluZywgJG1hcF9zeW5jX3RyaWdnZXJzICkgewoKCQkvLyBkZWZhdWx0IGlzIHB1bGwgaXMgYWxsb3dlZC4KCQkkcHVsbF9hbGxvd2VkID0gdHJ1ZTsKCgkJLy8gaWYgdGhlIGN1cnJlbnQgZmllbGRtYXAgZG9lcyBub3QgYWxsb3cgY3JlYXRlLCB3ZSBuZWVkIHRvIGNoZWNrIGlmIHRoZXJlIGlzIGFuIG9iamVjdCBtYXAgZm9yIHRoZSBTYWxlc2ZvcmNlIG9iamVjdCBJZC4gaWYgbm90LCBzZXQgcHVsbF9hbGxvd2VkIHRvIGZhbHNlLgoJCWlmICggISBpbl9hcnJheSggJHRoaXMtPm1hcHBpbmdzLT5zeW5jX3NmX2NyZWF0ZSwgJG1hcF9zeW5jX3RyaWdnZXJzLCB0cnVlICkgKSB7CgkJCSRvYmplY3RfbWFwID0gJHRoaXMtPm1hcHBpbmdzLT5sb2FkX29iamVjdF9tYXBzX2J5X3NhbGVzZm9yY2VfaWQoICRvYmplY3RbJ0lkJ10sICRzYWxlc2ZvcmNlX21hcHBpbmcgKTsKCQkJaWYgKCBlbXB0eSggJG9iamVjdF9tYXAgKSApIHsKCQkJCSRwdWxsX2FsbG93ZWQgPSBmYWxzZTsKCQkJfQoJCX0KCgkJLy8gSG9vayB0byBhbGxvdyBvdGhlciBwbHVnaW5zIHRvIHByZXZlbnQgYSBwdWxsIHBlci1tYXBwaW5nLgoJCS8vIFB1dHRpbmcgdGhlIHB1bGxfYWxsb3dlZCBob29rIGhlcmUgd2lsbCBrZWVwIHRoZSBxdWV1ZSBmcm9tIHN0b3JpbmcgZGF0YSB3aGVuIGl0IGlzIG5vdCBzdXBwb3NlZCB0byBzdG9yZSBpdC4KCQkkcHVsbF9hbGxvd2VkID0gYXBwbHlfZmlsdGVycyggJHRoaXMtPm9wdGlvbl9wcmVmaXggLiAncHVsbF9vYmplY3RfYWxsb3dlZCcsICRwdWxsX2FsbG93ZWQsICRvYmplY3RfdHlwZSwgJG9iamVjdCwgJHNmX3N5bmNfdHJpZ2dlciwgJHNhbGVzZm9yY2VfbWFwcGluZyApOwoKCQkvLyBleGFtcGxlIHRvIGtlZXAgZnJvbSBwdWxsaW5nIHRoZSBDb250YWN0IHdpdGggaWQgb2YgYWJjZGVmLgoJCS8qIC8vIHBocGNzOmlnbm9yZSBTcXVpei5QSFAuQ29tbWVudGVkT3V0Q29kZS5Gb3VuZAoJCWFkZF9maWx0ZXIoICdvYmplY3Rfc3luY19mb3Jfc2FsZXNmb3JjZV9wdWxsX29iamVjdF9hbGxvd2VkJywgJ2NoZWNrX3VzZXInLCAxMCwgNSApOwoJCS8vIGNhbiBhbHdheXMgcmVkdWNlIHRoaXMgbnVtYmVyIGlmIGFsbCB0aGUgYXJndW1lbnRzIGFyZSBub3QgbmVjZXNzYXJ5CgkJZnVuY3Rpb24gY2hlY2tfdXNlciggJHB1bGxfYWxsb3dlZCwgJG9iamVjdF90eXBlLCAkb2JqZWN0LCAkc2Zfc3luY190cmlnZ2VyLCAkc2FsZXNmb3JjZV9tYXBwaW5nICkgewoJCQlpZiAoICRvYmplY3RfdHlwZSA9PT0gJ0NvbnRhY3QnICYmICRvYmplY3RbJ0lkJ10gPT09ICdhYmNkZWYnICkgewoJCQkJJHB1bGxfYWxsb3dlZCA9IGZhbHNlOwoJCQl9CgkJCXJldHVybiAkcHVsbF9hbGxvd2VkOwoJCX0KCQkqLwoKCQlyZXR1cm4gJHB1bGxfYWxsb3dlZDsKCX0KCn0KIjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWVzcGFjZXMiO2E6MDp7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW5jbHVkZXMiO2E6MDp7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZnVuY3Rpb25zIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGNvbnN0YW50cyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjbGFzc2VzIjthOjE6e3M6MzE6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGwiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIjoxMTp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MzE6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGwiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czozMDoiT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozNzoiT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsIGNsYXNzLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHBhcmVudCI7TjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AaW1wbGVtZW50cyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGNvbnN0YW50cyI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHByb3BlcnRpZXMiO2E6MTk6e3M6NDE6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiR2ZXJzaW9uIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQxOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokdmVyc2lvbiI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjc6InZlcnNpb24iO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6Mjk6IkN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgcGx1Z2luIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjM4OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokZmlsZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czozODoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JGZpbGUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo0OiJmaWxlIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjIwOiJUaGUgbWFpbiBwbHVnaW4gZmlsZSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Mjg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czozODoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHdwZGIiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mzg6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiR3cGRiIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NDoid3BkYiI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo0ODoiR2xvYmFsIG9iamVjdCBvZiBgJHdwZGJgLCB0aGUgV29yZFByZXNzIGRhdGFiYXNlIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO047fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozMDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czozODoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHNsdWciO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mzg6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRzbHVnIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6NDoic2x1ZyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo1MzoiVGhlIHBsdWdpbidzIHNsdWcgc28gd2UgY2FuIGluY2x1ZGUgaXQgd2hlbiBuZWNlc3NhcnkiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Mzc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NDc6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRvcHRpb25fcHJlZml4IjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ3OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokb3B0aW9uX3ByZWZpeCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEzOiJvcHRpb25fcHJlZml4Ijt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjU1OiJUaGUgcGx1Z2luJ3MgcHJlZml4IHdoZW4gc2F2aW5nIG9wdGlvbnMgdG8gdGhlIGRhdGFiYXNlIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjQ0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo0OTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjUxOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokbG9naW5fY3JlZGVudGlhbHMiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTE6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRsb2dpbl9jcmVkZW50aWFscyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE3OiJsb2dpbl9jcmVkZW50aWFscyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo5MDoiTG9naW4gY3JlZGVudGlhbHMgZm9yIHRoZSBTYWxlc2ZvcmNlIEFQSTsgY29tZXMgZnJvbSB3cC1jb25maWcgb3IgZnJvbSB0aGUgcGx1Z2luIHNldHRpbmdzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo1MTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NTY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czo1MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHNjaGVkdWxhYmxlX2NsYXNzZXMiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTM6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRzY2hlZHVsYWJsZV9jbGFzc2VzIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTk6InNjaGVkdWxhYmxlX2NsYXNzZXMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6ODM6IkFycmF5IG9mIHdoYXQgY2xhc3NlcyBpbiB0aGUgcGx1Z2luIGNhbiBiZSBzY2hlZHVsZWQgdG8gb2NjdXIgd2l0aCBgd3BfY3JvbmAgZXZlbnRzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo1ODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NjM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czozOToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JHF1ZXVlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjM5OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokcXVldWUiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo1OiJxdWV1ZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoyNjoiT2JqZWN0X1N5bmNfU2ZfUXVldWUgY2xhc3MiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7Tjt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjY1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo3MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjQxOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokbG9nZ2luZyI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0MToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JGxvZ2dpbmciO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo3OiJsb2dnaW5nIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjI4OiJPYmplY3RfU3luY19TZl9Mb2dnaW5nIGNsYXNzIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO047fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo3MjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Nzc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czo0MjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JG1hcHBpbmdzIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQyOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokbWFwcGluZ3MiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo4OiJtYXBwaW5ncyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoyODoiT2JqZWN0X1N5bmNfU2ZfTWFwcGluZyBjbGFzcyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtOO31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Nzk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjg0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NDM6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiR3b3JkcHJlc3MiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDM6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiR3b3JkcHJlc3MiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo5OiJ3b3JkcHJlc3MiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MzA6Ik9iamVjdF9TeW5jX1NmX1dvcmRQcmVzcyBjbGFzcyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtOO31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6ODY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjkxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NDQ6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRzYWxlc2ZvcmNlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ0OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokc2FsZXNmb3JjZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEwOiJzYWxlc2ZvcmNlIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjY4OiJPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlIGNsYXNzClRoaXMgY29udGFpbnMgU2FsZXNmb3JjZSBBUEkgbWV0aG9kcyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6OTM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjk5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NDY6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRwdWxsX29wdGlvbnMiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NDY6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRwdWxsX29wdGlvbnMiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxMjoicHVsbF9vcHRpb25zIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjMzOiJPYmplY3RfU3luY19TZl9QdWxsX09wdGlvbnMgY2xhc3MiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7Tjt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEwMTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTA2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NDc6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRzY2hlZHVsZV9uYW1lIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ3OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokc2NoZWR1bGVfbmFtZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEzOiJzY2hlZHVsZV9uYW1lIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjM3OiJUaGUgbmFtZSBvZiB0aGUgQWN0aW9uU2NoZWR1bGVyIHF1ZXVlIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEwODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTEzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NTI6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRiYXRjaF9zb3FsX3F1ZXJpZXMiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTI6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRiYXRjaF9zb3FsX3F1ZXJpZXMiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxODoiYmF0Y2hfc29xbF9xdWVyaWVzIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjI5OiJXaGV0aGVyIHRvIGJhdGNoIFNPUUwgcXVlcmllcyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQm9vbGVhbiI6MDp7fXM6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMTU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZXMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRlZmF1bHQiO047czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAc3RhdGljIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czo1MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JG1pbl9zb3FsX2JhdGNoX3NpemUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjg6e3M6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTM6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRtaW5fc29xbF9iYXRjaF9zaXplIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTk6Im1pbl9zb3FsX2JhdGNoX3NpemUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6Mjg6Ik1pbmltdW0gc2l6ZSBvZiBhIFNPUUwgYmF0Y2giO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTIyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTI3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO047fXM6NDc6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OiRtYXhfc29xbF9zaXplIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ3OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokbWF4X3NvcWxfc2l6ZSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEzOiJtYXhfc29xbF9zaXplIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjI4OiJNYXhpbXVtIHNpemUgb2YgYSBTT1FMIGJhdGNoIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xWYXJfIjo0OntzOjE1OiIAKgB2YXJpYWJsZU5hbWUiO3M6MDoiIjtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo3OiIAKgBuYW1lIjtzOjM6InZhciI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEyOTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZGVmYXVsdCI7TjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBzdGF0aWMiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEzNDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlIjtOO31zOjU2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokbWVyZ2VhYmxlX3JlY29yZF90eXBlcyI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eSI6ODp7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1NjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JG1lcmdlYWJsZV9yZWNvcmRfdHlwZXMiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMjoibWVyZ2VhYmxlX3JlY29yZF90eXBlcyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo0NjoiVHlwZXMgb2YgU2FsZXNmb3JjZSByZWNvcmRzIHRoYXQgY2FuIGJlIG1lcmdlZCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVmFyXyI6NDp7czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTM2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNDE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9czozOToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6JGRlYnVnIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5Ijo4OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjM5OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjokZGVidWciO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo1OiJkZWJ1ZyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozNToiV2hldGhlciB0aGUgcGx1Z2luIGlzIGluIGRlYnVnIG1vZGUiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6MTU6IgAqAHZhcmlhYmxlTmFtZSI7czowOiIiO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6MzoidmFyIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTQzO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGVzIjthOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtOO3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNDg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdHlwZSI7Tjt9fXM6NDQ6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBtZXRob2RzIjthOjI3OntzOjQ2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpfX2NvbnN0cnVjdCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoyNjoiQ29uc3RydWN0b3IgZm9yIHB1bGwgY2xhc3MiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE1MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0NjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6X19jb25zdHJ1Y3QoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjExOiJfX2NvbnN0cnVjdCI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNTM7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6YmF0Y2hfc29xbF9xdWVyaWVzKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjU0OiJXaGV0aGVyIHRvIHVzZSB0aGUgYmF0Y2hTaXplIHBhcmFtZXRlciBvbiBTT1FMIHF1ZXJpZXMiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mjp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE4OiJiYXRjaF9zb3FsX3F1ZXJpZXMiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQm9vbGVhbiI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mjk6IndoZXRoZXIgdG8gYmF0Y2ggdGhlIHF1ZXJpZXMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEJvb2xlYW4iOjA6e31zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxOToiJGJhdGNoX3NvcWxfcXVlcmllcyI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxOTQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTM6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmJhdGNoX3NvcWxfcXVlcmllcygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTg6ImJhdGNoX3NvcWxfcXVlcmllcyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTg6ImJhdGNoX3NvcWxfcXVlcmllcyI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIwMDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjQ2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjphZGRfYWN0aW9ucygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czoxNzQ6IkNyZWF0ZSB0aGUgYWN0aW9uIGhvb2tzIGJhc2VkIG9uIHdoYXQgb2JqZWN0IG1hcHMgZXhpc3QgZnJvbSB0aGUgYWRtaW4gc2V0dGluZ3MKcm91dGUgaXMgaHR0cDovL2V4YW1wbGUuY29tL3dwLWpzb24vc2FsZXNmb3JjZS1yZXN0LWFwaS9wdWxsLyBwbHVzIHBhcmFtcyB3ZSBkZWNpZGUgdG8gYWNjZXB0LiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjEwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjphZGRfYWN0aW9ucygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTE6ImFkZF9hY3Rpb25zIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjA6e31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIxNDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjUzOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpkZXByZWNhdGVkX2FjdGlvbnMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MTg6IkRlcHJlY2F0ZWQgYWN0aW9ucyI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjI0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUzOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpkZXByZWNhdGVkX2FjdGlvbnMoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE4OiJkZXByZWNhdGVkX2FjdGlvbnMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjI3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NjM6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmRlcHJlY2F0ZWRfcHVsbF9vcHRpb25fbmFtZXMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NjU6Ik1vZGlmeSBsZWdhY3kgbmFtZWQgaW5kaXZpZHVhbCBvcHRpb24gcmVjb3JkcyBmb3Igc3luYyBvcGVyYXRpb25zIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjM6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czozOiJrZXkiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzI6InRoZSBwbHVnaW4ncyBzdWdnZXN0ZWQga2V5IG5hbWUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjY6InBhcmFtcyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NDA6InRoZSBhcnJheSBvZiBwYXJhbWV0ZXJzIHRvIG1ha2UgdGhlIGtleS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NTA6IiR2YWx1ZSB0aGUgdmFsdWUgb2YgdGhlIGl0ZW0uIEZhbHNlIGlmIGl0J3MgZW1wdHkuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIzMjtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6ZGVwcmVjYXRlZF9wdWxsX29wdGlvbl9uYW1lcygpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6Mjg6ImRlcHJlY2F0ZWRfcHVsbF9vcHRpb25fbmFtZXMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mjp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6Mzoia2V5IjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NjoicGFyYW1zIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjM5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NTg6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OnNhbGVzZm9yY2VfcHVsbF93ZWJob29rKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjE2MToiUkVTVCBBUEkgY2FsbGJhY2sgZm9yIHNhbGVzZm9yY2UgcHVsbC4gUmV0dXJucyBzdGF0dXMgb2YgMjAwIGZvciBzdWNjZXNzZnVsCmF0dGVtcHQgb3IgNDAzIGZvciBhIGZhaWxlZCBwdWxsIGF0dGVtcHQgKFNGIG5vdCBhdXRob3JpemVkLCB0aHJlc2hob2xkCnJlYWNoZWQsIGV0Yy4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mjp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjc6InJlcXVlc3QiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MTY6IlxXUF9SRVNUX1JlcXVlc3QiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNToiV1BfUkVTVF9SZXF1ZXN0Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NjY6IlRoaXMgaXMgYSBtZXJnZWQgb2JqZWN0IG9mIGFsbCB0aGUgYXJndW1lbnRzIGZyb20gdGhlIEFQSSByZXF1ZXN0LiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjMyOiJjb2RlOiAyMDEKZGF0YToKICBzdWNjZXNzIDogdHJ1ZSI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNTE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTg6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OnNhbGVzZm9yY2VfcHVsbF93ZWJob29rKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyMzoic2FsZXNmb3JjZV9wdWxsX3dlYmhvb2siO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NzoicmVxdWVzdCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjE2OiJcV1BfUkVTVF9SZXF1ZXN0IjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTU6IldQX1JFU1RfUmVxdWVzdCI7fX1zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNjI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1MDoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6c2FsZXNmb3JjZV9wdWxsKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjY1OiJDYWxsYmFjayBmb3IgdGhlIHN0YW5kYXJkIHB1bGwgcHJvY2VzcyB1c2VkIGJ5IHdlYmhvb2tzIGFuZCBjcm9uLiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTowOnt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjkyO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUwOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpzYWxlc2ZvcmNlX3B1bGwoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE1OiJzYWxlc2ZvcmNlX3B1bGwiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjY6InB1YmxpYyI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Mjk1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NDk6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmNoZWNrX3Rocm90dGxlKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjY2OiJEZXRlcm1pbmVzIGlmIHRoZSBTYWxlc2ZvcmNlIHB1bGwgc2hvdWxkIGJlIGFsbG93ZWQsIG9yIHRocm90dGxlZC4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NTQ6IlByZXZlbnRzIHRvbyBtYW55IHB1bGwgcHJvY2Vzc2VzIGZyb20gcnVubmluZyBhdCBvbmNlLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjE6e2k6MDtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xCb29sZWFuIjowOnt9czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Njg6IlJldHVybnMgZmFsc2UgaWYgdGhlIHRpbWUgZWxhcHNlZCBiZXR3ZWVuIHJlY2VudCBwdWxscyBpcyB0b28gc2hvcnQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjMxNDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0OToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Y2hlY2tfdGhyb3R0bGUoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE0OiJjaGVja190aHJvdHRsZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MzIwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NTQ6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmdldF91cGRhdGVkX3JlY29yZHMoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NjU6IlB1bGwgdXBkYXRlZCByZWNvcmRzIGZyb20gU2FsZXNmb3JjZSBhbmQgcGxhY2UgdGhlbSBpbiB0aGUgcXVldWUuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjMxOToiRXhlY3V0ZXMgYSBTT1FMIHF1ZXJ5IGJhc2VkIG9uIGRlZmluZWQgbWFwcGluZ3MsIGxvb3BzIHRocm91Z2ggdGhlIHJlc3VsdHMsCmFuZCBwbGFjZXMgZWFjaCB1cGRhdGVkIFNGIG9iamVjdCBpbnRvIHRoZSBxdWV1ZSBmb3IgbGF0ZXIgcHJvY2Vzc2luZy4KV2UgY29weSB0aGUgY29udmVudGlvbiBmcm9tIHRoZSBEcnVwYWwgbW9kdWxlIGhlcmUsIGFuZCBydW4gYSBzZXBhcmF0ZSBTT1FMIHF1ZXJ5IGZvciBlYWNoIHR5cGUgb2Ygb2JqZWN0IGluIFNGCklmIHdlIHJldHVybiBzb21ldGhpbmcgaGVyZSwgaXQncyBiZWNhdXNlIHRoZXJlIGlzIGFuIGVycm9yLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozMzE7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTQ6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmdldF91cGRhdGVkX3JlY29yZHMoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE5OiJnZXRfdXBkYXRlZF9yZWNvcmRzIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTozMzg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1NjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Z2V0X25leHRfcmVjb3JkX2JhdGNoKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjIwNzoiUHVsbCB0aGUgbmV4dCBiYXRjaCBvZiByZWNvcmRzIGZyb20gdGhlIFNhbGVzZm9yY2UgQVBJLCBpZiBhcHBsaWNhYmxlCkV4ZWN1dGVzIGEgbmV4dFJlY29yZHNVcmwgU09RTCBxdWVyeSBiYXNlZCBvbiB0aGUgcHJldmlvdXMgcmVzdWx0LAphbmQgcGxhY2VzIGVhY2ggdXBkYXRlZCBTRiBvYmplY3QgaW50byB0aGUgcXVldWUgZm9yIGxhdGVyIHByb2Nlc3NpbmcuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjc6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo5OiJsYXN0X3N5bmMiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6OToiXGRhdGV0aW1lIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6ODoiZGF0ZXRpbWUiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyNDoid2hlbiBpdCB3YXMgbGFzdCBzeW5jZWQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE4OiJzYWxlc2ZvcmNlX21hcHBpbmciO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjEzOiJ0aGUgZmllbGRtYXAuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE3OiJtYXBfc3luY190cmlnZ2VycyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mjg6InRoZSBzeW5jIHRyaWdnZXIgYml0IHZhbHVlcy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NDoidHlwZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyNzoidGhlIFNhbGVzZm9yY2Ugb2JqZWN0IHR5cGUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTo0O086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEyOiJ2ZXJzaW9uX3BhdGgiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NDA6InRoZSBBUEkgcGF0aCBmb3IgdGhlIFNhbGVzZm9yY2UgdmVyc2lvbi4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjU7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTM6InF1ZXJ5X29wdGlvbnMiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjIzOiJ0aGUgU09RTCBxdWVyeSBvcHRpb25zLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NjtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo4OiJyZXNwb25zZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjI6InRoZSBwcmV2aW91cyByZXNwb25zZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6Njc5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfbmV4dF9yZWNvcmRfYmF0Y2goKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjIxOiJnZXRfbmV4dF9yZWNvcmRfYmF0Y2giO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjc6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjk6Imxhc3Rfc3luYyI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE4OiJzYWxlc2ZvcmNlX21hcHBpbmciO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxNzoibWFwX3N5bmNfdHJpZ2dlcnMiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjM7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJ0eXBlIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aTo0O086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTI6InZlcnNpb25fcGF0aCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6NTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEzOiJxdWVyeV9vcHRpb25zIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aTo2O086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6ODoicmVzcG9uc2UiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo2OTI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Y2hlY2tfb2Zmc2V0X3F1ZXJ5KCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjEyMjoiR2V0IHRoZSBuZXh0IG9mZnNldCBxdWVyeS4gSWYgY2hlY2sgaXMgdHJ1ZSwgb25seSBzZWUgaWYgdGhhdCBxdWVyeSB3b3VsZCBoYXZlIHJlc3VsdHMuIE90aGVyd2lzZSwgcmV0dXJuIHRoZSBTT1FMIG9iamVjdC4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NTc6IldoZW4gYmF0Y2hTaXplIGlzIG5vdCBpbiB1c2UsIHJ1biBhIGNoZWNrIHdpdGggYW4gb2Zmc2V0LiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjQ6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo0OiJ0eXBlIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjI3OiJ0aGUgU2FsZXNmb3JjZSBvYmplY3QgdHlwZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTg6InNhbGVzZm9yY2VfbWFwcGluZyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mjk6InRoZSBtYXAgYmV0d2VlbiBvYmplY3QgdHlwZXMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEzOiJxdWVyeV9vcHRpb25zIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozMToidGhlIG9wdGlvbnMgZm9yIHRoZSBTT1FMIHF1ZXJ5LiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MztPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7Tjt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xCb29sZWFuIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjM2OiIkc29xbHwkZG9lc19uZXh0X29mZnNldF9oYXZlX3Jlc3VsdHMiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NzQwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUzOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpjaGVja19vZmZzZXRfcXVlcnkoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE4OiJjaGVja19vZmZzZXRfcXVlcnkiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjM6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjQ6InR5cGUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxODoic2FsZXNmb3JjZV9tYXBwaW5nIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTM6InF1ZXJ5X29wdGlvbnMiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo3NDk7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo0OToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Z2V0X3B1bGxfcXVlcnkoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MTEwOiJHaXZlbiBhIFNPYmplY3QgdHlwZSBuYW1lLCBidWlsZCBhbiBTT1FMIHF1ZXJ5IHRvIGluY2x1ZGUgYWxsIGZpZWxkcyBmb3IgYWxsCmZpZWxkbWFwcyBtYXBwZWQgdG8gdGhhdCBTT2JqZWN0LiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTo1OntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NDoidHlwZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozMToiZS5nLiAiQ29udGFjdCIsICJBY2NvdW50IiwgZXRjLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MTtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxODoic2FsZXNmb3JjZV9tYXBwaW5nIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo0NDoidGhlIGZpZWxkbWFwIHRoYXQgbWFwcyB0aGUgdHdvIG9iamVjdCB0eXBlcy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6Mzk6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1NlbGVjdF9RdWVyeSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjM4OiJPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1NlbGVjdF9RdWVyeSI7fX1zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo1NDoib3IgbnVsbCBpZiBubyBtYXBwaW5ncyBvciBubyBtYXBwZWQgZmllbGRzIHdlcmUgZm91bmQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTozO086NDI6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFNlZSI6Mzp7czo3OiIAKgBuYW1lIjtzOjM6InNlZSI7czo5OiIAKgByZWZlcnMiO086NTQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJlZmVyZW5jZVxGcXNlbiI6MTp7czo2MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJlZmVyZW5jZVxGcXNlbgBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQyOiJcT2JqZWN0X1N5bmNfU2ZfTWFwcGluZzo6Z2V0X21hcHBlZF9maWVsZHMiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNzoiZ2V0X21hcHBlZF9maWVsZHMiO319czoxNDoiACoAZGVzY3JpcHRpb24iO047fWk6NDtPOjQyOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xTZWUiOjM6e3M6NzoiACoAbmFtZSI7czozOiJzZWUiO3M6OToiACoAcmVmZXJzIjtPOjU0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZWZlcmVuY2VcRnFzZW4iOjE6e3M6NjE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZWZlcmVuY2VcRnFzZW4AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo0ODoiXE9iamVjdF9TeW5jX1NmX01hcHBpbmc6OmdldF9tYXBwZWRfcmVjb3JkX3R5cGVzIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjM6ImdldF9tYXBwZWRfcmVjb3JkX3R5cGVzIjt9fXM6MTQ6IgAqAGRlc2NyaXB0aW9uIjtOO319czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6NzcxO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ5OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfcHVsbF9xdWVyeSgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTQ6ImdldF9wdWxsX3F1ZXJ5Ijt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToyOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJ0eXBlIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTg6InNhbGVzZm9yY2VfbWFwcGluZyI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO3M6NzoiYXJyYXkoKSI7czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjc4MTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjUwOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfcHVsbF9vZmZzZXQoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NDY6IkRldGVybWluZSB0aGUgb2Zmc2V0IGZvciB0aGUgU09RTCBxdWVyeSB0byBydW4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mzp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjQ6InR5cGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzE6ImUuZy4gIkNvbnRhY3QiLCAiQWNjb3VudCIsIGV0Yy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NDoic29xbCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO047fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MTY6InRoZSBTT1FMIG9iamVjdC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NToicmVzZXQiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQm9vbGVhbiI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mjg6IndoZXRoZXIgdG8gcmVzZXQgdGhlIG9mZnNldC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6OTIwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjUwOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfcHVsbF9vZmZzZXQoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE1OiJnZXRfcHVsbF9vZmZzZXQiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjM6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjQ6InR5cGUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJzb3FsIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NToicmVzZXQiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtzOjU6ImZhbHNlIjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6OTI3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NTQ6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmdldF9wdWxsX2RhdGVfdmFsdWUoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MTM4OiJHaXZlbiBhIFNPYmplY3QgdHlwZSBuYW1lLCBkZXRlcm1pbmUgdGhlIGRhdGV0aW1lIHZhbHVlIHRoZSBTT1FMIG9iamVjdCBzaG91bGQgdXNlIHRvIGZpbHRlciByZXN1bHRzLiBPZnRlbiB0aGlzIHdpbGwgYmUgTGFzdE1vZGlmaWVkRGF0ZS4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6NDp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjQ6InR5cGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzE6ImUuZy4gIkNvbnRhY3QiLCAiQWNjb3VudCIsIGV0Yy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NDoic29xbCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO047fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MTY6InRoZSBTT1FMIG9iamVjdC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTE6ImZpZWxkbWFwX2lkIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjQ1OiJpcyB0aGUgZmllbGRtYXAgSUQgdGhhdCBnb2VzIHdpdGggdGhpcyBxdWVyeS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MTA6Ilx0aW1lc3RhbXAiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czo5OiJ0aW1lc3RhbXAiO319czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjU6IiRwdWxsX3RyaWdnZXJfZmllbGRfdmFsdWUiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6OTM2O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU0OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfcHVsbF9kYXRlX3ZhbHVlKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxOToiZ2V0X3B1bGxfZGF0ZV92YWx1ZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mzp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NDoidHlwZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjQ6InNvcWwiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMToiZmllbGRtYXBfaWQiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtzOjI6IicnIjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6OTQ0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NTM6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmdldF9tZXJnZWRfcmVjb3JkcygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozNToiR2V0IG1lcmdlZCByZWNvcmRzIGZyb20gU2FsZXNmb3JjZS4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Njg6Ik5vdGUgdGhhdCBtZXJnZXMgY2FuIGN1cnJlbnRseSBvbmx5IHdvcmsgaWYgdGhlIFNvYXAgQVBJIGlzIGVuYWJsZWQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjk2MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MzoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Z2V0X21lcmdlZF9yZWNvcmRzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxODoiZ2V0X21lcmdlZF9yZWNvcmRzIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aTo5Njc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo2MjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6cmVzcG9uZF90b19zYWxlc2ZvcmNlX21lcmdlKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjEyNjoiUmVzcG9uZCB0byBTYWxlc2ZvcmNlIG1lcmdlIGV2ZW50cwpUaGlzIG1lYW5zIHdlIHVwZGF0ZSB0aGUgbWFwcGluZyBvYmplY3QgdG8gY29udGFpbiB0aGUgbmV3IFNhbGVzZm9yY2UgSWQsIGFuZCBwdWxsIGl0cyBkYXRhIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjI6e2k6MDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxMToib2JqZWN0X3R5cGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mzc6IndoYXQgdHlwZSBvZiBTYWxlc2ZvcmNlIG9iamVjdCBpdCBpcy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTM6Im1lcmdlZF9yZWNvcmQiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjI3OiJ0aGUgcmVjb3JkIHRoYXQgd2FzIG1lcmdlZC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTA0ODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2MjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6cmVzcG9uZF90b19zYWxlc2ZvcmNlX21lcmdlKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyNzoicmVzcG9uZF90b19zYWxlc2ZvcmNlX21lcmdlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YToyOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMToib2JqZWN0X3R5cGUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMzoibWVyZ2VkX3JlY29yZCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEwNTU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1NDoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Z2V0X2RlbGV0ZWRfcmVjb3JkcygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozNjoiR2V0IGRlbGV0ZWQgcmVjb3JkcyBmcm9tIHNhbGVzZm9yY2UuIjtzOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjc3OiJOb3RlIHRoYXQgZGVsZXRpb25zIGNhbiBvbmx5IGJlIHF1ZXJpZWQgdmlhIFJFU1Qgd2l0aCBhbiBBUEkgdmVyc2lvbiA+PSAyOS4wLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawB0YWdzIjthOjA6e31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMTA0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjU0OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfZGVsZXRlZF9yZWNvcmRzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxOToiZ2V0X2RlbGV0ZWRfcmVjb3JkcyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTEwODtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjQ2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjptYW51YWxfcHVsbCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo1MDoiTWV0aG9kIGZvciBhamF4IGhvb2tzIHRvIGNhbGwgZm9yIHB1bGxpbmcgbWFudWFsbHkiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mzp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjExOiJvYmplY3RfdHlwZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyNzoidGhlIFNhbGVzZm9yY2Ugb2JqZWN0IHR5cGUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEzOiJzYWxlc2ZvcmNlX2lkIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjI1OiJ0aGUgU2FsZXNmb3JjZSByZWNvcmQgSUQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NzoiJHJlc3VsdCI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMjM5O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjQ2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjptYW51YWxfcHVsbCgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTE6Im1hbnVhbF9wdWxsIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjI6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjExOiJvYmplY3RfdHlwZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEzOiJzYWxlc2ZvcmNlX2lkIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7czoyOiInJyI7czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjEyNDY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo2NjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6c2FsZXNmb3JjZV9wdWxsX3Byb2Nlc3NfcmVjb3JkcygpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo4MDoiU3luYyBXb3JkUHJlc3Mgb2JqZWN0cyBhbmQgU2FsZXNmb3JjZSBvYmplY3RzIGZyb20gdGhlIHF1ZXVlIHVzaW5nIHRoZSBSRVNUIEFQSS4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6NTp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjExOiJvYmplY3RfdHlwZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyNjoiVHlwZSBvZiBTYWxlc2ZvcmNlIG9iamVjdC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6Njoib2JqZWN0IjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozNjoiVGhlIFNhbGVzZm9yY2UgZGF0YSBvciBpdHMgSWQgdmFsdWUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE1OiJzZl9zeW5jX3RyaWdnZXIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MjI6IlRyaWdnZXIgZm9yIHRoaXMgc3luYy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQm9vbGVhbiI6MDp7fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjIzOiJ0cnVlIG9yIGV4aXQgdGhlIG1ldGhvZCI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NDtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xUaHJvd3MiOjM6e3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI1OiJcT2JqZWN0X1N5bmNfU2ZfRXhjZXB0aW9uIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjQ6Ik9iamVjdF9TeW5jX1NmX0V4Y2VwdGlvbiI7fX1zOjc6IgAqAG5hbWUiO3M6NjoidGhyb3dzIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxMzoiRXhjZXB0aW9uICRlLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMjc0O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjY2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpzYWxlc2ZvcmNlX3B1bGxfcHJvY2Vzc19yZWNvcmRzKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czozMToic2FsZXNmb3JjZV9wdWxsX3Byb2Nlc3NfcmVjb3JkcyI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTozOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMToib2JqZWN0X3R5cGUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo2OiJvYmplY3QiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxNToic2Zfc3luY190cmlnZ2VyIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTI4MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjUyOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpnZXRfc3luY2VkX29iamVjdCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czozMjoiR2VuZXJhdGUgdGhlIHN5bmNlZF9vYmplY3QgYXJyYXkiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6NDp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjY6Im9iamVjdCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzU6IlRoZSBkYXRhIGZvciB0aGUgU2FsZXNmb3JjZSBvYmplY3QuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE0OiJtYXBwaW5nX29iamVjdCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6ODY6IlRoZSBkYXRhIGZvciB0aGUgbWFwcGluZyBvYmplY3QgYmV0d2VlbiB0aGUgaW5kaXZpZHVhbCBTYWxlc2ZvcmNlIGFuZCBXb3JkUHJlc3MgaXRlbXMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE4OiJzYWxlc2ZvcmNlX21hcHBpbmciO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjUxOiJUaGUgZGF0YSBmb3IgdGhlIGZpZWxkbWFwIGJldHdlZW4gdGhlIG9iamVjdCB0eXBlcy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxMDc6IiRzeW5jZWRfb2JqZWN0IFRoZSBjb21iaW5lZCBhcnJheSBvZiB0aGVzZSBpdGVtcy4gSXQgYWxsb3dzIGZvciBmaWx0ZXJpbmcgb2YsIGF0IGxlYXN0LCB0aGUgbWFwcGluZ19vYmplY3QuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjE2Mjc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTI6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmdldF9zeW5jZWRfb2JqZWN0KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoxNzoiZ2V0X3N5bmNlZF9vYmplY3QiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjM6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjY6Im9iamVjdCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE0OiJtYXBwaW5nX29iamVjdCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE4OiJzYWxlc2ZvcmNlX21hcHBpbmciO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNjM1O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NjQ6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmNyZWF0ZV9jYWxsZWRfZnJvbV9zYWxlc2ZvcmNlKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjUwOiJDcmVhdGUgcmVjb3JkcyBpbiBXb3JkUHJlc3MgZnJvbSBhIFNhbGVzZm9yY2UgcHVsbCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTo4OntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTU6InNmX3N5bmNfdHJpZ2dlciI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozMjoiVGhlIGN1cnJlbnQgb3BlcmF0aW9uJ3MgdHJpZ2dlci4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTM6InN5bmNlZF9vYmplY3QiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjcxOiJDb21iaW5lZCBkYXRhIGZvciBmaWVsZG1hcCwgbWFwcGluZyBvYmplY3QsIGFuZCBTYWxlc2ZvcmNlIG9iamVjdCBkYXRhLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MjtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo2OiJwYXJhbXMiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjcyOiJBcnJheSBvZiBtYXBwZWQga2V5IHZhbHVlIHBhaXJzIGJldHdlZW4gV29yZFByZXNzIGFuZCBTYWxlc2ZvcmNlIGZpZWxkcy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6ODoicHJlbWF0Y2giO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjYzOiJBcnJheSBvZiBjcml0ZXJpYSB0byBkZXRlcm1pbmUgd2hhdCB0byBkbyBvbiB1cHNlcnQgb3BlcmF0aW9ucy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjQ7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MjM6IndvcmRwcmVzc19pZF9maWVsZF9uYW1lIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjY3OiJUaGUgbmFtZSBvZiB0aGUgSUQgZmllbGQgZm9yIHRoaXMgcGFydGljdWxhciBXb3JkUHJlc3Mgb2JqZWN0IHR5cGUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTo1O086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjc6InNlY29uZHMiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NzA6IlRpbWVvdXQgZm9yIHRoZSB0cmFuc2llbnQgdmFsdWUgdG8gZGV0ZXJtaW5lIHRoZSBkaXJlY3Rpb24gZm9yIGEgc3luYy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjY7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NjoicmV0dXJuIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo3NDoiJHJlc3VsdHMgQ3VycmVudGx5IHRoaXMgY29udGFpbnMgYW4gYXJyYXkgb2YgbG9nIGVudHJpZXMgZm9yIGVhY2ggYXR0ZW1wdC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjc7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcVGhyb3dzIjozOntzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoyNToiXE9iamVjdF9TeW5jX1NmX0V4Y2VwdGlvbiI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjI0OiJPYmplY3RfU3luY19TZl9FeGNlcHRpb24iO319czo3OiIAKgBuYW1lIjtzOjY6InRocm93cyI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MTM6IkV4Y2VwdGlvbiAkZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTY1MTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo2NDoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Y3JlYXRlX2NhbGxlZF9mcm9tX3NhbGVzZm9yY2UoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjI5OiJjcmVhdGVfY2FsbGVkX2Zyb21fc2FsZXNmb3JjZSI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Njp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTU6InNmX3N5bmNfdHJpZ2dlciI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MTtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEzOiJzeW5jZWRfb2JqZWN0IjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6NjoicGFyYW1zIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aTozO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6ODoicHJlbWF0Y2giO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjQ7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoyMzoid29yZHByZXNzX2lkX2ZpZWxkX25hbWUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjU7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo3OiJzZWNvbmRzIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTY2MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjY0OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjp1cGRhdGVfY2FsbGVkX2Zyb21fc2FsZXNmb3JjZSgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo1MDoiVXBkYXRlIHJlY29yZHMgaW4gV29yZFByZXNzIGZyb20gYSBTYWxlc2ZvcmNlIHB1bGwiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Nzp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE1OiJzZl9zeW5jX3RyaWdnZXIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzI6IlRoZSBjdXJyZW50IG9wZXJhdGlvbidzIHRyaWdnZXIuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEzOiJzeW5jZWRfb2JqZWN0IjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo3MToiQ29tYmluZWQgZGF0YSBmb3IgZmllbGRtYXAsIG1hcHBpbmcgb2JqZWN0LCBhbmQgU2FsZXNmb3JjZSBvYmplY3QgZGF0YS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6NjoicGFyYW1zIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo3MjoiQXJyYXkgb2YgbWFwcGVkIGtleSB2YWx1ZSBwYWlycyBiZXR3ZWVuIFdvcmRQcmVzcyBhbmQgU2FsZXNmb3JjZSBmaWVsZHMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTozO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjIzOiJ3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo2NzoiVGhlIG5hbWUgb2YgdGhlIElEIGZpZWxkIGZvciB0aGlzIHBhcnRpY3VsYXIgV29yZFByZXNzIG9iamVjdCB0eXBlLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czo3OiJzZWNvbmRzIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjcwOiJUaW1lb3V0IGZvciB0aGUgdHJhbnNpZW50IHZhbHVlIHRvIGRldGVybWluZSB0aGUgZGlyZWN0aW9uIGZvciBhIHN5bmMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTo1O086NDY6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJldHVybl8iOjM6e3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NzQ6IiRyZXN1bHRzIEN1cnJlbnRseSB0aGlzIGNvbnRhaW5zIGFuIGFycmF5IG9mIGxvZyBlbnRyaWVzIGZvciBlYWNoIGF0dGVtcHQuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTo2O086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFRocm93cyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XyI6MTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MjU6IlxPYmplY3RfU3luY19TZl9FeGNlcHRpb24iO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyNDoiT2JqZWN0X1N5bmNfU2ZfRXhjZXB0aW9uIjt9fXM6NzoiACoAbmFtZSI7czo2OiJ0aHJvd3MiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjEzOiJFeGNlcHRpb24gJGUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIwNTc7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjQ6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OnVwZGF0ZV9jYWxsZWRfZnJvbV9zYWxlc2ZvcmNlKCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyOToidXBkYXRlX2NhbGxlZF9mcm9tX3NhbGVzZm9yY2UiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYWJzdHJhY3QiO2I6MDtzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZmluYWwiO2I6MDtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAc3RhdGljIjtiOjA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHZpc2liaWxpdHkiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eSI6MTp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcVmlzaWJpbGl0eQB2aXNpYmlsaXR5IjtzOjc6InByaXZhdGUiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjU6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE1OiJzZl9zeW5jX3RyaWdnZXIiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMzoic3luY2VkX29iamVjdCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjY6InBhcmFtcyI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MztPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjIzOiJ3b3JkcHJlc3NfaWRfZmllbGRfbmFtZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6NDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjc6InNlY29uZHMiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMDY4O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fXM6NjQ6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmRlbGV0ZV9jYWxsZWRfZnJvbV9zYWxlc2ZvcmNlKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjUwOiJEZWxldGUgcmVjb3JkcyBpbiBXb3JkUHJlc3MgZnJvbSBhIFNhbGVzZm9yY2UgcHVsbCI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YTo3OntpOjA7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTU6InNmX3N5bmNfdHJpZ2dlciI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozMjoiVGhlIGN1cnJlbnQgb3BlcmF0aW9uJ3MgdHJpZ2dlci4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTM6InN5bmNlZF9vYmplY3QiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjcxOiJDb21iaW5lZCBkYXRhIGZvciBmaWVsZG1hcCwgbWFwcGluZyBvYmplY3QsIGFuZCBTYWxlc2ZvcmNlIG9iamVjdCBkYXRhLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6MjtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoyMzoid29yZHByZXNzX2lkX2ZpZWxkX25hbWUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Njc6IlRoZSBuYW1lIG9mIHRoZSBJRCBmaWVsZCBmb3IgdGhpcyBwYXJ0aWN1bGFyIFdvcmRQcmVzcyBvYmplY3QgdHlwZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6Nzoic2Vjb25kcyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo3MDoiVGltZW91dCBmb3IgdGhlIHRyYW5zaWVudCB2YWx1ZSB0byBkZXRlcm1pbmUgdGhlIGRpcmVjdGlvbiBmb3IgYSBzeW5jLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NDtPOjQ0OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbSI6Njp7czo1ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAHZhcmlhYmxlTmFtZSI7czoxNToibWFwcGluZ19vYmplY3RzIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxNTk6IlRoZSBkYXRhIGZvciB0aGUgbWFwcGluZyBvYmplY3RzIGJldHdlZW4gdGhlIGluZGl2aWR1YWwgU2FsZXNmb3JjZSBhbmQgV29yZFByZXNzIGl0ZW1zLiBXZSBvbmx5IHBhc3MgdGhpcyBiZWNhdXNlIG9mIHRoZSBuZWVkIHRvIGNvdW50IGJlZm9yZSBkZWxldGluZyByZWNvcmRzLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NTtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjc0OiIkcmVzdWx0cyBDdXJyZW50bHkgdGhpcyBjb250YWlucyBhbiBhcnJheSBvZiBsb2cgZW50cmllcyBmb3IgZWFjaCBhdHRlbXB0LiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xUaHJvd3MiOjM6e3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8iOjE6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcT2JqZWN0XwBmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjI1OiJcT2JqZWN0X1N5bmNfU2ZfRXhjZXB0aW9uIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MjQ6Ik9iamVjdF9TeW5jX1NmX0V4Y2VwdGlvbiI7fX1zOjc6IgAqAG5hbWUiO3M6NjoidGhyb3dzIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoxMzoiRXhjZXB0aW9uICRlLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjA6IiI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MDp7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyMTk3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZVN0YXJ0IjtiOjA7czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlRW5kIjtiOjA7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmcXNlbiI7TzozMDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuIjoyOntzOjM3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAGZxc2VuIjtzOjY0OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpkZWxldGVfY2FsbGVkX2Zyb21fc2FsZXNmb3JjZSgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6Mjk6ImRlbGV0ZV9jYWxsZWRfZnJvbV9zYWxlc2ZvcmNlIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTo1OntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxNToic2Zfc3luY190cmlnZ2VyIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTM6InN5bmNlZF9vYmplY3QiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoyMzoid29yZHByZXNzX2lkX2ZpZWxkX25hbWUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjM7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo3OiJzZWNvbmRzIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aTo0O086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTU6Im1hcHBpbmdfb2JqZWN0cyI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIyMDg7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHJldHVyblR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e319czo1OToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Y2xlYXJfY3VycmVudF90eXBlX3F1ZXJ5KCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjYzOiJDbGVhciB0aGUgY3VycmVudGx5IHN0b3JlZCBxdWVyeSBmb3IgdGhlIHNwZWNpZmllZCBjb250ZW50IHR5cGUiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mjp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjQ6InR5cGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzE6ImUuZy4gIkNvbnRhY3QiLCAiQWNjb3VudCIsIGV0Yy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTE6ImZpZWxkbWFwX2lkIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjQ1OiJpcyB0aGUgZmllbGRtYXAgSUQgdGhhdCBnb2VzIHdpdGggdGhpcyBxdWVyeS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjM3MTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1OToiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Y2xlYXJfY3VycmVudF90eXBlX3F1ZXJ5KCkiO3M6MzY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AbmFtZSI7czoyNDoiY2xlYXJfY3VycmVudF90eXBlX3F1ZXJ5Ijt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo2OiJwdWJsaWMiO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAYXJndW1lbnRzIjthOjI6e2k6MDtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjQ6InR5cGUiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjE7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMToiZmllbGRtYXBfaWQiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtzOjI6IicnIjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjM3NztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjY2OiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjppbmNyZW1lbnRfY3VycmVudF90eXBlX2RhdGV0aW1lKCkiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kIjo5OntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjQ4OiJJbmNyZW1lbnQgdGhlIGN1cnJlbnRseSBydW5uaW5nIHF1ZXJ5J3MgZGF0ZXRpbWUiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Mzp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjQ6InR5cGUiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzE6ImUuZy4gIkNvbnRhY3QiLCAiQWNjb3VudCIsIGV0Yy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MjQ6Im5leHRfcXVlcnlfbW9kaWZpZWRfZGF0ZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xPYmplY3RfIjoxOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE9iamVjdF8AZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoxMDoiXHRpbWVzdGFtcCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjk6InRpbWVzdGFtcCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjc2OiJ0aGUgbGFzdCByZWNvcmQncyBtb2RpZmllZCBkYXRldGltZSwgb3IgdGhlIGN1cnJlbnQgdGltZSBpZiB0aGVyZSBpc24ndCBvbmUuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToyO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjExOiJmaWVsZG1hcF9pZCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czo0NToiaXMgdGhlIGZpZWxkbWFwIElEIHRoYXQgZ29lcyB3aXRoIHRoaXMgcXVlcnkuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjIzODY7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NjY6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmluY3JlbWVudF9jdXJyZW50X3R5cGVfZGF0ZXRpbWUoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjMxOiJpbmNyZW1lbnRfY3VycmVudF90eXBlX2RhdGV0aW1lIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZpbmFsIjtiOjA7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAHN0YXRpYyI7YjowO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAB2aXNpYmlsaXR5IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkiOjE6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFZpc2liaWxpdHkAdmlzaWJpbGl0eSI7czo3OiJwcml2YXRlIjt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGFyZ3VtZW50cyI7YTozOntpOjA7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czo0OiJ0eXBlIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MjQ6Im5leHRfcXVlcnlfbW9kaWZpZWRfZGF0ZSI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO3M6MjoiJyciO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxMToiZmllbGRtYXBfaWQiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtzOjI6IicnIjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjM5MztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjUyOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjpjcmVhdGVfb2JqZWN0X21hcCgpIjtPOjM1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZCI6OTp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGRvY0Jsb2NrIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2siOjc6e3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAc3VtbWFyeSI7czo3MToiQ3JlYXRlIGFuIG9iamVjdCBtYXAgYmV0d2VlbiBhIFNhbGVzZm9yY2Ugb2JqZWN0IGFuZCBhIFdvcmRQcmVzcyBvYmplY3QiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6NDp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE3OiJzYWxlc2ZvcmNlX29iamVjdCI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6Mzg6IkFycmF5IG9mIHRoZSBzYWxlc2ZvcmNlIG9iamVjdCdzIGRhdGEuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aToxO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjEyOiJ3b3JkcHJlc3NfaWQiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NDM6IlVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgV29yZFByZXNzIG9iamVjdC4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTM6ImZpZWxkX21hcHBpbmciO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1ZhcmlhZGljIjtiOjA7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzUmVmZXJlbmNlIjtiOjA7czo3OiIAKgB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQXJyYXlfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtOO3M6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjc6IgAqAG5hbWUiO3M6NToicGFyYW0iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjkzOiJUaGUgcm93IHRoYXQgbWFwcyB0aGUgb2JqZWN0IHR5cGVzIHRvZ2V0aGVyLCBpbmNsdWRpbmcgd2hpY2ggZmllbGRzIG1hdGNoIHdoaWNoIG90aGVyIGZpZWxkcy4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmV0dXJuXyI6Mzp7czo3OiIAKgB0eXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NzoiACoAbmFtZSI7czo2OiJyZXR1cm4iO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjYwOiIkd3BkYi0+aW5zZXJ0X2lkIFRoaXMgaXMgdGhlIGRhdGFiYXNlIHJvdyBmb3IgdGhlIG1hcCBvYmplY3QiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX19czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBjb250ZXh0IjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dCI6Mjp7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZSI7czowOiIiO3M6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2VBbGlhc2VzIjthOjA6e319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjQwMztzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czo1MjoiXE9iamVjdF9TeW5jX1NmX1NhbGVzZm9yY2VfUHVsbDo6Y3JlYXRlX29iamVjdF9tYXAoKSI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjE3OiJjcmVhdGVfb2JqZWN0X21hcCI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6Mzp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTc6InNhbGVzZm9yY2Vfb2JqZWN0IjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTI6IndvcmRwcmVzc19pZCI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjEzOiJmaWVsZF9tYXBwaW5nIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MjQxMTtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAcmV0dXJuVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fX1zOjUwOiJcT2JqZWN0X1N5bmNfU2ZfU2FsZXNmb3JjZV9QdWxsOjppc19wdWxsX2FsbG93ZWQoKSI7TzozNToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QiOjk6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6NDM6IkZpbmQgb3V0IGlmIHB1bGwgaXMgYWxsb3dlZCBmb3IgdGhpcyByZWNvcmQiO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6Njp7aTowO086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjExOiJvYmplY3RfdHlwZSI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czoyMzoiU2FsZXNmb3JjZSBvYmplY3QgdHlwZS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjE7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6Njoib2JqZWN0IjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNWYXJpYWRpYyI7YjowO3M6NTc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQBpc1JlZmVyZW5jZSI7YjowO3M6NzoiACoAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFycmF5XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TjtzOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozODoiQXJyYXkgb2YgdGhlIHNhbGVzZm9yY2Ugb2JqZWN0J3MgZGF0YS4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjI7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTU6InNmX3N5bmNfdHJpZ2dlciI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czo3OiIAKgBuYW1lIjtzOjU6InBhcmFtIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czozMjoiVGhlIGN1cnJlbnQgb3BlcmF0aW9uJ3MgdHJpZ2dlci4iO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fX1pOjM7Tzo0NDoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0iOjY6e3M6NTg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xQYXJhbQB2YXJpYWJsZU5hbWUiO3M6MTg6InNhbGVzZm9yY2VfbWFwcGluZyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6NDQ6InRoZSBmaWVsZG1hcCB0aGF0IG1hcHMgdGhlIHR3byBvYmplY3QgdHlwZXMuIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19aTo0O086NDQ6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtIjo2OntzOjU4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AdmFyaWFibGVOYW1lIjtzOjE3OiJtYXBfc3luY190cmlnZ2VycyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFBhcmFtAGlzVmFyaWFkaWMiO2I6MDtzOjU3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUGFyYW0AaXNSZWZlcmVuY2UiO2I6MDtzOjc6IgAqAHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NzoiACoAbmFtZSI7czo1OiJwYXJhbSI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MzA6InRoZSB0cmlnZ2VycyB0aGF0IGFyZSBlbmFibGVkLiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319fWk6NTtPOjQ2OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcVGFnc1xSZXR1cm5fIjozOntzOjc6IgAqAHR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xCb29sZWFuIjowOnt9czo3OiIAKgBuYW1lIjtzOjY6InJldHVybiI7czoxNDoiACoAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6ODM6IiRwdWxsX2FsbG93ZWQgV2hldGhlciBhbGwgdGhpcyBzdHVmZiBhbGxvd3MgdGhlICRyZXN1bHQgdG8gYmUgcHVsbGVkIGludG8gV29yZFByZXNzIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX19fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQiOjI6e3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29udGV4dABuYW1lc3BhY2UiO3M6MDoiIjtzOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlQWxpYXNlcyI7YTowOnt9fXM6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI0MzA7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBpc1RlbXBsYXRlU3RhcnQiO2I6MDtzOjQ4OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVFbmQiO2I6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NTA6IlxPYmplY3RfU3luY19TZl9TYWxlc2ZvcmNlX1B1bGw6OmlzX3B1bGxfYWxsb3dlZCgpIjtzOjM2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXEZxc2VuAG5hbWUiO3M6MTU6ImlzX3B1bGxfYWxsb3dlZCI7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhYnN0cmFjdCI7YjowO3M6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABmaW5hbCI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABzdGF0aWMiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxNZXRob2QAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NzoicHJpdmF0ZSI7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZABhcmd1bWVudHMiO2E6NTp7aTowO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTE6Im9iamVjdF90eXBlIjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToxO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6Njoib2JqZWN0IjtzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudAB0eXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAZGVmYXVsdCI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABieVJlZmVyZW5jZSI7YjowO3M6NDk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGlzVmFyaWFkaWMiO2I6MDt9aToyO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQiOjU6e3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AG5hbWUiO3M6MTU6InNmX3N5bmNfdHJpZ2dlciI7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAdHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGRlZmF1bHQiO047czo1MDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAYnlSZWZlcmVuY2UiO2I6MDtzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABpc1ZhcmlhZGljIjtiOjA7fWk6MztPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50Ijo1OntzOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABuYW1lIjtzOjE4OiJzYWxlc2ZvcmNlX21hcHBpbmciO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO31pOjQ7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudCI6NTp7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAbmFtZSI7czoxNzoibWFwX3N5bmNfdHJpZ2dlcnMiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xNaXhlZF8iOjA6e31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxBcmd1bWVudABkZWZhdWx0IjtOO3M6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEFyZ3VtZW50AGJ5UmVmZXJlbmNlIjtiOjA7czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQXJndW1lbnQAaXNWYXJpYWRpYyI7YjowO319czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcTWV0aG9kAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToyNDQwO3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXE1ldGhvZAByZXR1cm5UeXBlIjtPOjM3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcTWl4ZWRfIjowOnt9fX1zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AdXNlZFRyYWl0cyI7YTowOnt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGxvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxNDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGNvbHVtbk51bWJlciI7aTowO319fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAaW50ZXJmYWNlcyI7YTowOnt9czo0MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQB0cmFpdHMiO2E6MDp7fX0=";