diff --git a/src/ZB.MOM.WW.ScadaBridge.Communication/Grpc/SiteCommandDtoMapper.cs b/src/ZB.MOM.WW.ScadaBridge.Communication/Grpc/SiteCommandDtoMapper.cs
index 357fe918..e15492e2 100644
--- a/src/ZB.MOM.WW.ScadaBridge.Communication/Grpc/SiteCommandDtoMapper.cs
+++ b/src/ZB.MOM.WW.ScadaBridge.Communication/Grpc/SiteCommandDtoMapper.cs
@@ -2420,7 +2420,8 @@ public static class SiteCommandDtoMapper
ScriptName = request.ScriptName,
Parameters = LooseValueCodec.ToProtoMapOrNull(request.Parameters),
Timestamp = Ts(request.Timestamp),
- ParentExecutionId = GuidToWire(request.ParentExecutionId)
+ ParentExecutionId = GuidToWire(request.ParentExecutionId),
+ Trace = request.Trace
};
}
@@ -2437,7 +2438,8 @@ public static class SiteCommandDtoMapper
dto.ScriptName,
LooseValueCodec.FromProtoMapOrNull(dto.Parameters),
Dto(dto.Timestamp),
- GuidFromWire(dto.ParentExecutionId));
+ GuidFromWire(dto.ParentExecutionId),
+ dto.Trace);
}
/// Projects a onto the wire.
@@ -2485,7 +2487,8 @@ public static class SiteCommandDtoMapper
CorrelationId = request.CorrelationId,
InstanceUniqueName = request.InstanceUniqueName,
Timestamp = Ts(request.Timestamp),
- ParentExecutionId = GuidToWire(request.ParentExecutionId)
+ ParentExecutionId = GuidToWire(request.ParentExecutionId),
+ Trace = request.Trace
};
foreach (var (key, value) in request.AttributeValues)
@@ -2508,7 +2511,8 @@ public static class SiteCommandDtoMapper
dto.InstanceUniqueName,
dto.AttributeValues.ToDictionary(kv => kv.Key, kv => kv.Value),
Dto(dto.Timestamp),
- GuidFromWire(dto.ParentExecutionId));
+ GuidFromWire(dto.ParentExecutionId),
+ dto.Trace);
}
/// Projects a onto the wire.
@@ -2564,14 +2568,24 @@ public static class SiteCommandDtoMapper
{
ArgumentNullException.ThrowIfNull(response);
- return new RouteToCallResponseDto
+ var dto = new RouteToCallResponseDto
{
CorrelationId = response.CorrelationId,
Success = response.Success,
ReturnValue = LooseValueCodec.ToProtoOrNull(response.ReturnValue),
ErrorMessage = OrEmpty(response.ErrorMessage),
- Timestamp = Ts(response.Timestamp)
+ Timestamp = Ts(response.Timestamp),
+ // Flow Debugger (design 2026-09-05 §5.4): additive fields 6/7.
+ ChildExecutionId = GuidToWire(response.ChildExecutionId)
};
+ if (response.TraceEvents is { Count: > 0 } traceEvents)
+ {
+ foreach (var evt in traceEvents)
+ {
+ dto.TraceEvents.Add(AuditEventDtoMapper.ToDto(evt));
+ }
+ }
+ return dto;
}
/// Rehydrates a from the wire.
@@ -2586,7 +2600,11 @@ public static class SiteCommandDtoMapper
dto.Success,
LooseValueCodec.FromProto(dto.ReturnValue),
NullIfEmpty(dto.ErrorMessage),
- Dto(dto.Timestamp));
+ Dto(dto.Timestamp),
+ GuidFromWire(dto.ChildExecutionId),
+ // An untraced run — or an older site that never sets the field — sends no
+ // events, which maps to null so the UI can label the lane "site not traced".
+ dto.TraceEvents.Count == 0 ? null : dto.TraceEvents.Select(AuditEventDtoMapper.FromDto).ToList());
}
/// Projects a onto the wire.
diff --git a/src/ZB.MOM.WW.ScadaBridge.Communication/Protos/site_command.proto b/src/ZB.MOM.WW.ScadaBridge.Communication/Protos/site_command.proto
index 813a09ad..a8a22d1d 100644
--- a/src/ZB.MOM.WW.ScadaBridge.Communication/Protos/site_command.proto
+++ b/src/ZB.MOM.WW.ScadaBridge.Communication/Protos/site_command.proto
@@ -5,6 +5,9 @@ package scadabridge.sitecommand.v1;
import "google/protobuf/timestamp.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/wrappers.proto";
+// Flow Debugger (design 2026-09-05 §5.4): RouteToCallResponseDto carries the site's
+// ScriptTrace rows inline as the AuditEventDto sitestream.proto already defines.
+import "Protos/sitestream.proto";
// ─────────────────────────────────────────────────────────────────────────────
// Site command plane (central → site) — the gRPC replacement for the per-site
@@ -765,6 +768,9 @@ message RouteToCallRequestDto {
LooseValueMap parameters = 4; // absent => null (distinct from empty)
google.protobuf.Timestamp timestamp = 5;
string parent_execution_id = 6; // empty string represents null
+ // Flow Debugger trace flag (design 2026-09-05 §5.2). proto3 default false = untraced,
+ // which is what an older central sends and what an older site reads.
+ bool trace = 7;
}
message RouteToCallResponseDto {
@@ -773,6 +779,12 @@ message RouteToCallResponseDto {
LooseValue return_value = 3; // absent => null
string error_message = 4; // empty string represents null
google.protobuf.Timestamp timestamp = 5;
+ // Flow Debugger (design §5.4): the routed site run's ExecutionId ("D" GUID form;
+ // empty represents null — an older site never sets it).
+ string child_execution_id = 6;
+ // Flow Debugger (design §5.4): the site's ScriptTrace audit events for a traced run,
+ // in emission order. Empty from an untraced run or an older site (mapper => null).
+ repeated sitestream.AuditEventDto trace_events = 7;
}
message RouteToGetAttributesRequestDto {
@@ -797,6 +809,8 @@ message RouteToSetAttributesRequestDto {
map attribute_values = 3;
google.protobuf.Timestamp timestamp = 4;
string parent_execution_id = 5; // empty string represents null
+ // Flow Debugger trace flag (design 2026-09-05 §5.2/§5.3): arms the echo stamp.
+ bool trace = 6;
}
message RouteToSetAttributesResponseDto {
diff --git a/src/ZB.MOM.WW.ScadaBridge.Communication/SiteCommandGrpc/SiteCommand.cs b/src/ZB.MOM.WW.ScadaBridge.Communication/SiteCommandGrpc/SiteCommand.cs
index fa79f645..86f49cfd 100644
--- a/src/ZB.MOM.WW.ScadaBridge.Communication/SiteCommandGrpc/SiteCommand.cs
+++ b/src/ZB.MOM.WW.ScadaBridge.Communication/SiteCommandGrpc/SiteCommand.cs
@@ -27,478 +27,481 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
"ChlQcm90b3Mvc2l0ZV9jb21tYW5kLnByb3RvEhpzY2FkYWJyaWRnZS5zaXRl",
"Y29tbWFuZC52MRofZ29vZ2xlL3Byb3RvYnVmL3RpbWVzdGFtcC5wcm90bxoe",
"Z29vZ2xlL3Byb3RvYnVmL2R1cmF0aW9uLnByb3RvGh5nb29nbGUvcHJvdG9i",
- "dWYvd3JhcHBlcnMucHJvdG8iCwoJTG9vc2VOdWxsIkcKDkxvb3NlVmFsdWVM",
- "aXN0EjUKBWl0ZW1zGAEgAygLMiYuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQu",
- "djEuTG9vc2VWYWx1ZSKwAQoNTG9vc2VWYWx1ZU1hcBJHCgdlbnRyaWVzGAEg",
- "AygLMjYuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuTG9vc2VWYWx1ZU1h",
- "cC5FbnRyaWVzRW50cnkaVgoMRW50cmllc0VudHJ5EgsKA2tleRgBIAEoCRI1",
- "CgV2YWx1ZRgCIAEoCzImLnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLkxv",
- "b3NlVmFsdWU6AjgBIpIECgpMb29zZVZhbHVlEjsKCm51bGxfdmFsdWUYASAB",
- "KAsyJS5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5Mb29zZU51bGxIABIU",
- "Cgpib29sX3ZhbHVlGAIgASgISAASFQoLaW50MzJfdmFsdWUYAyABKAVIABIV",
- "CgtpbnQ2NF92YWx1ZRgEIAEoA0gAEhYKDGRvdWJsZV92YWx1ZRgFIAEoAUgA",
- "EhUKC2Zsb2F0X3ZhbHVlGAYgASgCSAASFgoMc3RyaW5nX3ZhbHVlGAcgASgJ",
- "SAASFwoNZGVjaW1hbF92YWx1ZRgIIAEoCUgAEhkKD2RhdGVfdGltZV92YWx1",
- "ZRgJIAEoCUgAEiAKFmRhdGVfdGltZV9vZmZzZXRfdmFsdWUYCiABKAlIABIU",
- "CgpndWlkX3ZhbHVlGAsgASgJSAASGQoPdGltZV9zcGFuX3ZhbHVlGAwgASgJ",
- "SAASFQoLYnl0ZXNfdmFsdWUYDSABKAxIABJACgpsaXN0X3ZhbHVlGA4gASgL",
- "Miouc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuTG9vc2VWYWx1ZUxpc3RI",
- "ABI+CgltYXBfdmFsdWUYDyABKAsyKS5zY2FkYWJyaWRnZS5zaXRlY29tbWFu",
- "ZC52MS5Mb29zZVZhbHVlTWFwSAASFAoKanNvbl92YWx1ZRgQIAEoCUgAQgYK",
- "BGtpbmQi4gEKG1JlZnJlc2hEZXBsb3ltZW50Q29tbWFuZER0bxIVCg1kZXBs",
- "b3ltZW50X2lkGAEgASgJEhwKFGluc3RhbmNlX3VuaXF1ZV9uYW1lGAIgASgJ",
- "EhUKDXJldmlzaW9uX2hhc2gYAyABKAkSEwoLZGVwbG95ZWRfYnkYBCABKAkS",
- "LQoJdGltZXN0YW1wGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFt",
- "cBIeChZjZW50cmFsX2ZldGNoX2Jhc2VfdXJsGAYgASgJEhMKC2ZldGNoX3Rv",
- "a2VuGAcgASgJInsKGEVuYWJsZUluc3RhbmNlQ29tbWFuZER0bxISCgpjb21t",
- "YW5kX2lkGAEgASgJEhwKFGluc3RhbmNlX3VuaXF1ZV9uYW1lGAIgASgJEi0K",
- "CXRpbWVzdGFtcBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi",
- "fAoZRGlzYWJsZUluc3RhbmNlQ29tbWFuZER0bxISCgpjb21tYW5kX2lkGAEg",
- "ASgJEhwKFGluc3RhbmNlX3VuaXF1ZV9uYW1lGAIgASgJEi0KCXRpbWVzdGFt",
- "cBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiewoYRGVsZXRl",
- "SW5zdGFuY2VDb21tYW5kRHRvEhIKCmNvbW1hbmRfaWQYASABKAkSHAoUaW5z",
- "dGFuY2VfdW5pcXVlX25hbWUYAiABKAkSLQoJdGltZXN0YW1wGAMgASgLMhou",
- "Z29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKFAQoeRGVwbG95bWVudFN0YXRl",
- "UXVlcnlSZXF1ZXN0RHRvEhYKDmNvcnJlbGF0aW9uX2lkGAEgASgJEhwKFGlu",
- "c3RhbmNlX3VuaXF1ZV9uYW1lGAIgASgJEi0KCXRpbWVzdGFtcBgDIAEoCzIa",
- "Lmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAibwoXU2hhcmVkU2NyaXB0QXJ0",
- "aWZhY3REdG8SDAoEbmFtZRgBIAEoCRIMCgRjb2RlGAIgASgJEh0KFXBhcmFt",
- "ZXRlcl9kZWZpbml0aW9ucxgDIAEoCRIZChFyZXR1cm5fZGVmaW5pdGlvbhgE",
- "IAEoCSLtAQoZRXh0ZXJuYWxTeXN0ZW1BcnRpZmFjdER0bxIMCgRuYW1lGAEg",
- "ASgJEhQKDGVuZHBvaW50X3VybBgCIAEoCRIRCglhdXRoX3R5cGUYAyABKAkS",
- "GgoSYXV0aF9jb25maWd1cmF0aW9uGAQgASgJEh8KF21ldGhvZF9kZWZpbml0",
- "aW9uc19qc29uGAUgASgJEhcKD3RpbWVvdXRfc2Vjb25kcxgGIAEoBRITCgtt",
- "YXhfcmV0cmllcxgHIAEoBRIuCgtyZXRyeV9kZWxheRgIIAEoCzIZLmdvb2ds",
- "ZS5wcm90b2J1Zi5EdXJhdGlvbiKNAQodRGF0YWJhc2VDb25uZWN0aW9uQXJ0",
- "aWZhY3REdG8SDAoEbmFtZRgBIAEoCRIZChFjb25uZWN0aW9uX3N0cmluZxgC",
- "IAEoCRITCgttYXhfcmV0cmllcxgDIAEoBRIuCgtyZXRyeV9kZWxheRgEIAEo",
- "CzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbiJFChtOb3RpZmljYXRpb25M",
- "aXN0QXJ0aWZhY3REdG8SDAoEbmFtZRgBIAEoCRIYChByZWNpcGllbnRfZW1h",
- "aWxzGAIgAygJIqABChlEYXRhQ29ubmVjdGlvbkFydGlmYWN0RHRvEgwKBG5h",
- "bWUYASABKAkSEAoIcHJvdG9jb2wYAiABKAkSIgoacHJpbWFyeV9jb25maWd1",
- "cmF0aW9uX2pzb24YAyABKAkSIQoZYmFja3VwX2NvbmZpZ3VyYXRpb25fanNv",
- "bhgEIAEoCRIcChRmYWlsb3Zlcl9yZXRyeV9jb3VudBgFIAEoBSKtAQocU210",
- "cENvbmZpZ3VyYXRpb25BcnRpZmFjdER0bxIMCgRuYW1lGAEgASgJEg4KBnNl",
- "cnZlchgCIAEoCRIMCgRwb3J0GAMgASgFEhEKCWF1dGhfbW9kZRgEIAEoCRIU",
- "Cgxmcm9tX2FkZHJlc3MYBSABKAkSEAoIdXNlcm5hbWUYBiABKAkSEAoIcGFz",
- "c3dvcmQYByABKAkSFAoMb2F1dGhfY29uZmlnGAggASgJImEKG1NoYXJlZFNj",
- "cmlwdEFydGlmYWN0TGlzdER0bxJCCgVpdGVtcxgBIAMoCzIzLnNjYWRhYnJp",
- "ZGdlLnNpdGVjb21tYW5kLnYxLlNoYXJlZFNjcmlwdEFydGlmYWN0RHRvImUK",
- "HUV4dGVybmFsU3lzdGVtQXJ0aWZhY3RMaXN0RHRvEkQKBWl0ZW1zGAEgAygL",
- "MjUuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuRXh0ZXJuYWxTeXN0ZW1B",
- "cnRpZmFjdER0byJtCiFEYXRhYmFzZUNvbm5lY3Rpb25BcnRpZmFjdExpc3RE",
- "dG8SSAoFaXRlbXMYASADKAsyOS5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52",
- "MS5EYXRhYmFzZUNvbm5lY3Rpb25BcnRpZmFjdER0byJpCh9Ob3RpZmljYXRp",
- "b25MaXN0QXJ0aWZhY3RMaXN0RHRvEkYKBWl0ZW1zGAEgAygLMjcuc2NhZGFi",
- "cmlkZ2Uuc2l0ZWNvbW1hbmQudjEuTm90aWZpY2F0aW9uTGlzdEFydGlmYWN0",
- "RHRvImUKHURhdGFDb25uZWN0aW9uQXJ0aWZhY3RMaXN0RHRvEkQKBWl0ZW1z",
- "GAEgAygLMjUuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuRGF0YUNvbm5l",
- "Y3Rpb25BcnRpZmFjdER0byJrCiBTbXRwQ29uZmlndXJhdGlvbkFydGlmYWN0",
- "TGlzdER0bxJHCgVpdGVtcxgBIAMoCzI4LnNjYWRhYnJpZGdlLnNpdGVjb21t",
- "YW5kLnYxLlNtdHBDb25maWd1cmF0aW9uQXJ0aWZhY3REdG8i7QQKGURlcGxv",
- "eUFydGlmYWN0c0NvbW1hbmREdG8SFQoNZGVwbG95bWVudF9pZBgBIAEoCRJP",
- "Cg5zaGFyZWRfc2NyaXB0cxgCIAEoCzI3LnNjYWRhYnJpZGdlLnNpdGVjb21t",
- "YW5kLnYxLlNoYXJlZFNjcmlwdEFydGlmYWN0TGlzdER0bxJTChBleHRlcm5h",
- "bF9zeXN0ZW1zGAMgASgLMjkuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEu",
- "RXh0ZXJuYWxTeXN0ZW1BcnRpZmFjdExpc3REdG8SWwoUZGF0YWJhc2VfY29u",
- "bmVjdGlvbnMYBCABKAsyPS5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5E",
- "YXRhYmFzZUNvbm5lY3Rpb25BcnRpZmFjdExpc3REdG8SVwoSbm90aWZpY2F0",
- "aW9uX2xpc3RzGAUgASgLMjsuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEu",
- "Tm90aWZpY2F0aW9uTGlzdEFydGlmYWN0TGlzdER0bxJTChBkYXRhX2Nvbm5l",
- "Y3Rpb25zGAYgASgLMjkuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuRGF0",
- "YUNvbm5lY3Rpb25BcnRpZmFjdExpc3REdG8SWQoTc210cF9jb25maWd1cmF0",
- "aW9ucxgHIAEoCzI8LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlNtdHBD",
- "b25maWd1cmF0aW9uQXJ0aWZhY3RMaXN0RHRvEi0KCXRpbWVzdGFtcBgIIAEo",
- "CzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi2QEKG0RlcGxveW1lbnRT",
- "dGF0dXNSZXNwb25zZUR0bxIVCg1kZXBsb3ltZW50X2lkGAEgASgJEhwKFGlu",
- "c3RhbmNlX3VuaXF1ZV9uYW1lGAIgASgJEj8KBnN0YXR1cxgDIAEoDjIvLnNj",
- "YWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLkRlcGxveW1lbnRTdGF0dXNEdG8S",
- "FQoNZXJyb3JfbWVzc2FnZRgEIAEoCRItCgl0aW1lc3RhbXAYBSABKAsyGi5n",
- "b29nbGUucHJvdG9idWYuVGltZXN0YW1wIqcBChxJbnN0YW5jZUxpZmVjeWNs",
- "ZVJlc3BvbnNlRHRvEhIKCmNvbW1hbmRfaWQYASABKAkSHAoUaW5zdGFuY2Vf",
- "dW5pcXVlX25hbWUYAiABKAkSDwoHc3VjY2VzcxgDIAEoCBIVCg1lcnJvcl9t",
- "ZXNzYWdlGAQgASgJEi0KCXRpbWVzdGFtcBgFIAEoCzIaLmdvb2dsZS5wcm90",
- "b2J1Zi5UaW1lc3RhbXAi2QEKH0RlcGxveW1lbnRTdGF0ZVF1ZXJ5UmVzcG9u",
- "c2VEdG8SFgoOY29ycmVsYXRpb25faWQYASABKAkSHAoUaW5zdGFuY2VfdW5p",
- "cXVlX25hbWUYAiABKAkSEwoLaXNfZGVwbG95ZWQYAyABKAgSHQoVYXBwbGll",
- "ZF9kZXBsb3ltZW50X2lkGAQgASgJEh0KFWFwcGxpZWRfcmV2aXNpb25faGFz",
- "aBgFIAEoCRItCgl0aW1lc3RhbXAYBiABKAsyGi5nb29nbGUucHJvdG9idWYu",
- "VGltZXN0YW1wIp4BCh1BcnRpZmFjdERlcGxveW1lbnRSZXNwb25zZUR0bxIV",
- "Cg1kZXBsb3ltZW50X2lkGAEgASgJEg8KB3NpdGVfaWQYAiABKAkSDwoHc3Vj",
- "Y2VzcxgDIAEoCBIVCg1lcnJvcl9tZXNzYWdlGAQgASgJEi0KCXRpbWVzdGFt",
- "cBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAimgQKEExpZmVj",
- "eWNsZVJlcXVlc3QSVQoScmVmcmVzaF9kZXBsb3ltZW50GAEgASgLMjcuc2Nh",
- "ZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUmVmcmVzaERlcGxveW1lbnRDb21t",
- "YW5kRHRvSAASTwoPZW5hYmxlX2luc3RhbmNlGAIgASgLMjQuc2NhZGFicmlk",
- "Z2Uuc2l0ZWNvbW1hbmQudjEuRW5hYmxlSW5zdGFuY2VDb21tYW5kRHRvSAAS",
- "UQoQZGlzYWJsZV9pbnN0YW5jZRgDIAEoCzI1LnNjYWRhYnJpZGdlLnNpdGVj",
- "b21tYW5kLnYxLkRpc2FibGVJbnN0YW5jZUNvbW1hbmREdG9IABJPCg9kZWxl",
- "dGVfaW5zdGFuY2UYBCABKAsyNC5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52",
- "MS5EZWxldGVJbnN0YW5jZUNvbW1hbmREdG9IABJcChZkZXBsb3ltZW50X3N0",
- "YXRlX3F1ZXJ5GAUgASgLMjouc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEu",
- "RGVwbG95bWVudFN0YXRlUXVlcnlSZXF1ZXN0RHRvSAASUQoQZGVwbG95X2Fy",
- "dGlmYWN0cxgGIAEoCzI1LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLkRl",
- "cGxveUFydGlmYWN0c0NvbW1hbmREdG9IAEIJCgdjb21tYW5kIoADCg5MaWZl",
- "Y3ljbGVSZXBseRJUChFkZXBsb3ltZW50X3N0YXR1cxgBIAEoCzI3LnNjYWRh",
- "YnJpZGdlLnNpdGVjb21tYW5kLnYxLkRlcGxveW1lbnRTdGF0dXNSZXNwb25z",
- "ZUR0b0gAElYKEmluc3RhbmNlX2xpZmVjeWNsZRgCIAEoCzI4LnNjYWRhYnJp",
- "ZGdlLnNpdGVjb21tYW5kLnYxLkluc3RhbmNlTGlmZWN5Y2xlUmVzcG9uc2VE",
- "dG9IABJdChZkZXBsb3ltZW50X3N0YXRlX3F1ZXJ5GAMgASgLMjsuc2NhZGFi",
- "cmlkZ2Uuc2l0ZWNvbW1hbmQudjEuRGVwbG95bWVudFN0YXRlUXVlcnlSZXNw",
- "b25zZUR0b0gAElgKE2FydGlmYWN0X2RlcGxveW1lbnQYBCABKAsyOS5zY2Fk",
- "YWJyaWRnZS5zaXRlY29tbWFuZC52MS5BcnRpZmFjdERlcGxveW1lbnRSZXNw",
- "b25zZUR0b0gAQgcKBXJlcGx5InwKFEJyb3dzZU5vZGVDb21tYW5kRHRvEhcK",
- "D2Nvbm5lY3Rpb25fbmFtZRgBIAEoCRIWCg5wYXJlbnRfbm9kZV9pZBgCIAEo",
- "CRIaChJjb250aW51YXRpb25fdG9rZW4YAyABKAkSFwoPc2l0ZV9pZGVudGlm",
- "aWVyGAQgASgJIoICCg1Ccm93c2VOb2RlRHRvEg8KB25vZGVfaWQYASABKAkS",
- "FAoMZGlzcGxheV9uYW1lGAIgASgJEkIKCm5vZGVfY2xhc3MYAyABKA4yLi5z",
- "Y2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5Ccm93c2VOb2RlQ2xhc3NEdG8S",
- "FAoMaGFzX2NoaWxkcmVuGAQgASgIEhEKCWRhdGFfdHlwZRgFIAEoCRIvCgp2",
- "YWx1ZV9yYW5rGAYgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWUS",
- "LAoId3JpdGFibGUYByABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVl",
- "ImMKEEJyb3dzZUZhaWx1cmVEdG8SPgoEa2luZBgBIAEoDjIwLnNjYWRhYnJp",
- "ZGdlLnNpdGVjb21tYW5kLnYxLkJyb3dzZUZhaWx1cmVLaW5kRHRvEg8KB21l",
- "c3NhZ2UYAiABKAkiwAEKE0Jyb3dzZU5vZGVSZXN1bHREdG8SOwoIY2hpbGRy",
- "ZW4YASADKAsyKS5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5Ccm93c2VO",
- "b2RlRHRvEhEKCXRydW5jYXRlZBgCIAEoCBI9CgdmYWlsdXJlGAMgASgLMiwu",
- "c2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuQnJvd3NlRmFpbHVyZUR0bxIa",
- "ChJjb250aW51YXRpb25fdG9rZW4YBCABKAkihwEKHFNlYXJjaEFkZHJlc3NT",
- "cGFjZUNvbW1hbmREdG8SFwoPY29ubmVjdGlvbl9uYW1lGAEgASgJEg0KBXF1",
- "ZXJ5GAIgASgJEhEKCW1heF9kZXB0aBgDIAEoBRITCgttYXhfcmVzdWx0cxgE",
- "IAEoBRIXCg9zaXRlX2lkZW50aWZpZXIYBSABKAkiXQoUQWRkcmVzc1NwYWNl",
- "TWF0Y2hEdG8SNwoEbm9kZRgBIAEoCzIpLnNjYWRhYnJpZGdlLnNpdGVjb21t",
- "YW5kLnYxLkJyb3dzZU5vZGVEdG8SDAoEcGF0aBgCIAEoCSK0AQobU2VhcmNo",
- "QWRkcmVzc1NwYWNlUmVzdWx0RHRvEkEKB21hdGNoZXMYASADKAsyMC5zY2Fk",
- "YWJyaWRnZS5zaXRlY29tbWFuZC52MS5BZGRyZXNzU3BhY2VNYXRjaER0bxIT",
- "CgtjYXBfcmVhY2hlZBgCIAEoCBI9CgdmYWlsdXJlGAMgASgLMiwuc2NhZGFi",
- "cmlkZ2Uuc2l0ZWNvbW1hbmQudjEuQnJvd3NlRmFpbHVyZUR0byJFChdSZWFk",
- "VGFnVmFsdWVzQ29tbWFuZER0bxIXCg9jb25uZWN0aW9uX25hbWUYASABKAkS",
- "EQoJdGFnX3BhdGhzGAIgAygJIsQBChFUYWdSZWFkT3V0Y29tZUR0bxIQCgh0",
- "YWdfcGF0aBgBIAEoCRIPCgdzdWNjZXNzGAIgASgIEjUKBXZhbHVlGAMgASgL",
- "MiYuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuTG9vc2VWYWx1ZRIPCgdx",
- "dWFsaXR5GAQgASgJEi0KCXRpbWVzdGFtcBgFIAEoCzIaLmdvb2dsZS5wcm90",
- "b2J1Zi5UaW1lc3RhbXASFQoNZXJyb3JfbWVzc2FnZRgGIAEoCSJxChdSZWFk",
- "VGFnVmFsdWVzRmFpbHVyZUR0bxJFCgRraW5kGAEgASgOMjcuc2NhZGFicmlk",
- "Z2Uuc2l0ZWNvbW1hbmQudjEuUmVhZFRhZ1ZhbHVlc0ZhaWx1cmVLaW5kRHRv",
- "Eg8KB21lc3NhZ2UYAiABKAkinwEKFlJlYWRUYWdWYWx1ZXNSZXN1bHREdG8S",
- "PwoIb3V0Y29tZXMYASADKAsyLS5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52",
- "MS5UYWdSZWFkT3V0Y29tZUR0bxJECgdmYWlsdXJlGAIgASgLMjMuc2NhZGFi",
- "cmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUmVhZFRhZ1ZhbHVlc0ZhaWx1cmVEdG8i",
- "cwoYVmVyaWZ5RW5kcG9pbnRDb21tYW5kRHRvEhcKD2Nvbm5lY3Rpb25fbmFt",
- "ZRgBIAEoCRIQCghwcm90b2NvbBgCIAEoCRITCgtjb25maWdfanNvbhgDIAEo",
- "CRIXCg9zaXRlX2lkZW50aWZpZXIYBCABKAkiwwEKEVNlcnZlckNlcnRJbmZv",
- "RHRvEhIKCnRodW1icHJpbnQYASABKAkSDwoHc3ViamVjdBgCIAEoCRIOCgZp",
- "c3N1ZXIYAyABKAkSMgoObm90X2JlZm9yZV91dGMYBCABKAsyGi5nb29nbGUu",
- "cHJvdG9idWYuVGltZXN0YW1wEjEKDW5vdF9hZnRlcl91dGMYBSABKAsyGi5n",
- "b29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmRlcl9iYXNlNjQYBiABKAki",
- "WQoWVmVyaWZ5RmFpbHVyZUtpbmRWYWx1ZRI/CgV2YWx1ZRgBIAEoDjIwLnNj",
- "YWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlZlcmlmeUZhaWx1cmVLaW5kRHRv",
- "IsABChdWZXJpZnlFbmRwb2ludFJlc3VsdER0bxIPCgdzdWNjZXNzGAEgASgI",
- "EkgKDGZhaWx1cmVfa2luZBgCIAEoCzIyLnNjYWRhYnJpZGdlLnNpdGVjb21t",
- "YW5kLnYxLlZlcmlmeUZhaWx1cmVLaW5kVmFsdWUSDQoFZXJyb3IYAyABKAkS",
- "OwoEY2VydBgEIAEoCzItLnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlNl",
- "cnZlckNlcnRJbmZvRHRvInUKGVRydXN0U2VydmVyQ2VydENvbW1hbmREdG8S",
- "FwoPY29ubmVjdGlvbl9uYW1lGAEgASgJEhIKCmRlcl9iYXNlNjQYAiABKAkS",
- "EgoKdGh1bWJwcmludBgDIAEoCRIXCg9zaXRlX2lkZW50aWZpZXIYBCABKAki",
- "NAoZTGlzdFNlcnZlckNlcnRzQ29tbWFuZER0bxIXCg9zaXRlX2lkZW50aWZp",
- "ZXIYASABKAkiSQoaUmVtb3ZlU2VydmVyQ2VydENvbW1hbmREdG8SEgoKdGh1",
- "bWJwcmludBgBIAEoCRIXCg9zaXRlX2lkZW50aWZpZXIYAiABKAkiwgEKElRy",
- "dXN0ZWRDZXJ0SW5mb0R0bxISCgp0aHVtYnByaW50GAEgASgJEg8KB3N1Ympl",
- "Y3QYAiABKAkSDgoGaXNzdWVyGAMgASgJEjIKDm5vdF9iZWZvcmVfdXRjGAQg",
- "ASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIxCg1ub3RfYWZ0ZXJf",
- "dXRjGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIQCghyZWpl",
- "Y3RlZBgGIAEoCCJXChZUcnVzdGVkQ2VydEluZm9MaXN0RHRvEj0KBWl0ZW1z",
- "GAEgAygLMi4uc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuVHJ1c3RlZENl",
- "cnRJbmZvRHRvIncKEkNlcnRUcnVzdFJlc3VsdER0bxIPCgdzdWNjZXNzGAEg",
- "ASgIEg0KBWVycm9yGAIgASgJEkEKBWNlcnRzGAMgASgLMjIuc2NhZGFicmlk",
- "Z2Uuc2l0ZWNvbW1hbmQudjEuVHJ1c3RlZENlcnRJbmZvTGlzdER0byK9AQoS",
- "V3JpdGVUYWdSZXF1ZXN0RHRvEhYKDmNvcnJlbGF0aW9uX2lkGAEgASgJEhcK",
- "D2Nvbm5lY3Rpb25fbmFtZRgCIAEoCRIQCgh0YWdfcGF0aBgDIAEoCRI1CgV2",
- "YWx1ZRgEIAEoCzImLnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLkxvb3Nl",
- "VmFsdWUSLQoJdGltZXN0YW1wGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRp",
- "bWVzdGFtcCKEAQoTV3JpdGVUYWdSZXNwb25zZUR0bxIWCg5jb3JyZWxhdGlv",
- "bl9pZBgBIAEoCRIPCgdzdWNjZXNzGAIgASgIEhUKDWVycm9yX21lc3NhZ2UY",
- "AyABKAkSLQoJdGltZXN0YW1wGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRp",
- "bWVzdGFtcCKgBQoMT3BjVWFSZXF1ZXN0EkcKC2Jyb3dzZV9ub2RlGAEgASgL",
- "MjAuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuQnJvd3NlTm9kZUNvbW1h",
- "bmREdG9IABJYChRzZWFyY2hfYWRkcmVzc19zcGFjZRgCIAEoCzI4LnNjYWRh",
- "YnJpZGdlLnNpdGVjb21tYW5kLnYxLlNlYXJjaEFkZHJlc3NTcGFjZUNvbW1h",
- "bmREdG9IABJOCg9yZWFkX3RhZ192YWx1ZXMYAyABKAsyMy5zY2FkYWJyaWRn",
- "ZS5zaXRlY29tbWFuZC52MS5SZWFkVGFnVmFsdWVzQ29tbWFuZER0b0gAEk8K",
- "D3ZlcmlmeV9lbmRwb2ludBgEIAEoCzI0LnNjYWRhYnJpZGdlLnNpdGVjb21t",
- "YW5kLnYxLlZlcmlmeUVuZHBvaW50Q29tbWFuZER0b0gAElIKEXRydXN0X3Nl",
- "cnZlcl9jZXJ0GAUgASgLMjUuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEu",
- "VHJ1c3RTZXJ2ZXJDZXJ0Q29tbWFuZER0b0gAElIKEWxpc3Rfc2VydmVyX2Nl",
- "cnRzGAYgASgLMjUuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuTGlzdFNl",
- "cnZlckNlcnRzQ29tbWFuZER0b0gAElQKEnJlbW92ZV9zZXJ2ZXJfY2VydBgH",
- "IAEoCzI2LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlJlbW92ZVNlcnZl",
- "ckNlcnRDb21tYW5kRHRvSAASQwoJd3JpdGVfdGFnGAggASgLMi4uc2NhZGFi",
- "cmlkZ2Uuc2l0ZWNvbW1hbmQudjEuV3JpdGVUYWdSZXF1ZXN0RHRvSABCCQoH",
- "Y29tbWFuZCLhAwoKT3BjVWFSZXBseRJGCgticm93c2Vfbm9kZRgBIAEoCzIv",
- "LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLkJyb3dzZU5vZGVSZXN1bHRE",
- "dG9IABJXChRzZWFyY2hfYWRkcmVzc19zcGFjZRgCIAEoCzI3LnNjYWRhYnJp",
- "ZGdlLnNpdGVjb21tYW5kLnYxLlNlYXJjaEFkZHJlc3NTcGFjZVJlc3VsdER0",
- "b0gAEk0KD3JlYWRfdGFnX3ZhbHVlcxgDIAEoCzIyLnNjYWRhYnJpZGdlLnNp",
- "dGVjb21tYW5kLnYxLlJlYWRUYWdWYWx1ZXNSZXN1bHREdG9IABJOCg92ZXJp",
- "ZnlfZW5kcG9pbnQYBCABKAsyMy5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52",
- "MS5WZXJpZnlFbmRwb2ludFJlc3VsdER0b0gAEkQKCmNlcnRfdHJ1c3QYBSAB",
- "KAsyLi5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5DZXJ0VHJ1c3RSZXN1",
- "bHREdG9IABJECgl3cml0ZV90YWcYBiABKAsyLy5zY2FkYWJyaWRnZS5zaXRl",
- "Y29tbWFuZC52MS5Xcml0ZVRhZ1Jlc3BvbnNlRHRvSABCBwoFcmVwbHkixQIK",
- "F0V2ZW50TG9nUXVlcnlSZXF1ZXN0RHRvEhYKDmNvcnJlbGF0aW9uX2lkGAEg",
- "ASgJEg8KB3NpdGVfaWQYAiABKAkSKAoEZnJvbRgDIAEoCzIaLmdvb2dsZS5w",
- "cm90b2J1Zi5UaW1lc3RhbXASJgoCdG8YBCABKAsyGi5nb29nbGUucHJvdG9i",
- "dWYuVGltZXN0YW1wEhIKCmV2ZW50X3R5cGUYBSABKAkSEAoIc2V2ZXJpdHkY",
- "BiABKAkSEwoLaW5zdGFuY2VfaWQYByABKAkSFgoOa2V5d29yZF9maWx0ZXIY",
- "CCABKAkSGgoSY29udGludWF0aW9uX3Rva2VuGAkgASgJEhEKCXBhZ2Vfc2l6",
- "ZRgKIAEoBRItCgl0aW1lc3RhbXAYCyABKAsyGi5nb29nbGUucHJvdG9idWYu",
- "VGltZXN0YW1wIroBChBFdmVudExvZ0VudHJ5RHRvEgoKAmlkGAEgASgJEi0K",
- "CXRpbWVzdGFtcBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAS",
- "EgoKZXZlbnRfdHlwZRgDIAEoCRIQCghzZXZlcml0eRgEIAEoCRITCgtpbnN0",
- "YW5jZV9pZBgFIAEoCRIOCgZzb3VyY2UYBiABKAkSDwoHbWVzc2FnZRgHIAEo",
- "CRIPCgdkZXRhaWxzGAggASgJIocCChhFdmVudExvZ1F1ZXJ5UmVzcG9uc2VE",
- "dG8SFgoOY29ycmVsYXRpb25faWQYASABKAkSDwoHc2l0ZV9pZBgCIAEoCRI9",
- "CgdlbnRyaWVzGAMgAygLMiwuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEu",
- "RXZlbnRMb2dFbnRyeUR0bxIaChJjb250aW51YXRpb25fdG9rZW4YBCABKAkS",
- "EAoIaGFzX21vcmUYBSABKAgSDwoHc3VjY2VzcxgGIAEoCBIVCg1lcnJvcl9t",
- "ZXNzYWdlGAcgASgJEi0KCXRpbWVzdGFtcBgIIAEoCzIaLmdvb2dsZS5wcm90",
- "b2J1Zi5UaW1lc3RhbXAiZAoXRGVidWdTbmFwc2hvdFJlcXVlc3REdG8SHAoU",
- "aW5zdGFuY2VfdW5pcXVlX25hbWUYASABKAkSFgoOY29ycmVsYXRpb25faWQY",
- "AiABKAkSEwoLYWxhcm1zX29ubHkYAyABKAgiVAocU3Vic2NyaWJlRGVidWdW",
- "aWV3UmVxdWVzdER0bxIcChRpbnN0YW5jZV91bmlxdWVfbmFtZRgBIAEoCRIW",
- "Cg5jb3JyZWxhdGlvbl9pZBgCIAEoCSJWCh5VbnN1YnNjcmliZURlYnVnVmll",
- "d1JlcXVlc3REdG8SHAoUaW5zdGFuY2VfdW5pcXVlX25hbWUYASABKAkSFgoO",
- "Y29ycmVsYXRpb25faWQYAiABKAkiHAoaVW5zdWJzY3JpYmVEZWJ1Z1ZpZXdB",
- "Y2tEdG8i1AEKFkFsYXJtQ29uZGl0aW9uU3RhdGVEdG8SDgoGYWN0aXZlGAEg",
- "ASgIEhQKDGFja25vd2xlZGdlZBgCIAEoCBItCgljb25maXJtZWQYAyABKAsy",
- "Gi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlEj8KBnNoZWx2ZRgEIAEoDjIv",
- "LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLkFsYXJtU2hlbHZlU3RhdGVE",
- "dG8SEgoKc3VwcHJlc3NlZBgFIAEoCBIQCghzZXZlcml0eRgGIAEoBSLdAQoW",
- "RGVidWdBdHRyaWJ1dGVWYWx1ZUR0bxIcChRpbnN0YW5jZV91bmlxdWVfbmFt",
- "ZRgBIAEoCRIWCg5hdHRyaWJ1dGVfcGF0aBgCIAEoCRIWCg5hdHRyaWJ1dGVf",
- "bmFtZRgDIAEoCRI1CgV2YWx1ZRgEIAEoCzImLnNjYWRhYnJpZGdlLnNpdGVj",
- "b21tYW5kLnYxLkxvb3NlVmFsdWUSDwoHcXVhbGl0eRgFIAEoCRItCgl0aW1l",
- "c3RhbXAYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIq8FChJE",
- "ZWJ1Z0FsYXJtU3RhdGVEdG8SHAoUaW5zdGFuY2VfdW5pcXVlX25hbWUYASAB",
- "KAkSEgoKYWxhcm1fbmFtZRgCIAEoCRI4CgVzdGF0ZRgDIAEoDjIpLnNjYWRh",
- "YnJpZGdlLnNpdGVjb21tYW5kLnYxLkFsYXJtU3RhdGVEdG8SEAoIcHJpb3Jp",
- "dHkYBCABKAUSLQoJdGltZXN0YW1wGAUgASgLMhouZ29vZ2xlLnByb3RvYnVm",
- "LlRpbWVzdGFtcBI4CgVsZXZlbBgGIAEoDjIpLnNjYWRhYnJpZGdlLnNpdGVj",
- "b21tYW5kLnYxLkFsYXJtTGV2ZWxEdG8SDwoHbWVzc2FnZRgHIAEoCRI2CgRr",
- "aW5kGAggASgOMiguc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuQWxhcm1L",
- "aW5kRHRvEkUKCWNvbmRpdGlvbhgJIAEoCzIyLnNjYWRhYnJpZGdlLnNpdGVj",
- "b21tYW5kLnYxLkFsYXJtQ29uZGl0aW9uU3RhdGVEdG8SGAoQc291cmNlX3Jl",
- "ZmVyZW5jZRgKIAEoCRIXCg9hbGFybV90eXBlX25hbWUYCyABKAkSEAoIY2F0",
- "ZWdvcnkYDCABKAkSFQoNb3BlcmF0b3JfdXNlchgNIAEoCRIYChBvcGVyYXRv",
- "cl9jb21tZW50GA4gASgJEjcKE29yaWdpbmFsX3JhaXNlX3RpbWUYDyABKAsy",
- "Gi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhUKDWN1cnJlbnRfdmFsdWUY",
- "ECABKAkSEwoLbGltaXRfdmFsdWUYESABKAkSJAocbmF0aXZlX3NvdXJjZV9j",
- "YW5vbmljYWxfbmFtZRgSIAEoCRIhChlpc19jb25maWd1cmVkX3BsYWNlaG9s",
- "ZGVyGBMgASgIIpwCChREZWJ1Z1ZpZXdTbmFwc2hvdER0bxIcChRpbnN0YW5j",
- "ZV91bmlxdWVfbmFtZRgBIAEoCRJMChBhdHRyaWJ1dGVfdmFsdWVzGAIgAygL",
- "MjIuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuRGVidWdBdHRyaWJ1dGVW",
- "YWx1ZUR0bxJECgxhbGFybV9zdGF0ZXMYAyADKAsyLi5zY2FkYWJyaWRnZS5z",
- "aXRlY29tbWFuZC52MS5EZWJ1Z0FsYXJtU3RhdGVEdG8SNgoSc25hcHNob3Rf",
- "dGltZXN0YW1wGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIa",
- "ChJpbnN0YW5jZV9ub3RfZm91bmQYBSABKAgi8AIKDFF1ZXJ5UmVxdWVzdBJO",
- "Cg9ldmVudF9sb2dfcXVlcnkYASABKAsyMy5zY2FkYWJyaWRnZS5zaXRlY29t",
- "bWFuZC52MS5FdmVudExvZ1F1ZXJ5UmVxdWVzdER0b0gAEk0KDmRlYnVnX3Nu",
- "YXBzaG90GAIgASgLMjMuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuRGVi",
- "dWdTbmFwc2hvdFJlcXVlc3REdG9IABJYChRzdWJzY3JpYmVfZGVidWdfdmll",
- "dxgDIAEoCzI4LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlN1YnNjcmli",
- "ZURlYnVnVmlld1JlcXVlc3REdG9IABJcChZ1bnN1YnNjcmliZV9kZWJ1Z192",
- "aWV3GAQgASgLMjouc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuVW5zdWJz",
- "Y3JpYmVEZWJ1Z1ZpZXdSZXF1ZXN0RHRvSABCCQoHY29tbWFuZCKRAgoKUXVl",
- "cnlSZXBseRJPCg9ldmVudF9sb2dfcXVlcnkYASABKAsyNC5zY2FkYWJyaWRn",
- "ZS5zaXRlY29tbWFuZC52MS5FdmVudExvZ1F1ZXJ5UmVzcG9uc2VEdG9IABJP",
- "ChNkZWJ1Z192aWV3X3NuYXBzaG90GAIgASgLMjAuc2NhZGFicmlkZ2Uuc2l0",
- "ZWNvbW1hbmQudjEuRGVidWdWaWV3U25hcHNob3REdG9IABJYChZ1bnN1YnNj",
- "cmliZV9kZWJ1Z192aWV3GAMgASgLMjYuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1h",
- "bmQudjEuVW5zdWJzY3JpYmVEZWJ1Z1ZpZXdBY2tEdG9IAEIHCgVyZXBseSKe",
- "AQocUGFya2VkTWVzc2FnZVF1ZXJ5UmVxdWVzdER0bxIWCg5jb3JyZWxhdGlv",
- "bl9pZBgBIAEoCRIPCgdzaXRlX2lkGAIgASgJEhMKC3BhZ2VfbnVtYmVyGAMg",
- "ASgFEhEKCXBhZ2Vfc2l6ZRgEIAEoBRItCgl0aW1lc3RhbXAYBSABKAsyGi5n",
- "b29nbGUucHJvdG9idWYuVGltZXN0YW1wIvICChVQYXJrZWRNZXNzYWdlRW50",
- "cnlEdG8SEgoKbWVzc2FnZV9pZBgBIAEoCRIVCg10YXJnZXRfc3lzdGVtGAIg",
- "ASgJEhMKC21ldGhvZF9uYW1lGAMgASgJEhUKDWVycm9yX21lc3NhZ2UYBCAB",
- "KAkSFQoNYXR0ZW1wdF9jb3VudBgFIAEoBRI2ChJvcmlnaW5hbF90aW1lc3Rh",
- "bXAYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjoKFmxhc3Rf",
- "YXR0ZW1wdF90aW1lc3RhbXAYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGlt",
- "ZXN0YW1wEhQKDG1heF9hdHRlbXB0cxgIIAEoBRJICghjYXRlZ29yeRgJIAEo",
- "DjI2LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlN0b3JlQW5kRm9yd2Fy",
- "ZENhdGVnb3J5RHRvEhcKD29yaWdpbl9pbnN0YW5jZRgKIAEoCSKhAgodUGFy",
- "a2VkTWVzc2FnZVF1ZXJ5UmVzcG9uc2VEdG8SFgoOY29ycmVsYXRpb25faWQY",
- "ASABKAkSDwoHc2l0ZV9pZBgCIAEoCRJDCghtZXNzYWdlcxgDIAMoCzIxLnNj",
- "YWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlBhcmtlZE1lc3NhZ2VFbnRyeUR0",
- "bxITCgt0b3RhbF9jb3VudBgEIAEoBRITCgtwYWdlX251bWJlchgFIAEoBRIR",
- "CglwYWdlX3NpemUYBiABKAUSDwoHc3VjY2VzcxgHIAEoCBIVCg1lcnJvcl9t",
- "ZXNzYWdlGAggASgJEi0KCXRpbWVzdGFtcBgJIAEoCzIaLmdvb2dsZS5wcm90",
- "b2J1Zi5UaW1lc3RhbXAiigEKHFBhcmtlZE1lc3NhZ2VSZXRyeVJlcXVlc3RE",
- "dG8SFgoOY29ycmVsYXRpb25faWQYASABKAkSDwoHc2l0ZV9pZBgCIAEoCRIS",
- "CgptZXNzYWdlX2lkGAMgASgJEi0KCXRpbWVzdGFtcBgEIAEoCzIaLmdvb2ds",
- "ZS5wcm90b2J1Zi5UaW1lc3RhbXAiXwodUGFya2VkTWVzc2FnZVJldHJ5UmVz",
- "cG9uc2VEdG8SFgoOY29ycmVsYXRpb25faWQYASABKAkSDwoHc3VjY2VzcxgC",
- "IAEoCBIVCg1lcnJvcl9tZXNzYWdlGAMgASgJIowBCh5QYXJrZWRNZXNzYWdl",
- "RGlzY2FyZFJlcXVlc3REdG8SFgoOY29ycmVsYXRpb25faWQYASABKAkSDwoH",
- "c2l0ZV9pZBgCIAEoCRISCgptZXNzYWdlX2lkGAMgASgJEi0KCXRpbWVzdGFt",
- "cBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiYQofUGFya2Vk",
- "TWVzc2FnZURpc2NhcmRSZXNwb25zZUR0bxIWCg5jb3JyZWxhdGlvbl9pZBgB",
- "IAEoCRIPCgdzdWNjZXNzGAIgASgIEhUKDWVycm9yX21lc3NhZ2UYAyABKAki",
- "TwoXUmV0cnlQYXJrZWRPcGVyYXRpb25EdG8SFgoOY29ycmVsYXRpb25faWQY",
- "ASABKAkSHAoUdHJhY2tlZF9vcGVyYXRpb25faWQYAiABKAkiUQoZRGlzY2Fy",
- "ZFBhcmtlZE9wZXJhdGlvbkR0bxIWCg5jb3JyZWxhdGlvbl9pZBgBIAEoCRIc",
- "ChR0cmFja2VkX29wZXJhdGlvbl9pZBgCIAEoCSJdChtQYXJrZWRPcGVyYXRp",
- "b25BY3Rpb25BY2tEdG8SFgoOY29ycmVsYXRpb25faWQYASABKAkSDwoHYXBw",
- "bGllZBgCIAEoCBIVCg1lcnJvcl9tZXNzYWdlGAMgASgJIt4DCg1QYXJrZWRS",
- "ZXF1ZXN0ElgKFHBhcmtlZF9tZXNzYWdlX3F1ZXJ5GAEgASgLMjguc2NhZGFi",
- "cmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUGFya2VkTWVzc2FnZVF1ZXJ5UmVxdWVz",
- "dER0b0gAElgKFHBhcmtlZF9tZXNzYWdlX3JldHJ5GAIgASgLMjguc2NhZGFi",
- "cmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUGFya2VkTWVzc2FnZVJldHJ5UmVxdWVz",
- "dER0b0gAElwKFnBhcmtlZF9tZXNzYWdlX2Rpc2NhcmQYAyABKAsyOi5zY2Fk",
- "YWJyaWRnZS5zaXRlY29tbWFuZC52MS5QYXJrZWRNZXNzYWdlRGlzY2FyZFJl",
- "cXVlc3REdG9IABJVChZyZXRyeV9wYXJrZWRfb3BlcmF0aW9uGAQgASgLMjMu",
- "c2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUmV0cnlQYXJrZWRPcGVyYXRp",
- "b25EdG9IABJZChhkaXNjYXJkX3BhcmtlZF9vcGVyYXRpb24YBSABKAsyNS5z",
- "Y2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5EaXNjYXJkUGFya2VkT3BlcmF0",
- "aW9uRHRvSABCCQoHY29tbWFuZCKHAwoLUGFya2VkUmVwbHkSWQoUcGFya2Vk",
- "X21lc3NhZ2VfcXVlcnkYASABKAsyOS5zY2FkYWJyaWRnZS5zaXRlY29tbWFu",
- "ZC52MS5QYXJrZWRNZXNzYWdlUXVlcnlSZXNwb25zZUR0b0gAElkKFHBhcmtl",
- "ZF9tZXNzYWdlX3JldHJ5GAIgASgLMjkuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1h",
- "bmQudjEuUGFya2VkTWVzc2FnZVJldHJ5UmVzcG9uc2VEdG9IABJdChZwYXJr",
- "ZWRfbWVzc2FnZV9kaXNjYXJkGAMgASgLMjsuc2NhZGFicmlkZ2Uuc2l0ZWNv",
- "bW1hbmQudjEuUGFya2VkTWVzc2FnZURpc2NhcmRSZXNwb25zZUR0b0gAEloK",
- "F3BhcmtlZF9vcGVyYXRpb25fYWN0aW9uGAQgASgLMjcuc2NhZGFicmlkZ2Uu",
- "c2l0ZWNvbW1hbmQudjEuUGFya2VkT3BlcmF0aW9uQWN0aW9uQWNrRHRvSABC",
- "BwoFcmVwbHki7QEKFVJvdXRlVG9DYWxsUmVxdWVzdER0bxIWCg5jb3JyZWxh",
- "dGlvbl9pZBgBIAEoCRIcChRpbnN0YW5jZV91bmlxdWVfbmFtZRgCIAEoCRIT",
- "CgtzY3JpcHRfbmFtZRgDIAEoCRI9CgpwYXJhbWV0ZXJzGAQgASgLMikuc2Nh",
- "ZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuTG9vc2VWYWx1ZU1hcBItCgl0aW1l",
- "c3RhbXAYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhsKE3Bh",
- "cmVudF9leGVjdXRpb25faWQYBiABKAkixQEKFlJvdXRlVG9DYWxsUmVzcG9u",
+ "dWYvd3JhcHBlcnMucHJvdG8aF1Byb3Rvcy9zaXRlc3RyZWFtLnByb3RvIgsK",
+ "CUxvb3NlTnVsbCJHCg5Mb29zZVZhbHVlTGlzdBI1CgVpdGVtcxgBIAMoCzIm",
+ "LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLkxvb3NlVmFsdWUisAEKDUxv",
+ "b3NlVmFsdWVNYXASRwoHZW50cmllcxgBIAMoCzI2LnNjYWRhYnJpZGdlLnNp",
+ "dGVjb21tYW5kLnYxLkxvb3NlVmFsdWVNYXAuRW50cmllc0VudHJ5GlYKDEVu",
+ "dHJpZXNFbnRyeRILCgNrZXkYASABKAkSNQoFdmFsdWUYAiABKAsyJi5zY2Fk",
+ "YWJyaWRnZS5zaXRlY29tbWFuZC52MS5Mb29zZVZhbHVlOgI4ASKSBAoKTG9v",
+ "c2VWYWx1ZRI7CgpudWxsX3ZhbHVlGAEgASgLMiUuc2NhZGFicmlkZ2Uuc2l0",
+ "ZWNvbW1hbmQudjEuTG9vc2VOdWxsSAASFAoKYm9vbF92YWx1ZRgCIAEoCEgA",
+ "EhUKC2ludDMyX3ZhbHVlGAMgASgFSAASFQoLaW50NjRfdmFsdWUYBCABKANI",
+ "ABIWCgxkb3VibGVfdmFsdWUYBSABKAFIABIVCgtmbG9hdF92YWx1ZRgGIAEo",
+ "AkgAEhYKDHN0cmluZ192YWx1ZRgHIAEoCUgAEhcKDWRlY2ltYWxfdmFsdWUY",
+ "CCABKAlIABIZCg9kYXRlX3RpbWVfdmFsdWUYCSABKAlIABIgChZkYXRlX3Rp",
+ "bWVfb2Zmc2V0X3ZhbHVlGAogASgJSAASFAoKZ3VpZF92YWx1ZRgLIAEoCUgA",
+ "EhkKD3RpbWVfc3Bhbl92YWx1ZRgMIAEoCUgAEhUKC2J5dGVzX3ZhbHVlGA0g",
+ "ASgMSAASQAoKbGlzdF92YWx1ZRgOIAEoCzIqLnNjYWRhYnJpZGdlLnNpdGVj",
+ "b21tYW5kLnYxLkxvb3NlVmFsdWVMaXN0SAASPgoJbWFwX3ZhbHVlGA8gASgL",
+ "Mikuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuTG9vc2VWYWx1ZU1hcEgA",
+ "EhQKCmpzb25fdmFsdWUYECABKAlIAEIGCgRraW5kIuIBChtSZWZyZXNoRGVw",
+ "bG95bWVudENvbW1hbmREdG8SFQoNZGVwbG95bWVudF9pZBgBIAEoCRIcChRp",
+ "bnN0YW5jZV91bmlxdWVfbmFtZRgCIAEoCRIVCg1yZXZpc2lvbl9oYXNoGAMg",
+ "ASgJEhMKC2RlcGxveWVkX2J5GAQgASgJEi0KCXRpbWVzdGFtcBgFIAEoCzIa",
+ "Lmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHgoWY2VudHJhbF9mZXRjaF9i",
+ "YXNlX3VybBgGIAEoCRITCgtmZXRjaF90b2tlbhgHIAEoCSJ7ChhFbmFibGVJ",
+ "bnN0YW5jZUNvbW1hbmREdG8SEgoKY29tbWFuZF9pZBgBIAEoCRIcChRpbnN0",
+ "YW5jZV91bmlxdWVfbmFtZRgCIAEoCRItCgl0aW1lc3RhbXAYAyABKAsyGi5n",
+ "b29nbGUucHJvdG9idWYuVGltZXN0YW1wInwKGURpc2FibGVJbnN0YW5jZUNv",
+ "bW1hbmREdG8SEgoKY29tbWFuZF9pZBgBIAEoCRIcChRpbnN0YW5jZV91bmlx",
+ "dWVfbmFtZRgCIAEoCRItCgl0aW1lc3RhbXAYAyABKAsyGi5nb29nbGUucHJv",
+ "dG9idWYuVGltZXN0YW1wInsKGERlbGV0ZUluc3RhbmNlQ29tbWFuZER0bxIS",
+ "Cgpjb21tYW5kX2lkGAEgASgJEhwKFGluc3RhbmNlX3VuaXF1ZV9uYW1lGAIg",
+ "ASgJEi0KCXRpbWVzdGFtcBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1l",
+ "c3RhbXAihQEKHkRlcGxveW1lbnRTdGF0ZVF1ZXJ5UmVxdWVzdER0bxIWCg5j",
+ "b3JyZWxhdGlvbl9pZBgBIAEoCRIcChRpbnN0YW5jZV91bmlxdWVfbmFtZRgC",
+ "IAEoCRItCgl0aW1lc3RhbXAYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGlt",
+ "ZXN0YW1wIm8KF1NoYXJlZFNjcmlwdEFydGlmYWN0RHRvEgwKBG5hbWUYASAB",
+ "KAkSDAoEY29kZRgCIAEoCRIdChVwYXJhbWV0ZXJfZGVmaW5pdGlvbnMYAyAB",
+ "KAkSGQoRcmV0dXJuX2RlZmluaXRpb24YBCABKAki7QEKGUV4dGVybmFsU3lz",
+ "dGVtQXJ0aWZhY3REdG8SDAoEbmFtZRgBIAEoCRIUCgxlbmRwb2ludF91cmwY",
+ "AiABKAkSEQoJYXV0aF90eXBlGAMgASgJEhoKEmF1dGhfY29uZmlndXJhdGlv",
+ "bhgEIAEoCRIfChdtZXRob2RfZGVmaW5pdGlvbnNfanNvbhgFIAEoCRIXCg90",
+ "aW1lb3V0X3NlY29uZHMYBiABKAUSEwoLbWF4X3JldHJpZXMYByABKAUSLgoL",
+ "cmV0cnlfZGVsYXkYCCABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24i",
+ "jQEKHURhdGFiYXNlQ29ubmVjdGlvbkFydGlmYWN0RHRvEgwKBG5hbWUYASAB",
+ "KAkSGQoRY29ubmVjdGlvbl9zdHJpbmcYAiABKAkSEwoLbWF4X3JldHJpZXMY",
+ "AyABKAUSLgoLcmV0cnlfZGVsYXkYBCABKAsyGS5nb29nbGUucHJvdG9idWYu",
+ "RHVyYXRpb24iRQobTm90aWZpY2F0aW9uTGlzdEFydGlmYWN0RHRvEgwKBG5h",
+ "bWUYASABKAkSGAoQcmVjaXBpZW50X2VtYWlscxgCIAMoCSKgAQoZRGF0YUNv",
+ "bm5lY3Rpb25BcnRpZmFjdER0bxIMCgRuYW1lGAEgASgJEhAKCHByb3RvY29s",
+ "GAIgASgJEiIKGnByaW1hcnlfY29uZmlndXJhdGlvbl9qc29uGAMgASgJEiEK",
+ "GWJhY2t1cF9jb25maWd1cmF0aW9uX2pzb24YBCABKAkSHAoUZmFpbG92ZXJf",
+ "cmV0cnlfY291bnQYBSABKAUirQEKHFNtdHBDb25maWd1cmF0aW9uQXJ0aWZh",
+ "Y3REdG8SDAoEbmFtZRgBIAEoCRIOCgZzZXJ2ZXIYAiABKAkSDAoEcG9ydBgD",
+ "IAEoBRIRCglhdXRoX21vZGUYBCABKAkSFAoMZnJvbV9hZGRyZXNzGAUgASgJ",
+ "EhAKCHVzZXJuYW1lGAYgASgJEhAKCHBhc3N3b3JkGAcgASgJEhQKDG9hdXRo",
+ "X2NvbmZpZxgIIAEoCSJhChtTaGFyZWRTY3JpcHRBcnRpZmFjdExpc3REdG8S",
+ "QgoFaXRlbXMYASADKAsyMy5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5T",
+ "aGFyZWRTY3JpcHRBcnRpZmFjdER0byJlCh1FeHRlcm5hbFN5c3RlbUFydGlm",
+ "YWN0TGlzdER0bxJECgVpdGVtcxgBIAMoCzI1LnNjYWRhYnJpZGdlLnNpdGVj",
+ "b21tYW5kLnYxLkV4dGVybmFsU3lzdGVtQXJ0aWZhY3REdG8ibQohRGF0YWJh",
+ "c2VDb25uZWN0aW9uQXJ0aWZhY3RMaXN0RHRvEkgKBWl0ZW1zGAEgAygLMjku",
+ "c2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuRGF0YWJhc2VDb25uZWN0aW9u",
+ "QXJ0aWZhY3REdG8iaQofTm90aWZpY2F0aW9uTGlzdEFydGlmYWN0TGlzdER0",
+ "bxJGCgVpdGVtcxgBIAMoCzI3LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYx",
+ "Lk5vdGlmaWNhdGlvbkxpc3RBcnRpZmFjdER0byJlCh1EYXRhQ29ubmVjdGlv",
+ "bkFydGlmYWN0TGlzdER0bxJECgVpdGVtcxgBIAMoCzI1LnNjYWRhYnJpZGdl",
+ "LnNpdGVjb21tYW5kLnYxLkRhdGFDb25uZWN0aW9uQXJ0aWZhY3REdG8iawog",
+ "U210cENvbmZpZ3VyYXRpb25BcnRpZmFjdExpc3REdG8SRwoFaXRlbXMYASAD",
+ "KAsyOC5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5TbXRwQ29uZmlndXJh",
+ "dGlvbkFydGlmYWN0RHRvIu0EChlEZXBsb3lBcnRpZmFjdHNDb21tYW5kRHRv",
+ "EhUKDWRlcGxveW1lbnRfaWQYASABKAkSTwoOc2hhcmVkX3NjcmlwdHMYAiAB",
+ "KAsyNy5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5TaGFyZWRTY3JpcHRB",
+ "cnRpZmFjdExpc3REdG8SUwoQZXh0ZXJuYWxfc3lzdGVtcxgDIAEoCzI5LnNj",
+ "YWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLkV4dGVybmFsU3lzdGVtQXJ0aWZh",
+ "Y3RMaXN0RHRvElsKFGRhdGFiYXNlX2Nvbm5lY3Rpb25zGAQgASgLMj0uc2Nh",
+ "ZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuRGF0YWJhc2VDb25uZWN0aW9uQXJ0",
+ "aWZhY3RMaXN0RHRvElcKEm5vdGlmaWNhdGlvbl9saXN0cxgFIAEoCzI7LnNj",
+ "YWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLk5vdGlmaWNhdGlvbkxpc3RBcnRp",
+ "ZmFjdExpc3REdG8SUwoQZGF0YV9jb25uZWN0aW9ucxgGIAEoCzI5LnNjYWRh",
+ "YnJpZGdlLnNpdGVjb21tYW5kLnYxLkRhdGFDb25uZWN0aW9uQXJ0aWZhY3RM",
+ "aXN0RHRvElkKE3NtdHBfY29uZmlndXJhdGlvbnMYByABKAsyPC5zY2FkYWJy",
+ "aWRnZS5zaXRlY29tbWFuZC52MS5TbXRwQ29uZmlndXJhdGlvbkFydGlmYWN0",
+ "TGlzdER0bxItCgl0aW1lc3RhbXAYCCABKAsyGi5nb29nbGUucHJvdG9idWYu",
+ "VGltZXN0YW1wItkBChtEZXBsb3ltZW50U3RhdHVzUmVzcG9uc2VEdG8SFQoN",
+ "ZGVwbG95bWVudF9pZBgBIAEoCRIcChRpbnN0YW5jZV91bmlxdWVfbmFtZRgC",
+ "IAEoCRI/CgZzdGF0dXMYAyABKA4yLy5zY2FkYWJyaWRnZS5zaXRlY29tbWFu",
+ "ZC52MS5EZXBsb3ltZW50U3RhdHVzRHRvEhUKDWVycm9yX21lc3NhZ2UYBCAB",
+ "KAkSLQoJdGltZXN0YW1wGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVz",
+ "dGFtcCKnAQocSW5zdGFuY2VMaWZlY3ljbGVSZXNwb25zZUR0bxISCgpjb21t",
+ "YW5kX2lkGAEgASgJEhwKFGluc3RhbmNlX3VuaXF1ZV9uYW1lGAIgASgJEg8K",
+ "B3N1Y2Nlc3MYAyABKAgSFQoNZXJyb3JfbWVzc2FnZRgEIAEoCRItCgl0aW1l",
+ "c3RhbXAYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wItkBCh9E",
+ "ZXBsb3ltZW50U3RhdGVRdWVyeVJlc3BvbnNlRHRvEhYKDmNvcnJlbGF0aW9u",
+ "X2lkGAEgASgJEhwKFGluc3RhbmNlX3VuaXF1ZV9uYW1lGAIgASgJEhMKC2lz",
+ "X2RlcGxveWVkGAMgASgIEh0KFWFwcGxpZWRfZGVwbG95bWVudF9pZBgEIAEo",
+ "CRIdChVhcHBsaWVkX3JldmlzaW9uX2hhc2gYBSABKAkSLQoJdGltZXN0YW1w",
+ "GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKeAQodQXJ0aWZh",
+ "Y3REZXBsb3ltZW50UmVzcG9uc2VEdG8SFQoNZGVwbG95bWVudF9pZBgBIAEo",
+ "CRIPCgdzaXRlX2lkGAIgASgJEg8KB3N1Y2Nlc3MYAyABKAgSFQoNZXJyb3Jf",
+ "bWVzc2FnZRgEIAEoCRItCgl0aW1lc3RhbXAYBSABKAsyGi5nb29nbGUucHJv",
+ "dG9idWYuVGltZXN0YW1wIpoEChBMaWZlY3ljbGVSZXF1ZXN0ElUKEnJlZnJl",
+ "c2hfZGVwbG95bWVudBgBIAEoCzI3LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5k",
+ "LnYxLlJlZnJlc2hEZXBsb3ltZW50Q29tbWFuZER0b0gAEk8KD2VuYWJsZV9p",
+ "bnN0YW5jZRgCIAEoCzI0LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLkVu",
+ "YWJsZUluc3RhbmNlQ29tbWFuZER0b0gAElEKEGRpc2FibGVfaW5zdGFuY2UY",
+ "AyABKAsyNS5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5EaXNhYmxlSW5z",
+ "dGFuY2VDb21tYW5kRHRvSAASTwoPZGVsZXRlX2luc3RhbmNlGAQgASgLMjQu",
+ "c2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuRGVsZXRlSW5zdGFuY2VDb21t",
+ "YW5kRHRvSAASXAoWZGVwbG95bWVudF9zdGF0ZV9xdWVyeRgFIAEoCzI6LnNj",
+ "YWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLkRlcGxveW1lbnRTdGF0ZVF1ZXJ5",
+ "UmVxdWVzdER0b0gAElEKEGRlcGxveV9hcnRpZmFjdHMYBiABKAsyNS5zY2Fk",
+ "YWJyaWRnZS5zaXRlY29tbWFuZC52MS5EZXBsb3lBcnRpZmFjdHNDb21tYW5k",
+ "RHRvSABCCQoHY29tbWFuZCKAAwoOTGlmZWN5Y2xlUmVwbHkSVAoRZGVwbG95",
+ "bWVudF9zdGF0dXMYASABKAsyNy5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52",
+ "MS5EZXBsb3ltZW50U3RhdHVzUmVzcG9uc2VEdG9IABJWChJpbnN0YW5jZV9s",
+ "aWZlY3ljbGUYAiABKAsyOC5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5J",
+ "bnN0YW5jZUxpZmVjeWNsZVJlc3BvbnNlRHRvSAASXQoWZGVwbG95bWVudF9z",
+ "dGF0ZV9xdWVyeRgDIAEoCzI7LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYx",
+ "LkRlcGxveW1lbnRTdGF0ZVF1ZXJ5UmVzcG9uc2VEdG9IABJYChNhcnRpZmFj",
+ "dF9kZXBsb3ltZW50GAQgASgLMjkuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQu",
+ "djEuQXJ0aWZhY3REZXBsb3ltZW50UmVzcG9uc2VEdG9IAEIHCgVyZXBseSJ8",
+ "ChRCcm93c2VOb2RlQ29tbWFuZER0bxIXCg9jb25uZWN0aW9uX25hbWUYASAB",
+ "KAkSFgoOcGFyZW50X25vZGVfaWQYAiABKAkSGgoSY29udGludWF0aW9uX3Rv",
+ "a2VuGAMgASgJEhcKD3NpdGVfaWRlbnRpZmllchgEIAEoCSKCAgoNQnJvd3Nl",
+ "Tm9kZUR0bxIPCgdub2RlX2lkGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEo",
+ "CRJCCgpub2RlX2NsYXNzGAMgASgOMi4uc2NhZGFicmlkZ2Uuc2l0ZWNvbW1h",
+ "bmQudjEuQnJvd3NlTm9kZUNsYXNzRHRvEhQKDGhhc19jaGlsZHJlbhgEIAEo",
+ "CBIRCglkYXRhX3R5cGUYBSABKAkSLwoKdmFsdWVfcmFuaxgGIAEoCzIbLmdv",
+ "b2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlEiwKCHdyaXRhYmxlGAcgASgLMhou",
+ "Z29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZSJjChBCcm93c2VGYWlsdXJlRHRv",
+ "Ej4KBGtpbmQYASABKA4yMC5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5C",
+ "cm93c2VGYWlsdXJlS2luZER0bxIPCgdtZXNzYWdlGAIgASgJIsABChNCcm93",
+ "c2VOb2RlUmVzdWx0RHRvEjsKCGNoaWxkcmVuGAEgAygLMikuc2NhZGFicmlk",
+ "Z2Uuc2l0ZWNvbW1hbmQudjEuQnJvd3NlTm9kZUR0bxIRCgl0cnVuY2F0ZWQY",
+ "AiABKAgSPQoHZmFpbHVyZRgDIAEoCzIsLnNjYWRhYnJpZGdlLnNpdGVjb21t",
+ "YW5kLnYxLkJyb3dzZUZhaWx1cmVEdG8SGgoSY29udGludWF0aW9uX3Rva2Vu",
+ "GAQgASgJIocBChxTZWFyY2hBZGRyZXNzU3BhY2VDb21tYW5kRHRvEhcKD2Nv",
+ "bm5lY3Rpb25fbmFtZRgBIAEoCRINCgVxdWVyeRgCIAEoCRIRCgltYXhfZGVw",
+ "dGgYAyABKAUSEwoLbWF4X3Jlc3VsdHMYBCABKAUSFwoPc2l0ZV9pZGVudGlm",
+ "aWVyGAUgASgJIl0KFEFkZHJlc3NTcGFjZU1hdGNoRHRvEjcKBG5vZGUYASAB",
+ "KAsyKS5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5Ccm93c2VOb2RlRHRv",
+ "EgwKBHBhdGgYAiABKAkitAEKG1NlYXJjaEFkZHJlc3NTcGFjZVJlc3VsdER0",
+ "bxJBCgdtYXRjaGVzGAEgAygLMjAuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQu",
+ "djEuQWRkcmVzc1NwYWNlTWF0Y2hEdG8SEwoLY2FwX3JlYWNoZWQYAiABKAgS",
+ "PQoHZmFpbHVyZRgDIAEoCzIsLnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYx",
+ "LkJyb3dzZUZhaWx1cmVEdG8iRQoXUmVhZFRhZ1ZhbHVlc0NvbW1hbmREdG8S",
+ "FwoPY29ubmVjdGlvbl9uYW1lGAEgASgJEhEKCXRhZ19wYXRocxgCIAMoCSLE",
+ "AQoRVGFnUmVhZE91dGNvbWVEdG8SEAoIdGFnX3BhdGgYASABKAkSDwoHc3Vj",
+ "Y2VzcxgCIAEoCBI1CgV2YWx1ZRgDIAEoCzImLnNjYWRhYnJpZGdlLnNpdGVj",
+ "b21tYW5kLnYxLkxvb3NlVmFsdWUSDwoHcXVhbGl0eRgEIAEoCRItCgl0aW1l",
+ "c3RhbXAYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhUKDWVy",
+ "cm9yX21lc3NhZ2UYBiABKAkicQoXUmVhZFRhZ1ZhbHVlc0ZhaWx1cmVEdG8S",
+ "RQoEa2luZBgBIAEoDjI3LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlJl",
+ "YWRUYWdWYWx1ZXNGYWlsdXJlS2luZER0bxIPCgdtZXNzYWdlGAIgASgJIp8B",
+ "ChZSZWFkVGFnVmFsdWVzUmVzdWx0RHRvEj8KCG91dGNvbWVzGAEgAygLMi0u",
+ "c2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuVGFnUmVhZE91dGNvbWVEdG8S",
+ "RAoHZmFpbHVyZRgCIAEoCzIzLnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYx",
+ "LlJlYWRUYWdWYWx1ZXNGYWlsdXJlRHRvInMKGFZlcmlmeUVuZHBvaW50Q29t",
+ "bWFuZER0bxIXCg9jb25uZWN0aW9uX25hbWUYASABKAkSEAoIcHJvdG9jb2wY",
+ "AiABKAkSEwoLY29uZmlnX2pzb24YAyABKAkSFwoPc2l0ZV9pZGVudGlmaWVy",
+ "GAQgASgJIsMBChFTZXJ2ZXJDZXJ0SW5mb0R0bxISCgp0aHVtYnByaW50GAEg",
+ "ASgJEg8KB3N1YmplY3QYAiABKAkSDgoGaXNzdWVyGAMgASgJEjIKDm5vdF9i",
+ "ZWZvcmVfdXRjGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIx",
+ "Cg1ub3RfYWZ0ZXJfdXRjGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVz",
+ "dGFtcBISCgpkZXJfYmFzZTY0GAYgASgJIlkKFlZlcmlmeUZhaWx1cmVLaW5k",
+ "VmFsdWUSPwoFdmFsdWUYASABKA4yMC5zY2FkYWJyaWRnZS5zaXRlY29tbWFu",
+ "ZC52MS5WZXJpZnlGYWlsdXJlS2luZER0byLAAQoXVmVyaWZ5RW5kcG9pbnRS",
+ "ZXN1bHREdG8SDwoHc3VjY2VzcxgBIAEoCBJICgxmYWlsdXJlX2tpbmQYAiAB",
+ "KAsyMi5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5WZXJpZnlGYWlsdXJl",
+ "S2luZFZhbHVlEg0KBWVycm9yGAMgASgJEjsKBGNlcnQYBCABKAsyLS5zY2Fk",
+ "YWJyaWRnZS5zaXRlY29tbWFuZC52MS5TZXJ2ZXJDZXJ0SW5mb0R0byJ1ChlU",
+ "cnVzdFNlcnZlckNlcnRDb21tYW5kRHRvEhcKD2Nvbm5lY3Rpb25fbmFtZRgB",
+ "IAEoCRISCgpkZXJfYmFzZTY0GAIgASgJEhIKCnRodW1icHJpbnQYAyABKAkS",
+ "FwoPc2l0ZV9pZGVudGlmaWVyGAQgASgJIjQKGUxpc3RTZXJ2ZXJDZXJ0c0Nv",
+ "bW1hbmREdG8SFwoPc2l0ZV9pZGVudGlmaWVyGAEgASgJIkkKGlJlbW92ZVNl",
+ "cnZlckNlcnRDb21tYW5kRHRvEhIKCnRodW1icHJpbnQYASABKAkSFwoPc2l0",
+ "ZV9pZGVudGlmaWVyGAIgASgJIsIBChJUcnVzdGVkQ2VydEluZm9EdG8SEgoK",
+ "dGh1bWJwcmludBgBIAEoCRIPCgdzdWJqZWN0GAIgASgJEg4KBmlzc3VlchgD",
+ "IAEoCRIyCg5ub3RfYmVmb3JlX3V0YxgEIAEoCzIaLmdvb2dsZS5wcm90b2J1",
+ "Zi5UaW1lc3RhbXASMQoNbm90X2FmdGVyX3V0YxgFIAEoCzIaLmdvb2dsZS5w",
+ "cm90b2J1Zi5UaW1lc3RhbXASEAoIcmVqZWN0ZWQYBiABKAgiVwoWVHJ1c3Rl",
+ "ZENlcnRJbmZvTGlzdER0bxI9CgVpdGVtcxgBIAMoCzIuLnNjYWRhYnJpZGdl",
+ "LnNpdGVjb21tYW5kLnYxLlRydXN0ZWRDZXJ0SW5mb0R0byJ3ChJDZXJ0VHJ1",
+ "c3RSZXN1bHREdG8SDwoHc3VjY2VzcxgBIAEoCBINCgVlcnJvchgCIAEoCRJB",
+ "CgVjZXJ0cxgDIAEoCzIyLnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlRy",
+ "dXN0ZWRDZXJ0SW5mb0xpc3REdG8ivQEKEldyaXRlVGFnUmVxdWVzdER0bxIW",
+ "Cg5jb3JyZWxhdGlvbl9pZBgBIAEoCRIXCg9jb25uZWN0aW9uX25hbWUYAiAB",
+ "KAkSEAoIdGFnX3BhdGgYAyABKAkSNQoFdmFsdWUYBCABKAsyJi5zY2FkYWJy",
+ "aWRnZS5zaXRlY29tbWFuZC52MS5Mb29zZVZhbHVlEi0KCXRpbWVzdGFtcBgF",
+ "IAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAihAEKE1dyaXRlVGFn",
+ "UmVzcG9uc2VEdG8SFgoOY29ycmVsYXRpb25faWQYASABKAkSDwoHc3VjY2Vz",
+ "cxgCIAEoCBIVCg1lcnJvcl9tZXNzYWdlGAMgASgJEi0KCXRpbWVzdGFtcBgE",
+ "IAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAioAUKDE9wY1VhUmVx",
+ "dWVzdBJHCgticm93c2Vfbm9kZRgBIAEoCzIwLnNjYWRhYnJpZGdlLnNpdGVj",
+ "b21tYW5kLnYxLkJyb3dzZU5vZGVDb21tYW5kRHRvSAASWAoUc2VhcmNoX2Fk",
+ "ZHJlc3Nfc3BhY2UYAiABKAsyOC5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52",
+ "MS5TZWFyY2hBZGRyZXNzU3BhY2VDb21tYW5kRHRvSAASTgoPcmVhZF90YWdf",
+ "dmFsdWVzGAMgASgLMjMuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUmVh",
+ "ZFRhZ1ZhbHVlc0NvbW1hbmREdG9IABJPCg92ZXJpZnlfZW5kcG9pbnQYBCAB",
+ "KAsyNC5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5WZXJpZnlFbmRwb2lu",
+ "dENvbW1hbmREdG9IABJSChF0cnVzdF9zZXJ2ZXJfY2VydBgFIAEoCzI1LnNj",
+ "YWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlRydXN0U2VydmVyQ2VydENvbW1h",
+ "bmREdG9IABJSChFsaXN0X3NlcnZlcl9jZXJ0cxgGIAEoCzI1LnNjYWRhYnJp",
+ "ZGdlLnNpdGVjb21tYW5kLnYxLkxpc3RTZXJ2ZXJDZXJ0c0NvbW1hbmREdG9I",
+ "ABJUChJyZW1vdmVfc2VydmVyX2NlcnQYByABKAsyNi5zY2FkYWJyaWRnZS5z",
+ "aXRlY29tbWFuZC52MS5SZW1vdmVTZXJ2ZXJDZXJ0Q29tbWFuZER0b0gAEkMK",
+ "CXdyaXRlX3RhZxgIIAEoCzIuLnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYx",
+ "LldyaXRlVGFnUmVxdWVzdER0b0gAQgkKB2NvbW1hbmQi4QMKCk9wY1VhUmVw",
+ "bHkSRgoLYnJvd3NlX25vZGUYASABKAsyLy5zY2FkYWJyaWRnZS5zaXRlY29t",
+ "bWFuZC52MS5Ccm93c2VOb2RlUmVzdWx0RHRvSAASVwoUc2VhcmNoX2FkZHJl",
+ "c3Nfc3BhY2UYAiABKAsyNy5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5T",
+ "ZWFyY2hBZGRyZXNzU3BhY2VSZXN1bHREdG9IABJNCg9yZWFkX3RhZ192YWx1",
+ "ZXMYAyABKAsyMi5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5SZWFkVGFn",
+ "VmFsdWVzUmVzdWx0RHRvSAASTgoPdmVyaWZ5X2VuZHBvaW50GAQgASgLMjMu",
+ "c2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuVmVyaWZ5RW5kcG9pbnRSZXN1",
+ "bHREdG9IABJECgpjZXJ0X3RydXN0GAUgASgLMi4uc2NhZGFicmlkZ2Uuc2l0",
+ "ZWNvbW1hbmQudjEuQ2VydFRydXN0UmVzdWx0RHRvSAASRAoJd3JpdGVfdGFn",
+ "GAYgASgLMi8uc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuV3JpdGVUYWdS",
+ "ZXNwb25zZUR0b0gAQgcKBXJlcGx5IsUCChdFdmVudExvZ1F1ZXJ5UmVxdWVz",
+ "dER0bxIWCg5jb3JyZWxhdGlvbl9pZBgBIAEoCRIPCgdzaXRlX2lkGAIgASgJ",
+ "EigKBGZyb20YAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiYK",
+ "AnRvGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBISCgpldmVu",
+ "dF90eXBlGAUgASgJEhAKCHNldmVyaXR5GAYgASgJEhMKC2luc3RhbmNlX2lk",
+ "GAcgASgJEhYKDmtleXdvcmRfZmlsdGVyGAggASgJEhoKEmNvbnRpbnVhdGlv",
+ "bl90b2tlbhgJIAEoCRIRCglwYWdlX3NpemUYCiABKAUSLQoJdGltZXN0YW1w",
+ "GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCK6AQoQRXZlbnRM",
+ "b2dFbnRyeUR0bxIKCgJpZBgBIAEoCRItCgl0aW1lc3RhbXAYAiABKAsyGi5n",
+ "b29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmV2ZW50X3R5cGUYAyABKAkS",
+ "EAoIc2V2ZXJpdHkYBCABKAkSEwoLaW5zdGFuY2VfaWQYBSABKAkSDgoGc291",
+ "cmNlGAYgASgJEg8KB21lc3NhZ2UYByABKAkSDwoHZGV0YWlscxgIIAEoCSKH",
+ "AgoYRXZlbnRMb2dRdWVyeVJlc3BvbnNlRHRvEhYKDmNvcnJlbGF0aW9uX2lk",
+ "GAEgASgJEg8KB3NpdGVfaWQYAiABKAkSPQoHZW50cmllcxgDIAMoCzIsLnNj",
+ "YWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLkV2ZW50TG9nRW50cnlEdG8SGgoS",
+ "Y29udGludWF0aW9uX3Rva2VuGAQgASgJEhAKCGhhc19tb3JlGAUgASgIEg8K",
+ "B3N1Y2Nlc3MYBiABKAgSFQoNZXJyb3JfbWVzc2FnZRgHIAEoCRItCgl0aW1l",
+ "c3RhbXAYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wImQKF0Rl",
+ "YnVnU25hcHNob3RSZXF1ZXN0RHRvEhwKFGluc3RhbmNlX3VuaXF1ZV9uYW1l",
+ "GAEgASgJEhYKDmNvcnJlbGF0aW9uX2lkGAIgASgJEhMKC2FsYXJtc19vbmx5",
+ "GAMgASgIIlQKHFN1YnNjcmliZURlYnVnVmlld1JlcXVlc3REdG8SHAoUaW5z",
+ "dGFuY2VfdW5pcXVlX25hbWUYASABKAkSFgoOY29ycmVsYXRpb25faWQYAiAB",
+ "KAkiVgoeVW5zdWJzY3JpYmVEZWJ1Z1ZpZXdSZXF1ZXN0RHRvEhwKFGluc3Rh",
+ "bmNlX3VuaXF1ZV9uYW1lGAEgASgJEhYKDmNvcnJlbGF0aW9uX2lkGAIgASgJ",
+ "IhwKGlVuc3Vic2NyaWJlRGVidWdWaWV3QWNrRHRvItQBChZBbGFybUNvbmRp",
+ "dGlvblN0YXRlRHRvEg4KBmFjdGl2ZRgBIAEoCBIUCgxhY2tub3dsZWRnZWQY",
+ "AiABKAgSLQoJY29uZmlybWVkGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJv",
+ "b2xWYWx1ZRI/CgZzaGVsdmUYBCABKA4yLy5zY2FkYWJyaWRnZS5zaXRlY29t",
+ "bWFuZC52MS5BbGFybVNoZWx2ZVN0YXRlRHRvEhIKCnN1cHByZXNzZWQYBSAB",
+ "KAgSEAoIc2V2ZXJpdHkYBiABKAUi3QEKFkRlYnVnQXR0cmlidXRlVmFsdWVE",
+ "dG8SHAoUaW5zdGFuY2VfdW5pcXVlX25hbWUYASABKAkSFgoOYXR0cmlidXRl",
+ "X3BhdGgYAiABKAkSFgoOYXR0cmlidXRlX25hbWUYAyABKAkSNQoFdmFsdWUY",
+ "BCABKAsyJi5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5Mb29zZVZhbHVl",
+ "Eg8KB3F1YWxpdHkYBSABKAkSLQoJdGltZXN0YW1wGAYgASgLMhouZ29vZ2xl",
+ "LnByb3RvYnVmLlRpbWVzdGFtcCKvBQoSRGVidWdBbGFybVN0YXRlRHRvEhwK",
+ "FGluc3RhbmNlX3VuaXF1ZV9uYW1lGAEgASgJEhIKCmFsYXJtX25hbWUYAiAB",
+ "KAkSOAoFc3RhdGUYAyABKA4yKS5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52",
+ "MS5BbGFybVN0YXRlRHRvEhAKCHByaW9yaXR5GAQgASgFEi0KCXRpbWVzdGFt",
+ "cBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOAoFbGV2ZWwY",
+ "BiABKA4yKS5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5BbGFybUxldmVs",
+ "RHRvEg8KB21lc3NhZ2UYByABKAkSNgoEa2luZBgIIAEoDjIoLnNjYWRhYnJp",
+ "ZGdlLnNpdGVjb21tYW5kLnYxLkFsYXJtS2luZER0bxJFCgljb25kaXRpb24Y",
+ "CSABKAsyMi5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5BbGFybUNvbmRp",
+ "dGlvblN0YXRlRHRvEhgKEHNvdXJjZV9yZWZlcmVuY2UYCiABKAkSFwoPYWxh",
+ "cm1fdHlwZV9uYW1lGAsgASgJEhAKCGNhdGVnb3J5GAwgASgJEhUKDW9wZXJh",
+ "dG9yX3VzZXIYDSABKAkSGAoQb3BlcmF0b3JfY29tbWVudBgOIAEoCRI3ChNv",
+ "cmlnaW5hbF9yYWlzZV90aW1lGA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRp",
+ "bWVzdGFtcBIVCg1jdXJyZW50X3ZhbHVlGBAgASgJEhMKC2xpbWl0X3ZhbHVl",
+ "GBEgASgJEiQKHG5hdGl2ZV9zb3VyY2VfY2Fub25pY2FsX25hbWUYEiABKAkS",
+ "IQoZaXNfY29uZmlndXJlZF9wbGFjZWhvbGRlchgTIAEoCCKcAgoURGVidWdW",
+ "aWV3U25hcHNob3REdG8SHAoUaW5zdGFuY2VfdW5pcXVlX25hbWUYASABKAkS",
+ "TAoQYXR0cmlidXRlX3ZhbHVlcxgCIAMoCzIyLnNjYWRhYnJpZGdlLnNpdGVj",
+ "b21tYW5kLnYxLkRlYnVnQXR0cmlidXRlVmFsdWVEdG8SRAoMYWxhcm1fc3Rh",
+ "dGVzGAMgAygLMi4uc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuRGVidWdB",
+ "bGFybVN0YXRlRHRvEjYKEnNuYXBzaG90X3RpbWVzdGFtcBgEIAEoCzIaLmdv",
+ "b2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGgoSaW5zdGFuY2Vfbm90X2ZvdW5k",
+ "GAUgASgIIvACCgxRdWVyeVJlcXVlc3QSTgoPZXZlbnRfbG9nX3F1ZXJ5GAEg",
+ "ASgLMjMuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuRXZlbnRMb2dRdWVy",
+ "eVJlcXVlc3REdG9IABJNCg5kZWJ1Z19zbmFwc2hvdBgCIAEoCzIzLnNjYWRh",
+ "YnJpZGdlLnNpdGVjb21tYW5kLnYxLkRlYnVnU25hcHNob3RSZXF1ZXN0RHRv",
+ "SAASWAoUc3Vic2NyaWJlX2RlYnVnX3ZpZXcYAyABKAsyOC5zY2FkYWJyaWRn",
+ "ZS5zaXRlY29tbWFuZC52MS5TdWJzY3JpYmVEZWJ1Z1ZpZXdSZXF1ZXN0RHRv",
+ "SAASXAoWdW5zdWJzY3JpYmVfZGVidWdfdmlldxgEIAEoCzI6LnNjYWRhYnJp",
+ "ZGdlLnNpdGVjb21tYW5kLnYxLlVuc3Vic2NyaWJlRGVidWdWaWV3UmVxdWVz",
+ "dER0b0gAQgkKB2NvbW1hbmQikQIKClF1ZXJ5UmVwbHkSTwoPZXZlbnRfbG9n",
+ "X3F1ZXJ5GAEgASgLMjQuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuRXZl",
+ "bnRMb2dRdWVyeVJlc3BvbnNlRHRvSAASTwoTZGVidWdfdmlld19zbmFwc2hv",
+ "dBgCIAEoCzIwLnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLkRlYnVnVmll",
+ "d1NuYXBzaG90RHRvSAASWAoWdW5zdWJzY3JpYmVfZGVidWdfdmlldxgDIAEo",
+ "CzI2LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlVuc3Vic2NyaWJlRGVi",
+ "dWdWaWV3QWNrRHRvSABCBwoFcmVwbHkingEKHFBhcmtlZE1lc3NhZ2VRdWVy",
+ "eVJlcXVlc3REdG8SFgoOY29ycmVsYXRpb25faWQYASABKAkSDwoHc2l0ZV9p",
+ "ZBgCIAEoCRITCgtwYWdlX251bWJlchgDIAEoBRIRCglwYWdlX3NpemUYBCAB",
+ "KAUSLQoJdGltZXN0YW1wGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVz",
+ "dGFtcCLyAgoVUGFya2VkTWVzc2FnZUVudHJ5RHRvEhIKCm1lc3NhZ2VfaWQY",
+ "ASABKAkSFQoNdGFyZ2V0X3N5c3RlbRgCIAEoCRITCgttZXRob2RfbmFtZRgD",
+ "IAEoCRIVCg1lcnJvcl9tZXNzYWdlGAQgASgJEhUKDWF0dGVtcHRfY291bnQY",
+ "BSABKAUSNgoSb3JpZ2luYWxfdGltZXN0YW1wGAYgASgLMhouZ29vZ2xlLnBy",
+ "b3RvYnVmLlRpbWVzdGFtcBI6ChZsYXN0X2F0dGVtcHRfdGltZXN0YW1wGAcg",
+ "ASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIUCgxtYXhfYXR0ZW1w",
+ "dHMYCCABKAUSSAoIY2F0ZWdvcnkYCSABKA4yNi5zY2FkYWJyaWRnZS5zaXRl",
+ "Y29tbWFuZC52MS5TdG9yZUFuZEZvcndhcmRDYXRlZ29yeUR0bxIXCg9vcmln",
+ "aW5faW5zdGFuY2UYCiABKAkioQIKHVBhcmtlZE1lc3NhZ2VRdWVyeVJlc3Bv",
+ "bnNlRHRvEhYKDmNvcnJlbGF0aW9uX2lkGAEgASgJEg8KB3NpdGVfaWQYAiAB",
+ "KAkSQwoIbWVzc2FnZXMYAyADKAsyMS5zY2FkYWJyaWRnZS5zaXRlY29tbWFu",
+ "ZC52MS5QYXJrZWRNZXNzYWdlRW50cnlEdG8SEwoLdG90YWxfY291bnQYBCAB",
+ "KAUSEwoLcGFnZV9udW1iZXIYBSABKAUSEQoJcGFnZV9zaXplGAYgASgFEg8K",
+ "B3N1Y2Nlc3MYByABKAgSFQoNZXJyb3JfbWVzc2FnZRgIIAEoCRItCgl0aW1l",
+ "c3RhbXAYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIooBChxQ",
+ "YXJrZWRNZXNzYWdlUmV0cnlSZXF1ZXN0RHRvEhYKDmNvcnJlbGF0aW9uX2lk",
+ "GAEgASgJEg8KB3NpdGVfaWQYAiABKAkSEgoKbWVzc2FnZV9pZBgDIAEoCRIt",
+ "Cgl0aW1lc3RhbXAYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1w",
+ "Il8KHVBhcmtlZE1lc3NhZ2VSZXRyeVJlc3BvbnNlRHRvEhYKDmNvcnJlbGF0",
+ "aW9uX2lkGAEgASgJEg8KB3N1Y2Nlc3MYAiABKAgSFQoNZXJyb3JfbWVzc2Fn",
+ "ZRgDIAEoCSKMAQoeUGFya2VkTWVzc2FnZURpc2NhcmRSZXF1ZXN0RHRvEhYK",
+ "DmNvcnJlbGF0aW9uX2lkGAEgASgJEg8KB3NpdGVfaWQYAiABKAkSEgoKbWVz",
+ "c2FnZV9pZBgDIAEoCRItCgl0aW1lc3RhbXAYBCABKAsyGi5nb29nbGUucHJv",
+ "dG9idWYuVGltZXN0YW1wImEKH1BhcmtlZE1lc3NhZ2VEaXNjYXJkUmVzcG9u",
"c2VEdG8SFgoOY29ycmVsYXRpb25faWQYASABKAkSDwoHc3VjY2VzcxgCIAEo",
- "CBI8CgxyZXR1cm5fdmFsdWUYAyABKAsyJi5zY2FkYWJyaWRnZS5zaXRlY29t",
- "bWFuZC52MS5Mb29zZVZhbHVlEhUKDWVycm9yX21lc3NhZ2UYBCABKAkSLQoJ",
- "dGltZXN0YW1wGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCK7",
- "AQoeUm91dGVUb0dldEF0dHJpYnV0ZXNSZXF1ZXN0RHRvEhYKDmNvcnJlbGF0",
- "aW9uX2lkGAEgASgJEhwKFGluc3RhbmNlX3VuaXF1ZV9uYW1lGAIgASgJEhcK",
- "D2F0dHJpYnV0ZV9uYW1lcxgDIAMoCRItCgl0aW1lc3RhbXAYBCABKAsyGi5n",
- "b29nbGUucHJvdG9idWYuVGltZXN0YW1wEhsKE3BhcmVudF9leGVjdXRpb25f",
- "aWQYBSABKAkiywEKH1JvdXRlVG9HZXRBdHRyaWJ1dGVzUmVzcG9uc2VEdG8S",
- "FgoOY29ycmVsYXRpb25faWQYASABKAkSOQoGdmFsdWVzGAIgASgLMikuc2Nh",
- "ZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuTG9vc2VWYWx1ZU1hcBIPCgdzdWNj",
- "ZXNzGAMgASgIEhUKDWVycm9yX21lc3NhZ2UYBCABKAkSLQoJdGltZXN0YW1w",
- "GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLFAgoeUm91dGVU",
- "b1NldEF0dHJpYnV0ZXNSZXF1ZXN0RHRvEhYKDmNvcnJlbGF0aW9uX2lkGAEg",
- "ASgJEhwKFGluc3RhbmNlX3VuaXF1ZV9uYW1lGAIgASgJEmkKEGF0dHJpYnV0",
- "ZV92YWx1ZXMYAyADKAsyTy5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5S",
- "b3V0ZVRvU2V0QXR0cmlidXRlc1JlcXVlc3REdG8uQXR0cmlidXRlVmFsdWVz",
- "RW50cnkSLQoJdGltZXN0YW1wGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRp",
- "bWVzdGFtcBIbChNwYXJlbnRfZXhlY3V0aW9uX2lkGAUgASgJGjYKFEF0dHJp",
- "YnV0ZVZhbHVlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToC",
- "OAEikAEKH1JvdXRlVG9TZXRBdHRyaWJ1dGVzUmVzcG9uc2VEdG8SFgoOY29y",
- "cmVsYXRpb25faWQYASABKAkSDwoHc3VjY2VzcxgCIAEoCBIVCg1lcnJvcl9t",
- "ZXNzYWdlGAMgASgJEi0KCXRpbWVzdGFtcBgEIAEoCzIaLmdvb2dsZS5wcm90",
- "b2J1Zi5UaW1lc3RhbXAiwwIKIVJvdXRlVG9XYWl0Rm9yQXR0cmlidXRlUmVx",
- "dWVzdER0bxIWCg5jb3JyZWxhdGlvbl9pZBgBIAEoCRIcChRpbnN0YW5jZV91",
- "bmlxdWVfbmFtZRgCIAEoCRIWCg5hdHRyaWJ1dGVfbmFtZRgDIAEoCRI6ChR0",
- "YXJnZXRfdmFsdWVfZW5jb2RlZBgEIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5T",
- "dHJpbmdWYWx1ZRIqCgd0aW1lb3V0GAUgASgLMhkuZ29vZ2xlLnByb3RvYnVm",
- "LkR1cmF0aW9uEi0KCXRpbWVzdGFtcBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1",
- "Zi5UaW1lc3RhbXASGwoTcGFyZW50X2V4ZWN1dGlvbl9pZBgHIAEoCRIcChRy",
- "ZXF1aXJlX2dvb2RfcXVhbGl0eRgIIAEoCCL/AQoiUm91dGVUb1dhaXRGb3JB",
- "dHRyaWJ1dGVSZXNwb25zZUR0bxIWCg5jb3JyZWxhdGlvbl9pZBgBIAEoCRIP",
- "CgdtYXRjaGVkGAIgASgIEjUKBXZhbHVlGAMgASgLMiYuc2NhZGFicmlkZ2Uu",
- "c2l0ZWNvbW1hbmQudjEuTG9vc2VWYWx1ZRIPCgdxdWFsaXR5GAQgASgJEhEK",
- "CXRpbWVkX291dBgFIAEoCBIPCgdzdWNjZXNzGAYgASgIEhUKDWVycm9yX21l",
- "c3NhZ2UYByABKAkSLQoJdGltZXN0YW1wGAggASgLMhouZ29vZ2xlLnByb3Rv",
- "YnVmLlRpbWVzdGFtcCKJAwoMUm91dGVSZXF1ZXN0EkoKDXJvdXRlX3RvX2Nh",
- "bGwYASABKAsyMS5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5Sb3V0ZVRv",
- "Q2FsbFJlcXVlc3REdG9IABJdChdyb3V0ZV90b19nZXRfYXR0cmlidXRlcxgC",
- "IAEoCzI6LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlJvdXRlVG9HZXRB",
- "dHRyaWJ1dGVzUmVxdWVzdER0b0gAEl0KF3JvdXRlX3RvX3NldF9hdHRyaWJ1",
- "dGVzGAMgASgLMjouc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUm91dGVU",
- "b1NldEF0dHJpYnV0ZXNSZXF1ZXN0RHRvSAASZAobcm91dGVfdG9fd2FpdF9m",
- "b3JfYXR0cmlidXRlGAQgASgLMj0uc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQu",
- "djEuUm91dGVUb1dhaXRGb3JBdHRyaWJ1dGVSZXF1ZXN0RHRvSABCCQoHY29t",
- "bWFuZCKJAwoKUm91dGVSZXBseRJLCg1yb3V0ZV90b19jYWxsGAEgASgLMjIu",
- "c2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUm91dGVUb0NhbGxSZXNwb25z",
- "ZUR0b0gAEl4KF3JvdXRlX3RvX2dldF9hdHRyaWJ1dGVzGAIgASgLMjsuc2Nh",
- "ZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUm91dGVUb0dldEF0dHJpYnV0ZXNS",
- "ZXNwb25zZUR0b0gAEl4KF3JvdXRlX3RvX3NldF9hdHRyaWJ1dGVzGAMgASgL",
- "Mjsuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUm91dGVUb1NldEF0dHJp",
- "YnV0ZXNSZXNwb25zZUR0b0gAEmUKG3JvdXRlX3RvX3dhaXRfZm9yX2F0dHJp",
- "YnV0ZRgEIAEoCzI+LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlJvdXRl",
- "VG9XYWl0Rm9yQXR0cmlidXRlUmVzcG9uc2VEdG9IAEIHCgVyZXBseSJBChZU",
- "cmlnZ2VyU2l0ZUZhaWxvdmVyRHRvEhYKDmNvcnJlbGF0aW9uX2lkGAEgASgJ",
- "Eg8KB3NpdGVfaWQYAiABKAkibQoSU2l0ZUZhaWxvdmVyQWNrRHRvEhYKDmNv",
- "cnJlbGF0aW9uX2lkGAEgASgJEhAKCGFjY2VwdGVkGAIgASgIEhYKDnRhcmdl",
- "dF9hZGRyZXNzGAMgASgJEhUKDWVycm9yX21lc3NhZ2UYBCABKAkqywEKE0Rl",
- "cGxveW1lbnRTdGF0dXNEdG8SJQohREVQTE9ZTUVOVF9TVEFUVVNfRFRPX1VO",
- "U1BFQ0lGSUVEEAASIQodREVQTE9ZTUVOVF9TVEFUVVNfRFRPX1BFTkRJTkcQ",
- "ARIlCiFERVBMT1lNRU5UX1NUQVRVU19EVE9fSU5fUFJPR1JFU1MQAhIhCh1E",
- "RVBMT1lNRU5UX1NUQVRVU19EVE9fU1VDQ0VTUxADEiAKHERFUExPWU1FTlRf",
- "U1RBVFVTX0RUT19GQUlMRUQQBCrEAQoSQnJvd3NlTm9kZUNsYXNzRHRvEiUK",
- "IUJST1dTRV9OT0RFX0NMQVNTX0RUT19VTlNQRUNJRklFRBAAEiAKHEJST1dT",
- "RV9OT0RFX0NMQVNTX0RUT19PQkpFQ1QQARIiCh5CUk9XU0VfTk9ERV9DTEFT",
- "U19EVE9fVkFSSUFCTEUQAhIgChxCUk9XU0VfTk9ERV9DTEFTU19EVE9fTUVU",
- "SE9EEAMSHwobQlJPV1NFX05PREVfQ0xBU1NfRFRPX09USEVSEAQqoQIKFEJy",
- "b3dzZUZhaWx1cmVLaW5kRHRvEicKI0JST1dTRV9GQUlMVVJFX0tJTkRfRFRP",
- "X1VOU1BFQ0lGSUVEEAASMAosQlJPV1NFX0ZBSUxVUkVfS0lORF9EVE9fQ09O",
- "TkVDVElPTl9OT1RfRk9VTkQQARI0CjBCUk9XU0VfRkFJTFVSRV9LSU5EX0RU",
- "T19DT05ORUNUSU9OX05PVF9DT05ORUNURUQQAhIpCiVCUk9XU0VfRkFJTFVS",
- "RV9LSU5EX0RUT19OT1RfQlJPV1NBQkxFEAMSIwofQlJPV1NFX0ZBSUxVUkVf",
- "S0lORF9EVE9fVElNRU9VVBAEEigKJEJST1dTRV9GQUlMVVJFX0tJTkRfRFRP",
- "X1NFUlZFUl9FUlJPUhAFKqoCChtSZWFkVGFnVmFsdWVzRmFpbHVyZUtpbmRE",
- "dG8SMAosUkVBRF9UQUdfVkFMVUVTX0ZBSUxVUkVfS0lORF9EVE9fVU5TUEVD",
- "SUZJRUQQABI5CjVSRUFEX1RBR19WQUxVRVNfRkFJTFVSRV9LSU5EX0RUT19D",
- "T05ORUNUSU9OX05PVF9GT1VORBABEj0KOVJFQURfVEFHX1ZBTFVFU19GQUlM",
- "VVJFX0tJTkRfRFRPX0NPTk5FQ1RJT05fTk9UX0NPTk5FQ1RFRBACEiwKKFJF",
- "QURfVEFHX1ZBTFVFU19GQUlMVVJFX0tJTkRfRFRPX1RJTUVPVVQQAxIxCi1S",
- "RUFEX1RBR19WQUxVRVNfRkFJTFVSRV9LSU5EX0RUT19TRVJWRVJfRVJST1IQ",
- "BCqTAgoUVmVyaWZ5RmFpbHVyZUtpbmREdG8SJwojVkVSSUZZX0ZBSUxVUkVf",
- "S0lORF9EVE9fVU5TUEVDSUZJRUQQABInCiNWRVJJRllfRkFJTFVSRV9LSU5E",
- "X0RUT19VTlJFQUNIQUJMRRABEicKI1ZFUklGWV9GQUlMVVJFX0tJTkRfRFRP",
- "X0FVVEhfRkFJTEVEEAISMQotVkVSSUZZX0ZBSUxVUkVfS0lORF9EVE9fVU5U",
- "UlVTVEVEX0NFUlRJRklDQVRFEAMSIwofVkVSSUZZX0ZBSUxVUkVfS0lORF9E",
- "VE9fVElNRU9VVBAEEigKJFZFUklGWV9GQUlMVVJFX0tJTkRfRFRPX1NFUlZF",
- "Ul9FUlJPUhAFKuUBChpTdG9yZUFuZEZvcndhcmRDYXRlZ29yeUR0bxIuCipT",
- "VE9SRV9BTkRfRk9SV0FSRF9DQVRFR09SWV9EVE9fVU5TUEVDSUZJRUQQABIy",
- "Ci5TVE9SRV9BTkRfRk9SV0FSRF9DQVRFR09SWV9EVE9fRVhURVJOQUxfU1lT",
- "VEVNEAESLworU1RPUkVfQU5EX0ZPUldBUkRfQ0FURUdPUllfRFRPX05PVElG",
- "SUNBVElPThACEjIKLlNUT1JFX0FORF9GT1JXQVJEX0NBVEVHT1JZX0RUT19D",
- "QUNIRURfREJfV1JJVEUQAypoCg1BbGFybVN0YXRlRHRvEh8KG0FMQVJNX1NU",
- "QVRFX0RUT19VTlNQRUNJRklFRBAAEhoKFkFMQVJNX1NUQVRFX0RUT19BQ1RJ",
- "VkUQARIaChZBTEFSTV9TVEFURV9EVE9fTk9STUFMEAIquQEKDUFsYXJtTGV2",
- "ZWxEdG8SHwobQUxBUk1fTEVWRUxfRFRPX1VOU1BFQ0lGSUVEEAASGAoUQUxB",
- "Uk1fTEVWRUxfRFRPX05PTkUQARIXChNBTEFSTV9MRVZFTF9EVE9fTE9XEAIS",
- "GwoXQUxBUk1fTEVWRUxfRFRPX0xPV19MT1cQAxIYChRBTEFSTV9MRVZFTF9E",
- "VE9fSElHSBAEEh0KGUFMQVJNX0xFVkVMX0RUT19ISUdIX0hJR0gQBSqSAQoM",
- "QWxhcm1LaW5kRHRvEh4KGkFMQVJNX0tJTkRfRFRPX1VOU1BFQ0lGSUVEEAAS",
- "GwoXQUxBUk1fS0lORF9EVE9fQ09NUFVURUQQARIgChxBTEFSTV9LSU5EX0RU",
- "T19OQVRJVkVfT1BDX1VBEAISIwofQUxBUk1fS0lORF9EVE9fTkFUSVZFX01Y",
- "X0FDQ0VTUxADKugBChNBbGFybVNoZWx2ZVN0YXRlRHRvEiYKIkFMQVJNX1NI",
- "RUxWRV9TVEFURV9EVE9fVU5TUEVDSUZJRUQQABIkCiBBTEFSTV9TSEVMVkVf",
- "U1RBVEVfRFRPX1VOU0hFTFZFRBABEisKJ0FMQVJNX1NIRUxWRV9TVEFURV9E",
- "VE9fT05FX1NIT1RfU0hFTFZFRBACEigKJEFMQVJNX1NIRUxWRV9TVEFURV9E",
- "VE9fVElNRURfU0hFTFZFRBADEiwKKEFMQVJNX1NIRUxWRV9TVEFURV9EVE9f",
- "UEVSTUFORU5UX1NIRUxWRUQQBDKEBQoSU2l0ZUNvbW1hbmRTZXJ2aWNlEmwK",
- "EEV4ZWN1dGVMaWZlY3ljbGUSLC5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52",
- "MS5MaWZlY3ljbGVSZXF1ZXN0Giouc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQu",
- "djEuTGlmZWN5Y2xlUmVwbHkSYAoMRXhlY3V0ZU9wY1VhEiguc2NhZGFicmlk",
- "Z2Uuc2l0ZWNvbW1hbmQudjEuT3BjVWFSZXF1ZXN0GiYuc2NhZGFicmlkZ2Uu",
- "c2l0ZWNvbW1hbmQudjEuT3BjVWFSZXBseRJgCgxFeGVjdXRlUXVlcnkSKC5z",
- "Y2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5RdWVyeVJlcXVlc3QaJi5zY2Fk",
- "YWJyaWRnZS5zaXRlY29tbWFuZC52MS5RdWVyeVJlcGx5EmMKDUV4ZWN1dGVQ",
- "YXJrZWQSKS5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5QYXJrZWRSZXF1",
- "ZXN0Gicuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUGFya2VkUmVwbHkS",
- "YAoMRXhlY3V0ZVJvdXRlEiguc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEu",
- "Um91dGVSZXF1ZXN0GiYuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUm91",
- "dGVSZXBseRJ1Cg9UcmlnZ2VyRmFpbG92ZXISMi5zY2FkYWJyaWRnZS5zaXRl",
- "Y29tbWFuZC52MS5UcmlnZ2VyU2l0ZUZhaWxvdmVyRHRvGi4uc2NhZGFicmlk",
- "Z2Uuc2l0ZWNvbW1hbmQudjEuU2l0ZUZhaWxvdmVyQWNrRHRvQiuqAihaQi5N",
- "T00uV1cuU2NhZGFCcmlkZ2UuQ29tbXVuaWNhdGlvbi5HcnBjYgZwcm90bzM="));
+ "CBIVCg1lcnJvcl9tZXNzYWdlGAMgASgJIk8KF1JldHJ5UGFya2VkT3BlcmF0",
+ "aW9uRHRvEhYKDmNvcnJlbGF0aW9uX2lkGAEgASgJEhwKFHRyYWNrZWRfb3Bl",
+ "cmF0aW9uX2lkGAIgASgJIlEKGURpc2NhcmRQYXJrZWRPcGVyYXRpb25EdG8S",
+ "FgoOY29ycmVsYXRpb25faWQYASABKAkSHAoUdHJhY2tlZF9vcGVyYXRpb25f",
+ "aWQYAiABKAkiXQobUGFya2VkT3BlcmF0aW9uQWN0aW9uQWNrRHRvEhYKDmNv",
+ "cnJlbGF0aW9uX2lkGAEgASgJEg8KB2FwcGxpZWQYAiABKAgSFQoNZXJyb3Jf",
+ "bWVzc2FnZRgDIAEoCSLeAwoNUGFya2VkUmVxdWVzdBJYChRwYXJrZWRfbWVz",
+ "c2FnZV9xdWVyeRgBIAEoCzI4LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYx",
+ "LlBhcmtlZE1lc3NhZ2VRdWVyeVJlcXVlc3REdG9IABJYChRwYXJrZWRfbWVz",
+ "c2FnZV9yZXRyeRgCIAEoCzI4LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYx",
+ "LlBhcmtlZE1lc3NhZ2VSZXRyeVJlcXVlc3REdG9IABJcChZwYXJrZWRfbWVz",
+ "c2FnZV9kaXNjYXJkGAMgASgLMjouc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQu",
+ "djEuUGFya2VkTWVzc2FnZURpc2NhcmRSZXF1ZXN0RHRvSAASVQoWcmV0cnlf",
+ "cGFya2VkX29wZXJhdGlvbhgEIAEoCzIzLnNjYWRhYnJpZGdlLnNpdGVjb21t",
+ "YW5kLnYxLlJldHJ5UGFya2VkT3BlcmF0aW9uRHRvSAASWQoYZGlzY2FyZF9w",
+ "YXJrZWRfb3BlcmF0aW9uGAUgASgLMjUuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1h",
+ "bmQudjEuRGlzY2FyZFBhcmtlZE9wZXJhdGlvbkR0b0gAQgkKB2NvbW1hbmQi",
+ "hwMKC1BhcmtlZFJlcGx5ElkKFHBhcmtlZF9tZXNzYWdlX3F1ZXJ5GAEgASgL",
+ "Mjkuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUGFya2VkTWVzc2FnZVF1",
+ "ZXJ5UmVzcG9uc2VEdG9IABJZChRwYXJrZWRfbWVzc2FnZV9yZXRyeRgCIAEo",
+ "CzI5LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlBhcmtlZE1lc3NhZ2VS",
+ "ZXRyeVJlc3BvbnNlRHRvSAASXQoWcGFya2VkX21lc3NhZ2VfZGlzY2FyZBgD",
+ "IAEoCzI7LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlBhcmtlZE1lc3Nh",
+ "Z2VEaXNjYXJkUmVzcG9uc2VEdG9IABJaChdwYXJrZWRfb3BlcmF0aW9uX2Fj",
+ "dGlvbhgEIAEoCzI3LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlBhcmtl",
+ "ZE9wZXJhdGlvbkFjdGlvbkFja0R0b0gAQgcKBXJlcGx5IvwBChVSb3V0ZVRv",
+ "Q2FsbFJlcXVlc3REdG8SFgoOY29ycmVsYXRpb25faWQYASABKAkSHAoUaW5z",
+ "dGFuY2VfdW5pcXVlX25hbWUYAiABKAkSEwoLc2NyaXB0X25hbWUYAyABKAkS",
+ "PQoKcGFyYW1ldGVycxgEIAEoCzIpLnNjYWRhYnJpZGdlLnNpdGVjb21tYW5k",
+ "LnYxLkxvb3NlVmFsdWVNYXASLQoJdGltZXN0YW1wGAUgASgLMhouZ29vZ2xl",
+ "LnByb3RvYnVmLlRpbWVzdGFtcBIbChNwYXJlbnRfZXhlY3V0aW9uX2lkGAYg",
+ "ASgJEg0KBXRyYWNlGAcgASgIIpICChZSb3V0ZVRvQ2FsbFJlc3BvbnNlRHRv",
+ "EhYKDmNvcnJlbGF0aW9uX2lkGAEgASgJEg8KB3N1Y2Nlc3MYAiABKAgSPAoM",
+ "cmV0dXJuX3ZhbHVlGAMgASgLMiYuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQu",
+ "djEuTG9vc2VWYWx1ZRIVCg1lcnJvcl9tZXNzYWdlGAQgASgJEi0KCXRpbWVz",
+ "dGFtcBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGgoSY2hp",
+ "bGRfZXhlY3V0aW9uX2lkGAYgASgJEi8KDHRyYWNlX2V2ZW50cxgHIAMoCzIZ",
+ "LnNpdGVzdHJlYW0uQXVkaXRFdmVudER0byK7AQoeUm91dGVUb0dldEF0dHJp",
+ "YnV0ZXNSZXF1ZXN0RHRvEhYKDmNvcnJlbGF0aW9uX2lkGAEgASgJEhwKFGlu",
+ "c3RhbmNlX3VuaXF1ZV9uYW1lGAIgASgJEhcKD2F0dHJpYnV0ZV9uYW1lcxgD",
+ "IAMoCRItCgl0aW1lc3RhbXAYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGlt",
+ "ZXN0YW1wEhsKE3BhcmVudF9leGVjdXRpb25faWQYBSABKAkiywEKH1JvdXRl",
+ "VG9HZXRBdHRyaWJ1dGVzUmVzcG9uc2VEdG8SFgoOY29ycmVsYXRpb25faWQY",
+ "ASABKAkSOQoGdmFsdWVzGAIgASgLMikuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1h",
+ "bmQudjEuTG9vc2VWYWx1ZU1hcBIPCgdzdWNjZXNzGAMgASgIEhUKDWVycm9y",
+ "X21lc3NhZ2UYBCABKAkSLQoJdGltZXN0YW1wGAUgASgLMhouZ29vZ2xlLnBy",
+ "b3RvYnVmLlRpbWVzdGFtcCLUAgoeUm91dGVUb1NldEF0dHJpYnV0ZXNSZXF1",
+ "ZXN0RHRvEhYKDmNvcnJlbGF0aW9uX2lkGAEgASgJEhwKFGluc3RhbmNlX3Vu",
+ "aXF1ZV9uYW1lGAIgASgJEmkKEGF0dHJpYnV0ZV92YWx1ZXMYAyADKAsyTy5z",
+ "Y2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5Sb3V0ZVRvU2V0QXR0cmlidXRl",
+ "c1JlcXVlc3REdG8uQXR0cmlidXRlVmFsdWVzRW50cnkSLQoJdGltZXN0YW1w",
+ "GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIbChNwYXJlbnRf",
+ "ZXhlY3V0aW9uX2lkGAUgASgJEg0KBXRyYWNlGAYgASgIGjYKFEF0dHJpYnV0",
+ "ZVZhbHVlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi",
+ "kAEKH1JvdXRlVG9TZXRBdHRyaWJ1dGVzUmVzcG9uc2VEdG8SFgoOY29ycmVs",
+ "YXRpb25faWQYASABKAkSDwoHc3VjY2VzcxgCIAEoCBIVCg1lcnJvcl9tZXNz",
+ "YWdlGAMgASgJEi0KCXRpbWVzdGFtcBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1",
+ "Zi5UaW1lc3RhbXAiwwIKIVJvdXRlVG9XYWl0Rm9yQXR0cmlidXRlUmVxdWVz",
+ "dER0bxIWCg5jb3JyZWxhdGlvbl9pZBgBIAEoCRIcChRpbnN0YW5jZV91bmlx",
+ "dWVfbmFtZRgCIAEoCRIWCg5hdHRyaWJ1dGVfbmFtZRgDIAEoCRI6ChR0YXJn",
+ "ZXRfdmFsdWVfZW5jb2RlZBgEIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJp",
+ "bmdWYWx1ZRIqCgd0aW1lb3V0GAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1",
+ "cmF0aW9uEi0KCXRpbWVzdGFtcBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5U",
+ "aW1lc3RhbXASGwoTcGFyZW50X2V4ZWN1dGlvbl9pZBgHIAEoCRIcChRyZXF1",
+ "aXJlX2dvb2RfcXVhbGl0eRgIIAEoCCL/AQoiUm91dGVUb1dhaXRGb3JBdHRy",
+ "aWJ1dGVSZXNwb25zZUR0bxIWCg5jb3JyZWxhdGlvbl9pZBgBIAEoCRIPCgdt",
+ "YXRjaGVkGAIgASgIEjUKBXZhbHVlGAMgASgLMiYuc2NhZGFicmlkZ2Uuc2l0",
+ "ZWNvbW1hbmQudjEuTG9vc2VWYWx1ZRIPCgdxdWFsaXR5GAQgASgJEhEKCXRp",
+ "bWVkX291dBgFIAEoCBIPCgdzdWNjZXNzGAYgASgIEhUKDWVycm9yX21lc3Nh",
+ "Z2UYByABKAkSLQoJdGltZXN0YW1wGAggASgLMhouZ29vZ2xlLnByb3RvYnVm",
+ "LlRpbWVzdGFtcCKJAwoMUm91dGVSZXF1ZXN0EkoKDXJvdXRlX3RvX2NhbGwY",
+ "ASABKAsyMS5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5Sb3V0ZVRvQ2Fs",
+ "bFJlcXVlc3REdG9IABJdChdyb3V0ZV90b19nZXRfYXR0cmlidXRlcxgCIAEo",
+ "CzI6LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlJvdXRlVG9HZXRBdHRy",
+ "aWJ1dGVzUmVxdWVzdER0b0gAEl0KF3JvdXRlX3RvX3NldF9hdHRyaWJ1dGVz",
+ "GAMgASgLMjouc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUm91dGVUb1Nl",
+ "dEF0dHJpYnV0ZXNSZXF1ZXN0RHRvSAASZAobcm91dGVfdG9fd2FpdF9mb3Jf",
+ "YXR0cmlidXRlGAQgASgLMj0uc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEu",
+ "Um91dGVUb1dhaXRGb3JBdHRyaWJ1dGVSZXF1ZXN0RHRvSABCCQoHY29tbWFu",
+ "ZCKJAwoKUm91dGVSZXBseRJLCg1yb3V0ZV90b19jYWxsGAEgASgLMjIuc2Nh",
+ "ZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUm91dGVUb0NhbGxSZXNwb25zZUR0",
+ "b0gAEl4KF3JvdXRlX3RvX2dldF9hdHRyaWJ1dGVzGAIgASgLMjsuc2NhZGFi",
+ "cmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUm91dGVUb0dldEF0dHJpYnV0ZXNSZXNw",
+ "b25zZUR0b0gAEl4KF3JvdXRlX3RvX3NldF9hdHRyaWJ1dGVzGAMgASgLMjsu",
+ "c2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUm91dGVUb1NldEF0dHJpYnV0",
+ "ZXNSZXNwb25zZUR0b0gAEmUKG3JvdXRlX3RvX3dhaXRfZm9yX2F0dHJpYnV0",
+ "ZRgEIAEoCzI+LnNjYWRhYnJpZGdlLnNpdGVjb21tYW5kLnYxLlJvdXRlVG9X",
+ "YWl0Rm9yQXR0cmlidXRlUmVzcG9uc2VEdG9IAEIHCgVyZXBseSJBChZUcmln",
+ "Z2VyU2l0ZUZhaWxvdmVyRHRvEhYKDmNvcnJlbGF0aW9uX2lkGAEgASgJEg8K",
+ "B3NpdGVfaWQYAiABKAkibQoSU2l0ZUZhaWxvdmVyQWNrRHRvEhYKDmNvcnJl",
+ "bGF0aW9uX2lkGAEgASgJEhAKCGFjY2VwdGVkGAIgASgIEhYKDnRhcmdldF9h",
+ "ZGRyZXNzGAMgASgJEhUKDWVycm9yX21lc3NhZ2UYBCABKAkqywEKE0RlcGxv",
+ "eW1lbnRTdGF0dXNEdG8SJQohREVQTE9ZTUVOVF9TVEFUVVNfRFRPX1VOU1BF",
+ "Q0lGSUVEEAASIQodREVQTE9ZTUVOVF9TVEFUVVNfRFRPX1BFTkRJTkcQARIl",
+ "CiFERVBMT1lNRU5UX1NUQVRVU19EVE9fSU5fUFJPR1JFU1MQAhIhCh1ERVBM",
+ "T1lNRU5UX1NUQVRVU19EVE9fU1VDQ0VTUxADEiAKHERFUExPWU1FTlRfU1RB",
+ "VFVTX0RUT19GQUlMRUQQBCrEAQoSQnJvd3NlTm9kZUNsYXNzRHRvEiUKIUJS",
+ "T1dTRV9OT0RFX0NMQVNTX0RUT19VTlNQRUNJRklFRBAAEiAKHEJST1dTRV9O",
+ "T0RFX0NMQVNTX0RUT19PQkpFQ1QQARIiCh5CUk9XU0VfTk9ERV9DTEFTU19E",
+ "VE9fVkFSSUFCTEUQAhIgChxCUk9XU0VfTk9ERV9DTEFTU19EVE9fTUVUSE9E",
+ "EAMSHwobQlJPV1NFX05PREVfQ0xBU1NfRFRPX09USEVSEAQqoQIKFEJyb3dz",
+ "ZUZhaWx1cmVLaW5kRHRvEicKI0JST1dTRV9GQUlMVVJFX0tJTkRfRFRPX1VO",
+ "U1BFQ0lGSUVEEAASMAosQlJPV1NFX0ZBSUxVUkVfS0lORF9EVE9fQ09OTkVD",
+ "VElPTl9OT1RfRk9VTkQQARI0CjBCUk9XU0VfRkFJTFVSRV9LSU5EX0RUT19D",
+ "T05ORUNUSU9OX05PVF9DT05ORUNURUQQAhIpCiVCUk9XU0VfRkFJTFVSRV9L",
+ "SU5EX0RUT19OT1RfQlJPV1NBQkxFEAMSIwofQlJPV1NFX0ZBSUxVUkVfS0lO",
+ "RF9EVE9fVElNRU9VVBAEEigKJEJST1dTRV9GQUlMVVJFX0tJTkRfRFRPX1NF",
+ "UlZFUl9FUlJPUhAFKqoCChtSZWFkVGFnVmFsdWVzRmFpbHVyZUtpbmREdG8S",
+ "MAosUkVBRF9UQUdfVkFMVUVTX0ZBSUxVUkVfS0lORF9EVE9fVU5TUEVDSUZJ",
+ "RUQQABI5CjVSRUFEX1RBR19WQUxVRVNfRkFJTFVSRV9LSU5EX0RUT19DT05O",
+ "RUNUSU9OX05PVF9GT1VORBABEj0KOVJFQURfVEFHX1ZBTFVFU19GQUlMVVJF",
+ "X0tJTkRfRFRPX0NPTk5FQ1RJT05fTk9UX0NPTk5FQ1RFRBACEiwKKFJFQURf",
+ "VEFHX1ZBTFVFU19GQUlMVVJFX0tJTkRfRFRPX1RJTUVPVVQQAxIxCi1SRUFE",
+ "X1RBR19WQUxVRVNfRkFJTFVSRV9LSU5EX0RUT19TRVJWRVJfRVJST1IQBCqT",
+ "AgoUVmVyaWZ5RmFpbHVyZUtpbmREdG8SJwojVkVSSUZZX0ZBSUxVUkVfS0lO",
+ "RF9EVE9fVU5TUEVDSUZJRUQQABInCiNWRVJJRllfRkFJTFVSRV9LSU5EX0RU",
+ "T19VTlJFQUNIQUJMRRABEicKI1ZFUklGWV9GQUlMVVJFX0tJTkRfRFRPX0FV",
+ "VEhfRkFJTEVEEAISMQotVkVSSUZZX0ZBSUxVUkVfS0lORF9EVE9fVU5UUlVT",
+ "VEVEX0NFUlRJRklDQVRFEAMSIwofVkVSSUZZX0ZBSUxVUkVfS0lORF9EVE9f",
+ "VElNRU9VVBAEEigKJFZFUklGWV9GQUlMVVJFX0tJTkRfRFRPX1NFUlZFUl9F",
+ "UlJPUhAFKuUBChpTdG9yZUFuZEZvcndhcmRDYXRlZ29yeUR0bxIuCipTVE9S",
+ "RV9BTkRfRk9SV0FSRF9DQVRFR09SWV9EVE9fVU5TUEVDSUZJRUQQABIyCi5T",
+ "VE9SRV9BTkRfRk9SV0FSRF9DQVRFR09SWV9EVE9fRVhURVJOQUxfU1lTVEVN",
+ "EAESLworU1RPUkVfQU5EX0ZPUldBUkRfQ0FURUdPUllfRFRPX05PVElGSUNB",
+ "VElPThACEjIKLlNUT1JFX0FORF9GT1JXQVJEX0NBVEVHT1JZX0RUT19DQUNI",
+ "RURfREJfV1JJVEUQAypoCg1BbGFybVN0YXRlRHRvEh8KG0FMQVJNX1NUQVRF",
+ "X0RUT19VTlNQRUNJRklFRBAAEhoKFkFMQVJNX1NUQVRFX0RUT19BQ1RJVkUQ",
+ "ARIaChZBTEFSTV9TVEFURV9EVE9fTk9STUFMEAIquQEKDUFsYXJtTGV2ZWxE",
+ "dG8SHwobQUxBUk1fTEVWRUxfRFRPX1VOU1BFQ0lGSUVEEAASGAoUQUxBUk1f",
+ "TEVWRUxfRFRPX05PTkUQARIXChNBTEFSTV9MRVZFTF9EVE9fTE9XEAISGwoX",
+ "QUxBUk1fTEVWRUxfRFRPX0xPV19MT1cQAxIYChRBTEFSTV9MRVZFTF9EVE9f",
+ "SElHSBAEEh0KGUFMQVJNX0xFVkVMX0RUT19ISUdIX0hJR0gQBSqSAQoMQWxh",
+ "cm1LaW5kRHRvEh4KGkFMQVJNX0tJTkRfRFRPX1VOU1BFQ0lGSUVEEAASGwoX",
+ "QUxBUk1fS0lORF9EVE9fQ09NUFVURUQQARIgChxBTEFSTV9LSU5EX0RUT19O",
+ "QVRJVkVfT1BDX1VBEAISIwofQUxBUk1fS0lORF9EVE9fTkFUSVZFX01YX0FD",
+ "Q0VTUxADKugBChNBbGFybVNoZWx2ZVN0YXRlRHRvEiYKIkFMQVJNX1NIRUxW",
+ "RV9TVEFURV9EVE9fVU5TUEVDSUZJRUQQABIkCiBBTEFSTV9TSEVMVkVfU1RB",
+ "VEVfRFRPX1VOU0hFTFZFRBABEisKJ0FMQVJNX1NIRUxWRV9TVEFURV9EVE9f",
+ "T05FX1NIT1RfU0hFTFZFRBACEigKJEFMQVJNX1NIRUxWRV9TVEFURV9EVE9f",
+ "VElNRURfU0hFTFZFRBADEiwKKEFMQVJNX1NIRUxWRV9TVEFURV9EVE9fUEVS",
+ "TUFORU5UX1NIRUxWRUQQBDKEBQoSU2l0ZUNvbW1hbmRTZXJ2aWNlEmwKEEV4",
+ "ZWN1dGVMaWZlY3ljbGUSLC5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5M",
+ "aWZlY3ljbGVSZXF1ZXN0Giouc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEu",
+ "TGlmZWN5Y2xlUmVwbHkSYAoMRXhlY3V0ZU9wY1VhEiguc2NhZGFicmlkZ2Uu",
+ "c2l0ZWNvbW1hbmQudjEuT3BjVWFSZXF1ZXN0GiYuc2NhZGFicmlkZ2Uuc2l0",
+ "ZWNvbW1hbmQudjEuT3BjVWFSZXBseRJgCgxFeGVjdXRlUXVlcnkSKC5zY2Fk",
+ "YWJyaWRnZS5zaXRlY29tbWFuZC52MS5RdWVyeVJlcXVlc3QaJi5zY2FkYWJy",
+ "aWRnZS5zaXRlY29tbWFuZC52MS5RdWVyeVJlcGx5EmMKDUV4ZWN1dGVQYXJr",
+ "ZWQSKS5zY2FkYWJyaWRnZS5zaXRlY29tbWFuZC52MS5QYXJrZWRSZXF1ZXN0",
+ "Gicuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUGFya2VkUmVwbHkSYAoM",
+ "RXhlY3V0ZVJvdXRlEiguc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUm91",
+ "dGVSZXF1ZXN0GiYuc2NhZGFicmlkZ2Uuc2l0ZWNvbW1hbmQudjEuUm91dGVS",
+ "ZXBseRJ1Cg9UcmlnZ2VyRmFpbG92ZXISMi5zY2FkYWJyaWRnZS5zaXRlY29t",
+ "bWFuZC52MS5UcmlnZ2VyU2l0ZUZhaWxvdmVyRHRvGi4uc2NhZGFicmlkZ2Uu",
+ "c2l0ZWNvbW1hbmQudjEuU2l0ZUZhaWxvdmVyQWNrRHRvQiuqAihaQi5NT00u",
+ "V1cuU2NhZGFCcmlkZ2UuQ29tbXVuaWNhdGlvbi5HcnBjYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
- new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.TimestampReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.DurationReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.WrappersReflection.Descriptor, },
+ new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.TimestampReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.DurationReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.WrappersReflection.Descriptor, global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.SitestreamReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.DeploymentStatusDto), typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseNodeClassDto), typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.BrowseFailureKindDto), typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ReadTagValuesFailureKindDto), typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.VerifyFailureKindDto), typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.StoreAndForwardCategoryDto), typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmStateDto), typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmLevelDto), typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmKindDto), typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AlarmShelveStateDto), }, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseNull), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseNull.Parser, null, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueList), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.LooseValueList.Parser, new[]{ "Items" }, null, null, null, null),
@@ -578,11 +581,11 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedOperationActionAckDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedOperationActionAckDto.Parser, new[]{ "CorrelationId", "Applied", "ErrorMessage" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedRequest), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedRequest.Parser, new[]{ "ParkedMessageQuery", "ParkedMessageRetry", "ParkedMessageDiscard", "RetryParkedOperation", "DiscardParkedOperation" }, new[]{ "Command" }, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedReply), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.ParkedReply.Parser, new[]{ "ParkedMessageQuery", "ParkedMessageRetry", "ParkedMessageDiscard", "ParkedOperationAction" }, new[]{ "Reply" }, null, null, null),
- new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallRequestDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallRequestDto.Parser, new[]{ "CorrelationId", "InstanceUniqueName", "ScriptName", "Parameters", "Timestamp", "ParentExecutionId" }, null, null, null, null),
- new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallResponseDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallResponseDto.Parser, new[]{ "CorrelationId", "Success", "ReturnValue", "ErrorMessage", "Timestamp" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallRequestDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallRequestDto.Parser, new[]{ "CorrelationId", "InstanceUniqueName", "ScriptName", "Parameters", "Timestamp", "ParentExecutionId", "Trace" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallResponseDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToCallResponseDto.Parser, new[]{ "CorrelationId", "Success", "ReturnValue", "ErrorMessage", "Timestamp", "ChildExecutionId", "TraceEvents" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToGetAttributesRequestDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToGetAttributesRequestDto.Parser, new[]{ "CorrelationId", "InstanceUniqueName", "AttributeNames", "Timestamp", "ParentExecutionId" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToGetAttributesResponseDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToGetAttributesResponseDto.Parser, new[]{ "CorrelationId", "Values", "Success", "ErrorMessage", "Timestamp" }, null, null, null, null),
- new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesRequestDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesRequestDto.Parser, new[]{ "CorrelationId", "InstanceUniqueName", "AttributeValues", "Timestamp", "ParentExecutionId" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
+ new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesRequestDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesRequestDto.Parser, new[]{ "CorrelationId", "InstanceUniqueName", "AttributeValues", "Timestamp", "ParentExecutionId", "Trace" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesResponseDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToSetAttributesResponseDto.Parser, new[]{ "CorrelationId", "Success", "ErrorMessage", "Timestamp" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToWaitForAttributeRequestDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToWaitForAttributeRequestDto.Parser, new[]{ "CorrelationId", "InstanceUniqueName", "AttributeName", "TargetValueEncoded", "Timeout", "Timestamp", "ParentExecutionId", "RequireGoodQuality" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToWaitForAttributeResponseDto), global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.RouteToWaitForAttributeResponseDto.Parser, new[]{ "CorrelationId", "Matched", "Value", "Quality", "TimedOut", "Success", "ErrorMessage", "Timestamp" }, null, null, null, null),
@@ -27496,6 +27499,7 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
parameters_ = other.parameters_ != null ? other.parameters_.Clone() : null;
timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
parentExecutionId_ = other.parentExecutionId_;
+ trace_ = other.trace_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -27583,6 +27587,22 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
}
}
+ /// Field number for the "trace" field.
+ public const int TraceFieldNumber = 7;
+ private bool trace_;
+ ///
+ /// Flow Debugger trace flag (design 2026-09-05 §5.2). proto3 default false = untraced,
+ /// which is what an older central sends and what an older site reads.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Trace {
+ get { return trace_; }
+ set {
+ trace_ = value;
+ }
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -27604,6 +27624,7 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
if (!object.Equals(Parameters, other.Parameters)) return false;
if (!object.Equals(Timestamp, other.Timestamp)) return false;
if (ParentExecutionId != other.ParentExecutionId) return false;
+ if (Trace != other.Trace) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -27617,6 +27638,7 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
if (parameters_ != null) hash ^= Parameters.GetHashCode();
if (timestamp_ != null) hash ^= Timestamp.GetHashCode();
if (ParentExecutionId.Length != 0) hash ^= ParentExecutionId.GetHashCode();
+ if (Trace != false) hash ^= Trace.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -27659,6 +27681,10 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
output.WriteRawTag(50);
output.WriteString(ParentExecutionId);
}
+ if (Trace != false) {
+ output.WriteRawTag(56);
+ output.WriteBool(Trace);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -27693,6 +27719,10 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
output.WriteRawTag(50);
output.WriteString(ParentExecutionId);
}
+ if (Trace != false) {
+ output.WriteRawTag(56);
+ output.WriteBool(Trace);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -27721,6 +27751,9 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
if (ParentExecutionId.Length != 0) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(ParentExecutionId);
}
+ if (Trace != false) {
+ size += 1 + 1;
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -27757,6 +27790,9 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
if (other.ParentExecutionId.Length != 0) {
ParentExecutionId = other.ParentExecutionId;
}
+ if (other.Trace != false) {
+ Trace = other.Trace;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -27806,6 +27842,10 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
ParentExecutionId = input.ReadString();
break;
}
+ case 56: {
+ Trace = input.ReadBool();
+ break;
+ }
}
}
#endif
@@ -27855,6 +27895,10 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
ParentExecutionId = input.ReadString();
break;
}
+ case 56: {
+ Trace = input.ReadBool();
+ break;
+ }
}
}
}
@@ -27902,6 +27946,8 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
returnValue_ = other.returnValue_ != null ? other.returnValue_.Clone() : null;
errorMessage_ = other.errorMessage_;
timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
+ childExecutionId_ = other.childExecutionId_;
+ traceEvents_ = other.traceEvents_.Clone();
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -27977,6 +28023,37 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
}
}
+ /// Field number for the "child_execution_id" field.
+ public const int ChildExecutionIdFieldNumber = 6;
+ private string childExecutionId_ = "";
+ ///
+ /// Flow Debugger (design §5.4): the routed site run's ExecutionId ("D" GUID form;
+ /// empty represents null — an older site never sets it).
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public string ChildExecutionId {
+ get { return childExecutionId_; }
+ set {
+ childExecutionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// Field number for the "trace_events" field.
+ public const int TraceEventsFieldNumber = 7;
+ private static readonly pb::FieldCodec _repeated_traceEvents_codec
+ = pb::FieldCodec.ForMessage(58, global::ZB.MOM.WW.ScadaBridge.Communication.Grpc.AuditEventDto.Parser);
+ private readonly pbc::RepeatedField traceEvents_ = new pbc::RepeatedField();
+ ///
+ /// Flow Debugger (design §5.4): the site's ScriptTrace audit events for a traced run,
+ /// in emission order. Empty from an untraced run or an older site (mapper => null).
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public pbc::RepeatedField TraceEvents {
+ get { return traceEvents_; }
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -27997,6 +28074,8 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
if (!object.Equals(ReturnValue, other.ReturnValue)) return false;
if (ErrorMessage != other.ErrorMessage) return false;
if (!object.Equals(Timestamp, other.Timestamp)) return false;
+ if (ChildExecutionId != other.ChildExecutionId) return false;
+ if(!traceEvents_.Equals(other.traceEvents_)) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -28009,6 +28088,8 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
if (returnValue_ != null) hash ^= ReturnValue.GetHashCode();
if (ErrorMessage.Length != 0) hash ^= ErrorMessage.GetHashCode();
if (timestamp_ != null) hash ^= Timestamp.GetHashCode();
+ if (ChildExecutionId.Length != 0) hash ^= ChildExecutionId.GetHashCode();
+ hash ^= traceEvents_.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -28047,6 +28128,11 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
output.WriteRawTag(42);
output.WriteMessage(Timestamp);
}
+ if (ChildExecutionId.Length != 0) {
+ output.WriteRawTag(50);
+ output.WriteString(ChildExecutionId);
+ }
+ traceEvents_.WriteTo(output, _repeated_traceEvents_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -28077,6 +28163,11 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
output.WriteRawTag(42);
output.WriteMessage(Timestamp);
}
+ if (ChildExecutionId.Length != 0) {
+ output.WriteRawTag(50);
+ output.WriteString(ChildExecutionId);
+ }
+ traceEvents_.WriteTo(ref output, _repeated_traceEvents_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -28102,6 +28193,10 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
if (timestamp_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Timestamp);
}
+ if (ChildExecutionId.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(ChildExecutionId);
+ }
+ size += traceEvents_.CalculateSize(_repeated_traceEvents_codec);
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -28135,6 +28230,10 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
}
Timestamp.MergeFrom(other.Timestamp);
}
+ if (other.ChildExecutionId.Length != 0) {
+ ChildExecutionId = other.ChildExecutionId;
+ }
+ traceEvents_.Add(other.traceEvents_);
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -28180,6 +28279,14 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
input.ReadMessage(Timestamp);
break;
}
+ case 50: {
+ ChildExecutionId = input.ReadString();
+ break;
+ }
+ case 58: {
+ traceEvents_.AddEntriesFrom(input, _repeated_traceEvents_codec);
+ break;
+ }
}
}
#endif
@@ -28225,6 +28332,14 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
input.ReadMessage(Timestamp);
break;
}
+ case 50: {
+ ChildExecutionId = input.ReadString();
+ break;
+ }
+ case 58: {
+ traceEvents_.AddEntriesFrom(ref input, _repeated_traceEvents_codec);
+ break;
+ }
}
}
}
@@ -28989,6 +29104,7 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
attributeValues_ = other.attributeValues_.Clone();
timestamp_ = other.timestamp_ != null ? other.timestamp_.Clone() : null;
parentExecutionId_ = other.parentExecutionId_;
+ trace_ = other.trace_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
@@ -29060,6 +29176,21 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
}
}
+ /// Field number for the "trace" field.
+ public const int TraceFieldNumber = 6;
+ private bool trace_;
+ ///
+ /// Flow Debugger trace flag (design 2026-09-05 §5.2/§5.3): arms the echo stamp.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
+ public bool Trace {
+ get { return trace_; }
+ set {
+ trace_ = value;
+ }
+ }
+
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
@@ -29080,6 +29211,7 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
if (!AttributeValues.Equals(other.AttributeValues)) return false;
if (!object.Equals(Timestamp, other.Timestamp)) return false;
if (ParentExecutionId != other.ParentExecutionId) return false;
+ if (Trace != other.Trace) return false;
return Equals(_unknownFields, other._unknownFields);
}
@@ -29092,6 +29224,7 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
hash ^= AttributeValues.GetHashCode();
if (timestamp_ != null) hash ^= Timestamp.GetHashCode();
if (ParentExecutionId.Length != 0) hash ^= ParentExecutionId.GetHashCode();
+ if (Trace != false) hash ^= Trace.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
@@ -29127,6 +29260,10 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
output.WriteRawTag(42);
output.WriteString(ParentExecutionId);
}
+ if (Trace != false) {
+ output.WriteRawTag(48);
+ output.WriteBool(Trace);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
@@ -29154,6 +29291,10 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
output.WriteRawTag(42);
output.WriteString(ParentExecutionId);
}
+ if (Trace != false) {
+ output.WriteRawTag(48);
+ output.WriteBool(Trace);
+ }
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
@@ -29177,6 +29318,9 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
if (ParentExecutionId.Length != 0) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(ParentExecutionId);
}
+ if (Trace != false) {
+ size += 1 + 1;
+ }
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
@@ -29205,6 +29349,9 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
if (other.ParentExecutionId.Length != 0) {
ParentExecutionId = other.ParentExecutionId;
}
+ if (other.Trace != false) {
+ Trace = other.Trace;
+ }
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
@@ -29247,6 +29394,10 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
ParentExecutionId = input.ReadString();
break;
}
+ case 48: {
+ Trace = input.ReadBool();
+ break;
+ }
}
}
#endif
@@ -29289,6 +29440,10 @@ namespace ZB.MOM.WW.ScadaBridge.Communication.Grpc {
ParentExecutionId = input.ReadString();
break;
}
+ case 48: {
+ Trace = input.ReadBool();
+ break;
+ }
}
}
}
diff --git a/tests/ZB.MOM.WW.ScadaBridge.Communication.Tests/SiteCommandDtoMapperTraceTests.cs b/tests/ZB.MOM.WW.ScadaBridge.Communication.Tests/SiteCommandDtoMapperTraceTests.cs
new file mode 100644
index 00000000..55725b41
--- /dev/null
+++ b/tests/ZB.MOM.WW.ScadaBridge.Communication.Tests/SiteCommandDtoMapperTraceTests.cs
@@ -0,0 +1,95 @@
+using ZB.MOM.WW.ScadaBridge.Commons.Messages.InboundApi;
+using ZB.MOM.WW.ScadaBridge.Commons.Types.Audit;
+using ZB.MOM.WW.ScadaBridge.Commons.Types.Debugging;
+using ZB.MOM.WW.ScadaBridge.Commons.Types.Enums;
+using ZB.MOM.WW.ScadaBridge.Communication.Grpc;
+
+namespace ZB.MOM.WW.ScadaBridge.Communication.Tests;
+
+///
+/// Flow Debugger (design 2026-09-05 §5.2/§5.4): the site_command.proto trace fields — the
+/// trace flag on both route requests, and child_execution_id +
+/// trace_events on the call response — round-trip through
+/// , and an old-shape DTO (no fields set) maps to the
+/// untraced defaults.
+///
+public class SiteCommandDtoMapperTraceTests
+{
+ private static readonly DateTimeOffset T = new(2026, 9, 5, 12, 0, 0, TimeSpan.Zero);
+
+ [Fact]
+ public void RouteToCallResponse_RoundTrips_ChildExecutionId_AndTraceEvents()
+ {
+ var child = Guid.NewGuid();
+ var run = ScadaBridgeAuditEventFactory.Create(AuditChannel.ScriptTrace, AuditKind.ScriptRun, AuditStatus.Delivered,
+ occurredAtUtc: T.UtcDateTime, actor: "ScriptActor:S", target: "S", sourceNode: "node-b",
+ executionId: child, parentExecutionId: Guid.NewGuid(), sourceSiteId: "site-a", durationMs: 40,
+ requestSummary: "{\"x\":1}", responseSummary: "\"ok\"",
+ extra: new ScriptTraceExtra { TriggerKind = "call" }.ToJson());
+ var write = ScadaBridgeAuditEventFactory.Create(AuditChannel.ScriptTrace, AuditKind.AttributeWrite, AuditStatus.Delivered,
+ occurredAtUtc: T.UtcDateTime.AddMilliseconds(5), actor: "ScriptActor:S", target: "A", executionId: child,
+ extra: new ScriptTraceExtra { Writes = [new AttributeWriteDetail("A", "1", true, null)] }.ToJson());
+ var original = new RouteToCallResponse("c", true, 7L, null, T, child, [run, write]);
+
+ var restored = SiteCommandDtoMapper.FromProto(SiteCommandDtoMapper.ToProto(original));
+
+ Assert.Equal(child, restored.ChildExecutionId);
+ Assert.NotNull(restored.TraceEvents);
+ Assert.Equal(2, restored.TraceEvents!.Count);
+ Assert.Equal(run.Action, restored.TraceEvents[0].Action);
+ Assert.Equal(run.DetailsJson, restored.TraceEvents[0].DetailsJson);
+ Assert.Equal(write.EventId, restored.TraceEvents[1].EventId);
+ Assert.Equal(original, restored with { TraceEvents = original.TraceEvents });
+ Assert.Equal(run, restored.TraceEvents[0]);
+ }
+
+ [Fact]
+ public void OldShapeDtos_MapToUntracedDefaults()
+ {
+ // A DTO from a site/central that predates the fields: proto3 defaults everywhere.
+ var call = SiteCommandDtoMapper.FromProto(new RouteToCallRequestDto
+ {
+ CorrelationId = "c", InstanceUniqueName = "i", ScriptName = "s",
+ Timestamp = Google.Protobuf.WellKnownTypes.Timestamp.FromDateTimeOffset(T),
+ });
+ Assert.False(call.Trace);
+
+ var set = SiteCommandDtoMapper.FromProto(new RouteToSetAttributesRequestDto
+ {
+ CorrelationId = "c", InstanceUniqueName = "i",
+ Timestamp = Google.Protobuf.WellKnownTypes.Timestamp.FromDateTimeOffset(T),
+ });
+ Assert.False(set.Trace);
+
+ var reply = SiteCommandDtoMapper.FromProto(new RouteToCallResponseDto
+ {
+ CorrelationId = "c", Success = true,
+ Timestamp = Google.Protobuf.WellKnownTypes.Timestamp.FromDateTimeOffset(T),
+ });
+ Assert.Null(reply.ChildExecutionId);
+ Assert.Null(reply.TraceEvents);
+ }
+
+ [Fact]
+ public void TraceFlag_PropagatesOnBothRequests()
+ {
+ var call = new RouteToCallRequest("c", "i", "s", null, T, Guid.NewGuid(), Trace: true);
+ Assert.True(SiteCommandDtoMapper.ToProto(call).Trace);
+ Assert.True(SiteCommandDtoMapper.FromProto(SiteCommandDtoMapper.ToProto(call)).Trace);
+
+ var set = new RouteToSetAttributesRequest("c", "i", new Dictionary { ["a"] = "1" }, T, Guid.NewGuid(), Trace: true);
+ Assert.True(SiteCommandDtoMapper.ToProto(set).Trace);
+ Assert.True(SiteCommandDtoMapper.FromProto(SiteCommandDtoMapper.ToProto(set)).Trace);
+ }
+
+ [Fact]
+ public void EmptyTraceEventsList_MapsToNull_NotEmpty()
+ {
+ // An untraced run sends none; the CLR side distinguishes "none" (null) so the UI can
+ // label the site lane — an empty list would read as "traced, did nothing".
+ var original = new RouteToCallResponse("c", true, null, null, T, Guid.NewGuid(), Array.Empty());
+ var restored = SiteCommandDtoMapper.FromProto(SiteCommandDtoMapper.ToProto(original));
+ Assert.Null(restored.TraceEvents);
+ Assert.Equal(original.ChildExecutionId, restored.ChildExecutionId);
+ }
+}
diff --git a/tests/ZB.MOM.WW.ScadaBridge.Communication.Tests/SiteCommandSamples.cs b/tests/ZB.MOM.WW.ScadaBridge.Communication.Tests/SiteCommandSamples.cs
index ab67bfbf..0a79ef18 100644
--- a/tests/ZB.MOM.WW.ScadaBridge.Communication.Tests/SiteCommandSamples.cs
+++ b/tests/ZB.MOM.WW.ScadaBridge.Communication.Tests/SiteCommandSamples.cs
@@ -1,3 +1,4 @@
+using ZB.MOM.WW.Audit;
using ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Protocol;
using ZB.MOM.WW.ScadaBridge.Commons.Messages.Artifacts;
using ZB.MOM.WW.ScadaBridge.Commons.Messages.DataConnection;
@@ -10,6 +11,8 @@ using ZB.MOM.WW.ScadaBridge.Commons.Messages.RemoteQuery;
using ZB.MOM.WW.ScadaBridge.Commons.Messages.Streaming;
using ZB.MOM.WW.ScadaBridge.Commons.Types;
using ZB.MOM.WW.ScadaBridge.Commons.Types.Alarms;
+using ZB.MOM.WW.ScadaBridge.Commons.Types.Audit;
+using ZB.MOM.WW.ScadaBridge.Commons.Types.Debugging;
using ZB.MOM.WW.ScadaBridge.Commons.Types.Enums;
namespace ZB.MOM.WW.ScadaBridge.Communication.Tests;
@@ -180,13 +183,13 @@ internal static class SiteCommandSamples
new ParkedOperationActionAck("corr-10", false, "handler missing"));
// ── Route commands ──
- Add(new RouteToCallRequest("corr-12", "Site1.Pump1", "Start", Parameters(), T1, G1),
+ Add(new RouteToCallRequest("corr-12", "Site1.Pump1", "Start", Parameters(), T1, G1, Trace: true),
new RouteToCallRequest("corr-12", "Site1.Pump1", "Start", null, T2),
new RouteToCallRequest("corr-12", "Site1.Pump1", "Start", new Dictionary(), T1));
Add(new RouteToGetAttributesRequest("corr-13", "Site1.Pump1", ["Speed", "Flow"], T1, G1),
new RouteToGetAttributesRequest("corr-13", "Site1.Pump1", [], T2));
Add(new RouteToSetAttributesRequest(
- "corr-14", "Site1.Pump1", new Dictionary { ["Speed"] = "10" }, T1, G1),
+ "corr-14", "Site1.Pump1", new Dictionary { ["Speed"] = "10" }, T1, G1, Trace: true),
new RouteToSetAttributesRequest("corr-14", "Site1.Pump1", new Dictionary(), T2));
Add(new RouteToWaitForAttributeRequest(
"corr-15", "Site1.Pump1", "Speed", "10", TimeSpan.FromSeconds(30), T1, G1, true),
@@ -197,7 +200,7 @@ internal static class SiteCommandSamples
"corr-15", "Site1.Pump1", "Speed", "", TimeSpan.FromMinutes(1), T1));
// ── Route replies ──
- Add(new RouteToCallResponse("corr-12", true, 17L, null, T1),
+ Add(new RouteToCallResponse("corr-12", true, 17L, null, T1, G1, TraceSamples()),
new RouteToCallResponse("corr-12", false, null, "script faulted", T2));
Add(new RouteToGetAttributesResponse("corr-13", Parameters(), true, null, T1),
new RouteToGetAttributesResponse("corr-13", new Dictionary(), false, "no instance", T2));
@@ -293,6 +296,30 @@ internal static class SiteCommandSamples
IsConfiguredPlaceholder = true
};
+ ///
+ /// Flow Debugger (design 2026-09-05 §5.4): two ScriptTrace rows for the maximal
+ /// RouteToCallResponse sample — a ScriptRun and an AttributeWrite with a populated Extra.
+ /// Fixed EventIds/timestamps so the golden is deterministic.
+ ///
+ private static IReadOnlyList TraceSamples() =>
+ [
+ ScadaBridgeAuditEventFactory.Create(
+ AuditChannel.ScriptTrace, AuditKind.ScriptRun, AuditStatus.Delivered,
+ eventId: Guid.Parse("aaaaaaaa-0000-0000-0000-000000000001"), occurredAtUtc: D1,
+ actor: "ScriptActor:DoWork", target: "DoWork", sourceNode: "node-a",
+ executionId: G1, parentExecutionId: Guid.Parse("bbbbbbbb-0000-0000-0000-000000000002"),
+ sourceSiteId: "site-1", sourceInstanceId: "Site1.Pump1", sourceScript: "ScriptActor:DoWork",
+ durationMs: 12, requestSummary: "{\"count\":3}", responseSummary: "7",
+ extra: new ScriptTraceExtra { TriggerKind = "call" }.ToJson()),
+ ScadaBridgeAuditEventFactory.Create(
+ AuditChannel.ScriptTrace, AuditKind.AttributeWrite, AuditStatus.Failed,
+ eventId: Guid.Parse("aaaaaaaa-0000-0000-0000-000000000003"), occurredAtUtc: D2,
+ actor: "ScriptActor:DoWork", target: "Speed", sourceNode: "node-a",
+ executionId: G1, sourceSiteId: "site-1", sourceInstanceId: "Site1.Pump1",
+ durationMs: 3, errorMessage: "device rejected",
+ extra: new ScriptTraceExtra { Writes = [new AttributeWriteDetail("Speed", "10", false, "device rejected")] }.ToJson()),
+ ];
+
private static Dictionary Parameters() => new()
{
["count"] = 3,