Make using gateway location optional (LoRa Cloud).

This commit is contained in:
Orne Brocaar 2023-03-28 13:11:49 +01:00
parent cb49afeb01
commit 1430c30ab3
16 changed files with 1297 additions and 1114 deletions

View File

@ -99,267 +99,268 @@ namespace Chirpstack.Api {
"c3QSFgoOYXBwbGljYXRpb25faWQYASABKAkiegoUTG9yYUNsb3VkSW50ZWdy",
"YXRpb24SFgoOYXBwbGljYXRpb25faWQYASABKAkSSgoabW9kZW1fZ2VvbG9j",
"YXRpb25fc2VydmljZXMYAiABKAsyJi5hcGkuTG9yYUNsb3VkTW9kZW1HZW9s",
"b2NhdGlvblNlcnZpY2VzIrIDCiFMb3JhQ2xvdWRNb2RlbUdlb2xvY2F0aW9u",
"b2NhdGlvblNlcnZpY2VzItUDCiFMb3JhQ2xvdWRNb2RlbUdlb2xvY2F0aW9u",
"U2VydmljZXMSDQoFdG9rZW4YASABKAkSFQoNbW9kZW1fZW5hYmxlZBgCIAEo",
"CBIXCg9mb3J3YXJkX2ZfcG9ydHMYECADKA0SGAoQZ25zc191c2VfcnhfdGlt",
"ZRgFIAEoCBIRCglwYXJzZV90bHYYBiABKAgSHgoWZ2VvbG9jYXRpb25fYnVm",
"ZmVyX3R0bBgHIAEoDRIjChtnZW9sb2NhdGlvbl9taW5fYnVmZmVyX3NpemUY",
"CCABKA0SGAoQZ2VvbG9jYXRpb25fdGRvYRgJIAEoCBIYChBnZW9sb2NhdGlv",
"bl9yc3NpGAogASgIEhgKEGdlb2xvY2F0aW9uX2duc3MYCyABKAgSJgoeZ2Vv",
"bG9jYXRpb25fZ25zc19wYXlsb2FkX2ZpZWxkGAwgASgJEiQKHGdlb2xvY2F0",
"aW9uX2duc3NfdXNlX3J4X3RpbWUYDSABKAgSGAoQZ2VvbG9jYXRpb25fd2lm",
"aRgOIAEoCBImCh5nZW9sb2NhdGlvbl93aWZpX3BheWxvYWRfZmllbGQYDyAB",
"KAkiUwohQ3JlYXRlTG9yYUNsb3VkSW50ZWdyYXRpb25SZXF1ZXN0Ei4KC2lu",
"dGVncmF0aW9uGAEgASgLMhkuYXBpLkxvcmFDbG91ZEludGVncmF0aW9uIjgK",
"HkdldExvcmFDbG91ZEludGVncmF0aW9uUmVxdWVzdBIWCg5hcHBsaWNhdGlv",
"bl9pZBgBIAEoCSJRCh9HZXRMb3JhQ2xvdWRJbnRlZ3JhdGlvblJlc3BvbnNl",
"Ei4KC2ludGVncmF0aW9uGAEgASgLMhkuYXBpLkxvcmFDbG91ZEludGVncmF0",
"aW9uIlMKIVVwZGF0ZUxvcmFDbG91ZEludGVncmF0aW9uUmVxdWVzdBIuCgtp",
"bnRlZ3JhdGlvbhgBIAEoCzIZLmFwaS5Mb3JhQ2xvdWRJbnRlZ3JhdGlvbiI7",
"CiFEZWxldGVMb3JhQ2xvdWRJbnRlZ3JhdGlvblJlcXVlc3QSFgoOYXBwbGlj",
"YXRpb25faWQYASABKAkikQEKFEdjcFB1YlN1YkludGVncmF0aW9uEhYKDmFw",
"cGxpY2F0aW9uX2lkGAEgASgJEh8KCGVuY29kaW5nGAIgASgOMg0uYXBpLkVu",
"Y29kaW5nEhgKEGNyZWRlbnRpYWxzX2ZpbGUYAyABKAkSEgoKcHJvamVjdF9p",
"ZBgEIAEoCRISCgp0b3BpY19uYW1lGAUgASgJIlMKIUNyZWF0ZUdjcFB1YlN1",
"YkludGVncmF0aW9uUmVxdWVzdBIuCgtpbnRlZ3JhdGlvbhgBIAEoCzIZLmFw",
"aS5HY3BQdWJTdWJJbnRlZ3JhdGlvbiI4Ch5HZXRHY3BQdWJTdWJJbnRlZ3Jh",
"dGlvblJlcXVlc3QSFgoOYXBwbGljYXRpb25faWQYASABKAkiUQofR2V0R2Nw",
"UHViU3ViSW50ZWdyYXRpb25SZXNwb25zZRIuCgtpbnRlZ3JhdGlvbhgBIAEo",
"CzIZLmFwaS5HY3BQdWJTdWJJbnRlZ3JhdGlvbiJTCiFVcGRhdGVHY3BQdWJT",
"dWJJbnRlZ3JhdGlvblJlcXVlc3QSLgoLaW50ZWdyYXRpb24YASABKAsyGS5h",
"cGkuR2NwUHViU3ViSW50ZWdyYXRpb24iOwohRGVsZXRlR2NwUHViU3ViSW50",
"ZWdyYXRpb25SZXF1ZXN0EhYKDmFwcGxpY2F0aW9uX2lkGAEgASgJIqEBChFB",
"d3NTbnNJbnRlZ3JhdGlvbhIWCg5hcHBsaWNhdGlvbl9pZBgBIAEoCRIfCghl",
"bmNvZGluZxgCIAEoDjINLmFwaS5FbmNvZGluZxIOCgZyZWdpb24YAyABKAkS",
"FQoNYWNjZXNzX2tleV9pZBgEIAEoCRIZChFzZWNyZXRfYWNjZXNzX2tleRgF",
"IAEoCRIRCgl0b3BpY19hcm4YBiABKAkiTQoeQ3JlYXRlQXdzU25zSW50ZWdy",
"YXRpb25SZXF1ZXN0EisKC2ludGVncmF0aW9uGAEgASgLMhYuYXBpLkF3c1Nu",
"c0ludGVncmF0aW9uIjUKG0dldEF3c1Nuc0ludGVncmF0aW9uUmVxdWVzdBIW",
"Cg5hcHBsaWNhdGlvbl9pZBgBIAEoCSJLChxHZXRBd3NTbnNJbnRlZ3JhdGlv",
"blJlc3BvbnNlEisKC2ludGVncmF0aW9uGAEgASgLMhYuYXBpLkF3c1Nuc0lu",
"dGVncmF0aW9uIk0KHlVwZGF0ZUF3c1Nuc0ludGVncmF0aW9uUmVxdWVzdBIr",
"CgtpbnRlZ3JhdGlvbhgBIAEoCzIWLmFwaS5Bd3NTbnNJbnRlZ3JhdGlvbiI4",
"Ch5EZWxldGVBd3NTbnNJbnRlZ3JhdGlvblJlcXVlc3QSFgoOYXBwbGljYXRp",
"b25faWQYASABKAkihgEKGkF6dXJlU2VydmljZUJ1c0ludGVncmF0aW9uEhYK",
"DmFwcGxpY2F0aW9uX2lkGAEgASgJEh8KCGVuY29kaW5nGAIgASgOMg0uYXBp",
"LkVuY29kaW5nEhkKEWNvbm5lY3Rpb25fc3RyaW5nGAMgASgJEhQKDHB1Ymxp",
"c2hfbmFtZRgEIAEoCSJfCidDcmVhdGVBenVyZVNlcnZpY2VCdXNJbnRlZ3Jh",
"dGlvblJlcXVlc3QSNAoLaW50ZWdyYXRpb24YASABKAsyHy5hcGkuQXp1cmVT",
"ZXJ2aWNlQnVzSW50ZWdyYXRpb24iPgokR2V0QXp1cmVTZXJ2aWNlQnVzSW50",
"ZWdyYXRpb25SZXF1ZXN0EhYKDmFwcGxpY2F0aW9uX2lkGAEgASgJIl0KJUdl",
"dEF6dXJlU2VydmljZUJ1c0ludGVncmF0aW9uUmVzcG9uc2USNAoLaW50ZWdy",
"YXRpb24YASABKAsyHy5hcGkuQXp1cmVTZXJ2aWNlQnVzSW50ZWdyYXRpb24i",
"XwonVXBkYXRlQXp1cmVTZXJ2aWNlQnVzSW50ZWdyYXRpb25SZXF1ZXN0EjQK",
"C2ludGVncmF0aW9uGAEgASgLMh8uYXBpLkF6dXJlU2VydmljZUJ1c0ludGVn",
"cmF0aW9uIkEKJ0RlbGV0ZUF6dXJlU2VydmljZUJ1c0ludGVncmF0aW9uUmVx",
"dWVzdBIWCg5hcHBsaWNhdGlvbl9pZBgBIAEoCSJPChZQaWxvdFRoaW5nc0lu",
"dGVncmF0aW9uEhYKDmFwcGxpY2F0aW9uX2lkGAEgASgJEg4KBnNlcnZlchgC",
"IAEoCRINCgV0b2tlbhgDIAEoCSJXCiNDcmVhdGVQaWxvdFRoaW5nc0ludGVn",
"cmF0aW9uUmVxdWVzdBIwCgtpbnRlZ3JhdGlvbhgBIAEoCzIbLmFwaS5QaWxv",
"dFRoaW5nc0ludGVncmF0aW9uIjoKIEdldFBpbG90VGhpbmdzSW50ZWdyYXRp",
"b25SZXF1ZXN0EhYKDmFwcGxpY2F0aW9uX2lkGAEgASgJIlUKIUdldFBpbG90",
"VGhpbmdzSW50ZWdyYXRpb25SZXNwb25zZRIwCgtpbnRlZ3JhdGlvbhgBIAEo",
"CzIbLmFwaS5QaWxvdFRoaW5nc0ludGVncmF0aW9uIlcKI1VwZGF0ZVBpbG90",
"VGhpbmdzSW50ZWdyYXRpb25SZXF1ZXN0EjAKC2ludGVncmF0aW9uGAEgASgL",
"MhsuYXBpLlBpbG90VGhpbmdzSW50ZWdyYXRpb24iPQojRGVsZXRlUGlsb3RU",
"aGluZ3NJbnRlZ3JhdGlvblJlcXVlc3QSFgoOYXBwbGljYXRpb25faWQYASAB",
"KAkiTgoQSWZ0dHRJbnRlZ3JhdGlvbhIWCg5hcHBsaWNhdGlvbl9pZBgBIAEo",
"CRILCgNrZXkYAiABKAkSFQoNdXBsaW5rX3ZhbHVlcxgDIAMoCSJLCh1DcmVh",
"dGVJZnR0dEludGVncmF0aW9uUmVxdWVzdBIqCgtpbnRlZ3JhdGlvbhgBIAEo",
"CzIVLmFwaS5JZnR0dEludGVncmF0aW9uIjQKGkdldElmdHR0SW50ZWdyYXRp",
"b25SZXF1ZXN0EhYKDmFwcGxpY2F0aW9uX2lkGAEgASgJIkkKG0dldElmdHR0",
"SW50ZWdyYXRpb25SZXNwb25zZRIqCgtpbnRlZ3JhdGlvbhgBIAEoCzIVLmFw",
"aS5JZnR0dEludGVncmF0aW9uIksKHVVwZGF0ZUlmdHR0SW50ZWdyYXRpb25S",
"ZXF1ZXN0EioKC2ludGVncmF0aW9uGAEgASgLMhUuYXBpLklmdHR0SW50ZWdy",
"YXRpb24iNwodRGVsZXRlSWZ0dHRJbnRlZ3JhdGlvblJlcXVlc3QSFgoOYXBw",
"bGljYXRpb25faWQYASABKAkiSQovR2VuZXJhdGVNcXR0SW50ZWdyYXRpb25D",
"bGllbnRDZXJ0aWZpY2F0ZVJlcXVlc3QSFgoOYXBwbGljYXRpb25faWQYASAB",
"KAkilgEKMEdlbmVyYXRlTXF0dEludGVncmF0aW9uQ2xpZW50Q2VydGlmaWNh",
"dGVSZXNwb25zZRIQCgh0bHNfY2VydBgBIAEoCRIPCgd0bHNfa2V5GAIgASgJ",
"Eg8KB2NhX2NlcnQYAyABKAkSLgoKZXhwaXJlc19hdBgEIAEoCzIaLmdvb2ds",
"ZS5wcm90b2J1Zi5UaW1lc3RhbXAqIgoIRW5jb2RpbmcSCAoESlNPThAAEgwK",
"CFBST1RPQlVGEAEqvwEKD0ludGVncmF0aW9uS2luZBIICgRIVFRQEAASDQoJ",
"SU5GTFVYX0RCEAESEAoMVEhJTkdTX0JPQVJEEAISDgoKTVlfREVWSUNFUxAD",
"Eg4KCkxPUkFfQ0xPVUQQBBIPCgtHQ1BfUFVCX1NVQhAFEgsKB0FXU19TTlMQ",
"BhIVChFBWlVSRV9TRVJWSUNFX0JVUxAHEhAKDFBJTE9UX1RISU5HUxAIEg8K",
"C01RVFRfR0xPQkFMEAkSCQoFSUZUVFQQCio/ChFJbmZsdXhEYlByZWNpc2lv",
"bhIGCgJOUxAAEgUKAVUQARIGCgJNUxACEgUKAVMQAxIFCgFNEAQSBQoBSBAF",
"KjEKD0luZmx1eERiVmVyc2lvbhIOCgpJTkZMVVhEQl8xEAASDgoKSU5GTFVY",
"REJfMhABMrg8ChJBcHBsaWNhdGlvblNlcnZpY2USZQoGQ3JlYXRlEh0uYXBp",
"LkNyZWF0ZUFwcGxpY2F0aW9uUmVxdWVzdBoeLmFwaS5DcmVhdGVBcHBsaWNh",
"dGlvblJlc3BvbnNlIhyC0+STAhYiES9hcGkvYXBwbGljYXRpb25zOgEqEl4K",
"A0dldBIaLmFwaS5HZXRBcHBsaWNhdGlvblJlcXVlc3QaGy5hcGkuR2V0QXBw",
"bGljYXRpb25SZXNwb25zZSIegtPkkwIYEhYvYXBpL2FwcGxpY2F0aW9ucy97",
"aWR9Em4KBlVwZGF0ZRIdLmFwaS5VcGRhdGVBcHBsaWNhdGlvblJlcXVlc3Qa",
"Fi5nb29nbGUucHJvdG9idWYuRW1wdHkiLYLT5JMCJxoiL2FwaS9hcHBsaWNh",
"dGlvbnMve2FwcGxpY2F0aW9uLmlkfToBKhJfCgZEZWxldGUSHS5hcGkuRGVs",
"ZXRlQXBwbGljYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5",
"Ih6C0+STAhgqFi9hcGkvYXBwbGljYXRpb25zL3tpZH0SXgoETGlzdBIcLmFw",
"aS5MaXN0QXBwbGljYXRpb25zUmVxdWVzdBodLmFwaS5MaXN0QXBwbGljYXRp",
"b25zUmVzcG9uc2UiGYLT5JMCExIRL2FwaS9hcHBsaWNhdGlvbnMSiAEKEExp",
"c3RJbnRlZ3JhdGlvbnMSHC5hcGkuTGlzdEludGVncmF0aW9uc1JlcXVlc3Qa",
"HS5hcGkuTGlzdEludGVncmF0aW9uc1Jlc3BvbnNlIjeC0+STAjESLy9hcGkv",
"YXBwbGljYXRpb25zL3thcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zEp8B",
"ChVDcmVhdGVIdHRwSW50ZWdyYXRpb24SIS5hcGkuQ3JlYXRlSHR0cEludGVn",
"cmF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJLgtPkkwJF",
"IkAvYXBpL2FwcGxpY2F0aW9ucy97aW50ZWdyYXRpb24uYXBwbGljYXRpb25f",
"aWR9L2ludGVncmF0aW9ucy9odHRwOgEqEpMBChJHZXRIdHRwSW50ZWdyYXRp",
"b24SHi5hcGkuR2V0SHR0cEludGVncmF0aW9uUmVxdWVzdBofLmFwaS5HZXRI",
"dHRwSW50ZWdyYXRpb25SZXNwb25zZSI8gtPkkwI2EjQvYXBpL2FwcGxpY2F0",
"aW9ucy97YXBwbGljYXRpb25faWR9L2ludGVncmF0aW9ucy9odHRwEp8BChVV",
"cGRhdGVIdHRwSW50ZWdyYXRpb24SIS5hcGkuVXBkYXRlSHR0cEludGVncmF0",
"aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJLgtPkkwJFGkAv",
"YXBpL2FwcGxpY2F0aW9ucy97aW50ZWdyYXRpb24uYXBwbGljYXRpb25faWR9",
"L2ludGVncmF0aW9ucy9odHRwOgEqEpABChVEZWxldGVIdHRwSW50ZWdyYXRp",
"b24SIS5hcGkuRGVsZXRlSHR0cEludGVncmF0aW9uUmVxdWVzdBoWLmdvb2ds",
"ZS5wcm90b2J1Zi5FbXB0eSI8gtPkkwI2KjQvYXBpL2FwcGxpY2F0aW9ucy97",
"YXBwbGljYXRpb25faWR9L2ludGVncmF0aW9ucy9odHRwEqsBChlDcmVhdGVJ",
"bmZsdXhEYkludGVncmF0aW9uEiUuYXBpLkNyZWF0ZUluZmx1eERiSW50ZWdy",
"YXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ik+C0+STAkki",
"RC9hcGkvYXBwbGljYXRpb25zL3tpbnRlZ3JhdGlvbi5hcHBsaWNhdGlvbl9p",
"ZH0vaW50ZWdyYXRpb25zL2luZmx1eGRiOgEqEqMBChZHZXRJbmZsdXhEYklu",
"dGVncmF0aW9uEiIuYXBpLkdldEluZmx1eERiSW50ZWdyYXRpb25SZXF1ZXN0",
"GiMuYXBpLkdldEluZmx1eERiSW50ZWdyYXRpb25SZXNwb25zZSJAgtPkkwI6",
"EjgvYXBpL2FwcGxpY2F0aW9ucy97YXBwbGljYXRpb25faWR9L2ludGVncmF0",
"aW9ucy9pbmZsdXhkYhKrAQoZVXBkYXRlSW5mbHV4RGJJbnRlZ3JhdGlvbhIl",
"LmFwaS5VcGRhdGVJbmZsdXhEYkludGVncmF0aW9uUmVxdWVzdBoWLmdvb2ds",
"ZS5wcm90b2J1Zi5FbXB0eSJPgtPkkwJJGkQvYXBpL2FwcGxpY2F0aW9ucy97",
"aW50ZWdyYXRpb24uYXBwbGljYXRpb25faWR9L2ludGVncmF0aW9ucy9pbmZs",
"dXhkYjoBKhKcAQoZRGVsZXRlSW5mbHV4RGJJbnRlZ3JhdGlvbhIlLmFwaS5E",
"ZWxldGVJbmZsdXhEYkludGVncmF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90",
"b2J1Zi5FbXB0eSJAgtPkkwI6KjgvYXBpL2FwcGxpY2F0aW9ucy97YXBwbGlj",
"YXRpb25faWR9L2ludGVncmF0aW9ucy9pbmZsdXhkYhK0AQocQ3JlYXRlVGhp",
"bmdzQm9hcmRJbnRlZ3JhdGlvbhIoLmFwaS5DcmVhdGVUaGluZ3NCb2FyZElu",
"ZRgFIAEoCBIhChlnbnNzX3VzZV9nYXRld2F5X2xvY2F0aW9uGBEgASgIEhEK",
"CXBhcnNlX3RsdhgGIAEoCBIeChZnZW9sb2NhdGlvbl9idWZmZXJfdHRsGAcg",
"ASgNEiMKG2dlb2xvY2F0aW9uX21pbl9idWZmZXJfc2l6ZRgIIAEoDRIYChBn",
"ZW9sb2NhdGlvbl90ZG9hGAkgASgIEhgKEGdlb2xvY2F0aW9uX3Jzc2kYCiAB",
"KAgSGAoQZ2VvbG9jYXRpb25fZ25zcxgLIAEoCBImCh5nZW9sb2NhdGlvbl9n",
"bnNzX3BheWxvYWRfZmllbGQYDCABKAkSJAocZ2VvbG9jYXRpb25fZ25zc191",
"c2VfcnhfdGltZRgNIAEoCBIYChBnZW9sb2NhdGlvbl93aWZpGA4gASgIEiYK",
"Hmdlb2xvY2F0aW9uX3dpZmlfcGF5bG9hZF9maWVsZBgPIAEoCSJTCiFDcmVh",
"dGVMb3JhQ2xvdWRJbnRlZ3JhdGlvblJlcXVlc3QSLgoLaW50ZWdyYXRpb24Y",
"ASABKAsyGS5hcGkuTG9yYUNsb3VkSW50ZWdyYXRpb24iOAoeR2V0TG9yYUNs",
"b3VkSW50ZWdyYXRpb25SZXF1ZXN0EhYKDmFwcGxpY2F0aW9uX2lkGAEgASgJ",
"IlEKH0dldExvcmFDbG91ZEludGVncmF0aW9uUmVzcG9uc2USLgoLaW50ZWdy",
"YXRpb24YASABKAsyGS5hcGkuTG9yYUNsb3VkSW50ZWdyYXRpb24iUwohVXBk",
"YXRlTG9yYUNsb3VkSW50ZWdyYXRpb25SZXF1ZXN0Ei4KC2ludGVncmF0aW9u",
"GAEgASgLMhkuYXBpLkxvcmFDbG91ZEludGVncmF0aW9uIjsKIURlbGV0ZUxv",
"cmFDbG91ZEludGVncmF0aW9uUmVxdWVzdBIWCg5hcHBsaWNhdGlvbl9pZBgB",
"IAEoCSKRAQoUR2NwUHViU3ViSW50ZWdyYXRpb24SFgoOYXBwbGljYXRpb25f",
"aWQYASABKAkSHwoIZW5jb2RpbmcYAiABKA4yDS5hcGkuRW5jb2RpbmcSGAoQ",
"Y3JlZGVudGlhbHNfZmlsZRgDIAEoCRISCgpwcm9qZWN0X2lkGAQgASgJEhIK",
"CnRvcGljX25hbWUYBSABKAkiUwohQ3JlYXRlR2NwUHViU3ViSW50ZWdyYXRp",
"b25SZXF1ZXN0Ei4KC2ludGVncmF0aW9uGAEgASgLMhkuYXBpLkdjcFB1YlN1",
"YkludGVncmF0aW9uIjgKHkdldEdjcFB1YlN1YkludGVncmF0aW9uUmVxdWVz",
"dBIWCg5hcHBsaWNhdGlvbl9pZBgBIAEoCSJRCh9HZXRHY3BQdWJTdWJJbnRl",
"Z3JhdGlvblJlc3BvbnNlEi4KC2ludGVncmF0aW9uGAEgASgLMhkuYXBpLkdj",
"cFB1YlN1YkludGVncmF0aW9uIlMKIVVwZGF0ZUdjcFB1YlN1YkludGVncmF0",
"aW9uUmVxdWVzdBIuCgtpbnRlZ3JhdGlvbhgBIAEoCzIZLmFwaS5HY3BQdWJT",
"dWJJbnRlZ3JhdGlvbiI7CiFEZWxldGVHY3BQdWJTdWJJbnRlZ3JhdGlvblJl",
"cXVlc3QSFgoOYXBwbGljYXRpb25faWQYASABKAkioQEKEUF3c1Nuc0ludGVn",
"cmF0aW9uEhYKDmFwcGxpY2F0aW9uX2lkGAEgASgJEh8KCGVuY29kaW5nGAIg",
"ASgOMg0uYXBpLkVuY29kaW5nEg4KBnJlZ2lvbhgDIAEoCRIVCg1hY2Nlc3Nf",
"a2V5X2lkGAQgASgJEhkKEXNlY3JldF9hY2Nlc3Nfa2V5GAUgASgJEhEKCXRv",
"cGljX2FybhgGIAEoCSJNCh5DcmVhdGVBd3NTbnNJbnRlZ3JhdGlvblJlcXVl",
"c3QSKwoLaW50ZWdyYXRpb24YASABKAsyFi5hcGkuQXdzU25zSW50ZWdyYXRp",
"b24iNQobR2V0QXdzU25zSW50ZWdyYXRpb25SZXF1ZXN0EhYKDmFwcGxpY2F0",
"aW9uX2lkGAEgASgJIksKHEdldEF3c1Nuc0ludGVncmF0aW9uUmVzcG9uc2US",
"KwoLaW50ZWdyYXRpb24YASABKAsyFi5hcGkuQXdzU25zSW50ZWdyYXRpb24i",
"TQoeVXBkYXRlQXdzU25zSW50ZWdyYXRpb25SZXF1ZXN0EisKC2ludGVncmF0",
"aW9uGAEgASgLMhYuYXBpLkF3c1Nuc0ludGVncmF0aW9uIjgKHkRlbGV0ZUF3",
"c1Nuc0ludGVncmF0aW9uUmVxdWVzdBIWCg5hcHBsaWNhdGlvbl9pZBgBIAEo",
"CSKGAQoaQXp1cmVTZXJ2aWNlQnVzSW50ZWdyYXRpb24SFgoOYXBwbGljYXRp",
"b25faWQYASABKAkSHwoIZW5jb2RpbmcYAiABKA4yDS5hcGkuRW5jb2RpbmcS",
"GQoRY29ubmVjdGlvbl9zdHJpbmcYAyABKAkSFAoMcHVibGlzaF9uYW1lGAQg",
"ASgJIl8KJ0NyZWF0ZUF6dXJlU2VydmljZUJ1c0ludGVncmF0aW9uUmVxdWVz",
"dBI0CgtpbnRlZ3JhdGlvbhgBIAEoCzIfLmFwaS5BenVyZVNlcnZpY2VCdXNJ",
"bnRlZ3JhdGlvbiI+CiRHZXRBenVyZVNlcnZpY2VCdXNJbnRlZ3JhdGlvblJl",
"cXVlc3QSFgoOYXBwbGljYXRpb25faWQYASABKAkiXQolR2V0QXp1cmVTZXJ2",
"aWNlQnVzSW50ZWdyYXRpb25SZXNwb25zZRI0CgtpbnRlZ3JhdGlvbhgBIAEo",
"CzIfLmFwaS5BenVyZVNlcnZpY2VCdXNJbnRlZ3JhdGlvbiJfCidVcGRhdGVB",
"enVyZVNlcnZpY2VCdXNJbnRlZ3JhdGlvblJlcXVlc3QSNAoLaW50ZWdyYXRp",
"b24YASABKAsyHy5hcGkuQXp1cmVTZXJ2aWNlQnVzSW50ZWdyYXRpb24iQQon",
"RGVsZXRlQXp1cmVTZXJ2aWNlQnVzSW50ZWdyYXRpb25SZXF1ZXN0EhYKDmFw",
"cGxpY2F0aW9uX2lkGAEgASgJIk8KFlBpbG90VGhpbmdzSW50ZWdyYXRpb24S",
"FgoOYXBwbGljYXRpb25faWQYASABKAkSDgoGc2VydmVyGAIgASgJEg0KBXRv",
"a2VuGAMgASgJIlcKI0NyZWF0ZVBpbG90VGhpbmdzSW50ZWdyYXRpb25SZXF1",
"ZXN0EjAKC2ludGVncmF0aW9uGAEgASgLMhsuYXBpLlBpbG90VGhpbmdzSW50",
"ZWdyYXRpb24iOgogR2V0UGlsb3RUaGluZ3NJbnRlZ3JhdGlvblJlcXVlc3QS",
"FgoOYXBwbGljYXRpb25faWQYASABKAkiVQohR2V0UGlsb3RUaGluZ3NJbnRl",
"Z3JhdGlvblJlc3BvbnNlEjAKC2ludGVncmF0aW9uGAEgASgLMhsuYXBpLlBp",
"bG90VGhpbmdzSW50ZWdyYXRpb24iVwojVXBkYXRlUGlsb3RUaGluZ3NJbnRl",
"Z3JhdGlvblJlcXVlc3QSMAoLaW50ZWdyYXRpb24YASABKAsyGy5hcGkuUGls",
"b3RUaGluZ3NJbnRlZ3JhdGlvbiI9CiNEZWxldGVQaWxvdFRoaW5nc0ludGVn",
"cmF0aW9uUmVxdWVzdBIWCg5hcHBsaWNhdGlvbl9pZBgBIAEoCSJOChBJZnR0",
"dEludGVncmF0aW9uEhYKDmFwcGxpY2F0aW9uX2lkGAEgASgJEgsKA2tleRgC",
"IAEoCRIVCg11cGxpbmtfdmFsdWVzGAMgAygJIksKHUNyZWF0ZUlmdHR0SW50",
"ZWdyYXRpb25SZXF1ZXN0EioKC2ludGVncmF0aW9uGAEgASgLMhUuYXBpLklm",
"dHR0SW50ZWdyYXRpb24iNAoaR2V0SWZ0dHRJbnRlZ3JhdGlvblJlcXVlc3QS",
"FgoOYXBwbGljYXRpb25faWQYASABKAkiSQobR2V0SWZ0dHRJbnRlZ3JhdGlv",
"blJlc3BvbnNlEioKC2ludGVncmF0aW9uGAEgASgLMhUuYXBpLklmdHR0SW50",
"ZWdyYXRpb24iSwodVXBkYXRlSWZ0dHRJbnRlZ3JhdGlvblJlcXVlc3QSKgoL",
"aW50ZWdyYXRpb24YASABKAsyFS5hcGkuSWZ0dHRJbnRlZ3JhdGlvbiI3Ch1E",
"ZWxldGVJZnR0dEludGVncmF0aW9uUmVxdWVzdBIWCg5hcHBsaWNhdGlvbl9p",
"ZBgBIAEoCSJJCi9HZW5lcmF0ZU1xdHRJbnRlZ3JhdGlvbkNsaWVudENlcnRp",
"ZmljYXRlUmVxdWVzdBIWCg5hcHBsaWNhdGlvbl9pZBgBIAEoCSKWAQowR2Vu",
"ZXJhdGVNcXR0SW50ZWdyYXRpb25DbGllbnRDZXJ0aWZpY2F0ZVJlc3BvbnNl",
"EhAKCHRsc19jZXJ0GAEgASgJEg8KB3Rsc19rZXkYAiABKAkSDwoHY2FfY2Vy",
"dBgDIAEoCRIuCgpleHBpcmVzX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVm",
"LlRpbWVzdGFtcCoiCghFbmNvZGluZxIICgRKU09OEAASDAoIUFJPVE9CVUYQ",
"ASq/AQoPSW50ZWdyYXRpb25LaW5kEggKBEhUVFAQABINCglJTkZMVVhfREIQ",
"ARIQCgxUSElOR1NfQk9BUkQQAhIOCgpNWV9ERVZJQ0VTEAMSDgoKTE9SQV9D",
"TE9VRBAEEg8KC0dDUF9QVUJfU1VCEAUSCwoHQVdTX1NOUxAGEhUKEUFaVVJF",
"X1NFUlZJQ0VfQlVTEAcSEAoMUElMT1RfVEhJTkdTEAgSDwoLTVFUVF9HTE9C",
"QUwQCRIJCgVJRlRUVBAKKj8KEUluZmx1eERiUHJlY2lzaW9uEgYKAk5TEAAS",
"BQoBVRABEgYKAk1TEAISBQoBUxADEgUKAU0QBBIFCgFIEAUqMQoPSW5mbHV4",
"RGJWZXJzaW9uEg4KCklORkxVWERCXzEQABIOCgpJTkZMVVhEQl8yEAEyuDwK",
"EkFwcGxpY2F0aW9uU2VydmljZRJlCgZDcmVhdGUSHS5hcGkuQ3JlYXRlQXBw",
"bGljYXRpb25SZXF1ZXN0Gh4uYXBpLkNyZWF0ZUFwcGxpY2F0aW9uUmVzcG9u",
"c2UiHILT5JMCFiIRL2FwaS9hcHBsaWNhdGlvbnM6ASoSXgoDR2V0EhouYXBp",
"LkdldEFwcGxpY2F0aW9uUmVxdWVzdBobLmFwaS5HZXRBcHBsaWNhdGlvblJl",
"c3BvbnNlIh6C0+STAhgSFi9hcGkvYXBwbGljYXRpb25zL3tpZH0SbgoGVXBk",
"YXRlEh0uYXBpLlVwZGF0ZUFwcGxpY2F0aW9uUmVxdWVzdBoWLmdvb2dsZS5w",
"cm90b2J1Zi5FbXB0eSItgtPkkwInGiIvYXBpL2FwcGxpY2F0aW9ucy97YXBw",
"bGljYXRpb24uaWR9OgEqEl8KBkRlbGV0ZRIdLmFwaS5EZWxldGVBcHBsaWNh",
"dGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiHoLT5JMCGCoW",
"L2FwaS9hcHBsaWNhdGlvbnMve2lkfRJeCgRMaXN0EhwuYXBpLkxpc3RBcHBs",
"aWNhdGlvbnNSZXF1ZXN0Gh0uYXBpLkxpc3RBcHBsaWNhdGlvbnNSZXNwb25z",
"ZSIZgtPkkwITEhEvYXBpL2FwcGxpY2F0aW9ucxKIAQoQTGlzdEludGVncmF0",
"aW9ucxIcLmFwaS5MaXN0SW50ZWdyYXRpb25zUmVxdWVzdBodLmFwaS5MaXN0",
"SW50ZWdyYXRpb25zUmVzcG9uc2UiN4LT5JMCMRIvL2FwaS9hcHBsaWNhdGlv",
"bnMve2FwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMSnwEKFUNyZWF0ZUh0",
"dHBJbnRlZ3JhdGlvbhIhLmFwaS5DcmVhdGVIdHRwSW50ZWdyYXRpb25SZXF1",
"ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IkuC0+STAkUiQC9hcGkvYXBw",
"bGljYXRpb25zL3tpbnRlZ3JhdGlvbi5hcHBsaWNhdGlvbl9pZH0vaW50ZWdy",
"YXRpb25zL2h0dHA6ASoSkwEKEkdldEh0dHBJbnRlZ3JhdGlvbhIeLmFwaS5H",
"ZXRIdHRwSW50ZWdyYXRpb25SZXF1ZXN0Gh8uYXBpLkdldEh0dHBJbnRlZ3Jh",
"dGlvblJlc3BvbnNlIjyC0+STAjYSNC9hcGkvYXBwbGljYXRpb25zL3thcHBs",
"aWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL2h0dHASnwEKFVVwZGF0ZUh0dHBJ",
"bnRlZ3JhdGlvbhIhLmFwaS5VcGRhdGVIdHRwSW50ZWdyYXRpb25SZXF1ZXN0",
"GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IkuC0+STAkUaQC9hcGkvYXBwbGlj",
"YXRpb25zL3tpbnRlZ3JhdGlvbi5hcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRp",
"b25zL2h0dHA6ASoSkAEKFURlbGV0ZUh0dHBJbnRlZ3JhdGlvbhIhLmFwaS5E",
"ZWxldGVIdHRwSW50ZWdyYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVm",
"LkVtcHR5IjyC0+STAjYqNC9hcGkvYXBwbGljYXRpb25zL3thcHBsaWNhdGlv",
"bl9pZH0vaW50ZWdyYXRpb25zL2h0dHASqwEKGUNyZWF0ZUluZmx1eERiSW50",
"ZWdyYXRpb24SJS5hcGkuQ3JlYXRlSW5mbHV4RGJJbnRlZ3JhdGlvblJlcXVl",
"c3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiT4LT5JMCSSJEL2FwaS9hcHBs",
"aWNhdGlvbnMve2ludGVncmF0aW9uLmFwcGxpY2F0aW9uX2lkfS9pbnRlZ3Jh",
"dGlvbnMvaW5mbHV4ZGI6ASoSowEKFkdldEluZmx1eERiSW50ZWdyYXRpb24S",
"Ii5hcGkuR2V0SW5mbHV4RGJJbnRlZ3JhdGlvblJlcXVlc3QaIy5hcGkuR2V0",
"SW5mbHV4RGJJbnRlZ3JhdGlvblJlc3BvbnNlIkCC0+STAjoSOC9hcGkvYXBw",
"bGljYXRpb25zL3thcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL2luZmx1",
"eGRiEqsBChlVcGRhdGVJbmZsdXhEYkludGVncmF0aW9uEiUuYXBpLlVwZGF0",
"ZUluZmx1eERiSW50ZWdyYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVm",
"LkVtcHR5Ik+C0+STAkkaRC9hcGkvYXBwbGljYXRpb25zL3tpbnRlZ3JhdGlv",
"bi5hcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL2luZmx1eGRiOgEqEpwB",
"ChlEZWxldGVJbmZsdXhEYkludGVncmF0aW9uEiUuYXBpLkRlbGV0ZUluZmx1",
"eERiSW50ZWdyYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5",
"IkCC0+STAjoqOC9hcGkvYXBwbGljYXRpb25zL3thcHBsaWNhdGlvbl9pZH0v",
"aW50ZWdyYXRpb25zL2luZmx1eGRiErQBChxDcmVhdGVUaGluZ3NCb2FyZElu",
"dGVncmF0aW9uEiguYXBpLkNyZWF0ZVRoaW5nc0JvYXJkSW50ZWdyYXRpb25S",
"ZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IlKC0+STAkwiRy9hcGkv",
"YXBwbGljYXRpb25zL3tpbnRlZ3JhdGlvbi5hcHBsaWNhdGlvbl9pZH0vaW50",
"ZWdyYXRpb25zL3RoaW5nc2JvYXJkOgEqEq8BChlHZXRUaGluZ3NCb2FyZElu",
"dGVncmF0aW9uEiUuYXBpLkdldFRoaW5nc0JvYXJkSW50ZWdyYXRpb25SZXF1",
"ZXN0GiYuYXBpLkdldFRoaW5nc0JvYXJkSW50ZWdyYXRpb25SZXNwb25zZSJD",
"gtPkkwI9EjsvYXBpL2FwcGxpY2F0aW9ucy97YXBwbGljYXRpb25faWR9L2lu",
"dGVncmF0aW9ucy90aGluZ3Nib2FyZBK0AQocVXBkYXRlVGhpbmdzQm9hcmRJ",
"bnRlZ3JhdGlvbhIoLmFwaS5VcGRhdGVUaGluZ3NCb2FyZEludGVncmF0aW9u",
"UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJSgtPkkwJMGkcvYXBp",
"L2FwcGxpY2F0aW9ucy97aW50ZWdyYXRpb24uYXBwbGljYXRpb25faWR9L2lu",
"dGVncmF0aW9ucy90aGluZ3Nib2FyZDoBKhKlAQocRGVsZXRlVGhpbmdzQm9h",
"cmRJbnRlZ3JhdGlvbhIoLmFwaS5EZWxldGVUaGluZ3NCb2FyZEludGVncmF0",
"aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJDgtPkkwI9Kjsv",
"YXBpL2FwcGxpY2F0aW9ucy97YXBwbGljYXRpb25faWR9L2ludGVncmF0aW9u",
"cy90aGluZ3Nib2FyZBKuAQoaQ3JlYXRlTXlEZXZpY2VzSW50ZWdyYXRpb24S",
"Ji5hcGkuQ3JlYXRlTXlEZXZpY2VzSW50ZWdyYXRpb25SZXF1ZXN0GhYuZ29v",
"Z2xlLnByb3RvYnVmLkVtcHR5IlCC0+STAkoiRS9hcGkvYXBwbGljYXRpb25z",
"L3tpbnRlZ3JhdGlvbi5hcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL215",
"ZGV2aWNlczoBKhKnAQoXR2V0TXlEZXZpY2VzSW50ZWdyYXRpb24SIy5hcGku",
"R2V0TXlEZXZpY2VzSW50ZWdyYXRpb25SZXF1ZXN0GiQuYXBpLkdldE15RGV2",
"aWNlc0ludGVncmF0aW9uUmVzcG9uc2UiQYLT5JMCOxI5L2FwaS9hcHBsaWNh",
"dGlvbnMve2FwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvbXlkZXZpY2Vz",
"Eq4BChpVcGRhdGVNeURldmljZXNJbnRlZ3JhdGlvbhImLmFwaS5VcGRhdGVN",
"eURldmljZXNJbnRlZ3JhdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYu",
"RW1wdHkiUILT5JMCShpFL2FwaS9hcHBsaWNhdGlvbnMve2ludGVncmF0aW9u",
"LmFwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvbXlkZXZpY2VzOgEqEp8B",
"ChpEZWxldGVNeURldmljZXNJbnRlZ3JhdGlvbhImLmFwaS5EZWxldGVNeURl",
"dmljZXNJbnRlZ3JhdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1w",
"dHkiQYLT5JMCOyo5L2FwaS9hcHBsaWNhdGlvbnMve2FwcGxpY2F0aW9uX2lk",
"fS9pbnRlZ3JhdGlvbnMvbXlkZXZpY2VzEq4BChpDcmVhdGVMb3JhQ2xvdWRJ",
"bnRlZ3JhdGlvbhImLmFwaS5DcmVhdGVMb3JhQ2xvdWRJbnRlZ3JhdGlvblJl",
"cXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiUILT5JMCSiJFL2FwaS9h",
"cHBsaWNhdGlvbnMve2ludGVncmF0aW9uLmFwcGxpY2F0aW9uX2lkfS9pbnRl",
"Z3JhdGlvbnMvbG9yYWNsb3VkOgEqEqcBChdHZXRMb3JhQ2xvdWRJbnRlZ3Jh",
"dGlvbhIjLmFwaS5HZXRMb3JhQ2xvdWRJbnRlZ3JhdGlvblJlcXVlc3QaJC5h",
"cGkuR2V0TG9yYUNsb3VkSW50ZWdyYXRpb25SZXNwb25zZSJBgtPkkwI7Ejkv",
"YXBpL2FwcGxpY2F0aW9ucy97YXBwbGljYXRpb25faWR9L2ludGVncmF0aW9u",
"cy9sb3JhY2xvdWQSrgEKGlVwZGF0ZUxvcmFDbG91ZEludGVncmF0aW9uEiYu",
"YXBpLlVwZGF0ZUxvcmFDbG91ZEludGVncmF0aW9uUmVxdWVzdBoWLmdvb2ds",
"ZS5wcm90b2J1Zi5FbXB0eSJQgtPkkwJKGkUvYXBpL2FwcGxpY2F0aW9ucy97",
"aW50ZWdyYXRpb24uYXBwbGljYXRpb25faWR9L2ludGVncmF0aW9ucy9sb3Jh",
"Y2xvdWQ6ASoSnwEKGkRlbGV0ZUxvcmFDbG91ZEludGVncmF0aW9uEiYuYXBp",
"LkRlbGV0ZUxvcmFDbG91ZEludGVncmF0aW9uUmVxdWVzdBoWLmdvb2dsZS5w",
"cm90b2J1Zi5FbXB0eSJBgtPkkwI7KjkvYXBpL2FwcGxpY2F0aW9ucy97YXBw",
"bGljYXRpb25faWR9L2ludGVncmF0aW9ucy9sb3JhY2xvdWQSsAEKGkNyZWF0",
"ZUdjcFB1YlN1YkludGVncmF0aW9uEiYuYXBpLkNyZWF0ZUdjcFB1YlN1Yklu",
"dGVncmF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJSgtPk",
"kwJMIkcvYXBpL2FwcGxpY2F0aW9ucy97aW50ZWdyYXRpb24uYXBwbGljYXRp",
"b25faWR9L2ludGVncmF0aW9ucy90aGluZ3Nib2FyZDoBKhKvAQoZR2V0VGhp",
"bmdzQm9hcmRJbnRlZ3JhdGlvbhIlLmFwaS5HZXRUaGluZ3NCb2FyZEludGVn",
"cmF0aW9uUmVxdWVzdBomLmFwaS5HZXRUaGluZ3NCb2FyZEludGVncmF0aW9u",
"UmVzcG9uc2UiQ4LT5JMCPRI7L2FwaS9hcHBsaWNhdGlvbnMve2FwcGxpY2F0",
"aW9uX2lkfS9pbnRlZ3JhdGlvbnMvdGhpbmdzYm9hcmQStAEKHFVwZGF0ZVRo",
"aW5nc0JvYXJkSW50ZWdyYXRpb24SKC5hcGkuVXBkYXRlVGhpbmdzQm9hcmRJ",
"bnRlZ3JhdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiUoLT",
"5JMCTBpHL2FwaS9hcHBsaWNhdGlvbnMve2ludGVncmF0aW9uLmFwcGxpY2F0",
"aW9uX2lkfS9pbnRlZ3JhdGlvbnMvdGhpbmdzYm9hcmQ6ASoSpQEKHERlbGV0",
"ZVRoaW5nc0JvYXJkSW50ZWdyYXRpb24SKC5hcGkuRGVsZXRlVGhpbmdzQm9h",
"cmRJbnRlZ3JhdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHki",
"Q4LT5JMCPSo7L2FwaS9hcHBsaWNhdGlvbnMve2FwcGxpY2F0aW9uX2lkfS9p",
"bnRlZ3JhdGlvbnMvdGhpbmdzYm9hcmQSrgEKGkNyZWF0ZU15RGV2aWNlc0lu",
"dGVncmF0aW9uEiYuYXBpLkNyZWF0ZU15RGV2aWNlc0ludGVncmF0aW9uUmVx",
"dWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJQgtPkkwJKIkUvYXBpL2Fw",
"cGxpY2F0aW9ucy97aW50ZWdyYXRpb24uYXBwbGljYXRpb25faWR9L2ludGVn",
"cmF0aW9ucy9teWRldmljZXM6ASoSpwEKF0dldE15RGV2aWNlc0ludGVncmF0",
"aW9uEiMuYXBpLkdldE15RGV2aWNlc0ludGVncmF0aW9uUmVxdWVzdBokLmFw",
"aS5HZXRNeURldmljZXNJbnRlZ3JhdGlvblJlc3BvbnNlIkGC0+STAjsSOS9h",
"cGkvYXBwbGljYXRpb25zL3thcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25z",
"L215ZGV2aWNlcxKuAQoaVXBkYXRlTXlEZXZpY2VzSW50ZWdyYXRpb24SJi5h",
"cGkuVXBkYXRlTXlEZXZpY2VzSW50ZWdyYXRpb25SZXF1ZXN0GhYuZ29vZ2xl",
"LnByb3RvYnVmLkVtcHR5IlCC0+STAkoaRS9hcGkvYXBwbGljYXRpb25zL3tp",
"bnRlZ3JhdGlvbi5hcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL215ZGV2",
"aWNlczoBKhKfAQoaRGVsZXRlTXlEZXZpY2VzSW50ZWdyYXRpb24SJi5hcGku",
"RGVsZXRlTXlEZXZpY2VzSW50ZWdyYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnBy",
"b3RvYnVmLkVtcHR5IkGC0+STAjsqOS9hcGkvYXBwbGljYXRpb25zL3thcHBs",
"aWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL215ZGV2aWNlcxKuAQoaQ3JlYXRl",
"TG9yYUNsb3VkSW50ZWdyYXRpb24SJi5hcGkuQ3JlYXRlTG9yYUNsb3VkSW50",
"ZWdyYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IlCC0+ST",
"AkoiRS9hcGkvYXBwbGljYXRpb25zL3tpbnRlZ3JhdGlvbi5hcHBsaWNhdGlv",
"bl9pZH0vaW50ZWdyYXRpb25zL2xvcmFjbG91ZDoBKhKnAQoXR2V0TG9yYUNs",
"b3VkSW50ZWdyYXRpb24SIy5hcGkuR2V0TG9yYUNsb3VkSW50ZWdyYXRpb25S",
"ZXF1ZXN0GiQuYXBpLkdldExvcmFDbG91ZEludGVncmF0aW9uUmVzcG9uc2Ui",
"QYLT5JMCOxI5L2FwaS9hcHBsaWNhdGlvbnMve2FwcGxpY2F0aW9uX2lkfS9p",
"bnRlZ3JhdGlvbnMvbG9yYWNsb3VkEq4BChpVcGRhdGVMb3JhQ2xvdWRJbnRl",
"Z3JhdGlvbhImLmFwaS5VcGRhdGVMb3JhQ2xvdWRJbnRlZ3JhdGlvblJlcXVl",
"c3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiUILT5JMCShpFL2FwaS9hcHBs",
"aWNhdGlvbnMve2ludGVncmF0aW9uLmFwcGxpY2F0aW9uX2lkfS9pbnRlZ3Jh",
"dGlvbnMvbG9yYWNsb3VkOgEqEp8BChpEZWxldGVMb3JhQ2xvdWRJbnRlZ3Jh",
"dGlvbhImLmFwaS5EZWxldGVMb3JhQ2xvdWRJbnRlZ3JhdGlvblJlcXVlc3Qa",
"Fi5nb29nbGUucHJvdG9idWYuRW1wdHkiQYLT5JMCOyo5L2FwaS9hcHBsaWNh",
"dGlvbnMve2FwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvbG9yYWNsb3Vk",
"ErABChpDcmVhdGVHY3BQdWJTdWJJbnRlZ3JhdGlvbhImLmFwaS5DcmVhdGVH",
"Y3BQdWJTdWJJbnRlZ3JhdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYu",
"RW1wdHkiUoLT5JMCTCJHL2FwaS9hcHBsaWNhdGlvbnMve2ludGVncmF0aW9u",
"LmFwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvZ2NwLXB1Yi1zdWI6ASoS",
"qQEKF0dldEdjcFB1YlN1YkludGVncmF0aW9uEiMuYXBpLkdldEdjcFB1YlN1",
"YkludGVncmF0aW9uUmVxdWVzdBokLmFwaS5HZXRHY3BQdWJTdWJJbnRlZ3Jh",
"dGlvblJlc3BvbnNlIkOC0+STAj0SOy9hcGkvYXBwbGljYXRpb25zL3thcHBs",
"aWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL2djcC1wdWItc3ViErABChpVcGRh",
"dGVHY3BQdWJTdWJJbnRlZ3JhdGlvbhImLmFwaS5VcGRhdGVHY3BQdWJTdWJJ",
"bnRlZ3JhdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiUoLT",
"5JMCTBpHL2FwaS9hcHBsaWNhdGlvbnMve2ludGVncmF0aW9uLmFwcGxpY2F0",
"aW9uX2lkfS9pbnRlZ3JhdGlvbnMvZ2NwLXB1Yi1zdWI6ASoSoQEKGkRlbGV0",
"ZUdjcFB1YlN1YkludGVncmF0aW9uEiYuYXBpLkRlbGV0ZUdjcFB1YlN1Yklu",
"dGVncmF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJDgtPk",
"kwI9KjsvYXBpL2FwcGxpY2F0aW9ucy97YXBwbGljYXRpb25faWR9L2ludGVn",
"cmF0aW9ucy9nY3AtcHViLXN1YhKmAQoXQ3JlYXRlQXdzU25zSW50ZWdyYXRp",
"b24SIy5hcGkuQ3JlYXRlQXdzU25zSW50ZWdyYXRpb25SZXF1ZXN0GhYuZ29v",
"Z2xlLnByb3RvYnVmLkVtcHR5Ik6C0+STAkgiQy9hcGkvYXBwbGljYXRpb25z",
"L3tpbnRlZ3JhdGlvbi5hcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL2F3",
"cy1zbnM6ASoSnAEKFEdldEF3c1Nuc0ludGVncmF0aW9uEiAuYXBpLkdldEF3",
"c1Nuc0ludGVncmF0aW9uUmVxdWVzdBohLmFwaS5HZXRBd3NTbnNJbnRlZ3Jh",
"dGlvblJlc3BvbnNlIj+C0+STAjkSNy9hcGkvYXBwbGljYXRpb25zL3thcHBs",
"aWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL2F3cy1zbnMSpgEKF1VwZGF0ZUF3",
"c1Nuc0ludGVncmF0aW9uEiMuYXBpLlVwZGF0ZUF3c1Nuc0ludGVncmF0aW9u",
"UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJOgtPkkwJIGkMvYXBp",
"b25faWR9L2ludGVncmF0aW9ucy9nY3AtcHViLXN1YjoBKhKpAQoXR2V0R2Nw",
"UHViU3ViSW50ZWdyYXRpb24SIy5hcGkuR2V0R2NwUHViU3ViSW50ZWdyYXRp",
"b25SZXF1ZXN0GiQuYXBpLkdldEdjcFB1YlN1YkludGVncmF0aW9uUmVzcG9u",
"c2UiQ4LT5JMCPRI7L2FwaS9hcHBsaWNhdGlvbnMve2FwcGxpY2F0aW9uX2lk",
"fS9pbnRlZ3JhdGlvbnMvZ2NwLXB1Yi1zdWISsAEKGlVwZGF0ZUdjcFB1YlN1",
"YkludGVncmF0aW9uEiYuYXBpLlVwZGF0ZUdjcFB1YlN1YkludGVncmF0aW9u",
"UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJSgtPkkwJMGkcvYXBp",
"L2FwcGxpY2F0aW9ucy97aW50ZWdyYXRpb24uYXBwbGljYXRpb25faWR9L2lu",
"dGVncmF0aW9ucy9hd3Mtc25zOgEqEpcBChdEZWxldGVBd3NTbnNJbnRlZ3Jh",
"dGlvbhIjLmFwaS5EZWxldGVBd3NTbnNJbnRlZ3JhdGlvblJlcXVlc3QaFi5n",
"b29nbGUucHJvdG9idWYuRW1wdHkiP4LT5JMCOSo3L2FwaS9hcHBsaWNhdGlv",
"bnMve2FwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvYXdzLXNucxLCAQog",
"Q3JlYXRlQXp1cmVTZXJ2aWNlQnVzSW50ZWdyYXRpb24SLC5hcGkuQ3JlYXRl",
"QXp1cmVTZXJ2aWNlQnVzSW50ZWdyYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnBy",
"b3RvYnVmLkVtcHR5IliC0+STAlIiTS9hcGkvYXBwbGljYXRpb25zL3tpbnRl",
"Z3JhdGlvbi5hcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL2F6dXJlLXNl",
"cnZpY2UtYnVzOgEqEsEBCh1HZXRBenVyZVNlcnZpY2VCdXNJbnRlZ3JhdGlv",
"bhIpLmFwaS5HZXRBenVyZVNlcnZpY2VCdXNJbnRlZ3JhdGlvblJlcXVlc3Qa",
"Ki5hcGkuR2V0QXp1cmVTZXJ2aWNlQnVzSW50ZWdyYXRpb25SZXNwb25zZSJJ",
"gtPkkwJDEkEvYXBpL2FwcGxpY2F0aW9ucy97YXBwbGljYXRpb25faWR9L2lu",
"dGVncmF0aW9ucy9henVyZS1zZXJ2aWNlLWJ1cxLCAQogVXBkYXRlQXp1cmVT",
"ZXJ2aWNlQnVzSW50ZWdyYXRpb24SLC5hcGkuVXBkYXRlQXp1cmVTZXJ2aWNl",
"QnVzSW50ZWdyYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5",
"IliC0+STAlIaTS9hcGkvYXBwbGljYXRpb25zL3tpbnRlZ3JhdGlvbi5hcHBs",
"aWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL2F6dXJlLXNlcnZpY2UtYnVzOgEq",
"ErMBCiBEZWxldGVBenVyZVNlcnZpY2VCdXNJbnRlZ3JhdGlvbhIsLmFwaS5E",
"ZWxldGVBenVyZVNlcnZpY2VCdXNJbnRlZ3JhdGlvblJlcXVlc3QaFi5nb29n",
"bGUucHJvdG9idWYuRW1wdHkiSYLT5JMCQypBL2FwaS9hcHBsaWNhdGlvbnMv",
"e2FwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvYXp1cmUtc2VydmljZS1i",
"dXMStQEKHENyZWF0ZVBpbG90VGhpbmdzSW50ZWdyYXRpb24SKC5hcGkuQ3Jl",
"YXRlUGlsb3RUaGluZ3NJbnRlZ3JhdGlvblJlcXVlc3QaFi5nb29nbGUucHJv",
"dG9idWYuRW1wdHkiU4LT5JMCTSJIL2FwaS9hcHBsaWNhdGlvbnMve2ludGVn",
"cmF0aW9uLmFwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvcGlsb3QtdGhp",
"bmdzOgEqErABChlHZXRQaWxvdFRoaW5nc0ludGVncmF0aW9uEiUuYXBpLkdl",
"dFBpbG90VGhpbmdzSW50ZWdyYXRpb25SZXF1ZXN0GiYuYXBpLkdldFBpbG90",
"VGhpbmdzSW50ZWdyYXRpb25SZXNwb25zZSJEgtPkkwI+EjwvYXBpL2FwcGxp",
"Y2F0aW9ucy97YXBwbGljYXRpb25faWR9L2ludGVncmF0aW9ucy9waWxvdC10",
"aGluZ3MStQEKHFVwZGF0ZVBpbG90VGhpbmdzSW50ZWdyYXRpb24SKC5hcGku",
"VXBkYXRlUGlsb3RUaGluZ3NJbnRlZ3JhdGlvblJlcXVlc3QaFi5nb29nbGUu",
"cHJvdG9idWYuRW1wdHkiU4LT5JMCTRpIL2FwaS9hcHBsaWNhdGlvbnMve2lu",
"dGVncmF0aW9uLmFwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvcGlsb3Qt",
"dGhpbmdzOgEqEqYBChxEZWxldGVQaWxvdFRoaW5nc0ludGVncmF0aW9uEigu",
"YXBpLkRlbGV0ZVBpbG90VGhpbmdzSW50ZWdyYXRpb25SZXF1ZXN0GhYuZ29v",
"Z2xlLnByb3RvYnVmLkVtcHR5IkSC0+STAj4qPC9hcGkvYXBwbGljYXRpb25z",
"L3thcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL3BpbG90LXRoaW5ncxKi",
"AQoWQ3JlYXRlSWZ0dHRJbnRlZ3JhdGlvbhIiLmFwaS5DcmVhdGVJZnR0dElu",
"dGVncmF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJMgtPk",
"kwJGIkEvYXBpL2FwcGxpY2F0aW9ucy97aW50ZWdyYXRpb24uYXBwbGljYXRp",
"b25faWR9L2ludGVncmF0aW9ucy9pZnR0dDoBKhKXAQoTR2V0SWZ0dHRJbnRl",
"Z3JhdGlvbhIfLmFwaS5HZXRJZnR0dEludGVncmF0aW9uUmVxdWVzdBogLmFw",
"aS5HZXRJZnR0dEludGVncmF0aW9uUmVzcG9uc2UiPYLT5JMCNxI1L2FwaS9h",
"cHBsaWNhdGlvbnMve2FwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvaWZ0",
"dHQSogEKFlVwZGF0ZUlmdHR0SW50ZWdyYXRpb24SIi5hcGkuVXBkYXRlSWZ0",
"dHRJbnRlZ3JhdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHki",
"TILT5JMCRhpBL2FwaS9hcHBsaWNhdGlvbnMve2ludGVncmF0aW9uLmFwcGxp",
"Y2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvaWZ0dHQ6ASoSkwEKFkRlbGV0ZUlm",
"dHR0SW50ZWdyYXRpb24SIi5hcGkuRGVsZXRlSWZ0dHRJbnRlZ3JhdGlvblJl",
"cXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiPYLT5JMCNyo1L2FwaS9h",
"cHBsaWNhdGlvbnMve2FwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvaWZ0",
"dHQS4QEKKEdlbmVyYXRlTXF0dEludGVncmF0aW9uQ2xpZW50Q2VydGlmaWNh",
"dGUSNC5hcGkuR2VuZXJhdGVNcXR0SW50ZWdyYXRpb25DbGllbnRDZXJ0aWZp",
"Y2F0ZVJlcXVlc3QaNS5hcGkuR2VuZXJhdGVNcXR0SW50ZWdyYXRpb25DbGll",
"bnRDZXJ0aWZpY2F0ZVJlc3BvbnNlIkiC0+STAkIiQC9hcGkvYXBwbGljYXRp",
"b25zL3thcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL21xdHQvY2VydGlm",
"aWNhdGVCaAoRaW8uY2hpcnBzdGFjay5hcGlCEEFwcGxpY2F0aW9uUHJvdG9Q",
"AVouZ2l0aHViLmNvbS9jaGlycHN0YWNrL2NoaXJwc3RhY2svYXBpL2dvL3Y0",
"L2FwaaoCDkNoaXJwc3RhY2suQXBpYgZwcm90bzM="));
"dGVncmF0aW9ucy9nY3AtcHViLXN1YjoBKhKhAQoaRGVsZXRlR2NwUHViU3Vi",
"SW50ZWdyYXRpb24SJi5hcGkuRGVsZXRlR2NwUHViU3ViSW50ZWdyYXRpb25S",
"ZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IkOC0+STAj0qOy9hcGkv",
"YXBwbGljYXRpb25zL3thcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL2dj",
"cC1wdWItc3ViEqYBChdDcmVhdGVBd3NTbnNJbnRlZ3JhdGlvbhIjLmFwaS5D",
"cmVhdGVBd3NTbnNJbnRlZ3JhdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9i",
"dWYuRW1wdHkiToLT5JMCSCJDL2FwaS9hcHBsaWNhdGlvbnMve2ludGVncmF0",
"aW9uLmFwcGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvYXdzLXNuczoBKhKc",
"AQoUR2V0QXdzU25zSW50ZWdyYXRpb24SIC5hcGkuR2V0QXdzU25zSW50ZWdy",
"YXRpb25SZXF1ZXN0GiEuYXBpLkdldEF3c1Nuc0ludGVncmF0aW9uUmVzcG9u",
"c2UiP4LT5JMCORI3L2FwaS9hcHBsaWNhdGlvbnMve2FwcGxpY2F0aW9uX2lk",
"fS9pbnRlZ3JhdGlvbnMvYXdzLXNucxKmAQoXVXBkYXRlQXdzU25zSW50ZWdy",
"YXRpb24SIy5hcGkuVXBkYXRlQXdzU25zSW50ZWdyYXRpb25SZXF1ZXN0GhYu",
"Z29vZ2xlLnByb3RvYnVmLkVtcHR5Ik6C0+STAkgaQy9hcGkvYXBwbGljYXRp",
"b25zL3tpbnRlZ3JhdGlvbi5hcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25z",
"L2F3cy1zbnM6ASoSlwEKF0RlbGV0ZUF3c1Nuc0ludGVncmF0aW9uEiMuYXBp",
"LkRlbGV0ZUF3c1Nuc0ludGVncmF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90",
"b2J1Zi5FbXB0eSI/gtPkkwI5KjcvYXBpL2FwcGxpY2F0aW9ucy97YXBwbGlj",
"YXRpb25faWR9L2ludGVncmF0aW9ucy9hd3Mtc25zEsIBCiBDcmVhdGVBenVy",
"ZVNlcnZpY2VCdXNJbnRlZ3JhdGlvbhIsLmFwaS5DcmVhdGVBenVyZVNlcnZp",
"Y2VCdXNJbnRlZ3JhdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1w",
"dHkiWILT5JMCUiJNL2FwaS9hcHBsaWNhdGlvbnMve2ludGVncmF0aW9uLmFw",
"cGxpY2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvYXp1cmUtc2VydmljZS1idXM6",
"ASoSwQEKHUdldEF6dXJlU2VydmljZUJ1c0ludGVncmF0aW9uEikuYXBpLkdl",
"dEF6dXJlU2VydmljZUJ1c0ludGVncmF0aW9uUmVxdWVzdBoqLmFwaS5HZXRB",
"enVyZVNlcnZpY2VCdXNJbnRlZ3JhdGlvblJlc3BvbnNlIkmC0+STAkMSQS9h",
"cGkvYXBwbGljYXRpb25zL3thcHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25z",
"L2F6dXJlLXNlcnZpY2UtYnVzEsIBCiBVcGRhdGVBenVyZVNlcnZpY2VCdXNJ",
"bnRlZ3JhdGlvbhIsLmFwaS5VcGRhdGVBenVyZVNlcnZpY2VCdXNJbnRlZ3Jh",
"dGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiWILT5JMCUhpN",
"L2FwaS9hcHBsaWNhdGlvbnMve2ludGVncmF0aW9uLmFwcGxpY2F0aW9uX2lk",
"fS9pbnRlZ3JhdGlvbnMvYXp1cmUtc2VydmljZS1idXM6ASoSswEKIERlbGV0",
"ZUF6dXJlU2VydmljZUJ1c0ludGVncmF0aW9uEiwuYXBpLkRlbGV0ZUF6dXJl",
"U2VydmljZUJ1c0ludGVncmF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1",
"Zi5FbXB0eSJJgtPkkwJDKkEvYXBpL2FwcGxpY2F0aW9ucy97YXBwbGljYXRp",
"b25faWR9L2ludGVncmF0aW9ucy9henVyZS1zZXJ2aWNlLWJ1cxK1AQocQ3Jl",
"YXRlUGlsb3RUaGluZ3NJbnRlZ3JhdGlvbhIoLmFwaS5DcmVhdGVQaWxvdFRo",
"aW5nc0ludGVncmF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0",
"eSJTgtPkkwJNIkgvYXBpL2FwcGxpY2F0aW9ucy97aW50ZWdyYXRpb24uYXBw",
"bGljYXRpb25faWR9L2ludGVncmF0aW9ucy9waWxvdC10aGluZ3M6ASoSsAEK",
"GUdldFBpbG90VGhpbmdzSW50ZWdyYXRpb24SJS5hcGkuR2V0UGlsb3RUaGlu",
"Z3NJbnRlZ3JhdGlvblJlcXVlc3QaJi5hcGkuR2V0UGlsb3RUaGluZ3NJbnRl",
"Z3JhdGlvblJlc3BvbnNlIkSC0+STAj4SPC9hcGkvYXBwbGljYXRpb25zL3th",
"cHBsaWNhdGlvbl9pZH0vaW50ZWdyYXRpb25zL3BpbG90LXRoaW5ncxK1AQoc",
"VXBkYXRlUGlsb3RUaGluZ3NJbnRlZ3JhdGlvbhIoLmFwaS5VcGRhdGVQaWxv",
"dFRoaW5nc0ludGVncmF0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5F",
"bXB0eSJTgtPkkwJNGkgvYXBpL2FwcGxpY2F0aW9ucy97aW50ZWdyYXRpb24u",
"YXBwbGljYXRpb25faWR9L2ludGVncmF0aW9ucy9waWxvdC10aGluZ3M6ASoS",
"pgEKHERlbGV0ZVBpbG90VGhpbmdzSW50ZWdyYXRpb24SKC5hcGkuRGVsZXRl",
"UGlsb3RUaGluZ3NJbnRlZ3JhdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9i",
"dWYuRW1wdHkiRILT5JMCPio8L2FwaS9hcHBsaWNhdGlvbnMve2FwcGxpY2F0",
"aW9uX2lkfS9pbnRlZ3JhdGlvbnMvcGlsb3QtdGhpbmdzEqIBChZDcmVhdGVJ",
"ZnR0dEludGVncmF0aW9uEiIuYXBpLkNyZWF0ZUlmdHR0SW50ZWdyYXRpb25S",
"ZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IkyC0+STAkYiQS9hcGkv",
"YXBwbGljYXRpb25zL3tpbnRlZ3JhdGlvbi5hcHBsaWNhdGlvbl9pZH0vaW50",
"ZWdyYXRpb25zL2lmdHR0OgEqEpcBChNHZXRJZnR0dEludGVncmF0aW9uEh8u",
"YXBpLkdldElmdHR0SW50ZWdyYXRpb25SZXF1ZXN0GiAuYXBpLkdldElmdHR0",
"SW50ZWdyYXRpb25SZXNwb25zZSI9gtPkkwI3EjUvYXBpL2FwcGxpY2F0aW9u",
"cy97YXBwbGljYXRpb25faWR9L2ludGVncmF0aW9ucy9pZnR0dBKiAQoWVXBk",
"YXRlSWZ0dHRJbnRlZ3JhdGlvbhIiLmFwaS5VcGRhdGVJZnR0dEludGVncmF0",
"aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJMgtPkkwJGGkEv",
"YXBpL2FwcGxpY2F0aW9ucy97aW50ZWdyYXRpb24uYXBwbGljYXRpb25faWR9",
"L2ludGVncmF0aW9ucy9pZnR0dDoBKhKTAQoWRGVsZXRlSWZ0dHRJbnRlZ3Jh",
"dGlvbhIiLmFwaS5EZWxldGVJZnR0dEludGVncmF0aW9uUmVxdWVzdBoWLmdv",
"b2dsZS5wcm90b2J1Zi5FbXB0eSI9gtPkkwI3KjUvYXBpL2FwcGxpY2F0aW9u",
"cy97YXBwbGljYXRpb25faWR9L2ludGVncmF0aW9ucy9pZnR0dBLhAQooR2Vu",
"ZXJhdGVNcXR0SW50ZWdyYXRpb25DbGllbnRDZXJ0aWZpY2F0ZRI0LmFwaS5H",
"ZW5lcmF0ZU1xdHRJbnRlZ3JhdGlvbkNsaWVudENlcnRpZmljYXRlUmVxdWVz",
"dBo1LmFwaS5HZW5lcmF0ZU1xdHRJbnRlZ3JhdGlvbkNsaWVudENlcnRpZmlj",
"YXRlUmVzcG9uc2UiSILT5JMCQiJAL2FwaS9hcHBsaWNhdGlvbnMve2FwcGxp",
"Y2F0aW9uX2lkfS9pbnRlZ3JhdGlvbnMvbXF0dC9jZXJ0aWZpY2F0ZUJoChFp",
"by5jaGlycHN0YWNrLmFwaUIQQXBwbGljYXRpb25Qcm90b1ABWi5naXRodWIu",
"Y29tL2NoaXJwc3RhY2svY2hpcnBzdGFjay9hcGkvZ28vdjQvYXBpqgIOQ2hp",
"cnBzdGFjay5BcGliBnByb3RvMw=="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Google.Api.AnnotationsReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.TimestampReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.EmptyReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Chirpstack.Api.Encoding), typeof(global::Chirpstack.Api.IntegrationKind), typeof(global::Chirpstack.Api.InfluxDbPrecision), typeof(global::Chirpstack.Api.InfluxDbVersion), }, null, new pbr::GeneratedClrTypeInfo[] {
@ -401,7 +402,7 @@ namespace Chirpstack.Api {
new pbr::GeneratedClrTypeInfo(typeof(global::Chirpstack.Api.UpdateMyDevicesIntegrationRequest), global::Chirpstack.Api.UpdateMyDevicesIntegrationRequest.Parser, new[]{ "Integration" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Chirpstack.Api.DeleteMyDevicesIntegrationRequest), global::Chirpstack.Api.DeleteMyDevicesIntegrationRequest.Parser, new[]{ "ApplicationId" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Chirpstack.Api.LoraCloudIntegration), global::Chirpstack.Api.LoraCloudIntegration.Parser, new[]{ "ApplicationId", "ModemGeolocationServices" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Chirpstack.Api.LoraCloudModemGeolocationServices), global::Chirpstack.Api.LoraCloudModemGeolocationServices.Parser, new[]{ "Token", "ModemEnabled", "ForwardFPorts", "GnssUseRxTime", "ParseTlv", "GeolocationBufferTtl", "GeolocationMinBufferSize", "GeolocationTdoa", "GeolocationRssi", "GeolocationGnss", "GeolocationGnssPayloadField", "GeolocationGnssUseRxTime", "GeolocationWifi", "GeolocationWifiPayloadField" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Chirpstack.Api.LoraCloudModemGeolocationServices), global::Chirpstack.Api.LoraCloudModemGeolocationServices.Parser, new[]{ "Token", "ModemEnabled", "ForwardFPorts", "GnssUseRxTime", "GnssUseGatewayLocation", "ParseTlv", "GeolocationBufferTtl", "GeolocationMinBufferSize", "GeolocationTdoa", "GeolocationRssi", "GeolocationGnss", "GeolocationGnssPayloadField", "GeolocationGnssUseRxTime", "GeolocationWifi", "GeolocationWifiPayloadField" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Chirpstack.Api.CreateLoraCloudIntegrationRequest), global::Chirpstack.Api.CreateLoraCloudIntegrationRequest.Parser, new[]{ "Integration" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Chirpstack.Api.GetLoraCloudIntegrationRequest), global::Chirpstack.Api.GetLoraCloudIntegrationRequest.Parser, new[]{ "ApplicationId" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Chirpstack.Api.GetLoraCloudIntegrationResponse), global::Chirpstack.Api.GetLoraCloudIntegrationResponse.Parser, new[]{ "Integration" }, null, null, null, null),
@ -3661,7 +3662,7 @@ namespace Chirpstack.Api {
public const int ApplicationIdFieldNumber = 1;
private string applicationId_ = "";
/// <summary>
/// Application ID (UUIO).
/// Application ID (UUID).
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
@ -4163,7 +4164,7 @@ namespace Chirpstack.Api {
public const int ApplicationIdFieldNumber = 1;
private string applicationId_ = "";
/// <summary>
/// Application ID (UUIO).
/// Application ID (UUID).
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
@ -4757,7 +4758,7 @@ namespace Chirpstack.Api {
public const int ApplicationIdFieldNumber = 1;
private string applicationId_ = "";
/// <summary>
/// Application ID (UUIO).
/// Application ID (UUID).
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
@ -4959,7 +4960,7 @@ namespace Chirpstack.Api {
public const int ApplicationIdFieldNumber = 1;
private string applicationId_ = "";
/// <summary>
/// Application ID (UUIO).
/// Application ID (UUID).
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
@ -5742,7 +5743,7 @@ namespace Chirpstack.Api {
public const int ApplicationIdFieldNumber = 1;
private string applicationId_ = "";
/// <summary>
/// Application ID (UUIO).
/// Application ID (UUID).
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
@ -6336,7 +6337,7 @@ namespace Chirpstack.Api {
public const int ApplicationIdFieldNumber = 1;
private string applicationId_ = "";
/// <summary>
/// Application ID (UUIO).
/// Application ID (UUID).
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
@ -6529,7 +6530,7 @@ namespace Chirpstack.Api {
public const int ApplicationIdFieldNumber = 1;
private string applicationId_ = "";
/// <summary>
/// Application ID (UUIO).
/// Application ID (UUID).
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
@ -6961,7 +6962,7 @@ namespace Chirpstack.Api {
public const int ApplicationIdFieldNumber = 1;
private string applicationId_ = "";
/// <summary>
/// Application ID (UUIO).
/// Application ID (UUID).
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
@ -7555,7 +7556,7 @@ namespace Chirpstack.Api {
public const int ApplicationIdFieldNumber = 1;
private string applicationId_ = "";
/// <summary>
/// Application ID (UUIO).
/// Application ID (UUID).
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
@ -7748,7 +7749,7 @@ namespace Chirpstack.Api {
public const int ApplicationIdFieldNumber = 1;
private string applicationId_ = "";
/// <summary>
/// Application ID (UUIO).
/// Application ID (UUID).
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
@ -8180,7 +8181,7 @@ namespace Chirpstack.Api {
public const int ApplicationIdFieldNumber = 1;
private string applicationId_ = "";
/// <summary>
/// Application ID (UUIO).
/// Application ID (UUID).
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
@ -8774,7 +8775,7 @@ namespace Chirpstack.Api {
public const int ApplicationIdFieldNumber = 1;
private string applicationId_ = "";
/// <summary>
/// Application ID (UUIO).
/// Application ID (UUID).
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
@ -9197,6 +9198,7 @@ namespace Chirpstack.Api {
modemEnabled_ = other.modemEnabled_;
forwardFPorts_ = other.forwardFPorts_.Clone();
gnssUseRxTime_ = other.gnssUseRxTime_;
gnssUseGatewayLocation_ = other.gnssUseGatewayLocation_;
parseTlv_ = other.parseTlv_;
geolocationBufferTtl_ = other.geolocationBufferTtl_;
geolocationMinBufferSize_ = other.geolocationMinBufferSize_;
@ -9278,6 +9280,26 @@ namespace Chirpstack.Api {
}
}
/// <summary>Field number for the "gnss_use_gateway_location" field.</summary>
public const int GnssUseGatewayLocationFieldNumber = 17;
private bool gnssUseGatewayLocation_;
/// <summary>
/// Use gateway location for GNSS resolving.
/// In the case this is set to true, ChirpStack will provide the location of
/// one of the gateways to the MGS resolver to aid the resolving process.
/// Disable this in case the gateway location is not accurate / incorrectly
/// configured as an incorrect location will cause the resolver to return an
/// error.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool GnssUseGatewayLocation {
get { return gnssUseGatewayLocation_; }
set {
gnssUseGatewayLocation_ = value;
}
}
/// <summary>Field number for the "parse_tlv" field.</summary>
public const int ParseTlvFieldNumber = 6;
private bool parseTlv_;
@ -9463,6 +9485,7 @@ namespace Chirpstack.Api {
if (ModemEnabled != other.ModemEnabled) return false;
if(!forwardFPorts_.Equals(other.forwardFPorts_)) return false;
if (GnssUseRxTime != other.GnssUseRxTime) return false;
if (GnssUseGatewayLocation != other.GnssUseGatewayLocation) return false;
if (ParseTlv != other.ParseTlv) return false;
if (GeolocationBufferTtl != other.GeolocationBufferTtl) return false;
if (GeolocationMinBufferSize != other.GeolocationMinBufferSize) return false;
@ -9484,6 +9507,7 @@ namespace Chirpstack.Api {
if (ModemEnabled != false) hash ^= ModemEnabled.GetHashCode();
hash ^= forwardFPorts_.GetHashCode();
if (GnssUseRxTime != false) hash ^= GnssUseRxTime.GetHashCode();
if (GnssUseGatewayLocation != false) hash ^= GnssUseGatewayLocation.GetHashCode();
if (ParseTlv != false) hash ^= ParseTlv.GetHashCode();
if (GeolocationBufferTtl != 0) hash ^= GeolocationBufferTtl.GetHashCode();
if (GeolocationMinBufferSize != 0) hash ^= GeolocationMinBufferSize.GetHashCode();
@ -9565,6 +9589,10 @@ namespace Chirpstack.Api {
output.WriteString(GeolocationWifiPayloadField);
}
forwardFPorts_.WriteTo(output, _repeated_forwardFPorts_codec);
if (GnssUseGatewayLocation != false) {
output.WriteRawTag(136, 1);
output.WriteBool(GnssUseGatewayLocation);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@ -9628,6 +9656,10 @@ namespace Chirpstack.Api {
output.WriteString(GeolocationWifiPayloadField);
}
forwardFPorts_.WriteTo(ref output, _repeated_forwardFPorts_codec);
if (GnssUseGatewayLocation != false) {
output.WriteRawTag(136, 1);
output.WriteBool(GnssUseGatewayLocation);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@ -9648,6 +9680,9 @@ namespace Chirpstack.Api {
if (GnssUseRxTime != false) {
size += 1 + 1;
}
if (GnssUseGatewayLocation != false) {
size += 2 + 1;
}
if (ParseTlv != false) {
size += 1 + 1;
}
@ -9700,6 +9735,9 @@ namespace Chirpstack.Api {
if (other.GnssUseRxTime != false) {
GnssUseRxTime = other.GnssUseRxTime;
}
if (other.GnssUseGatewayLocation != false) {
GnssUseGatewayLocation = other.GnssUseGatewayLocation;
}
if (other.ParseTlv != false) {
ParseTlv = other.ParseTlv;
}
@ -9802,6 +9840,10 @@ namespace Chirpstack.Api {
forwardFPorts_.AddEntriesFrom(input, _repeated_forwardFPorts_codec);
break;
}
case 136: {
GnssUseGatewayLocation = input.ReadBool();
break;
}
}
}
#endif
@ -9874,6 +9916,10 @@ namespace Chirpstack.Api {
forwardFPorts_.AddEntriesFrom(ref input, _repeated_forwardFPorts_codec);
break;
}
case 136: {
GnssUseGatewayLocation = input.ReadBool();
break;
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -874,6 +874,9 @@ export class LoraCloudModemGeolocationServices extends jspb.Message {
getGnssUseRxTime(): boolean;
setGnssUseRxTime(value: boolean): LoraCloudModemGeolocationServices;
getGnssUseGatewayLocation(): boolean;
setGnssUseGatewayLocation(value: boolean): LoraCloudModemGeolocationServices;
getParseTlv(): boolean;
setParseTlv(value: boolean): LoraCloudModemGeolocationServices;
@ -918,6 +921,7 @@ export namespace LoraCloudModemGeolocationServices {
modemEnabled: boolean,
forwardFPortsList: Array<number>,
gnssUseRxTime: boolean,
gnssUseGatewayLocation: boolean,
parseTlv: boolean,
geolocationBufferTtl: number,
geolocationMinBufferSize: number,

View File

@ -8116,6 +8116,7 @@ proto.api.LoraCloudModemGeolocationServices.toObject = function(includeInstance,
modemEnabled: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),
forwardFPortsList: (f = jspb.Message.getRepeatedField(msg, 16)) == null ? undefined : f,
gnssUseRxTime: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),
gnssUseGatewayLocation: jspb.Message.getBooleanFieldWithDefault(msg, 17, false),
parseTlv: jspb.Message.getBooleanFieldWithDefault(msg, 6, false),
geolocationBufferTtl: jspb.Message.getFieldWithDefault(msg, 7, 0),
geolocationMinBufferSize: jspb.Message.getFieldWithDefault(msg, 8, 0),
@ -8178,6 +8179,10 @@ proto.api.LoraCloudModemGeolocationServices.deserializeBinaryFromReader = functi
var value = /** @type {boolean} */ (reader.readBool());
msg.setGnssUseRxTime(value);
break;
case 17:
var value = /** @type {boolean} */ (reader.readBool());
msg.setGnssUseGatewayLocation(value);
break;
case 6:
var value = /** @type {boolean} */ (reader.readBool());
msg.setParseTlv(value);
@ -8275,6 +8280,13 @@ proto.api.LoraCloudModemGeolocationServices.serializeBinaryToWriter = function(m
f
);
}
f = message.getGnssUseGatewayLocation();
if (f) {
writer.writeBool(
17,
f
);
}
f = message.getParseTlv();
if (f) {
writer.writeBool(
@ -8439,6 +8451,24 @@ proto.api.LoraCloudModemGeolocationServices.prototype.setGnssUseRxTime = functio
};
/**
* optional bool gnss_use_gateway_location = 17;
* @return {boolean}
*/
proto.api.LoraCloudModemGeolocationServices.prototype.getGnssUseGatewayLocation = function() {
return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 17, false));
};
/**
* @param {boolean} value
* @return {!proto.api.LoraCloudModemGeolocationServices} returns this
*/
proto.api.LoraCloudModemGeolocationServices.prototype.setGnssUseGatewayLocation = function(value) {
return jspb.Message.setProto3BooleanField(this, 17, value);
};
/**
* optional bool parse_tlv = 6;
* @return {boolean}

View File

@ -950,6 +950,9 @@ export class LoraCloudModemGeolocationServices extends jspb.Message {
getGnssUseRxTime(): boolean;
setGnssUseRxTime(value: boolean): void;
getGnssUseGatewayLocation(): boolean;
setGnssUseGatewayLocation(value: boolean): void;
getParseTlv(): boolean;
setParseTlv(value: boolean): void;
@ -996,6 +999,7 @@ export namespace LoraCloudModemGeolocationServices {
modemEnabled: boolean,
forwardFPortsList: Array<number>,
gnssUseRxTime: boolean,
gnssUseGatewayLocation: boolean,
parseTlv: boolean,
geolocationBufferTtl: number,
geolocationMinBufferSize: number,

View File

@ -8116,6 +8116,7 @@ proto.api.LoraCloudModemGeolocationServices.toObject = function(includeInstance,
modemEnabled: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),
forwardFPortsList: (f = jspb.Message.getRepeatedField(msg, 16)) == null ? undefined : f,
gnssUseRxTime: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),
gnssUseGatewayLocation: jspb.Message.getBooleanFieldWithDefault(msg, 17, false),
parseTlv: jspb.Message.getBooleanFieldWithDefault(msg, 6, false),
geolocationBufferTtl: jspb.Message.getFieldWithDefault(msg, 7, 0),
geolocationMinBufferSize: jspb.Message.getFieldWithDefault(msg, 8, 0),
@ -8178,6 +8179,10 @@ proto.api.LoraCloudModemGeolocationServices.deserializeBinaryFromReader = functi
var value = /** @type {boolean} */ (reader.readBool());
msg.setGnssUseRxTime(value);
break;
case 17:
var value = /** @type {boolean} */ (reader.readBool());
msg.setGnssUseGatewayLocation(value);
break;
case 6:
var value = /** @type {boolean} */ (reader.readBool());
msg.setParseTlv(value);
@ -8275,6 +8280,13 @@ proto.api.LoraCloudModemGeolocationServices.serializeBinaryToWriter = function(m
f
);
}
f = message.getGnssUseGatewayLocation();
if (f) {
writer.writeBool(
17,
f
);
}
f = message.getParseTlv();
if (f) {
writer.writeBool(
@ -8439,6 +8451,24 @@ proto.api.LoraCloudModemGeolocationServices.prototype.setGnssUseRxTime = functio
};
/**
* optional bool gnss_use_gateway_location = 17;
* @return {boolean}
*/
proto.api.LoraCloudModemGeolocationServices.prototype.getGnssUseGatewayLocation = function() {
return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 17, false));
};
/**
* @param {boolean} value
* @return {!proto.api.LoraCloudModemGeolocationServices} returns this
*/
proto.api.LoraCloudModemGeolocationServices.prototype.setGnssUseGatewayLocation = function(value) {
return jspb.Message.setProto3BooleanField(this, 17, value);
};
/**
* optional bool parse_tlv = 6;
* @return {boolean}

25
api/md/api/api.md vendored
View File

@ -580,7 +580,7 @@
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| application_id | [string](#string) | | Application ID (UUIO). |
| application_id | [string](#string) | | Application ID (UUID). |
@ -610,7 +610,7 @@
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| application_id | [string](#string) | | Application ID (UUIO). |
| application_id | [string](#string) | | Application ID (UUID). |
@ -640,7 +640,7 @@
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| application_id | [string](#string) | | Application ID (UUIO). |
| application_id | [string](#string) | | Application ID (UUID). |
@ -670,7 +670,7 @@
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| application_id | [string](#string) | | Application ID (UUIO). |
| application_id | [string](#string) | | Application ID (UUID). |
@ -860,7 +860,7 @@
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| application_id | [string](#string) | | Application ID (UUIO). |
| application_id | [string](#string) | | Application ID (UUID). |
@ -920,7 +920,7 @@
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| application_id | [string](#string) | | Application ID (UUIO). |
| application_id | [string](#string) | | Application ID (UUID). |
@ -980,7 +980,7 @@
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| application_id | [string](#string) | | Application ID (UUIO). |
| application_id | [string](#string) | | Application ID (UUID). |
@ -1040,7 +1040,7 @@
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| application_id | [string](#string) | | Application ID (UUIO). |
| application_id | [string](#string) | | Application ID (UUID). |
@ -1070,7 +1070,7 @@
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| application_id | [string](#string) | | Application ID (UUIO). |
| application_id | [string](#string) | | Application ID (UUID). |
| headers | [HttpIntegration.HeadersEntry](#api-HttpIntegration-HeadersEntry) | repeated | HTTP headers to set when making requests. |
| encoding | [Encoding](#api-Encoding) | | Payload encoding. |
| event_endpoint_url | [string](#string) | | Event endpoint URL. The HTTP integration will POST all events to this enpoint. The request will contain a query parameters &#34;event&#34; containing the type of the event. |
@ -1123,7 +1123,7 @@ Note: The first value is always used for the DevEUI. |
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| application_id | [string](#string) | | Application ID (UUIO). |
| application_id | [string](#string) | | Application ID (UUID). |
| endpoint | [string](#string) | | InfluxDb API write endpoint (e.g. http://localhost:8086/write). |
| db | [string](#string) | | InfluxDb database name. (InfluxDb v1) |
| username | [string](#string) | | InfluxDb username. (InfluxDb v1) |
@ -1248,6 +1248,7 @@ Note: The first value is always used for the DevEUI. |
| modem_enabled | [bool](#bool) | | Device implements Modem / Modem-E stack. |
| forward_f_ports | [uint32](#uint32) | repeated | Forward FPorts. Forward uplink messages matching the given FPorts to the MGS. |
| gnss_use_rx_time | [bool](#bool) | | Use rx time for GNSS resolving. In case this is set to true, the MGS resolver will use the RX time of the network instead of the timestamp included in the LR1110 payload. |
| gnss_use_gateway_location | [bool](#bool) | | Use gateway location for GNSS resolving. In the case this is set to true, ChirpStack will provide the location of one of the gateways to the MGS resolver to aid the resolving process. Disable this in case the gateway location is not accurate / incorrectly configured as an incorrect location will cause the resolver to return an error. |
| parse_tlv | [bool](#bool) | | Parse TLV records. If enabled, stream records (expected in TLV format) are scanned for GNSS data (0x06 or 0x07). If found, ChirpStack will make an additional geolocation call to the MGS API for resolving the location of the detected payload. |
| geolocation_buffer_ttl | [uint32](#uint32) | | Geolocation buffer TTL (in seconds). If &gt; 0, uplink RX meta-data will be stored in a buffer so that the meta-data of multiple uplinks can be used for geolocation. |
| geolocation_min_buffer_size | [uint32](#uint32) | | Geolocation minimum buffer size. If &gt; 0, geolocation will only be performed when the buffer has at least the given size. |
@ -1272,7 +1273,7 @@ Note: The first value is always used for the DevEUI. |
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| application_id | [string](#string) | | Application ID (UUIO). |
| application_id | [string](#string) | | Application ID (UUID). |
| endpoint | [string](#string) | | myDevices API endpoint. |
@ -1305,7 +1306,7 @@ Note: The first value is always used for the DevEUI. |
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| application_id | [string](#string) | | Application ID (UUIO). |
| application_id | [string](#string) | | Application ID (UUID). |
| server | [string](#string) | | ThingsBoard server endpoint, e.g. https://example.com |

View File

@ -704,6 +704,14 @@ message LoraCloudModemGeolocationServices {
// network instead of the timestamp included in the LR1110 payload.
bool gnss_use_rx_time = 5;
// Use gateway location for GNSS resolving.
// In the case this is set to true, ChirpStack will provide the location of
// one of the gateways to the MGS resolver to aid the resolving process.
// Disable this in case the gateway location is not accurate / incorrectly
// configured as an incorrect location will cause the resolver to return an
// error.
bool gnss_use_gateway_location = 17;
// Parse TLV records.
// If enabled, stream records (expected in TLV format) are scanned for GNSS
// data (0x06 or 0x07). If found, ChirpStack will make an additional

View File

@ -499,7 +499,7 @@ message ListIntegrationsResponse {
}
message HttpIntegration {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
// HTTP headers to set when making requests.
@ -521,7 +521,7 @@ message CreateHttpIntegrationRequest {
}
message GetHttpIntegrationRequest {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
}
@ -536,7 +536,7 @@ message UpdateHttpIntegrationRequest {
}
message DeleteHttpIntegrationRequest {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
}
@ -555,7 +555,7 @@ enum InfluxDbVersion {
}
message InfluxDbIntegration {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
// InfluxDb API write endpoint (e.g. http://localhost:8086/write).
@ -595,7 +595,7 @@ message CreateInfluxDbIntegrationRequest {
}
message GetInfluxDbIntegrationRequest {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
}
@ -610,12 +610,12 @@ message UpdateInfluxDbIntegrationRequest {
}
message DeleteInfluxDbIntegrationRequest {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
}
message ThingsBoardIntegration {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
// ThingsBoard server endpoint, e.g. https://example.com
@ -628,7 +628,7 @@ message CreateThingsBoardIntegrationRequest {
}
message GetThingsBoardIntegrationRequest {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
}
@ -643,12 +643,12 @@ message UpdateThingsBoardIntegrationRequest {
}
message DeleteThingsBoardIntegrationRequest {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
}
message MyDevicesIntegration {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
// myDevices API endpoint.
@ -661,7 +661,7 @@ message CreateMyDevicesIntegrationRequest {
}
message GetMyDevicesIntegrationRequest {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
}
@ -676,7 +676,7 @@ message UpdateMyDevicesIntegrationRequest {
}
message DeleteMyDevicesIntegrationRequest {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
}
@ -704,6 +704,14 @@ message LoraCloudModemGeolocationServices {
// network instead of the timestamp included in the LR1110 payload.
bool gnss_use_rx_time = 5;
// Use gateway location for GNSS resolving.
// In the case this is set to true, ChirpStack will provide the location of
// one of the gateways to the MGS resolver to aid the resolving process.
// Disable this in case the gateway location is not accurate / incorrectly
// configured as an incorrect location will cause the resolver to return an
// error.
bool gnss_use_gateway_location = 17;
// Parse TLV records.
// If enabled, stream records (expected in TLV format) are scanned for GNSS
// data (0x06 or 0x07). If found, ChirpStack will make an additional

File diff suppressed because one or more lines are too long

View File

@ -496,7 +496,7 @@ class LoraCloudIntegration(_message.Message):
def __init__(self, application_id: _Optional[str] = ..., modem_geolocation_services: _Optional[_Union[LoraCloudModemGeolocationServices, _Mapping]] = ...) -> None: ...
class LoraCloudModemGeolocationServices(_message.Message):
__slots__ = ["forward_f_ports", "geolocation_buffer_ttl", "geolocation_gnss", "geolocation_gnss_payload_field", "geolocation_gnss_use_rx_time", "geolocation_min_buffer_size", "geolocation_rssi", "geolocation_tdoa", "geolocation_wifi", "geolocation_wifi_payload_field", "gnss_use_rx_time", "modem_enabled", "parse_tlv", "token"]
__slots__ = ["forward_f_ports", "geolocation_buffer_ttl", "geolocation_gnss", "geolocation_gnss_payload_field", "geolocation_gnss_use_rx_time", "geolocation_min_buffer_size", "geolocation_rssi", "geolocation_tdoa", "geolocation_wifi", "geolocation_wifi_payload_field", "gnss_use_gateway_location", "gnss_use_rx_time", "modem_enabled", "parse_tlv", "token"]
FORWARD_F_PORTS_FIELD_NUMBER: _ClassVar[int]
GEOLOCATION_BUFFER_TTL_FIELD_NUMBER: _ClassVar[int]
GEOLOCATION_GNSS_FIELD_NUMBER: _ClassVar[int]
@ -507,6 +507,7 @@ class LoraCloudModemGeolocationServices(_message.Message):
GEOLOCATION_TDOA_FIELD_NUMBER: _ClassVar[int]
GEOLOCATION_WIFI_FIELD_NUMBER: _ClassVar[int]
GEOLOCATION_WIFI_PAYLOAD_FIELD_FIELD_NUMBER: _ClassVar[int]
GNSS_USE_GATEWAY_LOCATION_FIELD_NUMBER: _ClassVar[int]
GNSS_USE_RX_TIME_FIELD_NUMBER: _ClassVar[int]
MODEM_ENABLED_FIELD_NUMBER: _ClassVar[int]
PARSE_TLV_FIELD_NUMBER: _ClassVar[int]
@ -521,11 +522,12 @@ class LoraCloudModemGeolocationServices(_message.Message):
geolocation_tdoa: bool
geolocation_wifi: bool
geolocation_wifi_payload_field: str
gnss_use_gateway_location: bool
gnss_use_rx_time: bool
modem_enabled: bool
parse_tlv: bool
token: str
def __init__(self, token: _Optional[str] = ..., modem_enabled: bool = ..., forward_f_ports: _Optional[_Iterable[int]] = ..., gnss_use_rx_time: bool = ..., parse_tlv: bool = ..., geolocation_buffer_ttl: _Optional[int] = ..., geolocation_min_buffer_size: _Optional[int] = ..., geolocation_tdoa: bool = ..., geolocation_rssi: bool = ..., geolocation_gnss: bool = ..., geolocation_gnss_payload_field: _Optional[str] = ..., geolocation_gnss_use_rx_time: bool = ..., geolocation_wifi: bool = ..., geolocation_wifi_payload_field: _Optional[str] = ...) -> None: ...
def __init__(self, token: _Optional[str] = ..., modem_enabled: bool = ..., forward_f_ports: _Optional[_Iterable[int]] = ..., gnss_use_rx_time: bool = ..., gnss_use_gateway_location: bool = ..., parse_tlv: bool = ..., geolocation_buffer_ttl: _Optional[int] = ..., geolocation_min_buffer_size: _Optional[int] = ..., geolocation_tdoa: bool = ..., geolocation_rssi: bool = ..., geolocation_gnss: bool = ..., geolocation_gnss_payload_field: _Optional[str] = ..., geolocation_gnss_use_rx_time: bool = ..., geolocation_wifi: bool = ..., geolocation_wifi_payload_field: _Optional[str] = ...) -> None: ...
class MyDevicesIntegration(_message.Message):
__slots__ = ["application_id", "endpoint"]

View File

@ -499,7 +499,7 @@ message ListIntegrationsResponse {
}
message HttpIntegration {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
// HTTP headers to set when making requests.
@ -521,7 +521,7 @@ message CreateHttpIntegrationRequest {
}
message GetHttpIntegrationRequest {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
}
@ -536,7 +536,7 @@ message UpdateHttpIntegrationRequest {
}
message DeleteHttpIntegrationRequest {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
}
@ -555,7 +555,7 @@ enum InfluxDbVersion {
}
message InfluxDbIntegration {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
// InfluxDb API write endpoint (e.g. http://localhost:8086/write).
@ -595,7 +595,7 @@ message CreateInfluxDbIntegrationRequest {
}
message GetInfluxDbIntegrationRequest {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
}
@ -610,12 +610,12 @@ message UpdateInfluxDbIntegrationRequest {
}
message DeleteInfluxDbIntegrationRequest {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
}
message ThingsBoardIntegration {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
// ThingsBoard server endpoint, e.g. https://example.com
@ -628,7 +628,7 @@ message CreateThingsBoardIntegrationRequest {
}
message GetThingsBoardIntegrationRequest {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
}
@ -643,12 +643,12 @@ message UpdateThingsBoardIntegrationRequest {
}
message DeleteThingsBoardIntegrationRequest {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
}
message MyDevicesIntegration {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
// myDevices API endpoint.
@ -661,7 +661,7 @@ message CreateMyDevicesIntegrationRequest {
}
message GetMyDevicesIntegrationRequest {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
}
@ -676,7 +676,7 @@ message UpdateMyDevicesIntegrationRequest {
}
message DeleteMyDevicesIntegrationRequest {
// Application ID (UUIO).
// Application ID (UUID).
string application_id = 1;
}
@ -704,6 +704,14 @@ message LoraCloudModemGeolocationServices {
// network instead of the timestamp included in the LR1110 payload.
bool gnss_use_rx_time = 5;
// Use gateway location for GNSS resolving.
// In the case this is set to true, ChirpStack will provide the location of
// one of the gateways to the MGS resolver to aid the resolving process.
// Disable this in case the gateway location is not accurate / incorrectly
// configured as an incorrect location will cause the resolver to return an
// error.
bool gnss_use_gateway_location = 17;
// Parse TLV records.
// If enabled, stream records (expected in TLV format) are scanned for GNSS
// data (0x06 or 0x07). If found, ChirpStack will make an additional

View File

@ -913,6 +913,7 @@ impl ApplicationService for Application {
modem_enabled: req_mgs.modem_enabled,
forward_f_ports: req_mgs.forward_f_ports.clone(),
gnss_use_rx_time: req_mgs.gnss_use_rx_time,
gnss_use_gateway_location: req_mgs.gnss_use_gateway_location,
parse_tlv: req_mgs.parse_tlv,
geolocation_buffer_ttl: req_mgs.geolocation_buffer_ttl,
geolocation_min_buffer_size: req_mgs.geolocation_min_buffer_size,
@ -974,6 +975,7 @@ impl ApplicationService for Application {
modem_enabled: mgs.modem_enabled,
forward_f_ports: mgs.forward_f_ports.clone(),
gnss_use_rx_time: mgs.gnss_use_rx_time,
gnss_use_gateway_location: mgs.gnss_use_gateway_location,
parse_tlv: mgs.parse_tlv,
geolocation_buffer_ttl: mgs.geolocation_buffer_ttl,
geolocation_min_buffer_size: mgs.geolocation_min_buffer_size,
@ -1036,6 +1038,7 @@ impl ApplicationService for Application {
modem_enabled: req_mgs.modem_enabled,
forward_f_ports: req_mgs.forward_f_ports.clone(),
gnss_use_rx_time: req_mgs.gnss_use_rx_time,
gnss_use_gateway_location: req_mgs.gnss_use_gateway_location,
parse_tlv: req_mgs.parse_tlv,
geolocation_buffer_ttl: req_mgs.geolocation_buffer_ttl,
geolocation_min_buffer_size: req_mgs.geolocation_min_buffer_size,
@ -2611,6 +2614,7 @@ pub mod test {
modem_enabled: true,
forward_f_ports: vec![199, 198, 197, 192],
gnss_use_rx_time: true,
gnss_use_gateway_location: true,
parse_tlv: true,
geolocation_buffer_ttl: 300,
geolocation_min_buffer_size: 2,
@ -2647,6 +2651,7 @@ pub mod test {
modem_enabled: true,
forward_f_ports: vec![199, 198, 197, 192],
gnss_use_rx_time: true,
gnss_use_gateway_location: true,
parse_tlv: true,
geolocation_buffer_ttl: 300,
geolocation_min_buffer_size: 2,
@ -2673,6 +2678,7 @@ pub mod test {
modem_enabled: true,
forward_f_ports: vec![199, 198, 197, 192],
gnss_use_rx_time: true,
gnss_use_gateway_location: true,
parse_tlv: true,
geolocation_buffer_ttl: 300,
geolocation_min_buffer_size: 2,
@ -2709,6 +2715,7 @@ pub mod test {
modem_enabled: true,
forward_f_ports: vec![199, 198, 197, 192],
gnss_use_rx_time: true,
gnss_use_gateway_location: true,
parse_tlv: true,
geolocation_buffer_ttl: 300,
geolocation_min_buffer_size: 2,

View File

@ -107,9 +107,15 @@ impl Integration {
gnss_assist_altitude: None,
};
if let Some(loc) = get_start_location(&pl.rx_info) {
msg_updf.gnss_assist_position = Some(vec![loc.latitude, loc.longitude]);
msg_updf.gnss_assist_altitude = Some(loc.altitude);
if self
.config
.modem_geolocation_services
.gnss_use_gateway_location
{
if let Some(loc) = get_start_location(&pl.rx_info) {
msg_updf.gnss_assist_position = Some(vec![loc.latitude, loc.longitude]);
msg_updf.gnss_assist_altitude = Some(loc.altitude);
}
}
msg_updf

View File

@ -209,6 +209,7 @@ pub struct LoraCloudModemGeolocationServices {
pub gnss_port: u32,
pub forward_f_ports: Vec<u32>,
pub gnss_use_rx_time: bool,
pub gnss_use_gateway_location: bool,
pub parse_tlv: bool,
pub geolocation_buffer_ttl: u32,
pub geolocation_min_buffer_size: u32,

View File

@ -59,6 +59,7 @@ class LoRaCloudIntegrationForm extends Component<IProps, IState> {
mgs.setModemEnabled(mgsv.modemEnabled);
mgs.setForwardFPortsList(mgsv.forwardFPortsList);
mgs.setGnssUseRxTime(mgsv.gnssUseRxTime);
mgs.setGnssUseGatewayLocation(mgsv.gnssUseGatewayLocation);
mgs.setParseTlv(mgsv.parseTlv);
mgs.setGeolocationBufferTtl(mgsv.geolocationBufferTtl);
mgs.setGeolocationMinBufferSize(mgsv.geolocationMinBufferSize);
@ -160,6 +161,16 @@ class LoRaCloudIntegrationForm extends Component<IProps, IState> {
<Switch />
</Form.Item>
)}
{this.state.modemEnabled && (
<Form.Item
label="Use location of receiving gateways for assistance"
name={["modemGeolocationServices", "gnssUseGatewayLocation"]}
tooltip="If enabled, the gateway location will be provided to the geolocation resolver to aid the resolving process."
valuePropName="checked"
>
<Switch />
</Form.Item>
)}
{this.state.modemEnabled && (
<Form.Item
label="My device adheres to the LoRa Edge&trade; Tracker Modem-E Version Reference Design protocol"