@raystack/proton 0.1.0-ccaf27e487cbe97a6ac7249e7382f2d016c3f5fa → 0.1.0-d7ccfeef8ed0a304b5da3537c1b2bb5e7d99c77c

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,7 +14,7 @@ import { file_validate_validate } from "../../../validate/validate_pb";
14
14
  * Describes the file raystack/frontier/v1beta1/frontier.proto.
15
15
  */
16
16
  export const file_raystack_frontier_v1beta1_frontier = /*@__PURE__*/
17
- fileDesc("CihyYXlzdGFjay9mcm9udGllci92MWJldGExL2Zyb250aWVyLnByb3RvEhlyYXlzdGFjay5mcm9udGllci52MWJldGExIokCChlCaWxsaW5nQWNjb3VudFJlcXVlc3RCb2R5EgwKBG5hbWUYASABKAkSDQoFZW1haWwYAiABKAkSDQoFcGhvbmUYAyABKAkSQgoHYWRkcmVzcxgEIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuQWRkcmVzcxIQCghjdXJyZW5jeRgFIAEoCRI/Cgh0YXhfZGF0YRgGIAMoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuVGF4EikKCG1ldGFkYXRhGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKVAQobQ3JlYXRlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQARJMCgRib2R5GAIgASgLMjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudFJlcXVlc3RCb2R5Qgj6QgWKAQIQARIPCgdvZmZsaW5lGAMgASgIImIKHENyZWF0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2USQgoPYmlsbGluZ19hY2NvdW50GAEgASgLMikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudCKUAQoYR2V0QmlsbGluZ0FjY291bnRSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhABEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQARIcChR3aXRoX3BheW1lbnRfbWV0aG9kcxgDIAEoCBIcChR3aXRoX2JpbGxpbmdfZGV0YWlscxgEIAEoCBIOCgZleHBhbmQYZSADKAki7QEKGUdldEJpbGxpbmdBY2NvdW50UmVzcG9uc2USQgoPYmlsbGluZ19hY2NvdW50GAEgASgLMikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudBJBCg9wYXltZW50X21ldGhvZHMYAiADKAsyKC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBheW1lbnRNZXRob2QSSQoPYmlsbGluZ19kZXRhaWxzGAMgASgLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudERldGFpbHMikAEKG1VwZGF0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBIUCgJpZBgBIAEoCUII+kIFcgOwAQESFwoGb3JnX2lkGAIgASgJQgf6QgRyAhABEkIKBGJvZHkYAyABKAsyNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50UmVxdWVzdEJvZHkiYgocVXBkYXRlQmlsbGluZ0FjY291bnRSZXNwb25zZRJCCg9iaWxsaW5nX2FjY291bnQYASABKAsyKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50Ik4KHVJlZ2lzdGVyQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiIAoeUmVnaXN0ZXJCaWxsaW5nQWNjb3VudFJlc3BvbnNlIkUKGkxpc3RCaWxsaW5nQWNjb3VudHNSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQARIOCgZleHBhbmQYZSADKAkiYgobTGlzdEJpbGxpbmdBY2NvdW50c1Jlc3BvbnNlEkMKEGJpbGxpbmdfYWNjb3VudHMYASADKAsyKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50IkwKG0RlbGV0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBIUCgJpZBgBIAEoCUII+kIFcgOwAQESFwoGb3JnX2lkGAIgASgJQgf6QgRyAhABIh4KHERlbGV0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UiTAobRW5hYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiHgocRW5hYmxlQmlsbGluZ0FjY291bnRSZXNwb25zZSJNChxEaXNhYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiHwodRGlzYWJsZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UiSQoYR2V0QmlsbGluZ0JhbGFuY2VSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiXwoZR2V0QmlsbGluZ0JhbGFuY2VSZXNwb25zZRJCCgdiYWxhbmNlGAEgASgLMjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudC5CYWxhbmNlIlwKEUhhc1RyaWFsZWRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAESGAoHcGxhbl9pZBgDIAEoCUIH+kIEcgIQASIlChJIYXNUcmlhbGVkUmVzcG9uc2USDwoHdHJpYWxlZBgBIAEoCCKSAQoZQ3JlYXRlQmlsbGluZ1VzYWdlUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEgoKcHJvamVjdF9pZBgEIAEoCRIwCgZ1c2FnZXMYAyADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzYWdlIhwKGkNyZWF0ZUJpbGxpbmdVc2FnZVJlc3BvbnNlIvkBCh5MaXN0QmlsbGluZ1RyYW5zYWN0aW9uc1JlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEi0KBXNpbmNlGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEICGAESLwoLc3RhcnRfcmFuZ2UYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi0KCWVuZF9yYW5nZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDgoGZXhwYW5kGGUgAygJImYKH0xpc3RCaWxsaW5nVHJhbnNhY3Rpb25zUmVzcG9uc2USQwoMdHJhbnNhY3Rpb25zGAEgAygLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nVHJhbnNhY3Rpb24iWAofVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHAoKYmlsbGluZ19pZBgCIAEoCUII+kIFcgOwAQEiZgogVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVzcG9uc2USQgoHZGViaXRlZBgBIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuQmFsYW5jZSJ3ChZHZXRTdWJzY3JpcHRpb25SZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQARIOCgZleHBhbmQYZSADKAkiWAoXR2V0U3Vic2NyaXB0aW9uUmVzcG9uc2USPQoMc3Vic2NyaXB0aW9uGAEgASgLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TdWJzY3JpcHRpb24igQEKGExpc3RTdWJzY3JpcHRpb25zUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESDQoFc3RhdGUYAyABKAkSDAoEcGxhbhgEIAEoCRIOCgZleHBhbmQYZSADKAkiWwoZTGlzdFN1YnNjcmlwdGlvbnNSZXNwb25zZRI+Cg1zdWJzY3JpcHRpb25zGAEgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TdWJzY3JpcHRpb24ilQEKGVVwZGF0ZVN1YnNjcmlwdGlvblJlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEhMKAmlkGAMgASgJQgf6QgRyAhABEikKCG1ldGFkYXRhGBQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJbChpVcGRhdGVTdWJzY3JpcHRpb25SZXNwb25zZRI9CgxzdWJzY3JpcHRpb24YASABKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlN1YnNjcmlwdGlvbiKuAwoZQ2hhbmdlU3Vic2NyaXB0aW9uUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEwoCaWQYAyABKAlCB/pCBHICEAESEAoEcGxhbhgEIAEoCUICGAESFQoJaW1tZWRpYXRlGAUgASgIQgIYARJWCgtwbGFuX2NoYW5nZRgGIAEoCzI/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hhbmdlU3Vic2NyaXB0aW9uUmVxdWVzdC5QbGFuQ2hhbmdlSAASWAoMcGhhc2VfY2hhbmdlGAcgASgLMkAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGFuZ2VTdWJzY3JpcHRpb25SZXF1ZXN0LlBoYXNlQ2hhbmdlSAAaLQoKUGxhbkNoYW5nZRIMCgRwbGFuGAEgASgJEhEKCWltbWVkaWF0ZRgCIAEoCBouCgtQaGFzZUNoYW5nZRIfChdjYW5jZWxfdXBjb21pbmdfY2hhbmdlcxgBIAEoCEIICgZjaGFuZ2UiWgoaQ2hhbmdlU3Vic2NyaXB0aW9uUmVzcG9uc2USPAoFcGhhc2UYASABKAsyLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlN1YnNjcmlwdGlvbi5QaGFzZSJ9ChlDYW5jZWxTdWJzY3JpcHRpb25SZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQARIRCglpbW1lZGlhdGUYBCABKAgiHAoaQ2FuY2VsU3Vic2NyaXB0aW9uUmVzcG9uc2UiEgoQTGlzdFBsYW5zUmVxdWVzdCJDChFMaXN0UGxhbnNSZXNwb25zZRIuCgVwbGFucxgBIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiJ/Ch5DaGVja0ZlYXR1cmVFbnRpdGxlbWVudFJlcXVlc3QSDgoGb3JnX2lkGAEgASgJEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEhIKCnByb2plY3RfaWQYBCABKAkSGAoHZmVhdHVyZRgDIAEoCUIH+kIEcgIQASIxCh9DaGVja0ZlYXR1cmVFbnRpdGxlbWVudFJlc3BvbnNlEg4KBnN0YXR1cxgBIAEoCCJRCh1DaGVja0NyZWRpdEVudGl0bGVtZW50UmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSFwoGYW1vdW50GAIgASgDQgf6QgQiAiAAIjAKHkNoZWNrQ3JlZGl0RW50aXRsZW1lbnRSZXNwb25zZRIOCgZzdGF0dXMYASABKAgi0gIKFUNyZWF0ZUNoZWNrb3V0UmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEwoLc3VjY2Vzc191cmwYAyABKAkSEgoKY2FuY2VsX3VybBgEIAEoCRJOChFzdWJzY3JpcHRpb25fYm9keRgKIAEoCzIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tvdXRTdWJzY3JpcHRpb25Cb2R5EkQKDHByb2R1Y3RfYm9keRgLIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tvdXRQcm9kdWN0Qm9keRJACgpzZXR1cF9ib2R5GAwgASgLMiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja291dFNldHVwQm9keSJeChZDcmVhdGVDaGVja291dFJlc3BvbnNlEkQKEGNoZWNrb3V0X3Nlc3Npb24YASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrb3V0U2Vzc2lvbiJQChRMaXN0Q2hlY2tvdXRzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQEiXgoVTGlzdENoZWNrb3V0c1Jlc3BvbnNlEkUKEWNoZWNrb3V0X3Nlc3Npb25zGAEgAygLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja291dFNlc3Npb24iYwoSR2V0Q2hlY2tvdXRSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQASJbChNHZXRDaGVja291dFJlc3BvbnNlEkQKEGNoZWNrb3V0X3Nlc3Npb24YASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrb3V0U2Vzc2lvbiL7AgoSUHJvZHVjdFJlcXVlc3RCb2R5EhUKBG5hbWUYASABKAlCB/pCBHICEAMSDQoFdGl0bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDwoHcGxhbl9pZBgEIAEoCRIwCgZwcmljZXMYBSADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByaWNlEjQKCGJlaGF2aW9yGAggASgJQiL6Qh9yHVIFYmFzaWNSB2NyZWRpdHNSCHBlcl9zZWF00AEBEjQKCGZlYXR1cmVzGAkgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5GZWF0dXJlEkoKD2JlaGF2aW9yX2NvbmZpZxgKIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdC5CZWhhdmlvckNvbmZpZxIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RKBAgHEAgiXQoUQ3JlYXRlUHJvZHVjdFJlcXVlc3QSRQoEYm9keRgBIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdFJlcXVlc3RCb2R5Qgj6QgWKAQIQASJMChVDcmVhdGVQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCIoChFHZXRQcm9kdWN0UmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJJChJHZXRQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCIVChNMaXN0UHJvZHVjdHNSZXF1ZXN0IkwKFExpc3RQcm9kdWN0c1Jlc3BvbnNlEjQKCHByb2R1Y3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9kdWN0ImgKFFVwZGF0ZVByb2R1Y3RSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhABEjsKBGJvZHkYAiABKAsyLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2R1Y3RSZXF1ZXN0Qm9keSJMChVVcGRhdGVQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCJ6ChJGZWF0dXJlUmVxdWVzdEJvZHkSFQoEbmFtZRgBIAEoCUIH+kIEcgIQAxINCgV0aXRsZRgCIAEoCRITCgtwcm9kdWN0X2lkcxgDIAMoCRIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiXQoUQ3JlYXRlRmVhdHVyZVJlcXVlc3QSRQoEYm9keRgBIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZVJlcXVlc3RCb2R5Qgj6QgWKAQIQASJMChVDcmVhdGVGZWF0dXJlUmVzcG9uc2USMwoHZmVhdHVyZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSIoChFHZXRGZWF0dXJlUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJJChJHZXRGZWF0dXJlUmVzcG9uc2USMwoHZmVhdHVyZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSJoChRVcGRhdGVGZWF0dXJlUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQARI7CgRib2R5GAIgASgLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5GZWF0dXJlUmVxdWVzdEJvZHkiTAoVVXBkYXRlRmVhdHVyZVJlc3BvbnNlEjMKB2ZlYXR1cmUYASABKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkZlYXR1cmUiFQoTTGlzdEZlYXR1cmVzUmVxdWVzdCJMChRMaXN0RmVhdHVyZXNSZXNwb25zZRI0CghmZWF0dXJlcxgBIAMoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSKDAgoPUGxhblJlcXVlc3RCb2R5EgwKBG5hbWUYASABKAkSDQoFdGl0bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSNAoIcHJvZHVjdHMYBCADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2R1Y3QSLwoIaW50ZXJ2YWwYBSABKAlCHfpCGnIYUgNkYXlSBHdlZWtSBW1vbnRoUgR5ZWFyEhgKEG9uX3N0YXJ0X2NyZWRpdHMYBiABKAMSEgoKdHJpYWxfZGF5cxgHIAEoAxIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiVwoRQ3JlYXRlUGxhblJlcXVlc3QSQgoEYm9keRgBIAEoCzIqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhblJlcXVlc3RCb2R5Qgj6QgWKAQIQASJDChJDcmVhdGVQbGFuUmVzcG9uc2USLQoEcGxhbhgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiIlCg5HZXRQbGFuUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJACg9HZXRQbGFuUmVzcG9uc2USLQoEcGxhbhgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiJiChFVcGRhdGVQbGFuUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQARI4CgRib2R5GAIgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QbGFuUmVxdWVzdEJvZHkiQwoSVXBkYXRlUGxhblJlc3BvbnNlEi0KBHBsYW4YASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBsYW4ifAoTTGlzdEludm9pY2VzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESGwoTbm9uemVyb19hbW91bnRfb25seRgDIAEoCBIOCgZleHBhbmQYZSADKAkiTAoUTGlzdEludm9pY2VzUmVzcG9uc2USNAoIaW52b2ljZXMYASADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludm9pY2UiVQoZR2V0VXBjb21pbmdJbnZvaWNlUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQEiUQoaR2V0VXBjb21pbmdJbnZvaWNlUmVzcG9uc2USMwoHaW52b2ljZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSW52b2ljZSIQCg5HZXRKV0tzUmVxdWVzdCJGCg9HZXRKV0tzUmVzcG9uc2USMwoEa2V5cxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSlNPTldlYktleSITChFBdXRoTG9nb3V0UmVxdWVzdCIUChJBdXRoTG9nb3V0UmVzcG9uc2UieQoTQXV0aENhbGxiYWNrUmVxdWVzdBIVCg1zdHJhdGVneV9uYW1lGAEgASgJEg0KBXN0YXRlGAIgASgJEgwKBGNvZGUYAyABKAkSLgoNc3RhdGVfb3B0aW9ucxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiFgoUQXV0aENhbGxiYWNrUmVzcG9uc2Ui3gUKE0F1dGhlbnRpY2F0ZVJlcXVlc3QSZAoNc3RyYXRlZ3lfbmFtZRgBIAEoCUJNkkFKMkhOYW1lIG9mIHRoZSBzdHJhdGVneSB0byB1c2UgZm9yIGF1dGhlbnRpY2F0aW9uLjxici8+ICpFeGFtcGxlOiogYGdvb2dsZWASagoQcmVkaXJlY3Rfb25zdGFydBgCIAEoCEJQkkFNMktJZiBzZXQgdG8gdHJ1ZSwgbG9jYXRpb24gaGVhZGVyIHdpbGwgYmUgc2V0IGZvciByZWRpcmVjdCB0byBzdGFydCBhdXRoIGZsb3cSeAoJcmV0dXJuX3RvGAMgASgJQmWSQWIyYFVSTCB0byByZWRpcmVjdCBhZnRlciBzdWNjZXNzZnVsIGF1dGhlbnRpY2F0aW9uLjxici8+ICpFeGFtcGxlOipgImh0dHBzOi8vZnJvbnRpZXIuZXhhbXBsZS5jb20iYBJuCgVlbWFpbBgEIAEoCUJfkkFcMlpFbWFpbCBvZiB0aGUgdXNlciB0byBhdXRoZW50aWNhdGUuIFVzZWQgZm9yIG1hZ2ljIGxpbmtzLjxici8+ICpFeGFtcGxlOipgZXhhbXBsZUBhY21lLm9yZ2ASigIKDGNhbGxiYWNrX3VybBgFIAEoCULzAZJB7wEy7AFIb3N0IHdoaWNoIHNob3VsZCBoYW5kbGUgdGhlIGNhbGwgdG8gZmluaXNoIGF1dGhlbnRpY2F0aW9uIGZsb3csIGZvciBtb3N0IGNhc2VzIGl0IGNvdWxkIGJlIGhvc3Qgb2YgZnJvbnRpZXIgYnV0IGluIGNhc2Ugb2YgcHJveGllcywgdGhpcyB3aWxsIGJlIHByb3h5IHB1YmxpYyBlbmRwb2ludC48YnIvPiAqRXhhbXBsZToqYGh0dHBzOi8vZnJvbnRpZXIuZXhhbXBsZS5jb20vdjFiZXRhMS9hdXRoL2NhbGxiYWNrYCJnChRBdXRoZW50aWNhdGVSZXNwb25zZRIQCghlbmRwb2ludBgBIAEoCRINCgVzdGF0ZRgCIAEoCRIuCg1zdGF0ZV9vcHRpb25zGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJFCgxBdXRoU3RyYXRlZ3kSDAoEbmFtZRgBIAEoCRInCgZwYXJhbXMYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IhsKGUxpc3RBdXRoU3RyYXRlZ2llc1JlcXVlc3QiWQoaTGlzdEF1dGhTdHJhdGVnaWVzUmVzcG9uc2USOwoKc3RyYXRlZ2llcxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aFN0cmF0ZWd5ImMKEEF1dGhUb2tlblJlcXVlc3QSEgoKZ3JhbnRfdHlwZRgBIAEoCRIRCgljbGllbnRfaWQYAiABKAkSFQoNY2xpZW50X3NlY3JldBgDIAEoCRIRCglhc3NlcnRpb24YBCABKAkiPQoRQXV0aFRva2VuUmVzcG9uc2USFAoMYWNjZXNzX3Rva2VuGAEgASgJEhIKCnRva2VuX3R5cGUYAiABKAki8wsKD1VzZXJSZXF1ZXN0Qm9keRLGAgoEbmFtZRgBIAEoCUK3ApJBjAIyiQJUaGUgbmFtZSBvZiB0aGUgdXNlci4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMgYW5kIG11c3Qgc3RhcnQgd2l0aCBhIGxldHRlci4gSWYgbm90IHByb3ZpZGVkLCBGcm9udGllciBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBhIG5hbWUgZnJvbSB0aGUgdXNlciBlbWFpbC4g+kIkciIyIF4oW2EtekEtWl1bYS16QS1aMC05LV9dezMsNjR9KT8kEpwBCgVlbWFpbBgCIAEoCUKMAZJBfjJ8VGhlIGVtYWlsIG9mIHRoZSB1c2VyLiBUaGUgZW1haWwgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuPGJyLz4qRXhhbXBsZToqYCJqb2huLmRvZUByYXlzdGFjay5vcmciYOJBAQL6QgRyAmABEtgDCghtZXRhZGF0YRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCrAOSQagDMqUDTWV0YWRhdGEgb2JqZWN0IGZvciB1c2VycyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBwcmUtZGVmaW5lZCBpbiBVc2VyIE1ldGFzY2hlbWEuIFRoZSBtZXRhZGF0YSBvYmplY3QgY2FuIGJlIHVzZWQgdG8gc3RvcmUgYXJiaXRyYXJ5IGluZm9ybWF0aW9uIGFib3V0IHRoZSB1c2VyIHN1Y2ggYXMgbGFiZWwsIGRlc2NyaXB0aW9uIGV0Yy4gQnkgZGVmYXVsdCB0aGUgdXNlciBtZXRhc2NoZW1hIGNvbnRhaW5zIGxhYmVscyBhbmQgZGVzY3JpcHRpb25zIGZvciB0aGUgdXNlci4gVXBkYXRlIHRoZSBzYW1lIHRvIGFkZCBtb3JlIGZpZWxkcyB0byB0aGUgdXNlciBtZXRhZGF0YSBvYmplY3QuIDxici8+KkV4YW1wbGU6KmB7ImxhYmVsIjogeyJrZXkxIjogInZhbHVlMSJ9LCAiZGVzY3JpcHRpb24iOiAiVXNlciBEZXNjcmlwdGlvbiJ9YBKpAQoFdGl0bGUYBCABKAlCmQGSQZUBMpIBVGhlIHRpdGxlIGNhbiBjb250YWluIGFueSBVVEYtOCBjaGFyYWN0ZXIsIHVzZWQgdG8gcHJvdmlkZSBhIGh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSB1c2VyLiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPipFeGFtcGxlOipgIkpvaG4gRG9lImAS8AIKBmF2YXRhchgFIAEoCULfApJBjwIy0wFUaGUgYXZhdGFyIGlzIGJhc2U2NCBlbmNvZGVkIGltYWdlIGRhdGEgb2YgdGhlIHVzZXIuIENhbiBhbHNvIGJlIGxlZnQgZW1wdHkuIFRoZSBpbWFnZSBzaG91bGQgYmUgbGVzcyB0aGFuIDIwMEtCLiBTaG91bGQgZm9sbG93IHRoZSByZWdleCBwYXR0ZXJuIGBeZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJGAuSjciZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUEi+kJJckcYkKEPMj5eZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJNABASLHAwoQTGlzdFVzZXJzUmVxdWVzdBJlCglwYWdlX3NpemUYASABKAVCUpJBRjJEVGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHJldHVybiBwZXIgcGFnZS4gVGhlIGRlZmF1bHQgaXMgMTAwMC76QgYaBCgBQAESTAoIcGFnZV9udW0YAiABKAVCOpJBLjIsVGhlIHBhZ2UgbnVtYmVyIHRvIHJldHVybi4gVGhlIGRlZmF1bHQgaXMgMS76QgYaBCgBQAESQQoHa2V5d29yZBgDIAEoCUIwkkEtMitUaGUga2V5d29yZCB0byBzZWFyY2ggZm9yIGluIG5hbWUgb3IgZW1haWwuEjwKBm9yZ19pZBgEIAEoCUIskkEpMidUaGUgb3JnYW5pemF0aW9uIElEIHRvIGZpbHRlciB1c2VycyBieS4SMQoIZ3JvdXBfaWQYBSABKAlCH5JBHDIaVGhlIGdyb3VwIGlkIHRvIGZpbHRlciBieS4SSgoFc3RhdGUYBiABKAlCO5JBODI2VGhlIHN0YXRlIHRvIGZpbHRlciBieS4gSXQgY2FuIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuIlIKEUxpc3RVc2Vyc1Jlc3BvbnNlEg0KBWNvdW50GAEgASgFEi4KBXVzZXJzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyIlcKEUNyZWF0ZVVzZXJSZXF1ZXN0EkIKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXJSZXF1ZXN0Qm9keUII+kIFigECEAEiQwoSQ3JlYXRlVXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiOwoeTGlzdE9yZ2FuaXphdGlvbnNCeVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJEg0KBXN0YXRlGAIgASgJIqcBCh9MaXN0T3JnYW5pemF0aW9uc0J5VXNlclJlc3BvbnNlEj4KDW9yZ2FuaXphdGlvbnMYASADKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbhJEChNqb2luYWJsZV92aWFfZG9tYWluGAIgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb24iNgolTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVxdWVzdBINCgVzdGF0ZRgBIAEoCSKuAQomTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVzcG9uc2USPgoNb3JnYW5pemF0aW9ucxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uEkQKE2pvaW5hYmxlX3ZpYV9kb21haW4YAiADKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbiInChlMaXN0UHJvamVjdHNCeVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJIlIKGkxpc3RQcm9qZWN0c0J5VXNlclJlc3BvbnNlEjQKCHByb2plY3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0IrMCCiBMaXN0UHJvamVjdHNCeUN1cnJlbnRVc2VyUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSGAoQd2l0aF9wZXJtaXNzaW9ucxgCIAMoCRIVCg1ub25faW5oZXJpdGVkGAMgASgIEhkKEXdpdGhfbWVtYmVyX2NvdW50GAQgASgIEmUKCXBhZ2Vfc2l6ZRgFIAEoBUJSkkFGMkRUaGUgbWF4aW11bSBudW1iZXIgb2YgdXNlcnMgdG8gcmV0dXJuIHBlciBwYWdlLiBUaGUgZGVmYXVsdCBpcyAxMDAwLvpCBhoEKAFAARJMCghwYWdlX251bRgGIAEoBUI6kkEuMixUaGUgcGFnZSBudW1iZXIgdG8gcmV0dXJuLiBUaGUgZGVmYXVsdCBpcyAxLvpCBhoEKAFAASL+AQohTGlzdFByb2plY3RzQnlDdXJyZW50VXNlclJlc3BvbnNlEjQKCHByb2plY3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0El0KDGFjY2Vzc19wYWlycxgCIAMoCzJHLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RzQnlDdXJyZW50VXNlclJlc3BvbnNlLkFjY2Vzc1BhaXISDQoFY291bnQYAyABKAUaNQoKQWNjZXNzUGFpchISCgpwcm9qZWN0X2lkGAEgASgJEhMKC3Blcm1pc3Npb25zGAIgAygJIh8KEUVuYWJsZVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJIhQKEkVuYWJsZVVzZXJSZXNwb25zZSIgChJEaXNhYmxlVXNlclJlcXVlc3QSCgoCaWQYASABKAkiFQoTRGlzYWJsZVVzZXJSZXNwb25zZSIfChFEZWxldGVVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCSIUChJEZWxldGVVc2VyUmVzcG9uc2UiQAoPR2V0VXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiFwoVR2V0Q3VycmVudFVzZXJSZXF1ZXN0IoQBChZHZXRDdXJyZW50VXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXISOwoLc2VydmljZXVzZXIYAiABKAsyJi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VyIkMKElVwZGF0ZVVzZXJSZXNwb25zZRItCgR1c2VyGAEgASgLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyIkoKGVVwZGF0ZUN1cnJlbnRVc2VyUmVzcG9uc2USLQoEdXNlchgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXNlciJZChFVcGRhdGVVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCRI4CgRib2R5GAIgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyUmVxdWVzdEJvZHkiHAoOR2V0VXNlclJlcXVlc3QSCgoCaWQYASABKAkiYwocTGlzdEN1cnJlbnRVc2VyR3JvdXBzUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSGAoQd2l0aF9wZXJtaXNzaW9ucxgCIAMoCRIZChF3aXRoX21lbWJlcl9jb3VudBgDIAEoCCLhAQodTGlzdEN1cnJlbnRVc2VyR3JvdXBzUmVzcG9uc2USMAoGZ3JvdXBzGAEgAygLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cBJZCgxhY2Nlc3NfcGFpcnMYAiADKAsyQy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckdyb3Vwc1Jlc3BvbnNlLkFjY2Vzc1BhaXIaMwoKQWNjZXNzUGFpchIQCghncm91cF9pZBgBIAEoCRITCgtwZXJtaXNzaW9ucxgCIAMoCSLYAQoVTGlzdFVzZXJHcm91cHNSZXF1ZXN0Ej0KAmlkGAEgASgJQjGSQS4yLFRoZSB1bmlxdWUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IGdyb3VwcyBmb3IuEnoKBm9yZ19pZBgDIAEoCUJqkkFnMmVUaGUgb3JnYW5pemF0aW9uIElEIHRvIGZpbHRlciBncm91cHMgYnkuIElmIG5vdCBwcm92aWRlZCwgZ3JvdXBzIGZyb20gYWxsIG9yZ2FuaXphdGlvbnMgYXJlIHJldHVybmVkLkoECAIQAyJKChZMaXN0VXNlckdyb3Vwc1Jlc3BvbnNlEjAKBmdyb3VwcxgBIAMoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAiVAoYVXBkYXRlQ3VycmVudFVzZXJSZXF1ZXN0EjgKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXJSZXF1ZXN0Qm9keSJaChpMaXN0VXNlckludml0YXRpb25zUmVxdWVzdBI8CgJpZBgBIAEoCUIwkkEtMitUaGUgdXNlciBlbWFpbCB0byBsaXN0IHRoZSBpbnZpdGF0aW9ucyBmb3IuIlkKG0xpc3RVc2VySW52aXRhdGlvbnNSZXNwb25zZRI6CgtpbnZpdGF0aW9ucxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSW52aXRhdGlvbiIjCiFMaXN0Q3VycmVudFVzZXJJbnZpdGF0aW9uc1JlcXVlc3QilwEKIkxpc3RDdXJyZW50VXNlckludml0YXRpb25zUmVzcG9uc2USOgoLaW52aXRhdGlvbnMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludml0YXRpb24SNQoEb3JncxgCIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIrYBChdMaXN0U2VydmljZVVzZXJzUmVxdWVzdBJPCgZvcmdfaWQYASABKAlCP5JBMTIvVGhlIG9yZ2FuaXphdGlvbiBJRCB0byBmaWx0ZXIgc2VydmljZSB1c2VycyBieS7iQQEC+kIEcgIQAxJKCgVzdGF0ZRgCIAEoCUI7kkE4MjZUaGUgc3RhdGUgdG8gZmlsdGVyIGJ5LiBJdCBjYW4gYmUgZW5hYmxlZCBvciBkaXNhYmxlZC4iWAoYTGlzdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlEjwKDHNlcnZpY2V1c2VycxgBIAMoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIikQEKFlNlcnZpY2VVc2VyUmVxdWVzdEJvZHkSTAoFdGl0bGUYASABKAlCPZJBOjInVXNlciBmcmllbmRseSBuYW1lIG9mIHRoZSBzZXJ2aWNlIHVzZXIuSg8iT3JkZXIgU2VydmljZSISKQoIbWV0YWRhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IrYBChhDcmVhdGVTZXJ2aWNlVXNlclJlcXVlc3QSPwoEYm9keRgBIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXJSZXF1ZXN0Qm9keRJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiWAoZQ3JlYXRlU2VydmljZVVzZXJSZXNwb25zZRI7CgtzZXJ2aWNldXNlchgBIAEoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIirgEKFUdldFNlcnZpY2VVc2VyUmVxdWVzdBI6CgJpZBgBIAEoCUIukkErMilUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gZ2V0LhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiVQoWR2V0U2VydmljZVVzZXJSZXNwb25zZRI7CgtzZXJ2aWNldXNlchgBIAEoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIi9QEKGFVwZGF0ZVNlcnZpY2VVc2VyUmVxdWVzdBI9CgJpZBgBIAEoCUIxkkEuMixUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gdXBkYXRlLhI/CgRib2R5GAIgASgLMjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXJ2aWNlVXNlclJlcXVlc3RCb2R5ElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJYChlVcGRhdGVTZXJ2aWNlVXNlclJlc3BvbnNlEjsKC3NlcnZpY2V1c2VyGAEgASgLMiYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXJ2aWNlVXNlciK0AQoYRGVsZXRlU2VydmljZVVzZXJSZXF1ZXN0Ej0KAmlkGAEgASgJQjGSQS4yLFRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBkZWxldGUuElkKBm9yZ19pZBgCIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyIbChlEZWxldGVTZXJ2aWNlVXNlclJlc3BvbnNlItABChtDcmVhdGVTZXJ2aWNlVXNlckpXS1JlcXVlc3QSRwoCaWQYASABKAlCO5JBODI2VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGNyZWF0ZSBhIGtleSBmb3IuEg0KBXRpdGxlGAIgASgJElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJVChxDcmVhdGVTZXJ2aWNlVXNlckpXS1Jlc3BvbnNlEjUKA2tleRgBIAEoCzIoLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuS2V5Q3JlZGVudGlhbCLyAQoYR2V0U2VydmljZVVzZXJKV0tSZXF1ZXN0EkQKAmlkGAEgASgJQjiSQTUyM1RoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBnZXQgYSBrZXkgZm9yLhI1CgZrZXlfaWQYAiABKAlCJZJBIjIgVGhlIHVuaXF1ZSBJRCBvZiB0aGUga2V5IHRvIGdldC4SWQoGb3JnX2lkGAMgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADIlAKGUdldFNlcnZpY2VVc2VySldLUmVzcG9uc2USMwoEa2V5cxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSlNPTldlYktleSK9AQoaTGlzdFNlcnZpY2VVc2VySldLc1JlcXVlc3QSRAoCaWQYASABKAlCOJJBNTIzVGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3Qga2V5cyBmb3IuElkKBm9yZ19pZBgCIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJWChtMaXN0U2VydmljZVVzZXJKV0tzUmVzcG9uc2USNwoEa2V5cxgBIAMoCzIpLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXJKV0si+wEKG0RlbGV0ZVNlcnZpY2VVc2VySldLUmVxdWVzdBJHCgJpZBgBIAEoCUI7kkE4MjZUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gZGVsZXRlIGEga2V5IGZvci4SOAoGa2V5X2lkGAIgASgJQiiSQSUyI1RoZSB1bmlxdWUgSUQgb2YgdGhlIGtleSB0byBkZWxldGUuElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyIeChxEZWxldGVTZXJ2aWNlVXNlckpXS1Jlc3BvbnNlItcBCiJDcmVhdGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXF1ZXN0EkcKAmlkGAEgASgJQjuSQTgyNlRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBjcmVhdGUgYSBrZXkgZm9yLhINCgV0aXRsZRgCIAEoCRJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiYgojQ3JlYXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVzcG9uc2USOwoGc2VjcmV0GAEgASgLMisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZWNyZXRDcmVkZW50aWFsIscBCiFMaXN0U2VydmljZVVzZXJDcmVkZW50aWFsc1JlcXVlc3QSRwoCaWQYASABKAlCO5JBODI2VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3Qgc2VjcmV0cyBmb3IuElkKBm9yZ19pZBgCIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJiCiJMaXN0U2VydmljZVVzZXJDcmVkZW50aWFsc1Jlc3BvbnNlEjwKB3NlY3JldHMYASADKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlY3JldENyZWRlbnRpYWwiiwIKIkRlbGV0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlcXVlc3QSSgoCaWQYASABKAlCPpJBOzI5VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGRlbGV0ZSBhIHNlY3JldCBmb3IuEj4KCXNlY3JldF9pZBgCIAEoCUIrkkEoMiZUaGUgdW5pcXVlIElEIG9mIHRoZSBzZWNyZXQgdG8gZGVsZXRlLhJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiJQojRGVsZXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVzcG9uc2Ui1AEKHUNyZWF0ZVNlcnZpY2VVc2VyVG9rZW5SZXF1ZXN0EkkKAmlkGAEgASgJQj2SQToyOFRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBjcmVhdGUgYSB0b2tlbiBmb3IuEg0KBXRpdGxlGAIgASgJElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJcCh5DcmVhdGVTZXJ2aWNlVXNlclRva2VuUmVzcG9uc2USOgoFdG9rZW4YASABKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VyVG9rZW4iwQEKHExpc3RTZXJ2aWNlVXNlclRva2Vuc1JlcXVlc3QSRgoCaWQYASABKAlCOpJBNzI1VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3QgdG9rZW5zIGZvci4SWQoGb3JnX2lkGAIgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADIlwKHUxpc3RTZXJ2aWNlVXNlclRva2Vuc1Jlc3BvbnNlEjsKBnRva2VucxgBIAMoCzIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXJUb2tlbiKDAgodRGVsZXRlU2VydmljZVVzZXJUb2tlblJlcXVlc3QSSQoCaWQYASABKAlCPZJBOjI4VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGRlbGV0ZSBhIHRva2VuIGZvci4SPAoIdG9rZW5faWQYAiABKAlCKpJBJzIlVGhlIHVuaXF1ZSBJRCBvZiB0aGUgdG9rZW4gdG8gZGVsZXRlLhJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiIAoeRGVsZXRlU2VydmljZVVzZXJUb2tlblJlc3BvbnNlIt8BCh5MaXN0U2VydmljZVVzZXJQcm9qZWN0c1JlcXVlc3QSSAoCaWQYASABKAlCPJJBOTI3VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3QgcHJvamVjdHMgZm9yLhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMSGAoQd2l0aF9wZXJtaXNzaW9ucxgDIAMoCSLrAQofTGlzdFNlcnZpY2VVc2VyUHJvamVjdHNSZXNwb25zZRI0Cghwcm9qZWN0cxgBIAMoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdBJbCgxhY2Nlc3NfcGFpcnMYAiADKAsyRS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlclByb2plY3RzUmVzcG9uc2UuQWNjZXNzUGFpcho1CgpBY2Nlc3NQYWlyEhIKCnByb2plY3RfaWQYASABKAkSEwoLcGVybWlzc2lvbnMYAiADKAki7QEKHUxpc3RPcmdhbml6YXRpb25Hcm91cHNSZXF1ZXN0EikKBm9yZ19pZBgCIAEoCUIZ+kIWchQQAzIQXltBLVphLXowLTlfLV0rJBJXCgVzdGF0ZRgDIAEoCUJIkkFFMkNUaGUgc3RhdGUgb2YgdGhlIGdyb3VwIHRvIGZpbHRlciBieS4gSXQgY2FuIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuEhEKCWdyb3VwX2lkcxgEIAMoCRIUCgx3aXRoX21lbWJlcnMYBSABKAgSGQoRd2l0aF9tZW1iZXJfY291bnQYBiABKAhKBAgBEAIiUgoeTGlzdE9yZ2FuaXphdGlvbkdyb3Vwc1Jlc3BvbnNlEjAKBmdyb3VwcxgBIAMoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAirwEKHUNyZWF0ZU9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0EkIKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGVSZXF1ZXN0Qm9keUII+kIFigECEAESSgoGb3JnX2lkGAIgASgJQjqSQTMyMVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHJvbGUgYmVsb25ncyB0by7iQQECIk8KHkNyZWF0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZRItCgRyb2xlGAEgASgLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIkEKGkdldE9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAyJMChtHZXRPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2USLQoEcm9sZRgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJ1Ch1VcGRhdGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBIKCgJpZBgBIAEoCRIOCgZvcmdfaWQYAyABKAkSOAoEYm9keRgCIAEoCzIqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZVJlcXVlc3RCb2R5Ik8KHlVwZGF0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZRItCgRyb2xlGAEgASgLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIjEKEExpc3RSb2xlc1JlcXVlc3QSDQoFc3RhdGUYASABKAkSDgoGc2NvcGVzGAIgAygJIkMKEUxpc3RSb2xlc1Jlc3BvbnNlEi4KBXJvbGVzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIlYKHExpc3RPcmdhbml6YXRpb25Sb2xlc1JlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEg0KBXN0YXRlGAIgASgJEg4KBnNjb3BlcxgDIAMoCSJPCh1MaXN0T3JnYW5pemF0aW9uUm9sZXNSZXNwb25zZRIuCgVyb2xlcxgBIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJECh1EZWxldGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBIKCgJpZBgBIAEoCRIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAMiIAoeRGVsZXRlT3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIqsKChdPcmdhbml6YXRpb25SZXF1ZXN0Qm9keRL7AQoEbmFtZRgBIAEoCULsAZJBzQEyygFUaGUgbmFtZSBvZiB0aGUgb3JnYW5pemF0aW9uLiBUaGUgbmFtZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGVudGlyZSBGcm9udGllciBpbnN0YW5jZS4gVGhlIG5hbWUgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy48YnIvPipFeGFtcGxlOipgImZyb250aWVyLW9yZzEtYWNtZSJg4kEBAvpCFHISMhBeW0EtWmEtejAtOS1fXSskErIBCgV0aXRsZRgCIAEoCUKiAZJBngEymwFUaGUgdGl0bGUgY2FuIGNvbnRhaW4gYW55IFVURi04IGNoYXJhY3RlciwgdXNlZCB0byBwcm92aWRlIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIG9yZ2FuaXphdGlvbi4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS48YnIvPiAqRXhhbXBsZSo6IGAiQWNtZSBJbmMiYBLpAwoIbWV0YWRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Qr0DkkG5AzK2A01ldGFkYXRhIG9iamVjdCBmb3Igb3JnYW5pemF0aW9ucyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBkZWZpbmVkIGluIE9yZ2FuaXphdGlvbiBNZXRhc2NoZW1hLiBUaGUgbWV0YWRhdGEgb2JqZWN0IGNhbiBiZSB1c2VkIHRvIHN0b3JlIGFyYml0cmFyeSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgb3JnYW5pemF0aW9uIHN1Y2ggYXMgbGFiZWxzLCBkZXNjcmlwdGlvbnMgZXRjLiBUaGUgZGVmYXVsdCBPcmdhbml6YXRpb24gTWV0YXNjaGVtYSBjb250YWlucyBsYWJlbHMgYW5kIGRlc2NyaXB0b24gZmllbGRzLiBVcGRhdGUgdGhlIE9yZ2FuaXphdGlvbiBNZXRhc2NoZW1hIHRvIGFkZCBtb3JlIGZpZWxkcy4gPGJyLz4qRXhhbXBsZSo6YHsibGFiZWxzIjogeyJrZXkiOiAidmFsdWUifSwgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXphdGlvbiBkZXNjcmlwdGlvbiJ9YBLwAgoGYXZhdGFyGAQgASgJQt8CkkGPAjLTAVRoZSBhdmF0YXIgaXMgYmFzZTY0IGVuY29kZWQgaW1hZ2UgZGF0YSBvZiB0aGUgdXNlci4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS4gVGhlIGltYWdlIHNob3VsZCBiZSBsZXNzIHRoYW4gMjAwS0IuIFNob3VsZCBmb2xsb3cgdGhlIHJlZ2V4IHBhdHRlcm4gYF5kYXRhOmltYWdlLyhwbmd8anBnfGpwZWd8Z2lmKTtiYXNlNjQsKFthLXpBLVowLTkrL10rPXswLDJ9KSskYC5KNyJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQSL6QklyRxiQoQ8yPl5kYXRhOmltYWdlLyhwbmd8anBnfGpwZWd8Z2lmKTtiYXNlNjQsKFthLXpBLVowLTkrL10rPXswLDJ9KSsk0AEBIukDChhMaXN0T3JnYW5pemF0aW9uc1JlcXVlc3QSxwEKB3VzZXJfaWQYASABKAlCtQGSQbEBMq4BVGhlIHVzZXIgSUQgdG8gZmlsdGVyIGJ5LiBJdCBjYW4gYmUgdXNlZCB0byBsaXN0IGFsbCB0aGUgb3JnYW5pemF0aW9ucyB0aGF0IHRoZSB1c2VyIGlzIGEgbWVtYmVyIG9mLiBPdGhlcndpc2UsIGFsbCB0aGUgb3JnYW5pemF0aW9ucyBpbiB0aGUgRnJvbnRpZXIgaW5zdGFuY2Ugd2lsbCBiZSBsaXN0ZWQuEk4KBXN0YXRlGAIgASgJQj+SQTwyOlRoZSBzdGF0ZSB0byBmaWx0ZXIgYnkuIEl0IGNhbiBiZSBgZW5hYmxlZGAgb3IgYGRpc2FibGVkYC4SZQoJcGFnZV9zaXplGAMgASgFQlKSQUYyRFRoZSBtYXhpbXVtIG51bWJlciBvZiB1c2VycyB0byByZXR1cm4gcGVyIHBhZ2UuIFRoZSBkZWZhdWx0IGlzIDEwMDAu+kIGGgQoAUABEkwKCHBhZ2VfbnVtGAQgASgFQjqSQS4yLFRoZSBwYWdlIG51bWJlciB0byByZXR1cm4uIFRoZSBkZWZhdWx0IGlzIDEu+kIGGgQoAUABIlsKGUxpc3RPcmdhbml6YXRpb25zUmVzcG9uc2USPgoNb3JnYW5pemF0aW9ucxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uImcKGUNyZWF0ZU9yZ2FuaXphdGlvblJlcXVlc3QSSgoEYm9keRgBIAEoCzIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uUmVxdWVzdEJvZHlCCPpCBYoBAhABIlsKGkNyZWF0ZU9yZ2FuaXphdGlvblJlc3BvbnNlEj0KDG9yZ2FuaXphdGlvbhgBIAEoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIlgKF0dldE9yZ2FuaXphdGlvblJlc3BvbnNlEj0KDG9yZ2FuaXphdGlvbhgBIAEoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIlsKGlVwZGF0ZU9yZ2FuaXphdGlvblJlc3BvbnNlEj0KDG9yZ2FuaXphdGlvbhgBIAEoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIiQKFkdldE9yZ2FuaXphdGlvblJlcXVlc3QSCgoCaWQYASABKAkiaQoZVXBkYXRlT3JnYW5pemF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRJACgRib2R5GAIgASgLMjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb25SZXF1ZXN0Qm9keSI0Ch1MaXN0T3JnYW5pemF0aW9uQWRtaW5zUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJQCh5MaXN0T3JnYW5pemF0aW9uQWRtaW5zUmVzcG9uc2USLgoFdXNlcnMYASADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIifAocTGlzdE9yZ2FuaXphdGlvblVzZXJzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxIdChFwZXJtaXNzaW9uX2ZpbHRlchgCIAEoCUICGAESEgoKd2l0aF9yb2xlcxgDIAEoCBIUCgxyb2xlX2ZpbHRlcnMYBCADKAki8wEKHUxpc3RPcmdhbml6YXRpb25Vc2Vyc1Jlc3BvbnNlEi4KBXVzZXJzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyElUKCnJvbGVfcGFpcnMYAiADKAsyQS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Vc2Vyc1Jlc3BvbnNlLlJvbGVQYWlyGksKCFJvbGVQYWlyEg8KB3VzZXJfaWQYASABKAkSLgoFcm9sZXMYAiADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGUifAobQWRkT3JnYW5pemF0aW9uVXNlcnNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkgKCHVzZXJfaWRzGAIgAygJQjaSQTMyMUxpc3Qgb2YgdXNlciBJRHMgdG8gYmUgYWRkZWQgdG8gdGhlIG9yZ2FuaXphdGlvbi4iHgocQWRkT3JnYW5pemF0aW9uVXNlcnNSZXNwb25zZSJFCh1SZW1vdmVPcmdhbml6YXRpb25Vc2VyUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxIPCgd1c2VyX2lkGAIgASgJIiAKHlJlbW92ZU9yZ2FuaXphdGlvblVzZXJSZXNwb25zZSI6CiNMaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJkCiRMaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzUmVzcG9uc2USPAoMc2VydmljZXVzZXJzGAEgAygLMiYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXJ2aWNlVXNlciLcAQoiTGlzdE9yZ2FuaXphdGlvbkludml0YXRpb25zUmVxdWVzdBJPCgZvcmdfaWQYASABKAlCP5JBODI2dW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gdG8gd2hpY2ggdXNlciBpcyBpbnZpdGVk4kEBAhJlCgd1c2VyX2lkGAIgASgJQlSSQVEyT3VzZXJfaWQgZmlsdGVyIGlzIHRoZSBlbWFpbCBpZCBvZiB1c2VyIHdobyBhcmUgaW52aXRlZCBpbnNpZGUgdGhlIG9yZ2FuaXphdGlvbi4iYQojTGlzdE9yZ2FuaXphdGlvbkludml0YXRpb25zUmVzcG9uc2USOgoLaW52aXRhdGlvbnMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludml0YXRpb24ihgQKI0NyZWF0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0Ek8KBm9yZ19pZBgBIAEoCUI/kkE4MjZ1bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiB0byB3aGljaCB1c2VyIGlzIGludml0ZWTiQQECEqsBCgh1c2VyX2lkcxgCIAMoCUKYAZJBhgEygwF1c2VyX2lkIGlzIGVtYWlsIGlkIG9mIHVzZXIgd2hvIGFyZSBpbnZpdGVkIGluc2lkZSB0aGUgb3JnYW5pemF0aW9uLiBJZiB1c2VyIGlzIG5vdCByZWdpc3RlcmVkIG9uIHRoZSBwbGF0Zm9ybSwgaXQgd2lsbCBiZSBub3RpZmllZOJBAQL6QgeSAQQIARAKElYKCWdyb3VwX2lkcxgDIAMoCUJDkkFAMj5saXN0IG9mIGdyb3VwIGlkcyB0byB3aGljaCB1c2VyIG5lZWRzIHRvIGJlIGFkZGVkIGFzIGEgbWVtYmVyLhKHAQoIcm9sZV9pZHMYBCADKAlCdZJBcjJwbGlzdCBvZiByb2xlIGlkcyB0byB3aGljaCB1c2VyIG5lZWRzIHRvIGJlIGFkZGVkIGFzIGEgbWVtYmVyLiBSb2xlcyBhcmUgYmluZGVkIGF0IG9yZ2FuaXphdGlvbiBsZXZlbCBieSBkZWZhdWx0LiJiCiRDcmVhdGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2USOgoLaW52aXRhdGlvbnMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludml0YXRpb24iPgogR2V0T3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJIl4KIUdldE9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZRI5CgppbnZpdGF0aW9uGAEgASgLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5JbnZpdGF0aW9uIkEKI0FjY2VwdE9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEg4KBm9yZ19pZBgCIAEoCSImCiRBY2NlcHRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2UiQQojRGVsZXRlT3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJIpUCCh5MaXN0T3JnYW5pemF0aW9uRG9tYWluc1JlcXVlc3QSbAoGb3JnX2lkGAEgASgJQlySQU4yTHVuaXF1ZSBpZCBvZiB0aGUgb3JnYW5pemF0aW9uIGZvciB3aGljaCB3aGl0ZWxpc3RlZCBkb21haW5zIGFyZSB0byBiZSBsaXN0ZWTiQQEC+kIEcgIQAxKEAQoFc3RhdGUYAiABKAlCdZJBcjJwZmlsdGVyIHRvIGxpc3QgZG9tYWlucyBieSB0aGVpciBzdGF0ZSAocGVuZGluZy92ZXJpZmllZCkuIElmIG5vdCBwcm92aWRlZCwgYWxsIGRvbWFpbnMgZm9yIGFuIG9yZyB3aWxsIGJlIGxpc3RlZCJVCh9MaXN0T3JnYW5pemF0aW9uRG9tYWluc1Jlc3BvbnNlEjIKB2RvbWFpbnMYASADKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRvbWFpbiKYAQogTGlzdE9yZ2FuaXphdGlvbnNCeURvbWFpblJlcXVlc3QSdAoEbmFtZRgBIAEoCUJmkkFYMlZkb21haW4gbmFtZSB0byBiZSB1c2VkIHRvIGxpc3QgYWxsIHRoZSBvcmdhbml6YXRpb25zIHRoYXQgaGF2ZSB0aGlzIGRvbWFpbiB3aGl0ZWxpc3RlZOJBAQL6QgRyAhADImMKIUxpc3RPcmdhbml6YXRpb25zQnlEb21haW5SZXNwb25zZRI+Cg1vcmdhbml6YXRpb25zGAEgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb24iMgoXSm9pbk9yZ2FuaXphdGlvblJlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADIhoKGEpvaW5Pcmdhbml6YXRpb25SZXNwb25zZSLSAQocR2V0T3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBJDCgJpZBgBIAEoCUI3kkEpMid1bmlxdWUgaWQgb2YgdGhlIGRvbWFpbiB0byBiZSByZXRyaWV2ZWTiQQEC+kIEcgIQAxJtCgZvcmdfaWQYAiABKAlCXZJBTzJNdW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gZm9yIHdoaWNoIHdoaXRlbGlzdGVkIGRvbWFpbiBpcyB0byBiZSByZXRyaWV2ZWTiQQEC+kIEcgIQAyJSCh1HZXRPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZRIxCgZkb21haW4YASABKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRvbWFpbiLiAQofQ3JlYXRlT3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBJrCgZvcmdfaWQYASABKAlCW5JBTTJLdW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gZm9yIHdoaWNoIHdoaXRlbGlzdGVkIGRvbWFpbnMgYXJlIHRvIGJlIGFkZGVk4kEBAvpCBHICEAMSUgoGZG9tYWluGAIgASgJQkKSQTQyMmRvbWFpbiBuYW1lIHRvIGJlIGFkZGVkIHRvIHRoZSB0cnVzdGVkIGRvbWFpbiBsaXN04kEBAvpCBHICEAMiVQogQ3JlYXRlT3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2USMQoGZG9tYWluGAEgASgLMiEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Eb21haW4i0wEKH0RlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QSQQoCaWQYASABKAlCNZJBJzIldW5pcXVlIGlkIG9mIHRoZSBkb21haW4gdG8gYmUgZGVsZXRlZOJBAQL6QgRyAhADEm0KBm9yZ19pZBgCIAEoCUJdkkFPMk11bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiBmb3Igd2hpY2ggd2hpdGVsaXN0ZWQgZG9tYWlucyBhcmUgdG8gYmUgZGVsZXRlZOJBAQL6QgRyAhADIiIKIERlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlItUBCh9WZXJpZnlPcmdhbml6YXRpb25Eb21haW5SZXF1ZXN0Em4KBm9yZ19pZBgBIAEoCUJekkFQMk51bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiBmb3Igd2hpY2ggd2hpdGVsaXN0ZWQgZG9tYWlucyBhcmUgdG8gYmUgdmVyaWZpZWTiQQEC+kIEcgIQAxJCCgJpZBgCIAEoCUI2kkEoMiZ1bmlxdWUgaWQgb2YgdGhlIGRvbWFpbiB0byBiZSB2ZXJpZmllZOJBAQL6QgRyAhADIjEKIFZlcmlmeU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlEg0KBXN0YXRlGAEgASgJIiYKJERlbGV0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZSInChlFbmFibGVPcmdhbml6YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIhwKGkVuYWJsZU9yZ2FuaXphdGlvblJlc3BvbnNlIigKGkRpc2FibGVPcmdhbml6YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIh0KG0Rpc2FibGVPcmdhbml6YXRpb25SZXNwb25zZSInChlEZWxldGVPcmdhbml6YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIhwKGkRlbGV0ZU9yZ2FuaXphdGlvblJlc3BvbnNlIisKGUdldE9yZ2FuaXphdGlvbkt5Y1JlcXVlc3QSDgoGb3JnX2lkGAEgASgJImIKGkdldE9yZ2FuaXphdGlvbkt5Y1Jlc3BvbnNlEkQKEG9yZ2FuaXphdGlvbl9reWMYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbkt5YyKsBQoSUHJvamVjdFJlcXVlc3RCb2R5EvcBCgRuYW1lGAEgASgJQugBkkHJATLGAVRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0LiBUaGUgbmFtZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGVudGlyZSBGcm9udGllciBpbnN0YW5jZS4gVGhlIG5hbWUgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy48YnIvPiAqRXhhbXBsZToqIGBmcm9udGllci1wbGF5Z3JvdW5kYOJBAQL6QhRyEjIQXltBLVphLXowLTktX10rJBK3AQoFdGl0bGUYAiABKAlCpwGSQaMBMqABVGhlIHRpdGxlIGNhbiBjb250YWluIGFueSBVVEYtOCBjaGFyYWN0ZXIsIHVzZWQgdG8gcHJvdmlkZSBhIGh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSBwcm9qZWN0LiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPiAqRXhhbXBsZToqIGBGcm9udGllciBQbGF5Z3JvdW5kYBKJAQoIbWV0YWRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ql6SQVsyWU1ldGFkYXRhIG9iamVjdCBmb3IgcHJvamVjdHMgdGhhdCBjYW4gaG9sZCBrZXkgdmFsdWUgcGFpcnMgZGVmaW5lZCBpbiBQcm9qZWN0IE1ldGFzY2hlbWEuElYKBm9yZ19pZBgEIAEoCUJGkkE4MjZ1bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiB0byB3aGljaCBwcm9qZWN0IGJlbG9uZ3PiQQEC+kIEcgIQAyJdChRDcmVhdGVQcm9qZWN0UmVxdWVzdBJFCgRib2R5GAEgASgLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0UmVxdWVzdEJvZHlCCPpCBYoBAhABIkwKFUNyZWF0ZVByb2plY3RSZXNwb25zZRIzCgdwcm9qZWN0GAEgASgLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0It8BCh9MaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEosBCgVzdGF0ZRgCIAEoCUJ8kkF5MndGaWx0ZXIgcHJvamVjdHMgYnkgc3RhdGUuIElmIG5vdCBzcGVjaWZpZWQsIGFsbCBwcm9qZWN0cyBhcmUgcmV0dXJuZWQuIDxici8+ICpQb3NzaWJsZSB2YWx1ZXM6KiBgZW5hYmxlZGAgb3IgYGRpc2FibGVkYBIZChF3aXRoX21lbWJlcl9jb3VudBgDIAEoCCJYCiBMaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXNwb25zZRI0Cghwcm9qZWN0cxgBIAMoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdCIfChFHZXRQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCSJJChJHZXRQcm9qZWN0UmVzcG9uc2USMwoHcHJvamVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdCJfChRVcGRhdGVQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCRI7CgRib2R5GAIgASgLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0UmVxdWVzdEJvZHkiTAoVVXBkYXRlUHJvamVjdFJlc3BvbnNlEjMKB3Byb2plY3QYASABKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2plY3QiLwoYTGlzdFByb2plY3RBZG1pbnNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADIksKGUxpc3RQcm9qZWN0QWRtaW5zUmVzcG9uc2USLgoFdXNlcnMYASADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiXQoXTGlzdFByb2plY3RVc2Vyc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSGQoRcGVybWlzc2lvbl9maWx0ZXIYAiABKAkSEgoKd2l0aF9yb2xlcxgDIAEoCCLpAQoYTGlzdFByb2plY3RVc2Vyc1Jlc3BvbnNlEi4KBXVzZXJzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyElAKCnJvbGVfcGFpcnMYAiADKAsyPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0VXNlcnNSZXNwb25zZS5Sb2xlUGFpchpLCghSb2xlUGFpchIPCgd1c2VyX2lkGAEgASgJEi4KBXJvbGVzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIkkKHkxpc3RQcm9qZWN0U2VydmljZVVzZXJzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxISCgp3aXRoX3JvbGVzGAMgASgIIowCCh9MaXN0UHJvamVjdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlEjwKDHNlcnZpY2V1c2VycxgBIAMoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXISVwoKcm9sZV9wYWlycxgCIAMoCzJDLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RTZXJ2aWNlVXNlcnNSZXNwb25zZS5Sb2xlUGFpchpSCghSb2xlUGFpchIWCg5zZXJ2aWNldXNlcl9pZBgBIAEoCRIuCgVyb2xlcxgCIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJDChhMaXN0UHJvamVjdEdyb3Vwc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSEgoKd2l0aF9yb2xlcxgCIAEoCCLuAQoZTGlzdFByb2plY3RHcm91cHNSZXNwb25zZRIwCgZncm91cHMYASADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdyb3VwElEKCnJvbGVfcGFpcnMYAiADKAsyPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0R3JvdXBzUmVzcG9uc2UuUm9sZVBhaXIaTAoIUm9sZVBhaXISEAoIZ3JvdXBfaWQYASABKAkSLgoFcm9sZXMYAiADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGUiIgoURW5hYmxlUHJvamVjdFJlcXVlc3QSCgoCaWQYASABKAkiFwoVRW5hYmxlUHJvamVjdFJlc3BvbnNlIiMKFURpc2FibGVQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCSIYChZEaXNhYmxlUHJvamVjdFJlc3BvbnNlIiIKFERlbGV0ZVByb2plY3RSZXF1ZXN0EgoKAmlkGAEgASgJIhcKFURlbGV0ZVByb2plY3RSZXNwb25zZSKjCAoRUG9saWN5UmVxdWVzdEJvZHkSUgoHcm9sZV9pZBgBIAEoCUJBkkEzMjF1bmlxdWUgaWQgb2YgdGhlIHJvbGUgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVk4kEBAvpCBHICEAMSrwEKBXRpdGxlGAMgASgJQp8BkkGbATKYAVRoZSB0aXRsZSBjYW4gY29udGFpbiBhbnkgVVRGLTggY2hhcmFjdGVyLCB1c2VkIHRvIHByb3ZpZGUgYSBodW1hbi1yZWFkYWJsZSBuYW1lIGZvciB0aGUgcG9saWN5LiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPiAqRXhhbXBsZToqIGBQb2xpY3kgdGl0bGVgErMBCghyZXNvdXJjZRgCIAEoCUKgAZJBkQEyjgFUaGUgcmVzb3VyY2UgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVkIGluIHRoaXMgZm9ybWF0IGBuYW1lc3BhY2U6dXVpZGAuIDxici8+ICpFeGFtcGxlOiogYGFwcC9ndWFyZGlhbjo3MGY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4ZTJg4kEBAvpCBHICEAMS7wIKCXByaW5jaXBhbBgEIAEoCULbApJB0wIy0AJwcmluY2lwYWwgaXMgdGhlIHVzZXIgb3IgZ3JvdXAgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVkLiBUaGUgcHJpbmNpcGFsIGlkIG11c3QgYmUgcHJlZml4ZWQgd2l0aCBpdHMgbmFtZXNwYWNlIGlkIGluIHRoaXMgZm9ybWF0IGBuYW1lc3BhY2U6dXVpZGAuIFRoZSBuYW1lc3BhY2UgY2FuIGJlIGBhcHAvdXNlcmAsIGBhcHAvZ3JvdXBgIG9yIGBhcHAvc2VydmljZXVzZXJgIChjb21pbmcgdXAhKSBhbmQgdXVpZCBpcyB0aGUgdW5pcXVlIGlkIG9mIHRoZSBwcmluY2lwYWwuIDxici8+ICpFeGFtcGxlOiogYGFwcC91c2VyOjkyZjY5YzNhLTMzNGItNGYyNS05MGI4LTRkNGYzYmU2YjgyNWDiQQECEt8BCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCswGSQa8BMqwBTWV0YWRhdGEgb2JqZWN0IGZvciBwb2xpY2llcyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBkZWZpbmVkIGluIFBvbGljeSBNZXRhc2NoZW1hLjxici8+ICpFeGFtcGxlOiogYHsibGFiZWxzIjogeyJrZXkiOiAidmFsdWUifSwgImRlc2NyaXB0aW9uIjogIlBvbGljeSBkZXNjcmlwdGlvbiJ9YCKUBQoaQ3JlYXRlUG9saWN5Rm9yUHJvamVjdEJvZHkSUgoHcm9sZV9pZBgBIAEoCUJBkkEzMjF1bmlxdWUgaWQgb2YgdGhlIHJvbGUgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVk4kEBAvpCBHICEAMSrwEKBXRpdGxlGAIgASgJQp8BkkGbATKYAVRoZSB0aXRsZSBjYW4gY29udGFpbiBhbnkgVVRGLTggY2hhcmFjdGVyLCB1c2VkIHRvIHByb3ZpZGUgYSBodW1hbi1yZWFkYWJsZSBuYW1lIGZvciB0aGUgcG9saWN5LiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPiAqRXhhbXBsZToqIGBQb2xpY3kgdGl0bGVgEu8CCglwcmluY2lwYWwYAyABKAlC2wKSQdMCMtACcHJpbmNpcGFsIGlzIHRoZSB1c2VyIG9yIGdyb3VwIHRvIHdoaWNoIHBvbGljeSBpcyBhc3NpZ25lZC4gVGhlIHByaW5jaXBhbCBpZCBtdXN0IGJlIHByZWZpeGVkIHdpdGggaXRzIG5hbWVzcGFjZSBpZCBpbiB0aGlzIGZvcm1hdCBgbmFtZXNwYWNlOnV1aWRgLiBUaGUgbmFtZXNwYWNlIGNhbiBiZSBgYXBwL3VzZXJgLCBgYXBwL2dyb3VwYCBvciBgYXBwL3NlcnZpY2V1c2VyYCAoY29taW5nIHVwISkgYW5kIHV1aWQgaXMgdGhlIHVuaXF1ZSBpZCBvZiB0aGUgcHJpbmNpcGFsLiA8YnIvPiAqRXhhbXBsZToqIGBhcHAvdXNlcjo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVg4kEBAiIiChRHZXRQZXJtaXNzaW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJSChVHZXRQZXJtaXNzaW9uUmVzcG9uc2USOQoKcGVybWlzc2lvbhgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGVybWlzc2lvbiIYChZMaXN0UGVybWlzc2lvbnNSZXF1ZXN0IlUKF0xpc3RQZXJtaXNzaW9uc1Jlc3BvbnNlEjoKC3Blcm1pc3Npb25zGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QZXJtaXNzaW9uIhcKFUxpc3ROYW1lc3BhY2VzUmVxdWVzdCJSChZMaXN0TmFtZXNwYWNlc1Jlc3BvbnNlEjgKCm5hbWVzcGFjZXMYASADKAsyJC5yYXlzdGFjay5mcm9udGllci52MWJldGExLk5hbWVzcGFjZSIhChNHZXROYW1lc3BhY2VSZXF1ZXN0EgoKAmlkGAEgASgJIk8KFEdldE5hbWVzcGFjZVJlc3BvbnNlEjcKCW5hbWVzcGFjZRgBIAEoCzIkLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTmFtZXNwYWNlIlsKE0NyZWF0ZVBvbGljeVJlcXVlc3QSRAoEYm9keRgBIAEoCzIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5UmVxdWVzdEJvZHlCCPpCBYoBAhABIk8KFENyZWF0ZVBvbGljeVJlc3BvbnNlEjEKBnBvbGljeRgCIAEoCzIhLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5SgQIARACIh4KEEdldFBvbGljeVJlcXVlc3QSCgoCaWQYASABKAkiRgoRR2V0UG9saWN5UmVzcG9uc2USMQoGcG9saWN5GAEgASgLMiEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qb2xpY3kimQIKE0xpc3RQb2xpY2llc1JlcXVlc3QSNgoGb3JnX2lkGAEgASgJQiaSQSMyIVRoZSBvcmdhbml6YXRpb24gaWQgdG8gZmlsdGVyIGJ5LhI1Cgpwcm9qZWN0X2lkGAIgASgJQiGSQR4yHFRoZSBwcm9qZWN0IGlkIHRvIGZpbHRlciBieS4SLwoHdXNlcl9pZBgDIAEoCUIekkEbMhlUaGUgdXNlciBpZCB0byBmaWx0ZXIgYnkuEi8KB3JvbGVfaWQYBCABKAlCHpJBGzIZVGhlIHJvbGUgaWQgdG8gZmlsdGVyIGJ5LhIxCghncm91cF9pZBgFIAEoCUIfkkEcMhpUaGUgZ3JvdXAgaWQgdG8gZmlsdGVyIGJ5LiJLChRMaXN0UG9saWNpZXNSZXNwb25zZRIzCghwb2xpY2llcxgBIAMoCzIhLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5Il0KE1VwZGF0ZVBvbGljeVJlcXVlc3QSCgoCaWQYASABKAkSOgoEYm9keRgCIAEoCzIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5UmVxdWVzdEJvZHkiSwoUVXBkYXRlUG9saWN5UmVzcG9uc2USMwoIcG9saWNpZXMYASADKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBvbGljeSIhChNEZWxldGVQb2xpY3lSZXF1ZXN0EgoKAmlkGAEgASgJIhYKFERlbGV0ZVBvbGljeVJlc3BvbnNlIosBCh1DcmVhdGVQb2xpY3lGb3JQcm9qZWN0UmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgJQgf6QgRyAhADEk0KBGJvZHkYAiABKAsyNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBvbGljeUZvclByb2plY3RCb2R5Qgj6QgWKAQIQASIgCh5DcmVhdGVQb2xpY3lGb3JQcm9qZWN0UmVzcG9uc2UicgoTUmVsYXRpb25SZXF1ZXN0Qm9keRIOCgZvYmplY3QYASABKAkSDwoHc3ViamVjdBgDIAEoCRIQCghyZWxhdGlvbhgEIAEoCRIcChRzdWJqZWN0X3N1Yl9yZWxhdGlvbhgGIAEoCUoECAIQA0oECAUQBiJfChVDcmVhdGVSZWxhdGlvblJlcXVlc3QSRgoEYm9keRgBIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVsYXRpb25SZXF1ZXN0Qm9keUII+kIFigECEAEiTwoWQ3JlYXRlUmVsYXRpb25SZXNwb25zZRI1CghyZWxhdGlvbhgBIAEoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVsYXRpb24iIAoSR2V0UmVsYXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIkwKE0dldFJlbGF0aW9uUmVzcG9uc2USNQoIcmVsYXRpb24YASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbGF0aW9uImEKFVVwZGF0ZVJlbGF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRI8CgRib2R5GAIgASgLMi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZWxhdGlvblJlcXVlc3RCb2R5Ik8KFlVwZGF0ZVJlbGF0aW9uUmVzcG9uc2USNQoIcmVsYXRpb24YASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbGF0aW9uIrkGChBHcm91cFJlcXVlc3RCb2R5Es8BCgRuYW1lGAEgASgJQsABkkGhATKeAVRoZSBuYW1lIG9mIHRoZSBncm91cC4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMu4kEBAvpCFHISMhBeW0EtWmEtejAtOS1fXSskEosBCgV0aXRsZRgCIAEoCUJ8kkF5MndUaGUgdGl0bGUgY2FuIGNvbnRhaW4gYW55IFVURi04IGNoYXJhY3RlciwgdXNlZCB0byBwcm92aWRlIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIGdyb3VwLiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LhK+AwoIbWV0YWRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0QpIDkkGOAzKLA01ldGFkYXRhIG9iamVjdCBmb3IgZ3JvdXBzIHRoYXQgY2FuIGhvbGQga2V5IHZhbHVlIHBhaXJzIGRlZmluZWQgaW4gR3JvdXAgTWV0YXNjaGVtYS4gVGhlIG1ldGFkYXRhIG9iamVjdCBjYW4gYmUgdXNlZCB0byBzdG9yZSBhcmJpdHJhcnkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGdyb3VwIHN1Y2ggYXMgbGFiZWxzLCBkZXNjcmlwdGlvbnMgZXRjLiBUaGUgZGVmYXVsdCBHcm91cCBNZXRhc2NoZW1hIGNvbnRhaW5zIGxhYmVscyBhbmQgZGVzY3JpcHRvbiBmaWVsZHMuIFVwZGF0ZSB0aGUgR3JvdXAgTWV0YXNjaGVtYSB0byBhZGQgbW9yZSBmaWVsZHMuPGJyLz4qRXhhbXBsZToqYHsibGFiZWxzIjogeyJrZXkiOiAidmFsdWUifSwgImRlc2NyaXB0aW9uIjogIkdyb3VwIGRlc2NyaXB0aW9uIn1gSgQIBBAFIqYBChJDcmVhdGVHcm91cFJlcXVlc3QSQwoEYm9keRgBIAEoCzIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXBSZXF1ZXN0Qm9keUII+kIFigECEAESSwoGb3JnX2lkGAIgASgJQjuSQTQyMlRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIGdyb3VwIGJlbG9uZ3MgdG8u4kEBAiJDCg9HZXRHcm91cFJlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJEhQKDHdpdGhfbWVtYmVycxgDIAEoCCJGChNDcmVhdGVHcm91cFJlc3BvbnNlEi8KBWdyb3VwGAEgASgLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cCJDChBHZXRHcm91cFJlc3BvbnNlEi8KBWdyb3VwGAEgASgLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cCJGChNVcGRhdGVHcm91cFJlc3BvbnNlEi8KBWdyb3VwGAEgASgLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cCKoAQoSVXBkYXRlR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJEjkKBGJvZHkYAiABKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdyb3VwUmVxdWVzdEJvZHkSSwoGb3JnX2lkGAMgASgJQjuSQTQyMlRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIGdyb3VwIGJlbG9uZ3MgdG8u4kEBAiJHChVMaXN0R3JvdXBVc2Vyc1JlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJEhIKCndpdGhfcm9sZXMYAyABKAgi5QEKFkxpc3RHcm91cFVzZXJzUmVzcG9uc2USLgoFdXNlcnMYASADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXISTgoKcm9sZV9wYWlycxgCIAMoCzI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEdyb3VwVXNlcnNSZXNwb25zZS5Sb2xlUGFpchpLCghSb2xlUGFpchIPCgd1c2VyX2lkGAEgASgJEi4KBXJvbGVzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIjkKEkVuYWJsZUdyb3VwUmVxdWVzdBIKCgJpZBgBIAEoCRIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAMiFQoTRW5hYmxlR3JvdXBSZXNwb25zZSI6ChNEaXNhYmxlR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAyIWChREaXNhYmxlR3JvdXBSZXNwb25zZSI5ChJEZWxldGVHcm91cFJlcXVlc3QSCgoCaWQYASABKAkSFwoGb3JnX2lkGAIgASgJQgf6QgRyAhADIhUKE0RlbGV0ZUdyb3VwUmVzcG9uc2UiTQoUQWRkR3JvdXBVc2Vyc1JlcXVlc3QSCgoCaWQYASABKAkSFwoGb3JnX2lkGAIgASgJQgf6QgRyAhADEhAKCHVzZXJfaWRzGAMgAygJIhcKFUFkZEdyb3VwVXNlcnNSZXNwb25zZSJOChZSZW1vdmVHcm91cFVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAxIPCgd1c2VyX2lkGAMgASgJIhkKF1JlbW92ZUdyb3VwVXNlclJlc3BvbnNlIlAKFURlbGV0ZVJlbGF0aW9uUmVxdWVzdBIOCgZvYmplY3QYASABKAkSDwoHc3ViamVjdBgCIAEoCRIQCghyZWxhdGlvbhgEIAEoCUoECAMQBCIYChZEZWxldGVSZWxhdGlvblJlc3BvbnNlIlMKG0xpc3RQcm9qZWN0UmVzb3VyY2VzUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAIgASgJQgf6QgRyAhADEhEKCW5hbWVzcGFjZRgEIAEoCUoECAEQAiJWChxMaXN0UHJvamVjdFJlc291cmNlc1Jlc3BvbnNlEjYKCXJlc291cmNlcxgBIAMoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2UitgYKE1Jlc291cmNlUmVxdWVzdEJvZHkScwoEbmFtZRgBIAEoCUJlkkFeMlxUaGUgbmFtZSBvZiB0aGUgcmVzb3VyY2UuICBNdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHByb2plY3QuIDxici8+ICpFeGFtcGxlOiogYG15LXJlc291cmNlYOJBAQISjgEKBXRpdGxlGAIgASgJQn+SQXwyelRoZSB0aXRsZSBjYW4gY29udGFpbiBhbnkgVVRGLTggY2hhcmFjdGVyLCB1c2VkIHRvIHByb3ZpZGUgYSBodW1hbi1yZWFkYWJsZSBuYW1lIGZvciB0aGUgcmVzb3VyY2UuIENhbiBhbHNvIGJlIGxlZnQgZW1wdHkuEvIBCgluYW1lc3BhY2UYAyABKAlC3gGSQdYBMtMBVGhlIG5hbWVzcGFjZSBvZiB0aGUgcmVzb3VyY2UuIFRoZSByZXNvdXJjZSBuYW1lc3BhY2UgYXJlIGNyZWF0ZWQgd2hlbiBwZXJtaXNzaW9ucyBmb3IgdGhhdCByZXNvdXJjZSBpcyBjcmVhdGVkIGluIEZyb250aWVyLiBJZiBuYW1lc3BhY2UgZG9lc24ndCBleGlzdHMgdGhlIHJlcXVlc3Qgd2lsbCBmYWlsLiA8YnIvPiAqRXhhbXBsZToqIGBjb21wdXRlL2luc3RhbmNlYOJBAQIS7AEKCXByaW5jaXBhbBgGIAEoCULYAZJB1AEy0QFVc2VySUQgb3IgU2VydmljZVVzZXJJRCB0aGF0IHNob3VsZCBiZSBtYXJrZWQgYXMgb3duZXIgb2YgdGhlIHJlc291cmNlLiBJZiBub3QgcHJvdmlkZWQsIHRoZSBjdXJyZW50IGxvZ2dlZCBpbiB1c2VyIHdpbGwgYmUgbWFkZSB0aGUgcmVzb3VyY2Ugb3duZXIuIDxici8+ICpFeGFtcGxlOiogYHVzZXI6OTJmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiODI1YBIpCghtZXRhZGF0YRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RKBAgEEAVKBAgFEAYipgEKHENyZWF0ZVByb2plY3RSZXNvdXJjZVJlcXVlc3QSRgoEYm9keRgBIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2VSZXF1ZXN0Qm9keUII+kIFigECEAESEgoKcHJvamVjdF9pZBgCIAEoCRIqCgJpZBgDIAEoCUIekkEbMhlBdXRvZ2VuZXJhdGVkIGlmIHNraXBwZWQuIlYKHUNyZWF0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlEjUKCHJlc291cmNlGAEgASgLMiMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZXNvdXJjZSJKChlHZXRQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0EgoKAmlkGAEgASgJEhsKCnByb2plY3RfaWQYAyABKAlCB/pCBHICEANKBAgCEAMiUwoaR2V0UHJvamVjdFJlc291cmNlUmVzcG9uc2USNQoIcmVzb3VyY2UYASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlc291cmNlInwKHFVwZGF0ZVByb2plY3RSZXNvdXJjZVJlcXVlc3QSCgoCaWQYASABKAkSPAoEYm9keRgCIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2VSZXF1ZXN0Qm9keRISCgpwcm9qZWN0X2lkGAMgASgJIlYKHVVwZGF0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlEjUKCHJlc291cmNlGAEgASgLMiMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZXNvdXJjZSJHChxEZWxldGVQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0EgoKAmlkGAEgASgJEhsKCnByb2plY3RfaWQYAyABKAlCB/pCBHICEAMiHwodRGVsZXRlUHJvamVjdFJlc291cmNlUmVzcG9uc2UigwYKHkNoZWNrUmVzb3VyY2VQZXJtaXNzaW9uUmVxdWVzdBJDCglvYmplY3RfaWQYASABKAlCMBgBkkErMilEZXByZWNhdGVkLiBVc2UgYHJlc291cmNlYCBmaWVsZCBpbnN0ZWFkLhJKChBvYmplY3RfbmFtZXNwYWNlGAIgASgJQjAYAZJBKzIpRGVwcmVjYXRlZC4gVXNlIGByZXNvdXJjZWAgZmllbGQgaW5zdGVhZC4SjAEKCnBlcm1pc3Npb24YAyABKAlCeJJBWTJXdGhlIHBlcm1pc3Npb24gbmFtZSB0byBjaGVjay4gPGJyLz4gKkV4YW1wbGU6KiBgZ2V0YCwgYGxpc3RgLCBgY29tcHV0ZS5pbnN0YW5jZS5jcmVhdGVg4kEBAvpCFXITMhFeW0EtWmEtejAtOS5fLV0rJBLAAwoIcmVzb3VyY2UYBCABKAlCrQOSQakDMqYDYG5hbWVzcGFjZTp1dWlkYCBvciBgbmFtZXNwYWNlOm5hbWVgIG9mIHRoZSBvcmcgb3IgcHJvamVjdCwgYW5kIGBuYW1lc3BhY2U6dXJuYCBvZiBhIHJlc291cmNlIHVuZGVyIGEgcHJvamVjdC4gSW4gY2FzZSBvZiBhbiBvcmcvcHJvamVjdCBlaXRoZXIgcHJvdmlkZSB0aGUgY29tcGxldGUgbmFtZXNwYWNlIChhcHAvb3JnYW5pemF0aW9uKSBvciBGcm9udGllciBjYW4gYWxzbyBwYXJzZSBhbGlhc2VzIGZvciB0aGUgc2FtZSBhcyBgb3JnYCBvciBgcHJvamVjdGAuIDxici8+ICpFeGFtcGxlOiogYG9yZ2FuaXphdGlvbjo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVgIG9yIGBhcHAvcHJvamVjdDpwcm9qZWN0LW5hbWVgIG9yIGBjb21wdXRlL2luc3RhbmNlOjkyZjY5YzNhLTMzNGItNGYyNS05MGI4LTRkNGYzYmU2YjgyNWAiMQofQ2hlY2tSZXNvdXJjZVBlcm1pc3Npb25SZXNwb25zZRIOCgZzdGF0dXMYASABKAgibgobQmF0Y2hDaGVja1Blcm1pc3Npb25SZXF1ZXN0Ek8KBmJvZGllcxgBIAMoCzIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmF0Y2hDaGVja1Blcm1pc3Npb25Cb2R5Qgr6QgeSAQQIARAUItIEChhCYXRjaENoZWNrUGVybWlzc2lvbkJvZHkScwoKcGVybWlzc2lvbhgBIAEoCUJfkkFAMj50aGUgcGVybWlzc2lvbiBuYW1lIHRvIGNoZWNrLiA8YnIvPiAqRXhhbXBsZToqIGBnZXRgIG9yIGBsaXN0YOJBAQL6QhVyEzIRXltBLVphLXowLTkuXy1dKyQSwAMKCHJlc291cmNlGAIgASgJQq0DkkGpAzKmA2BuYW1lc3BhY2U6dXVpZGAgb3IgYG5hbWVzcGFjZTpuYW1lYCBvZiB0aGUgb3JnIG9yIHByb2plY3QsIGFuZCBgbmFtZXNwYWNlOnVybmAgb2YgYSByZXNvdXJjZSB1bmRlciBhIHByb2plY3QuIEluIGNhc2Ugb2YgYW4gb3JnL3Byb2plY3QgZWl0aGVyIHByb3ZpZGUgdGhlIGNvbXBsZXRlIG5hbWVzcGFjZSAoYXBwL29yZ2FuaXphdGlvbikgb3IgRnJvbnRpZXIgY2FuIGFsc28gcGFyc2UgYWxpYXNlcyBmb3IgdGhlIHNhbWUgYXMgYG9yZ2Agb3IgYHByb2plY3RgLiA8YnIvPiAqRXhhbXBsZToqIGBvcmdhbml6YXRpb246OTJmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiODI1YCBvciBgYXBwL3Byb2plY3Q6cHJvamVjdC1uYW1lYCBvciBgY29tcHV0ZS9pbnN0YW5jZTo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVgImoKHEJhdGNoQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2USSgoFcGFpcnMYASADKAsyOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJhdGNoQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2VQYWlyInUKIEJhdGNoQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2VQYWlyEkEKBGJvZHkYASABKAsyMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJhdGNoQ2hlY2tQZXJtaXNzaW9uQm9keRIOCgZzdGF0dXMYAiABKAgioQMKFU1ldGFTY2hlbWFSZXF1ZXN0Qm9keRLUAQoEbmFtZRgBIAEoCULFAZJBpgEyowFUaGUgbmFtZSBvZiB0aGUgbWV0YXNjaGVtYS4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMu4kEBAvpCFHISMhBeW0EtWmEtejAtOS1fXSskErABCgZzY2hlbWEYAiABKAlCnwGSQZABMo0BVGhlIHNjaGVtYSBvZiB0aGUgbWV0YXNjaGVtYS4gVGhlIHNjaGVtYSBtdXN0IGJlIGEgdmFsaWQgSlNPTiBzY2hlbWEuUGxlYXNlIHJlZmVyIHRvIGh0dHBzOi8vanNvbi1zY2hlbWEub3JnLyB0byBrbm93IG1vcmUgYWJvdXQganNvbiBzY2hlbWEu4kEBAvpCBHICEAIiYwoXQ3JlYXRlTWV0YVNjaGVtYVJlcXVlc3QSSAoEYm9keRgBIAEoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYVJlcXVlc3RCb2R5Qgj6QgWKAQIQASJVChhDcmVhdGVNZXRhU2NoZW1hUmVzcG9uc2USOQoKbWV0YXNjaGVtYRgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYSIiChRHZXRNZXRhU2NoZW1hUmVxdWVzdBIKCgJpZBgBIAEoCSJSChVHZXRNZXRhU2NoZW1hUmVzcG9uc2USOQoKbWV0YXNjaGVtYRgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYSJvChdVcGRhdGVNZXRhU2NoZW1hUmVxdWVzdBIKCgJpZBgBIAEoCRJICgRib2R5GAIgASgLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5NZXRhU2NoZW1hUmVxdWVzdEJvZHlCCPpCBYoBAhABIlUKGFVwZGF0ZU1ldGFTY2hlbWFSZXNwb25zZRI5CgptZXRhc2NoZW1hGAEgASgLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5NZXRhU2NoZW1hIiUKF0RlbGV0ZU1ldGFTY2hlbWFSZXF1ZXN0EgoKAmlkGAEgASgJIhoKGERlbGV0ZU1ldGFTY2hlbWFSZXNwb25zZSIYChZMaXN0TWV0YVNjaGVtYXNSZXF1ZXN0IlUKF0xpc3RNZXRhU2NoZW1hc1Jlc3BvbnNlEjoKC21ldGFzY2hlbWFzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5NZXRhU2NoZW1hItABCiBMaXN0T3JnYW5pemF0aW9uQXVkaXRMb2dzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSDgoGc291cmNlGAUgASgJEg4KBmFjdGlvbhgGIAEoCRIVCg1pZ25vcmVfc3lzdGVtGAcgASgIEi4KCnN0YXJ0X3RpbWUYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZF90aW1lGAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJWCiFMaXN0T3JnYW5pemF0aW9uQXVkaXRMb2dzUmVzcG9uc2USMQoEbG9ncxgBIAMoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXVkaXRMb2ciegoiQ3JlYXRlT3JnYW5pemF0aW9uQXVkaXRMb2dzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSOwoEbG9ncxgCIAMoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXVkaXRMb2dCCPpCBZIBAggBIiUKI0NyZWF0ZU9yZ2FuaXphdGlvbkF1ZGl0TG9nc1Jlc3BvbnNlIk4KHkdldE9yZ2FuaXphdGlvbkF1ZGl0TG9nUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSEwoCaWQYAiABKAlCB/pCBHICEAMiUwofR2V0T3JnYW5pemF0aW9uQXVkaXRMb2dSZXNwb25zZRIwCgNsb2cYASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1ZGl0TG9nIhwKGkRlc2NyaWJlUHJlZmVyZW5jZXNSZXF1ZXN0IlkKG0Rlc2NyaWJlUHJlZmVyZW5jZXNSZXNwb25zZRI6CgZ0cmFpdHMYASADKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2VUcmFpdCKHAQokQ3JlYXRlT3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkoKBmJvZGllcxgCIAMoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZVJlcXVlc3RCb2R5Qgj6QgWSAQIIASJjCiVDcmVhdGVPcmdhbml6YXRpb25QcmVmZXJlbmNlc1Jlc3BvbnNlEjoKC3ByZWZlcmVuY2VzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlIjkKIkxpc3RPcmdhbml6YXRpb25QcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMiYQojTGlzdE9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UiggEKH0NyZWF0ZVByb2plY3RQcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSSgoGYm9kaWVzGAIgAygLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlUmVxdWVzdEJvZHlCCPpCBZIBAggBIl4KIENyZWF0ZVByb2plY3RQcmVmZXJlbmNlc1Jlc3BvbnNlEjoKC3ByZWZlcmVuY2VzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlIjQKHUxpc3RQcm9qZWN0UHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADIlwKHkxpc3RQcm9qZWN0UHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSKAAQodQ3JlYXRlR3JvdXBQcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSSgoGYm9kaWVzGAIgAygLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlUmVxdWVzdEJvZHlCCPpCBZIBAggBIlwKHkNyZWF0ZUdyb3VwUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSIyChtMaXN0R3JvdXBQcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMiWgocTGlzdEdyb3VwUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSJ/ChxDcmVhdGVVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkoKBmJvZGllcxgCIAMoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZVJlcXVlc3RCb2R5Qgj6QgWSAQIIASJbCh1DcmVhdGVVc2VyUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSIxChpMaXN0VXNlclByZWZlcmVuY2VzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJZChtMaXN0VXNlclByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UicQojQ3JlYXRlQ3VycmVudFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QSSgoGYm9kaWVzGAIgAygLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlUmVxdWVzdEJvZHlCCPpCBZIBAggBImIKJENyZWF0ZUN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSIjCiFMaXN0Q3VycmVudFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QiYAoiTGlzdEN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSJICh1CaWxsaW5nV2ViaG9va0NhbGxiYWNrUmVxdWVzdBIZCghwcm92aWRlchgBIAEoCUIH+kIEcgIQARIMCgRib2R5GAIgASgMIiAKHkJpbGxpbmdXZWJob29rQ2FsbGJhY2tSZXNwb25zZSKEBAobQ3JlYXRlUHJvc3BlY3RQdWJsaWNSZXF1ZXN0Ej4KBG5hbWUYASABKAlCMJJBFzIVZnVsbCBuYW1lIG9mIHRoZSB1c2Vy+kITchEyDF5bQS1aYS16IF0rJNABARIyCgVlbWFpbBgFIAEoCUIjkkETMhFlbWFpbCBvZiB0aGUgdXNlcuJBAQL6QgZyBBABYAESLAoFcGhvbmUYBiABKAlCHZJBGjIYcGhvbmUgbnVtYmVyIG9mIHRoZSB1c2VyEoABCghhY3Rpdml0eRgHIAEoCUJukkFOMkxhY3Rpdml0eSBmb3Igd2hpY2ggdXNlciBpcyBzdWJzY3JpYmluZywgZS5nLiBuZXdzbGV0dGVyLCB3YWl0bGlzdCwgYmxvZ3MgZXRj4kEBAvpCFnIUEAEyEF5bQS1aYS16MC05LV9dKyQSbQoGc291cmNlGAkgASgJQl2SQUAyPnNvdXJjZSBvZiB0aGlzIHVzZXIgYWRkaXRpb24gZS5nLiBwbGF0Zm9ybSwgd2Vic2l0ZSwgYWRtaW4gZXRj+kIXchUyEF5bQS1aYS16MC05LV9dKyTQAQESUQoIbWV0YWRhdGEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0QiaSQSMyIWFkZGl0aW9uYWwgaW5mbyBhcyBrZXkgdmFsdWUgcGFpciIeChxDcmVhdGVQcm9zcGVjdFB1YmxpY1Jlc3BvbnNlIhUKE0xpc3RTZXNzaW9uc1JlcXVlc3QiTAoUTGlzdFNlc3Npb25zUmVzcG9uc2USNAoIc2Vzc2lvbnMYASADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlc3Npb24iOAoUUmV2b2tlU2Vzc2lvblJlcXVlc3QSIAoKc2Vzc2lvbl9pZBgBIAEoCUIM4kEBAvpCBXIDsAEBIhcKFVJldm9rZVNlc3Npb25SZXNwb25zZSIYChZQaW5nVXNlclNlc3Npb25SZXF1ZXN0IhkKF1BpbmdVc2VyU2Vzc2lvblJlc3BvbnNlIrEDChhDcmVhdGVBdWRpdFJlY29yZFJlcXVlc3QSQAoFYWN0b3IYASABKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1ZGl0UmVjb3JkQWN0b3JCBOJBAQISGgoFZXZlbnQYAiABKAlCC+JBAQL6QgRyAhADEkYKCHJlc291cmNlGAMgASgLMi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdWRpdFJlY29yZFJlc291cmNlQgTiQQECEjwKBnRhcmdldBgEIAEoCzIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXVkaXRSZWNvcmRUYXJnZXQSNQoLb2NjdXJyZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgTiQQECEhgKBm9yZ19pZBgGIAEoCUII+kIFcgOwAQESDgoGcmVxX2lkGAcgASgJEikKCG1ldGFkYXRhGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIlCg9pZGVtcG90ZW5jeV9rZXkYCSABKAlCDOJBAQL6QgVyA7ABASJZChlDcmVhdGVBdWRpdFJlY29yZFJlc3BvbnNlEjwKDGF1ZGl0X3JlY29yZBgBIAEoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXVkaXRSZWNvcmQyxpkDCg9Gcm9udGllclNlcnZpY2US6AIKCUxpc3RVc2VycxIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJzUmVxdWVzdBosLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJzUmVzcG9uc2Ui/wGSQeUBCgRVc2VyEhFMaXN0IHB1YmxpYyB1c2VycxrJAVJldHVybnMgdGhlIHVzZXJzIGZyb20gYWxsIHRoZSBvcmdhbml6YXRpb25zIGluIGEgRnJvbnRpZXIgaW5zdGFuY2UuIEl0IGNhbiBiZSBmaWx0ZXJlZCBieSBrZXl3b3JkLCBvcmdhbml6YXRpb24sIGdyb3VwIGFuZCBzdGF0ZS4gQWRkaXRpb25hbGx5IHlvdSBjYW4gaW5jbHVkZSBwYWdlIG51bWJlciBhbmQgcGFnZSBzaXplIGZvciBwYWdpbmF0aW9uLoLT5JMCEBIOL3YxYmV0YTEvdXNlcnMSuwYKCkNyZWF0ZVVzZXISLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVVzZXJSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVVc2VyUmVzcG9uc2UizwWSQa8FCgRVc2VyEgtDcmVhdGUgdXNlchqXBUNyZWF0ZSBhIHVzZXIgd2l0aCB0aGUgZ2l2ZW4gZGV0YWlscy4gQSB1c2VyIGlzIG5vdCBhdHRhY2hlZCB0byBhbiBvcmdhbml6YXRpb24gb3IgYSBncm91cCBieSBkZWZhdWx0LGFuZCBjYW4gYmUgaW52aXRlZCB0byB0aGUgb3JnL2dyb3VwLiBUaGUgbmFtZSBvZiB0aGUgdXNlciBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGVudGlyZSBGcm9udGllciBpbnN0YW5jZS4gSWYgYSB1c2VyIG5hbWUgaXMgbm90IHByb3ZpZGVkLCBGcm9udGllciBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBhIG5hbWUgZnJvbSB0aGUgdXNlciBlbWFpbC4gVGhlIHVzZXIgbWV0YWRhdGEgaXMgdmFsaWRhdGVkIGFnYWluc3QgdGhlIHVzZXIgbWV0YXNjaGVtYS4gQnkgZGVmYXVsdCB0aGUgdXNlciBtZXRhc2NoZW1hIGNvbnRhaW5zIGBsYWJlbHNgIGFuZCBgZGVzY3JpcHRpb25zYCBmb3IgdGhlIHVzZXIuIFRoZSBgdGl0bGVgIGZpZWxkIGNhbiBiZSBvcHRpb25hbGx5IGFkZGVkIGZvciBhIHVzZXItZnJpZW5kbHkgbmFtZS4gPGJyLz48YnIvPipFeGFtcGxlOipgeyJlbWFpbCI6ImpvaG4uZG9lQHJheXN0YWNrLm9yZyIsInRpdGxlIjoiSm9obiBEb2UiLG1ldGFkYXRhOnsibGFiZWwiOiB7ImtleTEiOiAidmFsdWUxIn0sICJkZXNjcmlwdGlvbiI6ICJVc2VyIERlc2NyaXB0aW9uIn19YGIAgtPkkwIWIg4vdjFiZXRhMS91c2VyczoEYm9keRLPAQoHR2V0VXNlchIpLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0VXNlclJlcXVlc3QaKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFVzZXJSZXNwb25zZSJtkkFPCgRVc2VyEghHZXQgdXNlcho9R2V0IGEgdXNlciBieSBpZCBzZWFyY2hlZCBvdmVyIGFsbCBvcmdhbml6YXRpb25zIGluIEZyb250aWVyLoLT5JMCFRITL3YxYmV0YTEvdXNlcnMve2lkfRLqAgoOTGlzdFVzZXJHcm91cHMSMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VyR3JvdXBzUmVxdWVzdBoxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJHcm91cHNSZXNwb25zZSLyAZJBzAEKBFVzZXISEExpc3QgdXNlciBncm91cHMasQFMaXN0cyBhbGwgdGhlIGdyb3VwcyBhIHVzZXIgYmVsb25ncyB0byBhY3Jvc3MgYWxsIG9yZ2FuaXphdGlvbiBpbiBGcm9udGllci4gVG8gZ2V0IHRoZSBncm91cHMgb2YgYSB1c2VyIGluIGEgc3BlY2lmaWMgb3JnYW5pemF0aW9uLCB1c2UgdGhlIG9yZ19pZCBmaWx0ZXIgaW4gdGhlIHF1ZXJ5IHBhcmFtZXRlci6C0+STAhwSGi92MWJldGExL3VzZXJzL3tpZH0vZ3JvdXBzEscBChVMaXN0Q3VycmVudFVzZXJHcm91cHMSNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckdyb3Vwc1JlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckdyb3Vwc1Jlc3BvbnNlIjuSQRYKBFVzZXISDkxpc3QgbXkgZ3JvdXBzgtPkkwIcEhovdjFiZXRhMS91c2Vycy9zZWxmL2dyb3VwcxKtAQoOR2V0Q3VycmVudFVzZXISMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEN1cnJlbnRVc2VyUmVxdWVzdBoxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0Q3VycmVudFVzZXJSZXNwb25zZSI2kkEYCgRVc2VyEhBHZXQgY3VycmVudCB1c2VygtPkkwIVEhMvdjFiZXRhMS91c2Vycy9zZWxmEqIBCgpVcGRhdGVVc2VyEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVVc2VyUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlVXNlclJlc3BvbnNlIjeSQRMKBFVzZXISC1VwZGF0ZSB1c2VygtPkkwIbGhMvdjFiZXRhMS91c2Vycy97aWR9OgRib2R5Er8BChFVcGRhdGVDdXJyZW50VXNlchIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlQ3VycmVudFVzZXJSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVDdXJyZW50VXNlclJlc3BvbnNlIj+SQRsKBFVzZXISE1VwZGF0ZSBjdXJyZW50IHVzZXKC0+STAhsaEy92MWJldGExL3VzZXJzL3NlbGY6BGJvZHkSkQIKCkVuYWJsZVVzZXISLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZVVzZXJSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVVc2VyUmVzcG9uc2UipQGSQX0KBFVzZXISC0VuYWJsZSB1c2VyGmhTZXRzIHRoZSBzdGF0ZSBvZiB0aGUgdXNlciBhcyBlbmFibGVkLiBUaGUgdXNlciB3aWxsIGJlIGFibGUgdG8gbG9nIGluIGFuZCBhY2Nlc3MgdGhlIEZyb250aWVyIGluc3RhbmNlLoLT5JMCHyIaL3YxYmV0YTEvdXNlcnMve2lkfS9lbmFibGU6ASoSkAMKC0Rpc2FibGVVc2VyEi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlVXNlclJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVVc2VyUmVzcG9uc2UioQKSQfcBCgRVc2VyEgxEaXNhYmxlIHVzZXIa4AFTZXRzIHRoZSBzdGF0ZSBvZiB0aGUgdXNlciBhcyBkaWFibGVkLlRoZSB1c2VyJ3MgbWVtYmVyc2hpcCB0byBncm91cHMgYW5kIG9yZ2FuaXphdGlvbnMgd2lsbCBzdGlsbCBleGlzdCBhbG9uZyB3aXRoIGFsbCBpdCdzIHJvbGVzIGZvciBhY2Nlc3MgY29udHJvbCwgYnV0IHRoZSB1c2VyIHdpbGwgbm90IGJlIGFibGUgdG8gbG9nIGluIGFuZCBhY2Nlc3MgdGhlIEZyb250aWVyIGluc3RhbmNlLoLT5JMCICIbL3YxYmV0YTEvdXNlcnMve2lkfS9kaXNhYmxlOgEqEvcBCgpEZWxldGVVc2VyEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVVc2VyUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlVXNlclJlc3BvbnNlIosBkkFtCgRVc2VyEgtEZWxldGUgdXNlchpYRGVsZXRlIGFuIHVzZXIgcGVybWFuZW50bHkgZm9yZXZlciBhbmQgYWxsIG9mIGl0cyByZWxhdGlvbnMgKG9yZ2FuaXphdGlvbnMsIGdyb3VwcywgZXRjKYLT5JMCFSoTL3YxYmV0YTEvdXNlcnMve2lkfRL/BAoXTGlzdE9yZ2FuaXphdGlvbnNCeVVzZXISOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25zQnlVc2VyUmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNCeVVzZXJSZXNwb25zZSLsA5JBvwMKBFVzZXISFkdldCB1c2VyIG9yZ2FuaXphdGlvbnMangNUaGlzIEFQSSByZXR1cm5zIHR3byBsaXN0IG9mIG9yZ2FuaXphdGlvbnMgZm9yIHRoZSB1c2VyLiBpKSBUaGUgbGlzdCBvZiBvcmdzIHdoaWNoIHRoZSBjdXJyZW50IHVzZXIgaXMgYWxyZWFkeSBhIHBhcnQgb2YgaWkpIFRoZSBsaXN0IG9mIG9yZ2FuaXphdGlvbnMgdGhlIHVzZXIgY2FuIGpvaW4gZGlyZWN0bHkgKGJhc2VkIG9uIGRvbWFpbiB3aGl0ZWxpc3RlZCBhbmQgdmVyaWZpZWQgYnkgdGhlIG9yZykuIFRoaXMgbGlzdCB3aWxsIGFsc28gY29udGFpbiBvcmdzIG9mIHdoaWNoIHVzZXIgaXMgYWxyZWFkeSBhIHBhcnQgb2YuIE5vdGU6IHRoZSBkb21haW4gbmVlZHMgdG8gYmUgdmVyaWZpZWQgYnkgdGhlIG9yZyBiZWZvcmUgdGhlIGl0IGlzIHJldHVybmVkIGFzIG9uZSBvZiB0aGUgam9pbmFibGUgb3JncyBieSBkb21haW6C0+STAiMSIS92MWJldGExL3VzZXJzL3tpZH0vb3JnYW5pemF0aW9ucxKkBQoeTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyEkAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uc0J5Q3VycmVudFVzZXJSZXF1ZXN0GkEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uc0J5Q3VycmVudFVzZXJSZXNwb25zZSL8A5JBzwMKBFVzZXISFEdldCBteSBvcmdhbml6YXRpb25zGrADVGhpcyBBUEkgcmV0dXJucyB0d28gbGlzdCBvZiBvcmdhbml6YXRpb25zIGZvciB0aGUgY3VycmVudCBsb2dnZWQgaW4gdXNlci4gaSkgVGhlIGxpc3Qgb2Ygb3JncyB3aGljaCB0aGUgY3VycmVudCB1c2VyIGlzIGFscmVhZHkgYSBwYXJ0IG9mIGlpKSBUaGUgbGlzdCBvZiBvcmdhbml6YXRpb25zIHRoZSB1c2VyIGNhbiBqb2luIGRpcmVjdGx5IChiYXNlZCBvbiBkb21haW4gd2hpdGVsaXN0ZWQgYW5kIHZlcmlmaWVkIGJ5IHRoZSBvcmcpLiBUaGlzIGxpc3Qgd2lsbCBhbHNvIGNvbnRhaW4gb3JncyBvZiB3aGljaCB1c2VyIGlzIGFscmVhZHkgYSBwYXJ0IG9mLiBOb3RlOiB0aGUgZG9tYWluIG5lZWRzIHRvIGJlIHZlcmlmaWVkIGJ5IHRoZSBvcmcgYmVmb3JlIHRoZSBpdCBpcyByZXR1cm5lZCBhcyBvbmUgb2YgdGhlIGpvaW5hYmxlIG9yZ3MgYnkgZG9tYWlugtPkkwIjEiEvdjFiZXRhMS91c2Vycy9zZWxmL29yZ2FuaXphdGlvbnMS7AEKEkxpc3RQcm9qZWN0c0J5VXNlchI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RzQnlVc2VyUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RzQnlVc2VyUmVzcG9uc2UiaZJBQgoEVXNlchIRR2V0IHVzZXIgcHJvamVjdHMaJ0dldCBhbGwgdGhlIHByb2plY3RzIGEgdXNlciBiZWxvbmdzIHRvLoLT5JMCHhIcL3YxYmV0YTEvdXNlcnMve2lkfS9wcm9qZWN0cxKEAgoZTGlzdFByb2plY3RzQnlDdXJyZW50VXNlchI7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RzQnlDdXJyZW50VXNlclJlcXVlc3QaPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0c0J5Q3VycmVudFVzZXJSZXNwb25zZSJskkFFCgRVc2VyEg9HZXQgbXkgcHJvamVjdHMaLEdldCBhbGwgcHJvamVjdHMgdGhlIGN1cnJlbnQgdXNlciBiZWxvbmdzIHRvgtPkkwIeEhwvdjFiZXRhMS91c2Vycy9zZWxmL3Byb2plY3RzEvcBChNMaXN0VXNlckludml0YXRpb25zEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlckludml0YXRpb25zUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJJbnZpdGF0aW9uc1Jlc3BvbnNlInGSQUcKBFVzZXISFUxpc3QgdXNlciBpbnZpdGF0aW9ucxooTGlzdCBhbGwgdGhlIGludml0YXRpb25zIHNlbnQgdG8gYSB1c2VyLoLT5JMCIRIfL3YxYmV0YTEvdXNlcnMve2lkfS9pbnZpdGF0aW9ucxKSAgoaTGlzdEN1cnJlbnRVc2VySW52aXRhdGlvbnMSPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckludml0YXRpb25zUmVxdWVzdBo9LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEN1cnJlbnRVc2VySW52aXRhdGlvbnNSZXNwb25zZSJ3kkFNCgRVc2VyEhVMaXN0IHVzZXIgaW52aXRhdGlvbnMaLkxpc3QgYWxsIHRoZSBpbnZpdGF0aW9ucyBzZW50IHRvIGN1cnJlbnQgdXNlci6C0+STAiESHy92MWJldGExL3VzZXJzL3NlbGYvaW52aXRhdGlvbnMSqAIKEExpc3RTZXJ2aWNlVXNlcnMSMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlcnNSZXF1ZXN0GjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJzUmVzcG9uc2UiqgGSQYkBCgtTZXJ2aWNlVXNlchIWTGlzdCBvcmcgc2VydmljZSB1c2VycxpiUmV0dXJucyB0aGUgc2VydmljZSB1c2VyIG9mIGFuIG9yZ2FuaXphdGlvbiBpbiBhIEZyb250aWVyIGluc3RhbmNlLiBJdCBjYW4gYmUgZmlsdGVyIGJ5IGl0J3Mgc3RhdGWC0+STAhcSFS92MWJldGExL3NlcnZpY2V1c2VycxL0AQoRQ3JlYXRlU2VydmljZVVzZXISMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJSZXNwb25zZSJ0kkE6CgtTZXJ2aWNlVXNlchITQ3JlYXRlIHNlcnZpY2UgdXNlchoWQ3JlYXRlIGEgc2VydmljZSB1c2VyLoLT5JMCMSIsL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnM6ASoS+AEKDkdldFNlcnZpY2VVc2VyEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTZXJ2aWNlVXNlclJlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFNlcnZpY2VVc2VyUmVzcG9uc2UigAGSQUQKC1NlcnZpY2VVc2VyEhBHZXQgc2VydmljZSB1c2VyGiNHZXQgc2VydmljZSB1c2VyIGRldGFpbHMgYnkgaXRzIGlkLoLT5JMCMxIxL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfRK+AgoRRGVsZXRlU2VydmljZVVzZXISMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VyUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJSZXNwb25zZSK9AZJBgAEKC1NlcnZpY2VVc2VyEhNEZWxldGUgc2VydmljZSB1c2VyGlxEZWxldGUgYSBzZXJ2aWNlIHVzZXIgcGVybWFuZW50bHkgYW5kIGFsbCBvZiBpdHMgcmVsYXRpb25zIChrZXlzLCBvcmdhbml6YXRpb25zLCByb2xlcywgZXRjKYLT5JMCMyoxL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfRKYAwoUQ3JlYXRlU2VydmljZVVzZXJKV0sSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VySldLUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJKV0tSZXNwb25zZSKOApJByQEKC1NlcnZpY2VVc2VyEitDcmVhdGUgc2VydmljZSB1c2VyIHB1YmxpYy9wcml2YXRlIGtleSBwYWlyGowBR2VuZXJhdGUgYSBzZXJ2aWNlIHVzZXIga2V5IGFuZCByZXR1cm4gaXQsIHRoZSBwcml2YXRlIGtleSBwYXJ0IG9mIHRoZSByZXNwb25zZSB3aWxsIG5vdCBiZSBwZXJzaXN0ZWQgYW5kIHNob3VsZCBiZSBrZXB0IHNlY3VyZWx5IGJ5IGNsaWVudC6C0+STAjsiNi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0va2V5czoBKhKvAgoTTGlzdFNlcnZpY2VVc2VySldLcxI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VySldLc1JlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlckpXS3NSZXNwb25zZSKoAZJBZwoLU2VydmljZVVzZXISFkxpc3Qgc2VydmljZSB1c2VyIGtleXMaQExpc3QgYWxsIHRoZSBrZXlzIG9mIGEgc2VydmljZSB1c2VyIHdpdGggaXRzIGRldGFpbHMgZXhjZXB0IGp3ay6C0+STAjgSNi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0va2V5cxKWAgoRR2V0U2VydmljZVVzZXJKV0sSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFNlcnZpY2VVc2VySldLUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0U2VydmljZVVzZXJKV0tSZXNwb25zZSKVAZJBSwoLU2VydmljZVVzZXISFEdldCBzZXJ2aWNlIHVzZXIga2V5GiZHZXQgYSBzZXJ2aWNlIHVzZXIgcHVibGljIFJTQSBKV0sgc2V0LoLT5JMCQRI/L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9rZXlzL3trZXlfaWR9EqICChREZWxldGVTZXJ2aWNlVXNlckpXSxI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJKV0tSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlckpXS1Jlc3BvbnNlIpgBkkFOCgtTZXJ2aWNlVXNlchIXRGVsZXRlIHNlcnZpY2UgdXNlciBrZXkaJkRlbGV0ZSBhIHNlcnZpY2UgdXNlciBrZXkgcGVybWFuZW50bHkugtPkkwJBKj8vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L2tleXMve2tleV9pZH0SpAMKG0NyZWF0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbBI9LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVxdWVzdBo+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVzcG9uc2UihQKSQb0BCgtTZXJ2aWNlVXNlchImQ3JlYXRlIHNlcnZpY2UgdXNlciBjbGllbnQgY3JlZGVudGlhbHMahQFHZW5lcmF0ZSBhIHNlcnZpY2UgdXNlciBjcmVkZW50aWFsIGFuZCByZXR1cm4gaXQuIFRoZSBjcmVkZW50aWFsIHZhbHVlIHdpbGwgbm90IGJlIHBlcnNpc3RlZCBhbmQgc2hvdWxkIGJlIHNlY3VyZWx5IHN0b3JlZCBieSBjbGllbnQugtPkkwI+IjkvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3NlY3JldHM6ASoSuQIKGkxpc3RTZXJ2aWNlVXNlckNyZWRlbnRpYWxzEjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJDcmVkZW50aWFsc1JlcXVlc3QaPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlckNyZWRlbnRpYWxzUmVzcG9uc2UinQGSQVkKC1NlcnZpY2VVc2VyEh1MaXN0IHNlcnZpY2UgdXNlciBjcmVkZW50aWFscxorTGlzdCBhbGwgdGhlIGNyZWRlbnRpYWxzIG9mIGEgc2VydmljZSB1c2VyLoLT5JMCOxI5L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9zZWNyZXRzEsACChtEZWxldGVTZXJ2aWNlVXNlckNyZWRlbnRpYWwSPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlcXVlc3QaPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlc3BvbnNlIqEBkkFRCgtTZXJ2aWNlVXNlchIfRGVsZXRlIHNlcnZpY2UgdXNlciBjcmVkZW50aWFscxohRGVsZXRlIGEgc2VydmljZSB1c2VyIGNyZWRlbnRpYWwugtPkkwJHKkUvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3NlY3JldHMve3NlY3JldF9pZH0S/AIKFkNyZWF0ZVNlcnZpY2VVc2VyVG9rZW4SOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyVG9rZW5SZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlclRva2VuUmVzcG9uc2Ui7AGSQaUBCgtTZXJ2aWNlVXNlchIZQ3JlYXRlIHNlcnZpY2UgdXNlciB0b2tlbhp7R2VuZXJhdGUgYSBzZXJ2aWNlIHVzZXIgdG9rZW4gYW5kIHJldHVybiBpdC4gVGhlIHRva2VuIHZhbHVlIHdpbGwgbm90IGJlIHBlcnNpc3RlZCBhbmQgc2hvdWxkIGJlIHNlY3VyZWx5IHN0b3JlZCBieSBjbGllbnQugtPkkwI9IjgvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3Rva2VuczoBKhKfAgoVTGlzdFNlcnZpY2VVc2VyVG9rZW5zEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJUb2tlbnNSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJUb2tlbnNSZXNwb25zZSKSAZJBTwoLU2VydmljZVVzZXISGExpc3Qgc2VydmljZSB1c2VyIHRva2VucxomTGlzdCBhbGwgdGhlIHRva2VucyBvZiBhIHNlcnZpY2UgdXNlci6C0+STAjoSOC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vdG9rZW5zEqQCChZEZWxldGVTZXJ2aWNlVXNlclRva2VuEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlclRva2VuUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJUb2tlblJlc3BvbnNlIpQBkkFGCgtTZXJ2aWNlVXNlchIZRGVsZXRlIHNlcnZpY2UgdXNlciB0b2tlbhocRGVsZXRlIGEgc2VydmljZSB1c2VyIHRva2VuLoLT5JMCRSpDL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS90b2tlbnMve3Rva2VuX2lkfRKwAgoXTGlzdFNlcnZpY2VVc2VyUHJvamVjdHMSOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlclByb2plY3RzUmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyUHJvamVjdHNSZXNwb25zZSKdAZJBWAoLU2VydmljZVVzZXISGkxpc3Qgc2VydmljZSBzc2VyIHByb2plY3RzGi1MaXN0IGFsbCBwcm9qZWN0cyB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG+C0+STAjwSOi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vcHJvamVjdHMS5AIKFkxpc3RPcmdhbml6YXRpb25Hcm91cHMSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Hcm91cHNSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uR3JvdXBzUmVzcG9uc2Ui1AGSQaIBCgVHcm91cBIYTGlzdCBvcmdhbml6YXRpb24gZ3JvdXBzGn9HZXQgYWxsIGdyb3VwcyB0aGF0IGJlbG9uZyB0byBhbiBvcmdhbml6YXRpb24uIFRoZSByZXN1bHRzIGNhbiBiZSBmaWx0ZXJlZCBieSBzdGF0ZSB3aGljaCBjYW4gYmUgZWl0aGVyIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQugtPkkwIoEiYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3VwcxKdAwoLQ3JlYXRlR3JvdXASLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUdyb3VwUmVxdWVzdBouLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlR3JvdXBSZXNwb25zZSKuApJB9gEKBUdyb3VwEgxDcmVhdGUgZ3JvdXAa3gFDcmVhdGUgYSBuZXcgZ3JvdXAgaW4gYW4gb3JnYW5pemF0aW9uIHdoaWNoIHNlcnZlcyBhcyBhIGNvbnRhaW5lciBmb3IgdXNlcnMuIFRoZSBncm91cCBjYW4gYmUgYXNzaWduZWQgcm9sZXMgYW5kIHBlcm1pc3Npb25zIGFuZCBjYW4gYmUgdXNlZCB0byBtYW5hZ2UgYWNjZXNzIHRvIHJlc291cmNlcy4gQWxzbyBhIGdyb3VwIGNhbiBhbHNvIGJlIGFzc2lnbmVkIHRvIG90aGVyIGdyb3Vwcy6C0+STAi4iJi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzOgRib2R5Eq0BCghHZXRHcm91cBIqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0R3JvdXBSZXF1ZXN0GisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRHcm91cFJlc3BvbnNlIkiSQRIKBUdyb3VwEglHZXQgZ3JvdXCC0+STAi0SKy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0SvwEKC1VwZGF0ZUdyb3VwEi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVHcm91cFJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUdyb3VwUmVzcG9uc2UiUZJBFQoFR3JvdXASDFVwZGF0ZSBncm91cILT5JMCMxorL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfToEYm9keRL+AQoOTGlzdEdyb3VwVXNlcnMSMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RHcm91cFVzZXJzUmVxdWVzdBoxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEdyb3VwVXNlcnNSZXNwb25zZSKGAZJBSgoFR3JvdXASEExpc3QgZ3JvdXAgdXNlcnMaL1JldHVybnMgYSBsaXN0IG9mIHVzZXJzIHRoYXQgYmVsb25nIHRvIGEgZ3JvdXAugtPkkwIzEjEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9L3VzZXJzEt0CCg1BZGRHcm91cFVzZXJzEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BZGRHcm91cFVzZXJzUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQWRkR3JvdXBVc2Vyc1Jlc3BvbnNlIugBkkGoAQoFR3JvdXASDkFkZCBncm91cCB1c2VyGo4BQWRkcyBhIHByaW5jaXBsZSh1c2VyIGFuZCBzZXJ2aWNlLXVzZXJzKSB0byBhIGdyb3VwLCBleGlzdGluZyB1c2VycyBpbiB0aGUgZ3JvdXAgd2lsbCBiZSBpZ25vcmVkLiBBIGdyb3VwIGNhbid0IGhhdmUgbmVzdGVkIGdyb3VwcyBhcyBtZW1iZXJzLoLT5JMCNiIxL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfS91c2VyczoBKhLvAgoPUmVtb3ZlR3JvdXBVc2VyEjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZW1vdmVHcm91cFVzZXJSZXF1ZXN0GjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZW1vdmVHcm91cFVzZXJSZXNwb25zZSL0AZJBrQEKBUdyb3VwEhFSZW1vdmUgZ3JvdXAgdXNlchqQAVJlbW92ZXMgYSBwcmluY2lwbGUodXNlciBhbmQgc2VydmljZS11c2VycykgZnJvbSBhIGdyb3VwLiBJZiB0aGUgdXNlciBpcyBub3QgaW4gdGhlIGdyb3VwLCB0aGUgcmVxdWVzdCB3aWxsIHN1Y2NlZWQgYnV0IG5vIGNoYW5nZXMgd2lsbCBiZSBtYWRlLoLT5JMCPSo7L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfS91c2Vycy97dXNlcl9pZH0SwwIKC0VuYWJsZUdyb3VwEi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVHcm91cFJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZUdyb3VwUmVzcG9uc2Ui1AGSQZMBCgVHcm91cBIMRW5hYmxlIGdyb3VwGnxTZXRzIHRoZSBzdGF0ZSBvZiB0aGUgZ3JvdXAgYXMgZW5hYmxlZC4gVGhlIGBlbmFibGVkYCBmbGFnIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIHRoZSBncm91cCBjYW4gYmUgdXNlZCBmb3IgYWNjZXNzIGNvbnRyb2wugtPkkwI3IjIvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9L2VuYWJsZToBKhLUAwoMRGlzYWJsZUdyb3VwEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlR3JvdXBSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlR3JvdXBSZXNwb25zZSLiApJBoAIKBUdyb3VwEg1EaXNhYmxlIGdyb3VwGocCU2V0cyB0aGUgc3RhdGUgb2YgdGhlIGdyb3VwIGFzIGRpc2FibGVkLiBUaGUgZ3JvdXAgd2lsbCBub3QgYmUgYXZhaWxhYmxlIGZvciBhY2Nlc3MgY29udHJvbCBhbmQgdGhlIGV4aXN0aW5nIHVzZXJzIGluIHRoZSBncm91cCB3aWxsIG5vdCBiZSBhYmxlIHRvIGFjY2VzcyBhbnkgcmVzb3VyY2VzIHRoYXQgYXJlIGFzc2lnbmVkIHRvIHRoZSBncm91cC4gTm8gb3RoZXIgdXNlcnMgY2FuIGJlIGFkZGVkIHRvIHRoZSBncm91cCB3aGlsZSBpdCBpcyBkaXNhYmxlZC6C0+STAjgiMy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0vZGlzYWJsZToBKhL9AQoLRGVsZXRlR3JvdXASLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZUdyb3VwUmVxdWVzdBouLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlR3JvdXBSZXNwb25zZSKOAZJBWAoFR3JvdXASDERlbGV0ZSBncm91cBpBRGVsZXRlIGFuIG9yZ2FuaXphdGlvbiBncm91cCBwZXJtYW5lbnRseSBhbmQgYWxsIG9mIGl0cyByZWxhdGlvbnOC0+STAi0qKy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0SkwIKCUxpc3RSb2xlcxIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFJvbGVzUmVxdWVzdBosLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFJvbGVzUmVzcG9uc2UiqgGSQZABCgRSb2xlEhNMaXN0IHBsYXRmb3JtIHJvbGVzGnNSZXR1cm5zIGEgbGlzdCBvZiBwbGF0Zm9ybSB3aWRlIHJvbGVzIGF2YWlsYWJsZSBpbiBlbml0cmUgRnJvbnRpZXIgaW5zdGFuY2UgYWxvbmcgd2l0aCB0aGVpciBhc3NvY2lhdGVkIHBlcm1pc3Npb25zgtPkkwIQEg4vdjFiZXRhMS9yb2xlcxK8AgoVTGlzdE9yZ2FuaXphdGlvblJvbGVzEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUm9sZXNSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUm9sZXNSZXNwb25zZSKvAZJBfwoEUm9sZRIXTGlzdCBvcmdhbml6YXRpb24gcm9sZXMaXlJldHVybnMgYSBsaXN0IG9mIGN1c3RvbSByb2xlcyBjcmVhdGVkIHVuZGVyIGFuIG9yZ2FuaXphdGlvbiB3aXRoIHRoZWlyIGFzc29jaWF0ZWQgcGVybWlzc2lvbnOC0+STAicSJS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vcm9sZXMS9wIKFkNyZWF0ZU9yZ2FuaXphdGlvblJvbGUSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2Ui5wGSQbABCgRSb2xlEhhDcmVhdGUgb3JnYW5pemF0aW9uIHJvbGUajQFDcmVhdGUgYSBjdXN0b20gcm9sZSB1bmRlciBhbiBvcmdhbml6YXRpb24uIFRoaXMgY3VzdG9tIHJvbGUgd2lsbCBvbmx5IGJlIGF2YWlsYWJsZSBmb3IgYXNzaWdubWVudCB0byB0aGUgcHJpbmNpcGxlcyB3aXRoaW4gdGhlIG9yZ2FuaXphdGlvbi6C0+STAi0iJS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vcm9sZXM6BGJvZHkSrAIKE0dldE9yZ2FuaXphdGlvblJvbGUSNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2UipQGSQXAKBFJvbGUSFUdldCBvcmdhbml6YXRpb24gcm9sZRpRUmV0dXJucyBhIGN1c3RvbSByb2xlIHVuZGVyIGFuIG9yZ2FuaXphdGlvbiBhbG9uZyB3aXRoIGl0cyBhc3NvY2lhdGVkIHBlcm1pc3Npb25zgtPkkwIsEiovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3JvbGVzL3tpZH0S/AIKFlVwZGF0ZU9yZ2FuaXphdGlvblJvbGUSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZU9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2Ui7AGSQbABCgRSb2xlEhhVcGRhdGUgb3JnYW5pemF0aW9uIHJvbGUajQFVcGRhdGUgYSBjdXN0b20gcm9sZSB1bmRlciBhbiBvcmdhbml6YXRpb24uIFRoaXMgY3VzdG9tIHJvbGUgd2lsbCBvbmx5IGJlIGF2YWlsYWJsZSBmb3IgYXNzaWdubWVudCB0byB0aGUgcHJpbmNpcGxlcyB3aXRoaW4gdGhlIG9yZ2FuaXphdGlvbi6C0+STAjIaKi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vcm9sZXMve2lkfToEYm9keRK3AgoWRGVsZXRlT3JnYW5pemF0aW9uUm9sZRI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlT3JnYW5pemF0aW9uUm9sZVJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZSKnAZJBcgoEUm9sZRIYRGVsZXRlIG9yZ2FuaXphdGlvbiByb2xlGlBEZWxldGUgYSBjdXN0b20gcm9sZSBhbmQgYWxsIG9mIGl0cyByZWxhdGlvbnMgdW5kZXIgYW4gb3JnYW5pemF0aW9uIHBlcm1hbmVudGx5LoLT5JMCLCoqL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9yb2xlcy97aWR9EpoCChFMaXN0T3JnYW5pemF0aW9ucxIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uc1Jlc3BvbnNlIpkBkkF4CgxPcmdhbml6YXRpb24SEkxpc3Qgb3JnYW5pemF0aW9ucxpUUmV0dXJucyBhIGxpc3Qgb2Ygb3JnYW5pemF0aW9ucy4gSXQgY2FuIGJlIGZpbHRlcmVkIGJ5IHVzZXJJRCBvciBvcmdhbml6YXRpb24gc3RhdGUugtPkkwIYEhYvdjFiZXRhMS9vcmdhbml6YXRpb25zEs0BChJDcmVhdGVPcmdhbml6YXRpb24SNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvblJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvblJlc3BvbnNlIkqSQSMKDE9yZ2FuaXphdGlvbhITQ3JlYXRlIG9yZ2FuaXphdGlvboLT5JMCHiIWL3YxYmV0YTEvb3JnYW5pemF0aW9uczoEYm9keRLgAQoPR2V0T3JnYW5pemF0aW9uEjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25SZXF1ZXN0GjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25SZXNwb25zZSJmkkFACgxPcmdhbml6YXRpb24SEEdldCBvcmdhbml6YXRpb24aHkdldCBvcmdhbml6YXRpb24gYnkgSUQgb3IgbmFtZYLT5JMCHRIbL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9Eu0BChJVcGRhdGVPcmdhbml6YXRpb24SNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZU9yZ2FuaXphdGlvblJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZU9yZ2FuaXphdGlvblJlc3BvbnNlImqSQT4KDE9yZ2FuaXphdGlvbhITVXBkYXRlIG9yZ2FuaXphdGlvbhoZVXBkYXRlIG9yZ2FuaXphdGlvbiBieSBJRILT5JMCIxobL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9OgRib2R5Ep8CChhMaXN0T3JnYW5pemF0aW9uUHJvamVjdHMSOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Qcm9qZWN0c1JlcXVlc3QaOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Qcm9qZWN0c1Jlc3BvbnNlIokBkkFaCgxPcmdhbml6YXRpb24SGUdldCBvcmdhbml6YXRpb24gcHJvamVjdHMaL0dldCBhbGwgcHJvamVjdHMgdGhhdCBiZWxvbmcgdG8gYW4gb3JnYW5pemF0aW9ugtPkkwImEiQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vcHJvamVjdHMSjgIKFkxpc3RPcmdhbml6YXRpb25BZG1pbnMSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25BZG1pbnNSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uQWRtaW5zUmVzcG9uc2Uif5JBUgoMT3JnYW5pemF0aW9uEhhMaXN0IG9yZ2FuaXphdGlvbiBhZG1pbnMaKFJldHVybnMgYSBsaXN0IGFkbWlucyBvZiBhbiBvcmdhbml6YXRpb26C0+STAiQSIi92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS9hZG1pbnMS3wEKFUxpc3RPcmdhbml6YXRpb25Vc2VycxI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblVzZXJzUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblVzZXJzUmVzcG9uc2UiU5JBJwoMT3JnYW5pemF0aW9uEhdMaXN0IG9yZ2FuaXphdGlvbiB1c2Vyc4LT5JMCIxIhL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3VzZXJzEu0CChRBZGRPcmdhbml6YXRpb25Vc2VycxI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQWRkT3JnYW5pemF0aW9uVXNlcnNSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BZGRPcmdhbml6YXRpb25Vc2Vyc1Jlc3BvbnNlIuMBkkGzAQoMT3JnYW5pemF0aW9uEhVBZGQgb3JnYW5pemF0aW9uIHVzZXIaiwFBZGQgYSB1c2VyIHRvIGFuIG9yZ2FuaXphdGlvbi4gQSB1c2VyIG11c3QgZXhpc3RzIGluIEZyb250aWVyIGJlZm9yZSBhZGRpbmcgaXQgdG8gYW4gb3JnLiBUaGlzIHJlcXVlc3Qgd2lsbCBmYWlsIGlmIHRoZSB1c2VyIGRvZXNuJ3QgZXhpc3RzgtPkkwImIiEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vdXNlcnM6ASoSkgIKFlJlbW92ZU9yZ2FuaXphdGlvblVzZXISOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbW92ZU9yZ2FuaXphdGlvblVzZXJSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZW1vdmVPcmdhbml6YXRpb25Vc2VyUmVzcG9uc2UiggGSQUwKDE9yZ2FuaXphdGlvbhIYUmVtb3ZlIG9yZ2FuaXphdGlvbiB1c2VyGiJSZW1vdmUgYSB1c2VyIGZyb20gYW4gb3JnYW5pemF0aW9ugtPkkwItKisvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vdXNlcnMve3VzZXJfaWR9EpYCChJHZXRPcmdhbml6YXRpb25LeWMSNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkt5Y1JlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkt5Y1Jlc3BvbnNlIpIBkkFkCg9Pcmdhbml6YXRpb25LeWMSH0dldCBLWUMgaW5mbyBvZiBhbiBvcmdhbml6YXRpb24aMEdldCBLWUMgaW5mbyBvZiBhbiBvcmdhbml6YXRpb24gdXNpbmcgSUQgb3IgbmFtZYLT5JMCJRIjL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9reWMSgwIKHExpc3RPcmdhbml6YXRpb25TZXJ2aWNlVXNlcnMSPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25TZXJ2aWNlVXNlcnNSZXF1ZXN0Gj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzUmVzcG9uc2UiYpJBLwoMT3JnYW5pemF0aW9uEh9MaXN0IG9yZ2FuaXphdGlvbiBzZXJ2aWNlIHVzZXJzgtPkkwIqEigvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vc2VydmljZXVzZXJzErkCChtMaXN0T3JnYW5pemF0aW9uSW52aXRhdGlvbnMSPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25JbnZpdGF0aW9uc1JlcXVlc3QaPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25JbnZpdGF0aW9uc1Jlc3BvbnNlIpoBkkFkCgxPcmdhbml6YXRpb24SGExpc3QgcGVuZGluZyBpbnZpdGF0aW9ucxo6UmV0dXJucyBhbGwgcGVuZGluZyBpbnZpdGF0aW9ucyBxdWV1ZWQgZm9yIGFuIG9yZ2FuaXphdGlvboLT5JMCLRIrL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9pbnZpdGF0aW9ucxL2AgocQ3JlYXRlT3JnYW5pemF0aW9uSW52aXRhdGlvbhI+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QaPy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZSLUAZJBmgEKDE9yZ2FuaXphdGlvbhILSW52aXRlIHVzZXIafUludml0ZSB1c2VycyB0byBhbiBvcmdhbml6YXRpb24sIGlmIHVzZXIgaXMgbm90IHJlZ2lzdGVyZWQgb24gdGhlIHBsYXRmb3JtLCBpdCB3aWxsIGJlIG5vdGlmaWVkLiBJbnZpdGF0aW9ucyBleHBpcmUgaW4gNyBkYXlzgtPkkwIwIisvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2ludml0YXRpb25zOgEqErMCChlHZXRPcmdhbml6YXRpb25JbnZpdGF0aW9uEjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVxdWVzdBo8LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uSW52aXRhdGlvblJlc3BvbnNlIpoBkkFfCgxPcmdhbml6YXRpb24SFkdldCBwZW5kaW5nIGludml0YXRpb24aN1JldHVybnMgYSBwZW5kaW5nIGludml0YXRpb24gcXVldWVkIGZvciBhbiBvcmdhbml6YXRpb26C0+STAjISMC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vaW52aXRhdGlvbnMve2lkfRKZAwocQWNjZXB0T3JnYW5pemF0aW9uSW52aXRhdGlvbhI+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQWNjZXB0T3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QaPy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFjY2VwdE9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZSL3AZJBsQEKDE9yZ2FuaXphdGlvbhIZQWNjZXB0IHBlbmRpbmcgaW52aXRhdGlvbhqFAUFjY2VwdCBwZW5kaW5nIGludml0YXRpb24gcXVldWVkIGZvciBhbiBvcmdhbml6YXRpb24uIFRoZSB1c2VyIHdpbGwgYmUgYWRkZWQgdG8gdGhlIG9yZ2FuaXphdGlvbiBhbmQgZ3JvdXBzIGRlZmluZWQgaW4gdGhlIGludml0YXRpb26C0+STAjwiNy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vaW52aXRhdGlvbnMve2lkfS9hY2NlcHQ6ASoSvgIKHERlbGV0ZU9yZ2FuaXphdGlvbkludml0YXRpb24SPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0Gj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2UinAGSQWEKDE9yZ2FuaXphdGlvbhIZRGVsZXRlIHBlbmRpbmcgaW52aXRhdGlvbho2RGVsZXRlIGEgcGVuZGluZyBpbnZpdGF0aW9uIHF1ZXVlZCBmb3IgYW4gb3JnYW5pemF0aW9ugtPkkwIyKjAvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2ludml0YXRpb25zL3tpZH0S2AMKF0xpc3RPcmdhbml6YXRpb25Eb21haW5zEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uRG9tYWluc1JlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Eb21haW5zUmVzcG9uc2UixQKSQZICCgxPcmdhbml6YXRpb24SEExpc3Qgb3JnIGRvbWFpbnMa7wFSZXR1cm5zIGFsbCBkb21haW5zIHdoaXRlbGlzdGVkIGZvciBhbiBvcmdhbml6YXRpb24gKGJvdGggcGVuZGluZyBhbmQgdmVyaWZpZWQgaWYgbm8gZmlsdGVycyBhcmUgcHJvdmlkZWQgZm9yIHRoZSBzdGF0ZSkuIFRoZSB2ZXJpZmllZCBkb21haW5zIGFsbG93IHVzZXJzIGVtYWlsIHdpdGggdGhlIG9yZydzIHdoaXRlbGlzdGVkIGRvbWFpbiB0byBqb2luIHRoZSBvcmdhbml6YXRpb24gd2l0aG91dCBpbnZpdGF0aW9uLoLT5JMCKRInL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9kb21haW5zEv4EChhDcmVhdGVPcmdhbml6YXRpb25Eb21haW4SOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QaOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlIugDkkGyAwoMT3JnYW5pemF0aW9uEhFDcmVhdGUgb3JnIGRvbWFpbhqOA0FkZCBhIGRvbWFpbiB0byBhbiBvcmdhbml6YXRpb24gd2hpY2ggaWYgdmVyaWZpZWQgYWxsb3dzIGFsbCB1c2VycyBvZiB0aGUgc2FtZSBkb21haW4gdG8gYmUgc2lnbmVkIHVwIHRvIHRoZSBvcmdhbml6YXRpb24gd2l0aG91dCBpbnZpdGF0aW9uLiBUaGlzIEFQSSBnZW5lcmF0ZXMgYSB2ZXJpZmljYXRpb24gdG9rZW4gZm9yIGEgZG9tYWluIHdoaWNoIG11c3QgYmUgYWRkZWQgdG8geW91ciBkb21haW4ncyBETlMgcHJvdmlkZXIgYXMgYSBUWFQgcmVjb3JkIHNob3VsZCBiZSB2ZXJpZmllZCB3aXRoIEZyb250aWVyIFZlcmlmeU9yZ2FuaXphdGlvbkRvbWFpbiBBUEkgYmVmb3JlIGl0IGNhbiBiZSB1c2VkIGFzIGFuIE9yZ2FuaXphdGlvbidzIHRydXN0ZWQgZG9tYWluIHRvIHNpZ24gdXAgdXNlcnMugtPkkwIsIicvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2RvbWFpbnM6ASoStwIKGERlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpbhI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlT3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBo7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlT3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2UioQGSQWoKDE9yZ2FuaXphdGlvbhIRRGVsZXRlIG9yZyBkb21haW4aR1JlbW92ZSBhIGRvbWFpbiBmcm9tIHRoZSBsaXN0IG9mIGFuIG9yZ2FuaXphdGlvbidzIHRydXN0ZWQgZG9tYWlucyBsaXN0gtPkkwIuKiwvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2RvbWFpbnMve2lkfRLiAgoVR2V0T3JnYW5pemF0aW9uRG9tYWluEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25Eb21haW5SZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZSLVAZJBnQEKDE9yZ2FuaXphdGlvbhIOR2V0IG9yZyBkb21haW4afUdldCBhIGRvbWFpbiBmcm9tIHRoZSBsaXN0IG9mIGFuIG9yZ2FuaXphdGlvbidzIHdoaXRlbGlzdGVkIGRvbWFpbnMuIFJldHVybnMgYm90aCB2ZXJpZmllZCBhbmQgdW52ZXJpZmllZCBkb21haW5zIGJ5IHRoZWlyIElEgtPkkwIuEiwvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2RvbWFpbnMve2lkfRKlBAoYVmVyaWZ5T3JnYW5pemF0aW9uRG9tYWluEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5WZXJpZnlPcmdhbml6YXRpb25Eb21haW5SZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5WZXJpZnlPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZSKPA5JBzQIKDE9yZ2FuaXphdGlvbhIRVmVyaWZ5IG9yZyBkb21haW4aqQJWZXJpZnkgYSBkb21haW4gZm9yIGFuIG9yZ2FuaXphdGlvbiB3aXRoIGEgdmVyaWZpY2F0aW9uIHRva2VuIGdlbmVyYXRlZCBieSBGcm9udGllciBHZW5lcmF0ZURvbWFpblZlcmlmaWNhdGlvblRva2VuIEFQSS4gVGhlIHRva2VuIG11c3QgYmUgYWRkZWQgdG8geW91ciBkb21haW4ncyBETlMgcHJvdmlkZXIgYXMgYSBUWFQgcmVjb3JkIGJlZm9yZSBpdCBjYW4gYmUgdmVyaWZpZWQuIFRoaXMgQVBJIHJldHVybnMgdGhlIHN0YXRlIG9mIHRoZSBkb21haW4gKHBlbmRpbmcvdmVyaWZpZWQpIGFmdGVyIHZlcmlmaWNhdGlvbi6C0+STAjgiMy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZG9tYWlucy97aWR9L3ZlcmlmeToBKhKSAwoQSm9pbk9yZ2FuaXphdGlvbhIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSm9pbk9yZ2FuaXphdGlvblJlcXVlc3QaMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkpvaW5Pcmdhbml6YXRpb25SZXNwb25zZSKUApJB4QEKDE9yZ2FuaXphdGlvbhIRSm9pbiBvcmdhbml6YXRpb24avQFBbGxvd3MgdGhlIGN1cnJlbnQgbG9nZ2VkIGluIHVzZXIgdG8gam9pbiB0aGUgT3JnIGlmIG9uZSBpcyBub3QgYSBwYXJ0IG9mIGl0LiBUaGUgdXNlciB3aWxsIG9ubHkgYmUgYWJsZSB0byBqb2luIHdoZW4gdGhlIHVzZXIgZW1haWwncyBkb21haW4gbWF0Y2hlcyB0aGUgb3JnYW5pemF0aW9uJ3Mgd2hpdGVsaXN0ZWQgZG9tYWlucy6C0+STAikiJC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vam9pbjoBKhLZAgoSRW5hYmxlT3JnYW5pemF0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVPcmdhbml6YXRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVPcmdhbml6YXRpb25SZXNwb25zZSLVAZJBpAEKDE9yZ2FuaXphdGlvbhITRW5hYmxlIG9yZ2FuaXphdGlvbhp/U2V0cyB0aGUgc3RhdGUgb2YgdGhlIG9yZ2FuaXphdGlvbiBhcyBlbmFibGVkLiBUaGUgZXhpc3RpbmcgdXNlcnMgaW4gdGhlIG9yZyB3aWxsIGJlIGFibGUgdG8gYWNjZXNzIGFueSBvcmdhbml6YXRpb24gcmVzb3VyY2VzLoLT5JMCJyIiL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L2VuYWJsZToBKhLkAgoTRGlzYWJsZU9yZ2FuaXphdGlvbhI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZU9yZ2FuaXphdGlvblJlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVPcmdhbml6YXRpb25SZXNwb25zZSLdAZJBqwEKDE9yZ2FuaXphdGlvbhIURGlzYWJsZSBvcmdhbml6YXRpb24ahAFTZXRzIHRoZSBzdGF0ZSBvZiB0aGUgb3JnYW5pemF0aW9uIGFzIGRpc2FibGVkLiBUaGUgZXhpc3RpbmcgdXNlcnMgaW4gdGhlIG9yZyB3aWxsIG5vdCBiZSBhYmxlIHRvIGFjY2VzcyBhbnkgb3JnYW5pemF0aW9uIHJlc291cmNlcy6C0+STAigiIy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS9kaXNhYmxlOgEqEsYCChJEZWxldGVPcmdhbml6YXRpb24SNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvblJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvblJlc3BvbnNlIsIBkkGbAQoMT3JnYW5pemF0aW9uEhNEZWxldGUgb3JnYW5pemF0aW9uGnZEZWxldGUgYW4gb3JnYW5pemF0aW9uIGFuZCBhbGwgb2YgaXRzIHJlbGF0aW9ucyBwZXJtYW5lbnRseS4gVGhlIG9yZ2FuaXphdGlvbiB1c2VycyB3aWxsIG5vdCBiZSBkZWxldGVkIGZyb20gRnJvbnRpZXIugtPkkwIdKhsvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0SrwEKDUNyZWF0ZVByb2plY3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2plY3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9qZWN0UmVzcG9uc2UiO5JBGQoHUHJvamVjdBIOQ3JlYXRlIHByb2plY3SC0+STAhkiES92MWJldGExL3Byb2plY3RzOgRib2R5ErsBCgpHZXRQcm9qZWN0EiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQcm9qZWN0UmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvamVjdFJlc3BvbnNlIlCSQS8KB1Byb2plY3QSC0dldCBwcm9qZWN0GhdSZXR1cm5zIGEgcHJvamVjdCBieSBJRILT5JMCGBIWL3YxYmV0YTEvcHJvamVjdHMve2lkfRLNAQoNVXBkYXRlUHJvamVjdBIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUHJvamVjdFJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVByb2plY3RSZXNwb25zZSJZkkEyCgdQcm9qZWN0Eg5VcGRhdGUgcHJvamVjdBoXVXBkYXRlcyBhIHByb2plY3QgYnkgSUSC0+STAh4aFi92MWJldGExL3Byb2plY3RzL3tpZH06BGJvZHkS8wEKEUxpc3RQcm9qZWN0QWRtaW5zEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdEFkbWluc1JlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0QWRtaW5zUmVzcG9uc2Uic5JBSwoHUHJvamVjdBITTGlzdCBwcm9qZWN0IGFkbWlucxorUmV0dXJucyBhIGNvbGxlY3Rpb24gb2YgYWRtaW5zIG9mIGEgcHJvamVjdILT5JMCHxIdL3YxYmV0YTEvcHJvamVjdHMve2lkfS9hZG1pbnMSmAIKEExpc3RQcm9qZWN0VXNlcnMSMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0VXNlcnNSZXF1ZXN0GjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFVzZXJzUmVzcG9uc2UimgGSQXMKB1Byb2plY3QSEkxpc3QgcHJvamVjdCB1c2VycxpUUmV0dXJucyBhIGNvbGxlY3Rpb24gb2YgdXNlcnMgb2YgYSBwcm9qZWN0LiBGaWx0ZXIgYnkgdXNlciBwZXJtaXNzaW9ucyBpcyBzdXBwb3J0ZWQugtPkkwIeEhwvdjFiZXRhMS9wcm9qZWN0cy97aWR9L3VzZXJzEpECChdMaXN0UHJvamVjdFNlcnZpY2VVc2VycxI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RTZXJ2aWNlVXNlcnNSZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlIn+SQVEKB1Byb2plY3QSGUxpc3QgcHJvamVjdCBzZXJ2aWNldXNlcnMaK1JldHVybnMgYSBjb2xsZWN0aW9uIG9mIHVzZXJzIG9mIGEgcHJvamVjdC6C0+STAiUSIy92MWJldGExL3Byb2plY3RzL3tpZH0vc2VydmljZXVzZXJzEvQBChFMaXN0UHJvamVjdEdyb3VwcxIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RHcm91cHNSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdEdyb3Vwc1Jlc3BvbnNlInSSQUwKB1Byb2plY3QSE0xpc3QgcHJvamVjdCBncm91cHMaLFJldHVybnMgYSBjb2xsZWN0aW9uIG9mIGdyb3VwcyBvZiBhIHByb2plY3QugtPkkwIfEh0vdjFiZXRhMS9wcm9qZWN0cy97aWR9L2dyb3VwcxK4AQoNRW5hYmxlUHJvamVjdBIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlUHJvamVjdFJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZVByb2plY3RSZXNwb25zZSJEkkEZCgdQcm9qZWN0Eg5FbmFibGUgcHJvamVjdILT5JMCIiIdL3YxYmV0YTEvcHJvamVjdHMve2lkfS9lbmFibGU6ASoSvQEKDkRpc2FibGVQcm9qZWN0EjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlUHJvamVjdFJlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVQcm9qZWN0UmVzcG9uc2UiRpJBGgoHUHJvamVjdBIPRGlzYWJsZSBwcm9qZWN0gtPkkwIjIh4vdjFiZXRhMS9wcm9qZWN0cy97aWR9L2Rpc2FibGU6ASoS4gEKDURlbGV0ZVByb2plY3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVByb2plY3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQcm9qZWN0UmVzcG9uc2UibpJBTQoHUHJvamVjdBIORGVsZXRlIFByb2plY3QaMkRlbGV0ZSBhIHByb2plY3QgYWxsIG9mIGl0cyByZWxhdGlvbnMgcGVybWFuZW50bHkugtPkkwIYKhYvdjFiZXRhMS9wcm9qZWN0cy97aWR9Er0BCgxDcmVhdGVQb2xpY3kSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBvbGljeVJlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBvbGljeVJlc3BvbnNlIkySQSoKBlBvbGljeRINQ3JlYXRlIHBvbGljeRoRQ3JlYXRlcyBhIHBvbGljeSCC0+STAhkiES92MWJldGExL3BvbGljaWVzOgRib2R5ErUBCglHZXRQb2xpY3kSKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFBvbGljeVJlcXVlc3QaLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFBvbGljeVJlc3BvbnNlIk2SQSwKBlBvbGljeRIKR2V0IHBvbGljeRoWUmV0dXJucyBhIHBvbGljeSBieSBJRILT5JMCGBIWL3YxYmV0YTEvcG9saWNpZXMve2lkfRK5AgoMTGlzdFBvbGljaWVzEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UG9saWNpZXNSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UG9saWNpZXNSZXNwb25zZSLHAZJBqgEKBlBvbGljeRIRTGlzdCBhbGwgcG9saWNpZXMajAFMaXN0cyBhbGwgdGhlIHBvbGljaWVzIGZyb20gYWxsIHRoZSBvcmdhbml6YXRpb25zIGluIGEgRnJvbnRpZXIgaW5zdGFuY2UuIEl0IGNhbiBiZSBmaWx0ZXJlZCBieSBvcmdhbml6YXRpb24sIHByb2plY3QsIHVzZXIsIHJvbGUgYW5kIGdyb3VwLoLT5JMCExIRL3YxYmV0YTEvcG9saWNpZXMSxwEKDFVwZGF0ZVBvbGljeRIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUG9saWN5UmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUG9saWN5UmVzcG9uc2UiVpJBLwoGUG9saWN5Eg1VcGRhdGUgcG9saWN5GhZVcGRhdGVzIGEgcG9saWN5IGJ5IElEgtPkkwIeGhYvdjFiZXRhMS9wb2xpY2llcy97aWR9OgRib2R5EtwBCgxEZWxldGVQb2xpY3kSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVBvbGljeVJlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVBvbGljeVJlc3BvbnNlImuSQUoKBlBvbGljeRINRGVsZXRlIFBvbGljeRoxRGVsZXRlIGEgcG9saWN5IGFsbCBvZiBpdHMgcmVsYXRpb25zIHBlcm1hbmVudGx5LoLT5JMCGCoWL3YxYmV0YTEvcG9saWNpZXMve2lkfRKJAgoWQ3JlYXRlUG9saWN5Rm9yUHJvamVjdBI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUG9saWN5Rm9yUHJvamVjdFJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBvbGljeUZvclByb2plY3RSZXNwb25zZSJ6kkFCCgZQb2xpY3kSGUNyZWF0ZSBQb2xpY3kgZm9yIFByb2plY3QaHUNyZWF0ZSBhIHBvbGljeSBmb3IgYSBwcm9qZWN0gtPkkwIvIicvdjFiZXRhMS9wb2xpY2llcy9wcm9qZWN0cy97cHJvamVjdF9pZH06BGJvZHkStQEKDkNyZWF0ZVJlbGF0aW9uEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVSZWxhdGlvblJlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVJlbGF0aW9uUmVzcG9uc2UiPpJBGwoIUmVsYXRpb24SD0NyZWF0ZSByZWxhdGlvboLT5JMCGiISL3YxYmV0YTEvcmVsYXRpb25zOgRib2R5EsIBCgtHZXRSZWxhdGlvbhItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UmVsYXRpb25SZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRSZWxhdGlvblJlc3BvbnNlIlSSQTIKCFJlbGF0aW9uEgxHZXQgcmVsYXRpb24aGFJldHVybnMgYSByZWxhdGlvbiBieSBJRILT5JMCGRIXL3YxYmV0YTEvcmVsYXRpb25zL3tpZH0SkAIKDkRlbGV0ZVJlbGF0aW9uEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVSZWxhdGlvblJlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVJlbGF0aW9uUmVzcG9uc2UimAGSQU4KCFJlbGF0aW9uEg9EZWxldGUgcmVsYXRpb24aMVJlbW92ZSBhIHN1YmplY3QgaGF2aW5nIGEgcmVsYXRpb24gZnJvbSBhbiBvYmplY3SC0+STAkEqPy92MWJldGExL3JlbGF0aW9ucy97cmVsYXRpb259L29iamVjdC97b2JqZWN0fS9zdWJqZWN0L3tzdWJqZWN0fRK6AQoPTGlzdFBlcm1pc3Npb25zEjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UGVybWlzc2lvbnNSZXF1ZXN0GjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UGVybWlzc2lvbnNSZXNwb25zZSJAkkEhCgpQZXJtaXNzaW9uEhNHZXQgYWxsIHBlcm1pc3Npb25zgtPkkwIWEhQvdjFiZXRhMS9wZXJtaXNzaW9ucxLQAQoNR2V0UGVybWlzc2lvbhIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UGVybWlzc2lvblJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFBlcm1pc3Npb25SZXNwb25zZSJckkE4CgpQZXJtaXNzaW9uEg5HZXQgcGVybWlzc2lvbhoaUmV0dXJucyBhIHBlcm1pc3Npb24gYnkgSUSC0+STAhsSGS92MWJldGExL3Blcm1pc3Npb25zL3tpZH0S7wEKDkxpc3ROYW1lc3BhY2VzEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0TmFtZXNwYWNlc1JlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3ROYW1lc3BhY2VzUmVzcG9uc2UieJJBWgoJTmFtZXNwYWNlEhJHZXQgYWxsIG5hbWVzcGFjZXMaOVJldHVybnMgdGhlIGxpc3Qgb2YgYWxsIG5hbWVzcGFjZXMgaW4gYSBGcm9udGllciBpbnN0YW5jZYLT5JMCFRITL3YxYmV0YTEvbmFtZXNwYWNlcxLJAQoMR2V0TmFtZXNwYWNlEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXROYW1lc3BhY2VSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXROYW1lc3BhY2VSZXNwb25zZSJYkkE1CglOYW1lc3BhY2USDUdldCBuYW1lc3BhY2UaGVJldHVybnMgYSBuYW1lc3BhY2UgYnkgSUSC0+STAhoSGC92MWJldGExL25hbWVzcGFjZXMve2lkfRLZAQoUTGlzdFByb2plY3RSZXNvdXJjZXMSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0UmVzb3VyY2VzUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RSZXNvdXJjZXNSZXNwb25zZSJQkkEdCghSZXNvdXJjZRIRR2V0IGFsbCByZXNvdXJjZXOC0+STAioSKC92MWJldGExL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZXNvdXJjZXMSgQIKFUNyZWF0ZVByb2plY3RSZXNvdXJjZRI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvamVjdFJlc291cmNlUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvamVjdFJlc291cmNlUmVzcG9uc2UidZJBPAoIUmVzb3VyY2USD0NyZWF0ZSByZXNvdXJjZRofQ3JlYXRlcyBhIHJlc291cmNlIGluIGEgcHJvamVjdILT5JMCMCIoL3YxYmV0YTEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Jlc291cmNlczoEYm9keRL1AQoSR2V0UHJvamVjdFJlc291cmNlEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQcm9qZWN0UmVzb3VyY2VSZXNwb25zZSJykkE6CghSZXNvdXJjZRIMR2V0IHJlc291cmNlGiBSZXR1cm5zIGEgcHJvamVjdCByZXNvdXJjZSBieSBJRILT5JMCLxItL3YxYmV0YTEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Jlc291cmNlcy97aWR9EoYCChVVcGRhdGVQcm9qZWN0UmVzb3VyY2USNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVByb2plY3RSZXNvdXJjZVJlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlInqSQTwKCFJlc291cmNlEg9VcGRhdGUgcmVzb3VyY2UaH1VwZGF0ZXMgYSByZXNvdXJjZSBpbiBhIHByb2plY3SC0+STAjUaLS92MWJldGExL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZXNvdXJjZXMve2lkfToEYm9keRKPAgoVRGVsZXRlUHJvamVjdFJlc291cmNlEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQcm9qZWN0UmVzb3VyY2VSZXNwb25zZSKCAZJBSgoIUmVzb3VyY2USD0RlbGV0ZSByZXNvdXJjZRotRGVsZXRlcyBhIHJlc291cmNlIGZyb20gYSBwcm9qZWN0IHBlcm1hbmVudGx5gtPkkwIvKi0vdjFiZXRhMS9wcm9qZWN0cy97cHJvamVjdF9pZH0vcmVzb3VyY2VzL3tpZH0S+wMKF0NoZWNrUmVzb3VyY2VQZXJtaXNzaW9uEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja1Jlc291cmNlUGVybWlzc2lvblJlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrUmVzb3VyY2VQZXJtaXNzaW9uUmVzcG9uc2Ui6AKSQcsCCgVBdXRoehIFQ2hlY2saugJSZXR1cm5zIHRydWUgaWYgYSBwcmluY2lwYWwgaGFzIHJlcXVpcmVkIHBlcm1pc3Npb25zIHRvIGFjY2VzcyBhIHJlc291cmNlIGFuZCBmYWxzZSBvdGhlcndpc2UuPGJyLz4gTm90ZSB0aGUgcHJpbmNpcGFsIGNhbiBiZSBhIHVzZXIgb3IgYSBzZXJ2aWNlIGFjY291bnQuIEZyb250aWVyIHdpbGwgZXh0cmFjdCBwcmluY2lwYWwgZnJvbSB0aGUgY3VycmVudCBsb2dnZWQgaW4gc2Vzc2lvbiBjb29raWUgKGlmIGFueSksIG9yIHRoZSBjbGllbnQgaWQgYW5kIHNlY3JldCAoaW4gY2FzZSBvZiBzZXJ2aWNlIHVzZXJzKSBvciB0aGUgYWNjZXNzIHRva2VuLoLT5JMCEyIOL3YxYmV0YTEvY2hlY2s6ASoSswQKFEJhdGNoQ2hlY2tQZXJtaXNzaW9uEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CYXRjaENoZWNrUGVybWlzc2lvblJlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJhdGNoQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2UiqQOSQYcDCgVBdXRoehILQmF0Y2ggY2hlY2sa8AJSZXR1cm5zIHRydWUgaWYgYSBwcmluY2lwYWwgaGFzIHJlcXVpcmVkIHBlcm1pc3Npb25zIHRvIGFjY2VzcyBhIHJlc291cmNlIGFuZCBmYWxzZSBvdGhlcndpc2UuPGJyLz4gTm90ZSB0aGUgcHJpbmNpcGFsIGNhbiBiZSBhIHVzZXIgb3IgYSBzZXJ2aWNlIGFjY291bnQsIGFuZCBGcm9udGllciB3aWxsIHRoZSBjcmVkZW50aWFscyBmcm9tIHRoZSBjdXJyZW50IGxvZ2dlZCBpbiBwcmluY2lwYWwgZnJvbSB0aGUgc2Vzc2lvbiBjb29raWUgKGlmIGFueSksIG9yIHRoZSBjbGllbnQgaWQgYW5kIHNlY3JldCAoaW4gY2FzZSBvZiBzZXJ2aWNlIHVzZXJzKSBvciB0aGUgYWNjZXNzIHRva2VuIChpbiBjYXNlIG9mIGh1bWFuIHVzZXIgYWNjb3VudHMpLoLT5JMCGCITL3YxYmV0YTEvYmF0Y2hjaGVjazoBKhK1AQoHR2V0SldLcxIpLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0SldLc1JlcXVlc3QaKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEpXS3NSZXNwb25zZSJTkkEcCgVBdXRoehITR2V0IHdlbGwga25vd24gSldLc4LT5JMCLhISL3YxYmV0YTEvYXV0aC9qd2tzWhgSFi8ud2VsbC1rbm93bi9qd2tzLmpzb24ScQoMTGlzdFNlc3Npb25zEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2Vzc2lvbnNSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2Vzc2lvbnNSZXNwb25zZSIAEnQKDVJldm9rZVNlc3Npb24SLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJldm9rZVNlc3Npb25SZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZXZva2VTZXNzaW9uUmVzcG9uc2UiABJ6Cg9QaW5nVXNlclNlc3Npb24SMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBpbmdVc2VyU2Vzc2lvblJlcXVlc3QaMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBpbmdVc2VyU2Vzc2lvblJlc3BvbnNlIgAStwIKEkxpc3RBdXRoU3RyYXRlZ2llcxI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEF1dGhTdHJhdGVnaWVzUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEF1dGhTdHJhdGVnaWVzUmVzcG9uc2UiswGSQZoBCgVBdXRobhIeTGlzdCBhdXRoZW50aWNhdGlvbiBzdHJhdGVnaWVzGnFSZXR1cm5zIGEgbGlzdCBvZiBpZGVudGl0eSBwcm92aWRlcnMgY29uZmlndXJlZCBvbiBhbiBpbnN0YW5jZSBsZXZlbCBpbiBGcm9udGllci4gZS5nIEdvb2dsZSwgQXp1cmVBRCwgR2l0aHViIGV0Y4LT5JMCDxINL3YxYmV0YTEvYXV0aBLpBAoMQXV0aGVudGljYXRlEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoZW50aWNhdGVSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoZW50aWNhdGVSZXNwb25zZSL3A5JBmAMKBUF1dGhuEhxBdXRoZW50aWNhdGUgd2l0aCBhIHN0cmF0ZWd5GvACQXV0aGVudGljYXRlIGEgdXNlciB3aXRoIGEgc3RyYXRlZ3kuIEJ5IGRlZmF1bHQsIGFmdGVyIHN1Y2Nlc3NmdWwgYXV0aGVudGljYXRpb24gbm8gb3BlcmF0aW9uIHdpbGwgYmUgcGVyZm9ybWVkIHRvIGFwcGx5IHJlZGlyZWN0aW9uIGluIGNhc2Ugb2YgYnJvd3NlcnMsIHByb3ZpZGUgYSB1cmwgaW4gdGhlIGF1dGhlbnRpY2F0ZSByZXF1ZXN0IGJvZHkgdGhhdCB3aWxsIGJlIHVzZWQgZm9yIHJlZGlyZWN0aW9uIGFmdGVyIGF1dGhlbnRpY2F0aW9uLiBBbHNvIHNldCByZWRpcmVjdCBhcyB0cnVlIGZvciByZWRpcmVjdGluZyB0aGUgdXNlciByZXF1ZXN0IHRvIHRoZSByZWRpcmVjdF91cmwgYWZ0ZXIgc3VjY2Vzc2Z1bCBhdXRoZW50aWNhdGlvbi6C0+STAlUSJi92MWJldGExL2F1dGgvcmVnaXN0ZXIve3N0cmF0ZWd5X25hbWV9WisiJi92MWJldGExL2F1dGgvcmVnaXN0ZXIve3N0cmF0ZWd5X25hbWV9OgEqEr0ECgxBdXRoQ2FsbGJhY2sSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhDYWxsYmFja1JlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhDYWxsYmFja1Jlc3BvbnNlIssDkkGMAwoFQXV0aG4SGENhbGxiYWNrIGZyb20gYSBzdHJhdGVneRroAkNhbGxiYWNrIGZyb20gYSBzdHJhdGVneS4gVGhpcyBpcyB0aGUgZW5kcG9pbnQgd2hlcmUgdGhlIHN0cmF0ZWd5IHdpbGwgcmVkaXJlY3QgdGhlIHVzZXIgYWZ0ZXIgc3VjY2Vzc2Z1bCBhdXRoZW50aWNhdGlvbi4gVGhpcyBlbmRwb2ludCB3aWxsIGJlIGNhbGxlZCB3aXRoIHRoZSBjb2RlIGFuZCBzdGF0ZSBxdWVyeSBwYXJhbWV0ZXJzLiBUaGUgY29kZSB3aWxsIGJlIHVzZWQgdG8gZ2V0IHRoZSBhY2Nlc3MgdG9rZW4gZnJvbSB0aGUgc3RyYXRlZ3kgYW5kIHRoZSBzdGF0ZSB3aWxsIGJlIHVzZWQgdG8gZ2V0IHRoZSByZXR1cm5fdG8gdXJsIGZyb20gdGhlIHNlc3Npb24gYW5kIHJlZGlyZWN0IHRoZSB1c2VyIHRvIHRoYXQgdXJsLoLT5JMCNRIWL3YxYmV0YTEvYXV0aC9jYWxsYmFja1obIhYvdjFiZXRhMS9hdXRoL2NhbGxiYWNrOgEqEsIDCglBdXRoVG9rZW4SKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhUb2tlblJlcXVlc3QaLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhUb2tlblJlc3BvbnNlItkCkkG3AgoFQXV0aG4SKkdlbmVyYXRlIGFjY2VzcyB0b2tlbiBieSBnaXZlbiBjcmVkZW50aWFscxqBAkFjY2VzcyB0b2tlbiBjYW4gYmUgZ2VuZXJhdGVkIGJ5IHByb3ZpZGluZyB0aGUgY3JlZGVudGlhbHMgaW4gdGhlIHJlcXVlc3QgYm9keS9oZWFkZXIuIFRoZSBjcmVkZW50aWFscyBjYW4gYmUgY2xpZW50IGlkIGFuZCBzZWNyZXQgb3Igc2VydmljZSBhY2NvdW50IGdlbmVyYXRlZCBrZXkgand0LiBVc2UgdGhlIGdlbmVyYXRlZCBhY2Nlc3MgdG9rZW4gaW4gQXV0aG9yaXphdGlvbiBoZWFkZXIgdG8gYWNjZXNzIHRoZSBmcm9udGllciByZXNvdXJjZXMugtPkkwIYIhMvdjFiZXRhMS9hdXRoL3Rva2VuOgEqEsEBCgpBdXRoTG9nb3V0EiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoTG9nb3V0UmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aExvZ291dFJlc3BvbnNlIlaSQR8KBUF1dGhuEhZMb2dvdXQgZnJvbSBhIHN0cmF0ZWd5gtPkkwIuEhQvdjFiZXRhMS9hdXRoL2xvZ291dFoWKhQvdjFiZXRhMS9hdXRoL2xvZ291dBKuAgoPTGlzdE1ldGFTY2hlbWFzEjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0TWV0YVNjaGVtYXNSZXF1ZXN0GjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0TWV0YVNjaGVtYXNSZXNwb25zZSKzAZJBkgEKCk1ldGFTY2hlbWESEExpc3QgbWV0YXNjaGVtYXMaclJldHVybnMgYSBsaXN0IG9mIGFsbCBtZXRhc2NoZW1hcyBjb25maWd1cmVkIG9uIGFuIGluc3RhbmNlIGxldmVsIGluIEZyb250aWVyLiBlLmcgdXNlciwgcHJvamVjdCwgb3JnYW5pemF0aW9uIGV0Y4LT5JMCFxIVL3YxYmV0YTEvbWV0YS9zY2hlbWFzEp8FChBDcmVhdGVNZXRhU2NoZW1hEjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVNZXRhU2NoZW1hUmVxdWVzdBozLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlTWV0YVNjaGVtYVJlc3BvbnNlIqEEkkH6AwoKTWV0YVNjaGVtYRIRQ3JlYXRlIG1ldGFzY2hlbWEa2ANDcmVhdGUgYSBuZXcgbWV0YWRhdGEgc2NoZW1hLiBUaGUgbWV0YXNjaGVtYSAqKm5hbWUqKiBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGVudGlyZSBGcm9udGllciBpbnN0YW5jZSBhbmQgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy4gVGhlIG1ldGFzY2hlbWEgKipzY2hlbWEqKiBtdXN0IGJlIGEgdmFsaWQgSlNPTiBzY2hlbWEuUGxlYXNlIHJlZmVyIHRvIGh0dHBzOi8vanNvbi1zY2hlbWEub3JnLyB0byBrbm93IG1vcmUgYWJvdXQganNvbiBzY2hlbWEuIDxici8+KkV4YW1wbGU6KiBge25hbWU6InVzZXIiLHNjaGVtYTp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7ImxhYmVsIjp7InR5cGUiOiJvYmplY3QiLCJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn19LCJkZXNjcmlwdGlvbiI6eyJ0eXBlIjoic3RyaW5nIn19fX1ggtPkkwIdIhUvdjFiZXRhMS9tZXRhL3NjaGVtYXM6BGJvZHkS0wEKDUdldE1ldGFTY2hlbWESLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE1ldGFTY2hlbWFSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRNZXRhU2NoZW1hUmVzcG9uc2UiX5JBOgoKTWV0YVNjaGVtYRIOR2V0IG1ldGFzY2hlbWEaHEdldCBhIG1ldGFkYXRhIHNjaGVtYSBieSBJRC6C0+STAhwSGi92MWJldGExL21ldGEvc2NoZW1hcy97aWR9EsEEChBVcGRhdGVNZXRhU2NoZW1hEjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVNZXRhU2NoZW1hUmVxdWVzdBozLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlTWV0YVNjaGVtYVJlc3BvbnNlIsMDkkGXAwoKTWV0YVNjaGVtYRIRVXBkYXRlIG1ldGFzY2hlbWEa9QJVcGRhdGUgYSBtZXRhZGF0YSBzY2hlbWEuIE9ubHkgYHNjaGVtYWAgZmllbGQgb2YgYSBtZXRhc2NoZW1hIGNhbiBiZSB1cGRhdGVkLiBUaGUgbWV0YXNjaGVtYSBgc2NoZW1hYCBtdXN0IGJlIGEgdmFsaWQgSlNPTiBzY2hlbWEuUGxlYXNlIHJlZmVyIHRvIGh0dHBzOi8vanNvbi1zY2hlbWEub3JnLyB0byBrbm93IG1vcmUgYWJvdXQganNvbiBzY2hlbWEuIDxici8+KkV4YW1wbGU6KiBge25hbWU6InVzZXIiLHNjaGVtYTp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7ImxhYmVsIjp7InR5cGUiOiJvYmplY3QiLCJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn19LCJkZXNjcmlwdGlvbiI6eyJ0eXBlIjoic3RyaW5nIn19fX1ggtPkkwIiGhovdjFiZXRhMS9tZXRhL3NjaGVtYXMve2lkfToEYm9keRLjBAoQRGVsZXRlTWV0YVNjaGVtYRIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlTWV0YVNjaGVtYVJlcXVlc3QaMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU1ldGFTY2hlbWFSZXNwb25zZSLlA5JBvwMKCk1ldGFTY2hlbWESEURlbGV0ZSBtZXRhc2NoZW1hGp0DRGVsZXRlIGEgbWV0YWRhdGEgc2NoZW1hIHBlcm1hbmVudGx5LiBPbmNlIGRlbGV0ZWQgdGhlIG1ldGFzY2hlbWEgd29uJ3QgYmUgdXNlZCB0byB2YWxpZGF0ZSB0aGUgbWV0YWRhdGEuIEZvciBleGFtcGxlLCBpZiBhIG1ldGFzY2hlbWEod2l0aCBgbGFiZWxgIGFuZCBgZGVzY3JpcHRpb25gIGZpZWxkcykgaXMgdXNlZCB0byB2YWxpZGF0ZSB0aGUgbWV0YWRhdGEgb2YgYSB1c2VyLCB0aGVuIGRlbGV0aW5nIHRoZSBtZXRhc2NoZW1hIHdpbGwgbm90IHZhbGlkYXRlIHRoZSBtZXRhZGF0YSBvZiB0aGUgdXNlciBhbmQgbWV0YWRhdGEgZmllbGQgY2FuIGNvbnRhaW4gYW55IGtleS12YWx1ZSBwYWlyKGFuZCBzYXkgYW5vdGhlciBmaWVsZCBjYWxsZWQgYGZvb2AgY2FuIGJlIGluc2VydGVkIGluIGEgdXNlcidzIG1ldGFkYXRhKS6C0+STAhwqGi92MWJldGExL21ldGEvc2NoZW1hcy97aWR9EuACChlMaXN0T3JnYW5pemF0aW9uQXVkaXRMb2dzEjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uQXVkaXRMb2dzUmVxdWVzdBo8LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkF1ZGl0TG9nc1Jlc3BvbnNlIscBiAIBkkGPAQoIQXVkaXRMb2cSD0xpc3QgYXVkaXQgbG9ncxpwUmV0dXJucyBhIGxpc3Qgb2YgYXVkaXQgbG9ncyBvZiBhbiBvcmdhbml6YXRpb24gaW4gRnJvbnRpZXIuIERFUFJFQ0FURUQ6IFVzZSBhZG1pbiBMaXN0QXVkaXRSZWNvcmRzIEFQSSBpbnN0ZWFkLlgBgtPkkwIrEikvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2F1ZGl0bG9ncxLVAgobQ3JlYXRlT3JnYW5pemF0aW9uQXVkaXRMb2dzEj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25BdWRpdExvZ3NSZXF1ZXN0Gj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25BdWRpdExvZ3NSZXNwb25zZSK2AYgCAZJBfAoIQXVkaXRMb2cSEENyZWF0ZSBhdWRpdCBsb2caXENyZWF0ZSBuZXcgYXVkaXQgbG9ncyBpbiBhIGJhdGNoLiBERVBSRUNBVEVEOiBVc2UgTGlzdEF1ZGl0UmVjb3JkcyBBUEkgaW5zdGVhZCB3aXRoIGZpbHRlcnMuWAGC0+STAi4iKS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYXVkaXRsb2dzOgEqErUCChdHZXRPcmdhbml6YXRpb25BdWRpdExvZxI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uQXVkaXRMb2dSZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25BdWRpdExvZ1Jlc3BvbnNlIqIBiAIBkkFmCghBdWRpdExvZxINR2V0IGF1ZGl0IGxvZxpJR2V0IGFuIGF1ZGl0IGxvZyBieSBJRC4gREVQUkVDQVRFRDogVXNlIGFkbWluIEdldEF1ZGl0UmVjb3JkIEFQSSBpbnN0ZWFkLlgBgtPkkwIwEi4vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2F1ZGl0bG9ncy97aWR9EokCChNEZXNjcmliZVByZWZlcmVuY2VzEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZXNjcmliZVByZWZlcmVuY2VzUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVzY3JpYmVQcmVmZXJlbmNlc1Jlc3BvbnNlIoIBkkFcCgpQcmVmZXJlbmNlEhREZXNjcmliZSBwcmVmZXJlbmNlcxo4UmV0dXJucyBhIGxpc3Qgb2YgYWxsIHByZWZlcmVuY2VzIHN1cHBvcnRlZCBieSBGcm9udGllci6C0+STAh0SGy92MWJldGExL3ByZWZlcmVuY2VzL3RyYWl0cxLEAwodQ3JlYXRlT3JnYW5pemF0aW9uUHJlZmVyZW5jZXMSPy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVxdWVzdBpALnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXNwb25zZSKfApJB6QEKClByZWZlcmVuY2USH0NyZWF0ZSBvcmdhbml6YXRpb24gcHJlZmVyZW5jZXMauQFDcmVhdGUgYSBuZXcgb3JnYW5pemF0aW9uIHByZWZlcmVuY2VzLiBUaGUgb3JnYW5pemF0aW9uIHByZWZlcmVuY2VzICoqbmFtZSoqIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgb3JnYW5pemF0aW9uIGFuZCBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLoLT5JMCLCInL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3ByZWZlcmVuY2VzOgEqEqUCChtMaXN0T3JnYW5pemF0aW9uUHJlZmVyZW5jZXMSPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25QcmVmZXJlbmNlc1JlcXVlc3QaPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25QcmVmZXJlbmNlc1Jlc3BvbnNlIoYBkkFUCgpQcmVmZXJlbmNlEh1MaXN0IG9yZ2FuaXphdGlvbiBwcmVmZXJlbmNlcxonTGlzdCBhbiBvcmdhbml6YXRpb24gcHJlZmVyZW5jZXMgYnkgSUQugtPkkwIpEicvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vcHJlZmVyZW5jZXMSnAMKGENyZWF0ZVByb2plY3RQcmVmZXJlbmNlcxI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvamVjdFByZWZlcmVuY2VzUmVxdWVzdBo7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvamVjdFByZWZlcmVuY2VzUmVzcG9uc2UihgKSQdUBCgpQcmVmZXJlbmNlEhpDcmVhdGUgcHJvamVjdCBwcmVmZXJlbmNlcxqqAUNyZWF0ZSBhIG5ldyBwcm9qZWN0IHByZWZlcmVuY2VzLiBUaGUgcHJvamVjdCBwcmVmZXJlbmNlcyAqKm5hbWUqKiBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHByb2plY3QgYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMugtPkkwInIiIvdjFiZXRhMS9wcm9qZWN0cy97aWR9L3ByZWZlcmVuY2VzOgEqEoUCChZMaXN0UHJvamVjdFByZWZlcmVuY2VzEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFByZWZlcmVuY2VzUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RQcmVmZXJlbmNlc1Jlc3BvbnNlInaSQUkKClByZWZlcmVuY2USGExpc3QgcHJvamVjdCBwcmVmZXJlbmNlcxohTGlzdCBhIHByb2plY3QgcHJlZmVyZW5jZXMgYnkgSUQugtPkkwIkEiIvdjFiZXRhMS9wcm9qZWN0cy97aWR9L3ByZWZlcmVuY2VzEowDChZDcmVhdGVHcm91cFByZWZlcmVuY2VzEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVHcm91cFByZWZlcmVuY2VzUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlR3JvdXBQcmVmZXJlbmNlc1Jlc3BvbnNlIvwBkkHNAQoKUHJlZmVyZW5jZRIYQ3JlYXRlIGdyb3VwIHByZWZlcmVuY2VzGqQBQ3JlYXRlIGEgbmV3IGdyb3VwIHByZWZlcmVuY2VzLiBUaGUgZ3JvdXAgcHJlZmVyZW5jZXMgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBncm91cCBhbmQgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy6C0+STAiUiIC92MWJldGExL2dyb3Vwcy97aWR9L3ByZWZlcmVuY2VzOgEqEvkBChRMaXN0R3JvdXBQcmVmZXJlbmNlcxI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEdyb3VwUHJlZmVyZW5jZXNSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0R3JvdXBQcmVmZXJlbmNlc1Jlc3BvbnNlInCSQUUKClByZWZlcmVuY2USFkxpc3QgZ3JvdXAgcHJlZmVyZW5jZXMaH0xpc3QgYSBncm91cCBwcmVmZXJlbmNlcyBieSBJRC6C0+STAiISIC92MWJldGExL2dyb3Vwcy97aWR9L3ByZWZlcmVuY2VzEoQDChVDcmVhdGVVc2VyUHJlZmVyZW5jZXMSNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVVzZXJQcmVmZXJlbmNlc1JlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVVzZXJQcmVmZXJlbmNlc1Jlc3BvbnNlIvcBkkHJAQoKUHJlZmVyZW5jZRIXQ3JlYXRlIHVzZXIgcHJlZmVyZW5jZXMaoQFDcmVhdGUgYSBuZXcgdXNlciBwcmVmZXJlbmNlcy4gVGhlIHVzZXIgcHJlZmVyZW5jZXMgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSB1c2VyIGFuZCBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLoLT5JMCJCIfL3YxYmV0YTEvdXNlcnMve2lkfS9wcmVmZXJlbmNlczoBKhLzAQoTTGlzdFVzZXJQcmVmZXJlbmNlcxI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VyUHJlZmVyZW5jZXNSZXNwb25zZSJtkkFDCgpQcmVmZXJlbmNlEhVMaXN0IHVzZXIgcHJlZmVyZW5jZXMaHkxpc3QgYSB1c2VyIHByZWZlcmVuY2VzIGJ5IElELoLT5JMCIRIfL3YxYmV0YTEvdXNlcnMve2lkfS9wcmVmZXJlbmNlcxKhAwocQ3JlYXRlQ3VycmVudFVzZXJQcmVmZXJlbmNlcxI+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQ3VycmVudFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QaPy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXNwb25zZSL/AZJB0QEKClByZWZlcmVuY2USH0NyZWF0ZSBjdXJyZW50IHVzZXIgcHJlZmVyZW5jZXMaoQFDcmVhdGUgYSBuZXcgdXNlciBwcmVmZXJlbmNlcy4gVGhlIHVzZXIgcHJlZmVyZW5jZXMgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSB1c2VyIGFuZCBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLoLT5JMCJCIfL3YxYmV0YTEvdXNlcnMvc2VsZi9wcmVmZXJlbmNlczoBKhKQAgoaTGlzdEN1cnJlbnRVc2VyUHJlZmVyZW5jZXMSPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlclByZWZlcmVuY2VzUmVxdWVzdBo9LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXNwb25zZSJ1kkFLCgpQcmVmZXJlbmNlEh1MaXN0IGN1cnJlbnQgdXNlciBwcmVmZXJlbmNlcxoeTGlzdCBhIHVzZXIgcHJlZmVyZW5jZXMgYnkgSUQugtPkkwIhEh8vdjFiZXRhMS91c2Vycy9zZWxmL3ByZWZlcmVuY2VzEpMCChRDcmVhdGVCaWxsaW5nQWNjb3VudBI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQmlsbGluZ0FjY291bnRSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVCaWxsaW5nQWNjb3VudFJlc3BvbnNlIokBkkFUCgdCaWxsaW5nEhZDcmVhdGUgYmlsbGluZyBhY2NvdW50GjFDcmVhdGUgYSBuZXcgYmlsbGluZyBhY2NvdW50IGZvciBhbiBvcmdhbml6YXRpb24ugtPkkwIsIicvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmc6ASoS8wEKEUdldEJpbGxpbmdBY2NvdW50EjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRCaWxsaW5nQWNjb3VudFJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEJpbGxpbmdBY2NvdW50UmVzcG9uc2Uic5JBPAoHQmlsbGluZxITR2V0IGJpbGxpbmcgYWNjb3VudBocR2V0IGEgYmlsbGluZyBhY2NvdW50IGJ5IElELoLT5JMCLhIsL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0ShQIKFFVwZGF0ZUJpbGxpbmdBY2NvdW50EjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVCaWxsaW5nQWNjb3VudFJlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UifJJBQgoHQmlsbGluZxIWVXBkYXRlIGJpbGxpbmcgYWNjb3VudBofVXBkYXRlIGEgYmlsbGluZyBhY2NvdW50IGJ5IElELoLT5JMCMRosL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH06ASoSwQIKFlJlZ2lzdGVyQmlsbGluZ0FjY291bnQSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlZ2lzdGVyQmlsbGluZ0FjY291bnRSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZWdpc3RlckJpbGxpbmdBY2NvdW50UmVzcG9uc2UisQGSQW4KB0JpbGxpbmcSJFJlZ2lzdGVyIGJpbGxpbmcgYWNjb3VudCB0byBwcm92aWRlcho9UmVnaXN0ZXIgYSBiaWxsaW5nIGFjY291bnQgdG8gYSBwcm92aWRlciBpZiBpdCdzIG5vdCBhbHJlYWR5LoLT5JMCOiI1L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0vcmVnaXN0ZXI6ASoSgwIKE0xpc3RCaWxsaW5nQWNjb3VudHMSNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RCaWxsaW5nQWNjb3VudHNSZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0QmlsbGluZ0FjY291bnRzUmVzcG9uc2UifZJBSwoHQmlsbGluZxIVTGlzdCBiaWxsaW5nIGFjY291bnRzGilMaXN0IGJpbGxpbmcgYWNjb3VudHMgb2YgYW4gb3JnYW5pemF0aW9uLoLT5JMCKRInL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nEoICChREZWxldGVCaWxsaW5nQWNjb3VudBI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlQmlsbGluZ0FjY291bnRSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVCaWxsaW5nQWNjb3VudFJlc3BvbnNlInmSQUIKB0JpbGxpbmcSFkRlbGV0ZSBiaWxsaW5nIGFjY291bnQaH0RlbGV0ZSBhIGJpbGxpbmcgYWNjb3VudCBieSBJRC6C0+STAi4qLC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9Eo0CChRFbmFibGVCaWxsaW5nQWNjb3VudBI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVCaWxsaW5nQWNjb3VudFJlc3BvbnNlIoMBkkFCCgdCaWxsaW5nEhZFbmFibGUgYmlsbGluZyBhY2NvdW50Gh9FbmFibGUgYSBiaWxsaW5nIGFjY291bnQgYnkgSUQugtPkkwI4IjMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfS9lbmFibGU6ASoS6QIKFURpc2FibGVCaWxsaW5nQWNjb3VudBI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZUJpbGxpbmdBY2NvdW50UmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZUJpbGxpbmdBY2NvdW50UmVzcG9uc2Ui3AGSQZkBCgdCaWxsaW5nEhdEaXNhYmxlIGJpbGxpbmcgYWNjb3VudBp1RGlzYWJsZSBhIGJpbGxpbmcgYWNjb3VudCBieSBJRC4gRGlzYWJsaW5nIGEgYmlsbGluZyBhY2NvdW50IGRvZXNuJ3QgYXV0b21hdGljYWxseSBkaXNhYmxlIGl0J3MgYWN0aXZlIHN1YnNjcmlwdGlvbnMugtPkkwI5IjQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfS9kaXNhYmxlOgEqEosCChFHZXRCaWxsaW5nQmFsYW5jZRIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0QmlsbGluZ0JhbGFuY2VSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRCaWxsaW5nQmFsYW5jZVJlc3BvbnNlIooBkkFLCgdCaWxsaW5nEhNHZXQgYmlsbGluZyBiYWxhbmNlGitHZXQgdGhlIGJhbGFuY2Ugb2YgYSBiaWxsaW5nIGFjY291bnQgYnkgSUQugtPkkwI2EjQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfS9iYWxhbmNlEvoBCgpIYXNUcmlhbGVkEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5IYXNUcmlhbGVkUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSGFzVHJpYWxlZFJlc3BvbnNlIo4BkkE/CgdCaWxsaW5nEgtIYXMgdHJpYWxlZBonQ2hlY2sgaWYgYSBiaWxsaW5nIGFjY291bnQgaGFzIHRyaWFsZWQugtPkkwJGEkQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfS9wbGFucy97cGxhbl9pZH0vdHJpYWxlZBLHAgoPR2V0U3Vic2NyaXB0aW9uEjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTdWJzY3JpcHRpb25SZXF1ZXN0GjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTdWJzY3JpcHRpb25SZXNwb25zZSLMAZJBOwoMU3Vic2NyaXB0aW9uEhBHZXQgc3Vic2NyaXB0aW9uGhlHZXQgYSBzdWJzY3JpcHRpb24gYnkgSUQugtPkkwKHARJHL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9zdWJzY3JpcHRpb25zL3tpZH1aPBI6L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3N1YnNjcmlwdGlvbnMve2lkfRLqAgoSQ2FuY2VsU3Vic2NyaXB0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DYW5jZWxTdWJzY3JpcHRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DYW5jZWxTdWJzY3JpcHRpb25SZXNwb25zZSLmAZJBQQoMU3Vic2NyaXB0aW9uEhNDYW5jZWwgc3Vic2NyaXB0aW9uGhxDYW5jZWwgYSBzdWJzY3JpcHRpb24gYnkgSUQugtPkkwKbASJOL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9zdWJzY3JpcHRpb25zL3tpZH0vY2FuY2VsOgEqWkYiQS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9zdWJzY3JpcHRpb25zL3tpZH0vY2FuY2VsOgEqEtMCChFMaXN0U3Vic2NyaXB0aW9ucxIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFN1YnNjcmlwdGlvbnNSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U3Vic2NyaXB0aW9uc1Jlc3BvbnNlItIBkkFMCgxTdWJzY3JpcHRpb24SEkxpc3Qgc3Vic2NyaXB0aW9ucxooTGlzdCBzdWJzY3JpcHRpb25zIG9mIGEgYmlsbGluZyBhY2NvdW50LoLT5JMCfRJCL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9zdWJzY3JpcHRpb25zWjcSNS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9zdWJzY3JpcHRpb25zEvQCChJDaGFuZ2VTdWJzY3JpcHRpb24SNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoYW5nZVN1YnNjcmlwdGlvblJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoYW5nZVN1YnNjcmlwdGlvblJlc3BvbnNlIvABkkFLCgxTdWJzY3JpcHRpb24SGENoYW5nZSBzdWJzY3JpcHRpb24gcGxhbhohQ2hhbmdlIGEgc3Vic2NyaXB0aW9uIHBsYW4gYnkgSUQugtPkkwKbASJOL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9zdWJzY3JpcHRpb25zL3tpZH0vY2hhbmdlOgEqWkYiQS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9zdWJzY3JpcHRpb25zL3tpZH0vY2hhbmdlOgEqEtwCChJVcGRhdGVTdWJzY3JpcHRpb24SNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVN1YnNjcmlwdGlvblJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVN1YnNjcmlwdGlvblJlc3BvbnNlItgBkkFBCgxTdWJzY3JpcHRpb24SE1VwZGF0ZSBzdWJzY3JpcHRpb24aHFVwZGF0ZSBhIHN1YnNjcmlwdGlvbiBieSBJRC6C0+STAo0BGkcvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3N1YnNjcmlwdGlvbnMve2lkfToBKlo/IjovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvc3Vic2NyaXB0aW9ucy97aWR9OgEqEtgBCg1DcmVhdGVQcm9kdWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9kdWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvZHVjdFJlc3BvbnNlImSSQT0KB1Byb2R1Y3QSDkNyZWF0ZSBwcm9kdWN0GiJDcmVhdGUgYSBuZXcgcHJvZHVjdCBmb3IgcGxhdGZvcm0ugtPkkwIeIhkvdjFiZXRhMS9iaWxsaW5nL3Byb2R1Y3RzOgEqEsABCgpHZXRQcm9kdWN0EiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQcm9kdWN0UmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvZHVjdFJlc3BvbnNlIlWSQSwKB1Byb2R1Y3QSC0dldCBwcm9kdWN0GhRHZXQgYSBwcm9kdWN0IGJ5IElELoLT5JMCIBIeL3YxYmV0YTEvYmlsbGluZy9wcm9kdWN0cy97aWR9Es8BCgxMaXN0UHJvZHVjdHMSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9kdWN0c1JlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9kdWN0c1Jlc3BvbnNlIl6SQToKB1Byb2R1Y3QSDUxpc3QgcHJvZHVjdHMaIExpc3QgYWxsIHByb2R1Y3RzIG9mIGEgcGxhdGZvcm0ugtPkkwIbEhkvdjFiZXRhMS9iaWxsaW5nL3Byb2R1Y3RzEtIBCg1VcGRhdGVQcm9kdWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9kdWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUHJvZHVjdFJlc3BvbnNlIl6SQTIKB1Byb2R1Y3QSDlVwZGF0ZSBwcm9kdWN0GhdVcGRhdGUgYSBwcm9kdWN0IGJ5IElELoLT5JMCIxoeL3YxYmV0YTEvYmlsbGluZy9wcm9kdWN0cy97aWR9OgEqEtgBCg1DcmVhdGVGZWF0dXJlEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVGZWF0dXJlUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlRmVhdHVyZVJlc3BvbnNlImSSQT0KB0ZlYXR1cmUSDkNyZWF0ZSBmZWF0dXJlGiJDcmVhdGUgYSBuZXcgZmVhdHVyZSBmb3IgcGxhdGZvcm0ugtPkkwIeIhkvdjFiZXRhMS9iaWxsaW5nL2ZlYXR1cmVzOgEqEsABCgpHZXRGZWF0dXJlEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRGZWF0dXJlUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0RmVhdHVyZVJlc3BvbnNlIlWSQSwKB0ZlYXR1cmUSC0dldCBmZWF0dXJlGhRHZXQgYSBmZWF0dXJlIGJ5IElELoLT5JMCIBIeL3YxYmV0YTEvYmlsbGluZy9mZWF0dXJlcy97aWR9EtIBCg1VcGRhdGVGZWF0dXJlEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVGZWF0dXJlUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlRmVhdHVyZVJlc3BvbnNlIl6SQTIKB0ZlYXR1cmUSDlVwZGF0ZSBmZWF0dXJlGhdVcGRhdGUgYSBmZWF0dXJlIGJ5IElELoLT5JMCIxoeL3YxYmV0YTEvYmlsbGluZy9mZWF0dXJlcy97aWR9OgEqEsABCgxMaXN0RmVhdHVyZXMSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RGZWF0dXJlc1JlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RGZWF0dXJlc1Jlc3BvbnNlIk+SQSsKB0ZlYXR1cmUSDUxpc3QgZmVhdHVyZXMaEUxpc3QgYWxsIGZlYXR1cmVzgtPkkwIbEhkvdjFiZXRhMS9iaWxsaW5nL2ZlYXR1cmVzEsMBCgpDcmVhdGVQbGFuEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQbGFuUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUGxhblJlc3BvbnNlIliSQTQKBFBsYW4SC0NyZWF0ZSBwbGFuGh9DcmVhdGUgYSBuZXcgcGxhbiBmb3IgcGxhdGZvcm0ugtPkkwIbIhYvdjFiZXRhMS9iaWxsaW5nL3BsYW5zOgEqEqwBCglMaXN0UGxhbnMSKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQbGFuc1JlcXVlc3QaLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQbGFuc1Jlc3BvbnNlIkSSQSMKBFBsYW4SCkxpc3QgcGxhbnMaD0xpc3QgYWxsIHBsYW5zLoLT5JMCGBIWL3YxYmV0YTEvYmlsbGluZy9wbGFucxKrAQoHR2V0UGxhbhIpLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UGxhblJlcXVlc3QaKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFBsYW5SZXNwb25zZSJJkkEjCgRQbGFuEghHZXQgcGxhbhoRR2V0IGEgcGxhbiBieSBJRC6C0+STAh0SGy92MWJldGExL2JpbGxpbmcvcGxhbnMve2lkfRK9AQoKVXBkYXRlUGxhbhIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUGxhblJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVBsYW5SZXNwb25zZSJSkkEpCgRQbGFuEgtVcGRhdGUgcGxhbhoUVXBkYXRlIGEgcGxhbiBieSBJRC6C0+STAiAaGy92MWJldGExL2JpbGxpbmcvcGxhbnMve2lkfToBKhKFAwoOQ3JlYXRlQ2hlY2tvdXQSMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUNoZWNrb3V0UmVxdWVzdBoxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQ2hlY2tvdXRSZXNwb25zZSKNApJBiAEKCENoZWNrb3V0EiJDaGVja291dCBhIHByb2R1Y3Qgb3Igc3Vic2NyaXB0aW9uGlhDaGVja291dCBhIHByb2R1Y3QgdG8gYnV5IGl0IG9uZSB0aW1lIG9yIHN0YXJ0IGEgc3Vic2NyaXB0aW9uIHBsYW4gb24gYSBiaWxsaW5nIGFjY291bnQugtPkkwJ7Ij4vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2NoZWNrb3V0czoBKlo2IjEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvY2hlY2tvdXRzOgEqErcCCg1MaXN0Q2hlY2tvdXRzEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q2hlY2tvdXRzUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdENoZWNrb3V0c1Jlc3BvbnNlIsIBkkFECghDaGVja291dBIOTGlzdCBjaGVja291dHMaKExpc3QgYWxsIGNoZWNrb3V0cyBvZiBhIGJpbGxpbmcgYWNjb3VudC6C0+STAnUSPi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vY2hlY2tvdXRzWjMSMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9jaGVja291dHMSpgIKC0dldENoZWNrb3V0Ei0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRDaGVja291dFJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldENoZWNrb3V0UmVzcG9uc2UitwGSQS8KCENoZWNrb3V0EgxHZXQgY2hlY2tvdXQaFUdldCBhIGNoZWNrb3V0IGJ5IElELoLT5JMCfxJDL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9jaGVja291dHMve2lkfVo4EjYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvY2hlY2tvdXRzL3tpZH0S3AIKF0NoZWNrRmVhdHVyZUVudGl0bGVtZW50EjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja0ZlYXR1cmVFbnRpdGxlbWVudFJlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrRmVhdHVyZUVudGl0bGVtZW50UmVzcG9uc2UiyQGSQVYKC0VudGl0bGVtZW50EhFDaGVjayBlbnRpdGxlbWVudBo0Q2hlY2sgaWYgYSBiaWxsaW5nIGFjY291bnQgaXMgZW50aXRsZWQgdG8gYSBmZWF0dXJlLoLT5JMCaiI6L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9jaGVjazoBKlopIiQvdjFiZXRhMS9vcmdhbml6YXRpb25zL2JpbGxpbmcvY2hlY2s6ASoSnwIKFkNoZWNrQ3JlZGl0RW50aXRsZW1lbnQSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrQ3JlZGl0RW50aXRsZW1lbnRSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja0NyZWRpdEVudGl0bGVtZW50UmVzcG9uc2UijwGSQWsKC0VudGl0bGVtZW50EhhDaGVjayBjcmVkaXQgZW50aXRsZW1lbnQaQkNoZWNrIGlmIGEgYmlsbGluZyBhY2NvdW50IGhhcyBlbm91Z2ggY3JlZGl0cyB0byBjb3ZlciB0aGUgYW1vdW50LoLT5JMCGyIWL3YxYmV0YTEvYmlsbGluZy9jaGVjazoBKhLJAgoSQ3JlYXRlQmlsbGluZ1VzYWdlEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVCaWxsaW5nVXNhZ2VSZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVCaWxsaW5nVXNhZ2VSZXNwb25zZSLFAZJBUAoFVXNhZ2USFENyZWF0ZSBiaWxsaW5nIHVzYWdlGjFSZXBvcnQgYSBuZXcgYmlsbGluZyB1c2FnZSBmb3IgYSBiaWxsaW5nIGFjY291bnQugtPkkwJsIjsvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3VzYWdlczoBKloqIiUvdjFiZXRhMS9vcmdhbml6YXRpb25zL2JpbGxpbmcvdXNhZ2VzOgEqEuwCChdMaXN0QmlsbGluZ1RyYW5zYWN0aW9ucxI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEJpbGxpbmdUcmFuc2FjdGlvbnNSZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0QmlsbGluZ1RyYW5zYWN0aW9uc1Jlc3BvbnNlItkBkkFVCgtUcmFuc2FjdGlvbhIZTGlzdCBiaWxsaW5nIHRyYW5zYWN0aW9ucxorTGlzdCBhbGwgdHJhbnNhY3Rpb25zIG9mIGEgYmlsbGluZyBhY2NvdW50LoLT5JMCexJBL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS90cmFuc2FjdGlvbnNaNhI0L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3RyYW5zYWN0aW9ucxLvAgoYVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Ub3RhbERlYml0ZWRUcmFuc2FjdGlvbnNSZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Ub3RhbERlYml0ZWRUcmFuc2FjdGlvbnNSZXNwb25zZSLZAZJBfwoLVHJhbnNhY3Rpb24SN1N1bSBvZiBhbW91bnQgb2YgZGViaXRlZCB0cmFuc2FjdGlvbnMgaW5jbHVkaW5nIHJlZnVuZHMaN1N1bSBvZiBhbW91bnQgb2YgZGViaXRlZCB0cmFuc2FjdGlvbnMgaW5jbHVkaW5nIHJlZnVuZHOC0+STAlESTy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vZGViaXRlZF90cmFuc2FjdGlvbnNfdG90YWwSrwIKDExpc3RJbnZvaWNlcxIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEludm9pY2VzUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEludm9pY2VzUmVzcG9uc2UivQGSQUEKB0ludm9pY2USDUxpc3QgaW52b2ljZXMaJ0xpc3QgYWxsIGludm9pY2VzIG9mIGEgYmlsbGluZyBhY2NvdW50LoLT5JMCcxI9L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9pbnZvaWNlc1oyEjAvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvaW52b2ljZXMS4gIKEkdldFVwY29taW5nSW52b2ljZRI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0VXBjb21pbmdJbnZvaWNlUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0VXBjb21pbmdJbnZvaWNlUmVzcG9uc2Ui3gGSQU8KB0ludm9pY2USFEdldCB1cGNvbWluZyBpbnZvaWNlGi5HZXQgdGhlIHVwY29taW5nIGludm9pY2Ugb2YgYSBiaWxsaW5nIGFjY291bnQugtPkkwKFARJGL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9pbnZvaWNlcy91cGNvbWluZ1o7EjkvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvaW52b2ljZXMvdXBjb21pbmcSnAIKFkJpbGxpbmdXZWJob29rQ2FsbGJhY2sSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdXZWJob29rQ2FsbGJhY2tSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nV2ViaG9va0NhbGxiYWNrUmVzcG9uc2UijAGSQU4KB1dlYmhvb2sSFkFjY2VwdCBCaWxsaW5nIHdlYmhvb2saK0FjY2VwdHMgYSBCaWxsaW5nIHdlYmhvb2sgYW5kIHByb2Nlc3NlcyBpdC6C0+STAjUiLS92MWJldGExL2JpbGxpbmcvd2ViaG9va3MvY2FsbGJhY2sve3Byb3ZpZGVyfToEYm9keRKRAgoUQ3JlYXRlUHJvc3BlY3RQdWJsaWMSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb3NwZWN0UHVibGljUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvc3BlY3RQdWJsaWNSZXNwb25zZSKHAZJBZwoIUHJvc3BlY3QSD0NyZWF0ZSBwcm9zcGVjdBpKQ3JlYXRlIHByb3NwZWN0IGZvciBnaXZlbiBlbWFpbCBhbmQgYWN0aXZpdHkuIEF2YWlsYWJsZSBmb3IgcHVibGljIGFjY2Vzcy6C0+STAhciEi92MWJldGExL3Byb3NwZWN0czoBKhKAAQoRQ3JlYXRlQXVkaXRSZWNvcmQSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUF1ZGl0UmVjb3JkUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQXVkaXRSZWNvcmRSZXNwb25zZSIAQvINCiNpby5yYXlzdGFjay5wcm90b24uZnJvbnRpZXIudjFiZXRhMUIIRnJvbnRpZXJaO2dpdGh1Yi5jb20vcmF5c3RhY2svcHJvdG9uL2Zyb250aWVyL3YxYmV0YTE7ZnJvbnRpZXJ2MWJldGExkkGCDRIeChVGcm9udGllciBHZW5lcmFsIEFQSXMyBTAuMi4wGg4xMjcuMC4wLjE6NzQwMCoBATIQYXBwbGljYXRpb24vanNvbjoQYXBwbGljYXRpb24vanNvblI8CgMyMDASNQobT0sgLSBBIHN1Y2Nlc3NmdWwgcmVzcG9uc2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUmkKAzQwMBJiCkhCYWQgUmVxdWVzdCAtIFRoZSByZXF1ZXN0IHdhcyBtYWxmb3JtZWQgb3IgY29udGFpbmVkIGludmFsaWQgcGFyYW1ldGVycy4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXNSSgoDNDAxEkMKKVVuYXV0aG9yaXplZCAtIEF1dGhlbnRpY2F0aW9uIGlzIHJlcXVpcmVkEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUmEKAzQwMxJaCkBGb3JiaWRkZW4gLSBVc2VyIGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUlEKAzQwNBJKCjBOb3QgRm91bmQgLSBUaGUgcmVxdWVzdGVkIHJlc291cmNlIHdhcyBub3QgZm91bmQSFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXNSdQoDNTAwEm4KVEludGVybmFsIFNlcnZlciBFcnJvci4gUmV0dXJuZWQgd2hlbiB0aGVyZXMgaXMgc29tZXRoaW5nIHdyb25nIHdpdGggRnJvbnRpZXIgc2VydmVyLhIWChQaEi5nb29nbGUucnBjLlN0YXR1c1q2AQpECgVCYXNpYxI7CAESH0NsaWVudCBJRC9TZWNyZXQgYXV0aGVudGljYXRpb24aFEJhc2ljIEF1dGhlbnRpY2F0aW9uIAIKbgoGQmVhcmVyEmQIAhJPVGhlIEF1dGhvcml6YXRpb24gaGVhZGVyIG11c3QgYmUgc2V0IHRvIEJlYXJlciBmb2xsb3dlZCBieSBhIHNwYWNlIGFuZCBhIHRva2VuLhoNQXV0aG9yaXphdGlvbiACYhMKBwoFQmFzaWMKCAoGQmVhcmVyagYKBFVzZXJqggMKBUdyb3VwEvgCR3JvdXBzIGluIEZyb250aWVyIGFyZSB1c2VkIHRvIG1hbmFnZSB1c2VycyBhbmQgdGhlaXIgYWNjZXNzIHRvIHJlc291cmNlcy4gRWFjaCBncm91cCBoYXMgYSB1bmlxdWUgbmFtZSBhbmQgaWQgdGhhdCBjYW4gYmUgdXNlZCB0byBncmFudCBhY2Nlc3MgdG8gcmVzb3VyY2VzLiBXaGVuIGEgdXNlciBpcyBhZGRlZCB0byBhIGdyb3VwLCB0aGV5IGluaGVyaXQgdGhlIGFjY2VzcyBwZXJtaXNzaW9ucyB0aGF0IGhhdmUgYmVlbiBncmFudGVkIHRvIHRoZSBncm91cC4gVGhpcyBhbGxvd3MgeW91IHRvIG1hbmFnZSBhY2Nlc3MgdG8gcmVzb3VyY2VzIGF0IHNjYWxlLCB3aXRob3V0IGhhdmluZyB0byBncmFudCBwZXJtaXNzaW9ucyB0byBpbmRpdmlkdWFsIHVzZXJzLmoGCgRSb2xlag4KDE9yZ2FuaXphdGlvbmoJCgdQcm9qZWN0aggKBlBvbGljeWoKCghSZWxhdGlvbmoMCgpQZXJtaXNzaW9uagsKCU5hbWVzcGFjZWoKCghSZXNvdXJjZWobCgVBdXRoehISQXV0aG9yaXphdGlvbiBBUElzahwKBUF1dGhuEhNBdXRoZW50aWNhdGlvbiBBUElzapACCgpNZXRhU2NoZW1hEoECTWFuYWdlIE1ldGFkYXRhIFNjaGVtYXMgd2hpY2ggYXJlIHVzZWQgdG8gdmFsaWRhdGUgbWV0YWRhdGEgb2JqZWN0IHdoaWxlIGNyZWF0aW5nIHVzZXIvb3JnL2dyb3VwL3JvbGUuIEZyb250aWVyIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVzIGRlZmF1bHQgbWV0YXNjaGVtYXMgd2l0aCBgbGFiZWxgIGFuZCBgZGVzY3JpcHRpb25gIGZpZWxkcy4gWW91IGNhbiBhbHNvIHVwZGF0ZSB0aGVzZSBtZXRhc2NoZW1hcyB0byBhZGQvZWRpdCBtb3JlIGZpZWxkcy5iBnByb3RvMw", [file_google_api_annotations, file_google_api_field_behavior, file_google_protobuf_struct, file_google_protobuf_timestamp, file_protoc_gen_openapiv2_options_annotations, file_raystack_frontier_v1beta1_models, file_validate_validate]);
17
+ fileDesc("CihyYXlzdGFjay9mcm9udGllci92MWJldGExL2Zyb250aWVyLnByb3RvEhlyYXlzdGFjay5mcm9udGllci52MWJldGExIokCChlCaWxsaW5nQWNjb3VudFJlcXVlc3RCb2R5EgwKBG5hbWUYASABKAkSDQoFZW1haWwYAiABKAkSDQoFcGhvbmUYAyABKAkSQgoHYWRkcmVzcxgEIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuQWRkcmVzcxIQCghjdXJyZW5jeRgFIAEoCRI/Cgh0YXhfZGF0YRgGIAMoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuVGF4EikKCG1ldGFkYXRhGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKVAQobQ3JlYXRlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQARJMCgRib2R5GAIgASgLMjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudFJlcXVlc3RCb2R5Qgj6QgWKAQIQARIPCgdvZmZsaW5lGAMgASgIImIKHENyZWF0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2USQgoPYmlsbGluZ19hY2NvdW50GAEgASgLMikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudCKUAQoYR2V0QmlsbGluZ0FjY291bnRSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhABEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQARIcChR3aXRoX3BheW1lbnRfbWV0aG9kcxgDIAEoCBIcChR3aXRoX2JpbGxpbmdfZGV0YWlscxgEIAEoCBIOCgZleHBhbmQYZSADKAki7QEKGUdldEJpbGxpbmdBY2NvdW50UmVzcG9uc2USQgoPYmlsbGluZ19hY2NvdW50GAEgASgLMikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudBJBCg9wYXltZW50X21ldGhvZHMYAiADKAsyKC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBheW1lbnRNZXRob2QSSQoPYmlsbGluZ19kZXRhaWxzGAMgASgLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudERldGFpbHMikAEKG1VwZGF0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBIUCgJpZBgBIAEoCUII+kIFcgOwAQESFwoGb3JnX2lkGAIgASgJQgf6QgRyAhABEkIKBGJvZHkYAyABKAsyNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50UmVxdWVzdEJvZHkiYgocVXBkYXRlQmlsbGluZ0FjY291bnRSZXNwb25zZRJCCg9iaWxsaW5nX2FjY291bnQYASABKAsyKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50Ik4KHVJlZ2lzdGVyQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiIAoeUmVnaXN0ZXJCaWxsaW5nQWNjb3VudFJlc3BvbnNlIkUKGkxpc3RCaWxsaW5nQWNjb3VudHNSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQARIOCgZleHBhbmQYZSADKAkiYgobTGlzdEJpbGxpbmdBY2NvdW50c1Jlc3BvbnNlEkMKEGJpbGxpbmdfYWNjb3VudHMYASADKAsyKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50IkwKG0RlbGV0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBIUCgJpZBgBIAEoCUII+kIFcgOwAQESFwoGb3JnX2lkGAIgASgJQgf6QgRyAhABIh4KHERlbGV0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UiTAobRW5hYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiHgocRW5hYmxlQmlsbGluZ0FjY291bnRSZXNwb25zZSJNChxEaXNhYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiHwodRGlzYWJsZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UiSQoYR2V0QmlsbGluZ0JhbGFuY2VSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiXwoZR2V0QmlsbGluZ0JhbGFuY2VSZXNwb25zZRJCCgdiYWxhbmNlGAEgASgLMjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudC5CYWxhbmNlIlwKEUhhc1RyaWFsZWRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAESGAoHcGxhbl9pZBgDIAEoCUIH+kIEcgIQASIlChJIYXNUcmlhbGVkUmVzcG9uc2USDwoHdHJpYWxlZBgBIAEoCCKSAQoZQ3JlYXRlQmlsbGluZ1VzYWdlUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEgoKcHJvamVjdF9pZBgEIAEoCRIwCgZ1c2FnZXMYAyADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzYWdlIhwKGkNyZWF0ZUJpbGxpbmdVc2FnZVJlc3BvbnNlIvkBCh5MaXN0QmlsbGluZ1RyYW5zYWN0aW9uc1JlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEi0KBXNpbmNlGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEICGAESLwoLc3RhcnRfcmFuZ2UYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi0KCWVuZF9yYW5nZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDgoGZXhwYW5kGGUgAygJImYKH0xpc3RCaWxsaW5nVHJhbnNhY3Rpb25zUmVzcG9uc2USQwoMdHJhbnNhY3Rpb25zGAEgAygLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nVHJhbnNhY3Rpb24iWAofVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHAoKYmlsbGluZ19pZBgCIAEoCUII+kIFcgOwAQEiZgogVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVzcG9uc2USQgoHZGViaXRlZBgBIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuQmFsYW5jZSJ+ChZHZXRTdWJzY3JpcHRpb25SZXF1ZXN0EhwKBm9yZ19pZBgBIAEoCUIMGAH6QgdyBRAD0AEBEiEKCmJpbGxpbmdfaWQYAiABKAlCDRgB+kIIcgawAQHQAQESEwoCaWQYAyABKAlCB/pCBHICEAESDgoGZXhwYW5kGGUgAygJIlgKF0dldFN1YnNjcmlwdGlvblJlc3BvbnNlEj0KDHN1YnNjcmlwdGlvbhgBIAEoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU3Vic2NyaXB0aW9uIoMBChhMaXN0U3Vic2NyaXB0aW9uc1JlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEiEKCmJpbGxpbmdfaWQYAiABKAlCDRgB+kIIcgawAQHQAQESDQoFc3RhdGUYAyABKAkSDAoEcGxhbhgEIAEoCRIOCgZleHBhbmQYZSADKAkiWwoZTGlzdFN1YnNjcmlwdGlvbnNSZXNwb25zZRI+Cg1zdWJzY3JpcHRpb25zGAEgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TdWJzY3JpcHRpb24inAEKGVVwZGF0ZVN1YnNjcmlwdGlvblJlcXVlc3QSHAoGb3JnX2lkGAEgASgJQgwYAfpCB3IFEAPQAQESIQoKYmlsbGluZ19pZBgCIAEoCUINGAH6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQARIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiWwoaVXBkYXRlU3Vic2NyaXB0aW9uUmVzcG9uc2USPQoMc3Vic2NyaXB0aW9uGAEgASgLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TdWJzY3JpcHRpb24itQMKGUNoYW5nZVN1YnNjcmlwdGlvblJlcXVlc3QSHAoGb3JnX2lkGAEgASgJQgwYAfpCB3IFEAPQAQESIQoKYmlsbGluZ19pZBgCIAEoCUINGAH6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQARIQCgRwbGFuGAQgASgJQgIYARIVCglpbW1lZGlhdGUYBSABKAhCAhgBElYKC3BsYW5fY2hhbmdlGAYgASgLMj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGFuZ2VTdWJzY3JpcHRpb25SZXF1ZXN0LlBsYW5DaGFuZ2VIABJYCgxwaGFzZV9jaGFuZ2UYByABKAsyQC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoYW5nZVN1YnNjcmlwdGlvblJlcXVlc3QuUGhhc2VDaGFuZ2VIABotCgpQbGFuQ2hhbmdlEgwKBHBsYW4YASABKAkSEQoJaW1tZWRpYXRlGAIgASgIGi4KC1BoYXNlQ2hhbmdlEh8KF2NhbmNlbF91cGNvbWluZ19jaGFuZ2VzGAEgASgIQggKBmNoYW5nZSJaChpDaGFuZ2VTdWJzY3JpcHRpb25SZXNwb25zZRI8CgVwaGFzZRgBIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU3Vic2NyaXB0aW9uLlBoYXNlIoQBChlDYW5jZWxTdWJzY3JpcHRpb25SZXF1ZXN0EhwKBm9yZ19pZBgBIAEoCUIMGAH6QgdyBRAD0AEBEiEKCmJpbGxpbmdfaWQYAiABKAlCDRgB+kIIcgawAQHQAQESEwoCaWQYAyABKAlCB/pCBHICEAESEQoJaW1tZWRpYXRlGAQgASgIIhwKGkNhbmNlbFN1YnNjcmlwdGlvblJlc3BvbnNlIhIKEExpc3RQbGFuc1JlcXVlc3QiQwoRTGlzdFBsYW5zUmVzcG9uc2USLgoFcGxhbnMYASADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBsYW4ifwoeQ2hlY2tGZWF0dXJlRW50aXRsZW1lbnRSZXF1ZXN0Eg4KBm9yZ19pZBgBIAEoCRIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARISCgpwcm9qZWN0X2lkGAQgASgJEhgKB2ZlYXR1cmUYAyABKAlCB/pCBHICEAEiMQofQ2hlY2tGZWF0dXJlRW50aXRsZW1lbnRSZXNwb25zZRIOCgZzdGF0dXMYASABKAgiUQodQ2hlY2tDcmVkaXRFbnRpdGxlbWVudFJlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEhcKBmFtb3VudBgCIAEoA0IH+kIEIgIgACIwCh5DaGVja0NyZWRpdEVudGl0bGVtZW50UmVzcG9uc2USDgoGc3RhdHVzGAEgASgIItQCChVDcmVhdGVDaGVja291dFJlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEiEKCmJpbGxpbmdfaWQYAiABKAlCDRgB+kIIcgawAQHQAQESEwoLc3VjY2Vzc191cmwYAyABKAkSEgoKY2FuY2VsX3VybBgEIAEoCRJOChFzdWJzY3JpcHRpb25fYm9keRgKIAEoCzIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tvdXRTdWJzY3JpcHRpb25Cb2R5EkQKDHByb2R1Y3RfYm9keRgLIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tvdXRQcm9kdWN0Qm9keRJACgpzZXR1cF9ib2R5GAwgASgLMiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja291dFNldHVwQm9keSJeChZDcmVhdGVDaGVja291dFJlc3BvbnNlEkQKEGNoZWNrb3V0X3Nlc3Npb24YASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrb3V0U2Vzc2lvbiJSChRMaXN0Q2hlY2tvdXRzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSIQoKYmlsbGluZ19pZBgCIAEoCUINGAH6QghyBrABAdABASJeChVMaXN0Q2hlY2tvdXRzUmVzcG9uc2USRQoRY2hlY2tvdXRfc2Vzc2lvbnMYASADKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrb3V0U2Vzc2lvbiJqChJHZXRDaGVja291dFJlcXVlc3QSHAoGb3JnX2lkGAEgASgJQgwYAfpCB3IFEAPQAQESIQoKYmlsbGluZ19pZBgCIAEoCUINGAH6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQASJbChNHZXRDaGVja291dFJlc3BvbnNlEkQKEGNoZWNrb3V0X3Nlc3Npb24YASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrb3V0U2Vzc2lvbiL7AgoSUHJvZHVjdFJlcXVlc3RCb2R5EhUKBG5hbWUYASABKAlCB/pCBHICEAMSDQoFdGl0bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDwoHcGxhbl9pZBgEIAEoCRIwCgZwcmljZXMYBSADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByaWNlEjQKCGJlaGF2aW9yGAggASgJQiL6Qh9yHVIFYmFzaWNSB2NyZWRpdHNSCHBlcl9zZWF00AEBEjQKCGZlYXR1cmVzGAkgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5GZWF0dXJlEkoKD2JlaGF2aW9yX2NvbmZpZxgKIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdC5CZWhhdmlvckNvbmZpZxIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RKBAgHEAgiXQoUQ3JlYXRlUHJvZHVjdFJlcXVlc3QSRQoEYm9keRgBIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdFJlcXVlc3RCb2R5Qgj6QgWKAQIQASJMChVDcmVhdGVQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCIoChFHZXRQcm9kdWN0UmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJJChJHZXRQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCIVChNMaXN0UHJvZHVjdHNSZXF1ZXN0IkwKFExpc3RQcm9kdWN0c1Jlc3BvbnNlEjQKCHByb2R1Y3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9kdWN0ImgKFFVwZGF0ZVByb2R1Y3RSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhABEjsKBGJvZHkYAiABKAsyLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2R1Y3RSZXF1ZXN0Qm9keSJMChVVcGRhdGVQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCJ6ChJGZWF0dXJlUmVxdWVzdEJvZHkSFQoEbmFtZRgBIAEoCUIH+kIEcgIQAxINCgV0aXRsZRgCIAEoCRITCgtwcm9kdWN0X2lkcxgDIAMoCRIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiXQoUQ3JlYXRlRmVhdHVyZVJlcXVlc3QSRQoEYm9keRgBIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZVJlcXVlc3RCb2R5Qgj6QgWKAQIQASJMChVDcmVhdGVGZWF0dXJlUmVzcG9uc2USMwoHZmVhdHVyZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSIoChFHZXRGZWF0dXJlUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJJChJHZXRGZWF0dXJlUmVzcG9uc2USMwoHZmVhdHVyZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSJoChRVcGRhdGVGZWF0dXJlUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQARI7CgRib2R5GAIgASgLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5GZWF0dXJlUmVxdWVzdEJvZHkiTAoVVXBkYXRlRmVhdHVyZVJlc3BvbnNlEjMKB2ZlYXR1cmUYASABKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkZlYXR1cmUiFQoTTGlzdEZlYXR1cmVzUmVxdWVzdCJMChRMaXN0RmVhdHVyZXNSZXNwb25zZRI0CghmZWF0dXJlcxgBIAMoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSKDAgoPUGxhblJlcXVlc3RCb2R5EgwKBG5hbWUYASABKAkSDQoFdGl0bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSNAoIcHJvZHVjdHMYBCADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2R1Y3QSLwoIaW50ZXJ2YWwYBSABKAlCHfpCGnIYUgNkYXlSBHdlZWtSBW1vbnRoUgR5ZWFyEhgKEG9uX3N0YXJ0X2NyZWRpdHMYBiABKAMSEgoKdHJpYWxfZGF5cxgHIAEoAxIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiVwoRQ3JlYXRlUGxhblJlcXVlc3QSQgoEYm9keRgBIAEoCzIqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhblJlcXVlc3RCb2R5Qgj6QgWKAQIQASJDChJDcmVhdGVQbGFuUmVzcG9uc2USLQoEcGxhbhgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiIlCg5HZXRQbGFuUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJACg9HZXRQbGFuUmVzcG9uc2USLQoEcGxhbhgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiJiChFVcGRhdGVQbGFuUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQARI4CgRib2R5GAIgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QbGFuUmVxdWVzdEJvZHkiQwoSVXBkYXRlUGxhblJlc3BvbnNlEi0KBHBsYW4YASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBsYW4ifAoTTGlzdEludm9pY2VzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESGwoTbm9uemVyb19hbW91bnRfb25seRgDIAEoCBIOCgZleHBhbmQYZSADKAkiTAoUTGlzdEludm9pY2VzUmVzcG9uc2USNAoIaW52b2ljZXMYASADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludm9pY2UiVQoZR2V0VXBjb21pbmdJbnZvaWNlUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQEiUQoaR2V0VXBjb21pbmdJbnZvaWNlUmVzcG9uc2USMwoHaW52b2ljZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSW52b2ljZSIQCg5HZXRKV0tzUmVxdWVzdCJGCg9HZXRKV0tzUmVzcG9uc2USMwoEa2V5cxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSlNPTldlYktleSITChFBdXRoTG9nb3V0UmVxdWVzdCIUChJBdXRoTG9nb3V0UmVzcG9uc2UieQoTQXV0aENhbGxiYWNrUmVxdWVzdBIVCg1zdHJhdGVneV9uYW1lGAEgASgJEg0KBXN0YXRlGAIgASgJEgwKBGNvZGUYAyABKAkSLgoNc3RhdGVfb3B0aW9ucxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiFgoUQXV0aENhbGxiYWNrUmVzcG9uc2Ui3gUKE0F1dGhlbnRpY2F0ZVJlcXVlc3QSZAoNc3RyYXRlZ3lfbmFtZRgBIAEoCUJNkkFKMkhOYW1lIG9mIHRoZSBzdHJhdGVneSB0byB1c2UgZm9yIGF1dGhlbnRpY2F0aW9uLjxici8+ICpFeGFtcGxlOiogYGdvb2dsZWASagoQcmVkaXJlY3Rfb25zdGFydBgCIAEoCEJQkkFNMktJZiBzZXQgdG8gdHJ1ZSwgbG9jYXRpb24gaGVhZGVyIHdpbGwgYmUgc2V0IGZvciByZWRpcmVjdCB0byBzdGFydCBhdXRoIGZsb3cSeAoJcmV0dXJuX3RvGAMgASgJQmWSQWIyYFVSTCB0byByZWRpcmVjdCBhZnRlciBzdWNjZXNzZnVsIGF1dGhlbnRpY2F0aW9uLjxici8+ICpFeGFtcGxlOipgImh0dHBzOi8vZnJvbnRpZXIuZXhhbXBsZS5jb20iYBJuCgVlbWFpbBgEIAEoCUJfkkFcMlpFbWFpbCBvZiB0aGUgdXNlciB0byBhdXRoZW50aWNhdGUuIFVzZWQgZm9yIG1hZ2ljIGxpbmtzLjxici8+ICpFeGFtcGxlOipgZXhhbXBsZUBhY21lLm9yZ2ASigIKDGNhbGxiYWNrX3VybBgFIAEoCULzAZJB7wEy7AFIb3N0IHdoaWNoIHNob3VsZCBoYW5kbGUgdGhlIGNhbGwgdG8gZmluaXNoIGF1dGhlbnRpY2F0aW9uIGZsb3csIGZvciBtb3N0IGNhc2VzIGl0IGNvdWxkIGJlIGhvc3Qgb2YgZnJvbnRpZXIgYnV0IGluIGNhc2Ugb2YgcHJveGllcywgdGhpcyB3aWxsIGJlIHByb3h5IHB1YmxpYyBlbmRwb2ludC48YnIvPiAqRXhhbXBsZToqYGh0dHBzOi8vZnJvbnRpZXIuZXhhbXBsZS5jb20vdjFiZXRhMS9hdXRoL2NhbGxiYWNrYCJnChRBdXRoZW50aWNhdGVSZXNwb25zZRIQCghlbmRwb2ludBgBIAEoCRINCgVzdGF0ZRgCIAEoCRIuCg1zdGF0ZV9vcHRpb25zGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJFCgxBdXRoU3RyYXRlZ3kSDAoEbmFtZRgBIAEoCRInCgZwYXJhbXMYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IhsKGUxpc3RBdXRoU3RyYXRlZ2llc1JlcXVlc3QiWQoaTGlzdEF1dGhTdHJhdGVnaWVzUmVzcG9uc2USOwoKc3RyYXRlZ2llcxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aFN0cmF0ZWd5ImMKEEF1dGhUb2tlblJlcXVlc3QSEgoKZ3JhbnRfdHlwZRgBIAEoCRIRCgljbGllbnRfaWQYAiABKAkSFQoNY2xpZW50X3NlY3JldBgDIAEoCRIRCglhc3NlcnRpb24YBCABKAkiPQoRQXV0aFRva2VuUmVzcG9uc2USFAoMYWNjZXNzX3Rva2VuGAEgASgJEhIKCnRva2VuX3R5cGUYAiABKAki8wsKD1VzZXJSZXF1ZXN0Qm9keRLGAgoEbmFtZRgBIAEoCUK3ApJBjAIyiQJUaGUgbmFtZSBvZiB0aGUgdXNlci4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMgYW5kIG11c3Qgc3RhcnQgd2l0aCBhIGxldHRlci4gSWYgbm90IHByb3ZpZGVkLCBGcm9udGllciBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBhIG5hbWUgZnJvbSB0aGUgdXNlciBlbWFpbC4g+kIkciIyIF4oW2EtekEtWl1bYS16QS1aMC05LV9dezMsNjR9KT8kEpwBCgVlbWFpbBgCIAEoCUKMAZJBfjJ8VGhlIGVtYWlsIG9mIHRoZSB1c2VyLiBUaGUgZW1haWwgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuPGJyLz4qRXhhbXBsZToqYCJqb2huLmRvZUByYXlzdGFjay5vcmciYOJBAQL6QgRyAmABEtgDCghtZXRhZGF0YRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCrAOSQagDMqUDTWV0YWRhdGEgb2JqZWN0IGZvciB1c2VycyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBwcmUtZGVmaW5lZCBpbiBVc2VyIE1ldGFzY2hlbWEuIFRoZSBtZXRhZGF0YSBvYmplY3QgY2FuIGJlIHVzZWQgdG8gc3RvcmUgYXJiaXRyYXJ5IGluZm9ybWF0aW9uIGFib3V0IHRoZSB1c2VyIHN1Y2ggYXMgbGFiZWwsIGRlc2NyaXB0aW9uIGV0Yy4gQnkgZGVmYXVsdCB0aGUgdXNlciBtZXRhc2NoZW1hIGNvbnRhaW5zIGxhYmVscyBhbmQgZGVzY3JpcHRpb25zIGZvciB0aGUgdXNlci4gVXBkYXRlIHRoZSBzYW1lIHRvIGFkZCBtb3JlIGZpZWxkcyB0byB0aGUgdXNlciBtZXRhZGF0YSBvYmplY3QuIDxici8+KkV4YW1wbGU6KmB7ImxhYmVsIjogeyJrZXkxIjogInZhbHVlMSJ9LCAiZGVzY3JpcHRpb24iOiAiVXNlciBEZXNjcmlwdGlvbiJ9YBKpAQoFdGl0bGUYBCABKAlCmQGSQZUBMpIBVGhlIHRpdGxlIGNhbiBjb250YWluIGFueSBVVEYtOCBjaGFyYWN0ZXIsIHVzZWQgdG8gcHJvdmlkZSBhIGh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSB1c2VyLiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPipFeGFtcGxlOipgIkpvaG4gRG9lImAS8AIKBmF2YXRhchgFIAEoCULfApJBjwIy0wFUaGUgYXZhdGFyIGlzIGJhc2U2NCBlbmNvZGVkIGltYWdlIGRhdGEgb2YgdGhlIHVzZXIuIENhbiBhbHNvIGJlIGxlZnQgZW1wdHkuIFRoZSBpbWFnZSBzaG91bGQgYmUgbGVzcyB0aGFuIDIwMEtCLiBTaG91bGQgZm9sbG93IHRoZSByZWdleCBwYXR0ZXJuIGBeZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJGAuSjciZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUEi+kJJckcYkKEPMj5eZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJNABASLHAwoQTGlzdFVzZXJzUmVxdWVzdBJlCglwYWdlX3NpemUYASABKAVCUpJBRjJEVGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHJldHVybiBwZXIgcGFnZS4gVGhlIGRlZmF1bHQgaXMgMTAwMC76QgYaBCgBQAESTAoIcGFnZV9udW0YAiABKAVCOpJBLjIsVGhlIHBhZ2UgbnVtYmVyIHRvIHJldHVybi4gVGhlIGRlZmF1bHQgaXMgMS76QgYaBCgBQAESQQoHa2V5d29yZBgDIAEoCUIwkkEtMitUaGUga2V5d29yZCB0byBzZWFyY2ggZm9yIGluIG5hbWUgb3IgZW1haWwuEjwKBm9yZ19pZBgEIAEoCUIskkEpMidUaGUgb3JnYW5pemF0aW9uIElEIHRvIGZpbHRlciB1c2VycyBieS4SMQoIZ3JvdXBfaWQYBSABKAlCH5JBHDIaVGhlIGdyb3VwIGlkIHRvIGZpbHRlciBieS4SSgoFc3RhdGUYBiABKAlCO5JBODI2VGhlIHN0YXRlIHRvIGZpbHRlciBieS4gSXQgY2FuIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuIlIKEUxpc3RVc2Vyc1Jlc3BvbnNlEg0KBWNvdW50GAEgASgFEi4KBXVzZXJzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyIlcKEUNyZWF0ZVVzZXJSZXF1ZXN0EkIKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXJSZXF1ZXN0Qm9keUII+kIFigECEAEiQwoSQ3JlYXRlVXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiOwoeTGlzdE9yZ2FuaXphdGlvbnNCeVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJEg0KBXN0YXRlGAIgASgJIqcBCh9MaXN0T3JnYW5pemF0aW9uc0J5VXNlclJlc3BvbnNlEj4KDW9yZ2FuaXphdGlvbnMYASADKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbhJEChNqb2luYWJsZV92aWFfZG9tYWluGAIgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb24iNgolTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVxdWVzdBINCgVzdGF0ZRgBIAEoCSKuAQomTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVzcG9uc2USPgoNb3JnYW5pemF0aW9ucxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uEkQKE2pvaW5hYmxlX3ZpYV9kb21haW4YAiADKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbiInChlMaXN0UHJvamVjdHNCeVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJIlIKGkxpc3RQcm9qZWN0c0J5VXNlclJlc3BvbnNlEjQKCHByb2plY3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0IrMCCiBMaXN0UHJvamVjdHNCeUN1cnJlbnRVc2VyUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSGAoQd2l0aF9wZXJtaXNzaW9ucxgCIAMoCRIVCg1ub25faW5oZXJpdGVkGAMgASgIEhkKEXdpdGhfbWVtYmVyX2NvdW50GAQgASgIEmUKCXBhZ2Vfc2l6ZRgFIAEoBUJSkkFGMkRUaGUgbWF4aW11bSBudW1iZXIgb2YgdXNlcnMgdG8gcmV0dXJuIHBlciBwYWdlLiBUaGUgZGVmYXVsdCBpcyAxMDAwLvpCBhoEKAFAARJMCghwYWdlX251bRgGIAEoBUI6kkEuMixUaGUgcGFnZSBudW1iZXIgdG8gcmV0dXJuLiBUaGUgZGVmYXVsdCBpcyAxLvpCBhoEKAFAASL+AQohTGlzdFByb2plY3RzQnlDdXJyZW50VXNlclJlc3BvbnNlEjQKCHByb2plY3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0El0KDGFjY2Vzc19wYWlycxgCIAMoCzJHLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RzQnlDdXJyZW50VXNlclJlc3BvbnNlLkFjY2Vzc1BhaXISDQoFY291bnQYAyABKAUaNQoKQWNjZXNzUGFpchISCgpwcm9qZWN0X2lkGAEgASgJEhMKC3Blcm1pc3Npb25zGAIgAygJIh8KEUVuYWJsZVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJIhQKEkVuYWJsZVVzZXJSZXNwb25zZSIgChJEaXNhYmxlVXNlclJlcXVlc3QSCgoCaWQYASABKAkiFQoTRGlzYWJsZVVzZXJSZXNwb25zZSIfChFEZWxldGVVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCSIUChJEZWxldGVVc2VyUmVzcG9uc2UiQAoPR2V0VXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiFwoVR2V0Q3VycmVudFVzZXJSZXF1ZXN0IoQBChZHZXRDdXJyZW50VXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXISOwoLc2VydmljZXVzZXIYAiABKAsyJi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VyIkMKElVwZGF0ZVVzZXJSZXNwb25zZRItCgR1c2VyGAEgASgLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyIkoKGVVwZGF0ZUN1cnJlbnRVc2VyUmVzcG9uc2USLQoEdXNlchgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXNlciJZChFVcGRhdGVVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCRI4CgRib2R5GAIgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyUmVxdWVzdEJvZHkiHAoOR2V0VXNlclJlcXVlc3QSCgoCaWQYASABKAkiYwocTGlzdEN1cnJlbnRVc2VyR3JvdXBzUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSGAoQd2l0aF9wZXJtaXNzaW9ucxgCIAMoCRIZChF3aXRoX21lbWJlcl9jb3VudBgDIAEoCCLhAQodTGlzdEN1cnJlbnRVc2VyR3JvdXBzUmVzcG9uc2USMAoGZ3JvdXBzGAEgAygLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cBJZCgxhY2Nlc3NfcGFpcnMYAiADKAsyQy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckdyb3Vwc1Jlc3BvbnNlLkFjY2Vzc1BhaXIaMwoKQWNjZXNzUGFpchIQCghncm91cF9pZBgBIAEoCRITCgtwZXJtaXNzaW9ucxgCIAMoCSLYAQoVTGlzdFVzZXJHcm91cHNSZXF1ZXN0Ej0KAmlkGAEgASgJQjGSQS4yLFRoZSB1bmlxdWUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IGdyb3VwcyBmb3IuEnoKBm9yZ19pZBgDIAEoCUJqkkFnMmVUaGUgb3JnYW5pemF0aW9uIElEIHRvIGZpbHRlciBncm91cHMgYnkuIElmIG5vdCBwcm92aWRlZCwgZ3JvdXBzIGZyb20gYWxsIG9yZ2FuaXphdGlvbnMgYXJlIHJldHVybmVkLkoECAIQAyJKChZMaXN0VXNlckdyb3Vwc1Jlc3BvbnNlEjAKBmdyb3VwcxgBIAMoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAiVAoYVXBkYXRlQ3VycmVudFVzZXJSZXF1ZXN0EjgKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXJSZXF1ZXN0Qm9keSJaChpMaXN0VXNlckludml0YXRpb25zUmVxdWVzdBI8CgJpZBgBIAEoCUIwkkEtMitUaGUgdXNlciBlbWFpbCB0byBsaXN0IHRoZSBpbnZpdGF0aW9ucyBmb3IuIlkKG0xpc3RVc2VySW52aXRhdGlvbnNSZXNwb25zZRI6CgtpbnZpdGF0aW9ucxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSW52aXRhdGlvbiIjCiFMaXN0Q3VycmVudFVzZXJJbnZpdGF0aW9uc1JlcXVlc3QilwEKIkxpc3RDdXJyZW50VXNlckludml0YXRpb25zUmVzcG9uc2USOgoLaW52aXRhdGlvbnMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludml0YXRpb24SNQoEb3JncxgCIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIrYBChdMaXN0U2VydmljZVVzZXJzUmVxdWVzdBJPCgZvcmdfaWQYASABKAlCP5JBMTIvVGhlIG9yZ2FuaXphdGlvbiBJRCB0byBmaWx0ZXIgc2VydmljZSB1c2VycyBieS7iQQEC+kIEcgIQAxJKCgVzdGF0ZRgCIAEoCUI7kkE4MjZUaGUgc3RhdGUgdG8gZmlsdGVyIGJ5LiBJdCBjYW4gYmUgZW5hYmxlZCBvciBkaXNhYmxlZC4iWAoYTGlzdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlEjwKDHNlcnZpY2V1c2VycxgBIAMoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIikQEKFlNlcnZpY2VVc2VyUmVxdWVzdEJvZHkSTAoFdGl0bGUYASABKAlCPZJBOjInVXNlciBmcmllbmRseSBuYW1lIG9mIHRoZSBzZXJ2aWNlIHVzZXIuSg8iT3JkZXIgU2VydmljZSISKQoIbWV0YWRhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IrYBChhDcmVhdGVTZXJ2aWNlVXNlclJlcXVlc3QSPwoEYm9keRgBIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXJSZXF1ZXN0Qm9keRJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiWAoZQ3JlYXRlU2VydmljZVVzZXJSZXNwb25zZRI7CgtzZXJ2aWNldXNlchgBIAEoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIirgEKFUdldFNlcnZpY2VVc2VyUmVxdWVzdBI6CgJpZBgBIAEoCUIukkErMilUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gZ2V0LhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiVQoWR2V0U2VydmljZVVzZXJSZXNwb25zZRI7CgtzZXJ2aWNldXNlchgBIAEoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIitAEKGERlbGV0ZVNlcnZpY2VVc2VyUmVxdWVzdBI9CgJpZBgBIAEoCUIxkkEuMixUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gZGVsZXRlLhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiGwoZRGVsZXRlU2VydmljZVVzZXJSZXNwb25zZSLQAQobQ3JlYXRlU2VydmljZVVzZXJKV0tSZXF1ZXN0EkcKAmlkGAEgASgJQjuSQTgyNlRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBjcmVhdGUgYSBrZXkgZm9yLhINCgV0aXRsZRgCIAEoCRJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiVQocQ3JlYXRlU2VydmljZVVzZXJKV0tSZXNwb25zZRI1CgNrZXkYASABKAsyKC5yYXlzdGFjay5mcm9udGllci52MWJldGExLktleUNyZWRlbnRpYWwi8gEKGEdldFNlcnZpY2VVc2VySldLUmVxdWVzdBJECgJpZBgBIAEoCUI4kkE1MjNUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gZ2V0IGEga2V5IGZvci4SNQoGa2V5X2lkGAIgASgJQiWSQSIyIFRoZSB1bmlxdWUgSUQgb2YgdGhlIGtleSB0byBnZXQuElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJQChlHZXRTZXJ2aWNlVXNlckpXS1Jlc3BvbnNlEjMKBGtleXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkpTT05XZWJLZXkivQEKGkxpc3RTZXJ2aWNlVXNlckpXS3NSZXF1ZXN0EkQKAmlkGAEgASgJQjiSQTUyM1RoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBsaXN0IGtleXMgZm9yLhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiVgobTGlzdFNlcnZpY2VVc2VySldLc1Jlc3BvbnNlEjcKBGtleXMYASADKAsyKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VySldLIvsBChtEZWxldGVTZXJ2aWNlVXNlckpXS1JlcXVlc3QSRwoCaWQYASABKAlCO5JBODI2VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGRlbGV0ZSBhIGtleSBmb3IuEjgKBmtleV9pZBgCIAEoCUIokkElMiNUaGUgdW5pcXVlIElEIG9mIHRoZSBrZXkgdG8gZGVsZXRlLhJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiHgocRGVsZXRlU2VydmljZVVzZXJKV0tSZXNwb25zZSLXAQoiQ3JlYXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVxdWVzdBJHCgJpZBgBIAEoCUI7kkE4MjZUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gY3JlYXRlIGEga2V5IGZvci4SDQoFdGl0bGUYAiABKAkSWQoGb3JnX2lkGAMgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADImIKI0NyZWF0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlc3BvbnNlEjsKBnNlY3JldBgBIAEoCzIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VjcmV0Q3JlZGVudGlhbCLHAQohTGlzdFNlcnZpY2VVc2VyQ3JlZGVudGlhbHNSZXF1ZXN0EkcKAmlkGAEgASgJQjuSQTgyNlRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBsaXN0IHNlY3JldHMgZm9yLhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiYgoiTGlzdFNlcnZpY2VVc2VyQ3JlZGVudGlhbHNSZXNwb25zZRI8CgdzZWNyZXRzGAEgAygLMisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZWNyZXRDcmVkZW50aWFsIosCCiJEZWxldGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXF1ZXN0EkoKAmlkGAEgASgJQj6SQTsyOVRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBkZWxldGUgYSBzZWNyZXQgZm9yLhI+CglzZWNyZXRfaWQYAiABKAlCK5JBKDImVGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VjcmV0IHRvIGRlbGV0ZS4SWQoGb3JnX2lkGAMgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADIiUKI0RlbGV0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlc3BvbnNlItQBCh1DcmVhdGVTZXJ2aWNlVXNlclRva2VuUmVxdWVzdBJJCgJpZBgBIAEoCUI9kkE6MjhUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gY3JlYXRlIGEgdG9rZW4gZm9yLhINCgV0aXRsZRgCIAEoCRJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiXAoeQ3JlYXRlU2VydmljZVVzZXJUb2tlblJlc3BvbnNlEjoKBXRva2VuGAEgASgLMisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXJ2aWNlVXNlclRva2VuIsEBChxMaXN0U2VydmljZVVzZXJUb2tlbnNSZXF1ZXN0EkYKAmlkGAEgASgJQjqSQTcyNVRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBsaXN0IHRva2VucyBmb3IuElkKBm9yZ19pZBgCIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJcCh1MaXN0U2VydmljZVVzZXJUb2tlbnNSZXNwb25zZRI7CgZ0b2tlbnMYASADKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VyVG9rZW4igwIKHURlbGV0ZVNlcnZpY2VVc2VyVG9rZW5SZXF1ZXN0EkkKAmlkGAEgASgJQj2SQToyOFRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBkZWxldGUgYSB0b2tlbiBmb3IuEjwKCHRva2VuX2lkGAIgASgJQiqSQScyJVRoZSB1bmlxdWUgSUQgb2YgdGhlIHRva2VuIHRvIGRlbGV0ZS4SWQoGb3JnX2lkGAMgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADIiAKHkRlbGV0ZVNlcnZpY2VVc2VyVG9rZW5SZXNwb25zZSLfAQoeTGlzdFNlcnZpY2VVc2VyUHJvamVjdHNSZXF1ZXN0EkgKAmlkGAEgASgJQjySQTkyN1RoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBsaXN0IHByb2plY3RzIGZvci4SWQoGb3JnX2lkGAIgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADEhgKEHdpdGhfcGVybWlzc2lvbnMYAyADKAki6wEKH0xpc3RTZXJ2aWNlVXNlclByb2plY3RzUmVzcG9uc2USNAoIcHJvamVjdHMYASADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2plY3QSWwoMYWNjZXNzX3BhaXJzGAIgAygLMkUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJQcm9qZWN0c1Jlc3BvbnNlLkFjY2Vzc1BhaXIaNQoKQWNjZXNzUGFpchISCgpwcm9qZWN0X2lkGAEgASgJEhMKC3Blcm1pc3Npb25zGAIgAygJIu0BCh1MaXN0T3JnYW5pemF0aW9uR3JvdXBzUmVxdWVzdBIpCgZvcmdfaWQYAiABKAlCGfpCFnIUEAMyEF5bQS1aYS16MC05Xy1dKyQSVwoFc3RhdGUYAyABKAlCSJJBRTJDVGhlIHN0YXRlIG9mIHRoZSBncm91cCB0byBmaWx0ZXIgYnkuIEl0IGNhbiBiZSBlbmFibGVkIG9yIGRpc2FibGVkLhIRCglncm91cF9pZHMYBCADKAkSFAoMd2l0aF9tZW1iZXJzGAUgASgIEhkKEXdpdGhfbWVtYmVyX2NvdW50GAYgASgISgQIARACIlIKHkxpc3RPcmdhbml6YXRpb25Hcm91cHNSZXNwb25zZRIwCgZncm91cHMYASADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdyb3VwIq8BCh1DcmVhdGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBJCCgRib2R5GAEgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlUmVxdWVzdEJvZHlCCPpCBYoBAhABEkoKBm9yZ19pZBgCIAEoCUI6kkEzMjFUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSByb2xlIGJlbG9uZ3MgdG8u4kEBAiJPCh5DcmVhdGVPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2USLQoEcm9sZRgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJBChpHZXRPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBIKCgJpZBgBIAEoCRIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAMiTAobR2V0T3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlEi0KBHJvbGUYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGUidQodVXBkYXRlT3JnYW5pemF0aW9uUm9sZVJlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAMgASgJEjgKBGJvZHkYAiABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGVSZXF1ZXN0Qm9keSJPCh5VcGRhdGVPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2USLQoEcm9sZRgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSIxChBMaXN0Um9sZXNSZXF1ZXN0Eg0KBXN0YXRlGAEgASgJEg4KBnNjb3BlcxgCIAMoCSJDChFMaXN0Um9sZXNSZXNwb25zZRIuCgVyb2xlcxgBIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJWChxMaXN0T3JnYW5pemF0aW9uUm9sZXNSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxINCgVzdGF0ZRgCIAEoCRIOCgZzY29wZXMYAyADKAkiTwodTGlzdE9yZ2FuaXphdGlvblJvbGVzUmVzcG9uc2USLgoFcm9sZXMYASADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGUiRAodRGVsZXRlT3JnYW5pemF0aW9uUm9sZVJlcXVlc3QSCgoCaWQYASABKAkSFwoGb3JnX2lkGAIgASgJQgf6QgRyAhADIiAKHkRlbGV0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZSKrCgoXT3JnYW5pemF0aW9uUmVxdWVzdEJvZHkS+wEKBG5hbWUYASABKAlC7AGSQc0BMsoBVGhlIG5hbWUgb2YgdGhlIG9yZ2FuaXphdGlvbi4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMuPGJyLz4qRXhhbXBsZToqYCJmcm9udGllci1vcmcxLWFjbWUiYOJBAQL6QhRyEjIQXltBLVphLXowLTktX10rJBKyAQoFdGl0bGUYAiABKAlCogGSQZ4BMpsBVGhlIHRpdGxlIGNhbiBjb250YWluIGFueSBVVEYtOCBjaGFyYWN0ZXIsIHVzZWQgdG8gcHJvdmlkZSBhIGh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSBvcmdhbml6YXRpb24uIENhbiBhbHNvIGJlIGxlZnQgZW1wdHkuPGJyLz4gKkV4YW1wbGUqOiBgIkFjbWUgSW5jImAS6QMKCG1ldGFkYXRhGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEK9A5JBuQMytgNNZXRhZGF0YSBvYmplY3QgZm9yIG9yZ2FuaXphdGlvbnMgdGhhdCBjYW4gaG9sZCBrZXkgdmFsdWUgcGFpcnMgZGVmaW5lZCBpbiBPcmdhbml6YXRpb24gTWV0YXNjaGVtYS4gVGhlIG1ldGFkYXRhIG9iamVjdCBjYW4gYmUgdXNlZCB0byBzdG9yZSBhcmJpdHJhcnkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG9yZ2FuaXphdGlvbiBzdWNoIGFzIGxhYmVscywgZGVzY3JpcHRpb25zIGV0Yy4gVGhlIGRlZmF1bHQgT3JnYW5pemF0aW9uIE1ldGFzY2hlbWEgY29udGFpbnMgbGFiZWxzIGFuZCBkZXNjcmlwdG9uIGZpZWxkcy4gVXBkYXRlIHRoZSBPcmdhbml6YXRpb24gTWV0YXNjaGVtYSB0byBhZGQgbW9yZSBmaWVsZHMuIDxici8+KkV4YW1wbGUqOmB7ImxhYmVscyI6IHsia2V5IjogInZhbHVlIn0sICJkZXNjcmlwdGlvbiI6ICJPcmdhbml6YXRpb24gZGVzY3JpcHRpb24ifWAS8AIKBmF2YXRhchgEIAEoCULfApJBjwIy0wFUaGUgYXZhdGFyIGlzIGJhc2U2NCBlbmNvZGVkIGltYWdlIGRhdGEgb2YgdGhlIHVzZXIuIENhbiBhbHNvIGJlIGxlZnQgZW1wdHkuIFRoZSBpbWFnZSBzaG91bGQgYmUgbGVzcyB0aGFuIDIwMEtCLiBTaG91bGQgZm9sbG93IHRoZSByZWdleCBwYXR0ZXJuIGBeZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJGAuSjciZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUEi+kJJckcYkKEPMj5eZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJNABASLpAwoYTGlzdE9yZ2FuaXphdGlvbnNSZXF1ZXN0EscBCgd1c2VyX2lkGAEgASgJQrUBkkGxATKuAVRoZSB1c2VyIElEIHRvIGZpbHRlciBieS4gSXQgY2FuIGJlIHVzZWQgdG8gbGlzdCBhbGwgdGhlIG9yZ2FuaXphdGlvbnMgdGhhdCB0aGUgdXNlciBpcyBhIG1lbWJlciBvZi4gT3RoZXJ3aXNlLCBhbGwgdGhlIG9yZ2FuaXphdGlvbnMgaW4gdGhlIEZyb250aWVyIGluc3RhbmNlIHdpbGwgYmUgbGlzdGVkLhJOCgVzdGF0ZRgCIAEoCUI/kkE8MjpUaGUgc3RhdGUgdG8gZmlsdGVyIGJ5LiBJdCBjYW4gYmUgYGVuYWJsZWRgIG9yIGBkaXNhYmxlZGAuEmUKCXBhZ2Vfc2l6ZRgDIAEoBUJSkkFGMkRUaGUgbWF4aW11bSBudW1iZXIgb2YgdXNlcnMgdG8gcmV0dXJuIHBlciBwYWdlLiBUaGUgZGVmYXVsdCBpcyAxMDAwLvpCBhoEKAFAARJMCghwYWdlX251bRgEIAEoBUI6kkEuMixUaGUgcGFnZSBudW1iZXIgdG8gcmV0dXJuLiBUaGUgZGVmYXVsdCBpcyAxLvpCBhoEKAFAASJbChlMaXN0T3JnYW5pemF0aW9uc1Jlc3BvbnNlEj4KDW9yZ2FuaXphdGlvbnMYASADKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbiJnChlDcmVhdGVPcmdhbml6YXRpb25SZXF1ZXN0EkoKBGJvZHkYASABKAsyMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvblJlcXVlc3RCb2R5Qgj6QgWKAQIQASJbChpDcmVhdGVPcmdhbml6YXRpb25SZXNwb25zZRI9Cgxvcmdhbml6YXRpb24YASABKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbiJYChdHZXRPcmdhbml6YXRpb25SZXNwb25zZRI9Cgxvcmdhbml6YXRpb24YASABKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbiJbChpVcGRhdGVPcmdhbml6YXRpb25SZXNwb25zZRI9Cgxvcmdhbml6YXRpb24YASABKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbiIkChZHZXRPcmdhbml6YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJImkKGVVwZGF0ZU9yZ2FuaXphdGlvblJlcXVlc3QSCgoCaWQYASABKAkSQAoEYm9keRgCIAEoCzIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uUmVxdWVzdEJvZHkiNAodTGlzdE9yZ2FuaXphdGlvbkFkbWluc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMiUAoeTGlzdE9yZ2FuaXphdGlvbkFkbWluc1Jlc3BvbnNlEi4KBXVzZXJzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyInwKHExpc3RPcmdhbml6YXRpb25Vc2Vyc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSHQoRcGVybWlzc2lvbl9maWx0ZXIYAiABKAlCAhgBEhIKCndpdGhfcm9sZXMYAyABKAgSFAoMcm9sZV9maWx0ZXJzGAQgAygJIvMBCh1MaXN0T3JnYW5pemF0aW9uVXNlcnNSZXNwb25zZRIuCgV1c2VycxgBIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXNlchJVCgpyb2xlX3BhaXJzGAIgAygLMkEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uVXNlcnNSZXNwb25zZS5Sb2xlUGFpchpLCghSb2xlUGFpchIPCgd1c2VyX2lkGAEgASgJEi4KBXJvbGVzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlInwKG0FkZE9yZ2FuaXphdGlvblVzZXJzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxJICgh1c2VyX2lkcxgCIAMoCUI2kkEzMjFMaXN0IG9mIHVzZXIgSURzIHRvIGJlIGFkZGVkIHRvIHRoZSBvcmdhbml6YXRpb24uIh4KHEFkZE9yZ2FuaXphdGlvblVzZXJzUmVzcG9uc2UiRQodUmVtb3ZlT3JnYW5pemF0aW9uVXNlclJlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSDwoHdXNlcl9pZBgCIAEoCSIgCh5SZW1vdmVPcmdhbml6YXRpb25Vc2VyUmVzcG9uc2UiOgojTGlzdE9yZ2FuaXphdGlvblNlcnZpY2VVc2Vyc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMiZAokTGlzdE9yZ2FuaXphdGlvblNlcnZpY2VVc2Vyc1Jlc3BvbnNlEjwKDHNlcnZpY2V1c2VycxgBIAMoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIi3AEKIkxpc3RPcmdhbml6YXRpb25JbnZpdGF0aW9uc1JlcXVlc3QSTwoGb3JnX2lkGAEgASgJQj+SQTgyNnVuaXF1ZSBpZCBvZiB0aGUgb3JnYW5pemF0aW9uIHRvIHdoaWNoIHVzZXIgaXMgaW52aXRlZOJBAQISZQoHdXNlcl9pZBgCIAEoCUJUkkFRMk91c2VyX2lkIGZpbHRlciBpcyB0aGUgZW1haWwgaWQgb2YgdXNlciB3aG8gYXJlIGludml0ZWQgaW5zaWRlIHRoZSBvcmdhbml6YXRpb24uImEKI0xpc3RPcmdhbml6YXRpb25JbnZpdGF0aW9uc1Jlc3BvbnNlEjoKC2ludml0YXRpb25zGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5JbnZpdGF0aW9uIoYECiNDcmVhdGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVxdWVzdBJPCgZvcmdfaWQYASABKAlCP5JBODI2dW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gdG8gd2hpY2ggdXNlciBpcyBpbnZpdGVk4kEBAhKrAQoIdXNlcl9pZHMYAiADKAlCmAGSQYYBMoMBdXNlcl9pZCBpcyBlbWFpbCBpZCBvZiB1c2VyIHdobyBhcmUgaW52aXRlZCBpbnNpZGUgdGhlIG9yZ2FuaXphdGlvbi4gSWYgdXNlciBpcyBub3QgcmVnaXN0ZXJlZCBvbiB0aGUgcGxhdGZvcm0sIGl0IHdpbGwgYmUgbm90aWZpZWTiQQEC+kIHkgEECAEQChJWCglncm91cF9pZHMYAyADKAlCQ5JBQDI+bGlzdCBvZiBncm91cCBpZHMgdG8gd2hpY2ggdXNlciBuZWVkcyB0byBiZSBhZGRlZCBhcyBhIG1lbWJlci4ShwEKCHJvbGVfaWRzGAQgAygJQnWSQXIycGxpc3Qgb2Ygcm9sZSBpZHMgdG8gd2hpY2ggdXNlciBuZWVkcyB0byBiZSBhZGRlZCBhcyBhIG1lbWJlci4gUm9sZXMgYXJlIGJpbmRlZCBhdCBvcmdhbml6YXRpb24gbGV2ZWwgYnkgZGVmYXVsdC4iYgokQ3JlYXRlT3JnYW5pemF0aW9uSW52aXRhdGlvblJlc3BvbnNlEjoKC2ludml0YXRpb25zGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5JbnZpdGF0aW9uIj4KIEdldE9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEg4KBm9yZ19pZBgCIAEoCSJeCiFHZXRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2USOQoKaW52aXRhdGlvbhgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSW52aXRhdGlvbiJBCiNBY2NlcHRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRIOCgZvcmdfaWQYAiABKAkiJgokQWNjZXB0T3JnYW5pemF0aW9uSW52aXRhdGlvblJlc3BvbnNlIkEKI0RlbGV0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEg4KBm9yZ19pZBgCIAEoCSKVAgoeTGlzdE9yZ2FuaXphdGlvbkRvbWFpbnNSZXF1ZXN0EmwKBm9yZ19pZBgBIAEoCUJckkFOMkx1bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiBmb3Igd2hpY2ggd2hpdGVsaXN0ZWQgZG9tYWlucyBhcmUgdG8gYmUgbGlzdGVk4kEBAvpCBHICEAMShAEKBXN0YXRlGAIgASgJQnWSQXIycGZpbHRlciB0byBsaXN0IGRvbWFpbnMgYnkgdGhlaXIgc3RhdGUgKHBlbmRpbmcvdmVyaWZpZWQpLiBJZiBub3QgcHJvdmlkZWQsIGFsbCBkb21haW5zIGZvciBhbiBvcmcgd2lsbCBiZSBsaXN0ZWQiVQofTGlzdE9yZ2FuaXphdGlvbkRvbWFpbnNSZXNwb25zZRIyCgdkb21haW5zGAEgAygLMiEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Eb21haW4imAEKIExpc3RPcmdhbml6YXRpb25zQnlEb21haW5SZXF1ZXN0EnQKBG5hbWUYASABKAlCZpJBWDJWZG9tYWluIG5hbWUgdG8gYmUgdXNlZCB0byBsaXN0IGFsbCB0aGUgb3JnYW5pemF0aW9ucyB0aGF0IGhhdmUgdGhpcyBkb21haW4gd2hpdGVsaXN0ZWTiQQEC+kIEcgIQAyJjCiFMaXN0T3JnYW5pemF0aW9uc0J5RG9tYWluUmVzcG9uc2USPgoNb3JnYW5pemF0aW9ucxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIjIKF0pvaW5Pcmdhbml6YXRpb25SZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAyIaChhKb2luT3JnYW5pemF0aW9uUmVzcG9uc2Ui0gEKHEdldE9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QSQwoCaWQYASABKAlCN5JBKTIndW5pcXVlIGlkIG9mIHRoZSBkb21haW4gdG8gYmUgcmV0cmlldmVk4kEBAvpCBHICEAMSbQoGb3JnX2lkGAIgASgJQl2SQU8yTXVuaXF1ZSBpZCBvZiB0aGUgb3JnYW5pemF0aW9uIGZvciB3aGljaCB3aGl0ZWxpc3RlZCBkb21haW4gaXMgdG8gYmUgcmV0cmlldmVk4kEBAvpCBHICEAMiUgodR2V0T3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2USMQoGZG9tYWluGAEgASgLMiEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Eb21haW4i4gEKH0NyZWF0ZU9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QSawoGb3JnX2lkGAEgASgJQluSQU0yS3VuaXF1ZSBpZCBvZiB0aGUgb3JnYW5pemF0aW9uIGZvciB3aGljaCB3aGl0ZWxpc3RlZCBkb21haW5zIGFyZSB0byBiZSBhZGRlZOJBAQL6QgRyAhADElIKBmRvbWFpbhgCIAEoCUJCkkE0MjJkb21haW4gbmFtZSB0byBiZSBhZGRlZCB0byB0aGUgdHJ1c3RlZCBkb21haW4gbGlzdOJBAQL6QgRyAhADIlUKIENyZWF0ZU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlEjEKBmRvbWFpbhgBIAEoCzIhLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRG9tYWluItMBCh9EZWxldGVPcmdhbml6YXRpb25Eb21haW5SZXF1ZXN0EkEKAmlkGAEgASgJQjWSQScyJXVuaXF1ZSBpZCBvZiB0aGUgZG9tYWluIHRvIGJlIGRlbGV0ZWTiQQEC+kIEcgIQAxJtCgZvcmdfaWQYAiABKAlCXZJBTzJNdW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gZm9yIHdoaWNoIHdoaXRlbGlzdGVkIGRvbWFpbnMgYXJlIHRvIGJlIGRlbGV0ZWTiQQEC+kIEcgIQAyIiCiBEZWxldGVPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZSLVAQofVmVyaWZ5T3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBJuCgZvcmdfaWQYASABKAlCXpJBUDJOdW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gZm9yIHdoaWNoIHdoaXRlbGlzdGVkIGRvbWFpbnMgYXJlIHRvIGJlIHZlcmlmaWVk4kEBAvpCBHICEAMSQgoCaWQYAiABKAlCNpJBKDImdW5pcXVlIGlkIG9mIHRoZSBkb21haW4gdG8gYmUgdmVyaWZpZWTiQQEC+kIEcgIQAyIxCiBWZXJpZnlPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZRINCgVzdGF0ZRgBIAEoCSImCiREZWxldGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2UiJwoZRW5hYmxlT3JnYW5pemF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSIcChpFbmFibGVPcmdhbml6YXRpb25SZXNwb25zZSIoChpEaXNhYmxlT3JnYW5pemF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSIdChtEaXNhYmxlT3JnYW5pemF0aW9uUmVzcG9uc2UiJwoZRGVsZXRlT3JnYW5pemF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSIcChpEZWxldGVPcmdhbml6YXRpb25SZXNwb25zZSIrChlHZXRPcmdhbml6YXRpb25LeWNSZXF1ZXN0Eg4KBm9yZ19pZBgBIAEoCSJiChpHZXRPcmdhbml6YXRpb25LeWNSZXNwb25zZRJEChBvcmdhbml6YXRpb25fa3ljGAEgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb25LeWMirAUKElByb2plY3RSZXF1ZXN0Qm9keRL3AQoEbmFtZRgBIAEoCULoAZJByQEyxgFUaGUgbmFtZSBvZiB0aGUgcHJvamVjdC4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMuPGJyLz4gKkV4YW1wbGU6KiBgZnJvbnRpZXItcGxheWdyb3VuZGDiQQEC+kIUchIyEF5bQS1aYS16MC05LV9dKyQStwEKBXRpdGxlGAIgASgJQqcBkkGjATKgAVRoZSB0aXRsZSBjYW4gY29udGFpbiBhbnkgVVRGLTggY2hhcmFjdGVyLCB1c2VkIHRvIHByb3ZpZGUgYSBodW1hbi1yZWFkYWJsZSBuYW1lIGZvciB0aGUgcHJvamVjdC4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS4gPGJyLz4gKkV4YW1wbGU6KiBgRnJvbnRpZXIgUGxheWdyb3VuZGASiQEKCG1ldGFkYXRhGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEJekkFbMllNZXRhZGF0YSBvYmplY3QgZm9yIHByb2plY3RzIHRoYXQgY2FuIGhvbGQga2V5IHZhbHVlIHBhaXJzIGRlZmluZWQgaW4gUHJvamVjdCBNZXRhc2NoZW1hLhJWCgZvcmdfaWQYBCABKAlCRpJBODI2dW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gdG8gd2hpY2ggcHJvamVjdCBiZWxvbmdz4kEBAvpCBHICEAMiXQoUQ3JlYXRlUHJvamVjdFJlcXVlc3QSRQoEYm9keRgBIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdFJlcXVlc3RCb2R5Qgj6QgWKAQIQASJMChVDcmVhdGVQcm9qZWN0UmVzcG9uc2USMwoHcHJvamVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdCLfAQofTGlzdE9yZ2FuaXphdGlvblByb2plY3RzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxKLAQoFc3RhdGUYAiABKAlCfJJBeTJ3RmlsdGVyIHByb2plY3RzIGJ5IHN0YXRlLiBJZiBub3Qgc3BlY2lmaWVkLCBhbGwgcHJvamVjdHMgYXJlIHJldHVybmVkLiA8YnIvPiAqUG9zc2libGUgdmFsdWVzOiogYGVuYWJsZWRgIG9yIGBkaXNhYmxlZGASGQoRd2l0aF9tZW1iZXJfY291bnQYAyABKAgiWAogTGlzdE9yZ2FuaXphdGlvblByb2plY3RzUmVzcG9uc2USNAoIcHJvamVjdHMYASADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2plY3QiHwoRR2V0UHJvamVjdFJlcXVlc3QSCgoCaWQYASABKAkiSQoSR2V0UHJvamVjdFJlc3BvbnNlEjMKB3Byb2plY3QYASABKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2plY3QiXwoUVXBkYXRlUHJvamVjdFJlcXVlc3QSCgoCaWQYASABKAkSOwoEYm9keRgCIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdFJlcXVlc3RCb2R5IkwKFVVwZGF0ZVByb2plY3RSZXNwb25zZRIzCgdwcm9qZWN0GAEgASgLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0Ii8KGExpc3RQcm9qZWN0QWRtaW5zUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJLChlMaXN0UHJvamVjdEFkbWluc1Jlc3BvbnNlEi4KBXVzZXJzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyIl0KF0xpc3RQcm9qZWN0VXNlcnNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEhkKEXBlcm1pc3Npb25fZmlsdGVyGAIgASgJEhIKCndpdGhfcm9sZXMYAyABKAgi6QEKGExpc3RQcm9qZWN0VXNlcnNSZXNwb25zZRIuCgV1c2VycxgBIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXNlchJQCgpyb2xlX3BhaXJzGAIgAygLMjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFVzZXJzUmVzcG9uc2UuUm9sZVBhaXIaSwoIUm9sZVBhaXISDwoHdXNlcl9pZBgBIAEoCRIuCgVyb2xlcxgCIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJJCh5MaXN0UHJvamVjdFNlcnZpY2VVc2Vyc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSEgoKd2l0aF9yb2xlcxgDIAEoCCKMAgofTGlzdFByb2plY3RTZXJ2aWNlVXNlcnNSZXNwb25zZRI8CgxzZXJ2aWNldXNlcnMYASADKAsyJi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VyElcKCnJvbGVfcGFpcnMYAiADKAsyQy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0U2VydmljZVVzZXJzUmVzcG9uc2UuUm9sZVBhaXIaUgoIUm9sZVBhaXISFgoOc2VydmljZXVzZXJfaWQYASABKAkSLgoFcm9sZXMYAiADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGUiQwoYTGlzdFByb2plY3RHcm91cHNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEhIKCndpdGhfcm9sZXMYAiABKAgi7gEKGUxpc3RQcm9qZWN0R3JvdXBzUmVzcG9uc2USMAoGZ3JvdXBzGAEgAygLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cBJRCgpyb2xlX3BhaXJzGAIgAygLMj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdEdyb3Vwc1Jlc3BvbnNlLlJvbGVQYWlyGkwKCFJvbGVQYWlyEhAKCGdyb3VwX2lkGAEgASgJEi4KBXJvbGVzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIiIKFEVuYWJsZVByb2plY3RSZXF1ZXN0EgoKAmlkGAEgASgJIhcKFUVuYWJsZVByb2plY3RSZXNwb25zZSIjChVEaXNhYmxlUHJvamVjdFJlcXVlc3QSCgoCaWQYASABKAkiGAoWRGlzYWJsZVByb2plY3RSZXNwb25zZSIiChREZWxldGVQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCSIXChVEZWxldGVQcm9qZWN0UmVzcG9uc2UiowgKEVBvbGljeVJlcXVlc3RCb2R5ElIKB3JvbGVfaWQYASABKAlCQZJBMzIxdW5pcXVlIGlkIG9mIHRoZSByb2xlIHRvIHdoaWNoIHBvbGljeSBpcyBhc3NpZ25lZOJBAQL6QgRyAhADEq8BCgV0aXRsZRgDIAEoCUKfAZJBmwEymAFUaGUgdGl0bGUgY2FuIGNvbnRhaW4gYW55IFVURi04IGNoYXJhY3RlciwgdXNlZCB0byBwcm92aWRlIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIHBvbGljeS4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS4gPGJyLz4gKkV4YW1wbGU6KiBgUG9saWN5IHRpdGxlYBKzAQoIcmVzb3VyY2UYAiABKAlCoAGSQZEBMo4BVGhlIHJlc291cmNlIHRvIHdoaWNoIHBvbGljeSBpcyBhc3NpZ25lZCBpbiB0aGlzIGZvcm1hdCBgbmFtZXNwYWNlOnV1aWRgLiA8YnIvPiAqRXhhbXBsZToqIGBhcHAvZ3VhcmRpYW46NzBmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiOGUyYOJBAQL6QgRyAhADEu8CCglwcmluY2lwYWwYBCABKAlC2wKSQdMCMtACcHJpbmNpcGFsIGlzIHRoZSB1c2VyIG9yIGdyb3VwIHRvIHdoaWNoIHBvbGljeSBpcyBhc3NpZ25lZC4gVGhlIHByaW5jaXBhbCBpZCBtdXN0IGJlIHByZWZpeGVkIHdpdGggaXRzIG5hbWVzcGFjZSBpZCBpbiB0aGlzIGZvcm1hdCBgbmFtZXNwYWNlOnV1aWRgLiBUaGUgbmFtZXNwYWNlIGNhbiBiZSBgYXBwL3VzZXJgLCBgYXBwL2dyb3VwYCBvciBgYXBwL3NlcnZpY2V1c2VyYCAoY29taW5nIHVwISkgYW5kIHV1aWQgaXMgdGhlIHVuaXF1ZSBpZCBvZiB0aGUgcHJpbmNpcGFsLiA8YnIvPiAqRXhhbXBsZToqIGBhcHAvdXNlcjo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVg4kEBAhLfAQoIbWV0YWRhdGEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0QrMBkkGvATKsAU1ldGFkYXRhIG9iamVjdCBmb3IgcG9saWNpZXMgdGhhdCBjYW4gaG9sZCBrZXkgdmFsdWUgcGFpcnMgZGVmaW5lZCBpbiBQb2xpY3kgTWV0YXNjaGVtYS48YnIvPiAqRXhhbXBsZToqIGB7ImxhYmVscyI6IHsia2V5IjogInZhbHVlIn0sICJkZXNjcmlwdGlvbiI6ICJQb2xpY3kgZGVzY3JpcHRpb24ifWAilAUKGkNyZWF0ZVBvbGljeUZvclByb2plY3RCb2R5ElIKB3JvbGVfaWQYASABKAlCQZJBMzIxdW5pcXVlIGlkIG9mIHRoZSByb2xlIHRvIHdoaWNoIHBvbGljeSBpcyBhc3NpZ25lZOJBAQL6QgRyAhADEq8BCgV0aXRsZRgCIAEoCUKfAZJBmwEymAFUaGUgdGl0bGUgY2FuIGNvbnRhaW4gYW55IFVURi04IGNoYXJhY3RlciwgdXNlZCB0byBwcm92aWRlIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIHBvbGljeS4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS4gPGJyLz4gKkV4YW1wbGU6KiBgUG9saWN5IHRpdGxlYBLvAgoJcHJpbmNpcGFsGAMgASgJQtsCkkHTAjLQAnByaW5jaXBhbCBpcyB0aGUgdXNlciBvciBncm91cCB0byB3aGljaCBwb2xpY3kgaXMgYXNzaWduZWQuIFRoZSBwcmluY2lwYWwgaWQgbXVzdCBiZSBwcmVmaXhlZCB3aXRoIGl0cyBuYW1lc3BhY2UgaWQgaW4gdGhpcyBmb3JtYXQgYG5hbWVzcGFjZTp1dWlkYC4gVGhlIG5hbWVzcGFjZSBjYW4gYmUgYGFwcC91c2VyYCwgYGFwcC9ncm91cGAgb3IgYGFwcC9zZXJ2aWNldXNlcmAgKGNvbWluZyB1cCEpIGFuZCB1dWlkIGlzIHRoZSB1bmlxdWUgaWQgb2YgdGhlIHByaW5jaXBhbC4gPGJyLz4gKkV4YW1wbGU6KiBgYXBwL3VzZXI6OTJmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiODI1YOJBAQIiIgoUR2V0UGVybWlzc2lvblJlcXVlc3QSCgoCaWQYASABKAkiUgoVR2V0UGVybWlzc2lvblJlc3BvbnNlEjkKCnBlcm1pc3Npb24YASABKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBlcm1pc3Npb24iGAoWTGlzdFBlcm1pc3Npb25zUmVxdWVzdCJVChdMaXN0UGVybWlzc2lvbnNSZXNwb25zZRI6CgtwZXJtaXNzaW9ucxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGVybWlzc2lvbiIXChVMaXN0TmFtZXNwYWNlc1JlcXVlc3QiUgoWTGlzdE5hbWVzcGFjZXNSZXNwb25zZRI4CgpuYW1lc3BhY2VzGAEgAygLMiQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5OYW1lc3BhY2UiIQoTR2V0TmFtZXNwYWNlUmVxdWVzdBIKCgJpZBgBIAEoCSJPChRHZXROYW1lc3BhY2VSZXNwb25zZRI3CgluYW1lc3BhY2UYASABKAsyJC5yYXlzdGFjay5mcm9udGllci52MWJldGExLk5hbWVzcGFjZSJbChNDcmVhdGVQb2xpY3lSZXF1ZXN0EkQKBGJvZHkYASABKAsyLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBvbGljeVJlcXVlc3RCb2R5Qgj6QgWKAQIQASJPChRDcmVhdGVQb2xpY3lSZXNwb25zZRIxCgZwb2xpY3kYAiABKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBvbGljeUoECAEQAiIeChBHZXRQb2xpY3lSZXF1ZXN0EgoKAmlkGAEgASgJIkYKEUdldFBvbGljeVJlc3BvbnNlEjEKBnBvbGljeRgBIAEoCzIhLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5IpkCChNMaXN0UG9saWNpZXNSZXF1ZXN0EjYKBm9yZ19pZBgBIAEoCUImkkEjMiFUaGUgb3JnYW5pemF0aW9uIGlkIHRvIGZpbHRlciBieS4SNQoKcHJvamVjdF9pZBgCIAEoCUIhkkEeMhxUaGUgcHJvamVjdCBpZCB0byBmaWx0ZXIgYnkuEi8KB3VzZXJfaWQYAyABKAlCHpJBGzIZVGhlIHVzZXIgaWQgdG8gZmlsdGVyIGJ5LhIvCgdyb2xlX2lkGAQgASgJQh6SQRsyGVRoZSByb2xlIGlkIHRvIGZpbHRlciBieS4SMQoIZ3JvdXBfaWQYBSABKAlCH5JBHDIaVGhlIGdyb3VwIGlkIHRvIGZpbHRlciBieS4iSwoUTGlzdFBvbGljaWVzUmVzcG9uc2USMwoIcG9saWNpZXMYASADKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBvbGljeSJdChNVcGRhdGVQb2xpY3lSZXF1ZXN0EgoKAmlkGAEgASgJEjoKBGJvZHkYAiABKAsyLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBvbGljeVJlcXVlc3RCb2R5IksKFFVwZGF0ZVBvbGljeVJlc3BvbnNlEjMKCHBvbGljaWVzGAEgAygLMiEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qb2xpY3kiIQoTRGVsZXRlUG9saWN5UmVxdWVzdBIKCgJpZBgBIAEoCSIWChREZWxldGVQb2xpY3lSZXNwb25zZSKLAQodQ3JlYXRlUG9saWN5Rm9yUHJvamVjdFJlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoCUIH+kIEcgIQAxJNCgRib2R5GAIgASgLMjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQb2xpY3lGb3JQcm9qZWN0Qm9keUII+kIFigECEAEiIAoeQ3JlYXRlUG9saWN5Rm9yUHJvamVjdFJlc3BvbnNlInIKE1JlbGF0aW9uUmVxdWVzdEJvZHkSDgoGb2JqZWN0GAEgASgJEg8KB3N1YmplY3QYAyABKAkSEAoIcmVsYXRpb24YBCABKAkSHAoUc3ViamVjdF9zdWJfcmVsYXRpb24YBiABKAlKBAgCEANKBAgFEAYiXwoVQ3JlYXRlUmVsYXRpb25SZXF1ZXN0EkYKBGJvZHkYASABKAsyLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbGF0aW9uUmVxdWVzdEJvZHlCCPpCBYoBAhABIk8KFkNyZWF0ZVJlbGF0aW9uUmVzcG9uc2USNQoIcmVsYXRpb24YASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbGF0aW9uIiAKEkdldFJlbGF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJMChNHZXRSZWxhdGlvblJlc3BvbnNlEjUKCHJlbGF0aW9uGAEgASgLMiMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZWxhdGlvbiJhChVVcGRhdGVSZWxhdGlvblJlcXVlc3QSCgoCaWQYASABKAkSPAoEYm9keRgCIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVsYXRpb25SZXF1ZXN0Qm9keSJPChZVcGRhdGVSZWxhdGlvblJlc3BvbnNlEjUKCHJlbGF0aW9uGAEgASgLMiMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZWxhdGlvbiK5BgoQR3JvdXBSZXF1ZXN0Qm9keRLPAQoEbmFtZRgBIAEoCULAAZJBoQEyngFUaGUgbmFtZSBvZiB0aGUgZ3JvdXAuIFRoZSBuYW1lIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgZW50aXJlIEZyb250aWVyIGluc3RhbmNlLiBUaGUgbmFtZSBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLuJBAQL6QhRyEjIQXltBLVphLXowLTktX10rJBKLAQoFdGl0bGUYAiABKAlCfJJBeTJ3VGhlIHRpdGxlIGNhbiBjb250YWluIGFueSBVVEYtOCBjaGFyYWN0ZXIsIHVzZWQgdG8gcHJvdmlkZSBhIGh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSBncm91cC4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS4SvgMKCG1ldGFkYXRhGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEKSA5JBjgMyiwNNZXRhZGF0YSBvYmplY3QgZm9yIGdyb3VwcyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBkZWZpbmVkIGluIEdyb3VwIE1ldGFzY2hlbWEuIFRoZSBtZXRhZGF0YSBvYmplY3QgY2FuIGJlIHVzZWQgdG8gc3RvcmUgYXJiaXRyYXJ5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBncm91cCBzdWNoIGFzIGxhYmVscywgZGVzY3JpcHRpb25zIGV0Yy4gVGhlIGRlZmF1bHQgR3JvdXAgTWV0YXNjaGVtYSBjb250YWlucyBsYWJlbHMgYW5kIGRlc2NyaXB0b24gZmllbGRzLiBVcGRhdGUgdGhlIEdyb3VwIE1ldGFzY2hlbWEgdG8gYWRkIG1vcmUgZmllbGRzLjxici8+KkV4YW1wbGU6KmB7ImxhYmVscyI6IHsia2V5IjogInZhbHVlIn0sICJkZXNjcmlwdGlvbiI6ICJHcm91cCBkZXNjcmlwdGlvbiJ9YEoECAQQBSKmAQoSQ3JlYXRlR3JvdXBSZXF1ZXN0EkMKBGJvZHkYASABKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdyb3VwUmVxdWVzdEJvZHlCCPpCBYoBAhABEksKBm9yZ19pZBgCIAEoCUI7kkE0MjJUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBncm91cCBiZWxvbmdzIHRvLuJBAQIiQwoPR2V0R3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJEg4KBm9yZ19pZBgCIAEoCRIUCgx3aXRoX21lbWJlcnMYAyABKAgiRgoTQ3JlYXRlR3JvdXBSZXNwb25zZRIvCgVncm91cBgBIAEoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAiQwoQR2V0R3JvdXBSZXNwb25zZRIvCgVncm91cBgBIAEoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAiRgoTVXBkYXRlR3JvdXBSZXNwb25zZRIvCgVncm91cBgBIAEoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAiqAEKElVwZGF0ZUdyb3VwUmVxdWVzdBIKCgJpZBgBIAEoCRI5CgRib2R5GAIgASgLMisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cFJlcXVlc3RCb2R5EksKBm9yZ19pZBgDIAEoCUI7kkE0MjJUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBncm91cCBiZWxvbmdzIHRvLuJBAQIiRwoVTGlzdEdyb3VwVXNlcnNSZXF1ZXN0EgoKAmlkGAEgASgJEg4KBm9yZ19pZBgCIAEoCRISCgp3aXRoX3JvbGVzGAMgASgIIuUBChZMaXN0R3JvdXBVc2Vyc1Jlc3BvbnNlEi4KBXVzZXJzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyEk4KCnJvbGVfcGFpcnMYAiADKAsyOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RHcm91cFVzZXJzUmVzcG9uc2UuUm9sZVBhaXIaSwoIUm9sZVBhaXISDwoHdXNlcl9pZBgBIAEoCRIuCgVyb2xlcxgCIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSI5ChJFbmFibGVHcm91cFJlcXVlc3QSCgoCaWQYASABKAkSFwoGb3JnX2lkGAIgASgJQgf6QgRyAhADIhUKE0VuYWJsZUdyb3VwUmVzcG9uc2UiOgoTRGlzYWJsZUdyb3VwUmVxdWVzdBIKCgJpZBgBIAEoCRIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAMiFgoURGlzYWJsZUdyb3VwUmVzcG9uc2UiOQoSRGVsZXRlR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAyIVChNEZWxldGVHcm91cFJlc3BvbnNlIk0KFEFkZEdyb3VwVXNlcnNSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAxIQCgh1c2VyX2lkcxgDIAMoCSIXChVBZGRHcm91cFVzZXJzUmVzcG9uc2UiTgoWUmVtb3ZlR3JvdXBVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCRIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAMSDwoHdXNlcl9pZBgDIAEoCSIZChdSZW1vdmVHcm91cFVzZXJSZXNwb25zZSJQChVEZWxldGVSZWxhdGlvblJlcXVlc3QSDgoGb2JqZWN0GAEgASgJEg8KB3N1YmplY3QYAiABKAkSEAoIcmVsYXRpb24YBCABKAlKBAgDEAQiGAoWRGVsZXRlUmVsYXRpb25SZXNwb25zZSJTChtMaXN0UHJvamVjdFJlc291cmNlc1JlcXVlc3QSGwoKcHJvamVjdF9pZBgCIAEoCUIH+kIEcgIQAxIRCgluYW1lc3BhY2UYBCABKAlKBAgBEAIiVgocTGlzdFByb2plY3RSZXNvdXJjZXNSZXNwb25zZRI2CglyZXNvdXJjZXMYASADKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlc291cmNlIrYGChNSZXNvdXJjZVJlcXVlc3RCb2R5EnMKBG5hbWUYASABKAlCZZJBXjJcVGhlIG5hbWUgb2YgdGhlIHJlc291cmNlLiAgTXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBwcm9qZWN0LiA8YnIvPiAqRXhhbXBsZToqIGBteS1yZXNvdXJjZWDiQQECEo4BCgV0aXRsZRgCIAEoCUJ/kkF8MnpUaGUgdGl0bGUgY2FuIGNvbnRhaW4gYW55IFVURi04IGNoYXJhY3RlciwgdXNlZCB0byBwcm92aWRlIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIHJlc291cmNlLiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LhLyAQoJbmFtZXNwYWNlGAMgASgJQt4BkkHWATLTAVRoZSBuYW1lc3BhY2Ugb2YgdGhlIHJlc291cmNlLiBUaGUgcmVzb3VyY2UgbmFtZXNwYWNlIGFyZSBjcmVhdGVkIHdoZW4gcGVybWlzc2lvbnMgZm9yIHRoYXQgcmVzb3VyY2UgaXMgY3JlYXRlZCBpbiBGcm9udGllci4gSWYgbmFtZXNwYWNlIGRvZXNuJ3QgZXhpc3RzIHRoZSByZXF1ZXN0IHdpbGwgZmFpbC4gPGJyLz4gKkV4YW1wbGU6KiBgY29tcHV0ZS9pbnN0YW5jZWDiQQECEuwBCglwcmluY2lwYWwYBiABKAlC2AGSQdQBMtEBVXNlcklEIG9yIFNlcnZpY2VVc2VySUQgdGhhdCBzaG91bGQgYmUgbWFya2VkIGFzIG93bmVyIG9mIHRoZSByZXNvdXJjZS4gSWYgbm90IHByb3ZpZGVkLCB0aGUgY3VycmVudCBsb2dnZWQgaW4gdXNlciB3aWxsIGJlIG1hZGUgdGhlIHJlc291cmNlIG93bmVyLiA8YnIvPiAqRXhhbXBsZToqIGB1c2VyOjkyZjY5YzNhLTMzNGItNGYyNS05MGI4LTRkNGYzYmU2YjgyNWASKQoIbWV0YWRhdGEYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SgQIBBAFSgQIBRAGIqYBChxDcmVhdGVQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0EkYKBGJvZHkYASABKAsyLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlc291cmNlUmVxdWVzdEJvZHlCCPpCBYoBAhABEhIKCnByb2plY3RfaWQYAiABKAkSKgoCaWQYAyABKAlCHpJBGzIZQXV0b2dlbmVyYXRlZCBpZiBza2lwcGVkLiJWCh1DcmVhdGVQcm9qZWN0UmVzb3VyY2VSZXNwb25zZRI1CghyZXNvdXJjZRgBIAEoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2UiSgoZR2V0UHJvamVjdFJlc291cmNlUmVxdWVzdBIKCgJpZBgBIAEoCRIbCgpwcm9qZWN0X2lkGAMgASgJQgf6QgRyAhADSgQIAhADIlMKGkdldFByb2plY3RSZXNvdXJjZVJlc3BvbnNlEjUKCHJlc291cmNlGAEgASgLMiMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZXNvdXJjZSJ8ChxVcGRhdGVQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0EgoKAmlkGAEgASgJEjwKBGJvZHkYAiABKAsyLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlc291cmNlUmVxdWVzdEJvZHkSEgoKcHJvamVjdF9pZBgDIAEoCSJWCh1VcGRhdGVQcm9qZWN0UmVzb3VyY2VSZXNwb25zZRI1CghyZXNvdXJjZRgBIAEoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2UiRwocRGVsZXRlUHJvamVjdFJlc291cmNlUmVxdWVzdBIKCgJpZBgBIAEoCRIbCgpwcm9qZWN0X2lkGAMgASgJQgf6QgRyAhADIh8KHURlbGV0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlIoMGCh5DaGVja1Jlc291cmNlUGVybWlzc2lvblJlcXVlc3QSQwoJb2JqZWN0X2lkGAEgASgJQjAYAZJBKzIpRGVwcmVjYXRlZC4gVXNlIGByZXNvdXJjZWAgZmllbGQgaW5zdGVhZC4SSgoQb2JqZWN0X25hbWVzcGFjZRgCIAEoCUIwGAGSQSsyKURlcHJlY2F0ZWQuIFVzZSBgcmVzb3VyY2VgIGZpZWxkIGluc3RlYWQuEowBCgpwZXJtaXNzaW9uGAMgASgJQniSQVkyV3RoZSBwZXJtaXNzaW9uIG5hbWUgdG8gY2hlY2suIDxici8+ICpFeGFtcGxlOiogYGdldGAsIGBsaXN0YCwgYGNvbXB1dGUuaW5zdGFuY2UuY3JlYXRlYOJBAQL6QhVyEzIRXltBLVphLXowLTkuXy1dKyQSwAMKCHJlc291cmNlGAQgASgJQq0DkkGpAzKmA2BuYW1lc3BhY2U6dXVpZGAgb3IgYG5hbWVzcGFjZTpuYW1lYCBvZiB0aGUgb3JnIG9yIHByb2plY3QsIGFuZCBgbmFtZXNwYWNlOnVybmAgb2YgYSByZXNvdXJjZSB1bmRlciBhIHByb2plY3QuIEluIGNhc2Ugb2YgYW4gb3JnL3Byb2plY3QgZWl0aGVyIHByb3ZpZGUgdGhlIGNvbXBsZXRlIG5hbWVzcGFjZSAoYXBwL29yZ2FuaXphdGlvbikgb3IgRnJvbnRpZXIgY2FuIGFsc28gcGFyc2UgYWxpYXNlcyBmb3IgdGhlIHNhbWUgYXMgYG9yZ2Agb3IgYHByb2plY3RgLiA8YnIvPiAqRXhhbXBsZToqIGBvcmdhbml6YXRpb246OTJmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiODI1YCBvciBgYXBwL3Byb2plY3Q6cHJvamVjdC1uYW1lYCBvciBgY29tcHV0ZS9pbnN0YW5jZTo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVgIjEKH0NoZWNrUmVzb3VyY2VQZXJtaXNzaW9uUmVzcG9uc2USDgoGc3RhdHVzGAEgASgIIm4KG0JhdGNoQ2hlY2tQZXJtaXNzaW9uUmVxdWVzdBJPCgZib2RpZXMYASADKAsyMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJhdGNoQ2hlY2tQZXJtaXNzaW9uQm9keUIK+kIHkgEECAEQFCLSBAoYQmF0Y2hDaGVja1Blcm1pc3Npb25Cb2R5EnMKCnBlcm1pc3Npb24YASABKAlCX5JBQDI+dGhlIHBlcm1pc3Npb24gbmFtZSB0byBjaGVjay4gPGJyLz4gKkV4YW1wbGU6KiBgZ2V0YCBvciBgbGlzdGDiQQEC+kIVchMyEV5bQS1aYS16MC05Ll8tXSskEsADCghyZXNvdXJjZRgCIAEoCUKtA5JBqQMypgNgbmFtZXNwYWNlOnV1aWRgIG9yIGBuYW1lc3BhY2U6bmFtZWAgb2YgdGhlIG9yZyBvciBwcm9qZWN0LCBhbmQgYG5hbWVzcGFjZTp1cm5gIG9mIGEgcmVzb3VyY2UgdW5kZXIgYSBwcm9qZWN0LiBJbiBjYXNlIG9mIGFuIG9yZy9wcm9qZWN0IGVpdGhlciBwcm92aWRlIHRoZSBjb21wbGV0ZSBuYW1lc3BhY2UgKGFwcC9vcmdhbml6YXRpb24pIG9yIEZyb250aWVyIGNhbiBhbHNvIHBhcnNlIGFsaWFzZXMgZm9yIHRoZSBzYW1lIGFzIGBvcmdgIG9yIGBwcm9qZWN0YC4gPGJyLz4gKkV4YW1wbGU6KiBgb3JnYW5pemF0aW9uOjkyZjY5YzNhLTMzNGItNGYyNS05MGI4LTRkNGYzYmU2YjgyNWAgb3IgYGFwcC9wcm9qZWN0OnByb2plY3QtbmFtZWAgb3IgYGNvbXB1dGUvaW5zdGFuY2U6OTJmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiODI1YCJqChxCYXRjaENoZWNrUGVybWlzc2lvblJlc3BvbnNlEkoKBXBhaXJzGAEgAygLMjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CYXRjaENoZWNrUGVybWlzc2lvblJlc3BvbnNlUGFpciJ1CiBCYXRjaENoZWNrUGVybWlzc2lvblJlc3BvbnNlUGFpchJBCgRib2R5GAEgASgLMjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CYXRjaENoZWNrUGVybWlzc2lvbkJvZHkSDgoGc3RhdHVzGAIgASgIIqEDChVNZXRhU2NoZW1hUmVxdWVzdEJvZHkS1AEKBG5hbWUYASABKAlCxQGSQaYBMqMBVGhlIG5hbWUgb2YgdGhlIG1ldGFzY2hlbWEuIFRoZSBuYW1lIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgZW50aXJlIEZyb250aWVyIGluc3RhbmNlLiBUaGUgbmFtZSBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLuJBAQL6QhRyEjIQXltBLVphLXowLTktX10rJBKwAQoGc2NoZW1hGAIgASgJQp8BkkGQATKNAVRoZSBzY2hlbWEgb2YgdGhlIG1ldGFzY2hlbWEuIFRoZSBzY2hlbWEgbXVzdCBiZSBhIHZhbGlkIEpTT04gc2NoZW1hLlBsZWFzZSByZWZlciB0byBodHRwczovL2pzb24tc2NoZW1hLm9yZy8gdG8ga25vdyBtb3JlIGFib3V0IGpzb24gc2NoZW1hLuJBAQL6QgRyAhACImMKF0NyZWF0ZU1ldGFTY2hlbWFSZXF1ZXN0EkgKBGJvZHkYASABKAsyMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLk1ldGFTY2hlbWFSZXF1ZXN0Qm9keUII+kIFigECEAEiVQoYQ3JlYXRlTWV0YVNjaGVtYVJlc3BvbnNlEjkKCm1ldGFzY2hlbWEYASABKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLk1ldGFTY2hlbWEiIgoUR2V0TWV0YVNjaGVtYVJlcXVlc3QSCgoCaWQYASABKAkiUgoVR2V0TWV0YVNjaGVtYVJlc3BvbnNlEjkKCm1ldGFzY2hlbWEYASABKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLk1ldGFTY2hlbWEibwoXVXBkYXRlTWV0YVNjaGVtYVJlcXVlc3QSCgoCaWQYASABKAkSSAoEYm9keRgCIAEoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYVJlcXVlc3RCb2R5Qgj6QgWKAQIQASJVChhVcGRhdGVNZXRhU2NoZW1hUmVzcG9uc2USOQoKbWV0YXNjaGVtYRgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYSIlChdEZWxldGVNZXRhU2NoZW1hUmVxdWVzdBIKCgJpZBgBIAEoCSIaChhEZWxldGVNZXRhU2NoZW1hUmVzcG9uc2UiGAoWTGlzdE1ldGFTY2hlbWFzUmVxdWVzdCJVChdMaXN0TWV0YVNjaGVtYXNSZXNwb25zZRI6CgttZXRhc2NoZW1hcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYSIcChpEZXNjcmliZVByZWZlcmVuY2VzUmVxdWVzdCJZChtEZXNjcmliZVByZWZlcmVuY2VzUmVzcG9uc2USOgoGdHJhaXRzGAEgAygLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlVHJhaXQihwEKJENyZWF0ZU9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxJKCgZib2RpZXMYAiADKAsyMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2VSZXF1ZXN0Qm9keUII+kIFkgECCAEiYwolQ3JlYXRlT3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSI5CiJMaXN0T3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADImEKI0xpc3RPcmdhbml6YXRpb25QcmVmZXJlbmNlc1Jlc3BvbnNlEjoKC3ByZWZlcmVuY2VzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlIoIBCh9DcmVhdGVQcm9qZWN0UHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkoKBmJvZGllcxgCIAMoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZVJlcXVlc3RCb2R5Qgj6QgWSAQIIASJeCiBDcmVhdGVQcm9qZWN0UHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSI0Ch1MaXN0UHJvamVjdFByZWZlcmVuY2VzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJcCh5MaXN0UHJvamVjdFByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UigAEKHUNyZWF0ZUdyb3VwUHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkoKBmJvZGllcxgCIAMoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZVJlcXVlc3RCb2R5Qgj6QgWSAQIIASJcCh5DcmVhdGVHcm91cFByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UiMgobTGlzdEdyb3VwUHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADIloKHExpc3RHcm91cFByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UifwocQ3JlYXRlVXNlclByZWZlcmVuY2VzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxJKCgZib2RpZXMYAiADKAsyMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2VSZXF1ZXN0Qm9keUII+kIFkgECCAEiWwodQ3JlYXRlVXNlclByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UiMQoaTGlzdFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMiWQobTGlzdFVzZXJQcmVmZXJlbmNlc1Jlc3BvbnNlEjoKC3ByZWZlcmVuY2VzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlInEKI0NyZWF0ZUN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0EkoKBmJvZGllcxgCIAMoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZVJlcXVlc3RCb2R5Qgj6QgWSAQIIASJiCiRDcmVhdGVDdXJyZW50VXNlclByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UiIwohTGlzdEN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0ImAKIkxpc3RDdXJyZW50VXNlclByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UiSAodQmlsbGluZ1dlYmhvb2tDYWxsYmFja1JlcXVlc3QSGQoIcHJvdmlkZXIYASABKAlCB/pCBHICEAESDAoEYm9keRgCIAEoDCIgCh5CaWxsaW5nV2ViaG9va0NhbGxiYWNrUmVzcG9uc2UihAQKG0NyZWF0ZVByb3NwZWN0UHVibGljUmVxdWVzdBI+CgRuYW1lGAEgASgJQjCSQRcyFWZ1bGwgbmFtZSBvZiB0aGUgdXNlcvpCE3IRMgxeW0EtWmEteiBdKyTQAQESMgoFZW1haWwYBSABKAlCI5JBEzIRZW1haWwgb2YgdGhlIHVzZXLiQQEC+kIGcgQQAWABEiwKBXBob25lGAYgASgJQh2SQRoyGHBob25lIG51bWJlciBvZiB0aGUgdXNlchKAAQoIYWN0aXZpdHkYByABKAlCbpJBTjJMYWN0aXZpdHkgZm9yIHdoaWNoIHVzZXIgaXMgc3Vic2NyaWJpbmcsIGUuZy4gbmV3c2xldHRlciwgd2FpdGxpc3QsIGJsb2dzIGV0Y+JBAQL6QhZyFBABMhBeW0EtWmEtejAtOS1fXSskEm0KBnNvdXJjZRgJIAEoCUJdkkFAMj5zb3VyY2Ugb2YgdGhpcyB1c2VyIGFkZGl0aW9uIGUuZy4gcGxhdGZvcm0sIHdlYnNpdGUsIGFkbWluIGV0Y/pCF3IVMhBeW0EtWmEtejAtOS1fXSsk0AEBElEKCG1ldGFkYXRhGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEImkkEjMiFhZGRpdGlvbmFsIGluZm8gYXMga2V5IHZhbHVlIHBhaXIiHgocQ3JlYXRlUHJvc3BlY3RQdWJsaWNSZXNwb25zZSIVChNMaXN0U2Vzc2lvbnNSZXF1ZXN0IkwKFExpc3RTZXNzaW9uc1Jlc3BvbnNlEjQKCHNlc3Npb25zGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXNzaW9uIjgKFFJldm9rZVNlc3Npb25SZXF1ZXN0EiAKCnNlc3Npb25faWQYASABKAlCDOJBAQL6QgVyA7ABASIXChVSZXZva2VTZXNzaW9uUmVzcG9uc2UiGAoWUGluZ1VzZXJTZXNzaW9uUmVxdWVzdCJUChdQaW5nVXNlclNlc3Npb25SZXNwb25zZRI5CghtZXRhZGF0YRgBIAEoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2Vzc2lvbi5NZXRhIrUDChhDcmVhdGVBdWRpdFJlY29yZFJlcXVlc3QSQAoFYWN0b3IYASABKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1ZGl0UmVjb3JkQWN0b3JCBOJBAQISGgoFZXZlbnQYAiABKAlCC+JBAQL6QgRyAhADEkYKCHJlc291cmNlGAMgASgLMi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdWRpdFJlY29yZFJlc291cmNlQgTiQQECEjwKBnRhcmdldBgEIAEoCzIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXVkaXRSZWNvcmRUYXJnZXQSNQoLb2NjdXJyZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgTiQQECEhgKBm9yZ19pZBgGIAEoCUII+kIFcgOwAQESEgoKcmVxdWVzdF9pZBgHIAEoCRIpCghtZXRhZGF0YRgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSJQoPaWRlbXBvdGVuY3lfa2V5GAkgASgJQgziQQEC+kIFcgOwAQEiWQoZQ3JlYXRlQXVkaXRSZWNvcmRSZXNwb25zZRI8CgxhdWRpdF9yZWNvcmQYASABKAsyJi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1ZGl0UmVjb3JkMtORAwoPRnJvbnRpZXJTZXJ2aWNlEugCCglMaXN0VXNlcnMSKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2Vyc1JlcXVlc3QaLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2Vyc1Jlc3BvbnNlIv8BkkHlAQoEVXNlchIRTGlzdCBwdWJsaWMgdXNlcnMayQFSZXR1cm5zIHRoZSB1c2VycyBmcm9tIGFsbCB0aGUgb3JnYW5pemF0aW9ucyBpbiBhIEZyb250aWVyIGluc3RhbmNlLiBJdCBjYW4gYmUgZmlsdGVyZWQgYnkga2V5d29yZCwgb3JnYW5pemF0aW9uLCBncm91cCBhbmQgc3RhdGUuIEFkZGl0aW9uYWxseSB5b3UgY2FuIGluY2x1ZGUgcGFnZSBudW1iZXIgYW5kIHBhZ2Ugc2l6ZSBmb3IgcGFnaW5hdGlvbi6C0+STAhASDi92MWJldGExL3VzZXJzErsGCgpDcmVhdGVVc2VyEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVVc2VyUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlVXNlclJlc3BvbnNlIs8FkkGvBQoEVXNlchILQ3JlYXRlIHVzZXIalwVDcmVhdGUgYSB1c2VyIHdpdGggdGhlIGdpdmVuIGRldGFpbHMuIEEgdXNlciBpcyBub3QgYXR0YWNoZWQgdG8gYW4gb3JnYW5pemF0aW9uIG9yIGEgZ3JvdXAgYnkgZGVmYXVsdCxhbmQgY2FuIGJlIGludml0ZWQgdG8gdGhlIG9yZy9ncm91cC4gVGhlIG5hbWUgb2YgdGhlIHVzZXIgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIElmIGEgdXNlciBuYW1lIGlzIG5vdCBwcm92aWRlZCwgRnJvbnRpZXIgYXV0b21hdGljYWxseSBnZW5lcmF0ZXMgYSBuYW1lIGZyb20gdGhlIHVzZXIgZW1haWwuIFRoZSB1c2VyIG1ldGFkYXRhIGlzIHZhbGlkYXRlZCBhZ2FpbnN0IHRoZSB1c2VyIG1ldGFzY2hlbWEuIEJ5IGRlZmF1bHQgdGhlIHVzZXIgbWV0YXNjaGVtYSBjb250YWlucyBgbGFiZWxzYCBhbmQgYGRlc2NyaXB0aW9uc2AgZm9yIHRoZSB1c2VyLiBUaGUgYHRpdGxlYCBmaWVsZCBjYW4gYmUgb3B0aW9uYWxseSBhZGRlZCBmb3IgYSB1c2VyLWZyaWVuZGx5IG5hbWUuIDxici8+PGJyLz4qRXhhbXBsZToqYHsiZW1haWwiOiJqb2huLmRvZUByYXlzdGFjay5vcmciLCJ0aXRsZSI6IkpvaG4gRG9lIixtZXRhZGF0YTp7ImxhYmVsIjogeyJrZXkxIjogInZhbHVlMSJ9LCAiZGVzY3JpcHRpb24iOiAiVXNlciBEZXNjcmlwdGlvbiJ9fWBiAILT5JMCFiIOL3YxYmV0YTEvdXNlcnM6BGJvZHkSzwEKB0dldFVzZXISKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFVzZXJSZXF1ZXN0GioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRVc2VyUmVzcG9uc2UibZJBTwoEVXNlchIIR2V0IHVzZXIaPUdldCBhIHVzZXIgYnkgaWQgc2VhcmNoZWQgb3ZlciBhbGwgb3JnYW5pemF0aW9ucyBpbiBGcm9udGllci6C0+STAhUSEy92MWJldGExL3VzZXJzL3tpZH0S6gIKDkxpc3RVc2VyR3JvdXBzEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlckdyb3Vwc1JlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VyR3JvdXBzUmVzcG9uc2Ui8gGSQcwBCgRVc2VyEhBMaXN0IHVzZXIgZ3JvdXBzGrEBTGlzdHMgYWxsIHRoZSBncm91cHMgYSB1c2VyIGJlbG9uZ3MgdG8gYWNyb3NzIGFsbCBvcmdhbml6YXRpb24gaW4gRnJvbnRpZXIuIFRvIGdldCB0aGUgZ3JvdXBzIG9mIGEgdXNlciBpbiBhIHNwZWNpZmljIG9yZ2FuaXphdGlvbiwgdXNlIHRoZSBvcmdfaWQgZmlsdGVyIGluIHRoZSBxdWVyeSBwYXJhbWV0ZXIugtPkkwIcEhovdjFiZXRhMS91c2Vycy97aWR9L2dyb3VwcxLHAQoVTGlzdEN1cnJlbnRVc2VyR3JvdXBzEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJHcm91cHNSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJHcm91cHNSZXNwb25zZSI7kkEWCgRVc2VyEg5MaXN0IG15IGdyb3Vwc4LT5JMCHBIaL3YxYmV0YTEvdXNlcnMvc2VsZi9ncm91cHMSrQEKDkdldEN1cnJlbnRVc2VyEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRDdXJyZW50VXNlclJlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEN1cnJlbnRVc2VyUmVzcG9uc2UiNpJBGAoEVXNlchIQR2V0IGN1cnJlbnQgdXNlcoLT5JMCFRITL3YxYmV0YTEvdXNlcnMvc2VsZhKiAQoKVXBkYXRlVXNlchIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlVXNlclJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVVzZXJSZXNwb25zZSI3kkETCgRVc2VyEgtVcGRhdGUgdXNlcoLT5JMCGxoTL3YxYmV0YTEvdXNlcnMve2lkfToEYm9keRK/AQoRVXBkYXRlQ3VycmVudFVzZXISMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUN1cnJlbnRVc2VyUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlQ3VycmVudFVzZXJSZXNwb25zZSI/kkEbCgRVc2VyEhNVcGRhdGUgY3VycmVudCB1c2VygtPkkwIbGhMvdjFiZXRhMS91c2Vycy9zZWxmOgRib2R5EpECCgpFbmFibGVVc2VyEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVVc2VyUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlVXNlclJlc3BvbnNlIqUBkkF9CgRVc2VyEgtFbmFibGUgdXNlchpoU2V0cyB0aGUgc3RhdGUgb2YgdGhlIHVzZXIgYXMgZW5hYmxlZC4gVGhlIHVzZXIgd2lsbCBiZSBhYmxlIHRvIGxvZyBpbiBhbmQgYWNjZXNzIHRoZSBGcm9udGllciBpbnN0YW5jZS6C0+STAh8iGi92MWJldGExL3VzZXJzL3tpZH0vZW5hYmxlOgEqEpADCgtEaXNhYmxlVXNlchItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZVVzZXJSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlVXNlclJlc3BvbnNlIqECkkH3AQoEVXNlchIMRGlzYWJsZSB1c2VyGuABU2V0cyB0aGUgc3RhdGUgb2YgdGhlIHVzZXIgYXMgZGlhYmxlZC5UaGUgdXNlcidzIG1lbWJlcnNoaXAgdG8gZ3JvdXBzIGFuZCBvcmdhbml6YXRpb25zIHdpbGwgc3RpbGwgZXhpc3QgYWxvbmcgd2l0aCBhbGwgaXQncyByb2xlcyBmb3IgYWNjZXNzIGNvbnRyb2wsIGJ1dCB0aGUgdXNlciB3aWxsIG5vdCBiZSBhYmxlIHRvIGxvZyBpbiBhbmQgYWNjZXNzIHRoZSBGcm9udGllciBpbnN0YW5jZS6C0+STAiAiGy92MWJldGExL3VzZXJzL3tpZH0vZGlzYWJsZToBKhL3AQoKRGVsZXRlVXNlchIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlVXNlclJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVVzZXJSZXNwb25zZSKLAZJBbQoEVXNlchILRGVsZXRlIHVzZXIaWERlbGV0ZSBhbiB1c2VyIHBlcm1hbmVudGx5IGZvcmV2ZXIgYW5kIGFsbCBvZiBpdHMgcmVsYXRpb25zIChvcmdhbml6YXRpb25zLCBncm91cHMsIGV0YymC0+STAhUqEy92MWJldGExL3VzZXJzL3tpZH0S/wQKF0xpc3RPcmdhbml6YXRpb25zQnlVc2VyEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uc0J5VXNlclJlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25zQnlVc2VyUmVzcG9uc2Ui7AOSQb8DCgRVc2VyEhZHZXQgdXNlciBvcmdhbml6YXRpb25zGp4DVGhpcyBBUEkgcmV0dXJucyB0d28gbGlzdCBvZiBvcmdhbml6YXRpb25zIGZvciB0aGUgdXNlci4gaSkgVGhlIGxpc3Qgb2Ygb3JncyB3aGljaCB0aGUgY3VycmVudCB1c2VyIGlzIGFscmVhZHkgYSBwYXJ0IG9mIGlpKSBUaGUgbGlzdCBvZiBvcmdhbml6YXRpb25zIHRoZSB1c2VyIGNhbiBqb2luIGRpcmVjdGx5IChiYXNlZCBvbiBkb21haW4gd2hpdGVsaXN0ZWQgYW5kIHZlcmlmaWVkIGJ5IHRoZSBvcmcpLiBUaGlzIGxpc3Qgd2lsbCBhbHNvIGNvbnRhaW4gb3JncyBvZiB3aGljaCB1c2VyIGlzIGFscmVhZHkgYSBwYXJ0IG9mLiBOb3RlOiB0aGUgZG9tYWluIG5lZWRzIHRvIGJlIHZlcmlmaWVkIGJ5IHRoZSBvcmcgYmVmb3JlIHRoZSBpdCBpcyByZXR1cm5lZCBhcyBvbmUgb2YgdGhlIGpvaW5hYmxlIG9yZ3MgYnkgZG9tYWlugtPkkwIjEiEvdjFiZXRhMS91c2Vycy97aWR9L29yZ2FuaXphdGlvbnMSpAUKHkxpc3RPcmdhbml6YXRpb25zQnlDdXJyZW50VXNlchJALnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVxdWVzdBpBLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVzcG9uc2Ui/AOSQc8DCgRVc2VyEhRHZXQgbXkgb3JnYW5pemF0aW9ucxqwA1RoaXMgQVBJIHJldHVybnMgdHdvIGxpc3Qgb2Ygb3JnYW5pemF0aW9ucyBmb3IgdGhlIGN1cnJlbnQgbG9nZ2VkIGluIHVzZXIuIGkpIFRoZSBsaXN0IG9mIG9yZ3Mgd2hpY2ggdGhlIGN1cnJlbnQgdXNlciBpcyBhbHJlYWR5IGEgcGFydCBvZiBpaSkgVGhlIGxpc3Qgb2Ygb3JnYW5pemF0aW9ucyB0aGUgdXNlciBjYW4gam9pbiBkaXJlY3RseSAoYmFzZWQgb24gZG9tYWluIHdoaXRlbGlzdGVkIGFuZCB2ZXJpZmllZCBieSB0aGUgb3JnKS4gVGhpcyBsaXN0IHdpbGwgYWxzbyBjb250YWluIG9yZ3Mgb2Ygd2hpY2ggdXNlciBpcyBhbHJlYWR5IGEgcGFydCBvZi4gTm90ZTogdGhlIGRvbWFpbiBuZWVkcyB0byBiZSB2ZXJpZmllZCBieSB0aGUgb3JnIGJlZm9yZSB0aGUgaXQgaXMgcmV0dXJuZWQgYXMgb25lIG9mIHRoZSBqb2luYWJsZSBvcmdzIGJ5IGRvbWFpboLT5JMCIxIhL3YxYmV0YTEvdXNlcnMvc2VsZi9vcmdhbml6YXRpb25zEuwBChJMaXN0UHJvamVjdHNCeVVzZXISNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0c0J5VXNlclJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0c0J5VXNlclJlc3BvbnNlImmSQUIKBFVzZXISEUdldCB1c2VyIHByb2plY3RzGidHZXQgYWxsIHRoZSBwcm9qZWN0cyBhIHVzZXIgYmVsb25ncyB0by6C0+STAh4SHC92MWJldGExL3VzZXJzL3tpZH0vcHJvamVjdHMShAIKGUxpc3RQcm9qZWN0c0J5Q3VycmVudFVzZXISOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0c0J5Q3VycmVudFVzZXJSZXF1ZXN0GjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdHNCeUN1cnJlbnRVc2VyUmVzcG9uc2UibJJBRQoEVXNlchIPR2V0IG15IHByb2plY3RzGixHZXQgYWxsIHByb2plY3RzIHRoZSBjdXJyZW50IHVzZXIgYmVsb25ncyB0b4LT5JMCHhIcL3YxYmV0YTEvdXNlcnMvc2VsZi9wcm9qZWN0cxL3AQoTTGlzdFVzZXJJbnZpdGF0aW9ucxI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJJbnZpdGF0aW9uc1JlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VySW52aXRhdGlvbnNSZXNwb25zZSJxkkFHCgRVc2VyEhVMaXN0IHVzZXIgaW52aXRhdGlvbnMaKExpc3QgYWxsIHRoZSBpbnZpdGF0aW9ucyBzZW50IHRvIGEgdXNlci6C0+STAiESHy92MWJldGExL3VzZXJzL3tpZH0vaW52aXRhdGlvbnMSkgIKGkxpc3RDdXJyZW50VXNlckludml0YXRpb25zEjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJJbnZpdGF0aW9uc1JlcXVlc3QaPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckludml0YXRpb25zUmVzcG9uc2Uid5JBTQoEVXNlchIVTGlzdCB1c2VyIGludml0YXRpb25zGi5MaXN0IGFsbCB0aGUgaW52aXRhdGlvbnMgc2VudCB0byBjdXJyZW50IHVzZXIugtPkkwIhEh8vdjFiZXRhMS91c2Vycy9zZWxmL2ludml0YXRpb25zEqgCChBMaXN0U2VydmljZVVzZXJzEjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJzUmVxdWVzdBozLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlIqoBkkGJAQoLU2VydmljZVVzZXISFkxpc3Qgb3JnIHNlcnZpY2UgdXNlcnMaYlJldHVybnMgdGhlIHNlcnZpY2UgdXNlciBvZiBhbiBvcmdhbml6YXRpb24gaW4gYSBGcm9udGllciBpbnN0YW5jZS4gSXQgY2FuIGJlIGZpbHRlciBieSBpdCdzIHN0YXRlgtPkkwIXEhUvdjFiZXRhMS9zZXJ2aWNldXNlcnMS9AEKEUNyZWF0ZVNlcnZpY2VVc2VyEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlclJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyUmVzcG9uc2UidJJBOgoLU2VydmljZVVzZXISE0NyZWF0ZSBzZXJ2aWNlIHVzZXIaFkNyZWF0ZSBhIHNlcnZpY2UgdXNlci6C0+STAjEiLC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzOgEqEvgBCg5HZXRTZXJ2aWNlVXNlchIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0U2VydmljZVVzZXJSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTZXJ2aWNlVXNlclJlc3BvbnNlIoABkkFECgtTZXJ2aWNlVXNlchIQR2V0IHNlcnZpY2UgdXNlchojR2V0IHNlcnZpY2UgdXNlciBkZXRhaWxzIGJ5IGl0cyBpZC6C0+STAjMSMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0SvgIKEURlbGV0ZVNlcnZpY2VVc2VyEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlclJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VyUmVzcG9uc2UivQGSQYABCgtTZXJ2aWNlVXNlchITRGVsZXRlIHNlcnZpY2UgdXNlchpcRGVsZXRlIGEgc2VydmljZSB1c2VyIHBlcm1hbmVudGx5IGFuZCBhbGwgb2YgaXRzIHJlbGF0aW9ucyAoa2V5cywgb3JnYW5pemF0aW9ucywgcm9sZXMsIGV0YymC0+STAjMqMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0SmAMKFENyZWF0ZVNlcnZpY2VVc2VySldLEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlckpXS1JlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VySldLUmVzcG9uc2UijgKSQckBCgtTZXJ2aWNlVXNlchIrQ3JlYXRlIHNlcnZpY2UgdXNlciBwdWJsaWMvcHJpdmF0ZSBrZXkgcGFpchqMAUdlbmVyYXRlIGEgc2VydmljZSB1c2VyIGtleSBhbmQgcmV0dXJuIGl0LCB0aGUgcHJpdmF0ZSBrZXkgcGFydCBvZiB0aGUgcmVzcG9uc2Ugd2lsbCBub3QgYmUgcGVyc2lzdGVkIGFuZCBzaG91bGQgYmUga2VwdCBzZWN1cmVseSBieSBjbGllbnQugtPkkwI7IjYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L2tleXM6ASoSrwIKE0xpc3RTZXJ2aWNlVXNlckpXS3MSNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlckpXS3NSZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJKV0tzUmVzcG9uc2UiqAGSQWcKC1NlcnZpY2VVc2VyEhZMaXN0IHNlcnZpY2UgdXNlciBrZXlzGkBMaXN0IGFsbCB0aGUga2V5cyBvZiBhIHNlcnZpY2UgdXNlciB3aXRoIGl0cyBkZXRhaWxzIGV4Y2VwdCBqd2sugtPkkwI4EjYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L2tleXMSlgIKEUdldFNlcnZpY2VVc2VySldLEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTZXJ2aWNlVXNlckpXS1JlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFNlcnZpY2VVc2VySldLUmVzcG9uc2UilQGSQUsKC1NlcnZpY2VVc2VyEhRHZXQgc2VydmljZSB1c2VyIGtleRomR2V0IGEgc2VydmljZSB1c2VyIHB1YmxpYyBSU0EgSldLIHNldC6C0+STAkESPy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0va2V5cy97a2V5X2lkfRKiAgoURGVsZXRlU2VydmljZVVzZXJKV0sSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VySldLUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJKV0tSZXNwb25zZSKYAZJBTgoLU2VydmljZVVzZXISF0RlbGV0ZSBzZXJ2aWNlIHVzZXIga2V5GiZEZWxldGUgYSBzZXJ2aWNlIHVzZXIga2V5IHBlcm1hbmVudGx5LoLT5JMCQSo/L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9rZXlzL3trZXlfaWR9EqQDChtDcmVhdGVTZXJ2aWNlVXNlckNyZWRlbnRpYWwSPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlcXVlc3QaPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlc3BvbnNlIoUCkkG9AQoLU2VydmljZVVzZXISJkNyZWF0ZSBzZXJ2aWNlIHVzZXIgY2xpZW50IGNyZWRlbnRpYWxzGoUBR2VuZXJhdGUgYSBzZXJ2aWNlIHVzZXIgY3JlZGVudGlhbCBhbmQgcmV0dXJuIGl0LiBUaGUgY3JlZGVudGlhbCB2YWx1ZSB3aWxsIG5vdCBiZSBwZXJzaXN0ZWQgYW5kIHNob3VsZCBiZSBzZWN1cmVseSBzdG9yZWQgYnkgY2xpZW50LoLT5JMCPiI5L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9zZWNyZXRzOgEqErkCChpMaXN0U2VydmljZVVzZXJDcmVkZW50aWFscxI8LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyQ3JlZGVudGlhbHNSZXF1ZXN0Gj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJDcmVkZW50aWFsc1Jlc3BvbnNlIp0BkkFZCgtTZXJ2aWNlVXNlchIdTGlzdCBzZXJ2aWNlIHVzZXIgY3JlZGVudGlhbHMaK0xpc3QgYWxsIHRoZSBjcmVkZW50aWFscyBvZiBhIHNlcnZpY2UgdXNlci6C0+STAjsSOS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vc2VjcmV0cxLAAgobRGVsZXRlU2VydmljZVVzZXJDcmVkZW50aWFsEj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXF1ZXN0Gj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXNwb25zZSKhAZJBUQoLU2VydmljZVVzZXISH0RlbGV0ZSBzZXJ2aWNlIHVzZXIgY3JlZGVudGlhbHMaIURlbGV0ZSBhIHNlcnZpY2UgdXNlciBjcmVkZW50aWFsLoLT5JMCRypFL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9zZWNyZXRzL3tzZWNyZXRfaWR9EvwCChZDcmVhdGVTZXJ2aWNlVXNlclRva2VuEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlclRva2VuUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJUb2tlblJlc3BvbnNlIuwBkkGlAQoLU2VydmljZVVzZXISGUNyZWF0ZSBzZXJ2aWNlIHVzZXIgdG9rZW4ae0dlbmVyYXRlIGEgc2VydmljZSB1c2VyIHRva2VuIGFuZCByZXR1cm4gaXQuIFRoZSB0b2tlbiB2YWx1ZSB3aWxsIG5vdCBiZSBwZXJzaXN0ZWQgYW5kIHNob3VsZCBiZSBzZWN1cmVseSBzdG9yZWQgYnkgY2xpZW50LoLT5JMCPSI4L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS90b2tlbnM6ASoSnwIKFUxpc3RTZXJ2aWNlVXNlclRva2VucxI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyVG9rZW5zUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyVG9rZW5zUmVzcG9uc2UikgGSQU8KC1NlcnZpY2VVc2VyEhhMaXN0IHNlcnZpY2UgdXNlciB0b2tlbnMaJkxpc3QgYWxsIHRoZSB0b2tlbnMgb2YgYSBzZXJ2aWNlIHVzZXIugtPkkwI6EjgvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3Rva2VucxKkAgoWRGVsZXRlU2VydmljZVVzZXJUb2tlbhI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJUb2tlblJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VyVG9rZW5SZXNwb25zZSKUAZJBRgoLU2VydmljZVVzZXISGURlbGV0ZSBzZXJ2aWNlIHVzZXIgdG9rZW4aHERlbGV0ZSBhIHNlcnZpY2UgdXNlciB0b2tlbi6C0+STAkUqQy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vdG9rZW5zL3t0b2tlbl9pZH0SsAIKF0xpc3RTZXJ2aWNlVXNlclByb2plY3RzEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJQcm9qZWN0c1JlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlclByb2plY3RzUmVzcG9uc2UinQGSQVgKC1NlcnZpY2VVc2VyEhpMaXN0IHNlcnZpY2Ugc3NlciBwcm9qZWN0cxotTGlzdCBhbGwgcHJvamVjdHMgdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvgtPkkwI8EjovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3Byb2plY3RzEuQCChZMaXN0T3JnYW5pemF0aW9uR3JvdXBzEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uR3JvdXBzUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkdyb3Vwc1Jlc3BvbnNlItQBkkGiAQoFR3JvdXASGExpc3Qgb3JnYW5pemF0aW9uIGdyb3Vwcxp/R2V0IGFsbCBncm91cHMgdGhhdCBiZWxvbmcgdG8gYW4gb3JnYW5pemF0aW9uLiBUaGUgcmVzdWx0cyBjYW4gYmUgZmlsdGVyZWQgYnkgc3RhdGUgd2hpY2ggY2FuIGJlIGVpdGhlciBiZSBlbmFibGVkIG9yIGRpc2FibGVkLoLT5JMCKBImL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMSnQMKC0NyZWF0ZUdyb3VwEi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVHcm91cFJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUdyb3VwUmVzcG9uc2UirgKSQfYBCgVHcm91cBIMQ3JlYXRlIGdyb3VwGt4BQ3JlYXRlIGEgbmV3IGdyb3VwIGluIGFuIG9yZ2FuaXphdGlvbiB3aGljaCBzZXJ2ZXMgYXMgYSBjb250YWluZXIgZm9yIHVzZXJzLiBUaGUgZ3JvdXAgY2FuIGJlIGFzc2lnbmVkIHJvbGVzIGFuZCBwZXJtaXNzaW9ucyBhbmQgY2FuIGJlIHVzZWQgdG8gbWFuYWdlIGFjY2VzcyB0byByZXNvdXJjZXMuIEFsc28gYSBncm91cCBjYW4gYWxzbyBiZSBhc3NpZ25lZCB0byBvdGhlciBncm91cHMugtPkkwIuIiYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3VwczoEYm9keRKtAQoIR2V0R3JvdXASKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEdyb3VwUmVxdWVzdBorLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0R3JvdXBSZXNwb25zZSJIkkESCgVHcm91cBIJR2V0IGdyb3VwgtPkkwItEisvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9Er8BCgtVcGRhdGVHcm91cBItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlR3JvdXBSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVHcm91cFJlc3BvbnNlIlGSQRUKBUdyb3VwEgxVcGRhdGUgZ3JvdXCC0+STAjMaKy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH06BGJvZHkS/gEKDkxpc3RHcm91cFVzZXJzEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0R3JvdXBVc2Vyc1JlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RHcm91cFVzZXJzUmVzcG9uc2UihgGSQUoKBUdyb3VwEhBMaXN0IGdyb3VwIHVzZXJzGi9SZXR1cm5zIGEgbGlzdCBvZiB1c2VycyB0aGF0IGJlbG9uZyB0byBhIGdyb3VwLoLT5JMCMxIxL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfS91c2VycxLdAgoNQWRkR3JvdXBVc2VycxIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQWRkR3JvdXBVc2Vyc1JlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFkZEdyb3VwVXNlcnNSZXNwb25zZSLoAZJBqAEKBUdyb3VwEg5BZGQgZ3JvdXAgdXNlchqOAUFkZHMgYSBwcmluY2lwbGUodXNlciBhbmQgc2VydmljZS11c2VycykgdG8gYSBncm91cCwgZXhpc3RpbmcgdXNlcnMgaW4gdGhlIGdyb3VwIHdpbGwgYmUgaWdub3JlZC4gQSBncm91cCBjYW4ndCBoYXZlIG5lc3RlZCBncm91cHMgYXMgbWVtYmVycy6C0+STAjYiMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0vdXNlcnM6ASoS7wIKD1JlbW92ZUdyb3VwVXNlchIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVtb3ZlR3JvdXBVc2VyUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVtb3ZlR3JvdXBVc2VyUmVzcG9uc2Ui9AGSQa0BCgVHcm91cBIRUmVtb3ZlIGdyb3VwIHVzZXIakAFSZW1vdmVzIGEgcHJpbmNpcGxlKHVzZXIgYW5kIHNlcnZpY2UtdXNlcnMpIGZyb20gYSBncm91cC4gSWYgdGhlIHVzZXIgaXMgbm90IGluIHRoZSBncm91cCwgdGhlIHJlcXVlc3Qgd2lsbCBzdWNjZWVkIGJ1dCBubyBjaGFuZ2VzIHdpbGwgYmUgbWFkZS6C0+STAj0qOy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0vdXNlcnMve3VzZXJfaWR9EsMCCgtFbmFibGVHcm91cBItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlR3JvdXBSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVHcm91cFJlc3BvbnNlItQBkkGTAQoFR3JvdXASDEVuYWJsZSBncm91cBp8U2V0cyB0aGUgc3RhdGUgb2YgdGhlIGdyb3VwIGFzIGVuYWJsZWQuIFRoZSBgZW5hYmxlZGAgZmxhZyBpcyB1c2VkIHRvIGRldGVybWluZSBpZiB0aGUgZ3JvdXAgY2FuIGJlIHVzZWQgZm9yIGFjY2VzcyBjb250cm9sLoLT5JMCNyIyL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfS9lbmFibGU6ASoS1AMKDERpc2FibGVHcm91cBIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZUdyb3VwUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZUdyb3VwUmVzcG9uc2Ui4gKSQaACCgVHcm91cBINRGlzYWJsZSBncm91cBqHAlNldHMgdGhlIHN0YXRlIG9mIHRoZSBncm91cCBhcyBkaXNhYmxlZC4gVGhlIGdyb3VwIHdpbGwgbm90IGJlIGF2YWlsYWJsZSBmb3IgYWNjZXNzIGNvbnRyb2wgYW5kIHRoZSBleGlzdGluZyB1c2VycyBpbiB0aGUgZ3JvdXAgd2lsbCBub3QgYmUgYWJsZSB0byBhY2Nlc3MgYW55IHJlc291cmNlcyB0aGF0IGFyZSBhc3NpZ25lZCB0byB0aGUgZ3JvdXAuIE5vIG90aGVyIHVzZXJzIGNhbiBiZSBhZGRlZCB0byB0aGUgZ3JvdXAgd2hpbGUgaXQgaXMgZGlzYWJsZWQugtPkkwI4IjMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9L2Rpc2FibGU6ASoS/QEKC0RlbGV0ZUdyb3VwEi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVHcm91cFJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZUdyb3VwUmVzcG9uc2UijgGSQVgKBUdyb3VwEgxEZWxldGUgZ3JvdXAaQURlbGV0ZSBhbiBvcmdhbml6YXRpb24gZ3JvdXAgcGVybWFuZW50bHkgYW5kIGFsbCBvZiBpdHMgcmVsYXRpb25zgtPkkwItKisvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9EpMCCglMaXN0Um9sZXMSKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RSb2xlc1JlcXVlc3QaLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RSb2xlc1Jlc3BvbnNlIqoBkkGQAQoEUm9sZRITTGlzdCBwbGF0Zm9ybSByb2xlcxpzUmV0dXJucyBhIGxpc3Qgb2YgcGxhdGZvcm0gd2lkZSByb2xlcyBhdmFpbGFibGUgaW4gZW5pdHJlIEZyb250aWVyIGluc3RhbmNlIGFsb25nIHdpdGggdGhlaXIgYXNzb2NpYXRlZCBwZXJtaXNzaW9uc4LT5JMCEBIOL3YxYmV0YTEvcm9sZXMSvAIKFUxpc3RPcmdhbml6YXRpb25Sb2xlcxI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblJvbGVzUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblJvbGVzUmVzcG9uc2UirwGSQX8KBFJvbGUSF0xpc3Qgb3JnYW5pemF0aW9uIHJvbGVzGl5SZXR1cm5zIGEgbGlzdCBvZiBjdXN0b20gcm9sZXMgY3JlYXRlZCB1bmRlciBhbiBvcmdhbml6YXRpb24gd2l0aCB0aGVpciBhc3NvY2lhdGVkIHBlcm1pc3Npb25zgtPkkwInEiUvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3JvbGVzEvcCChZDcmVhdGVPcmdhbml6YXRpb25Sb2xlEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIucBkkGwAQoEUm9sZRIYQ3JlYXRlIG9yZ2FuaXphdGlvbiByb2xlGo0BQ3JlYXRlIGEgY3VzdG9tIHJvbGUgdW5kZXIgYW4gb3JnYW5pemF0aW9uLiBUaGlzIGN1c3RvbSByb2xlIHdpbGwgb25seSBiZSBhdmFpbGFibGUgZm9yIGFzc2lnbm1lbnQgdG8gdGhlIHByaW5jaXBsZXMgd2l0aGluIHRoZSBvcmdhbml6YXRpb24ugtPkkwItIiUvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3JvbGVzOgRib2R5EqwCChNHZXRPcmdhbml6YXRpb25Sb2xlEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIqUBkkFwCgRSb2xlEhVHZXQgb3JnYW5pemF0aW9uIHJvbGUaUVJldHVybnMgYSBjdXN0b20gcm9sZSB1bmRlciBhbiBvcmdhbml6YXRpb24gYWxvbmcgd2l0aCBpdHMgYXNzb2NpYXRlZCBwZXJtaXNzaW9uc4LT5JMCLBIqL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9yb2xlcy97aWR9EvwCChZVcGRhdGVPcmdhbml6YXRpb25Sb2xlEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlT3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIuwBkkGwAQoEUm9sZRIYVXBkYXRlIG9yZ2FuaXphdGlvbiByb2xlGo0BVXBkYXRlIGEgY3VzdG9tIHJvbGUgdW5kZXIgYW4gb3JnYW5pemF0aW9uLiBUaGlzIGN1c3RvbSByb2xlIHdpbGwgb25seSBiZSBhdmFpbGFibGUgZm9yIGFzc2lnbm1lbnQgdG8gdGhlIHByaW5jaXBsZXMgd2l0aGluIHRoZSBvcmdhbml6YXRpb24ugtPkkwIyGiovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3JvbGVzL3tpZH06BGJvZHkStwIKFkRlbGV0ZU9yZ2FuaXphdGlvblJvbGUSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2UipwGSQXIKBFJvbGUSGERlbGV0ZSBvcmdhbml6YXRpb24gcm9sZRpQRGVsZXRlIGEgY3VzdG9tIHJvbGUgYW5kIGFsbCBvZiBpdHMgcmVsYXRpb25zIHVuZGVyIGFuIG9yZ2FuaXphdGlvbiBwZXJtYW5lbnRseS6C0+STAiwqKi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vcm9sZXMve2lkfRKaAgoRTGlzdE9yZ2FuaXphdGlvbnMSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25zUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNSZXNwb25zZSKZAZJBeAoMT3JnYW5pemF0aW9uEhJMaXN0IG9yZ2FuaXphdGlvbnMaVFJldHVybnMgYSBsaXN0IG9mIG9yZ2FuaXphdGlvbnMuIEl0IGNhbiBiZSBmaWx0ZXJlZCBieSB1c2VySUQgb3Igb3JnYW5pemF0aW9uIHN0YXRlLoLT5JMCGBIWL3YxYmV0YTEvb3JnYW5pemF0aW9ucxLNAQoSQ3JlYXRlT3JnYW5pemF0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25SZXNwb25zZSJKkkEjCgxPcmdhbml6YXRpb24SE0NyZWF0ZSBvcmdhbml6YXRpb26C0+STAh4iFi92MWJldGExL29yZ2FuaXphdGlvbnM6BGJvZHkS4AEKD0dldE9yZ2FuaXphdGlvbhIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uUmVzcG9uc2UiZpJBQAoMT3JnYW5pemF0aW9uEhBHZXQgb3JnYW5pemF0aW9uGh5HZXQgb3JnYW5pemF0aW9uIGJ5IElEIG9yIG5hbWWC0+STAh0SGy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfRLtAQoSVXBkYXRlT3JnYW5pemF0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVPcmdhbml6YXRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVPcmdhbml6YXRpb25SZXNwb25zZSJqkkE+CgxPcmdhbml6YXRpb24SE1VwZGF0ZSBvcmdhbml6YXRpb24aGVVwZGF0ZSBvcmdhbml6YXRpb24gYnkgSUSC0+STAiMaGy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfToEYm9keRKfAgoYTGlzdE9yZ2FuaXphdGlvblByb2plY3RzEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXNwb25zZSKJAZJBWgoMT3JnYW5pemF0aW9uEhlHZXQgb3JnYW5pemF0aW9uIHByb2plY3RzGi9HZXQgYWxsIHByb2plY3RzIHRoYXQgYmVsb25nIHRvIGFuIG9yZ2FuaXphdGlvboLT5JMCJhIkL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3Byb2plY3RzEo4CChZMaXN0T3JnYW5pemF0aW9uQWRtaW5zEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uQWRtaW5zUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkFkbWluc1Jlc3BvbnNlIn+SQVIKDE9yZ2FuaXphdGlvbhIYTGlzdCBvcmdhbml6YXRpb24gYWRtaW5zGihSZXR1cm5zIGEgbGlzdCBhZG1pbnMgb2YgYW4gb3JnYW5pemF0aW9ugtPkkwIkEiIvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vYWRtaW5zEt8BChVMaXN0T3JnYW5pemF0aW9uVXNlcnMSNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Vc2Vyc1JlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Vc2Vyc1Jlc3BvbnNlIlOSQScKDE9yZ2FuaXphdGlvbhIXTGlzdCBvcmdhbml6YXRpb24gdXNlcnOC0+STAiMSIS92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS91c2VycxLtAgoUQWRkT3JnYW5pemF0aW9uVXNlcnMSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFkZE9yZ2FuaXphdGlvblVzZXJzUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQWRkT3JnYW5pemF0aW9uVXNlcnNSZXNwb25zZSLjAZJBswEKDE9yZ2FuaXphdGlvbhIVQWRkIG9yZ2FuaXphdGlvbiB1c2VyGosBQWRkIGEgdXNlciB0byBhbiBvcmdhbml6YXRpb24uIEEgdXNlciBtdXN0IGV4aXN0cyBpbiBGcm9udGllciBiZWZvcmUgYWRkaW5nIGl0IHRvIGFuIG9yZy4gVGhpcyByZXF1ZXN0IHdpbGwgZmFpbCBpZiB0aGUgdXNlciBkb2Vzbid0IGV4aXN0c4LT5JMCJiIhL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3VzZXJzOgEqEpICChZSZW1vdmVPcmdhbml6YXRpb25Vc2VyEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZW1vdmVPcmdhbml6YXRpb25Vc2VyUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVtb3ZlT3JnYW5pemF0aW9uVXNlclJlc3BvbnNlIoIBkkFMCgxPcmdhbml6YXRpb24SGFJlbW92ZSBvcmdhbml6YXRpb24gdXNlchoiUmVtb3ZlIGEgdXNlciBmcm9tIGFuIG9yZ2FuaXphdGlvboLT5JMCLSorL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3VzZXJzL3t1c2VyX2lkfRKWAgoSR2V0T3JnYW5pemF0aW9uS3ljEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25LeWNSZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25LeWNSZXNwb25zZSKSAZJBZAoPT3JnYW5pemF0aW9uS3ljEh9HZXQgS1lDIGluZm8gb2YgYW4gb3JnYW5pemF0aW9uGjBHZXQgS1lDIGluZm8gb2YgYW4gb3JnYW5pemF0aW9uIHVzaW5nIElEIG9yIG5hbWWC0+STAiUSIy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0va3ljEoMCChxMaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzEj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzUmVxdWVzdBo/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblNlcnZpY2VVc2Vyc1Jlc3BvbnNlImKSQS8KDE9yZ2FuaXphdGlvbhIfTGlzdCBvcmdhbml6YXRpb24gc2VydmljZSB1c2Vyc4LT5JMCKhIoL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3NlcnZpY2V1c2VycxK5AgobTGlzdE9yZ2FuaXphdGlvbkludml0YXRpb25zEj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uSW52aXRhdGlvbnNSZXF1ZXN0Gj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uSW52aXRhdGlvbnNSZXNwb25zZSKaAZJBZAoMT3JnYW5pemF0aW9uEhhMaXN0IHBlbmRpbmcgaW52aXRhdGlvbnMaOlJldHVybnMgYWxsIHBlbmRpbmcgaW52aXRhdGlvbnMgcXVldWVkIGZvciBhbiBvcmdhbml6YXRpb26C0+STAi0SKy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vaW52aXRhdGlvbnMS9gIKHENyZWF0ZU9yZ2FuaXphdGlvbkludml0YXRpb24SPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0Gj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2Ui1AGSQZoBCgxPcmdhbml6YXRpb24SC0ludml0ZSB1c2VyGn1JbnZpdGUgdXNlcnMgdG8gYW4gb3JnYW5pemF0aW9uLCBpZiB1c2VyIGlzIG5vdCByZWdpc3RlcmVkIG9uIHRoZSBwbGF0Zm9ybSwgaXQgd2lsbCBiZSBub3RpZmllZC4gSW52aXRhdGlvbnMgZXhwaXJlIGluIDcgZGF5c4LT5JMCMCIrL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9pbnZpdGF0aW9uczoBKhKzAgoZR2V0T3JnYW5pemF0aW9uSW52aXRhdGlvbhI7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QaPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZSKaAZJBXwoMT3JnYW5pemF0aW9uEhZHZXQgcGVuZGluZyBpbnZpdGF0aW9uGjdSZXR1cm5zIGEgcGVuZGluZyBpbnZpdGF0aW9uIHF1ZXVlZCBmb3IgYW4gb3JnYW5pemF0aW9ugtPkkwIyEjAvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2ludml0YXRpb25zL3tpZH0SmQMKHEFjY2VwdE9yZ2FuaXphdGlvbkludml0YXRpb24SPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFjY2VwdE9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0Gj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BY2NlcHRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2Ui9wGSQbEBCgxPcmdhbml6YXRpb24SGUFjY2VwdCBwZW5kaW5nIGludml0YXRpb24ahQFBY2NlcHQgcGVuZGluZyBpbnZpdGF0aW9uIHF1ZXVlZCBmb3IgYW4gb3JnYW5pemF0aW9uLiBUaGUgdXNlciB3aWxsIGJlIGFkZGVkIHRvIHRoZSBvcmdhbml6YXRpb24gYW5kIGdyb3VwcyBkZWZpbmVkIGluIHRoZSBpbnZpdGF0aW9ugtPkkwI8IjcvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2ludml0YXRpb25zL3tpZH0vYWNjZXB0OgEqEr4CChxEZWxldGVPcmdhbml6YXRpb25JbnZpdGF0aW9uEj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVxdWVzdBo/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlT3JnYW5pemF0aW9uSW52aXRhdGlvblJlc3BvbnNlIpwBkkFhCgxPcmdhbml6YXRpb24SGURlbGV0ZSBwZW5kaW5nIGludml0YXRpb24aNkRlbGV0ZSBhIHBlbmRpbmcgaW52aXRhdGlvbiBxdWV1ZWQgZm9yIGFuIG9yZ2FuaXphdGlvboLT5JMCMiowL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9pbnZpdGF0aW9ucy97aWR9EtgDChdMaXN0T3JnYW5pemF0aW9uRG9tYWlucxI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkRvbWFpbnNSZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uRG9tYWluc1Jlc3BvbnNlIsUCkkGSAgoMT3JnYW5pemF0aW9uEhBMaXN0IG9yZyBkb21haW5zGu8BUmV0dXJucyBhbGwgZG9tYWlucyB3aGl0ZWxpc3RlZCBmb3IgYW4gb3JnYW5pemF0aW9uIChib3RoIHBlbmRpbmcgYW5kIHZlcmlmaWVkIGlmIG5vIGZpbHRlcnMgYXJlIHByb3ZpZGVkIGZvciB0aGUgc3RhdGUpLiBUaGUgdmVyaWZpZWQgZG9tYWlucyBhbGxvdyB1c2VycyBlbWFpbCB3aXRoIHRoZSBvcmcncyB3aGl0ZWxpc3RlZCBkb21haW4gdG8gam9pbiB0aGUgb3JnYW5pemF0aW9uIHdpdGhvdXQgaW52aXRhdGlvbi6C0+STAikSJy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZG9tYWlucxL+BAoYQ3JlYXRlT3JnYW5pemF0aW9uRG9tYWluEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25Eb21haW5SZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZSLoA5JBsgMKDE9yZ2FuaXphdGlvbhIRQ3JlYXRlIG9yZyBkb21haW4ajgNBZGQgYSBkb21haW4gdG8gYW4gb3JnYW5pemF0aW9uIHdoaWNoIGlmIHZlcmlmaWVkIGFsbG93cyBhbGwgdXNlcnMgb2YgdGhlIHNhbWUgZG9tYWluIHRvIGJlIHNpZ25lZCB1cCB0byB0aGUgb3JnYW5pemF0aW9uIHdpdGhvdXQgaW52aXRhdGlvbi4gVGhpcyBBUEkgZ2VuZXJhdGVzIGEgdmVyaWZpY2F0aW9uIHRva2VuIGZvciBhIGRvbWFpbiB3aGljaCBtdXN0IGJlIGFkZGVkIHRvIHlvdXIgZG9tYWluJ3MgRE5TIHByb3ZpZGVyIGFzIGEgVFhUIHJlY29yZCBzaG91bGQgYmUgdmVyaWZpZWQgd2l0aCBGcm9udGllciBWZXJpZnlPcmdhbml6YXRpb25Eb21haW4gQVBJIGJlZm9yZSBpdCBjYW4gYmUgdXNlZCBhcyBhbiBPcmdhbml6YXRpb24ncyB0cnVzdGVkIGRvbWFpbiB0byBzaWduIHVwIHVzZXJzLoLT5JMCLCInL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9kb21haW5zOgEqErcCChhEZWxldGVPcmdhbml6YXRpb25Eb21haW4SOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QaOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlIqEBkkFqCgxPcmdhbml6YXRpb24SEURlbGV0ZSBvcmcgZG9tYWluGkdSZW1vdmUgYSBkb21haW4gZnJvbSB0aGUgbGlzdCBvZiBhbiBvcmdhbml6YXRpb24ncyB0cnVzdGVkIGRvbWFpbnMgbGlzdILT5JMCLiosL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9kb21haW5zL3tpZH0S4gIKFUdldE9yZ2FuaXphdGlvbkRvbWFpbhI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2Ui1QGSQZ0BCgxPcmdhbml6YXRpb24SDkdldCBvcmcgZG9tYWluGn1HZXQgYSBkb21haW4gZnJvbSB0aGUgbGlzdCBvZiBhbiBvcmdhbml6YXRpb24ncyB3aGl0ZWxpc3RlZCBkb21haW5zLiBSZXR1cm5zIGJvdGggdmVyaWZpZWQgYW5kIHVudmVyaWZpZWQgZG9tYWlucyBieSB0aGVpciBJRILT5JMCLhIsL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9kb21haW5zL3tpZH0SpQQKGFZlcmlmeU9yZ2FuaXphdGlvbkRvbWFpbhI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVmVyaWZ5T3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBo7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVmVyaWZ5T3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2UijwOSQc0CCgxPcmdhbml6YXRpb24SEVZlcmlmeSBvcmcgZG9tYWluGqkCVmVyaWZ5IGEgZG9tYWluIGZvciBhbiBvcmdhbml6YXRpb24gd2l0aCBhIHZlcmlmaWNhdGlvbiB0b2tlbiBnZW5lcmF0ZWQgYnkgRnJvbnRpZXIgR2VuZXJhdGVEb21haW5WZXJpZmljYXRpb25Ub2tlbiBBUEkuIFRoZSB0b2tlbiBtdXN0IGJlIGFkZGVkIHRvIHlvdXIgZG9tYWluJ3MgRE5TIHByb3ZpZGVyIGFzIGEgVFhUIHJlY29yZCBiZWZvcmUgaXQgY2FuIGJlIHZlcmlmaWVkLiBUaGlzIEFQSSByZXR1cm5zIHRoZSBzdGF0ZSBvZiB0aGUgZG9tYWluIChwZW5kaW5nL3ZlcmlmaWVkKSBhZnRlciB2ZXJpZmljYXRpb24ugtPkkwI4IjMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2RvbWFpbnMve2lkfS92ZXJpZnk6ASoSkgMKEEpvaW5Pcmdhbml6YXRpb24SMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkpvaW5Pcmdhbml6YXRpb25SZXF1ZXN0GjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Kb2luT3JnYW5pemF0aW9uUmVzcG9uc2UilAKSQeEBCgxPcmdhbml6YXRpb24SEUpvaW4gb3JnYW5pemF0aW9uGr0BQWxsb3dzIHRoZSBjdXJyZW50IGxvZ2dlZCBpbiB1c2VyIHRvIGpvaW4gdGhlIE9yZyBpZiBvbmUgaXMgbm90IGEgcGFydCBvZiBpdC4gVGhlIHVzZXIgd2lsbCBvbmx5IGJlIGFibGUgdG8gam9pbiB3aGVuIHRoZSB1c2VyIGVtYWlsJ3MgZG9tYWluIG1hdGNoZXMgdGhlIG9yZ2FuaXphdGlvbidzIHdoaXRlbGlzdGVkIGRvbWFpbnMugtPkkwIpIiQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2pvaW46ASoS2QIKEkVuYWJsZU9yZ2FuaXphdGlvbhI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlT3JnYW5pemF0aW9uUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlT3JnYW5pemF0aW9uUmVzcG9uc2Ui1QGSQaQBCgxPcmdhbml6YXRpb24SE0VuYWJsZSBvcmdhbml6YXRpb24af1NldHMgdGhlIHN0YXRlIG9mIHRoZSBvcmdhbml6YXRpb24gYXMgZW5hYmxlZC4gVGhlIGV4aXN0aW5nIHVzZXJzIGluIHRoZSBvcmcgd2lsbCBiZSBhYmxlIHRvIGFjY2VzcyBhbnkgb3JnYW5pemF0aW9uIHJlc291cmNlcy6C0+STAiciIi92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS9lbmFibGU6ASoS5AIKE0Rpc2FibGVPcmdhbml6YXRpb24SNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVPcmdhbml6YXRpb25SZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlT3JnYW5pemF0aW9uUmVzcG9uc2Ui3QGSQasBCgxPcmdhbml6YXRpb24SFERpc2FibGUgb3JnYW5pemF0aW9uGoQBU2V0cyB0aGUgc3RhdGUgb2YgdGhlIG9yZ2FuaXphdGlvbiBhcyBkaXNhYmxlZC4gVGhlIGV4aXN0aW5nIHVzZXJzIGluIHRoZSBvcmcgd2lsbCBub3QgYmUgYWJsZSB0byBhY2Nlc3MgYW55IG9yZ2FuaXphdGlvbiByZXNvdXJjZXMugtPkkwIoIiMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vZGlzYWJsZToBKhLGAgoSRGVsZXRlT3JnYW5pemF0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25SZXNwb25zZSLCAZJBmwEKDE9yZ2FuaXphdGlvbhITRGVsZXRlIG9yZ2FuaXphdGlvbhp2RGVsZXRlIGFuIG9yZ2FuaXphdGlvbiBhbmQgYWxsIG9mIGl0cyByZWxhdGlvbnMgcGVybWFuZW50bHkuIFRoZSBvcmdhbml6YXRpb24gdXNlcnMgd2lsbCBub3QgYmUgZGVsZXRlZCBmcm9tIEZyb250aWVyLoLT5JMCHSobL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9Eq8BCg1DcmVhdGVQcm9qZWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9qZWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvamVjdFJlc3BvbnNlIjuSQRkKB1Byb2plY3QSDkNyZWF0ZSBwcm9qZWN0gtPkkwIZIhEvdjFiZXRhMS9wcm9qZWN0czoEYm9keRK7AQoKR2V0UHJvamVjdBIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvamVjdFJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFByb2plY3RSZXNwb25zZSJQkkEvCgdQcm9qZWN0EgtHZXQgcHJvamVjdBoXUmV0dXJucyBhIHByb2plY3QgYnkgSUSC0+STAhgSFi92MWJldGExL3Byb2plY3RzL3tpZH0SzQEKDVVwZGF0ZVByb2plY3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVByb2plY3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9qZWN0UmVzcG9uc2UiWZJBMgoHUHJvamVjdBIOVXBkYXRlIHByb2plY3QaF1VwZGF0ZXMgYSBwcm9qZWN0IGJ5IElEgtPkkwIeGhYvdjFiZXRhMS9wcm9qZWN0cy97aWR9OgRib2R5EvMBChFMaXN0UHJvamVjdEFkbWlucxIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RBZG1pbnNSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdEFkbWluc1Jlc3BvbnNlInOSQUsKB1Byb2plY3QSE0xpc3QgcHJvamVjdCBhZG1pbnMaK1JldHVybnMgYSBjb2xsZWN0aW9uIG9mIGFkbWlucyBvZiBhIHByb2plY3SC0+STAh8SHS92MWJldGExL3Byb2plY3RzL3tpZH0vYWRtaW5zEpgCChBMaXN0UHJvamVjdFVzZXJzEjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFVzZXJzUmVxdWVzdBozLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RVc2Vyc1Jlc3BvbnNlIpoBkkFzCgdQcm9qZWN0EhJMaXN0IHByb2plY3QgdXNlcnMaVFJldHVybnMgYSBjb2xsZWN0aW9uIG9mIHVzZXJzIG9mIGEgcHJvamVjdC4gRmlsdGVyIGJ5IHVzZXIgcGVybWlzc2lvbnMgaXMgc3VwcG9ydGVkLoLT5JMCHhIcL3YxYmV0YTEvcHJvamVjdHMve2lkfS91c2VycxKRAgoXTGlzdFByb2plY3RTZXJ2aWNlVXNlcnMSOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0U2VydmljZVVzZXJzUmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RTZXJ2aWNlVXNlcnNSZXNwb25zZSJ/kkFRCgdQcm9qZWN0EhlMaXN0IHByb2plY3Qgc2VydmljZXVzZXJzGitSZXR1cm5zIGEgY29sbGVjdGlvbiBvZiB1c2VycyBvZiBhIHByb2plY3QugtPkkwIlEiMvdjFiZXRhMS9wcm9qZWN0cy97aWR9L3NlcnZpY2V1c2VycxL0AQoRTGlzdFByb2plY3RHcm91cHMSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0R3JvdXBzUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RHcm91cHNSZXNwb25zZSJ0kkFMCgdQcm9qZWN0EhNMaXN0IHByb2plY3QgZ3JvdXBzGixSZXR1cm5zIGEgY29sbGVjdGlvbiBvZiBncm91cHMgb2YgYSBwcm9qZWN0LoLT5JMCHxIdL3YxYmV0YTEvcHJvamVjdHMve2lkfS9ncm91cHMSuAEKDUVuYWJsZVByb2plY3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZVByb2plY3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVQcm9qZWN0UmVzcG9uc2UiRJJBGQoHUHJvamVjdBIORW5hYmxlIHByb2plY3SC0+STAiIiHS92MWJldGExL3Byb2plY3RzL3tpZH0vZW5hYmxlOgEqEr0BCg5EaXNhYmxlUHJvamVjdBIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZVByb2plY3RSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlUHJvamVjdFJlc3BvbnNlIkaSQRoKB1Byb2plY3QSD0Rpc2FibGUgcHJvamVjdILT5JMCIyIeL3YxYmV0YTEvcHJvamVjdHMve2lkfS9kaXNhYmxlOgEqEuIBCg1EZWxldGVQcm9qZWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQcm9qZWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUHJvamVjdFJlc3BvbnNlIm6SQU0KB1Byb2plY3QSDkRlbGV0ZSBQcm9qZWN0GjJEZWxldGUgYSBwcm9qZWN0IGFsbCBvZiBpdHMgcmVsYXRpb25zIHBlcm1hbmVudGx5LoLT5JMCGCoWL3YxYmV0YTEvcHJvamVjdHMve2lkfRK9AQoMQ3JlYXRlUG9saWN5Ei4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQb2xpY3lSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQb2xpY3lSZXNwb25zZSJMkkEqCgZQb2xpY3kSDUNyZWF0ZSBwb2xpY3kaEUNyZWF0ZXMgYSBwb2xpY3kggtPkkwIZIhEvdjFiZXRhMS9wb2xpY2llczoEYm9keRK1AQoJR2V0UG9saWN5EisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQb2xpY3lSZXF1ZXN0GiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQb2xpY3lSZXNwb25zZSJNkkEsCgZQb2xpY3kSCkdldCBwb2xpY3kaFlJldHVybnMgYSBwb2xpY3kgYnkgSUSC0+STAhgSFi92MWJldGExL3BvbGljaWVzL3tpZH0SuQIKDExpc3RQb2xpY2llcxIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBvbGljaWVzUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBvbGljaWVzUmVzcG9uc2UixwGSQaoBCgZQb2xpY3kSEUxpc3QgYWxsIHBvbGljaWVzGowBTGlzdHMgYWxsIHRoZSBwb2xpY2llcyBmcm9tIGFsbCB0aGUgb3JnYW5pemF0aW9ucyBpbiBhIEZyb250aWVyIGluc3RhbmNlLiBJdCBjYW4gYmUgZmlsdGVyZWQgYnkgb3JnYW5pemF0aW9uLCBwcm9qZWN0LCB1c2VyLCByb2xlIGFuZCBncm91cC6C0+STAhMSES92MWJldGExL3BvbGljaWVzEscBCgxVcGRhdGVQb2xpY3kSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVBvbGljeVJlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVBvbGljeVJlc3BvbnNlIlaSQS8KBlBvbGljeRINVXBkYXRlIHBvbGljeRoWVXBkYXRlcyBhIHBvbGljeSBieSBJRILT5JMCHhoWL3YxYmV0YTEvcG9saWNpZXMve2lkfToEYm9keRLcAQoMRGVsZXRlUG9saWN5Ei4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQb2xpY3lSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQb2xpY3lSZXNwb25zZSJrkkFKCgZQb2xpY3kSDURlbGV0ZSBQb2xpY3kaMURlbGV0ZSBhIHBvbGljeSBhbGwgb2YgaXRzIHJlbGF0aW9ucyBwZXJtYW5lbnRseS6C0+STAhgqFi92MWJldGExL3BvbGljaWVzL3tpZH0SiQIKFkNyZWF0ZVBvbGljeUZvclByb2plY3QSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBvbGljeUZvclByb2plY3RSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQb2xpY3lGb3JQcm9qZWN0UmVzcG9uc2UiepJBQgoGUG9saWN5EhlDcmVhdGUgUG9saWN5IGZvciBQcm9qZWN0Gh1DcmVhdGUgYSBwb2xpY3kgZm9yIGEgcHJvamVjdILT5JMCLyInL3YxYmV0YTEvcG9saWNpZXMvcHJvamVjdHMve3Byb2plY3RfaWR9OgRib2R5ErUBCg5DcmVhdGVSZWxhdGlvbhIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUmVsYXRpb25SZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVSZWxhdGlvblJlc3BvbnNlIj6SQRsKCFJlbGF0aW9uEg9DcmVhdGUgcmVsYXRpb26C0+STAhoiEi92MWJldGExL3JlbGF0aW9uczoEYm9keRLCAQoLR2V0UmVsYXRpb24SLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFJlbGF0aW9uUmVxdWVzdBouLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UmVsYXRpb25SZXNwb25zZSJUkkEyCghSZWxhdGlvbhIMR2V0IHJlbGF0aW9uGhhSZXR1cm5zIGEgcmVsYXRpb24gYnkgSUSC0+STAhkSFy92MWJldGExL3JlbGF0aW9ucy97aWR9EpACCg5EZWxldGVSZWxhdGlvbhIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUmVsYXRpb25SZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVSZWxhdGlvblJlc3BvbnNlIpgBkkFOCghSZWxhdGlvbhIPRGVsZXRlIHJlbGF0aW9uGjFSZW1vdmUgYSBzdWJqZWN0IGhhdmluZyBhIHJlbGF0aW9uIGZyb20gYW4gb2JqZWN0gtPkkwJBKj8vdjFiZXRhMS9yZWxhdGlvbnMve3JlbGF0aW9ufS9vYmplY3Qve29iamVjdH0vc3ViamVjdC97c3ViamVjdH0SugEKD0xpc3RQZXJtaXNzaW9ucxIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBlcm1pc3Npb25zUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBlcm1pc3Npb25zUmVzcG9uc2UiQJJBIQoKUGVybWlzc2lvbhITR2V0IGFsbCBwZXJtaXNzaW9uc4LT5JMCFhIUL3YxYmV0YTEvcGVybWlzc2lvbnMS0AEKDUdldFBlcm1pc3Npb24SLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFBlcm1pc3Npb25SZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQZXJtaXNzaW9uUmVzcG9uc2UiXJJBOAoKUGVybWlzc2lvbhIOR2V0IHBlcm1pc3Npb24aGlJldHVybnMgYSBwZXJtaXNzaW9uIGJ5IElEgtPkkwIbEhkvdjFiZXRhMS9wZXJtaXNzaW9ucy97aWR9Eu8BCg5MaXN0TmFtZXNwYWNlcxIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE5hbWVzcGFjZXNSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0TmFtZXNwYWNlc1Jlc3BvbnNlIniSQVoKCU5hbWVzcGFjZRISR2V0IGFsbCBuYW1lc3BhY2VzGjlSZXR1cm5zIHRoZSBsaXN0IG9mIGFsbCBuYW1lc3BhY2VzIGluIGEgRnJvbnRpZXIgaW5zdGFuY2WC0+STAhUSEy92MWJldGExL25hbWVzcGFjZXMSyQEKDEdldE5hbWVzcGFjZRIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0TmFtZXNwYWNlUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0TmFtZXNwYWNlUmVzcG9uc2UiWJJBNQoJTmFtZXNwYWNlEg1HZXQgbmFtZXNwYWNlGhlSZXR1cm5zIGEgbmFtZXNwYWNlIGJ5IElEgtPkkwIaEhgvdjFiZXRhMS9uYW1lc3BhY2VzL3tpZH0S2QEKFExpc3RQcm9qZWN0UmVzb3VyY2VzEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFJlc291cmNlc1JlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0UmVzb3VyY2VzUmVzcG9uc2UiUJJBHQoIUmVzb3VyY2USEUdldCBhbGwgcmVzb3VyY2VzgtPkkwIqEigvdjFiZXRhMS9wcm9qZWN0cy97cHJvamVjdF9pZH0vcmVzb3VyY2VzEoECChVDcmVhdGVQcm9qZWN0UmVzb3VyY2USNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2plY3RSZXNvdXJjZVJlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlInWSQTwKCFJlc291cmNlEg9DcmVhdGUgcmVzb3VyY2UaH0NyZWF0ZXMgYSByZXNvdXJjZSBpbiBhIHByb2plY3SC0+STAjAiKC92MWJldGExL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZXNvdXJjZXM6BGJvZHkS9QEKEkdldFByb2plY3RSZXNvdXJjZRI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvamVjdFJlc291cmNlUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvamVjdFJlc291cmNlUmVzcG9uc2UicpJBOgoIUmVzb3VyY2USDEdldCByZXNvdXJjZRogUmV0dXJucyBhIHByb2plY3QgcmVzb3VyY2UgYnkgSUSC0+STAi8SLS92MWJldGExL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZXNvdXJjZXMve2lkfRKGAgoVVXBkYXRlUHJvamVjdFJlc291cmNlEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9qZWN0UmVzb3VyY2VSZXNwb25zZSJ6kkE8CghSZXNvdXJjZRIPVXBkYXRlIHJlc291cmNlGh9VcGRhdGVzIGEgcmVzb3VyY2UgaW4gYSBwcm9qZWN0gtPkkwI1Gi0vdjFiZXRhMS9wcm9qZWN0cy97cHJvamVjdF9pZH0vcmVzb3VyY2VzL3tpZH06BGJvZHkSjwIKFURlbGV0ZVByb2plY3RSZXNvdXJjZRI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUHJvamVjdFJlc291cmNlUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUHJvamVjdFJlc291cmNlUmVzcG9uc2UiggGSQUoKCFJlc291cmNlEg9EZWxldGUgcmVzb3VyY2UaLURlbGV0ZXMgYSByZXNvdXJjZSBmcm9tIGEgcHJvamVjdCBwZXJtYW5lbnRseYLT5JMCLyotL3YxYmV0YTEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Jlc291cmNlcy97aWR9EvsDChdDaGVja1Jlc291cmNlUGVybWlzc2lvbhI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tSZXNvdXJjZVBlcm1pc3Npb25SZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja1Jlc291cmNlUGVybWlzc2lvblJlc3BvbnNlIugCkkHLAgoFQXV0aHoSBUNoZWNrGroCUmV0dXJucyB0cnVlIGlmIGEgcHJpbmNpcGFsIGhhcyByZXF1aXJlZCBwZXJtaXNzaW9ucyB0byBhY2Nlc3MgYSByZXNvdXJjZSBhbmQgZmFsc2Ugb3RoZXJ3aXNlLjxici8+IE5vdGUgdGhlIHByaW5jaXBhbCBjYW4gYmUgYSB1c2VyIG9yIGEgc2VydmljZSBhY2NvdW50LiBGcm9udGllciB3aWxsIGV4dHJhY3QgcHJpbmNpcGFsIGZyb20gdGhlIGN1cnJlbnQgbG9nZ2VkIGluIHNlc3Npb24gY29va2llIChpZiBhbnkpLCBvciB0aGUgY2xpZW50IGlkIGFuZCBzZWNyZXQgKGluIGNhc2Ugb2Ygc2VydmljZSB1c2Vycykgb3IgdGhlIGFjY2VzcyB0b2tlbi6C0+STAhMiDi92MWJldGExL2NoZWNrOgEqErMEChRCYXRjaENoZWNrUGVybWlzc2lvbhI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmF0Y2hDaGVja1Blcm1pc3Npb25SZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CYXRjaENoZWNrUGVybWlzc2lvblJlc3BvbnNlIqkDkkGHAwoFQXV0aHoSC0JhdGNoIGNoZWNrGvACUmV0dXJucyB0cnVlIGlmIGEgcHJpbmNpcGFsIGhhcyByZXF1aXJlZCBwZXJtaXNzaW9ucyB0byBhY2Nlc3MgYSByZXNvdXJjZSBhbmQgZmFsc2Ugb3RoZXJ3aXNlLjxici8+IE5vdGUgdGhlIHByaW5jaXBhbCBjYW4gYmUgYSB1c2VyIG9yIGEgc2VydmljZSBhY2NvdW50LCBhbmQgRnJvbnRpZXIgd2lsbCB0aGUgY3JlZGVudGlhbHMgZnJvbSB0aGUgY3VycmVudCBsb2dnZWQgaW4gcHJpbmNpcGFsIGZyb20gdGhlIHNlc3Npb24gY29va2llIChpZiBhbnkpLCBvciB0aGUgY2xpZW50IGlkIGFuZCBzZWNyZXQgKGluIGNhc2Ugb2Ygc2VydmljZSB1c2Vycykgb3IgdGhlIGFjY2VzcyB0b2tlbiAoaW4gY2FzZSBvZiBodW1hbiB1c2VyIGFjY291bnRzKS6C0+STAhgiEy92MWJldGExL2JhdGNoY2hlY2s6ASoStQEKB0dldEpXS3MSKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEpXS3NSZXF1ZXN0GioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRKV0tzUmVzcG9uc2UiU5JBHAoFQXV0aHoSE0dldCB3ZWxsIGtub3duIEpXS3OC0+STAi4SEi92MWJldGExL2F1dGgvandrc1oYEhYvLndlbGwta25vd24vandrcy5qc29uEnEKDExpc3RTZXNzaW9ucxIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlc3Npb25zUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlc3Npb25zUmVzcG9uc2UiABJ0Cg1SZXZva2VTZXNzaW9uEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZXZva2VTZXNzaW9uUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmV2b2tlU2Vzc2lvblJlc3BvbnNlIgASegoPUGluZ1VzZXJTZXNzaW9uEjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QaW5nVXNlclNlc3Npb25SZXF1ZXN0GjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QaW5nVXNlclNlc3Npb25SZXNwb25zZSIAErcCChJMaXN0QXV0aFN0cmF0ZWdpZXMSNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RBdXRoU3RyYXRlZ2llc1JlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RBdXRoU3RyYXRlZ2llc1Jlc3BvbnNlIrMBkkGaAQoFQXV0aG4SHkxpc3QgYXV0aGVudGljYXRpb24gc3RyYXRlZ2llcxpxUmV0dXJucyBhIGxpc3Qgb2YgaWRlbnRpdHkgcHJvdmlkZXJzIGNvbmZpZ3VyZWQgb24gYW4gaW5zdGFuY2UgbGV2ZWwgaW4gRnJvbnRpZXIuIGUuZyBHb29nbGUsIEF6dXJlQUQsIEdpdGh1YiBldGOC0+STAg8SDS92MWJldGExL2F1dGgS6QQKDEF1dGhlbnRpY2F0ZRIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aGVudGljYXRlUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aGVudGljYXRlUmVzcG9uc2Ui9wOSQZgDCgVBdXRobhIcQXV0aGVudGljYXRlIHdpdGggYSBzdHJhdGVneRrwAkF1dGhlbnRpY2F0ZSBhIHVzZXIgd2l0aCBhIHN0cmF0ZWd5LiBCeSBkZWZhdWx0LCBhZnRlciBzdWNjZXNzZnVsIGF1dGhlbnRpY2F0aW9uIG5vIG9wZXJhdGlvbiB3aWxsIGJlIHBlcmZvcm1lZCB0byBhcHBseSByZWRpcmVjdGlvbiBpbiBjYXNlIG9mIGJyb3dzZXJzLCBwcm92aWRlIGEgdXJsIGluIHRoZSBhdXRoZW50aWNhdGUgcmVxdWVzdCBib2R5IHRoYXQgd2lsbCBiZSB1c2VkIGZvciByZWRpcmVjdGlvbiBhZnRlciBhdXRoZW50aWNhdGlvbi4gQWxzbyBzZXQgcmVkaXJlY3QgYXMgdHJ1ZSBmb3IgcmVkaXJlY3RpbmcgdGhlIHVzZXIgcmVxdWVzdCB0byB0aGUgcmVkaXJlY3RfdXJsIGFmdGVyIHN1Y2Nlc3NmdWwgYXV0aGVudGljYXRpb24ugtPkkwJVEiYvdjFiZXRhMS9hdXRoL3JlZ2lzdGVyL3tzdHJhdGVneV9uYW1lfVorIiYvdjFiZXRhMS9hdXRoL3JlZ2lzdGVyL3tzdHJhdGVneV9uYW1lfToBKhK9BAoMQXV0aENhbGxiYWNrEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoQ2FsbGJhY2tSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoQ2FsbGJhY2tSZXNwb25zZSLLA5JBjAMKBUF1dGhuEhhDYWxsYmFjayBmcm9tIGEgc3RyYXRlZ3ka6AJDYWxsYmFjayBmcm9tIGEgc3RyYXRlZ3kuIFRoaXMgaXMgdGhlIGVuZHBvaW50IHdoZXJlIHRoZSBzdHJhdGVneSB3aWxsIHJlZGlyZWN0IHRoZSB1c2VyIGFmdGVyIHN1Y2Nlc3NmdWwgYXV0aGVudGljYXRpb24uIFRoaXMgZW5kcG9pbnQgd2lsbCBiZSBjYWxsZWQgd2l0aCB0aGUgY29kZSBhbmQgc3RhdGUgcXVlcnkgcGFyYW1ldGVycy4gVGhlIGNvZGUgd2lsbCBiZSB1c2VkIHRvIGdldCB0aGUgYWNjZXNzIHRva2VuIGZyb20gdGhlIHN0cmF0ZWd5IGFuZCB0aGUgc3RhdGUgd2lsbCBiZSB1c2VkIHRvIGdldCB0aGUgcmV0dXJuX3RvIHVybCBmcm9tIHRoZSBzZXNzaW9uIGFuZCByZWRpcmVjdCB0aGUgdXNlciB0byB0aGF0IHVybC6C0+STAjUSFi92MWJldGExL2F1dGgvY2FsbGJhY2taGyIWL3YxYmV0YTEvYXV0aC9jYWxsYmFjazoBKhLCAwoJQXV0aFRva2VuEisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoVG9rZW5SZXF1ZXN0GiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoVG9rZW5SZXNwb25zZSLZApJBtwIKBUF1dGhuEipHZW5lcmF0ZSBhY2Nlc3MgdG9rZW4gYnkgZ2l2ZW4gY3JlZGVudGlhbHMagQJBY2Nlc3MgdG9rZW4gY2FuIGJlIGdlbmVyYXRlZCBieSBwcm92aWRpbmcgdGhlIGNyZWRlbnRpYWxzIGluIHRoZSByZXF1ZXN0IGJvZHkvaGVhZGVyLiBUaGUgY3JlZGVudGlhbHMgY2FuIGJlIGNsaWVudCBpZCBhbmQgc2VjcmV0IG9yIHNlcnZpY2UgYWNjb3VudCBnZW5lcmF0ZWQga2V5IGp3dC4gVXNlIHRoZSBnZW5lcmF0ZWQgYWNjZXNzIHRva2VuIGluIEF1dGhvcml6YXRpb24gaGVhZGVyIHRvIGFjY2VzcyB0aGUgZnJvbnRpZXIgcmVzb3VyY2VzLoLT5JMCGCITL3YxYmV0YTEvYXV0aC90b2tlbjoBKhLBAQoKQXV0aExvZ291dBIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aExvZ291dFJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhMb2dvdXRSZXNwb25zZSJWkkEfCgVBdXRobhIWTG9nb3V0IGZyb20gYSBzdHJhdGVneYLT5JMCLhIUL3YxYmV0YTEvYXV0aC9sb2dvdXRaFioUL3YxYmV0YTEvYXV0aC9sb2dvdXQSrgIKD0xpc3RNZXRhU2NoZW1hcxIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE1ldGFTY2hlbWFzUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE1ldGFTY2hlbWFzUmVzcG9uc2UiswGSQZIBCgpNZXRhU2NoZW1hEhBMaXN0IG1ldGFzY2hlbWFzGnJSZXR1cm5zIGEgbGlzdCBvZiBhbGwgbWV0YXNjaGVtYXMgY29uZmlndXJlZCBvbiBhbiBpbnN0YW5jZSBsZXZlbCBpbiBGcm9udGllci4gZS5nIHVzZXIsIHByb2plY3QsIG9yZ2FuaXphdGlvbiBldGOC0+STAhcSFS92MWJldGExL21ldGEvc2NoZW1hcxKfBQoQQ3JlYXRlTWV0YVNjaGVtYRIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlTWV0YVNjaGVtYVJlcXVlc3QaMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU1ldGFTY2hlbWFSZXNwb25zZSKhBJJB+gMKCk1ldGFTY2hlbWESEUNyZWF0ZSBtZXRhc2NoZW1hGtgDQ3JlYXRlIGEgbmV3IG1ldGFkYXRhIHNjaGVtYS4gVGhlIG1ldGFzY2hlbWEgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UgYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMuIFRoZSBtZXRhc2NoZW1hICoqc2NoZW1hKiogbXVzdCBiZSBhIHZhbGlkIEpTT04gc2NoZW1hLlBsZWFzZSByZWZlciB0byBodHRwczovL2pzb24tc2NoZW1hLm9yZy8gdG8ga25vdyBtb3JlIGFib3V0IGpzb24gc2NoZW1hLiA8YnIvPipFeGFtcGxlOiogYHtuYW1lOiJ1c2VyIixzY2hlbWE6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJsYWJlbCI6eyJ0eXBlIjoib2JqZWN0IiwiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9fSwiZGVzY3JpcHRpb24iOnsidHlwZSI6InN0cmluZyJ9fX19YILT5JMCHSIVL3YxYmV0YTEvbWV0YS9zY2hlbWFzOgRib2R5EtMBCg1HZXRNZXRhU2NoZW1hEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRNZXRhU2NoZW1hUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0TWV0YVNjaGVtYVJlc3BvbnNlIl+SQToKCk1ldGFTY2hlbWESDkdldCBtZXRhc2NoZW1hGhxHZXQgYSBtZXRhZGF0YSBzY2hlbWEgYnkgSUQugtPkkwIcEhovdjFiZXRhMS9tZXRhL3NjaGVtYXMve2lkfRLBBAoQVXBkYXRlTWV0YVNjaGVtYRIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlTWV0YVNjaGVtYVJlcXVlc3QaMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZU1ldGFTY2hlbWFSZXNwb25zZSLDA5JBlwMKCk1ldGFTY2hlbWESEVVwZGF0ZSBtZXRhc2NoZW1hGvUCVXBkYXRlIGEgbWV0YWRhdGEgc2NoZW1hLiBPbmx5IGBzY2hlbWFgIGZpZWxkIG9mIGEgbWV0YXNjaGVtYSBjYW4gYmUgdXBkYXRlZC4gVGhlIG1ldGFzY2hlbWEgYHNjaGVtYWAgbXVzdCBiZSBhIHZhbGlkIEpTT04gc2NoZW1hLlBsZWFzZSByZWZlciB0byBodHRwczovL2pzb24tc2NoZW1hLm9yZy8gdG8ga25vdyBtb3JlIGFib3V0IGpzb24gc2NoZW1hLiA8YnIvPipFeGFtcGxlOiogYHtuYW1lOiJ1c2VyIixzY2hlbWE6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJsYWJlbCI6eyJ0eXBlIjoib2JqZWN0IiwiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9fSwiZGVzY3JpcHRpb24iOnsidHlwZSI6InN0cmluZyJ9fX19YILT5JMCIhoaL3YxYmV0YTEvbWV0YS9zY2hlbWFzL3tpZH06BGJvZHkS4wQKEERlbGV0ZU1ldGFTY2hlbWESMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU1ldGFTY2hlbWFSZXF1ZXN0GjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVNZXRhU2NoZW1hUmVzcG9uc2Ui5QOSQb8DCgpNZXRhU2NoZW1hEhFEZWxldGUgbWV0YXNjaGVtYRqdA0RlbGV0ZSBhIG1ldGFkYXRhIHNjaGVtYSBwZXJtYW5lbnRseS4gT25jZSBkZWxldGVkIHRoZSBtZXRhc2NoZW1hIHdvbid0IGJlIHVzZWQgdG8gdmFsaWRhdGUgdGhlIG1ldGFkYXRhLiBGb3IgZXhhbXBsZSwgaWYgYSBtZXRhc2NoZW1hKHdpdGggYGxhYmVsYCBhbmQgYGRlc2NyaXB0aW9uYCBmaWVsZHMpIGlzIHVzZWQgdG8gdmFsaWRhdGUgdGhlIG1ldGFkYXRhIG9mIGEgdXNlciwgdGhlbiBkZWxldGluZyB0aGUgbWV0YXNjaGVtYSB3aWxsIG5vdCB2YWxpZGF0ZSB0aGUgbWV0YWRhdGEgb2YgdGhlIHVzZXIgYW5kIG1ldGFkYXRhIGZpZWxkIGNhbiBjb250YWluIGFueSBrZXktdmFsdWUgcGFpcihhbmQgc2F5IGFub3RoZXIgZmllbGQgY2FsbGVkIGBmb29gIGNhbiBiZSBpbnNlcnRlZCBpbiBhIHVzZXIncyBtZXRhZGF0YSkugtPkkwIcKhovdjFiZXRhMS9tZXRhL3NjaGVtYXMve2lkfRKJAgoTRGVzY3JpYmVQcmVmZXJlbmNlcxI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVzY3JpYmVQcmVmZXJlbmNlc1JlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlc2NyaWJlUHJlZmVyZW5jZXNSZXNwb25zZSKCAZJBXAoKUHJlZmVyZW5jZRIURGVzY3JpYmUgcHJlZmVyZW5jZXMaOFJldHVybnMgYSBsaXN0IG9mIGFsbCBwcmVmZXJlbmNlcyBzdXBwb3J0ZWQgYnkgRnJvbnRpZXIugtPkkwIdEhsvdjFiZXRhMS9wcmVmZXJlbmNlcy90cmFpdHMSxAMKHUNyZWF0ZU9yZ2FuaXphdGlvblByZWZlcmVuY2VzEj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25QcmVmZXJlbmNlc1JlcXVlc3QaQC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVzcG9uc2UinwKSQekBCgpQcmVmZXJlbmNlEh9DcmVhdGUgb3JnYW5pemF0aW9uIHByZWZlcmVuY2VzGrkBQ3JlYXRlIGEgbmV3IG9yZ2FuaXphdGlvbiBwcmVmZXJlbmNlcy4gVGhlIG9yZ2FuaXphdGlvbiBwcmVmZXJlbmNlcyAqKm5hbWUqKiBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIG9yZ2FuaXphdGlvbiBhbmQgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy6C0+STAiwiJy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS9wcmVmZXJlbmNlczoBKhKlAgobTGlzdE9yZ2FuaXphdGlvblByZWZlcmVuY2VzEj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXF1ZXN0Gj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXNwb25zZSKGAZJBVAoKUHJlZmVyZW5jZRIdTGlzdCBvcmdhbml6YXRpb24gcHJlZmVyZW5jZXMaJ0xpc3QgYW4gb3JnYW5pemF0aW9uIHByZWZlcmVuY2VzIGJ5IElELoLT5JMCKRInL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3ByZWZlcmVuY2VzEpwDChhDcmVhdGVQcm9qZWN0UHJlZmVyZW5jZXMSOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2plY3RQcmVmZXJlbmNlc1JlcXVlc3QaOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2plY3RQcmVmZXJlbmNlc1Jlc3BvbnNlIoYCkkHVAQoKUHJlZmVyZW5jZRIaQ3JlYXRlIHByb2plY3QgcHJlZmVyZW5jZXMaqgFDcmVhdGUgYSBuZXcgcHJvamVjdCBwcmVmZXJlbmNlcy4gVGhlIHByb2plY3QgcHJlZmVyZW5jZXMgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBwcm9qZWN0IGFuZCBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLoLT5JMCJyIiL3YxYmV0YTEvcHJvamVjdHMve2lkfS9wcmVmZXJlbmNlczoBKhKFAgoWTGlzdFByb2plY3RQcmVmZXJlbmNlcxI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RQcmVmZXJlbmNlc1JlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0UHJlZmVyZW5jZXNSZXNwb25zZSJ2kkFJCgpQcmVmZXJlbmNlEhhMaXN0IHByb2plY3QgcHJlZmVyZW5jZXMaIUxpc3QgYSBwcm9qZWN0IHByZWZlcmVuY2VzIGJ5IElELoLT5JMCJBIiL3YxYmV0YTEvcHJvamVjdHMve2lkfS9wcmVmZXJlbmNlcxKMAwoWQ3JlYXRlR3JvdXBQcmVmZXJlbmNlcxI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlR3JvdXBQcmVmZXJlbmNlc1JlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUdyb3VwUHJlZmVyZW5jZXNSZXNwb25zZSL8AZJBzQEKClByZWZlcmVuY2USGENyZWF0ZSBncm91cCBwcmVmZXJlbmNlcxqkAUNyZWF0ZSBhIG5ldyBncm91cCBwcmVmZXJlbmNlcy4gVGhlIGdyb3VwIHByZWZlcmVuY2VzICoqbmFtZSoqIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgZ3JvdXAgYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMugtPkkwIlIiAvdjFiZXRhMS9ncm91cHMve2lkfS9wcmVmZXJlbmNlczoBKhL5AQoUTGlzdEdyb3VwUHJlZmVyZW5jZXMSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RHcm91cFByZWZlcmVuY2VzUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEdyb3VwUHJlZmVyZW5jZXNSZXNwb25zZSJwkkFFCgpQcmVmZXJlbmNlEhZMaXN0IGdyb3VwIHByZWZlcmVuY2VzGh9MaXN0IGEgZ3JvdXAgcHJlZmVyZW5jZXMgYnkgSUQugtPkkwIiEiAvdjFiZXRhMS9ncm91cHMve2lkfS9wcmVmZXJlbmNlcxKEAwoVQ3JlYXRlVXNlclByZWZlcmVuY2VzEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVVc2VyUHJlZmVyZW5jZXNSZXNwb25zZSL3AZJByQEKClByZWZlcmVuY2USF0NyZWF0ZSB1c2VyIHByZWZlcmVuY2VzGqEBQ3JlYXRlIGEgbmV3IHVzZXIgcHJlZmVyZW5jZXMuIFRoZSB1c2VyIHByZWZlcmVuY2VzICoqbmFtZSoqIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgdXNlciBhbmQgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy6C0+STAiQiHy92MWJldGExL3VzZXJzL3tpZH0vcHJlZmVyZW5jZXM6ASoS8wEKE0xpc3RVc2VyUHJlZmVyZW5jZXMSNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlclByZWZlcmVuY2VzUmVzcG9uc2UibZJBQwoKUHJlZmVyZW5jZRIVTGlzdCB1c2VyIHByZWZlcmVuY2VzGh5MaXN0IGEgdXNlciBwcmVmZXJlbmNlcyBieSBJRC6C0+STAiESHy92MWJldGExL3VzZXJzL3tpZH0vcHJlZmVyZW5jZXMSoQMKHENyZWF0ZUN1cnJlbnRVc2VyUHJlZmVyZW5jZXMSPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0Gj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVDdXJyZW50VXNlclByZWZlcmVuY2VzUmVzcG9uc2Ui/wGSQdEBCgpQcmVmZXJlbmNlEh9DcmVhdGUgY3VycmVudCB1c2VyIHByZWZlcmVuY2VzGqEBQ3JlYXRlIGEgbmV3IHVzZXIgcHJlZmVyZW5jZXMuIFRoZSB1c2VyIHByZWZlcmVuY2VzICoqbmFtZSoqIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgdXNlciBhbmQgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy6C0+STAiQiHy92MWJldGExL3VzZXJzL3NlbGYvcHJlZmVyZW5jZXM6ASoSkAIKGkxpc3RDdXJyZW50VXNlclByZWZlcmVuY2VzEjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QaPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlclByZWZlcmVuY2VzUmVzcG9uc2UidZJBSwoKUHJlZmVyZW5jZRIdTGlzdCBjdXJyZW50IHVzZXIgcHJlZmVyZW5jZXMaHkxpc3QgYSB1c2VyIHByZWZlcmVuY2VzIGJ5IElELoLT5JMCIRIfL3YxYmV0YTEvdXNlcnMvc2VsZi9wcmVmZXJlbmNlcxKTAgoUQ3JlYXRlQmlsbGluZ0FjY291bnQSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQmlsbGluZ0FjY291bnRSZXNwb25zZSKJAZJBVAoHQmlsbGluZxIWQ3JlYXRlIGJpbGxpbmcgYWNjb3VudBoxQ3JlYXRlIGEgbmV3IGJpbGxpbmcgYWNjb3VudCBmb3IgYW4gb3JnYW5pemF0aW9uLoLT5JMCLCInL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nOgEqEvMBChFHZXRCaWxsaW5nQWNjb3VudBIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0QmlsbGluZ0FjY291bnRSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRCaWxsaW5nQWNjb3VudFJlc3BvbnNlInOSQTwKB0JpbGxpbmcSE0dldCBiaWxsaW5nIGFjY291bnQaHEdldCBhIGJpbGxpbmcgYWNjb3VudCBieSBJRC6C0+STAi4SLC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9EoUCChRVcGRhdGVCaWxsaW5nQWNjb3VudBI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlQmlsbGluZ0FjY291bnRSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVCaWxsaW5nQWNjb3VudFJlc3BvbnNlInySQUIKB0JpbGxpbmcSFlVwZGF0ZSBiaWxsaW5nIGFjY291bnQaH1VwZGF0ZSBhIGJpbGxpbmcgYWNjb3VudCBieSBJRC6C0+STAjEaLC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9OgEqEsECChZSZWdpc3RlckJpbGxpbmdBY2NvdW50EjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZWdpc3RlckJpbGxpbmdBY2NvdW50UmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVnaXN0ZXJCaWxsaW5nQWNjb3VudFJlc3BvbnNlIrEBkkFuCgdCaWxsaW5nEiRSZWdpc3RlciBiaWxsaW5nIGFjY291bnQgdG8gcHJvdmlkZXIaPVJlZ2lzdGVyIGEgYmlsbGluZyBhY2NvdW50IHRvIGEgcHJvdmlkZXIgaWYgaXQncyBub3QgYWxyZWFkeS6C0+STAjoiNS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9L3JlZ2lzdGVyOgEqEoMCChNMaXN0QmlsbGluZ0FjY291bnRzEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0QmlsbGluZ0FjY291bnRzUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEJpbGxpbmdBY2NvdW50c1Jlc3BvbnNlIn2SQUsKB0JpbGxpbmcSFUxpc3QgYmlsbGluZyBhY2NvdW50cxopTGlzdCBiaWxsaW5nIGFjY291bnRzIG9mIGFuIG9yZ2FuaXphdGlvbi6C0+STAikSJy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZxKCAgoURGVsZXRlQmlsbGluZ0FjY291bnQSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlQmlsbGluZ0FjY291bnRSZXNwb25zZSJ5kkFCCgdCaWxsaW5nEhZEZWxldGUgYmlsbGluZyBhY2NvdW50Gh9EZWxldGUgYSBiaWxsaW5nIGFjY291bnQgYnkgSUQugtPkkwIuKiwvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfRKNAgoURW5hYmxlQmlsbGluZ0FjY291bnQSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZUJpbGxpbmdBY2NvdW50UmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlQmlsbGluZ0FjY291bnRSZXNwb25zZSKDAZJBQgoHQmlsbGluZxIWRW5hYmxlIGJpbGxpbmcgYWNjb3VudBofRW5hYmxlIGEgYmlsbGluZyBhY2NvdW50IGJ5IElELoLT5JMCOCIzL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0vZW5hYmxlOgEqEukCChVEaXNhYmxlQmlsbGluZ0FjY291bnQSNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVCaWxsaW5nQWNjb3VudFJlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVCaWxsaW5nQWNjb3VudFJlc3BvbnNlItwBkkGZAQoHQmlsbGluZxIXRGlzYWJsZSBiaWxsaW5nIGFjY291bnQadURpc2FibGUgYSBiaWxsaW5nIGFjY291bnQgYnkgSUQuIERpc2FibGluZyBhIGJpbGxpbmcgYWNjb3VudCBkb2Vzbid0IGF1dG9tYXRpY2FsbHkgZGlzYWJsZSBpdCdzIGFjdGl2ZSBzdWJzY3JpcHRpb25zLoLT5JMCOSI0L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0vZGlzYWJsZToBKhKLAgoRR2V0QmlsbGluZ0JhbGFuY2USMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEJpbGxpbmdCYWxhbmNlUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0QmlsbGluZ0JhbGFuY2VSZXNwb25zZSKKAZJBSwoHQmlsbGluZxITR2V0IGJpbGxpbmcgYmFsYW5jZRorR2V0IHRoZSBiYWxhbmNlIG9mIGEgYmlsbGluZyBhY2NvdW50IGJ5IElELoLT5JMCNhI0L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0vYmFsYW5jZRL6AQoKSGFzVHJpYWxlZBIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSGFzVHJpYWxlZFJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkhhc1RyaWFsZWRSZXNwb25zZSKOAZJBPwoHQmlsbGluZxILSGFzIHRyaWFsZWQaJ0NoZWNrIGlmIGEgYmlsbGluZyBhY2NvdW50IGhhcyB0cmlhbGVkLoLT5JMCRhJEL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0vcGxhbnMve3BsYW5faWR9L3RyaWFsZWQSxwIKD0dldFN1YnNjcmlwdGlvbhIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0U3Vic2NyaXB0aW9uUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0U3Vic2NyaXB0aW9uUmVzcG9uc2UizAGSQTsKDFN1YnNjcmlwdGlvbhIQR2V0IHN1YnNjcmlwdGlvbhoZR2V0IGEgc3Vic2NyaXB0aW9uIGJ5IElELoLT5JMChwESRy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vc3Vic2NyaXB0aW9ucy97aWR9WjwSOi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9zdWJzY3JpcHRpb25zL3tpZH0S6gIKEkNhbmNlbFN1YnNjcmlwdGlvbhI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2FuY2VsU3Vic2NyaXB0aW9uUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2FuY2VsU3Vic2NyaXB0aW9uUmVzcG9uc2Ui5gGSQUEKDFN1YnNjcmlwdGlvbhITQ2FuY2VsIHN1YnNjcmlwdGlvbhocQ2FuY2VsIGEgc3Vic2NyaXB0aW9uIGJ5IElELoLT5JMCmwEiTi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vc3Vic2NyaXB0aW9ucy97aWR9L2NhbmNlbDoBKlpGIkEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvc3Vic2NyaXB0aW9ucy97aWR9L2NhbmNlbDoBKhLTAgoRTGlzdFN1YnNjcmlwdGlvbnMSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTdWJzY3JpcHRpb25zUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFN1YnNjcmlwdGlvbnNSZXNwb25zZSLSAZJBTAoMU3Vic2NyaXB0aW9uEhJMaXN0IHN1YnNjcmlwdGlvbnMaKExpc3Qgc3Vic2NyaXB0aW9ucyBvZiBhIGJpbGxpbmcgYWNjb3VudC6C0+STAn0SQi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vc3Vic2NyaXB0aW9uc1o3EjUvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvc3Vic2NyaXB0aW9ucxL0AgoSQ2hhbmdlU3Vic2NyaXB0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGFuZ2VTdWJzY3JpcHRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGFuZ2VTdWJzY3JpcHRpb25SZXNwb25zZSLwAZJBSwoMU3Vic2NyaXB0aW9uEhhDaGFuZ2Ugc3Vic2NyaXB0aW9uIHBsYW4aIUNoYW5nZSBhIHN1YnNjcmlwdGlvbiBwbGFuIGJ5IElELoLT5JMCmwEiTi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vc3Vic2NyaXB0aW9ucy97aWR9L2NoYW5nZToBKlpGIkEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvc3Vic2NyaXB0aW9ucy97aWR9L2NoYW5nZToBKhLcAgoSVXBkYXRlU3Vic2NyaXB0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVTdWJzY3JpcHRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVTdWJzY3JpcHRpb25SZXNwb25zZSLYAZJBQQoMU3Vic2NyaXB0aW9uEhNVcGRhdGUgc3Vic2NyaXB0aW9uGhxVcGRhdGUgYSBzdWJzY3JpcHRpb24gYnkgSUQugtPkkwKNARpHL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9zdWJzY3JpcHRpb25zL3tpZH06ASpaPyI6L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3N1YnNjcmlwdGlvbnMve2lkfToBKhLYAQoNQ3JlYXRlUHJvZHVjdBIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvZHVjdFJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2R1Y3RSZXNwb25zZSJkkkE9CgdQcm9kdWN0Eg5DcmVhdGUgcHJvZHVjdBoiQ3JlYXRlIGEgbmV3IHByb2R1Y3QgZm9yIHBsYXRmb3JtLoLT5JMCHiIZL3YxYmV0YTEvYmlsbGluZy9wcm9kdWN0czoBKhLAAQoKR2V0UHJvZHVjdBIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvZHVjdFJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFByb2R1Y3RSZXNwb25zZSJVkkEsCgdQcm9kdWN0EgtHZXQgcHJvZHVjdBoUR2V0IGEgcHJvZHVjdCBieSBJRC6C0+STAiASHi92MWJldGExL2JpbGxpbmcvcHJvZHVjdHMve2lkfRLPAQoMTGlzdFByb2R1Y3RzEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvZHVjdHNSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvZHVjdHNSZXNwb25zZSJekkE6CgdQcm9kdWN0Eg1MaXN0IHByb2R1Y3RzGiBMaXN0IGFsbCBwcm9kdWN0cyBvZiBhIHBsYXRmb3JtLoLT5JMCGxIZL3YxYmV0YTEvYmlsbGluZy9wcm9kdWN0cxLSAQoNVXBkYXRlUHJvZHVjdBIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUHJvZHVjdFJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVByb2R1Y3RSZXNwb25zZSJekkEyCgdQcm9kdWN0Eg5VcGRhdGUgcHJvZHVjdBoXVXBkYXRlIGEgcHJvZHVjdCBieSBJRC6C0+STAiMaHi92MWJldGExL2JpbGxpbmcvcHJvZHVjdHMve2lkfToBKhLYAQoNQ3JlYXRlRmVhdHVyZRIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlRmVhdHVyZVJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUZlYXR1cmVSZXNwb25zZSJkkkE9CgdGZWF0dXJlEg5DcmVhdGUgZmVhdHVyZRoiQ3JlYXRlIGEgbmV3IGZlYXR1cmUgZm9yIHBsYXRmb3JtLoLT5JMCHiIZL3YxYmV0YTEvYmlsbGluZy9mZWF0dXJlczoBKhLAAQoKR2V0RmVhdHVyZRIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0RmVhdHVyZVJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEZlYXR1cmVSZXNwb25zZSJVkkEsCgdGZWF0dXJlEgtHZXQgZmVhdHVyZRoUR2V0IGEgZmVhdHVyZSBieSBJRC6C0+STAiASHi92MWJldGExL2JpbGxpbmcvZmVhdHVyZXMve2lkfRLSAQoNVXBkYXRlRmVhdHVyZRIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlRmVhdHVyZVJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUZlYXR1cmVSZXNwb25zZSJekkEyCgdGZWF0dXJlEg5VcGRhdGUgZmVhdHVyZRoXVXBkYXRlIGEgZmVhdHVyZSBieSBJRC6C0+STAiMaHi92MWJldGExL2JpbGxpbmcvZmVhdHVyZXMve2lkfToBKhLAAQoMTGlzdEZlYXR1cmVzEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0RmVhdHVyZXNSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0RmVhdHVyZXNSZXNwb25zZSJPkkErCgdGZWF0dXJlEg1MaXN0IGZlYXR1cmVzGhFMaXN0IGFsbCBmZWF0dXJlc4LT5JMCGxIZL3YxYmV0YTEvYmlsbGluZy9mZWF0dXJlcxLDAQoKQ3JlYXRlUGxhbhIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUGxhblJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBsYW5SZXNwb25zZSJYkkE0CgRQbGFuEgtDcmVhdGUgcGxhbhofQ3JlYXRlIGEgbmV3IHBsYW4gZm9yIHBsYXRmb3JtLoLT5JMCGyIWL3YxYmV0YTEvYmlsbGluZy9wbGFuczoBKhKsAQoJTGlzdFBsYW5zEisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UGxhbnNSZXF1ZXN0GiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UGxhbnNSZXNwb25zZSJEkkEjCgRQbGFuEgpMaXN0IHBsYW5zGg9MaXN0IGFsbCBwbGFucy6C0+STAhgSFi92MWJldGExL2JpbGxpbmcvcGxhbnMSqwEKB0dldFBsYW4SKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFBsYW5SZXF1ZXN0GioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQbGFuUmVzcG9uc2UiSZJBIwoEUGxhbhIIR2V0IHBsYW4aEUdldCBhIHBsYW4gYnkgSUQugtPkkwIdEhsvdjFiZXRhMS9iaWxsaW5nL3BsYW5zL3tpZH0SvQEKClVwZGF0ZVBsYW4SLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVBsYW5SZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQbGFuUmVzcG9uc2UiUpJBKQoEUGxhbhILVXBkYXRlIHBsYW4aFFVwZGF0ZSBhIHBsYW4gYnkgSUQugtPkkwIgGhsvdjFiZXRhMS9iaWxsaW5nL3BsYW5zL3tpZH06ASoShQMKDkNyZWF0ZUNoZWNrb3V0EjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVDaGVja291dFJlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUNoZWNrb3V0UmVzcG9uc2UijQKSQYgBCghDaGVja291dBIiQ2hlY2tvdXQgYSBwcm9kdWN0IG9yIHN1YnNjcmlwdGlvbhpYQ2hlY2tvdXQgYSBwcm9kdWN0IHRvIGJ1eSBpdCBvbmUgdGltZSBvciBzdGFydCBhIHN1YnNjcmlwdGlvbiBwbGFuIG9uIGEgYmlsbGluZyBhY2NvdW50LoLT5JMCeyI+L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9jaGVja291dHM6ASpaNiIxL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL2NoZWNrb3V0czoBKhK3AgoNTGlzdENoZWNrb3V0cxIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdENoZWNrb3V0c1JlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDaGVja291dHNSZXNwb25zZSLCAZJBRAoIQ2hlY2tvdXQSDkxpc3QgY2hlY2tvdXRzGihMaXN0IGFsbCBjaGVja291dHMgb2YgYSBiaWxsaW5nIGFjY291bnQugtPkkwJ1Ej4vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2NoZWNrb3V0c1ozEjEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvY2hlY2tvdXRzEqYCCgtHZXRDaGVja291dBItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0Q2hlY2tvdXRSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRDaGVja291dFJlc3BvbnNlIrcBkkEvCghDaGVja291dBIMR2V0IGNoZWNrb3V0GhVHZXQgYSBjaGVja291dCBieSBJRC6C0+STAn8SQy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vY2hlY2tvdXRzL3tpZH1aOBI2L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL2NoZWNrb3V0cy97aWR9EtwCChdDaGVja0ZlYXR1cmVFbnRpdGxlbWVudBI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tGZWF0dXJlRW50aXRsZW1lbnRSZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja0ZlYXR1cmVFbnRpdGxlbWVudFJlc3BvbnNlIskBkkFWCgtFbnRpdGxlbWVudBIRQ2hlY2sgZW50aXRsZW1lbnQaNENoZWNrIGlmIGEgYmlsbGluZyBhY2NvdW50IGlzIGVudGl0bGVkIHRvIGEgZmVhdHVyZS6C0+STAmoiOi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vY2hlY2s6ASpaKSIkL3YxYmV0YTEvb3JnYW5pemF0aW9ucy9iaWxsaW5nL2NoZWNrOgEqEp8CChZDaGVja0NyZWRpdEVudGl0bGVtZW50EjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja0NyZWRpdEVudGl0bGVtZW50UmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tDcmVkaXRFbnRpdGxlbWVudFJlc3BvbnNlIo8BkkFrCgtFbnRpdGxlbWVudBIYQ2hlY2sgY3JlZGl0IGVudGl0bGVtZW50GkJDaGVjayBpZiBhIGJpbGxpbmcgYWNjb3VudCBoYXMgZW5vdWdoIGNyZWRpdHMgdG8gY292ZXIgdGhlIGFtb3VudC6C0+STAhsiFi92MWJldGExL2JpbGxpbmcvY2hlY2s6ASoSyQIKEkNyZWF0ZUJpbGxpbmdVc2FnZRI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQmlsbGluZ1VzYWdlUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQmlsbGluZ1VzYWdlUmVzcG9uc2UixQGSQVAKBVVzYWdlEhRDcmVhdGUgYmlsbGluZyB1c2FnZRoxUmVwb3J0IGEgbmV3IGJpbGxpbmcgdXNhZ2UgZm9yIGEgYmlsbGluZyBhY2NvdW50LoLT5JMCbCI7L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS91c2FnZXM6ASpaKiIlL3YxYmV0YTEvb3JnYW5pemF0aW9ucy9iaWxsaW5nL3VzYWdlczoBKhLsAgoXTGlzdEJpbGxpbmdUcmFuc2FjdGlvbnMSOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RCaWxsaW5nVHJhbnNhY3Rpb25zUmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEJpbGxpbmdUcmFuc2FjdGlvbnNSZXNwb25zZSLZAZJBVQoLVHJhbnNhY3Rpb24SGUxpc3QgYmlsbGluZyB0cmFuc2FjdGlvbnMaK0xpc3QgYWxsIHRyYW5zYWN0aW9ucyBvZiBhIGJpbGxpbmcgYWNjb3VudC6C0+STAnsSQS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vdHJhbnNhY3Rpb25zWjYSNC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy90cmFuc2FjdGlvbnMS7wIKGFRvdGFsRGViaXRlZFRyYW5zYWN0aW9ucxI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVxdWVzdBo7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVzcG9uc2Ui2QGSQX8KC1RyYW5zYWN0aW9uEjdTdW0gb2YgYW1vdW50IG9mIGRlYml0ZWQgdHJhbnNhY3Rpb25zIGluY2x1ZGluZyByZWZ1bmRzGjdTdW0gb2YgYW1vdW50IG9mIGRlYml0ZWQgdHJhbnNhY3Rpb25zIGluY2x1ZGluZyByZWZ1bmRzgtPkkwJREk8vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2RlYml0ZWRfdHJhbnNhY3Rpb25zX3RvdGFsEq8CCgxMaXN0SW52b2ljZXMSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RJbnZvaWNlc1JlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RJbnZvaWNlc1Jlc3BvbnNlIr0BkkFBCgdJbnZvaWNlEg1MaXN0IGludm9pY2VzGidMaXN0IGFsbCBpbnZvaWNlcyBvZiBhIGJpbGxpbmcgYWNjb3VudC6C0+STAnMSPS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vaW52b2ljZXNaMhIwL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL2ludm9pY2VzEuICChJHZXRVcGNvbWluZ0ludm9pY2USNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFVwY29taW5nSW52b2ljZVJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFVwY29taW5nSW52b2ljZVJlc3BvbnNlIt4BkkFPCgdJbnZvaWNlEhRHZXQgdXBjb21pbmcgaW52b2ljZRouR2V0IHRoZSB1cGNvbWluZyBpbnZvaWNlIG9mIGEgYmlsbGluZyBhY2NvdW50LoLT5JMChQESRi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vaW52b2ljZXMvdXBjb21pbmdaOxI5L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL2ludm9pY2VzL3VwY29taW5nEpwCChZCaWxsaW5nV2ViaG9va0NhbGxiYWNrEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nV2ViaG9va0NhbGxiYWNrUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ1dlYmhvb2tDYWxsYmFja1Jlc3BvbnNlIowBkkFOCgdXZWJob29rEhZBY2NlcHQgQmlsbGluZyB3ZWJob29rGitBY2NlcHRzIGEgQmlsbGluZyB3ZWJob29rIGFuZCBwcm9jZXNzZXMgaXQugtPkkwI1Ii0vdjFiZXRhMS9iaWxsaW5nL3dlYmhvb2tzL2NhbGxiYWNrL3twcm92aWRlcn06BGJvZHkSkQIKFENyZWF0ZVByb3NwZWN0UHVibGljEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9zcGVjdFB1YmxpY1JlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb3NwZWN0UHVibGljUmVzcG9uc2UihwGSQWcKCFByb3NwZWN0Eg9DcmVhdGUgcHJvc3BlY3QaSkNyZWF0ZSBwcm9zcGVjdCBmb3IgZ2l2ZW4gZW1haWwgYW5kIGFjdGl2aXR5LiBBdmFpbGFibGUgZm9yIHB1YmxpYyBhY2Nlc3MugtPkkwIXIhIvdjFiZXRhMS9wcm9zcGVjdHM6ASoSgAEKEUNyZWF0ZUF1ZGl0UmVjb3JkEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVBdWRpdFJlY29yZFJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUF1ZGl0UmVjb3JkUmVzcG9uc2UiAELyDQojaW8ucmF5c3RhY2sucHJvdG9uLmZyb250aWVyLnYxYmV0YTFCCEZyb250aWVyWjtnaXRodWIuY29tL3JheXN0YWNrL3Byb3Rvbi9mcm9udGllci92MWJldGExO2Zyb250aWVydjFiZXRhMZJBgg0SHgoVRnJvbnRpZXIgR2VuZXJhbCBBUElzMgUwLjIuMBoOMTI3LjAuMC4xOjc0MDAqAQEyEGFwcGxpY2F0aW9uL2pzb246EGFwcGxpY2F0aW9uL2pzb25SPAoDMjAwEjUKG09LIC0gQSBzdWNjZXNzZnVsIHJlc3BvbnNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1c1JpCgM0MDASYgpIQmFkIFJlcXVlc3QgLSBUaGUgcmVxdWVzdCB3YXMgbWFsZm9ybWVkIG9yIGNvbnRhaW5lZCBpbnZhbGlkIHBhcmFtZXRlcnMuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUkoKAzQwMRJDCilVbmF1dGhvcml6ZWQgLSBBdXRoZW50aWNhdGlvbiBpcyByZXF1aXJlZBIWChQaEi5nb29nbGUucnBjLlN0YXR1c1JhCgM0MDMSWgpARm9yYmlkZGVuIC0gVXNlciBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZRIWChQaEi5nb29nbGUucnBjLlN0YXR1c1JRCgM0MDQSSgowTm90IEZvdW5kIC0gVGhlIHJlcXVlc3RlZCByZXNvdXJjZSB3YXMgbm90IGZvdW5kEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUnUKAzUwMBJuClRJbnRlcm5hbCBTZXJ2ZXIgRXJyb3IuIFJldHVybmVkIHdoZW4gdGhlcmVzIGlzIHNvbWV0aGluZyB3cm9uZyB3aXRoIEZyb250aWVyIHNlcnZlci4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXNatgEKRAoFQmFzaWMSOwgBEh9DbGllbnQgSUQvU2VjcmV0IGF1dGhlbnRpY2F0aW9uGhRCYXNpYyBBdXRoZW50aWNhdGlvbiACCm4KBkJlYXJlchJkCAIST1RoZSBBdXRob3JpemF0aW9uIGhlYWRlciBtdXN0IGJlIHNldCB0byBCZWFyZXIgZm9sbG93ZWQgYnkgYSBzcGFjZSBhbmQgYSB0b2tlbi4aDUF1dGhvcml6YXRpb24gAmITCgcKBUJhc2ljCggKBkJlYXJlcmoGCgRVc2VyaoIDCgVHcm91cBL4Akdyb3VwcyBpbiBGcm9udGllciBhcmUgdXNlZCB0byBtYW5hZ2UgdXNlcnMgYW5kIHRoZWlyIGFjY2VzcyB0byByZXNvdXJjZXMuIEVhY2ggZ3JvdXAgaGFzIGEgdW5pcXVlIG5hbWUgYW5kIGlkIHRoYXQgY2FuIGJlIHVzZWQgdG8gZ3JhbnQgYWNjZXNzIHRvIHJlc291cmNlcy4gV2hlbiBhIHVzZXIgaXMgYWRkZWQgdG8gYSBncm91cCwgdGhleSBpbmhlcml0IHRoZSBhY2Nlc3MgcGVybWlzc2lvbnMgdGhhdCBoYXZlIGJlZW4gZ3JhbnRlZCB0byB0aGUgZ3JvdXAuIFRoaXMgYWxsb3dzIHlvdSB0byBtYW5hZ2UgYWNjZXNzIHRvIHJlc291cmNlcyBhdCBzY2FsZSwgd2l0aG91dCBoYXZpbmcgdG8gZ3JhbnQgcGVybWlzc2lvbnMgdG8gaW5kaXZpZHVhbCB1c2Vycy5qBgoEUm9sZWoOCgxPcmdhbml6YXRpb25qCQoHUHJvamVjdGoICgZQb2xpY3lqCgoIUmVsYXRpb25qDAoKUGVybWlzc2lvbmoLCglOYW1lc3BhY2VqCgoIUmVzb3VyY2VqGwoFQXV0aHoSEkF1dGhvcml6YXRpb24gQVBJc2ocCgVBdXRobhITQXV0aGVudGljYXRpb24gQVBJc2qQAgoKTWV0YVNjaGVtYRKBAk1hbmFnZSBNZXRhZGF0YSBTY2hlbWFzIHdoaWNoIGFyZSB1c2VkIHRvIHZhbGlkYXRlIG1ldGFkYXRhIG9iamVjdCB3aGlsZSBjcmVhdGluZyB1c2VyL29yZy9ncm91cC9yb2xlLiBGcm9udGllciBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBkZWZhdWx0IG1ldGFzY2hlbWFzIHdpdGggYGxhYmVsYCBhbmQgYGRlc2NyaXB0aW9uYCBmaWVsZHMuIFlvdSBjYW4gYWxzbyB1cGRhdGUgdGhlc2UgbWV0YXNjaGVtYXMgdG8gYWRkL2VkaXQgbW9yZSBmaWVsZHMuYgZwcm90bzM", [file_google_api_annotations, file_google_api_field_behavior, file_google_protobuf_struct, file_google_protobuf_timestamp, file_protoc_gen_openapiv2_options_annotations, file_raystack_frontier_v1beta1_models, file_validate_validate]);
18
18
 
19
19
  /**
20
20
  * Describes the message raystack.frontier.v1beta1.BillingAccountRequestBody.
@@ -975,1671 +975,1615 @@ export const GetServiceUserRequestSchema = /*@__PURE__*/
975
975
  export const GetServiceUserResponseSchema = /*@__PURE__*/
976
976
  messageDesc(file_raystack_frontier_v1beta1_frontier, 132);
977
977
 
978
- /**
979
- * Describes the message raystack.frontier.v1beta1.UpdateServiceUserRequest.
980
- * Use `create(UpdateServiceUserRequestSchema)` to create a new message.
981
- */
982
- export const UpdateServiceUserRequestSchema = /*@__PURE__*/
983
- messageDesc(file_raystack_frontier_v1beta1_frontier, 133);
984
-
985
- /**
986
- * Describes the message raystack.frontier.v1beta1.UpdateServiceUserResponse.
987
- * Use `create(UpdateServiceUserResponseSchema)` to create a new message.
988
- */
989
- export const UpdateServiceUserResponseSchema = /*@__PURE__*/
990
- messageDesc(file_raystack_frontier_v1beta1_frontier, 134);
991
-
992
978
  /**
993
979
  * Describes the message raystack.frontier.v1beta1.DeleteServiceUserRequest.
994
980
  * Use `create(DeleteServiceUserRequestSchema)` to create a new message.
995
981
  */
996
982
  export const DeleteServiceUserRequestSchema = /*@__PURE__*/
997
- messageDesc(file_raystack_frontier_v1beta1_frontier, 135);
983
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 133);
998
984
 
999
985
  /**
1000
986
  * Describes the message raystack.frontier.v1beta1.DeleteServiceUserResponse.
1001
987
  * Use `create(DeleteServiceUserResponseSchema)` to create a new message.
1002
988
  */
1003
989
  export const DeleteServiceUserResponseSchema = /*@__PURE__*/
1004
- messageDesc(file_raystack_frontier_v1beta1_frontier, 136);
990
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 134);
1005
991
 
1006
992
  /**
1007
993
  * Describes the message raystack.frontier.v1beta1.CreateServiceUserJWKRequest.
1008
994
  * Use `create(CreateServiceUserJWKRequestSchema)` to create a new message.
1009
995
  */
1010
996
  export const CreateServiceUserJWKRequestSchema = /*@__PURE__*/
1011
- messageDesc(file_raystack_frontier_v1beta1_frontier, 137);
997
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 135);
1012
998
 
1013
999
  /**
1014
1000
  * Describes the message raystack.frontier.v1beta1.CreateServiceUserJWKResponse.
1015
1001
  * Use `create(CreateServiceUserJWKResponseSchema)` to create a new message.
1016
1002
  */
1017
1003
  export const CreateServiceUserJWKResponseSchema = /*@__PURE__*/
1018
- messageDesc(file_raystack_frontier_v1beta1_frontier, 138);
1004
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 136);
1019
1005
 
1020
1006
  /**
1021
1007
  * Describes the message raystack.frontier.v1beta1.GetServiceUserJWKRequest.
1022
1008
  * Use `create(GetServiceUserJWKRequestSchema)` to create a new message.
1023
1009
  */
1024
1010
  export const GetServiceUserJWKRequestSchema = /*@__PURE__*/
1025
- messageDesc(file_raystack_frontier_v1beta1_frontier, 139);
1011
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 137);
1026
1012
 
1027
1013
  /**
1028
1014
  * Describes the message raystack.frontier.v1beta1.GetServiceUserJWKResponse.
1029
1015
  * Use `create(GetServiceUserJWKResponseSchema)` to create a new message.
1030
1016
  */
1031
1017
  export const GetServiceUserJWKResponseSchema = /*@__PURE__*/
1032
- messageDesc(file_raystack_frontier_v1beta1_frontier, 140);
1018
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 138);
1033
1019
 
1034
1020
  /**
1035
1021
  * Describes the message raystack.frontier.v1beta1.ListServiceUserJWKsRequest.
1036
1022
  * Use `create(ListServiceUserJWKsRequestSchema)` to create a new message.
1037
1023
  */
1038
1024
  export const ListServiceUserJWKsRequestSchema = /*@__PURE__*/
1039
- messageDesc(file_raystack_frontier_v1beta1_frontier, 141);
1025
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 139);
1040
1026
 
1041
1027
  /**
1042
1028
  * Describes the message raystack.frontier.v1beta1.ListServiceUserJWKsResponse.
1043
1029
  * Use `create(ListServiceUserJWKsResponseSchema)` to create a new message.
1044
1030
  */
1045
1031
  export const ListServiceUserJWKsResponseSchema = /*@__PURE__*/
1046
- messageDesc(file_raystack_frontier_v1beta1_frontier, 142);
1032
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 140);
1047
1033
 
1048
1034
  /**
1049
1035
  * Describes the message raystack.frontier.v1beta1.DeleteServiceUserJWKRequest.
1050
1036
  * Use `create(DeleteServiceUserJWKRequestSchema)` to create a new message.
1051
1037
  */
1052
1038
  export const DeleteServiceUserJWKRequestSchema = /*@__PURE__*/
1053
- messageDesc(file_raystack_frontier_v1beta1_frontier, 143);
1039
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 141);
1054
1040
 
1055
1041
  /**
1056
1042
  * Describes the message raystack.frontier.v1beta1.DeleteServiceUserJWKResponse.
1057
1043
  * Use `create(DeleteServiceUserJWKResponseSchema)` to create a new message.
1058
1044
  */
1059
1045
  export const DeleteServiceUserJWKResponseSchema = /*@__PURE__*/
1060
- messageDesc(file_raystack_frontier_v1beta1_frontier, 144);
1046
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 142);
1061
1047
 
1062
1048
  /**
1063
1049
  * Describes the message raystack.frontier.v1beta1.CreateServiceUserCredentialRequest.
1064
1050
  * Use `create(CreateServiceUserCredentialRequestSchema)` to create a new message.
1065
1051
  */
1066
1052
  export const CreateServiceUserCredentialRequestSchema = /*@__PURE__*/
1067
- messageDesc(file_raystack_frontier_v1beta1_frontier, 145);
1053
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 143);
1068
1054
 
1069
1055
  /**
1070
1056
  * Describes the message raystack.frontier.v1beta1.CreateServiceUserCredentialResponse.
1071
1057
  * Use `create(CreateServiceUserCredentialResponseSchema)` to create a new message.
1072
1058
  */
1073
1059
  export const CreateServiceUserCredentialResponseSchema = /*@__PURE__*/
1074
- messageDesc(file_raystack_frontier_v1beta1_frontier, 146);
1060
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 144);
1075
1061
 
1076
1062
  /**
1077
1063
  * Describes the message raystack.frontier.v1beta1.ListServiceUserCredentialsRequest.
1078
1064
  * Use `create(ListServiceUserCredentialsRequestSchema)` to create a new message.
1079
1065
  */
1080
1066
  export const ListServiceUserCredentialsRequestSchema = /*@__PURE__*/
1081
- messageDesc(file_raystack_frontier_v1beta1_frontier, 147);
1067
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 145);
1082
1068
 
1083
1069
  /**
1084
1070
  * Describes the message raystack.frontier.v1beta1.ListServiceUserCredentialsResponse.
1085
1071
  * Use `create(ListServiceUserCredentialsResponseSchema)` to create a new message.
1086
1072
  */
1087
1073
  export const ListServiceUserCredentialsResponseSchema = /*@__PURE__*/
1088
- messageDesc(file_raystack_frontier_v1beta1_frontier, 148);
1074
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 146);
1089
1075
 
1090
1076
  /**
1091
1077
  * Describes the message raystack.frontier.v1beta1.DeleteServiceUserCredentialRequest.
1092
1078
  * Use `create(DeleteServiceUserCredentialRequestSchema)` to create a new message.
1093
1079
  */
1094
1080
  export const DeleteServiceUserCredentialRequestSchema = /*@__PURE__*/
1095
- messageDesc(file_raystack_frontier_v1beta1_frontier, 149);
1081
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 147);
1096
1082
 
1097
1083
  /**
1098
1084
  * Describes the message raystack.frontier.v1beta1.DeleteServiceUserCredentialResponse.
1099
1085
  * Use `create(DeleteServiceUserCredentialResponseSchema)` to create a new message.
1100
1086
  */
1101
1087
  export const DeleteServiceUserCredentialResponseSchema = /*@__PURE__*/
1102
- messageDesc(file_raystack_frontier_v1beta1_frontier, 150);
1088
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 148);
1103
1089
 
1104
1090
  /**
1105
1091
  * Describes the message raystack.frontier.v1beta1.CreateServiceUserTokenRequest.
1106
1092
  * Use `create(CreateServiceUserTokenRequestSchema)` to create a new message.
1107
1093
  */
1108
1094
  export const CreateServiceUserTokenRequestSchema = /*@__PURE__*/
1109
- messageDesc(file_raystack_frontier_v1beta1_frontier, 151);
1095
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 149);
1110
1096
 
1111
1097
  /**
1112
1098
  * Describes the message raystack.frontier.v1beta1.CreateServiceUserTokenResponse.
1113
1099
  * Use `create(CreateServiceUserTokenResponseSchema)` to create a new message.
1114
1100
  */
1115
1101
  export const CreateServiceUserTokenResponseSchema = /*@__PURE__*/
1116
- messageDesc(file_raystack_frontier_v1beta1_frontier, 152);
1102
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 150);
1117
1103
 
1118
1104
  /**
1119
1105
  * Describes the message raystack.frontier.v1beta1.ListServiceUserTokensRequest.
1120
1106
  * Use `create(ListServiceUserTokensRequestSchema)` to create a new message.
1121
1107
  */
1122
1108
  export const ListServiceUserTokensRequestSchema = /*@__PURE__*/
1123
- messageDesc(file_raystack_frontier_v1beta1_frontier, 153);
1109
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 151);
1124
1110
 
1125
1111
  /**
1126
1112
  * Describes the message raystack.frontier.v1beta1.ListServiceUserTokensResponse.
1127
1113
  * Use `create(ListServiceUserTokensResponseSchema)` to create a new message.
1128
1114
  */
1129
1115
  export const ListServiceUserTokensResponseSchema = /*@__PURE__*/
1130
- messageDesc(file_raystack_frontier_v1beta1_frontier, 154);
1116
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 152);
1131
1117
 
1132
1118
  /**
1133
1119
  * Describes the message raystack.frontier.v1beta1.DeleteServiceUserTokenRequest.
1134
1120
  * Use `create(DeleteServiceUserTokenRequestSchema)` to create a new message.
1135
1121
  */
1136
1122
  export const DeleteServiceUserTokenRequestSchema = /*@__PURE__*/
1137
- messageDesc(file_raystack_frontier_v1beta1_frontier, 155);
1123
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 153);
1138
1124
 
1139
1125
  /**
1140
1126
  * Describes the message raystack.frontier.v1beta1.DeleteServiceUserTokenResponse.
1141
1127
  * Use `create(DeleteServiceUserTokenResponseSchema)` to create a new message.
1142
1128
  */
1143
1129
  export const DeleteServiceUserTokenResponseSchema = /*@__PURE__*/
1144
- messageDesc(file_raystack_frontier_v1beta1_frontier, 156);
1130
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 154);
1145
1131
 
1146
1132
  /**
1147
1133
  * Describes the message raystack.frontier.v1beta1.ListServiceUserProjectsRequest.
1148
1134
  * Use `create(ListServiceUserProjectsRequestSchema)` to create a new message.
1149
1135
  */
1150
1136
  export const ListServiceUserProjectsRequestSchema = /*@__PURE__*/
1151
- messageDesc(file_raystack_frontier_v1beta1_frontier, 157);
1137
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 155);
1152
1138
 
1153
1139
  /**
1154
1140
  * Describes the message raystack.frontier.v1beta1.ListServiceUserProjectsResponse.
1155
1141
  * Use `create(ListServiceUserProjectsResponseSchema)` to create a new message.
1156
1142
  */
1157
1143
  export const ListServiceUserProjectsResponseSchema = /*@__PURE__*/
1158
- messageDesc(file_raystack_frontier_v1beta1_frontier, 158);
1144
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 156);
1159
1145
 
1160
1146
  /**
1161
1147
  * Describes the message raystack.frontier.v1beta1.ListServiceUserProjectsResponse.AccessPair.
1162
1148
  * Use `create(ListServiceUserProjectsResponse_AccessPairSchema)` to create a new message.
1163
1149
  */
1164
1150
  export const ListServiceUserProjectsResponse_AccessPairSchema = /*@__PURE__*/
1165
- messageDesc(file_raystack_frontier_v1beta1_frontier, 158, 0);
1151
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 156, 0);
1166
1152
 
1167
1153
  /**
1168
1154
  * Describes the message raystack.frontier.v1beta1.ListOrganizationGroupsRequest.
1169
1155
  * Use `create(ListOrganizationGroupsRequestSchema)` to create a new message.
1170
1156
  */
1171
1157
  export const ListOrganizationGroupsRequestSchema = /*@__PURE__*/
1172
- messageDesc(file_raystack_frontier_v1beta1_frontier, 159);
1158
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 157);
1173
1159
 
1174
1160
  /**
1175
1161
  * Describes the message raystack.frontier.v1beta1.ListOrganizationGroupsResponse.
1176
1162
  * Use `create(ListOrganizationGroupsResponseSchema)` to create a new message.
1177
1163
  */
1178
1164
  export const ListOrganizationGroupsResponseSchema = /*@__PURE__*/
1179
- messageDesc(file_raystack_frontier_v1beta1_frontier, 160);
1165
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 158);
1180
1166
 
1181
1167
  /**
1182
1168
  * Describes the message raystack.frontier.v1beta1.CreateOrganizationRoleRequest.
1183
1169
  * Use `create(CreateOrganizationRoleRequestSchema)` to create a new message.
1184
1170
  */
1185
1171
  export const CreateOrganizationRoleRequestSchema = /*@__PURE__*/
1186
- messageDesc(file_raystack_frontier_v1beta1_frontier, 161);
1172
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 159);
1187
1173
 
1188
1174
  /**
1189
1175
  * Describes the message raystack.frontier.v1beta1.CreateOrganizationRoleResponse.
1190
1176
  * Use `create(CreateOrganizationRoleResponseSchema)` to create a new message.
1191
1177
  */
1192
1178
  export const CreateOrganizationRoleResponseSchema = /*@__PURE__*/
1193
- messageDesc(file_raystack_frontier_v1beta1_frontier, 162);
1179
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 160);
1194
1180
 
1195
1181
  /**
1196
1182
  * Describes the message raystack.frontier.v1beta1.GetOrganizationRoleRequest.
1197
1183
  * Use `create(GetOrganizationRoleRequestSchema)` to create a new message.
1198
1184
  */
1199
1185
  export const GetOrganizationRoleRequestSchema = /*@__PURE__*/
1200
- messageDesc(file_raystack_frontier_v1beta1_frontier, 163);
1186
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 161);
1201
1187
 
1202
1188
  /**
1203
1189
  * Describes the message raystack.frontier.v1beta1.GetOrganizationRoleResponse.
1204
1190
  * Use `create(GetOrganizationRoleResponseSchema)` to create a new message.
1205
1191
  */
1206
1192
  export const GetOrganizationRoleResponseSchema = /*@__PURE__*/
1207
- messageDesc(file_raystack_frontier_v1beta1_frontier, 164);
1193
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 162);
1208
1194
 
1209
1195
  /**
1210
1196
  * Describes the message raystack.frontier.v1beta1.UpdateOrganizationRoleRequest.
1211
1197
  * Use `create(UpdateOrganizationRoleRequestSchema)` to create a new message.
1212
1198
  */
1213
1199
  export const UpdateOrganizationRoleRequestSchema = /*@__PURE__*/
1214
- messageDesc(file_raystack_frontier_v1beta1_frontier, 165);
1200
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 163);
1215
1201
 
1216
1202
  /**
1217
1203
  * Describes the message raystack.frontier.v1beta1.UpdateOrganizationRoleResponse.
1218
1204
  * Use `create(UpdateOrganizationRoleResponseSchema)` to create a new message.
1219
1205
  */
1220
1206
  export const UpdateOrganizationRoleResponseSchema = /*@__PURE__*/
1221
- messageDesc(file_raystack_frontier_v1beta1_frontier, 166);
1207
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 164);
1222
1208
 
1223
1209
  /**
1224
1210
  * Describes the message raystack.frontier.v1beta1.ListRolesRequest.
1225
1211
  * Use `create(ListRolesRequestSchema)` to create a new message.
1226
1212
  */
1227
1213
  export const ListRolesRequestSchema = /*@__PURE__*/
1228
- messageDesc(file_raystack_frontier_v1beta1_frontier, 167);
1214
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 165);
1229
1215
 
1230
1216
  /**
1231
1217
  * Describes the message raystack.frontier.v1beta1.ListRolesResponse.
1232
1218
  * Use `create(ListRolesResponseSchema)` to create a new message.
1233
1219
  */
1234
1220
  export const ListRolesResponseSchema = /*@__PURE__*/
1235
- messageDesc(file_raystack_frontier_v1beta1_frontier, 168);
1221
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 166);
1236
1222
 
1237
1223
  /**
1238
1224
  * Describes the message raystack.frontier.v1beta1.ListOrganizationRolesRequest.
1239
1225
  * Use `create(ListOrganizationRolesRequestSchema)` to create a new message.
1240
1226
  */
1241
1227
  export const ListOrganizationRolesRequestSchema = /*@__PURE__*/
1242
- messageDesc(file_raystack_frontier_v1beta1_frontier, 169);
1228
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 167);
1243
1229
 
1244
1230
  /**
1245
1231
  * Describes the message raystack.frontier.v1beta1.ListOrganizationRolesResponse.
1246
1232
  * Use `create(ListOrganizationRolesResponseSchema)` to create a new message.
1247
1233
  */
1248
1234
  export const ListOrganizationRolesResponseSchema = /*@__PURE__*/
1249
- messageDesc(file_raystack_frontier_v1beta1_frontier, 170);
1235
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 168);
1250
1236
 
1251
1237
  /**
1252
1238
  * Describes the message raystack.frontier.v1beta1.DeleteOrganizationRoleRequest.
1253
1239
  * Use `create(DeleteOrganizationRoleRequestSchema)` to create a new message.
1254
1240
  */
1255
1241
  export const DeleteOrganizationRoleRequestSchema = /*@__PURE__*/
1256
- messageDesc(file_raystack_frontier_v1beta1_frontier, 171);
1242
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 169);
1257
1243
 
1258
1244
  /**
1259
1245
  * Describes the message raystack.frontier.v1beta1.DeleteOrganizationRoleResponse.
1260
1246
  * Use `create(DeleteOrganizationRoleResponseSchema)` to create a new message.
1261
1247
  */
1262
1248
  export const DeleteOrganizationRoleResponseSchema = /*@__PURE__*/
1263
- messageDesc(file_raystack_frontier_v1beta1_frontier, 172);
1249
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 170);
1264
1250
 
1265
1251
  /**
1266
1252
  * Describes the message raystack.frontier.v1beta1.OrganizationRequestBody.
1267
1253
  * Use `create(OrganizationRequestBodySchema)` to create a new message.
1268
1254
  */
1269
1255
  export const OrganizationRequestBodySchema = /*@__PURE__*/
1270
- messageDesc(file_raystack_frontier_v1beta1_frontier, 173);
1256
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 171);
1271
1257
 
1272
1258
  /**
1273
1259
  * Describes the message raystack.frontier.v1beta1.ListOrganizationsRequest.
1274
1260
  * Use `create(ListOrganizationsRequestSchema)` to create a new message.
1275
1261
  */
1276
1262
  export const ListOrganizationsRequestSchema = /*@__PURE__*/
1277
- messageDesc(file_raystack_frontier_v1beta1_frontier, 174);
1263
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 172);
1278
1264
 
1279
1265
  /**
1280
1266
  * Describes the message raystack.frontier.v1beta1.ListOrganizationsResponse.
1281
1267
  * Use `create(ListOrganizationsResponseSchema)` to create a new message.
1282
1268
  */
1283
1269
  export const ListOrganizationsResponseSchema = /*@__PURE__*/
1284
- messageDesc(file_raystack_frontier_v1beta1_frontier, 175);
1270
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 173);
1285
1271
 
1286
1272
  /**
1287
1273
  * Describes the message raystack.frontier.v1beta1.CreateOrganizationRequest.
1288
1274
  * Use `create(CreateOrganizationRequestSchema)` to create a new message.
1289
1275
  */
1290
1276
  export const CreateOrganizationRequestSchema = /*@__PURE__*/
1291
- messageDesc(file_raystack_frontier_v1beta1_frontier, 176);
1277
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 174);
1292
1278
 
1293
1279
  /**
1294
1280
  * Describes the message raystack.frontier.v1beta1.CreateOrganizationResponse.
1295
1281
  * Use `create(CreateOrganizationResponseSchema)` to create a new message.
1296
1282
  */
1297
1283
  export const CreateOrganizationResponseSchema = /*@__PURE__*/
1298
- messageDesc(file_raystack_frontier_v1beta1_frontier, 177);
1284
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 175);
1299
1285
 
1300
1286
  /**
1301
1287
  * Describes the message raystack.frontier.v1beta1.GetOrganizationResponse.
1302
1288
  * Use `create(GetOrganizationResponseSchema)` to create a new message.
1303
1289
  */
1304
1290
  export const GetOrganizationResponseSchema = /*@__PURE__*/
1305
- messageDesc(file_raystack_frontier_v1beta1_frontier, 178);
1291
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 176);
1306
1292
 
1307
1293
  /**
1308
1294
  * Describes the message raystack.frontier.v1beta1.UpdateOrganizationResponse.
1309
1295
  * Use `create(UpdateOrganizationResponseSchema)` to create a new message.
1310
1296
  */
1311
1297
  export const UpdateOrganizationResponseSchema = /*@__PURE__*/
1312
- messageDesc(file_raystack_frontier_v1beta1_frontier, 179);
1298
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 177);
1313
1299
 
1314
1300
  /**
1315
1301
  * Describes the message raystack.frontier.v1beta1.GetOrganizationRequest.
1316
1302
  * Use `create(GetOrganizationRequestSchema)` to create a new message.
1317
1303
  */
1318
1304
  export const GetOrganizationRequestSchema = /*@__PURE__*/
1319
- messageDesc(file_raystack_frontier_v1beta1_frontier, 180);
1305
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 178);
1320
1306
 
1321
1307
  /**
1322
1308
  * Describes the message raystack.frontier.v1beta1.UpdateOrganizationRequest.
1323
1309
  * Use `create(UpdateOrganizationRequestSchema)` to create a new message.
1324
1310
  */
1325
1311
  export const UpdateOrganizationRequestSchema = /*@__PURE__*/
1326
- messageDesc(file_raystack_frontier_v1beta1_frontier, 181);
1312
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 179);
1327
1313
 
1328
1314
  /**
1329
1315
  * Describes the message raystack.frontier.v1beta1.ListOrganizationAdminsRequest.
1330
1316
  * Use `create(ListOrganizationAdminsRequestSchema)` to create a new message.
1331
1317
  */
1332
1318
  export const ListOrganizationAdminsRequestSchema = /*@__PURE__*/
1333
- messageDesc(file_raystack_frontier_v1beta1_frontier, 182);
1319
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 180);
1334
1320
 
1335
1321
  /**
1336
1322
  * Describes the message raystack.frontier.v1beta1.ListOrganizationAdminsResponse.
1337
1323
  * Use `create(ListOrganizationAdminsResponseSchema)` to create a new message.
1338
1324
  */
1339
1325
  export const ListOrganizationAdminsResponseSchema = /*@__PURE__*/
1340
- messageDesc(file_raystack_frontier_v1beta1_frontier, 183);
1326
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 181);
1341
1327
 
1342
1328
  /**
1343
1329
  * Describes the message raystack.frontier.v1beta1.ListOrganizationUsersRequest.
1344
1330
  * Use `create(ListOrganizationUsersRequestSchema)` to create a new message.
1345
1331
  */
1346
1332
  export const ListOrganizationUsersRequestSchema = /*@__PURE__*/
1347
- messageDesc(file_raystack_frontier_v1beta1_frontier, 184);
1333
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 182);
1348
1334
 
1349
1335
  /**
1350
1336
  * Describes the message raystack.frontier.v1beta1.ListOrganizationUsersResponse.
1351
1337
  * Use `create(ListOrganizationUsersResponseSchema)` to create a new message.
1352
1338
  */
1353
1339
  export const ListOrganizationUsersResponseSchema = /*@__PURE__*/
1354
- messageDesc(file_raystack_frontier_v1beta1_frontier, 185);
1340
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 183);
1355
1341
 
1356
1342
  /**
1357
1343
  * Describes the message raystack.frontier.v1beta1.ListOrganizationUsersResponse.RolePair.
1358
1344
  * Use `create(ListOrganizationUsersResponse_RolePairSchema)` to create a new message.
1359
1345
  */
1360
1346
  export const ListOrganizationUsersResponse_RolePairSchema = /*@__PURE__*/
1361
- messageDesc(file_raystack_frontier_v1beta1_frontier, 185, 0);
1347
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 183, 0);
1362
1348
 
1363
1349
  /**
1364
1350
  * Describes the message raystack.frontier.v1beta1.AddOrganizationUsersRequest.
1365
1351
  * Use `create(AddOrganizationUsersRequestSchema)` to create a new message.
1366
1352
  */
1367
1353
  export const AddOrganizationUsersRequestSchema = /*@__PURE__*/
1368
- messageDesc(file_raystack_frontier_v1beta1_frontier, 186);
1354
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 184);
1369
1355
 
1370
1356
  /**
1371
1357
  * Describes the message raystack.frontier.v1beta1.AddOrganizationUsersResponse.
1372
1358
  * Use `create(AddOrganizationUsersResponseSchema)` to create a new message.
1373
1359
  */
1374
1360
  export const AddOrganizationUsersResponseSchema = /*@__PURE__*/
1375
- messageDesc(file_raystack_frontier_v1beta1_frontier, 187);
1361
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 185);
1376
1362
 
1377
1363
  /**
1378
1364
  * Describes the message raystack.frontier.v1beta1.RemoveOrganizationUserRequest.
1379
1365
  * Use `create(RemoveOrganizationUserRequestSchema)` to create a new message.
1380
1366
  */
1381
1367
  export const RemoveOrganizationUserRequestSchema = /*@__PURE__*/
1382
- messageDesc(file_raystack_frontier_v1beta1_frontier, 188);
1368
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 186);
1383
1369
 
1384
1370
  /**
1385
1371
  * Describes the message raystack.frontier.v1beta1.RemoveOrganizationUserResponse.
1386
1372
  * Use `create(RemoveOrganizationUserResponseSchema)` to create a new message.
1387
1373
  */
1388
1374
  export const RemoveOrganizationUserResponseSchema = /*@__PURE__*/
1389
- messageDesc(file_raystack_frontier_v1beta1_frontier, 189);
1375
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 187);
1390
1376
 
1391
1377
  /**
1392
1378
  * Describes the message raystack.frontier.v1beta1.ListOrganizationServiceUsersRequest.
1393
1379
  * Use `create(ListOrganizationServiceUsersRequestSchema)` to create a new message.
1394
1380
  */
1395
1381
  export const ListOrganizationServiceUsersRequestSchema = /*@__PURE__*/
1396
- messageDesc(file_raystack_frontier_v1beta1_frontier, 190);
1382
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 188);
1397
1383
 
1398
1384
  /**
1399
1385
  * Describes the message raystack.frontier.v1beta1.ListOrganizationServiceUsersResponse.
1400
1386
  * Use `create(ListOrganizationServiceUsersResponseSchema)` to create a new message.
1401
1387
  */
1402
1388
  export const ListOrganizationServiceUsersResponseSchema = /*@__PURE__*/
1403
- messageDesc(file_raystack_frontier_v1beta1_frontier, 191);
1389
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 189);
1404
1390
 
1405
1391
  /**
1406
1392
  * Describes the message raystack.frontier.v1beta1.ListOrganizationInvitationsRequest.
1407
1393
  * Use `create(ListOrganizationInvitationsRequestSchema)` to create a new message.
1408
1394
  */
1409
1395
  export const ListOrganizationInvitationsRequestSchema = /*@__PURE__*/
1410
- messageDesc(file_raystack_frontier_v1beta1_frontier, 192);
1396
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 190);
1411
1397
 
1412
1398
  /**
1413
1399
  * Describes the message raystack.frontier.v1beta1.ListOrganizationInvitationsResponse.
1414
1400
  * Use `create(ListOrganizationInvitationsResponseSchema)` to create a new message.
1415
1401
  */
1416
1402
  export const ListOrganizationInvitationsResponseSchema = /*@__PURE__*/
1417
- messageDesc(file_raystack_frontier_v1beta1_frontier, 193);
1403
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 191);
1418
1404
 
1419
1405
  /**
1420
1406
  * Describes the message raystack.frontier.v1beta1.CreateOrganizationInvitationRequest.
1421
1407
  * Use `create(CreateOrganizationInvitationRequestSchema)` to create a new message.
1422
1408
  */
1423
1409
  export const CreateOrganizationInvitationRequestSchema = /*@__PURE__*/
1424
- messageDesc(file_raystack_frontier_v1beta1_frontier, 194);
1410
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 192);
1425
1411
 
1426
1412
  /**
1427
1413
  * Describes the message raystack.frontier.v1beta1.CreateOrganizationInvitationResponse.
1428
1414
  * Use `create(CreateOrganizationInvitationResponseSchema)` to create a new message.
1429
1415
  */
1430
1416
  export const CreateOrganizationInvitationResponseSchema = /*@__PURE__*/
1431
- messageDesc(file_raystack_frontier_v1beta1_frontier, 195);
1417
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 193);
1432
1418
 
1433
1419
  /**
1434
1420
  * Describes the message raystack.frontier.v1beta1.GetOrganizationInvitationRequest.
1435
1421
  * Use `create(GetOrganizationInvitationRequestSchema)` to create a new message.
1436
1422
  */
1437
1423
  export const GetOrganizationInvitationRequestSchema = /*@__PURE__*/
1438
- messageDesc(file_raystack_frontier_v1beta1_frontier, 196);
1424
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 194);
1439
1425
 
1440
1426
  /**
1441
1427
  * Describes the message raystack.frontier.v1beta1.GetOrganizationInvitationResponse.
1442
1428
  * Use `create(GetOrganizationInvitationResponseSchema)` to create a new message.
1443
1429
  */
1444
1430
  export const GetOrganizationInvitationResponseSchema = /*@__PURE__*/
1445
- messageDesc(file_raystack_frontier_v1beta1_frontier, 197);
1431
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 195);
1446
1432
 
1447
1433
  /**
1448
1434
  * Describes the message raystack.frontier.v1beta1.AcceptOrganizationInvitationRequest.
1449
1435
  * Use `create(AcceptOrganizationInvitationRequestSchema)` to create a new message.
1450
1436
  */
1451
1437
  export const AcceptOrganizationInvitationRequestSchema = /*@__PURE__*/
1452
- messageDesc(file_raystack_frontier_v1beta1_frontier, 198);
1438
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 196);
1453
1439
 
1454
1440
  /**
1455
1441
  * Describes the message raystack.frontier.v1beta1.AcceptOrganizationInvitationResponse.
1456
1442
  * Use `create(AcceptOrganizationInvitationResponseSchema)` to create a new message.
1457
1443
  */
1458
1444
  export const AcceptOrganizationInvitationResponseSchema = /*@__PURE__*/
1459
- messageDesc(file_raystack_frontier_v1beta1_frontier, 199);
1445
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 197);
1460
1446
 
1461
1447
  /**
1462
1448
  * Describes the message raystack.frontier.v1beta1.DeleteOrganizationInvitationRequest.
1463
1449
  * Use `create(DeleteOrganizationInvitationRequestSchema)` to create a new message.
1464
1450
  */
1465
1451
  export const DeleteOrganizationInvitationRequestSchema = /*@__PURE__*/
1466
- messageDesc(file_raystack_frontier_v1beta1_frontier, 200);
1452
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 198);
1467
1453
 
1468
1454
  /**
1469
1455
  * Describes the message raystack.frontier.v1beta1.ListOrganizationDomainsRequest.
1470
1456
  * Use `create(ListOrganizationDomainsRequestSchema)` to create a new message.
1471
1457
  */
1472
1458
  export const ListOrganizationDomainsRequestSchema = /*@__PURE__*/
1473
- messageDesc(file_raystack_frontier_v1beta1_frontier, 201);
1459
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 199);
1474
1460
 
1475
1461
  /**
1476
1462
  * Describes the message raystack.frontier.v1beta1.ListOrganizationDomainsResponse.
1477
1463
  * Use `create(ListOrganizationDomainsResponseSchema)` to create a new message.
1478
1464
  */
1479
1465
  export const ListOrganizationDomainsResponseSchema = /*@__PURE__*/
1480
- messageDesc(file_raystack_frontier_v1beta1_frontier, 202);
1466
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 200);
1481
1467
 
1482
1468
  /**
1483
1469
  * Describes the message raystack.frontier.v1beta1.ListOrganizationsByDomainRequest.
1484
1470
  * Use `create(ListOrganizationsByDomainRequestSchema)` to create a new message.
1485
1471
  */
1486
1472
  export const ListOrganizationsByDomainRequestSchema = /*@__PURE__*/
1487
- messageDesc(file_raystack_frontier_v1beta1_frontier, 203);
1473
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 201);
1488
1474
 
1489
1475
  /**
1490
1476
  * Describes the message raystack.frontier.v1beta1.ListOrganizationsByDomainResponse.
1491
1477
  * Use `create(ListOrganizationsByDomainResponseSchema)` to create a new message.
1492
1478
  */
1493
1479
  export const ListOrganizationsByDomainResponseSchema = /*@__PURE__*/
1494
- messageDesc(file_raystack_frontier_v1beta1_frontier, 204);
1480
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 202);
1495
1481
 
1496
1482
  /**
1497
1483
  * Describes the message raystack.frontier.v1beta1.JoinOrganizationRequest.
1498
1484
  * Use `create(JoinOrganizationRequestSchema)` to create a new message.
1499
1485
  */
1500
1486
  export const JoinOrganizationRequestSchema = /*@__PURE__*/
1501
- messageDesc(file_raystack_frontier_v1beta1_frontier, 205);
1487
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 203);
1502
1488
 
1503
1489
  /**
1504
1490
  * Describes the message raystack.frontier.v1beta1.JoinOrganizationResponse.
1505
1491
  * Use `create(JoinOrganizationResponseSchema)` to create a new message.
1506
1492
  */
1507
1493
  export const JoinOrganizationResponseSchema = /*@__PURE__*/
1508
- messageDesc(file_raystack_frontier_v1beta1_frontier, 206);
1494
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 204);
1509
1495
 
1510
1496
  /**
1511
1497
  * Describes the message raystack.frontier.v1beta1.GetOrganizationDomainRequest.
1512
1498
  * Use `create(GetOrganizationDomainRequestSchema)` to create a new message.
1513
1499
  */
1514
1500
  export const GetOrganizationDomainRequestSchema = /*@__PURE__*/
1515
- messageDesc(file_raystack_frontier_v1beta1_frontier, 207);
1501
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 205);
1516
1502
 
1517
1503
  /**
1518
1504
  * Describes the message raystack.frontier.v1beta1.GetOrganizationDomainResponse.
1519
1505
  * Use `create(GetOrganizationDomainResponseSchema)` to create a new message.
1520
1506
  */
1521
1507
  export const GetOrganizationDomainResponseSchema = /*@__PURE__*/
1522
- messageDesc(file_raystack_frontier_v1beta1_frontier, 208);
1508
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 206);
1523
1509
 
1524
1510
  /**
1525
1511
  * Describes the message raystack.frontier.v1beta1.CreateOrganizationDomainRequest.
1526
1512
  * Use `create(CreateOrganizationDomainRequestSchema)` to create a new message.
1527
1513
  */
1528
1514
  export const CreateOrganizationDomainRequestSchema = /*@__PURE__*/
1529
- messageDesc(file_raystack_frontier_v1beta1_frontier, 209);
1515
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 207);
1530
1516
 
1531
1517
  /**
1532
1518
  * Describes the message raystack.frontier.v1beta1.CreateOrganizationDomainResponse.
1533
1519
  * Use `create(CreateOrganizationDomainResponseSchema)` to create a new message.
1534
1520
  */
1535
1521
  export const CreateOrganizationDomainResponseSchema = /*@__PURE__*/
1536
- messageDesc(file_raystack_frontier_v1beta1_frontier, 210);
1522
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 208);
1537
1523
 
1538
1524
  /**
1539
1525
  * Describes the message raystack.frontier.v1beta1.DeleteOrganizationDomainRequest.
1540
1526
  * Use `create(DeleteOrganizationDomainRequestSchema)` to create a new message.
1541
1527
  */
1542
1528
  export const DeleteOrganizationDomainRequestSchema = /*@__PURE__*/
1543
- messageDesc(file_raystack_frontier_v1beta1_frontier, 211);
1529
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 209);
1544
1530
 
1545
1531
  /**
1546
1532
  * Describes the message raystack.frontier.v1beta1.DeleteOrganizationDomainResponse.
1547
1533
  * Use `create(DeleteOrganizationDomainResponseSchema)` to create a new message.
1548
1534
  */
1549
1535
  export const DeleteOrganizationDomainResponseSchema = /*@__PURE__*/
1550
- messageDesc(file_raystack_frontier_v1beta1_frontier, 212);
1536
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 210);
1551
1537
 
1552
1538
  /**
1553
1539
  * Describes the message raystack.frontier.v1beta1.VerifyOrganizationDomainRequest.
1554
1540
  * Use `create(VerifyOrganizationDomainRequestSchema)` to create a new message.
1555
1541
  */
1556
1542
  export const VerifyOrganizationDomainRequestSchema = /*@__PURE__*/
1557
- messageDesc(file_raystack_frontier_v1beta1_frontier, 213);
1543
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 211);
1558
1544
 
1559
1545
  /**
1560
1546
  * Describes the message raystack.frontier.v1beta1.VerifyOrganizationDomainResponse.
1561
1547
  * Use `create(VerifyOrganizationDomainResponseSchema)` to create a new message.
1562
1548
  */
1563
1549
  export const VerifyOrganizationDomainResponseSchema = /*@__PURE__*/
1564
- messageDesc(file_raystack_frontier_v1beta1_frontier, 214);
1550
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 212);
1565
1551
 
1566
1552
  /**
1567
1553
  * Describes the message raystack.frontier.v1beta1.DeleteOrganizationInvitationResponse.
1568
1554
  * Use `create(DeleteOrganizationInvitationResponseSchema)` to create a new message.
1569
1555
  */
1570
1556
  export const DeleteOrganizationInvitationResponseSchema = /*@__PURE__*/
1571
- messageDesc(file_raystack_frontier_v1beta1_frontier, 215);
1557
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 213);
1572
1558
 
1573
1559
  /**
1574
1560
  * Describes the message raystack.frontier.v1beta1.EnableOrganizationRequest.
1575
1561
  * Use `create(EnableOrganizationRequestSchema)` to create a new message.
1576
1562
  */
1577
1563
  export const EnableOrganizationRequestSchema = /*@__PURE__*/
1578
- messageDesc(file_raystack_frontier_v1beta1_frontier, 216);
1564
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 214);
1579
1565
 
1580
1566
  /**
1581
1567
  * Describes the message raystack.frontier.v1beta1.EnableOrganizationResponse.
1582
1568
  * Use `create(EnableOrganizationResponseSchema)` to create a new message.
1583
1569
  */
1584
1570
  export const EnableOrganizationResponseSchema = /*@__PURE__*/
1585
- messageDesc(file_raystack_frontier_v1beta1_frontier, 217);
1571
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 215);
1586
1572
 
1587
1573
  /**
1588
1574
  * Describes the message raystack.frontier.v1beta1.DisableOrganizationRequest.
1589
1575
  * Use `create(DisableOrganizationRequestSchema)` to create a new message.
1590
1576
  */
1591
1577
  export const DisableOrganizationRequestSchema = /*@__PURE__*/
1592
- messageDesc(file_raystack_frontier_v1beta1_frontier, 218);
1578
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 216);
1593
1579
 
1594
1580
  /**
1595
1581
  * Describes the message raystack.frontier.v1beta1.DisableOrganizationResponse.
1596
1582
  * Use `create(DisableOrganizationResponseSchema)` to create a new message.
1597
1583
  */
1598
1584
  export const DisableOrganizationResponseSchema = /*@__PURE__*/
1599
- messageDesc(file_raystack_frontier_v1beta1_frontier, 219);
1585
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 217);
1600
1586
 
1601
1587
  /**
1602
1588
  * Describes the message raystack.frontier.v1beta1.DeleteOrganizationRequest.
1603
1589
  * Use `create(DeleteOrganizationRequestSchema)` to create a new message.
1604
1590
  */
1605
1591
  export const DeleteOrganizationRequestSchema = /*@__PURE__*/
1606
- messageDesc(file_raystack_frontier_v1beta1_frontier, 220);
1592
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 218);
1607
1593
 
1608
1594
  /**
1609
1595
  * Describes the message raystack.frontier.v1beta1.DeleteOrganizationResponse.
1610
1596
  * Use `create(DeleteOrganizationResponseSchema)` to create a new message.
1611
1597
  */
1612
1598
  export const DeleteOrganizationResponseSchema = /*@__PURE__*/
1613
- messageDesc(file_raystack_frontier_v1beta1_frontier, 221);
1599
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 219);
1614
1600
 
1615
1601
  /**
1616
1602
  * Describes the message raystack.frontier.v1beta1.GetOrganizationKycRequest.
1617
1603
  * Use `create(GetOrganizationKycRequestSchema)` to create a new message.
1618
1604
  */
1619
1605
  export const GetOrganizationKycRequestSchema = /*@__PURE__*/
1620
- messageDesc(file_raystack_frontier_v1beta1_frontier, 222);
1606
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 220);
1621
1607
 
1622
1608
  /**
1623
1609
  * Describes the message raystack.frontier.v1beta1.GetOrganizationKycResponse.
1624
1610
  * Use `create(GetOrganizationKycResponseSchema)` to create a new message.
1625
1611
  */
1626
1612
  export const GetOrganizationKycResponseSchema = /*@__PURE__*/
1627
- messageDesc(file_raystack_frontier_v1beta1_frontier, 223);
1613
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 221);
1628
1614
 
1629
1615
  /**
1630
1616
  * Describes the message raystack.frontier.v1beta1.ProjectRequestBody.
1631
1617
  * Use `create(ProjectRequestBodySchema)` to create a new message.
1632
1618
  */
1633
1619
  export const ProjectRequestBodySchema = /*@__PURE__*/
1634
- messageDesc(file_raystack_frontier_v1beta1_frontier, 224);
1620
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 222);
1635
1621
 
1636
1622
  /**
1637
1623
  * Describes the message raystack.frontier.v1beta1.CreateProjectRequest.
1638
1624
  * Use `create(CreateProjectRequestSchema)` to create a new message.
1639
1625
  */
1640
1626
  export const CreateProjectRequestSchema = /*@__PURE__*/
1641
- messageDesc(file_raystack_frontier_v1beta1_frontier, 225);
1627
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 223);
1642
1628
 
1643
1629
  /**
1644
1630
  * Describes the message raystack.frontier.v1beta1.CreateProjectResponse.
1645
1631
  * Use `create(CreateProjectResponseSchema)` to create a new message.
1646
1632
  */
1647
1633
  export const CreateProjectResponseSchema = /*@__PURE__*/
1648
- messageDesc(file_raystack_frontier_v1beta1_frontier, 226);
1634
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 224);
1649
1635
 
1650
1636
  /**
1651
1637
  * Describes the message raystack.frontier.v1beta1.ListOrganizationProjectsRequest.
1652
1638
  * Use `create(ListOrganizationProjectsRequestSchema)` to create a new message.
1653
1639
  */
1654
1640
  export const ListOrganizationProjectsRequestSchema = /*@__PURE__*/
1655
- messageDesc(file_raystack_frontier_v1beta1_frontier, 227);
1641
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 225);
1656
1642
 
1657
1643
  /**
1658
1644
  * Describes the message raystack.frontier.v1beta1.ListOrganizationProjectsResponse.
1659
1645
  * Use `create(ListOrganizationProjectsResponseSchema)` to create a new message.
1660
1646
  */
1661
1647
  export const ListOrganizationProjectsResponseSchema = /*@__PURE__*/
1662
- messageDesc(file_raystack_frontier_v1beta1_frontier, 228);
1648
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 226);
1663
1649
 
1664
1650
  /**
1665
1651
  * Describes the message raystack.frontier.v1beta1.GetProjectRequest.
1666
1652
  * Use `create(GetProjectRequestSchema)` to create a new message.
1667
1653
  */
1668
1654
  export const GetProjectRequestSchema = /*@__PURE__*/
1669
- messageDesc(file_raystack_frontier_v1beta1_frontier, 229);
1655
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 227);
1670
1656
 
1671
1657
  /**
1672
1658
  * Describes the message raystack.frontier.v1beta1.GetProjectResponse.
1673
1659
  * Use `create(GetProjectResponseSchema)` to create a new message.
1674
1660
  */
1675
1661
  export const GetProjectResponseSchema = /*@__PURE__*/
1676
- messageDesc(file_raystack_frontier_v1beta1_frontier, 230);
1662
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 228);
1677
1663
 
1678
1664
  /**
1679
1665
  * Describes the message raystack.frontier.v1beta1.UpdateProjectRequest.
1680
1666
  * Use `create(UpdateProjectRequestSchema)` to create a new message.
1681
1667
  */
1682
1668
  export const UpdateProjectRequestSchema = /*@__PURE__*/
1683
- messageDesc(file_raystack_frontier_v1beta1_frontier, 231);
1669
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 229);
1684
1670
 
1685
1671
  /**
1686
1672
  * Describes the message raystack.frontier.v1beta1.UpdateProjectResponse.
1687
1673
  * Use `create(UpdateProjectResponseSchema)` to create a new message.
1688
1674
  */
1689
1675
  export const UpdateProjectResponseSchema = /*@__PURE__*/
1690
- messageDesc(file_raystack_frontier_v1beta1_frontier, 232);
1676
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 230);
1691
1677
 
1692
1678
  /**
1693
1679
  * Describes the message raystack.frontier.v1beta1.ListProjectAdminsRequest.
1694
1680
  * Use `create(ListProjectAdminsRequestSchema)` to create a new message.
1695
1681
  */
1696
1682
  export const ListProjectAdminsRequestSchema = /*@__PURE__*/
1697
- messageDesc(file_raystack_frontier_v1beta1_frontier, 233);
1683
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 231);
1698
1684
 
1699
1685
  /**
1700
1686
  * Describes the message raystack.frontier.v1beta1.ListProjectAdminsResponse.
1701
1687
  * Use `create(ListProjectAdminsResponseSchema)` to create a new message.
1702
1688
  */
1703
1689
  export const ListProjectAdminsResponseSchema = /*@__PURE__*/
1704
- messageDesc(file_raystack_frontier_v1beta1_frontier, 234);
1690
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 232);
1705
1691
 
1706
1692
  /**
1707
1693
  * Describes the message raystack.frontier.v1beta1.ListProjectUsersRequest.
1708
1694
  * Use `create(ListProjectUsersRequestSchema)` to create a new message.
1709
1695
  */
1710
1696
  export const ListProjectUsersRequestSchema = /*@__PURE__*/
1711
- messageDesc(file_raystack_frontier_v1beta1_frontier, 235);
1697
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 233);
1712
1698
 
1713
1699
  /**
1714
1700
  * Describes the message raystack.frontier.v1beta1.ListProjectUsersResponse.
1715
1701
  * Use `create(ListProjectUsersResponseSchema)` to create a new message.
1716
1702
  */
1717
1703
  export const ListProjectUsersResponseSchema = /*@__PURE__*/
1718
- messageDesc(file_raystack_frontier_v1beta1_frontier, 236);
1704
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 234);
1719
1705
 
1720
1706
  /**
1721
1707
  * Describes the message raystack.frontier.v1beta1.ListProjectUsersResponse.RolePair.
1722
1708
  * Use `create(ListProjectUsersResponse_RolePairSchema)` to create a new message.
1723
1709
  */
1724
1710
  export const ListProjectUsersResponse_RolePairSchema = /*@__PURE__*/
1725
- messageDesc(file_raystack_frontier_v1beta1_frontier, 236, 0);
1711
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 234, 0);
1726
1712
 
1727
1713
  /**
1728
1714
  * Describes the message raystack.frontier.v1beta1.ListProjectServiceUsersRequest.
1729
1715
  * Use `create(ListProjectServiceUsersRequestSchema)` to create a new message.
1730
1716
  */
1731
1717
  export const ListProjectServiceUsersRequestSchema = /*@__PURE__*/
1732
- messageDesc(file_raystack_frontier_v1beta1_frontier, 237);
1718
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 235);
1733
1719
 
1734
1720
  /**
1735
1721
  * Describes the message raystack.frontier.v1beta1.ListProjectServiceUsersResponse.
1736
1722
  * Use `create(ListProjectServiceUsersResponseSchema)` to create a new message.
1737
1723
  */
1738
1724
  export const ListProjectServiceUsersResponseSchema = /*@__PURE__*/
1739
- messageDesc(file_raystack_frontier_v1beta1_frontier, 238);
1725
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 236);
1740
1726
 
1741
1727
  /**
1742
1728
  * Describes the message raystack.frontier.v1beta1.ListProjectServiceUsersResponse.RolePair.
1743
1729
  * Use `create(ListProjectServiceUsersResponse_RolePairSchema)` to create a new message.
1744
1730
  */
1745
1731
  export const ListProjectServiceUsersResponse_RolePairSchema = /*@__PURE__*/
1746
- messageDesc(file_raystack_frontier_v1beta1_frontier, 238, 0);
1732
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 236, 0);
1747
1733
 
1748
1734
  /**
1749
1735
  * Describes the message raystack.frontier.v1beta1.ListProjectGroupsRequest.
1750
1736
  * Use `create(ListProjectGroupsRequestSchema)` to create a new message.
1751
1737
  */
1752
1738
  export const ListProjectGroupsRequestSchema = /*@__PURE__*/
1753
- messageDesc(file_raystack_frontier_v1beta1_frontier, 239);
1739
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 237);
1754
1740
 
1755
1741
  /**
1756
1742
  * Describes the message raystack.frontier.v1beta1.ListProjectGroupsResponse.
1757
1743
  * Use `create(ListProjectGroupsResponseSchema)` to create a new message.
1758
1744
  */
1759
1745
  export const ListProjectGroupsResponseSchema = /*@__PURE__*/
1760
- messageDesc(file_raystack_frontier_v1beta1_frontier, 240);
1746
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 238);
1761
1747
 
1762
1748
  /**
1763
1749
  * Describes the message raystack.frontier.v1beta1.ListProjectGroupsResponse.RolePair.
1764
1750
  * Use `create(ListProjectGroupsResponse_RolePairSchema)` to create a new message.
1765
1751
  */
1766
1752
  export const ListProjectGroupsResponse_RolePairSchema = /*@__PURE__*/
1767
- messageDesc(file_raystack_frontier_v1beta1_frontier, 240, 0);
1753
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 238, 0);
1768
1754
 
1769
1755
  /**
1770
1756
  * Describes the message raystack.frontier.v1beta1.EnableProjectRequest.
1771
1757
  * Use `create(EnableProjectRequestSchema)` to create a new message.
1772
1758
  */
1773
1759
  export const EnableProjectRequestSchema = /*@__PURE__*/
1774
- messageDesc(file_raystack_frontier_v1beta1_frontier, 241);
1760
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 239);
1775
1761
 
1776
1762
  /**
1777
1763
  * Describes the message raystack.frontier.v1beta1.EnableProjectResponse.
1778
1764
  * Use `create(EnableProjectResponseSchema)` to create a new message.
1779
1765
  */
1780
1766
  export const EnableProjectResponseSchema = /*@__PURE__*/
1781
- messageDesc(file_raystack_frontier_v1beta1_frontier, 242);
1767
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 240);
1782
1768
 
1783
1769
  /**
1784
1770
  * Describes the message raystack.frontier.v1beta1.DisableProjectRequest.
1785
1771
  * Use `create(DisableProjectRequestSchema)` to create a new message.
1786
1772
  */
1787
1773
  export const DisableProjectRequestSchema = /*@__PURE__*/
1788
- messageDesc(file_raystack_frontier_v1beta1_frontier, 243);
1774
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 241);
1789
1775
 
1790
1776
  /**
1791
1777
  * Describes the message raystack.frontier.v1beta1.DisableProjectResponse.
1792
1778
  * Use `create(DisableProjectResponseSchema)` to create a new message.
1793
1779
  */
1794
1780
  export const DisableProjectResponseSchema = /*@__PURE__*/
1795
- messageDesc(file_raystack_frontier_v1beta1_frontier, 244);
1781
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 242);
1796
1782
 
1797
1783
  /**
1798
1784
  * Describes the message raystack.frontier.v1beta1.DeleteProjectRequest.
1799
1785
  * Use `create(DeleteProjectRequestSchema)` to create a new message.
1800
1786
  */
1801
1787
  export const DeleteProjectRequestSchema = /*@__PURE__*/
1802
- messageDesc(file_raystack_frontier_v1beta1_frontier, 245);
1788
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 243);
1803
1789
 
1804
1790
  /**
1805
1791
  * Describes the message raystack.frontier.v1beta1.DeleteProjectResponse.
1806
1792
  * Use `create(DeleteProjectResponseSchema)` to create a new message.
1807
1793
  */
1808
1794
  export const DeleteProjectResponseSchema = /*@__PURE__*/
1809
- messageDesc(file_raystack_frontier_v1beta1_frontier, 246);
1795
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 244);
1810
1796
 
1811
1797
  /**
1812
1798
  * Describes the message raystack.frontier.v1beta1.PolicyRequestBody.
1813
1799
  * Use `create(PolicyRequestBodySchema)` to create a new message.
1814
1800
  */
1815
1801
  export const PolicyRequestBodySchema = /*@__PURE__*/
1816
- messageDesc(file_raystack_frontier_v1beta1_frontier, 247);
1802
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 245);
1817
1803
 
1818
1804
  /**
1819
1805
  * Describes the message raystack.frontier.v1beta1.CreatePolicyForProjectBody.
1820
1806
  * Use `create(CreatePolicyForProjectBodySchema)` to create a new message.
1821
1807
  */
1822
1808
  export const CreatePolicyForProjectBodySchema = /*@__PURE__*/
1823
- messageDesc(file_raystack_frontier_v1beta1_frontier, 248);
1809
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 246);
1824
1810
 
1825
1811
  /**
1826
1812
  * Describes the message raystack.frontier.v1beta1.GetPermissionRequest.
1827
1813
  * Use `create(GetPermissionRequestSchema)` to create a new message.
1828
1814
  */
1829
1815
  export const GetPermissionRequestSchema = /*@__PURE__*/
1830
- messageDesc(file_raystack_frontier_v1beta1_frontier, 249);
1816
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 247);
1831
1817
 
1832
1818
  /**
1833
1819
  * Describes the message raystack.frontier.v1beta1.GetPermissionResponse.
1834
1820
  * Use `create(GetPermissionResponseSchema)` to create a new message.
1835
1821
  */
1836
1822
  export const GetPermissionResponseSchema = /*@__PURE__*/
1837
- messageDesc(file_raystack_frontier_v1beta1_frontier, 250);
1823
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 248);
1838
1824
 
1839
1825
  /**
1840
1826
  * Describes the message raystack.frontier.v1beta1.ListPermissionsRequest.
1841
1827
  * Use `create(ListPermissionsRequestSchema)` to create a new message.
1842
1828
  */
1843
1829
  export const ListPermissionsRequestSchema = /*@__PURE__*/
1844
- messageDesc(file_raystack_frontier_v1beta1_frontier, 251);
1830
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 249);
1845
1831
 
1846
1832
  /**
1847
1833
  * Describes the message raystack.frontier.v1beta1.ListPermissionsResponse.
1848
1834
  * Use `create(ListPermissionsResponseSchema)` to create a new message.
1849
1835
  */
1850
1836
  export const ListPermissionsResponseSchema = /*@__PURE__*/
1851
- messageDesc(file_raystack_frontier_v1beta1_frontier, 252);
1837
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 250);
1852
1838
 
1853
1839
  /**
1854
1840
  * Describes the message raystack.frontier.v1beta1.ListNamespacesRequest.
1855
1841
  * Use `create(ListNamespacesRequestSchema)` to create a new message.
1856
1842
  */
1857
1843
  export const ListNamespacesRequestSchema = /*@__PURE__*/
1858
- messageDesc(file_raystack_frontier_v1beta1_frontier, 253);
1844
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 251);
1859
1845
 
1860
1846
  /**
1861
1847
  * Describes the message raystack.frontier.v1beta1.ListNamespacesResponse.
1862
1848
  * Use `create(ListNamespacesResponseSchema)` to create a new message.
1863
1849
  */
1864
1850
  export const ListNamespacesResponseSchema = /*@__PURE__*/
1865
- messageDesc(file_raystack_frontier_v1beta1_frontier, 254);
1851
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 252);
1866
1852
 
1867
1853
  /**
1868
1854
  * Describes the message raystack.frontier.v1beta1.GetNamespaceRequest.
1869
1855
  * Use `create(GetNamespaceRequestSchema)` to create a new message.
1870
1856
  */
1871
1857
  export const GetNamespaceRequestSchema = /*@__PURE__*/
1872
- messageDesc(file_raystack_frontier_v1beta1_frontier, 255);
1858
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 253);
1873
1859
 
1874
1860
  /**
1875
1861
  * Describes the message raystack.frontier.v1beta1.GetNamespaceResponse.
1876
1862
  * Use `create(GetNamespaceResponseSchema)` to create a new message.
1877
1863
  */
1878
1864
  export const GetNamespaceResponseSchema = /*@__PURE__*/
1879
- messageDesc(file_raystack_frontier_v1beta1_frontier, 256);
1865
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 254);
1880
1866
 
1881
1867
  /**
1882
1868
  * Describes the message raystack.frontier.v1beta1.CreatePolicyRequest.
1883
1869
  * Use `create(CreatePolicyRequestSchema)` to create a new message.
1884
1870
  */
1885
1871
  export const CreatePolicyRequestSchema = /*@__PURE__*/
1886
- messageDesc(file_raystack_frontier_v1beta1_frontier, 257);
1872
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 255);
1887
1873
 
1888
1874
  /**
1889
1875
  * Describes the message raystack.frontier.v1beta1.CreatePolicyResponse.
1890
1876
  * Use `create(CreatePolicyResponseSchema)` to create a new message.
1891
1877
  */
1892
1878
  export const CreatePolicyResponseSchema = /*@__PURE__*/
1893
- messageDesc(file_raystack_frontier_v1beta1_frontier, 258);
1879
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 256);
1894
1880
 
1895
1881
  /**
1896
1882
  * Describes the message raystack.frontier.v1beta1.GetPolicyRequest.
1897
1883
  * Use `create(GetPolicyRequestSchema)` to create a new message.
1898
1884
  */
1899
1885
  export const GetPolicyRequestSchema = /*@__PURE__*/
1900
- messageDesc(file_raystack_frontier_v1beta1_frontier, 259);
1886
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 257);
1901
1887
 
1902
1888
  /**
1903
1889
  * Describes the message raystack.frontier.v1beta1.GetPolicyResponse.
1904
1890
  * Use `create(GetPolicyResponseSchema)` to create a new message.
1905
1891
  */
1906
1892
  export const GetPolicyResponseSchema = /*@__PURE__*/
1907
- messageDesc(file_raystack_frontier_v1beta1_frontier, 260);
1893
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 258);
1908
1894
 
1909
1895
  /**
1910
1896
  * Describes the message raystack.frontier.v1beta1.ListPoliciesRequest.
1911
1897
  * Use `create(ListPoliciesRequestSchema)` to create a new message.
1912
1898
  */
1913
1899
  export const ListPoliciesRequestSchema = /*@__PURE__*/
1914
- messageDesc(file_raystack_frontier_v1beta1_frontier, 261);
1900
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 259);
1915
1901
 
1916
1902
  /**
1917
1903
  * Describes the message raystack.frontier.v1beta1.ListPoliciesResponse.
1918
1904
  * Use `create(ListPoliciesResponseSchema)` to create a new message.
1919
1905
  */
1920
1906
  export const ListPoliciesResponseSchema = /*@__PURE__*/
1921
- messageDesc(file_raystack_frontier_v1beta1_frontier, 262);
1907
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 260);
1922
1908
 
1923
1909
  /**
1924
1910
  * Describes the message raystack.frontier.v1beta1.UpdatePolicyRequest.
1925
1911
  * Use `create(UpdatePolicyRequestSchema)` to create a new message.
1926
1912
  */
1927
1913
  export const UpdatePolicyRequestSchema = /*@__PURE__*/
1928
- messageDesc(file_raystack_frontier_v1beta1_frontier, 263);
1914
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 261);
1929
1915
 
1930
1916
  /**
1931
1917
  * Describes the message raystack.frontier.v1beta1.UpdatePolicyResponse.
1932
1918
  * Use `create(UpdatePolicyResponseSchema)` to create a new message.
1933
1919
  */
1934
1920
  export const UpdatePolicyResponseSchema = /*@__PURE__*/
1935
- messageDesc(file_raystack_frontier_v1beta1_frontier, 264);
1921
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 262);
1936
1922
 
1937
1923
  /**
1938
1924
  * Describes the message raystack.frontier.v1beta1.DeletePolicyRequest.
1939
1925
  * Use `create(DeletePolicyRequestSchema)` to create a new message.
1940
1926
  */
1941
1927
  export const DeletePolicyRequestSchema = /*@__PURE__*/
1942
- messageDesc(file_raystack_frontier_v1beta1_frontier, 265);
1928
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 263);
1943
1929
 
1944
1930
  /**
1945
1931
  * Describes the message raystack.frontier.v1beta1.DeletePolicyResponse.
1946
1932
  * Use `create(DeletePolicyResponseSchema)` to create a new message.
1947
1933
  */
1948
1934
  export const DeletePolicyResponseSchema = /*@__PURE__*/
1949
- messageDesc(file_raystack_frontier_v1beta1_frontier, 266);
1935
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 264);
1950
1936
 
1951
1937
  /**
1952
1938
  * Describes the message raystack.frontier.v1beta1.CreatePolicyForProjectRequest.
1953
1939
  * Use `create(CreatePolicyForProjectRequestSchema)` to create a new message.
1954
1940
  */
1955
1941
  export const CreatePolicyForProjectRequestSchema = /*@__PURE__*/
1956
- messageDesc(file_raystack_frontier_v1beta1_frontier, 267);
1942
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 265);
1957
1943
 
1958
1944
  /**
1959
1945
  * Describes the message raystack.frontier.v1beta1.CreatePolicyForProjectResponse.
1960
1946
  * Use `create(CreatePolicyForProjectResponseSchema)` to create a new message.
1961
1947
  */
1962
1948
  export const CreatePolicyForProjectResponseSchema = /*@__PURE__*/
1963
- messageDesc(file_raystack_frontier_v1beta1_frontier, 268);
1949
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 266);
1964
1950
 
1965
1951
  /**
1966
1952
  * Describes the message raystack.frontier.v1beta1.RelationRequestBody.
1967
1953
  * Use `create(RelationRequestBodySchema)` to create a new message.
1968
1954
  */
1969
1955
  export const RelationRequestBodySchema = /*@__PURE__*/
1970
- messageDesc(file_raystack_frontier_v1beta1_frontier, 269);
1956
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 267);
1971
1957
 
1972
1958
  /**
1973
1959
  * Describes the message raystack.frontier.v1beta1.CreateRelationRequest.
1974
1960
  * Use `create(CreateRelationRequestSchema)` to create a new message.
1975
1961
  */
1976
1962
  export const CreateRelationRequestSchema = /*@__PURE__*/
1977
- messageDesc(file_raystack_frontier_v1beta1_frontier, 270);
1963
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 268);
1978
1964
 
1979
1965
  /**
1980
1966
  * Describes the message raystack.frontier.v1beta1.CreateRelationResponse.
1981
1967
  * Use `create(CreateRelationResponseSchema)` to create a new message.
1982
1968
  */
1983
1969
  export const CreateRelationResponseSchema = /*@__PURE__*/
1984
- messageDesc(file_raystack_frontier_v1beta1_frontier, 271);
1970
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 269);
1985
1971
 
1986
1972
  /**
1987
1973
  * Describes the message raystack.frontier.v1beta1.GetRelationRequest.
1988
1974
  * Use `create(GetRelationRequestSchema)` to create a new message.
1989
1975
  */
1990
1976
  export const GetRelationRequestSchema = /*@__PURE__*/
1991
- messageDesc(file_raystack_frontier_v1beta1_frontier, 272);
1977
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 270);
1992
1978
 
1993
1979
  /**
1994
1980
  * Describes the message raystack.frontier.v1beta1.GetRelationResponse.
1995
1981
  * Use `create(GetRelationResponseSchema)` to create a new message.
1996
1982
  */
1997
1983
  export const GetRelationResponseSchema = /*@__PURE__*/
1998
- messageDesc(file_raystack_frontier_v1beta1_frontier, 273);
1984
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 271);
1999
1985
 
2000
1986
  /**
2001
1987
  * Describes the message raystack.frontier.v1beta1.UpdateRelationRequest.
2002
1988
  * Use `create(UpdateRelationRequestSchema)` to create a new message.
2003
1989
  */
2004
1990
  export const UpdateRelationRequestSchema = /*@__PURE__*/
2005
- messageDesc(file_raystack_frontier_v1beta1_frontier, 274);
1991
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 272);
2006
1992
 
2007
1993
  /**
2008
1994
  * Describes the message raystack.frontier.v1beta1.UpdateRelationResponse.
2009
1995
  * Use `create(UpdateRelationResponseSchema)` to create a new message.
2010
1996
  */
2011
1997
  export const UpdateRelationResponseSchema = /*@__PURE__*/
2012
- messageDesc(file_raystack_frontier_v1beta1_frontier, 275);
1998
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 273);
2013
1999
 
2014
2000
  /**
2015
2001
  * Describes the message raystack.frontier.v1beta1.GroupRequestBody.
2016
2002
  * Use `create(GroupRequestBodySchema)` to create a new message.
2017
2003
  */
2018
2004
  export const GroupRequestBodySchema = /*@__PURE__*/
2019
- messageDesc(file_raystack_frontier_v1beta1_frontier, 276);
2005
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 274);
2020
2006
 
2021
2007
  /**
2022
2008
  * Describes the message raystack.frontier.v1beta1.CreateGroupRequest.
2023
2009
  * Use `create(CreateGroupRequestSchema)` to create a new message.
2024
2010
  */
2025
2011
  export const CreateGroupRequestSchema = /*@__PURE__*/
2026
- messageDesc(file_raystack_frontier_v1beta1_frontier, 277);
2012
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 275);
2027
2013
 
2028
2014
  /**
2029
2015
  * Describes the message raystack.frontier.v1beta1.GetGroupRequest.
2030
2016
  * Use `create(GetGroupRequestSchema)` to create a new message.
2031
2017
  */
2032
2018
  export const GetGroupRequestSchema = /*@__PURE__*/
2033
- messageDesc(file_raystack_frontier_v1beta1_frontier, 278);
2019
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 276);
2034
2020
 
2035
2021
  /**
2036
2022
  * Describes the message raystack.frontier.v1beta1.CreateGroupResponse.
2037
2023
  * Use `create(CreateGroupResponseSchema)` to create a new message.
2038
2024
  */
2039
2025
  export const CreateGroupResponseSchema = /*@__PURE__*/
2040
- messageDesc(file_raystack_frontier_v1beta1_frontier, 279);
2026
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 277);
2041
2027
 
2042
2028
  /**
2043
2029
  * Describes the message raystack.frontier.v1beta1.GetGroupResponse.
2044
2030
  * Use `create(GetGroupResponseSchema)` to create a new message.
2045
2031
  */
2046
2032
  export const GetGroupResponseSchema = /*@__PURE__*/
2047
- messageDesc(file_raystack_frontier_v1beta1_frontier, 280);
2033
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 278);
2048
2034
 
2049
2035
  /**
2050
2036
  * Describes the message raystack.frontier.v1beta1.UpdateGroupResponse.
2051
2037
  * Use `create(UpdateGroupResponseSchema)` to create a new message.
2052
2038
  */
2053
2039
  export const UpdateGroupResponseSchema = /*@__PURE__*/
2054
- messageDesc(file_raystack_frontier_v1beta1_frontier, 281);
2040
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 279);
2055
2041
 
2056
2042
  /**
2057
2043
  * Describes the message raystack.frontier.v1beta1.UpdateGroupRequest.
2058
2044
  * Use `create(UpdateGroupRequestSchema)` to create a new message.
2059
2045
  */
2060
2046
  export const UpdateGroupRequestSchema = /*@__PURE__*/
2061
- messageDesc(file_raystack_frontier_v1beta1_frontier, 282);
2047
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 280);
2062
2048
 
2063
2049
  /**
2064
2050
  * Describes the message raystack.frontier.v1beta1.ListGroupUsersRequest.
2065
2051
  * Use `create(ListGroupUsersRequestSchema)` to create a new message.
2066
2052
  */
2067
2053
  export const ListGroupUsersRequestSchema = /*@__PURE__*/
2068
- messageDesc(file_raystack_frontier_v1beta1_frontier, 283);
2054
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 281);
2069
2055
 
2070
2056
  /**
2071
2057
  * Describes the message raystack.frontier.v1beta1.ListGroupUsersResponse.
2072
2058
  * Use `create(ListGroupUsersResponseSchema)` to create a new message.
2073
2059
  */
2074
2060
  export const ListGroupUsersResponseSchema = /*@__PURE__*/
2075
- messageDesc(file_raystack_frontier_v1beta1_frontier, 284);
2061
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 282);
2076
2062
 
2077
2063
  /**
2078
2064
  * Describes the message raystack.frontier.v1beta1.ListGroupUsersResponse.RolePair.
2079
2065
  * Use `create(ListGroupUsersResponse_RolePairSchema)` to create a new message.
2080
2066
  */
2081
2067
  export const ListGroupUsersResponse_RolePairSchema = /*@__PURE__*/
2082
- messageDesc(file_raystack_frontier_v1beta1_frontier, 284, 0);
2068
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 282, 0);
2083
2069
 
2084
2070
  /**
2085
2071
  * Describes the message raystack.frontier.v1beta1.EnableGroupRequest.
2086
2072
  * Use `create(EnableGroupRequestSchema)` to create a new message.
2087
2073
  */
2088
2074
  export const EnableGroupRequestSchema = /*@__PURE__*/
2089
- messageDesc(file_raystack_frontier_v1beta1_frontier, 285);
2075
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 283);
2090
2076
 
2091
2077
  /**
2092
2078
  * Describes the message raystack.frontier.v1beta1.EnableGroupResponse.
2093
2079
  * Use `create(EnableGroupResponseSchema)` to create a new message.
2094
2080
  */
2095
2081
  export const EnableGroupResponseSchema = /*@__PURE__*/
2096
- messageDesc(file_raystack_frontier_v1beta1_frontier, 286);
2082
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 284);
2097
2083
 
2098
2084
  /**
2099
2085
  * Describes the message raystack.frontier.v1beta1.DisableGroupRequest.
2100
2086
  * Use `create(DisableGroupRequestSchema)` to create a new message.
2101
2087
  */
2102
2088
  export const DisableGroupRequestSchema = /*@__PURE__*/
2103
- messageDesc(file_raystack_frontier_v1beta1_frontier, 287);
2089
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 285);
2104
2090
 
2105
2091
  /**
2106
2092
  * Describes the message raystack.frontier.v1beta1.DisableGroupResponse.
2107
2093
  * Use `create(DisableGroupResponseSchema)` to create a new message.
2108
2094
  */
2109
2095
  export const DisableGroupResponseSchema = /*@__PURE__*/
2110
- messageDesc(file_raystack_frontier_v1beta1_frontier, 288);
2096
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 286);
2111
2097
 
2112
2098
  /**
2113
2099
  * Describes the message raystack.frontier.v1beta1.DeleteGroupRequest.
2114
2100
  * Use `create(DeleteGroupRequestSchema)` to create a new message.
2115
2101
  */
2116
2102
  export const DeleteGroupRequestSchema = /*@__PURE__*/
2117
- messageDesc(file_raystack_frontier_v1beta1_frontier, 289);
2103
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 287);
2118
2104
 
2119
2105
  /**
2120
2106
  * Describes the message raystack.frontier.v1beta1.DeleteGroupResponse.
2121
2107
  * Use `create(DeleteGroupResponseSchema)` to create a new message.
2122
2108
  */
2123
2109
  export const DeleteGroupResponseSchema = /*@__PURE__*/
2124
- messageDesc(file_raystack_frontier_v1beta1_frontier, 290);
2110
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 288);
2125
2111
 
2126
2112
  /**
2127
2113
  * Describes the message raystack.frontier.v1beta1.AddGroupUsersRequest.
2128
2114
  * Use `create(AddGroupUsersRequestSchema)` to create a new message.
2129
2115
  */
2130
2116
  export const AddGroupUsersRequestSchema = /*@__PURE__*/
2131
- messageDesc(file_raystack_frontier_v1beta1_frontier, 291);
2117
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 289);
2132
2118
 
2133
2119
  /**
2134
2120
  * Describes the message raystack.frontier.v1beta1.AddGroupUsersResponse.
2135
2121
  * Use `create(AddGroupUsersResponseSchema)` to create a new message.
2136
2122
  */
2137
2123
  export const AddGroupUsersResponseSchema = /*@__PURE__*/
2138
- messageDesc(file_raystack_frontier_v1beta1_frontier, 292);
2124
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 290);
2139
2125
 
2140
2126
  /**
2141
2127
  * Describes the message raystack.frontier.v1beta1.RemoveGroupUserRequest.
2142
2128
  * Use `create(RemoveGroupUserRequestSchema)` to create a new message.
2143
2129
  */
2144
2130
  export const RemoveGroupUserRequestSchema = /*@__PURE__*/
2145
- messageDesc(file_raystack_frontier_v1beta1_frontier, 293);
2131
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 291);
2146
2132
 
2147
2133
  /**
2148
2134
  * Describes the message raystack.frontier.v1beta1.RemoveGroupUserResponse.
2149
2135
  * Use `create(RemoveGroupUserResponseSchema)` to create a new message.
2150
2136
  */
2151
2137
  export const RemoveGroupUserResponseSchema = /*@__PURE__*/
2152
- messageDesc(file_raystack_frontier_v1beta1_frontier, 294);
2138
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 292);
2153
2139
 
2154
2140
  /**
2155
2141
  * Describes the message raystack.frontier.v1beta1.DeleteRelationRequest.
2156
2142
  * Use `create(DeleteRelationRequestSchema)` to create a new message.
2157
2143
  */
2158
2144
  export const DeleteRelationRequestSchema = /*@__PURE__*/
2159
- messageDesc(file_raystack_frontier_v1beta1_frontier, 295);
2145
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 293);
2160
2146
 
2161
2147
  /**
2162
2148
  * Describes the message raystack.frontier.v1beta1.DeleteRelationResponse.
2163
2149
  * Use `create(DeleteRelationResponseSchema)` to create a new message.
2164
2150
  */
2165
2151
  export const DeleteRelationResponseSchema = /*@__PURE__*/
2166
- messageDesc(file_raystack_frontier_v1beta1_frontier, 296);
2152
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 294);
2167
2153
 
2168
2154
  /**
2169
2155
  * Describes the message raystack.frontier.v1beta1.ListProjectResourcesRequest.
2170
2156
  * Use `create(ListProjectResourcesRequestSchema)` to create a new message.
2171
2157
  */
2172
2158
  export const ListProjectResourcesRequestSchema = /*@__PURE__*/
2173
- messageDesc(file_raystack_frontier_v1beta1_frontier, 297);
2159
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 295);
2174
2160
 
2175
2161
  /**
2176
2162
  * Describes the message raystack.frontier.v1beta1.ListProjectResourcesResponse.
2177
2163
  * Use `create(ListProjectResourcesResponseSchema)` to create a new message.
2178
2164
  */
2179
2165
  export const ListProjectResourcesResponseSchema = /*@__PURE__*/
2180
- messageDesc(file_raystack_frontier_v1beta1_frontier, 298);
2166
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 296);
2181
2167
 
2182
2168
  /**
2183
2169
  * Describes the message raystack.frontier.v1beta1.ResourceRequestBody.
2184
2170
  * Use `create(ResourceRequestBodySchema)` to create a new message.
2185
2171
  */
2186
2172
  export const ResourceRequestBodySchema = /*@__PURE__*/
2187
- messageDesc(file_raystack_frontier_v1beta1_frontier, 299);
2173
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 297);
2188
2174
 
2189
2175
  /**
2190
2176
  * Describes the message raystack.frontier.v1beta1.CreateProjectResourceRequest.
2191
2177
  * Use `create(CreateProjectResourceRequestSchema)` to create a new message.
2192
2178
  */
2193
2179
  export const CreateProjectResourceRequestSchema = /*@__PURE__*/
2194
- messageDesc(file_raystack_frontier_v1beta1_frontier, 300);
2180
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 298);
2195
2181
 
2196
2182
  /**
2197
2183
  * Describes the message raystack.frontier.v1beta1.CreateProjectResourceResponse.
2198
2184
  * Use `create(CreateProjectResourceResponseSchema)` to create a new message.
2199
2185
  */
2200
2186
  export const CreateProjectResourceResponseSchema = /*@__PURE__*/
2201
- messageDesc(file_raystack_frontier_v1beta1_frontier, 301);
2187
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 299);
2202
2188
 
2203
2189
  /**
2204
2190
  * Describes the message raystack.frontier.v1beta1.GetProjectResourceRequest.
2205
2191
  * Use `create(GetProjectResourceRequestSchema)` to create a new message.
2206
2192
  */
2207
2193
  export const GetProjectResourceRequestSchema = /*@__PURE__*/
2208
- messageDesc(file_raystack_frontier_v1beta1_frontier, 302);
2194
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 300);
2209
2195
 
2210
2196
  /**
2211
2197
  * Describes the message raystack.frontier.v1beta1.GetProjectResourceResponse.
2212
2198
  * Use `create(GetProjectResourceResponseSchema)` to create a new message.
2213
2199
  */
2214
2200
  export const GetProjectResourceResponseSchema = /*@__PURE__*/
2215
- messageDesc(file_raystack_frontier_v1beta1_frontier, 303);
2201
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 301);
2216
2202
 
2217
2203
  /**
2218
2204
  * Describes the message raystack.frontier.v1beta1.UpdateProjectResourceRequest.
2219
2205
  * Use `create(UpdateProjectResourceRequestSchema)` to create a new message.
2220
2206
  */
2221
2207
  export const UpdateProjectResourceRequestSchema = /*@__PURE__*/
2222
- messageDesc(file_raystack_frontier_v1beta1_frontier, 304);
2208
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 302);
2223
2209
 
2224
2210
  /**
2225
2211
  * Describes the message raystack.frontier.v1beta1.UpdateProjectResourceResponse.
2226
2212
  * Use `create(UpdateProjectResourceResponseSchema)` to create a new message.
2227
2213
  */
2228
2214
  export const UpdateProjectResourceResponseSchema = /*@__PURE__*/
2229
- messageDesc(file_raystack_frontier_v1beta1_frontier, 305);
2215
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 303);
2230
2216
 
2231
2217
  /**
2232
2218
  * Describes the message raystack.frontier.v1beta1.DeleteProjectResourceRequest.
2233
2219
  * Use `create(DeleteProjectResourceRequestSchema)` to create a new message.
2234
2220
  */
2235
2221
  export const DeleteProjectResourceRequestSchema = /*@__PURE__*/
2236
- messageDesc(file_raystack_frontier_v1beta1_frontier, 306);
2222
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 304);
2237
2223
 
2238
2224
  /**
2239
2225
  * Describes the message raystack.frontier.v1beta1.DeleteProjectResourceResponse.
2240
2226
  * Use `create(DeleteProjectResourceResponseSchema)` to create a new message.
2241
2227
  */
2242
2228
  export const DeleteProjectResourceResponseSchema = /*@__PURE__*/
2243
- messageDesc(file_raystack_frontier_v1beta1_frontier, 307);
2229
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 305);
2244
2230
 
2245
2231
  /**
2246
2232
  * Describes the message raystack.frontier.v1beta1.CheckResourcePermissionRequest.
2247
2233
  * Use `create(CheckResourcePermissionRequestSchema)` to create a new message.
2248
2234
  */
2249
2235
  export const CheckResourcePermissionRequestSchema = /*@__PURE__*/
2250
- messageDesc(file_raystack_frontier_v1beta1_frontier, 308);
2236
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 306);
2251
2237
 
2252
2238
  /**
2253
2239
  * Describes the message raystack.frontier.v1beta1.CheckResourcePermissionResponse.
2254
2240
  * Use `create(CheckResourcePermissionResponseSchema)` to create a new message.
2255
2241
  */
2256
2242
  export const CheckResourcePermissionResponseSchema = /*@__PURE__*/
2257
- messageDesc(file_raystack_frontier_v1beta1_frontier, 309);
2243
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 307);
2258
2244
 
2259
2245
  /**
2260
2246
  * Describes the message raystack.frontier.v1beta1.BatchCheckPermissionRequest.
2261
2247
  * Use `create(BatchCheckPermissionRequestSchema)` to create a new message.
2262
2248
  */
2263
2249
  export const BatchCheckPermissionRequestSchema = /*@__PURE__*/
2264
- messageDesc(file_raystack_frontier_v1beta1_frontier, 310);
2250
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 308);
2265
2251
 
2266
2252
  /**
2267
2253
  * Describes the message raystack.frontier.v1beta1.BatchCheckPermissionBody.
2268
2254
  * Use `create(BatchCheckPermissionBodySchema)` to create a new message.
2269
2255
  */
2270
2256
  export const BatchCheckPermissionBodySchema = /*@__PURE__*/
2271
- messageDesc(file_raystack_frontier_v1beta1_frontier, 311);
2257
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 309);
2272
2258
 
2273
2259
  /**
2274
2260
  * Describes the message raystack.frontier.v1beta1.BatchCheckPermissionResponse.
2275
2261
  * Use `create(BatchCheckPermissionResponseSchema)` to create a new message.
2276
2262
  */
2277
2263
  export const BatchCheckPermissionResponseSchema = /*@__PURE__*/
2278
- messageDesc(file_raystack_frontier_v1beta1_frontier, 312);
2264
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 310);
2279
2265
 
2280
2266
  /**
2281
2267
  * Describes the message raystack.frontier.v1beta1.BatchCheckPermissionResponsePair.
2282
2268
  * Use `create(BatchCheckPermissionResponsePairSchema)` to create a new message.
2283
2269
  */
2284
2270
  export const BatchCheckPermissionResponsePairSchema = /*@__PURE__*/
2285
- messageDesc(file_raystack_frontier_v1beta1_frontier, 313);
2271
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 311);
2286
2272
 
2287
2273
  /**
2288
2274
  * Describes the message raystack.frontier.v1beta1.MetaSchemaRequestBody.
2289
2275
  * Use `create(MetaSchemaRequestBodySchema)` to create a new message.
2290
2276
  */
2291
2277
  export const MetaSchemaRequestBodySchema = /*@__PURE__*/
2292
- messageDesc(file_raystack_frontier_v1beta1_frontier, 314);
2278
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 312);
2293
2279
 
2294
2280
  /**
2295
2281
  * Describes the message raystack.frontier.v1beta1.CreateMetaSchemaRequest.
2296
2282
  * Use `create(CreateMetaSchemaRequestSchema)` to create a new message.
2297
2283
  */
2298
2284
  export const CreateMetaSchemaRequestSchema = /*@__PURE__*/
2299
- messageDesc(file_raystack_frontier_v1beta1_frontier, 315);
2285
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 313);
2300
2286
 
2301
2287
  /**
2302
2288
  * Describes the message raystack.frontier.v1beta1.CreateMetaSchemaResponse.
2303
2289
  * Use `create(CreateMetaSchemaResponseSchema)` to create a new message.
2304
2290
  */
2305
2291
  export const CreateMetaSchemaResponseSchema = /*@__PURE__*/
2306
- messageDesc(file_raystack_frontier_v1beta1_frontier, 316);
2292
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 314);
2307
2293
 
2308
2294
  /**
2309
2295
  * Describes the message raystack.frontier.v1beta1.GetMetaSchemaRequest.
2310
2296
  * Use `create(GetMetaSchemaRequestSchema)` to create a new message.
2311
2297
  */
2312
2298
  export const GetMetaSchemaRequestSchema = /*@__PURE__*/
2313
- messageDesc(file_raystack_frontier_v1beta1_frontier, 317);
2299
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 315);
2314
2300
 
2315
2301
  /**
2316
2302
  * Describes the message raystack.frontier.v1beta1.GetMetaSchemaResponse.
2317
2303
  * Use `create(GetMetaSchemaResponseSchema)` to create a new message.
2318
2304
  */
2319
2305
  export const GetMetaSchemaResponseSchema = /*@__PURE__*/
2320
- messageDesc(file_raystack_frontier_v1beta1_frontier, 318);
2306
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 316);
2321
2307
 
2322
2308
  /**
2323
2309
  * Describes the message raystack.frontier.v1beta1.UpdateMetaSchemaRequest.
2324
2310
  * Use `create(UpdateMetaSchemaRequestSchema)` to create a new message.
2325
2311
  */
2326
2312
  export const UpdateMetaSchemaRequestSchema = /*@__PURE__*/
2327
- messageDesc(file_raystack_frontier_v1beta1_frontier, 319);
2313
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 317);
2328
2314
 
2329
2315
  /**
2330
2316
  * Describes the message raystack.frontier.v1beta1.UpdateMetaSchemaResponse.
2331
2317
  * Use `create(UpdateMetaSchemaResponseSchema)` to create a new message.
2332
2318
  */
2333
2319
  export const UpdateMetaSchemaResponseSchema = /*@__PURE__*/
2334
- messageDesc(file_raystack_frontier_v1beta1_frontier, 320);
2320
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 318);
2335
2321
 
2336
2322
  /**
2337
2323
  * Describes the message raystack.frontier.v1beta1.DeleteMetaSchemaRequest.
2338
2324
  * Use `create(DeleteMetaSchemaRequestSchema)` to create a new message.
2339
2325
  */
2340
2326
  export const DeleteMetaSchemaRequestSchema = /*@__PURE__*/
2341
- messageDesc(file_raystack_frontier_v1beta1_frontier, 321);
2327
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 319);
2342
2328
 
2343
2329
  /**
2344
2330
  * Describes the message raystack.frontier.v1beta1.DeleteMetaSchemaResponse.
2345
2331
  * Use `create(DeleteMetaSchemaResponseSchema)` to create a new message.
2346
2332
  */
2347
2333
  export const DeleteMetaSchemaResponseSchema = /*@__PURE__*/
2348
- messageDesc(file_raystack_frontier_v1beta1_frontier, 322);
2334
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 320);
2349
2335
 
2350
2336
  /**
2351
2337
  * Describes the message raystack.frontier.v1beta1.ListMetaSchemasRequest.
2352
2338
  * Use `create(ListMetaSchemasRequestSchema)` to create a new message.
2353
2339
  */
2354
2340
  export const ListMetaSchemasRequestSchema = /*@__PURE__*/
2355
- messageDesc(file_raystack_frontier_v1beta1_frontier, 323);
2341
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 321);
2356
2342
 
2357
2343
  /**
2358
2344
  * Describes the message raystack.frontier.v1beta1.ListMetaSchemasResponse.
2359
2345
  * Use `create(ListMetaSchemasResponseSchema)` to create a new message.
2360
2346
  */
2361
2347
  export const ListMetaSchemasResponseSchema = /*@__PURE__*/
2362
- messageDesc(file_raystack_frontier_v1beta1_frontier, 324);
2363
-
2364
- /**
2365
- * Describes the message raystack.frontier.v1beta1.ListOrganizationAuditLogsRequest.
2366
- * Use `create(ListOrganizationAuditLogsRequestSchema)` to create a new message.
2367
- */
2368
- export const ListOrganizationAuditLogsRequestSchema = /*@__PURE__*/
2369
- messageDesc(file_raystack_frontier_v1beta1_frontier, 325);
2370
-
2371
- /**
2372
- * Describes the message raystack.frontier.v1beta1.ListOrganizationAuditLogsResponse.
2373
- * Use `create(ListOrganizationAuditLogsResponseSchema)` to create a new message.
2374
- */
2375
- export const ListOrganizationAuditLogsResponseSchema = /*@__PURE__*/
2376
- messageDesc(file_raystack_frontier_v1beta1_frontier, 326);
2377
-
2378
- /**
2379
- * Describes the message raystack.frontier.v1beta1.CreateOrganizationAuditLogsRequest.
2380
- * Use `create(CreateOrganizationAuditLogsRequestSchema)` to create a new message.
2381
- */
2382
- export const CreateOrganizationAuditLogsRequestSchema = /*@__PURE__*/
2383
- messageDesc(file_raystack_frontier_v1beta1_frontier, 327);
2384
-
2385
- /**
2386
- * Describes the message raystack.frontier.v1beta1.CreateOrganizationAuditLogsResponse.
2387
- * Use `create(CreateOrganizationAuditLogsResponseSchema)` to create a new message.
2388
- */
2389
- export const CreateOrganizationAuditLogsResponseSchema = /*@__PURE__*/
2390
- messageDesc(file_raystack_frontier_v1beta1_frontier, 328);
2391
-
2392
- /**
2393
- * Describes the message raystack.frontier.v1beta1.GetOrganizationAuditLogRequest.
2394
- * Use `create(GetOrganizationAuditLogRequestSchema)` to create a new message.
2395
- */
2396
- export const GetOrganizationAuditLogRequestSchema = /*@__PURE__*/
2397
- messageDesc(file_raystack_frontier_v1beta1_frontier, 329);
2398
-
2399
- /**
2400
- * Describes the message raystack.frontier.v1beta1.GetOrganizationAuditLogResponse.
2401
- * Use `create(GetOrganizationAuditLogResponseSchema)` to create a new message.
2402
- */
2403
- export const GetOrganizationAuditLogResponseSchema = /*@__PURE__*/
2404
- messageDesc(file_raystack_frontier_v1beta1_frontier, 330);
2348
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 322);
2405
2349
 
2406
2350
  /**
2407
2351
  * Describes the message raystack.frontier.v1beta1.DescribePreferencesRequest.
2408
2352
  * Use `create(DescribePreferencesRequestSchema)` to create a new message.
2409
2353
  */
2410
2354
  export const DescribePreferencesRequestSchema = /*@__PURE__*/
2411
- messageDesc(file_raystack_frontier_v1beta1_frontier, 331);
2355
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 323);
2412
2356
 
2413
2357
  /**
2414
2358
  * Describes the message raystack.frontier.v1beta1.DescribePreferencesResponse.
2415
2359
  * Use `create(DescribePreferencesResponseSchema)` to create a new message.
2416
2360
  */
2417
2361
  export const DescribePreferencesResponseSchema = /*@__PURE__*/
2418
- messageDesc(file_raystack_frontier_v1beta1_frontier, 332);
2362
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 324);
2419
2363
 
2420
2364
  /**
2421
2365
  * Describes the message raystack.frontier.v1beta1.CreateOrganizationPreferencesRequest.
2422
2366
  * Use `create(CreateOrganizationPreferencesRequestSchema)` to create a new message.
2423
2367
  */
2424
2368
  export const CreateOrganizationPreferencesRequestSchema = /*@__PURE__*/
2425
- messageDesc(file_raystack_frontier_v1beta1_frontier, 333);
2369
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 325);
2426
2370
 
2427
2371
  /**
2428
2372
  * Describes the message raystack.frontier.v1beta1.CreateOrganizationPreferencesResponse.
2429
2373
  * Use `create(CreateOrganizationPreferencesResponseSchema)` to create a new message.
2430
2374
  */
2431
2375
  export const CreateOrganizationPreferencesResponseSchema = /*@__PURE__*/
2432
- messageDesc(file_raystack_frontier_v1beta1_frontier, 334);
2376
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 326);
2433
2377
 
2434
2378
  /**
2435
2379
  * Describes the message raystack.frontier.v1beta1.ListOrganizationPreferencesRequest.
2436
2380
  * Use `create(ListOrganizationPreferencesRequestSchema)` to create a new message.
2437
2381
  */
2438
2382
  export const ListOrganizationPreferencesRequestSchema = /*@__PURE__*/
2439
- messageDesc(file_raystack_frontier_v1beta1_frontier, 335);
2383
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 327);
2440
2384
 
2441
2385
  /**
2442
2386
  * Describes the message raystack.frontier.v1beta1.ListOrganizationPreferencesResponse.
2443
2387
  * Use `create(ListOrganizationPreferencesResponseSchema)` to create a new message.
2444
2388
  */
2445
2389
  export const ListOrganizationPreferencesResponseSchema = /*@__PURE__*/
2446
- messageDesc(file_raystack_frontier_v1beta1_frontier, 336);
2390
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 328);
2447
2391
 
2448
2392
  /**
2449
2393
  * Describes the message raystack.frontier.v1beta1.CreateProjectPreferencesRequest.
2450
2394
  * Use `create(CreateProjectPreferencesRequestSchema)` to create a new message.
2451
2395
  */
2452
2396
  export const CreateProjectPreferencesRequestSchema = /*@__PURE__*/
2453
- messageDesc(file_raystack_frontier_v1beta1_frontier, 337);
2397
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 329);
2454
2398
 
2455
2399
  /**
2456
2400
  * Describes the message raystack.frontier.v1beta1.CreateProjectPreferencesResponse.
2457
2401
  * Use `create(CreateProjectPreferencesResponseSchema)` to create a new message.
2458
2402
  */
2459
2403
  export const CreateProjectPreferencesResponseSchema = /*@__PURE__*/
2460
- messageDesc(file_raystack_frontier_v1beta1_frontier, 338);
2404
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 330);
2461
2405
 
2462
2406
  /**
2463
2407
  * Describes the message raystack.frontier.v1beta1.ListProjectPreferencesRequest.
2464
2408
  * Use `create(ListProjectPreferencesRequestSchema)` to create a new message.
2465
2409
  */
2466
2410
  export const ListProjectPreferencesRequestSchema = /*@__PURE__*/
2467
- messageDesc(file_raystack_frontier_v1beta1_frontier, 339);
2411
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 331);
2468
2412
 
2469
2413
  /**
2470
2414
  * Describes the message raystack.frontier.v1beta1.ListProjectPreferencesResponse.
2471
2415
  * Use `create(ListProjectPreferencesResponseSchema)` to create a new message.
2472
2416
  */
2473
2417
  export const ListProjectPreferencesResponseSchema = /*@__PURE__*/
2474
- messageDesc(file_raystack_frontier_v1beta1_frontier, 340);
2418
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 332);
2475
2419
 
2476
2420
  /**
2477
2421
  * Describes the message raystack.frontier.v1beta1.CreateGroupPreferencesRequest.
2478
2422
  * Use `create(CreateGroupPreferencesRequestSchema)` to create a new message.
2479
2423
  */
2480
2424
  export const CreateGroupPreferencesRequestSchema = /*@__PURE__*/
2481
- messageDesc(file_raystack_frontier_v1beta1_frontier, 341);
2425
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 333);
2482
2426
 
2483
2427
  /**
2484
2428
  * Describes the message raystack.frontier.v1beta1.CreateGroupPreferencesResponse.
2485
2429
  * Use `create(CreateGroupPreferencesResponseSchema)` to create a new message.
2486
2430
  */
2487
2431
  export const CreateGroupPreferencesResponseSchema = /*@__PURE__*/
2488
- messageDesc(file_raystack_frontier_v1beta1_frontier, 342);
2432
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 334);
2489
2433
 
2490
2434
  /**
2491
2435
  * Describes the message raystack.frontier.v1beta1.ListGroupPreferencesRequest.
2492
2436
  * Use `create(ListGroupPreferencesRequestSchema)` to create a new message.
2493
2437
  */
2494
2438
  export const ListGroupPreferencesRequestSchema = /*@__PURE__*/
2495
- messageDesc(file_raystack_frontier_v1beta1_frontier, 343);
2439
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 335);
2496
2440
 
2497
2441
  /**
2498
2442
  * Describes the message raystack.frontier.v1beta1.ListGroupPreferencesResponse.
2499
2443
  * Use `create(ListGroupPreferencesResponseSchema)` to create a new message.
2500
2444
  */
2501
2445
  export const ListGroupPreferencesResponseSchema = /*@__PURE__*/
2502
- messageDesc(file_raystack_frontier_v1beta1_frontier, 344);
2446
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 336);
2503
2447
 
2504
2448
  /**
2505
2449
  * Describes the message raystack.frontier.v1beta1.CreateUserPreferencesRequest.
2506
2450
  * Use `create(CreateUserPreferencesRequestSchema)` to create a new message.
2507
2451
  */
2508
2452
  export const CreateUserPreferencesRequestSchema = /*@__PURE__*/
2509
- messageDesc(file_raystack_frontier_v1beta1_frontier, 345);
2453
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 337);
2510
2454
 
2511
2455
  /**
2512
2456
  * Describes the message raystack.frontier.v1beta1.CreateUserPreferencesResponse.
2513
2457
  * Use `create(CreateUserPreferencesResponseSchema)` to create a new message.
2514
2458
  */
2515
2459
  export const CreateUserPreferencesResponseSchema = /*@__PURE__*/
2516
- messageDesc(file_raystack_frontier_v1beta1_frontier, 346);
2460
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 338);
2517
2461
 
2518
2462
  /**
2519
2463
  * Describes the message raystack.frontier.v1beta1.ListUserPreferencesRequest.
2520
2464
  * Use `create(ListUserPreferencesRequestSchema)` to create a new message.
2521
2465
  */
2522
2466
  export const ListUserPreferencesRequestSchema = /*@__PURE__*/
2523
- messageDesc(file_raystack_frontier_v1beta1_frontier, 347);
2467
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 339);
2524
2468
 
2525
2469
  /**
2526
2470
  * Describes the message raystack.frontier.v1beta1.ListUserPreferencesResponse.
2527
2471
  * Use `create(ListUserPreferencesResponseSchema)` to create a new message.
2528
2472
  */
2529
2473
  export const ListUserPreferencesResponseSchema = /*@__PURE__*/
2530
- messageDesc(file_raystack_frontier_v1beta1_frontier, 348);
2474
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 340);
2531
2475
 
2532
2476
  /**
2533
2477
  * Describes the message raystack.frontier.v1beta1.CreateCurrentUserPreferencesRequest.
2534
2478
  * Use `create(CreateCurrentUserPreferencesRequestSchema)` to create a new message.
2535
2479
  */
2536
2480
  export const CreateCurrentUserPreferencesRequestSchema = /*@__PURE__*/
2537
- messageDesc(file_raystack_frontier_v1beta1_frontier, 349);
2481
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 341);
2538
2482
 
2539
2483
  /**
2540
2484
  * Describes the message raystack.frontier.v1beta1.CreateCurrentUserPreferencesResponse.
2541
2485
  * Use `create(CreateCurrentUserPreferencesResponseSchema)` to create a new message.
2542
2486
  */
2543
2487
  export const CreateCurrentUserPreferencesResponseSchema = /*@__PURE__*/
2544
- messageDesc(file_raystack_frontier_v1beta1_frontier, 350);
2488
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 342);
2545
2489
 
2546
2490
  /**
2547
2491
  * Describes the message raystack.frontier.v1beta1.ListCurrentUserPreferencesRequest.
2548
2492
  * Use `create(ListCurrentUserPreferencesRequestSchema)` to create a new message.
2549
2493
  */
2550
2494
  export const ListCurrentUserPreferencesRequestSchema = /*@__PURE__*/
2551
- messageDesc(file_raystack_frontier_v1beta1_frontier, 351);
2495
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 343);
2552
2496
 
2553
2497
  /**
2554
2498
  * Describes the message raystack.frontier.v1beta1.ListCurrentUserPreferencesResponse.
2555
2499
  * Use `create(ListCurrentUserPreferencesResponseSchema)` to create a new message.
2556
2500
  */
2557
2501
  export const ListCurrentUserPreferencesResponseSchema = /*@__PURE__*/
2558
- messageDesc(file_raystack_frontier_v1beta1_frontier, 352);
2502
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 344);
2559
2503
 
2560
2504
  /**
2561
2505
  * Describes the message raystack.frontier.v1beta1.BillingWebhookCallbackRequest.
2562
2506
  * Use `create(BillingWebhookCallbackRequestSchema)` to create a new message.
2563
2507
  */
2564
2508
  export const BillingWebhookCallbackRequestSchema = /*@__PURE__*/
2565
- messageDesc(file_raystack_frontier_v1beta1_frontier, 353);
2509
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 345);
2566
2510
 
2567
2511
  /**
2568
2512
  * Describes the message raystack.frontier.v1beta1.BillingWebhookCallbackResponse.
2569
2513
  * Use `create(BillingWebhookCallbackResponseSchema)` to create a new message.
2570
2514
  */
2571
2515
  export const BillingWebhookCallbackResponseSchema = /*@__PURE__*/
2572
- messageDesc(file_raystack_frontier_v1beta1_frontier, 354);
2516
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 346);
2573
2517
 
2574
2518
  /**
2575
2519
  * Describes the message raystack.frontier.v1beta1.CreateProspectPublicRequest.
2576
2520
  * Use `create(CreateProspectPublicRequestSchema)` to create a new message.
2577
2521
  */
2578
2522
  export const CreateProspectPublicRequestSchema = /*@__PURE__*/
2579
- messageDesc(file_raystack_frontier_v1beta1_frontier, 355);
2523
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 347);
2580
2524
 
2581
2525
  /**
2582
2526
  * Describes the message raystack.frontier.v1beta1.CreateProspectPublicResponse.
2583
2527
  * Use `create(CreateProspectPublicResponseSchema)` to create a new message.
2584
2528
  */
2585
2529
  export const CreateProspectPublicResponseSchema = /*@__PURE__*/
2586
- messageDesc(file_raystack_frontier_v1beta1_frontier, 356);
2530
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 348);
2587
2531
 
2588
2532
  /**
2589
2533
  * Describes the message raystack.frontier.v1beta1.ListSessionsRequest.
2590
2534
  * Use `create(ListSessionsRequestSchema)` to create a new message.
2591
2535
  */
2592
2536
  export const ListSessionsRequestSchema = /*@__PURE__*/
2593
- messageDesc(file_raystack_frontier_v1beta1_frontier, 357);
2537
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 349);
2594
2538
 
2595
2539
  /**
2596
2540
  * Describes the message raystack.frontier.v1beta1.ListSessionsResponse.
2597
2541
  * Use `create(ListSessionsResponseSchema)` to create a new message.
2598
2542
  */
2599
2543
  export const ListSessionsResponseSchema = /*@__PURE__*/
2600
- messageDesc(file_raystack_frontier_v1beta1_frontier, 358);
2544
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 350);
2601
2545
 
2602
2546
  /**
2603
2547
  * Describes the message raystack.frontier.v1beta1.RevokeSessionRequest.
2604
2548
  * Use `create(RevokeSessionRequestSchema)` to create a new message.
2605
2549
  */
2606
2550
  export const RevokeSessionRequestSchema = /*@__PURE__*/
2607
- messageDesc(file_raystack_frontier_v1beta1_frontier, 359);
2551
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 351);
2608
2552
 
2609
2553
  /**
2610
2554
  * Describes the message raystack.frontier.v1beta1.RevokeSessionResponse.
2611
2555
  * Use `create(RevokeSessionResponseSchema)` to create a new message.
2612
2556
  */
2613
2557
  export const RevokeSessionResponseSchema = /*@__PURE__*/
2614
- messageDesc(file_raystack_frontier_v1beta1_frontier, 360);
2558
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 352);
2615
2559
 
2616
2560
  /**
2617
2561
  * Describes the message raystack.frontier.v1beta1.PingUserSessionRequest.
2618
2562
  * Use `create(PingUserSessionRequestSchema)` to create a new message.
2619
2563
  */
2620
2564
  export const PingUserSessionRequestSchema = /*@__PURE__*/
2621
- messageDesc(file_raystack_frontier_v1beta1_frontier, 361);
2565
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 353);
2622
2566
 
2623
2567
  /**
2624
2568
  * Describes the message raystack.frontier.v1beta1.PingUserSessionResponse.
2625
2569
  * Use `create(PingUserSessionResponseSchema)` to create a new message.
2626
2570
  */
2627
2571
  export const PingUserSessionResponseSchema = /*@__PURE__*/
2628
- messageDesc(file_raystack_frontier_v1beta1_frontier, 362);
2572
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 354);
2629
2573
 
2630
2574
  /**
2631
2575
  * Describes the message raystack.frontier.v1beta1.CreateAuditRecordRequest.
2632
2576
  * Use `create(CreateAuditRecordRequestSchema)` to create a new message.
2633
2577
  */
2634
2578
  export const CreateAuditRecordRequestSchema = /*@__PURE__*/
2635
- messageDesc(file_raystack_frontier_v1beta1_frontier, 363);
2579
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 355);
2636
2580
 
2637
2581
  /**
2638
2582
  * Describes the message raystack.frontier.v1beta1.CreateAuditRecordResponse.
2639
2583
  * Use `create(CreateAuditRecordResponseSchema)` to create a new message.
2640
2584
  */
2641
2585
  export const CreateAuditRecordResponseSchema = /*@__PURE__*/
2642
- messageDesc(file_raystack_frontier_v1beta1_frontier, 364);
2586
+ messageDesc(file_raystack_frontier_v1beta1_frontier, 356);
2643
2587
 
2644
2588
  /**
2645
2589
  * @generated from service raystack.frontier.v1beta1.FrontierService