@openmarket/market-data-proto 12.63.0 → 12.64.1
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.
- package/dist/enums_pb.d.ts +84 -1
- package/dist/enums_pb.d.ts.map +1 -1
- package/dist/enums_pb.js +121 -37
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -0
- package/dist/tsdb-gateway/tsdb-gateway_pb.d.ts +12 -0
- package/dist/tsdb-gateway/tsdb-gateway_pb.d.ts.map +1 -1
- package/dist/tsdb-gateway/tsdb-gateway_pb.js +1 -1
- package/dist/tsdb-gateway/v3/commodities_pb.d.ts +265 -0
- package/dist/tsdb-gateway/v3/commodities_pb.d.ts.map +1 -0
- package/dist/tsdb-gateway/v3/commodities_pb.js +78 -0
- package/dist/tsdb-gateway/v3/commodities_point.generated_pb.d.ts +44 -0
- package/dist/tsdb-gateway/v3/commodities_point.generated_pb.d.ts.map +1 -0
- package/dist/tsdb-gateway/v3/commodities_point.generated_pb.js +20 -0
- package/dist/tsdb-gateway/v3/common_pb.d.ts +911 -0
- package/dist/tsdb-gateway/v3/common_pb.d.ts.map +1 -0
- package/dist/tsdb-gateway/v3/common_pb.js +250 -0
- package/dist/tsdb-gateway/v3/crypto_pb.d.ts +844 -0
- package/dist/tsdb-gateway/v3/crypto_pb.d.ts.map +1 -0
- package/dist/tsdb-gateway/v3/crypto_pb.js +372 -0
- package/dist/tsdb-gateway/v3/crypto_point.generated_pb.d.ts +837 -0
- package/dist/tsdb-gateway/v3/crypto_point.generated_pb.d.ts.map +1 -0
- package/dist/tsdb-gateway/v3/crypto_point.generated_pb.js +111 -0
- package/dist/tsdb-gateway/v3/equities_pb.d.ts +340 -0
- package/dist/tsdb-gateway/v3/equities_pb.d.ts.map +1 -0
- package/dist/tsdb-gateway/v3/equities_pb.js +140 -0
- package/dist/tsdb-gateway/v3/equities_point.generated_pb.d.ts +206 -0
- package/dist/tsdb-gateway/v3/equities_point.generated_pb.d.ts.map +1 -0
- package/dist/tsdb-gateway/v3/equities_point.generated_pb.js +38 -0
- package/dist/tsdb-gateway/v3/futures_pb.d.ts +432 -0
- package/dist/tsdb-gateway/v3/futures_pb.d.ts.map +1 -0
- package/dist/tsdb-gateway/v3/futures_pb.js +149 -0
- package/dist/tsdb-gateway/v3/futures_point.generated_pb.d.ts +171 -0
- package/dist/tsdb-gateway/v3/futures_point.generated_pb.d.ts.map +1 -0
- package/dist/tsdb-gateway/v3/futures_point.generated_pb.js +37 -0
- package/dist/tsdb-gateway/v3/fx_pb.d.ts +260 -0
- package/dist/tsdb-gateway/v3/fx_pb.d.ts.map +1 -0
- package/dist/tsdb-gateway/v3/fx_pb.js +78 -0
- package/dist/tsdb-gateway/v3/fx_point.generated_pb.d.ts +44 -0
- package/dist/tsdb-gateway/v3/fx_point.generated_pb.d.ts.map +1 -0
- package/dist/tsdb-gateway/v3/fx_point.generated_pb.js +20 -0
- package/dist/tsdb-gateway/v3/indices_pb.d.ts +239 -0
- package/dist/tsdb-gateway/v3/indices_pb.d.ts.map +1 -0
- package/dist/tsdb-gateway/v3/indices_pb.js +78 -0
- package/dist/tsdb-gateway/v3/indices_point.generated_pb.d.ts +44 -0
- package/dist/tsdb-gateway/v3/indices_point.generated_pb.d.ts.map +1 -0
- package/dist/tsdb-gateway/v3/indices_point.generated_pb.js +20 -0
- package/dist/tsdb-gateway/v3/macro_pb.d.ts +299 -0
- package/dist/tsdb-gateway/v3/macro_pb.d.ts.map +1 -0
- package/dist/tsdb-gateway/v3/macro_pb.js +95 -0
- package/dist/tsdb-gateway/v3/macro_point.generated_pb.d.ts +98 -0
- package/dist/tsdb-gateway/v3/macro_point.generated_pb.d.ts.map +1 -0
- package/dist/tsdb-gateway/v3/macro_point.generated_pb.js +26 -0
- package/dist/tsdb-gateway/v3/methods_pb.d.ts +1277 -0
- package/dist/tsdb-gateway/v3/methods_pb.d.ts.map +1 -0
- package/dist/tsdb-gateway/v3/methods_pb.js +148 -0
- package/dist/tsdb-gateway/v3/options_pb.d.ts +362 -0
- package/dist/tsdb-gateway/v3/options_pb.d.ts.map +1 -0
- package/dist/tsdb-gateway/v3/options_pb.js +129 -0
- package/dist/tsdb-gateway/v3/options_point.generated_pb.d.ts +269 -0
- package/dist/tsdb-gateway/v3/options_point.generated_pb.d.ts.map +1 -0
- package/dist/tsdb-gateway/v3/options_point.generated_pb.js +45 -0
- package/dist/tsdb-gateway/v3/prediction_pb.d.ts +1056 -0
- package/dist/tsdb-gateway/v3/prediction_pb.d.ts.map +1 -0
- package/dist/tsdb-gateway/v3/prediction_pb.js +284 -0
- package/dist/tsdb-gateway/v3/prediction_point.generated_pb.d.ts +153 -0
- package/dist/tsdb-gateway/v3/prediction_point.generated_pb.d.ts.map +1 -0
- package/dist/tsdb-gateway/v3/prediction_point.generated_pb.js +35 -0
- package/package.json +1 -1
|
@@ -14,7 +14,7 @@ import { file_transform } from "../transform_pb.js";
|
|
|
14
14
|
/**
|
|
15
15
|
* Describes the file tsdb-gateway/tsdb-gateway.proto.
|
|
16
16
|
*/
|
|
17
|
-
export const file_tsdb_gateway_tsdb_gateway = /*@__PURE__*/ fileDesc("Ch90c2RiLWdhdGV3YXkvdHNkYi1nYXRld2F5LnByb3RvIkkKD0N1c3RvbVRpbWVSYW5nZRISCgpzdGFydF90aW1lGAEgASgJEhAKCGVuZF90aW1lGAIgASgJEhAKCHRpbWV6b25lGAMgASgJItANCgtEYXRhUmVxdWVzdBITCgR0eXBlGAEgAygOMgUuVHlwZRIbCghleGNoYW5nZRgCIAMoDjIJLkV4Y2hhbmdlEhgKEG5vcm1hbGl6ZWRTeW1ib2wYAyADKAkSDAoEY29pbhgEIAMoCRIbCghjYXRlZ29yeRgFIAMoDjIJLkNhdGVnb3J5EhEKCXJhd1N5bWJvbBgGIAMoCRImCghpbnRlcnZhbBgMIAEoDjIULkFnZ3JlZ2F0aW9uSW50ZXJ2YWwSDAoEZnJvbRgOIAEoAxIOCgZwZXJpb2QYDyABKAMSEwoEc2lkZRgIIAEoDjIFLlNpZGUSFwoEa2luZBgJIAEoDjIJLlJhdGVLaW5kEh8KCm9wdGlvblR5cGUYCiABKA4yCy5PcHRpb25UeXBlEhUKBXRlbm9yGAsgASgOMgYuVGVub3ISGwoIc2tld0tpbmQYESABKA4yCS5Ta2V3S2luZBIbCgh2aXBMZXZlbBgWIAEoDjIJLlZpcExldmVsEh0KCWZ1bmRHcm91cBgXIAEoDjIKLkZ1bmRHcm91cBIhCgtncmFudWxhcml0eRgYIAEoDjIMLkdyYW51bGFyaXR5EhcKBmlzc3VlchgZIAMoDjIHLklzc3VlchIQCghtaW5QcmljZRgaIAEoARIQCghtYXhQcmljZRgbIAEoARIRCglibG9ja1NpemUYHCABKAESFAoMY29tcHV0ZVNpbmNlGB0gASgDEiUKDXNvcnREaXJlY3Rpb24YHiABKA4yDi5Tb3J0RGlyZWN0aW9uEhcKD3Ntb290aGluZ1BlcmlvZBgfIAEoAxIsCg5zeW1ib2xDcml0ZXJpYRggIAEoCzIPLlN5bWJvbENyaXRlcmlhSACIAQESHQoJdHJhbnNmb3JtGCEgASgLMgouVHJhbnNmb3JtEiQKDXNlcmllc0ZpbHRlcnMYIiADKAsyDS5TZXJpZXNGaWx0ZXISFQoFY2hhaW4YIyADKA4yBi5DaGFpbhITCgtwb29sQWRkcmVzcxgkIAMoCRIjCgxwb29sUHJvdG9jb2wYJSADKA4yDS5Qb29sUHJvdG9jb2wSGAoQYmFzZVRva2VuQWRkcmVzcxgmIAMoCRIZChFxdW90ZVRva2VuQWRkcmVzcxgnIAMoCRIWCg5mYWN0b3J5QWRkcmVzcxgoIAMoCRIQCghtYXhEZXB0aBgpIAEoAxIYChBtYXRlcmlhbGl6ZWRPbmx5GCogASgIEg0KBWxpbWl0GCsgASgDEiYKC3dhbGxSZXF1ZXN0GCwgASgLMgwuV2FsbFJlcXVlc3RIAYgBARIvChJzZWN0b3JNYWluQ2F0ZWdvcnkYLSADKA4yEy5TZWN0b3JNYWluQ2F0ZWdvcnkSLQoRc2VjdG9yU3ViQ2F0ZWdvcnkYLiADKA4yEi5TZWN0b3JTdWJDYXRlZ29yeRIRCgl0b2tlbk5hbWUYLyADKAkSDwoHZmxhdHRlbhgwIAEoCBIXCgZzb3VyY2UYMSADKA4yBy5Tb3VyY2USHwoKdHBvU2Vzc2lvbhgyIAEoDjILLlRQT1Nlc3Npb24SGwoTdHBvQmxvY2tTaXplTWludXRlcxgzIAEoBRIKCgJpZBg0IAMoCRIjCgxmcmVkQ2F0ZWdvcnkYNSADKA4yDS5GcmVkQ2F0ZWdvcnkSIQoLdHJhZGluZ0hvdXIYNiABKA4yDC5UcmFkaW5nSG91chIUCgx1bmxvY2tzTGFiZWwYNyADKAkSLgoPY3VzdG9tVGltZVJhbmdlGDggASgLMhAuQ3VzdG9tVGltZVJhbmdlSAKIAQESJwoabWFya2V0X2V2ZW50X21pbl9pbnRlbnNpdHkYOSABKAVIA4gBARInChptYXJrZXRfZXZlbnRfbWF4X2ludGVuc2l0eRg6IAEoBUgEiAEBEg0KBWV2ZW50GDsgAygJEg8KB2dhcGZpbGwYPCABKAgSDwoHYWRkcmVzcxg9IAMoCRIdCglvcmRlclNpemUYPiADKA4yCi5PcmRlclNpemUSEQoJbWluQW1vdW50GD8gASgBEhYKDm1pblF1b3RlQW1vdW50GEAgASgBEh0KFXNraXBCb29rTm9ybWFsaXphdGlvbhhBIAEoCBIQCghhZGp1c3RlZBhCIAEoCBINCgVzaWRlZBhDIAEoCEIRCg9fc3ltYm9sQ3JpdGVyaWFCDgoMX3dhbGxSZXF1ZXN0QhIKEF9jdXN0b21UaW1lUmFuZ2VCHQobX21hcmtldF9ldmVudF9taW5faW50ZW5zaXR5Qh0KG19tYXJrZXRfZXZlbnRfbWF4X2ludGVuc2l0eSJxCgxTZXJpZXNGaWx0ZXISHAoJZXhjaGFuZ2VzGAEgAygOMgkuRXhjaGFuZ2USEgoKcmF3U3ltYm9scxgCIAMoCRIZChFub3JtYWxpemVkU3ltYm9scxgDIAMoCRIUCgV0eXBlcxgEIAMoDjIFLlR5cGUiYgoLV2FsbFJlcXVlc3QSFAoMcHJlc2VudF9vbmx5GAEgASgIEhwKFG1pbl9kdXJhdGlvbl9zZWNvbmRzGAIgASgDEh8KF21pbl9xdWFudGl0eV9wZXJjZW50aWxlGAMgASgBIkwKDE1hcmtldEZpbHRlchIbCghjYXRlZ29yeRgBIAMoDjIJLkNhdGVnb3J5Eh8KCm1hcmtldFR5cGUYAiADKA4yCy5NYXJrZXRUeXBlIjgKGEdldE1hcmtldHNSZXF1ZXN0RXhjbHVkZRIcCglleGNoYW5nZXMYASADKA4yCS5FeGNoYW5nZSKRCAoRR2V0TWFya2V0c1JlcXVlc3QSGwoIZXhjaGFuZ2UYASADKA4yCS5FeGNoYW5nZRIbCghjYXRlZ29yeRgCIAMoDjIJLkNhdGVnb3J5EhcKBnNpZ25hbBgDIAEoDjIHLlNpZ25hbBIUCgxzeW1ib2xGaWx0ZXIYBCABKAkSEAoIcGFnZVNpemUYBSABKAUSEgoKcGFnZU9mZnNldBgGIAEoBRIMCgRjb2luGAcgAygJEhMKBHR5cGUYCCADKA4yBS5UeXBlEioKDHNvcnRDcml0ZXJpYRgJIAEoCzIULk1hcmtldHNTb3J0Q3JpdGVyaWESFQoFY2hhaW4YCiADKA4yBi5DaGFpbhIjCgxwb29sUHJvdG9jb2wYCyADKA4yDS5Qb29sUHJvdG9jb2wSJAoNc2VyaWVzRmlsdGVycxgMIAMoCzINLlNlcmllc0ZpbHRlchIQCghkaXN0aW5jdBgNIAEoCBIkCg1tYXJrZXRGaWx0ZXJzGA4gAygLMg0uTWFya2V0RmlsdGVyEhAKCHRhZ1NsdWdzGA8gAygJEhcKD2V4Y2x1ZGVUYWdTbHVncxgQIAMoCRIVCg1yZWxhdGVkVG9TbHVnGBEgASgJEhoKDWV4cGlyZXNCZWZvcmUYEiABKANIAIgBARIUCgd2ZXJzaW9uGBMgASgJSAGIAQESLwoHZXhjbHVkZRgUIAEoCzIZLkdldE1hcmtldHNSZXF1ZXN0RXhjbHVkZUgCiAEBEhUKDWV4Y2x1ZGVQcmljZXMYFSABKAgSLAoJZ3JvdXBTb3J0GBYgASgLMhkuTWFya2V0c0dyb3VwU29ydENyaXRlcmlhEikKC3ZhcmlhbnRTb3J0GBcgASgLMhQuTWFya2V0c1NvcnRDcml0ZXJpYRIbCg5yZWxldmFuY2VGaXJzdBgYIAEoCEgDiAEBEiYKCnByb2plY3Rpb24YGSABKA4yEi5NYXJrZXRzUHJvamVjdGlvbhIZCgx2YXJpYW50TGltaXQYGiABKAVIBIgBARIWCglhc3NldE5hbWUYGyABKAlIBYgBARIhCgxhc3NldENsYXNzZXMYHCADKA4yCy5Bc3NldENsYXNzEigKD3JlcHJlc2VudGF0aW9ucxgdIAMoDjIPLlJlcHJlc2VudGF0aW9uEhUKDXF1b3RlQXNzZXRJZHMYHiADKAkSEwoLZGVwbG95ZXJJZHMYHyADKAkSFQoIZ3JvdXBLZXkYICABKAlIBogBAUIQCg5fZXhwaXJlc0JlZm9yZUIKCghfdmVyc2lvbkIKCghfZXhjbHVkZUIRCg9fcmVsZXZhbmNlRmlyc3RCDwoNX3ZhcmlhbnRMaW1pdEIMCgpfYXNzZXROYW1lQgsKCV9ncm91cEtleSKtAQoUU3RyZWFtTWFya2V0c1JlcXVlc3QSKAoNc2VyaWVzRmlsdGVycxgBIAMoCzINLlNlcmllc0ZpbHRlckICGAESFwoEdHlwZRgCIAMoDjIFLlR5cGVCAhgBEioKDm1hcmtldHNSZXF1ZXN0GAQgASgLMhIuR2V0TWFya2V0c1JlcXVlc3QSFAoHdmVyc2lvbhgFIAEoCUgAiAEBQgoKCF92ZXJzaW9uSgQIAxAEIlsKE01hcmtldHNTb3J0Q3JpdGVyaWESIQoFZmllbGQYASABKA4yEi5NYXJrZXRTeW1ib2xGaWVsZBIhCglkaXJlY3Rpb24YAiABKA4yDi5Tb3J0RGlyZWN0aW9uIl8KGE1hcmtldHNHcm91cFNvcnRDcml0ZXJpYRIgCgVmaWVsZBgBIAEoDjIRLk1hcmtldEFzc2V0RmllbGQSIQoJZGlyZWN0aW9uGAIgASgOMg4uU29ydERpcmVjdGlvbiKVEAoMTWFya2V0U3ltYm9sEhsKCGV4Y2hhbmdlGAEgASgOMgkuRXhjaGFuZ2USGwoIY2F0ZWdvcnkYAiABKA4yCS5DYXRlZ29yeRIRCglyYXdTeW1ib2wYAyABKAkSGAoQbm9ybWFsaXplZFN5bWJvbBgEIAEoCRIMCgRjb2luGAUgASgJEhYKCXNtYVNwcmVhZBgGIAEoAUgAiAEBEh0KEHZvbHVtZVNwaWtlUmF0aW8YByABKAFIAYgBARIVCghhdHJSYXRpbxgIIAEoAUgCiAEBEhgKC3JhbmdlU3ByZWFkGAkgASgBSAOIAQESGwoOcHJpY2VDaGFuZ2UyNGgYCiABKAFIBIgBARIcCg92b2x1bWVDaGFuZ2UyNGgYCyABKAFIBYgBARIWCgl2b2x1bWUyNGgYDCABKAFIBogBARIOCgZwcmljZXMYDSADKAESFgoJbGFzdFByaWNlGA4gASgBSAeIAQESFwoGaXNzdWVyGA8gASgOMgcuSXNzdWVyEhUKBXRlbm9yGBAgASgOMgYuVGVub3ISFwoKcGN0RnJvbUFUSBgRIAEoAUgIiAEBEhUKBWNoYWluGBIgASgOMgYuQ2hhaW4SEwoLcG9vbEFkZHJlc3MYEyABKAkSIwoMcG9vbFByb3RvY29sGBQgASgOMg0uUG9vbFByb3RvY29sEhgKEGJhc2VUb2tlbkFkZHJlc3MYFSABKAkSGQoRcXVvdGVUb2tlbkFkZHJlc3MYFiABKAkSFgoOZmFjdG9yeUFkZHJlc3MYFyABKAkSDwoHZ2FwZmlsbBgYIAEoCBIYCgtvaUNoYW5nZTI0aBgZIAEoAUgJiAEBEhcKCmF0clBlcmNlbnQYGiABKAFICogBARIWCgltYXJrZXRjYXAYGyABKAFIC4gBARIKCgJpZBgcIAEoCRISCgV0aXRsZRgdIAEoCUgMiAEBEhUKCGNvaW5OYW1lGB4gASgJSA2IAQESGgoNcXVvdGVDb2luTmFtZRgfIAEoCUgOiAEBEhUKCGZ1bGxOYW1lGCAgASgJSA+IAQESFgoJbGlxdWlkaXR5GCEgASgBSBCIAQESGAoLdG90YWxWb2x1bWUYIyABKAFIEYgBARI4ChFwcmVkaWN0aW9uTWFya2V0cxglIAMoCzIdLk1hcmtldFNlYXJjaFByZWRpY3Rpb25NYXJrZXQSEwoGY2xvc2VkGCYgASgISBKIAQESFAoHaWNvblVybBgnIAEoCUgTiAEBEiQKC2F2YWlsYWJsZVRvGCggASgLMgouVGltZXN0YW1wSBSIAQESJwoOYXZhaWxhYmxlU2luY2UYKSABKAsyCi5UaW1lc3RhbXBIFYgBARIeCgR0YWdzGCogAygLMhAuTWFya2V0U2VhcmNoVGFnEhoKDXBhcmVudEV2ZW50SWQYKyABKANIFogBARIiCg9kaXNwbGF5RXhjaGFuZ2UYLCABKA4yCS5FeGNoYW5nZRIfCgphc3NldENsYXNzGC0gASgOMgsuQXNzZXRDbGFzcxInCg5yZXByZXNlbnRhdGlvbhguIAEoDjIPLlJlcHJlc2VudGF0aW9uEh4KDWNhdGFsb2dJc3N1ZXIYLyABKA4yBy5Jc3N1ZXISHQoQdW5kZXJseWluZ1N5bWJvbBgwIAEoCUgXiAEBEhsKDnVuZGVybHlpbmdJc2luGDEgASgJSBiIAQESHgoRaXNzdWVyVG9rZW5TeW1ib2wYMiABKAlIGYgBARIcCg9zaGFyZU11bHRpcGxpZXIYMyABKAFIGogBARIrChB0cmFkaW5nSG91cnNNb2RlGDQgASgOMhEuVHJhZGluZ0hvdXJzTW9kZRIWCg5pc0lzc3VlckhhbHRlZBg1IAEoCBIZCgx2b2x1bWUyNGhVc2QYNiABKAFIG4gBARIjCgp2b2x1bWVBc09mGDcgASgLMgouVGltZXN0YW1wSByIAQESGQoMcXVvdGVBc3NldElkGDggASgJSB2IAQESFwoKZGVwbG95ZXJJZBg5IAEoCUgeiAEBEhQKB2RleE5hbWUYOiABKAlIH4gBAUIMCgpfc21hU3ByZWFkQhMKEV92b2x1bWVTcGlrZVJhdGlvQgsKCV9hdHJSYXRpb0IOCgxfcmFuZ2VTcHJlYWRCEQoPX3ByaWNlQ2hhbmdlMjRoQhIKEF92b2x1bWVDaGFuZ2UyNGhCDAoKX3ZvbHVtZTI0aEIMCgpfbGFzdFByaWNlQg0KC19wY3RGcm9tQVRIQg4KDF9vaUNoYW5nZTI0aEINCgtfYXRyUGVyY2VudEIMCgpfbWFya2V0Y2FwQggKBl90aXRsZUILCglfY29pbk5hbWVCEAoOX3F1b3RlQ29pbk5hbWVCCwoJX2Z1bGxOYW1lQgwKCl9saXF1aWRpdHlCDgoMX3RvdGFsVm9sdW1lQgkKB19jbG9zZWRCCgoIX2ljb25VcmxCDgoMX2F2YWlsYWJsZVRvQhEKD19hdmFpbGFibGVTaW5jZUIQCg5fcGFyZW50RXZlbnRJZEITChFfdW5kZXJseWluZ1N5bWJvbEIRCg9fdW5kZXJseWluZ0lzaW5CFAoSX2lzc3VlclRva2VuU3ltYm9sQhIKEF9zaGFyZU11bHRpcGxpZXJCDwoNX3ZvbHVtZTI0aFVzZEINCgtfdm9sdW1lQXNPZkIPCg1fcXVvdGVBc3NldElkQg0KC19kZXBsb3llcklkQgoKCF9kZXhOYW1lSgQIIhAjSgQIJBAlIqgGChxNYXJrZXRTZWFyY2hQcmVkaWN0aW9uTWFya2V0EgwKBHNsdWcYASABKAkSEQoJbGFzdFByaWNlGAIgASgBEhAKCHF1ZXN0aW9uGAMgASgJEhYKDmdyb3VwSXRlbVRpdGxlGAQgASgJEhkKEW9uZURheVByaWNlQ2hhbmdlGAUgASgBEg4KBnByaWNlcxgGIAMoARIOCgZjbG9zZWQYByABKAgSHwoLYXZhaWxhYmxlVG8YCCABKAsyCi5UaW1lc3RhbXASIgoOYXZhaWxhYmxlU2luY2UYCSABKAsyCi5UaW1lc3RhbXASGAoLdG90YWxWb2x1bWUYCiABKAFIAIgBARIiCgxnZW9Mb2NhdGlvbnMYCyADKAsyDC5HZW9Mb2NhdGlvbhIaCg11bmlxdWVUcmFkZXJzGAwgASgBSAGIAQESGQoMYnV5Vm9sdW1lMjRIGA0gASgBSAKIAQESGgoNc2VsbFZvbHVtZTI0SBgOIAEoAUgDiAEBEhwKD3ZvbHVtZUNoYW5nZTI0SBgPIAEoAUgEiAEBEhAKCG91dGNvbWVzGBAgAygJEhsKDm9uZURheU9JQ2hhbmdlGBEgASgBSAWIAQESGQoMb3BlbkludGVyZXN0GBIgASgBSAaIAQESIgoVb3JkZXJQcmljZU1pblRpY2tTaXplGBMgASgBSAeIAQESGAoLY29uZGl0aW9uSWQYFCABKAlICIgBARIdChBzcG9ydHNNYXJrZXRUeXBlGBUgASgJSAmIAQESEQoEbGluZRgWIAEoAUgKiAEBEg8KB3Rva2VuSWQYFyABKAlCDgoMX3RvdGFsVm9sdW1lQhAKDl91bmlxdWVUcmFkZXJzQg8KDV9idXlWb2x1bWUyNEhCEAoOX3NlbGxWb2x1bWUyNEhCEgoQX3ZvbHVtZUNoYW5nZTI0SEIRCg9fb25lRGF5T0lDaGFuZ2VCDwoNX29wZW5JbnRlcmVzdEIYChZfb3JkZXJQcmljZU1pblRpY2tTaXplQg4KDF9jb25kaXRpb25JZEITChFfc3BvcnRzTWFya2V0VHlwZUIHCgVfbGluZSI6Cg9NYXJrZXRTZWFyY2hUYWcSCgoCaWQYASABKAMSDQoFbGFiZWwYAiABKAkSDAoEc2x1ZxgDIAEoCSLFAQoLTWFya2V0QXNzZXQSEQoJYXNzZXROYW1lGAEgASgJEhQKDG1heFZvbHVtZTI0aBgCIAEoARIeCgdzeW1ib2xzGAMgAygLMg0uTWFya2V0U3ltYm9sEhMKC2Fzc2V0VGlja2VyGAQgASgJEhQKDHZhcmlhbnRDb3VudBgIIAEoBRIcCg9tYXhWb2x1bWUyNGhVc2QYCSABKAFIAIgBARIQCghncm91cEtleRgKIAEoCUISChBfbWF4Vm9sdW1lMjRoVXNkImYKEkdldE1hcmtldHNSZXNwb25zZRIeCgdzeW1ib2xzGAEgAygLMg0uTWFya2V0U3ltYm9sEhIKCm5leHRPZmZzZXQYAiABKAUSHAoGYXNzZXRzGAMgAygLMgwuTWFya2V0QXNzZXQiWgoOTWFya2V0U3RhdHNLZXkSGwoIZXhjaGFuZ2UYASABKA4yCS5FeGNoYW5nZRIbCghjYXRlZ29yeRgCIAEoDjIJLkNhdGVnb3J5Eg4KBnN5bWJvbBgDIAEoCSJTChhTdHJlYW1NYXJrZXRTdGF0c1JlcXVlc3QSIAoHbWFya2V0cxgBIAMoCzIPLk1hcmtldFN0YXRzS2V5EhUKDWluY2x1ZGVQcmljZXMYAiABKAgiMgoTTWFya2V0U3RhdHNSZXNwb25zZRIbCgVzdGF0cxgBIAMoCzIMLk1hcmtldFN0YXRzIsAQCgtNYXJrZXRTdGF0cxIcCgNrZXkYASABKAsyDy5NYXJrZXRTdGF0c0tleRINCgVmb3VuZBgCIAEoCBIhCghsaXZlQXNPZhgDIAEoCzIKLlRpbWVzdGFtcEgAiAEBEiEKCHNsb3dBc09mGAQgASgLMgouVGltZXN0YW1wSAGIAQESFgoJbGFzdFByaWNlGAogASgBSAKIAQESGwoOcHJpY2VDaGFuZ2UyNGgYCyABKAFIA4gBARIWCgl2b2x1bWUyNGgYDCABKAFIBIgBARIZCgx2b2x1bWUyNGhVc2QYDSABKAFIBYgBARIcCg92b2x1bWVDaGFuZ2UyNGgYDiABKAFIBogBARIOCgZwcmljZXMYDyADKAESGAoLb2lDaGFuZ2UyNGgYECABKAFIB4gBARIcCg9vcGVuSW50ZXJlc3RVc2QYFCABKAFICIgBARIYCgtmdW5kaW5nUmF0ZRgVIAEoAUgJiAEBEh4KEWZ1bmRpbmdJbnRlcnZhbE1zGBYgASgDSAqIAQESFgoJbWFya2V0Y2FwGBcgASgBSAuIAQESEAoDZmR2GBggASgBSAyIAQESHgoRY2lyY3VsYXRpbmdTdXBwbHkYGSABKAFIDYgBARIYCgt0b3RhbFN1cHBseRgaIAEoAUgOiAEBEhYKCW1heFN1cHBseRgbIAEoAUgPiAEBEh4KEXNoYXJlc091dHN0YW5kaW5nGBwgASgBSBCIAQESGwoOcHJpY2VDaGFuZ2UxMG0YKCABKAFIEYgBARIaCg1wcmljZUNoYW5nZTFoGCkgASgBSBKIAQESGgoNcHJpY2VDaGFuZ2U3ZBgqIAEoAUgTiAEBEhIKBWxvdzdkGCsgASgBSBSIAQESEwoGaGlnaDdkGCwgASgBSBWIAQESGQoMdm9sdW1lMTBtVXNkGC0gASgBSBaIAQESGAoLdm9sdW1lMWhVc2QYLiABKAFIF4gBARIeChF2b2x1bWVEZWx0YTEwbVVzZBgvIAEoAUgYiAEBEh0KEHZvbHVtZURlbHRhMWhVc2QYMCABKAFIGYgBARIeChF2b2x1bWVEZWx0YTI0aFVzZBgxIAEoAUgaiAEBEhcKCm9pQ2hhbmdlMWgYMiABKAFIG4gBARIeChFmdW5kaW5nUmF0ZUF2ZzI0aBgzIAEoAUgciAEBEhcKCmZ1bmRpbmdBcHIYNCABKAFIHYgBARIfChJsaXF1aWRhdGlvbnMyNGhVc2QYNSABKAFIHogBARIjChZsb25nTGlxdWlkYXRpb25zMjRoVXNkGDYgASgBSB+IAQESJAoXc2hvcnRMaXF1aWRhdGlvbnMyNGhVc2QYNyABKAFIIIgBARITCgZwZXJmMXcYOCABKAFIIYgBARITCgZwZXJmMW0YOSABKAFIIogBARITCgZwZXJmM20YOiABKAFII4gBARITCgZwZXJmNm0YOyABKAFIJIgBARIUCgdwZXJmWXRkGDwgASgBSCWIAQESEwoGcGVyZjF5GD0gASgBSCaIAQESFAoHaGlnaDUydxg+IAEoAUgniAEBEhMKBmxvdzUydxg/IAEoAUgoiAEBEhkKDGJ1eVZvbHVtZTI0aBhGIAEoAUgpiAEBEhoKDXNlbGxWb2x1bWUyNGgYRyABKAFIKogBARIaCg11bmlxdWVUcmFkZXJzGEggASgDSCuIAQESGAoLdG90YWxWb2x1bWUYSSABKAFILIgBARIgCgdlbmREYXRlGEogASgLMgouVGltZXN0YW1wSC2IAQESEwoGY2xvc2VkGEsgASgISC6IAQFCCwoJX2xpdmVBc09mQgsKCV9zbG93QXNPZkIMCgpfbGFzdFByaWNlQhEKD19wcmljZUNoYW5nZTI0aEIMCgpfdm9sdW1lMjRoQg8KDV92b2x1bWUyNGhVc2RCEgoQX3ZvbHVtZUNoYW5nZTI0aEIOCgxfb2lDaGFuZ2UyNGhCEgoQX29wZW5JbnRlcmVzdFVzZEIOCgxfZnVuZGluZ1JhdGVCFAoSX2Z1bmRpbmdJbnRlcnZhbE1zQgwKCl9tYXJrZXRjYXBCBgoEX2ZkdkIUChJfY2lyY3VsYXRpbmdTdXBwbHlCDgoMX3RvdGFsU3VwcGx5QgwKCl9tYXhTdXBwbHlCFAoSX3NoYXJlc091dHN0YW5kaW5nQhEKD19wcmljZUNoYW5nZTEwbUIQCg5fcHJpY2VDaGFuZ2UxaEIQCg5fcHJpY2VDaGFuZ2U3ZEIICgZfbG93N2RCCQoHX2hpZ2g3ZEIPCg1fdm9sdW1lMTBtVXNkQg4KDF92b2x1bWUxaFVzZEIUChJfdm9sdW1lRGVsdGExMG1Vc2RCEwoRX3ZvbHVtZURlbHRhMWhVc2RCFAoSX3ZvbHVtZURlbHRhMjRoVXNkQg0KC19vaUNoYW5nZTFoQhQKEl9mdW5kaW5nUmF0ZUF2ZzI0aEINCgtfZnVuZGluZ0FwckIVChNfbGlxdWlkYXRpb25zMjRoVXNkQhkKF19sb25nTGlxdWlkYXRpb25zMjRoVXNkQhoKGF9zaG9ydExpcXVpZGF0aW9uczI0aFVzZEIJCgdfcGVyZjF3QgkKB19wZXJmMW1CCQoHX3BlcmYzbUIJCgdfcGVyZjZtQgoKCF9wZXJmWXRkQgkKB19wZXJmMXlCCgoIX2hpZ2g1MndCCQoHX2xvdzUyd0IPCg1fYnV5Vm9sdW1lMjRoQhAKDl9zZWxsVm9sdW1lMjRoQhAKDl91bmlxdWVUcmFkZXJzQg4KDF90b3RhbFZvbHVtZUIKCghfZW5kRGF0ZUIJCgdfY2xvc2VkImoKFUdldE9wdGlvbkNoYWluUmVxdWVzdBIbCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlEgwKBGNvaW4YAiABKAkSFwoKZXhwaXJ5VW5peBgDIAEoA0gAiAEBQg0KC19leHBpcnlVbml4IkQKFU9wdGlvbkNoYWluSW5zdHJ1bWVudBIRCglyYXdTeW1ib2wYASABKAkSGAoQbm9ybWFsaXplZFN5bWJvbBgCIAEoCSJwChFPcHRpb25DaGFpblN0cmlrZRIOCgZzdHJpa2UYASABKAESJQoFY2FsbHMYAiADKAsyFi5PcHRpb25DaGFpbkluc3RydW1lbnQSJAoEcHV0cxgDIAMoCzIWLk9wdGlvbkNoYWluSW5zdHJ1bWVudCJlChFPcHRpb25DaGFpbkV4cGlyeRISCgpleHBpcnlVbml4GAEgASgDEhcKD2luc3RydW1lbnRDb3VudBgCIAEoBRIjCgdzdHJpa2VzGAMgAygLMhIuT3B0aW9uQ2hhaW5TdHJpa2UiaQoWR2V0T3B0aW9uQ2hhaW5SZXNwb25zZRIbCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlEgwKBGNvaW4YAiABKAkSJAoIZXhwaXJpZXMYAyADKAsyEi5PcHRpb25DaGFpbkV4cGlyeSLPAQocR2V0T3B0aW9uQ2hhaW5TdW1tYXJ5UmVxdWVzdBIbCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlEhIKCnVuZGVybHlpbmcYAiABKAkSEAoIZXhwaXJpZXMYAyADKAMSHAoPbmVpZ2hib3JTdHJpa2VzGAQgASgFSACIAQESFgoOYWxsVW5kZXJseWluZ3MYBSABKAgSIgoGdGltaW5nGAYgASgOMhIuT3B0aW9uQ2hhaW5UaW1pbmdCEgoQX25laWdoYm9yU3RyaWtlcyKvBQoQT3B0aW9uQ2hhaW5RdW90ZRIOCgZzeW1ib2wYASABKAkSGAoQbm9ybWFsaXplZFN5bWJvbBgCIAEoCRIQCgNiaWQYAyABKAFIAIgBARIQCgNhc2sYBCABKAFIAYgBARIUCgdiaWRTaXplGAUgASgBSAKIAQESFAoHYXNrU2l6ZRgGIAEoAUgDiAEBEhIKBWJpZElWGAcgASgBSASIAQESEgoFYXNrSVYYCCABKAFIBYgBARIRCgRsYXN0GAkgASgBSAaIAQESEwoGdm9sdW1lGAogASgBSAeIAQESGQoMb3BlbkludGVyZXN0GAsgASgBSAiIAQESFgoJbWFya1ByaWNlGAwgASgBSAmIAQESEwoGbWFya0lWGA0gASgBSAqIAQESEgoFZGVsdGEYDiABKAFIC4gBARISCgVnYW1tYRgPIAEoAUgMiAEBEhEKBHZlZ2EYECABKAFIDYgBARISCgV0aGV0YRgRIAEoAUgOiAEBEhAKA3JobxgSIAEoAUgPiAEBEhEKCXRpbWVzdGFtcBgTIAEoAxIcCg9zZXR0bGVtZW50UHJpY2UYFCABKAFIEIgBARIWCg5zZXR0bGVtZW50RGF0ZRgVIAEoAxIVCghmdWxsTmFtZRgWIAEoCUgRiAEBQgYKBF9iaWRCBgoEX2Fza0IKCghfYmlkU2l6ZUIKCghfYXNrU2l6ZUIICgZfYmlkSVZCCAoGX2Fza0lWQgcKBV9sYXN0QgkKB192b2x1bWVCDwoNX29wZW5JbnRlcmVzdEIMCgpfbWFya1ByaWNlQgkKB19tYXJrSVZCCAoGX2RlbHRhQggKBl9nYW1tYUIHCgVfdmVnYUIICgZfdGhldGFCBgoEX3Job0ISChBfc2V0dGxlbWVudFByaWNlQgsKCV9mdWxsTmFtZSJrChhPcHRpb25DaGFpblN1bW1hcnlTdHJpa2USDgoGc3RyaWtlGAEgASgBEh8KBGNhbGwYAiABKAsyES5PcHRpb25DaGFpblF1b3RlEh4KA3B1dBgDIAEoCzIRLk9wdGlvbkNoYWluUXVvdGUirQMKGE9wdGlvbkNoYWluU3VtbWFyeUV4cGlyeRISCgpleHBpcnlVbml4GAEgASgDEhgKEHVuZGVybHlpbmdTeW1ib2wYAiABKAkSHAoPdW5kZXJseWluZ1ByaWNlGAMgASgBSACIAQESLgoMYW5jaG9yU291cmNlGAQgASgOMhguT3B0aW9uQ2hhaW5BbmNob3JTb3VyY2USFgoJYXRtU3RyaWtlGAUgASgBSAGIAQESFwoPaW5zdHJ1bWVudENvdW50GAYgASgFEioKB3N0cmlrZXMYByADKAsyGS5PcHRpb25DaGFpblN1bW1hcnlTdHJpa2USHwoSdW5kZXJseWluZ0NvaW5OYW1lGAggASgJSAKIAQESHwoSdW5kZXJseWluZ0Z1bGxOYW1lGAkgASgJSAOIAQESFwoKaW5kZXhQcmljZRgKIAEoAUgEiAEBQhIKEF91bmRlcmx5aW5nUHJpY2VCDAoKX2F0bVN0cmlrZUIVChNfdW5kZXJseWluZ0NvaW5OYW1lQhUKE191bmRlcmx5aW5nRnVsbE5hbWVCDQoLX2luZGV4UHJpY2Ui5gEKHUdldE9wdGlvbkNoYWluU3VtbWFyeVJlc3BvbnNlEhsKCGV4Y2hhbmdlGAEgASgOMgkuRXhjaGFuZ2USEgoKdW5kZXJseWluZxgCIAEoCRIbChNyZXF1ZXN0ZWRVbmRlcmx5aW5nGAMgASgJEisKCGV4cGlyaWVzGAQgAygLMhkuT3B0aW9uQ2hhaW5TdW1tYXJ5RXhwaXJ5EiIKBnRpbWluZxgFIAEoDjISLk9wdGlvbkNoYWluVGltaW5nEhAKCGFzT2ZVbml4GAYgASgDEhQKDGRlbGF5U2Vjb25kcxgHIAEoBSKVAgoPTWV0YWRhdGFSZXF1ZXN0EhMKBHR5cGUYASADKA4yBS5UeXBlEhsKCGV4Y2hhbmdlGAIgAygOMgkuRXhjaGFuZ2USGwoIY2F0ZWdvcnkYAyADKA4yCS5DYXRlZ29yeRIMCgRjb2luGAQgAygJEhEKCXJhd1N5bWJvbBgFIAMoCRIYChBub3JtYWxpemVkU3ltYm9sGAogAygJEgwKBGZyb20YBiABKAMSDgoGcGVyaW9kGAcgASgDEhcKBmlzc3VlchgIIAMoDjIHLklzc3VlchIRCglibG9ja1NpemUYCSADKAESFQoFdGVub3IYCyADKA4yBi5UZW5vchIXCgZzb3VyY2UYDCADKA4yBy5Tb3VyY2UiKwoMRGF0YVJlc3BvbnNlEhsKBnNlcmllcxgBIAMoCzILLlRpbWVTZXJpZXMi7wMKEE1ldGFkYXRhUmVzcG9uc2USFAoFdHlwZXMYASADKA4yBS5UeXBlEhwKCWV4Y2hhbmdlcxgCIAMoDjIJLkV4Y2hhbmdlEh0KCmNhdGVnb3JpZXMYAyADKA4yCS5DYXRlZ29yeRINCgVjb2lucxgEIAMoCRISCgpyYXdTeW1ib2xzGAYgAygJEhkKEW5vcm1hbGl6ZWRTeW1ib2xzGAkgAygJEhcKBmlzc3VlchgHIAMoDjIHLklzc3VlchISCgpibG9ja1NpemVzGAggAygBEhYKBnRlbm9ycxgKIAMoDjIGLlRlbm9yEi8KEmV4Y2hhbmdlQ2F0ZWdvcmllcxgLIAMoCzITLkV4Y2hhbmdlQ2F0ZWdvcmllcxJNChZjb2luRXhjaGFuZ2VSYXdTeW1ib2xzGAwgAygLMi0uTWV0YWRhdGFSZXNwb25zZS5Db2luRXhjaGFuZ2VSYXdTeW1ib2xzRW50cnkSLAoRcmVnaXN0cnlNZXRhZGF0YXMYDSADKAsyES5SZWdpc3RyeU1ldGFkYXRhGlcKG0NvaW5FeGNoYW5nZVJhd1N5bWJvbHNFbnRyeRILCgNrZXkYASABKAkSJwoFdmFsdWUYAiABKAsyGC5FeGNoYW5nZVJhd1N5bWJvbHNHcm91cDoCOAEiswMKEFJlZ2lzdHJ5TWV0YWRhdGESEwoEdHlwZRgBIAEoDjIFLlR5cGUSGwoIZXhjaGFuZ2UYAiABKA4yCS5FeGNoYW5nZRIbCghjYXRlZ29yeRgDIAEoDjIJLkNhdGVnb3J5EgwKBGNvaW4YBCABKAkSEQoJcmF3U3ltYm9sGAUgASgJEhgKEG5vcm1hbGl6ZWRTeW1ib2wYBiABKAkSEQoJYmxvY2tTaXplGAcgASgBEh8KEmNvbnRyYWN0TXVsdGlwbGllchgIIAEoAUgAiAEBEhQKB2ludmVyc2UYCSABKAhIAYgBARIXCgpwb2ludFZhbHVlGAogASgBSAKIAQFCFQoTX2NvbnRyYWN0TXVsdGlwbGllckIKCghfaW52ZXJzZUINCgtfcG9pbnRWYWx1ZUoECAsQE1IKYXNzZXRDbGFzc1IQdW5kZXJseWluZ1N5bWJvbFIOdW5kZXJseWluZ0lzaW5SBmlzc3VlclIRaXNzdWVyVG9rZW5TeW1ib2xSD3NoYXJlTXVsdGlwbGllclIQdHJhZGluZ0hvdXJzTW9kZVIOaXNJc3N1ZXJIYWx0ZWQiUAoSRXhjaGFuZ2VDYXRlZ29yaWVzEhsKCGV4Y2hhbmdlGAEgASgOMgkuRXhjaGFuZ2USHQoKY2F0ZWdvcmllcxgCIAMoDjIJLkNhdGVnb3J5IkUKEkV4Y2hhbmdlUmF3U3ltYm9scxIbCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlEhIKCnJhd1N5bWJvbHMYAiADKAkiSgoXRXhjaGFuZ2VSYXdTeW1ib2xzR3JvdXASLwoSZXhjaGFuZ2VSYXdTeW1ib2xzGAEgAygLMhMuRXhjaGFuZ2VSYXdTeW1ib2xzIigKCkNvaW5EZXRhaWwSDAoEY29pbhgBIAEoCRIMCgRuYW1lGAIgASgJIjUKEUdldFNlY3RvclJlc3BvbnNlEiAKC2NvaW5EZXRhaWxzGAEgAygLMgsuQ29pbkRldGFpbCIiChBHZXRTZWN0b3JSZXF1ZXN0Eg4KBnNlY3RvchgBIAEoBSJACgxTZWN0b3JEZXRhaWwSCgoCaWQYASABKAUSDAoEbmFtZRgCIAEoCRIWCg5jaGlsZFNlY3RvcklEcxgDIAMoBSI0ChJHZXRTZWN0b3JzUmVzcG9uc2USHgoHc2VjdG9ycxgBIAMoCzINLlNlY3RvckRldGFpbCJ2Cg5HZXRHYXBzUmVxdWVzdBIYCgRmcm9tGAEgASgLMgouVGltZXN0YW1wEhYKAnRvGAIgASgLMgouVGltZXN0YW1wEhQKBXR5cGVzGAMgAygOMgUuVHlwZRIcCglleGNoYW5nZXMYBCADKA4yCS5FeGNoYW5nZSIwChlPcmRlckJvb2tGZWF0dXJlc1Jlc3BvbnNlEhMKC3BlcmNlbnRpbGVzGAEgAygBIosBCg9HZXRHYXBzUmVzcG9uc2USOAoMZXhjaGFuZ2VHYXBzGAEgAygLMiIuR2V0R2Fwc1Jlc3BvbnNlLkV4Y2hhbmdlR2Fwc0VudHJ5Gj4KEUV4Y2hhbmdlR2Fwc0VudHJ5EgsKA2tleRgBIAEoCRIYCgV2YWx1ZRgCIAEoCzIJLlR5cGVHYXBzOgI4ASKjAQoTRGVsZXRlUG9pbnRzUmVxdWVzdBIbCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlEhMKBHR5cGUYAiABKA4yBS5UeXBlEhgKBGZyb20YAyABKAsyCi5UaW1lc3RhbXASFgoCdG8YBCABKAsyCi5UaW1lc3RhbXASEwoLdG9JbmNsdXNpdmUYBSABKAgSEwoLdGFibGVQcmVmaXgYBiABKAkiegoUUmVmcmVzaFBvaW50c1JlcXVlc3QSGwoIZXhjaGFuZ2UYASABKA4yCS5FeGNoYW5nZRITCgR0eXBlGAIgASgOMgUuVHlwZRIYCgRmcm9tGAMgASgLMgouVGltZXN0YW1wEhYKAnRvGAQgASgLMgouVGltZXN0YW1wIjcKA0dhcBIYCgRmcm9tGAEgASgLMgouVGltZXN0YW1wEhYKAnRvGAIgASgLMgouVGltZXN0YW1wIjIKB1R5cGVHYXASEwoEdHlwZRgBIAEoDjIFLlR5cGUSEgoEZ2FwcxgCIAMoCzIELkdhcCImCghUeXBlR2FwcxIaCgh0eXBlR2FwcxgBIAMoCzIILlR5cGVHYXAiLAoUR2V0V2F0ZXJtYXJrc1JlcXVlc3QSFAoFdHlwZXMYASADKA4yBS5UeXBlIpMBChVHZXRXYXRlcm1hcmtzUmVzcG9uc2USOgoKd2F0ZXJtYXJrcxgBIAMoCzImLkdldFdhdGVybWFya3NSZXNwb25zZS5XYXRlcm1hcmtzRW50cnkaPgoPV2F0ZXJtYXJrc0VudHJ5EgsKA2tleRgBIAEoCRIaCgV2YWx1ZRgCIAEoCzILLldhdGVybWFya3M6AjgBIkEKCldhdGVybWFya3MSMwoUYWdnSW50ZXJ2YWxXYXRlcm1hcmsYASADKAsyFS5BZ2dJbnRlcnZhbFdhdGVybWFyayJgChRBZ2dJbnRlcnZhbFdhdGVybWFyaxIpCgthZ2dJbnRlcnZhbBgBIAEoDjIULkFnZ3JlZ2F0aW9uSW50ZXJ2YWwSHQoJd2F0ZXJtYXJrGAIgASgLMgouVGltZXN0YW1wIuwBChNHZXRHYXBzQ291bnRSZXF1ZXN0EhgKBGZyb20YASABKAsyCi5UaW1lc3RhbXASFgoCdG8YAiABKAsyCi5UaW1lc3RhbXASFAoFdHlwZXMYAyADKA4yBS5UeXBlEhwKCWV4Y2hhbmdlcxgEIAMoDjIJLkV4Y2hhbmdlEikKC2FnZ0ludGVydmFsGAUgASgOMhQuQWdncmVnYXRpb25JbnRlcnZhbBIrCgppZGVudGlmaWVyGAYgASgOMhcuR2V0R2Fwc0NvdW50SWRlbnRpZmllchIXCg9pZGVudGlmaWVyVmFsdWUYByABKAkipgEKFEdldEdhcHNDb3VudFJlc3BvbnNlEkcKEWV4Y2hhbmdlR2Fwc0NvdW50GAEgAygLMiwuR2V0R2Fwc0NvdW50UmVzcG9uc2UuRXhjaGFuZ2VHYXBzQ291bnRFbnRyeRpFChZFeGNoYW5nZUdhcHNDb3VudEVudHJ5EgsKA2tleRgBIAEoCRIaCgV2YWx1ZRgCIAEoCzILLlR5cGVDb3VudHM6AjgBIiwKClR5cGVDb3VudHMSHgoKdHlwZUNvdW50cxgBIAMoCzIKLlR5cGVDb3VudCIvCglUeXBlQ291bnQSEwoEdHlwZRgBIAEoDjIFLlR5cGUSDQoFY291bnQYAiABKAUi9g8KC1JQQ1Jlc3BvbnNlEg8KAmlkGAEgASgDSACIAQESEgoFZXJyb3IYAiABKAlIAYgBARIRCgRzaXplGAMgASgDSAKIAQESGwoGc2VyaWVzGAQgAygLMgsuVGltZVNlcmllcxIsChFyZWdpc3RyeU1ldGFkYXRhcxgFIAMoCzIRLlJlZ2lzdHJ5TWV0YWRhdGESIAoLY29pbk1ldHJpY3MYBiADKAsyCy5Db2luTWV0cmljEiQKDW1hcmtldFN5bWJvbHMYByADKAsyDS5NYXJrZXRTeW1ib2wSGgoEcG9uZxgIIAEoCzIMLlBvbmdNZXNzYWdlEiwKEXBvbHltYXJrZXRNYXJrZXRzGAogAygLMhEuUG9seW1hcmtldE1hcmtldBIYChBtZXRhZGF0YV9zdHJpbmdzGAsgAygJEiUKEm1ldGFkYXRhX2V4Y2hhbmdlcxgMIAMoDjIJLkV4Y2hhbmdlEiYKE21ldGFkYXRhX2NhdGVnb3JpZXMYDSADKA4yCS5DYXRlZ29yeRIyChFwb2x5bWFya2V0X29yZGVycxgOIAMoCzIXLlBvbHltYXJrZXRQYXJzZWRPcmRlcnMSHwoXb3JkZXJfYm9va19kaXN0cmlidXRpb24YDyADKAESFwoPbWV0YWRhdGFfZmxvYXRzGBAgAygBEjgKF3BvbHltYXJrZXRDYXRlZ29yeVBhaXJzGBEgAygLMhcuUG9seW1hcmtldENhdGVnb3J5UGFpchI6Chhwb2x5bWFya2V0VHJhZGVyUHJvZmlsZXMYEiADKAsyGC5Qb2x5bWFya2V0VHJhZGVyUHJvZmlsZRI5Chdwb2x5bWFya2V0VXNlclBvc2l0aW9ucxgTIAMoCzIYLlBvbHltYXJrZXRVc2VyUG9zaXRpb25zEkgKFmNvaW5FeGNoYW5nZVJhd1N5bWJvbHMYFCADKAsyKC5SUENSZXNwb25zZS5Db2luRXhjaGFuZ2VSYXdTeW1ib2xzRW50cnkSOQoXcG9seW1hcmtldE1hcmtldFN1bW1hcnkYFSADKAsyGC5Qb2x5bWFya2V0TWFya2V0U3VtbWFyeRI0Cg91c2VyX2NhdGVnb3JpZXMYFiADKAsyGy5Qb2x5bWFya2V0VHJhZGVyQ2F0ZWdvcmllcxIiCgxtYXJrZXRBc3NldHMYFyADKAsyDC5NYXJrZXRBc3NldBI9Chlwb2x5bWFya2V0UGxhdGZvcm1TdW1tYXJ5GBggAygLMhouUG9seW1hcmtldFBsYXRmb3JtU3VtbWFyeRJHCh5wb2x5bWFya2V0UGxhdGZvcm1EaXN0cmlidXRpb24YGSADKAsyHy5Qb2x5bWFya2V0UGxhdGZvcm1EaXN0cmlidXRpb24SLwoSZXhjaGFuZ2VDYXRlZ29yaWVzGBogAygLMhMuRXhjaGFuZ2VDYXRlZ29yaWVzEjUKEHBvbHltYXJrZXRFdmVudHMYGyADKAsyGy5HZXRQb2x5bWFya2V0RXZlbnRSZXNwb25zZRIeCgdzZWN0b3JzGBwgAygLMg0uU2VjdG9yRGV0YWlsEiYKEXNlY3RvckNvaW5EZXRhaWxzGB0gAygLMgsuQ29pbkRldGFpbBIpChBzZWN0b3JDYXRlZ29yaWVzGB4gAygLMg8uU2VjdG9yQ2F0ZWdvcnkSJAoNZnJlZE1ldGFkYXRhcxgfIAMoCzINLkZyZWRNZXRhZGF0YRI1ChVwb2x5Z29uVGlja2VyTWV0YWRhdGEYICADKAsyFi5Qb2x5Z29uVGlja2VyTWV0YWRhdGESMwoUdG9rZW5VbmxvY2tzTWV0YWRhdGEYISADKAsyFS5Ub2tlblVubG9ja3NNZXRhZGF0YRIxCg9zeW1ib2xEaXJlY3RvcnkYIiABKAsyGC5TeW1ib2xEaXJlY3RvcnlSZXNwb25zZRIsCgtvcHRpb25DaGFpbhgjIAEoCzIXLkdldE9wdGlvbkNoYWluUmVzcG9uc2USHgoRcmV0cnlBZnRlclNlY29uZHMYJCABKANIA4gBARIsCg5yYXRlTGltaXRVc2FnZRglIAEoCzIPLlJhdGVMaW1pdFVzYWdlSASIAQESFAoHdG9va19tcxgmIAEoA0gFiAEBEjoKEm9wdGlvbkNoYWluU3VtbWFyeRgnIAEoCzIeLkdldE9wdGlvbkNoYWluU3VtbWFyeVJlc3BvbnNlEjgKF2Vjb25vbWljU2VyaWVzTWV0YWRhdGFzGCggAygLMhcuRWNvbm9taWNTZXJpZXNNZXRhZGF0YRIhCgttYXJrZXRTdGF0cxgpIAMoCzIMLk1hcmtldFN0YXRzEjYKFm1lbWVjb2luVHJhZGVyUHJvZmlsZXMYKiADKAsyFi5NZW1lY29pblRyYWRlclByb2ZpbGUSMgoUbWVtZWNvaW5Ub2tlbkhvbGRlcnMYKyADKAsyFC5NZW1lY29pblRva2VuSG9sZGVyGlcKG0NvaW5FeGNoYW5nZVJhd1N5bWJvbHNFbnRyeRILCgNrZXkYASABKAkSJwoFdmFsdWUYAiABKAsyGC5FeGNoYW5nZVJhd1N5bWJvbHNHcm91cDoCOAFCBQoDX2lkQggKBl9lcnJvckIHCgVfc2l6ZUIUChJfcmV0cnlBZnRlclNlY29uZHNCEQoPX3JhdGVMaW1pdFVzYWdlQgoKCF90b29rX21zSgQICRAKIpwBCg5SYXRlTGltaXRVc2FnZRINCgVsaW1pdBgBIAEoAxIRCglyZW1haW5pbmcYAiABKAMSDAoEdXNlZBgDIAEoAxIPCgdyZXNldEF0GAQgASgDEhUKDXdpbmRvd1NlY29uZHMYBSABKAMSKAoFZGFpbHkYBiABKAsyFC5SYXRlTGltaXREYWlseVVzYWdlSACIAQFCCAoGX2RhaWx5IlYKE1JhdGVMaW1pdERhaWx5VXNhZ2USDQoFbGltaXQYASABKAMSDAoEdXNlZBgCIAEoAxIRCglyZW1haW5pbmcYAyABKAMSDwoHcmVzZXRBdBgEIAEoAyKHAgoOU3ltYm9sQ3JpdGVyaWESHgoGZXhwaXJ5GAEgASgLMgkuQ3JpdGVyaWFIAIgBARIkCgxjb250cmFjdFR5cGUYAiABKAsyCS5Dcml0ZXJpYUgBiAEBEiMKC3N0cmlrZVByaWNlGAMgASgLMgkuQ3JpdGVyaWFIAogBARIiCgpvcHRpb25UeXBlGAQgASgLMgkuQ3JpdGVyaWFIA4gBARIfCgdpbnZlcnNlGAUgASgLMgkuQ3JpdGVyaWFIBIgBAUIJCgdfZXhwaXJ5Qg8KDV9jb250cmFjdFR5cGVCDgoMX3N0cmlrZVByaWNlQg0KC19vcHRpb25UeXBlQgoKCF9pbnZlcnNlIvwBCghDcml0ZXJpYRIVCghsZXNzVGhhbhgBIAEoCUgAiAEBEhoKDWxlc3NUaGFuRXF1YWwYAiABKAlIAYgBARIYCgtncmVhdGVyVGhhbhgDIAEoCUgCiAEBEh0KEGdyZWF0ZXJUaGFuRXF1YWwYBCABKAlIA4gBARISCgVlcXVhbBgFIAEoCUgEiAEBEhUKCG5vdEVxdWFsGAYgASgJSAWIAQFCCwoJX2xlc3NUaGFuQhAKDl9sZXNzVGhhbkVxdWFsQg4KDF9ncmVhdGVyVGhhbkITChFfZ3JlYXRlclRoYW5FcXVhbEIICgZfZXF1YWxCCwoJX25vdEVxdWFsIsEECgpDb2luTWV0cmljEgwKBGNvaW4YASABKAkSDQoFcHJpY2UYAiABKAESJQoYcHJpY2VQZXJjZW50YWdlQ2hhbmdlMjRIGAMgASgBSACIAQESFgoOdG90YWxWb2x1bWUyNEgYBCABKAESIQoUdG90YWxPcGVuSW50ZXJlc3QyNEgYBSABKAFIAYgBARIsCh9vcGVuSW50ZXJlc3RQZXJjZW50YWdlQ2hhbmdlMjRIGAYgASgBSAKIAQESHwoSb2l3YUZ1bmRpbmdSYXRlMjRIGAcgASgBSAOIAQESLwoib2l3YUZ1bmRpbmdSYXRlUGVyY2VudGFnZUNoYW5nZTI0SBgIIAEoAUgEiAEBEhYKCW1hcmtldGNhcBgJIAEoAUgFiAEBEjEKGG5ld2x5TGlzdGVkRGF0ZUJpbmFuY2U3RBgKIAEoCzIKLlRpbWVzdGFtcEgGiAEBEhcKCmF0clBlcmNlbnQYCyABKAFIB4gBAUIbChlfcHJpY2VQZXJjZW50YWdlQ2hhbmdlMjRIQhcKFV90b3RhbE9wZW5JbnRlcmVzdDI0SEIiCiBfb3BlbkludGVyZXN0UGVyY2VudGFnZUNoYW5nZTI0SEIVChNfb2l3YUZ1bmRpbmdSYXRlMjRIQiUKI19vaXdhRnVuZGluZ1JhdGVQZXJjZW50YWdlQ2hhbmdlMjRIQgwKCl9tYXJrZXRjYXBCGwoZX25ld2x5TGlzdGVkRGF0ZUJpbmFuY2U3REINCgtfYXRyUGVyY2VudCImChVHZXRDb2luTWV0cmljc1JlcXVlc3QSDQoFY29pbnMYASADKAkiOgoWR2V0Q29pbk1ldHJpY3NSZXNwb25zZRIgCgtjb2luTWV0cmljcxgBIAMoCzILLkNvaW5NZXRyaWMicAoOU2VjdG9yQ2F0ZWdvcnkSLwoSc2VjdG9yTWFpbkNhdGVnb3J5GAEgASgOMhMuU2VjdG9yTWFpbkNhdGVnb3J5Ei0KEXNlY3RvclN1YkNhdGVnb3J5GAIgASgOMhIuU2VjdG9yU3ViQ2F0ZWdvcnkiSAobR2V0U2VjdG9yQ2F0ZWdvcmllc1Jlc3BvbnNlEikKEHNlY3RvckNhdGVnb3JpZXMYASADKAsyDy5TZWN0b3JDYXRlZ29yeSKRBQoMRnJlZE1ldGFkYXRhEgoKAmlkGAEgASgJEg0KBXRpdGxlGAIgASgJEjMKFWZyZWRfdXBkYXRlX2ZyZXF1ZW5jeRgDIAEoDjIULkZyZWRVcGRhdGVGcmVxdWVuY3kSNAoTc2Vhc29uYWxfYWRqdXN0bWVudBgEIAEoDjIXLkZyZWRTZWFzb25hbEFkanVzdG1lbnQSEwoLdW5pdHNfbGFiZWwYBSABKAkSGQoRb2JzZXJ2YXRpb25fc3RhcnQYBiABKAkSFwoPb2JzZXJ2YXRpb25fZW5kGAcgASgJEhQKDGxhc3RfdXBkYXRlZBgIIAEoCRIiChVpbmdlc3Rfc3RhcnRfb3ZlcnJpZGUYCSABKAlIAIgBARIfCgxkZWZhdWx0X3VuaXQYCiABKA4yCS5GcmVkVW5pdBI/ChxkZWZhdWx0X2Rvd25zYW1wbGVfZnJlcXVlbmN5GAsgASgOMhQuRnJlZFVwZGF0ZUZyZXF1ZW5jeUgBiAEBEjUKGmRlZmF1bHRfYWdncmVnYXRpb25fbWV0aG9kGAwgASgOMgwuR3JvdXBCeVR5cGVIAogBARIXCgpyZWxlYXNlX2lkGA0gASgDSAOIAQESGQoRZXhwZWN0ZWRfbGFnX2RheXMYDiABKAMSEgoFbm90ZXMYDyABKAlIBIgBARIkCg1mcmVkX2NhdGVnb3J5GBAgASgOMg0uRnJlZENhdGVnb3J5QhgKFl9pbmdlc3Rfc3RhcnRfb3ZlcnJpZGVCHwodX2RlZmF1bHRfZG93bnNhbXBsZV9mcmVxdWVuY3lCHQobX2RlZmF1bHRfYWdncmVnYXRpb25fbWV0aG9kQg0KC19yZWxlYXNlX2lkQggKBl9ub3RlcyI1CiBHZXRGcmVkTWV0YWRhdGFCeVNlcmllc0lEUmVxdWVzdBIRCglzZXJpZXNfaWQYASABKAkiPwoXR2V0RnJlZE1ldGFkYXRhUmVzcG9uc2USJAoNZnJlZE1ldGFkYXRhcxgBIAMoCzINLkZyZWRNZXRhZGF0YSLCAwoWRWNvbm9taWNTZXJpZXNNZXRhZGF0YRIbCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlEg4KBnN5bWJvbBgCIAEoCRINCgV0aXRsZRgDIAEoCRITCgtzaG9ydF90aXRsZRgEIAEoCRIPCgdjb3VudHJ5GAUgASgJEhAKCGNhdGVnb3J5GAYgASgJEhEKCWZyZXF1ZW5jeRgHIAEoCRINCgV1bml0cxgIIAEoCRIRCgl1bml0X2tpbmQYCSABKAkSEAoIY3VycmVuY3kYCiABKAkSDQoFc2NhbGUYCyABKAESGwoTc2Vhc29uYWxfYWRqdXN0bWVudBgMIAEoCRIPCgdyZWxlYXNlGA0gASgJEhMKC3NvdXJjZV9uYW1lGA4gASgJEhIKCnNvdXJjZV91cmwYDyABKAkSDwoHbGljZW5zZRgQIAEoCRITCgthdHRyaWJ1dGlvbhgRIAEoCRIPCgdhbGlhc2VzGBIgAygJEhkKEW9ic2VydmF0aW9uX3N0YXJ0GBMgASgJEg0KBW5vdGVzGBQgASgJEhMKC3NvdXJjZV9raW5kGBUgASgJEhEKCW5hdGl2ZV9pZBgWIAEoCSK3AQogR2V0RWNvbm9taWNTZXJpZXNNZXRhZGF0YVJlcXVlc3QSIAoIZXhjaGFuZ2UYASABKA4yCS5FeGNoYW5nZUgAiAEBEhMKBnN5bWJvbBgCIAEoCUgBiAEBEhQKB2NvdW50cnkYAyABKAlIAogBARIVCghjYXRlZ29yeRgEIAEoCUgDiAEBQgsKCV9leGNoYW5nZUIJCgdfc3ltYm9sQgoKCF9jb3VudHJ5QgsKCV9jYXRlZ29yeSJdCiFHZXRFY29ub21pY1Nlcmllc01ldGFkYXRhUmVzcG9uc2USOAoXZWNvbm9taWNTZXJpZXNNZXRhZGF0YXMYASADKAsyFy5FY29ub21pY1Nlcmllc01ldGFkYXRhIjEKH0dldFBvbHlnb25UaWNrZXJNZXRhZGF0YVJlcXVlc3QSDgoGdGlja2VyGAEgASgJIpUIChVQb2x5Z29uVGlja2VyTWV0YWRhdGESGAoQcHJpbWFyeV9leGNoYW5nZRgBIAEoCRIdChVwcmltYXJ5X2V4Y2hhbmdlX25hbWUYAiABKAkSJQoYcHJpbWFyeV9leGNoYW5nZV9hY3JvbnltGAMgASgJSACIAQESDgoGdGlja2VyGAQgASgJEhMKC3RpY2tlcl9uYW1lGAUgASgJEhgKC2Rlc2NyaXB0aW9uGAYgASgJSAGIAQESDgoGc2VjdG9yGAcgASgJEhAKCGluZHVzdHJ5GAggASgJEhEKBGlzaW4YCSABKAlIAogBARIMCgRmaWdpGAogASgJEgsKA2NpaxgLIAEoCRIUCgd3ZWJzaXRlGAwgASgJSAOIAQESDAoEdHlwZRgNIAEoCRITCgtwb2ludF92YWx1ZRgOIAEoARIRCglyb3VuZF9sb3QYDyABKAESFQoNY3VycmVuY3lfbmFtZRgQIAEoCRIRCgl0aWNrX3NpemUYESABKAESEAoIdGltZXpvbmUYEyABKAkSGQoMcGhvbmVfbnVtYmVyGBQgASgJSASIAQESFgoJYWRkcmVzc18xGBUgASgJSAWIAQESEQoEY2l0eRgWIAEoCUgGiAEBEhIKBXN0YXRlGBcgASgJSAeIAQESGAoLcG9zdGFsX2NvZGUYGCABKAlICIgBARIcCg90b3RhbF9lbXBsb3llZXMYGSABKAVICYgBARIRCgltYXJrZXRjYXAYGiABKAESJgoec2hhcmVfY2xhc3Nfc2hhcmVzX291dHN0YW5kaW5nGBsgASgBEhkKEWJyYW5kaW5nX2xvZ29fdXJsGBwgASgJEhkKEWJyYW5kaW5nX2ljb25fdXJsGB0gASgJEiIKCWxpc3RfZGF0ZRgeIAEoCzIKLlRpbWVzdGFtcEgKiAEBEg4KBmFjdGl2ZRgfIAEoCBIWCglhZGRyZXNzXzIYISABKAlIC4gBARImCg1kZWxpc3RlZF9kYXRlGCIgASgLMgouVGltZXN0YW1wSAyIAQESEwoLcHJlX3Nlc3Npb24YIyABKAkSFwoPcmVndWxhcl9zZXNzaW9uGCQgASgJEhQKDHBvc3Rfc2Vzc2lvbhglIAEoCUIbChlfcHJpbWFyeV9leGNoYW5nZV9hY3JvbnltQg4KDF9kZXNjcmlwdGlvbkIHCgVfaXNpbkIKCghfd2Vic2l0ZUIPCg1fcGhvbmVfbnVtYmVyQgwKCl9hZGRyZXNzXzFCBwoFX2NpdHlCCAoGX3N0YXRlQg4KDF9wb3N0YWxfY29kZUISChBfdG90YWxfZW1wbG95ZWVzQgwKCl9saXN0X2RhdGVCDAoKX2FkZHJlc3NfMkIQCg5fZGVsaXN0ZWRfZGF0ZUoECBIQEyJMCiBHZXRQb2x5Z29uVGlja2VyTWV0YWRhdGFSZXNwb25zZRIoCghtZXRhZGF0YRgBIAMoCzIWLlBvbHlnb25UaWNrZXJNZXRhZGF0YSI/Ch5HZXRUb2tlblVubG9ja3NNZXRhZGF0YVJlcXVlc3QSDwoHc3ltYm9scxgBIAMoCRIMCgRuYW1lGAIgAygJIrsBChFUb2tlblVubG9ja0V2ZW50cxITCgt1bmxvY2tfdHlwZRgBIAEoCRIVCg11bmxvY2tfYW1vdW50GAIgASgBEh8KC3VubG9ja19kYXRlGAMgASgLMgouVGltZXN0YW1wEhAKCGNhdGVnb3J5GAQgASgJEg0KBWxhYmVsGAUgASgJEhMKC2Rlc2NyaXB0aW9uGAYgASgJEiMKD2xpbmVhcl9lbmRfZGF0ZRgHIAEoCzIKLlRpbWVzdGFtcCJ4ChRUb2tlblVubG9ja3NNZXRhZGF0YRIOCgZzb3VyY2UYASABKAkSDgoGc3ltYm9sGAIgASgJEgwKBG5hbWUYAyABKAkSIgoGZXZlbnRzGAQgAygLMhIuVG9rZW5VbmxvY2tFdmVudHMSDgoGbGFiZWxzGAUgAygJIksKH0dldFRva2VuVW5sb2Nrc01ldGFkYXRhUmVzcG9uc2USKAoJbWV0YWRhdGFzGAEgAygLMhUuVG9rZW5VbmxvY2tzTWV0YWRhdGEiSAoZR2V0RGV4UG9vbE1ldGFkYXRhUmVxdWVzdBIVCgVjaGFpbhgBIAMoDjIGLkNoYWluEhQKDHBvb2xfYWRkcmVzcxgCIAMoCSJAChpHZXREZXhQb29sTWV0YWRhdGFSZXNwb25zZRIiCghtZXRhZGF0YRgBIAMoCzIQLkRleFBvb2xNZXRhZGF0YSKFAgoPRGV4UG9vbE1ldGFkYXRhEhUKBWNoYWluGAEgASgOMgYuQ2hhaW4SFAoMcG9vbF9hZGRyZXNzGAIgASgJEikKDXBvb2xfcHJvdG9jb2wYAyABKA4yDS5Qb29sUHJvdG9jb2xIAIgBARImCg1sYXVuY2hlZF9kYXRlGAQgASgLMgouVGltZXN0YW1wSAGIAQESFgoJbGlxdWlkaXR5GAUgASgBSAKIAQESGAoLaXNfdmVyaWZpZWQYBiABKAhIA4gBAUIQCg5fcG9vbF9wcm90b2NvbEIQCg5fbGF1bmNoZWRfZGF0ZUIMCgpfbGlxdWlkaXR5Qg4KDF9pc192ZXJpZmllZCKoAwoaR2V0UG9seW1hcmtldEV2ZW50c1JlcXVlc3QSEAoIZXZlbnRfaWQYASADKAMSDAoEc2x1ZxgCIAMoCRIcCg9zdGFydF9kYXRlX2Zyb20YAyABKANIAIgBARIaCg1zdGFydF9kYXRlX3RvGAQgASgDSAGIAQESHAoPY3JlYXRlZF9hdF9mcm9tGAUgASgDSAKIAQESGgoNY3JlYXRlZF9hdF90bxgGIAEoA0gDiAEBEhIKBWxpbWl0GAcgASgFSASIAQESEwoGb2Zmc2V0GAggASgFSAWIAQESDAoEbGl0ZRgJIAEoCBIMCgR0YWdzGAogAygJEhMKBmNsb3NlZBgLIAEoCEgGiAEBEhwKD3BhcmVudF9ldmVudF9pZBgMIAEoA0gHiAEBQhIKEF9zdGFydF9kYXRlX2Zyb21CEAoOX3N0YXJ0X2RhdGVfdG9CEgoQX2NyZWF0ZWRfYXRfZnJvbUIQCg5fY3JlYXRlZF9hdF90b0IICgZfbGltaXRCCQoHX29mZnNldEIJCgdfY2xvc2VkQhIKEF9wYXJlbnRfZXZlbnRfaWQiSgobR2V0UG9seW1hcmtldEV2ZW50c1Jlc3BvbnNlEisKBmV2ZW50cxgBIAMoCzIbLkdldFBvbHltYXJrZXRFdmVudFJlc3BvbnNlIqIBChpHZXRQb2x5bWFya2V0RXZlbnRSZXNwb25zZRIfCgVldmVudBgBIAEoCzIQLlBvbHltYXJrZXRFdmVudBIiCgdtYXJrZXRzGAIgAygLMhEuUG9seW1hcmtldE1hcmtldBIcCgR0YWdzGAMgAygLMg4uUG9seW1hcmtldFRhZxIhCgZzZXJpZXMYBCADKAsyES5Qb2x5bWFya2V0U2VyaWVzIo4BCgtHZW9Mb2NhdGlvbhIUCgxjb3VudHJ5X2NvZGUYASABKAkSDwoHY291bnRyeRgCIAEoCRIOCgZyZWdpb24YAyABKAkSFQoIbGF0aXR1ZGUYBCABKAFIAIgBARIWCglsb25naXR1ZGUYBSABKAFIAYgBAUILCglfbGF0aXR1ZGVCDAoKX2xvbmdpdHVkZSK4DQoPUG9seW1hcmtldEV2ZW50EgoKAmlkGAEgASgDEhMKBnRpY2tlchgCIAEoCUgAiAEBEgwKBHNsdWcYAyABKAkSDQoFdGl0bGUYBCABKAkSGAoLZGVzY3JpcHRpb24YBSABKAlIAYgBARIjCgpzdGFydF9kYXRlGAYgASgLMgouVGltZXN0YW1wSAKIAQESJgoNY3JlYXRpb25fZGF0ZRgHIAEoCzIKLlRpbWVzdGFtcEgDiAEBEiEKCGVuZF9kYXRlGAggASgLMgouVGltZXN0YW1wSASIAQESIwoKY3JlYXRlZF9hdBgJIAEoCzIKLlRpbWVzdGFtcEgFiAEBEiMKCnVwZGF0ZWRfYXQYCiABKAsyCi5UaW1lc3RhbXBIBogBARIkCgtjbG9zZWRfdGltZRgLIAEoCzIKLlRpbWVzdGFtcEgHiAEBEisKEmZpbmlzaGVkX3RpbWVzdGFtcBgMIAEoCzIKLlRpbWVzdGFtcEgIiAEBEhIKBWltYWdlGA0gASgJSAmIAQESEQoEaWNvbhgOIAEoCUgKiAEBEg4KBmFjdGl2ZRgPIAEoCBIOCgZjbG9zZWQYECABKAgSEAoIYXJjaGl2ZWQYESABKAgSCwoDbmV3GBIgASgIEhAKCGZlYXR1cmVkGBMgASgIEhIKCnJlc3RyaWN0ZWQYFCABKAgSGAoLY29tcGV0aXRpdmUYFSABKAFIC4gBARIMCgRsaXZlGBYgASgIEg0KBWVuZGVkGBcgASgIEhYKCWxpcXVpZGl0eRgYIAEoAUgMiAEBEhMKBnZvbHVtZRgZIAEoAUgNiAEBEhoKDW9wZW5faW50ZXJlc3QYGiABKAFIDogBARIZCgx2b2x1bWVfMjRfaHIYGyABKAFID4gBARIYCgt2b2x1bWVfMV93axgcIAEoAUgQiAEBEhgKC3ZvbHVtZV8xX21vGB0gASgBSBGIAQESGwoObGlxdWlkaXR5X2Nsb2IYHiABKAFIEogBARIVCghjYXRlZ29yeRgfIAEoCUgTiAEBEhgKC3N1YmNhdGVnb3J5GCAgASgJSBSIAQESGwoOaG9tZV90ZWFtX25hbWUYISABKAlIFYgBARIbCg5hd2F5X3RlYW1fbmFtZRgiIAEoCUgWiAEBEhQKB2dhbWVfaWQYIyABKAVIF4gBARIYCgtnYW1lX3N0YXR1cxgkIAEoCUgYiAEBEhcKCmV2ZW50X2RhdGUYJSABKAlIGYgBARIXCgpldmVudF93ZWVrGCYgASgFSBqIAQESIwoKc3RhcnRfdGltZRgnIAEoCzIKLlRpbWVzdGFtcEgbiAEBEhUKCG5lZ19yaXNrGCggASgISByIAQESHwoSbmVnX3Jpc2tfbWFya2V0X2lkGCkgASgJSB2IAQESHgoRbmVnX3Jpc2tfZmVlX2JpcHMYKiABKANIHogBARIcCg9lbmFibGVfbmVnX3Jpc2sYKyABKAhIH4gBARIeChFyZXNvbHV0aW9uX3NvdXJjZRgsIAEoCUggiAEBEhwKD3BhcmVudF9ldmVudF9pZBgtIAEoA0ghiAEBQgkKB190aWNrZXJCDgoMX2Rlc2NyaXB0aW9uQg0KC19zdGFydF9kYXRlQhAKDl9jcmVhdGlvbl9kYXRlQgsKCV9lbmRfZGF0ZUINCgtfY3JlYXRlZF9hdEINCgtfdXBkYXRlZF9hdEIOCgxfY2xvc2VkX3RpbWVCFQoTX2ZpbmlzaGVkX3RpbWVzdGFtcEIICgZfaW1hZ2VCBwoFX2ljb25CDgoMX2NvbXBldGl0aXZlQgwKCl9saXF1aWRpdHlCCQoHX3ZvbHVtZUIQCg5fb3Blbl9pbnRlcmVzdEIPCg1fdm9sdW1lXzI0X2hyQg4KDF92b2x1bWVfMV93a0IOCgxfdm9sdW1lXzFfbW9CEQoPX2xpcXVpZGl0eV9jbG9iQgsKCV9jYXRlZ29yeUIOCgxfc3ViY2F0ZWdvcnlCEQoPX2hvbWVfdGVhbV9uYW1lQhEKD19hd2F5X3RlYW1fbmFtZUIKCghfZ2FtZV9pZEIOCgxfZ2FtZV9zdGF0dXNCDQoLX2V2ZW50X2RhdGVCDQoLX2V2ZW50X3dlZWtCDQoLX3N0YXJ0X3RpbWVCCwoJX25lZ19yaXNrQhUKE19uZWdfcmlza19tYXJrZXRfaWRCFAoSX25lZ19yaXNrX2ZlZV9iaXBzQhIKEF9lbmFibGVfbmVnX3Jpc2tCFAoSX3Jlc29sdXRpb25fc291cmNlQhIKEF9wYXJlbnRfZXZlbnRfaWQipAUKG0dldFBvbHltYXJrZXRNYXJrZXRzUmVxdWVzdBIRCgltYXJrZXRfaWQYASADKAMSDAoEc2x1ZxgCIAMoCRIdChBjbG9zZWRfdGltZV9mcm9tGAMgASgDSACIAQESGwoOY2xvc2VkX3RpbWVfdG8YBCABKANIAYgBARIcCg9zdGFydF9kYXRlX2Zyb20YBSABKANIAogBARIaCg1zdGFydF9kYXRlX3RvGAYgASgDSAOIAQESHAoPY3JlYXRlZF9hdF9mcm9tGAcgASgDSASIAQESGgoNY3JlYXRlZF9hdF90bxgIIAEoA0gFiAEBEhwKD3VwZGF0ZWRfYXRfZnJvbRgJIAEoA0gGiAEBEhoKDXVwZGF0ZWRfYXRfdG8YCiABKANIB4gBARITCgZjbG9zZWQYCyABKAhICIgBARIMCgRsaXRlGAwgASgIEhoKDWhhc19sb2NhdGlvbnMYDSABKAhICYgBARISCgVsaW1pdBgOIAEoBUgKiAEBEhMKBm9mZnNldBgPIAEoBUgLiAEBEgwKBHRhZ3MYECADKAkSFAoMY29uZGl0aW9uX2lkGBEgAygJEhUKCGFyY2hpdmVkGBIgASgISAyIAQFCEwoRX2Nsb3NlZF90aW1lX2Zyb21CEQoPX2Nsb3NlZF90aW1lX3RvQhIKEF9zdGFydF9kYXRlX2Zyb21CEAoOX3N0YXJ0X2RhdGVfdG9CEgoQX2NyZWF0ZWRfYXRfZnJvbUIQCg5fY3JlYXRlZF9hdF90b0ISChBfdXBkYXRlZF9hdF9mcm9tQhAKDl91cGRhdGVkX2F0X3RvQgkKB19jbG9zZWRCEAoOX2hhc19sb2NhdGlvbnNCCAoGX2xpbWl0QgkKB19vZmZzZXRCCwoJX2FyY2hpdmVkIk0KHEdldFBvbHltYXJrZXRNYXJrZXRzUmVzcG9uc2USLQoHbWFya2V0cxgBIAMoCzIcLkdldFBvbHltYXJrZXRNYXJrZXRSZXNwb25zZSJwChtHZXRQb2x5bWFya2V0TWFya2V0UmVzcG9uc2USIQoGbWFya2V0GAEgASgLMhEuUG9seW1hcmtldE1hcmtldBIkCgVldmVudBgCIAEoCzIQLlBvbHltYXJrZXRFdmVudEgAiAEBQggKBl9ldmVudCLKEgoQUG9seW1hcmtldE1hcmtldBIKCgJpZBgBIAEoAxIQCghxdWVzdGlvbhgCIAEoCRIZCgxjb25kaXRpb25faWQYAyABKAlIAIgBARIMCgRzbHVnGAQgASgJEiMKCnN0YXJ0X2RhdGUYBSABKAsyCi5UaW1lc3RhbXBIAYgBARIhCghlbmRfZGF0ZRgGIAEoCzIKLlRpbWVzdGFtcEgCiAEBEiMKCmNyZWF0ZWRfYXQYByABKAsyCi5UaW1lc3RhbXBIA4gBARIjCgp1cGRhdGVkX2F0GAggASgLMgouVGltZXN0YW1wSASIAQESJAoLY2xvc2VkX3RpbWUYCSABKAsyCi5UaW1lc3RhbXBIBYgBARIzChphY2NlcHRpbmdfb3JkZXJzX3RpbWVzdGFtcBgKIAEoCzIKLlRpbWVzdGFtcEgGiAEBEiUKDHVtYV9lbmRfZGF0ZRgLIAEoCzIKLlRpbWVzdGFtcEgHiAEBEhIKBWltYWdlGAwgASgJSAiIAQESEQoEaWNvbhgNIAEoCUgJiAEBEhgKC2Rlc2NyaXB0aW9uGA4gASgJSAqIAQESEAoIb3V0Y29tZXMYDyADKAkSFgoOb3V0Y29tZV9wcmljZXMYECADKAESDgoGYWN0aXZlGBEgASgIEg4KBmNsb3NlZBgSIAEoCBIYChBhY2NlcHRpbmdfb3JkZXJzGBMgASgIEhkKDHN1Ym1pdHRlZF9ieRgUIAEoCUgLiAEBEhgKC3Jlc29sdmVkX2J5GBUgASgJSAyIAQESFgoJbGlxdWlkaXR5GBYgASgBSA2IAQESFwoKdm9sdW1lX251bRgXIAEoAUgOiAEBEhoKDWxpcXVpZGl0eV9udW0YGCABKAFID4gBARIZCgx2b2x1bWVfMjRfaHIYGSABKAFIEIgBARIYCgt2b2x1bWVfMV93axgaIAEoAUgRiAEBEhgKC3ZvbHVtZV8xX21vGBsgASgBSBKIAQESGAoLdm9sdW1lXzFfeXIYHCABKAFIE4gBARIeChF2b2x1bWVfMjRfaHJfY2xvYhgdIAEoAUgUiAEBEh0KEHZvbHVtZV8xX3drX2Nsb2IYHiABKAFIFYgBARIdChB2b2x1bWVfMV9tb19jbG9iGB8gASgBSBaIAQESHQoQdm9sdW1lXzFfeXJfY2xvYhggIAEoAUgXiAEBEhgKC3ZvbHVtZV9jbG9iGCEgASgBSBiIAQESGwoObGlxdWlkaXR5X2Nsb2IYIiABKAFIGYgBARIWCg5jbG9iX3Rva2VuX2lkcxgjIAMoCRIiChV1bWFfcmVzb2x1dGlvbl9zdGF0dXMYJCABKAlIGogBARIfChd1bWFfcmVzb2x1dGlvbl9zdGF0dXNlcxglIAMoCRIVCghjYXRlZ29yeRgmIAEoCUgbiAEBEiEKFG9uZV9kYXlfcHJpY2VfY2hhbmdlGCcgASgBSByIAQESHQoQZ3JvdXBfaXRlbV90aXRsZRgoIAEoCUgdiAEBEhMKBnNwcmVhZBgpIAEoAUgeiAEBEiIKFW9uZV9ob3VyX3ByaWNlX2NoYW5nZRgqIAEoAUgfiAEBEiIKFW9uZV93ZWVrX3ByaWNlX2NoYW5nZRgrIAEoAUggiAEBEiMKFm9uZV9tb250aF9wcmljZV9jaGFuZ2UYLCABKAFIIYgBARIdChBsYXN0X3RyYWRlX3ByaWNlGC0gASgBSCKIAQESFQoIYmVzdF9iaWQYLiABKAFII4gBARIVCghiZXN0X2FzaxgvIAEoAUgkiAEBEhsKDm5lZ19yaXNrX290aGVyGDAgASgISCWIAQESIwoNZ2VvX2xvY2F0aW9ucxgxIAMoCzIMLkdlb0xvY2F0aW9uEhAKCGFyY2hpdmVkGDIgASgIEhoKDW9wZW5faW50ZXJlc3QYMyABKAFIJogBARIxChhvcGVuX2ludGVyZXN0X3VwZGF0ZWRfYXQYNCABKAsyCi5UaW1lc3RhbXBIJ4gBARImChlvcmRlcl9wcmljZV9taW5fdGlja19zaXplGDUgASgBSCiIAQESHwoSc3BvcnRzX21hcmtldF90eXBlGDYgASgJSCmIAQESEQoEbGluZRg3IAEoAUgqiAEBQg8KDV9jb25kaXRpb25faWRCDQoLX3N0YXJ0X2RhdGVCCwoJX2VuZF9kYXRlQg0KC19jcmVhdGVkX2F0Qg0KC191cGRhdGVkX2F0Qg4KDF9jbG9zZWRfdGltZUIdChtfYWNjZXB0aW5nX29yZGVyc190aW1lc3RhbXBCDwoNX3VtYV9lbmRfZGF0ZUIICgZfaW1hZ2VCBwoFX2ljb25CDgoMX2Rlc2NyaXB0aW9uQg8KDV9zdWJtaXR0ZWRfYnlCDgoMX3Jlc29sdmVkX2J5QgwKCl9saXF1aWRpdHlCDQoLX3ZvbHVtZV9udW1CEAoOX2xpcXVpZGl0eV9udW1CDwoNX3ZvbHVtZV8yNF9ockIOCgxfdm9sdW1lXzFfd2tCDgoMX3ZvbHVtZV8xX21vQg4KDF92b2x1bWVfMV95ckIUChJfdm9sdW1lXzI0X2hyX2Nsb2JCEwoRX3ZvbHVtZV8xX3drX2Nsb2JCEwoRX3ZvbHVtZV8xX21vX2Nsb2JCEwoRX3ZvbHVtZV8xX3lyX2Nsb2JCDgoMX3ZvbHVtZV9jbG9iQhEKD19saXF1aWRpdHlfY2xvYkIYChZfdW1hX3Jlc29sdXRpb25fc3RhdHVzQgsKCV9jYXRlZ29yeUIXChVfb25lX2RheV9wcmljZV9jaGFuZ2VCEwoRX2dyb3VwX2l0ZW1fdGl0bGVCCQoHX3NwcmVhZEIYChZfb25lX2hvdXJfcHJpY2VfY2hhbmdlQhgKFl9vbmVfd2Vla19wcmljZV9jaGFuZ2VCGQoXX29uZV9tb250aF9wcmljZV9jaGFuZ2VCEwoRX2xhc3RfdHJhZGVfcHJpY2VCCwoJX2Jlc3RfYmlkQgsKCV9iZXN0X2Fza0IRCg9fbmVnX3Jpc2tfb3RoZXJCEAoOX29wZW5faW50ZXJlc3RCGwoZX29wZW5faW50ZXJlc3RfdXBkYXRlZF9hdEIcChpfb3JkZXJfcHJpY2VfbWluX3RpY2tfc2l6ZUIVChNfc3BvcnRzX21hcmtldF90eXBlQgcKBV9saW5lIoECCg1Qb2x5bWFya2V0VGFnEgoKAmlkGAEgASgDEg0KBWxhYmVsGAIgASgJEgwKBHNsdWcYAyABKAkSEgoKZm9yY2Vfc2hvdxgEIAEoCBITCgtpc19jYXJvdXNlbBgFIAEoCBIlCgxwdWJsaXNoZWRfYXQYBiABKAsyCi5UaW1lc3RhbXBIAIgBARIjCgpjcmVhdGVkX2F0GAcgASgLMgouVGltZXN0YW1wSAGIAQESIwoKdXBkYXRlZF9hdBgIIAEoCzIKLlRpbWVzdGFtcEgCiAEBQg8KDV9wdWJsaXNoZWRfYXRCDQoLX2NyZWF0ZWRfYXRCDQoLX3VwZGF0ZWRfYXQi+QIKEFBvbHltYXJrZXRTZXJpZXMSCgoCaWQYASABKAMSEwoGdGlja2VyGAIgASgJSACIAQESDQoFdGl0bGUYAyABKAkSEgoFaW1hZ2UYBCABKAlIAYgBARIRCgRpY29uGAUgASgJSAKIAQESDgoGYWN0aXZlGAYgASgIEg4KBmNsb3NlZBgHIAEoCBIQCghhcmNoaXZlZBgIIAEoCBIQCghmZWF0dXJlZBgJIAEoCBIjCgpjcmVhdGVkX2F0GAogASgLMgouVGltZXN0YW1wSAOIAQESIwoKdXBkYXRlZF9hdBgLIAEoCzIKLlRpbWVzdGFtcEgEiAEBEhMKBnZvbHVtZRgMIAEoAUgFiAEBEhYKCWxpcXVpZGl0eRgNIAEoAUgGiAEBQgkKB190aWNrZXJCCAoGX2ltYWdlQgcKBV9pY29uQg0KC19jcmVhdGVkX2F0Qg0KC191cGRhdGVkX2F0QgkKB192b2x1bWVCDAoKX2xpcXVpZGl0eSK4EAodR2V0UG9seW1hcmtldEFuYWx5dGljc1JlcXVlc3QSJQoEdHlwZRgBIAEoDjIXLlBvbHltYXJrZXRBbmFseXRpY1R5cGUSFQoIYXNzZXRfaWQYAiABKAlIAIgBARIVCghldmVudF9pZBgDIAEoCUgBiAEBEhQKDGNvbmRpdGlvbl9pZBgEIAMoCRITCgt1c2VyX3dhbGxldBgFIAMoCRIRCgRmcm9tGAYgASgDSAKIAQESDwoCdG8YByABKANIA4gBARITCgZvZmZzZXQYCCABKANIBIgBARISCgVsaW1pdBgJIAEoA0gFiAEBEhgKBHNpZGUYCiABKA4yBS5TaWRlSAaIAQESGQoMb3V0Y29tZV9uYW1lGAsgASgJSAeIAQESFwoKc2l6ZV9mbG9vchgMIAEoA0gIiAEBEhsKDnJvaV9wZXJjZW50YWdlGA0gASgDSAmIAQESIgoVbWF4X3RvdGFsX3RyYWRlX2NvdW50GA4gASgBSAqIAQESFQoId2luX3JhdGUYDyABKAFIC4gBARIeChFhdmdfcG9zaXRpb25fc2l6ZRgQIAEoAUgMiAEBEhkKDHRvdGFsX3ZvbHVtZRgRIAEoAUgNiAEBEh0KEHByaW1hcnlfY2F0ZWdvcnkYEiABKAlIDogBARIhChRjYXRlZ29yeV90cmFkZV9jb3VudBgTIAEoA0gPiAEBEiAKE29wZW5fcG9zaXRpb25fY291bnQYFCABKANIEIgBARIiChV0aW1lX3NpbmNlX2xhc3RfdHJhZGUYFSABKANIEYgBARIdChBhdmdfaG9sZGluZ190aW1lGBYgASgDSBKIAQESFAoMdGFrZXJfd2FsbGV0GBcgAygJEhQKDG1ha2VyX3dhbGxldBgYIAMoCRIgChNhdmdfb3Blbl9pbnZlc3RtZW50GBkgASgBSBOIAQESMgoHc29ydF9ieRgaIAEoDjIcLlBvbHltYXJrZXRBbmFseXRpY1NvcnRGaWVsZEgUiAEBEisKDnNvcnRfZGlyZWN0aW9uGBsgASgOMg4uU29ydERpcmVjdGlvbkgViAEBEiIKFW1pbl90b3RhbF90cmFkZV9jb3VudBgcIAEoAUgWiAEBEi0KD3Bvc2l0aW9uX3N0YXR1cxgdIAEoDjIPLlBvc2l0aW9uU3RhdHVzSBeIAQESGgoNb3BlbmVkX2JlZm9yZRgeIAEoA0gYiAEBEhkKDG9wZW5lZF9hZnRlchgfIAEoA0gZiAEBEh0KEG1pbl9yZWFsaXplZF9wbmwYICABKAFIGogBARIdChBtYXhfcmVhbGl6ZWRfcG5sGCEgASgBSBuIAQESHgoRbWluX3JlYWxpemVkX3NpemUYIiABKAFIHIgBARIeChFtYXhfcmVhbGl6ZWRfc2l6ZRgjIAEoAUgdiAEBEiAKE21pbl91bnJlYWxpemVkX3NpemUYJCABKAFIHogBARIgChNtYXhfdW5yZWFsaXplZF9zaXplGCUgASgBSB+IAQESLwoOcG5sX2NvbXBvbmVudHMYJiADKA4yFy5Qb2x5bWFya2V0UG5sQ29tcG9uZW50EkAKFGRpc3RyaWJ1dGlvbl9yYW5rX2J5GCcgASgOMh0uUG9seW1hcmtldERpc3RyaWJ1dGlvblJhbmtCeUggiAEBEkgKGGRpc3RyaWJ1dGlvbl9iYW5kX3ByZXNldBgoIAEoDjIhLlBvbHltYXJrZXREaXN0cmlidXRpb25CYW5kUHJlc2V0SCGIAQESJAoXZGlzdHJpYnV0aW9uX2N1bXVsYXRpdmUYKiABKAhIIogBARInChpkaXN0cmlidXRpb25fbWluX3Bvc2l0aW9ucxgrIAEoA0gjiAEBQgsKCV9hc3NldF9pZEILCglfZXZlbnRfaWRCBwoFX2Zyb21CBQoDX3RvQgkKB19vZmZzZXRCCAoGX2xpbWl0QgcKBV9zaWRlQg8KDV9vdXRjb21lX25hbWVCDQoLX3NpemVfZmxvb3JCEQoPX3JvaV9wZXJjZW50YWdlQhgKFl9tYXhfdG90YWxfdHJhZGVfY291bnRCCwoJX3dpbl9yYXRlQhQKEl9hdmdfcG9zaXRpb25fc2l6ZUIPCg1fdG90YWxfdm9sdW1lQhMKEV9wcmltYXJ5X2NhdGVnb3J5QhcKFV9jYXRlZ29yeV90cmFkZV9jb3VudEIWChRfb3Blbl9wb3NpdGlvbl9jb3VudEIYChZfdGltZV9zaW5jZV9sYXN0X3RyYWRlQhMKEV9hdmdfaG9sZGluZ190aW1lQhYKFF9hdmdfb3Blbl9pbnZlc3RtZW50QgoKCF9zb3J0X2J5QhEKD19zb3J0X2RpcmVjdGlvbkIYChZfbWluX3RvdGFsX3RyYWRlX2NvdW50QhIKEF9wb3NpdGlvbl9zdGF0dXNCEAoOX29wZW5lZF9iZWZvcmVCDwoNX29wZW5lZF9hZnRlckITChFfbWluX3JlYWxpemVkX3BubEITChFfbWF4X3JlYWxpemVkX3BubEIUChJfbWluX3JlYWxpemVkX3NpemVCFAoSX21heF9yZWFsaXplZF9zaXplQhYKFF9taW5fdW5yZWFsaXplZF9zaXplQhYKFF9tYXhfdW5yZWFsaXplZF9zaXplQhcKFV9kaXN0cmlidXRpb25fcmFua19ieUIbChlfZGlzdHJpYnV0aW9uX2JhbmRfcHJlc2V0QhoKGF9kaXN0cmlidXRpb25fY3VtdWxhdGl2ZUIdChtfZGlzdHJpYnV0aW9uX21pbl9wb3NpdGlvbnMinAIKFlBvbHltYXJrZXRQYXJzZWRPcmRlcnMSDwoHdHhfaGFzaBgBIAEoCRIdCgl0aW1lc3RhbXAYAiABKAsyCi5UaW1lc3RhbXASEAoIYXNzZXRfaWQYAyABKAkSFQoNbWFrZXJfYWRkcmVzcxgEIAEoCRIVCg10YWtlcl9hZGRyZXNzGAUgASgJEgwKBHNpemUYByABKAESDQoFcHJpY2UYCCABKAESDAoEc2lkZRgJIAEoCRITCgttYXJrZXRfbmFtZRgKIAEoCRIUCgxvdXRjb21lX25hbWUYCyABKAkSEgoKZXZlbnRfc2x1ZxgMIAEoCRISCgpvcmRlcl9oYXNoGA0gASgJEhQKDGNvbmRpdGlvbl9pZBgOIAEoCSLdAQohUG9seW1hcmtldFRyYWRlckNhdGVnb3J5QnJlYWtkb3duEhcKD21hcmtldF9jYXRlZ29yeRgBIAEoCRIbChNtYXJrZXRfc3ViX2NhdGVnb3J5GAIgASgJEg0KBWNvdW50GAMgASgDEhUKDXJlYWxpemVkX3NpemUYBCABKAESFwoPdW5yZWFsaXplZF9zaXplGAUgASgBEhQKDHJlYWxpemVkX3BubBgGIAEoARItCg1wbmxfYnlfc291cmNlGAcgASgLMhYuUG9seW1hcmtldFBubEJ5U291cmNlInQKGlBvbHltYXJrZXRUcmFkZXJDYXRlZ29yaWVzEhYKDndhbGxldF9hZGRyZXNzGAEgASgJEj4KEmNhdGVnb3J5X2JyZWFrZG93bhgCIAMoCzIiLlBvbHltYXJrZXRUcmFkZXJDYXRlZ29yeUJyZWFrZG93biKUBQoXUG9seW1hcmtldFRyYWRlclByb2ZpbGUSFgoOd2FsbGV0X2FkZHJlc3MYASABKAkSHAoUdG90YWxfcG9zaXRpb25fY291bnQYAiABKAMSGwoTb3Blbl9wb3NpdGlvbl9jb3VudBgDIAEoAxIdChVjbG9zZWRfcG9zaXRpb25fY291bnQYBCABKAMSKwoXbGF0ZXN0X29wZW5fcG9zaXRpb25fdHMYBSABKAsyCi5UaW1lc3RhbXASEgoKdG90YWxfc2l6ZRgGIAEoARIaChJ0b3RhbF9yZWFsaXplZF9wbmwYByABKAESHAoUdG90YWxfdW5yZWFsaXplZF9wbmwYCCABKAESEQoJdG90YWxfcm9pGAkgASgBEh0KFXdpbl9yYXRlX2J5X3Bvc2l0aW9ucxgKIAEoARITCgtsYXJnZXN0X3dpbhgLIAEoARIUCgxsYXJnZXN0X2xvc3MYDCABKAESHAoUYXZnX2hvbGRpbmdfZHVyYXRpb24YDSABKAMSHAoUdG90YWxfb3Blbl9wb3NfdmFsdWUYDiABKAESHgoWdG90YWxfY2xvc2VkX3Bvc192YWx1ZRgPIAEoARItCg1wbmxfYnlfc291cmNlGBAgASgLMhYuUG9seW1hcmtldFBubEJ5U291cmNlEjUKDGV2ZW50X2NvdW50cxgRIAEoCzIfLlBvbHltYXJrZXRBZ2dyZWdhdGVFdmVudENvdW50cxIYChB0b3RhbF9jb3N0X2Jhc2lzGBIgASgBEhsKE2F2Z19vcGVuX2ludmVzdG1lbnQYEyABKAESHAoUdG90YWxfb3JkZXJfYnV5X2Nvc3QYFCABKAESGAoQdG90YWxfc3BsaXRfY29zdBgVIAEoASKdBQoXUG9seW1hcmtldFVzZXJQb3NpdGlvbnMSFgoOd2FsbGV0X2FkZHJlc3MYASABKAkSEAoIYXNzZXRfaWQYAiABKAkSFwoPdW5yZWFsaXplZF9zaXplGAMgASgBEhUKDXJlYWxpemVkX3NpemUYBCABKAESEQoJYXZnX3ByaWNlGAUgASgBEhYKDmF2Z19leGl0X3ByaWNlGAYgASgBEhQKDHJlYWxpemVkX3BubBgHIAEoARIWCg5yZXNvbHZlZF9wcmljZRgIIAEoARIWCg5sYXRlc3Rfb3Blbl90cxgJIAEoAxIaChJwcmV2X2hvbGRfZHVyYXRpb24YCiABKAMSEQoJYnV5X2NvdW50GAsgASgFEhIKCnNlbGxfY291bnQYDCABKAUSEwoLc3BsaXRfY291bnQYDSABKAUSEwoLbWVyZ2VfY291bnQYDiABKAUSGQoRdHJhbnNmZXJfaW5fY291bnQYDyABKAUSGgoSdHJhbnNmZXJfb3V0X2NvdW50GBAgASgFEhsKE2NvbnZlcnNpb25faW5fY291bnQYESABKAUSHAoUY29udmVyc2lvbl9vdXRfY291bnQYEiABKAUSEwoLbWFya2V0X25hbWUYEyABKAkSFAoMb3V0Y29tZV9uYW1lGBQgASgJEhAKCGNhdGVnb3J5GBUgASgJEhQKDHN1Yl9jYXRlZ29yeRgWIAEoCRIZCgxjb25kaXRpb25faWQYFyABKAlIAIgBARItCg1wbmxfYnlfc291cmNlGBggASgLMhYuUG9seW1hcmtldFBubEJ5U291cmNlEhYKDm9yZGVyX2J1eV9jb3N0GBkgASgBEhIKCnNwbGl0X2Nvc3QYGiABKAFCDwoNX2NvbmRpdGlvbl9pZCL9AQohUG9seW1hcmtldE91dGNvbWVFeGNsdXNpdmVTdW1tYXJ5EhQKDGNvbmRpdGlvbl9pZBgBIAEoCRIQCgh0b2tlbl9pZBgCIAEoCRIUCgxvdXRjb21lX25hbWUYAyABKAkSIAoYd2VpZ2h0ZWRfYXZnX2VudHJ5X3ByaWNlGAQgASgBEh8KF3dlaWdodGVkX2F2Z19leGl0X3ByaWNlGAUgASgBEicKH29wZW5fcG9zX2F2Z19wcmljZV9kaXN0cmlidXRpb24YBiADKAESLgomY2xvc2VkX3Bvc19hdmdfZXhpdF9wcmljZV9kaXN0cmlidXRpb24YByADKAEi/wYKF1BvbHltYXJrZXRNYXJrZXRTdW1tYXJ5EhAKCGV2ZW50X2lkGAEgASgJEhQKDGNvbmRpdGlvbl9pZBgCIAMoCRIcChR0b3RhbF9vcGVuX3Bvc2l0aW9ucxgDIAEoBRIeChZ0b3RhbF9jbG9zZWRfcG9zaXRpb25zGAQgASgFEhgKEHRvdGFsX2Nvc3RfYmFzaXMYBSABKAESEgoKdG90YWxfc2l6ZRgGIAEoARIdChVsYXJnZXN0X29wZW5fcG9zaXRpb24YByABKAESFwoPdG90YWxfYnV5X2NvdW50GAggASgFEhgKEHRvdGFsX3NlbGxfY291bnQYCSABKAUSGQoRdG90YWxfc3BsaXRfY291bnQYCiABKAUSGQoRdG90YWxfbWVyZ2VfY291bnQYCyABKAUSHwoXdG90YWxfdHJhbnNmZXJfaW5fY291bnQYDCABKAUSIAoYdG90YWxfdHJhbnNmZXJfb3V0X2NvdW50GA0gASgFEiEKGXRvdGFsX2NvbnZlcnNpb25faW5fY291bnQYDiABKAUSIgoadG90YWxfY29udmVyc2lvbl9vdXRfY291bnQYDyABKAUSGQoRbmV0X3RyYW5zZmVyX2Zsb3cYECABKAUSGwoTbmV0X2NvbnZlcnNpb25fZmxvdxgRIAEoBRIcChRtZWRpYW5faG9sZF9kdXJhdGlvbhgSIAEoARIaChJtZWFuX2hvbGRfZHVyYXRpb24YEyABKAESGAoQcmVhbGl6ZWRfcG5sX21pbhgUIAEoARIYChByZWFsaXplZF9wbmxfbWF4GBUgASgBEiEKGXJlYWxpemVkX3BubF9kaXN0cmlidXRpb24YFiADKAESEAoId2luX3JhdGUYFyABKAESFQoNYXZnX2J1eV9jb3VudBgYIAEoARIWCg5hdmdfc2VsbF9jb3VudBgZIAEoARIQCghhdmdfc2l6ZRgaIAEoARI7Cg9vdXRjb21lX3ByaWNpbmcYGyADKAsyIi5Qb2x5bWFya2V0T3V0Y29tZUV4Y2x1c2l2ZVN1bW1hcnkSLQoNcG5sX2J5X3NvdXJjZRgcIAEoCzIWLlBvbHltYXJrZXRQbmxCeVNvdXJjZRIcChR0b3RhbF9vcmRlcl9idXlfY29zdBgdIAEoARIYChB0b3RhbF9zcGxpdF9jb3N0GB4gASgBIp8EChlQb2x5bWFya2V0UGxhdGZvcm1TdW1tYXJ5EhYKDmFjY291bnRzX3RvdGFsGAEgASgDEhcKD2FjY291bnRzX2FjdGl2ZRgCIAEoAxIbChNhY2NvdW50c19wcm9maXRhYmxlGAMgASgDEhcKD2FjY291bnRzX2xvc2luZxgEIAEoAxIVCg1hY2NvdW50c19mbGF0GAUgASgDEhYKDnRvdGFsX3dpbm5pbmdzGAYgASgBEhQKDHRvdGFsX2xvc3NlcxgHIAEoARIPCgduZXRfcG5sGAggASgBEigKIGxpZmV0aW1lX2J1eV9ub3Rpb25hbF9pbmNfc3BsaXRzGAkgASgBEiMKG2xpZmV0aW1lX29yZGVyX2J1eV9ub3Rpb25hbBgKIAEoARItCg1wbmxfYnlfc291cmNlGAsgASgLMhYuUG9seW1hcmtldFBubEJ5U291cmNlEjgKEmFjdGl2aXR5X2hpc3RvZ3JhbRgMIAEoCzIcLlBvbHltYXJrZXRBY3Rpdml0eUhpc3RvZ3JhbRISCgptZWRpYW5fcG5sGA0gASgBEg8KB3A5MF9wbmwYDiABKAESDwoHcDk5X3BubBgPIAEoARIPCgdtYXhfcG5sGBAgASgBEg8KB21pbl9wbmwYESABKAESNQoMZXZlbnRfY291bnRzGBIgASgLMh8uUG9seW1hcmtldEFnZ3JlZ2F0ZUV2ZW50Q291bnRzIt8BChVQb2x5bWFya2V0UG5sQnlTb3VyY2USEgoKb3JkZXJfc2VsbBgBIAEoARIhChlvcmRlcl9idXlfcG9zdF9yZXNvbHV0aW9uGAIgASgBEhIKCnJlc29sdXRpb24YAyABKAESEgoKY29udmVyc2lvbhgEIAEoARINCgVtZXJnZRgFIAEoARIdChVzcGxpdF9wb3N0X3Jlc29sdXRpb24YBiABKAESFAoMdHJhbnNmZXJfb3V0GAcgASgBEiMKG3RyYW5zZmVyX2luX3Bvc3RfcmVzb2x1dGlvbhgIIAEoASK5AQobUG9seW1hcmtldEFjdGl2aXR5SGlzdG9ncmFtEhgKEHBvc2l0aW9uX2NvdW50XzEYASABKAMSHQoVcG9zaXRpb25fY291bnRfMl90b181GAIgASgDEh4KFnBvc2l0aW9uX2NvdW50XzZfdG9fMjAYAyABKAMSIAoYcG9zaXRpb25fY291bnRfMjFfdG9fMTAwGAQgASgDEh8KF3Bvc2l0aW9uX2NvdW50X292ZXJfMTAwGAUgASgDIoUBCh5Qb2x5bWFya2V0QWdncmVnYXRlRXZlbnRDb3VudHMSDAoEYnV5cxgBIAEoAxINCgVzZWxscxgCIAEoAxIOCgZzcGxpdHMYAyABKAMSDgoGbWVyZ2VzGAQgASgDEhEKCXRyYW5zZmVycxgFIAEoAxITCgtjb252ZXJzaW9ucxgGIAEoAyKHAwoaUG9seW1hcmtldERpc3RyaWJ1dGlvbkJhbmQSDwoHYmFuZF9pZBgBIAEoBRISCgpiYW5kX2xhYmVsGAIgASgJEhUKDWFjY291bnRfY291bnQYAyABKAMSFgoOcGN0X3Byb2ZpdGFibGUYBCABKAESDwoHYXZnX3BubBgFIAEoARIRCgl0b3RhbF9wbmwYBiABKAESEgoKbWVkaWFuX3BubBgHIAEoARIWCg5yYW5rX3ZhbHVlX21pbhgIIAEoARIWCg5yYW5rX3ZhbHVlX21heBgJIAEoARIZChFtZWRpYW5fcmFua192YWx1ZRgKIAEoARIXCg9hdmdfdHJhZGVfY291bnQYCyABKAESGgoSYXZnX3Bvc2l0aW9uX2NvdW50GAwgASgBEhwKFGF2Z19ob2xkaW5nX2R1cmF0aW9uGA0gASgBEhAKCHdpbl9yYXRlGA4gASgBEi0KDXBubF9ieV9zb3VyY2UYDyABKAsyFi5Qb2x5bWFya2V0UG5sQnlTb3VyY2UinAEKJVBvbHltYXJrZXREaXN0cmlidXRpb25DdW11bGF0aXZlUG9pbnQSFAoMcGN0X2Zyb21fdG9wGAEgASgBEhkKEWN1bXVsYXRpdmVfbWV0cmljGAIgASgBEiEKGWN1bXVsYXRpdmVfc2hhcmVfd2lubmluZ3MYAyABKAESHwoXY3VtdWxhdGl2ZV9zaGFyZV9sb3NzZXMYBCABKAEiogEKHlBvbHltYXJrZXRQbGF0Zm9ybURpc3RyaWJ1dGlvbhI3ChJkaXN0cmlidXRpb25fYmFuZHMYASADKAsyGy5Qb2x5bWFya2V0RGlzdHJpYnV0aW9uQmFuZBJHChdkaXN0cmlidXRpb25fY3VtdWxhdGl2ZRgCIAMoCzImLlBvbHltYXJrZXREaXN0cmlidXRpb25DdW11bGF0aXZlUG9pbnQikgMKHkdldFBvbHltYXJrZXRBbmFseXRpY3NSZXNwb25zZRItCgxvcmRlcl9maWxsZWQYASADKAsyFy5Qb2x5bWFya2V0UGFyc2VkT3JkZXJzEjEKD3RyYWRlcl9wcm9maWxlcxgCIAMoCzIYLlBvbHltYXJrZXRUcmFkZXJQcm9maWxlEjAKDnVzZXJfcG9zaXRpb25zGAMgAygLMhguUG9seW1hcmtldFVzZXJQb3NpdGlvbnMSMAoObWFya2V0X3N1bW1hcnkYBCADKAsyGC5Qb2x5bWFya2V0TWFya2V0U3VtbWFyeRI0Cg91c2VyX2NhdGVnb3JpZXMYBSADKAsyGy5Qb2x5bWFya2V0VHJhZGVyQ2F0ZWdvcmllcxI0ChBwbGF0Zm9ybV9zdW1tYXJ5GAYgAygLMhouUG9seW1hcmtldFBsYXRmb3JtU3VtbWFyeRI+ChVwbGF0Zm9ybV9kaXN0cmlidXRpb24YByADKAsyHy5Qb2x5bWFya2V0UGxhdGZvcm1EaXN0cmlidXRpb24iwQIKG0dldE1lbWVjb2luQW5hbHl0aWNzUmVxdWVzdBIjCgR0eXBlGAEgASgOMhUuTWVtZWNvaW5BbmFseXRpY1R5cGUSFQoFY2hhaW4YAiABKA4yBi5DaGFpbhIVCg10b2tlbl9hZGRyZXNzGAMgASgJEhMKC3VzZXJfd2FsbGV0GAQgAygJEhMKBm9mZnNldBgFIAEoA0gAiAEBEhIKBWxpbWl0GAYgASgDSAGIAQESMAoHc29ydF9ieRgHIAEoDjIaLk1lbWVjb2luQW5hbHl0aWNTb3J0RmllbGRIAogBARIrCg5zb3J0X2RpcmVjdGlvbhgIIAEoDjIOLlNvcnREaXJlY3Rpb25IA4gBAUIJCgdfb2Zmc2V0QggKBl9saW1pdEIKCghfc29ydF9ieUIRCg9fc29ydF9kaXJlY3Rpb24i2QIKFU1lbWVjb2luVHJhZGVyUHJvZmlsZRIWCg53YWxsZXRfYWRkcmVzcxgBIAEoCRIYChB0b3RhbF9ib3VnaHRfdXNkGAIgASgBEhYKDnRvdGFsX3NvbGRfdXNkGAMgASgBEhUKDXRva2Vuc19ib3VnaHQYBCABKAkSEwoLdG9rZW5zX3NvbGQYBSABKAkSGAoQcmVtYWluaW5nX3Rva2VucxgGIAEoCRIRCglidXlfY291bnQYByABKAMSEgoKc2VsbF9jb3VudBgIIAEoAxIWCg5maXJzdF90cmFkZV90cxgJIAEoAxIXCg9sYXRlc3RfdHJhZGVfdHMYCiABKAMSGQoRYXZnX2J1eV9wcmljZV91c2QYCyABKAESGgoSdG90YWxfcmVhbGl6ZWRfcG5sGAwgASgBEhEKCXRvdGFsX3JvaRgNIAEoARIOCgZsYWJlbHMYDiADKAkipAEKE01lbWVjb2luVG9rZW5Ib2xkZXISFgoOd2FsbGV0X2FkZHJlc3MYASABKAkSDwoHYmFsYW5jZRgCIAEoCRITCgtiYWxhbmNlX3VzZBgDIAEoARIVCg1wY3Rfb2Zfc3VwcGx5GAQgASgBEhUKDWZpcnN0X2hlbGRfdHMYBSABKAMSIQoIY2F0ZWdvcnkYBiABKA4yDy5Ib2xkZXJDYXRlZ29yeSJ2ChxHZXRNZW1lY29pbkFuYWx5dGljc1Jlc3BvbnNlEi8KD3RyYWRlcl9wcm9maWxlcxgBIAMoCzIWLk1lbWVjb2luVHJhZGVyUHJvZmlsZRIlCgdob2xkZXJzGAIgAygLMhQuTWVtZWNvaW5Ub2tlbkhvbGRlciJRCh9HZXRQb2x5bWFya2V0Q2F0ZWdvcmllc1Jlc3BvbnNlEi4KDWNhdGVnb3J5X3BhaXIYASADKAsyFy5Qb2x5bWFya2V0Q2F0ZWdvcnlQYWlyIkAKFlBvbHltYXJrZXRDYXRlZ29yeVBhaXISEAoIY2F0ZWdvcnkYASABKAkSFAoMc3ViX2NhdGVnb3J5GAIgASgJIoQBChRTeW1ib2xEaXJlY3RvcnlWZW51ZRIbCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlEg4KBnN5bWJvbBgCIAEoCRIYChBub3JtYWxpemVkU3ltYm9sGAMgASgJEhYKDmluc3RydW1lbnRUeXBlGAQgASgJEg0KBXF1b3RlGAUgASgJIm0KFFN5bWJvbERpcmVjdG9yeUFzc2V0EgwKBG5hbWUYASABKAkSDgoGdGlja2VyGAIgASgJEiUKBnZlbnVlcxgDIAMoCzIVLlN5bWJvbERpcmVjdG9yeVZlbnVlEhAKCGdyb3VwS2V5GAQgASgJInkKF1N5bWJvbERpcmVjdG9yeVJlc3BvbnNlEg8KB2J1aWx0QXQYASABKAkSEgoKYXNzZXRDb3VudBgCIAEoBRISCgp2ZW51ZUNvdW50GAMgASgFEiUKBmFzc2V0cxgEIAMoCzIVLlN5bWJvbERpcmVjdG9yeUFzc2V0KrsBCgZTaWduYWwSCwoHVU5LTk9XThAAEgwKCFRSRU5ESU5HEAESEAoMVk9MVU1FX1NQSUtFEAISEwoPSElHSF9WT0xBVElMSVRZEAMSGgoWSElHSF9MT05HX0ZVTkRJTkdfUkFURRAEEhsKF0hJR0hfU0hPUlRfRlVORElOR19SQVRFEAUSFQoRTEFSR0VfT0lfSU5DUkVBU0UQBhIOCgpQQVNTRURfQVRIEAcSDwoLUkFOR0VfQk9VTkQQCCqlAQoKTWFya2V0VHlwZRIXChNVTktOT1dOX01BUktFVF9UWVBFEAASBwoDQ0VYEAESBwoDREVYEAISCgoGVFJBREZJEAMSCwoHRUNPTk9NWRAEEg4KClBSRURJQ1RJT04QBRIJCgVGT1JFWBAGEg0KCUNPTU1PRElUWRAHEgkKBVNUT0NLEAgSCQoFSU5ERVgQCRITCg9UT0tFTklaRURfU1RPQ0sQCirnAQoRTWFya2V0U3ltYm9sRmllbGQSHwobVU5LTk9XTl9NQVJLRVRfU1lNQk9MX0ZJRUxEEAASFAoQUFJJQ0VfQ0hBTkdFXzI0SBABEg4KClZPTFVNRV8yNEgQAhIfChtNQVJLRVRfU1lNQk9MX09JX0NIQU5HRV8yNEgQBBIbChdNQVJLRVRfU1lNQk9MX01BUktFVENBUBAGEhMKD0FWQUlMQUJMRV9TSU5DRRAHEhgKFEVORF9SRU1BSU5JTkdfUEVSSU9EEAgSEgoOVk9MVU1FXzI0SF9VU0QQCSIECAMQAyIECAUQBSqLAQoQTWFya2V0QXNzZXRGaWVsZBIeChpVTktOT1dOX01BUktFVF9BU1NFVF9GSUVMRBAAEg4KCkFTU0VUX05BTUUQARIUChBBU1NFVF9WT0xVTUVfMjRIEAISGAoUQVNTRVRfVk9MVU1FXzI0SF9VU0QQAxIXChNBU1NFVF9WQVJJQU5UX0NPVU5UEAQqewoRTWFya2V0c1Byb2plY3Rpb24SHgoaVU5LTk9XTl9NQVJLRVRTX1BST0pFQ1RJT04QABIlCiFNQVJLRVRTX1BST0pFQ1RJT05fR1JPVVBTX1BSRVZJRVcQARIfChtNQVJLRVRTX1BST0pFQ1RJT05fVkFSSUFOVFMQAiqaAQoXT3B0aW9uQ2hhaW5BbmNob3JTb3VyY2USHwobT1BUSU9OX0NIQUlOX0FOQ0hPUl9VTktOT1dOEAASHQoZT1BUSU9OX0NIQUlOX0FOQ0hPUl9UUkFERRABEiIKHk9QVElPTl9DSEFJTl9BTkNIT1JfU0VUVExFTUVOVBACEhsKF09QVElPTl9DSEFJTl9BTkNIT1JfUk9XEAMqVgoRT3B0aW9uQ2hhaW5UaW1pbmcSIAocT1BUSU9OX0NIQUlOX1RJTUlOR19SRUFMVElNRRAAEh8KG09QVElPTl9DSEFJTl9USU1JTkdfREVMQVlFRBABKoQBCg5Ib2xkZXJDYXRlZ29yeRIfChtIT0xERVJfQ0FURUdPUllfVU5TUEVDSUZJRUQQABIYChRIT0xERVJfQ0FURUdPUllfUE9PTBABEhsKF0hPTERFUl9DQVRFR09SWV9DUkVBVE9SEAISGgoWSE9MREVSX0NBVEVHT1JZX05PUk1BTBADMtQlCgdHYXRld2F5EjwKCUdldFBvaW50cxIMLkRhdGFSZXF1ZXN0Gg0uRGF0YVJlc3BvbnNlIhKC0+STAgwSCi92MS9wb2ludHMSLQoMU3RyZWFtUG9pbnRzEgwuRGF0YVJlcXVlc3QaCy5UaW1lU2VyaWVzIgAwARJCCghHZXRUeXBlcxIQLk1ldGFkYXRhUmVxdWVzdBoRLk1ldGFkYXRhUmVzcG9uc2UiEYLT5JMCCxIJL3YxL3R5cGVzEkoKDEdldEV4Y2hhbmdlcxIQLk1ldGFkYXRhUmVxdWVzdBoRLk1ldGFkYXRhUmVzcG9uc2UiFYLT5JMCDxINL3YxL2V4Y2hhbmdlcxJMCg1HZXRDYXRlZ29yaWVzEhAuTWV0YWRhdGFSZXF1ZXN0GhEuTWV0YWRhdGFSZXNwb25zZSIWgtPkkwIQEg4vdjEvY2F0ZWdvcmllcxJCCghHZXRDb2lucxIQLk1ldGFkYXRhUmVxdWVzdBoRLk1ldGFkYXRhUmVzcG9uc2UiEYLT5JMCCxIJL3YxL2NvaW5zEkkKDUdldFJhd1N5bWJvbHMSEC5NZXRhZGF0YVJlcXVlc3QaES5NZXRhZGF0YVJlc3BvbnNlIhOC0+STAg0SCy92MS9zeW1ib2xzElsKFEdldE5vcm1hbGl6ZWRTeW1ib2xzEhAuTWV0YWRhdGFSZXF1ZXN0GhEuTWV0YWRhdGFSZXNwb25zZSIegtPkkwIYEhYvdjEvbm9ybWFsaXplZC1zeW1ib2xzEk0KDUdldEJsb2NrU2l6ZXMSEC5NZXRhZGF0YVJlcXVlc3QaES5NZXRhZGF0YVJlc3BvbnNlIheC0+STAhESDy92MS9ibG9jay1zaXplcxJECglHZXRUZW5vcnMSEC5NZXRhZGF0YVJlcXVlc3QaES5NZXRhZGF0YVJlc3BvbnNlIhKC0+STAgwSCi92MS90ZW5vcnMSPgoHR2V0R2FwcxIPLkdldEdhcHNSZXF1ZXN0GhAuR2V0R2Fwc1Jlc3BvbnNlIhCC0+STAgoSCC92MS9nYXBzElYKDUdldFdhdGVybWFya3MSFS5HZXRXYXRlcm1hcmtzUmVxdWVzdBoWLkdldFdhdGVybWFya3NSZXNwb25zZSIWgtPkkwIQEg4vdjEvd2F0ZXJtYXJrcxJiChdHZXRDYXRlZ29yaWVzQnlFeGNoYW5nZRIQLk1ldGFkYXRhUmVxdWVzdBoRLk1ldGFkYXRhUmVzcG9uc2UiIoLT5JMCHBIaL3YxL2NhdGVnb3JpZXMtYnktZXhjaGFuZ2USbAobR2V0UmF3U3ltYm9sc0J5Q29pbkV4Y2hhbmdlEhAuTWV0YWRhdGFSZXF1ZXN0GhEuTWV0YWRhdGFSZXNwb25zZSIogtPkkwIiEiAvdjEvcmF3LXN5bWJvbHMtYnktY29pbi1leGNoYW5nZRJHCh5TdHJlYW1SYXdTeW1ib2xzQnlDb2luRXhjaGFuZ2USEC5NZXRhZGF0YVJlcXVlc3QaES5NZXRhZGF0YVJlc3BvbnNlIgASQwoaU3RyZWFtQ2F0ZWdvcmllc0J5RXhjaGFuZ2USEC5NZXRhZGF0YVJlcXVlc3QaES5NZXRhZGF0YVJlc3BvbnNlIgASSgoKR2V0TWFya2V0cxISLkdldE1hcmtldHNSZXF1ZXN0GhMuR2V0TWFya2V0c1Jlc3BvbnNlIhOC0+STAg0SCy92MS9tYXJrZXRzEj8KDVN0cmVhbU1hcmtldHMSFS5TdHJlYW1NYXJrZXRzUmVxdWVzdBoTLkdldE1hcmtldHNSZXNwb25zZSIAMAESSAoRU3RyZWFtTWFya2V0U3RhdHMSGS5TdHJlYW1NYXJrZXRTdGF0c1JlcXVlc3QaFC5NYXJrZXRTdGF0c1Jlc3BvbnNlIgAwARI+CgpHZXRTZWN0b3JzEgYuRW1wdHkaEy5HZXRTZWN0b3JzUmVzcG9uc2UiE4LT5JMCDRILL3YxL3NlY3RvcnMSKgoNU3RyZWFtU2VjdG9ycxIGLkVtcHR5Gg0uU2VjdG9yRGV0YWlsIgAwARJQCglHZXRTZWN0b3ISES5HZXRTZWN0b3JSZXF1ZXN0GhIuR2V0U2VjdG9yUmVzcG9uc2UiHILT5JMCFhIUL3YxL3NlY3RvcnMve3NlY3Rvcn0SMgoMU3RyZWFtU2VjdG9yEhEuR2V0U2VjdG9yUmVxdWVzdBoLLkNvaW5EZXRhaWwiADABEi4KDERlbGV0ZVBvaW50cxIULkRlbGV0ZVBvaW50c1JlcXVlc3QaBi5FbXB0eSIAEi8KFFN0cmVhbUJhY2tmaWxsUG9pbnRzEgsuVGltZVNlcmllcxoGLkVtcHR5IgAoARIwCg1SZWZyZXNoUG9pbnRzEhUuUmVmcmVzaFBvaW50c1JlcXVlc3QaBi5FbXB0eSIAEk8KDEV4cG9ydFBvaW50cxIMLkRhdGFSZXF1ZXN0GhQuZ29vZ2xlLmFwaS5IdHRwQm9keSIZgtPkkwITEhEvdjEvZXhwb3J0LXBvaW50czABEj0KDEdldEdhcHNDb3VudBIULkdldEdhcHNDb3VudFJlcXVlc3QaFS5HZXRHYXBzQ291bnRSZXNwb25zZSIAEmEKFEdldE9yZGVyQm9va0ZlYXR1cmVzEgwuRGF0YVJlcXVlc3QaGi5PcmRlckJvb2tGZWF0dXJlc1Jlc3BvbnNlIh+C0+STAhkSFy92MS9vcmRlci1ib29rLWZlYXR1cmVzElsKFEdldFJlZ2lzdHJ5TWV0YWRhdGFzEhAuTWV0YWRhdGFSZXF1ZXN0GhEuTWV0YWRhdGFSZXNwb25zZSIegtPkkwIYEhYvdjEvcmVnaXN0cnktbWV0YWRhdGFzElsKDkdldENvaW5NZXRyaWNzEhYuR2V0Q29pbk1ldHJpY3NSZXF1ZXN0GhcuR2V0Q29pbk1ldHJpY3NSZXNwb25zZSIYgtPkkwISEhAvdjEvY29pbi1tZXRyaWNzEloKE0dldFNlY3RvckNhdGVnb3JpZXMSBi5FbXB0eRocLkdldFNlY3RvckNhdGVnb3JpZXNSZXNwb25zZSIdgtPkkwIXEhUvdjEvc2VjdG9yLWNhdGVnb3JpZXMSNQoWU3RyZWFtU2VjdG9yQ2F0ZWdvcmllcxIGLkVtcHR5Gg8uU2VjdG9yQ2F0ZWdvcnkiADABEk4KD0dldEZyZWRNZXRhZGF0YRIGLkVtcHR5GhguR2V0RnJlZE1ldGFkYXRhUmVzcG9uc2UiGYLT5JMCExIRL3YxL2ZyZWQtbWV0YWRhdGESLwoSU3RyZWFtRnJlZE1ldGFkYXRhEgYuRW1wdHkaDS5GcmVkTWV0YWRhdGEiADABEn8KGUdldEZyZWRNZXRhZGF0YUJ5U2VyaWVzSUQSIS5HZXRGcmVkTWV0YWRhdGFCeVNlcmllc0lEUmVxdWVzdBoYLkdldEZyZWRNZXRhZGF0YVJlc3BvbnNlIiWC0+STAh8SHS92MS9mcmVkLW1ldGFkYXRhL3tzZXJpZXNfaWR9ElQKHFN0cmVhbUZyZWRNZXRhZGF0YUJ5U2VyaWVzSUQSIS5HZXRGcmVkTWV0YWRhdGFCeVNlcmllc0lEUmVxdWVzdBoNLkZyZWRNZXRhZGF0YSIAMAESiAEKGUdldEVjb25vbWljU2VyaWVzTWV0YWRhdGESIS5HZXRFY29ub21pY1Nlcmllc01ldGFkYXRhUmVxdWVzdBoiLkdldEVjb25vbWljU2VyaWVzTWV0YWRhdGFSZXNwb25zZSIkgtPkkwIeEhwvdjEvZWNvbm9taWMtc2VyaWVzLW1ldGFkYXRhEl4KHFN0cmVhbUVjb25vbWljU2VyaWVzTWV0YWRhdGESIS5HZXRFY29ub21pY1Nlcmllc01ldGFkYXRhUmVxdWVzdBoXLkVjb25vbWljU2VyaWVzTWV0YWRhdGEiADABEoQBChhHZXRQb2x5Z29uVGlja2VyTWV0YWRhdGESIC5HZXRQb2x5Z29uVGlja2VyTWV0YWRhdGFSZXF1ZXN0GiEuR2V0UG9seWdvblRpY2tlck1ldGFkYXRhUmVzcG9uc2UiI4LT5JMCHRIbL3YxL3BvbHlnb24tbWV0YWRhdGEvdGlja2VyElsKG1N0cmVhbVBvbHlnb25UaWNrZXJNZXRhZGF0YRIgLkdldFBvbHlnb25UaWNrZXJNZXRhZGF0YVJlcXVlc3QaFi5Qb2x5Z29uVGlja2VyTWV0YWRhdGEiADABEoABChdHZXRUb2tlblVubG9ja3NNZXRhZGF0YRIfLkdldFRva2VuVW5sb2Nrc01ldGFkYXRhUmVxdWVzdBogLkdldFRva2VuVW5sb2Nrc01ldGFkYXRhUmVzcG9uc2UiIoLT5JMCHBIaL3YxL3Rva2VuLXVubG9ja3MtbWV0YWRhdGESWAoaU3RyZWFtVG9rZW5VbmxvY2tzTWV0YWRhdGESHy5HZXRUb2tlblVubG9ja3NNZXRhZGF0YVJlcXVlc3QaFS5Ub2tlblVubG9ja3NNZXRhZGF0YSIAMAESbAoSR2V0RGV4UG9vbE1ldGFkYXRhEhouR2V0RGV4UG9vbE1ldGFkYXRhUmVxdWVzdBobLkdldERleFBvb2xNZXRhZGF0YVJlc3BvbnNlIh2C0+STAhcSFS92MS9kZXgtcG9vbC1tZXRhZGF0YRJvChNHZXRQb2x5bWFya2V0RXZlbnRzEhsuR2V0UG9seW1hcmtldEV2ZW50c1JlcXVlc3QaHC5HZXRQb2x5bWFya2V0RXZlbnRzUmVzcG9uc2UiHYLT5JMCFxIVL3YxL3BvbHltYXJrZXQvZXZlbnRzElYKFlN0cmVhbVBvbHltYXJrZXRFdmVudHMSGy5HZXRQb2x5bWFya2V0RXZlbnRzUmVxdWVzdBobLkdldFBvbHltYXJrZXRFdmVudFJlc3BvbnNlIgAwARJzChRHZXRQb2x5bWFya2V0TWFya2V0cxIcLkdldFBvbHltYXJrZXRNYXJrZXRzUmVxdWVzdBodLkdldFBvbHltYXJrZXRNYXJrZXRzUmVzcG9uc2UiHoLT5JMCGBIWL3YxL3BvbHltYXJrZXQvbWFya2V0cxJ7ChZHZXRQb2x5bWFya2V0QW5hbHl0aWNzEh4uR2V0UG9seW1hcmtldEFuYWx5dGljc1JlcXVlc3QaHy5HZXRQb2x5bWFya2V0QW5hbHl0aWNzUmVzcG9uc2UiIILT5JMCGhIYL3YxL3BvbHltYXJrZXQvYW5hbHl0aWNzEmAKGVN0cmVhbVBvbHltYXJrZXRBbmFseXRpY3MSHi5HZXRQb2x5bWFya2V0QW5hbHl0aWNzUmVxdWVzdBofLkdldFBvbHltYXJrZXRBbmFseXRpY3NSZXNwb25zZSIAMAEScwoUR2V0TWVtZWNvaW5BbmFseXRpY3MSHC5HZXRNZW1lY29pbkFuYWx5dGljc1JlcXVlc3QaHS5HZXRNZW1lY29pbkFuYWx5dGljc1Jlc3BvbnNlIh6C0+STAhgSFi92MS9tZW1lY29pbi9hbmFseXRpY3MSWgoXU3RyZWFtTWVtZWNvaW5BbmFseXRpY3MSHC5HZXRNZW1lY29pbkFuYWx5dGljc1JlcXVlc3QaHS5HZXRNZW1lY29pbkFuYWx5dGljc1Jlc3BvbnNlIgAwARJPChJHZXRMYXRlc3RTbmFwc2hvdHMSDC5EYXRhUmVxdWVzdBoNLkRhdGFSZXNwb25zZSIcgtPkkwIWEhQvdjEvbGF0ZXN0LXNuYXBzaG90cxI2ChVTdHJlYW1MYXRlc3RTbmFwc2hvdHMSDC5EYXRhUmVxdWVzdBoLLlRpbWVTZXJpZXMiADABEmYKF0dldFBvbHltYXJrZXRDYXRlZ29yaWVzEgYuRW1wdHkaIC5HZXRQb2x5bWFya2V0Q2F0ZWdvcmllc1Jlc3BvbnNlIiGC0+STAhsSGS92MS9wb2x5bWFya2V0LWNhdGVnb3JpZXMSQQoaU3RyZWFtUG9seW1hcmtldENhdGVnb3JpZXMSBi5FbXB0eRoXLlBvbHltYXJrZXRDYXRlZ29yeVBhaXIiADABElsKDkdldE9wdGlvbkNoYWluEhYuR2V0T3B0aW9uQ2hhaW5SZXF1ZXN0GhcuR2V0T3B0aW9uQ2hhaW5SZXNwb25zZSIYgtPkkwISEhAvdjEvb3B0aW9uLWNoYWluEngKFUdldE9wdGlvbkNoYWluU3VtbWFyeRIdLkdldE9wdGlvbkNoYWluU3VtbWFyeVJlcXVlc3QaHi5HZXRPcHRpb25DaGFpblN1bW1hcnlSZXNwb25zZSIggtPkkwIaEhgvdjEvb3B0aW9uLWNoYWluLXN1bW1hcnlCTFoIdHlwZXMvcGKSQT8SGwoVdHNkYi1nYXRld2F5IFJFU1QgQVBJMgJ2MXIgChZQcm90b2NvbCBEb2N1bWVudGF0aW9uEgYvZG9jcy9iBnByb3RvMw", [file_google_api_annotations, file_google_api_httpbody, file_protoc_gen_openapiv2_options_annotations, file_timestamp_timestamp, file_empty, file_enums, file_ping_pong, file_series, file_transform]);
|
|
17
|
+
export const file_tsdb_gateway_tsdb_gateway = /*@__PURE__*/ fileDesc("Ch90c2RiLWdhdGV3YXkvdHNkYi1nYXRld2F5LnByb3RvIkkKD0N1c3RvbVRpbWVSYW5nZRISCgpzdGFydF90aW1lGAEgASgJEhAKCGVuZF90aW1lGAIgASgJEhAKCHRpbWV6b25lGAMgASgJIugNCgtEYXRhUmVxdWVzdBITCgR0eXBlGAEgAygOMgUuVHlwZRIbCghleGNoYW5nZRgCIAMoDjIJLkV4Y2hhbmdlEhgKEG5vcm1hbGl6ZWRTeW1ib2wYAyADKAkSDAoEY29pbhgEIAMoCRIbCghjYXRlZ29yeRgFIAMoDjIJLkNhdGVnb3J5EhEKCXJhd1N5bWJvbBgGIAMoCRImCghpbnRlcnZhbBgMIAEoDjIULkFnZ3JlZ2F0aW9uSW50ZXJ2YWwSDAoEZnJvbRgOIAEoAxIOCgZwZXJpb2QYDyABKAMSEwoEc2lkZRgIIAEoDjIFLlNpZGUSFwoEa2luZBgJIAEoDjIJLlJhdGVLaW5kEh8KCm9wdGlvblR5cGUYCiABKA4yCy5PcHRpb25UeXBlEhUKBXRlbm9yGAsgASgOMgYuVGVub3ISGwoIc2tld0tpbmQYESABKA4yCS5Ta2V3S2luZBIbCgh2aXBMZXZlbBgWIAEoDjIJLlZpcExldmVsEh0KCWZ1bmRHcm91cBgXIAEoDjIKLkZ1bmRHcm91cBIhCgtncmFudWxhcml0eRgYIAEoDjIMLkdyYW51bGFyaXR5EhcKBmlzc3VlchgZIAMoDjIHLklzc3VlchIQCghtaW5QcmljZRgaIAEoARIQCghtYXhQcmljZRgbIAEoARIRCglibG9ja1NpemUYHCABKAESFAoMY29tcHV0ZVNpbmNlGB0gASgDEiUKDXNvcnREaXJlY3Rpb24YHiABKA4yDi5Tb3J0RGlyZWN0aW9uEhcKD3Ntb290aGluZ1BlcmlvZBgfIAEoAxIsCg5zeW1ib2xDcml0ZXJpYRggIAEoCzIPLlN5bWJvbENyaXRlcmlhSACIAQESHQoJdHJhbnNmb3JtGCEgASgLMgouVHJhbnNmb3JtEiQKDXNlcmllc0ZpbHRlcnMYIiADKAsyDS5TZXJpZXNGaWx0ZXISFQoFY2hhaW4YIyADKA4yBi5DaGFpbhITCgtwb29sQWRkcmVzcxgkIAMoCRIjCgxwb29sUHJvdG9jb2wYJSADKA4yDS5Qb29sUHJvdG9jb2wSGAoQYmFzZVRva2VuQWRkcmVzcxgmIAMoCRIZChFxdW90ZVRva2VuQWRkcmVzcxgnIAMoCRIWCg5mYWN0b3J5QWRkcmVzcxgoIAMoCRIQCghtYXhEZXB0aBgpIAEoAxIYChBtYXRlcmlhbGl6ZWRPbmx5GCogASgIEg0KBWxpbWl0GCsgASgDEiYKC3dhbGxSZXF1ZXN0GCwgASgLMgwuV2FsbFJlcXVlc3RIAYgBARIvChJzZWN0b3JNYWluQ2F0ZWdvcnkYLSADKA4yEy5TZWN0b3JNYWluQ2F0ZWdvcnkSLQoRc2VjdG9yU3ViQ2F0ZWdvcnkYLiADKA4yEi5TZWN0b3JTdWJDYXRlZ29yeRIRCgl0b2tlbk5hbWUYLyADKAkSDwoHZmxhdHRlbhgwIAEoCBIXCgZzb3VyY2UYMSADKA4yBy5Tb3VyY2USHwoKdHBvU2Vzc2lvbhgyIAEoDjILLlRQT1Nlc3Npb24SGwoTdHBvQmxvY2tTaXplTWludXRlcxgzIAEoBRIKCgJpZBg0IAMoCRIjCgxmcmVkQ2F0ZWdvcnkYNSADKA4yDS5GcmVkQ2F0ZWdvcnkSIQoLdHJhZGluZ0hvdXIYNiABKA4yDC5UcmFkaW5nSG91chIUCgx1bmxvY2tzTGFiZWwYNyADKAkSLgoPY3VzdG9tVGltZVJhbmdlGDggASgLMhAuQ3VzdG9tVGltZVJhbmdlSAKIAQESJwoabWFya2V0X2V2ZW50X21pbl9pbnRlbnNpdHkYOSABKAVIA4gBARInChptYXJrZXRfZXZlbnRfbWF4X2ludGVuc2l0eRg6IAEoBUgEiAEBEg0KBWV2ZW50GDsgAygJEg8KB2dhcGZpbGwYPCABKAgSDwoHYWRkcmVzcxg9IAMoCRIdCglvcmRlclNpemUYPiADKA4yCi5PcmRlclNpemUSEQoJbWluQW1vdW50GD8gASgBEhYKDm1pblF1b3RlQW1vdW50GEAgASgBEh0KFXNraXBCb29rTm9ybWFsaXphdGlvbhhBIAEoCBIQCghhZGp1c3RlZBhCIAEoCBINCgVzaWRlZBhDIAEoCEIRCg9fc3ltYm9sQ3JpdGVyaWFCDgoMX3dhbGxSZXF1ZXN0QhIKEF9jdXN0b21UaW1lUmFuZ2VCHQobX21hcmtldF9ldmVudF9taW5faW50ZW5zaXR5Qh0KG19tYXJrZXRfZXZlbnRfbWF4X2ludGVuc2l0eUoECAcQCEoECA0QDkoECBAQEUoECBIQFiJxCgxTZXJpZXNGaWx0ZXISHAoJZXhjaGFuZ2VzGAEgAygOMgkuRXhjaGFuZ2USEgoKcmF3U3ltYm9scxgCIAMoCRIZChFub3JtYWxpemVkU3ltYm9scxgDIAMoCRIUCgV0eXBlcxgEIAMoDjIFLlR5cGUiYgoLV2FsbFJlcXVlc3QSFAoMcHJlc2VudF9vbmx5GAEgASgIEhwKFG1pbl9kdXJhdGlvbl9zZWNvbmRzGAIgASgDEh8KF21pbl9xdWFudGl0eV9wZXJjZW50aWxlGAMgASgBIkwKDE1hcmtldEZpbHRlchIbCghjYXRlZ29yeRgBIAMoDjIJLkNhdGVnb3J5Eh8KCm1hcmtldFR5cGUYAiADKA4yCy5NYXJrZXRUeXBlIjgKGEdldE1hcmtldHNSZXF1ZXN0RXhjbHVkZRIcCglleGNoYW5nZXMYASADKA4yCS5FeGNoYW5nZSKRCAoRR2V0TWFya2V0c1JlcXVlc3QSGwoIZXhjaGFuZ2UYASADKA4yCS5FeGNoYW5nZRIbCghjYXRlZ29yeRgCIAMoDjIJLkNhdGVnb3J5EhcKBnNpZ25hbBgDIAEoDjIHLlNpZ25hbBIUCgxzeW1ib2xGaWx0ZXIYBCABKAkSEAoIcGFnZVNpemUYBSABKAUSEgoKcGFnZU9mZnNldBgGIAEoBRIMCgRjb2luGAcgAygJEhMKBHR5cGUYCCADKA4yBS5UeXBlEioKDHNvcnRDcml0ZXJpYRgJIAEoCzIULk1hcmtldHNTb3J0Q3JpdGVyaWESFQoFY2hhaW4YCiADKA4yBi5DaGFpbhIjCgxwb29sUHJvdG9jb2wYCyADKA4yDS5Qb29sUHJvdG9jb2wSJAoNc2VyaWVzRmlsdGVycxgMIAMoCzINLlNlcmllc0ZpbHRlchIQCghkaXN0aW5jdBgNIAEoCBIkCg1tYXJrZXRGaWx0ZXJzGA4gAygLMg0uTWFya2V0RmlsdGVyEhAKCHRhZ1NsdWdzGA8gAygJEhcKD2V4Y2x1ZGVUYWdTbHVncxgQIAMoCRIVCg1yZWxhdGVkVG9TbHVnGBEgASgJEhoKDWV4cGlyZXNCZWZvcmUYEiABKANIAIgBARIUCgd2ZXJzaW9uGBMgASgJSAGIAQESLwoHZXhjbHVkZRgUIAEoCzIZLkdldE1hcmtldHNSZXF1ZXN0RXhjbHVkZUgCiAEBEhUKDWV4Y2x1ZGVQcmljZXMYFSABKAgSLAoJZ3JvdXBTb3J0GBYgASgLMhkuTWFya2V0c0dyb3VwU29ydENyaXRlcmlhEikKC3ZhcmlhbnRTb3J0GBcgASgLMhQuTWFya2V0c1NvcnRDcml0ZXJpYRIbCg5yZWxldmFuY2VGaXJzdBgYIAEoCEgDiAEBEiYKCnByb2plY3Rpb24YGSABKA4yEi5NYXJrZXRzUHJvamVjdGlvbhIZCgx2YXJpYW50TGltaXQYGiABKAVIBIgBARIWCglhc3NldE5hbWUYGyABKAlIBYgBARIhCgxhc3NldENsYXNzZXMYHCADKA4yCy5Bc3NldENsYXNzEigKD3JlcHJlc2VudGF0aW9ucxgdIAMoDjIPLlJlcHJlc2VudGF0aW9uEhUKDXF1b3RlQXNzZXRJZHMYHiADKAkSEwoLZGVwbG95ZXJJZHMYHyADKAkSFQoIZ3JvdXBLZXkYICABKAlIBogBAUIQCg5fZXhwaXJlc0JlZm9yZUIKCghfdmVyc2lvbkIKCghfZXhjbHVkZUIRCg9fcmVsZXZhbmNlRmlyc3RCDwoNX3ZhcmlhbnRMaW1pdEIMCgpfYXNzZXROYW1lQgsKCV9ncm91cEtleSKtAQoUU3RyZWFtTWFya2V0c1JlcXVlc3QSKAoNc2VyaWVzRmlsdGVycxgBIAMoCzINLlNlcmllc0ZpbHRlckICGAESFwoEdHlwZRgCIAMoDjIFLlR5cGVCAhgBEioKDm1hcmtldHNSZXF1ZXN0GAQgASgLMhIuR2V0TWFya2V0c1JlcXVlc3QSFAoHdmVyc2lvbhgFIAEoCUgAiAEBQgoKCF92ZXJzaW9uSgQIAxAEIlsKE01hcmtldHNTb3J0Q3JpdGVyaWESIQoFZmllbGQYASABKA4yEi5NYXJrZXRTeW1ib2xGaWVsZBIhCglkaXJlY3Rpb24YAiABKA4yDi5Tb3J0RGlyZWN0aW9uIl8KGE1hcmtldHNHcm91cFNvcnRDcml0ZXJpYRIgCgVmaWVsZBgBIAEoDjIRLk1hcmtldEFzc2V0RmllbGQSIQoJZGlyZWN0aW9uGAIgASgOMg4uU29ydERpcmVjdGlvbiKVEAoMTWFya2V0U3ltYm9sEhsKCGV4Y2hhbmdlGAEgASgOMgkuRXhjaGFuZ2USGwoIY2F0ZWdvcnkYAiABKA4yCS5DYXRlZ29yeRIRCglyYXdTeW1ib2wYAyABKAkSGAoQbm9ybWFsaXplZFN5bWJvbBgEIAEoCRIMCgRjb2luGAUgASgJEhYKCXNtYVNwcmVhZBgGIAEoAUgAiAEBEh0KEHZvbHVtZVNwaWtlUmF0aW8YByABKAFIAYgBARIVCghhdHJSYXRpbxgIIAEoAUgCiAEBEhgKC3JhbmdlU3ByZWFkGAkgASgBSAOIAQESGwoOcHJpY2VDaGFuZ2UyNGgYCiABKAFIBIgBARIcCg92b2x1bWVDaGFuZ2UyNGgYCyABKAFIBYgBARIWCgl2b2x1bWUyNGgYDCABKAFIBogBARIOCgZwcmljZXMYDSADKAESFgoJbGFzdFByaWNlGA4gASgBSAeIAQESFwoGaXNzdWVyGA8gASgOMgcuSXNzdWVyEhUKBXRlbm9yGBAgASgOMgYuVGVub3ISFwoKcGN0RnJvbUFUSBgRIAEoAUgIiAEBEhUKBWNoYWluGBIgASgOMgYuQ2hhaW4SEwoLcG9vbEFkZHJlc3MYEyABKAkSIwoMcG9vbFByb3RvY29sGBQgASgOMg0uUG9vbFByb3RvY29sEhgKEGJhc2VUb2tlbkFkZHJlc3MYFSABKAkSGQoRcXVvdGVUb2tlbkFkZHJlc3MYFiABKAkSFgoOZmFjdG9yeUFkZHJlc3MYFyABKAkSDwoHZ2FwZmlsbBgYIAEoCBIYCgtvaUNoYW5nZTI0aBgZIAEoAUgJiAEBEhcKCmF0clBlcmNlbnQYGiABKAFICogBARIWCgltYXJrZXRjYXAYGyABKAFIC4gBARIKCgJpZBgcIAEoCRISCgV0aXRsZRgdIAEoCUgMiAEBEhUKCGNvaW5OYW1lGB4gASgJSA2IAQESGgoNcXVvdGVDb2luTmFtZRgfIAEoCUgOiAEBEhUKCGZ1bGxOYW1lGCAgASgJSA+IAQESFgoJbGlxdWlkaXR5GCEgASgBSBCIAQESGAoLdG90YWxWb2x1bWUYIyABKAFIEYgBARI4ChFwcmVkaWN0aW9uTWFya2V0cxglIAMoCzIdLk1hcmtldFNlYXJjaFByZWRpY3Rpb25NYXJrZXQSEwoGY2xvc2VkGCYgASgISBKIAQESFAoHaWNvblVybBgnIAEoCUgTiAEBEiQKC2F2YWlsYWJsZVRvGCggASgLMgouVGltZXN0YW1wSBSIAQESJwoOYXZhaWxhYmxlU2luY2UYKSABKAsyCi5UaW1lc3RhbXBIFYgBARIeCgR0YWdzGCogAygLMhAuTWFya2V0U2VhcmNoVGFnEhoKDXBhcmVudEV2ZW50SWQYKyABKANIFogBARIiCg9kaXNwbGF5RXhjaGFuZ2UYLCABKA4yCS5FeGNoYW5nZRIfCgphc3NldENsYXNzGC0gASgOMgsuQXNzZXRDbGFzcxInCg5yZXByZXNlbnRhdGlvbhguIAEoDjIPLlJlcHJlc2VudGF0aW9uEh4KDWNhdGFsb2dJc3N1ZXIYLyABKA4yBy5Jc3N1ZXISHQoQdW5kZXJseWluZ1N5bWJvbBgwIAEoCUgXiAEBEhsKDnVuZGVybHlpbmdJc2luGDEgASgJSBiIAQESHgoRaXNzdWVyVG9rZW5TeW1ib2wYMiABKAlIGYgBARIcCg9zaGFyZU11bHRpcGxpZXIYMyABKAFIGogBARIrChB0cmFkaW5nSG91cnNNb2RlGDQgASgOMhEuVHJhZGluZ0hvdXJzTW9kZRIWCg5pc0lzc3VlckhhbHRlZBg1IAEoCBIZCgx2b2x1bWUyNGhVc2QYNiABKAFIG4gBARIjCgp2b2x1bWVBc09mGDcgASgLMgouVGltZXN0YW1wSByIAQESGQoMcXVvdGVBc3NldElkGDggASgJSB2IAQESFwoKZGVwbG95ZXJJZBg5IAEoCUgeiAEBEhQKB2RleE5hbWUYOiABKAlIH4gBAUIMCgpfc21hU3ByZWFkQhMKEV92b2x1bWVTcGlrZVJhdGlvQgsKCV9hdHJSYXRpb0IOCgxfcmFuZ2VTcHJlYWRCEQoPX3ByaWNlQ2hhbmdlMjRoQhIKEF92b2x1bWVDaGFuZ2UyNGhCDAoKX3ZvbHVtZTI0aEIMCgpfbGFzdFByaWNlQg0KC19wY3RGcm9tQVRIQg4KDF9vaUNoYW5nZTI0aEINCgtfYXRyUGVyY2VudEIMCgpfbWFya2V0Y2FwQggKBl90aXRsZUILCglfY29pbk5hbWVCEAoOX3F1b3RlQ29pbk5hbWVCCwoJX2Z1bGxOYW1lQgwKCl9saXF1aWRpdHlCDgoMX3RvdGFsVm9sdW1lQgkKB19jbG9zZWRCCgoIX2ljb25VcmxCDgoMX2F2YWlsYWJsZVRvQhEKD19hdmFpbGFibGVTaW5jZUIQCg5fcGFyZW50RXZlbnRJZEITChFfdW5kZXJseWluZ1N5bWJvbEIRCg9fdW5kZXJseWluZ0lzaW5CFAoSX2lzc3VlclRva2VuU3ltYm9sQhIKEF9zaGFyZU11bHRpcGxpZXJCDwoNX3ZvbHVtZTI0aFVzZEINCgtfdm9sdW1lQXNPZkIPCg1fcXVvdGVBc3NldElkQg0KC19kZXBsb3llcklkQgoKCF9kZXhOYW1lSgQIIhAjSgQIJBAlIqgGChxNYXJrZXRTZWFyY2hQcmVkaWN0aW9uTWFya2V0EgwKBHNsdWcYASABKAkSEQoJbGFzdFByaWNlGAIgASgBEhAKCHF1ZXN0aW9uGAMgASgJEhYKDmdyb3VwSXRlbVRpdGxlGAQgASgJEhkKEW9uZURheVByaWNlQ2hhbmdlGAUgASgBEg4KBnByaWNlcxgGIAMoARIOCgZjbG9zZWQYByABKAgSHwoLYXZhaWxhYmxlVG8YCCABKAsyCi5UaW1lc3RhbXASIgoOYXZhaWxhYmxlU2luY2UYCSABKAsyCi5UaW1lc3RhbXASGAoLdG90YWxWb2x1bWUYCiABKAFIAIgBARIiCgxnZW9Mb2NhdGlvbnMYCyADKAsyDC5HZW9Mb2NhdGlvbhIaCg11bmlxdWVUcmFkZXJzGAwgASgBSAGIAQESGQoMYnV5Vm9sdW1lMjRIGA0gASgBSAKIAQESGgoNc2VsbFZvbHVtZTI0SBgOIAEoAUgDiAEBEhwKD3ZvbHVtZUNoYW5nZTI0SBgPIAEoAUgEiAEBEhAKCG91dGNvbWVzGBAgAygJEhsKDm9uZURheU9JQ2hhbmdlGBEgASgBSAWIAQESGQoMb3BlbkludGVyZXN0GBIgASgBSAaIAQESIgoVb3JkZXJQcmljZU1pblRpY2tTaXplGBMgASgBSAeIAQESGAoLY29uZGl0aW9uSWQYFCABKAlICIgBARIdChBzcG9ydHNNYXJrZXRUeXBlGBUgASgJSAmIAQESEQoEbGluZRgWIAEoAUgKiAEBEg8KB3Rva2VuSWQYFyABKAlCDgoMX3RvdGFsVm9sdW1lQhAKDl91bmlxdWVUcmFkZXJzQg8KDV9idXlWb2x1bWUyNEhCEAoOX3NlbGxWb2x1bWUyNEhCEgoQX3ZvbHVtZUNoYW5nZTI0SEIRCg9fb25lRGF5T0lDaGFuZ2VCDwoNX29wZW5JbnRlcmVzdEIYChZfb3JkZXJQcmljZU1pblRpY2tTaXplQg4KDF9jb25kaXRpb25JZEITChFfc3BvcnRzTWFya2V0VHlwZUIHCgVfbGluZSI6Cg9NYXJrZXRTZWFyY2hUYWcSCgoCaWQYASABKAMSDQoFbGFiZWwYAiABKAkSDAoEc2x1ZxgDIAEoCSLFAQoLTWFya2V0QXNzZXQSEQoJYXNzZXROYW1lGAEgASgJEhQKDG1heFZvbHVtZTI0aBgCIAEoARIeCgdzeW1ib2xzGAMgAygLMg0uTWFya2V0U3ltYm9sEhMKC2Fzc2V0VGlja2VyGAQgASgJEhQKDHZhcmlhbnRDb3VudBgIIAEoBRIcCg9tYXhWb2x1bWUyNGhVc2QYCSABKAFIAIgBARIQCghncm91cEtleRgKIAEoCUISChBfbWF4Vm9sdW1lMjRoVXNkImYKEkdldE1hcmtldHNSZXNwb25zZRIeCgdzeW1ib2xzGAEgAygLMg0uTWFya2V0U3ltYm9sEhIKCm5leHRPZmZzZXQYAiABKAUSHAoGYXNzZXRzGAMgAygLMgwuTWFya2V0QXNzZXQiWgoOTWFya2V0U3RhdHNLZXkSGwoIZXhjaGFuZ2UYASABKA4yCS5FeGNoYW5nZRIbCghjYXRlZ29yeRgCIAEoDjIJLkNhdGVnb3J5Eg4KBnN5bWJvbBgDIAEoCSJTChhTdHJlYW1NYXJrZXRTdGF0c1JlcXVlc3QSIAoHbWFya2V0cxgBIAMoCzIPLk1hcmtldFN0YXRzS2V5EhUKDWluY2x1ZGVQcmljZXMYAiABKAgiMgoTTWFya2V0U3RhdHNSZXNwb25zZRIbCgVzdGF0cxgBIAMoCzIMLk1hcmtldFN0YXRzIsAQCgtNYXJrZXRTdGF0cxIcCgNrZXkYASABKAsyDy5NYXJrZXRTdGF0c0tleRINCgVmb3VuZBgCIAEoCBIhCghsaXZlQXNPZhgDIAEoCzIKLlRpbWVzdGFtcEgAiAEBEiEKCHNsb3dBc09mGAQgASgLMgouVGltZXN0YW1wSAGIAQESFgoJbGFzdFByaWNlGAogASgBSAKIAQESGwoOcHJpY2VDaGFuZ2UyNGgYCyABKAFIA4gBARIWCgl2b2x1bWUyNGgYDCABKAFIBIgBARIZCgx2b2x1bWUyNGhVc2QYDSABKAFIBYgBARIcCg92b2x1bWVDaGFuZ2UyNGgYDiABKAFIBogBARIOCgZwcmljZXMYDyADKAESGAoLb2lDaGFuZ2UyNGgYECABKAFIB4gBARIcCg9vcGVuSW50ZXJlc3RVc2QYFCABKAFICIgBARIYCgtmdW5kaW5nUmF0ZRgVIAEoAUgJiAEBEh4KEWZ1bmRpbmdJbnRlcnZhbE1zGBYgASgDSAqIAQESFgoJbWFya2V0Y2FwGBcgASgBSAuIAQESEAoDZmR2GBggASgBSAyIAQESHgoRY2lyY3VsYXRpbmdTdXBwbHkYGSABKAFIDYgBARIYCgt0b3RhbFN1cHBseRgaIAEoAUgOiAEBEhYKCW1heFN1cHBseRgbIAEoAUgPiAEBEh4KEXNoYXJlc091dHN0YW5kaW5nGBwgASgBSBCIAQESGwoOcHJpY2VDaGFuZ2UxMG0YKCABKAFIEYgBARIaCg1wcmljZUNoYW5nZTFoGCkgASgBSBKIAQESGgoNcHJpY2VDaGFuZ2U3ZBgqIAEoAUgTiAEBEhIKBWxvdzdkGCsgASgBSBSIAQESEwoGaGlnaDdkGCwgASgBSBWIAQESGQoMdm9sdW1lMTBtVXNkGC0gASgBSBaIAQESGAoLdm9sdW1lMWhVc2QYLiABKAFIF4gBARIeChF2b2x1bWVEZWx0YTEwbVVzZBgvIAEoAUgYiAEBEh0KEHZvbHVtZURlbHRhMWhVc2QYMCABKAFIGYgBARIeChF2b2x1bWVEZWx0YTI0aFVzZBgxIAEoAUgaiAEBEhcKCm9pQ2hhbmdlMWgYMiABKAFIG4gBARIeChFmdW5kaW5nUmF0ZUF2ZzI0aBgzIAEoAUgciAEBEhcKCmZ1bmRpbmdBcHIYNCABKAFIHYgBARIfChJsaXF1aWRhdGlvbnMyNGhVc2QYNSABKAFIHogBARIjChZsb25nTGlxdWlkYXRpb25zMjRoVXNkGDYgASgBSB+IAQESJAoXc2hvcnRMaXF1aWRhdGlvbnMyNGhVc2QYNyABKAFIIIgBARITCgZwZXJmMXcYOCABKAFIIYgBARITCgZwZXJmMW0YOSABKAFIIogBARITCgZwZXJmM20YOiABKAFII4gBARITCgZwZXJmNm0YOyABKAFIJIgBARIUCgdwZXJmWXRkGDwgASgBSCWIAQESEwoGcGVyZjF5GD0gASgBSCaIAQESFAoHaGlnaDUydxg+IAEoAUgniAEBEhMKBmxvdzUydxg/IAEoAUgoiAEBEhkKDGJ1eVZvbHVtZTI0aBhGIAEoAUgpiAEBEhoKDXNlbGxWb2x1bWUyNGgYRyABKAFIKogBARIaCg11bmlxdWVUcmFkZXJzGEggASgDSCuIAQESGAoLdG90YWxWb2x1bWUYSSABKAFILIgBARIgCgdlbmREYXRlGEogASgLMgouVGltZXN0YW1wSC2IAQESEwoGY2xvc2VkGEsgASgISC6IAQFCCwoJX2xpdmVBc09mQgsKCV9zbG93QXNPZkIMCgpfbGFzdFByaWNlQhEKD19wcmljZUNoYW5nZTI0aEIMCgpfdm9sdW1lMjRoQg8KDV92b2x1bWUyNGhVc2RCEgoQX3ZvbHVtZUNoYW5nZTI0aEIOCgxfb2lDaGFuZ2UyNGhCEgoQX29wZW5JbnRlcmVzdFVzZEIOCgxfZnVuZGluZ1JhdGVCFAoSX2Z1bmRpbmdJbnRlcnZhbE1zQgwKCl9tYXJrZXRjYXBCBgoEX2ZkdkIUChJfY2lyY3VsYXRpbmdTdXBwbHlCDgoMX3RvdGFsU3VwcGx5QgwKCl9tYXhTdXBwbHlCFAoSX3NoYXJlc091dHN0YW5kaW5nQhEKD19wcmljZUNoYW5nZTEwbUIQCg5fcHJpY2VDaGFuZ2UxaEIQCg5fcHJpY2VDaGFuZ2U3ZEIICgZfbG93N2RCCQoHX2hpZ2g3ZEIPCg1fdm9sdW1lMTBtVXNkQg4KDF92b2x1bWUxaFVzZEIUChJfdm9sdW1lRGVsdGExMG1Vc2RCEwoRX3ZvbHVtZURlbHRhMWhVc2RCFAoSX3ZvbHVtZURlbHRhMjRoVXNkQg0KC19vaUNoYW5nZTFoQhQKEl9mdW5kaW5nUmF0ZUF2ZzI0aEINCgtfZnVuZGluZ0FwckIVChNfbGlxdWlkYXRpb25zMjRoVXNkQhkKF19sb25nTGlxdWlkYXRpb25zMjRoVXNkQhoKGF9zaG9ydExpcXVpZGF0aW9uczI0aFVzZEIJCgdfcGVyZjF3QgkKB19wZXJmMW1CCQoHX3BlcmYzbUIJCgdfcGVyZjZtQgoKCF9wZXJmWXRkQgkKB19wZXJmMXlCCgoIX2hpZ2g1MndCCQoHX2xvdzUyd0IPCg1fYnV5Vm9sdW1lMjRoQhAKDl9zZWxsVm9sdW1lMjRoQhAKDl91bmlxdWVUcmFkZXJzQg4KDF90b3RhbFZvbHVtZUIKCghfZW5kRGF0ZUIJCgdfY2xvc2VkImoKFUdldE9wdGlvbkNoYWluUmVxdWVzdBIbCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlEgwKBGNvaW4YAiABKAkSFwoKZXhwaXJ5VW5peBgDIAEoA0gAiAEBQg0KC19leHBpcnlVbml4IkQKFU9wdGlvbkNoYWluSW5zdHJ1bWVudBIRCglyYXdTeW1ib2wYASABKAkSGAoQbm9ybWFsaXplZFN5bWJvbBgCIAEoCSJwChFPcHRpb25DaGFpblN0cmlrZRIOCgZzdHJpa2UYASABKAESJQoFY2FsbHMYAiADKAsyFi5PcHRpb25DaGFpbkluc3RydW1lbnQSJAoEcHV0cxgDIAMoCzIWLk9wdGlvbkNoYWluSW5zdHJ1bWVudCJlChFPcHRpb25DaGFpbkV4cGlyeRISCgpleHBpcnlVbml4GAEgASgDEhcKD2luc3RydW1lbnRDb3VudBgCIAEoBRIjCgdzdHJpa2VzGAMgAygLMhIuT3B0aW9uQ2hhaW5TdHJpa2UiaQoWR2V0T3B0aW9uQ2hhaW5SZXNwb25zZRIbCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlEgwKBGNvaW4YAiABKAkSJAoIZXhwaXJpZXMYAyADKAsyEi5PcHRpb25DaGFpbkV4cGlyeSLPAQocR2V0T3B0aW9uQ2hhaW5TdW1tYXJ5UmVxdWVzdBIbCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlEhIKCnVuZGVybHlpbmcYAiABKAkSEAoIZXhwaXJpZXMYAyADKAMSHAoPbmVpZ2hib3JTdHJpa2VzGAQgASgFSACIAQESFgoOYWxsVW5kZXJseWluZ3MYBSABKAgSIgoGdGltaW5nGAYgASgOMhIuT3B0aW9uQ2hhaW5UaW1pbmdCEgoQX25laWdoYm9yU3RyaWtlcyKvBQoQT3B0aW9uQ2hhaW5RdW90ZRIOCgZzeW1ib2wYASABKAkSGAoQbm9ybWFsaXplZFN5bWJvbBgCIAEoCRIQCgNiaWQYAyABKAFIAIgBARIQCgNhc2sYBCABKAFIAYgBARIUCgdiaWRTaXplGAUgASgBSAKIAQESFAoHYXNrU2l6ZRgGIAEoAUgDiAEBEhIKBWJpZElWGAcgASgBSASIAQESEgoFYXNrSVYYCCABKAFIBYgBARIRCgRsYXN0GAkgASgBSAaIAQESEwoGdm9sdW1lGAogASgBSAeIAQESGQoMb3BlbkludGVyZXN0GAsgASgBSAiIAQESFgoJbWFya1ByaWNlGAwgASgBSAmIAQESEwoGbWFya0lWGA0gASgBSAqIAQESEgoFZGVsdGEYDiABKAFIC4gBARISCgVnYW1tYRgPIAEoAUgMiAEBEhEKBHZlZ2EYECABKAFIDYgBARISCgV0aGV0YRgRIAEoAUgOiAEBEhAKA3JobxgSIAEoAUgPiAEBEhEKCXRpbWVzdGFtcBgTIAEoAxIcCg9zZXR0bGVtZW50UHJpY2UYFCABKAFIEIgBARIWCg5zZXR0bGVtZW50RGF0ZRgVIAEoAxIVCghmdWxsTmFtZRgWIAEoCUgRiAEBQgYKBF9iaWRCBgoEX2Fza0IKCghfYmlkU2l6ZUIKCghfYXNrU2l6ZUIICgZfYmlkSVZCCAoGX2Fza0lWQgcKBV9sYXN0QgkKB192b2x1bWVCDwoNX29wZW5JbnRlcmVzdEIMCgpfbWFya1ByaWNlQgkKB19tYXJrSVZCCAoGX2RlbHRhQggKBl9nYW1tYUIHCgVfdmVnYUIICgZfdGhldGFCBgoEX3Job0ISChBfc2V0dGxlbWVudFByaWNlQgsKCV9mdWxsTmFtZSJrChhPcHRpb25DaGFpblN1bW1hcnlTdHJpa2USDgoGc3RyaWtlGAEgASgBEh8KBGNhbGwYAiABKAsyES5PcHRpb25DaGFpblF1b3RlEh4KA3B1dBgDIAEoCzIRLk9wdGlvbkNoYWluUXVvdGUirQMKGE9wdGlvbkNoYWluU3VtbWFyeUV4cGlyeRISCgpleHBpcnlVbml4GAEgASgDEhgKEHVuZGVybHlpbmdTeW1ib2wYAiABKAkSHAoPdW5kZXJseWluZ1ByaWNlGAMgASgBSACIAQESLgoMYW5jaG9yU291cmNlGAQgASgOMhguT3B0aW9uQ2hhaW5BbmNob3JTb3VyY2USFgoJYXRtU3RyaWtlGAUgASgBSAGIAQESFwoPaW5zdHJ1bWVudENvdW50GAYgASgFEioKB3N0cmlrZXMYByADKAsyGS5PcHRpb25DaGFpblN1bW1hcnlTdHJpa2USHwoSdW5kZXJseWluZ0NvaW5OYW1lGAggASgJSAKIAQESHwoSdW5kZXJseWluZ0Z1bGxOYW1lGAkgASgJSAOIAQESFwoKaW5kZXhQcmljZRgKIAEoAUgEiAEBQhIKEF91bmRlcmx5aW5nUHJpY2VCDAoKX2F0bVN0cmlrZUIVChNfdW5kZXJseWluZ0NvaW5OYW1lQhUKE191bmRlcmx5aW5nRnVsbE5hbWVCDQoLX2luZGV4UHJpY2Ui5gEKHUdldE9wdGlvbkNoYWluU3VtbWFyeVJlc3BvbnNlEhsKCGV4Y2hhbmdlGAEgASgOMgkuRXhjaGFuZ2USEgoKdW5kZXJseWluZxgCIAEoCRIbChNyZXF1ZXN0ZWRVbmRlcmx5aW5nGAMgASgJEisKCGV4cGlyaWVzGAQgAygLMhkuT3B0aW9uQ2hhaW5TdW1tYXJ5RXhwaXJ5EiIKBnRpbWluZxgFIAEoDjISLk9wdGlvbkNoYWluVGltaW5nEhAKCGFzT2ZVbml4GAYgASgDEhQKDGRlbGF5U2Vjb25kcxgHIAEoBSKVAgoPTWV0YWRhdGFSZXF1ZXN0EhMKBHR5cGUYASADKA4yBS5UeXBlEhsKCGV4Y2hhbmdlGAIgAygOMgkuRXhjaGFuZ2USGwoIY2F0ZWdvcnkYAyADKA4yCS5DYXRlZ29yeRIMCgRjb2luGAQgAygJEhEKCXJhd1N5bWJvbBgFIAMoCRIYChBub3JtYWxpemVkU3ltYm9sGAogAygJEgwKBGZyb20YBiABKAMSDgoGcGVyaW9kGAcgASgDEhcKBmlzc3VlchgIIAMoDjIHLklzc3VlchIRCglibG9ja1NpemUYCSADKAESFQoFdGVub3IYCyADKA4yBi5UZW5vchIXCgZzb3VyY2UYDCADKA4yBy5Tb3VyY2UiKwoMRGF0YVJlc3BvbnNlEhsKBnNlcmllcxgBIAMoCzILLlRpbWVTZXJpZXMi7wMKEE1ldGFkYXRhUmVzcG9uc2USFAoFdHlwZXMYASADKA4yBS5UeXBlEhwKCWV4Y2hhbmdlcxgCIAMoDjIJLkV4Y2hhbmdlEh0KCmNhdGVnb3JpZXMYAyADKA4yCS5DYXRlZ29yeRINCgVjb2lucxgEIAMoCRISCgpyYXdTeW1ib2xzGAYgAygJEhkKEW5vcm1hbGl6ZWRTeW1ib2xzGAkgAygJEhcKBmlzc3VlchgHIAMoDjIHLklzc3VlchISCgpibG9ja1NpemVzGAggAygBEhYKBnRlbm9ycxgKIAMoDjIGLlRlbm9yEi8KEmV4Y2hhbmdlQ2F0ZWdvcmllcxgLIAMoCzITLkV4Y2hhbmdlQ2F0ZWdvcmllcxJNChZjb2luRXhjaGFuZ2VSYXdTeW1ib2xzGAwgAygLMi0uTWV0YWRhdGFSZXNwb25zZS5Db2luRXhjaGFuZ2VSYXdTeW1ib2xzRW50cnkSLAoRcmVnaXN0cnlNZXRhZGF0YXMYDSADKAsyES5SZWdpc3RyeU1ldGFkYXRhGlcKG0NvaW5FeGNoYW5nZVJhd1N5bWJvbHNFbnRyeRILCgNrZXkYASABKAkSJwoFdmFsdWUYAiABKAsyGC5FeGNoYW5nZVJhd1N5bWJvbHNHcm91cDoCOAEioQQKEFJlZ2lzdHJ5TWV0YWRhdGESEwoEdHlwZRgBIAEoDjIFLlR5cGUSGwoIZXhjaGFuZ2UYAiABKA4yCS5FeGNoYW5nZRIbCghjYXRlZ29yeRgDIAEoDjIJLkNhdGVnb3J5EgwKBGNvaW4YBCABKAkSEQoJcmF3U3ltYm9sGAUgASgJEhgKEG5vcm1hbGl6ZWRTeW1ib2wYBiABKAkSEQoJYmxvY2tTaXplGAcgASgBEh8KEmNvbnRyYWN0TXVsdGlwbGllchgIIAEoAUgAiAEBEhQKB2ludmVyc2UYCSABKAhIAYgBARIXCgpwb2ludFZhbHVlGAogASgBSAKIAQESIAoTYXZhaWxhYmxlU2luY2VVbml4UxgTIAEoA0gDiAEBEh0KEGF2YWlsYWJsZVRvVW5peFMYFCABKANIBIgBAUIVChNfY29udHJhY3RNdWx0aXBsaWVyQgoKCF9pbnZlcnNlQg0KC19wb2ludFZhbHVlQhYKFF9hdmFpbGFibGVTaW5jZVVuaXhTQhMKEV9hdmFpbGFibGVUb1VuaXhTSgQICxATUgphc3NldENsYXNzUhB1bmRlcmx5aW5nU3ltYm9sUg51bmRlcmx5aW5nSXNpblIGaXNzdWVyUhFpc3N1ZXJUb2tlblN5bWJvbFIPc2hhcmVNdWx0aXBsaWVyUhB0cmFkaW5nSG91cnNNb2RlUg5pc0lzc3VlckhhbHRlZCJQChJFeGNoYW5nZUNhdGVnb3JpZXMSGwoIZXhjaGFuZ2UYASABKA4yCS5FeGNoYW5nZRIdCgpjYXRlZ29yaWVzGAIgAygOMgkuQ2F0ZWdvcnkiRQoSRXhjaGFuZ2VSYXdTeW1ib2xzEhsKCGV4Y2hhbmdlGAEgASgOMgkuRXhjaGFuZ2USEgoKcmF3U3ltYm9scxgCIAMoCSJKChdFeGNoYW5nZVJhd1N5bWJvbHNHcm91cBIvChJleGNoYW5nZVJhd1N5bWJvbHMYASADKAsyEy5FeGNoYW5nZVJhd1N5bWJvbHMiKAoKQ29pbkRldGFpbBIMCgRjb2luGAEgASgJEgwKBG5hbWUYAiABKAkiNQoRR2V0U2VjdG9yUmVzcG9uc2USIAoLY29pbkRldGFpbHMYASADKAsyCy5Db2luRGV0YWlsIiIKEEdldFNlY3RvclJlcXVlc3QSDgoGc2VjdG9yGAEgASgFIkAKDFNlY3RvckRldGFpbBIKCgJpZBgBIAEoBRIMCgRuYW1lGAIgASgJEhYKDmNoaWxkU2VjdG9ySURzGAMgAygFIjQKEkdldFNlY3RvcnNSZXNwb25zZRIeCgdzZWN0b3JzGAEgAygLMg0uU2VjdG9yRGV0YWlsInYKDkdldEdhcHNSZXF1ZXN0EhgKBGZyb20YASABKAsyCi5UaW1lc3RhbXASFgoCdG8YAiABKAsyCi5UaW1lc3RhbXASFAoFdHlwZXMYAyADKA4yBS5UeXBlEhwKCWV4Y2hhbmdlcxgEIAMoDjIJLkV4Y2hhbmdlIjAKGU9yZGVyQm9va0ZlYXR1cmVzUmVzcG9uc2USEwoLcGVyY2VudGlsZXMYASADKAEiiwEKD0dldEdhcHNSZXNwb25zZRI4CgxleGNoYW5nZUdhcHMYASADKAsyIi5HZXRHYXBzUmVzcG9uc2UuRXhjaGFuZ2VHYXBzRW50cnkaPgoRRXhjaGFuZ2VHYXBzRW50cnkSCwoDa2V5GAEgASgJEhgKBXZhbHVlGAIgASgLMgkuVHlwZUdhcHM6AjgBIqMBChNEZWxldGVQb2ludHNSZXF1ZXN0EhsKCGV4Y2hhbmdlGAEgASgOMgkuRXhjaGFuZ2USEwoEdHlwZRgCIAEoDjIFLlR5cGUSGAoEZnJvbRgDIAEoCzIKLlRpbWVzdGFtcBIWCgJ0bxgEIAEoCzIKLlRpbWVzdGFtcBITCgt0b0luY2x1c2l2ZRgFIAEoCBITCgt0YWJsZVByZWZpeBgGIAEoCSJ6ChRSZWZyZXNoUG9pbnRzUmVxdWVzdBIbCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlEhMKBHR5cGUYAiABKA4yBS5UeXBlEhgKBGZyb20YAyABKAsyCi5UaW1lc3RhbXASFgoCdG8YBCABKAsyCi5UaW1lc3RhbXAiNwoDR2FwEhgKBGZyb20YASABKAsyCi5UaW1lc3RhbXASFgoCdG8YAiABKAsyCi5UaW1lc3RhbXAiMgoHVHlwZUdhcBITCgR0eXBlGAEgASgOMgUuVHlwZRISCgRnYXBzGAIgAygLMgQuR2FwIiYKCFR5cGVHYXBzEhoKCHR5cGVHYXBzGAEgAygLMgguVHlwZUdhcCIsChRHZXRXYXRlcm1hcmtzUmVxdWVzdBIUCgV0eXBlcxgBIAMoDjIFLlR5cGUikwEKFUdldFdhdGVybWFya3NSZXNwb25zZRI6Cgp3YXRlcm1hcmtzGAEgAygLMiYuR2V0V2F0ZXJtYXJrc1Jlc3BvbnNlLldhdGVybWFya3NFbnRyeRo+Cg9XYXRlcm1hcmtzRW50cnkSCwoDa2V5GAEgASgJEhoKBXZhbHVlGAIgASgLMgsuV2F0ZXJtYXJrczoCOAEiQQoKV2F0ZXJtYXJrcxIzChRhZ2dJbnRlcnZhbFdhdGVybWFyaxgBIAMoCzIVLkFnZ0ludGVydmFsV2F0ZXJtYXJrImAKFEFnZ0ludGVydmFsV2F0ZXJtYXJrEikKC2FnZ0ludGVydmFsGAEgASgOMhQuQWdncmVnYXRpb25JbnRlcnZhbBIdCgl3YXRlcm1hcmsYAiABKAsyCi5UaW1lc3RhbXAi7AEKE0dldEdhcHNDb3VudFJlcXVlc3QSGAoEZnJvbRgBIAEoCzIKLlRpbWVzdGFtcBIWCgJ0bxgCIAEoCzIKLlRpbWVzdGFtcBIUCgV0eXBlcxgDIAMoDjIFLlR5cGUSHAoJZXhjaGFuZ2VzGAQgAygOMgkuRXhjaGFuZ2USKQoLYWdnSW50ZXJ2YWwYBSABKA4yFC5BZ2dyZWdhdGlvbkludGVydmFsEisKCmlkZW50aWZpZXIYBiABKA4yFy5HZXRHYXBzQ291bnRJZGVudGlmaWVyEhcKD2lkZW50aWZpZXJWYWx1ZRgHIAEoCSKmAQoUR2V0R2Fwc0NvdW50UmVzcG9uc2USRwoRZXhjaGFuZ2VHYXBzQ291bnQYASADKAsyLC5HZXRHYXBzQ291bnRSZXNwb25zZS5FeGNoYW5nZUdhcHNDb3VudEVudHJ5GkUKFkV4Y2hhbmdlR2Fwc0NvdW50RW50cnkSCwoDa2V5GAEgASgJEhoKBXZhbHVlGAIgASgLMgsuVHlwZUNvdW50czoCOAEiLAoKVHlwZUNvdW50cxIeCgp0eXBlQ291bnRzGAEgAygLMgouVHlwZUNvdW50Ii8KCVR5cGVDb3VudBITCgR0eXBlGAEgASgOMgUuVHlwZRINCgVjb3VudBgCIAEoBSL2DwoLUlBDUmVzcG9uc2USDwoCaWQYASABKANIAIgBARISCgVlcnJvchgCIAEoCUgBiAEBEhEKBHNpemUYAyABKANIAogBARIbCgZzZXJpZXMYBCADKAsyCy5UaW1lU2VyaWVzEiwKEXJlZ2lzdHJ5TWV0YWRhdGFzGAUgAygLMhEuUmVnaXN0cnlNZXRhZGF0YRIgCgtjb2luTWV0cmljcxgGIAMoCzILLkNvaW5NZXRyaWMSJAoNbWFya2V0U3ltYm9scxgHIAMoCzINLk1hcmtldFN5bWJvbBIaCgRwb25nGAggASgLMgwuUG9uZ01lc3NhZ2USLAoRcG9seW1hcmtldE1hcmtldHMYCiADKAsyES5Qb2x5bWFya2V0TWFya2V0EhgKEG1ldGFkYXRhX3N0cmluZ3MYCyADKAkSJQoSbWV0YWRhdGFfZXhjaGFuZ2VzGAwgAygOMgkuRXhjaGFuZ2USJgoTbWV0YWRhdGFfY2F0ZWdvcmllcxgNIAMoDjIJLkNhdGVnb3J5EjIKEXBvbHltYXJrZXRfb3JkZXJzGA4gAygLMhcuUG9seW1hcmtldFBhcnNlZE9yZGVycxIfChdvcmRlcl9ib29rX2Rpc3RyaWJ1dGlvbhgPIAMoARIXCg9tZXRhZGF0YV9mbG9hdHMYECADKAESOAoXcG9seW1hcmtldENhdGVnb3J5UGFpcnMYESADKAsyFy5Qb2x5bWFya2V0Q2F0ZWdvcnlQYWlyEjoKGHBvbHltYXJrZXRUcmFkZXJQcm9maWxlcxgSIAMoCzIYLlBvbHltYXJrZXRUcmFkZXJQcm9maWxlEjkKF3BvbHltYXJrZXRVc2VyUG9zaXRpb25zGBMgAygLMhguUG9seW1hcmtldFVzZXJQb3NpdGlvbnMSSAoWY29pbkV4Y2hhbmdlUmF3U3ltYm9scxgUIAMoCzIoLlJQQ1Jlc3BvbnNlLkNvaW5FeGNoYW5nZVJhd1N5bWJvbHNFbnRyeRI5Chdwb2x5bWFya2V0TWFya2V0U3VtbWFyeRgVIAMoCzIYLlBvbHltYXJrZXRNYXJrZXRTdW1tYXJ5EjQKD3VzZXJfY2F0ZWdvcmllcxgWIAMoCzIbLlBvbHltYXJrZXRUcmFkZXJDYXRlZ29yaWVzEiIKDG1hcmtldEFzc2V0cxgXIAMoCzIMLk1hcmtldEFzc2V0Ej0KGXBvbHltYXJrZXRQbGF0Zm9ybVN1bW1hcnkYGCADKAsyGi5Qb2x5bWFya2V0UGxhdGZvcm1TdW1tYXJ5EkcKHnBvbHltYXJrZXRQbGF0Zm9ybURpc3RyaWJ1dGlvbhgZIAMoCzIfLlBvbHltYXJrZXRQbGF0Zm9ybURpc3RyaWJ1dGlvbhIvChJleGNoYW5nZUNhdGVnb3JpZXMYGiADKAsyEy5FeGNoYW5nZUNhdGVnb3JpZXMSNQoQcG9seW1hcmtldEV2ZW50cxgbIAMoCzIbLkdldFBvbHltYXJrZXRFdmVudFJlc3BvbnNlEh4KB3NlY3RvcnMYHCADKAsyDS5TZWN0b3JEZXRhaWwSJgoRc2VjdG9yQ29pbkRldGFpbHMYHSADKAsyCy5Db2luRGV0YWlsEikKEHNlY3RvckNhdGVnb3JpZXMYHiADKAsyDy5TZWN0b3JDYXRlZ29yeRIkCg1mcmVkTWV0YWRhdGFzGB8gAygLMg0uRnJlZE1ldGFkYXRhEjUKFXBvbHlnb25UaWNrZXJNZXRhZGF0YRggIAMoCzIWLlBvbHlnb25UaWNrZXJNZXRhZGF0YRIzChR0b2tlblVubG9ja3NNZXRhZGF0YRghIAMoCzIVLlRva2VuVW5sb2Nrc01ldGFkYXRhEjEKD3N5bWJvbERpcmVjdG9yeRgiIAEoCzIYLlN5bWJvbERpcmVjdG9yeVJlc3BvbnNlEiwKC29wdGlvbkNoYWluGCMgASgLMhcuR2V0T3B0aW9uQ2hhaW5SZXNwb25zZRIeChFyZXRyeUFmdGVyU2Vjb25kcxgkIAEoA0gDiAEBEiwKDnJhdGVMaW1pdFVzYWdlGCUgASgLMg8uUmF0ZUxpbWl0VXNhZ2VIBIgBARIUCgd0b29rX21zGCYgASgDSAWIAQESOgoSb3B0aW9uQ2hhaW5TdW1tYXJ5GCcgASgLMh4uR2V0T3B0aW9uQ2hhaW5TdW1tYXJ5UmVzcG9uc2USOAoXZWNvbm9taWNTZXJpZXNNZXRhZGF0YXMYKCADKAsyFy5FY29ub21pY1Nlcmllc01ldGFkYXRhEiEKC21hcmtldFN0YXRzGCkgAygLMgwuTWFya2V0U3RhdHMSNgoWbWVtZWNvaW5UcmFkZXJQcm9maWxlcxgqIAMoCzIWLk1lbWVjb2luVHJhZGVyUHJvZmlsZRIyChRtZW1lY29pblRva2VuSG9sZGVycxgrIAMoCzIULk1lbWVjb2luVG9rZW5Ib2xkZXIaVwobQ29pbkV4Y2hhbmdlUmF3U3ltYm9sc0VudHJ5EgsKA2tleRgBIAEoCRInCgV2YWx1ZRgCIAEoCzIYLkV4Y2hhbmdlUmF3U3ltYm9sc0dyb3VwOgI4AUIFCgNfaWRCCAoGX2Vycm9yQgcKBV9zaXplQhQKEl9yZXRyeUFmdGVyU2Vjb25kc0IRCg9fcmF0ZUxpbWl0VXNhZ2VCCgoIX3Rvb2tfbXNKBAgJEAoinAEKDlJhdGVMaW1pdFVzYWdlEg0KBWxpbWl0GAEgASgDEhEKCXJlbWFpbmluZxgCIAEoAxIMCgR1c2VkGAMgASgDEg8KB3Jlc2V0QXQYBCABKAMSFQoNd2luZG93U2Vjb25kcxgFIAEoAxIoCgVkYWlseRgGIAEoCzIULlJhdGVMaW1pdERhaWx5VXNhZ2VIAIgBAUIICgZfZGFpbHkiVgoTUmF0ZUxpbWl0RGFpbHlVc2FnZRINCgVsaW1pdBgBIAEoAxIMCgR1c2VkGAIgASgDEhEKCXJlbWFpbmluZxgDIAEoAxIPCgdyZXNldEF0GAQgASgDIocCCg5TeW1ib2xDcml0ZXJpYRIeCgZleHBpcnkYASABKAsyCS5Dcml0ZXJpYUgAiAEBEiQKDGNvbnRyYWN0VHlwZRgCIAEoCzIJLkNyaXRlcmlhSAGIAQESIwoLc3RyaWtlUHJpY2UYAyABKAsyCS5Dcml0ZXJpYUgCiAEBEiIKCm9wdGlvblR5cGUYBCABKAsyCS5Dcml0ZXJpYUgDiAEBEh8KB2ludmVyc2UYBSABKAsyCS5Dcml0ZXJpYUgEiAEBQgkKB19leHBpcnlCDwoNX2NvbnRyYWN0VHlwZUIOCgxfc3RyaWtlUHJpY2VCDQoLX29wdGlvblR5cGVCCgoIX2ludmVyc2Ui/AEKCENyaXRlcmlhEhUKCGxlc3NUaGFuGAEgASgJSACIAQESGgoNbGVzc1RoYW5FcXVhbBgCIAEoCUgBiAEBEhgKC2dyZWF0ZXJUaGFuGAMgASgJSAKIAQESHQoQZ3JlYXRlclRoYW5FcXVhbBgEIAEoCUgDiAEBEhIKBWVxdWFsGAUgASgJSASIAQESFQoIbm90RXF1YWwYBiABKAlIBYgBAUILCglfbGVzc1RoYW5CEAoOX2xlc3NUaGFuRXF1YWxCDgoMX2dyZWF0ZXJUaGFuQhMKEV9ncmVhdGVyVGhhbkVxdWFsQggKBl9lcXVhbEILCglfbm90RXF1YWwiwQQKCkNvaW5NZXRyaWMSDAoEY29pbhgBIAEoCRINCgVwcmljZRgCIAEoARIlChhwcmljZVBlcmNlbnRhZ2VDaGFuZ2UyNEgYAyABKAFIAIgBARIWCg50b3RhbFZvbHVtZTI0SBgEIAEoARIhChR0b3RhbE9wZW5JbnRlcmVzdDI0SBgFIAEoAUgBiAEBEiwKH29wZW5JbnRlcmVzdFBlcmNlbnRhZ2VDaGFuZ2UyNEgYBiABKAFIAogBARIfChJvaXdhRnVuZGluZ1JhdGUyNEgYByABKAFIA4gBARIvCiJvaXdhRnVuZGluZ1JhdGVQZXJjZW50YWdlQ2hhbmdlMjRIGAggASgBSASIAQESFgoJbWFya2V0Y2FwGAkgASgBSAWIAQESMQoYbmV3bHlMaXN0ZWREYXRlQmluYW5jZTdEGAogASgLMgouVGltZXN0YW1wSAaIAQESFwoKYXRyUGVyY2VudBgLIAEoAUgHiAEBQhsKGV9wcmljZVBlcmNlbnRhZ2VDaGFuZ2UyNEhCFwoVX3RvdGFsT3BlbkludGVyZXN0MjRIQiIKIF9vcGVuSW50ZXJlc3RQZXJjZW50YWdlQ2hhbmdlMjRIQhUKE19vaXdhRnVuZGluZ1JhdGUyNEhCJQojX29pd2FGdW5kaW5nUmF0ZVBlcmNlbnRhZ2VDaGFuZ2UyNEhCDAoKX21hcmtldGNhcEIbChlfbmV3bHlMaXN0ZWREYXRlQmluYW5jZTdEQg0KC19hdHJQZXJjZW50IiYKFUdldENvaW5NZXRyaWNzUmVxdWVzdBINCgVjb2lucxgBIAMoCSI6ChZHZXRDb2luTWV0cmljc1Jlc3BvbnNlEiAKC2NvaW5NZXRyaWNzGAEgAygLMgsuQ29pbk1ldHJpYyJwCg5TZWN0b3JDYXRlZ29yeRIvChJzZWN0b3JNYWluQ2F0ZWdvcnkYASABKA4yEy5TZWN0b3JNYWluQ2F0ZWdvcnkSLQoRc2VjdG9yU3ViQ2F0ZWdvcnkYAiABKA4yEi5TZWN0b3JTdWJDYXRlZ29yeSJIChtHZXRTZWN0b3JDYXRlZ29yaWVzUmVzcG9uc2USKQoQc2VjdG9yQ2F0ZWdvcmllcxgBIAMoCzIPLlNlY3RvckNhdGVnb3J5IpEFCgxGcmVkTWV0YWRhdGESCgoCaWQYASABKAkSDQoFdGl0bGUYAiABKAkSMwoVZnJlZF91cGRhdGVfZnJlcXVlbmN5GAMgASgOMhQuRnJlZFVwZGF0ZUZyZXF1ZW5jeRI0ChNzZWFzb25hbF9hZGp1c3RtZW50GAQgASgOMhcuRnJlZFNlYXNvbmFsQWRqdXN0bWVudBITCgt1bml0c19sYWJlbBgFIAEoCRIZChFvYnNlcnZhdGlvbl9zdGFydBgGIAEoCRIXCg9vYnNlcnZhdGlvbl9lbmQYByABKAkSFAoMbGFzdF91cGRhdGVkGAggASgJEiIKFWluZ2VzdF9zdGFydF9vdmVycmlkZRgJIAEoCUgAiAEBEh8KDGRlZmF1bHRfdW5pdBgKIAEoDjIJLkZyZWRVbml0Ej8KHGRlZmF1bHRfZG93bnNhbXBsZV9mcmVxdWVuY3kYCyABKA4yFC5GcmVkVXBkYXRlRnJlcXVlbmN5SAGIAQESNQoaZGVmYXVsdF9hZ2dyZWdhdGlvbl9tZXRob2QYDCABKA4yDC5Hcm91cEJ5VHlwZUgCiAEBEhcKCnJlbGVhc2VfaWQYDSABKANIA4gBARIZChFleHBlY3RlZF9sYWdfZGF5cxgOIAEoAxISCgVub3RlcxgPIAEoCUgEiAEBEiQKDWZyZWRfY2F0ZWdvcnkYECABKA4yDS5GcmVkQ2F0ZWdvcnlCGAoWX2luZ2VzdF9zdGFydF9vdmVycmlkZUIfCh1fZGVmYXVsdF9kb3duc2FtcGxlX2ZyZXF1ZW5jeUIdChtfZGVmYXVsdF9hZ2dyZWdhdGlvbl9tZXRob2RCDQoLX3JlbGVhc2VfaWRCCAoGX25vdGVzIjUKIEdldEZyZWRNZXRhZGF0YUJ5U2VyaWVzSURSZXF1ZXN0EhEKCXNlcmllc19pZBgBIAEoCSI/ChdHZXRGcmVkTWV0YWRhdGFSZXNwb25zZRIkCg1mcmVkTWV0YWRhdGFzGAEgAygLMg0uRnJlZE1ldGFkYXRhIsIDChZFY29ub21pY1Nlcmllc01ldGFkYXRhEhsKCGV4Y2hhbmdlGAEgASgOMgkuRXhjaGFuZ2USDgoGc3ltYm9sGAIgASgJEg0KBXRpdGxlGAMgASgJEhMKC3Nob3J0X3RpdGxlGAQgASgJEg8KB2NvdW50cnkYBSABKAkSEAoIY2F0ZWdvcnkYBiABKAkSEQoJZnJlcXVlbmN5GAcgASgJEg0KBXVuaXRzGAggASgJEhEKCXVuaXRfa2luZBgJIAEoCRIQCghjdXJyZW5jeRgKIAEoCRINCgVzY2FsZRgLIAEoARIbChNzZWFzb25hbF9hZGp1c3RtZW50GAwgASgJEg8KB3JlbGVhc2UYDSABKAkSEwoLc291cmNlX25hbWUYDiABKAkSEgoKc291cmNlX3VybBgPIAEoCRIPCgdsaWNlbnNlGBAgASgJEhMKC2F0dHJpYnV0aW9uGBEgASgJEg8KB2FsaWFzZXMYEiADKAkSGQoRb2JzZXJ2YXRpb25fc3RhcnQYEyABKAkSDQoFbm90ZXMYFCABKAkSEwoLc291cmNlX2tpbmQYFSABKAkSEQoJbmF0aXZlX2lkGBYgASgJIrcBCiBHZXRFY29ub21pY1Nlcmllc01ldGFkYXRhUmVxdWVzdBIgCghleGNoYW5nZRgBIAEoDjIJLkV4Y2hhbmdlSACIAQESEwoGc3ltYm9sGAIgASgJSAGIAQESFAoHY291bnRyeRgDIAEoCUgCiAEBEhUKCGNhdGVnb3J5GAQgASgJSAOIAQFCCwoJX2V4Y2hhbmdlQgkKB19zeW1ib2xCCgoIX2NvdW50cnlCCwoJX2NhdGVnb3J5Il0KIUdldEVjb25vbWljU2VyaWVzTWV0YWRhdGFSZXNwb25zZRI4ChdlY29ub21pY1Nlcmllc01ldGFkYXRhcxgBIAMoCzIXLkVjb25vbWljU2VyaWVzTWV0YWRhdGEiMQofR2V0UG9seWdvblRpY2tlck1ldGFkYXRhUmVxdWVzdBIOCgZ0aWNrZXIYASABKAkilQgKFVBvbHlnb25UaWNrZXJNZXRhZGF0YRIYChBwcmltYXJ5X2V4Y2hhbmdlGAEgASgJEh0KFXByaW1hcnlfZXhjaGFuZ2VfbmFtZRgCIAEoCRIlChhwcmltYXJ5X2V4Y2hhbmdlX2Fjcm9ueW0YAyABKAlIAIgBARIOCgZ0aWNrZXIYBCABKAkSEwoLdGlja2VyX25hbWUYBSABKAkSGAoLZGVzY3JpcHRpb24YBiABKAlIAYgBARIOCgZzZWN0b3IYByABKAkSEAoIaW5kdXN0cnkYCCABKAkSEQoEaXNpbhgJIAEoCUgCiAEBEgwKBGZpZ2kYCiABKAkSCwoDY2lrGAsgASgJEhQKB3dlYnNpdGUYDCABKAlIA4gBARIMCgR0eXBlGA0gASgJEhMKC3BvaW50X3ZhbHVlGA4gASgBEhEKCXJvdW5kX2xvdBgPIAEoARIVCg1jdXJyZW5jeV9uYW1lGBAgASgJEhEKCXRpY2tfc2l6ZRgRIAEoARIQCgh0aW1lem9uZRgTIAEoCRIZCgxwaG9uZV9udW1iZXIYFCABKAlIBIgBARIWCglhZGRyZXNzXzEYFSABKAlIBYgBARIRCgRjaXR5GBYgASgJSAaIAQESEgoFc3RhdGUYFyABKAlIB4gBARIYCgtwb3N0YWxfY29kZRgYIAEoCUgIiAEBEhwKD3RvdGFsX2VtcGxveWVlcxgZIAEoBUgJiAEBEhEKCW1hcmtldGNhcBgaIAEoARImCh5zaGFyZV9jbGFzc19zaGFyZXNfb3V0c3RhbmRpbmcYGyABKAESGQoRYnJhbmRpbmdfbG9nb191cmwYHCABKAkSGQoRYnJhbmRpbmdfaWNvbl91cmwYHSABKAkSIgoJbGlzdF9kYXRlGB4gASgLMgouVGltZXN0YW1wSAqIAQESDgoGYWN0aXZlGB8gASgIEhYKCWFkZHJlc3NfMhghIAEoCUgLiAEBEiYKDWRlbGlzdGVkX2RhdGUYIiABKAsyCi5UaW1lc3RhbXBIDIgBARITCgtwcmVfc2Vzc2lvbhgjIAEoCRIXCg9yZWd1bGFyX3Nlc3Npb24YJCABKAkSFAoMcG9zdF9zZXNzaW9uGCUgASgJQhsKGV9wcmltYXJ5X2V4Y2hhbmdlX2Fjcm9ueW1CDgoMX2Rlc2NyaXB0aW9uQgcKBV9pc2luQgoKCF93ZWJzaXRlQg8KDV9waG9uZV9udW1iZXJCDAoKX2FkZHJlc3NfMUIHCgVfY2l0eUIICgZfc3RhdGVCDgoMX3Bvc3RhbF9jb2RlQhIKEF90b3RhbF9lbXBsb3llZXNCDAoKX2xpc3RfZGF0ZUIMCgpfYWRkcmVzc18yQhAKDl9kZWxpc3RlZF9kYXRlSgQIEhATIkwKIEdldFBvbHlnb25UaWNrZXJNZXRhZGF0YVJlc3BvbnNlEigKCG1ldGFkYXRhGAEgAygLMhYuUG9seWdvblRpY2tlck1ldGFkYXRhIj8KHkdldFRva2VuVW5sb2Nrc01ldGFkYXRhUmVxdWVzdBIPCgdzeW1ib2xzGAEgAygJEgwKBG5hbWUYAiADKAkiuwEKEVRva2VuVW5sb2NrRXZlbnRzEhMKC3VubG9ja190eXBlGAEgASgJEhUKDXVubG9ja19hbW91bnQYAiABKAESHwoLdW5sb2NrX2RhdGUYAyABKAsyCi5UaW1lc3RhbXASEAoIY2F0ZWdvcnkYBCABKAkSDQoFbGFiZWwYBSABKAkSEwoLZGVzY3JpcHRpb24YBiABKAkSIwoPbGluZWFyX2VuZF9kYXRlGAcgASgLMgouVGltZXN0YW1wIngKFFRva2VuVW5sb2Nrc01ldGFkYXRhEg4KBnNvdXJjZRgBIAEoCRIOCgZzeW1ib2wYAiABKAkSDAoEbmFtZRgDIAEoCRIiCgZldmVudHMYBCADKAsyEi5Ub2tlblVubG9ja0V2ZW50cxIOCgZsYWJlbHMYBSADKAkiSwofR2V0VG9rZW5VbmxvY2tzTWV0YWRhdGFSZXNwb25zZRIoCgltZXRhZGF0YXMYASADKAsyFS5Ub2tlblVubG9ja3NNZXRhZGF0YSJIChlHZXREZXhQb29sTWV0YWRhdGFSZXF1ZXN0EhUKBWNoYWluGAEgAygOMgYuQ2hhaW4SFAoMcG9vbF9hZGRyZXNzGAIgAygJIkAKGkdldERleFBvb2xNZXRhZGF0YVJlc3BvbnNlEiIKCG1ldGFkYXRhGAEgAygLMhAuRGV4UG9vbE1ldGFkYXRhIoUCCg9EZXhQb29sTWV0YWRhdGESFQoFY2hhaW4YASABKA4yBi5DaGFpbhIUCgxwb29sX2FkZHJlc3MYAiABKAkSKQoNcG9vbF9wcm90b2NvbBgDIAEoDjINLlBvb2xQcm90b2NvbEgAiAEBEiYKDWxhdW5jaGVkX2RhdGUYBCABKAsyCi5UaW1lc3RhbXBIAYgBARIWCglsaXF1aWRpdHkYBSABKAFIAogBARIYCgtpc192ZXJpZmllZBgGIAEoCEgDiAEBQhAKDl9wb29sX3Byb3RvY29sQhAKDl9sYXVuY2hlZF9kYXRlQgwKCl9saXF1aWRpdHlCDgoMX2lzX3ZlcmlmaWVkIqgDChpHZXRQb2x5bWFya2V0RXZlbnRzUmVxdWVzdBIQCghldmVudF9pZBgBIAMoAxIMCgRzbHVnGAIgAygJEhwKD3N0YXJ0X2RhdGVfZnJvbRgDIAEoA0gAiAEBEhoKDXN0YXJ0X2RhdGVfdG8YBCABKANIAYgBARIcCg9jcmVhdGVkX2F0X2Zyb20YBSABKANIAogBARIaCg1jcmVhdGVkX2F0X3RvGAYgASgDSAOIAQESEgoFbGltaXQYByABKAVIBIgBARITCgZvZmZzZXQYCCABKAVIBYgBARIMCgRsaXRlGAkgASgIEgwKBHRhZ3MYCiADKAkSEwoGY2xvc2VkGAsgASgISAaIAQESHAoPcGFyZW50X2V2ZW50X2lkGAwgASgDSAeIAQFCEgoQX3N0YXJ0X2RhdGVfZnJvbUIQCg5fc3RhcnRfZGF0ZV90b0ISChBfY3JlYXRlZF9hdF9mcm9tQhAKDl9jcmVhdGVkX2F0X3RvQggKBl9saW1pdEIJCgdfb2Zmc2V0QgkKB19jbG9zZWRCEgoQX3BhcmVudF9ldmVudF9pZCJKChtHZXRQb2x5bWFya2V0RXZlbnRzUmVzcG9uc2USKwoGZXZlbnRzGAEgAygLMhsuR2V0UG9seW1hcmtldEV2ZW50UmVzcG9uc2UiogEKGkdldFBvbHltYXJrZXRFdmVudFJlc3BvbnNlEh8KBWV2ZW50GAEgASgLMhAuUG9seW1hcmtldEV2ZW50EiIKB21hcmtldHMYAiADKAsyES5Qb2x5bWFya2V0TWFya2V0EhwKBHRhZ3MYAyADKAsyDi5Qb2x5bWFya2V0VGFnEiEKBnNlcmllcxgEIAMoCzIRLlBvbHltYXJrZXRTZXJpZXMijgEKC0dlb0xvY2F0aW9uEhQKDGNvdW50cnlfY29kZRgBIAEoCRIPCgdjb3VudHJ5GAIgASgJEg4KBnJlZ2lvbhgDIAEoCRIVCghsYXRpdHVkZRgEIAEoAUgAiAEBEhYKCWxvbmdpdHVkZRgFIAEoAUgBiAEBQgsKCV9sYXRpdHVkZUIMCgpfbG9uZ2l0dWRlIrgNCg9Qb2x5bWFya2V0RXZlbnQSCgoCaWQYASABKAMSEwoGdGlja2VyGAIgASgJSACIAQESDAoEc2x1ZxgDIAEoCRINCgV0aXRsZRgEIAEoCRIYCgtkZXNjcmlwdGlvbhgFIAEoCUgBiAEBEiMKCnN0YXJ0X2RhdGUYBiABKAsyCi5UaW1lc3RhbXBIAogBARImCg1jcmVhdGlvbl9kYXRlGAcgASgLMgouVGltZXN0YW1wSAOIAQESIQoIZW5kX2RhdGUYCCABKAsyCi5UaW1lc3RhbXBIBIgBARIjCgpjcmVhdGVkX2F0GAkgASgLMgouVGltZXN0YW1wSAWIAQESIwoKdXBkYXRlZF9hdBgKIAEoCzIKLlRpbWVzdGFtcEgGiAEBEiQKC2Nsb3NlZF90aW1lGAsgASgLMgouVGltZXN0YW1wSAeIAQESKwoSZmluaXNoZWRfdGltZXN0YW1wGAwgASgLMgouVGltZXN0YW1wSAiIAQESEgoFaW1hZ2UYDSABKAlICYgBARIRCgRpY29uGA4gASgJSAqIAQESDgoGYWN0aXZlGA8gASgIEg4KBmNsb3NlZBgQIAEoCBIQCghhcmNoaXZlZBgRIAEoCBILCgNuZXcYEiABKAgSEAoIZmVhdHVyZWQYEyABKAgSEgoKcmVzdHJpY3RlZBgUIAEoCBIYCgtjb21wZXRpdGl2ZRgVIAEoAUgLiAEBEgwKBGxpdmUYFiABKAgSDQoFZW5kZWQYFyABKAgSFgoJbGlxdWlkaXR5GBggASgBSAyIAQESEwoGdm9sdW1lGBkgASgBSA2IAQESGgoNb3Blbl9pbnRlcmVzdBgaIAEoAUgOiAEBEhkKDHZvbHVtZV8yNF9ochgbIAEoAUgPiAEBEhgKC3ZvbHVtZV8xX3drGBwgASgBSBCIAQESGAoLdm9sdW1lXzFfbW8YHSABKAFIEYgBARIbCg5saXF1aWRpdHlfY2xvYhgeIAEoAUgSiAEBEhUKCGNhdGVnb3J5GB8gASgJSBOIAQESGAoLc3ViY2F0ZWdvcnkYICABKAlIFIgBARIbCg5ob21lX3RlYW1fbmFtZRghIAEoCUgViAEBEhsKDmF3YXlfdGVhbV9uYW1lGCIgASgJSBaIAQESFAoHZ2FtZV9pZBgjIAEoBUgXiAEBEhgKC2dhbWVfc3RhdHVzGCQgASgJSBiIAQESFwoKZXZlbnRfZGF0ZRglIAEoCUgZiAEBEhcKCmV2ZW50X3dlZWsYJiABKAVIGogBARIjCgpzdGFydF90aW1lGCcgASgLMgouVGltZXN0YW1wSBuIAQESFQoIbmVnX3Jpc2sYKCABKAhIHIgBARIfChJuZWdfcmlza19tYXJrZXRfaWQYKSABKAlIHYgBARIeChFuZWdfcmlza19mZWVfYmlwcxgqIAEoA0geiAEBEhwKD2VuYWJsZV9uZWdfcmlzaxgrIAEoCEgfiAEBEh4KEXJlc29sdXRpb25fc291cmNlGCwgASgJSCCIAQESHAoPcGFyZW50X2V2ZW50X2lkGC0gASgDSCGIAQFCCQoHX3RpY2tlckIOCgxfZGVzY3JpcHRpb25CDQoLX3N0YXJ0X2RhdGVCEAoOX2NyZWF0aW9uX2RhdGVCCwoJX2VuZF9kYXRlQg0KC19jcmVhdGVkX2F0Qg0KC191cGRhdGVkX2F0Qg4KDF9jbG9zZWRfdGltZUIVChNfZmluaXNoZWRfdGltZXN0YW1wQggKBl9pbWFnZUIHCgVfaWNvbkIOCgxfY29tcGV0aXRpdmVCDAoKX2xpcXVpZGl0eUIJCgdfdm9sdW1lQhAKDl9vcGVuX2ludGVyZXN0Qg8KDV92b2x1bWVfMjRfaHJCDgoMX3ZvbHVtZV8xX3drQg4KDF92b2x1bWVfMV9tb0IRCg9fbGlxdWlkaXR5X2Nsb2JCCwoJX2NhdGVnb3J5Qg4KDF9zdWJjYXRlZ29yeUIRCg9faG9tZV90ZWFtX25hbWVCEQoPX2F3YXlfdGVhbV9uYW1lQgoKCF9nYW1lX2lkQg4KDF9nYW1lX3N0YXR1c0INCgtfZXZlbnRfZGF0ZUINCgtfZXZlbnRfd2Vla0INCgtfc3RhcnRfdGltZUILCglfbmVnX3Jpc2tCFQoTX25lZ19yaXNrX21hcmtldF9pZEIUChJfbmVnX3Jpc2tfZmVlX2JpcHNCEgoQX2VuYWJsZV9uZWdfcmlza0IUChJfcmVzb2x1dGlvbl9zb3VyY2VCEgoQX3BhcmVudF9ldmVudF9pZCKkBQobR2V0UG9seW1hcmtldE1hcmtldHNSZXF1ZXN0EhEKCW1hcmtldF9pZBgBIAMoAxIMCgRzbHVnGAIgAygJEh0KEGNsb3NlZF90aW1lX2Zyb20YAyABKANIAIgBARIbCg5jbG9zZWRfdGltZV90bxgEIAEoA0gBiAEBEhwKD3N0YXJ0X2RhdGVfZnJvbRgFIAEoA0gCiAEBEhoKDXN0YXJ0X2RhdGVfdG8YBiABKANIA4gBARIcCg9jcmVhdGVkX2F0X2Zyb20YByABKANIBIgBARIaCg1jcmVhdGVkX2F0X3RvGAggASgDSAWIAQESHAoPdXBkYXRlZF9hdF9mcm9tGAkgASgDSAaIAQESGgoNdXBkYXRlZF9hdF90bxgKIAEoA0gHiAEBEhMKBmNsb3NlZBgLIAEoCEgIiAEBEgwKBGxpdGUYDCABKAgSGgoNaGFzX2xvY2F0aW9ucxgNIAEoCEgJiAEBEhIKBWxpbWl0GA4gASgFSAqIAQESEwoGb2Zmc2V0GA8gASgFSAuIAQESDAoEdGFncxgQIAMoCRIUCgxjb25kaXRpb25faWQYESADKAkSFQoIYXJjaGl2ZWQYEiABKAhIDIgBAUITChFfY2xvc2VkX3RpbWVfZnJvbUIRCg9fY2xvc2VkX3RpbWVfdG9CEgoQX3N0YXJ0X2RhdGVfZnJvbUIQCg5fc3RhcnRfZGF0ZV90b0ISChBfY3JlYXRlZF9hdF9mcm9tQhAKDl9jcmVhdGVkX2F0X3RvQhIKEF91cGRhdGVkX2F0X2Zyb21CEAoOX3VwZGF0ZWRfYXRfdG9CCQoHX2Nsb3NlZEIQCg5faGFzX2xvY2F0aW9uc0IICgZfbGltaXRCCQoHX29mZnNldEILCglfYXJjaGl2ZWQiTQocR2V0UG9seW1hcmtldE1hcmtldHNSZXNwb25zZRItCgdtYXJrZXRzGAEgAygLMhwuR2V0UG9seW1hcmtldE1hcmtldFJlc3BvbnNlInAKG0dldFBvbHltYXJrZXRNYXJrZXRSZXNwb25zZRIhCgZtYXJrZXQYASABKAsyES5Qb2x5bWFya2V0TWFya2V0EiQKBWV2ZW50GAIgASgLMhAuUG9seW1hcmtldEV2ZW50SACIAQFCCAoGX2V2ZW50IsoSChBQb2x5bWFya2V0TWFya2V0EgoKAmlkGAEgASgDEhAKCHF1ZXN0aW9uGAIgASgJEhkKDGNvbmRpdGlvbl9pZBgDIAEoCUgAiAEBEgwKBHNsdWcYBCABKAkSIwoKc3RhcnRfZGF0ZRgFIAEoCzIKLlRpbWVzdGFtcEgBiAEBEiEKCGVuZF9kYXRlGAYgASgLMgouVGltZXN0YW1wSAKIAQESIwoKY3JlYXRlZF9hdBgHIAEoCzIKLlRpbWVzdGFtcEgDiAEBEiMKCnVwZGF0ZWRfYXQYCCABKAsyCi5UaW1lc3RhbXBIBIgBARIkCgtjbG9zZWRfdGltZRgJIAEoCzIKLlRpbWVzdGFtcEgFiAEBEjMKGmFjY2VwdGluZ19vcmRlcnNfdGltZXN0YW1wGAogASgLMgouVGltZXN0YW1wSAaIAQESJQoMdW1hX2VuZF9kYXRlGAsgASgLMgouVGltZXN0YW1wSAeIAQESEgoFaW1hZ2UYDCABKAlICIgBARIRCgRpY29uGA0gASgJSAmIAQESGAoLZGVzY3JpcHRpb24YDiABKAlICogBARIQCghvdXRjb21lcxgPIAMoCRIWCg5vdXRjb21lX3ByaWNlcxgQIAMoARIOCgZhY3RpdmUYESABKAgSDgoGY2xvc2VkGBIgASgIEhgKEGFjY2VwdGluZ19vcmRlcnMYEyABKAgSGQoMc3VibWl0dGVkX2J5GBQgASgJSAuIAQESGAoLcmVzb2x2ZWRfYnkYFSABKAlIDIgBARIWCglsaXF1aWRpdHkYFiABKAFIDYgBARIXCgp2b2x1bWVfbnVtGBcgASgBSA6IAQESGgoNbGlxdWlkaXR5X251bRgYIAEoAUgPiAEBEhkKDHZvbHVtZV8yNF9ochgZIAEoAUgQiAEBEhgKC3ZvbHVtZV8xX3drGBogASgBSBGIAQESGAoLdm9sdW1lXzFfbW8YGyABKAFIEogBARIYCgt2b2x1bWVfMV95chgcIAEoAUgTiAEBEh4KEXZvbHVtZV8yNF9ocl9jbG9iGB0gASgBSBSIAQESHQoQdm9sdW1lXzFfd2tfY2xvYhgeIAEoAUgViAEBEh0KEHZvbHVtZV8xX21vX2Nsb2IYHyABKAFIFogBARIdChB2b2x1bWVfMV95cl9jbG9iGCAgASgBSBeIAQESGAoLdm9sdW1lX2Nsb2IYISABKAFIGIgBARIbCg5saXF1aWRpdHlfY2xvYhgiIAEoAUgZiAEBEhYKDmNsb2JfdG9rZW5faWRzGCMgAygJEiIKFXVtYV9yZXNvbHV0aW9uX3N0YXR1cxgkIAEoCUgaiAEBEh8KF3VtYV9yZXNvbHV0aW9uX3N0YXR1c2VzGCUgAygJEhUKCGNhdGVnb3J5GCYgASgJSBuIAQESIQoUb25lX2RheV9wcmljZV9jaGFuZ2UYJyABKAFIHIgBARIdChBncm91cF9pdGVtX3RpdGxlGCggASgJSB2IAQESEwoGc3ByZWFkGCkgASgBSB6IAQESIgoVb25lX2hvdXJfcHJpY2VfY2hhbmdlGCogASgBSB+IAQESIgoVb25lX3dlZWtfcHJpY2VfY2hhbmdlGCsgASgBSCCIAQESIwoWb25lX21vbnRoX3ByaWNlX2NoYW5nZRgsIAEoAUghiAEBEh0KEGxhc3RfdHJhZGVfcHJpY2UYLSABKAFIIogBARIVCghiZXN0X2JpZBguIAEoAUgjiAEBEhUKCGJlc3RfYXNrGC8gASgBSCSIAQESGwoObmVnX3Jpc2tfb3RoZXIYMCABKAhIJYgBARIjCg1nZW9fbG9jYXRpb25zGDEgAygLMgwuR2VvTG9jYXRpb24SEAoIYXJjaGl2ZWQYMiABKAgSGgoNb3Blbl9pbnRlcmVzdBgzIAEoAUgmiAEBEjEKGG9wZW5faW50ZXJlc3RfdXBkYXRlZF9hdBg0IAEoCzIKLlRpbWVzdGFtcEgniAEBEiYKGW9yZGVyX3ByaWNlX21pbl90aWNrX3NpemUYNSABKAFIKIgBARIfChJzcG9ydHNfbWFya2V0X3R5cGUYNiABKAlIKYgBARIRCgRsaW5lGDcgASgBSCqIAQFCDwoNX2NvbmRpdGlvbl9pZEINCgtfc3RhcnRfZGF0ZUILCglfZW5kX2RhdGVCDQoLX2NyZWF0ZWRfYXRCDQoLX3VwZGF0ZWRfYXRCDgoMX2Nsb3NlZF90aW1lQh0KG19hY2NlcHRpbmdfb3JkZXJzX3RpbWVzdGFtcEIPCg1fdW1hX2VuZF9kYXRlQggKBl9pbWFnZUIHCgVfaWNvbkIOCgxfZGVzY3JpcHRpb25CDwoNX3N1Ym1pdHRlZF9ieUIOCgxfcmVzb2x2ZWRfYnlCDAoKX2xpcXVpZGl0eUINCgtfdm9sdW1lX251bUIQCg5fbGlxdWlkaXR5X251bUIPCg1fdm9sdW1lXzI0X2hyQg4KDF92b2x1bWVfMV93a0IOCgxfdm9sdW1lXzFfbW9CDgoMX3ZvbHVtZV8xX3lyQhQKEl92b2x1bWVfMjRfaHJfY2xvYkITChFfdm9sdW1lXzFfd2tfY2xvYkITChFfdm9sdW1lXzFfbW9fY2xvYkITChFfdm9sdW1lXzFfeXJfY2xvYkIOCgxfdm9sdW1lX2Nsb2JCEQoPX2xpcXVpZGl0eV9jbG9iQhgKFl91bWFfcmVzb2x1dGlvbl9zdGF0dXNCCwoJX2NhdGVnb3J5QhcKFV9vbmVfZGF5X3ByaWNlX2NoYW5nZUITChFfZ3JvdXBfaXRlbV90aXRsZUIJCgdfc3ByZWFkQhgKFl9vbmVfaG91cl9wcmljZV9jaGFuZ2VCGAoWX29uZV93ZWVrX3ByaWNlX2NoYW5nZUIZChdfb25lX21vbnRoX3ByaWNlX2NoYW5nZUITChFfbGFzdF90cmFkZV9wcmljZUILCglfYmVzdF9iaWRCCwoJX2Jlc3RfYXNrQhEKD19uZWdfcmlza19vdGhlckIQCg5fb3Blbl9pbnRlcmVzdEIbChlfb3Blbl9pbnRlcmVzdF91cGRhdGVkX2F0QhwKGl9vcmRlcl9wcmljZV9taW5fdGlja19zaXplQhUKE19zcG9ydHNfbWFya2V0X3R5cGVCBwoFX2xpbmUigQIKDVBvbHltYXJrZXRUYWcSCgoCaWQYASABKAMSDQoFbGFiZWwYAiABKAkSDAoEc2x1ZxgDIAEoCRISCgpmb3JjZV9zaG93GAQgASgIEhMKC2lzX2Nhcm91c2VsGAUgASgIEiUKDHB1Ymxpc2hlZF9hdBgGIAEoCzIKLlRpbWVzdGFtcEgAiAEBEiMKCmNyZWF0ZWRfYXQYByABKAsyCi5UaW1lc3RhbXBIAYgBARIjCgp1cGRhdGVkX2F0GAggASgLMgouVGltZXN0YW1wSAKIAQFCDwoNX3B1Ymxpc2hlZF9hdEINCgtfY3JlYXRlZF9hdEINCgtfdXBkYXRlZF9hdCL5AgoQUG9seW1hcmtldFNlcmllcxIKCgJpZBgBIAEoAxITCgZ0aWNrZXIYAiABKAlIAIgBARINCgV0aXRsZRgDIAEoCRISCgVpbWFnZRgEIAEoCUgBiAEBEhEKBGljb24YBSABKAlIAogBARIOCgZhY3RpdmUYBiABKAgSDgoGY2xvc2VkGAcgASgIEhAKCGFyY2hpdmVkGAggASgIEhAKCGZlYXR1cmVkGAkgASgIEiMKCmNyZWF0ZWRfYXQYCiABKAsyCi5UaW1lc3RhbXBIA4gBARIjCgp1cGRhdGVkX2F0GAsgASgLMgouVGltZXN0YW1wSASIAQESEwoGdm9sdW1lGAwgASgBSAWIAQESFgoJbGlxdWlkaXR5GA0gASgBSAaIAQFCCQoHX3RpY2tlckIICgZfaW1hZ2VCBwoFX2ljb25CDQoLX2NyZWF0ZWRfYXRCDQoLX3VwZGF0ZWRfYXRCCQoHX3ZvbHVtZUIMCgpfbGlxdWlkaXR5Ir4QCh1HZXRQb2x5bWFya2V0QW5hbHl0aWNzUmVxdWVzdBIlCgR0eXBlGAEgASgOMhcuUG9seW1hcmtldEFuYWx5dGljVHlwZRIVCghhc3NldF9pZBgCIAEoCUgAiAEBEhUKCGV2ZW50X2lkGAMgASgJSAGIAQESFAoMY29uZGl0aW9uX2lkGAQgAygJEhMKC3VzZXJfd2FsbGV0GAUgAygJEhEKBGZyb20YBiABKANIAogBARIPCgJ0bxgHIAEoA0gDiAEBEhMKBm9mZnNldBgIIAEoA0gEiAEBEhIKBWxpbWl0GAkgASgDSAWIAQESGAoEc2lkZRgKIAEoDjIFLlNpZGVIBogBARIZCgxvdXRjb21lX25hbWUYCyABKAlIB4gBARIXCgpzaXplX2Zsb29yGAwgASgDSAiIAQESGwoOcm9pX3BlcmNlbnRhZ2UYDSABKANICYgBARIiChVtYXhfdG90YWxfdHJhZGVfY291bnQYDiABKAFICogBARIVCgh3aW5fcmF0ZRgPIAEoAUgLiAEBEh4KEWF2Z19wb3NpdGlvbl9zaXplGBAgASgBSAyIAQESGQoMdG90YWxfdm9sdW1lGBEgASgBSA2IAQESHQoQcHJpbWFyeV9jYXRlZ29yeRgSIAEoCUgOiAEBEiEKFGNhdGVnb3J5X3RyYWRlX2NvdW50GBMgASgDSA+IAQESIAoTb3Blbl9wb3NpdGlvbl9jb3VudBgUIAEoA0gQiAEBEiIKFXRpbWVfc2luY2VfbGFzdF90cmFkZRgVIAEoA0gRiAEBEh0KEGF2Z19ob2xkaW5nX3RpbWUYFiABKANIEogBARIUCgx0YWtlcl93YWxsZXQYFyADKAkSFAoMbWFrZXJfd2FsbGV0GBggAygJEiAKE2F2Z19vcGVuX2ludmVzdG1lbnQYGSABKAFIE4gBARIyCgdzb3J0X2J5GBogASgOMhwuUG9seW1hcmtldEFuYWx5dGljU29ydEZpZWxkSBSIAQESKwoOc29ydF9kaXJlY3Rpb24YGyABKA4yDi5Tb3J0RGlyZWN0aW9uSBWIAQESIgoVbWluX3RvdGFsX3RyYWRlX2NvdW50GBwgASgBSBaIAQESLQoPcG9zaXRpb25fc3RhdHVzGB0gASgOMg8uUG9zaXRpb25TdGF0dXNIF4gBARIaCg1vcGVuZWRfYmVmb3JlGB4gASgDSBiIAQESGQoMb3BlbmVkX2FmdGVyGB8gASgDSBmIAQESHQoQbWluX3JlYWxpemVkX3BubBggIAEoAUgaiAEBEh0KEG1heF9yZWFsaXplZF9wbmwYISABKAFIG4gBARIeChFtaW5fcmVhbGl6ZWRfc2l6ZRgiIAEoAUgciAEBEh4KEW1heF9yZWFsaXplZF9zaXplGCMgASgBSB2IAQESIAoTbWluX3VucmVhbGl6ZWRfc2l6ZRgkIAEoAUgeiAEBEiAKE21heF91bnJlYWxpemVkX3NpemUYJSABKAFIH4gBARIvCg5wbmxfY29tcG9uZW50cxgmIAMoDjIXLlBvbHltYXJrZXRQbmxDb21wb25lbnQSQAoUZGlzdHJpYnV0aW9uX3JhbmtfYnkYJyABKA4yHS5Qb2x5bWFya2V0RGlzdHJpYnV0aW9uUmFua0J5SCCIAQESSAoYZGlzdHJpYnV0aW9uX2JhbmRfcHJlc2V0GCggASgOMiEuUG9seW1hcmtldERpc3RyaWJ1dGlvbkJhbmRQcmVzZXRIIYgBARIkChdkaXN0cmlidXRpb25fY3VtdWxhdGl2ZRgqIAEoCEgiiAEBEicKGmRpc3RyaWJ1dGlvbl9taW5fcG9zaXRpb25zGCsgASgDSCOIAQFCCwoJX2Fzc2V0X2lkQgsKCV9ldmVudF9pZEIHCgVfZnJvbUIFCgNfdG9CCQoHX29mZnNldEIICgZfbGltaXRCBwoFX3NpZGVCDwoNX291dGNvbWVfbmFtZUINCgtfc2l6ZV9mbG9vckIRCg9fcm9pX3BlcmNlbnRhZ2VCGAoWX21heF90b3RhbF90cmFkZV9jb3VudEILCglfd2luX3JhdGVCFAoSX2F2Z19wb3NpdGlvbl9zaXplQg8KDV90b3RhbF92b2x1bWVCEwoRX3ByaW1hcnlfY2F0ZWdvcnlCFwoVX2NhdGVnb3J5X3RyYWRlX2NvdW50QhYKFF9vcGVuX3Bvc2l0aW9uX2NvdW50QhgKFl90aW1lX3NpbmNlX2xhc3RfdHJhZGVCEwoRX2F2Z19ob2xkaW5nX3RpbWVCFgoUX2F2Z19vcGVuX2ludmVzdG1lbnRCCgoIX3NvcnRfYnlCEQoPX3NvcnRfZGlyZWN0aW9uQhgKFl9taW5fdG90YWxfdHJhZGVfY291bnRCEgoQX3Bvc2l0aW9uX3N0YXR1c0IQCg5fb3BlbmVkX2JlZm9yZUIPCg1fb3BlbmVkX2FmdGVyQhMKEV9taW5fcmVhbGl6ZWRfcG5sQhMKEV9tYXhfcmVhbGl6ZWRfcG5sQhQKEl9taW5fcmVhbGl6ZWRfc2l6ZUIUChJfbWF4X3JlYWxpemVkX3NpemVCFgoUX21pbl91bnJlYWxpemVkX3NpemVCFgoUX21heF91bnJlYWxpemVkX3NpemVCFwoVX2Rpc3RyaWJ1dGlvbl9yYW5rX2J5QhsKGV9kaXN0cmlidXRpb25fYmFuZF9wcmVzZXRCGgoYX2Rpc3RyaWJ1dGlvbl9jdW11bGF0aXZlQh0KG19kaXN0cmlidXRpb25fbWluX3Bvc2l0aW9uc0oECCkQKiKcAgoWUG9seW1hcmtldFBhcnNlZE9yZGVycxIPCgd0eF9oYXNoGAEgASgJEh0KCXRpbWVzdGFtcBgCIAEoCzIKLlRpbWVzdGFtcBIQCghhc3NldF9pZBgDIAEoCRIVCg1tYWtlcl9hZGRyZXNzGAQgASgJEhUKDXRha2VyX2FkZHJlc3MYBSABKAkSDAoEc2l6ZRgHIAEoARINCgVwcmljZRgIIAEoARIMCgRzaWRlGAkgASgJEhMKC21hcmtldF9uYW1lGAogASgJEhQKDG91dGNvbWVfbmFtZRgLIAEoCRISCgpldmVudF9zbHVnGAwgASgJEhIKCm9yZGVyX2hhc2gYDSABKAkSFAoMY29uZGl0aW9uX2lkGA4gASgJIt0BCiFQb2x5bWFya2V0VHJhZGVyQ2F0ZWdvcnlCcmVha2Rvd24SFwoPbWFya2V0X2NhdGVnb3J5GAEgASgJEhsKE21hcmtldF9zdWJfY2F0ZWdvcnkYAiABKAkSDQoFY291bnQYAyABKAMSFQoNcmVhbGl6ZWRfc2l6ZRgEIAEoARIXCg91bnJlYWxpemVkX3NpemUYBSABKAESFAoMcmVhbGl6ZWRfcG5sGAYgASgBEi0KDXBubF9ieV9zb3VyY2UYByABKAsyFi5Qb2x5bWFya2V0UG5sQnlTb3VyY2UidAoaUG9seW1hcmtldFRyYWRlckNhdGVnb3JpZXMSFgoOd2FsbGV0X2FkZHJlc3MYASABKAkSPgoSY2F0ZWdvcnlfYnJlYWtkb3duGAIgAygLMiIuUG9seW1hcmtldFRyYWRlckNhdGVnb3J5QnJlYWtkb3duIpQFChdQb2x5bWFya2V0VHJhZGVyUHJvZmlsZRIWCg53YWxsZXRfYWRkcmVzcxgBIAEoCRIcChR0b3RhbF9wb3NpdGlvbl9jb3VudBgCIAEoAxIbChNvcGVuX3Bvc2l0aW9uX2NvdW50GAMgASgDEh0KFWNsb3NlZF9wb3NpdGlvbl9jb3VudBgEIAEoAxIrChdsYXRlc3Rfb3Blbl9wb3NpdGlvbl90cxgFIAEoCzIKLlRpbWVzdGFtcBISCgp0b3RhbF9zaXplGAYgASgBEhoKEnRvdGFsX3JlYWxpemVkX3BubBgHIAEoARIcChR0b3RhbF91bnJlYWxpemVkX3BubBgIIAEoARIRCgl0b3RhbF9yb2kYCSABKAESHQoVd2luX3JhdGVfYnlfcG9zaXRpb25zGAogASgBEhMKC2xhcmdlc3Rfd2luGAsgASgBEhQKDGxhcmdlc3RfbG9zcxgMIAEoARIcChRhdmdfaG9sZGluZ19kdXJhdGlvbhgNIAEoAxIcChR0b3RhbF9vcGVuX3Bvc192YWx1ZRgOIAEoARIeChZ0b3RhbF9jbG9zZWRfcG9zX3ZhbHVlGA8gASgBEi0KDXBubF9ieV9zb3VyY2UYECABKAsyFi5Qb2x5bWFya2V0UG5sQnlTb3VyY2USNQoMZXZlbnRfY291bnRzGBEgASgLMh8uUG9seW1hcmtldEFnZ3JlZ2F0ZUV2ZW50Q291bnRzEhgKEHRvdGFsX2Nvc3RfYmFzaXMYEiABKAESGwoTYXZnX29wZW5faW52ZXN0bWVudBgTIAEoARIcChR0b3RhbF9vcmRlcl9idXlfY29zdBgUIAEoARIYChB0b3RhbF9zcGxpdF9jb3N0GBUgASgBIp0FChdQb2x5bWFya2V0VXNlclBvc2l0aW9ucxIWCg53YWxsZXRfYWRkcmVzcxgBIAEoCRIQCghhc3NldF9pZBgCIAEoCRIXCg91bnJlYWxpemVkX3NpemUYAyABKAESFQoNcmVhbGl6ZWRfc2l6ZRgEIAEoARIRCglhdmdfcHJpY2UYBSABKAESFgoOYXZnX2V4aXRfcHJpY2UYBiABKAESFAoMcmVhbGl6ZWRfcG5sGAcgASgBEhYKDnJlc29sdmVkX3ByaWNlGAggASgBEhYKDmxhdGVzdF9vcGVuX3RzGAkgASgDEhoKEnByZXZfaG9sZF9kdXJhdGlvbhgKIAEoAxIRCglidXlfY291bnQYCyABKAUSEgoKc2VsbF9jb3VudBgMIAEoBRITCgtzcGxpdF9jb3VudBgNIAEoBRITCgttZXJnZV9jb3VudBgOIAEoBRIZChF0cmFuc2Zlcl9pbl9jb3VudBgPIAEoBRIaChJ0cmFuc2Zlcl9vdXRfY291bnQYECABKAUSGwoTY29udmVyc2lvbl9pbl9jb3VudBgRIAEoBRIcChRjb252ZXJzaW9uX291dF9jb3VudBgSIAEoBRITCgttYXJrZXRfbmFtZRgTIAEoCRIUCgxvdXRjb21lX25hbWUYFCABKAkSEAoIY2F0ZWdvcnkYFSABKAkSFAoMc3ViX2NhdGVnb3J5GBYgASgJEhkKDGNvbmRpdGlvbl9pZBgXIAEoCUgAiAEBEi0KDXBubF9ieV9zb3VyY2UYGCABKAsyFi5Qb2x5bWFya2V0UG5sQnlTb3VyY2USFgoOb3JkZXJfYnV5X2Nvc3QYGSABKAESEgoKc3BsaXRfY29zdBgaIAEoAUIPCg1fY29uZGl0aW9uX2lkIv0BCiFQb2x5bWFya2V0T3V0Y29tZUV4Y2x1c2l2ZVN1bW1hcnkSFAoMY29uZGl0aW9uX2lkGAEgASgJEhAKCHRva2VuX2lkGAIgASgJEhQKDG91dGNvbWVfbmFtZRgDIAEoCRIgChh3ZWlnaHRlZF9hdmdfZW50cnlfcHJpY2UYBCABKAESHwoXd2VpZ2h0ZWRfYXZnX2V4aXRfcHJpY2UYBSABKAESJwofb3Blbl9wb3NfYXZnX3ByaWNlX2Rpc3RyaWJ1dGlvbhgGIAMoARIuCiZjbG9zZWRfcG9zX2F2Z19leGl0X3ByaWNlX2Rpc3RyaWJ1dGlvbhgHIAMoASL/BgoXUG9seW1hcmtldE1hcmtldFN1bW1hcnkSEAoIZXZlbnRfaWQYASABKAkSFAoMY29uZGl0aW9uX2lkGAIgAygJEhwKFHRvdGFsX29wZW5fcG9zaXRpb25zGAMgASgFEh4KFnRvdGFsX2Nsb3NlZF9wb3NpdGlvbnMYBCABKAUSGAoQdG90YWxfY29zdF9iYXNpcxgFIAEoARISCgp0b3RhbF9zaXplGAYgASgBEh0KFWxhcmdlc3Rfb3Blbl9wb3NpdGlvbhgHIAEoARIXCg90b3RhbF9idXlfY291bnQYCCABKAUSGAoQdG90YWxfc2VsbF9jb3VudBgJIAEoBRIZChF0b3RhbF9zcGxpdF9jb3VudBgKIAEoBRIZChF0b3RhbF9tZXJnZV9jb3VudBgLIAEoBRIfChd0b3RhbF90cmFuc2Zlcl9pbl9jb3VudBgMIAEoBRIgChh0b3RhbF90cmFuc2Zlcl9vdXRfY291bnQYDSABKAUSIQoZdG90YWxfY29udmVyc2lvbl9pbl9jb3VudBgOIAEoBRIiChp0b3RhbF9jb252ZXJzaW9uX291dF9jb3VudBgPIAEoBRIZChFuZXRfdHJhbnNmZXJfZmxvdxgQIAEoBRIbChNuZXRfY29udmVyc2lvbl9mbG93GBEgASgFEhwKFG1lZGlhbl9ob2xkX2R1cmF0aW9uGBIgASgBEhoKEm1lYW5faG9sZF9kdXJhdGlvbhgTIAEoARIYChByZWFsaXplZF9wbmxfbWluGBQgASgBEhgKEHJlYWxpemVkX3BubF9tYXgYFSABKAESIQoZcmVhbGl6ZWRfcG5sX2Rpc3RyaWJ1dGlvbhgWIAMoARIQCgh3aW5fcmF0ZRgXIAEoARIVCg1hdmdfYnV5X2NvdW50GBggASgBEhYKDmF2Z19zZWxsX2NvdW50GBkgASgBEhAKCGF2Z19zaXplGBogASgBEjsKD291dGNvbWVfcHJpY2luZxgbIAMoCzIiLlBvbHltYXJrZXRPdXRjb21lRXhjbHVzaXZlU3VtbWFyeRItCg1wbmxfYnlfc291cmNlGBwgASgLMhYuUG9seW1hcmtldFBubEJ5U291cmNlEhwKFHRvdGFsX29yZGVyX2J1eV9jb3N0GB0gASgBEhgKEHRvdGFsX3NwbGl0X2Nvc3QYHiABKAEinwQKGVBvbHltYXJrZXRQbGF0Zm9ybVN1bW1hcnkSFgoOYWNjb3VudHNfdG90YWwYASABKAMSFwoPYWNjb3VudHNfYWN0aXZlGAIgASgDEhsKE2FjY291bnRzX3Byb2ZpdGFibGUYAyABKAMSFwoPYWNjb3VudHNfbG9zaW5nGAQgASgDEhUKDWFjY291bnRzX2ZsYXQYBSABKAMSFgoOdG90YWxfd2lubmluZ3MYBiABKAESFAoMdG90YWxfbG9zc2VzGAcgASgBEg8KB25ldF9wbmwYCCABKAESKAogbGlmZXRpbWVfYnV5X25vdGlvbmFsX2luY19zcGxpdHMYCSABKAESIwobbGlmZXRpbWVfb3JkZXJfYnV5X25vdGlvbmFsGAogASgBEi0KDXBubF9ieV9zb3VyY2UYCyABKAsyFi5Qb2x5bWFya2V0UG5sQnlTb3VyY2USOAoSYWN0aXZpdHlfaGlzdG9ncmFtGAwgASgLMhwuUG9seW1hcmtldEFjdGl2aXR5SGlzdG9ncmFtEhIKCm1lZGlhbl9wbmwYDSABKAESDwoHcDkwX3BubBgOIAEoARIPCgdwOTlfcG5sGA8gASgBEg8KB21heF9wbmwYECABKAESDwoHbWluX3BubBgRIAEoARI1CgxldmVudF9jb3VudHMYEiABKAsyHy5Qb2x5bWFya2V0QWdncmVnYXRlRXZlbnRDb3VudHMi3wEKFVBvbHltYXJrZXRQbmxCeVNvdXJjZRISCgpvcmRlcl9zZWxsGAEgASgBEiEKGW9yZGVyX2J1eV9wb3N0X3Jlc29sdXRpb24YAiABKAESEgoKcmVzb2x1dGlvbhgDIAEoARISCgpjb252ZXJzaW9uGAQgASgBEg0KBW1lcmdlGAUgASgBEh0KFXNwbGl0X3Bvc3RfcmVzb2x1dGlvbhgGIAEoARIUCgx0cmFuc2Zlcl9vdXQYByABKAESIwobdHJhbnNmZXJfaW5fcG9zdF9yZXNvbHV0aW9uGAggASgBIrkBChtQb2x5bWFya2V0QWN0aXZpdHlIaXN0b2dyYW0SGAoQcG9zaXRpb25fY291bnRfMRgBIAEoAxIdChVwb3NpdGlvbl9jb3VudF8yX3RvXzUYAiABKAMSHgoWcG9zaXRpb25fY291bnRfNl90b18yMBgDIAEoAxIgChhwb3NpdGlvbl9jb3VudF8yMV90b18xMDAYBCABKAMSHwoXcG9zaXRpb25fY291bnRfb3Zlcl8xMDAYBSABKAMihQEKHlBvbHltYXJrZXRBZ2dyZWdhdGVFdmVudENvdW50cxIMCgRidXlzGAEgASgDEg0KBXNlbGxzGAIgASgDEg4KBnNwbGl0cxgDIAEoAxIOCgZtZXJnZXMYBCABKAMSEQoJdHJhbnNmZXJzGAUgASgDEhMKC2NvbnZlcnNpb25zGAYgASgDIocDChpQb2x5bWFya2V0RGlzdHJpYnV0aW9uQmFuZBIPCgdiYW5kX2lkGAEgASgFEhIKCmJhbmRfbGFiZWwYAiABKAkSFQoNYWNjb3VudF9jb3VudBgDIAEoAxIWCg5wY3RfcHJvZml0YWJsZRgEIAEoARIPCgdhdmdfcG5sGAUgASgBEhEKCXRvdGFsX3BubBgGIAEoARISCgptZWRpYW5fcG5sGAcgASgBEhYKDnJhbmtfdmFsdWVfbWluGAggASgBEhYKDnJhbmtfdmFsdWVfbWF4GAkgASgBEhkKEW1lZGlhbl9yYW5rX3ZhbHVlGAogASgBEhcKD2F2Z190cmFkZV9jb3VudBgLIAEoARIaChJhdmdfcG9zaXRpb25fY291bnQYDCABKAESHAoUYXZnX2hvbGRpbmdfZHVyYXRpb24YDSABKAESEAoId2luX3JhdGUYDiABKAESLQoNcG5sX2J5X3NvdXJjZRgPIAEoCzIWLlBvbHltYXJrZXRQbmxCeVNvdXJjZSKcAQolUG9seW1hcmtldERpc3RyaWJ1dGlvbkN1bXVsYXRpdmVQb2ludBIUCgxwY3RfZnJvbV90b3AYASABKAESGQoRY3VtdWxhdGl2ZV9tZXRyaWMYAiABKAESIQoZY3VtdWxhdGl2ZV9zaGFyZV93aW5uaW5ncxgDIAEoARIfChdjdW11bGF0aXZlX3NoYXJlX2xvc3NlcxgEIAEoASKiAQoeUG9seW1hcmtldFBsYXRmb3JtRGlzdHJpYnV0aW9uEjcKEmRpc3RyaWJ1dGlvbl9iYW5kcxgBIAMoCzIbLlBvbHltYXJrZXREaXN0cmlidXRpb25CYW5kEkcKF2Rpc3RyaWJ1dGlvbl9jdW11bGF0aXZlGAIgAygLMiYuUG9seW1hcmtldERpc3RyaWJ1dGlvbkN1bXVsYXRpdmVQb2ludCKSAwoeR2V0UG9seW1hcmtldEFuYWx5dGljc1Jlc3BvbnNlEi0KDG9yZGVyX2ZpbGxlZBgBIAMoCzIXLlBvbHltYXJrZXRQYXJzZWRPcmRlcnMSMQoPdHJhZGVyX3Byb2ZpbGVzGAIgAygLMhguUG9seW1hcmtldFRyYWRlclByb2ZpbGUSMAoOdXNlcl9wb3NpdGlvbnMYAyADKAsyGC5Qb2x5bWFya2V0VXNlclBvc2l0aW9ucxIwCg5tYXJrZXRfc3VtbWFyeRgEIAMoCzIYLlBvbHltYXJrZXRNYXJrZXRTdW1tYXJ5EjQKD3VzZXJfY2F0ZWdvcmllcxgFIAMoCzIbLlBvbHltYXJrZXRUcmFkZXJDYXRlZ29yaWVzEjQKEHBsYXRmb3JtX3N1bW1hcnkYBiADKAsyGi5Qb2x5bWFya2V0UGxhdGZvcm1TdW1tYXJ5Ej4KFXBsYXRmb3JtX2Rpc3RyaWJ1dGlvbhgHIAMoCzIfLlBvbHltYXJrZXRQbGF0Zm9ybURpc3RyaWJ1dGlvbiLBAgobR2V0TWVtZWNvaW5BbmFseXRpY3NSZXF1ZXN0EiMKBHR5cGUYASABKA4yFS5NZW1lY29pbkFuYWx5dGljVHlwZRIVCgVjaGFpbhgCIAEoDjIGLkNoYWluEhUKDXRva2VuX2FkZHJlc3MYAyABKAkSEwoLdXNlcl93YWxsZXQYBCADKAkSEwoGb2Zmc2V0GAUgASgDSACIAQESEgoFbGltaXQYBiABKANIAYgBARIwCgdzb3J0X2J5GAcgASgOMhouTWVtZWNvaW5BbmFseXRpY1NvcnRGaWVsZEgCiAEBEisKDnNvcnRfZGlyZWN0aW9uGAggASgOMg4uU29ydERpcmVjdGlvbkgDiAEBQgkKB19vZmZzZXRCCAoGX2xpbWl0QgoKCF9zb3J0X2J5QhEKD19zb3J0X2RpcmVjdGlvbiLZAgoVTWVtZWNvaW5UcmFkZXJQcm9maWxlEhYKDndhbGxldF9hZGRyZXNzGAEgASgJEhgKEHRvdGFsX2JvdWdodF91c2QYAiABKAESFgoOdG90YWxfc29sZF91c2QYAyABKAESFQoNdG9rZW5zX2JvdWdodBgEIAEoCRITCgt0b2tlbnNfc29sZBgFIAEoCRIYChByZW1haW5pbmdfdG9rZW5zGAYgASgJEhEKCWJ1eV9jb3VudBgHIAEoAxISCgpzZWxsX2NvdW50GAggASgDEhYKDmZpcnN0X3RyYWRlX3RzGAkgASgDEhcKD2xhdGVzdF90cmFkZV90cxgKIAEoAxIZChFhdmdfYnV5X3ByaWNlX3VzZBgLIAEoARIaChJ0b3RhbF9yZWFsaXplZF9wbmwYDCABKAESEQoJdG90YWxfcm9pGA0gASgBEg4KBmxhYmVscxgOIAMoCSKkAQoTTWVtZWNvaW5Ub2tlbkhvbGRlchIWCg53YWxsZXRfYWRkcmVzcxgBIAEoCRIPCgdiYWxhbmNlGAIgASgJEhMKC2JhbGFuY2VfdXNkGAMgASgBEhUKDXBjdF9vZl9zdXBwbHkYBCABKAESFQoNZmlyc3RfaGVsZF90cxgFIAEoAxIhCghjYXRlZ29yeRgGIAEoDjIPLkhvbGRlckNhdGVnb3J5InYKHEdldE1lbWVjb2luQW5hbHl0aWNzUmVzcG9uc2USLwoPdHJhZGVyX3Byb2ZpbGVzGAEgAygLMhYuTWVtZWNvaW5UcmFkZXJQcm9maWxlEiUKB2hvbGRlcnMYAiADKAsyFC5NZW1lY29pblRva2VuSG9sZGVyIlEKH0dldFBvbHltYXJrZXRDYXRlZ29yaWVzUmVzcG9uc2USLgoNY2F0ZWdvcnlfcGFpchgBIAMoCzIXLlBvbHltYXJrZXRDYXRlZ29yeVBhaXIiQAoWUG9seW1hcmtldENhdGVnb3J5UGFpchIQCghjYXRlZ29yeRgBIAEoCRIUCgxzdWJfY2F0ZWdvcnkYAiABKAkihAEKFFN5bWJvbERpcmVjdG9yeVZlbnVlEhsKCGV4Y2hhbmdlGAEgASgOMgkuRXhjaGFuZ2USDgoGc3ltYm9sGAIgASgJEhgKEG5vcm1hbGl6ZWRTeW1ib2wYAyABKAkSFgoOaW5zdHJ1bWVudFR5cGUYBCABKAkSDQoFcXVvdGUYBSABKAkibQoUU3ltYm9sRGlyZWN0b3J5QXNzZXQSDAoEbmFtZRgBIAEoCRIOCgZ0aWNrZXIYAiABKAkSJQoGdmVudWVzGAMgAygLMhUuU3ltYm9sRGlyZWN0b3J5VmVudWUSEAoIZ3JvdXBLZXkYBCABKAkieQoXU3ltYm9sRGlyZWN0b3J5UmVzcG9uc2USDwoHYnVpbHRBdBgBIAEoCRISCgphc3NldENvdW50GAIgASgFEhIKCnZlbnVlQ291bnQYAyABKAUSJQoGYXNzZXRzGAQgAygLMhUuU3ltYm9sRGlyZWN0b3J5QXNzZXQquwEKBlNpZ25hbBILCgdVTktOT1dOEAASDAoIVFJFTkRJTkcQARIQCgxWT0xVTUVfU1BJS0UQAhITCg9ISUdIX1ZPTEFUSUxJVFkQAxIaChZISUdIX0xPTkdfRlVORElOR19SQVRFEAQSGwoXSElHSF9TSE9SVF9GVU5ESU5HX1JBVEUQBRIVChFMQVJHRV9PSV9JTkNSRUFTRRAGEg4KClBBU1NFRF9BVEgQBxIPCgtSQU5HRV9CT1VORBAIKqUBCgpNYXJrZXRUeXBlEhcKE1VOS05PV05fTUFSS0VUX1RZUEUQABIHCgNDRVgQARIHCgNERVgQAhIKCgZUUkFERkkQAxILCgdFQ09OT01ZEAQSDgoKUFJFRElDVElPThAFEgkKBUZPUkVYEAYSDQoJQ09NTU9ESVRZEAcSCQoFU1RPQ0sQCBIJCgVJTkRFWBAJEhMKD1RPS0VOSVpFRF9TVE9DSxAKKucBChFNYXJrZXRTeW1ib2xGaWVsZBIfChtVTktOT1dOX01BUktFVF9TWU1CT0xfRklFTEQQABIUChBQUklDRV9DSEFOR0VfMjRIEAESDgoKVk9MVU1FXzI0SBACEh8KG01BUktFVF9TWU1CT0xfT0lfQ0hBTkdFXzI0SBAEEhsKF01BUktFVF9TWU1CT0xfTUFSS0VUQ0FQEAYSEwoPQVZBSUxBQkxFX1NJTkNFEAcSGAoURU5EX1JFTUFJTklOR19QRVJJT0QQCBISCg5WT0xVTUVfMjRIX1VTRBAJIgQIAxADIgQIBRAFKosBChBNYXJrZXRBc3NldEZpZWxkEh4KGlVOS05PV05fTUFSS0VUX0FTU0VUX0ZJRUxEEAASDgoKQVNTRVRfTkFNRRABEhQKEEFTU0VUX1ZPTFVNRV8yNEgQAhIYChRBU1NFVF9WT0xVTUVfMjRIX1VTRBADEhcKE0FTU0VUX1ZBUklBTlRfQ09VTlQQBCp7ChFNYXJrZXRzUHJvamVjdGlvbhIeChpVTktOT1dOX01BUktFVFNfUFJPSkVDVElPThAAEiUKIU1BUktFVFNfUFJPSkVDVElPTl9HUk9VUFNfUFJFVklFVxABEh8KG01BUktFVFNfUFJPSkVDVElPTl9WQVJJQU5UUxACKpoBChdPcHRpb25DaGFpbkFuY2hvclNvdXJjZRIfChtPUFRJT05fQ0hBSU5fQU5DSE9SX1VOS05PV04QABIdChlPUFRJT05fQ0hBSU5fQU5DSE9SX1RSQURFEAESIgoeT1BUSU9OX0NIQUlOX0FOQ0hPUl9TRVRUTEVNRU5UEAISGwoXT1BUSU9OX0NIQUlOX0FOQ0hPUl9ST1cQAypWChFPcHRpb25DaGFpblRpbWluZxIgChxPUFRJT05fQ0hBSU5fVElNSU5HX1JFQUxUSU1FEAASHwobT1BUSU9OX0NIQUlOX1RJTUlOR19ERUxBWUVEEAEqhAEKDkhvbGRlckNhdGVnb3J5Eh8KG0hPTERFUl9DQVRFR09SWV9VTlNQRUNJRklFRBAAEhgKFEhPTERFUl9DQVRFR09SWV9QT09MEAESGwoXSE9MREVSX0NBVEVHT1JZX0NSRUFUT1IQAhIaChZIT0xERVJfQ0FURUdPUllfTk9STUFMEAMy1CUKB0dhdGV3YXkSPAoJR2V0UG9pbnRzEgwuRGF0YVJlcXVlc3QaDS5EYXRhUmVzcG9uc2UiEoLT5JMCDBIKL3YxL3BvaW50cxItCgxTdHJlYW1Qb2ludHMSDC5EYXRhUmVxdWVzdBoLLlRpbWVTZXJpZXMiADABEkIKCEdldFR5cGVzEhAuTWV0YWRhdGFSZXF1ZXN0GhEuTWV0YWRhdGFSZXNwb25zZSIRgtPkkwILEgkvdjEvdHlwZXMSSgoMR2V0RXhjaGFuZ2VzEhAuTWV0YWRhdGFSZXF1ZXN0GhEuTWV0YWRhdGFSZXNwb25zZSIVgtPkkwIPEg0vdjEvZXhjaGFuZ2VzEkwKDUdldENhdGVnb3JpZXMSEC5NZXRhZGF0YVJlcXVlc3QaES5NZXRhZGF0YVJlc3BvbnNlIhaC0+STAhASDi92MS9jYXRlZ29yaWVzEkIKCEdldENvaW5zEhAuTWV0YWRhdGFSZXF1ZXN0GhEuTWV0YWRhdGFSZXNwb25zZSIRgtPkkwILEgkvdjEvY29pbnMSSQoNR2V0UmF3U3ltYm9scxIQLk1ldGFkYXRhUmVxdWVzdBoRLk1ldGFkYXRhUmVzcG9uc2UiE4LT5JMCDRILL3YxL3N5bWJvbHMSWwoUR2V0Tm9ybWFsaXplZFN5bWJvbHMSEC5NZXRhZGF0YVJlcXVlc3QaES5NZXRhZGF0YVJlc3BvbnNlIh6C0+STAhgSFi92MS9ub3JtYWxpemVkLXN5bWJvbHMSTQoNR2V0QmxvY2tTaXplcxIQLk1ldGFkYXRhUmVxdWVzdBoRLk1ldGFkYXRhUmVzcG9uc2UiF4LT5JMCERIPL3YxL2Jsb2NrLXNpemVzEkQKCUdldFRlbm9ycxIQLk1ldGFkYXRhUmVxdWVzdBoRLk1ldGFkYXRhUmVzcG9uc2UiEoLT5JMCDBIKL3YxL3Rlbm9ycxI+CgdHZXRHYXBzEg8uR2V0R2Fwc1JlcXVlc3QaEC5HZXRHYXBzUmVzcG9uc2UiEILT5JMCChIIL3YxL2dhcHMSVgoNR2V0V2F0ZXJtYXJrcxIVLkdldFdhdGVybWFya3NSZXF1ZXN0GhYuR2V0V2F0ZXJtYXJrc1Jlc3BvbnNlIhaC0+STAhASDi92MS93YXRlcm1hcmtzEmIKF0dldENhdGVnb3JpZXNCeUV4Y2hhbmdlEhAuTWV0YWRhdGFSZXF1ZXN0GhEuTWV0YWRhdGFSZXNwb25zZSIigtPkkwIcEhovdjEvY2F0ZWdvcmllcy1ieS1leGNoYW5nZRJsChtHZXRSYXdTeW1ib2xzQnlDb2luRXhjaGFuZ2USEC5NZXRhZGF0YVJlcXVlc3QaES5NZXRhZGF0YVJlc3BvbnNlIiiC0+STAiISIC92MS9yYXctc3ltYm9scy1ieS1jb2luLWV4Y2hhbmdlEkcKHlN0cmVhbVJhd1N5bWJvbHNCeUNvaW5FeGNoYW5nZRIQLk1ldGFkYXRhUmVxdWVzdBoRLk1ldGFkYXRhUmVzcG9uc2UiABJDChpTdHJlYW1DYXRlZ29yaWVzQnlFeGNoYW5nZRIQLk1ldGFkYXRhUmVxdWVzdBoRLk1ldGFkYXRhUmVzcG9uc2UiABJKCgpHZXRNYXJrZXRzEhIuR2V0TWFya2V0c1JlcXVlc3QaEy5HZXRNYXJrZXRzUmVzcG9uc2UiE4LT5JMCDRILL3YxL21hcmtldHMSPwoNU3RyZWFtTWFya2V0cxIVLlN0cmVhbU1hcmtldHNSZXF1ZXN0GhMuR2V0TWFya2V0c1Jlc3BvbnNlIgAwARJIChFTdHJlYW1NYXJrZXRTdGF0cxIZLlN0cmVhbU1hcmtldFN0YXRzUmVxdWVzdBoULk1hcmtldFN0YXRzUmVzcG9uc2UiADABEj4KCkdldFNlY3RvcnMSBi5FbXB0eRoTLkdldFNlY3RvcnNSZXNwb25zZSITgtPkkwINEgsvdjEvc2VjdG9ycxIqCg1TdHJlYW1TZWN0b3JzEgYuRW1wdHkaDS5TZWN0b3JEZXRhaWwiADABElAKCUdldFNlY3RvchIRLkdldFNlY3RvclJlcXVlc3QaEi5HZXRTZWN0b3JSZXNwb25zZSIcgtPkkwIWEhQvdjEvc2VjdG9ycy97c2VjdG9yfRIyCgxTdHJlYW1TZWN0b3ISES5HZXRTZWN0b3JSZXF1ZXN0GgsuQ29pbkRldGFpbCIAMAESLgoMRGVsZXRlUG9pbnRzEhQuRGVsZXRlUG9pbnRzUmVxdWVzdBoGLkVtcHR5IgASLwoUU3RyZWFtQmFja2ZpbGxQb2ludHMSCy5UaW1lU2VyaWVzGgYuRW1wdHkiACgBEjAKDVJlZnJlc2hQb2ludHMSFS5SZWZyZXNoUG9pbnRzUmVxdWVzdBoGLkVtcHR5IgASTwoMRXhwb3J0UG9pbnRzEgwuRGF0YVJlcXVlc3QaFC5nb29nbGUuYXBpLkh0dHBCb2R5IhmC0+STAhMSES92MS9leHBvcnQtcG9pbnRzMAESPQoMR2V0R2Fwc0NvdW50EhQuR2V0R2Fwc0NvdW50UmVxdWVzdBoVLkdldEdhcHNDb3VudFJlc3BvbnNlIgASYQoUR2V0T3JkZXJCb29rRmVhdHVyZXMSDC5EYXRhUmVxdWVzdBoaLk9yZGVyQm9va0ZlYXR1cmVzUmVzcG9uc2UiH4LT5JMCGRIXL3YxL29yZGVyLWJvb2stZmVhdHVyZXMSWwoUR2V0UmVnaXN0cnlNZXRhZGF0YXMSEC5NZXRhZGF0YVJlcXVlc3QaES5NZXRhZGF0YVJlc3BvbnNlIh6C0+STAhgSFi92MS9yZWdpc3RyeS1tZXRhZGF0YXMSWwoOR2V0Q29pbk1ldHJpY3MSFi5HZXRDb2luTWV0cmljc1JlcXVlc3QaFy5HZXRDb2luTWV0cmljc1Jlc3BvbnNlIhiC0+STAhISEC92MS9jb2luLW1ldHJpY3MSWgoTR2V0U2VjdG9yQ2F0ZWdvcmllcxIGLkVtcHR5GhwuR2V0U2VjdG9yQ2F0ZWdvcmllc1Jlc3BvbnNlIh2C0+STAhcSFS92MS9zZWN0b3ItY2F0ZWdvcmllcxI1ChZTdHJlYW1TZWN0b3JDYXRlZ29yaWVzEgYuRW1wdHkaDy5TZWN0b3JDYXRlZ29yeSIAMAESTgoPR2V0RnJlZE1ldGFkYXRhEgYuRW1wdHkaGC5HZXRGcmVkTWV0YWRhdGFSZXNwb25zZSIZgtPkkwITEhEvdjEvZnJlZC1tZXRhZGF0YRIvChJTdHJlYW1GcmVkTWV0YWRhdGESBi5FbXB0eRoNLkZyZWRNZXRhZGF0YSIAMAESfwoZR2V0RnJlZE1ldGFkYXRhQnlTZXJpZXNJRBIhLkdldEZyZWRNZXRhZGF0YUJ5U2VyaWVzSURSZXF1ZXN0GhguR2V0RnJlZE1ldGFkYXRhUmVzcG9uc2UiJYLT5JMCHxIdL3YxL2ZyZWQtbWV0YWRhdGEve3Nlcmllc19pZH0SVAocU3RyZWFtRnJlZE1ldGFkYXRhQnlTZXJpZXNJRBIhLkdldEZyZWRNZXRhZGF0YUJ5U2VyaWVzSURSZXF1ZXN0Gg0uRnJlZE1ldGFkYXRhIgAwARKIAQoZR2V0RWNvbm9taWNTZXJpZXNNZXRhZGF0YRIhLkdldEVjb25vbWljU2VyaWVzTWV0YWRhdGFSZXF1ZXN0GiIuR2V0RWNvbm9taWNTZXJpZXNNZXRhZGF0YVJlc3BvbnNlIiSC0+STAh4SHC92MS9lY29ub21pYy1zZXJpZXMtbWV0YWRhdGESXgocU3RyZWFtRWNvbm9taWNTZXJpZXNNZXRhZGF0YRIhLkdldEVjb25vbWljU2VyaWVzTWV0YWRhdGFSZXF1ZXN0GhcuRWNvbm9taWNTZXJpZXNNZXRhZGF0YSIAMAEShAEKGEdldFBvbHlnb25UaWNrZXJNZXRhZGF0YRIgLkdldFBvbHlnb25UaWNrZXJNZXRhZGF0YVJlcXVlc3QaIS5HZXRQb2x5Z29uVGlja2VyTWV0YWRhdGFSZXNwb25zZSIjgtPkkwIdEhsvdjEvcG9seWdvbi1tZXRhZGF0YS90aWNrZXISWwobU3RyZWFtUG9seWdvblRpY2tlck1ldGFkYXRhEiAuR2V0UG9seWdvblRpY2tlck1ldGFkYXRhUmVxdWVzdBoWLlBvbHlnb25UaWNrZXJNZXRhZGF0YSIAMAESgAEKF0dldFRva2VuVW5sb2Nrc01ldGFkYXRhEh8uR2V0VG9rZW5VbmxvY2tzTWV0YWRhdGFSZXF1ZXN0GiAuR2V0VG9rZW5VbmxvY2tzTWV0YWRhdGFSZXNwb25zZSIigtPkkwIcEhovdjEvdG9rZW4tdW5sb2Nrcy1tZXRhZGF0YRJYChpTdHJlYW1Ub2tlblVubG9ja3NNZXRhZGF0YRIfLkdldFRva2VuVW5sb2Nrc01ldGFkYXRhUmVxdWVzdBoVLlRva2VuVW5sb2Nrc01ldGFkYXRhIgAwARJsChJHZXREZXhQb29sTWV0YWRhdGESGi5HZXREZXhQb29sTWV0YWRhdGFSZXF1ZXN0GhsuR2V0RGV4UG9vbE1ldGFkYXRhUmVzcG9uc2UiHYLT5JMCFxIVL3YxL2RleC1wb29sLW1ldGFkYXRhEm8KE0dldFBvbHltYXJrZXRFdmVudHMSGy5HZXRQb2x5bWFya2V0RXZlbnRzUmVxdWVzdBocLkdldFBvbHltYXJrZXRFdmVudHNSZXNwb25zZSIdgtPkkwIXEhUvdjEvcG9seW1hcmtldC9ldmVudHMSVgoWU3RyZWFtUG9seW1hcmtldEV2ZW50cxIbLkdldFBvbHltYXJrZXRFdmVudHNSZXF1ZXN0GhsuR2V0UG9seW1hcmtldEV2ZW50UmVzcG9uc2UiADABEnMKFEdldFBvbHltYXJrZXRNYXJrZXRzEhwuR2V0UG9seW1hcmtldE1hcmtldHNSZXF1ZXN0Gh0uR2V0UG9seW1hcmtldE1hcmtldHNSZXNwb25zZSIegtPkkwIYEhYvdjEvcG9seW1hcmtldC9tYXJrZXRzEnsKFkdldFBvbHltYXJrZXRBbmFseXRpY3MSHi5HZXRQb2x5bWFya2V0QW5hbHl0aWNzUmVxdWVzdBofLkdldFBvbHltYXJrZXRBbmFseXRpY3NSZXNwb25zZSIggtPkkwIaEhgvdjEvcG9seW1hcmtldC9hbmFseXRpY3MSYAoZU3RyZWFtUG9seW1hcmtldEFuYWx5dGljcxIeLkdldFBvbHltYXJrZXRBbmFseXRpY3NSZXF1ZXN0Gh8uR2V0UG9seW1hcmtldEFuYWx5dGljc1Jlc3BvbnNlIgAwARJzChRHZXRNZW1lY29pbkFuYWx5dGljcxIcLkdldE1lbWVjb2luQW5hbHl0aWNzUmVxdWVzdBodLkdldE1lbWVjb2luQW5hbHl0aWNzUmVzcG9uc2UiHoLT5JMCGBIWL3YxL21lbWVjb2luL2FuYWx5dGljcxJaChdTdHJlYW1NZW1lY29pbkFuYWx5dGljcxIcLkdldE1lbWVjb2luQW5hbHl0aWNzUmVxdWVzdBodLkdldE1lbWVjb2luQW5hbHl0aWNzUmVzcG9uc2UiADABEk8KEkdldExhdGVzdFNuYXBzaG90cxIMLkRhdGFSZXF1ZXN0Gg0uRGF0YVJlc3BvbnNlIhyC0+STAhYSFC92MS9sYXRlc3Qtc25hcHNob3RzEjYKFVN0cmVhbUxhdGVzdFNuYXBzaG90cxIMLkRhdGFSZXF1ZXN0GgsuVGltZVNlcmllcyIAMAESZgoXR2V0UG9seW1hcmtldENhdGVnb3JpZXMSBi5FbXB0eRogLkdldFBvbHltYXJrZXRDYXRlZ29yaWVzUmVzcG9uc2UiIYLT5JMCGxIZL3YxL3BvbHltYXJrZXQtY2F0ZWdvcmllcxJBChpTdHJlYW1Qb2x5bWFya2V0Q2F0ZWdvcmllcxIGLkVtcHR5GhcuUG9seW1hcmtldENhdGVnb3J5UGFpciIAMAESWwoOR2V0T3B0aW9uQ2hhaW4SFi5HZXRPcHRpb25DaGFpblJlcXVlc3QaFy5HZXRPcHRpb25DaGFpblJlc3BvbnNlIhiC0+STAhISEC92MS9vcHRpb24tY2hhaW4SeAoVR2V0T3B0aW9uQ2hhaW5TdW1tYXJ5Eh0uR2V0T3B0aW9uQ2hhaW5TdW1tYXJ5UmVxdWVzdBoeLkdldE9wdGlvbkNoYWluU3VtbWFyeVJlc3BvbnNlIiCC0+STAhoSGC92MS9vcHRpb24tY2hhaW4tc3VtbWFyeUJMWgh0eXBlcy9wYpJBPxIbChV0c2RiLWdhdGV3YXkgUkVTVCBBUEkyAnYxciAKFlByb3RvY29sIERvY3VtZW50YXRpb24SBi9kb2NzL2IGcHJvdG8z", [file_google_api_annotations, file_google_api_httpbody, file_protoc_gen_openapiv2_options_annotations, file_timestamp_timestamp, file_empty, file_enums, file_ping_pong, file_series, file_transform]);
|
|
18
18
|
/**
|
|
19
19
|
* Describes the message CustomTimeRange.
|
|
20
20
|
* Use `create(CustomTimeRangeSchema)` to create a new message.
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
|
|
2
|
+
import type { AggregationInterval, Category, Exchange, Side } from "../../enums_pb.js";
|
|
3
|
+
import type { MetricAvailability, SpotRef, Symbols } from "./common_pb.js";
|
|
4
|
+
import type { CommodityPoint } from "./commodities_point.generated_pb.js";
|
|
5
|
+
import type { Message } from "@bufbuild/protobuf";
|
|
6
|
+
/**
|
|
7
|
+
* Describes the file tsdb-gateway/v3/commodities.proto.
|
|
8
|
+
*/
|
|
9
|
+
export declare const file_tsdb_gateway_v3_commodities: GenFile;
|
|
10
|
+
/**
|
|
11
|
+
* @generated from message gateway.v3.CommodityParams
|
|
12
|
+
*/
|
|
13
|
+
export type CommodityParams = Message<"gateway.v3.CommodityParams"> & {
|
|
14
|
+
/**
|
|
15
|
+
* @generated from field: repeated gateway.v3.CommodityParams.Metric metrics = 1;
|
|
16
|
+
*/
|
|
17
|
+
metrics: CommodityParams_Metric[];
|
|
18
|
+
/**
|
|
19
|
+
* instrument symbol (e.g. I:SPX, XAU/USD); venue defaults to the class venue.
|
|
20
|
+
*
|
|
21
|
+
* @generated from field: repeated gateway.v3.SpotRef refs = 2;
|
|
22
|
+
*/
|
|
23
|
+
refs: SpotRef[];
|
|
24
|
+
/**
|
|
25
|
+
* @generated from field: repeated gateway.v3.CommodityParams.Series series = 3;
|
|
26
|
+
*/
|
|
27
|
+
series: CommodityParams_Series[];
|
|
28
|
+
/**
|
|
29
|
+
* @generated from field: repeated Exchange venues = 4;
|
|
30
|
+
*/
|
|
31
|
+
venues: Exchange[];
|
|
32
|
+
/**
|
|
33
|
+
* @generated from field: gateway.v3.Symbols symbols = 5;
|
|
34
|
+
*/
|
|
35
|
+
symbols?: Symbols;
|
|
36
|
+
/**
|
|
37
|
+
* trades only (manifest)
|
|
38
|
+
*
|
|
39
|
+
* @generated from field: Side side = 6;
|
|
40
|
+
*/
|
|
41
|
+
side: Side;
|
|
42
|
+
/**
|
|
43
|
+
* @generated from field: repeated string coins = 16;
|
|
44
|
+
*/
|
|
45
|
+
coins: string[];
|
|
46
|
+
/**
|
|
47
|
+
* @generated from field: repeated Category categories = 17;
|
|
48
|
+
*/
|
|
49
|
+
categories: Category[];
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Describes the message gateway.v3.CommodityParams.
|
|
53
|
+
* Use `create(CommodityParamsSchema)` to create a new message.
|
|
54
|
+
*/
|
|
55
|
+
export declare const CommodityParamsSchema: GenMessage<CommodityParams>;
|
|
56
|
+
/**
|
|
57
|
+
* @generated from message gateway.v3.CommodityParams.Series
|
|
58
|
+
*/
|
|
59
|
+
export type CommodityParams_Series = Message<"gateway.v3.CommodityParams.Series"> & {
|
|
60
|
+
/**
|
|
61
|
+
* @generated from field: repeated Exchange venues = 1;
|
|
62
|
+
*/
|
|
63
|
+
venues: Exchange[];
|
|
64
|
+
/**
|
|
65
|
+
* @generated from field: gateway.v3.Symbols symbols = 2;
|
|
66
|
+
*/
|
|
67
|
+
symbols?: Symbols;
|
|
68
|
+
/**
|
|
69
|
+
* @generated from field: repeated gateway.v3.CommodityParams.Metric metrics = 3;
|
|
70
|
+
*/
|
|
71
|
+
metrics: CommodityParams_Metric[];
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Describes the message gateway.v3.CommodityParams.Series.
|
|
75
|
+
* Use `create(CommodityParams_SeriesSchema)` to create a new message.
|
|
76
|
+
*/
|
|
77
|
+
export declare const CommodityParams_SeriesSchema: GenMessage<CommodityParams_Series>;
|
|
78
|
+
/**
|
|
79
|
+
* @generated from enum gateway.v3.CommodityParams.Metric
|
|
80
|
+
*/
|
|
81
|
+
export declare enum CommodityParams_Metric {
|
|
82
|
+
/**
|
|
83
|
+
* @generated from enum value: METRIC_UNSPECIFIED = 0;
|
|
84
|
+
*/
|
|
85
|
+
METRIC_UNSPECIFIED = 0,
|
|
86
|
+
/**
|
|
87
|
+
* agg_only: TICKER_AGG (spot commodity quotes)
|
|
88
|
+
*
|
|
89
|
+
* @generated from enum value: CANDLES = 1;
|
|
90
|
+
*/
|
|
91
|
+
CANDLES = 1,
|
|
92
|
+
/**
|
|
93
|
+
* raw_only: TICKER
|
|
94
|
+
*
|
|
95
|
+
* @generated from enum value: QUOTES = 5;
|
|
96
|
+
*/
|
|
97
|
+
QUOTES = 5
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Describes the enum gateway.v3.CommodityParams.Metric.
|
|
101
|
+
*/
|
|
102
|
+
export declare const CommodityParams_MetricSchema: GenEnum<CommodityParams_Metric>;
|
|
103
|
+
/**
|
|
104
|
+
* @generated from message gateway.v3.CommoditySeriesKey
|
|
105
|
+
*/
|
|
106
|
+
export type CommoditySeriesKey = Message<"gateway.v3.CommoditySeriesKey"> & {
|
|
107
|
+
/**
|
|
108
|
+
* @generated from field: gateway.v3.CommodityParams.Metric metric = 1;
|
|
109
|
+
*/
|
|
110
|
+
metric: CommodityParams_Metric;
|
|
111
|
+
/**
|
|
112
|
+
* @generated from field: Exchange venue = 2;
|
|
113
|
+
*/
|
|
114
|
+
venue: Exchange;
|
|
115
|
+
/**
|
|
116
|
+
* @generated from field: string rawSymbol = 3;
|
|
117
|
+
*/
|
|
118
|
+
rawSymbol: string;
|
|
119
|
+
/**
|
|
120
|
+
* @generated from field: string normalizedSymbol = 4;
|
|
121
|
+
*/
|
|
122
|
+
normalizedSymbol: string;
|
|
123
|
+
/**
|
|
124
|
+
* @generated from field: string coin = 5;
|
|
125
|
+
*/
|
|
126
|
+
coin: string;
|
|
127
|
+
/**
|
|
128
|
+
* @generated from field: Category category = 6;
|
|
129
|
+
*/
|
|
130
|
+
category: Category;
|
|
131
|
+
/**
|
|
132
|
+
* @generated from field: AggregationInterval interval = 7;
|
|
133
|
+
*/
|
|
134
|
+
interval: AggregationInterval;
|
|
135
|
+
/**
|
|
136
|
+
* @generated from field: Side side = 8;
|
|
137
|
+
*/
|
|
138
|
+
side: Side;
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* Describes the message gateway.v3.CommoditySeriesKey.
|
|
142
|
+
* Use `create(CommoditySeriesKeySchema)` to create a new message.
|
|
143
|
+
*/
|
|
144
|
+
export declare const CommoditySeriesKeySchema: GenMessage<CommoditySeriesKey>;
|
|
145
|
+
/**
|
|
146
|
+
* @generated from message gateway.v3.CommodityPointsFrame
|
|
147
|
+
*/
|
|
148
|
+
export type CommodityPointsFrame = Message<"gateway.v3.CommodityPointsFrame"> & {
|
|
149
|
+
/**
|
|
150
|
+
* @generated from field: gateway.v3.CommoditySeriesKey key = 1;
|
|
151
|
+
*/
|
|
152
|
+
key?: CommoditySeriesKey;
|
|
153
|
+
/**
|
|
154
|
+
* @generated from field: repeated gateway.v3.CommodityPoint points = 2;
|
|
155
|
+
*/
|
|
156
|
+
points: CommodityPoint[];
|
|
157
|
+
/**
|
|
158
|
+
* Flattenable metrics only
|
|
159
|
+
*
|
|
160
|
+
* @generated from field: repeated double flatPoints = 3;
|
|
161
|
+
*/
|
|
162
|
+
flatPoints: number[];
|
|
163
|
+
};
|
|
164
|
+
/**
|
|
165
|
+
* Describes the message gateway.v3.CommodityPointsFrame.
|
|
166
|
+
* Use `create(CommodityPointsFrameSchema)` to create a new message.
|
|
167
|
+
*/
|
|
168
|
+
export declare const CommodityPointsFrameSchema: GenMessage<CommodityPointsFrame>;
|
|
169
|
+
/**
|
|
170
|
+
* @generated from message gateway.v3.CommodityInstrumentsFilter
|
|
171
|
+
*/
|
|
172
|
+
export type CommodityInstrumentsFilter = Message<"gateway.v3.CommodityInstrumentsFilter"> & {
|
|
173
|
+
/**
|
|
174
|
+
* @generated from field: repeated Exchange venues = 1;
|
|
175
|
+
*/
|
|
176
|
+
venues: Exchange[];
|
|
177
|
+
/**
|
|
178
|
+
* @generated from field: repeated string coins = 2;
|
|
179
|
+
*/
|
|
180
|
+
coins: string[];
|
|
181
|
+
/**
|
|
182
|
+
* @generated from field: repeated Category categories = 3;
|
|
183
|
+
*/
|
|
184
|
+
categories: Category[];
|
|
185
|
+
/**
|
|
186
|
+
* V3-56: the commodity data arm takes SpotRef
|
|
187
|
+
*
|
|
188
|
+
* @generated from field: repeated gateway.v3.SpotRef refs = 4;
|
|
189
|
+
*/
|
|
190
|
+
refs: SpotRef[];
|
|
191
|
+
};
|
|
192
|
+
/**
|
|
193
|
+
* Describes the message gateway.v3.CommodityInstrumentsFilter.
|
|
194
|
+
* Use `create(CommodityInstrumentsFilterSchema)` to create a new message.
|
|
195
|
+
*/
|
|
196
|
+
export declare const CommodityInstrumentsFilterSchema: GenMessage<CommodityInstrumentsFilter>;
|
|
197
|
+
/**
|
|
198
|
+
* @generated from message gateway.v3.CommodityInstrument
|
|
199
|
+
*/
|
|
200
|
+
export type CommodityInstrument = Message<"gateway.v3.CommodityInstrument"> & {
|
|
201
|
+
/**
|
|
202
|
+
* @generated from field: Exchange venue = 1;
|
|
203
|
+
*/
|
|
204
|
+
venue: Exchange;
|
|
205
|
+
/**
|
|
206
|
+
* @generated from field: string rawSymbol = 2;
|
|
207
|
+
*/
|
|
208
|
+
rawSymbol: string;
|
|
209
|
+
/**
|
|
210
|
+
* @generated from field: string normalizedSymbol = 3;
|
|
211
|
+
*/
|
|
212
|
+
normalizedSymbol: string;
|
|
213
|
+
/**
|
|
214
|
+
* @generated from field: string coin = 4;
|
|
215
|
+
*/
|
|
216
|
+
coin: string;
|
|
217
|
+
/**
|
|
218
|
+
* @generated from field: Category category = 5;
|
|
219
|
+
*/
|
|
220
|
+
category: Category;
|
|
221
|
+
/**
|
|
222
|
+
* @generated from field: optional int64 availableSinceUnixS = 6;
|
|
223
|
+
*/
|
|
224
|
+
availableSinceUnixS?: bigint;
|
|
225
|
+
/**
|
|
226
|
+
* @generated from field: optional int64 availableToUnixS = 7;
|
|
227
|
+
*/
|
|
228
|
+
availableToUnixS?: bigint;
|
|
229
|
+
/**
|
|
230
|
+
* @generated from field: repeated gateway.v3.MetricAvailability metrics = 8;
|
|
231
|
+
*/
|
|
232
|
+
metrics: MetricAvailability[];
|
|
233
|
+
/**
|
|
234
|
+
* V3-56: catalog row carries its arm's ref
|
|
235
|
+
*
|
|
236
|
+
* @generated from field: gateway.v3.SpotRef ref = 9;
|
|
237
|
+
*/
|
|
238
|
+
ref?: SpotRef;
|
|
239
|
+
};
|
|
240
|
+
/**
|
|
241
|
+
* Describes the message gateway.v3.CommodityInstrument.
|
|
242
|
+
* Use `create(CommodityInstrumentSchema)` to create a new message.
|
|
243
|
+
*/
|
|
244
|
+
export declare const CommodityInstrumentSchema: GenMessage<CommodityInstrument>;
|
|
245
|
+
/**
|
|
246
|
+
* @generated from message gateway.v3.CommodityInstruments
|
|
247
|
+
*/
|
|
248
|
+
export type CommodityInstruments = Message<"gateway.v3.CommodityInstruments"> & {
|
|
249
|
+
/**
|
|
250
|
+
* @generated from field: repeated gateway.v3.CommodityInstrument instruments = 1;
|
|
251
|
+
*/
|
|
252
|
+
instruments: CommodityInstrument[];
|
|
253
|
+
/**
|
|
254
|
+
* true when the catalog hit its page cap and more rows exist (V3-81).
|
|
255
|
+
*
|
|
256
|
+
* @generated from field: bool truncated = 2;
|
|
257
|
+
*/
|
|
258
|
+
truncated: boolean;
|
|
259
|
+
};
|
|
260
|
+
/**
|
|
261
|
+
* Describes the message gateway.v3.CommodityInstruments.
|
|
262
|
+
* Use `create(CommodityInstrumentsSchema)` to create a new message.
|
|
263
|
+
*/
|
|
264
|
+
export declare const CommodityInstrumentsSchema: GenMessage<CommodityInstruments>;
|
|
265
|
+
//# sourceMappingURL=commodities_pb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commodities_pb.d.ts","sourceRoot":"","sources":["../../../src/gen/tsdb-gateway/v3/commodities_pb.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAEjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAE1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,gCAAgC,EAAE,OACmiE,CAAC;AAEnlE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,4BAA4B,CAAC,GAAG;IACpE;;OAEG;IACH,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAElC;;;;OAIG;IACH,IAAI,EAAE,OAAO,EAAE,CAAC;IAEhB;;OAEG;IACH,MAAM,EAAE,sBAAsB,EAAE,CAAC;IAEjC;;OAEG;IACH,MAAM,EAAE,QAAQ,EAAE,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,IAAI,EAAE,IAAI,CAAC;IAEX;;OAEG;IACH,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB;;OAEG;IACH,UAAU,EAAE,QAAQ,EAAE,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,UAAU,CAAC,eAAe,CACZ,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,mCAAmC,CAAC,GAAG;IAClF;;OAEG;IACH,MAAM,EAAE,QAAQ,EAAE,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE,sBAAsB,EAAE,CAAC;CACnC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,EAAE,UAAU,CAAC,sBAAsB,CACvB,CAAC;AAEtD;;GAEG;AACH,oBAAY,sBAAsB;IAChC;;OAEG;IACH,kBAAkB,IAAI;IAEtB;;;;OAIG;IACH,OAAO,IAAI;IAEX;;;;OAIG;IACH,MAAM,IAAI;CACX;AAED;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,OAAO,CAAC,sBAAsB,CACvB,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,+BAA+B,CAAC,GAAG;IAC1E;;OAEG;IACH,MAAM,EAAE,sBAAsB,CAAC;IAE/B;;OAEG;IACH,KAAK,EAAE,QAAQ,CAAC;IAEhB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,mBAAmB,CAAC;IAE9B;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,UAAU,CAAC,kBAAkB,CAClB,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,iCAAiC,CAAC,GAAG;IAC9E;;OAEG;IACH,GAAG,CAAC,EAAE,kBAAkB,CAAC;IAEzB;;OAEG;IACH,MAAM,EAAE,cAAc,EAAE,CAAC;IAEzB;;;;OAIG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,UAAU,CAAC,oBAAoB,CACtB,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAAC,uCAAuC,CAAC,GAAG;IAC1F;;OAEG;IACH,MAAM,EAAE,QAAQ,EAAE,CAAC;IAEnB;;OAEG;IACH,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB;;OAEG;IACH,UAAU,EAAE,QAAQ,EAAE,CAAC;IAEvB;;;;OAIG;IACH,IAAI,EAAE,OAAO,EAAE,CAAC;CACjB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gCAAgC,EAAE,UAAU,CAAC,0BAA0B,CAClC,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,gCAAgC,CAAC,GAAG;IAC5E;;OAEG;IACH,KAAK,EAAE,QAAQ,CAAC;IAEhB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAE9B;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,UAAU,CAAC,mBAAmB,CACpB,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,iCAAiC,CAAC,GAAG;IAC9E;;OAEG;IACH,WAAW,EAAE,mBAAmB,EAAE,CAAC;IAEnC;;;;OAIG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,UAAU,CAAC,oBAAoB,CACtB,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
// COMMODITIES class arm. Metals, energy and agricultural futures on the
|
|
2
|
+
// commodity venues (CBOT, ICE, NYMEX, LBMA, PLATTS, COMEX, LME). This file
|
|
3
|
+
// shapes the wire; the metric-level truth (states, internal types, axes) is
|
|
4
|
+
// v3/contracts/commodities.proto, and the conformance suite validates that
|
|
5
|
+
// census against the live selector registry.
|
|
6
|
+
//
|
|
7
|
+
// Tranche 1 (this file): the core points metrics, selected by the broad
|
|
8
|
+
// axes. There is no dedicated commodity ref today; instruments are named by
|
|
9
|
+
// venue and symbol.
|
|
10
|
+
import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
|
|
11
|
+
import { file_enums } from "../../enums_pb.js";
|
|
12
|
+
import { file_tsdb_gateway_v3_common } from "./common_pb.js";
|
|
13
|
+
import { file_tsdb_gateway_v3_commodities_point_generated } from "./commodities_point.generated_pb.js";
|
|
14
|
+
/**
|
|
15
|
+
* Describes the file tsdb-gateway/v3/commodities.proto.
|
|
16
|
+
*/
|
|
17
|
+
export const file_tsdb_gateway_v3_commodities = /*@__PURE__*/ fileDesc("CiF0c2RiLWdhdGV3YXkvdjMvY29tbW9kaXRpZXMucHJvdG8SCmdhdGV3YXkudjMi7gMKD0NvbW1vZGl0eVBhcmFtcxIzCgdtZXRyaWNzGAEgAygOMiIuZ2F0ZXdheS52My5Db21tb2RpdHlQYXJhbXMuTWV0cmljEiEKBHJlZnMYAiADKAsyEy5nYXRld2F5LnYzLlNwb3RSZWYSMgoGc2VyaWVzGAMgAygLMiIuZ2F0ZXdheS52My5Db21tb2RpdHlQYXJhbXMuU2VyaWVzEhkKBnZlbnVlcxgEIAMoDjIJLkV4Y2hhbmdlEiQKB3N5bWJvbHMYBSABKAsyEy5nYXRld2F5LnYzLlN5bWJvbHMSEwoEc2lkZRgGIAEoDjIFLlNpZGUSDQoFY29pbnMYECADKAkSHQoKY2F0ZWdvcmllcxgRIAMoDjIJLkNhdGVnb3J5Gn4KBlNlcmllcxIZCgZ2ZW51ZXMYASADKA4yCS5FeGNoYW5nZRIkCgdzeW1ib2xzGAIgASgLMhMuZ2F0ZXdheS52My5TeW1ib2xzEjMKB21ldHJpY3MYAyADKA4yIi5nYXRld2F5LnYzLkNvbW1vZGl0eVBhcmFtcy5NZXRyaWMiSwoGTWV0cmljEhYKEk1FVFJJQ19VTlNQRUNJRklFRBAAEgsKB0NBTkRMRVMQARIKCgZRVU9URVMQBSIECAIQAiIECAMQAyIECAQQBCL3AQoSQ29tbW9kaXR5U2VyaWVzS2V5EjIKBm1ldHJpYxgBIAEoDjIiLmdhdGV3YXkudjMuQ29tbW9kaXR5UGFyYW1zLk1ldHJpYxIYCgV2ZW51ZRgCIAEoDjIJLkV4Y2hhbmdlEhEKCXJhd1N5bWJvbBgDIAEoCRIYChBub3JtYWxpemVkU3ltYm9sGAQgASgJEgwKBGNvaW4YBSABKAkSGwoIY2F0ZWdvcnkYBiABKA4yCS5DYXRlZ29yeRImCghpbnRlcnZhbBgHIAEoDjIULkFnZ3JlZ2F0aW9uSW50ZXJ2YWwSEwoEc2lkZRgIIAEoDjIFLlNpZGUigwEKFENvbW1vZGl0eVBvaW50c0ZyYW1lEisKA2tleRgBIAEoCzIeLmdhdGV3YXkudjMuQ29tbW9kaXR5U2VyaWVzS2V5EioKBnBvaW50cxgCIAMoCzIaLmdhdGV3YXkudjMuQ29tbW9kaXR5UG9pbnQSEgoKZmxhdFBvaW50cxgDIAMoASKIAQoaQ29tbW9kaXR5SW5zdHJ1bWVudHNGaWx0ZXISGQoGdmVudWVzGAEgAygOMgkuRXhjaGFuZ2USDQoFY29pbnMYAiADKAkSHQoKY2F0ZWdvcmllcxgDIAMoDjIJLkNhdGVnb3J5EiEKBHJlZnMYBCADKAsyEy5nYXRld2F5LnYzLlNwb3RSZWYiyAIKE0NvbW1vZGl0eUluc3RydW1lbnQSGAoFdmVudWUYASABKA4yCS5FeGNoYW5nZRIRCglyYXdTeW1ib2wYAiABKAkSGAoQbm9ybWFsaXplZFN5bWJvbBgDIAEoCRIMCgRjb2luGAQgASgJEhsKCGNhdGVnb3J5GAUgASgOMgkuQ2F0ZWdvcnkSIAoTYXZhaWxhYmxlU2luY2VVbml4UxgGIAEoA0gAiAEBEh0KEGF2YWlsYWJsZVRvVW5peFMYByABKANIAYgBARIvCgdtZXRyaWNzGAggAygLMh4uZ2F0ZXdheS52My5NZXRyaWNBdmFpbGFiaWxpdHkSIAoDcmVmGAkgASgLMhMuZ2F0ZXdheS52My5TcG90UmVmQhYKFF9hdmFpbGFibGVTaW5jZVVuaXhTQhMKEV9hdmFpbGFibGVUb1VuaXhTIl8KFENvbW1vZGl0eUluc3RydW1lbnRzEjQKC2luc3RydW1lbnRzGAEgAygLMh8uZ2F0ZXdheS52My5Db21tb2RpdHlJbnN0cnVtZW50EhEKCXRydW5jYXRlZBgCIAEoCEIMWgp0eXBlcy9wYnYzYgZwcm90bzM", [file_enums, file_tsdb_gateway_v3_common, file_tsdb_gateway_v3_commodities_point_generated]);
|
|
18
|
+
/**
|
|
19
|
+
* Describes the message gateway.v3.CommodityParams.
|
|
20
|
+
* Use `create(CommodityParamsSchema)` to create a new message.
|
|
21
|
+
*/
|
|
22
|
+
export const CommodityParamsSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_v3_commodities, 0);
|
|
23
|
+
/**
|
|
24
|
+
* Describes the message gateway.v3.CommodityParams.Series.
|
|
25
|
+
* Use `create(CommodityParams_SeriesSchema)` to create a new message.
|
|
26
|
+
*/
|
|
27
|
+
export const CommodityParams_SeriesSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_v3_commodities, 0, 0);
|
|
28
|
+
/**
|
|
29
|
+
* @generated from enum gateway.v3.CommodityParams.Metric
|
|
30
|
+
*/
|
|
31
|
+
export var CommodityParams_Metric;
|
|
32
|
+
(function (CommodityParams_Metric) {
|
|
33
|
+
/**
|
|
34
|
+
* @generated from enum value: METRIC_UNSPECIFIED = 0;
|
|
35
|
+
*/
|
|
36
|
+
CommodityParams_Metric[CommodityParams_Metric["METRIC_UNSPECIFIED"] = 0] = "METRIC_UNSPECIFIED";
|
|
37
|
+
/**
|
|
38
|
+
* agg_only: TICKER_AGG (spot commodity quotes)
|
|
39
|
+
*
|
|
40
|
+
* @generated from enum value: CANDLES = 1;
|
|
41
|
+
*/
|
|
42
|
+
CommodityParams_Metric[CommodityParams_Metric["CANDLES"] = 1] = "CANDLES";
|
|
43
|
+
/**
|
|
44
|
+
* raw_only: TICKER
|
|
45
|
+
*
|
|
46
|
+
* @generated from enum value: QUOTES = 5;
|
|
47
|
+
*/
|
|
48
|
+
CommodityParams_Metric[CommodityParams_Metric["QUOTES"] = 5] = "QUOTES";
|
|
49
|
+
})(CommodityParams_Metric || (CommodityParams_Metric = {}));
|
|
50
|
+
/**
|
|
51
|
+
* Describes the enum gateway.v3.CommodityParams.Metric.
|
|
52
|
+
*/
|
|
53
|
+
export const CommodityParams_MetricSchema = /*@__PURE__*/ enumDesc(file_tsdb_gateway_v3_commodities, 0, 0);
|
|
54
|
+
/**
|
|
55
|
+
* Describes the message gateway.v3.CommoditySeriesKey.
|
|
56
|
+
* Use `create(CommoditySeriesKeySchema)` to create a new message.
|
|
57
|
+
*/
|
|
58
|
+
export const CommoditySeriesKeySchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_v3_commodities, 1);
|
|
59
|
+
/**
|
|
60
|
+
* Describes the message gateway.v3.CommodityPointsFrame.
|
|
61
|
+
* Use `create(CommodityPointsFrameSchema)` to create a new message.
|
|
62
|
+
*/
|
|
63
|
+
export const CommodityPointsFrameSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_v3_commodities, 2);
|
|
64
|
+
/**
|
|
65
|
+
* Describes the message gateway.v3.CommodityInstrumentsFilter.
|
|
66
|
+
* Use `create(CommodityInstrumentsFilterSchema)` to create a new message.
|
|
67
|
+
*/
|
|
68
|
+
export const CommodityInstrumentsFilterSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_v3_commodities, 3);
|
|
69
|
+
/**
|
|
70
|
+
* Describes the message gateway.v3.CommodityInstrument.
|
|
71
|
+
* Use `create(CommodityInstrumentSchema)` to create a new message.
|
|
72
|
+
*/
|
|
73
|
+
export const CommodityInstrumentSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_v3_commodities, 4);
|
|
74
|
+
/**
|
|
75
|
+
* Describes the message gateway.v3.CommodityInstruments.
|
|
76
|
+
* Use `create(CommodityInstrumentsSchema)` to create a new message.
|
|
77
|
+
*/
|
|
78
|
+
export const CommodityInstrumentsSchema = /*@__PURE__*/ messageDesc(file_tsdb_gateway_v3_commodities, 5);
|