tango-app-ui-analyse-trax 4.0.1 → 4.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/eye-test-audit/eye-test/eye-test.component.mjs +43 -76
- package/fesm2022/tango-app-ui-analyse-trax.mjs +42 -75
- package/fesm2022/tango-app-ui-analyse-trax.mjs.map +1 -1
- package/lib/components/eye-test-audit/eye-test/eye-test.component.d.ts +5 -0
- package/package.json +1 -1
|
@@ -123,35 +123,50 @@ export class EyeTestComponent {
|
|
|
123
123
|
dataBackGet;
|
|
124
124
|
auditStatusNew;
|
|
125
125
|
complianceScoreArray;
|
|
126
|
+
/**
|
|
127
|
+
* Compliance-score options for a level: store level scores in discrete steps,
|
|
128
|
+
* every other level in 10% bands. Keeps ngOnInit and typeVal/typeVal1 in sync.
|
|
129
|
+
*/
|
|
130
|
+
setCompliancePercentageArray(keyType) {
|
|
131
|
+
this.typePercentageArray =
|
|
132
|
+
keyType === "store"
|
|
133
|
+
? [
|
|
134
|
+
{ label: "0%", value: "0" },
|
|
135
|
+
{ label: "17%", value: "16" },
|
|
136
|
+
{ label: "33%", value: "33" },
|
|
137
|
+
{ label: "50%", value: "50" },
|
|
138
|
+
{ label: "67%", value: "66" },
|
|
139
|
+
{ label: "83%", value: "83" },
|
|
140
|
+
{ label: "100%", value: "100" },
|
|
141
|
+
]
|
|
142
|
+
: [
|
|
143
|
+
{ label: "0–10%", value: "0-10" },
|
|
144
|
+
{ label: "10–20%", value: "10-20" },
|
|
145
|
+
{ label: "20–30%", value: "20-30" },
|
|
146
|
+
{ label: "30–40%", value: "30-40" },
|
|
147
|
+
{ label: "40–50%", value: "40-50" },
|
|
148
|
+
{ label: "50–60%", value: "50-60" },
|
|
149
|
+
{ label: "60–70%", value: "60-70" },
|
|
150
|
+
{ label: "70–80%", value: "70-80" },
|
|
151
|
+
{ label: "80–90%", value: "80-90" },
|
|
152
|
+
{ label: "90–100%", value: "90-100" },
|
|
153
|
+
];
|
|
154
|
+
}
|
|
126
155
|
ngOnInit() {
|
|
127
156
|
let userinfo = JSON.parse(localStorage.getItem("user-info") || "");
|
|
128
157
|
this.users = userinfo;
|
|
129
158
|
this.initAiSession();
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
{ label: "90–100%", value: "90-100" },
|
|
142
|
-
];
|
|
143
|
-
}
|
|
144
|
-
else {
|
|
145
|
-
this.typePercentageArray = [
|
|
146
|
-
{ label: "0%", value: "0" },
|
|
147
|
-
{ label: "17%", value: "16" },
|
|
148
|
-
{ label: "33%", value: "33" },
|
|
149
|
-
{ label: "50%", value: "50" },
|
|
150
|
-
{ label: "67%", value: "66" },
|
|
151
|
-
{ label: "83%", value: "83" },
|
|
152
|
-
{ label: "100%", value: "100" },
|
|
153
|
-
];
|
|
154
|
-
}
|
|
159
|
+
// Store level always uses the discrete step scores, every other level the
|
|
160
|
+
// banded ranges — same rule as typeVal()/typeVal1(). A ?keyType=store deep
|
|
161
|
+
// link therefore has to be honoured here, not just the role default, or the
|
|
162
|
+
// dropdown shows bands while the request is scoped to a store.
|
|
163
|
+
const landingKeyType = this.route.snapshot.queryParamMap.get("keyType") ||
|
|
164
|
+
(this.users?.role === "superadmin"
|
|
165
|
+
? "rm"
|
|
166
|
+
: this.users?.role === "admin"
|
|
167
|
+
? "cluster"
|
|
168
|
+
: "store");
|
|
169
|
+
this.setCompliancePercentageArray(landingKeyType);
|
|
155
170
|
if (!this.typeValue) {
|
|
156
171
|
this.typeValue = "physical";
|
|
157
172
|
}
|
|
@@ -644,31 +659,7 @@ export class EyeTestComponent {
|
|
|
644
659
|
this.groups = obj?.clusterName ? [obj?.clusterName] : this.groups;
|
|
645
660
|
let foundRM = false;
|
|
646
661
|
let foundCluster = false;
|
|
647
|
-
|
|
648
|
-
this.typePercentageArray = [
|
|
649
|
-
{ label: "0–10%", value: "0-10" },
|
|
650
|
-
{ label: "10–20%", value: "10-20" },
|
|
651
|
-
{ label: "20–30%", value: "20-30" },
|
|
652
|
-
{ label: "30–40%", value: "30-40" },
|
|
653
|
-
{ label: "40–50%", value: "40-50" },
|
|
654
|
-
{ label: "50–60%", value: "50-60" },
|
|
655
|
-
{ label: "60–70%", value: "60-70" },
|
|
656
|
-
{ label: "70–80%", value: "70-80" },
|
|
657
|
-
{ label: "80–90%", value: "80-90" },
|
|
658
|
-
{ label: "90–100%", value: "90-100" },
|
|
659
|
-
];
|
|
660
|
-
}
|
|
661
|
-
else {
|
|
662
|
-
this.typePercentageArray = [
|
|
663
|
-
{ label: "0%", value: "0" },
|
|
664
|
-
{ label: "17%", value: "16" },
|
|
665
|
-
{ label: "33%", value: "33" },
|
|
666
|
-
{ label: "50%", value: "50" },
|
|
667
|
-
{ label: "67%", value: "66" },
|
|
668
|
-
{ label: "83%", value: "83" },
|
|
669
|
-
{ label: "100%", value: "100" },
|
|
670
|
-
];
|
|
671
|
-
}
|
|
662
|
+
this.setCompliancePercentageArray(val);
|
|
672
663
|
this.eyeTestForm.get("complianceScore")?.setValue(this.typePercentageArray);
|
|
673
664
|
if ((this.users?.role === "superadmin" || this.users?.role === "admin") && val === "store" &&
|
|
674
665
|
this.ClusterList?.length &&
|
|
@@ -726,31 +717,7 @@ export class EyeTestComponent {
|
|
|
726
717
|
this.eyeTestChatQuery = '';
|
|
727
718
|
this.initAiSession();
|
|
728
719
|
this.sortedColumn = "date";
|
|
729
|
-
|
|
730
|
-
this.typePercentageArray = [
|
|
731
|
-
{ label: "0–10%", value: "0-10" },
|
|
732
|
-
{ label: "10–20%", value: "10-20" },
|
|
733
|
-
{ label: "20–30%", value: "20-30" },
|
|
734
|
-
{ label: "30–40%", value: "30-40" },
|
|
735
|
-
{ label: "40–50%", value: "40-50" },
|
|
736
|
-
{ label: "50–60%", value: "50-60" },
|
|
737
|
-
{ label: "60–70%", value: "60-70" },
|
|
738
|
-
{ label: "70–80%", value: "70-80" },
|
|
739
|
-
{ label: "80–90%", value: "80-90" },
|
|
740
|
-
{ label: "90–100%", value: "90-100" },
|
|
741
|
-
];
|
|
742
|
-
}
|
|
743
|
-
else {
|
|
744
|
-
this.typePercentageArray = [
|
|
745
|
-
{ label: "0%", value: "0" },
|
|
746
|
-
{ label: "17%", value: "16" },
|
|
747
|
-
{ label: "33%", value: "33" },
|
|
748
|
-
{ label: "50%", value: "50" },
|
|
749
|
-
{ label: "67%", value: "66" },
|
|
750
|
-
{ label: "83%", value: "83" },
|
|
751
|
-
{ label: "100%", value: "100" },
|
|
752
|
-
];
|
|
753
|
-
}
|
|
720
|
+
this.setCompliancePercentageArray(val);
|
|
754
721
|
this.eyeTestForm.get("complianceScore")?.setValue(this.typePercentageArray);
|
|
755
722
|
if (this.users?.role === "superadmin" && this.RmList?.length) {
|
|
756
723
|
this.rmEmail = obj?.RMEmail ? obj?.RMEmail : obj;
|
|
@@ -1894,4 +1861,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1894
1861
|
type: ViewChild,
|
|
1895
1862
|
args: ['videoPlayer', { static: false }]
|
|
1896
1863
|
}] } });
|
|
1897
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXllLXRlc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYW5hbHlzZS10cmF4L3NyYy9saWIvY29tcG9uZW50cy9leWUtdGVzdC1hdWRpdC9leWUtdGVzdC9leWUtdGVzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2V5ZS10ZXN0LWF1ZGl0L2V5ZS10ZXN0L2V5ZS10ZXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFxQixTQUFTLEVBQTZCLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUlwSSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsQ0FBQztBQUd6QixPQUFPLEVBQWdCLG9CQUFvQixFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQVksR0FBRyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUk5RyxPQUFPLEVBQUUsU0FBUyxFQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNdkUsTUFBTSxPQUFPLGdCQUFnQjtJQXNFakI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0Q7SUFDQztJQUEwQjtJQUMxQjtJQUNBO0lBOUVWLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDZCxXQUFXLENBQVk7SUFDdkIsaUJBQWlCLEdBQVEsRUFBRSxDQUFDO0lBQzVCLFlBQVksQ0FBTTtJQUNsQixZQUFZLENBQU07SUFDbEIsYUFBYSxHQUFRLEVBQUUsQ0FBQztJQUN4QixXQUFXLEdBQVEsRUFBRSxDQUFDO0lBQ3RCLE1BQU0sR0FBUSxFQUFFLENBQUM7SUFDakIsVUFBVSxDQUFNO0lBQ1IsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFDakMsTUFBTSxHQUFRLEVBQUUsQ0FBQztJQUNqQixTQUFTLEdBQVUsRUFBRSxDQUFDO0lBQ3RCLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDZixPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ2YsV0FBVyxDQUFNO0lBQ2pCLFNBQVMsQ0FBTTtJQUNmLElBQUksR0FBUTtRQUNWLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFO1FBQ3hDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFO0tBQzFDLENBQUM7SUFDRixTQUFTLEdBQVE7UUFDZixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtRQUM5QixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtRQUNsQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtLQUNoQyxDQUFDO0lBQ0YsUUFBUSxHQUFRO1FBQ2QsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUU7UUFDN0MsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUU7S0FDaEQsQ0FBQztJQUNGLG1CQUFtQixHQUFPLEVBQUUsQ0FBQztJQUU1QixpQkFBaUIsR0FBUTtRQUN4QjtZQUNFLEtBQUssRUFBRSxLQUFLO1lBQ1osS0FBSyxFQUFFLEVBQUU7U0FDVjtRQUNEO1lBQ0UsS0FBSyxFQUFFLG9CQUFvQjtZQUMzQixLQUFLLEVBQUUsTUFBTTtTQUNkO1FBQ0Q7WUFDRSxLQUFLLEVBQUUsdUJBQXVCO1lBQzlCLEtBQUssRUFBRSxPQUFPO1NBQ2Y7S0FDRixDQUFDO0lBRUYsYUFBYSxHQUFRO1FBQ25CO1lBQ0UsS0FBSyxFQUFFLFNBQVM7WUFDaEIsS0FBSyxFQUFFLFNBQVM7U0FDakI7UUFDRCxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtLQUNqQyxDQUFDO0lBRUYsc0JBQXNCLEdBQU07UUFDMUIsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUU7UUFDdEMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUU7S0FFN0MsQ0FBQTtJQUVELGdCQUFnQixHQUFNO1FBQ3BCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO1FBQ3RDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFO1FBQzVDLEVBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFO1FBQy9DLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFO0tBRS9DLENBQUE7SUFDRCxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQ25CLFlBQ1UsUUFBeUIsRUFDekIsRUFBZSxFQUNmLFdBQXdCLEVBQ3hCLFVBQStCLEVBQy9CLE1BQWMsRUFDZCxFQUFxQixFQUN0QixFQUFzQixFQUNyQixFQUFnQixFQUFVLFlBQXNCLEVBQ2hELEtBQXFCLEVBQ3JCLFNBQXVCO1FBVHZCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUFxQjtRQUMvQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDdEIsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDckIsT0FBRSxHQUFGLEVBQUUsQ0FBYztRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQ2hELFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFFL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFDRCxRQUFRLENBQU07SUFDZCxXQUFXLENBQU07SUFDakIsS0FBSyxDQUFNO0lBQ1gsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUNELFlBQVk7UUFDVixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFDRCxTQUFTLENBQUs7SUFDZCxTQUFTLENBQUs7SUFDZCxXQUFXLENBQUs7SUFDaEIsY0FBYyxDQUFLO0lBQ25CLG9CQUFvQixDQUFLO0lBQ3pCLFFBQVE7UUFDTixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLFlBQVksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsRUFBRTtZQUNuRixJQUFJLENBQUMsbUJBQW1CLEdBQUc7Z0JBQ3pCLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO2dCQUNuQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtnQkFDbkMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7Z0JBQ25DLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO2dCQUNuQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBQztnQkFDbEMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7Z0JBQ25DLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO2dCQUNuQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtnQkFDbkMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7Z0JBQ25DLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO2FBQ3BDLENBQUM7U0FDSDthQUFNO1lBQ0wsSUFBSSxDQUFDLG1CQUFtQixHQUFHO2dCQUN6QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDM0IsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7Z0JBQzdCLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2dCQUM3QixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtnQkFDN0IsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7Z0JBQzdCLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2dCQUM3QixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTthQUNoQyxDQUFDO1NBQ0g7UUFFRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQztTQUM3QjtRQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFjLEVBQUUsRUFBRTtZQUNuQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3JDLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUM5QyxDQUFDLENBQUM7UUFDRixJQUFJLENBQUMsaUJBQWlCLEdBQUc7WUFDdkIsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7WUFDL0QsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7U0FDOUQsQ0FBQztRQUNGLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQzVCLFlBQVksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxJQUFJLENBQy9DLENBQUM7UUFFRixJQUFJLGFBQWEsRUFBRSxJQUFJLEVBQUUsU0FBUyxJQUFJLGFBQWEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ2xFLElBQUksQ0FBQyxpQkFBaUIsR0FBRztnQkFDdkIsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQ25CLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUM1QixZQUFZLENBQ2IsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO2dCQUN0QixPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQ2xFLFlBQVksQ0FDYjthQUNGLENBQUM7U0FDSDtRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzFDLDZFQUE2RTtZQUM3RSw4REFBOEQ7WUFDOUQseUVBQXlFO1lBQ3pFLDBFQUEwRTtZQUMxRSw4Q0FBOEM7WUFDOUMsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUMvQixJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDekMscUVBQXFFO2dCQUNyRSxrRUFBa0U7Z0JBQ2xFLHNFQUFzRTtnQkFDdEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDbEM7WUFDRCxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDOUM7WUFDRCxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUN6QyxxRUFBcUU7Z0JBQ3JFLHVFQUF1RTtnQkFDdkUsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7YUFDaEQ7WUFDRCxJQUNFLE1BQU07Z0JBQ04sTUFBTSxDQUFDLFVBQVUsQ0FBQztnQkFDbEIsTUFBTSxDQUFDLFFBQVEsQ0FBQztnQkFDaEIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUNuQjtnQkFDQSxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7Z0JBRXhFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDM0MsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUNsQixZQUFZLENBQ2IsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDekMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUNoQixZQUFZLENBQ2IsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDeEI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO29CQUMzQyxXQUFXLEVBQUU7d0JBQ1gsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQ2xCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQ2hDLFlBQVksQ0FDYixDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7d0JBQ3RCLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUNoQixJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUM5QixZQUFZLENBQ2IsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO3dCQUN0QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVTt3QkFDdkQsbUVBQW1FO3dCQUNuRSw4REFBOEQ7d0JBQzlELEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzt3QkFDbEUsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUI7NEJBQ3hCLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7NEJBQ3ZDLENBQUMsQ0FBQyxFQUFFLENBQUM7d0JBQ1AsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO3FCQUNuRTtpQkFDRixDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQztRQUNoRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQzlCLFlBQVksQ0FDYixDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDOUQsSUFBSSxFQUFFLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQ2xCLHNFQUFzRTtnQkFDdEUsSUFBSSxJQUFJLEVBQUUsTUFBTSxFQUFFO29CQUNoQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztvQkFDMUIscUJBQXFCO29CQUNuQixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFO3dCQUUzQixJQUFJLENBQUMsU0FBUyxFQUFFOzZCQUMzQixJQUFJLENBQ0gsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxFQUNyQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQ3RDOzZCQUNBLFNBQVMsQ0FBQzs0QkFDVCxJQUFJLEVBQUUsR0FBRyxFQUFFO2dDQUNULGFBQWE7Z0NBQ2IscUVBQXFFO2dDQUNyRSx3RUFBd0U7Z0NBQ3hFLHlEQUF5RDtnQ0FDekQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0NBQzFCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQ0FDaEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQzs0QkFDMUIsQ0FBQzs0QkFDRCxLQUFLLEVBQUUsQ0FBQyxHQUFPLEVBQUUsRUFBRTtnQ0FDakIsT0FBTyxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLENBQUMsQ0FBQzs0QkFDNUMsQ0FBQzt5QkFDRixDQUFDLENBQUM7cUJBQ0o7b0JBQ1MsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDMUIsVUFBVTtpQkFDWDtxQkFBTTtvQkFDTCxxQkFBcUI7b0JBQ25CLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRTt3QkFDdEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7d0JBRXZDLElBQUksQ0FBQyxTQUFTLEVBQUU7NkJBQ2xDLElBQUksQ0FDSCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLEVBQ3JDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FDdEM7NkJBQ0EsU0FBUyxDQUFDOzRCQUNULElBQUksRUFBRSxHQUFHLEVBQUU7Z0NBQ1QsYUFBYTtnQ0FDYixxRUFBcUU7Z0NBQ3JFLHdFQUF3RTtnQ0FDeEUseURBQXlEO2dDQUN6RCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQ0FDMUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dDQUNoQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDOzRCQUMxQixDQUFDOzRCQUNELEtBQUssRUFBRSxDQUFDLEdBQU8sRUFBRSxFQUFFO2dDQUNqQixPQUFPLENBQUMsS0FBSyxDQUFDLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxDQUFDOzRCQUM1QyxDQUFDO3lCQUNGLENBQUMsQ0FBQztxQkFDTTtvQkFFRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO29CQUMxQixVQUFVO2lCQUNYO1lBQ0gsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxXQUFXLENBQUMsS0FBZ0M7UUFDMUMsT0FBTyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNELDJCQUEyQjtJQUMzQixtQkFBbUI7SUFDbkIsMklBQTJJO0lBQzNJLDRCQUE0QjtJQUM1QixzQ0FBc0M7SUFDdEMsZ0RBQWdEO0lBQ2hELGlCQUFpQjtJQUNqQixnQ0FBZ0M7SUFDaEMsVUFBVTtJQUNWLFFBQVE7SUFDUixPQUFPO0lBQ1AsSUFBSTtJQUNKLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFFaEI7Ozs7Ozs7T0FPRztJQUNILGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQy9ELE9BQU8sQ0FBQyxJQUFJLENBQUMsOEJBQThCLEVBQUU7Z0JBQzNDLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtnQkFDckMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjthQUMxQyxDQUFDLENBQUM7WUFDSCxPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25FLE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRTtZQUNwRCxNQUFNLFVBQVUsR0FBRyxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDL0QsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUNwQixDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEtBQUssTUFBTSxDQUNuRSxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyx1Q0FBdUMsRUFBRTtnQkFDcEQsTUFBTTtnQkFDTixlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU07Z0JBQzlDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQzNELFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUztvQkFDeEIsT0FBTyxFQUFFLEVBQUUsRUFBRSxPQUFPO29CQUNwQixTQUFTLEVBQUUsRUFBRSxFQUFFLFNBQVM7aUJBQ3pCLENBQUMsQ0FBQzthQUNKLENBQUMsQ0FBQztTQUNKO1FBQ0QsMkVBQTJFO1FBQzNFLGtFQUFrRTtRQUNsRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsNEVBQTRFO1FBQzVFLHFFQUFxRTtRQUNyRSxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELG1CQUFtQjtJQUNuQixhQUFhLENBQUMsS0FBVztRQUV2QixJQUFJLE1BQU0sR0FBUSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRTtnQkFDaEQsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDekIsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUQsTUFBTSxHQUFHLEdBQUc7WUFDVixRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3JFLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO1NBQ3pELENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDM0MsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDZixJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLEdBQUcsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztnQkFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDaEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNoRSwwREFBMEQ7YUFDM0Q7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2FBQ3ZCO1lBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FDRixDQUFDO0lBQ0gsQ0FBQztJQUVELG9CQUFvQjtJQUNwQixvRkFBb0Y7SUFDcEYsNEJBQTRCO0lBQzVCLHNDQUFzQztJQUN0Qyw0Q0FBNEM7SUFDNUMsVUFBVTtJQUNWLFFBQVE7SUFDUixPQUFPO0lBQ1AsSUFBSTtJQUVMLGFBQWE7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXO2FBQ3BCLGFBQWEsQ0FBQztZQUNiLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU07WUFDcEMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ3JCLElBQUksRUFBRSxFQUFFO1NBQ1QsQ0FBQzthQUNELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUNmLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssR0FBRyxFQUFFO2dCQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUM1RCxJQUFJLENBQUMsUUFBUSxHQUFFLEtBQUssQ0FBQzthQUN0QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRSxLQUFLLENBQUM7YUFDdkI7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVDLFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLEVBQUU7WUFDM0MsV0FBVyxFQUFFO2dCQUNYLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUNsQixJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUNoQyxZQUFZLENBQ2IsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO2dCQUN0QixNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FDckUsWUFBWSxDQUNiO2dCQUNELFNBQVMsRUFBRSxLQUFLO2FBQ2pCO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELElBQUcsS0FBSyxLQUFLLGFBQWEsRUFBQztZQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7U0FDakY7YUFBSTtZQUNILElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztTQUMzRTtRQUNELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFFMUIsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFVO1FBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxLQUFVO1FBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELHFCQUFxQixDQUFDLEtBQVU7UUFDOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsS0FBVTtRQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsS0FBVTtRQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQzdDLElBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFO2dCQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFDbkM7Z0JBQ0EsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUMzQyxLQUFLLENBQUMsU0FBUyxFQUNmLFlBQVksQ0FDYixDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUN6QyxLQUFLLENBQUMsT0FBTyxFQUNiLFlBQVksQ0FDYixDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFFdkIsSUFBSSxDQUFDLFdBQVc7cUJBQ2IsR0FBRyxDQUFDLFVBQVUsQ0FBQztvQkFDaEIsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUMvQyxJQUNFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTO29CQUNoQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFDdEQ7b0JBQ0EsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQ2pFLFNBQVMsQ0FDVixDQUFDO2lCQUNIO2dCQUNELElBQUksQ0FBQyxXQUFXO3FCQUNiLEdBQUcsQ0FBQyxRQUFRLENBQUM7b0JBQ2QsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM3QyxJQUNFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPO29CQUM5QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFDcEQ7b0JBQ0EsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQ2xFLGNBQWMsQ0FDZixDQUFDO2lCQUNIO2dCQUNELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsb0JBQW9CLENBQUMsRUFBRTtvQkFDM0MsV0FBVyxFQUFFO3dCQUNYLFFBQVEsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUzt3QkFDMUMsTUFBTSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPO3dCQUN0QyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7cUJBQzFCO2lCQUNGLENBQUMsQ0FBQzthQUNKO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBVTtRQUMxQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3pDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFjLEVBQUUsRUFBRTtnQkFDckMsTUFBTSxXQUFXLEdBQ2YsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDdEUsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzlDLENBQUMsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBYyxFQUFFLEVBQUU7WUFDckMsOENBQThDO1lBQzlDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2pFLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLENBQU07SUFDbEIsVUFBVTtRQUNSLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLEtBQUssVUFBVSxDQUFDLENBQUMsbUNBQW1DO1FBRXRGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDL0IsUUFBUSxFQUFFO2dCQUNSLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxTQUFTO29CQUNqQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7b0JBQ2pGLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO2FBQ3ZEO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxPQUFPO29CQUMvQixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7b0JBQy9FLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO2FBQ3ZEO1lBQ0QsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3BCLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztZQUMzQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUM5QyxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDbEIsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1lBQ3BDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDMUIsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUN4QixNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3JCLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSw4QkFBOEI7U0FDMUUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFVO1FBQ3RCLHdCQUF3QjtRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLFdBQVc7YUFDYixhQUFhLENBQUM7WUFDYixRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNO1lBQ25DLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNyQixJQUFJLEVBQUUsRUFBRTtTQUNULENBQUM7YUFDRCxTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLEVBQUU7b0JBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7b0JBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQzVELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO29CQUN0QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7aUJBQ2pCO1lBQ0gsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDdEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLENBQUM7U0FDRixDQUFDLENBQUM7UUFDTCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBVTtRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsV0FBVyxHQUFRLEVBQUUsQ0FBQztJQUN0QixVQUFVO1FBQ1IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsZUFBZSxHQUFVLEVBQUUsQ0FBQztJQUM1QixRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ2Qsa0JBQWtCO1FBQ2hCLElBQUksSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDckM7YUFBTTtZQUNMLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyx5QkFBeUI7U0FDcEU7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELFVBQVUsR0FBUSxFQUFFLENBQUM7SUFDckIsT0FBTyxDQUFNO0lBQ2Isd0VBQXdFO0lBQ3hFLDBFQUEwRTtJQUMxRSw4RUFBOEU7SUFDOUUsZUFBZSxHQUFRLElBQUksQ0FBQztJQUM1QixpQkFBaUIsR0FBUSxJQUFJLENBQUM7SUFDOUIsZUFBZSxHQUFRLElBQUksQ0FBQztJQUM1QixPQUFPLENBQU07SUFFYixXQUFXO0lBQ1gsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLGdCQUFnQixHQUFrQixJQUFJLENBQUM7SUFDdkMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0lBRTdCLGlCQUFpQjtJQUNSLFlBQVksR0FBRztRQUN0QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFO1FBQ3hDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUU7S0FDNUMsQ0FBQztJQUNGLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQztJQUNwQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBRXJCLElBQUksb0JBQW9CO1FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JELE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWEsSUFBVSxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEUsY0FBYyxLQUFXLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNsRSxhQUFhLEtBQVcsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBR3BELGVBQWUsQ0FBQyxDQUFhO1FBQzNCLElBQUksQ0FBRSxDQUFDLENBQUMsTUFBc0IsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUN6RCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztTQUMzQjtJQUNILENBQUM7SUFDRCxpQ0FBaUM7SUFDakMseUJBQXlCO0lBQ3pCLDJCQUEyQjtJQUMzQixxQkFBcUI7SUFDckIscUJBQXFCO0lBQ3JCLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIsc0RBQXNEO0lBQ3RELGtEQUFrRDtJQUNsRCxxRUFBcUU7SUFDckUsNkNBQTZDO0lBQzdDLDZDQUE2QztJQUM3Qyw2REFBNkQ7SUFDN0Qsb0NBQW9DO0lBQ3BDLFFBQVE7SUFDUixRQUFRO0lBQ1IsSUFBSTtJQUNKLHVFQUF1RTtJQUN2RSxVQUFVO0lBQ1Ysc0NBQXNDO0lBQ3RDLGtDQUFrQztJQUNsQyx1QkFBdUI7SUFDdkIsUUFBUTtJQUNSLGlEQUFpRDtJQUNqRCxrREFBa0Q7SUFDbEQsa0VBQWtFO0lBQ2xFLHVDQUF1QztJQUN2QyxRQUFRO0lBQ1IsUUFBUTtJQUNSLElBQUk7SUFDSixnQ0FBZ0M7SUFDaEMsOENBQThDO0lBQzlDLElBQUk7SUFDSixXQUFXLENBQUs7SUFDaEIsT0FBTyxDQUFDLEdBQVEsRUFBRSxHQUFTO1FBQ3pCLHlCQUF5QjtRQUMxQixJQUFJLENBQUMsbUJBQW1CLEdBQUUsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBQ25CLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDbEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNwRCxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssS0FBSyxFQUFFO1lBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDdEM7UUFDRyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxLQUFLLFlBQVksSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU07WUFDMUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFFbkQsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUVsRSxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUcsR0FBRyxLQUFJLE9BQU8sRUFBQztZQUN0QixJQUFJLENBQUMsbUJBQW1CLEdBQUc7Z0JBQzFCLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO2dCQUNoQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtnQkFDbkMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7Z0JBQ25DLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO2dCQUNuQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBQztnQkFDbEMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7Z0JBQ25DLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO2dCQUNuQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtnQkFDbkMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7Z0JBQ25DLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO2FBQ3RDLENBQUM7U0FDRzthQUFNO1lBQ0wsSUFBSSxDQUFDLG1CQUFtQixHQUFHO2dCQUN6QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDM0IsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7Z0JBQzdCLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2dCQUM3QixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtnQkFDN0IsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7Z0JBQzdCLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2dCQUM3QixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTthQUNoQyxDQUFDO1NBQ0g7UUFDRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNoRixJQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEtBQUssWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxLQUFLLE9BQU8sQ0FBQyxJQUFJLEdBQUcsS0FBSSxPQUFPO1lBQ3BGLElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBTTtZQUN4QixHQUFHLEVBQUUsV0FBVyxFQUNoQjtZQUNBLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUN0QixDQUFDLE9BQVksRUFBRSxFQUFFO2dCQUViLElBQUcsT0FBTyxFQUFFLFdBQVcsS0FBSyxHQUFHLENBQUMsV0FBVyxFQUFDO29CQUNoRCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUN6RCxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztvQkFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7b0JBQ3ZCLFlBQVksR0FBRyxJQUFJLENBQUM7aUJBQ3JCO1lBQ0gsQ0FBQyxDQUFDLENBQUE7U0FDSDthQUFNLElBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksS0FBSyxZQUFZLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEtBQUssT0FBTyxDQUFDLElBQUksR0FBRyxLQUFJLFNBQVM7WUFDN0YsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNO1lBQ3hCLEdBQUcsRUFBRSxXQUFXLEVBQ2hCO1lBQ0EsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQ3RCLENBQUMsT0FBWSxFQUFFLEVBQUU7Z0JBRWIsSUFBRyxPQUFPLEVBQUUsV0FBVyxLQUFLLEdBQUcsQ0FBQyxXQUFXLEVBQUM7b0JBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7b0JBQ3pELElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztvQkFDdkIsWUFBWSxHQUFHLElBQUksQ0FBQztpQkFDckI7WUFDSCxDQUFDLENBQUMsQ0FBQTtTQUNIO1FBRUQsdUNBQXVDO1FBQ3ZDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEtBQUssWUFBWSxJQUFJLEdBQUcsS0FBSSxTQUFTLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUU7WUFDakYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ2hCLENBQUMsT0FBWSxFQUFFLEVBQUU7Z0JBQ2YsSUFBRyxPQUFPLEVBQUUsS0FBSyxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUU7b0JBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7b0JBQ3BELElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztvQkFDdkIsT0FBTyxHQUFHLElBQUksQ0FBQztpQkFDaEI7WUFDSCxDQUFDLENBQUMsQ0FBQTtTQUNEO1FBRUQsdUNBQXVDO1FBRXZDLG9CQUFvQjtRQUNwQixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQy9CLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNuQjtRQUVZLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUU3QixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFDSCxRQUFRLENBQUMsR0FBUSxFQUFFLEdBQVM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDbkIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBQzFCLElBQUcsR0FBRyxLQUFJLE9BQU8sRUFBQztZQUNyQixJQUFJLENBQUMsbUJBQW1CLEdBQUc7Z0JBQ3pCLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO2dCQUNqQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtnQkFDbkMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7Z0JBQ25DLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO2dCQUNuQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBQztnQkFDbEMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7Z0JBQ25DLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO2dCQUNuQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtnQkFDbkMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7Z0JBQ25DLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO2FBQ3RDLENBQUM7U0FDRzthQUFNO1lBQ0wsSUFBSSxDQUFDLG1CQUFtQixHQUFHO2dCQUN6QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDM0IsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7Z0JBQzdCLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2dCQUM3QixFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtnQkFDN0IsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7Z0JBQzdCLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2dCQUM3QixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTthQUNoQyxDQUFDO1NBQ0g7UUFDRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNsRixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxLQUFLLFlBQVksSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRTtZQUM1RCxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztTQUNsRDtRQUVELHFFQUFxRTtRQUVyRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNwRCxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssS0FBSyxFQUFFO1lBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDdEM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXpCLG9CQUFvQjtRQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEtBQUssWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxLQUFLLE9BQU8sQ0FBQztZQUNuRSxDQUFDLEdBQUcsS0FBSyxPQUFPLElBQUksR0FBRyxLQUFLLFNBQVMsQ0FBQyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUN4QixZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQ3JCO1FBRUQsNkJBQTZCO1FBQzdCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEtBQUssWUFBWSxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7WUFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDdEIsT0FBTyxHQUFHLElBQUksQ0FBQztTQUNoQjtRQUVELGFBQWE7UUFDYixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzdCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjtRQUVjLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFFLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFDRCwrQkFBK0I7SUFDL0Isb0NBQW9DO0lBQ3BDLHVFQUF1RTtJQUN2RSw0Q0FBNEM7SUFDNUMsYUFBYTtJQUNiLHlEQUF5RDtJQUN6RCxNQUFNO0lBQ04seUJBQXlCO0lBQ3pCLElBQUk7SUFFSiwwQkFBMEI7SUFDMUIsK0JBQStCO0lBQy9CLDZEQUE2RDtJQUM3RCxvQ0FBb0M7SUFDcEMsYUFBYTtJQUNiLG9EQUFvRDtJQUNwRCxNQUFNO0lBQ04scUJBQXFCO0lBQ3JCLElBQUk7SUFHSixnQkFBZ0IsQ0FBQyxNQUloQjtRQUNDLHFCQUFxQjtRQUNyQixNQUFNLGNBQWMsR0FBUTtZQUMxQixVQUFVLEVBQUUsSUFBSTtZQUNoQixLQUFLLEVBQUUsU0FBUztZQUNoQixJQUFJLEVBQUUsT0FBTztTQUNkLENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQztTQUM1RDtRQUVELG9CQUFvQjtRQUNwQixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztZQUNqRSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNyRSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRVAsb0JBQW9CO1FBQ3BCLElBQUksV0FBVyxHQUFhLEVBQUUsQ0FBQztRQUMvQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUN4RixXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3pFO2FBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3ZCLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM5QjthQUFNLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7WUFDNUIsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsQztRQUNILElBQUksQ0FBQyxVQUFVLEdBQUcsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9ELHdDQUF3QztRQUN4QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDeEQsSUFBSSxVQUFVLEdBQWEsRUFBRSxDQUFDO1FBQzlCLElBQUksY0FBYyxLQUFLLEtBQUssRUFBRTtZQUM1QixVQUFVLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDaEM7YUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDeEMsVUFBVSxHQUFHLGNBQWMsQ0FBQztTQUM3QjthQUFNLElBQUksY0FBYyxFQUFFO1lBQ3pCLFVBQVUsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQy9CO1FBRUQsT0FBTztZQUNMLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU07WUFDcEMsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFDekMsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU07WUFDckMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUk7WUFDakMsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFFekMsdUNBQXVDO1lBQ3ZDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxDQUFDO1lBRTdFLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNwQixPQUFPLEVBQUUsV0FBVztZQUVwQixLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDeEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQzFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUVyQixlQUFlLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsRUFBRTtZQUV6SSxXQUFXLEVBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLE1BQU07Z0JBQ3RELENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO2dCQUMvRCxDQUFDLENBQUMsRUFBRTtZQUNOLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksRUFBRTtZQUV2RCxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSTtnQkFDOUMsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFFBQVE7YUFDMUMsQ0FBQztZQUVGLE1BQU0sRUFBRSxXQUFXO1lBQ25CLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUU7WUFDbkMsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLElBQUksS0FBSztZQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUM7WUFDL0IsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLElBQUksTUFBTTtZQUVuQyx5RUFBeUU7WUFDekUsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ2pFLENBQUM7SUFDSixDQUFDO0lBRUQsb0ZBQW9GO0lBQ3BGLGFBQWEsR0FBVyxFQUFFLENBQUM7SUFFM0IsZ0ZBQWdGO0lBQ2hGLGFBQWEsQ0FBQyxHQUFRO1FBQ3BCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDO1FBQ3pFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQscUZBQXFGO0lBQ3JGLFdBQVcsQ0FBQyxHQUFRO1FBQ2xCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ25FLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsb0RBQW9EO0lBQ3BELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUFFLE9BQU87UUFDaEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsNEVBQTRFO1FBQzVFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUN2QixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDdEIsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtZQUM5QixtQkFBbUIsRUFBRSxPQUFPO1NBQzdCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBSUMsVUFBVTtRQUNSLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztZQUN4QyxRQUFRLEVBQUUsSUFBSTtZQUNkLEtBQUssRUFBRSxLQUFLO1lBQ1osTUFBTSxFQUFFLENBQUM7U0FDVixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVTthQUNaLHFCQUFxQixDQUFDLFdBQVcsQ0FBQzthQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQzdCLEdBQUcsRUFDSCxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksa0JBQWtCLENBQ2pELENBQUM7Z0JBQ0YsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMxQixDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUNuQixHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUM1RCxDQUFDO1lBQ0osQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVLEdBQVEsQ0FBQyxDQUFDO0lBQ3BCLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDWCxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ1gsVUFBVSxDQUFLO0lBQ2YsUUFBUTtRQUVOLElBQUksQ0FBQyxXQUFXLEdBQUMsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDO1FBQy9DLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFVBQVUsQ0FBQyxHQUFFLEVBQUU7WUFDbEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDaEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUE7WUFDNUIsSUFBSSxDQUFDLFVBQVU7aUJBQ1osY0FBYyxDQUFDLFdBQVcsQ0FBQztpQkFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsb0JBQW9CLEVBQUUsQ0FBQztpQkFDckQsU0FBUyxDQUFDO2dCQUNULElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO29CQUNqQixJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLEdBQUcsRUFBRTt3QkFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQzt3QkFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQzt3QkFDbEMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7d0JBQzFCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzt3QkFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7d0JBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO3FCQUNyQjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7d0JBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO3dCQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQzt3QkFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7d0JBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO3FCQUNyQjtvQkFDRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUMxQixDQUFDO2dCQUNELEtBQUssRUFBRSxHQUFHLEVBQUU7b0JBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO29CQUNuQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUMxQixDQUFDO2FBQ0YsQ0FBQyxDQUFDO1FBQ0MsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2YsQ0FBQztJQUVELFlBQVksQ0FBQyxVQUFrQjtRQUM3QixtQkFBbUI7UUFDbkIsc0JBQXNCO1FBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWpDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztZQUN4QyxRQUFRLEVBQUUsS0FBSztZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQyxDQUFDO1FBQ0gsMkJBQTJCO1FBQy9CLFNBQVM7UUFDTCxJQUFJLENBQUMsVUFBVTthQUNaLGNBQWMsQ0FBQyxXQUFXLENBQUM7YUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssR0FBRyxFQUFFO29CQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO29CQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO29CQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztvQkFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7aUJBQ3JCO3FCQUFNO29CQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO29CQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztvQkFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7b0JBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO2lCQUNyQjtnQkFDRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzFCLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsUUFBZ0I7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFOUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1lBQ3hDLFFBQVEsRUFBRSxLQUFLO1lBQ2YsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtTQUNwQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVTthQUNaLGNBQWMsQ0FBQyxXQUFXLENBQUM7YUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssR0FBRyxFQUFFO29CQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO29CQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO29CQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztvQkFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7aUJBQ3JCO3FCQUFNO29CQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO29CQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztvQkFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7b0JBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO2lCQUNyQjtnQkFDRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzFCLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsWUFBWSxDQUFNO0lBQ2xCLFNBQVMsQ0FBTTtJQUNmLE1BQU0sQ0FBQyxNQUFjO1FBQ25CLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxNQUFNLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNoRDthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1lBQ2xELElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1NBQ3BCO1FBQ0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxxQkFBcUI7SUFFckIsTUFBTSxHQUFRLEVBQUUsQ0FBQztJQUVsQixTQUFTO1FBQ1IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDL0QsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDZixJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLEdBQUcsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3ZEO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDOUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVDLFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELGVBQWUsR0FBUSxFQUFFLENBQUM7SUFDMUIsV0FBVztRQUNULElBQUksV0FBVyxHQUFRLEVBQUUsQ0FBQztRQUMxQixJQUFJLFdBQVcsR0FBUSxFQUFFLENBQUM7UUFDeEIsTUFBTSxjQUFjLEdBQVE7WUFDOUIsVUFBVSxFQUFFLElBQUk7WUFDaEIsS0FBSyxFQUFFLFNBQVM7WUFDaEIsSUFBSSxFQUFFLE9BQU87U0FDZCxDQUFDO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUM7U0FDNUQ7UUFDQyxNQUFNLEVBQ0osUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBQ0osUUFBUSxFQUNSLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLGVBQWUsRUFDZixZQUFZLEVBQ1osT0FBTyxFQUNQLFFBQVEsR0FDVCxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQzNCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNuRCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7Z0JBQ3RELFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xDLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDaEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFO2dCQUNoRCxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM5QixDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsTUFBTSxZQUFZLEdBQ2hCLElBQUksS0FBSyxRQUFRO1lBQ2YsQ0FBQyxDQUFDLFNBQVMsS0FBSyxLQUFLO2dCQUNuQixDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDO2dCQUNuQixDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7b0JBQzFCLENBQUMsQ0FBQyxTQUFTO29CQUNYLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNmLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFaEIsTUFBTSxXQUFXLEdBQVE7WUFDdkIsUUFBUTtZQUNSLE1BQU07WUFDTixJQUFJO1lBQ0osUUFBUTtZQUNSLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLE1BQU0sRUFBRSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO1lBQ2xFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTTtnQkFDdEMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM5QyxDQUFDLENBQUMsRUFBRTtZQUNOLFlBQVk7WUFDVixPQUFPLEVBQUcsSUFBSSxDQUFDLE9BQU87WUFDeEIsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLElBQUk7Z0JBQzlDLFFBQVE7YUFDVCxDQUFDO1NBRUgsQ0FBQztRQUVGLElBQUksWUFBWSxFQUFFO1lBQ2hCLFdBQVcsQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxDQUFDLFVBQVU7YUFDWixPQUFPLENBQUMsV0FBVyxDQUFDO2FBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQztZQUNULElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsRUFBRSxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNsRSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzFCLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzFCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0gsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNoQixpQkFBaUIsR0FBRyxDQUFDLENBQUM7SUFDdEIsZ0JBQWdCLEdBQVEsSUFBSSxDQUFDO0lBQzdCLDBCQUEwQjtJQUMxQixhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLGVBQWUsR0FBRyxNQUFNLENBQUM7SUFDekIsWUFBWSxHQUFHLE1BQU0sQ0FBQztJQUN0QixZQUFZLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDWCxlQUFlLEdBQWE7UUFDbkMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQ3JFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUN0RSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7UUFDdEUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO0tBQ3ZCLENBQUM7SUFDQSxXQUFXLENBQUMsSUFBUztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFFLElBQUksQ0FBQztRQUVkLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLFNBQVMsR0FBRSxLQUFLLENBQUE7UUFDckIsSUFBSSxDQUFDLGVBQWUsR0FBRSxFQUFFLENBQUM7UUFDekIsK0NBQStDO1FBQzdDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUE7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUN4RCxNQUFNO1FBQ04sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQy9CLElBQUcsSUFBSSxDQUFDLGdCQUFnQixLQUFLLFFBQVEsRUFBQztZQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsbUVBQW1FLEVBQUUsSUFBSSxFQUFFLG1FQUFtRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsdUVBQXVFLEVBQUUsSUFBSSxFQUFFLHVFQUF1RSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUscURBQXFELEVBQUUsSUFBSSxFQUFFLHFEQUFxRCxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO1NBQzllO2FBQUk7WUFDSCxJQUFJLENBQUMsWUFBWSxHQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUscUJBQXFCLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsMkJBQTJCLEVBQUUsSUFBSSxFQUFFLDJCQUEyQixFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsNkJBQTZCLEVBQUUsSUFBSSxFQUFFLDZCQUE2QixFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO1NBQzFRO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDO1FBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzVGLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLEdBQUcsRUFBRSxJQUFJLEtBQUssR0FBRyxFQUFFO29CQUNyQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7b0JBQ3hDLGtHQUFrRztvQkFDbEcsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFO3dCQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7cUJBQ3BEO2lCQUNGO1lBQ0gsQ0FBQztZQUNELEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUMvQyxDQUFDLENBQUM7SUFDRCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLDZCQUE2QixDQUFDLEVBQUU7WUFDcEQsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtTQUNuRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0gsTUFBTSxHQUFHO1FBQ1A7WUFDRSxHQUFHLEVBQUUsR0FBRztZQUNSLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLEtBQUssRUFBRSw0QkFBNEI7WUFDbkMsSUFBSSxFQUFFLE9BQU87U0FDZDtRQUNEO1lBQ0UsR0FBRyxFQUFFLEdBQUc7WUFDUixRQUFRLEVBQUUsYUFBYTtZQUN2QixLQUFLLEVBQUUsMEJBQTBCO1lBQ2pDLElBQUksRUFBRSxPQUFPO1NBQ2Q7UUFDRDtZQUNFLEdBQUcsRUFBRSxHQUFHO1lBQ1IsUUFBUSxFQUFFLGVBQWU7WUFDekIsS0FBSyxFQUFFLDJCQUEyQjtZQUNsQyxJQUFJLEVBQUUsT0FBTztTQUNkO1FBQ0Q7WUFDRSxHQUFHLEVBQUUsR0FBRztZQUNSLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsS0FBSyxFQUFFLGdDQUFnQztZQUN2QyxJQUFJLEVBQUUsT0FBTztTQUNkO1FBQ0Q7WUFDRSxHQUFHLEVBQUUsR0FBRztZQUNSLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLEtBQUssRUFBRSx5QkFBeUI7WUFDaEMsSUFBSSxFQUFFLE9BQU87U0FDZDtRQUNEO1lBQ0UsR0FBRyxFQUFFLEdBQUc7WUFDUixRQUFRLEVBQUUsT0FBTztZQUNqQixLQUFLLEVBQUUsNEJBQTRCO1lBQ25DLElBQUksRUFBRSxPQUFPO1NBQ2Q7UUFDRDtZQUNFLEdBQUcsRUFBRSxHQUFHO1lBQ1IsUUFBUSxFQUFFLGFBQWE7WUFDdkIsS0FBSyxFQUFFLDJCQUEyQjtZQUNsQyxJQUFJLEVBQUUsT0FBTztTQUNkO1FBQ0Q7WUFDRSxHQUFHLEVBQUUsR0FBRztZQUNSLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLEtBQUssRUFBRSwyQkFBMkI7WUFDbEMsSUFBSSxFQUFFLE9BQU87U0FDZDtRQUNEO1lBQ0UsR0FBRyxFQUFFLElBQUk7WUFDVCxRQUFRLEVBQUUsZUFBZTtZQUN6QixLQUFLLEVBQUUsMkJBQTJCO1lBQ2xDLElBQUksRUFBRSxPQUFPO1NBQ2Q7UUFDRDtZQUNFLEdBQUcsRUFBRSxJQUFJO1lBQ1QsUUFBUSxFQUFFLFFBQVE7WUFDbEIsS0FBSyxFQUFFLDJCQUEyQjtZQUNsQyxJQUFJLEVBQUUsT0FBTztTQUNkO1FBQ0Q7WUFDRSxHQUFHLEVBQUUsSUFBSTtZQUNULFFBQVEsRUFBRSxlQUFlO1lBQ3pCLEtBQUssRUFBRSw4QkFBOEI7WUFDckMsSUFBSSxFQUFFLE9BQU87U0FDZDtRQUNEO1lBQ0UsR0FBRyxFQUFFLElBQUk7WUFDVCxRQUFRLEVBQUUsY0FBYztZQUN4QixLQUFLLEVBQUUsNEJBQTRCO1lBQ25DLElBQUksRUFBRSxPQUFPO1NBQ2Q7UUFDRDtZQUNFLEdBQUcsRUFBRSxJQUFJO1lBQ1QsUUFBUSxFQUFFLFlBQVk7WUFDdEIsS0FBSyxFQUFFLCtCQUErQjtZQUN0QyxJQUFJLEVBQUUsT0FBTztTQUNkO1FBQ0Q7WUFDRSxHQUFHLEVBQUUsSUFBSTtZQUNULFFBQVEsRUFBRSxTQUFTO1lBQ25CLEtBQUssRUFBRSx3QkFBd0I7WUFDL0IsSUFBSSxFQUFFLE9BQU87U0FDZDtRQUNEO1lBQ0UsR0FBRyxFQUFFLElBQUk7WUFDVCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLEtBQUssRUFBRSw4QkFBOEI7WUFDckMsSUFBSSxFQUFFLE9BQU87U0FDZDtRQUNEO1lBQ0UsR0FBRyxFQUFFLElBQUk7WUFDVCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLEtBQUssRUFBRSwrQkFBK0I7WUFDdEMsSUFBSSxFQUFFLE9BQU87U0FDZDtRQUNEO1lBQ0UsR0FBRyxFQUFFLElBQUk7WUFDVCxRQUFRLEVBQUUsd0JBQXdCO1lBQ2xDLEtBQUssRUFBRSxxQ0FBcUM7WUFDNUMsSUFBSSxFQUFFLE9BQU87U0FDZDtRQUNEO1lBQ0UsR0FBRyxFQUFFLElBQUk7WUFDVCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLEtBQUssRUFBRSwrQkFBK0I7WUFDdEMsSUFBSSxFQUFFLE9BQU87U0FDZDtRQUNEO1lBQ0UsR0FBRyxFQUFFLElBQUk7WUFDVCxRQUFRLEVBQUUsY0FBYztZQUN4QixLQUFLLEVBQUUsMEJBQTBCO1lBQ2pDLElBQUksRUFBRSxPQUFPO1NBQ2Q7UUFDRDtZQUNFLEdBQUcsRUFBRSxJQUFJO1lBQ1QsUUFBUSxFQUFFLGFBQWE7WUFDdkIsS0FBSyxFQUFFLG9DQUFvQztZQUMzQyxJQUFJLEVBQUUsT0FBTztTQUNkO1FBQ0Q7WUFDRSxHQUFHLEVBQUUsSUFBSTtZQUNULFFBQVEsRUFBRSxlQUFlO1lBQ3pCLEtBQUssRUFBRSw0QkFBNEI7WUFDbkMsSUFBSSxFQUFFLE9BQU87U0FDZDtRQUNEO1lBQ0UsR0FBRyxFQUFFLElBQUk7WUFDVCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLEtBQUssRUFBRSw2QkFBNkI7WUFDcEMsSUFBSSxFQUFFLE9BQU87U0FDZDtRQUNEO1lBQ0UsR0FBRyxFQUFFLElBQUk7WUFDVCxRQUFRLEVBQUUsbUJBQW1CO1lBQzdCLEtBQUssRUFBRSxnQ0FBZ0M7WUFDdkMsSUFBSSxFQUFFLE9BQU87U0FDZDtRQUNEO1lBQ0UsR0FBRyxFQUFFLElBQUk7WUFDVCxRQUFRLEVBQUUsY0FBYztZQUN4QixLQUFLLEVBQUUsMEJBQTBCO1lBQ2pDLElBQUksRUFBRSxPQUFPO1NBQ2Q7S0FDRixDQUFDO0lBRUYsWUFBWTtRQUNQLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUUsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsSUFBSSxJQUFJLEdBQUcsRUFBRTtnQkFBRSxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2dCQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7YUFBRTtpQkFBTTtnQkFBRSxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztnQkFBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQzthQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFBQyxDQUFDO0lBQzVjLFFBQVE7UUFDTixzR0FBc0c7UUFDdEcsMERBQTBEO1FBQ3RELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLHFDQUFxQztRQUN0RSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELFlBQVk7UUFDWixxRUFBcUU7UUFDckUsaUNBQWlDO0lBQ2pDLENBQUM7SUFDRCxZQUFZLENBQUMsS0FBVztRQUFJLElBQUksTUFBTSxHQUFRLEVBQUUsQ0FBQztRQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUFFO1FBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLEVBQUU7Z0JBQUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQztnQkFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFH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YUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIEFmdGVyVmlld0luaXQsIEhvc3RMaXN0ZW5lciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBSb3V0ZXIsIEFjdGl2YXRlZFJvdXRlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlLCBQYWdlSW5mb1NlcnZpY2UgfSBmcm9tIFwidGFuZ28tYXBwLXVpLWdsb2JhbFwiO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XG5pbXBvcnQgZGF5anMgZnJvbSBcImRheWpzXCI7XG5pbXBvcnQgXCJkYXlqcy9sb2NhbGUvZW5cIjtcbmltcG9ydCB1dGMgZnJvbSBcImRheWpzL3BsdWdpbi91dGNcIjtcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIFN1YmplY3QsIHRha2VVbnRpbCxPYnNlcnZhYmxlLHRhcCwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IFRyYXhTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3RyYXguc2VydmljZVwiO1xuaW1wb3J0IHsgRXllVGVzdEF1ZGl0U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9leWUtdGVzdC1hdWRpdC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tIFwidGFuZ28tYXBwLXVpLXNoYXJlZFwiO1xuaW1wb3J0IHsgc3dpdGNoTWFwLCBmaW5hbGl6ZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE5nYk1vZGFsLCBOZ2JUb29sdGlwIH0gZnJvbSBcIkBuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwXCI7XG5pbXBvcnQgeyBTZW5kQWxlcnRDb21wb25lbnQgfSBmcm9tIFwiLi9zZW5kLWFsZXJ0L3NlbmQtYWxlcnQuY29tcG9uZW50XCI7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibGliLWV5ZS10ZXN0XCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZXllLXRlc3QuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmw6IFwiLi9leWUtdGVzdC5jb21wb25lbnQuc2Nzc1wiLFxufSlcbmV4cG9ydCBjbGFzcyBFeWVUZXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBkYXlqcyA9IGRheWpzO1xuICBleWVUZXN0Rm9ybTogRm9ybUdyb3VwO1xuICBzZWxlY3RlZERhdGVSYW5nZTogYW55ID0ge307XG4gIHNlbGVjdGVkRGF0ZTogYW55O1xuICBpc0N1c3RvbURhdGU6IGFueTtcbiAgaGVhZGVyRmlsdGVyczogYW55ID0gW107XG4gIENsdXN0ZXJMaXN0OiBhbnkgPSBbXTtcbiAgc3RvcmVzOiBhbnkgPSBbXTtcbiAgY2xpZW50RGF0YTogYW55O1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcbiAgZ3JvdXBzOiBhbnkgPSBbXTtcbiAgc3RvcmVMaXN0OiBhbnlbXSA9IFtdO1xuICBub0RhdGEgPSBmYWxzZTtcbiAgbG9hZGluZyA9IHRydWU7XG4gIGV5ZVRlc3REYXRhOiBhbnk7XG4gIHR5cGVWYWx1ZTogYW55O1xuICB0eXBlOiBhbnkgPSBbXG4gICAgeyB2YWx1ZTogXCJwaHlzaWNhbFwiLCBsYWJlbDogXCJFeWUgVGVzdFwiIH0sXG4gICAgeyB2YWx1ZTogXCJyZW1vdGVcIiwgbGFiZWw6IFwiUmVtb3RlIFRlc3RcIiB9LFxuICBdO1xuICBhdWRpdFR5cGU6IGFueSA9IFtcbiAgICB7IGxhYmVsOiBcIkFsbFwiLCB2YWx1ZTogXCJhbGxcIiB9LFxuICAgIHsgbGFiZWw6IFwiQWR1bHRcIiwgdmFsdWU6IFwiYWR1bHRcIiB9LFxuICAgIHsgbGFiZWw6IFwiS2lkXCIsIHZhbHVlOiBcImtpZHNcIiB9LFxuICBdO1xuICBkYXRlVHlwZTogYW55ID0gW1xuICAgIHsgdmFsdWU6IFwiZmlsZURhdGVcIiwgbGFiZWw6IFwiRXllIFRlc3QgRGF0ZVwiIH0sXG4gICAgeyB2YWx1ZTogXCJhdWRpdGVkRGF0ZVwiLCBsYWJlbDogXCJBdWRpdGVkIERhdGVcIiB9LFxuICBdO1xuICB0eXBlUGVyY2VudGFnZUFycmF5OmFueSA9IFtdO1xuXG4gICBuZWFyQWRkaXRpb25BcnJheTogYW55ID0gW1xuICAgIHtcbiAgICAgIGxhYmVsOiBcIkFsbFwiLFxuICAgICAgdmFsdWU6IFwiXCIsXG4gICAgfSxcbiAgICB7IFxuICAgICAgbGFiZWw6IFwiV2l0aCBOZWFyIEFkZGl0aW9uXCIsIFxuICAgICAgdmFsdWU6IFwidHJ1ZVwiIFxuICAgIH0sXG4gICAgeyBcbiAgICAgIGxhYmVsOiBcIldpdGhvdXQgTmVhciBBZGRpdGlvblwiLCBcbiAgICAgIHZhbHVlOiBcImZhbHNlXCIgXG4gICAgfSxcbiAgXTtcblxuICBjYXRlZ29yeUFycmF5OiBhbnkgPSBbXG4gICAge1xuICAgICAgbGFiZWw6IFwiR2VudWluZVwiLFxuICAgICAgdmFsdWU6IFwiZ2VudWluZVwiLFxuICAgIH0sXG4gICAgeyBsYWJlbDogXCJGYWtlXCIsIHZhbHVlOiBcImZha2VcIiB9LFxuICBdO1xuXG4gIGF1ZGl0ZWREYXRlQXVkaXRTdGF0dXM6YW55ID1bXG4gICAgeyBsYWJlbDogXCJBdWRpdGVkXCIsIHZhbHVlOiBcIkF1ZGl0ZWRcIiB9LFxuICAgIHsgbGFiZWw6IFwiUmUtQXVkaXRlZFwiLCB2YWx1ZTogXCJSZS1BdWRpdGVkXCIgfSxcbiAgIFxuICBdXG5cbiAgYXVkaXRTdGF0dXNBcnJheTphbnkgPVtcbiAgICB7IGxhYmVsOiBcIkF1ZGl0ZWRcIiwgdmFsdWU6IFwiQXVkaXRlZFwiIH0sXG4gICAgeyBsYWJlbDogXCJSZS1BdWRpdGVkXCIsIHZhbHVlOiBcIlJlLUF1ZGl0ZWRcIiB9LFxuICAgIHtsYWJlbCA6XCJZZXQtdG8tQXVkaXRcIiwgdmFsdWU6IFwiWWV0LXRvLUF1ZGl0XCIgfSxcbiAgICB7IGxhYmVsIDpcIkluLVByb2dyZXNzXCIsIHZhbHVlOiBcIkluLVByb2dyZXNzXCIgfSxcbiAgICBcbiAgXVxuICBzaG93RXllVGVzdCA9IHRydWU7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGFnZUluZm86IFBhZ2VJbmZvU2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHRyYXhTZXJ2aWNlOiBUcmF4U2VydmljZSxcbiAgICBwcml2YXRlIGV5ZVNlcnZpY2U6IEV5ZVRlc3RBdWRpdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwdWJsaWMgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHRzOiBUb2FzdFNlcnZpY2UsIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCxcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyXG4gICkge1xuICAgIHRoaXMudHlwZVZhbHVlID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldChcInR5cGVWYWx1ZVwiKTtcbiAgfVxuICBoZWFkRGF0ZTogYW55O1xuICBoZWFkRGF0ZUVuZDogYW55O1xuICB1c2VyczogYW55O1xuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG4gIGNsb3NlRXllVGVzdCgpIHtcbiAgICB0aGlzLnNob3dFeWVUZXN0ID0gZmFsc2U7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbiAgUm1MaXN0TmV3OmFueTtcbiAgc3RvcmVzTmV3OmFueTtcbiAgZGF0YUJhY2tHZXQ6YW55O1xuICBhdWRpdFN0YXR1c05ldzphbnk7XG4gIGNvbXBsaWFuY2VTY29yZUFycmF5OmFueTtcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgbGV0IHVzZXJpbmZvID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInVzZXItaW5mb1wiKSB8fCBcIlwiKTtcbiAgICB0aGlzLnVzZXJzID0gdXNlcmluZm87XG4gICAgdGhpcy5pbml0QWlTZXNzaW9uKCk7XG5pZiAodGhpcy51c2VycyAmJiAodGhpcy51c2Vycy5yb2xlID09PSBcInN1cGVyYWRtaW5cIiB8fCB0aGlzLnVzZXJzLnJvbGUgPT09IFwiYWRtaW5cIikpIHtcbiAgdGhpcy50eXBlUGVyY2VudGFnZUFycmF5ID0gW1xuICAgIHsgbGFiZWw6IFwiMOKAkzEwJVwiLCB2YWx1ZTogXCIwLTEwXCIgfSxcbiAgeyBsYWJlbDogXCIxMOKAkzIwJVwiLCB2YWx1ZTogXCIxMC0yMFwiIH0sXG4gIHsgbGFiZWw6IFwiMjDigJMzMCVcIiwgdmFsdWU6IFwiMjAtMzBcIiB9LFxuICB7IGxhYmVsOiBcIjMw4oCTNDAlXCIsIHZhbHVlOiBcIjMwLTQwXCIgfSxcbiAgeyBsYWJlbDogXCI0MOKAkzUwJVwiLCB2YWx1ZTogXCI0MC01MFwifSxcbiAgeyBsYWJlbDogXCI1MOKAkzYwJVwiLCB2YWx1ZTogXCI1MC02MFwiIH0sXG4gIHsgbGFiZWw6IFwiNjDigJM3MCVcIiwgdmFsdWU6IFwiNjAtNzBcIiB9LFxuICB7IGxhYmVsOiBcIjcw4oCTODAlXCIsIHZhbHVlOiBcIjcwLTgwXCIgfSxcbiAgeyBsYWJlbDogXCI4MOKAkzkwJVwiLCB2YWx1ZTogXCI4MC05MFwiIH0sXG4gIHsgbGFiZWw6IFwiOTDigJMxMDAlXCIsIHZhbHVlOiBcIjkwLTEwMFwiIH0sXG4gIF07XG59IGVsc2Uge1xuICB0aGlzLnR5cGVQZXJjZW50YWdlQXJyYXkgPSBbXG4gICAgeyBsYWJlbDogXCIwJVwiLCB2YWx1ZTogXCIwXCIgfSxcbiAgICB7IGxhYmVsOiBcIjE3JVwiLCB2YWx1ZTogXCIxNlwiIH0sXG4gICAgeyBsYWJlbDogXCIzMyVcIiwgdmFsdWU6IFwiMzNcIiB9LFxuICAgIHsgbGFiZWw6IFwiNTAlXCIsIHZhbHVlOiBcIjUwXCIgfSxcbiAgICB7IGxhYmVsOiBcIjY3JVwiLCB2YWx1ZTogXCI2NlwiIH0sXG4gICAgeyBsYWJlbDogXCI4MyVcIiwgdmFsdWU6IFwiODNcIiB9LFxuICAgIHsgbGFiZWw6IFwiMTAwJVwiLCB2YWx1ZTogXCIxMDBcIiB9LFxuICBdO1xufVxuXG4gICAgaWYgKCF0aGlzLnR5cGVWYWx1ZSkge1xuICAgICAgdGhpcy50eXBlVmFsdWUgPSBcInBoeXNpY2FsXCI7XG4gICAgfVxuICB0aGlzLmlzQ3VzdG9tRGF0ZSA9IChtOiBkYXlqcy5EYXlqcykgPT4ge1xuICAgICAgY29uc3QgaXNWYWxpZERhdGUgPSBtID4gdGhpcy5kYXlqcygpO1xuICAgICAgcmV0dXJuIGlzVmFsaWREYXRlID8gXCJpbnZhbGlkLWRhdGVcIiA6IGZhbHNlO1xuICAgIH07XG4gICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZSA9IHtcbiAgICAgIHN0YXJ0RGF0ZTogdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsIFwiZGF5XCIpLmZvcm1hdChcIkRELU1NLVlZWVlcIiksXG4gICAgICBlbmREYXRlOiB0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgXCJkYXlcIikuZm9ybWF0KFwiREQtTU0tWVlZWVwiKSxcbiAgICB9O1xuICAgIGxldCBoZWFkZXJGaWx0ZXJzID0gSlNPTi5wYXJzZShcbiAgICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIikgfHwgXCJ7fVwiXG4gICAgKTtcbiAgICAgICBcbiAgICBpZiAoaGVhZGVyRmlsdGVycz8uZGF0ZT8uc3RhcnREYXRlICYmIGhlYWRlckZpbHRlcnM/LmRhdGU/LmVuZERhdGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UgPSB7XG4gICAgICAgIHN0YXJ0RGF0ZTogdGhpcy5kYXlqcyhcbiAgICAgICAgICBoZWFkZXJGaWx0ZXJzLmRhdGUuc3RhcnREYXRlLFxuICAgICAgICAgIFwiWVlZWS1NTS1ERFwiXG4gICAgICAgICkuZm9ybWF0KFwiREQtTU0tWVlZWVwiKSxcbiAgICAgICAgZW5kRGF0ZTogdGhpcy5kYXlqcyhoZWFkZXJGaWx0ZXJzLmRhdGUuZW5kRGF0ZSwgXCJZWVlZLU1NLUREXCIpLmZvcm1hdChcbiAgICAgICAgICBcIkRELU1NLVlZWVlcIlxuICAgICAgICApLFxuICAgICAgfTtcbiAgICB9XG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtcykgPT4ge1xuICAgICAgLy8gRGVlcC1saW5rIGZyb20gdGhlIEV5ZSBUZXN0IGRhc2hib2FyZDoga2V5VHlwZT1zdG9yZSZzdG9yZUNvZGU94oCmJm9wdG9tSWQ94oCmXG4gICAgICAvLyBMYW5kaW5nIGxldmVsIG11c3QgY29tZSBmcm9tIHRoZSBsaW5rLCBub3QgdGhlIHJvbGUgZGVmYXVsdFxuICAgICAgLy8gKHN1cGVyYWRtaW4gLT4gcm0sIGFkbWluIC0+IGNsdXN0ZXIpLCBzbyBhIHJvdydzIEF1ZGl0IGJ1dHRvbiBsYW5kcyBvblxuICAgICAgLy8gdGhhdCByb3cncyBTVE9SRSB2aWV3LiBDYXB0dXJlZCBoZXJlIGFuZCBhcHBsaWVkIG9uY2UgdGhlIGNsdXN0ZXIvc3RvcmVcbiAgICAgIC8vIGxpc3RzIGhhdmUgbG9hZGVkIChzZWUgYXBwbHlEZWVwTGlua1N0b3JlKS5cbiAgICAgIGlmIChwYXJhbXMgJiYgcGFyYW1zW1wia2V5VHlwZVwiXSkge1xuICAgICAgICB0aGlzLmRlZXBMaW5rS2V5VHlwZSA9IHBhcmFtc1tcImtleVR5cGVcIl07XG4gICAgICAgIC8vIFRoZSBsaW5rJ3MgbGV2ZWwgbXVzdCB3aW4gb3ZlciB0aGUgcm9sZSBkZWZhdWx0IChzdXBlcmFkbWluIC0+IHJtKVxuICAgICAgICAvLyByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIHN0b3JlQ29kZSBsb29rdXAgbGF0ZXIgZmluZHMgYSBtYXRjaCxcbiAgICAgICAgLy8gb3RoZXJ3aXNlIHRoZSBwYXlsb2FkIGdvZXMgb3V0IGFzIHJtIHdoaWxlIHRoZSBVUkwgYXNrZWQgZm9yIHN0b3JlLlxuICAgICAgICB0aGlzLmtleVR5cGUgPSBwYXJhbXNbXCJrZXlUeXBlXCJdO1xuICAgICAgfVxuICAgICAgaWYgKHBhcmFtcyAmJiBwYXJhbXNbXCJzdG9yZUNvZGVcIl0pIHtcbiAgICAgICAgdGhpcy5kZWVwTGlua1N0b3JlQ29kZSA9IHBhcmFtc1tcInN0b3JlQ29kZVwiXTtcbiAgICAgIH1cbiAgICAgIGlmIChwYXJhbXMgJiYgcGFyYW1zW1wib3B0b21JZFwiXSkge1xuICAgICAgICB0aGlzLmRlZXBMaW5rT3B0b21JZCA9IHBhcmFtc1tcIm9wdG9tSWRcIl07XG4gICAgICAgIC8vIERyaXZlcyB0aGUgZmlsdGVyQnlPcHRvbSBwYXlsb2FkIGtleS4gVW5saWtlIHN0b3JlQ29kZSB0aGlzIGlzIG5vdFxuICAgICAgICAvLyBjb25zdW1lZCwgc28gdGhlIGZpbHRlciBzdXJ2aXZlcyBwYWdpbmcvc29ydGluZyB1bnRpbCBpdCBpcyBjbGVhcmVkLlxuICAgICAgICB0aGlzLmZpbHRlckJ5T3B0b20gPSBTdHJpbmcocGFyYW1zW1wib3B0b21JZFwiXSk7XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIHBhcmFtcyAmJlxuICAgICAgICBwYXJhbXNbXCJmcm9tRGF0ZVwiXSAmJlxuICAgICAgICBwYXJhbXNbXCJ0b0RhdGVcIl0gJiZcbiAgICAgICAgcGFyYW1zW1widHlwZVZhbHVlXCJdXG4gICAgICApIHtcbiAgICAgICAgdGhpcy50eXBlVmFsdWUgPSBwYXJhbXNbXCJ0eXBlVmFsdWVcIl0gPyBwYXJhbXNbXCJ0eXBlVmFsdWVcIl0gOiBcInBoeXNpY2FsXCI7XG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUgPSB0aGlzLmRheWpzKFxuICAgICAgICAgIHBhcmFtc1tcImZyb21EYXRlXCJdLFxuICAgICAgICAgIFwiWVlZWS1NTS1ERFwiXG4gICAgICAgICkuZm9ybWF0KFwiREQtTU0tWVlZWVwiKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5lbmREYXRlID0gdGhpcy5kYXlqcyhcbiAgICAgICAgICBwYXJhbXNbXCJ0b0RhdGVcIl0sXG4gICAgICAgICAgXCJZWVlZLU1NLUREXCJcbiAgICAgICAgKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL21hbmFnZS90cmF4L2F1ZGl0XCJdLCB7XG4gICAgICAgICAgcXVlcnlQYXJhbXM6IHtcbiAgICAgICAgICAgIGZyb21EYXRlOiB0aGlzLmRheWpzKFxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSxcbiAgICAgICAgICAgICAgXCJERC1NTS1ZWVlZXCJcbiAgICAgICAgICAgICkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcbiAgICAgICAgICAgIHRvRGF0ZTogdGhpcy5kYXlqcyhcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5lbmREYXRlLFxuICAgICAgICAgICAgICBcIkRELU1NLVlZWVlcIlxuICAgICAgICAgICAgKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxuICAgICAgICAgICAgdHlwZVZhbHVlOiB0aGlzLnR5cGVWYWx1ZSA/IHRoaXMudHlwZVZhbHVlIDogXCJwaHlzaWNhbFwiLFxuICAgICAgICAgICAgLy8gQ2FycnkgdGhlIGRlZXAtbGluayBzZWxlY3Rpb24gdGhyb3VnaCB0aGlzIHJlZGlyZWN0OyBkcm9wcGluZyBpdFxuICAgICAgICAgICAgLy8gaGVyZSBpcyB3aGF0IG1hZGUgc3RvcmVDb2RlIHVudXNhYmxlIGZyb20gYW4gZXh0ZXJuYWwgbGluay5cbiAgICAgICAgICAgIC4uLih0aGlzLmRlZXBMaW5rS2V5VHlwZSA/IHsga2V5VHlwZTogdGhpcy5kZWVwTGlua0tleVR5cGUgfSA6IHt9KSxcbiAgICAgICAgICAgIC4uLih0aGlzLmRlZXBMaW5rU3RvcmVDb2RlXG4gICAgICAgICAgICAgID8geyBzdG9yZUNvZGU6IHRoaXMuZGVlcExpbmtTdG9yZUNvZGUgfVxuICAgICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgICAgIC4uLih0aGlzLmRlZXBMaW5rT3B0b21JZCA/IHsgb3B0b21JZDogdGhpcy5kZWVwTGlua09wdG9tSWQgfSA6IHt9KSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBsZXQgZGF0ZVRpbWUgPSB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZTtcbiAgICB0aGlzLmhlYWREYXRlID0gdGhpcy5kYXlqcyhkYXRlVGltZSwgXCJERC1NTS1ZWVlZXCIpLmZvcm1hdChcIk1NTSwgRERcIik7XG4gICAgdGhpcy5oZWFkRGF0ZUVuZCA9IHRoaXMuZGF5anMoXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmVuZERhdGUsXG4gICAgICBcIkRELU1NLVlZWVlcIlxuICAgICkuZm9ybWF0KFwiTU1NIERELCBZWVlZXCIpO1xuICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xuICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiVHlwZVwiKT8uc2V0VmFsdWUodGhpcy50eXBlVmFsdWUpO1xuICAgICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJjb21wbGlhbmNlU2NvcmVcIik/LnNldFZhbHVlKHRoaXMudHlwZVBlcmNlbnRhZ2VBcnJheSk7XG4gICAgICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcImF1ZGl0U3RhdHVzXCIpPy5zZXRWYWx1ZSh0aGlzLmF1ZGl0U3RhdHVzQXJyYXkpO1xuICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIC8vIGxldCBkYXRhID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIpIHx8IFwiXCIpXG4gICAgICAgIGlmIChkYXRhPy5jbGllbnQpIHtcbiAgICAgICAgICB0aGlzLmhlYWRlckZpbHRlcnMgPSBkYXRhO1xuICAgICAgICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaGVhZGVyRmlsdGVycy5jbGllbnQpIHtcbiAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB0aGlzLmdldEFsbFJtMSgpXG4gICAgLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5nZXRBbGxHcm91cHMxKCkpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZ2V0QWxsU3RvcmVzMSgpKVxuICAgIClcbiAgICAuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgLy8gQWxsIGRvbmUg4pyFXG4gICAgICAgIC8vIERlZXAgbGluayB3aW5zIG92ZXIgdGhlIHJvbGUgZGVmYXVsdDogc2VsZWN0IHRoZSBsaW5rZWQgc3RvcmUgKGFuZFxuICAgICAgICAvLyBmb3JjZSBzdG9yZSBsZXZlbCkgYmVmb3JlIHRoZSBmaXJzdCBzdWJtaXQsIHNvIHRoZSBpbml0aWFsIHJlc3VsdCBzZXRcbiAgICAgICAgLy8gaXMgYWxyZWFkeSBzY29wZWQgdG8gdGhhdCBzdG9yZSBpbnN0ZWFkIG9mIFJNL2NsdXN0ZXIuXG4gICAgICAgIHRoaXMuYXBwbHlEZWVwTGlua1N0b3JlKCk7XG4gICAgICAgIHRoaXMub25TdWJtaXQoKTtcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnI6YW55KSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvciBsb2FkaW5nIGRhdGE6XCIsIGVycik7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAvLyB9LCAxMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy51c2VycyAmJiB0aGlzLnVzZXJzPy5jbGllbnRJZCkge1xuICAgICAgICAgICAgICB0aGlzLmhlYWRlckZpbHRlcnMuY2xpZW50ID0gdGhpcy51c2Vycy5jbGllbnRJZDtcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0QWxsUm0xKClcbiAgICAucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmdldEFsbEdyb3VwczEoKSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5nZXRBbGxTdG9yZXMxKCkpXG4gICAgKVxuICAgIC5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAvLyBBbGwgZG9uZSDinIVcbiAgICAgICAgLy8gRGVlcCBsaW5rIHdpbnMgb3ZlciB0aGUgcm9sZSBkZWZhdWx0OiBzZWxlY3QgdGhlIGxpbmtlZCBzdG9yZSAoYW5kXG4gICAgICAgIC8vIGZvcmNlIHN0b3JlIGxldmVsKSBiZWZvcmUgdGhlIGZpcnN0IHN1Ym1pdCwgc28gdGhlIGluaXRpYWwgcmVzdWx0IHNldFxuICAgICAgICAvLyBpcyBhbHJlYWR5IHNjb3BlZCB0byB0aGF0IHN0b3JlIGluc3RlYWQgb2YgUk0vY2x1c3Rlci5cbiAgICAgICAgdGhpcy5hcHBseURlZXBMaW5rU3RvcmUoKTtcbiAgICAgICAgdGhpcy5vblN1Ym1pdCgpO1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycjphbnkpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIGxvYWRpbmcgZGF0YTpcIiwgZXJyKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgIC8vIH0sIDEwKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBnZXRBYnNWYWx1ZSh2YWx1ZTogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHZhbHVlICE9IG51bGwgPyBNYXRoLmFicyh2YWx1ZSkgOiAwO1xuICB9XG4gIC8vIGNsdXN0ZXJzIG9sZCBhcGkgcmVtb3ZlZFxuICAvLyBnZXRBbGxHcm91cHMoKSB7XG4gIC8vICAgdGhpcy50cmF4U2VydmljZS5nZXRjbHVzdGVycyh7IGNsaWVudElkOiB0aGlzLmhlYWRlckZpbHRlcnM/LmNsaWVudCwgZ3JvdXA6IFtdLCBjaXR5OiBbXSB9KS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcbiAgLy8gICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAvLyAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xuICAvLyAgICAgICAgIHRoaXMuQ2x1c3Rlckxpc3QgPSByZXMuZGF0YS5ncm91cERhdGFcbiAgLy8gICAgICAgfSBlbHNlIHtcbiAgLy8gICAgICAgICB0aGlzLkNsdXN0ZXJMaXN0ID0gW11cbiAgLy8gICAgICAgfVxuICAvLyAgICAgfVxuICAvLyAgIH0pXG4gIC8vIH1cbiAgbG9hZGluZzEgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBBcHBseSBhID9rZXlUeXBlPXN0b3JlJnN0b3JlQ29kZT3igKYgZGVlcCBsaW5rIG9uY2UgYHN0b3JlTGlzdGAgaGFzIGxvYWRlZC5cbiAgICogUmV0dXJucyB0cnVlIGlmIGl0IHNlbGVjdGVkIGEgc3RvcmUgKGNhbGxlciBzaG91bGQgc3VibWl0IHdpdGggaXQpLlxuICAgKlxuICAgKiBNYXRjaGVzIHN0b3JlQ29kZSBhZ2FpbnN0IHN0b3JlQ29kZS9zdG9yZUlkL3N0b3JlTmFtZSBiZWNhdXNlIHRoZSBFeWUgVGVzdFxuICAgKiBkYXNoYm9hcmQgc2VuZHMgdGhlIGNvZGUgaXQgZGlzcGxheXMgKGUuZy4gXCJMS1NUMTE5OVwiKSBhbmQgdGhlIFRyYXggc3RvcmVcbiAgICogb2JqZWN0cyBkbyBub3QgdXNlIG9uZSBjb25zaXN0ZW50IGtleSBmb3IgaXQuXG4gICAqL1xuICBhcHBseURlZXBMaW5rU3RvcmUoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuZGVlcExpbmtLZXlUeXBlICE9PSBcInN0b3JlXCIgfHwgIXRoaXMuZGVlcExpbmtTdG9yZUNvZGUpIHtcbiAgICAgIGNvbnNvbGUud2FybihcIltleWUtdGVzdCBkZWVwIGxpbmtdIHNraXBwZWRcIiwge1xuICAgICAgICBkZWVwTGlua0tleVR5cGU6IHRoaXMuZGVlcExpbmtLZXlUeXBlLFxuICAgICAgICBkZWVwTGlua1N0b3JlQ29kZTogdGhpcy5kZWVwTGlua1N0b3JlQ29kZSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCB3YW50ZWQgPSBTdHJpbmcodGhpcy5kZWVwTGlua1N0b3JlQ29kZSkudHJpbSgpLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgbWF0Y2ggPSAodGhpcy5zdG9yZUxpc3QgfHwgW10pLmZpbmQoKHN0OiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IGNhbmRpZGF0ZXMgPSBbc3Q/LnN0b3JlQ29kZSwgc3Q/LnN0b3JlSWQsIHN0Py5zdG9yZU5hbWVdO1xuICAgICAgcmV0dXJuIGNhbmRpZGF0ZXMuc29tZShcbiAgICAgICAgKGM6IGFueSkgPT4gYyAhPSBudWxsICYmIFN0cmluZyhjKS50cmltKCkudG9Mb3dlckNhc2UoKSA9PT0gd2FudGVkXG4gICAgICApO1xuICAgIH0pO1xuICAgIGlmICghbWF0Y2gpIHtcbiAgICAgIGNvbnNvbGUud2FybihcIltleWUtdGVzdCBkZWVwIGxpbmtdIG5vIHN0b3JlIG1hdGNoZWRcIiwge1xuICAgICAgICB3YW50ZWQsXG4gICAgICAgIHN0b3JlTGlzdExlbmd0aDogKHRoaXMuc3RvcmVMaXN0IHx8IFtdKS5sZW5ndGgsXG4gICAgICAgIHNhbXBsZTogKHRoaXMuc3RvcmVMaXN0IHx8IFtdKS5zbGljZSgwLCAzKS5tYXAoKHN0OiBhbnkpID0+ICh7XG4gICAgICAgICAgc3RvcmVDb2RlOiBzdD8uc3RvcmVDb2RlLFxuICAgICAgICAgIHN0b3JlSWQ6IHN0Py5zdG9yZUlkLFxuICAgICAgICAgIHN0b3JlTmFtZTogc3Q/LnN0b3JlTmFtZSxcbiAgICAgICAgfSkpLFxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vIENvbnN1bWUgdGhlIGxpbmsgZWl0aGVyIHdheTogYW4gdW5tYXRjaGVkIGNvZGUgbXVzdCBub3QgcmUtZmlyZSBvbiBldmVyeVxuICAgIC8vIHN1YnNlcXVlbnQgZW1pc3Npb24gb2YgdGhlIHF1ZXJ5UGFyYW1zL2RhdGFSYW5nZSBzdWJzY3JpcHRpb25zLlxuICAgIHRoaXMuZGVlcExpbmtLZXlUeXBlID0gbnVsbDtcbiAgICB0aGlzLmRlZXBMaW5rU3RvcmVDb2RlID0gbnVsbDtcbiAgICBpZiAoIW1hdGNoKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8vIGJ1aWxkUmVxdWVzdERhdGEoKSByZWFkcyB0aGlzLmtleVR5cGUgKHRoZXJlIGlzIG5vIGtleVR5cGUgZm9ybSBjb250cm9sKSxcbiAgICAvLyBzbyBzZXR0aW5nIHRoZSBwcm9wZXJ0eSBpcyB3aGF0IHNjb3BlcyB0aGUgcmVxdWVzdCB0byBzdG9yZSBsZXZlbC5cbiAgICB0aGlzLmtleVR5cGUgPSBcInN0b3JlXCI7XG4gICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJzdG9yZUxpc3RcIik/LnNldFZhbHVlKFttYXRjaF0pO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gY2x1c3RlcnMgbmV3IGFwaVxuICBnZXRBbGxHcm91cHMxKGV2ZW50PzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgXG4gICAgbGV0IHJtTGlzdDogYW55ID0gW107XG4gICAgdGhpcy5DbHVzdGVyTGlzdCA9IFtdO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZXllVGVzdEZvcm0udmFsdWUuUm1MaXN0KSkge1xuICAgICAgdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5SbUxpc3QuZm9yRWFjaCgoZWw6IGFueSkgPT4ge1xuICAgICAgICBybUxpc3QucHVzaChlbD8uZW1haWwpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGV2ZW50Py5tYXAoKGVsOiBhbnkpID0+IGVsPy5lbWFpbCkgfHwgW3RoaXMudXNlcnM/LmVtYWlsXTtcbiAgICBjb25zdCBvYmogPSB7XG4gICAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJGaWx0ZXJzPy5jbGllbnQgPyB0aGlzLmhlYWRlckZpbHRlcnMuY2xpZW50IDogXCJcIixcbiAgICAgIHJtTGlzdDogcm1MaXN0Lmxlbmd0aCA+IDAgPyBybUxpc3QgOiBbdGhpcy51c2Vycz8uZW1haWxdLFxuICAgIH07XG4gICByZXR1cm4gdGhpcy5leWVTZXJ2aWNlLmdldENsdXN0ZXJzKG9iaikucGlwZShcbiAgICB0YXAoKHJlczogYW55KSA9PiB7XG4gICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcbiAgICAgICAgdGhpcy5DbHVzdGVyTGlzdCA9IHJlcy5kYXRhLnJlc3VsdDtcbiAgICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJDbHVzdGVyTGlzdFwiKT8uc2V0VmFsdWUodGhpcy5DbHVzdGVyTGlzdCk7XG4gICAgICAgIHRoaXMuZ3JvdXBzID0gdGhpcy5DbHVzdGVyTGlzdC5tYXAoKGVsOiBhbnkpID0+IGVsLmNsdXN0ZXJOYW1lKTtcbiAgICAgICAgLy8gTm90ZTogRG8gTk9UIGNhbGwgZ2V0QWxsU3RvcmVzKCkgaGVyZTsgY2hhaW4gaXQgb3V0c2lkZVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5DbHVzdGVyTGlzdCA9IFtdO1xuICAgICAgICB0aGlzLmxvYWRpbmcxID0gZmFsc2U7XG4gICAgICB9XG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KVxuICAgKTtcbiAgfVxuXG4gIC8vIGNsaWVudERldGFpbHMoKSB7XG4gIC8vICAgdGhpcy50cmF4U2VydmljZS5nZXRjbGllbnQoeyBjbGllbnRJZDogdGhpcy5oZWFkZXJGaWx0ZXJzLmNsaWVudCB9KS5zdWJzY3JpYmUoe1xuICAvLyAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gIC8vICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XG4gIC8vICAgICAgICAgdGhpcy5jbGllbnREYXRhID0gcmVzLmRhdGEucmVzdWx0XG4gIC8vICAgICAgIH1cbiAgLy8gICAgIH1cbiAgLy8gICB9KVxuICAvLyB9XG5cbiBnZXRBbGxTdG9yZXMxKCk6IE9ic2VydmFibGU8YW55PiB7XG4gIHJldHVybiB0aGlzLnRyYXhTZXJ2aWNlXG4gICAgLmdldFN0b3Jlc2xpc3Qoe1xuICAgICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRmlsdGVycz8uY2xpZW50LFxuICAgICAgY2x1c3RlcnM6IHRoaXMuZ3JvdXBzLFxuICAgICAgY2l0eTogW10sXG4gICAgfSlcbiAgICAucGlwZShcbiAgICAgIHRhcCgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XG4gICAgICAgICAgdGhpcy5zdG9yZUxpc3QgPSByZXMuZGF0YS5zdG9yZXNEYXRhO1xuICAgICAgICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwic3RvcmVMaXN0XCIpPy5zZXRWYWx1ZSh0aGlzLnN0b3JlTGlzdCk7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nMSA9ZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zdG9yZUxpc3QgPSBbXTtcbiAgICAgICAgICAgdGhpcy5sb2FkaW5nMSA9ZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICk7XG59XG5cbiAgdHlwZUNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJUeXBlXCIpPy5zZXRWYWx1ZShldmVudCk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL21hbmFnZS90cmF4L2F1ZGl0XCJdLCB7XG4gICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICBmcm9tRGF0ZTogdGhpcy5kYXlqcyhcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSxcbiAgICAgICAgICBcIkRELU1NLVlZWVlcIlxuICAgICAgICApLmZvcm1hdChcIllZWVktTU0tRERcIiksXG4gICAgICAgIHRvRGF0ZTogdGhpcy5kYXlqcyh0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmVuZERhdGUsIFwiREQtTU0tWVlZWVwiKS5mb3JtYXQoXG4gICAgICAgICAgXCJZWVlZLU1NLUREXCJcbiAgICAgICAgKSxcbiAgICAgICAgdHlwZVZhbHVlOiBldmVudCxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBkYXRlVHlwZUNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJkYXRlVHlwZVwiKT8uc2V0VmFsdWUoZXZlbnQpO1xuICAgIGlmKGV2ZW50ID09PSBcImF1ZGl0ZWREYXRlXCIpe1xuICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJhdWRpdFN0YXR1c1wiKT8uc2V0VmFsdWUoWy4uLnRoaXMuYXVkaXRlZERhdGVBdWRpdFN0YXR1c10pO1xuICAgIH1lbHNle1xuICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJhdWRpdFN0YXR1c1wiKT8uc2V0VmFsdWUoWy4uLnRoaXMuYXVkaXRTdGF0dXNBcnJheV0pO1xuICAgIH1cbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICBcbiAgfVxuXG4gIGF1ZGl0VHlwZUNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJhdWRpdFR5cGVcIik/LnNldFZhbHVlKGV2ZW50KTtcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHR5cGVQZXJjZW50YWdlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcImNvbXBsaWFuY2VTY29yZVwiKT8uc2V0VmFsdWUoZXZlbnQpO1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIHR5cGVBdWRpdFN0YXR1c0NoYW5nZShldmVudDogYW55KSB7XG4gICAgY29uc29sZS5sb2coXCIuLi4uLi4uLi4uLi4uLi50eXBlYXVkaXRDaGFnZXNcIiwgZXZlbnQpXG4gICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJhdWRpdFN0YXR1c1wiKT8uc2V0VmFsdWUoZXZlbnQpO1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIG5lYXJBZGRpdGlvbkNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJuZWFyQWRkaXRpb25cIik/LnNldFZhbHVlKGV2ZW50KTtcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuICBjYXRlZ29yeVR5cGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiY2F0ZWdvcnlcIik/LnNldFZhbHVlKGV2ZW50KTtcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuICBkYXRlY2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQuc3RhcnREYXRlICYmIGV2ZW50LmVuZERhdGUpIHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUpLmlzVmFsaWQoKSAmJlxuICAgICAgICB0aGlzLmRheWpzKGV2ZW50LmVuZERhdGUpLmlzVmFsaWQoKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlID0gdGhpcy5kYXlqcyhcbiAgICAgICAgICBldmVudC5zdGFydERhdGUsXG4gICAgICAgICAgXCJERC1NTS1ZWVlZXCJcbiAgICAgICAgKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmVuZERhdGUgPSB0aGlzLmRheWpzKFxuICAgICAgICAgIGV2ZW50LmVuZERhdGUsXG4gICAgICAgICAgXCJERC1NTS1ZWVlZXCJcbiAgICAgICAgKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpO1xuXG4gICAgICAgIHRoaXMuZXllVGVzdEZvcm1cbiAgICAgICAgICAuZ2V0KFwiZnJvbURhdGVcIilcbiAgICAgICAgICA/LnNldFZhbHVlKHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlICYmXG4gICAgICAgICAgdGhpcy5kYXlqcyh0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSkuaXNWYWxpZCgpXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuaGVhZERhdGUgPSB0aGlzLmRheWpzKHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlKS5mb3JtYXQoXG4gICAgICAgICAgICBcIk1NTSwgRERcIlxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5leWVUZXN0Rm9ybVxuICAgICAgICAgIC5nZXQoXCJ0b0RhdGVcIilcbiAgICAgICAgICA/LnNldFZhbHVlKHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmVuZERhdGUgJiZcbiAgICAgICAgICB0aGlzLmRheWpzKHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSkuaXNWYWxpZCgpXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuaGVhZERhdGVFbmQgPSB0aGlzLmRheWpzKHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSkuZm9ybWF0KFxuICAgICAgICAgICAgXCJNTU0gREQsIFlZWVlcIlxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL21hbmFnZS90cmF4L2F1ZGl0XCJdLCB7XG4gICAgICAgICAgcXVlcnlQYXJhbXM6IHtcbiAgICAgICAgICAgIGZyb21EYXRlOiB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSxcbiAgICAgICAgICAgIHRvRGF0ZTogdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5lbmREYXRlLFxuICAgICAgICAgICAgdHlwZVZhbHVlOiB0aGlzLnR5cGVWYWx1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvblN0YXJ0RGF0ZUNoYW5nZShldmVudDogYW55KSB7XG4gICAgaWYgKHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkpIHtcbiAgICAgIHRoaXMuaXNDdXN0b21EYXRlID0gKG06IGRheWpzLkRheWpzKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzVmFsaWREYXRlID1cbiAgICAgICAgICBtID4gdGhpcy5kYXlqcygpIHx8IG0gPiB0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZS5hZGQoNjAsIFwiZGF5c1wiKSk7XG4gICAgICAgIHJldHVybiBpc1ZhbGlkRGF0ZSA/IFwiaW52YWxpZC1kYXRlXCIgOiBmYWxzZTtcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcmVzZXRWYWxpZGF0aW9uKCkge1xuICAgIHRoaXMuaXNDdXN0b21EYXRlID0gKG06IGRheWpzLkRheWpzKSA9PiB7XG4gICAgICAvLyBDaGVjayBpZiB0aGUgZ2l2ZW4gZGF0ZSBpcyBiZWZvcmUgeWVzdGVyZGF5XG4gICAgICByZXR1cm4gbS5pc0FmdGVyKHRoaXMuZGF5anMoKSwgXCJkYXlcIikgPyBcImludmFsaWQtZGF0ZVwiIDogZmFsc2U7XG4gICAgfTtcbiAgfVxuXG4gIHNlbGVjdGVkVHlwZTogYW55O1xuICBjcmVhdGVGb3JtKCkge1xuICAgIGNvbnN0IGlzUmVtb3RlID0gdGhpcy5zZWxlY3RlZFR5cGUgPT09IFwicGh5c2ljYWxcIjsgLy8gb3IgaG93ZXZlciB5b3UncmUgZGV0ZXJtaW5pbmcgaXRcblxuICAgIHRoaXMuZXllVGVzdEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIGZyb21EYXRlOiBbXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2U/LnN0YXJ0RGF0ZVxuICAgICAgICA/IHRoaXMuZGF5anModGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUsIFwiREQtTU0tWVlZWVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpXG4gICAgICAgIDogdGhpcy5kYXlqcygpLnN1YnRyYWN0KDEsIFwiZGF5XCIpLmZvcm1hdChcIllZWVktTU0tRERcIiksXG4gICAgICBdLFxuICAgICAgdG9EYXRlOiBbXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2U/LmVuZERhdGVcbiAgICAgICAgPyB0aGlzLmRheWpzKHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSwgXCJERC1NTS1ZWVlZXCIpLmZvcm1hdChcIllZWVktTU0tRERcIilcbiAgICAgICAgOiB0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgXCJkYXlcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcbiAgICAgIF0sXG4gICAgICB0eXBlOiB0aGlzLnR5cGVWYWx1ZSxcbiAgICAgIGRhdGVUeXBlOiBcImZpbGVEYXRlXCIsXG4gICAgICBjb21wbGlhbmNlU2NvcmU6IFt0aGlzLnR5cGVQZXJjZW50YWdlQXJyYXldLFxuICAgICAgLi4uKGlzUmVtb3RlID8ge30gOiB7IGNhdGVnb3J5OiBbXCJnZW51aW5lXCJdIH0pLFxuICAgICAgbmVhckFkZGl0aW9uOiBbXCJcIl0sXG4gICAgICBhdWRpdFN0YXR1czogW3RoaXMuYXVkaXRTdGF0dXNBcnJheV0sXG4gICAgICBDbHVzdGVyTGlzdDogW3RoaXMuZ3JvdXBzXSxcbiAgICAgIHN0b3JlTGlzdDogW3RoaXMuc3RvcmVzXSxcbiAgICAgIFJtTGlzdDogW3RoaXMuUm1MaXN0XSxcbiAgICAgIC4uLihpc1JlbW90ZSA/IHt9IDogeyBhdWRpdFR5cGU6IFwiYWxsXCIgfSksIC8vIENvbmRpdGlvbmFsbHkgYWRkIGF1ZGl0VHlwZVxuICAgIH0pO1xuICB9XG5cbiAgb25ncm91cFNlbGVjdChldmVudDogYW55KSB7XG4gICAgLy8gdGhpcy5sb2FkaW5nMSA9IHRydWU7XG4gICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJDbHVzdGVyTGlzdFwiKT8uc2V0VmFsdWUoZXZlbnQpO1xuICAgIHRoaXMuZ3JvdXBzID0gZXZlbnQubWFwKChlbDogYW55KSA9PiBlbC5jbHVzdGVyTmFtZSk7XG4gICAgdGhpcy50cmF4U2VydmljZVxuICAgICAgLmdldFN0b3Jlc2xpc3Qoe1xuICAgICAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJGaWx0ZXJzLmNsaWVudCxcbiAgICAgICAgY2x1c3RlcnM6IHRoaXMuZ3JvdXBzLFxuICAgICAgICBjaXR5OiBbXSxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmVMaXN0ID0gcmVzLmRhdGEuc3RvcmVzRGF0YTtcbiAgICAgICAgICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwic3RvcmVMaXN0XCIpPy5zZXRWYWx1ZSh0aGlzLnN0b3JlTGlzdCk7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcxID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLm9uU3VibWl0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICAgIHRoaXMuc3RvcmVMaXN0ID0gW107XG4gICAgICAgICAgdGhpcy5sb2FkaW5nMSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMub25TdWJtaXQoKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgb25TdG9yZVNlbGVjdChldmVudDogYW55KSB7XG4gICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJzdG9yZUxpc3RcIik/LnNldFZhbHVlKGV2ZW50KTtcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuICBzZWFyY2hWYWx1ZTogYW55ID0gXCJcIjtcbiAgc2VhcmNoRGF0YSgpIHtcbiAgICB0aGlzLnNlYXJjaFZhbHVlID0gdGhpcy5zZWFyY2hWYWx1ZTtcbiAgICB0aGlzLm9uU3VibWl0KCk7XG4gIH1cblxuICBwYWdpbmF0aW9uU2l6ZXM6IGFueVtdID0gW107XG4gIHBhZ2VTaXplID0gMTA7XG4gIHNldFBhZ2luYXRpb25TaXplcygpIHtcbiAgICBpZiAodGhpcy50b3RhbEl0ZW1zID4gMTApIHtcbiAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gWzEwLCAyMCwgMzBdO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBhZ2luYXRpb25TaXplcyA9IFt0aGlzLnRvdGFsSXRlbXNdOyAvLyBKdXN0IG9uZSBvcHRpb24gaWYgIDEwXG4gICAgfVxuICAgIHRoaXMucGFnZVNpemUgPSB0aGlzLnBhZ2luYXRpb25TaXplc1swXTtcbiAgfVxuICBSbUxpc3REYXRhOiBhbnkgPSBbXTtcbiAga2V5VHlwZTogYW55O1xuICAvLyBTZXQgZnJvbSB0aGUgP2tleVR5cGUvc3RvcmVDb2RlL29wdG9tSWQgZGVlcCBsaW5rIChFeWUgVGVzdCBkYXNoYm9hcmRcbiAgLy8gXCJBdWRpdFwiIGJ1dHRvbikuIEFwcGxpZWQgYnkgYXBwbHlEZWVwTGlua1N0b3JlKCkgb25jZSB0aGUgY2x1c3Rlci9zdG9yZVxuICAvLyBsaXN0cyBoYXZlIHJlc29sdmVkLCBhbmQgY29uc3VtZWQgb25jZSBzbyBhIGxhdGVyIG1hbnVhbCBsZXZlbCBjaGFuZ2Ugd2lucy5cbiAgZGVlcExpbmtLZXlUeXBlOiBhbnkgPSBudWxsO1xuICBkZWVwTGlua1N0b3JlQ29kZTogYW55ID0gbnVsbDtcbiAgZGVlcExpbmtPcHRvbUlkOiBhbnkgPSBudWxsO1xuICBybUVtYWlsOiBhbnk7XG5cbiAgLy8gVGFuZ28gQUlcbiAgZXllVGVzdENoYXRRdWVyeSA9ICcnO1xuICBleWVUZXN0QWlNZXNzYWdlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgc2hvd0V5ZVRlc3RBaU1lc3NhZ2UgPSBmYWxzZTtcblxuICAvLyBNb2RlbCBzd2l0Y2hlclxuICByZWFkb25seSBtb2RlbE9wdGlvbnMgPSBbXG4gICAgeyBsYWJlbDogJ3YxJywgdmFsdWU6ICdnZW1pbmktMi41LXBybycgfSxcbiAgICB7IGxhYmVsOiAndjInLCB2YWx1ZTogJ2NsYXVkZS1zb25uZXQtNC02JyB9XG4gIF07XG4gIHNlbGVjdGVkTW9kZWwgPSAnY2xhdWRlLXNvbm5ldC00LTYnO1xuICBzaG93UGx1c01lbnUgPSBmYWxzZTtcblxuICBnZXQgc2VsZWN0ZWRNb2RlbFZlcnNpb24oKTogc3RyaW5nIHtcbiAgICBjb25zdCBtYXRjaCA9IHRoaXMuc2VsZWN0ZWRNb2RlbC5tYXRjaCgvKFxcZCtcXC5cXGQrKS8pO1xuICAgIHJldHVybiBtYXRjaCA/IG1hdGNoWzFdIDogJyc7XG4gIH1cblxuICBzZWxlY3RNb2RlbCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7IHRoaXMuc2VsZWN0ZWRNb2RlbCA9IHZhbHVlOyB9XG4gIHRvZ2dsZVBsdXNNZW51KCk6IHZvaWQgeyB0aGlzLnNob3dQbHVzTWVudSA9ICF0aGlzLnNob3dQbHVzTWVudTsgfVxuICBjbG9zZVBsdXNNZW51KCk6IHZvaWQgeyB0aGlzLnNob3dQbHVzTWVudSA9IGZhbHNlOyB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxuICBvbkRvY3VtZW50Q2xpY2soZTogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICghKGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KCcucGx1cy1tZW51LXdyYXAnKSkge1xuICAgICAgdGhpcy5zaG93UGx1c01lbnUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbiAgLy8gdHlwZVZhbCh2YWw6IGFueSwgb2JqPzogYW55KSB7XG4gIC8vICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgLy8gICB0aGlzLnNlYXJjaFZhbHVlID0gXCJcIjtcbiAgLy8gICB0aGlzLmxpbWl0ID0gMTA7XG4gIC8vICAgdGhpcy5vZmZzZXQgPSAxO1xuICAvLyAgIHRoaXMucGFnZVNpemUgPSAxMDtcbiAgLy8gICB0aGlzLmtleVR5cGUgPSB2YWw7XG4gIC8vICAgdGhpcy5ybUVtYWlsID0gb2JqPy5STUVtYWlsID8gb2JqPy5STUVtYWlsIDogb2JqO1xuICAvLyAgIC8vIPCflI0gZmluZCB0aGUgUk0gb2JqZWN0IGluIHlvdXIgUm1MaXN0IGFycmF5XG4gIC8vICAgIGlmICh0aGlzLnVzZXJzPy5yb2xlID09PSBcInN1cGVyYWRtaW5cIiAmJiB0aGlzLlJtTGlzdD8ubGVuZ3RoKSB7XG4gIC8vICAgdGhpcy5SbUxpc3Q/LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAvLyAgICAgaWYgKGVsZW1lbnQ/LmVtYWlsID09PSB0aGlzLnJtRW1haWwpIHtcbiAgLy8gICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJSbUxpc3RcIik/LnNldFZhbHVlKFtlbGVtZW50XSk7XG4gIC8vICAgICAgIHRoaXMub25SbVNlbGVjdChbZWxlbWVudF0pO1xuICAvLyAgICAgfVxuICAvLyAgIH0pO1xuICAvLyB9XG4gIC8vICAgdGhpcy5ncm91cHMgPSBvYmo/LmNsdXN0ZXJOYW1lID8gW29iaj8uY2x1c3Rlck5hbWVdIDogdGhpcy5ncm91cHM7XG4gIC8vICAgIGlmIChcbiAgLy8gICAgIHRoaXMudXNlcnM/LnJvbGUgPT09IFwiYWRtaW5cIiAmJlxuICAvLyAgICAgdGhpcy5DbHVzdGVyTGlzdD8ubGVuZ3RoICYmXG4gIC8vICAgICBvYmo/LmNsdXN0ZXJOYW1lXG4gIC8vICAgKSB7XG4gIC8vICAgdGhpcy5DbHVzdGVyTGlzdC5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgLy8gICAgIGlmIChlbGVtZW50Py5jbHVzdGVyTmFtZSA9PT0gdGhpcy5ncm91cHMpIHtcbiAgLy8gICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJDbHVzdGVyTGlzdFwiKT8uc2V0VmFsdWUoW2VsZW1lbnRdKTtcbiAgLy8gICAgICAgdGhpcy5vbmdyb3VwU2VsZWN0KFtlbGVtZW50XSk7XG4gIC8vICAgICB9XG4gIC8vICAgfSk7XG4gIC8vIH1cbiAgLy8gICB0aGlzLnNvcnRlZENvbHVtbiA9IFwiZGF0ZVwiO1xuICAvLyAgIGlmICh0aGlzLnJtRW1haWwgPT09IFwiXCIpIHRoaXMub25TdWJtaXQoKTtcbiAgLy8gfVxuICBkZW1vR3JhcGljczphbnk7XG4gIHR5cGVWYWwodmFsOiBhbnksIG9iaj86IGFueSkge1xuICAgIC8vIGNvbnNvbGUubG9nKHZhbCwgb2JqKTtcbiAgIHRoaXMudHlwZVBlcmNlbnRhZ2VBcnJheSA9W107XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnNlYXJjaFZhbHVlID0gXCJcIjtcbiAgICB0aGlzLmZpbHRlckJ5T3B0b20gPSBcIlwiO1xuICAgIHRoaXMubGltaXQgPSAxMDtcbiAgICB0aGlzLm9mZnNldCA9IDE7XG4gICAgdGhpcy5wYWdlU2l6ZSA9IDEwO1xuICAgIHRoaXMua2V5VHlwZSA9IHZhbDtcbiAgICB0aGlzLnNob3dFeWVUZXN0QWlNZXNzYWdlID0gZmFsc2U7XG4gICAgdGhpcy5leWVUZXN0QWlNZXNzYWdlID0gbnVsbDtcbiAgICB0aGlzLmV5ZVRlc3RDaGF0UXVlcnkgPSAnJztcbiAgICB0aGlzLmluaXRBaVNlc3Npb24oKTtcbiAgICB0aGlzLnNvcnRlZENvbHVtbiA9IFwiZGF0ZVwiO1xudGhpcy5kZW1vR3JhcGljcyA9IHRoaXMuZXllVGVzdEZvcm0udmFsdWUuYXVkaXRUeXBlO1xuaWYgKHRoaXMuZGVtb0dyYXBpY3MgPT09IFwiYWxsXCIpIHtcbiAgdGhpcy5kZW1vR3JhcGljcyA9IFtcImFkdWx0XCIsIFwia2lkc1wiXTtcbn1cbiAgICBpZiAodGhpcy51c2Vycz8ucm9sZSA9PT0gXCJzdXBlcmFkbWluXCIgJiYgdGhpcy5SbUxpc3Q/Lmxlbmd0aClcbiAgICAgIHRoaXMucm1FbWFpbCA9IG9iaj8uUk1FbWFpbCA/IG9iaj8uUk1FbWFpbCA6IG9iajtcbiAgICBcbiAgICB0aGlzLmdyb3VwcyA9IG9iaj8uY2x1c3Rlck5hbWUgPyBbb2JqPy5jbHVzdGVyTmFtZV0gOiB0aGlzLmdyb3VwcztcbiAgICBcbiAgICBsZXQgZm91bmRSTSA9IGZhbHNlO1xuICAgIGxldCBmb3VuZENsdXN0ZXIgPSBmYWxzZTtcbiAgICBpZih2YWwgIT09XCJzdG9yZVwiKXtcbnRoaXMudHlwZVBlcmNlbnRhZ2VBcnJheSA9IFtcbiB7IGxhYmVsOiBcIjDigJMxMCVcIiwgdmFsdWU6IFwiMC0xMFwiIH0sXG4gIHsgbGFiZWw6IFwiMTDigJMyMCVcIiwgdmFsdWU6IFwiMTAtMjBcIiB9LFxuICB7IGxhYmVsOiBcIjIw4oCTMzAlXCIsIHZhbHVlOiBcIjIwLTMwXCIgfSxcbiAgeyBsYWJlbDogXCIzMOKAkzQwJVwiLCB2YWx1ZTogXCIzMC00MFwiIH0sXG4gIHsgbGFiZWw6IFwiNDDigJM1MCVcIiwgdmFsdWU6IFwiNDAtNTBcIn0sXG4gIHsgbGFiZWw6IFwiNTDigJM2MCVcIiwgdmFsdWU6IFwiNTAtNjBcIiB9LFxuICB7IGxhYmVsOiBcIjYw4oCTNzAlXCIsIHZhbHVlOiBcIjYwLTcwXCIgfSxcbiAgeyBsYWJlbDogXCI3MOKAkzgwJVwiLCB2YWx1ZTogXCI3MC04MFwiIH0sXG4gIHsgbGFiZWw6IFwiODDigJM5MCVcIiwgdmFsdWU6IFwiODAtOTBcIiB9LFxuICB7IGxhYmVsOiBcIjkw4oCTMTAwJVwiLCB2YWx1ZTogXCI5MC0xMDBcIiB9LFxuXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50eXBlUGVyY2VudGFnZUFycmF5ID0gW1xuICAgICAgICB7IGxhYmVsOiBcIjAlXCIsIHZhbHVlOiBcIjBcIiB9LFxuICAgICAgICB7IGxhYmVsOiBcIjE3JVwiLCB2YWx1ZTogXCIxNlwiIH0sXG4gICAgICAgIHsgbGFiZWw6IFwiMzMlXCIsIHZhbHVlOiBcIjMzXCIgfSxcbiAgICAgICAgeyBsYWJlbDogXCI1MCVcIiwgdmFsdWU6IFwiNTBcIiB9LFxuICAgICAgICB7IGxhYmVsOiBcIjY3JVwiLCB2YWx1ZTogXCI2NlwiIH0sXG4gICAgICAgIHsgbGFiZWw6IFwiODMlXCIsIHZhbHVlOiBcIjgzXCIgfSxcbiAgICAgICAgeyBsYWJlbDogXCIxMDAlXCIsIHZhbHVlOiBcIjEwMFwiIH0sXG4gICAgICBdO1xuICAgIH1cbiAgICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJjb21wbGlhbmNlU2NvcmVcIik/LnNldFZhbHVlKHRoaXMudHlwZVBlcmNlbnRhZ2VBcnJheSk7XG4gICAgaWYoKHRoaXMudXNlcnM/LnJvbGUgPT09IFwic3VwZXJhZG1pblwiIHx8IHRoaXMudXNlcnM/LnJvbGUgPT09IFwiYWRtaW5cIikgJiYgdmFsID09PVwic3RvcmVcIiAmJlxuICAgICAgICB0aGlzLkNsdXN0ZXJMaXN0Py5sZW5ndGggJiZcbiAgICAgICAgb2JqPy5jbHVzdGVyTmFtZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuQ2x1c3Rlckxpc3QuZm9yRWFjaChcbiAgICAgICAgICAoZWxlbWVudDogYW55KSA9PiBcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWYoZWxlbWVudD8uY2x1c3Rlck5hbWUgPT09IG9iai5jbHVzdGVyTmFtZSl7XG4gICAgICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJDbHVzdGVyTGlzdFwiKT8uc2V0VmFsdWUoW2VsZW1lbnRdKTtcbiAgICAgICAgICB0aGlzLm9uZ3JvdXBTZWxlY3QoW2VsZW1lbnRdKTtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZzEgPSB0cnVlO1xuICAgICAgICAgIGZvdW5kQ2x1c3RlciA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmKCh0aGlzLnVzZXJzPy5yb2xlID09PSBcInN1cGVyYWRtaW5cIiB8fCB0aGlzLnVzZXJzPy5yb2xlID09PSBcImFkbWluXCIpICYmIHZhbCA9PT1cImNsdXN0ZXJcIiAmJlxuICAgICAgICB0aGlzLkNsdXN0ZXJMaXN0Py5sZW5ndGggJiZcbiAgICAgICAgb2JqPy5jbHVzdGVyTmFtZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuQ2x1c3Rlckxpc3QuZm9yRWFjaChcbiAgICAgICAgICAoZWxlbWVudDogYW55KSA9PiBcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWYoZWxlbWVudD8uY2x1c3Rlck5hbWUgPT09IG9iai5jbHVzdGVyTmFtZSl7XG4gICAgICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJDbHVzdGVyTGlzdFwiKT8uc2V0VmFsdWUoW2VsZW1lbnRdKTtcbiAgICAgICAgICB0aGlzLm9uZ3JvdXBTZWxlY3QoW2VsZW1lbnRdKTtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZzEgPSB0cnVlO1xuICAgICAgICAgIGZvdW5kQ2x1c3RlciA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8g4pyFIFJNIHNlbGVjdGlvbiAob25seSBmb3Igc3VwZXJhZG1pbilcbiAgICBpZiAodGhpcy51c2Vycz8ucm9sZSA9PT0gXCJzdXBlcmFkbWluXCIgJiYgdmFsID09PVwiY2x1c3RlclwiICYmIHRoaXMuUm1MaXN0Py5sZW5ndGgpIHtcbiAgICAgdGhpcy5SbUxpc3QuZm9yRWFjaChcbiAgICAgICAgKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICAgIGlmKGVsZW1lbnQ/LmVtYWlsID09PSB0aGlzLnJtRW1haWwpIHtcbiAgICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJSbUxpc3RcIik/LnNldFZhbHVlKFtlbGVtZW50XSk7XG4gICAgICAgIHRoaXMub25SbVNlbGVjdChbZWxlbWVudF0pO1xuICAgICAgICAgIHRoaXMubG9hZGluZzEgPSB0cnVlO1xuICAgICAgICBmb3VuZFJNID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KVxuICAgIH1cblxuICAgIC8vIOKchSBDbHVzdGVyIHNlbGVjdGlvbiAob25seSBmb3IgYWRtaW4pXG5cbiAgICAvLyDinIUgU3VibWl0IGZhbGxiYWNrXG4gICAgaWYgKCFmb3VuZFJNICYmICFmb3VuZENsdXN0ZXIpIHtcbiAgICB0aGlzLmdldEFsbFN0b3JlcygpO1xuICAgIH1cbiAgIFxuICAgICAgICAgICAgICAgICB0aGlzLm9uU3VibWl0KCk7XG4gICAgICAgIFxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG50eXBlVmFsMSh2YWw6IGFueSwgb2JqPzogYW55KSB7XG4gIHRoaXMubG9hZGluZyA9IHRydWU7XG4gIHRoaXMuc2VhcmNoVmFsdWUgPSBcIlwiO1xuICB0aGlzLmZpbHRlckJ5T3B0b20gPSBcIlwiO1xuICB0aGlzLmxpbWl0ID0gMTA7XG4gIHRoaXMub2Zmc2V0ID0gMTtcbiAgdGhpcy5wYWdlU2l6ZSA9IDEwO1xuICB0aGlzLmtleVR5cGUgPSB2YWw7XG4gIHRoaXMuc2hvd0V5ZVRlc3RBaU1lc3NhZ2UgPSBmYWxzZTtcbiAgdGhpcy5leWVUZXN0QWlNZXNzYWdlID0gbnVsbDtcbiAgdGhpcy5leWVUZXN0Q2hhdFF1ZXJ5ID0gJyc7XG4gIHRoaXMuaW5pdEFpU2Vzc2lvbigpO1xuICB0aGlzLnNvcnRlZENvbHVtbiA9IFwiZGF0ZVwiO1xuICAgaWYodmFsICE9PVwic3RvcmVcIil7XG50aGlzLnR5cGVQZXJjZW50YWdlQXJyYXkgPSBbXG4gIHsgbGFiZWw6IFwiMOKAkzEwJVwiLCB2YWx1ZTogXCIwLTEwXCIgfSxcbiAgeyBsYWJlbDogXCIxMOKAkzIwJVwiLCB2YWx1ZTogXCIxMC0yMFwiIH0sXG4gIHsgbGFiZWw6IFwiMjDigJMzMCVcIiwgdmFsdWU6IFwiMjAtMzBcIiB9LFxuICB7IGxhYmVsOiBcIjMw4oCTNDAlXCIsIHZhbHVlOiBcIjMwLTQwXCIgfSxcbiAgeyBsYWJlbDogXCI0MOKAkzUwJVwiLCB2YWx1ZTogXCI0MC01MFwifSxcbiAgeyBsYWJlbDogXCI1MOKAkzYwJVwiLCB2YWx1ZTogXCI1MC02MFwiIH0sXG4gIHsgbGFiZWw6IFwiNjDigJM3MCVcIiwgdmFsdWU6IFwiNjAtNzBcIiB9LFxuICB7IGxhYmVsOiBcIjcw4oCTODAlXCIsIHZhbHVlOiBcIjcwLTgwXCIgfSxcbiAgeyBsYWJlbDogXCI4MOKAkzkwJVwiLCB2YWx1ZTogXCI4MC05MFwiIH0sXG4gIHsgbGFiZWw6IFwiOTDigJMxMDAlXCIsIHZhbHVlOiBcIjkwLTEwMFwiIH0sXG5dO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnR5cGVQZXJjZW50YWdlQXJyYXkgPSBbXG4gICAgICAgIHsgbGFiZWw6IFwiMCVcIiwgdmFsdWU6IFwiMFwiIH0sXG4gICAgICAgIHsgbGFiZWw6IFwiMTclXCIsIHZhbHVlOiBcIjE2XCIgfSxcbiAgICAgICAgeyBsYWJlbDogXCIzMyVcIiwgdmFsdWU6IFwiMzNcIiB9LFxuICAgICAgICB7IGxhYmVsOiBcIjUwJVwiLCB2YWx1ZTogXCI1MFwiIH0sXG4gICAgICAgIHsgbGFiZWw6IFwiNjclXCIsIHZhbHVlOiBcIjY2XCIgfSxcbiAgICAgICAgeyBsYWJlbDogXCI4MyVcIiwgdmFsdWU6IFwiODNcIiB9LFxuICAgICAgICB7IGxhYmVsOiBcIjEwMCVcIiwgdmFsdWU6IFwiMTAwXCIgfSxcbiAgICAgIF07XG4gICAgfVxuICAgICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcImNvbXBsaWFuY2VTY29yZVwiKT8uc2V0VmFsdWUodGhpcy50eXBlUGVyY2VudGFnZUFycmF5KTtcbiAgaWYgKHRoaXMudXNlcnM/LnJvbGUgPT09IFwic3VwZXJhZG1pblwiICYmIHRoaXMuUm1MaXN0Py5sZW5ndGgpIHtcbiAgICB0aGlzLnJtRW1haWwgPSBvYmo/LlJNRW1haWwgPyBvYmo/LlJNRW1haWwgOiBvYmo7XG4gIH1cblxuICAvLyB0aGlzLmdyb3VwcyA9IG9iaj8uY2x1c3Rlck5hbWUgPyBbb2JqPy5jbHVzdGVyTmFtZV0gOiB0aGlzLmdyb3VwcztcblxuICB0aGlzLmRlbW9HcmFwaWNzID0gdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5hdWRpdFR5cGU7XG4gIGlmICh0aGlzLmRlbW9HcmFwaWNzID09PSBcImFsbFwiKSB7XG4gICAgdGhpcy5kZW1vR3JhcGljcyA9IFtcImFkdWx0XCIsIFwia2lkc1wiXTtcbiAgfVxuICB0aGlzLmV5ZVRlc3REYXRhID0gW107XG4gIGxldCBmb3VuZFJNID0gZmFsc2U7XG4gIGxldCBmb3VuZENsdXN0ZXIgPSBmYWxzZTtcblxuICAvLyDinIUgQ2x1c3RlciAvIFN0b3JlXG4gIGlmICgodGhpcy51c2Vycz8ucm9sZSA9PT0gXCJzdXBlcmFkbWluXCIgfHwgdGhpcy51c2Vycz8ucm9sZSA9PT0gXCJhZG1pblwiKSAmJlxuICAgICAgKHZhbCA9PT0gXCJzdG9yZVwiIHx8IHZhbCA9PT0gXCJjbHVzdGVyXCIpKSB7XG4gICAgIHRoaXMuZ2V0QWxsR3JvdXBzKCk7XG4gICAgICAgdGhpcy5sb2FkaW5nMSA9IHRydWU7XG4gICAgZm91bmRDbHVzdGVyID0gdHJ1ZTtcbiAgfVxuXG4gIC8vIOKchSBSTSAob25seSBmb3Igc3VwZXJhZG1pbilcbiAgaWYgKHRoaXMudXNlcnM/LnJvbGUgPT09IFwic3VwZXJhZG1pblwiICYmIHZhbCA9PT0gXCJybVwiKSB7XG4gICB0aGlzLm9uUm1TZWxlY3QodGhpcy5ybUxpc3QpO1xuICAgICB0aGlzLmxvYWRpbmcxID0gdHJ1ZTtcbiAgICBmb3VuZFJNID0gdHJ1ZTtcbiAgfVxuXG4gIC8vIOKchSBGYWxsYmFja1xuICBpZiAoIWZvdW5kUk0gJiYgIWZvdW5kQ2x1c3Rlcikge1xuICAgIHRoaXMuZ2V0QWxsU3RvcmVzKCk7XG4gIH1cbiAgXG4gICAgICAgICAgICAgICAgIHRoaXMub25TdWJtaXQoKTtcbiAgICAgICAgICB0aGlzLmxvYWRpbmcxID1mYWxzZTtcbiAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG59XG4vLyBwcml2YXRlIHJlc2V0QWxsQ2x1c3RlcnMoKSB7XG4vLyAgIGlmICh0aGlzLkNsdXN0ZXJMaXN0Py5sZW5ndGgpIHtcbi8vICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIkNsdXN0ZXJMaXN0XCIpPy5zZXRWYWx1ZSh0aGlzLkNsdXN0ZXJMaXN0KTtcbi8vICAgICB0aGlzLm9uZ3JvdXBTZWxlY3QodGhpcy5DbHVzdGVyTGlzdCk7XG4vLyAgIH0gZWxzZSB7XG4vLyAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJDbHVzdGVyTGlzdFwiKT8uc2V0VmFsdWUoW10pO1xuLy8gICB9XG4vLyAgIHRoaXMuZ2V0QWxsR3JvdXBzKCk7XG4vLyB9XG5cbi8vIHByaXZhdGUgcmVzZXRBbGxSbXMoKSB7XG4vLyAgIGlmICh0aGlzLlJtTGlzdD8ubGVuZ3RoKSB7XG4vLyAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJSbUxpc3RcIik/LnNldFZhbHVlKHRoaXMuUm1MaXN0KTtcbi8vICAgICB0aGlzLm9uUm1TZWxlY3QodGhpcy5SbUxpc3QpO1xuLy8gICB9IGVsc2Uge1xuLy8gICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiUm1MaXN0XCIpPy5zZXRWYWx1ZShbXSk7XG4vLyAgIH1cbi8vICAgdGhpcy5nZXRBbGxSbSgpO1xuLy8gfVxuXG5cbmJ1aWxkUmVxdWVzdERhdGEocGFyYW1zPzoge1xuICBpc0V4cG9ydD86IGJvb2xlYW47XG4gIGxpbWl0PzogbnVtYmVyO1xuICBvZmZzZXQ/OiBudW1iZXI7XG59KTogYW55IHtcbiAgLy8gTWFwIHJvbGUg4oaSIGtleVR5cGVcbiAgY29uc3Qgcm9sZUtleVR5cGVNYXA6IGFueSA9IHtcbiAgICBzdXBlcmFkbWluOiBcInJtXCIsXG4gICAgYWRtaW46IFwiY2x1c3RlclwiLFxuICAgIHVzZXI6IFwic3RvcmVcIixcbiAgfTtcbiAgaWYgKCF0aGlzLmtleVR5cGUpIHtcbiAgICB0aGlzLmtleVR5cGUgPSByb2xlS2V5VHlwZU1hcFt0aGlzLnVzZXJzPy5yb2xlXSB8fCBcInN0b3JlXCI7XG4gIH1cblxuICAvLyBDb2xsZWN0IHN0b3JlIElEc1xuICBjb25zdCBmaW5hbFN0b3JlcyA9IEFycmF5LmlzQXJyYXkodGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5zdG9yZUxpc3QpXG4gICAgPyB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLnN0b3JlTGlzdC5tYXAoKHN0b3JlOiBhbnkpID0+IHN0b3JlLnN0b3JlSWQpXG4gICAgOiBbXTtcblxuICAvLyBDb2xsZWN0IFJNIGVtYWlsc1xuICBsZXQgZmluYWxSTUxpc3Q6IHN0cmluZ1tdID0gW107XG4gIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZXllVGVzdEZvcm0udmFsdWUuUm1MaXN0KSAmJiB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLlJtTGlzdC5sZW5ndGgpIHtcbiAgICBmaW5hbFJNTGlzdCA9IHRoaXMuZXllVGVzdEZvcm0udmFsdWUuUm1MaXN0Lm1hcCgoZWw6IGFueSkgPT4gZWw/LmVtYWlsKTtcbiAgfSBlbHNlIGlmICh0aGlzLnJtRW1haWwpIHtcbiAgICBmaW5hbFJNTGlzdCA9IFt0aGlzLnJtRW1haWxdO1xuICB9IGVsc2UgaWYgKHRoaXMudXNlcnM/LmVtYWlsKSB7XG4gICAgZmluYWxSTUxpc3QgPSBbdGhpcy51c2Vycy5lbWFpbF07XG4gIH1cbnRoaXMuUm1MaXN0RGF0YSA9IGZpbmFsUk1MaXN0Py5sZW5ndGggPyBmaW5hbFJNTGlzdD8ubGVuZ3RoIDogW107XG4gIC8vIEhhbmRsZSBhdWRpdFR5cGUg4oaSIG5vcm1hbGl6ZSB0byBhcnJheVxuICBjb25zdCBhdWRpdFR5cGVWYWx1ZSA9IHRoaXMuZXllVGVzdEZvcm0udmFsdWUuYXVkaXRUeXBlO1xuICBsZXQgYXVkaXRUeXBlczogc3RyaW5nW10gPSBbXTtcbiAgaWYgKGF1ZGl0VHlwZVZhbHVlID09PSBcImFsbFwiKSB7XG4gICAgYXVkaXRUeXBlcyA9IFtcImFkdWx0XCIsIFwia2lkc1wiXTtcbiAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGF1ZGl0VHlwZVZhbHVlKSkge1xuICAgIGF1ZGl0VHlwZXMgPSBhdWRpdFR5cGVWYWx1ZTtcbiAgfSBlbHNlIGlmIChhdWRpdFR5cGVWYWx1ZSkge1xuICAgIGF1ZGl0VHlwZXMgPSBbYXVkaXRUeXBlVmFsdWVdO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJGaWx0ZXJzPy5jbGllbnQsXG4gICAgZnJvbURhdGU6IHRoaXMuZXllVGVzdEZvcm0udmFsdWUuZnJvbURhdGUsXG4gICAgdG9EYXRlOiB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLnRvRGF0ZSxcbiAgICB0eXBlOiB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLnR5cGUsXG4gICAgZGF0ZVR5cGU6IHRoaXMuZXllVGVzdEZvcm0udmFsdWUuZGF0ZVR5cGUsXG5cbiAgICAvLyBkZW1vZ3JhcGhpY3Mgb25seSBpZiB0eXBlICE9PSByZW1vdGVcbiAgICAuLi4odGhpcy5leWVUZXN0Rm9ybS52YWx1ZS50eXBlICE9PSBcInJlbW90ZVwiICYmIHsgZGVtb2dyYXBoaWNzOiBhdWRpdFR5cGVzIH0pLFxuXG4gICAgY2x1c3RlcjogdGhpcy5ncm91cHMsXG4gICAgc3RvcmVJZDogZmluYWxTdG9yZXMsXG5cbiAgICBsaW1pdDogcGFyYW1zPy5saW1pdCA/PyB0aGlzLmxpbWl0ID8/IDEwLFxuICAgIG9mZnNldDogcGFyYW1zPy5vZmZzZXQgPz8gdGhpcy5vZmZzZXQgPz8gMSxcbiAgICBrZXlUeXBlOiB0aGlzLmtleVR5cGUsXG5cbiAgICBjb21wbGlhbmNlU2NvcmU6IHRoaXMuZXllVGVzdEZvcm0udmFsdWUuY29tcGxpYW5jZVNjb3JlPy5sZW5ndGggPyAodGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5jb21wbGlhbmNlU2NvcmUubWFwKChlbDogYW55KSA9PiBlbC52YWx1ZSkpOiBbXSxcbiAgIFxuICAgIGF1ZGl0U3RhdHVzOiAgdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5hdWRpdFN0YXR1cz8ubGVuZ3RoXG4gICAgICA/IHRoaXMuZXllVGVzdEZvcm0udmFsdWUuYXVkaXRTdGF0dXMubWFwKChlbDogYW55KSA9PiBlbC52YWx1ZSlcbiAgICAgIDogW10sXG4gICAgbmVhckFkZGl0aW9uOiB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLm5lYXJBZGRpdGlvbiB8fCBcIlwiLFxuXG4gICAgLi4uKHRoaXMuZXllVGVzdEZvcm0udmFsdWUudHlwZSAhPT0gXCJyZW1vdGVcIiAmJiB7XG4gICAgICBjYXRlZ29yeTogdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5jYXRlZ29yeSxcbiAgICB9KSxcblxuICAgIFJNTGlzdDogZmluYWxSTUxpc3QsXG4gICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoVmFsdWUgfHwgXCJcIixcbiAgICBpc0V4cG9ydDogcGFyYW1zPy5pc0V4cG9ydCA/PyBmYWxzZSxcbiAgICBzb3J0T3JkZXI6IHRoaXMuc29ydE9yZGVyID8/IC0xLFxuICAgIHNvcnRCeTogdGhpcy5zb3J0ZWRDb2x1bW4gPz8gXCJkYXRlXCIsXG5cbiAgICAvLyBPbmx5IHNlbnQgd2hpbGUgYW4gb3B0b20gZmlsdGVyIGlzIGFjdGl2ZTsgb21pdHRlZCBlbnRpcmVseSBvdGhlcndpc2UuXG4gICAgLi4uKHRoaXMuZmlsdGVyQnlPcHRvbSAmJiB7IGZpbHRlckJ5T3B0b206IHRoaXMuZmlsdGVyQnlPcHRvbSB9KSxcbiAgfTtcbn1cblxuLyoqIE9wdG9tIElEIHRoZSBsaXN0IGlzIGN1cnJlbnRseSBmaWx0ZXJlZCB0bywgc2V0IGJ5IGNsaWNraW5nIGFuIE9wdG9tIElEIGNlbGwuICovXG5maWx0ZXJCeU9wdG9tOiBzdHJpbmcgPSBcIlwiO1xuXG4vKiogT3B0b20gSUQgZm9yIGEgcm93OyB0aGUgZmllbGQgZGlmZmVycyBiZXR3ZWVuIHJlbW90ZSBhbmQgaW4tc3RvcmUgYXVkaXRzLiAqL1xuZ2V0Um93T3B0b21JZChyb3c6IGFueSk6IHN0cmluZyB7XG4gIGNvbnN0IGlkID0gdGhpcy50eXBlVmFsdWUgPT09IFwicmVtb3RlXCIgPyByb3c/Lm9wdG1fdXNlcklkIDogcm93Py5vcHR1bUlkO1xuICByZXR1cm4gaWQgPyBTdHJpbmcoaWQpIDogXCJcIjtcbn1cblxuLyoqIEZpbHRlcnMgdGhlIGxpc3QgdG8gYSBzaW5nbGUgb3B0b20uIENsaWNraW5nIHRoZSBhY3RpdmUgb25lIGNsZWFycyB0aGUgZmlsdGVyLiAqL1xuZmlsdGVyT3B0b20ocm93OiBhbnkpOiB2b2lkIHtcbiAgY29uc3Qgb3B0b21JZCA9IHRoaXMuZ2V0Um93T3B0b21JZChyb3cpO1xuICBpZiAoIW9wdG9tSWQpIHJldHVybjtcbiAgdGhpcy5maWx0ZXJCeU9wdG9tID0gdGhpcy5maWx0ZXJCeU9wdG9tID09PSBvcHRvbUlkID8gXCJcIiA6IG9wdG9tSWQ7XG4gIHRoaXMub2Zmc2V0ID0gMTtcbiAgdGhpcy5vblN1Ym1pdCgpO1xufVxuXG4vKiogQ2xlYXJzIHRoZSBvcHRvbSBmaWx0ZXIgYW5kIHJlbG9hZHMgdGhlIGxpc3QuICovXG5jbGVhck9wdG9tRmlsdGVyKCk6IHZvaWQge1xuICBpZiAoIXRoaXMuZmlsdGVyQnlPcHRvbSkgcmV0dXJuO1xuICB0aGlzLmZpbHRlckJ5T3B0b20gPSBcIlwiO1xuICB0aGlzLmRlZXBMaW5rT3B0b21JZCA9IG51bGw7XG4gIHRoaXMub2Zmc2V0ID0gMTtcbiAgLy8gRHJvcCBvcHRvbUlkIGZyb20gdGhlIFVSTCB0b28sIHNvIGEgcmVmcmVzaCBkb2VzIG5vdCByZS1hcHBseSB0aGUgZmlsdGVyLlxuICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgcXVlcnlQYXJhbXM6IHsgb3B0b21JZDogbnVsbCB9LFxuICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6IFwibWVyZ2VcIixcbiAgfSk7XG4gIHRoaXMub25TdWJtaXQoKTtcbn1cblxuXG5cbiAgZXhwb3J0WExTWCgpIHtcbiAgICBjb25zdCByZXF1ZXN0RGF0YSA9IHRoaXMuYnVpbGRSZXF1ZXN0RGF0YSh7XG4gICAgICBpc0V4cG9ydDogdHJ1ZSxcbiAgICAgIGxpbWl0OiAxMDAwMCxcbiAgICAgIG9mZnNldDogMSxcbiAgICB9KTtcblxuICAgIHRoaXMuZXllU2VydmljZVxuICAgICAgLmdldEV5ZVRlc3RUYWJsZUV4cG9ydChyZXF1ZXN0RGF0YSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmV5ZVNlcnZpY2Uuc2F2ZUFzRXhjZWxGaWxlKFxuICAgICAgICAgICAgcmVzLFxuICAgICAgICAgICAgYCR7dGhpcy5leWVUZXN0Rm9ybS52YWx1ZS50eXBlfSBFeWUgVGVzdCBUYWJsZSBgXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChcbiAgICAgICAgICAgIGVycj8uZXJyb3I/LmVycm9yID8gZXJyPy5lcnJvcj8uZXJyb3IgOiBlcnI/LmVycm9yPy5tZXNzYWdlXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG5cbiAgdG90YWxJdGVtczogYW55ID0gMDtcbiAgb2Zmc2V0ID0gMTtcbiAgbGltaXQgPSAxMDtcbiAgZGF0YVJlc3VsdDphbnk7XG4gIG9uU3VibWl0KCkge1xuICAgXG4gICAgdGhpcy5leWVUZXN0RGF0YT1bXTtcbiAgICB0aGlzLnR5cGVWYWx1ZSA9IHRoaXMuZXllVGVzdEZvcm0/LnZhbHVlPy50eXBlO1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcbiAgICAgICBzZXRUaW1lb3V0KCgpPT57XG4gICAgY29uc3QgcmVxdWVzdERhdGEgPSB0aGlzLmJ1aWxkUmVxdWVzdERhdGEoeyBpc0V4cG9ydDogZmFsc2UgfSk7XG4gICB0aGlzLmRhdGFSZXN1bHQgPSByZXF1ZXN0RGF0YVxuICAgIHRoaXMuZXllU2VydmljZVxuICAgICAgLmdldEV5ZVRlc3RsaXN0KHJlcXVlc3REYXRhKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XG4gICAgICAgICAgICB0aGlzLmV5ZVRlc3REYXRhID0gcmVzPy5kYXRhLnJlc3VsdDtcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlcy5kYXRhPy5jb3VudDtcbiAgICAgICAgICAgIHRoaXMuc2V0UGFnaW5hdGlvblNpemVzKCk7XG4gICAgICAgICAgICB0aGlzLmdldENhcmREYXRhKCk7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0Q2FyZERhdGEoKTtcbiAgICAgICAgICAgIHRoaXMuZXllVGVzdERhdGEgPSBbXTtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICAgICAgfSwxMDAwKVxuICB9XG5cbiAgb25QYWdlQ2hhbmdlKHBhZ2VPZmZzZXQ6IG51bWJlcikge1xuICAgIC8vIHRoaXMubGltaXQgPSAxMDtcbiAgICAvLyB0aGlzLnBhZ2VTaXplID0gMTA7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xuICAgIHRoaXMub2Zmc2V0ID0gTnVtYmVyKHBhZ2VPZmZzZXQpO1xuXG4gICAgY29uc3QgcmVxdWVzdERhdGEgPSB0aGlzLmJ1aWxkUmVxdWVzdERhdGEoe1xuICAgICAgaXNFeHBvcnQ6IGZhbHNlLFxuICAgICAgbGltaXQ6IHRoaXMubGltaXQsXG4gICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxuICAgIH0pO1xuICAgIC8vIGNvbnNvbGUubG9nKHJlcXVlc3REYXRhKVxuLy8gcmV0dXJuXG4gICAgdGhpcy5leWVTZXJ2aWNlXG4gICAgICAuZ2V0RXllVGVzdGxpc3QocmVxdWVzdERhdGEpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XG4gICAgICAgICAgICB0aGlzLmV5ZVRlc3REYXRhID0gcmVzPy5kYXRhLnJlc3VsdDtcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlcy5kYXRhPy5jb3VudDtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5leWVUZXN0RGF0YSA9IFtdO1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLmV5ZVRlc3REYXRhID0gW107XG4gICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gMDtcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuXG4gIG9uUGFnZVNpemVDaGFuZ2UocGFnZVNpemU6IG51bWJlcikge1xuICAgIHRoaXMub2Zmc2V0ID0gMTtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XG4gICAgdGhpcy5wYWdlU2l6ZSA9IE51bWJlcihwYWdlU2l6ZSk7XG4gICAgdGhpcy5saW1pdCA9IE51bWJlcihwYWdlU2l6ZSk7XG5cbiAgICBjb25zdCByZXF1ZXN0RGF0YSA9IHRoaXMuYnVpbGRSZXF1ZXN0RGF0YSh7XG4gICAgICBpc0V4cG9ydDogZmFsc2UsXG4gICAgICBsaW1pdDogdGhpcy5saW1pdCxcbiAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXG4gICAgfSk7XG5cbiAgICB0aGlzLmV5ZVNlcnZpY2VcbiAgICAgIC5nZXRFeWVUZXN0bGlzdChyZXF1ZXN0RGF0YSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcbiAgICAgICAgICAgIHRoaXMuZXllVGVzdERhdGEgPSByZXM/LmRhdGEucmVzdWx0O1xuICAgICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gcmVzLmRhdGE/LmNvdW50O1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmV5ZVRlc3REYXRhID0gW107XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZXllVGVzdERhdGEgPSBbXTtcbiAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwO1xuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG5cbiAgc29ydGVkQ29sdW1uOiBhbnk7XG4gIHNvcnRPcmRlcjogYW55O1xuICBvblNvcnQoY29sdW1uOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5zb3J0ZWRDb2x1bW4gPT09IGNvbHVtbikge1xuICAgICAgdGhpcy5zb3J0T3JkZXIgPSB0aGlzLnNvcnRPcmRlciA9PT0gMSA/IC0xIDogMTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zb3J0ZWRDb2x1bW4gPSBjb2x1bW4gPyBjb2x1bW4gOiBcInN0b3JlTmFtZVwiO1xuICAgICAgdGhpcy5zb3J0T3JkZXIgPSAxO1xuICAgIH1cbiAgICB0aGlzLm9uU3VibWl0KCk7XG4gIH1cblxuICAvLyBuZXcgYXBpIGludGFncmF0ZWRcblxuICBSbUxpc3Q6IGFueSA9IFtdO1xuXG4gZ2V0QWxsUm0xKCk6IE9ic2VydmFibGU8YW55PiB7XG4gIHJldHVybiB0aGlzLmV5ZVNlcnZpY2UuZ2V0Um1MaXN0KHRoaXMuaGVhZGVyRmlsdGVycz8uY2xpZW50KS5waXBlKFxuICAgIHRhcCgocmVzOiBhbnkpID0+IHtcbiAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xuICAgICAgICAgdGhpcy5SbUxpc3QgPSB0aGlzLnJtTGlzdDtcbiAgICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJSbUxpc3RcIik/LnNldFZhbHVlKHRoaXMuUm1MaXN0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuUm1MaXN0ID0gW107XG4gICAgICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiUm1MaXN0XCIpPy5zZXRWYWx1ZShbXSk7XG4gICAgICB9XG4gICAgfSlcbiAgKTtcbn1cblxuICBvblJtU2VsZWN0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIlJtTGlzdFwiKT8uc2V0VmFsdWUoZXZlbnQpO1xuICAgIHRoaXMuZ2V0QWxsR3JvdXBzKGV2ZW50KTtcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuICBleWVUZXN0Q2FyZERhdGE6IGFueSA9IFtdO1xuICBnZXRDYXJkRGF0YSgpIHtcbiAgICBsZXQgZmluYWxTdG9yZXM6IGFueSA9IFtdO1xuICAgIGxldCBybUxpc3RWYWx1ZTogYW55ID0gW107XG4gICAgICBjb25zdCByb2xlS2V5VHlwZU1hcDogYW55ID0ge1xuICAgIHN1cGVyYWRtaW46IFwicm1cIixcbiAgICBhZG1pbjogXCJjbHVzdGVyXCIsXG4gICAgdXNlcjogXCJzdG9yZVwiLFxuICB9O1xuICBpZiAoIXRoaXMua2V5VHlwZSkge1xuICAgIHRoaXMua2V5VHlwZSA9IHJvbGVLZXlUeXBlTWFwW3RoaXMudXNlcnM/LnJvbGVdIHx8IFwic3RvcmVcIjtcbiAgfVxuICAgIGNvbnN0IHtcbiAgICAgIGZyb21EYXRlLFxuICAgICAgdG9EYXRlLFxuICAgICAgdHlwZSxcbiAgICAgIGRhdGVUeXBlLFxuICAgICAgYXVkaXRUeXBlLFxuICAgICAgc3RvcmVMaXN0LFxuICAgICAgUm1MaXN0LFxuICAgICAgY29tcGxpYW5jZVNjb3JlLFxuICAgICAgbmVhckFkZGl0aW9uLFxuICAgICAga2V5VHlwZSxcbiAgICAgIGNhdGVnb3J5LFxuICAgIH0gPSB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZXllVGVzdEZvcm0udmFsdWUuc3RvcmVMaXN0KSkge1xuICAgICAgdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5zdG9yZUxpc3QuZm9yRWFjaCgoc3RvcmU6IGFueSkgPT4ge1xuICAgICAgICBmaW5hbFN0b3Jlcy5wdXNoKHN0b3JlLnN0b3JlSWQpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZXllVGVzdEZvcm0udmFsdWUuUm1MaXN0KSkge1xuICAgICAgdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5SbUxpc3QuZm9yRWFjaCgoZWw6IGFueSkgPT4ge1xuICAgICAgICBybUxpc3RWYWx1ZS5wdXNoKGVsPy5lbWFpbCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgZGVtb2dyYXBoaWNzID1cbiAgICAgIHR5cGUgIT09IFwicmVtb3RlXCJcbiAgICAgICAgPyBhdWRpdFR5cGUgPT09IFwiYWxsXCJcbiAgICAgICAgICA/IFtcImFkdWx0XCIsIFwia2lkc1wiXVxuICAgICAgICAgIDogQXJyYXkuaXNBcnJheShhdWRpdFR5cGUpXG4gICAgICAgICAgPyBhdWRpdFR5cGVcbiAgICAgICAgICA6IFthdWRpdFR5cGVdXG4gICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgcmVxdWVzdERhdGE6IGFueSA9IHtcbiAgICAgIGZyb21EYXRlLFxuICAgICAgdG9EYXRlLFxuICAgICAgdHlwZSxcbiAgICAgIGRhdGVUeXBlLFxuICAgICAgc3RvcmVJZDogZmluYWxTdG9yZXMsXG4gICAgICBSTUxpc3Q6IHJtTGlzdFZhbHVlLmxlbmd0aCA+IDAgPyBybUxpc3RWYWx1ZSA6IFt0aGlzLnVzZXJzPy5lbWFpbF0sXG4gICAgICBjb21wbGlhbmNlU2NvcmU6IGNvbXBsaWFuY2VTY29yZT8ubGVuZ3RoXG4gICAgICAgID8gKGNvbXBsaWFuY2VTY29yZS5tYXAoKGVsOiBhbnkpID0+IGVsLnZhbHVlKSlcbiAgICAgICAgOiBbXSxcbiAgICAgIG5lYXJBZGRpdGlvbixcbiAgICAgICAga2V5VHlwZSA6IHRoaXMua2V5VHlwZSxcbiAgICAgIC4uLih0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLnR5cGUgIT09IFwicmVtb3RlXCIgJiYge1xuICAgICAgICBjYXRlZ29yeSxcbiAgICAgIH0pLFxuICAgICBcbiAgICB9O1xuXG4gICAgaWYgKGRlbW9ncmFwaGljcykge1xuICAgICAgcmVxdWVzdERhdGEuZGVtb2dyYXBoaWNzID0gZGVtb2dyYXBoaWNzO1xuICAgIH1cbiAgICB0aGlzLmV5ZVNlcnZpY2VcbiAgICAgIC5nZXRDYXJkKHJlcXVlc3REYXRhKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuZXllVGVzdENhcmREYXRhID0gcmVzPy5jb2RlID09PSAyMDAgPyByZXM/LmRhdGE/LnJlc3VsdCA6IHt9O1xuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZXllVGVzdENhcmREYXRhID0ge307XG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuZXllVmlldyA9IGZhbHNlO1xuc2VsZWN0ZWRTdGVwSW5kZXggPSAwO1xuY29udmVyc2F0aW9uRGF0YTogYW55ID0gbnVsbDtcbi8vIENvbnYgYXVkaW8gcGxheWVyIHN0YXRlXG5jb252SXNQbGF5aW5nID0gZmFsc2U7XG5jb252Q3VycmVudFRpbWUgPSAnMDowMCc7XG5jb252RHVyYXRpb24gPSAnMDowMCc7XG5jb252UHJvZ3Jlc3MgPSAwO1xuY29udklzTXV0ZWQgPSBmYWxzZTtcbnJlYWRvbmx5IHdhdmVmb3JtSGVpZ2h0czogbnVtYmVyW10gPSBbXG4gIDgsIDIyLCAzOCwgNTIsIDQ0LCAyOCwgNTYsIDQyLCAxOCwgMzIsIDU0LCA0NiwgMjQsIDQwLCA2MCwgNTAsIDI2LCA0NCxcbiAgMzYsIDE4LCA1MiwgMzgsIDI4LCA0NiwgMzQsIDIwLCA1NiwgNDIsIDE0LCAzNiwgNTAsIDMwLCAyMiwgNDQsIDU2LCAzOCxcbiAgMjAsIDQ2LCAzMCwgMTYsIDUwLCAzNiwgMjQsIDU0LCA0MiwgMjgsIDM2LCAyMCwgNDYsIDMyLCAxOCwgNDAsIDU2LCA0NCxcbiAgMjQsIDM2LCAyMCwgNTAsIDM0LCAyMlxuXTtcbiAgZXllVGVzdFZpZXcoZGF0YTogYW55KSB7XG50aGlzLmV5ZVZpZXcgPXRydWU7XG5cbiAgICAgdGhpcy5zZXRQYWdlRGF0YSgpO1xuICAgIHRoaXMuYXVkaXREYXRhID0gdGhpcy5leWVTZXJ2aWNlLmdldEF1ZGl0RGF0YSgpO1xuICAgIHRoaXMudGFrZUF1ZGl0ID1mYWxzZVxuICAgIHRoaXMuc3RlcFdpc2VQcm9jZXNzID1bXTtcbiAgICAvLyB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xuICAgICAgdGhpcy5zdG9yZUlkID0gZGF0YVsnc3RvcmVJZCddO1xuICAgICAgdGhpcy5jdXJyZW50QXVkaXRUeXBlID0gdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS50eXBlXG4gICAgICB0aGlzLkF1ZGl0SWQgPSBkYXRhWydfaWQnXTtcbiAgICAgIHRoaXMuUm1FbWFpbCA9IGRhdGFbJ1JNRW1haWwnXTtcbiAgICAgIHRoaXMuY2x1c3RlciA9IGRhdGFbJ2NsdXN0ZXJOYW1lJ107XG4gICAgICB0aGlzLmV5ZVRlc3RUeXBlID0gZGF0YT8uY29tbWVudCA/IFwiZmFrZVwiIDogXCJnZW51aW5lXCI7XG4gICAgLy8gfSk7XG4gICAgdGhpcy5nZXRBdWRpdGRldGFpbHMoKTtcbiAgICB0aGlzLmdlbmVyYXRlVGltZU9wdGlvbnMoKTtcbmlmKHRoaXMuY3VycmVudEF1ZGl0VHlwZSA9PT0gJ3JlbW90ZScpe1xuICB0aGlzLmRyb3Bkb3duTGlzdD0gW3sga2V5OiAnU2VudGVuY2UgVHJhbnNjcmlwdGlvbiBva2F5LCBidXQgbm90IG1hdGNoaW5nIHdpdGggUHJlZGljdGVkIFN0ZXAnLCBpdGVtOiAnU2VudGVuY2UgVHJhbnNjcmlwdGlvbiBva2F5LCBidXQgbm90IG1hdGNoaW5nIHdpdGggUHJlZGljdGVkIFN0ZXAnIH0sIHsga2V5OiAnU2VudGVuY2UgVHJhbnNjcmlwdGlvbiBub3QgYWNjdXJhdGUsIGJ1dCBtYXRjaGluZyB3aXRoIFByZWRpY3RlZCBTdGVwJywgaXRlbTogJ1NlbnRlbmNlIFRyYW5zY3JpcHRpb24gbm90IGFjY3VyYXRlLCBidXQgbWF0Y2hpbmcgd2l0aCBQcmVkaWN0ZWQgU3RlcCcgfSwgeyBrZXk6ICdTdGVwIG5vdCBhY2N1cmF0ZSwgbm90IG1hdGNoaW5nIHdpdGggUHJlZGljdGVkIFN0ZXAnLCBpdGVtOiAnU3RlcCBub3QgYWNjdXJhdGUsIG5vdCBtYXRjaGluZyB3aXRoIFByZWRpY3RlZCBTdGVwJyB9LCB7IGtleTogJ290aGVycycsIGl0ZW06ICdPdGhlcnMnIH1dXG59ZWxzZXtcbiAgdGhpcy5kcm9wZG93bkxpc3Q9IFt7IGtleTogJ1N0ZXAgTm9uLUNvbXBsaWFuY2UnLCBpdGVtOiAnU3RlcCBOb24tQ29tcGxpYW5jZScgfSwgeyBrZXk6ICdQb3dlciBCYW5rIE5vbi1Db21wbGlhbmNlJywgaXRlbTogJ1Bvd2VyIEJhbmsgTm9uLUNvbXBsaWFuY2UnIH0sIHsga2V5OiAnQ29ycmVjdCBJbnN0cnVtZW50IE5vdCBVc2VkJywgaXRlbTogJ0NvcnJlY3QgSW5zdHJ1bWVudCBOb3QgVXNlZCcgfSwgeyBrZXk6ICdvdGhlcnMnLCBpdGVtOiAnT3RoZXJzJyB9XVxufVxudGhpcy5jb252ZXJzYXRpb25EYXRhID0gbnVsbDtcbnRoaXMuc2VsZWN0ZWRTdGVwSW5kZXggPSAwO1xudGhpcy5jb252SXNQbGF5aW5nID0gZmFsc2U7XG50aGlzLmNvbnZDdXJyZW50VGltZSA9ICcwOjAwJztcbnRoaXMuY29udkR1cmF0aW9uID0gJzA6MDAnO1xudGhpcy5jb252UHJvZ3Jlc3MgPSAwO1xudGhpcy5jb252SXNNdXRlZCA9IGZhbHNlO1xudGhpcy5leWVTZXJ2aWNlLmdldENvbnZlcnNhdGlvbkRldGFpbHMoZGF0YS5xdWV1ZUlkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcbiAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgaWYgKHJlcz8uY29kZSA9PT0gMjAwKSB7XG4gICAgICB0aGlzLmNvbnZlcnNhdGlvbkRhdGEgPSByZXMuZGF0YS5yZXN1bHQ7XG4gICAgICAvLyBVc2UgQVBJLXByb3ZpZGVkIGR1cmF0aW9uIGltbWVkaWF0ZWx5IChTMyBtNGEgb2Z0ZW4gY2FuJ3QgcmVwb3J0IGR1cmF0aW9uIHVudGlsIGZ1bGx5IGJ1ZmZlcmVkKVxuICAgICAgaWYgKHRoaXMuY29udmVyc2F0aW9uRGF0YT8uZHVyYXRpb24pIHtcbiAgICAgICAgdGhpcy5jb252RHVyYXRpb24gPSB0aGlzLmNvbnZlcnNhdGlvbkRhdGEuZHVyYXRpb247XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBlcnJvcjogKCkgPT4geyB0aGlzLmNvbnZlcnNhdGlvbkRhdGEgPSBudWxsOyB9XG59KTtcbiAgfVxuXG4gIHNldHRpbmdzVmlldygpIHtcbiAgICB0aGlzLmV5ZVNlcnZpY2Uuc2V0QXVkaXREYXRhKHRoaXMuaGVhZGVyRmlsdGVycyk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL21hbmFnZS90cmF4L2F1ZGl0L3NldHRpbmdzXCJdLCB7XG4gICAgICBxdWVyeVBhcmFtczogeyB0eXBlOiB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLnR5cGUgfSxcbiAgICB9KTtcbiAgfVxucm1MaXN0ID0gW1xuICB7XG4gICAgX2lkOiBcIjFcIixcbiAgICB1c2VyTmFtZTogXCJBbmlyYmFuIEdob3NoXCIsXG4gICAgZW1haWw6IFwiYW5pcmJhbi5naG9zaEBsZW5za2FydC5jb21cIixcbiAgICByb2xlOiBcImFkbWluXCIsXG4gIH0sXG4gIHtcbiAgICBfaWQ6IFwiMlwiLFxuICAgIHVzZXJOYW1lOiBcIkF5dXNoIEd1cHRhXCIsXG4gICAgZW1haWw6IFwiYXl1c2guZ3VwdGExQGxlbnNrYXJ0LmluXCIsXG4gICAgcm9sZTogXCJhZG1pblwiLFxuICB9LFxuICB7XG4gICAgX2lkOiBcIjNcIixcbiAgICB1c2VyTmFtZTogXCJSZXNobWEgU2hldHR5XCIsXG4gICAgZW1haWw6IFwicmVzaG1hLnNoZXR0eUBsZW5za2FydC5pblwiLFxuICAgIHJvbGU6IFwiYWRtaW5cIixcbiAgfSxcbiAge1xuICAgIF9pZDogXCI0XCIsXG4gICAgdXNlck5hbWU6IFwiU3Jpbml2YXMgUmVkZHlcIixcbiAgICBlbWFpbDogXCJzcmluaXZhcy5yZWRkeUB0aGVsZW5za2FydC5jb21cIixcbiAgICByb2xlOiBcImFkbWluXCIsXG4gIH0sXG4gIHtcbiAgICBfaWQ6IFwiNlwiLFxuICAgIHVzZXJOYW1lOiBcIk5pa2hpbCBUIFNcIixcbiAgICBlbWFpbDogXCJuaWtoaWwudHMyQGxlbnNrYXJ0LmNvbVwiLFxuICAgIHJvbGU6IFwiYWRtaW5cIixcbiAgfSxcbiAge1xuICAgIF9pZDogXCI3XCIsXG4gICAgdXNlck5hbWU6IFwiTXVrdWxcIixcbiAgICBlbWFpbDogXCJNdWt1bC51cGFkaHlheUBsZW5za2FydC5pblwiLFxuICAgIHJvbGU6IFwiYWRtaW5cIixcbiAgfSxcbiAge1xuICAgIF9pZDogXCI4XCIsXG4gICAgdXNlck5hbWU6IFwiQW5hbmQgU2luZ2hcIixcbiAgICBlbWFpbDogXCJhbmFuZC5zaW5naDJAbGVuc2thcnQuY29tXCIsXG4gICAgcm9sZTogXCJhZG1pblwiLFxuICB9LFxuICB7XG4gICAgX2lkOiBcIjlcIixcbiAgICB1c2VyTmFtZTogXCJTdWRoaXIgS3VtYXJcIixcbiAgICBlbWFpbDogXCJzdWRoaXIua3VtYXIyQGxlbnNrYXJ0LmluXCIsXG4gICAgcm9sZTogXCJhZG1pblwiLFxuICB9LFxuICB7XG4gICAgX2lkOiBcIjEwXCIsXG4gICAgdXNlck5hbWU6IFwiQW5pa2V0IFBhdG9sZVwiLFxuICAgIGVtYWlsOiBcImFuaWtldC5wYXRvbGVAbGVuc2thcnQuaW5cIixcbiAgICByb2xlOiBcImFkbWluXCIsXG4gIH0sXG4gIHtcbiAgICBfaWQ6IFwiMTFcIixcbiAgICB1c2VyTmFtZTogXCJTYWNoaW5cIixcbiAgICBlbWFpbDogXCJzYWNoaW4ua3VtYXI0QGxlbnNrYXJ0LmluXCIsXG4gICAgcm9sZTogXCJhZG1pblwiLFxuICB9LFxuICB7XG4gICAgX2lkOiBcIjEyXCIsXG4gICAgdXNlck5hbWU6IFwiU2FuZGVlcCBLdW1hclwiLFxuICAgIGVtYWlsOiBcInNhbmRlZXBrdW1hckB0aGVsZW5za2FydC5jb21cIixcbiAgICByb2xlOiBcImFkbWluXCIsXG4gIH0sXG4gIHtcbiAgICBfaWQ6IFwiMTNcIixcbiAgICB1c2VyTmFtZTogXCJSYWplc2ggWWFkYXZcIixcbiAgICBlbWFpbDogXCJyYWplc2gueWFkYXYyQGxlbnNrYXJ0LmNvbVwiLFxuICAgIHJvbGU6IFwiYWRtaW5cIixcbiAgfSxcbiAge1xuICAgIF9pZDogXCIxNFwiLFxuICAgIHVzZXJOYW1lOiBcIlB1bmphYi1UQkRcIixcbiAgICBlbWFpbDogXCJzYW5kZWVwLmt1bWFyQHRoZWxlbnNrYXJ0LmNvbVwiLFxuICAgIHJvbGU6IFwiYWRtaW5cIixcbiAgfSxcbiAge1xuICAgIF9pZDogXCIxNVwiLFxuICAgIHVzZXJOYW1lOiBcIkxhdmFueWFcIixcbiAgICBlbWFpbDogXCJsYXZhbnlhLmJAbGVuc2thcnQuY29tXCIsXG4gICAgcm9sZTogXCJhZG1pblwiLFxuICB9LFxuICB7XG4gICAgX2lkOiBcIjE2XCIsXG4gICAgdXNlck5hbWU6IFwiQXBhcm5hIFNhdGhlZXNoXCIsXG4gICAgZW1haWw6IFwiYXBhcm5hLnNhdGhlZXNoQGxlbnNrYXJ0LmNvbVwiLFxuICAgIHJvbGU6IFwiYWRtaW5cIixcbiAgfSxcbiAge1xuICAgIF9pZDogXCIxN1wiLFxuICAgIHVzZXJOYW1lOiBcIk5pc2htaXRoYSBTaGV0dHlcIixcbiAgICBlbWFpbDogXCJuaXNobWl0aGEuc2hldHR5QGxlbnNrYXJ0LmNvbVwiLFxuICAgIHJvbGU6IFwiYWRtaW5cIixcbiAgfSxcbiAge1xuICAgIF9pZDogXCIxOFwiLFxuICAgIHVzZXJOYW1lOiBcIlBhaWRpbXVra2FsYSBIZW1hbGF0aGFcIixcbiAgICBlbWFpbDogXCJwYWlkaW11a2thbGEuaGVtYWxhdGhhQGxlbnNrYXJ0LmNvbVwiLFxuICAgIHJvbGU6IFwiYWRtaW5cIixcbiAgfSxcbiAge1xuICAgIF9pZDogXCIxOVwiLFxuICAgIHVzZXJOYW1lOiBcIlByaXlhbnNoaSBTaGFybWFcIixcbiAgICBlbWFpbDogXCJwcml5YW5zaGkuc2hhcm1hQGxlbnNrYXJ0LmNvbVwiLFxuICAgIHJvbGU6IFwiYWRtaW5cIixcbiAgfSxcbiAge1xuICAgIF9pZDogXCIyMFwiLFxuICAgIHVzZXJOYW1lOiBcIlJhbXlhcGF0aGkgUFwiLFxuICAgIGVtYWlsOiBcInJhbXlhcGF0aGkucEBsZW5za2FydC5pblwiLFxuICAgIHJvbGU6IFwiYWRtaW5cIixcbiAgfSxcbiAge1xuICAgIF9pZDogXCIyMVwiLFxuICAgIHVzZXJOYW1lOiBcIlNpdmFsYWtzaG1pXCIsXG4gICAgZW1haWw6IFwic2l2YWxha3NobWkuc2l2YXBhdGhhbUBsZW5za2FydC5pblwiLFxuICAgIHJvbGU6IFwiYWRtaW5cIixcbiAgfSxcbiAge1xuICAgIF9pZDogXCIyMlwiLFxuICAgIHVzZXJOYW1lOiBcIlN1YnJhdGEgU2luZ2hcIixcbiAgICBlbWFpbDogXCJzdWJyYXRhLnNpbmdoQGxlbnNrYXJ0LmNvbVwiLFxuICAgIHJvbGU6IFwiYWRtaW5cIixcbiAgfSxcbiAge1xuICAgIF9pZDogXCIyM1wiLFxuICAgIHVzZXJOYW1lOiBcIkRoYXJhbXZlZXIgU2luZ2hcIixcbiAgICBlbWFpbDogXCJkaGFybXZlZXIuc2luZ2hAbGVuc2thcnQuaW5cIixcbiAgICByb2xlOiBcImFkbWluXCIsXG4gIH0sXG4gIHtcbiAgICBfaWQ6IFwiMjRcIixcbiAgICB1c2VyTmFtZTogXCJTYWphbCBTaHJpdmFzdGF2YVwiLFxuICAgIGVtYWlsOiBcInNhamFsLnNocml2YXN0YXZhQGxlbnNrYXJ0LmNvbVwiLFxuICAgIHJvbGU6IFwiYWRtaW5cIixcbiAgfSxcbiAge1xuICAgIF9pZDogXCIyNVwiLFxuICAgIHVzZXJOYW1lOiBcIlNhbWluIEhhaWRyeVwiLFxuICAgIGVtYWlsOiBcInNhbWluLmhhaWRyeUBsZW5za2FydC5pblwiLFxuICAgIHJvbGU6IFwiYWRtaW5cIixcbiAgfSxcbl07XG5cbmdldEFsbFN0b3JlcygpIHtcbiAgICAgdGhpcy50cmF4U2VydmljZS5nZXRTdG9yZXNsaXN0KHsgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRmlsdGVycz8uY2xpZW50LCBjbHVzdGVyczogdGhpcy5ncm91cHMsIGNpdHk6IFtdLCB9KSAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpIC5zdWJzY3JpYmUoeyBuZXh0OiAocmVzOiBhbnkpID0+IHsgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT0gMjAwKSB7IHRoaXMuc3RvcmVMaXN0ID0gcmVzLmRhdGEuc3RvcmVzRGF0YTsgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJzdG9yZUxpc3RcIik/LnNldFZhbHVlKHRoaXMuc3RvcmVMaXN0KTsgdGhpcy5sb2FkaW5nMSA9IGZhbHNlOyB9IGVsc2UgeyB0aGlzLnN0b3JlTGlzdCA9IFtdOyB0aGlzLmxvYWRpbmcxID0gZmFsc2U7IH0gfSwgZXJyb3I6IChlcnIpID0+IHsgdGhpcy5zdG9yZUxpc3QgPSBbXTsgdGhpcy5sb2FkaW5nMSA9IGZhbHNlOyB9LCB9KTsgfSBcbmdldEFsbFJtKCkgeyBcbiAgLy8gdGhpcy5leWVTZXJ2aWNlLmdldFJtTGlzdCh0aGlzLmhlYWRlckZpbHRlcnM/LmNsaWVudCkgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKSAuc3Vic2NyaWJlKHsgXG4gIC8vICAgbmV4dDogKHJlczogYW55KSA9PiB7IGlmIChyZXMgJiYgcmVzPy5jb2RlID09IDIwMCkgeyBcbiAgICAgIHRoaXMuUm1MaXN0ID0gdGhpcy5ybUxpc3Q7IC8vIGZvciBvYmplY3QgYmFzZWQgdGhpcyB3aWxsIGNoYW5nZWRcbnRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiUm1MaXN0XCIpPy5zZXRWYWx1ZSh0aGlzLnJtTGlzdCk7IFxuLy8gfSBlbHNlIHsgXG4vLyAgIHRoaXMuUm1MaXN0ID0gW107IHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiUm1MaXN0XCIpPy5zZXRWYWx1ZShbXSk7IFxuLy8gfSB0aGlzLmdldEFsbEdyb3VwcygpOyB9LCB9KTsgXG59IFxuZ2V0QWxsR3JvdXBzKGV2ZW50PzogYW55KSB7IGxldCBybUxpc3Q6IGFueSA9IFtdOyB0aGlzLkNsdXN0ZXJMaXN0ID0gW107IGlmIChBcnJheS5pc0FycmF5KHRoaXMuZXllVGVzdEZvcm0udmFsdWUuUm1MaXN0KSkgeyB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLlJtTGlzdC5mb3JFYWNoKChlbDogYW55KSA9PiB7IHJtTGlzdC5wdXNoKGVsPy5lbWFpbCk7IH0pOyB9IGV2ZW50Py5tYXAoKGVsOiBhbnkpID0+IGVsPy5lbWFpbCkgfHwgW3RoaXMudXNlcnM/LmVtYWlsXTsgY29uc3Qgb2JqID0geyBjbGllbnRJZDogdGhpcy5oZWFkZXJGaWx0ZXJzPy5jbGllbnQgPyB0aGlzLmhlYWRlckZpbHRlcnMuY2xpZW50IDogXCJcIiwgcm1MaXN0OiBybUxpc3QubGVuZ3RoID4gMCA/IHJtTGlzdCA6IFt0aGlzLnVzZXJzPy5lbWFpbF0sIH07IHRoaXMuZXllU2VydmljZS5nZXRDbHVzdGVycyhvYmopLnN1YnNjcmliZSh7IG5leHQ6IChyZXM6IGFueSkgPT4geyBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHsgdGhpcy5DbHVzdGVyTGlzdCA9IHJlcz8uZGF0YT8ucmVzdWx0OyB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIkNsdXN0ZXJMaXN0XCIpPy5zZXRWYWx1ZSh0aGlzLkNsdXN0ZXJMaXN0KTsgdGhpcy5ncm91cHMgPSB0aGlzLkNsdXN0ZXJMaXN0Lm1hcCgoZWw6IGFueSkgPT4gZWwuY2x1c3Rlck5hbWUpOyB0aGlzLmdldEFsbFN0b3JlcygpOyB9IGVsc2UgeyB0aGlzLkNsdXN0ZXJMaXN0ID0gW107IHRoaXMubG9hZGluZzEgPSBmYWxzZTsgfSB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTsgfSwgXG5lcnJvcjogKGVycikgPT4geyAvLyBjb25zb2xlLmVycm9yKFwiQ2x1c3RlciBmZXRjaCBmYWlsZWQ6XCIsIGVycik7IFxudGhpcy5DbHVzdGVyTGlzdCA9IFtdOyB0aGlzLmxvYWRpbmcxID0gZmFsc2U7IH0sIH0pOyB9XG5cblxuICAvLyBzZWNvbmQgcGFnZVxuICAgc3RlcFdpc2VQcm9jZXNzOiBhbnkgPSBbXTtcbiAgIGRyb3Bkb3duTGlzdDogYW55ID0gW11cbiAgLy8gIGxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xuICAvLyAgbm9EYXRhOiBib29sZWFuID0gZmFsc2U7XG4gXG4gICB0YWJsZUxvYWRpbmcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PCdpbml0aWFsJyB8ICdsb2FkaW5nJyB8ICdsb2FkZWQnPignaW5pdGlhbCcpXG4gICBoaXN0b3J5dGFibGVMb2FkaW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDwnaW5pdGlhbCcgfCAnbG9hZGluZycgfCAnbG9hZGVkJz4oJ2luaXRpYWwnKVxuIFxuICAgc2VsZWN0ZWRNaW51dGVzID0gJzAwJztcbiAgIHNlbGVjdGVkU2Vjb25kcyA9ICcwMCc7XG4gICBtaW51dGVzTGlzdDogc3RyaW5nW10gPSBbXTtcbiAgIHNlY29uZHNMaXN0OiBzdHJpbmdbXSA9IFtdO1xuIFxuICAgYXVkaXREZXRhaWxzOiBhbnkgPSBbXTtcbiAgIGN1cnJlbnRBdWRpdFR5cGU6IGFueTtcbiAgIHRha2VBdWRpdDogYm9vbGVhbiA9IGZhbHNlO1xuICAgc3RvcmVJZDogYW55O1xuICAgQFZpZXdDaGlsZCgndG9vbHRpcENvbnRlbnQnKSB0b29sdGlwQ29udGVudCE6IE5nYlRvb2x0aXA7XG4gICBAVmlld0NoaWxkKCd2aWV3SGlzdG9yeScpIHZpZXdIaXN0b3J5OiBhbnk7XG4gICBAVmlld0NoaWxkKCd2aWV3Q2FuY2VsJykgdmlld0NhbmNlbDogYW55O1xuICAgQFZpZXdDaGlsZCgndmlkZW9QbGF5ZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgdmlkZW9QbGF5ZXIhOiBFbGVtZW50UmVmO1xuICAgaGlzdG9yeURhdGE6IGFueSA9IFtdO1xuICAgQXVkaXRJZDogYW55O1xuICAgdmlld0hpc3RvcnlEYXRhOiBhbnk7XG4gICBzcG9rZW5MYW5ndWFnZTphbnk9J0VuZ2xpc2gnXG4gICBtb2RhbFJlZjogYW55O1xuICAgZGlzYWJsZWNhbmNlbDpib29sZWFuID0gIGZhbHNlXG4gIGJhY2tOYXZpZ2F0aW9uKCl7XG4gICAgLy8gIHRoaXMuZXllU2VydmljZS5hdWRpdEZpbHRlckRhdGEgPSB7XG4gICAgLy8gICBiYWNrOiAnYmFjaycsXG4gICAgLy8gICBhdWRpdERldGFpbHM6IHRoaXMuYXVkaXREZXRhaWxzXG4gICAgLy8gfTtcbiAgICAvLyB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9tYW5hZ2UvdHJheC9hdWRpdCddLCB7XG4gICAgLy8gICBxdWVyeVBhcmFtczogeyBkYXRlOiB0aGlzLmRheWpzKHRoaXMuYXVkaXREZXRhaWxzLmZpbGVEYXRlKS5mb3JtYXQoJ1lZWVktTU0tREQnKSwgdHlwZVZhbHVlOiB0aGlzLmN1cnJlbnRBdWRpdFR5cGUgfVxuICAgIC8vIH0pO1xuICAgIHRoaXMuZXllVmlldyA9ZmFsc2U7XG4gICAgdGhpcy50YWtlQXVkaXQgPWZhbHNlXG4gICAgdGhpcy5zdGVwV2lzZVByb2Nlc3MgPVtdO1xuICAgIHRoaXMub25TdWJtaXQoKTtcbiAgICB0aGlzLmdldENhcmREYXRhKCk7XG4gIH1cbiB2aWV3SGlzdG9yeU1vZGVsKGl0ZW06IGFueSkge1xuICAgIGxldCBwYXlsb2FkID0ge1xuICAgICAgaWQ6IGl0ZW0uX2lkXG4gICAgfVxuICAgIHRoaXMuZXllU2VydmljZS52aWV3QXVkaXRIaXN0b3J5KHBheWxvYWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09IDIwMCkge1xuICAgICAgICAgIHRoaXMudmlld0hpc3RvcnlEYXRhID0gcmVzLmRhdGEucmVzdWx0XG4gICAgICAgICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKHRoaXMudmlld0hpc3RvcnksIHtcbiAgICAgICAgICAgIHNpemU6J3hsJyxcbiAgICAgICAgICAgIGNlbnRlcmVkOiB0cnVlLFxuICAgICAgICAgICAgc2Nyb2xsYWJsZTogdHJ1ZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gIH1cbiAgYXVkaXREYXRhOmFueTtcbiAgZXllVGVzdFR5cGU6YW55O1xuICBSbUVtYWlsOmFueTtcbiAgY2x1c3Rlcjphbnk7XG5cblxuXG4gIC8vIG5nT25Jbml0KCk6IHZvaWQge1xuICAgXG4gIC8vIH1cblxuICBzZXRQYWdlRGF0YSgpIHtcbiAgICB0aGlzLnBhZ2VJbmZvLnNldFRpdGxlKCdFeWUgVGVzdCcpXG4gICBcbiAgICB0aGlzLnBhZ2VJbmZvLnNldEJyZWFkY3J1bWJzKFtcbiAgICAgICAgeyB0aXRsZTogJ1RhbmdvIFRyYXgnLCBwYXRoOiAnL21hbmFnZS90cmF4L2Rhc2hib2FyZCcsIGlzQWN0aXZlOiBmYWxzZSwgaXNTZXBhcmF0b3I6IGZhbHNlIH0sXG4gICAgICAgIHsgdGl0bGU6ICdUYW5nbyBUcmF4JywgcGF0aDogJy9tYW5hZ2UvdHJheC9kYXNoYm9hcmQnLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiB0cnVlIH0sICAgICAgICBcbiAgICBdKVxufVxuICBnZXRBdWRpdEhpc3RvcnkoKSB7XG4gICAgdGhpcy5oaXN0b3J5dGFibGVMb2FkaW5nLm5leHQoJ2xvYWRpbmcnKTtcbiAgICBsZXQgcGF5bG9hZCA9IHtcbiAgICAgIGlkOiB0aGlzLmN1cnJlbnRBdWRpdFR5cGUgPT09ICdyZW1vdGUnID8gdGhpcy5hdWRpdERldGFpbHMuZW5nYWdlbWVudElkIDogdGhpcy5hdWRpdERldGFpbHMucXVldWVJZCxcbiAgICAgIHR5cGU6IHRoaXMuY3VycmVudEF1ZGl0VHlwZVxuICAgIH1cbiAgICB0aGlzLmV5ZVNlcnZpY2UuZ2V0QXVkaXRIaXN0b3J5KHBheWxvYWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09IDIwMCkge1xuICAgICAgICAgIHRoaXMuaGlzdG9yeURhdGEgPSByZXMuZGF0YS5yZXN1bHRcbiAgICAgICAgICB0aGlzLmhpc3Rvcnl0YWJsZUxvYWRpbmcubmV4dCgnbG9hZGVkJylcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmhpc3RvcnlEYXRhID0gW11cbiAgICAgICAgICB0aGlzLmhpc3Rvcnl0YWJsZUxvYWRpbmcubmV4dCgnbG9hZGVkJylcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5oaXN0b3J5RGF0YSA9IFtdXG4gICAgICAgIHRoaXMuaGlzdG9yeXRhYmxlTG9hZGluZy5uZXh0KCdsb2FkZWQnKVxuICAgICAgfVxuICAgIH1cbiAgICApXG5cbiAgfVxuXG4gIGdldEF1ZGl0ZGV0YWlscygpIHtcbiAgICB0aGlzLnRhYmxlTG9hZGluZy5uZXh0KCdsb2FkaW5nJyk7XG4gICAgbGV0IHBheWxvYWQgPSB7XG4gICAgICBpZDogdGhpcy5BdWRpdElkLFxuICAgICAgdHlwZTogdGhpcy5jdXJyZW50QXVkaXRUeXBlXG4gICAgfVxuICAgIHRoaXMuZXllU2VydmljZS5nZXRBdWRpdGRldGFpbHMocGF5bG9hZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT0gMjAwKSB7XG4gICAgICAgICAgdGhpcy5kaXNhYmxlY2FuY2VsID0gIGZhbHNlXG4gICAgICAgICAgdGhpcy5hdWRpdERldGFpbHMgPSByZXM/LmRhdGE/LnJlc3VsdDtcbiAgICAgICAgICBpZiAodGhpcy5hdWRpdERldGFpbHMuYXVkaXRTdGF0dXMgPT09ICdJbi1Qcm9ncmVzcycpIHtcbiAgICAgICAgICAgIHRoaXMudGFrZUF1ZGl0ID0gdHJ1ZVxuICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgdGhpcy50YWtlQXVkaXQgPSBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLnN0ZXBXaXNlUHJvY2VzcyA9IHRoaXMuYXVkaXREZXRhaWxzPy5zdGVwcztcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpPT57XG4gICAgICAgICAgICB0aGlzLmdldEF1ZGl0SGlzdG9yeSgpXG4gICAgICAgICAgfSwxMDApXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpOyAgXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdGhpcy50YWJsZUxvYWRpbmcubmV4dCgnbG9hZGVkJylcblxuICB9XG5cbiAgZ2VuZXJhdGVUaW1lT3B0aW9ucygpIHtcbiAgICB0aGlzLm1pbnV0ZXNMaXN0ID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogNjAgfSwgKF8sIGkpID0+IHRoaXMuZm9ybWF0TnVtYmVyKGkpKTtcbiAgICB0aGlzLnNlY29uZHNMaXN0ID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogNjAgfSwgKF8sIGkpID0+IHRoaXMuZm9ybWF0TnVtYmVyKGkpKTtcbiAgfVxuXG4gIGZvcm1hdE51bWJlcihudW06IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIG51bSA8IDEwID8gJzAnICsgbnVtIDogbnVtLnRvU3RyaW5nKCk7XG4gIH1cblxuICBkcm9wZG93bk9wZW46IHsgW2tleTogbnVtYmVyXTogeyBzdGFydFRpbWU6IGJvb2xlYW47IGVuZFRpbWU6IGJvb2xlYW47IHJlYXNvbjogYm9vbGVhbiB9IH0gPSB7fTtcblxuICB0b2dnbGVEcm9wZG93bihpOiBudW1iZXIsIHRpbWU6ICdzdGFydFRpbWUnIHwgJ2VuZFRpbWUnIHwgJ3JlYXNvbicpIHtcbiAgICBjb25zdCBjdXJyZW50U3RhdGUgPSB0aGlzLmRyb3Bkb3duT3BlbltpXT8uW3RpbWVdID8/IGZhbHNlO1xuXG4gICAgT2JqZWN0LmtleXModGhpcy5kcm9wZG93bk9wZW4pLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgdGhpcy5kcm9wZG93bk9wZW5bTnVtYmVyKGtleSldID0geyBzdGFydFRpbWU6IGZhbHNlLCBlbmRUaW1lOiBmYWxzZSwgcmVhc29uOiBmYWxzZSB9O1xuICAgIH0pO1xuXG4gICAgaWYgKCF0aGlzLmRyb3Bkb3duT3BlbltpXSkge1xuICAgICAgdGhpcy5kcm9wZG93bk9wZW5baV0gPSB7IHN0YXJ0VGltZTogZmFsc2UsIGVuZFRpbWU6IGZhbHNlLCByZWFzb246IGZhbHNlIH07XG4gICAgfVxuXG4gICAgdGhpcy5kcm9wZG93bk9wZW5baV1bdGltZV0gPSAhY3VycmVudFN0YXRlO1xuICB9XG4gIGdldFNlY29uZHNGcm9tVGltZSh0aW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGlmICghdGltZSkgcmV0dXJuIDA7XG4gICAgY29uc3QgW21pbiwgc2VjXSA9IHRpbWUuc3BsaXQoJzonKS5tYXAoTnVtYmVyKTtcbiAgICByZXR1cm4gKG1pbiAqIDYwKSArIHNlYztcbiAgfVxuICAgIFxuc2VsZWN0TWludXRlKGluZGV4OiBhbnksIG1pbjogc3RyaW5nLCB0aW1lOiAnc3RhcnRUaW1lJyB8ICdlbmRUaW1lJyB8ICdyZWFzb24nKSB7XG4gIGNvbnN0IHByZXZpb3VzVGltZSA9IHRoaXMuc3RlcFdpc2VQcm9jZXNzW2luZGV4XT8uW3RpbWVdIHx8ICcwMDowMCc7XG5cbiAgdGhpcy5zZWxlY3RlZE1pbnV0ZXMgPSBtaW47XG4gIGNvbnN0IG5ld1RpbWUgPSBgJHt0aGlzLnNlbGVjdGVkTWludXRlc306JHt0aGlzLnNlbGVjdGVkU2Vjb25kc31gO1xuXG4gIGNvbnN0IHN0YXJ0VGltZSA9IHRoaXMuZ2V0U2Vjb25kc0Zyb21UaW1lKFxuICAgIHRpbWUgPT09ICdzdGFydFRpbWUnID8gbmV3VGltZSA6IHRoaXMuc3RlcFdpc2VQcm9jZXNzW2luZGV4XT8uc3RhcnRUaW1lXG4gICk7XG4gIGNvbnN0IGVuZFRpbWUgPSB0aGlzLmdldFNlY29uZHNGcm9tVGltZShcbiAgICB0aW1lID09PSAnZW5kVGltZScgPyBuZXdUaW1lIDogdGhpcy5zdGVwV2lzZVByb2Nlc3NbaW5kZXhdPy5lbmRUaW1lXG4gICk7XG5cbiAgY29uc3QgaXNWYWxpZCA9IChzdGFydFRpbWUgPT09IDAgfHwgZW5kVGltZSA9PT0gMCkgfHwgc3RhcnRUaW1lIDwgZW5kVGltZTtcblxuICBpZiAoIWlzVmFsaWQgJiYgdGltZSAhPT0gJ3JlYXNvbicpIHtcbiAgICB0aGlzLnRzLmdldFdhcm5pbmdUb2FzdChcIlN0YXJ0IHRpbWUgbXVzdCBiZSBsZXNzIHRoYW4gZW5kIHRpbWUuXCIpO1xuICBcbiAgICBjb25zdCBbcHJldk1pbiwgcHJldlNlY10gPSBwcmV2aW91c1RpbWUuc3BsaXQoJzonKTtcbiAgICB0aGlzLnNlbGVjdGVkTWludXRlcyA9IHByZXZNaW47XG4gICAgdGhpcy5zZWxlY3RlZFNlY29uZHMgPSBwcmV2U2VjO1xuICBcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICByZXR1cm47XG4gIH1cbiAgXG5cbiAgdGhpcy5zdGVwV2lzZVByb2Nlc3NbaW5kZXhdW3RpbWVdID0gbmV3VGltZTtcbiAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG59XG5cbnNlbGVjdFNlY29uZChpbmRleDogYW55LCBzZWM6IHN0cmluZywgdGltZTogJ3N0YXJ0VGltZScgfCAnZW5kVGltZScgfCAncmVhc29uJykge1xuICBjb25zdCBwcmV2aW91c1RpbWUgPSB0aGlzLnN0ZXBXaXNlUHJvY2Vzc1tpbmRleF0/Llt0aW1lXSB8fCAnMDA6MDAnO1xuXG4gIHRoaXMuc2VsZWN0ZWRTZWNvbmRzID0gc2VjO1xuICBjb25zdCBuZXdUaW1lID0gYCR7dGhpcy5zZWxlY3RlZE1pbnV0ZXN9OiR7dGhpcy5zZWxlY3RlZFNlY29uZHN9YDtcblxuICBjb25zdCBzdGFydFRpbWUgPSB0aGlzLmdldFNlY29uZHNGcm9tVGltZShcbiAgICB0aW1lID09PSAnc3RhcnRUaW1lJyA/IG5ld1RpbWUgOiB0aGlzLnN0ZXBXaXNlUHJvY2Vzc1tpbmRleF0/LnN0YXJ0VGltZVxuICApO1xuICBjb25zdCBlbmRUaW1lID0gdGhpcy5nZXRTZWNvbmRzRnJvbVRpbWUoXG4gICAgdGltZSA9PT0gJ2VuZFRpbWUnID8gbmV3VGltZSA6IHRoaXMuc3RlcFdpc2VQcm9jZXNzW2luZGV4XT8uZW5kVGltZVxuICApO1xuXG4gIGlmICgodGltZSAhPT0gJ3JlYXNvbicpICYmIHN0YXJ0VGltZSAhPT0gMCAmJiBlbmRUaW1lICE9PSAwICYmIHN0YXJ0VGltZSA+PSBlbmRUaW1lKSB7XG4gICAgdGhpcy50cy5nZXRXYXJuaW5nVG9hc3QoXCJTdGFydCB0aW1lIG11c3QgYmUgbGVzcyB0aGFuIGVuZCB0aW1lLlwiKTtcbiAgXG4gICAgY29uc3QgW3ByZXZNaW4sIHByZXZTZWNdID0gcHJldmlvdXNUaW1lLnNwbGl0KCc6Jyk7XG4gICAgdGhpcy5zZWxlY3RlZE1pbnV0ZXMgPSBwcmV2TWluO1xuICAgIHRoaXMuc2VsZWN0ZWRTZWNvbmRzID0gcHJldlNlYztcbiAgXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdGhpcy5zdGVwV2lzZVByb2Nlc3NbaW5kZXhdW3RpbWVdID0gbmV3VGltZTtcbiAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG59XG4gXG4gIFxuXG4gIHNlbGVjdFJlYXNvbihpbmRleDogbnVtYmVyLCBrZXk6IGFueSwgdGltZTogYW55KSB7XG4gICAgdGhpcy5zdGVwV2lzZVByb2Nlc3NbaW5kZXhdW3RpbWVdID0ga2V5O1xuICBcbiAgICBpZiAoa2V5ID09PSAnb3RoZXJzJykge1xuICAgICAgdGhpcy5zdGVwV2lzZVByb2Nlc3NbaW5kZXhdLm90aGVyUmVhc29uID0gJyc7IFxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0ZXBXaXNlUHJvY2Vzc1tpbmRleF0ub3RoZXJSZWFzb24gPSBudWxsOyBcbiAgICB9XG4gIFxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIFxuXG4gIHNlbGVjdEh1bWFuVmVyaWZpZWQoaW5kZXg6IG51bWJlciwgdmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnN0ZXBXaXNlUHJvY2Vzc1tpbmRleF0uYXVkaXRlZFN0YXR1cyA9IHZhbHVlO1xuICB9XG4gIGZpbmRjb3VudCgpe1xuICAgIGxldCBjb3VudCA9IDBcbiAgICB0aGlzLnN0ZXBXaXNlUHJvY2Vzcy5mb3JFYWNoKChkYXRhOmFueSk9PntcbiAgICAgIGlmKGRhdGEuYXVkaXRlZFN0YXR1cyE9PWRhdGEuQUlTdGF0dXMpe1xuICAgICAgICBjb3VudCsrXG4gICAgICB9XG5cblxuICAgIH0pXG4gICAgcmV0dXJuIGNvdW50XG4gIH1cbiAgZ2V0VmFsaWRhRm9ybSgpe1xuICAgIGxldCBlcnJvckNvdW50ID0gMFxuICAgIHRoaXMuc3RlcFdpc2VQcm9jZXNzLmZvckVhY2goKGRhdGE6YW55KT0+e1xuICAgICAgaWYoZGF0YS5yZWFzb249PT0nb3RoZXJzJyl7XG4gICAgICAgIGRhdGEub3RoZXJSZWFzb24gPSAgZGF0YS5vdGhlclJlYXNvbi50cmltKClcbiAgICAgIH1cbiAgICAgIGlmKGRhdGEuYXVkaXRlZFN0YXR1cyE9PWRhdGEuQUlTdGF0dXMpe1xuICAgICAgICBpZighZGF0YS5yZWFzb24gfHwgZGF0YS5yZWFzb24mJmRhdGEucmVhc29uPT09J290aGVycycgJiYgIWRhdGEub3RoZXJSZWFzb24pe1xuICAgICAgICAgIGVycm9yQ291bnQrK1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcbiAgICBpZihlcnJvckNvdW50PjApe1xuICAgICAgdGhpcy5kaXNhYmxlY2FuY2VsID0gIGZhbHNlXG4gICAgICB0aGlzLnRzLmdldFdhcm5pbmdUb2FzdChcIkNvbW1lbnRzIGFyZSBtYW5kYXRvcnkgZm9yIGludmVyc2UgaHVtYW4gYXVkaXRlZCByZXNwb25zZXNcIilcbiAgfVxuICAgIHJldHVybiBlcnJvckNvdW50XG4gIH1cbiAgb25zdWJtaXQoaXNSZVNlbmQ/OmJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVjYW5jZWwgPSAgdHJ1ZVxuICAgIC8vIGlmKCh0aGlzLnN0ZXBXaXNlUHJvY2Vzcy5maWx0ZXIoKGRhdGE6YW55KT0+ZGF0YS5hdWRpdGVkU3RhdHVzPT09dHJ1ZSkubGVuZ3RoK3RoaXMuc3RlcFdpc2VQcm9jZXNzLmZpbHRlcigoZGF0YTphbnkpPT5kYXRhLmF1ZGl0ZWRTdGF0dXM9PT1mYWxzZSkubGVuZ3RoKSE9PXRoaXMuc3RlcFdpc2VQcm9jZXNzLmxlbmd0aCl7XG4gICAgLy8gICB0aGlzLnRvYXN0U2VydmljZS5nZXRFcnJvclRvYXN0KFwiT29wcyEgTG9va3MgbGlrZSB0aGUgZXllIHRlc3QgYXVkaXQgaXNu4oCZdCBjb21wbGV0ZSB5ZXQuIEF1ZGl0IGFsbCBleWUgdGVzdCBzdGVwcyBiZWZvcmUgc3VibWl0dGluZy5cIilcbiAgICAvLyAgIHRoaXMuZGlzYWJsZWNhbmNlbCA9ICBmYWxzZVxuICAgIC8vICAgcmV0dXJuXG4gICAgLy8gfVxuICAgIC8vIGlmKHRoaXMuZ2V0VmFsaWRhRm9ybSgpPT09MCl7XG5cbiAgICAgIGxldCBwYXlsb2FkID0ge1xuICAgICAgICBpZDogdGhpcy5BdWRpdElkLFxuICAgICAgICB0eXBlOiB0aGlzLmN1cnJlbnRBdWRpdFR5cGUsXG4gICAgICAgIGZpbGVJZDogdGhpcy5jdXJyZW50QXVkaXRUeXBlID09PSAncmVtb3RlJyA/IHRoaXMuYXVkaXREZXRhaWxzLmVuZ2FnZW1lbnRJZCA6IHRoaXMuYXVkaXREZXRhaWxzLnF1ZXVlSWQsXG4gICAgICAgIGF1ZGl0ZWRTdGVwczogdGhpcy5zdGVwV2lzZVByb2Nlc3MuZmlsdGVyKChkYXRhOmFueSk9PmRhdGEuYXVkaXRlZFN0YXR1cz09PXRydWUpLmxlbmd0aCxcbiAgICAgICAgYXVkaXRTdGF0dXM6dGhpcy5hdWRpdERldGFpbHM/LmF1ZGl0VHlwZSA9PT0gJ0F1ZGl0Jz8gXCJBdWRpdGVkXCI6XCJSZS1BdWRpdGVkXCIsXG4gICAgICAgIG92ZXJSaWRlczp0aGlzLmZpbmRjb3VudCgpLFxuICAgICAgICBzcG9rZW5MYW5ndWFnZTogdGhpcy5zcG9rZW5MYW5ndWFnZSxcbiAgICAgICAgc3RlcHM6IHRoaXMuc3RlcFdpc2VQcm9jZXNzLFxuICAgICAgICBjbHVzdGVyOiB0aGlzLmNsdXN0ZXIsICBcbiAgICAgICAgIFJNRW1haWw6IHRoaXMuUm1FbWFpbCxcbiAgICAgICAgICBjbGllbnRJZDogdGhpcy5hdWRpdERldGFpbHM/LnN0b3JlSWQ/LnNwbGl0KFwiLVwiKVswXSxcbiAgICAgICAgICAgLi4uKHR5cGVvZiBpc1JlU2VuZCAhPSAndW5kZWZpbmVkJyAmJiB7aXNSZVNlbmQ6aXNSZVNlbmR9KSBcbiAgICAgIH1cbiAgICAgIHRoaXMuZXllU2VydmljZS5zdWJtaXRBdWRpdChwYXlsb2FkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhyZXMpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBpZihyZXM/Lm1lc3NhZ2UgPT0gXCJEbyB5b3Ugd2FudCByZXNlbmQgbWFpbD9cIikge1xuIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oU2VuZEFsZXJ0Q29tcG9uZW50LHtjZW50ZXJlZDp0cnVlLHNpemU6J21kJ30pO1xuICAgICAgICAgICAgZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLm1lc3NhZ2UgPSByZXMubWVzc2FnZTtcbiAgICAgICAgICAgIGRpYWxvZ1JlZi5yZXN1bHQudGhlbigocmVzdWx0KT0+e1xuICAgICAgICAgICAgICB0aGlzLm9uc3VibWl0KHJlc3VsdCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCk9PntcbiAgICAgICAgICAgICAgdGhpcy5nZXRBdWRpdGRldGFpbHMoKTtcbiAgICAgICAgICAgIH0sMTAwMClcbiAgICAgICAgICAgIHRoaXMudHMuZ2V0U3VjY2Vzc1RvYXN0KGAke3RoaXMuYXVkaXREZXRhaWxzPy5hdWRpdFR5cGV9IFN1Ym1pdHRlZCBTdWNjZXNzZnVsbHlgKVxuXG4gICAgICAgICAgfVxuICAgICAgICAgICAgLy8gdGhpcy5kaXNhYmxlY2FuY2VsID0gIGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy50cy5nZXRFcnJvclRvYXN0KGVycj8uZXJyb3I/LmVycm9yID8gZXJyPy5lcnJvcj8uZXJyb3IgOiBlcnI/LmVycm9yPy5tZXNzYWdlKVxuICAgICAgICAgfSBcbiAgICAgIH0pXG4gICAgLy8gfVxuXG5cbiAgfVxuICBzdGFydEF1ZGl0KHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmRpc2FibGVjYW5jZWwgPSAgdHJ1ZVxuICAgIHRoaXMudGFrZUF1ZGl0ID0gdHJ1ZTtcbiAgICB0aGlzLmF1ZGl0RGV0YWlscy5hdWRpdFN0YXR1cyA9ICdSZS1BdWRpdGVkJ1xuICAgIGxldCBwYXlsb2FkID0ge1xuICAgICAgaWQ6IHRoaXMuQXVkaXRJZFxuICAgIH1cbiAgICB0aGlzLmV5ZVNlcnZpY2UuZ2V0QXVkaXRGaWxlKHBheWxvYWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09IDIwMCkge1xuICAgICAgICBcbiAgICAgICAgICB0aGlzLmdldEF1ZGl0ZGV0YWlscygpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xuICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChlcnI/LmVycm9yPy5lcnJvciA/IGVycj8uZXJyb3I/LmVycm9yIDogZXJyPy5lcnJvcj8ubWVzc2FnZSlcbiAgICAgIH1cbiAgICB9KVxuXG5cbiAgfVxuXG4gIG9uWWVzKCl7XG4gICAgbGV0IHBheWxvYWQgPSB7XG4gICAgICBpZDogdGhpcy5BdWRpdElkLFxuICAgICAgICB0eXBlOiB0aGlzLmN1cnJlbnRBdWRpdFR5cGUsXG4gICAgICAgIGZpbGVJZDogdGhpcy5jdXJyZW50QXVkaXRUeXBlID09PSAncmVtb3RlJyA/IHRoaXMuYXVkaXREZXRhaWxzLmVuZ2FnZW1lbnRJZCA6IHRoaXMuYXVkaXREZXRhaWxzLnF1ZXVlSWQsXG4gICAgfVxuICAgIHRoaXMuZXllU2VydmljZS5jYW5jZWxBdWRpdEZpbGUocGF5bG9hZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT0gMjAwKSB7XG4gICAgICAgICAgdGhpcy5nZXRBdWRpdGRldGFpbHMoKTtcbiAgICAgICAgICB0aGlzLnRzLmdldFN1Y2Nlc3NUb2FzdChgJHt0aGlzLmF1ZGl0RGV0YWlscz8uYXVkaXRUeXBlfSBDYW5jZWxsZWQgU3VjY2Vzc2Z1bGx5YClcbiAgICAgICAgICB0aGlzLm1vZGFsUmVmLmRpc21pc3MoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy50cy5nZXRFcnJvclRvYXN0KGVycj8uZXJyb3I/LmVycm9yID8gZXJyPy5lcnJvcj8uZXJyb3IgOiBlcnI/LmVycm9yPy5tZXNzYWdlKVxuICAgICAgICB0aGlzLm1vZGFsUmVmLmRpc21pc3MoKTtcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdGhpcy50YWtlQXVkaXQgPWZhbHNlXG4gIH1cbiAgY2FuY2VsKCl7XG4gICAgdGhpcy5tb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4odGhpcy52aWV3Q2FuY2VsLCB7XG4gICAgICBzaXplOidtZCcsXG4gICAgICBjZW50ZXJlZDogdHJ1ZSxcbiAgICAgIHNjcm9sbGFibGU6IHRydWUsXG4gICAgfSk7ICBcbiAgfVxuICBPbkNhbmNlbCgpe1xuICAgIHRoaXMubW9kYWxSZWYuZGlzbWlzcygpO1xuICB9XG5cbiAgb25FeWVUZXN0QWlTZWFyY2goKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmV5ZVRlc3RDaGF0UXVlcnkudHJpbSgpKSByZXR1cm47XG4gICAgaWYgKCF0aGlzLmFpU2Vzc2lvbklkKSB0aGlzLmluaXRBaVNlc3Npb24oKTtcblxuICAgIHRoaXMuc2hvd0V5ZVRlc3RBaU1lc3NhZ2UgPSB0cnVlO1xuICAgIHRoaXMuZXllVGVzdEFpTWVzc2FnZSA9IG51bGw7XG5cbiAgICBjb25zdCBzdG9yZXM6IHN0cmluZ1tdID0gQXJyYXkuaXNBcnJheSh0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLnN0b3JlTGlzdClcbiAgICAgID8gdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5zdG9yZUxpc3QubWFwKChzOiBhbnkpID0+IHMuc3RvcmVOYW1lKVxuICAgICAgOiBbXTtcblxuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2U/LnN0YXJ0RGF0ZVxuICAgICAgPyB0aGlzLmRheWpzKHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlLCAnREQtTU0tWVlZWScpLmZvcm1hdCgnWVlZWS1NTS1ERCcpXG4gICAgICA6ICcnO1xuICAgIGNvbnN0IGVuZERhdGUgPSB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlPy5lbmREYXRlXG4gICAgICA/IHRoaXMuZGF5anModGhpcy5zZWxlY3RlZERhdGVSYW5nZS5lbmREYXRlLCAnREQtTU0tWVlZWScpLmZvcm1hdCgnWVlZWS1NTS1ERCcpXG4gICAgICA6ICcnO1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgIHVzZXJfaWQ6IHRoaXMudXNlcnM/Ll9pZCB8fCAnJyxcbiAgICAgIHNlc3Npb25faWQ6IHRoaXMuYWlTZXNzaW9uSWQsXG4gICAgICBzZXNzaW9uX2RhdGU6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zbGljZSgwLCAxMCksXG4gICAgICBzZXNzaW9uX3RpbWV6b25lOiBJbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmUsXG4gICAgICBtZXNzYWdlOiB0aGlzLmV5ZVRlc3RDaGF0UXVlcnksXG4gICAgICBhbmFseXRpY3NUeXBlOiAnZXlldGVzdCcsXG4gICAgICBjb25maWc6IHtcbiAgICAgICAgc2VsZWN0ZWRfc3RvcmVzOiBzdG9yZXMsXG4gICAgICAgIGRhdGVfcmFuZ2U6IHsgc3RhcnQ6IHN0YXJ0RGF0ZSwgZW5kOiBlbmREYXRlIH0sXG4gICAgICAgIHNlbGVjdGVkX3Byb2R1Y3RzOiBbXSxcbiAgICAgICAgc2VsZWN0ZWRfbW9kZWw6IHRoaXMuc2VsZWN0ZWRNb2RlbFxuICAgICAgfVxuICAgIH07XG5cbiAgICB0aGlzLmV5ZVNlcnZpY2UuY2hhdFN0cmVhbShwYXlsb2FkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICh0ZXh0OiBzdHJpbmcpID0+IHsgdGhpcy5leWVUZXN0QWlNZXNzYWdlID0gdGV4dDsgfSxcbiAgICAgIGVycm9yOiAoKSA9PiB7IHRoaXMuZXllVGVzdEFpTWVzc2FnZSA9ICdVbmFibGUgdG8gZ2V0IEFJIHJlc3BvbnNlLiBQbGVhc2UgdHJ5IGFnYWluLic7IH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29udkF1ZGlvKCk6IEhUTUxBdWRpb0VsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2NvbnYtYXVkaW8nKSBhcyBIVE1MQXVkaW9FbGVtZW50O1xuICB9XG5cbiAgdG9nZ2xlQ29udlBsYXkoKTogdm9pZCB7XG4gICAgY29uc3QgYXVkaW8gPSB0aGlzLmdldENvbnZBdWRpbygpO1xuICAgIGlmICghYXVkaW8pIHJldHVybjtcbiAgICBpZiAodGhpcy5jb252SXNQbGF5aW5nKSB7XG4gICAgICBhdWRpby5wYXVzZSgpO1xuICAgICAgdGhpcy5jb252SXNQbGF5aW5nID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGF1ZGlvLnBsYXkoKTtcbiAgICAgIHRoaXMuY29udklzUGxheWluZyA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgb25Db252VGltZVVwZGF0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBhdWRpbyA9IHRoaXMuZ2V0Q29udkF1ZGlvKCk7XG4gICAgaWYgKCFhdWRpbykgcmV0dXJuO1xuICAgIHRoaXMuY29udkN1cnJlbnRUaW1lID0gdGhpcy5mb3JtYXRDb252VGltZShhdWRpby5jdXJyZW50VGltZSk7XG4gICAgaWYgKGF1ZGlvLmR1cmF0aW9uICYmIGlzRmluaXRlKGF1ZGlvLmR1cmF0aW9uKSkge1xuICAgICAgdGhpcy5jb252UHJvZ3Jlc3MgPSBhdWRpby5jdXJyZW50VGltZSAvIGF1ZGlvLmR1cmF0aW9uO1xuICAgIH1cbiAgfVxuXG4gIG9uQ29udkxvYWRlZCgpOiB2b2lkIHtcbiAgICBjb25zdCBhdWRpbyA9IHRoaXMuZ2V0Q29udkF1ZGlvKCk7XG4gICAgaWYgKCFhdWRpbykgcmV0dXJuO1xuICAgIC8vIE9ubHkgdXNlIGF1ZGlvLmR1cmF0aW9uIGlmIGl0J3MgYSB2YWxpZCBmaW5pdGUgbnVtYmVyOyBvdGhlcndpc2Uga2VlcCBBUEktcHJvdmlkZWQgZHVyYXRpb25cbiAgICBpZiAoYXVkaW8uZHVyYXRpb24gJiYgaXNGaW5pdGUoYXVkaW8uZHVyYXRpb24pKSB7XG4gICAgICB0aGlzLmNvbnZEdXJhdGlvbiA9IHRoaXMuZm9ybWF0Q29udlRpbWUoYXVkaW8uZHVyYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIGZvcm1hdENvbnZUaW1lKHNlY29uZHM6IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKCFzZWNvbmRzIHx8IGlzTmFOKHNlY29uZHMpKSByZXR1cm4gJzA6MDAnO1xuICAgIGNvbnN0IG0gPSBNYXRoLmZsb29yKHNlY29uZHMgLyA2MCk7XG4gICAgY29uc3QgcyA9IE1hdGguZmxvb3Ioc2Vjb25kcyAlIDYwKTtcbiAgICByZXR1cm4gYCR7bX06JHtzIDwgMTAgPyAnMCcgKyBzIDogc31gO1xuICB9XG5cbiAgc2Vla0NvbnZBdWRpbyhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGF1ZGlvID0gdGhpcy5nZXRDb252QXVkaW8oKTtcbiAgICBpZiAoIWF1ZGlvIHx8ICFhdWRpby5kdXJhdGlvbikgcmV0dXJuO1xuICAgIGNvbnN0IHRyYWNrID0gZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICBjb25zdCByYXRpbyA9IGV2ZW50Lm9mZnNldFggLyB0cmFjay5vZmZzZXRXaWR0aDtcbiAgICBhdWRpby5jdXJyZW50VGltZSA9IHJhdGlvICogYXVkaW8uZHVyYXRpb247XG4gIH1cblxuICB0b2dnbGVDb252TXV0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBhdWRpbyA9IHRoaXMuZ2V0Q29udkF1ZGlvKCk7XG4gICAgaWYgKCFhdWRpbykgcmV0dXJuO1xuICAgIHRoaXMuY29udklzTXV0ZWQgPSAhdGhpcy5jb252SXNNdXRlZDtcbiAgICBhdWRpby5tdXRlZCA9IHRoaXMuY29udklzTXV0ZWQ7XG4gIH1cblxuICBwbGF5RnJvbVN0ZXAoc3RlcDogYW55KTogdm9pZCB7XG4gICAgY29uc3QgYXVkaW8gPSB0aGlzLmdldENvbnZBdWRpbygpO1xuICAgIGlmICghYXVkaW8gfHwgIXN0ZXA/LnN0YXJ0VGltZSkgcmV0dXJuO1xuICAgIGNvbnN0IHBhcnRzID0gU3RyaW5nKHN0ZXAuc3RhcnRUaW1lKS5zcGxpdCgnOicpLm1hcChOdW1iZXIpO1xuICAgIGxldCBzZWNvbmRzID0gMDtcbiAgICBpZiAocGFydHMubGVuZ3RoID09PSAzKSB7XG4gICAgICBzZWNvbmRzID0gcGFydHNbMF0gKiAzNjAwICsgcGFydHNbMV0gKiA2MCArIHBhcnRzWzJdO1xuICAgIH0gZWxzZSBpZiAocGFydHMubGVuZ3RoID09PSAyKSB7XG4gICAgICBzZWNvbmRzID0gcGFydHNbMF0gKiA2MCArIHBhcnRzWzFdO1xuICAgIH1cbiAgICBhdWRpby5jdXJyZW50VGltZSA9IHNlY29uZHM7XG4gICAgYXVkaW8ucGxheSgpO1xuICAgIHRoaXMuY29udklzUGxheWluZyA9IHRydWU7XG4gIH1cblxuICAvLyDilIDilIAgQUkgQXNzaXN0YW50IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBwYXJzZUFpTWFya2Rvd24odGV4dDogc3RyaW5nKTogU2FmZUh0bWwge1xuICAgIGlmICghdGV4dCkgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKCcnKTtcbiAgICBsZXQgaHRtbCA9IHRleHRcbiAgICAgIC5yZXBsYWNlKC8mL2csICcmYW1wOycpLnJlcGxhY2UoLzwvZywgJyZsdDsnKS5yZXBsYWNlKC8+L2csICcmZ3Q7JylcbiAgICAgIC5yZXBsYWNlKC9eIyMjICguKykkL2dtLCAnPGg1PiQxPC9oNT4nKVxuICAgICAgLnJlcGxhY2UoL14jIyAoLispJC9nbSwgJzxoND4kMTwvaDQ+JylcbiAgICAgIC5yZXBsYWNlKC9eIyAoLispJC9nbSwgJzxoMz4kMTwvaDM+JylcbiAgICAgIC5yZXBsYWNlKC9cXCpcXCooLis/KVxcKlxcKi9nLCAnPHN0cm9uZz4kMTwvc3Ryb25nPicpXG4gICAgICAucmVwbGFjZSgvX18oLis/KV9fL2csICc8c3Ryb25nPiQxPC9zdHJvbmc+JylcbiAgICAgIC5yZXBsYWNlKC9cXCooLis/KVxcKi9nLCAnPGVtPiQxPC9lbT4nKVxuICAgICAgLnJlcGxhY2UoL18oLis/KV8vZywgJzxlbT4kMTwvZW0+JylcbiAgICAgIC5yZXBsYWNlKC9eXFxzKlstKl0gKC4rKSQvZ20sICc8bGk+JDE8L2xpPicpXG4gICAgICAucmVwbGFjZSgvXlxccypcXGQrXFwuICguKykkL2dtLCAnPGxpPiQxPC9saT4nKVxuICAgICAgLnJlcGxhY2UoLyg8bGk+Lio8XFwvbGk+KS9ncywgJzx1bD4kMTwvdWw+JylcbiAgICAgIC5yZXBsYWNlKC9cXG57Mix9L2csICc8L3A+PHA+JylcbiAgICAgIC5yZXBsYWNlKC9cXG4vZywgJzxicj4nKTtcbiAgICBodG1sID0gYDxwPiR7aHRtbH08L3A+YDtcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoaHRtbCk7XG4gIH1cblxuICBhaUNoYXRRdWVyeSA9ICcnO1xuICBhaVJlc3BvbnNlVGV4dCA9ICcnO1xuICBpc0FpTG9hZGluZyA9IGZhbHNlO1xuICBwcml2YXRlIGFpU2Vzc2lvbklkID0gJyc7XG5cbiAgcHJpdmF0ZSBpbml0QWlTZXNzaW9uKCk6IHZvaWQge1xuICAgIHRoaXMuYWlTZXNzaW9uSWQgPSBgRVlFVEVTVF8ke0RhdGUubm93KCl9YDtcbiAgfVxuXG4gIHNlbmRDaGF0TWVzc2FnZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYWlDaGF0UXVlcnkudHJpbSgpIHx8IHRoaXMuaXNBaUxvYWRpbmcpIHJldHVybjtcbiAgICBpZiAoIXRoaXMuYWlTZXNzaW9uSWQpIHRoaXMuaW5pdEFpU2Vzc2lvbigpO1xuXG4gICAgY29uc3Qgc3RvcmVzOiBzdHJpbmdbXSA9IEFycmF5LmlzQXJyYXkodGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5zdG9yZUxpc3QpXG4gICAgICA/IHRoaXMuZXllVGVzdEZvcm0udmFsdWUuc3RvcmVMaXN0Lm1hcCgoczogYW55KSA9PiBzLnN0b3JlSWQpXG4gICAgICA6IFtdO1xuXG4gICAgY29uc3Qgc3RhcnREYXRlID0gdGhpcy5zZWxlY3RlZERhdGVSYW5nZT8uc3RhcnREYXRlXG4gICAgICA/IHRoaXMuZGF5anModGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUsICdERC1NTS1ZWVlZJykuZm9ybWF0KCdZWVlZLU1NLUREJylcbiAgICAgIDogJyc7XG4gICAgY29uc3QgZW5kRGF0ZSA9IHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2U/LmVuZERhdGVcbiAgICAgID8gdGhpcy5kYXlqcyh0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmVuZERhdGUsICdERC1NTS1ZWVlZJykuZm9ybWF0KCdZWVlZLU1NLUREJylcbiAgICAgIDogJyc7XG5cbiAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgdXNlcl9pZDogdGhpcy51c2Vycz8uX2lkIHx8ICcnLFxuICAgICAgc2Vzc2lvbl9pZDogdGhpcy5haVNlc3Npb25JZCxcbiAgICAgIHNlc3Npb25fZGF0ZTogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnNsaWNlKDAsIDEwKSxcbiAgICAgIHNlc3Npb25fdGltZXpvbmU6IEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZSxcbiAgICAgIG1lc3NhZ2U6IHRoaXMuYWlDaGF0UXVlcnksXG4gICAgICBhbmFseXRpY3NUeXBlOiAnZXlldGVzdCcsXG4gICAgICBjb25maWc6IHtcbiAgICAgICAgc2VsZWN0ZWRfc3RvcmVzOiBzdG9yZXMsXG4gICAgICAgIGRhdGVfcmFuZ2U6IHsgc3RhcnQ6IHN0YXJ0RGF0ZSwgZW5kOiBlbmREYXRlIH0sXG4gICAgICAgIHNlbGVjdGVkX3Byb2R1Y3RzOiBbJ0V5ZVRlc3QnXSxcbiAgICAgICAgc2VsZWN0ZWRfbW9kZWw6IHRoaXMuc2VsZWN0ZWRNb2RlbFxuICAgICAgfVxuICAgIH07XG5cbiAgICB0aGlzLmlzQWlMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmFpUmVzcG9uc2VUZXh0ID0gJyc7XG4gICAgdGhpcy5leWVTZXJ2aWNlLmNoYXRTdHJlYW0ocGF5bG9hZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAodGV4dDogc3RyaW5nKSA9PiB7IHRoaXMuYWlSZXNwb25zZVRleHQgPSB0ZXh0OyB9LFxuICAgICAgZXJyb3I6ICgpID0+IHsgdGhpcy5pc0FpTG9hZGluZyA9IGZhbHNlOyB9LFxuICAgICAgY29tcGxldGU6ICgpID0+IHsgdGhpcy5pc0FpTG9hZGluZyA9IGZhbHNlOyB9XG4gICAgfSk7XG4gIH1cblxufVxuIiwiPHNlY3Rpb24gKm5nSWY9XCIhZXllVmlld1wiIGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XHJcbjxkaXYgY2xhc3M9XCJjYXJkIG1iLTJcIj5cclxuICAgICA8ZGl2ICpuZ0lmPVwibG9hZGluZzFcIiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxmb3JtICpuZ0lmPVwiIWxvYWRpbmcxXCIgW2Zvcm1Hcm91cF09XCJleWVUZXN0Rm9ybVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBtdC03IG1iLTNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcHgtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiZXllVGVzdEZvcm0uZ2V0KCd0eXBlJyk/LnZhbHVlID09PSdyZW1vdGUnID8gJ2NvbC0yIG1iLTQnIDogJ2NvbC0yIG1iLTQnXCIgY2xhc3M9XCJjb2wtMSBtYi00XCIgc3R5bGU9XCJ6LWluZGV4OiAzMyAhaW1wb3J0YW50O1wiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1yZWFjdGl2ZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiZGF0ZVR5cGVcIiBbaWRGaWVsZF09XCIndmFsdWUnXCIgW25hbWVGaWVsZF09XCInbGFiZWwnXCIgW2RhdGFdPVwiZGF0ZVR5cGVcIiAoaXRlbUNoYW5nZSk9XCJkYXRlVHlwZUNoYW5nZSgkZXZlbnQpXCI+PC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgIFtuZ0NsYXNzXT1cImV5ZVRlc3RGb3JtLmdldCgndHlwZScpPy52YWx1ZSA9PT0ncmVtb3RlJyA/ICdjb2wtMyBtYi00JyA6ICdjb2wtMiBtYi00J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwidG9wOiAyMCU7XCIgY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTMuMzMzMyAxLjY2NjYzVjQuOTk5OTZNNi42NjY2NyAxLjY2NjYzVjQuOTk5OTZNMi41IDguMzMzMjlIMTcuNU00LjE2NjY3IDMuMzMzMjlIMTUuODMzM0MxNi43NTM4IDMuMzMzMjkgMTcuNSA0LjA3OTQ4IDE3LjUgNC45OTk5NlYxNi42NjY2QzE3LjUgMTcuNTg3MSAxNi43NTM4IDE4LjMzMzMgMTUuODMzMyAxOC4zMzMzSDQuMTY2NjdDMy4yNDYxOSAxOC4zMzMzIDIuNSAxNy41ODcxIDIuNSAxNi42NjY2VjQuOTk5OTZDMi41IDQuMDc5NDggMy4yNDYxOSAzLjMzMzI5IDQuMTY2NjcgMy4zMzMyOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZngtZGF0ZS1yYW5nZSBmb3JtLWNvbnRyb2wgcHMtMTAgei0yXCIgc3R5bGU9XCJtaW4td2lkdGg6IDE1MHB4ICFpbXBvcnRhbnQ7XCIgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdElucHV0IG5neERhdGVyYW5nZXBpY2tlck1kIFtkcm9wc109XCInZG93bidcIiBbb3BlbnNdPVwiJ3JpZ2h0J1wiIFthbHdheXNTaG93Q2FsZW5kYXJzXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBba2VlcENhbGVuZGFyT3BlbmluZ1dpdGhSYW5nZV09XCJ0cnVlXCIgW3Nob3dDYW5jZWxdPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWREYXRlUmFuZ2VcIiBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGF0ZXNVcGRhdGVkKT1cImRhdGVjaGFuZ2UoJGV2ZW50KVwiIChjbGljayk9XCJyZXNldFZhbGlkYXRpb24oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0YXJ0RGF0ZUNoYW5nZWQpPVwib25TdGFydERhdGVDaGFuZ2UoJGV2ZW50KVwiIFtpc0N1c3RvbURhdGVdPVwiaXNDdXN0b21EYXRlXCIgW2F1dG9BcHBseV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbG9jYWxlXT1cInsgZm9ybWF0OiAnREQtTU0tWVlZWScsIGZpcnN0RGF5OiAxLCBtb250aE5hbWVzOiBbJ0phbnVhcnknLCAnRmVicnVhcnknLCAnTWFyY2gnLCAnQXByaWwnLCAnTWF5JywgJ0p1bmUnLCAnSnVseScsICdBdWd1c3QnLCAnU2VwdGVtYmVyJywgJ09jdG9iZXInLCAnTm92ZW1iZXInLCAnRGVjZW1iZXInXSB9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiZGF0ZXJhbmdlXCIgW3JlYWRvbmx5XT1cInRydWVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImV5ZVRlc3RGb3JtLmdldCgndHlwZScpPy52YWx1ZSA9PT0ncmVtb3RlJyA/ICdjb2wtMyBtYi00JyA6ICdjb2wtMiBtYi00J1wiIGNsYXNzPVwiY29sLTIgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGliLXJlYWN0aXZlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJ0eXBlXCIgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiIFtkYXRhXT1cInR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGl0ZW1DaGFuZ2UpPVwidHlwZUNoYW5nZSgkZXZlbnQpXCI+PC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gKm5nSWY9XCJ1c2Vycz8ucm9sZSA9PT0nc3VwZXJhZG1pbidcIiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICBjbGFzcz1cImNvbC1tZC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3Qtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYWNlaG9sZGVyLW92ZXJsYXlcIiAqbmdJZj1cIiEoZXllVGVzdEZvcm0uZ2V0KCdSbUxpc3QnKT8udmFsdWU/Lmxlbmd0aClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWxlY3QgUk1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1ncm91cC1zZWxlY3QgW2l0ZW1zXT1cIlJtTGlzdFwiIFtkaXNhYmxlZF09XCJmYWxzZVwiIFttdWx0aV09XCJ0cnVlXCIgW3NlYXJjaEZpZWxkXT1cIid1c2VyTmFtZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZEZpZWxkXT1cIid1c2VyTmFtZSdcIiAoc2VsZWN0ZWQpPVwib25SbVNlbGVjdCgkZXZlbnQpXCIgW3NlbGVjdGVkVmFsdWVzXT1cImV5ZVRlc3RGb3JtLmdldCgnUm1MaXN0Jyk/LnZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpYi1ncm91cC1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tICpuZ0lmPVwidXNlcnM/LnJvbGUgPT09J3N1cGVyYWRtaW4nIHx8IHVzZXJzPy5yb2xlID09PSdhZG1pbidcIiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICBjbGFzcz1cImNvbC1tZC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3Qtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYWNlaG9sZGVyLW92ZXJsYXlcIiAqbmdJZj1cIiEoZXllVGVzdEZvcm0uZ2V0KCdDbHVzdGVyTGlzdCcpPy52YWx1ZT8ubGVuZ3RoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlbGVjdCBjbHVzdGVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItZ3JvdXAtc2VsZWN0IFtpdGVtc109XCJDbHVzdGVyTGlzdFwiIFtkaXNhYmxlZF09XCJmYWxzZVwiIFttdWx0aV09XCJ0cnVlXCIgW3NlYXJjaEZpZWxkXT1cIidjbHVzdGVyTmFtZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZEZpZWxkXT1cIidjbHVzdGVyTmFtZSdcIiAoc2VsZWN0ZWQpPVwib25ncm91cFNlbGVjdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRWYWx1ZXNdPVwiZXllVGVzdEZvcm0uZ2V0KCdDbHVzdGVyTGlzdCcpPy52YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saWItZ3JvdXAtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgICBbbmdDbGFzc109XCJleWVUZXN0Rm9ybS5nZXQoJ3R5cGUnKT8udmFsdWUgPT09J3JlbW90ZScgPyAnY29sLTMgbWItNCcgOiAnY29sLTIgbWItNCdcIiAgPlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3Qtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYWNlaG9sZGVyLW92ZXJsYXlcIiAgKm5nSWY9XCIhKGV5ZVRlc3RGb3JtLmdldCgnc3RvcmVMaXN0Jyk/LnZhbHVlPy5sZW5ndGgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VsZWN0IFN0b3Jlc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLXN0b3Jlcy1zZWxlY3QgW2l0ZW1zXT1cInN0b3JlTGlzdFwiIFtkaXNhYmxlZF09XCJmYWxzZVwiIFttdWx0aV09XCJ0cnVlXCIgW3NlYXJjaEZpZWxkXT1cIidzdG9yZU5hbWUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRGaWVsZF09XCInc3RvcmVJZCdcIiAoc2VsZWN0ZWQpPVwib25TdG9yZVNlbGVjdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRWYWx1ZXNdPVwiZXllVGVzdEZvcm0uZ2V0KCdzdG9yZUxpc3QnKT8udmFsdWVcIj48L2xpYi1zdG9yZXMtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiZXllVGVzdEZvcm0uZ2V0KCd0eXBlJyk/LnZhbHVlID09PSdyZW1vdGUnID8gJ2NvbC0yJyA6ICdjb2wtMidcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdC13cmFwcGVyIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGxhY2Vob2xkZXItb3ZlcmxheVwiICpuZ0lmPVwiIShleWVUZXN0Rm9ybS5nZXQoJ2NvbXBsaWFuY2VTY29yZScpPy52YWx1ZT8ubGVuZ3RoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlbGVjdCBTY29yZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLXNlbGVjdC1kcm9wIFtpdGVtc109XCJ0eXBlUGVyY2VudGFnZUFycmF5XCIgW2Rpc2FibGVkXT1cImZhbHNlXCIgW211bHRpXT1cInRydWVcIiBbc2VhcmNoRmllbGRdPVwiJ2xhYmVsJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIChzZWxlY3RlZCk9XCJ0eXBlUGVyY2VudGFnZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRWYWx1ZXNdPVwiZXllVGVzdEZvcm0uZ2V0KCdjb21wbGlhbmNlU2NvcmUnKT8udmFsdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGliLXNlbGVjdC1kcm9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZXllVGVzdEZvcm0uZ2V0KCd0eXBlJyk/LnZhbHVlICE9PSdyZW1vdGUnXCIgY2xhc3M9XCJjb2wtMSBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcmVhY3RpdmUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImF1ZGl0VHlwZVwiIFtpZEZpZWxkXT1cIid2YWx1ZSdcIiBbbmFtZUZpZWxkXT1cIidsYWJlbCdcIiBbZGF0YV09XCJhdWRpdFR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGl0ZW1DaGFuZ2UpPVwiYXVkaXRUeXBlQ2hhbmdlKCRldmVudClcIj48L2xpYi1yZWFjdGl2ZS1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImV5ZVRlc3RGb3JtLmdldCgndHlwZScpPy52YWx1ZSA9PT0ncmVtb3RlJyA/ICdjb2wtMycgOiAnY29sLTInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3Qtd3JhcHBlciBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYWNlaG9sZGVyLW92ZXJsYXlcIiAqbmdJZj1cIiEoZXllVGVzdEZvcm0uZ2V0KCdhdWRpdFN0YXR1cycpPy52YWx1ZT8ubGVuZ3RoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1ZGl0IFN0YXR1c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLXNlbGVjdC1kcm9wIFtpdGVtc109XCJhdWRpdFN0YXR1c0FycmF5XCIgW2Rpc2FibGVkXT1cImZhbHNlXCIgW211bHRpXT1cInRydWVcIiBbc2VhcmNoRmllbGRdPVwiJ2xhYmVsJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIChzZWxlY3RlZCk9XCJ0eXBlQXVkaXRTdGF0dXNDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVzXT1cImV5ZVRlc3RGb3JtLmdldCgnYXVkaXRTdGF0dXMnKT8udmFsdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGliLXNlbGVjdC1kcm9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZXllVGVzdEZvcm0uZ2V0KCd0eXBlJyk/LnZhbHVlICE9PSdyZW1vdGUnXCIgY2xhc3M9XCJjb2wtbWQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1yZWFjdGl2ZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwibmVhckFkZGl0aW9uXCIgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwibmVhckFkZGl0aW9uQXJyYXlcIiAoaXRlbUNoYW5nZSk9XCJuZWFyQWRkaXRpb25DaGFuZ2UoJGV2ZW50KVwiPjwvbGliLXJlYWN0aXZlLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImV5ZVRlc3RGb3JtLmdldCgndHlwZScpPy52YWx1ZSAhPT0ncmVtb3RlJ1wiIGNsYXNzPVwiY29sLW1kLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcmVhY3RpdmUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImNhdGVnb3J5XCIgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiY2F0ZWdvcnlBcnJheVwiIChpdGVtQ2hhbmdlKT1cImNhdGVnb3J5VHlwZUNoYW5nZSgkZXZlbnQpXCI+PC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBcclxuICAqbmdJZj1cInVzZXJzPy5yb2xlXCIgXHJcbiAgY2xhc3M9XCJ0ZXh0LWVuZFwiXHJcbiAgW25nQ2xhc3NdPVwiZXllVGVzdEZvcm0uZ2V0KCd0eXBlJyk/LnZhbHVlID09PSdyZW1vdGUnID8gJ2NvbC0xIG1iLTQnIDogJ2NvbC0xIG1iLTQnXCJcclxuPlxyXG48IS0tIFtuZ0NsYXNzXT1cImdldEFwcGx5QnV0dG9uQ2xhc3ModXNlcnM/LnJvbGUsIGV5ZVRlc3RGb3JtLmdldCgndHlwZScpPy52YWx1ZSlcIiAtLT5cclxuXHJcbiAgICA8YSAoY2xpY2spPVwib25TdWJtaXQoKTtcIiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1wcmltYXJ5IHB5LTMgXCI+XHJcbiAgICAgICAgPHNwYW4+QXBwbHk8L3NwYW4+XHJcbiAgICAgIDwvYT5cclxuXHJcbjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZm9ybT5cclxuICAgIDxkaXYgKm5nSWY9XCJzaG93RXllVGVzdFwiIGNsYXNzPVwibXMtNiBtYi0zXCI+XHJcblxyXG4gICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgZGFzaGVkIHctMTAwICByb3dcIj5cclxuICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb2wtMTAgdGl0bGUtdGV4dCBweS0zXCI+PHNwYW4gY2xhc3M9XCJteC0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCJcclxuICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAzMiAzMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHJ4PVwiMTZcIiBmaWxsPVwiI0ZFRTRFMlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMjM1XzI0MjM0KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE2IDEzLjMzMzVWMTYuMDAwMk0xNiAxOC42NjY4SDE2LjAwNjdNMjIuNjY2NyAxNi4wMDAyQzIyLjY2NjcgMTkuNjgyMSAxOS42ODE5IDIyLjY2NjggMTYgMjIuNjY2OEMxMi4zMTgxIDIyLjY2NjggOS4zMzMzNyAxOS42ODIxIDkuMzMzMzcgMTYuMDAwMkM5LjMzMzM3IDEyLjMxODMgMTIuMzE4MSA5LjMzMzUgMTYgOS4zMzM1QzE5LjY4MTkgOS4zMzM1IDIyLjY2NjcgMTIuMzE4MyAyMi42NjY3IDE2LjAwMDJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzIzNV8yNDIzNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg4IDgpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+PHNwYW4gY2xhc3M9XCJkYXNoZWQtZGVzY1wiPkV5ZSB0ZXN0IHZpZGVvIHByZXZpZXcgaXMgYXZhaWxhYmxlIGZvciAzMCBkYXlzLiBBdWRpdCBkYXRhXHJcbiAgICAgICAgICAgICAgICAgcmVtYWlucyBhY2Nlc3NpYmxlLCBidXQgdmlkZW9zIHdpbGwgbm90IGJlIHJldGFpbmVkIGJleW9uZCB0aGlzIHBlcmlvZC48L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29sLTIgcHQtMiB0ZXh0LWVuZCBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJjbG9zZUV5ZVRlc3QoKVwiPlxyXG4gICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiB2aWV3Qm94PVwiMCAwIDQwIDQwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk0yNSAxNUwxNSAyNU0xNSAxNUwyNSAyNVwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgPC9oMz5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcblxyXG5cclxuPCEtLSA8ZGl2IGNsYXNzPVwiY2FyZCBteS0zXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHktMVwiPlxyXG4gXHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+IC0tPlxyXG5cclxuPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiAqbmdJZj1cInVzZXJzPy5yb2xlID09PSdzdXBlcmFkbWluJyAmJiBrZXlUeXBlID09PSdybSdcIiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIHAtMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgZWxsaXBzZTEgbWluLWgtNTVweCBweS0xIHB4LTMgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwiY2FyZC10aXRsZSBteS0wXCI+UmVnaW9uYWwgTWFuYWdlcnM8L2g1PlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXZhbHVlXCI+e3tSbUxpc3REYXRhID8/ICctLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIG10LTUgcC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBtaW4taC01NXB4IHB5LTEgcHgtMyBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlIG15LTBcIj5DbHVzdGVyczwvaDU+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdmFsdWVcIj57e2dyb3Vwcz8ubGVuZ3RoID8/ICctLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwidXNlcnM/LnJvbGUgPT09J3N1cGVyYWRtaW4nICYmIGtleVR5cGUgIT09J3JtJyB8fCB1c2Vycz8ucm9sZSA9PT0nYWRtaW4nXCIgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBoLTEwMCBwLTJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGVsbGlwc2UxIG1pbi1oLTQ1cHggIHB5LTEgcHgtMyBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImNhcmQtdGl0bGVcIj5DbHVzdGVyczwvaDU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB5LTcgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdmFsdWVcIj57eyBncm91cHM/Lmxlbmd0aCA/PyAnLScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgaC0xMDAgcC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBtaW4taC00NXB4ICBweS0xIHB4LTMgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlXCI+VG90YWwgVGFuZ28gQUkgRmlsZXM8L2g1PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS03IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXZhbHVlXCI+e3sgZXllVGVzdENhcmREYXRhPy50b3RhbEZpbGVzID8/ICctJyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBoLTEwMCBwLTJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGVsbGlwc2UxIG1pbi1oLTQ1cHggcHktMSBweC0zIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwiY2FyZC10aXRsZVwiPlRydXN0IEF1ZGl0IENvbXBsZXRlZDwvaDU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB5LTMgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdmFsdWVcIj57eyBleWVUZXN0Q2FyZERhdGE/LmNvbXBsZXRlZEZpbGVzID8/ICctJyB9fTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgcHktMCBib3JkZXItMCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zdWJcIj57eyAoZXllVGVzdENhcmREYXRhPy5jb21wbGV0ZWRSYXRpbyA/PyAnLScpICsgJyUnIH19IDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGVzdC1zdWJcIj5Db21wbGV0ZWQ8L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGgtMTAwIHAtMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgZWxsaXBzZTEgbWluLWgtNDVweCAgcHktMSBweC0zIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwiY2FyZC10aXRsZVwiPlRhbmdvIFNjb3JlPC9oNT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktNyBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC12YWx1ZVwiPnt7IGV5ZVRlc3RDYXJkRGF0YT8udGFuZ29TY29yZSA/PyAnLScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgcGUtMCBwcy0zIHB5LTAgYm9yZGVyLTAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cImV5ZVRlc3RDYXJkRGF0YT8udHJlbmRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zMjE2XzExOClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTExLjUgM0w2Ljc1IDcuNzVMNC4yNSA1LjI1TDAuNSA5TTExLjUgM0g4LjVNMTEuNSAzVjZcIiBzdHJva2U9XCIjMDM5ODU1XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzMyMTZfMTE4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIiFleWVUZXN0Q2FyZERhdGE/LnRyZW5kXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTNcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTMgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzc2MF85Nzc2KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS41NzUgOUw2LjgyNDk1IDQuMjVMNC4zMjQ5NSA2Ljc1TDAuNTc0OTUxIDNNMTEuNTc1IDlIOC41NzQ5NU0xMS41NzUgOVY2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjRDkyRDIwXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzc2MF85Nzc2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAuMDc0OTUxMilcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPiBcclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc3ViIG1zLTJcIj57eyBleWVUZXN0Q2FyZERhdGE/LnRhbmdvU2NvcmVUcmVuZCAhPT0gbnVsbCBcclxuICAgICAgPyAoZ2V0QWJzVmFsdWUoZXllVGVzdENhcmREYXRhLnRhbmdvU2NvcmVUcmVuZCkgfCBudW1iZXI6JzEuMC0wJzonZW4tVVMnKSArICclJyBcclxuICAgICAgOiAnLScgfX1cclxuIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRlc3Qtc3ViMVwiPnZzIHByZXZpb3VzIHdlZWs8L3NwYW4+PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBoLTEwMCBwLTJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGVsbGlwc2UxIG1pbi1oLTQ1cHggcHktMSBweC0zIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwiY2FyZC10aXRsZVwiPlRydXN0IFNjb3JlPC9oNT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktNyBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC12YWx1ZVwiPnt7IChleWVUZXN0Q2FyZERhdGE/LnRydXN0U2NvcmUgJiYgZXllVGVzdENhcmREYXRhPy50cnVzdFNjb3JlICE9PSAnTkEnIFxyXG4gID8gZXllVGVzdENhcmREYXRhLnRydXN0U2NvcmUgKyAnJScgXHJcbiAgOiAnTkEnKSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgIDwvZGl2PlxyXG4gICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBoLTEwMCBwLTJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGVsbGlwc2UxIG1pbi1oLTQ1cHggcHktMSBweC0zIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwiY2FyZC10aXRsZVwiPkh1bWFuIEF1ZGl0ZWQgU2NvcmU8L2g1PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS03IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXZhbHVlXCI+e3sgKGV5ZVRlc3RDYXJkRGF0YT8uaHVtYW5TY29yZSAmJiBleWVUZXN0Q2FyZERhdGE/Lmh1bWFuU2NvcmUgIT09ICdOQScgXHJcbiAgPyBleWVUZXN0Q2FyZERhdGEuaHVtYW5TY29yZSBcclxuICA6ICdOQScpIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgPC9kaXY+XHJcbiAgICBcclxuPC9kaXY+XHJcblxyXG5cclxuPGRpdiBjbGFzcz1cImNhcmQgbXQtM1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTNcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidXNlcnM/LnJvbGUgPT09ICdzdXBlcmFkbWluJyAmJiBrZXlUeXBlID09PSdybSdcIiBjbGFzcz1cInRpdGxlLXRleHQgbWItMlwiPlxyXG4gICAgICAgICAgICAgICAgQXVkaXQgU3VtbWFyeVxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhbG9hZGluZ1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtcHJpbWFyeVwiPnt7IHRvdGFsSXRlbXMgfX0gVG90YWw8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gQWRtaW4gKyBjbHVzdGVyIHByZXNlbnQg4oaSIFJNIFN1bW1hcnkgLS0+XHJcbiAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS0yIGN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCJrZXlUeXBlID09PSdjbHVzdGVyJyAmJiB1c2Vycz8ucm9sZSA9PT0gJ3N1cGVyYWRtaW4nXCIgKGNsaWNrKT1cInR5cGVWYWwxKCdybScsJycpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDRcIiBoZWlnaHQ9XCI0NFwiIHZpZXdCb3g9XCIwIDAgNDQgNDRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RfNzQ1XzEyMTI4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyXCIgeT1cIjFcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiByeD1cIjhcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyLjVcIiB5PVwiMS41XCIgd2lkdGg9XCIzOVwiIGhlaWdodD1cIjM5XCIgcng9XCI3LjVcIiBzdHJva2U9XCIjRDBENUREXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTI3LjgzMzQgMjEuMDAwM0gxNi4xNjY3TTE2LjE2NjcgMjEuMDAwM0wyMi4wMDAxIDI2LjgzMzdNMTYuMTY2NyAyMS4wMDAzTDIyLjAwMDEgMTUuMTY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZF83NDVfMTIxMjhcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCI0NFwiIGhlaWdodD1cIjQ0XCIgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCIgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93Xzc0NV8xMjEyOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNzQ1XzEyMTI4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidXNlcnM/LnJvbGUgPT09ICdhZG1pbicgJiYga2V5VHlwZSA9PT0nY2x1c3RlcicgfHwgdXNlcnM/LnJvbGUgPT09ICdzdXBlcmFkbWluJyAmJiBrZXlUeXBlID09PSdjbHVzdGVyJ1wiIGNsYXNzPVwidGl0bGUtdGV4dCBteS00IG1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgUk0gU3VtbWFyeVxyXG4gICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFsb2FkaW5nXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5IHRleHQtY2FwaXRhbGl6ZVwiPnt7IGV5ZVRlc3REYXRhWzBdPy5STU5hbWUgPyBleWVUZXN0RGF0YVswXT8uUk1OYW1lIDogJycgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIEFsbCBvdGhlciBjYXNlcyDihpIgRXllIFRlc3QgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1lLTIgY3Vyc29yLXBvaW50ZXJcIiAqbmdJZj1cImtleVR5cGUgPT09J3N0b3JlJyAmJiAodXNlcnM/LnJvbGUgPT09ICdzdXBlcmFkbWluJylcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0eXBlVmFsMSgnY2x1c3RlcicsdGhpcy5ybUVtYWlsKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDRcIiBoZWlnaHQ9XCI0NFwiIHZpZXdCb3g9XCIwIDAgNDQgNDRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBmaWx0ZXI9XCJ1cmwoI2ZpbHRlcjBfZF83NDVfMTIxMjgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIxXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgcng9XCI4XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyLjVcIiB5PVwiMS41XCIgd2lkdGg9XCIzOVwiIGhlaWdodD1cIjM5XCIgcng9XCI3LjVcIiBzdHJva2U9XCIjRDBENUREXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yNy44MzM0IDIxLjAwMDNIMTYuMTY2N00xNi4xNjY3IDIxLjAwMDNMMjIuMDAwMSAyNi44MzM3TTE2LjE2NjcgMjEuMDAwM0wyMi4wMDAxIDE1LjE2N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZF83NDVfMTIxMjhcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCI0NFwiIGhlaWdodD1cIjQ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCBpbj1cIlNvdXJjZUFscGhhXCIgdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCIgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wNSAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW4yPVwiQmFja2dyb3VuZEltYWdlRml4XCIgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93Xzc0NV8xMjEyOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd183NDVfMTIxMjhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS0yIGN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCJrZXlUeXBlID09PSdzdG9yZScgJiYgKHVzZXJzPy5yb2xlID09PSAnYWRtaW4nKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInR5cGVWYWwxKCdjbHVzdGVyJyx0aGlzLmdyb3VwcylcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjQ0XCIgaGVpZ2h0PVwiNDRcIiB2aWV3Qm94PVwiMCAwIDQ0IDQ0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RfNzQ1XzEyMTI4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMVwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHJ4PVwiOFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMi41XCIgeT1cIjEuNVwiIHdpZHRoPVwiMzlcIiBoZWlnaHQ9XCIzOVwiIHJ4PVwiNy41XCIgc3Ryb2tlPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjcuODMzNCAyMS4wMDAzSDE2LjE2NjdNMTYuMTY2NyAyMS4wMDAzTDIyLjAwMDEgMjYuODMzN00xNi4xNjY3IDIxLjAwMDNMMjIuMDAwMSAxNS4xNjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfNzQ1XzEyMTI4XCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiNDRcIiBoZWlnaHQ9XCI0NFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDUgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd183NDVfMTIxMjhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNzQ1XzEyMTI4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiISh1c2Vycz8ucm9sZSA9PT0gJ3N1cGVyYWRtaW4nICYmIGtleVR5cGUgPT09J3JtJykgJiYgISh1c2Vycz8ucm9sZSA9PT0gJ3N1cGVyYWRtaW4nICYmIGtleVR5cGUgPT09J2NsdXN0ZXInKSBcclxuICAgICAgICAgICAgICAgICYmICEodXNlcnM/LnJvbGUgPT09ICdhZG1pbicgJiYga2V5VHlwZSA9PT0nY2x1c3RlcicpXCIgY2xhc3M9XCJ0aXRsZS10ZXh0IG15LTQgbWItMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIEV5ZSBUZXN0XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhbG9hZGluZ1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtcHJpbWFyeVwiPnt7IHRvdGFsSXRlbXMgfX0gVG90YWw8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInVzZXJzPy5yb2xlID09PSdzdXBlcmFkbWluJyAmJiBrZXlUeXBlID09PSdybSdcIiBjbGFzcz1cInRleHQtc3ViIG15LTJcIj5CYXNlZCBvbiB7eyBoZWFkRGF0ZSB8IGRhdGU6ICdNTU0gZCcgfX0gLSB7e1xyXG4gICAgICAgICAgICAgICAgaGVhZERhdGVFbmQgfCBkYXRlOiAnTU1NIGQsIHknIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ1c2Vycz8ucm9sZSA9PT0nYWRtaW4nICYmIGtleVR5cGUgPT09J2NsdXN0ZXInXCIgY2xhc3M9XCJ0ZXh0LXN1YiBteS0yXCI+QmFzZWQgb24ge3sgaGVhZERhdGUgfCBkYXRlOiAnTU1NIGQnIH19IC0ge3tcclxuICAgICAgICAgICAgICAgIGhlYWREYXRlRW5kIHwgZGF0ZTogJ01NTSBkLCB5JyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidXNlcnM/LnJvbGUgPT09J3VzZXInICYmIGtleVR5cGUgPT09J3N0b3JlJ1wiIGNsYXNzPVwidGV4dC1zdWIgbXktMlwiPkJhc2VkIG9uIHt7IGhlYWREYXRlIHwgZGF0ZTogJ01NTSBkJyB9fSAtIHt7XHJcbiAgICAgICAgICAgICAgICBoZWFkRGF0ZUVuZCB8IGRhdGU6ICdNTU0gZCwgeScgfX08L3NwYW4+XHJcbiAgICAgICAgPC9oMz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IG9wYWNpdHk9XCIwLjVcIiB4PVwiMTcuMDM2NVwiIHk9XCIxNS4xMjIzXCIgd2lkdGg9XCI4LjE1NTQ2XCIgaGVpZ2h0PVwiMlwiIHJ4PVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwicm90YXRlKDQ1IDE3LjAzNjUgMTUuMTIyMylcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTExIDE5QzYuNTU1NTYgMTkgMyAxNS40NDQ0IDMgMTFDMyA2LjU1NTU2IDYuNTU1NTYgMyAxMSAzQzE1LjQ0NDQgMyAxOSA2LjU1NTU2IDE5IDExQzE5IDE1LjQ0NDQgMTUuNDQ0NCAxOSAxMSAxOVpNMTEgNUM3LjUzMzMzIDUgNSA3LjUzMzMzIDUgMTFDNSAxNC40NjY3IDcuNTMzMzMgMTcgMTEgMTdDMTQuNDY2NyAxNyAxNyAxNC40NjY3IDE3IDExQzE3IDcuNTMzMzMgMTQuNDY2NyA1IDExIDVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IChjaGFuZ2UpPVwic2VhcmNoRGF0YSgpXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hWYWx1ZVwiIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgcHMtMTQgbWUtMlwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAga2V5VHlwZSA9PT0gJ3JtJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8gJ1NlYXJjaCBieSBSTU5hbWUnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBrZXlUeXBlID09PSAnY2x1c3RlcidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdTZWFyY2ggYnkgQ2x1c3RlcidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdTZWFyY2gnXHJcbiAgICAgICAgICAgICAgICAgICAgICBcIiAvPlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiICpuZ0lmPVwidXNlcnM/LnJvbGUgPT09J3N1cGVyYWRtaW4nXCIgKGNsaWNrKT1cInNldHRpbmdzVmlldygpXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI0NVwiIGhlaWdodD1cIjQ2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgNDUgNDZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RfNzYwXzk5ODgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjIuNzE5NzNcIiB5PVwiMS45ODA0N1wiIHdpZHRoPVwiNDAuMDRcIiBoZWlnaHQ9XCI0MC4wNFwiIHJ4PVwiNy4yOFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjMuMTc0NzNcIiB5PVwiMi40MzU0N1wiIHdpZHRoPVwiMzkuMTNcIiBoZWlnaHQ9XCIzOS4xM1wiIHJ4PVwiNi44MjVcIiBzdHJva2U9XCIjRDBENUREXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMC45MVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF83NjBfOTk4OClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjIuNzM5NiAyNC4yNzQ5QzIzLjk5NjEgMjQuMjc0OSAyNS4wMTQ2IDIzLjI1NjMgMjUuMDE0NiAyMS45OTk5QzI1LjAxNDYgMjAuNzQzNCAyMy45OTYxIDE5LjcyNDkgMjIuNzM5NiAxOS43MjQ5QzIxLjQ4MzIgMTkuNzI0OSAyMC40NjQ2IDIwLjc0MzQgMjAuNDY0NiAyMS45OTk5QzIwLjQ2NDYgMjMuMjU2MyAyMS40ODMyIDI0LjI3NDkgMjIuNzM5NiAyNC4yNzQ5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS41MTk3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTI4LjM1MTMgMjQuMjc0OUMyOC4yNTAzIDI0LjUwMzYgMjguMjIwMiAyNC43NTczIDI4LjI2NDggMjUuMDAzM0MyOC4zMDk0IDI1LjI0OTMgMjguNDI2NyAyNS40NzYzIDI4LjYwMTUgMjUuNjU1TDI4LjY0NyAyNS43MDA1QzI4Ljc4OCAyNS44NDE0IDI4Ljg5OTkgMjYuMDA4NyAyOC45NzYyIDI2LjE5MjhDMjkuMDUyNiAyNi4zNzY5IDI5LjA5MTkgMjYuNTc0MyAyOS4wOTE5IDI2Ljc3MzZDMjkuMDkxOSAyNi45NzI5IDI5LjA1MjYgMjcuMTcwMyAyOC45NzYyIDI3LjM1NDRDMjguODk5OSAyNy41Mzg1IDI4Ljc4OCAyNy43MDU4IDI4LjY0NyAyNy44NDY2QzI4LjUwNjIgMjcuOTg3NiAyOC4zMzg5IDI4LjA5OTUgMjguMTU0OCAyOC4xNzU4QzI3Ljk3MDcgMjguMjUyMiAyNy43NzMzIDI4LjI5MTQgMjcuNTc0IDI4LjI5MTRDMjcuMzc0NyAyOC4yOTE0IDI3LjE3NzMgMjguMjUyMiAyNi45OTMyIDI4LjE3NThDMjYuODA5MSAyOC4wOTk1IDI2LjY0MTggMjcuOTg3NiAyNi41MDA5IDI3Ljg0NjZMMjYuNDU1NCAyNy44MDExQzI2LjI3NjcgMjcuNjI2MyAyNi4wNDk3IDI3LjUwOSAyNS44MDM3IDI3LjQ2NDRDMjUuNTU3NyAyNy40MTk4IDI1LjMwNCAyNy40NDk5IDI1LjA3NTMgMjcuNTUwOUMyNC44NTEgMjcuNjQ3IDI0LjY1OTcgMjcuODA2NiAyNC41MjUgMjguMDEwMUMyNC4zOTAyIDI4LjIxMzUgMjQuMzE3OSAyOC40NTE5IDI0LjMxNjkgMjguNjk2VjI4LjgyNDlDMjQuMzE2OSAyOS4yMjcxIDI0LjE1NzIgMjkuNjEyOSAyMy44NzI3IDI5Ljg5NzNDMjMuNTg4MyAzMC4xODE3IDIzLjIwMjUgMzAuMzQxNSAyMi44MDAzIDMwLjM0MTVDMjIuMzk4IDMwLjM0MTUgMjIuMDEyMyAzMC4xODE3IDIxLjcyNzggMjkuODk3M0MyMS40NDM0IDI5LjYxMjkgMjEuMjgzNiAyOS4yMjcxIDIxLjI4MzYgMjguODI0OVYyOC43NTY2QzIxLjI3NzcgMjguNTA1NiAyMS4xOTY1IDI4LjI2MjIgMjEuMDUwNCAyOC4wNThDMjAuOTA0NCAyNy44NTM4IDIwLjcwMDMgMjcuNjk4MiAyMC40NjQ2IDI3LjYxMTVDMjAuMjM1OSAyNy41MTA2IDE5Ljk4MjIgMjcuNDgwNSAxOS43MzYyIDI3LjUyNTFDMTkuNDkwMiAyNy41Njk3IDE5LjI2MzIgMjcuNjg3IDE5LjA4NDQgMjcuODYxOEwxOS4wMzg5IDI3LjkwNzNDMTguODk4MSAyOC4wNDgzIDE4LjczMDggMjguMTYwMiAxOC41NDY3IDI4LjIzNjVDMTguMzYyNiAyOC4zMTI4IDE4LjE2NTIgMjguMzUyMSAxNy45NjU5IDI4LjM1MjFDMTcuNzY2NiAyOC4zNTIxIDE3LjU2OTIgMjguMzEyOCAxNy4zODUxIDI4LjIzNjVDMTcuMjAxIDI4LjE2MDIgMTcuMDMzNyAyOC4wNDgzIDE2Ljg5MjkgMjcuOTA3M0MxNi43NTE5IDI3Ljc2NjQgMTYuNjQgMjcuNTk5MiAxNi41NjM3IDI3LjQxNUMxNi40ODczIDI3LjIzMDkgMTYuNDQ4IDI3LjAzMzYgMTYuNDQ4IDI2LjgzNDJDMTYuNDQ4IDI2LjYzNDkgMTYuNDg3MyAyNi40Mzc2IDE2LjU2MzcgMjYuMjUzNUMxNi42NCAyNi4wNjkzIDE2Ljc1MTkgMjUuOTAyMSAxNi44OTI5IDI1Ljc2MTJMMTYuOTM4NCAyNS43MTU3QzE3LjExMzIgMjUuNTM3IDE3LjIzMDUgMjUuMzEgMTcuMjc1MSAyNS4wNjRDMTcuMzE5NyAyNC44MTggMTcuMjg5NiAyNC41NjQzIDE3LjE4ODYgMjQuMzM1NUMxNy4wOTI1IDI0LjExMTIgMTYuOTMyOSAyMy45MiAxNi43Mjk0IDIzLjc4NTJDMTYuNTI2IDIzLjY1MDUgMTYuMjg3NiAyMy41NzgyIDE2LjA0MzUgMjMuNTc3MkgxNS45MTQ2QzE1LjUxMjQgMjMuNTc3MiAxNS4xMjY2IDIzLjQxNzQgMTQuODQyMiAyMy4xMzNDMTQuNTU3NyAyMi44NDg2IDE0LjM5NzkgMjIuNDYyOCAxNC4zOTc5IDIyLjA2MDVDMTQuMzk3OSAyMS42NTgzIDE0LjU1NzcgMjEuMjcyNSAxNC44NDIyIDIwLjk4ODFDMTUuMTI2NiAyMC43MDM3IDE1LjUxMjQgMjAuNTQzOSAxNS45MTQ2IDIwLjU0MzlIMTUuOTgyOUMxNi4yMzM5IDIwLjUzOCAxNi40NzczIDIwLjQ1NjggMTYuNjgxNSAyMC4zMTA3QzE2Ljg4NTcgMjAuMTY0NiAxNy4wNDEzIDE5Ljk2MDUgMTcuMTI3OSAxOS43MjQ5QzE3LjIyODkgMTkuNDk2MSAxNy4yNTkgMTkuMjQyNCAxNy4yMTQ0IDE4Ljk5NjRDMTcuMTY5OCAxOC43NTA0IDE3LjA1MjUgMTguNTIzNCAxNi44Nzc3IDE4LjM0NDdMMTYuODMyMiAxOC4yOTkyQzE2LjY5MTIgMTguMTU4MyAxNi41NzkzIDE3Ljk5MTEgMTYuNTAzIDE3LjgwN0MxNi40MjY3IDE3LjYyMjggMTYuMzg3NCAxNy40MjU1IDE2LjM4NzQgMTcuMjI2MkMxNi4zODc0IDE3LjAyNjggMTYuNDI2NyAxNi44Mjk1IDE2LjUwMyAxNi42NDU0QzE2LjU3OTMgMTYuNDYxMiAxNi42OTEyIDE2LjI5NCAxNi44MzIyIDE2LjE1MzFDMTYuOTczMSAxNi4wMTIxIDE3LjE0MDMgMTUuOTAwMiAxNy4zMjQ0IDE1LjgyMzlDMTcuNTA4NiAxNS43NDc2IDE3LjcwNTkgMTUuNzA4MyAxNy45MDUyIDE1LjcwODNDMTguMTA0NiAxNS43MDgzIDE4LjMwMTkgMTUuNzQ3NiAxOC40ODYgMTUuODIzOUMxOC42NzAyIDE1LjkwMDIgMTguODM3NCAxNi4wMTIxIDE4Ljk3ODMgMTYuMTUzMUwxOS4wMjM4IDE2LjE5ODZDMTkuMjAyNSAxNi4zNzM0IDE5LjQyOTUgMTYuNDkwNyAxOS42NzU1IDE2LjUzNTNDMTkuOTIxNSAxNi41Nzk5IDIwLjE3NTIgMTYuNTQ5OCAyMC40MDM5IDE2LjQ0ODlIMjAuNDY0NkMyMC42ODg5IDE2LjM1MjcgMjAuODgwMiAxNi4xOTMxIDIxLjAxNDkgMTUuOTg5N0MyMS4xNDk3IDE1Ljc4NjIgMjEuMjIyIDE1LjU0NzggMjEuMjIyOSAxNS4zMDM4VjE1LjE3NDlDMjEuMjIyOSAxNC43NzI2IDIxLjM4MjcgMTQuMzg2OSAyMS42NjcyIDE0LjEwMjRDMjEuOTUxNiAxMy44MTggMjIuMzM3NCAxMy42NTgyIDIyLjczOTYgMTMuNjU4MkMyMy4xNDE5IDEzLjY1ODIgMjMuNTI3NiAxMy44MTggMjMuODEyMSAxNC4xMDI0QzI0LjA5NjUgMTQuMzg2OSAyNC4yNTYzIDE0Ljc3MjYgMjQuMjU2MyAxNS4xNzQ5VjE1LjI0MzFDMjQuMjU3MyAxNS40ODcxIDI0LjMyOTYgMTUuNzI1NiAyNC40NjQzIDE1LjkyOUMyNC41OTkgMTYuMTMyNSAyNC43OTAzIDE2LjI5MjEgMjUuMDE0NiAxNi4zODgyQzI1LjI0MzMgMTYuNDg5MSAyNS40OTcxIDE2LjUxOTMgMjUuNzQzMSAxNi40NzQ3QzI1Ljk4OTEgMTYuNDMwMSAyNi4yMTYxIDE2LjMxMjggMjYuMzk0OCAxNi4xMzhMMjYuNDQwMyAxNi4wOTI1QzI2LjU4MTEgMTUuOTUxNCAyNi43NDg0IDE1LjgzOTYgMjYuOTMyNSAxNS43NjMyQzI3LjExNjcgMTUuNjg2OSAyNy4zMTQgMTUuNjQ3NiAyNy41MTMzIDE1LjY0NzZDMjcuNzEyNiAxNS42NDc2IDI3LjkxIDE1LjY4NjkgMjguMDk0MSAxNS43NjMyQzI4LjI3ODIgMTUuODM5NiAyOC40NDU1IDE1Ljk1MTQgMjguNTg2NCAxNi4wOTI1QzI4LjcyNzQgMTYuMjMzMyAyOC44MzkyIDE2LjQwMDYgMjguOTE1NiAxNi41ODQ3QzI4Ljk5MTkgMTYuNzY4OCAyOS4wMzEyIDE2Ljk2NjIgMjkuMDMxMiAxNy4xNjU1QzI5LjAzMTIgMTcuMzY0OCAyOC45OTE5IDE3LjU2MjIgMjguOTE1NiAxNy43NDYzQzI4LjgzOTIgMTcuOTMwNCAyOC43Mjc0IDE4LjA5NzcgMjguNTg2NCAxOC4yMzg1TDI4LjU0MDkgMTguMjg0QzI4LjM2NiAxOC40NjI4IDI4LjI0ODggMTguNjg5OCAyOC4yMDQyIDE4LjkzNThDMjguMTU5NiAxOS4xODE4IDI4LjE4OTcgMTkuNDM1NSAyOC4yOTA2IDE5LjY2NDJWMTkuNzI0OUMyOC4zODY3IDE5Ljk0OTIgMjguNTQ2NCAyMC4xNDA0IDI4Ljc0OTggMjAuMjc1MkMyOC45NTMzIDIwLjQwOTkgMjkuMTkxNyAyMC40ODIyIDI5LjQzNTcgMjAuNDgzMkgyOS41NjQ2QzI5Ljk2NjkgMjAuNDgzMiAzMC4zNTI2IDIwLjY0MyAzMC42MzcxIDIwLjkyNzRDMzAuOTIxNSAyMS4yMTE5IDMxLjA4MTMgMjEuNTk3NiAzMS4wODEzIDIxLjk5OTlDMzEuMDgxMyAyMi40MDIxIDMwLjkyMTUgMjIuNzg3OSAzMC42MzcxIDIzLjA3MjNDMzAuMzUyNiAyMy4zNTY3IDI5Ljk2NjkgMjMuNTE2NSAyOS41NjQ2IDIzLjUxNjVIMjkuNDk2NEMyOS4yNTIzIDIzLjUxNzUgMjkuMDEzOSAyMy41ODk4IDI4LjgxMDUgMjMuNzI0NkMyOC42MDcgMjMuODU5MyAyOC40NDc0IDI0LjA1MDYgMjguMzUxMyAyNC4yNzQ5WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS41MTk3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cImZpbHRlcjBfZF83NjBfOTk4OFwiIHg9XCIwLjcxOTcyN1wiIHk9XCIwLjk4MDQ2OVwiIHdpZHRoPVwiNDQuMDRcIiBoZWlnaHQ9XCI0NC4wNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIiByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wNSAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNzYwXzk5ODhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93Xzc2MF85OTg4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF83NjBfOTk4OFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE4LjJcIiBoZWlnaHQ9XCIxOC4yXCIgZmlsbD1cIndoaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMy42Mzk2IDEyLjkwMDQpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhbm9EYXRhICYmICFsb2FkaW5nXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJleHBvcnRYTFNYKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBteC0yIGJ0bi1vdXRsaW5lIGJ0bi1vdXRsaW5lLWRlZmF1bHQgcm91bmRlZC0zIHRleHQtbm93cmFwIGJvcmRlci12YWxcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE5XCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDE5IDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICA8cGF0aCBkPVwiTTcuNTMzNjkgMTIuODQ0MUgxNS4wMjQxTDEzLjU1NjggMTQuMzE3MkwxNC4zNTg3IDE1LjExOTFMMTcuMjAyNCAxMi4yNzU0TDE0LjM1ODcgOS40MzE2NEwxMy41NTY4IDEwLjIzMzZMMTUuMDI0MSAxMS43MDY2SDcuNTMzNjlWMTIuODQ0MVpcIiBmaWxsPVwiYmxhY2tcIi8+XHJcbiAgPHBhdGggZD1cIk0xMi42NTI2IDguODYzMVY2LjU4ODFDMTIuNjUzIDYuNTEzMjUgMTIuNjM4NyA2LjQzOTA0IDEyLjYxMDQgNi4zNjk3NUMxMi41ODIxIDYuMzAwNDUgMTIuNTQwNCA2LjIzNzQzIDEyLjQ4NzcgNi4xODQyOEw4LjUwNjQgMi4yMDMwM0M4LjQ1MzI2IDIuMTUwMzIgOC4zOTAyMyAyLjEwODYyIDguMzIwOTQgMi4wODAzMUM4LjI1MTY0IDIuMDUyMDEgOC4xNzc0NCAyLjAzNzY2IDguMTAyNTkgMi4wMzgxSDIuNDE1MDlDMi4xMTM0IDIuMDM4MSAxLjgyNDA4IDIuMTU3OTQgMS42MTA3NSAyLjM3MTI2QzEuMzk3NDMgMi41ODQ1OCAxLjI3NzU5IDIuODczOTEgMS4yNzc1OSAzLjE3NTZWMTYuODI1NkMxLjI3NzU5IDE3LjEyNzMgMS4zOTc0MyAxNy40MTY2IDEuNjEwNzUgMTcuNjI5OUMxLjgyNDA4IDE3Ljg0MzMgMi4xMTM0IDE3Ljk2MzEgMi40MTUwOSAxNy45NjMxSDExLjUxNTFDMTEuODE2OCAxNy45NjMxIDEyLjEwNjEgMTcuODQzMyAxMi4zMTk0IDE3LjYyOTlDMTIuNTMyNyAxNy40MTY2IDEyLjY1MjYgMTcuMTI3MyAxMi42NTI2IDE2LjgyNTZWMTUuNjg4MUgxMS41MTUxVjE2LjgyNTZIMi40MTUwOVYzLjE3NTZINi45NjUwOVY2LjU4ODFDNi45NjUwOSA2Ljg4OTc4IDcuMDg0OTMgNy4xNzkxMSA3LjI5ODI2IDcuMzkyNDNDNy41MTE1OCA3LjYwNTc1IDcuODAwOTEgNy43MjU2IDguMTAyNTkgNy43MjU2SDExLjUxNTFWOC44NjMxSDEyLjY1MjZaTTguMTAyNTkgNi41ODgxVjMuNDA4NzhMMTEuMjgxOSA2LjU4ODFIOC4xMDI1OVpcIiBmaWxsPVwiYmxhY2tcIi8+XHJcbjwvc3ZnPjxzcGFuIGNsYXNzPVwibXMtMlwiPkV4cG9ydDwvc3Bhbj4gPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPCEtLSDilIDilIAgVGFuZ28gQUkgU2VjdGlvbiAoQXVkaXQgU3VtbWFyeSArIFJNIFN1bW1hcnkgb25seSkg4pSA4pSAIC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cInB4LTYgcGItNFwiICpuZ0lmPVwiKHVzZXJzPy5yb2xlID09PSAnc3VwZXJhZG1pbicgJiYga2V5VHlwZSA9PT0gJ3JtJykgfHwga2V5VHlwZSA9PT0gJ2NsdXN0ZXInXCI+XHJcbiAgICAgIDwhLS0gSGVhZGVyIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbWItM1wiPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cImZ3LWJvbGQgbWItMVwiIHN0eWxlPVwiY29sb3I6ICMwNTkxRkY7XCI+XHJcbiAgICAgICAgICBUYW5nbyBBSVxyXG4gICAgICAgICAgPHN1cD5cclxuICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE0XCIgdmlld0JveD1cIjAgMCAyNiAyM1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgPHBhdGggZD1cIk01LjQwNjM0IDEuODgxODRMNS42MTE2OCAyLjc2NjQ4QzUuNzU4ODQgMy40MDE3MyA2LjA5MTgzIDMuOTkzMTUgNi41Nzg0MyA0LjQ4MzQ4QzcuMDY1MDMgNC45NzM4MiA3LjY4ODc2IDUuMzQ2NDYgOC4zODkyMyA1LjU2NTM0TDguNjQ4NjEgNS42NDYyOEw4LjM4OTIzIDUuNzI3MjFDNy42ODg3NiA1Ljk0NjA5IDcuMDY1MDMgNi4zMTg3NCA2LjU3ODQzIDYuODA5MDdDNi4wOTE4MyA3LjI5OTQgNS43NTg4NCA3Ljg5MDgyIDUuNjExNjggOC41MjYwN0w1LjQwNjM0IDkuNDEwNzJMNS4yMDA5OSA4LjUyNjA3QzUuMDUzODQgNy44OTA4MiA0LjcyMDg0IDcuMjk5NCA0LjIzNDI1IDYuODA5MDdDMy43NDc2NSA2LjMxODc0IDMuMTIzOTIgNS45NDYwOSAyLjQyMzQ0IDUuNzI3MjFMMi4xNjQwNiA1LjY0NjI4TDIuNDIzNDQgNS41NjUzNEMzLjEyMzkyIDUuMzQ2NDYgMy43NDc2NSA0Ljk3MzgyIDQuMjM0MjUgNC40ODM0OEM0LjcyMDg0IDMuOTkzMTUgNS4wNTM4NCAzLjQwMTczIDUuMjAwOTkgMi43NjY0OEw1LjQwNjM0IDEuODgxODRaTTE3LjI5NDcgMi44MjI5NUwxNy44OTU2IDUuMzIwNjVDMTguMjAxOCA2LjU5NDA1IDE4Ljg4MTggNy43NzY2MiAxOS44NjkyIDguNzUzMDRDMjAuODU2NiA5LjcyOTQ1IDIyLjExNzcgMTAuNDY2NCAyMy41Mjk2IDEwLjg5MkwyNC44NiAxMS4yOTI5TDIzLjUyOTYgMTEuNjkzOEMyMi4xMTc3IDEyLjExOTUgMjAuODU2NiAxMi44NTY0IDE5Ljg2OTIgMTMuODMyOEMxOC44ODE4IDE0LjgwOTMgMTguMjAxOCAxNS45OTE4IDE3Ljg5NTYgMTcuMjY1MkwxNy4yOTQ3IDE5Ljc2MjlMMTYuNjkzOCAxNy4yNjUyQzE2LjM4NzUgMTUuOTkxOCAxNS43MDc2IDE0LjgwOTMgMTQuNzIwMiAxMy44MzI4QzEzLjczMjggMTIuODU2NCAxMi40NzE3IDEyLjExOTUgMTEuMDU5OCAxMS42OTM4TDkuNzI5MzcgMTEuMjkyOUwxMS4wNTk4IDEwLjg5MkMxMi40NzE3IDEwLjQ2NjQgMTMuNzMyOCA5LjcyOTQ1IDE0LjcyMDIgOC43NTMwNEMxNS43MDc2IDcuNzc2NjIgMTYuMzg3NSA2LjU5NDA1IDE2LjY5MzggNS4zMjA2NUwxNy4yOTQ3IDIuODIyOTVaXCIgZmlsbD1cInVybCgjZXllVGVzdEFpR3JhZClcIi8+XHJcbiAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9XCJleWVUZXN0QWlHcmFkXCIgeDE9XCIxMy41MTJcIiB5MT1cIjE5Ljc2MjlcIiB4Mj1cIjEzLjUxMlwiIHkyPVwiMS44ODE4NFwiIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPVwid2hpdGVcIi8+XHJcbiAgICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiIzA1OTFGRlwiLz5cclxuICAgICAgICAgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+XHJcbiAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgIDwvc3VwPlxyXG4gICAgICAgIDwvaDM+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LWRhcmsgbWItMFwiIHN0eWxlPVwiZm9udC1zaXplOiAxM3B4O1wiPkFzayB0aGUgVGFuZ28gQUkgb24gd2hhdCB5b3Ugd2FudC4uPC9wPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS0gSW5wdXQgLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBtYi0zXCI+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOiA2MCU7IG1pbi13aWR0aDogMzAwcHg7XCI+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcblxyXG4gICAgICAgICAgPCEtLSBQbHVzIEJ1dHRvbiB3aXRoIE1vZGVsIFBvcHVwIChpbnNpZGUgaW5wdXQsIGxlZnQgc2lkZSkgLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGx1cy1tZW51LXdyYXAgcG9zaXRpb24tYWJzb2x1dGUgdG9wLTUwIHRyYW5zbGF0ZS1taWRkbGUteSBwcy0yXCIgc3R5bGU9XCJsZWZ0OiA0cHg7IHotaW5kZXg6IDEwO1wiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuLXBsdXNcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZVBsdXNNZW51KClcIiBbY2xhc3Mub3Blbl09XCJzaG93UGx1c01lbnVcIj4vPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbHVzLXBvcHVwXCIgKm5nSWY9XCJzaG93UGx1c01lbnVcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGx1cy1wb3B1cC1zZWN0aW9uLWxhYmVsXCI+TW9kZWw8L2Rpdj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicGx1cy1wb3B1cC1pdGVtXCIgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbSBvZiBtb2RlbE9wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlbGVjdGVkTW9kZWwgPT09IG0udmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdE1vZGVsKG0udmFsdWUpOyBjbG9zZVBsdXNNZW51KClcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibW9kZWwtaGludCBmdy1ib2xkIHRleHQtZGFya1wiPnt7IG0ubGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwidGV4dC1tdXRlZCBtcy0xXCIgc3R5bGU9XCJmb250LXNpemU6MTFweDtcIj57eyBtLnZhbHVlIH19PC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJzZWxlY3RlZE1vZGVsID09PSBtLnZhbHVlXCIgY2xhc3M9XCJjaGVjay1pY29uXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiMwMDlCRjNcIiBzdHJva2Utd2lkdGg9XCIyLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIj5cclxuICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz1cIjIwIDYgOSAxNyA0IDEyXCIvPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgcm91bmRlZC1waWxsXCIgcGxhY2Vob2xkZXI9XCJBc2sgYW55dGhpbmcuLi5cIlxyXG4gICAgICAgICAgICBzdHlsZT1cInBhZGRpbmctbGVmdDogNDZweDtcIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImV5ZVRlc3RDaGF0UXVlcnlcIiBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCJcclxuICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cIm9uRXllVGVzdEFpU2VhcmNoKClcIiAvPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIGVuZC0wIHRvcC01MCB0cmFuc2xhdGUtbWlkZGxlLXkgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiBwZS0zXCI+XHJcbiAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJtb2RlbC12ZXJzaW9uLXRhZyBtZS0xXCI+e3sgc2VsZWN0ZWRNb2RlbFZlcnNpb24gfX08L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHAtMFwiIHRpdGxlPVwiSGlzdG9yeVwiPlxyXG4gICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMlwiIHZpZXdCb3g9XCIwIDAgMjIgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk0zLjkzNzcyIDEwLjM1NTFMMy4zNTc2NyAxMC42NDg0TDIuNzc3NjMgMTAuOTQxN0wzLjMxODc0IDEyLjAxMTdMMy44OTg3OCAxMS43MTg0TDQuNDc4ODMgMTEuNDI1MUwzLjkzNzcyIDEwLjM1NTFaXCIgZmlsbD1cIiM2NjcwODVcIi8+XHJcbiAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1saW5rIHAtMFwiIHRpdGxlPVwiU2VuZFwiIChjbGljayk9XCJvbkV5ZVRlc3RBaVNlYXJjaCgpXCI+XHJcbiAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTQuMTY3OTcgMTAuMDAwM0gxNS44MzQ2TTE1LjgzNDYgMTAuMDAwM0wxMC4wMDEzIDQuMTY2OTlNMTUuODM0NiAxMC4wMDAzTDEwLjAwMTMgMTUuODMzN1wiXHJcbiAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+PCEtLSAvcG9zaXRpb24tcmVsYXRpdmUgLS0+XHJcbiAgICAgICAgPC9kaXY+PCEtLSAvd2lkdGggd3JhcHBlciAtLT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tIEFJIFJlc3BvbnNlIC0tPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwic2hvd0V5ZVRlc3RBaU1lc3NhZ2VcIiBjbGFzcz1cInJvdW5kZWQtMyBwLTQgbXgtYXV0b1wiIHN0eWxlPVwiYmFja2dyb3VuZDogI0VBRjhGRjtcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMiBtYi0yXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFpLWF2YXRhci1pY29uXCI+XHJcbiAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIyXCIgaGVpZ2h0PVwiMjJcIiB2aWV3Qm94PVwiMCAwIDIyIDIyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTEtaW5zaWRlLTFfMTg0OV8xMzEyMFwiIGZpbGw9XCJ3aGl0ZVwiPlxyXG4gICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICBkPVwiTTE5Ljk5NDggMTguMDc1MkwxOS4yNzc5IDE3LjM1ODNMMTEuNTUzMyA5LjYzMzY5TDEzLjg0NDggNy4zNDIxOUwxNC4zOTM4IDYuNzkyMDZDMTQuNDQ2MiA2LjczODkyIDE0LjQ3NTggNi42Njc0MiAxNC40NzYyIDYuNTkyOEMxNC40NzYgNi41NTU5MSAxNC40Njg1IDYuNTE5NDEgMTQuNDU0MiA2LjQ4NTRDMTQuNDM5OSA2LjQ1MTQgMTQuNDE5IDYuNDIwNTUgMTQuMzkyOCA2LjM5NDYyTDEzLjg0MjYgNS44NDQ0OUwxMS40MTI1IDMuNDEwMDRMMTAuODYyNCAyLjg1OTkxQzEwLjgzNjQgMi44MzM0NiAxMC44MDU0IDIuODEyNDQgMTAuNzcxMiAyLjc5ODFDMTAuNzM2OSAyLjc4Mzc1IDEwLjcwMDIgMi43NzYzNyAxMC42NjMxIDIuNzc2MzdDMTAuNjI2IDIuNzc2MzcgMTAuNTg5MyAyLjc4Mzc1IDEwLjU1NTEgMi43OTgxQzEwLjUyMDkgMi44MTI0NCAxMC40ODk5IDIuODMzNDYgMTAuNDYzOSAyLjg1OTkxTDkuOTEzNzQgMy40MTExM0w2LjkzNTY2IDYuMzg5MjFDNi45MDkyMyA2LjQxNTEyIDYuODg4MjQgNi40NDYwNCA2Ljg3MzkxIDYuNDgwMTZDNi44NTk1OCA2LjUxNDI4IDYuODUyMiA2LjU1MDkyIDYuODUyMiA2LjU4NzkzQzYuODUyMiA2LjYyNDkzIDYuODU5NTggNi42NjE1NyA2Ljg3MzkxIDYuNjk1NjlDNi44ODgyNCA2LjcyOTgxIDYuOTA5MjMgNi43NjA3MyA2LjkzNTY2IDYuNzg2NjRMOS43ODA1MyA5LjYzMjYxTDIuMDU0ODUgMTcuMzU4M0wxLjM0MTIgMTguMDc1MkMxLjI4ODI4IDE4LjEyNzYgMS4yNTgzIDE4LjE5ODkgMS4yNTc4MSAxOC4yNzM0QzEuMjU4MTIgMTguMzQ1NCAxLjI4NTU4IDE4LjQxNDYgMS4zMzQ3IDE4LjQ2NzJDMS4zNjA5MyAxOC40OTUyIDEuMzkyNjIgMTguNTE3NiAxLjQyNzgzIDE4LjUzMjhDMS40NjMwMyAxOC41NDgxIDEuNTAxIDE4LjU1NiAxLjUzOTM4IDE4LjU1Nkg4LjQ4ODU5QzguNTYzMTggMTguNTU1NyA4LjYzNDYzIDE4LjUyNiA4LjY4NzM3IDE4LjQ3MzJDOC43NDAxMSAxOC40MjA1IDguNzY5ODcgMTguMzQ5IDguNzcwMTUgMTguMjc0NVYxNy41ODM1QzguNzcwMTUgMTcuNTA4OCA4Ljc0MDUyIDE3LjQzNyA4LjY4Nzc1IDE3LjM4NDFDOC42MzQ5OCAxNy4zMzExIDguNTYzMzYgMTcuMzAxMiA4LjQ4ODU5IDE3LjMwMDlIMy44ODYxTDEwLjY2NjQgMTAuNTIwNkwxNy40NDY2IDE3LjMwMDlIMTIuODA0MUMxMi43MjkzIDE3LjMwMTIgMTIuNjU3NyAxNy4zMzExIDEyLjYwNDkgMTcuMzg0MUMxMi41NTIyIDE3LjQzNyAxMi41MjI1IDE3LjUwODggMTIuNTIyNSAxNy41ODM1VjE4LjI3NDVDMTIuNTIyNCAxOC4zMTE2IDEyLjUyOTcgMTguMzQ4MyAxMi41NDQgMTguMzgyNUMxMi41NTgzIDE4LjQxNjggMTIuNTc5NCAxOC40NDc4IDEyLjYwNTkgMTguNDczN0MxMi42NTg1IDE4LjUyNjIgMTIuNzI5OCAxOC41NTU4IDEyLjgwNDEgMTguNTU2SDE5Ljc5NTVDMTkuODM0MSAxOC41NTYyIDE5Ljg3MjMgMTguNTQ4MyAxOS45MDc3IDE4LjUzMzFDMTkuOTQzMSAxOC41MTc4IDE5Ljk3NSAxOC40OTU0IDIwLjAwMTMgMTguNDY3MkMyMC4wNTE5IDE4LjQxNDEgMjAuMDc5NiAxOC4zNDMyIDIwLjA3ODQgMTguMjY5OUMyMC4wNzcxIDE4LjE5NjUgMjAuMDQ3MSAxOC4xMjY2IDE5Ljk5NDggMTguMDc1MlpNMTAuNjYyIDQuNDM1NTlMMTIuODIwMyA2LjU5Mzg4TDEwLjY2NzUgOC43NDY3Nkw4LjUwOTE3IDYuNTg4NDdMMTAuNjYyIDQuNDM1NTlaXCIgLz5cclxuICAgICAgICAgICAgPC9tYXNrPlxyXG4gICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgIGQ9XCJNMTkuOTk0OCAxOC4wNzUyTC0xNy45NjkgNTYuMDM5TC0xNy44MDA0IDU2LjIwNzZMLTE3LjYzMDMgNTYuMzc0NkwxOS45OTQ4IDE4LjA3NTJaTTE5LjI3NzkgMTcuMzU4M0w1Ny4yNDE3IC0yMC42MDU1Vi0yMC42MDU1TDE5LjI3NzkgMTcuMzU4M1pNMTEuNTUzMyA5LjYzMzY5TC0yNi40MTA1IC0yOC4zMzAxTC02NC4zNzQzIDkuNjMzNjlMLTI2LjQxMDUgNDcuNTk3NUwxMS41NTMzIDkuNjMzNjlaTTEzLjg0NDggNy4zNDIxOUw1MS44MDg2IDQ1LjMwNkw1MS44MjczIDQ1LjI4NzNMNTEuODQ2IDQ1LjI2ODVMMTMuODQ0OCA3LjM0MjE5Wk0xNC4zOTM4IDYuNzkyMDZMNTIuMzk1MSA0NC43MTg0TDUyLjUxMSA0NC42MDIyTDUyLjYyNjIgNDQuNDg1NEwxNC4zOTM4IDYuNzkyMDZaTTE0LjQ3NjIgNi41OTI4TDY4LjE2NDQgNi44NjY2MUw2OC4xNjU3IDYuNTk3MzFMNjguMTY0NCA2LjMyODAxTDE0LjQ3NjIgNi41OTI4Wk0xNC4zOTI4IDYuMzk0NjJMLTIzLjU3MSA0NC4zNTg0TC0yMy40NTI4IDQ0LjQ3NjZMLTIzLjMzMzkgNDQuNTk0TDE0LjM5MjggNi4zOTQ2MlpNMTMuODQyNiA1Ljg0NDQ5TC0yNC4xNTQ5IDQzLjc3NDRMLTI0LjEzODEgNDMuNzkxNEwtMjQuMTIxMiA0My44MDgzTDEzLjg0MjYgNS44NDQ0OVpNMTEuNDEyNSAzLjQxMDA0TDQ5LjQxMDEgLTM0LjUxOTlMNDkuMzkzMiAtMzQuNTM2OEw0OS4zNzYzIC0zNC41NTM4TDExLjQxMjUgMy40MTAwNFpNMTAuODYyNCAyLjg1OTkxTC0yNy40Mjc0IDQwLjQ5NDlMLTI3LjI2NTEgNDAuNjZMLTI3LjEwMTQgNDAuODIzN0wxMC44NjI0IDIuODU5OTFaTTEwLjQ2MzkgMi44NTk5MUw0OC40NjQ5IDQwLjc4NjRMNDguNjA5OCA0MC42NDEyTDQ4Ljc1MzYgNDAuNDk0OUwxMC40NjM5IDIuODU5OTFaTTkuOTEzNzQgMy40MTExM0w0Ny44Nzc1IDQxLjM3NDlMNDcuODk2MiA0MS4zNTYzTDQ3LjkxNDggNDEuMzM3Nkw5LjkxMzc0IDMuNDExMTNaTTYuOTM1NjYgNi4zODkyMUw0NC41MjUzIDQ0LjcyMzVMNDQuNzEzMyA0NC41MzkyTDQ0Ljg5OTQgNDQuMzUzTDYuOTM1NjYgNi4zODkyMVpNNi44NTIyIDYuNTg3OTNINjAuNTQxMUg2Ljg1MjJaTTYuOTM1NjYgNi43ODY2NEw0NC45MDY3IC0zMS4xNjk5TDQ0LjcxNjkgLTMxLjM1OTdMNDQuNTI1MyAtMzEuNTQ3Nkw2LjkzNTY2IDYuNzg2NjRaTTkuNzgwNTMgOS42MzI2MUw0Ny43NDQzIDQ3LjU5NjRMODUuNzAwOSA5LjYzOTgzTDQ3Ljc1MTUgLTI4LjMyMzlMOS43ODA1MyA5LjYzMjYxWk0yLjA1NDg1IDE3LjM1ODNMLTM1LjkwODkgLTIwLjYwNTVMLTM1Ljk1MiAtMjAuNTYyNEwtMzUuOTk1IC0yMC41MTkyTDIuMDU0ODUgMTcuMzU4M1pNMS4zNDEyIDE4LjA3NTJMMzkuMTI4OCA1Ni4yMTQ0TDM5LjI2MDQgNTYuMDg0TDM5LjM5MTEgNTUuOTUyN0wxLjM0MTIgMTguMDc1MlpNMS4yNTc4MSAxOC4yNzM0TC01Mi40Mjk5IDE3LjkyMjlMLTUyLjQzMTggMTguMjEzNEwtNTIuNDMwNiAxOC41MDM4TDEuMjU3ODEgMTguMjczNFpNMS4zMzQ3IDE4LjQ2NzJMLTM3LjkxNDYgNTUuMTAwM0wtMzcuODg3NyA1NS4xMjkyTC0zNy44NjA3IDU1LjE1ODFMMS4zMzQ3IDE4LjQ2NzJaTTEuNTM5MzggMTguNTU2TDEuNTIyMzggNzIuMjQ0OUgxLjUzMDg4SDEuNTM5MzhWMTguNTU2Wk04LjQ4ODU5IDE4LjU1NlY3Mi4yNDQ5SDguNTkxMjVMOC42OTM5IDcyLjI0NDVMOC40ODg1OSAxOC41NTZaTTguNzcwMTUgMTguMjc0NUw2Mi40NTg3IDE4LjQ3OThMNjIuNDU5IDE4LjM3NzFWMTguMjc0NUg4Ljc3MDE1Wk04Ljc3MDE1IDE3LjU4MzVMLTQ0LjkxODcgMTcuNTgzMVYxNy41ODM1SDguNzcwMTVaTTguNDg4NTkgMTcuMzAwOUw4LjY5NDI5IC0zNi4zODc2TDguNTkxNDQgLTM2LjM4OEg4LjQ4ODU5VjE3LjMwMDlaTTMuODg2MSAxNy4zMDA5TC0zNC4wNzc3IC0yMC42NjI5TC0xMjUuNzMgNzAuOTg5OEgzLjg4NjFWMTcuMzAwOVpNMTAuNjY2NCAxMC41MjA2TDQ4LjYzMDIgLTI3LjQ0MzJMMTAuNjY2NCAtNjUuNDA3TC0yNy4yOTc0IC0yNy40NDMyTDEwLjY2NjQgMTAuNTIwNlpNMTcuNDQ2NiAxNy4zMDA5VjcwLjk4OThIMTQ3LjA2M0w1NS40MTA0IC0yMC42NjI5TDE3LjQ0NjYgMTcuMzAwOVpNMTIuODA0MSAxNy4zMDA5Vi0zNi4zODhIMTIuNzAxMkwxMi41OTg0IC0zNi4zODc2TDEyLjgwNDEgMTcuMzAwOVpNMTIuNTIyNSAxNy41ODM1SDY2LjIxMTRWMTcuNTgzMUwxMi41MjI1IDE3LjU4MzVaTTEyLjUyMjUgMTguMjc0NUw2Ni4yMTEgMTguNDgwM0w2Ni4yMTE0IDE4LjM3NzRWMTguMjc0NUgxMi41MjI1Wk0xMi42MDU5IDE4LjQ3MzdMNTAuNTM4NCAtMTkuNTIxM0w1MC4zNDMxIC0xOS43MTYzTDUwLjE0NTggLTE5LjkwOTNMMTIuNjA1OSAxOC40NzM3Wk0xMi44MDQxIDE4LjU1NkwxMi42NjAzIDcyLjI0NDdMMTIuNzMyMiA3Mi4yNDQ5SDEyLjgwNDFWMTguNTU2Wk0xOS43OTU1IDE4LjU1NkwxOS45ODU1IC0zNS4xMzI1TDE5Ljg5MDUgLTM1LjEzMjlIMTkuNzk1NVYxOC41NTZaTTIwLjAwMTMgMTguNDY3MkwtMTguODcyNCAtMTguNTY0M0wtMTkuMDM0MiAtMTguMzk0NUwtMTkuMTk0NCAtMTguMjIzM0wyMC4wMDEzIDE4LjQ2NzJaTTEwLjY2MiA0LjQzNTU5TDQ4LjYyNTggLTMzLjUyODJMMTAuNjYyIC03MS40OTJMLTI3LjMwMTcgLTMzLjUyODJMMTAuNjYyIDQuNDM1NTlaTTEyLjgyMDMgNi41OTM4OEw1MC43ODQxIDQ0LjU1NzdMODguNzQ3OSA2LjU5Mzg5TDUwLjc4NDEgLTMxLjM2OTlMMTIuODIwMyA2LjU5Mzg4Wk0xMC42Njc1IDguNzQ2NzZMLTI3LjI5NjMgNDYuNzEwNUwxMC42Njc0IDg0LjY3NDNMNDguNjMxMiA0Ni43MTA1TDEwLjY2NzUgOC43NDY3NlpNOC41MDkxNyA2LjU4ODQ3TC0yOS40NTQ2IC0zMS4zNzUzTC02Ny40MTg0IDYuNTg4NDdMLTI5LjQ1NDYgNDQuNTUyMkw4LjUwOTE3IDYuNTg4NDdaTTE5Ljk5NDggMTguMDc1Mkw1Ny45NTg2IC0xOS44ODg2TDU3LjI0MTcgLTIwLjYwNTVMMTkuMjc3OSAxNy4zNTgzTC0xOC42ODU5IDU1LjMyMjFMLTE3Ljk2OSA1Ni4wMzlMMTkuOTk0OCAxOC4wNzUyWk0xOS4yNzc5IDE3LjM1ODNMNTcuMjQxNyAtMjAuNjA1NUw0OS41MTcxIC0yOC4zMzAxTDExLjU1MzMgOS42MzM2OUwtMjYuNDEwNSA0Ny41OTc1TC0xOC42ODU5IDU1LjMyMjFMMTkuMjc3OSAxNy4zNTgzWk0xMS41NTMzIDkuNjMzNjlMNDkuNTE3MSA0Ny41OTc1TDUxLjgwODYgNDUuMzA2TDEzLjg0NDggNy4zNDIxOUwtMjQuMTE5IC0zMC42MjE2TC0yNi40MTA1IC0yOC4zMzAxTDExLjU1MzMgOS42MzM2OVpNMTMuODQ0OCA3LjM0MjE5TDUxLjg0NiA0NS4yNjg1TDUyLjM5NTEgNDQuNzE4NEwxNC4zOTM4IDYuNzkyMDZMLTIzLjYwNzQgLTMxLjEzNDNMLTI0LjE1NjQgLTMwLjU4NDFMMTMuODQ0OCA3LjM0MjE5Wk0xNC4zOTM4IDYuNzkyMDZMNTIuNjI2MiA0NC40ODU0QzYyLjUxNjQgMzQuNDUzOCA2OC4wOTI1IDIwLjk1MzIgNjguMTY0NCA2Ljg2NjYxTDE0LjQ3NjIgNi41OTI4TC0zOS4yMTIgNi4zMTg5OEMtMzkuMTQxIC03LjYxODM2IC0zMy42MjM5IC0yMC45NzU5IC0yMy44Mzg1IC0zMC45MDEzTDE0LjM5MzggNi43OTIwNlpNMTQuNDc2MiA2LjU5MjhMNjguMTY0NCA2LjMyODAxQzY4LjEyOTQgLTAuNzcwMTA3IDY2LjY5NDUgLTcuNzkyNTUgNjMuOTQwOSAtMTQuMzM2OUwxNC40NTQyIDYuNDg1NEwtMzUuMDMyNSAyNy4zMDc3Qy0zNy43NTc1IDIwLjgzMTQgLTM5LjE3NzQgMTMuODgxOSAtMzkuMjEyMSA2Ljg1NzU5TDE0LjQ3NjIgNi41OTI4Wk0xNC40NTQyIDYuNDg1NEw2My45NDA5IC0xNC4zMzY5QzYxLjE4NzcgLTIwLjg4MDIgNTcuMTcwNSAtMjYuODE2MiA1Mi4xMTk0IC0zMS44MDQ4TDE0LjM5MjggNi4zOTQ2MkwtMjMuMzMzOSA0NC41OTRDLTI4LjMzMjUgMzkuNjU3MyAtMzIuMzA3OSAzMy43ODMgLTM1LjAzMjUgMjcuMzA3N0wxNC40NTQyIDYuNDg1NFpNMTQuMzkyOCA2LjM5NDYyTDUyLjM1NjYgLTMxLjU2OTJMNTEuODA2NCAtMzIuMTE5M0wxMy44NDI2IDUuODQ0NDlMLTI0LjEyMTIgNDMuODA4M0wtMjMuNTcxIDQ0LjM1ODRMMTQuMzkyOCA2LjM5NDYyWk0xMy44NDI2IDUuODQ0NDlMNTEuODQwMiAtMzIuMDg1NUw0OS40MTAxIC0zNC41MTk5TDExLjQxMjUgMy40MTAwNEwtMjYuNTg1MSA0MS4zNEwtMjQuMTU0OSA0My43NzQ0TDEzLjg0MjYgNS44NDQ0OVpNMTEuNDEyNSAzLjQxMDA0TDQ5LjM3NjMgLTM0LjU1MzhMNDguODI2MSAtMzUuMTAzOUwxMC44NjI0IDIuODU5OTFMLTI3LjEwMTQgNDAuODIzN0wtMjYuNTUxMiA0MS4zNzM5TDExLjQxMjUgMy40MTAwNFpNMTAuODYyNCAyLjg1OTkxTDQ5LjE1MjEgLTM0Ljc3NTFDNDQuMTI5NyAtMzkuODg0OCAzOC4xMzk2IC00My45NDQgMzEuNTMwNyAtNDYuNzE0OUwxMC43NzEyIDIuNzk4MUwtOS45ODgzOCA1Mi4zMTExQy0xNi41Mjg5IDQ5LjU2ODkgLTIyLjQ1NyA0NS41NTE4IC0yNy40Mjc0IDQwLjQ5NDlMMTAuODYyNCAyLjg1OTkxWk0xMC43NzEyIDIuNzk4MUwzMS41MzA3IC00Ni43MTQ5QzI0LjkyMjMgLTQ5LjQ4NTcgMTcuODI4NSAtNTAuOTEyNSAxMC42NjMxIC01MC45MTI1VjIuNzc2MzdWNTYuNDY1M0MzLjU3MTk4IDU2LjQ2NTMgLTMuNDQ4MzkgNTUuMDUzMiAtOS45ODgzOCA1Mi4zMTExTDEwLjc3MTIgMi43OTgxWk0xMC42NjMxIDIuNzc2MzdWLTUwLjkxMjVDMy40OTc2MiAtNTAuOTEyNSAtMy41OTYxOSAtNDkuNDg1NiAtMTAuMjA0NCAtNDYuNzE0OUwxMC41NTUxIDIuNzk4MUwzMS4zMTQ2IDUyLjMxMTFDMjQuNzc0OCA1NS4wNTMxIDE3Ljc1NDQgNTYuNDY1MyAxMC42NjMxIDU2LjQ2NTNWMi43NzYzN1pNMTAuNTU1MSAyLjc5ODFMLTEwLjIwNDQgLTQ2LjcxNDlDLTE2LjgxMjkgLTQzLjk0NDIgLTIyLjgwMzIgLTM5Ljg4NTIgLTI3LjgyNTkgLTM0Ljc3NTFMMTAuNDYzOSAyLjg1OTkxTDQ4Ljc1MzYgNDAuNDk0OUM0My43ODI5IDQ1LjU1MjEgMzcuODU0NyA0OS41NjkgMzEuMzE0NiA1Mi4zMTExTDEwLjU1NTEgMi43OTgxWk0xMC40NjM5IDIuODU5OTFMLTI3LjUzNzIgLTM1LjA2NjVMLTI4LjA4NzMgLTM0LjUxNTNMOS45MTM3NCAzLjQxMTEzTDQ3LjkxNDggNDEuMzM3Nkw0OC40NjQ5IDQwLjc4NjRMMTAuNDYzOSAyLjg1OTkxWk05LjkxMzc0IDMuNDExMTNMLTI4LjA1IC0zNC41NTI3TC0zMS4wMjgxIC0zMS41NzQ2TDYuOTM1NjYgNi4zODkyMUw0NC44OTk0IDQ0LjM1M0w0Ny44Nzc1IDQxLjM3NDlMOS45MTM3NCAzLjQxMTEzWk02LjkzNTY2IDYuMzg5MjFMLTMwLjY1NCAtMzEuOTQ1MUMtMzUuNzc3NyAtMjYuOTIwOSAtMzkuODQ4MSAtMjAuOTI1MiAtNDIuNjI2OCAtMTQuMzA4N0w2Ljg3MzkxIDYuNDgwMTZMNTYuMzc0NiAyNy4yNjlDNTMuNjI0NiAzMy44MTcyIDQ5LjU5NjIgMzkuNzUxMSA0NC41MjUzIDQ0LjcyMzVMNi45MzU2NiA2LjM4OTIxWk02Ljg3MzkxIDYuNDgwMTZMLTQyLjYyNjggLTE0LjMwODdDLTQ1LjQwNTIgLTcuNjkyOTkgLTQ2LjgzNjcgLTAuNTg4OTQ3IC00Ni44MzY3IDYuNTg3OTNINi44NTIySDYwLjU0MTFDNjAuNTQxMSAxMy42OTA4IDU5LjEyNDQgMjAuNzIxNSA1Ni4zNzQ2IDI3LjI2OUw2Ljg3MzkxIDYuNDgwMTZaTTYuODUyMiA2LjU4NzkzSC00Ni44MzY3Qy00Ni44MzY3IDEzLjc2NDcgLTQ1LjQwNTIgMjAuODY4OCAtNDIuNjI2OCAyNy40ODQ1TDYuODczOTEgNi42OTU2OUw1Ni4zNzQ2IC0xNC4wOTMyQzU5LjEyNDQgLTcuNTQ1NjIgNjAuNTQxMSAtMC41MTQ4NDggNjAuNTQxMSA2LjU4NzkzSDYuODUyMlpNNi44NzM5MSA2LjY5NTY5TC00Mi42MjY4IDI3LjQ4NDVDLTM5Ljg0OCAzNC4xMDEyIC0zNS43Nzc1IDQwLjA5NjkgLTMwLjY1NCA0NS4xMjA5TDYuOTM1NjYgNi43ODY2NEw0NC41MjUzIC0zMS41NDc2QzQ5LjU5NiAtMjYuNTc1NCA1My42MjQ1IC0yMC42NDE2IDU2LjM3NDYgLTE0LjA5MzJMNi44NzM5MSA2LjY5NTY5Wk02LjkzNTY2IDYuNzg2NjRMLTMxLjAzNTQgNDQuNzQzMkwtMjguMTkwNSA0Ny41ODkyTDkuNzgwNTMgOS42MzI2MUw0Ny43NTE1IC0yOC4zMjM5TDQ0LjkwNjcgLTMxLjE2OTlMNi45MzU2NiA2Ljc4NjY0Wk05Ljc4MDUzIDkuNjMyNjFMLTI4LjE4MzMgLTI4LjMzMTJMLTM1LjkwODkgLTIwLjYwNTVMMi4wNTQ4NSAxNy4zNTgzTDQwLjAxODYgNTUuMzIyMUw0Ny43NDQzIDQ3LjU5NjRMOS43ODA1MyA5LjYzMjYxWk0yLjA1NDg1IDE3LjM1ODNMLTM1Ljk5NSAtMjAuNTE5MkwtMzYuNzA4NyAtMTkuODAyM0wxLjM0MTIgMTguMDc1MkwzOS4zOTExIDU1Ljk1MjdMNDAuMTA0NyA1NS4yMzU4TDIuMDU0ODUgMTcuMzU4M1pNMS4zNDEyIDE4LjA3NTJMLTM2LjQ0NjQgLTIwLjA2NEMtNDYuNTg5NCAtMTAuMDE0NSAtNTIuMzM2NyAzLjY0NDg1IC01Mi40Mjk5IDE3LjkyMjlMMS4yNTc4MSAxOC4yNzM0TDU0Ljk0NTYgMTguNjIzOEM1NC44NTMzIDMyLjc1MjkgNDkuMTY1OSA0Ni4yNjk3IDM5LjEyODggNTYuMjE0NEwxLjM0MTIgMTguMDc1MlpNMS4yNTc4MSAxOC4yNzM0TC01Mi40MzA2IDE4LjUwMzhDLTUyLjM3MjMgMzIuMDk1NSAtNDcuMTg4MyA0NS4xNjQ0IC0zNy45MTQ2IDU1LjEwMDNMMS4zMzQ3IDE4LjQ2NzJMNDAuNTg0IC0xOC4xNjU5QzQ5Ljc1OTQgLTguMzM1MjggNTQuODg4NSA0LjU5NTI2IDU0Ljk0NjIgMTguMDQyOUwxLjI1NzgxIDE4LjI3MzRaTTEuMzM0NyAxOC40NjcyTC0zNy44NjA3IDU1LjE1ODFDLTMyLjgxNDggNjAuNTQ4NCAtMjYuNzE2IDY0Ljg0NjUgLTE5Ljk0MTIgNjcuNzg1OUwxLjQyNzgzIDE4LjUzMjhMMjIuNzk2OSAtMzAuNzIwMkMyOS41MDEyIC0yNy44MTE0IDM1LjUzNjYgLTIzLjU1NzkgNDAuNTMwMSAtMTguMjIzNkwxLjMzNDcgMTguNDY3MlpNMS40Mjc4MyAxOC41MzI4TC0xOS45NDEyIDY3Ljc4NTlDLTEzLjE2NzggNzAuNzI0NiAtNS44NjI3IDcyLjI0MjYgMS41MjIzOCA3Mi4yNDQ5TDEuNTM5MzggMTguNTU2TDEuNTU2MzggLTM1LjEzMjlDOC44NjQ3IC0zNS4xMzA2IDE2LjA5MzkgLTMzLjYyODQgMjIuNzk2OSAtMzAuNzIwMkwxLjQyNzgzIDE4LjUzMjhaTTEuNTM5MzggMTguNTU2VjcyLjI0NDlIOC40ODg1OVYxOC41NTZWLTM1LjEzMjlIMS41MzkzOFYxOC41NTZaTTguNDg4NTkgMTguNTU2TDguNjkzOSA3Mi4yNDQ1QzIyLjkzNjcgNzIuMTkwMSAzNi41ODAyIDY2LjUwNzkgNDYuNjUxMiA1Ni40MzdMOC42ODczNyAxOC40NzMyTC0yOS4yNzY0IC0xOS40OTA1Qy0xOS4zMTEgLTI5LjQ1NiAtNS44MTAzIC0zNS4wNzg2IDguMjgzMjggLTM1LjEzMjVMOC40ODg1OSAxOC41NTZaTTguNjg3MzcgMTguNDczMkw0Ni42NTEyIDU2LjQzN0M1Ni43MjI5IDQ2LjM2NTIgNjIuNDA0MiAzMi43MjEzIDYyLjQ1ODcgMTguNDc5OEw4Ljc3MDE1IDE4LjI3NDVMLTQ0LjkxODQgMTguMDY5MUMtNDQuODY0NSAzLjk3NjgxIC0zOS4yNDI3IC05LjUyNDI0IC0yOS4yNzY0IC0xOS40OTA1TDguNjg3MzcgMTguNDczMlpNOC43NzAxNSAxOC4yNzQ1SDYyLjQ1OVYxNy41ODM1SDguNzcwMTVILTQ0LjkxODdWMTguMjc0NUg4Ljc3MDE1Wk04Ljc3MDE1IDE3LjU4MzVMNjIuNDU5IDE3LjU4MzlDNjIuNDU5MiAzLjMwNTQ1IDU2LjgwMTIgLTEwLjM5MTEgNDYuNzI0MyAtMjAuNTA2OEw4LjY4Nzc1IDE3LjM4NDFMLTI5LjM0ODggNTUuMjc0OUMtMzkuMzIwMiA0NS4yNjUyIC00NC45MTg4IDMxLjcxMjEgLTQ0LjkxODcgMTcuNTgzMUw4Ljc3MDE1IDE3LjU4MzVaTTguNjg3NzUgMTcuMzg0MUw0Ni43MjQzIC0yMC41MDY4QzM2LjY0OCAtMzAuNjIxOCAyMi45NzM1IC0zNi4zMzI5IDguNjk0MjkgLTM2LjM4NzZMOC40ODg1OSAxNy4zMDA5TDguMjgyODggNzAuOTg5NEMtNS44NDY3OSA3MC45MzUzIC0xOS4zNzgxIDY1LjI4NCAtMjkuMzQ4OCA1NS4yNzQ5TDguNjg3NzUgMTcuMzg0MVpNOC40ODg1OSAxNy4zMDA5Vi0zNi4zODhIMy44ODYxVjE3LjMwMDlWNzAuOTg5OEg4LjQ4ODU5VjE3LjMwMDlaTTMuODg2MSAxNy4zMDA5TDQxLjg0OTkgNTUuMjY0N0w0OC42MzAyIDQ4LjQ4NDRMMTAuNjY2NCAxMC41MjA2TC0yNy4yOTc0IC0yNy40NDMyTC0zNC4wNzc3IC0yMC42NjI5TDMuODg2MSAxNy4zMDA5Wk0xMC42NjY0IDEwLjUyMDZMLTI3LjI5NzQgNDguNDg0NEwtMjAuNTE3MSA1NS4yNjQ3TDE3LjQ0NjYgMTcuMzAwOUw1NS40MTA0IC0yMC42NjI5TDQ4LjYzMDIgLTI3LjQ0MzJMMTAuNjY2NCAxMC41MjA2Wk0xNy40NDY2IDE3LjMwMDlWLTM2LjM4OEgxMi44MDQxVjE3LjMwMDlWNzAuOTg5OEgxNy40NDY2VjE3LjMwMDlaTTEyLjgwNDEgMTcuMzAwOUwxMi41OTg0IC0zNi4zODc2Qy0xLjY4MDY2IC0zNi4zMzI5IC0xNS4zNTUyIC0zMC42MjE5IC0yNS40MzE2IC0yMC41MDY4TDEyLjYwNDkgMTcuMzg0MUw1MC42NDE1IDU1LjI3NDlDNDAuNjcwNyA2NS4yODQxIDI3LjEzOTMgNzAuOTM1MyAxMy4wMDk4IDcwLjk4OTRMMTIuODA0MSAxNy4zMDA5Wk0xMi42MDQ5IDE3LjM4NDFMLTI1LjQzMTYgLTIwLjUwNjhDLTM1LjUwODIgLTEwLjM5MTQgLTQxLjE2NjUgMy4zMDUwNCAtNDEuMTY2NCAxNy41ODM5TDEyLjUyMjUgMTcuNTgzNUw2Ni4yMTE0IDE3LjU4MzFDNjYuMjExNSAzMS43MTI1IDYwLjYxMjYgNDUuMjY1NSA1MC42NDE1IDU1LjI3NDlMMTIuNjA0OSAxNy4zODQxWk0xMi41MjI1IDE3LjU4MzVILTQxLjE2NjRWMTguMjc0NUgxMi41MjI1SDY2LjIxMTRWMTcuNTgzNUgxMi41MjI1Wk0xMi41MjI1IDE4LjI3NDVMLTQxLjE2NiAxOC4wNjg2Qy00MS4xOTM3IDI1LjI5MTMgLTM5Ljc3MTIgMzIuNDQ1OSAtMzYuOTgzIDM5LjEwODVMMTIuNTQ0IDE4LjM4MjVMNjIuMDcxMSAtMi4zNDM0NkM2NC44MzA2IDQuMjUwNzEgNjYuMjM4NCAxMS4zMzE4IDY2LjIxMSAxOC40ODAzTDEyLjUyMjUgMTguMjc0NVpNMTIuNTQ0IDE4LjM4MjVMLTM2Ljk4MyAzOS4xMDg1Qy0zNC4xOTQ3IDQ1Ljc3MTYgLTMwLjA5NzMgNTEuODA2OCAtMjQuOTM0IDU2Ljg1NjdMMTIuNjA1OSAxOC40NzM3TDUwLjE0NTggLTE5LjkwOTNDNTUuMjU2MSAtMTQuOTExMyA1OS4zMTE0IC04LjkzODA5IDYyLjA3MTEgLTIuMzQzNDZMMTIuNTQ0IDE4LjM4MjVaTTEyLjYwNTkgMTguNDczN0wtMjUuMzI2NiA1Ni40Njg3Qy0xNS4yNDM1IDY2LjUzNTMgLTEuNTg4NDYgNzIuMjA2NiAxMi42NjAzIDcyLjI0NDdMMTIuODA0MSAxOC41NTZMMTIuOTQ3OSAtMzUuMTMyN0MyNy4wNDggLTM1LjA5NDkgNDAuNTYwNSAtMjkuNDgyOCA1MC41Mzg0IC0xOS41MjEzTDEyLjYwNTkgMTguNDczN1pNMTIuODA0MSAxOC41NTZWNzIuMjQ0OUgxOS43OTU1VjE4LjU1NlYtMzUuMTMyOUgxMi44MDQxVjE4LjU1NlpNMTkuNzk1NSAxOC41NTZMMTkuNjA1NiA3Mi4yNDQ2QzI3LjAyNjcgNzIuMjcwOCAzNC4zNzE2IDcwLjc2NjMgNDEuMTgxOSA2Ny44MjcxTDE5LjkwNzcgMTguNTMzMUwtMS4zNjY2IC0zMC43NjFDNS4zNzI5NyAtMzMuNjY5NiAxMi42NDE1IC0zNS4xNTg1IDE5Ljk4NTUgLTM1LjEzMjVMMTkuNzk1NSAxOC41NTZaTTE5LjkwNzcgMTguNTMzMUw0MS4xODE5IDY3LjgyNzFDNDcuOTk0MyA2NC44ODcgNTQuMTI2OSA2MC41NzQgNTkuMTk3IDU1LjE1NzdMMjAuMDAxMyAxOC40NjcyTC0xOS4xOTQ0IC0xOC4yMjMzQy0xNC4xNzcgLTIzLjU4MzMgLTguMTA4MTcgLTI3Ljg1MTUgLTEuMzY2NiAtMzAuNzYxTDE5LjkwNzcgMTguNTMzMVpNMjAuMDAxMyAxOC40NjcyTDU4Ljg3NSA1NS40OTg3QzY4LjY0NzUgNDUuMjQgNzMuOTk0NyAzMS41NDg4IDczLjc1OTkgMTcuMzgwMUwyMC4wNzg0IDE4LjI2OTlMLTMzLjYwMzIgMTkuMTU5NkMtMzMuODM1NiA1LjEzNzY2IC0yOC41NDM3IC04LjQxMTgzIC0xOC44NzI0IC0xOC41NjQzTDIwLjAwMTMgMTguNDY3MlpNMjAuMDc4NCAxOC4yNjk5TDczLjc1OTkgMTcuMzgwMUM3My41MjUxIDMuMjExOTIgNjcuNzI3NCAtMTAuMjk0NyA1Ny42MTk5IC0yMC4yMjQyTDE5Ljk5NDggMTguMDc1MkwtMTcuNjMwMyA1Ni4zNzQ2Qy0yNy42MzMxIDQ2LjU0NzkgLTMzLjM3MDggMzMuMTgxMSAtMzMuNjAzMiAxOS4xNTk2TDIwLjA3ODQgMTguMjY5OVpNMTAuNjYyIDQuNDM1NTlMLTI3LjMwMTcgNDIuMzk5NEwtMjUuMTQzNCA0NC41NTc3TDEyLjgyMDMgNi41OTM4OEw1MC43ODQxIC0zMS4zNjk5TDQ4LjYyNTggLTMzLjUyODJMMTAuNjYyIDQuNDM1NTlaTTEyLjgyMDMgNi41OTM4OEwtMjUuMTQzNCAtMzEuMzY5OUwtMjcuMjk2MyAtMjkuMjE3TDEwLjY2NzUgOC43NDY3Nkw0OC42MzEyIDQ2LjcxMDVMNTAuNzg0MSA0NC41NTc3TDEyLjgyMDMgNi41OTM4OFpNMTAuNjY3NSA4Ljc0Njc2TDQ4LjYzMTMgLTI5LjIxN0w0Ni40NzMgLTMxLjM3NTNMOC41MDkxNyA2LjU4ODQ3TC0yOS40NTQ2IDQ0LjU1MjJMLTI3LjI5NjMgNDYuNzEwNUwxMC42Njc1IDguNzQ2NzZaTTguNTA5MTcgNi41ODg0N0w0Ni40NzMgNDQuNTUyMkw0OC42MjU4IDQyLjM5OTRMMTAuNjYyIDQuNDM1NTlMLTI3LjMwMTcgLTMzLjUyODJMLTI5LjQ1NDYgLTMxLjM3NTNMOC41MDkxNyA2LjU4ODQ3WlwiXHJcbiAgICAgICAgICAgICAgZmlsbD1cIiMwMEEzRkZcIiBtYXNrPVwidXJsKCNwYXRoLTEtaW5zaWRlLTFfMTg0OV8xMzEyMClcIiAvPlxyXG4gICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHN0cm9uZz5BSSBBc3Npc3RhbnQ8L3N0cm9uZz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiZXllVGVzdEFpTWVzc2FnZTsgZWxzZSBhaUxvYWRpbmdcIiBbaW5uZXJIVE1MXT1cInBhcnNlQWlNYXJrZG93bihleWVUZXN0QWlNZXNzYWdlKVwiPjwvZGl2PlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjYWlMb2FkaW5nPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNwaW5uZXItYm9yZGVyIHNwaW5uZXItYm9yZGVyLXNtIHRleHQtcHJpbWFyeVwiIHJvbGU9XCJzdGF0dXNcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPkxvYWRpbmcuLi48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtbXV0ZWRcIiBzdHlsZT1cImZvbnQtc2l6ZTogMTNweDtcIj5BSSBpcyB0aGlua2luZy4uLjwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cImxvYWRpbmdcIiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cIm5vRGF0YVwiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLW5vZGF0YS10YWJsZVwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoaXMgZXllIHRlc3QgdGFibGU8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCIhbm9EYXRhICYmICFsb2FkaW5nXCIgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZVwiPlxyXG4gICAgICAgICAgICA8dGFibGUgKm5nSWY9XCJrZXlUeXBlID09PSdzdG9yZSdcIiBjbGFzcz1cInctMTAwIHRhYmxlIGJvdHRvbS1ib3JkZXIgdGV4dC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdkYXRlJylcIj4gRGF0ZSA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2RhdGUnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2RhdGUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdhdWRpdGVkRGF0ZScpXCI+QXVkaXRlZCBEYXRlIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnYXVkaXRlZERhdGUnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2F1ZGl0ZWREYXRlJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJ1c2Vycz8ucm9sZSA9PT0nc3VwZXJhZG1pbidcIiBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJNIE5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cInVzZXJzPy5yb2xlID09PSdzdXBlcmFkbWluJyB8fCB1c2Vycz8ucm9sZSA9PT0nYWRtaW4nXCIgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2x1c3RlciBOYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD48c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnc3RvcmVOYW1lJylcIj5TdG9yZSBOYW1lIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnc3RvcmVOYW1lJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdzdG9yZU5hbWUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+PHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ3N0b3JlSWQnKVwiPlN0b3JlIElEIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnc3RvcmVJZCcgJiYgc29ydE9yZGVyID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiIHdpZHRoPVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnc3RvcmVJZCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cInRoaXMudHlwZVZhbHVlID09PSdyZW1vdGUnXCIgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+RW5nYWdlbWVudCBJRDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+T3B0b20gSUQ8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggIGNsYXNzPVwidGV4dC1zdGFydFwiPk9wdG9tIEVtYWlsIElEPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggICpuZ0lmPVwidGhpcy50eXBlVmFsdWUgPT09J3JlbW90ZSdcIiBjbGFzcz1cInRleHQtc3RhcnRcIj5PcHRvbSBOYW1lPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwidGhpcy50eXBlVmFsdWUgIT09J3JlbW90ZSdcIiBjbGFzcz1cInRleHQtc3RhcnRcIj5RdWV1ZSBJRDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJ0aGlzLnR5cGVWYWx1ZSAhPT0ncmVtb3RlJ1wiIGNsYXNzPVwidGV4dC1zdGFydFwiPlBvd2VyIFR5cGVzPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ0NvbXBsaWFuY2VTY29yZScpXCI+VGFuZ28gU2NvcmUgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdDb21wbGlhbmNlU2NvcmUnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ0NvbXBsaWFuY2VTY29yZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+PHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ2NvdmVyZWRTdGVwc0FJJylcIj5TdGVwcyBDb3ZlcmVkIEJ5IEFJIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnY292ZXJlZFN0ZXBzQUknICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2NvdmVyZWRTdGVwc0FJJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+IDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD48c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgndHJ1c3RTY29yZScpXCI+VHJ1c3QgU2NvcmUgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICd0cnVzdFNjb3JlJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICd0cnVzdFNjb3JlJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+IDwvdGg+XHJcblxyXG48dGg+PHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ2F1ZGl0ZWRTdGVwcycpXCI+U3RlcHMgQ292ZXJlZCBCeSBIdW1hbiA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2F1ZGl0ZWRTdGVwcycgJiYgc29ydE9yZGVyID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnYXVkaXRlZFN0ZXBzJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+IDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkh1bWFuIEF1ZGl0ZWQgU2NvcmU8L3RoPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cInRoaXMudHlwZVZhbHVlICE9PSdyZW1vdGUnXCI+PHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU29ydCgndmlzaXRvcnNUeXBlJylcIj5WaXNpdG9yIFR5cGUgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICd2aXNpdG9yc1R5cGUnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ3Zpc2l0b3JzVHlwZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPiA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+VGVzdCBEdXJhdGlvbjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIiAqbmdJZj1cInRoaXMudHlwZVZhbHVlICE9PSdyZW1vdGUnXCI+PHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU29ydCgnY29tbWVudCcpXCI+RXllIFRlc3QgU3RhdHVzIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnY29tbWVudCcgJiYgc29ydE9yZGVyID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnY29tbWVudCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj48c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Tb3J0KCdzdWJDb21tZW50JylcIj5Db21tZW50cyA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ3N1YkNvbW1lbnQnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ3N1YkNvbW1lbnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+PHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ2F1ZGl0U3RhdHVzJylcIj5BdWRpdCBTdGF0dXMgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdhdWRpdFN0YXR1cycgJiYgc29ydE9yZGVyID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnYXVkaXRTdGF0dXMnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+QXVkaXRlZCBCeTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5BY3Rpb248L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgb2JqIG9mIGV5ZVRlc3REYXRhOyBsZXQgaT1pbmRleDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5kYXRlIHwgZGF0ZTonZGQgTU1NLCB5eXl5J319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5hdWRpdGVkRGF0ZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ1c2Vycz8ucm9sZSA9PT0gJ3N1cGVyYWRtaW4nXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9iaj8uUk1OYW1lXCI+XHJcbiAgICA8IS0tIFNwbGl0IGFuZCBzaG93IHRoZSBmaXJzdCB2YWx1ZSAtLT5cclxuICAgIHt7IG9iai5STU5hbWUuc3BsaXQoJywnKVswXSB9fVxyXG5cclxuICAgIDwhLS0gU2hvdyArTiBiYWRnZSBpZiBtb3JlIHZhbHVlcyBleGlzdCAtLT5cclxuICAgIDxzcGFuICpuZ0lmPVwib2JqLlJNTmFtZS5zcGxpdCgnLCcpLmxlbmd0aCA+IDFcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWRlZmF1bHQgbXMtMlwiPlxyXG4gICAgICAre3sgb2JqLlJNTmFtZS5zcGxpdCgnLCcpLmxlbmd0aCAtIDEgfX1cclxuICAgIDwvc3Bhbj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC90ZD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ1c2Vycz8ucm9sZSA9PT0nc3VwZXJhZG1pbicgfHwgdXNlcnM/LnJvbGUgPT09J2FkbWluJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9iaj8uY2x1c3Rlck5hbWVcIj5cclxuIHt7IG9iai5jbHVzdGVyTmFtZS5zcGxpdCgnLCcpWzBdIH19XHJcbiA8c3BhbiAqbmdJZj1cIm9iai5jbHVzdGVyTmFtZS5zcGxpdCgnLCcpLmxlbmd0aCA+IDFcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWRlZmF1bHQgbXMtMlwiPlxyXG4gICAgICAre3sgb2JqLmNsdXN0ZXJOYW1lLnNwbGl0KCcsJykubGVuZ3RoIC0gMSB9fVxyXG4gICAgPC9zcGFuPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LnN0b3JlTmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5zdG9yZUlkfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ0aGlzLnR5cGVWYWx1ZSA9PT0ncmVtb3RlJ1wiIGNsYXNzPVwiZW5nYWdlLXRleHRcIj57e29iaj8uZW5nYWdlbWVudElkfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ0aGlzLnR5cGVWYWx1ZSAhPT0ncmVtb3RlJ1wiPjxzcGFuICpuZ0lmPVwib2JqPy5vcHR1bUlkXCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciB0ZXh0LXByaW1hcnkgdW5kZXJsaW5lXCIgW25nQ2xhc3NdPVwiZmlsdGVyQnlPcHRvbSA9PT0gZ2V0Um93T3B0b21JZChvYmopID8gJ2Z3LWJvbGQnIDogJydcIiAoY2xpY2spPVwiZmlsdGVyT3B0b20ob2JqKVwiPnt7b2JqPy5vcHR1bUlkfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ0aGlzLnR5cGVWYWx1ZSA9PT0ncmVtb3RlJ1wiPjxzcGFuICpuZ0lmPVwib2JqPy5vcHRtX3VzZXJJZFwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgdGV4dC1wcmltYXJ5IHVuZGVybGluZVwiIFtuZ0NsYXNzXT1cImZpbHRlckJ5T3B0b20gPT09IGdldFJvd09wdG9tSWQob2JqKSA/ICdmdy1ib2xkJyA6ICcnXCIgKGNsaWNrKT1cImZpbHRlck9wdG9tKG9iailcIj57e29iaj8ub3B0bV91c2VySWR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidGhpcy50eXBlVmFsdWUgIT09J3JlbW90ZSdcIj57e29iaj8uc2FsZXNtYW5FbWFpbElkID8gb2JqPy5zYWxlc21hbkVtYWlsSWQgOicnfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInRoaXMudHlwZVZhbHVlID09PSdyZW1vdGUnXCI+e3tvYmo/LnVzZXJFbWFpbCA/IG9iaj8udXNlckVtYWlsIDonJ319XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ0aGlzLnR5cGVWYWx1ZSA9PT0ncmVtb3RlJ1wiPnt7b2JqPy5kaXNwbGF5TmFtZSA/IG9iaj8uZGlzcGxheU5hbWUgOicnfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidGhpcy50eXBlVmFsdWUgIT09J3JlbW90ZSdcIiBjbGFzcz1cImVuZ2FnZS10ZXh0XCI+e3tvYmo/LnF1ZXVlSWQgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqPy5xdWV1ZUlkOicnfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidGhpcy50eXBlVmFsdWUgIT09J3JlbW90ZSdcIiA+e3tvYmo/Lm5lYXJBZGRpdGlvbiA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmo/Lm5lYXJBZGRpdGlvbiA9PT0gXCJ0cnVlXCI/IFwiV2l0aCBOZWFyIEFkZGl0aW9uXCIgOlwiV2l0aG91dCBOZWFyIEFkZGl0aW9uXCI6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAge3sgb2JqPy5jb21wbGlhbmNlU2NvcmUgPz8gJy0tJyB9fVxyXG48L3RkPlxyXG48dGQ+e3tvYmo/LmNvdmVyZWRTdGVwc0FJID8gb2JqPy5jb3ZlcmVkU3RlcHNBSTonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8udHJ1c3RTY29yZSA/PyAnLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8uYXVkaXRlZFN0ZXBzID8gb2JqPy5hdWRpdGVkU3RlcHM6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/Lmh1bWFuQ29tcGxpYW5jZVNjb3JlID8gb2JqPy5odW1hbkNvbXBsaWFuY2VTY29yZSA6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1jYXBpdGFsaXplXCIgKm5nSWY9XCJ0aGlzLnR5cGVWYWx1ZSAhPT0ncmVtb3RlJ1wiPnt7b2JqPy52aXNpdG9yc1R5cGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqPy52aXNpdG9yc1R5cGU6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5taW4gPyBvYmo/Lm1pbiA6JzAnfX0gbWlucyB7e29iaj8uc2VjID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iaj8uc2VjOicwJ319IHNlY3M8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ0aGlzLnR5cGVWYWx1ZSAhPT0ncmVtb3RlJ1wiPlxyXG4gIDxzcGFuIFxyXG4gICAgY2xhc3M9XCJiYWRnZVwiIFxyXG4gICAgW25nQ2xhc3NdPVwib2JqPy5jb21tZW50ID8gJ2JhZGdlLWxpZ2h0LWRhbmdlcicgOiAnYmFkZ2UtbGlnaHQtc3VjY2VzcydcIj5cclxuICAgIHt7IG9iaj8uY29tbWVudCA/ICdGYWtlJyA6ICdHZW51aW5lJyB9fVxyXG4gIDwvc3Bhbj5cclxuPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8uc3ViQ29tbWVudCA/IG9iaj8uc3ViQ29tbWVudDonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm9iaj8uYXVkaXRTdGF0dXMgPT09J1lldC10by1BdWRpdCdcIj57e29iaj8uYXVkaXRTdGF0dXN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtd2FybmluZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJvYmo/LmF1ZGl0U3RhdHVzID09PSdSZS1BdWRpdGVkJ1wiPnt7b2JqPy5hdWRpdFN0YXR1c319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm9iaj8uYXVkaXRTdGF0dXMgPT09J0F1ZGl0ZWQnXCI+e3tvYmo/LmF1ZGl0U3RhdHVzfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWluZm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwib2JqPy5hdWRpdFN0YXR1cyA9PT0nSW4tUHJvZ3Jlc3MnXCI+e3tvYmo/LmF1ZGl0U3RhdHVzfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8uYXVkaXRlZEJ5P29iaj8uYXVkaXRlZEJ5OlwiLVwifX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJleWVUZXN0VmlldyhvYmopXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDIwIDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTAuODMzNDk2IDguMDAwMTZDMC44MzM0OTYgOC4wMDAxNiA0LjE2NjgzIDEuMzMzNSAxMC4wMDAyIDEuMzMzNUMxNS44MzM1IDEuMzMzNSAxOS4xNjY4IDguMDAwMTYgMTkuMTY2OCA4LjAwMDE2QzE5LjE2NjggOC4wMDAxNiAxNS44MzM1IDE0LjY2NjggMTAuMDAwMiAxNC42NjY4QzQuMTY2ODMgMTQuNjY2OCAwLjgzMzQ5NiA4LjAwMDE2IDAuODMzNDk2IDguMDAwMTZaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTAuMDAwMiAxMC41MDAyQzExLjM4MDkgMTAuNTAwMiAxMi41MDAyIDkuMzgwODcgMTIuNTAwMiA4LjAwMDE2QzEyLjUwMDIgNi42MTk0NSAxMS4zODA5IDUuNTAwMTYgMTAuMDAwMiA1LjUwMDE2QzguNjE5NDUgNS41MDAxNiA3LjUwMDE2IDYuNjE5NDUgNy41MDAxNiA4LjAwMDE2QzcuNTAwMTYgOS4zODA4NyA4LjYxOTQ1IDEwLjUwMDIgMTAuMDAwMiAxMC41MDAyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICAgIDx0YWJsZSAqbmdJZj1cImtleVR5cGUgPT09J3JtJ1wiIGNsYXNzPVwidy0xMDAgdGFibGUgYm90dG9tLWJvcmRlciB0ZXh0LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ1JNTmFtZScpXCI+IFJNIE5hbWUgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdSTU5hbWUnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ1JNTmFtZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ2NsdXN0ZXJDb3VudCcpXCI+IENsdXN0ZXJzIENvdW50IDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnY2x1c3RlckNvdW50JyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdjbHVzdGVyQ291bnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdzdG9yZXNDb3VudCcpXCI+U3RvcmVzIENvdW50IDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnc3RvcmVzQ291bnQnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ3N0b3Jlc0NvdW50JyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVG90YWwgVGFuZ28gQUkgRmlsZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgVHJ1c3QgQXVkaXQgQ29tcGxldGVkIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYW5nbyBTY29yZSBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJ1c3QgU2NvcmUgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5BY3Rpb248L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgb2JqIG9mIGV5ZVRlc3REYXRhOyBsZXQgaT1pbmRleDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5STU5hbWUgPyBvYmo/LlJNTmFtZTonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LmNsdXN0ZXJDb3VudCA/IG9iaj8uY2x1c3RlckNvdW50OictLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8uc3RvcmVzQ291bnQgPyBvYmo/LnN0b3Jlc0NvdW50OictLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8udG90YWxGaWxlcyA/PyAnLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LmNvbXBsZXRlZEZpbGVzID8/ICctLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqLmNvbXBsaWFuY2VTY29yZSA/PyAnLS0nfX1cclxuIFxyXG48L3RkPlxyXG48dGQ+XHJcbiAge3sgb2JqPy50cnVzdFNjb3JlID8/ICctLScgfX1cclxuPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwidHlwZVZhbCgnY2x1c3Rlcicsb2JqKVwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAyMCAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0wLjgzMzQ5NiA4LjAwMDE2QzAuODMzNDk2IDguMDAwMTYgNC4xNjY4MyAxLjMzMzUgMTAuMDAwMiAxLjMzMzVDMTUuODMzNSAxLjMzMzUgMTkuMTY2OCA4LjAwMDE2IDE5LjE2NjggOC4wMDAxNkMxOS4xNjY4IDguMDAwMTYgMTUuODMzNSAxNC42NjY4IDEwLjAwMDIgMTQuNjY2OEM0LjE2NjgzIDE0LjY2NjggMC44MzM0OTYgOC4wMDAxNiAwLjgzMzQ5NiA4LjAwMDE2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEwLjAwMDIgMTAuNTAwMkMxMS4zODA5IDEwLjUwMDIgMTIuNTAwMiA5LjM4MDg3IDEyLjUwMDIgOC4wMDAxNkMxMi41MDAyIDYuNjE5NDUgMTEuMzgwOSA1LjUwMDE2IDEwLjAwMDIgNS41MDAxNkM4LjYxOTQ1IDUuNTAwMTYgNy41MDAxNiA2LjYxOTQ1IDcuNTAwMTYgOC4wMDAxNkM3LjUwMDE2IDkuMzgwODcgOC42MTk0NSAxMC41MDAyIDEwLjAwMDIgMTAuNTAwMlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICA8dGFibGUgKm5nSWY9XCJrZXlUeXBlID09PSdjbHVzdGVyJ1wiIGNsYXNzPVwidy0xMDAgdGFibGUgYm90dG9tLWJvcmRlciB0ZXh0LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ2NsdXN0ZXJOYW1lJylcIj4gQ2x1c3RlcnMgTmFtZSA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2NsdXN0ZXJOYW1lJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdjbHVzdGVyTmFtZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ3N0b3Jlc0NvdW50JylcIj5TdG9yZXMgQ291bnQgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdzdG9yZXNDb3VudCcgJiYgc29ydE9yZGVyID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnc3RvcmVzQ291bnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUb3RhbCBUYW5nbyBBSSBGaWxlc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcnVzdCBBdWRpdCBDb21wbGV0ZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFuZ28gU2NvcmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJ1c3QgU2NvcmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPkFjdGlvbjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBvYmogb2YgZXllVGVzdERhdGE7IGxldCBpPWluZGV4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LmNsdXN0ZXJOYW1lID8gb2JqPy5jbHVzdGVyTmFtZTonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LnN0b3Jlc0NvdW50ID8gb2JqPy5zdG9yZXNDb3VudDonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LnRvdGFsRmlsZXMgPz8gJy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5jb21wbGV0ZWRGaWxlcyA/PyAnLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gIHt7IG9iaj8uY29tcGxpYW5jZVNjb3JlID8/ICAnLS0nIH19XHJcbjwvdGQ+XHJcbjx0ZD5cclxuICB7eyBvYmo/LnRydXN0U2NvcmUgPz8gJy0tJyB9fVxyXG48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJ0eXBlVmFsKCdzdG9yZScsb2JqKVwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAyMCAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0wLjgzMzQ5NiA4LjAwMDE2QzAuODMzNDk2IDguMDAwMTYgNC4xNjY4MyAxLjMzMzUgMTAuMDAwMiAxLjMzMzVDMTUuODMzNSAxLjMzMzUgMTkuMTY2OCA4LjAwMDE2IDE5LjE2NjggOC4wMDAxNkMxOS4xNjY4IDguMDAwMTYgMTUuODMzNSAxNC42NjY4IDEwLjAwMDIgMTQuNjY2OEM0LjE2NjgzIDE0LjY2NjggMC44MzM0OTYgOC4wMDAxNiAwLjgzMzQ5NiA4LjAwMDE2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEwLjAwMDIgMTAuNTAwMkMxMS4zODA5IDEwLjUwMDIgMTIuNTAwMiA5LjM4MDg3IDEyLjUwMDIgOC4wMDAxNkMxMi41MDAyIDYuNjE5NDUgMTEuMzgwOSA1LjUwMDE2IDEwLjAwMDIgNS41MDAxNkM4LjYxOTQ1IDUuNTAwMTYgNy41MDAxNiA2LjYxOTQ1IDcuNTAwMTYgOC4wMDAxNkM3LjUwMDE2IDkuMzgwODcgOC42MTk0NSAxMC41MDAyIDEwLjAwMDIgMTAuNTAwMlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICA8L3RhYmxlPlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyXCIgKm5nSWY9XCIhbm9EYXRhICYmICFsb2FkaW5nXCI+XHJcbiAgICAgICAgPGxpYi1wYWdpbmF0aW9uIFtpdGVtc1BlclBhZ2VdPVwicGFnZVNpemVcIiBbY3VycmVudFBhZ2VdPVwib2Zmc2V0XCIgW3RvdGFsSXRlbXNdPVwidG90YWxJdGVtc1wiXHJcbiAgICAgICAgICAgIFtwYWdpbmF0aW9uU2l6ZXNdPVwicGFnaW5hdGlvblNpemVzXCIgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCIgKHBhZ2VDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSgkZXZlbnQpXCI+PC9saWItcGFnaW5hdGlvbj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPC9zZWN0aW9uPlxyXG5cclxuXHJcbjxzZWN0aW9uICpuZ0lmPVwiZXllVmlld1wiIGNsYXNzPVwiY29udGFpbmVyLWZsdWlkIG5ldzEgbXQtNFwiPlxyXG48ZGl2ICBjbGFzcz1cImNhcmQgcC01XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgIDxkaXYgKGNsaWNrKT1cImJhY2tOYXZpZ2F0aW9uKClcIiAgY2xhc3M9XCJidG4gYnRuLWFtIGJ0bi1vdXRsaW5lIHAtM1wiPlxyXG4gICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE1LjgzMzIgOS45OTk4NEg0LjE2NjVNNC4xNjY1IDkuOTk5ODRMOS45OTk4NCAxNS44MzMyTTQuMTY2NSA5Ljk5OTg0TDkuOTk5ODQgNC4xNjY1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxzcGFuICAqbmdJZj1cImN1cnJlbnRBdWRpdFR5cGUgIT09ICdyZW1vdGUnXCIgY2xhc3M9XCJtcy0zIGJhZGdlIGJhZGdlLWxpZ2h0LWRlZmF1bHRcIj57e2F1ZGl0RGV0YWlscz8ub3B0dW1JZH19PC9zcGFuPiBcclxuICAgICAgICA8c3BhbiAqbmdJZj1cImN1cnJlbnRBdWRpdFR5cGUgPT09ICdyZW1vdGUnXCIgY2xhc3M9XCJtcy0zIGJhZGdlIGJhZGdlLWxpZ2h0LWRlZmF1bHRcIj48c3BhbiBjbGFzcz1cIm1lLTJcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk0xMCAxMC41VjkuNUMxMCA4Ljk2OTU3IDkuNzg5MjkgOC40NjA4NiA5LjQxNDIxIDguMDg1NzlDOS4wMzkxNCA3LjcxMDcxIDguNTMwNDMgNy41IDggNy41SDRDMy40Njk1NyA3LjUgMi45NjA4NiA3LjcxMDcxIDIuNTg1NzkgOC4wODU3OUMyLjIxMDcxIDguNDYwODYgMiA4Ljk2OTU3IDIgOS41VjEwLjVNOCAzLjVDOCA0LjYwNDU3IDcuMTA0NTcgNS41IDYgNS41QzQuODk1NDMgNS41IDQgNC42MDQ1NyA0IDMuNUM0IDIuMzk1NDMgNC44OTU0MyAxLjUgNiAxLjVDNy4xMDQ1NyAxLjUgOCAyLjM5NTQzIDggMy41WlwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj57e2F1ZGl0RGV0YWlscz8uZGlzcGxheU5hbWUgPyBhdWRpdERldGFpbHM/LmRpc3BsYXlOYW1lOictLSd9fTwvc3Bhbj4gXHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1mbGV4IG1zLTEgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnICB3aWR0aD1cIjQ2XCIgaGVpZ2h0PVwiNDZcIiB2aWV3Qm94PVwiMCAwIDQ2IDQ2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHJlY3QgIHg9XCIzXCIgeT1cIjNcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiByeD1cIjIwXCIgZmlsbD1cIlwiIG9wYWNpdHk9XCIwLjFcIj48L3JlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgPHJlY3QgIHg9XCIzXCIgeT1cIjNcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiByeD1cIjIwXCIgc3Ryb2tlPVwiXCIgc3Ryb2tlLXdpZHRoPVwiNlwiPjwvcmVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCAgZD1cIk0xNS42Nzk5IDE4LjgwMzlMMTUuNjI2NyAxOC44ODcxQzE1LjA2ODYgMTkuODc0MSAxNS42NjQ0IDIxLjEyMTUgMTYuNzM2MSAyMS4yNjQ2QzE2LjgzMzEgMjEuMjc2NSAxNi45MjM1IDIxLjI4MjggMTcuMDExOCAyMS4yODI4QzE3LjU4OTkgMjEuMjgyOCAxOC4xMDExIDIxLjAzNDggMTguNDU3NCAyMC42NDhMMTkuMDEwNyAyMC4wNDc0TDE5LjU2MjEgMjAuNjQ5OEMxOS45MTQxIDIxLjAzNDIgMjAuNDI0MSAyMS4yODI4IDIxLjAwNjEgMjEuMjgyOEMyMS41ODU2IDIxLjI4MjggMjIuMDk4NSAyMS4wMzM4IDIyLjQ1MDIgMjAuNjQ5OEwyMy4wMDMzIDIwLjA0NTVMMjMuNTU2NSAyMC42NDk4QzIzLjkwODEgMjEuMDMzOCAyNC40MjExIDIxLjI4MjggMjUuMDAwNSAyMS4yODI4QzI1LjU4IDIxLjI4MjggMjYuMDkyOSAyMS4wMzM4IDI2LjQ0NDUgMjAuNjQ5OEwyNi45OTc3IDIwLjA0NTVMMjcuNTUwOSAyMC42NDk4QzI3LjkwMjUgMjEuMDMzOCAyOC40MTU1IDIxLjI4MjggMjguOTk0OSAyMS4yODI4QzI5LjA4MDMgMjEuMjgyOCAyOS4xNzMzIDIxLjI3NjUgMjkuMjY5NyAyMS4yNjQ3QzMwLjM2NDkgMjEuMTE1NCAzMC45NjI3IDE5LjgwMTIgMzAuMzI0IDE4LjgwNDRDMzAuMzI0IDE4LjgwNDMgMzAuMzI0IDE4LjgwNDMgMzAuMzIzOSAxOC44MDQyTDI4LjU2NTggMTYuMDYyOEwyOC41NjU4IDE2LjA2MjhMMjguNTY0OCAxNi4wNjE0QzI4LjU0OTYgMTYuMDM3NSAyOC41MTIxIDE2LjAxMiAyOC40NjUgMTYuMDEySDE3LjUzNTZDMTcuNDg4NCAxNi4wMTIgMTcuNDUwOSAxNi4wMzc1IDE3LjQzNTcgMTYuMDYxNEwxNy40MzUxIDE2LjA2MjNMMTUuNjc5OSAxOC44MDM5Wk0yOC42NTE0IDIzLjczNzJWMjYuODY5MVYyNy42MTkxSDI3LjkwMTRIMTguMDk5MkgxNy4zNDkyVjI2Ljg2OTFWMjMuNzM3NkMxNy4yMzkgMjMuNzQ1OCAxNy4xMjc0IDIzLjc1MDEgMTcuMDE0OCAyMy43NTAxQzE2Ljk3MjUgMjMuNzUwMSAxNi45MzA1IDIzLjc0OTQgMTYuODg4OCAyMy43NDgyVjI2Ljg2OTFWMjguODAzNkMxNi44ODg4IDI5LjQ0NzEgMTcuNDIyNyAyOS45ODgyIDE4LjA5OTIgMjkuOTg4MkgyNy45MDE0QzI4LjU3NzkgMjkuOTg4MiAyOS4xMTE4IDI5LjQ0NzEgMjkuMTExOCAyOC44MDM2VjI2Ljg2OTFWMjMuNzQ4NEMyOS4wNzIgMjMuNzQ5NSAyOS4wMzIgMjMuNzUwMSAyOC45OTE4IDIzLjc1MDFDMjguODc3NCAyMy43NTAxIDI4Ljc2MzkgMjMuNzQ1NyAyOC42NTE0IDIzLjczNzJaXCIgc3Ryb2tlPVwiIzAwMDAwMFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiPjwvcGF0aD48L3N2Zz4gXHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0xIHN1Yi10aXRsZVwiPiB7e2F1ZGl0RGV0YWlscy5zdG9yZU5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgPCEtLSBkaXNwbGF5TmFtZSAtLT5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiY3VycmVudEF1ZGl0VHlwZSAhPT0gJ3JlbW90ZSdcIiBjbGFzcz1cImQtZmxleCBtcy0zIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTUuMjUwMjEgNi41MDAyOEM1LjkxMzI5IDYuNTAwMjggNi41NDkyMSA2LjIzNjg5IDcuMDE4MDcgNS43NjgwN0M3LjQ4Njk0IDUuMjk5MjQgNy43NTAzNSA0LjY2MzM3IDcuNzUwMzUgNC4wMDAzNUM3Ljc1MDM1IDMuMzM3MzIgNy40ODY5NCAyLjcwMTQ2IDcuMDE4MDcgMi4yMzI2M0M2LjU0OTIxIDEuNzYzOCA1LjkxMzI5IDEuNTAwNDIgNS4yNTAyMSAxLjUwMDQyQzQuNTg3MTMgMS41MDA0MiAzLjk1MTIxIDEuNzYzOCAzLjQ4MjM0IDIuMjMyNjNDMy4wMTM0OCAyLjcwMTQ2IDIuNzUwMDcgMy4zMzczMiAyLjc1MDA3IDQuMDAwMzVDMi43NTAwNyA0LjY2MzM3IDMuMDEzNDggNS4yOTkyNCAzLjQ4MjM0IDUuNzY4MDdDMy45NTEyMSA2LjIzNjg5IDQuNTg3MTMgNi41MDAyOCA1LjI1MDIxIDYuNTAwMjhaTTUuMjUwMjEgNS4yNTAzMUM0LjkxODY3IDUuMjUwMzEgNC42MDA3MSA1LjExODYyIDQuMzY2MjggNC44ODQyMUM0LjEzMTg0IDQuNjQ5NzkgNC4wMDAxNCA0LjMzMTg2IDQuMDAwMTQgNC4wMDAzNUM0LjAwMDE0IDMuNjY4ODQgNC4xMzE4NCAzLjM1MDkgNC4zNjYyOCAzLjExNjQ5QzQuNjAwNzEgMi44ODIwNyA0LjkxODY3IDIuNzUwMzggNS4yNTAyMSAyLjc1MDM4QzUuNTgxNzUgMi43NTAzOCA1Ljg5OTcxIDIuODgyMDcgNi4xMzQxNCAzLjExNjQ5QzYuMzY4NTcgMy4zNTA5IDYuNTAwMjggMy42Njg4NCA2LjUwMDI4IDQuMDAwMzVDNi41MDAyOCA0LjMzMTg2IDYuMzY4NTcgNC42NDk3OSA2LjEzNDE0IDQuODg0MjFDNS44OTk3MSA1LjExODYyIDUuNTgxNzUgNS4yNTAzMSA1LjI1MDIxIDUuMjUwMzFaTTEuNSA4Ljc5MTg4QzEuNSA3Ljk4NjkgMi4xNTMzNyA3LjMzMzU5IDIuOTU4NDEgNy4zMzM1OUg3LjU0MkM4LjM0NzA1IDcuMzMzNTkgOS4wMDA0MiA3Ljk4NjkgOS4wMDA0MiA4Ljc5MTg4VjEyLjc1MDFDOS4wMDA0MiAxMy43NDQ2IDguNjA1MzEgMTQuNjk4NCA3LjkwMjAxIDE1LjQwMTdDNy4xOTg3IDE2LjEwNDkgNi4yNDQ4MyAxNi41IDUuMjUwMjEgMTYuNUM0LjI1NTU5IDE2LjUgMy4zMDE3MSAxNi4xMDQ5IDIuNTk4NDEgMTUuNDAxN0MxLjg5NTExIDE0LjY5ODQgMS41IDEzLjc0NDYgMS41IDEyLjc1MDFWOC43OTE4OFpNMi45NTg0MSA4LjU4MzU1QzIuOTAzMTYgOC41ODM1NSAyLjg1MDE2IDguNjA1NSAyLjgxMTA5IDguNjQ0NTdDMi43NzIwMiA4LjY4MzY0IDIuNzUwMDcgOC43MzY2MyAyLjc1MDA3IDguNzkxODhWMTIuNzUwMUMyLjc1MDA3IDEzLjQxMzEgMy4wMTM0OCAxNC4wNDkgMy40ODIzNCAxNC41MTc4QzMuOTUxMjEgMTQuOTg2NyA0LjU4NzEzIDE1LjI1IDUuMjUwMjEgMTUuMjVDNS45MTMyOSAxNS4yNSA2LjU0OTIxIDE0Ljk4NjcgNy4wMTgwNyAxNC41MTc4QzcuNDg2OTQgMTQuMDQ5IDcuNzUwMzUgMTMuNDEzMSA3Ljc1MDM1IDEyLjc1MDFWOC43OTE4OEM3Ljc1MDM1IDguNzM2NjMgNy43Mjg0IDguNjgzNjQgNy42ODkzMiA4LjY0NDU3QzcuNjUwMjUgOC42MDU1IDcuNTk3MjYgOC41ODM1NSA3LjU0MiA4LjU4MzU1SDIuOTU4NDFaTTcuNzcyODUgNi4xNzg2MkM4LjE1MzI4IDYuMzkyNjcgOC41ODMxMyA2LjUwMzQgOS4wMTk2MyA2LjQ5OTc4QzkuNDU2MTQgNi40OTYxNiA5Ljg4NDEgNi4zNzgzMiAxMC4yNjA5IDYuMTU3OTlDMTAuNjM3OCA1LjkzNzY2IDEwLjk1MDMgNS42MjI1MiAxMS4xNjc1IDUuMjQzOTFDMTEuMzg0OCA0Ljg2NTMgMTEuNDk5IDQuNDM2NDIgMTEuNDk5IDMuOTk5OTNDMTEuNDk5IDMuNTYzNDQgMTEuMzg0OCAzLjEzNDU2IDExLjE2NzUgMi43NTU5NUMxMC45NTAzIDIuMzc3MzQgMTAuNjM3OCAyLjA2MjIgMTAuMjYwOSAxLjg0MTg3QzkuODg0MSAxLjYyMTU0IDkuNDU2MTQgMS41MDM3MSA5LjAxOTYzIDEuNTAwMDlDOC41ODMxMyAxLjQ5NjQ3IDguMTUzMjggMS42MDcxOSA3Ljc3Mjg1IDEuODIxMjRDOC4wNDUzNiAyLjEzNjIzIDguMjU5NTQgMi41MDI4OSA4LjM5OTU1IDIuOTA0NTRDOC41ODk5MSAyLjgwMDI2IDguODA0MTUgMi43NDczMyA5LjAyMTE4IDIuNzUwOTdDOS4yMzgyMSAyLjc1NDYyIDkuNDUwNTUgMi44MTQ3MSA5LjYzNzMxIDIuOTI1MzNDOS44MjQwNiAzLjAzNTk0IDkuOTc4NzkgMy4xOTMyOCAxMC4wODYzIDMuMzgxODVDMTAuMTkzNyAzLjU3MDQyIDEwLjI1MDMgMy43ODM3MiAxMC4yNTAzIDQuMDAwNzZDMTAuMjUwMyA0LjIxNzgxIDEwLjE5MzcgNC40MzExMSAxMC4wODYzIDQuNjE5NjhDOS45Nzg3OSA0LjgwODI1IDkuODI0MDYgNC45NjU1OCA5LjYzNzMxIDUuMDc2MkM5LjQ1MDU1IDUuMTg2ODIgOS4yMzgyMSA1LjI0NjkxIDkuMDIxMTggNS4yNTA1NUM4LjgwNDE1IDUuMjU0MiA4LjU4OTkxIDUuMjAxMjcgOC4zOTk1NSA1LjA5Njk4QzguMjYwNzQgNS40OTM4MiA4LjA0ODEgNS44NjA4MiA3Ljc3Mjg1IDYuMTc4NjJaTTguMDUwMzYgMTYuMzc4M0M4LjM1NDgzIDE2LjQ1ODMgOC42NzE1MSAxNi40OTg5IDkuMDAwNDIgMTYuNUM5Ljk5NTAzIDE2LjUgMTAuOTQ4OSAxNi4xMDQ5IDExLjY1MjIgMTUuNDAxN0MxMi4zNTU1IDE0LjY5ODQgMTIuNzUwNiAxMy43NDQ2IDEyLjc1MDYgMTIuNzUwMVY4Ljc5MTg4QzEyLjc1MDYgOC40MDUxMiAxMi41OTcgOC4wMzQxOSAxMi4zMjM1IDcuNzYwNzFDMTIuMDUgNy40ODcyMyAxMS42NzkgNy4zMzM1OSAxMS4yOTIyIDcuMzMzNTlIOS4zMDg3N0M5LjU5NDYyIDcuNjc5NDEgOS43ODA0NiA4LjExMTA3IDkuODIzOCA4LjU4MzU1SDExLjI5MDVDMTEuMzQ1OCA4LjU4MzU1IDExLjM5ODggOC42MDU1IDExLjQzNzkgOC42NDQ1N0MxMS40NzY5IDguNjgzNjQgMTEuNDk4OSA4LjczNjYzIDExLjQ5ODkgOC43OTE4OFYxMi43NTAxQzExLjQ5ODkgMTMuMzk2OCAxMS4yNDgzIDE0LjAxODQgMTAuNzk5NiAxNC40ODQzQzEwLjM1MSAxNC45NTAxIDkuNzM5MjUgMTUuMjI0IDkuMDkyOTIgMTUuMjQ4NEM4LjgxMDQxIDE1LjY4MTcgOC40NTg3MiAxNi4wNjMzIDguMDUwMzYgMTYuMzc4M1pNMTEuNTIyMiA2LjE3ODYyQzExLjkwMjcgNi4zOTI2NyAxMi4zMzI1IDYuNTAzNCAxMi43NjkgNi40OTk3OEMxMy4yMDU1IDYuNDk2MTYgMTMuNjMzNSA2LjM3ODMyIDE0LjAxMDMgNi4xNTc5OUMxNC4zODcxIDUuOTM3NjYgMTQuNjk5NyA1LjYyMjUyIDE0LjkxNjkgNS4yNDM5MUMxNS4xMzQxIDQuODY1MyAxNS4yNDg0IDQuNDM2NDIgMTUuMjQ4NCAzLjk5OTkzQzE1LjI0ODQgMy41NjM0NCAxNS4xMzQxIDMuMTM0NTYgMTQuOTE2OSAyLjc1NTk1QzE0LjY5OTcgMi4zNzczNCAxNC4zODcxIDIuMDYyMiAxNC4wMTAzIDEuODQxODdDMTMuNjMzNSAxLjYyMTU0IDEzLjIwNTUgMS41MDM3MSAxMi43NjkgMS41MDAwOUMxMi4zMzI1IDEuNDk2NDcgMTEuOTAyNyAxLjYwNzE5IDExLjUyMjIgMS44MjEyNEMxMS43OTQ3IDIuMTM2MjMgMTIuMDA4OSAyLjUwMjg5IDEyLjE0ODkgMi45MDQ1NEMxMi4zMzkzIDIuODAwMjYgMTIuNTUzNSAyLjc0NzMzIDEyLjc3MDYgMi43NTA5N0MxMi45ODc2IDIuNzU0NjIgMTMuMTk5OSAyLjgxNDcxIDEzLjM4NjcgMi45MjUzM0MxMy41NzM0IDMuMDM1OTQgMTMuNzI4MiAzLjE5MzI4IDEzLjgzNTYgMy4zODE4NUMxMy45NDMxIDMuNTcwNDIgMTMuOTk5NiAzLjc4MzcyIDEzLjk5OTYgNC4wMDA3NkMxMy45OTk2IDQuMjE3ODEgMTMuOTQzMSA0LjQzMTExIDEzLjgzNTYgNC42MTk2OEMxMy43MjgyIDQuODA4MjUgMTMuNTczNCA0Ljk2NTU4IDEzLjM4NjcgNS4wNzYyQzEzLjE5OTkgNS4xODY4MiAxMi45ODc2IDUuMjQ2OTEgMTIuNzcwNiA1LjI1MDU1QzEyLjU1MzUgNS4yNTQyIDEyLjMzOTMgNS4yMDEyNyAxMi4xNDg5IDUuMDk2OThDMTIuMDEwMSA1LjQ5MzgyIDExLjc5NzUgNS44NjA4MiAxMS41MjIyIDYuMTc4NjJaTTExLjc5OTcgMTYuMzc4M0MxMi4xMDQyIDE2LjQ1ODMgMTIuNDIwOSAxNi40OTg5IDEyLjc0OTggMTYuNUMxMy43NDQ0IDE2LjUgMTQuNjk4MyAxNi4xMDQ5IDE1LjQwMTYgMTUuNDAxN0MxNi4xMDQ5IDE0LjY5ODQgMTYuNSAxMy43NDQ2IDE2LjUgMTIuNzUwMVY4Ljc5MTg4QzE2LjUgOC40MDUyNiAxNi4zNDY1IDguMDM0NDcgMTYuMDczMSA3Ljc2MTAxQzE1Ljc5OTggNy40ODc1NSAxNS40MjkxIDcuMzMzODEgMTUuMDQyNCA3LjMzMzU5SDEzLjA1OUMxMy4zNDQ4IDcuNjc5NDEgMTMuNTMxNSA4LjExMTA3IDEzLjU3NCA4LjU4MzU1SDE1LjA0MDhDMTUuMDk2IDguNTgzNTUgMTUuMTQ5IDguNjA1NSAxNS4xODgxIDguNjQ0NTdDMTUuMjI3MSA4LjY4MzY0IDE1LjI0OTEgOC43MzY2MyAxNS4yNDkxIDguNzkxODhWMTIuNzUwMUMxNS4yNDkxIDEzLjM5NjggMTQuOTk4NSAxNC4wMTg0IDE0LjU0OTggMTQuNDg0M0MxNC4xMDEyIDE0Ljk1MDEgMTMuNDg5NSAxNS4yMjQgMTIuODQzMSAxNS4yNDg0QzEyLjU2MDYgMTUuNjgxNyAxMi4yMDgxIDE2LjA2MzMgMTEuNzk5NyAxNi4zNzgzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjNjY3MDg1XCIgLz5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIHN1Yi10aXRsZVwiPnt7YXVkaXREZXRhaWxzPy5xdWV1ZUlkfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImN1cnJlbnRBdWRpdFR5cGUgPT09ICdyZW1vdGUnXCIgY2xhc3M9XCJkLWZsZXggbXMtMyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk01LjI1MDIxIDYuNTAwMjhDNS45MTMyOSA2LjUwMDI4IDYuNTQ5MjEgNi4yMzY4OSA3LjAxODA3IDUuNzY4MDdDNy40ODY5NCA1LjI5OTI0IDcuNzUwMzUgNC42NjMzNyA3Ljc1MDM1IDQuMDAwMzVDNy43NTAzNSAzLjMzNzMyIDcuNDg2OTQgMi43MDE0NiA3LjAxODA3IDIuMjMyNjNDNi41NDkyMSAxLjc2MzggNS45MTMyOSAxLjUwMDQyIDUuMjUwMjEgMS41MDA0MkM0LjU4NzEzIDEuNTAwNDIgMy45NTEyMSAxLjc2MzggMy40ODIzNCAyLjIzMjYzQzMuMDEzNDggMi43MDE0NiAyLjc1MDA3IDMuMzM3MzIgMi43NTAwNyA0LjAwMDM1QzIuNzUwMDcgNC42NjMzNyAzLjAxMzQ4IDUuMjk5MjQgMy40ODIzNCA1Ljc2ODA3QzMuOTUxMjEgNi4yMzY4OSA0LjU4NzEzIDYuNTAwMjggNS4yNTAyMSA2LjUwMDI4Wk01LjI1MDIxIDUuMjUwMzFDNC45MTg2NyA1LjI1MDMxIDQuNjAwNzEgNS4xMTg2MiA0LjM2NjI4IDQuODg0MjFDNC4xMzE4NCA0LjY0OTc5IDQuMDAwMTQgNC4zMzE4NiA0LjAwMDE0IDQuMDAwMzVDNC4wMDAxNCAzLjY2ODg0IDQuMTMxODQgMy4zNTA5IDQuMzY2MjggMy4xMTY0OUM0LjYwMDcxIDIuODgyMDcgNC45MTg2NyAyLjc1MDM4IDUuMjUwMjEgMi43NTAzOEM1LjU4MTc1IDIuNzUwMzggNS44OTk3MSAyLjg4MjA3IDYuMTM0MTQgMy4xMTY0OUM2LjM2ODU3IDMuMzUwOSA2LjUwMDI4IDMuNjY4ODQgNi41MDAyOCA0LjAwMDM1QzYuNTAwMjggNC4zMzE4NiA2LjM2ODU3IDQuNjQ5NzkgNi4xMzQxNCA0Ljg4NDIxQzUuODk5NzEgNS4xMTg2MiA1LjU4MTc1IDUuMjUwMzEgNS4yNTAyMSA1LjI1MDMxWk0xLjUgOC43OTE4OEMxLjUgNy45ODY5IDIuMTUzMzcgNy4zMzM1OSAyLjk1ODQxIDcuMzMzNTlINy41NDJDOC4zNDcwNSA3LjMzMzU5IDkuMDAwNDIgNy45ODY5IDkuMDAwNDIgOC43OTE4OFYxMi43NTAxQzkuMDAwNDIgMTMuNzQ0NiA4LjYwNTMxIDE0LjY5ODQgNy45MDIwMSAxNS40MDE3QzcuMTk4NyAxNi4xMDQ5IDYuMjQ0ODMgMTYuNSA1LjI1MDIxIDE2LjVDNC4yNTU1OSAxNi41IDMuMzAxNzEgMTYuMTA0OSAyLjU5ODQxIDE1LjQwMTdDMS44OTUxMSAxNC42OTg0IDEuNSAxMy43NDQ2IDEuNSAxMi43NTAxVjguNzkxODhaTTIuOTU4NDEgOC41ODM1NUMyLjkwMzE2IDguNTgzNTUgMi44NTAxNiA4LjYwNTUgMi44MTEwOSA4LjY0NDU3QzIuNzcyMDIgOC42ODM2NCAyLjc1MDA3IDguNzM2NjMgMi43NTAwNyA4Ljc5MTg4VjEyLjc1MDFDMi43NTAwNyAxMy40MTMxIDMuMDEzNDggMTQuMDQ5IDMuNDgyMzQgMTQuNTE3OEMzLjk1MTIxIDE0Ljk4NjcgNC41ODcxMyAxNS4yNSA1LjI1MDIxIDE1LjI1QzUuOTEzMjkgMTUuMjUgNi41NDkyMSAxNC45ODY3IDcuMDE4MDcgMTQuNTE3OEM3LjQ4Njk0IDE0LjA0OSA3Ljc1MDM1IDEzLjQxMzEgNy43NTAzNSAxMi43NTAxVjguNzkxODhDNy43NTAzNSA4LjczNjYzIDcuNzI4NCA4LjY4MzY0IDcuNjg5MzIgOC42NDQ1N0M3LjY1MDI1IDguNjA1NSA3LjU5NzI2IDguNTgzNTUgNy41NDIgOC41ODM1NUgyLjk1ODQxWk03Ljc3Mjg1IDYuMTc4NjJDOC4xNTMyOCA2LjM5MjY3IDguNTgzMTMgNi41MDM0IDkuMDE5NjMgNi40OTk3OEM5LjQ1NjE0IDYuNDk2MTYgOS44ODQxIDYuMzc4MzIgMTAuMjYwOSA2LjE1Nzk5QzEwLjYzNzggNS45Mzc2NiAxMC45NTAzIDUuNjIyNTIgMTEuMTY3NSA1LjI0MzkxQzExLjM4NDggNC44NjUzIDExLjQ5OSA0LjQzNjQyIDExLjQ5OSAzLjk5OTkzQzExLjQ5OSAzLjU2MzQ0IDExLjM4NDggMy4xMzQ1NiAxMS4xNjc1IDIuNzU1OTVDMTAuOTUwMyAyLjM3NzM0IDEwLjYzNzggMi4wNjIyIDEwLjI2MDkgMS44NDE4N0M5Ljg4NDEgMS42MjE1NCA5LjQ1NjE0IDEuNTAzNzEgOS4wMTk2MyAxLjUwMDA5QzguNTgzMTMgMS40OTY0NyA4LjE1MzI4IDEuNjA3MTkgNy43NzI4NSAxLjgyMTI0QzguMDQ1MzYgMi4xMzYyMyA4LjI1OTU0IDIuNTAyODkgOC4zOTk1NSAyLjkwNDU0QzguNTg5OTEgMi44MDAyNiA4LjgwNDE1IDIuNzQ3MzMgOS4wMjExOCAyLjc1MDk3QzkuMjM4MjEgMi43NTQ2MiA5LjQ1MDU1IDIuODE0NzEgOS42MzczMSAyLjkyNTMzQzkuODI0MDYgMy4wMzU5NCA5Ljk3ODc5IDMuMTkzMjggMTAuMDg2MyAzLjM4MTg1QzEwLjE5MzcgMy41NzA0MiAxMC4yNTAzIDMuNzgzNzIgMTAuMjUwMyA0LjAwMDc2QzEwLjI1MDMgNC4yMTc4MSAxMC4xOTM3IDQuNDMxMTEgMTAuMDg2MyA0LjYxOTY4QzkuOTc4NzkgNC44MDgyNSA5LjgyNDA2IDQuOTY1NTggOS42MzczMSA1LjA3NjJDOS40NTA1NSA1LjE4NjgyIDkuMjM4MjEgNS4yNDY5MSA5LjAyMTE4IDUuMjUwNTVDOC44MDQxNSA1LjI1NDIgOC41ODk5MSA1LjIwMTI3IDguMzk5NTUgNS4wOTY5OEM4LjI2MDc0IDUuNDkzODIgOC4wNDgxIDUuODYwODIgNy43NzI4NSA2LjE3ODYyWk04LjA1MDM2IDE2LjM3ODNDOC4zNTQ4MyAxNi40NTgzIDguNjcxNTEgMTYuNDk4OSA5LjAwMDQyIDE2LjVDOS45OTUwMyAxNi41IDEwLjk0ODkgMTYuMTA0OSAxMS42NTIyIDE1LjQwMTdDMTIuMzU1NSAxNC42OTg0IDEyLjc1MDYgMTMuNzQ0NiAxMi43NTA2IDEyLjc1MDFWOC43OTE4OEMxMi43NTA2IDguNDA1MTIgMTIuNTk3IDguMDM0MTkgMTIuMzIzNSA3Ljc2MDcxQzEyLjA1IDcuNDg3MjMgMTEuNjc5IDcuMzMzNTkgMTEuMjkyMiA3LjMzMzU5SDkuMzA4NzdDOS41OTQ2MiA3LjY3OTQxIDkuNzgwNDYgOC4xMTEwNyA5LjgyMzggOC41ODM1NUgxMS4yOTA1QzExLjM0NTggOC41ODM1NSAxMS4zOTg4IDguNjA1NSAxMS40Mzc5IDguNjQ0NTdDMTEuNDc2OSA4LjY4MzY0IDExLjQ5ODkgOC43MzY2MyAxMS40OTg5IDguNzkxODhWMTIuNzUwMUMxMS40OTg5IDEzLjM5NjggMTEuMjQ4MyAxNC4wMTg0IDEwLjc5OTYgMTQuNDg0M0MxMC4zNTEgMTQuOTUwMSA5LjczOTI1IDE1LjIyNCA5LjA5MjkyIDE1LjI0ODRDOC44MTA0MSAxNS42ODE3IDguNDU4NzIgMTYuMDYzMyA4LjA1MDM2IDE2LjM3ODNaTTExLjUyMjIgNi4xNzg2MkMxMS45MDI3IDYuMzkyNjcgMTIuMzMyNSA2LjUwMzQgMTIuNzY5IDYuNDk5NzhDMTMuMjA1NSA2LjQ5NjE2IDEzLjYzMzUgNi4zNzgzMiAxNC4wMTAzIDYuMTU3OTlDMTQuMzg3MSA1LjkzNzY2IDE0LjY5OTcgNS42MjI1MiAxNC45MTY5IDUuMjQzOTFDMTUuMTM0MSA0Ljg2NTMgMTUuMjQ4NCA0LjQzNjQyIDE1LjI0ODQgMy45OTk5M0MxNS4yNDg0IDMuNTYzNDQgMTUuMTM0MSAzLjEzNDU2IDE0LjkxNjkgMi43NTU5NUMxNC42OTk3IDIuMzc3MzQgMTQuMzg3MSAyLjA2MjIgMTQuMDEwMyAxLjg0MTg3QzEzLjYzMzUgMS42MjE1NCAxMy4yMDU1IDEuNTAzNzEgMTIuNzY5IDEuNTAwMDlDMTIuMzMyNSAxLjQ5NjQ3IDExLjkwMjcgMS42MDcxOSAxMS41MjIyIDEuODIxMjRDMTEuNzk0NyAyLjEzNjIzIDEyLjAwODkgMi41MDI4OSAxMi4xNDg5IDIuOTA0NTRDMTIuMzM5MyAyLjgwMDI2IDEyLjU1MzUgMi43NDczMyAxMi43NzA2IDIuNzUwOTdDMTIuOTg3NiAyLjc1NDYyIDEzLjE5OTkgMi44MTQ3MSAxMy4zODY3IDIuOTI1MzNDMTMuNTczNCAzLjAzNTk0IDEzLjcyODIgMy4xOTMyOCAxMy44MzU2IDMuMzgxODVDMTMuOTQzMSAzLjU3MDQyIDEzLjk5OTYgMy43ODM3MiAxMy45OTk2IDQuMDAwNzZDMTMuOTk5NiA0LjIxNzgxIDEzLjk0MzEgNC40MzExMSAxMy44MzU2IDQuNjE5NjhDMTMuNzI4MiA0LjgwODI1IDEzLjU3MzQgNC45NjU1OCAxMy4zODY3IDUuMDc2MkMxMy4xOTk5IDUuMTg2ODIgMTIuOTg3NiA1LjI0NjkxIDEyLjc3MDYgNS4yNTA1NUMxMi41NTM1IDUuMjU0MiAxMi4zMzkzIDUuMjAxMjcgMTIuMTQ4OSA1LjA5Njk4QzEyLjAxMDEgNS40OTM4MiAxMS43OTc1IDUuODYwODIgMTEuNTIyMiA2LjE3ODYyWk0xMS43OTk3IDE2LjM3ODNDMTIuMTA0MiAxNi40NTgzIDEyLjQyMDkgMTYuNDk4OSAxMi43NDk4IDE2LjVDMTMuNzQ0NCAxNi41IDE0LjY5ODMgMTYuMTA0OSAxNS40MDE2IDE1LjQwMTdDMTYuMTA0OSAxNC42OTg0IDE2LjUgMTMuNzQ0NiAxNi41IDEyLjc1MDFWOC43OTE4OEMxNi41IDguNDA1MjYgMTYuMzQ2NSA4LjAzNDQ3IDE2LjA3MzEgNy43NjEwMUMxNS43OTk4IDcuNDg3NTUgMTUuNDI5MSA3LjMzMzgxIDE1LjA0MjQgNy4zMzM1OUgxMy4wNTlDMTMuMzQ0OCA3LjY3OTQxIDEzLjUzMTUgOC4xMTEwNyAxMy41NzQgOC41ODM1NUgxNS4wNDA4QzE1LjA5NiA4LjU4MzU1IDE1LjE0OSA4LjYwNTUgMTUuMTg4MSA4LjY0NDU3QzE1LjIyNzEgOC42ODM2NCAxNS4yNDkxIDguNzM2NjMgMTUuMjQ5MSA4Ljc5MTg4VjEyLjc1MDFDMTUuMjQ5MSAxMy4zOTY4IDE0Ljk5ODUgMTQuMDE4NCAxNC41NDk4IDE0LjQ4NDNDMTQuMTAxMiAxNC45NTAxIDEzLjQ4OTUgMTUuMjI0IDEyLjg0MzEgMTUuMjQ4NEMxMi41NjA2IDE1LjY4MTcgMTIuMjA4MSAxNi4wNjMzIDExLjc5OTcgMTYuMzc4M1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzY2NzA4NVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBzdWItdGl0bGVcIj57e2F1ZGl0RGV0YWlscz8uZW5nYWdlbWVudElkID9hdWRpdERldGFpbHM/LmVuZ2FnZW1lbnRJZDonLS0nfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBtcy0zIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyIDNIMTMuNUMxMy44OTc4IDMgMTQuMjc5NCAzLjE1ODA0IDE0LjU2MDcgMy40MzkzNEMxNC44NDIgMy43MjA2NCAxNSA0LjEwMjE4IDE1IDQuNVYxNUMxNSAxNS4zOTc4IDE0Ljg0MiAxNS43Nzk0IDE0LjU2MDcgMTYuMDYwN0MxNC4yNzk0IDE2LjM0MiAxMy44OTc4IDE2LjUgMTMuNSAxNi41SDQuNUM0LjEwMjE4IDE2LjUgMy43MjA2NCAxNi4zNDIgMy40MzkzNCAxNi4wNjA3QzMuMTU4MDQgMTUuNzc5NCAzIDE1LjM5NzggMyAxNVY0LjVDMyA0LjEwMjE4IDMuMTU4MDQgMy43MjA2NCAzLjQzOTM0IDMuNDM5MzRDMy43MjA2NCAzLjE1ODA0IDQuMTAyMTggMyA0LjUgM0g2TTYuNzUgMS41SDExLjI1QzExLjY2NDIgMS41IDEyIDEuODM1NzkgMTIgMi4yNVYzLjc1QzEyIDQuMTY0MjEgMTEuNjY0MiA0LjUgMTEuMjUgNC41SDYuNzVDNi4zMzU3OSA0LjUgNiA0LjE2NDIxIDYgMy43NVYyLjI1QzYgMS44MzU3OSA2LjMzNTc5IDEuNSA2Ljc1IDEuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIHN1Yi10aXRsZVwiPnt7Y3VycmVudEF1ZGl0VHlwZSB8IHRpdGxlY2FzZX19IEV5ZSBUZXN0PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggbXMtMyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMiAxLjVWNC41TTYgMS41VjQuNU0yLjI1IDcuNUgxNS43NU0zLjc1IDNIMTQuMjVDMTUuMDc4NCAzIDE1Ljc1IDMuNjcxNTcgMTUuNzUgNC41VjE1QzE1Ljc1IDE1LjgyODQgMTUuMDc4NCAxNi41IDE0LjI1IDE2LjVIMy43NUMyLjkyMTU3IDE2LjUgMi4yNSAxNS44Mjg0IDIuMjUgMTVWNC41QzIuMjUgMy42NzE1NyAyLjkyMTU3IDMgMy43NSAzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTIgc3ViLXRpdGxlXCI+e3thdWRpdERldGFpbHM/LmZpbGVEYXRlIHwgZGF0ZTogJ2RkL01NL1lZWVknfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBtcy0zIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzE2Nl81NTAxOSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOSA0LjVWOUwxMiAxMC41TTE2LjUgOUMxNi41IDEzLjE0MjEgMTMuMTQyMSAxNi41IDkgMTYuNUM0Ljg1Nzg2IDE2LjUgMS41IDEzLjE0MjEgMS41IDlDMS41IDQuODU3ODYgNC44NTc4NiAxLjUgOSAxLjVDMTMuMTQyMSAxLjUgMTYuNSA0Ljg1Nzg2IDE2LjUgOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xNjZfNTUwMTlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTIgc3ViLXRpdGxlXCI+e3thdWRpdERldGFpbHM/LnRlc3RTdGFydFRpbWV9fSB7e2F1ZGl0RGV0YWlscz8udGVzdFN0YXJ0VGltZT8uc3BsaXQoJzonKVswXT4xMj8nUE0nOidBTSd9fSAtIHt7YXVkaXREZXRhaWxzPy50ZXN0RW5kVGltZX19IHt7YXVkaXREZXRhaWxzPy50ZXN0RW5kVGltZT8uc3BsaXQoJzonKVswXT4xMj8nUE0nOidBTSd9fVxyXG4gICAgICAgICAgICAgICAgKHt7YXVkaXREZXRhaWxzPy50ZXN0RHVyYXRpb259fSBNaW5zKTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTMgYmFkZ2UgYmFkZ2UtbGlnaHQtcHJpbWFyeVwiPnt7YXVkaXREZXRhaWxzPy52aXNpdG9yc1R5cGUgfCB0aXRsZWNhc2V9fTwvc3Bhbj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiWydZZXQtdG8tQXVkaXQnXS5pbmNsdWRlcyhhdWRpdERldGFpbHM/LmF1ZGl0U3RhdHVzKVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwidGV4dC13aGl0ZSBtcy0zIHB4LTMgcHktMSBmdy1zZW1pYm9sZCByb3VuZGVkLTMgY3Vyc29yLXBvaW50ZXIgYmctcHJpbWFyeVwiIHN0eWxlPVwiZm9udC1zaXplOiAxNHB4O1wiPlxyXG4gICAgICAgICAgICBZZXQgdG8gQXVkaXRcclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiYXVkaXREZXRhaWxzPy5hdWRpdFR5cGUgPT09ICdBdWRpdCcmJmF1ZGl0RGV0YWlscz8uYXVkaXRTdGF0dXMgPT09ICdBdWRpdGVkJ1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwidGV4dC13aGl0ZSBtcy0zIHB4LTMgcHktMSBmdy1zZW1pYm9sZCByb3VuZGVkLTMgY3Vyc29yLXBvaW50ZXIgYmctc3VjY2Vzc1wiIHN0eWxlPVwiZm9udC1zaXplOiAxNHB4O1wiPlxyXG4gICAgICAgICAgICBBdWRpdGVkXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImF1ZGl0RGV0YWlscz8uYXVkaXRUeXBlID09PSAnUmUtQXVkaXQnJiZhdWRpdERldGFpbHM/LmF1ZGl0U3RhdHVzID09PSAnQXVkaXRlZCcgfHwgYXVkaXREZXRhaWxzPy5hdWRpdFR5cGUgPT09ICdSZS1BdWRpdCcmJmF1ZGl0RGV0YWlscz8uYXVkaXRTdGF0dXMgPT09ICdSZS1BdWRpdGVkJ1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwidGV4dC13aGl0ZSBtcy0zIHB4LTMgcHktMSBmdy1zZW1pYm9sZCByb3VuZGVkLTMgY3Vyc29yLXBvaW50ZXIgYmctd2FybmluZ1wiIHN0eWxlPVwiZm9udC1zaXplOiAxNHB4O1wiPlxyXG4gICAgICAgICAgICBSZS1BdWRpdGVkXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJyb3cgbXQtM1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgcC0zIGZ3LWJvbGQgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtMyB0ZXh0LWNlbnRlciBoZWFkZXItY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgQUkgVmVyaWZpZWQgU3RlcHMgPHNwYW4+PHN2ZyBuZ2JUb29sdGlwPVwiTnVtYmVyIG9mIHN0ZXBzIGRldGVjdGVkIGFuZCB2YWxpZGF0ZWQgYXV0b21hdGljYWxseSB3aXRob3V0IG1hbnVhbCByZXZpZXcuXCIgcGxhY2VtZW50PVwicmlnaHRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzM2Ml8yOTc5KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTkuOTk5ODQgMTMuMzMzMlY5Ljk5OTg0TTkuOTk5ODQgNi42NjY1SDEwLjAwODJNMTguMzMzMiA5Ljk5OTg0QzE4LjMzMzIgMTQuNjAyMiAxNC42MDIyIDE4LjMzMzIgOS45OTk4NCAxOC4zMzMyQzUuMzk3NDYgMTguMzMzMiAxLjY2NjUgMTQuNjAyMiAxLjY2NjUgOS45OTk4NEMxLjY2NjUgNS4zOTc0NiA1LjM5NzQ2IDEuNjY2NSA5Ljk5OTg0IDEuNjY2NUMxNC42MDIyIDEuNjY2NSAxOC4zMzMyIDUuMzk3NDYgMTguMzMzMiA5Ljk5OTg0WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zNjJfMjk3OVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtNSB0ZXh0LWNhcmRcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPnt7YXVkaXREZXRhaWxzPy5jb3ZlcmVkU3RlcHNBST9hdWRpdERldGFpbHM/LmNvdmVyZWRTdGVwc0FJOjB9fS97e2F1ZGl0RGV0YWlscz8udG90YWxTdGVwcyA/IGF1ZGl0RGV0YWlscz8udG90YWxTdGVwczonLS0nfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBwLTMgZnctYm9sZCB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC0zIHRleHQtY2VudGVyIGhlYWRlci1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICBIdW1hbiBWZXJpZmllZCBTdGVwcyA8c3Bhbj48c3ZnIG5nYlRvb2x0aXA9XCJOdW1iZXIgb2Ygc3RlcHMgdGhhdCByZXF1aXJlZCBodW1hbiB2YWxpZGF0aW9uIHRvIGVuc3VyZSBjb21wbGlhbmNlIGFuZCBhY2N1cmFjeS5cIiBwbGFjZW1lbnQ9XCJyaWdodFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zNjJfMjk3OSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk05Ljk5OTg0IDEzLjMzMzJWOS45OTk4NE05Ljk5OTg0IDYuNjY2NUgxMC4wMDgyTTE4LjMzMzIgOS45OTk4NEMxOC4zMzMyIDE0LjYwMjIgMTQuNjAyMiAxOC4zMzMyIDkuOTk5ODQgMTguMzMzMkM1LjM5NzQ2IDE4LjMzMzIgMS42NjY1IDE0LjYwMjIgMS42NjY1IDkuOTk5ODRDMS42NjY1IDUuMzk3NDYgNS4zOTc0NiAxLjY2NjUgOS45OTk4NCAxLjY2NjVDMTQuNjAyMiAxLjY2NjUgMTguMzMzMiA1LjM5NzQ2IDE4LjMzMzIgOS45OTk4NFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzYyXzI5NzlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTUgdGV4dC1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj57e2F1ZGl0RGV0YWlscz8uYXVkaXRlZFN0ZXBzP2F1ZGl0RGV0YWlscz8uYXVkaXRlZFN0ZXBzOjB9fS97e2F1ZGl0RGV0YWlscz8udG90YWxTdGVwcyA/IGF1ZGl0RGV0YWlscz8udG90YWxTdGVwczonLS0nfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBwLTMgZnctYm9sZCB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC0zIGhlYWRlci1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICBBSSBDb21wbGlhbmNlIFNjb3JlIDxzcGFuPjxzdmcgbmdiVG9vbHRpcD1cIk1lYXN1cmVzIHRoZSBwZXJjZW50YWdlIG9mIHN0ZXBzIEFJIGZsYWdnZWQgYXMgY29tcGxpYW50IHdpdGhvdXQgaHVtYW4gaW50ZXJ2ZW50aW9uLlwiIHBsYWNlbWVudD1cImxlZnRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzYyXzI5NzkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOS45OTk4NCAxMy4zMzMyVjkuOTk5ODRNOS45OTk4NCA2LjY2NjVIMTAuMDA4Mk0xOC4zMzMyIDkuOTk5ODRDMTguMzMzMiAxNC42MDIyIDE0LjYwMjIgMTguMzMzMiA5Ljk5OTg0IDE4LjMzMzJDNS4zOTc0NiAxOC4zMzMyIDEuNjY2NSAxNC42MDIyIDEuNjY2NSA5Ljk5OTg0QzEuNjY2NSA1LjM5NzQ2IDUuMzk3NDYgMS42NjY1IDkuOTk5ODQgMS42NjY1QzE0LjYwMjIgMS42NjY1IDE4LjMzMzIgNS4zOTc0NiAxOC4zMzMyIDkuOTk5ODRaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzM2Ml8yOTc5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC01IHRleHQtY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3thdWRpdERldGFpbHM/LmNvbXBsaWFuY2VTY29yZSA/YXVkaXREZXRhaWxzPy5jb21wbGlhbmNlU2NvcmUgOiAwfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgcC0zIGZ3LWJvbGQgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtMyBoZWFkZXItY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgQUkgVHJ1c3QgU2NvcmUgPHNwYW4+PHN2ZyBuZ2JUb29sdGlwPVwiVGhpcyBzY29yZSByZWZsZWN0cyBob3cgb2Z0ZW4gQUkgcHJlZGljdGlvbnMgd2VyZSBhY2NlcHRlZCB3aXRob3V0IG1hbnVhbCBvdmVycmlkZXMuXCIgcGxhY2VtZW50PVwibGVmdFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zNjJfMjk3OSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk05Ljk5OTg0IDEzLjMzMzJWOS45OTk4NE05Ljk5OTg0IDYuNjY2NUgxMC4wMDgyTTE4LjMzMzIgOS45OTk4NEMxOC4zMzMyIDE0LjYwMjIgMTQuNjAyMiAxOC4zMzMyIDkuOTk5ODQgMTguMzMzMkM1LjM5NzQ2IDE4LjMzMzIgMS42NjY1IDE0LjYwMjIgMS42NjY1IDkuOTk5ODRDMS42NjY1IDUuMzk3NDYgNS4zOTc0NiAxLjY2NjUgOS45OTk4NCAxLjY2NjVDMTQuNjAyMiAxLjY2NjUgMTguMzMzMiA1LjM5NzQ2IDE4LjMzMzIgOS45OTk4NFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzYyXzI5NzlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTUgdGV4dC1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj57e2F1ZGl0RGV0YWlscz8udHJ1c3RTY29yZSA/IGF1ZGl0RGV0YWlscz8udHJ1c3RTY29yZTonLS0nfX0lPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cInJvdyBtdC0zXCI+XHJcbiAgICA8ZGl2IFtuZ0NsYXNzXT1cImV5ZVRlc3RUeXBlID09PSdmYWtlJyA/ICdjb2wtbWQtMTInIDogJ2NvbC1tZC02J1wiIGNsYXNzPVwiY29sLXNtLTZcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBoLTUwMHB4IHB4LTVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHAtMCBib3JkZXItMFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLXRpdGxlIG0tMCBmdy1ib2xkZXIgYmctbm9uZVwiPlByZXZpZXcgRXllIFRlc3Q8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB4LTAgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2aWRlby1wb3NpdGlvbiB3LTEwMFwiPlxyXG4gPHZpZGVvIGNsYXNzPVwidy0xMDAgcm91bmRlZC0zIGgtYXV0b1wiIGNvbnRyb2xzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiYXVkaXREZXRhaWxzPy5maWxlUGF0aFwiPjwvdmlkZW8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJleWVUZXN0VHlwZSAhPT0nZmFrZSdcIiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgaC01MDBweCBweC01IG92ZXJmbG93LXNjcm9sbFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgbWItMyBwLTAgYm9yZGVyLTAgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC10aXRsZSBtLTAgZnctYm9sZGVyIGJnLW5vbmVcIj5TdGVwLXdpc2UgQnJlYWtkb3duPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBzdWItdGl0bGUgbXQtMlwiICpuZ0lmPVwiYXVkaXREZXRhaWxzPy5sYXN0QXVkaXRlZERldGFpbHM/LmF1ZGl0ZWRCeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImN1cnJlbnRBdWRpdFR5cGUgPT09ICdyZW1vdGUnXCI+IDxzcGFuICpuZ0lmPVwiYXVkaXREZXRhaWxzPy5zcG9rZW5MYW5ndWFnZVwiPiA8c3BhbiAqbmdJZj1cIiF0YWtlQXVkaXRcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWluZm8gbXQtMCBtZS0yXCI+TGFuZ3VhZ2UgU3Bva2VuOiB7e2F1ZGl0RGV0YWlscz8uc3Bva2VuTGFuZ3VhZ2V9fTwvc3Bhbj48L3NwYW4+PC9zcGFuPiAgPHNwYW4gY2xhc3M9XCJtdC0xXCI+UmVjZW50bHkgQXVkaXRlZCBCeSA6IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIG10LTFcIj48c3BhbiBjbGFzcz1cIm1lLTJcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTMuMzMzNyAxNFYxMi42NjY3QzEzLjMzMzcgMTEuOTU5NCAxMy4wNTI3IDExLjI4MTEgMTIuNTUyNiAxMC43ODFDMTIuMDUyNSAxMC4yODEgMTEuMzc0MiAxMCAxMC42NjcgMTBINS4zMzM2NkM0LjYyNjQxIDEwIDMuOTQ4MTQgMTAuMjgxIDMuNDQ4MDQgMTAuNzgxQzIuOTQ3OTQgMTEuMjgxMSAyLjY2Njk5IDExLjk1OTQgMi42NjY5OSAxMi42NjY3VjE0TTEwLjY2NyA0LjY2NjY3QzEwLjY2NyA2LjEzOTQzIDkuNDczMDggNy4zMzMzMyA4LjAwMDMzIDcuMzMzMzNDNi41Mjc1NyA3LjMzMzMzIDUuMzMzNjYgNi4xMzk0MyA1LjMzMzY2IDQuNjY2NjdDNS4zMzM2NiAzLjE5MzkxIDYuNTI3NTcgMiA4LjAwMDMzIDJDOS40NzMwOCAyIDEwLjY2NyAzLjE5MzkxIDEwLjY2NyA0LjY2NjY3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuID57e2F1ZGl0RGV0YWlscz8ubGFzdEF1ZGl0ZWREZXRhaWxzPy5hdWRpdGVkQnl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIG10LTFcIj48c3BhbiBjbGFzcz1cIm1lLTJcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNTJfMjk0MzEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOSA0LjVWOUwxMiAxMC41TTE2LjUgOUMxNi41IDEzLjE0MjEgMTMuMTQyMSAxNi41IDkgMTYuNUM0Ljg1Nzg2IDE2LjUgMS41IDEzLjE0MjEgMS41IDlDMS41IDQuODU3ODYgNC44NTc4NiAxLjUgOSAxLjVDMTMuMTQyMSAxLjUgMTYuNSA0Ljg1Nzg2IDE2LjUgOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xNTJfMjk0MzFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj57e2F1ZGl0RGV0YWlscz8ubGFzdEF1ZGl0ZWREZXRhaWxzPy5jb21wbGV0aW9uVGltZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2F1ZGl0RGV0YWlscz8ubGFzdEF1ZGl0ZWREZXRhaWxzPy50aW1lWm9uZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRha2VBdWRpdCAmJiBjdXJyZW50QXVkaXRUeXBlID09PSAncmVtb3RlJ1wiIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWVuZCBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgWyhuZ01vZGVsKV09XCJzcG9rZW5MYW5ndWFnZVwiIGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1zZWxlY3Qtc21cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gc2VsZWN0ZWQgZGlzYWJsZWQgPkxhbmd1YWdlIFNwb2tlbiA8c3BhbiBzdHlsZT1cImNvbG9yOnJlZFwiPio8L3NwYW4+PC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiRW5nbGlzaFwiPkVuZ2xpc2g8L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJIaW5kaVwiPkhpbmRpPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImF1ZGl0RGV0YWlscz8uYXVkaXRUeXBlID09PSAnQXVkaXQnJiZhdWRpdERldGFpbHM/LmF1ZGl0U3RhdHVzID09PSAnWWV0LXRvLUF1ZGl0JyAmJiAhdGFrZUF1ZGl0XCIgKGNsaWNrKT1cInN0YXJ0QXVkaXQoJ2F1ZGl0JylcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC13aGl0ZSBtcy0zIHB4LTMgcHktMiBmdy1zZW1pYm9sZCByb3VuZGVkLTIgY3Vyc29yLXBvaW50ZXIgYmctcHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJmb250LXNpemU6IDE0cHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgU3RhcnQgQXVkaXRcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgXHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiWydBdWRpdGVkJywnUmUtQXVkaXQnLCdZZXQtdG8tQXVkaXQnXS5pbmNsdWRlcyhhdWRpdERldGFpbHM/LmF1ZGl0U3RhdHVzKSYmYXVkaXREZXRhaWxzPy5hdWRpdFR5cGUgPT09ICdSZS1BdWRpdCcgJiYgIXRha2VBdWRpdHx8YXVkaXREZXRhaWxzPy5hdWRpdFR5cGUgPT09ICdBdWRpdCcmJmF1ZGl0RGV0YWlscz8uYXVkaXRTdGF0dXMgPT09ICdBdWRpdGVkJyB8fGF1ZGl0RGV0YWlscz8uYXVkaXRUeXBlID09PSAnUmUtQXVkaXQnJiZhdWRpdERldGFpbHM/LmF1ZGl0U3RhdHVzID09PSAnUmUtQXVkaXRlZCcmJiAhdGFrZUF1ZGl0IFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInN0YXJ0QXVkaXQoJ1JlLUF1ZGl0JylcIiBjbGFzcz1cImJ0biBidG4tc20gcHktMiBidG4td2FybmluZ1wiPlJlLUF1ZGl0PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidGFrZUF1ZGl0XCIgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tb3V0bGluZVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlY2FuY2VsXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBtcy0yIGJ0bi1zbSBidG4tc3VjY2Vzc1wiICBbZGlzYWJsZWRdPVwiZGlzYWJsZWNhbmNlbFwiIChjbGljayk9XCJvbnN1Ym1pdCgpXCI+U3VibWl0PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBtdC0xIHB4LTBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhdGFrZUF1ZGl0ICYmIHN0ZXBXaXNlUHJvY2Vzcz8ubGVuZ3RoXCIgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlIGJvcmRlciBib3JkZXItMSByb3VuZGVkLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ3LTEwMCB0YWJsZSBib3R0b20tYm9yZGVyIHRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0ZXAtYnktc3RlcCBQcm9jZXNzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJjdXJyZW50QXVkaXRUeXBlID09PSAncmVtb3RlJ1wiIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVkaWN0ZWQgVHJhbnNjcmlwdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBSSBWZXJpZmllZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIdW1hbiBBdWRpdGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYXNvbiBmb3IgRXJyb3JcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aWNlZCBUaW1lIFJhbmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgZGF0YSBvZiBzdGVwV2lzZVByb2Nlc3M7bGV0IGk9aW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInctNDBweCBoLTQwcHggZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgdGV4dC1jZW50ZXIgbWUtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ3LTEwMCByb3VuZGVkLTVcIiBbc3JjXT1cImRhdGE/LmltYWdlVXJsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2RhdGEucHJvY2Vzc05hbWV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImN1cnJlbnRBdWRpdFR5cGUgPT09J3JlbW90ZSdcIiBjbGFzcz1cInRleHQtY2FwaXRhbGl6ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1wcmltYXJ5MSB0ZXh0LWRlY29yYXRpb24tdW5kZXJsaW5lIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ2JUb29sdGlwXT1cImRhdGE/LnByZWRpY3RlZFRyYW5zY3JpcHQgPyB0b29sdGlwQ29udGVudCA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD0nYm90dG9tJz57e2RhdGE/LnByZWRpY3RlZFRyYW5zY3JpcHQ/ZGF0YT8ucHJlZGljdGVkVHJhbnNjcmlwdDpcIk4vQVwifX08L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdG9vbHRpcENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLXRvb2x0aXAtY29udGVudCB0b29sdGlwLWNvbnRlbnQgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1pbi13LTUwMHB4XCI+e3tkYXRhPy5wcmVkaWN0ZWRUcmFuc2NyaXB0P2RhdGE/LnByZWRpY3RlZFRyYW5zY3JpcHQ6XCJOL0FcIn19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1jYXBpdGFsaXplXCI+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImRhdGEuQUlTdGF0dXMgPyAnYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcycgOiAnYmFkZ2UgYmFkZ2UtbGlnaHQtZGFuZ2VyJ1wiPnt7ZGF0YS5BSVN0YXR1c1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAncGFzcycgOiAnZmFpbCd9fTwvc3Bhbj48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1jYXBpdGFsaXplXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImRhdGE/LmF1ZGl0ZWRTdGF0dXMgPT09IHRydWUgPyAnYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcycgOiAoZGF0YT8uYXVkaXRlZFN0YXR1cyA9PT0gZmFsc2UgPyAnYmFkZ2UgYmFkZ2UtbGlnaHQtZGFuZ2VyJyA6ICcnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBkYXRhPy5hdWRpdGVkU3RhdHVzID09PSB0cnVlID8gJ3Bhc3MnIDogKGRhdGE/LmF1ZGl0ZWRTdGF0dXMgPT09IGZhbHNlID8gJ2ZhaWwnIDogJ04vQScpIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImRhdGEuQUlTdGF0dXMgIT09IGRhdGEuYXVkaXRlZFN0YXR1cyB8fCBkYXRhLmF1ZGl0ZWRTdGF0dXMgPT09IG51bGwgfHwgZGF0YS5hdWRpdGVkU3RhdHVzID09PSB1bmRlZmluZWQgfHwgZGF0YS5hdWRpdGVkU3RhdHVzID09PSAnJzsgZWxzZSBFcXVhbEJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHt7IGRhdGE/LnJlYXNvbiB8fCAnTi9BJyB9fSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZGF0YS5yZWFzb24gIT09J290aGVycydcIj57e2RhdGEucmVhc29uIHx8ICdOL0EnfX08L3NwYW4+PHNwYW4gKm5nSWY9XCJkYXRhLnJlYXNvbiA9PT0nb3RoZXJzJ1wiPnt7ZGF0YS5vdGhlclJlYXNvbiB8fCAnTi9BJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNFcXVhbEJsb2NrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPk4vQTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tkYXRhPy5zdGFydFRpbWV9fSAtIHt7ZGF0YT8uZW5kVGltZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInN0ZXBXaXNlUHJvY2Vzcz8ubGVuZ3RoICYmIHRha2VBdWRpdCYmYXVkaXREZXRhaWxzPy5hdWRpdFN0YXR1cz09PSdZZXQtdG8tQXVkaXQnfHxhdWRpdERldGFpbHM/LmF1ZGl0U3RhdHVzPT09J0luLVByb2dyZXNzJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHByb2Nlc3Mgb2Ygc3RlcFdpc2VQcm9jZXNzOyBsZXQgaT1pbmRleCA7bGV0IGxhc3Q9bGFzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYm9yZGVyIGJvcmRlci0xIHJvdW5kZWQtMyBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInctMTAwIHRhYmxlIGJvdHRvbS1ib3JkZXIgdGV4dC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtcHJpbWFyeSBiZy1saWdodC1wcmltYXJ5IHRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0ZXAte3tpKzEgfCBudW1iZXJ9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXByaW1hcnkgYmctbGlnaHQtcHJpbWFyeSB0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBSSBWZXJpZmllZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXByaW1hcnkgYmctbGlnaHQtcHJpbWFyeSB0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIdW1hbiBBdWRpdGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ3LTIwMHB4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtc3RhcnRcIj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwidy00MHB4IGgtNDBweCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciB0ZXh0LWNlbnRlciBtZS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ3LTEwMCByb3VuZGVkLTVcIiBbc3JjXT1cInByb2Nlc3MuaW1hZ2VVcmxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3twcm9jZXNzLnByb2Nlc3NOYW1lfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gKm5nSWY9XCJwcm9jZXNzLkFJU3RhdHVzXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzIHRleHQtY2FwaXRhbGl6ZVwiPlBhc3M8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFwcm9jZXNzLkFJU3RhdHVzXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kYW5nZXIgdGV4dC1jYXBpdGFsaXplXCI+RmFpbDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IChjbGljayk9XCJzZWxlY3RIdW1hblZlcmlmaWVkKGksdHJ1ZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJwcm9jZXNzPy5hdWRpdGVkU3RhdHVzID8gJ3RleHQtd2hpdGUgYnRuLXN1Y2Nlc3MnIDogJ3RleHQtc3VjY2VzcyBiZy13aGl0ZSBib3JkZXIgYm9yZGVyLXN1Y2Nlc3MnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNtICByb3VuZGVkLTVcIj48c3Bhbj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNyAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNC4xNjY3IDRMNi44MzMzMyAxMS4zMzMzTDMuNSA4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInByb2Nlc3M/LmF1ZGl0ZWRTdGF0dXMgPyAnd2hpdGUnIDogJyMxN0M2NTMnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4yNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+PHNwYW4gY2xhc3M9XCJtcy0yXCI+UGFzczwvc3Bhbj48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwic2VsZWN0SHVtYW5WZXJpZmllZChpLGZhbHNlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInByb2Nlc3M/LmF1ZGl0ZWRTdGF0dXM9PT1mYWxzZSA/ICd0ZXh0LXdoaXRlIGJnLWRhbmdlcicgOiAndGV4dC1kYW5nZXIgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1kYW5nZXInXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtcy0zIHB4LTUgcHktMiBmdy1zZW1pYm9sZCByb3VuZGVkLTUgY3Vyc29yLXBvaW50ZXIgcm91bmRlZC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxN1wiIGhlaWdodD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE3IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEyLjY2NjUgNEw0LjY2NjUgMTJNNC42NjY1IDRMMTIuNjY2NSAxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJwcm9jZXNzPy5hdWRpdGVkU3RhdHVzPT09ZmFsc2UgPyAnd2hpdGUnIDogJyNGODI4NUEnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4yNVwiIHN0cm9rZS1saW5lY2FwPVwicm93dW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48c3BhbiBjbGFzcz1cIm1zLTJcIj5GYWlsPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjdXJyZW50QXVkaXRUeXBlID09PSAncmVtb3RlJyAmJiBwcm9jZXNzPy5wcmVkaWN0ZWRUcmFuc2NyaXB0XCIgY2xhc3M9XCJ3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJnLWxpZ2h0LXByaW1hcnkgdGV4dC1wcmltYXJ5IHAtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZWRpY3RlZCBUcmFuc2NyaXB0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgY29sLXNtLTEyIHAtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgdGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZSBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ2JUb29sdGlwXT1cInByb2Nlc3M/LnByZWRpY3RlZFRyYW5zY3JpcHQgPyB0b29sdGlwQ29udGVudCA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PSdib3R0b20nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3Byb2Nlc3M/LnByZWRpY3RlZFRyYW5zY3JpcHR9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdG9vbHRpcENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tdG9vbHRpcC1jb250ZW50IHRvb2x0aXAtY29udGVudCB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaW4tdy01MDBweFwiPnt7cHJvY2Vzcz8ucHJlZGljdGVkVHJhbnNjcmlwdH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicHJvY2Vzcz8uYXVkaXRlZFN0YXR1cyAhPT0gdW5kZWZpbmVkICYmIHByb2Nlc3M/LmF1ZGl0ZWRTdGF0dXMgIT09ICcnICYmIHByb2Nlc3M/LmF1ZGl0ZWRTdGF0dXMgIT09IHByb2Nlc3M/LkFJU3RhdHVzXCIgY2xhc3M9XCJ3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJnLWxpZ2h0LXByaW1hcnkgdGV4dC1wcmltYXJ5IHAtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYXNvbiAmIFRpbWUgU3RhbXBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBjb2wtc20tMTIgcC01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02IGNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd24oaSwncmVhc29uJylcIiBjbGFzcz1cImN1c3RvbS1kcm9wZG93blwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc2VsZWN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgcHJvY2Vzcz8ucmVhc29uID8gcHJvY2Vzcz8ucmVhc29uIDogJ1NlbGVjdCBSZWFzb24nIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTUgNy41TDEwIDEyLjVMMTUgNy41XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJsYXN0ID8gJ2Ryb3Bkb3duLWNvbnRlbnQxJyA6ICdkcm9wZG93bi1jb250ZW50J1wiICpuZ0lmPVwiZHJvcGRvd25PcGVuW2ldPy5yZWFzb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIE1pbnV0ZXMgTGlzdCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBteS0yIG1pbnV0ZXMtc2Nyb2xsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZHJvcGRvd25MaXN0XCIgY2xhc3M9XCJsaXN0LXVuc3R5bGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBbbmdDbGFzc109XCJwcm9jZXNzPy5yZWFzb24gPT09IGl0ZW0/LmtleSA/ICdhY3RpdmUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYW1lcmEgcHgtNSBpdGVtcyBmdy1zZW1pYm9sZCBjdXJzb3ItcG9pbnRlciBweS0yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RSZWFzb24oaSwgaXRlbT8ua2V5LCAncmVhc29uJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtPy5pdGVtIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBDdXN0b20gSW5wdXQgZm9yIFwiT3RoZXJzXCIgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByb2Nlc3M/LnJlYXNvbiA9PT0gJ290aGVycydcIiBjbGFzcz1cIm10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJwcm9jZXNzLm90aGVyUmVhc29uXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgeW91ciByZWFzb25cIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKGksJ3N0YXJ0VGltZScpXCIgY2xhc3M9XCJjdXN0b20tZHJvcGRvd25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbCBmdy1zZW1pYm9sZCBiZy13aGl0ZSBweC0yXCI+U3RhcnQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXNlbGVjdFwiPnt7cHJvY2Vzcz8uc3RhcnRUaW1lID8gcHJvY2Vzcz8uc3RhcnRUaW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDonTU06U1MnfX08L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJsYXN0ID8gJ2Ryb3Bkb3duLWNvbnRlbnQxJyA6ICdkcm9wZG93bi1jb250ZW50J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZHJvcGRvd25PcGVuW2ldPy5zdGFydFRpbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTWludXRlcyBMaXN0IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbC1zZWN0aW9uIG1pbnV0ZXMtc2Nyb2xsIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IG1pbiBvZiBtaW51dGVzTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RNaW51dGUoaSxtaW4sJ3N0YXJ0VGltZScpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cIm1pbiA9PT0gc2VsZWN0ZWRNaW51dGVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG1pbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFNlY29uZHMgTGlzdCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGwtc2VjdGlvbiBzZWNvbmRzLXNjcm9sbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHNlYyBvZiBzZWNvbmRzTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RTZWNvbmQoaSxzZWMsJ3N0YXJ0VGltZScpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlYyA9PT0gc2VsZWN0ZWRTZWNvbmRzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHNlYyB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKGksJ2VuZFRpbWUnKVwiIGNsYXNzPVwiY3VzdG9tLWRyb3Bkb3duXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibGFiZWwgZnctc2VtaWJvbGQgYmctd2hpdGUgcHgtMlwiPkVuZDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc2VsZWN0XCI+PHNwYW4+e3twcm9jZXNzLmVuZFRpbWUgPyBwcm9jZXNzLmVuZFRpbWUgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01NOlNTJ319PC9zcGFuPjwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImxhc3QgPyAnZHJvcGRvd24tY29udGVudDEnIDogJ2Ryb3Bkb3duLWNvbnRlbnQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJkcm9wZG93bk9wZW5baV0/LmVuZFRpbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gTWludXRlcyBMaXN0IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbC1zZWN0aW9uIG1pbnV0ZXMtc2Nyb2xsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgbWluIG9mIG1pbnV0ZXNMaXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwibWluID09PSBzZWxlY3RlZE1pbnV0ZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJnZXRTZWNvbmRzRnJvbVRpbWUobWluICsgJzonICsgc2VsZWN0ZWRTZWNvbmRzKSA8PSBnZXRTZWNvbmRzRnJvbVRpbWUocHJvY2Vzcy5zdGFydFRpbWUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0U2Vjb25kc0Zyb21UaW1lKG1pbiArICc6JyArIHNlbGVjdGVkU2Vjb25kcykgPiBnZXRTZWNvbmRzRnJvbVRpbWUocHJvY2Vzcy5zdGFydFRpbWUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2VsZWN0TWludXRlKGksbWluLCdlbmRUaW1lJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBtaW4gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFNlY29uZHMgTGlzdCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGwtc2VjdGlvbiBzZWNvbmRzLXNjcm9sbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHNlYyBvZiBzZWNvbmRzTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInNlYyA9PT0gc2VsZWN0ZWRTZWNvbmRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZ2V0U2Vjb25kc0Zyb21UaW1lKHNlbGVjdGVkTWludXRlcyArICc6JyArIHNlYykgPD0gZ2V0U2Vjb25kc0Zyb21UaW1lKHByb2Nlc3Muc3RhcnRUaW1lKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldFNlY29uZHNGcm9tVGltZShzZWxlY3RlZE1pbnV0ZXMgKyAnOicgKyBzZWMpID4gZ2V0U2Vjb25kc0Zyb21UaW1lKHByb2Nlc3Muc3RhcnRUaW1lKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNlbGVjdFNlY29uZChpLHNlYywnZW5kVGltZScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc2VjIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFzdGVwV2lzZVByb2Nlc3M/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIodGFibGVMb2FkaW5nIHwgYXN5bmMpID09PSAnbG9hZGluZydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhcmQgcm93IGxvYWRlciBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKHRhYmxlTG9hZGluZyB8IGFzeW5jKSA9PT0gJ2xvYWRlZCdcIiBjbGFzcz1cInJvdyBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJub0RhdGFcIiBjbGFzcz1cImNvbC1sZy0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBteS04IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctc3JjXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhMS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGUgdGVzdDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48IS0tIOKUgOKUgCBDb252ZXJzYXRpb24gUmVjb3JkaW5nICsgVHJhbnNjcmlwdCDilIDilIAgLS0+XHJcbjxkaXYgY2xhc3M9XCJyb3cgbXQtM1wiICpuZ0lmPVwiY29udmVyc2F0aW9uRGF0YVwiPlxyXG4gICAgPCEtLSBMZWZ0OiBSZWNvcmRpbmcgKyBUcmFuc2NyaXB0IC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGQtZmxleCBmbGV4LWNvbHVtbiBnYXAtM1wiPlxyXG4gICAgICAgIDwhLS0gQ29udmVyc2F0aW9uIFJlY29yZGluZyAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVjb3JkaW5nLWJveFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVjb3JkaW5nLXRpdGxlXCI+Q29udmVyc2F0aW9uIFJlY29yZGluZzwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tIEF1ZGlvIGVsZW1lbnQgLS0+XHJcbiAgICAgICAgICAgIDxhdWRpbyBpZD1cImNvbnYtYXVkaW9cIiBbc3JjXT1cImNvbnZlcnNhdGlvbkRhdGE/LmF1ZGlvX3VybFwiXHJcbiAgICAgICAgICAgICAgICAodGltZXVwZGF0ZSk9XCJvbkNvbnZUaW1lVXBkYXRlKClcIlxyXG4gICAgICAgICAgICAgICAgKGxvYWRlZG1ldGFkYXRhKT1cIm9uQ29udkxvYWRlZCgpXCJcclxuICAgICAgICAgICAgICAgIChlbmRlZCk9XCJjb252SXNQbGF5aW5nID0gZmFsc2VcIj5cclxuICAgICAgICAgICAgPC9hdWRpbz5cclxuICAgICAgICAgICAgPCEtLSBXYXZlZm9ybSBiYXJzIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2F2ZWZvcm0tYmFyc1wiIFtjbGFzcy5pcy1wbGF5aW5nXT1cImNvbnZJc1BsYXlpbmdcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Zi1iYXJcIiAqbmdGb3I9XCJsZXQgaCBvZiB3YXZlZm9ybUhlaWdodHM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiaFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLndmLWJhci0tcGxheWVkXT1cImNvbnZQcm9ncmVzcyA+IGkgLyB3YXZlZm9ybUhlaWdodHMubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gUGxheWVyIGNvbnRyb2xzIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGxheWVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYXktYnRuLXdyYXBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicGxheS1idG4tY2lyY2xlXCIgKGNsaWNrKT1cInRvZ2dsZUNvbnZQbGF5KClcIiB0eXBlPVwiYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIhY29udklzUGxheWluZ1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwid2hpdGVcIj48cGF0aCBkPVwiTTggNXYxNGwxMS03elwiLz48L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cImNvbnZJc1BsYXlpbmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIndoaXRlXCI+PHBhdGggZD1cIk02IDE5aDRWNUg2djE0em04LTE0djE0aDRWNWgtNHpcIi8+PC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGF5ZXItcHJvZ3Jlc3Mgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGxheWVyLXRpbWUgc3RhcnQtdGltZVwiPnt7IGNvbnZDdXJyZW50VGltZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwbGF5ZXItdGltZSBlbmQtdGltZVwiPnt7IGNvbnZEdXJhdGlvbiB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtdHJhY2tcIiAoY2xpY2spPVwic2Vla0NvbnZBdWRpbygkZXZlbnQpXCIgc3R5bGU9XCJjdXJzb3I6cG9pbnRlcjtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzLWZpbGxcIiBbc3R5bGUud2lkdGguJV09XCJjb252UHJvZ3Jlc3MgKiAxMDBcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm11dGUtYnRuXCIgKGNsaWNrKT1cInRvZ2dsZUNvbnZNdXRlKClcIiBbdGl0bGVdPVwiY29udklzTXV0ZWQgPyAnVW5tdXRlJyA6ICdNdXRlJ1wiIHR5cGU9XCJidXR0b25cIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiIWNvbnZJc011dGVkXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48cGF0aCBkPVwiTTMgOXY2aDRsNSA1VjRMNyA5SDN6bTEzLjUgM2MwLTEuNzctMS4wMi0zLjI5LTIuNS00LjAzdjguMDVjMS40OC0uNzMgMi41LTIuMjUgMi41LTQuMDJ6TTE0IDMuMjN2Mi4wNmMyLjg5Ljg2IDUgMy41NCA1IDYuNzFzLTIuMTEgNS44NS01IDYuNzF2Mi4wNmM0LjAxLS45MSA3LTQuNDkgNy04Ljc3cy0yLjk5LTcuODYtNy04Ljc3elwiLz48L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiY29udklzTXV0ZWRcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjxwYXRoIGQ9XCJNMTYuNSAxMmMwLTEuNzctMS4wMi0zLjI5LTIuNS00LjAzdjIuMjFsMi40NSAyLjQ1Yy4wMy0uMi4wNS0uNDEuMDUtLjYzem0yLjUgMGMwIC45NC0uMiAxLjgyLS41NCAyLjY0bDEuNTEgMS41MUMyMC42MyAxNC45MSAyMSAxMy41IDIxIDEyYzAtNC4yOC0yLjk5LTcuODYtNy04Ljc3djIuMDZjMi44OS44NiA1IDMuNTQgNSA2Ljcxek00LjI3IDNMMyA0LjI3IDcuNzMgOUgzdjZoNGw1IDV2LTYuNzNsNC4yNSA0LjI1Yy0uNjcuNTItMS40Mi45My0yLjI1IDEuMTh2Mi4wNmMxLjM4LS4zMSAyLjYzLS45NSAzLjY5LTEuODFMMTkuNzMgMjEgMjEgMTkuNzNsLTktOUw0LjI3IDN6TTEyIDRMOS45MSA2LjA5IDEyIDguMThWNHpcIi8+PC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLSBDb252ZXJzYXRpb24gVHJhbnNjcmlwdCAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBwLTQgZmxleC1ncm93LTFcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlY29yZGluZy10aXRsZSBtYi0zXCI+Q29udmVyc2F0aW9uIFRyYW5zY3JpcHQ8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIm92ZXJmbG93LXk6IGF1dG87IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6ICMzNDQwNTQ7IGxpbmUtaGVpZ2h0OiAxLjY7IG1heC1oZWlnaHQ6IDE4MHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb252ZXJzYXRpb25EYXRhPy50cmFuc2NyaXB0X3N1bW1hcnk7IGVsc2Ugbm9UcmFuc2NyaXB0XCI+e3sgY29udmVyc2F0aW9uRGF0YT8udHJhbnNjcmlwdF9zdW1tYXJ5IH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub1RyYW5zY3JpcHQ+PHNwYW4gY2xhc3M9XCJ0ZXh0LW11dGVkXCI+Tm8gdHJhbnNjcmlwdCBhdmFpbGFibGUuPC9zcGFuPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPCEtLSBSaWdodDogU3RlcCB0YWJzICsgYXVkaW8gaW5mbyArIGV2aWRlbmNlIC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgcC00XCIgc3R5bGU9XCJtaW4taGVpZ2h0OiAxMDAlO1wiPlxyXG4gICAgICAgICAgICA8IS0tIEhlYWRlciAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgbWItMVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb252LWNhcmQtdGl0bGVcIj5TdGVwLXdpc2UgQnJlYWtkb3duPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5IG1zLTFcIj5BdWRpbzwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gUmVjZW50bHkgQXVkaXRlZCBCeSAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTMgbWItMyBwYi0yIGJvcmRlci1ib3R0b21cIiAqbmdJZj1cImF1ZGl0RGV0YWlscz8uYXVkaXRlZEJ5IHx8IGF1ZGl0RGV0YWlscz8uYXVkaXRlZERhdGVcIiBzdHlsZT1cImZvbnQtc2l6ZTogMTJweDsgY29sb3I6ICM2NjcwODU7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBzdWItdGl0bGUgbXQtMlwiICpuZ0lmPVwiYXVkaXREZXRhaWxzPy5sYXN0QXVkaXRlZERldGFpbHM/LmF1ZGl0ZWRCeVwiPlxyXG4gICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtdC0xXCI+UmVjZW50bHkgQXVkaXRlZCBCeSA6IDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIG10LTFcIj48c3BhbiBjbGFzcz1cIm1lLTJcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTMuMzMzNyAxNFYxMi42NjY3QzEzLjMzMzcgMTEuOTU5NCAxMy4wNTI3IDExLjI4MTEgMTIuNTUyNiAxMC43ODFDMTIuMDUyNSAxMC4yODEgMTEuMzc0MiAxMCAxMC42NjcgMTBINS4zMzM2NkM0LjYyNjQxIDEwIDMuOTQ4MTQgMTAuMjgxIDMuNDQ4MDQgMTAuNzgxQzIuOTQ3OTQgMTEuMjgxMSAyLjY2Njk5IDExLjk1OTQgMi42NjY5OSAxMi42NjY3VjE0TTEwLjY2NyA0LjY2NjY3QzEwLjY2NyA2LjEzOTQzIDkuNDczMDggNy4zMzMzMyA4LjAwMDMzIDcuMzMzMzNDNi41Mjc1NyA3LjMzMzMzIDUuMzMzNjYgNi4xMzk0MyA1LjMzMzY2IDQuNjY2NjdDNS4zMzM2NiAzLjE5MzkxIDYuNTI3NTcgMiA4LjAwMDMzIDJDOS40NzMwOCAyIDEwLjY2NyAzLjE5MzkxIDEwLjY2NyA0LjY2NjY3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuID57e2F1ZGl0RGV0YWlscz8ubGFzdEF1ZGl0ZWREZXRhaWxzPy5hdWRpdGVkQnl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIG10LTFcIj48c3BhbiBjbGFzcz1cIm1lLTJcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNTJfMjk0MzEpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOSA0LjVWOUwxMiAxMC41TTE2LjUgOUMxNi41IDEzLjE0MjEgMTMuMTQyMSAxNi41IDkgMTYuNUM0Ljg1Nzg2IDE2LjUgMS41IDEzLjE0MjEgMS41IDlDMS41IDQuODU3ODYgNC44NTc4NiAxLjUgOSAxLjVDMTMuMTQyMSAxLjUgMTYuNSA0Ljg1Nzg2IDE2LjUgOVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xNTJfMjk0MzFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj57e2F1ZGl0RGV0YWlscz8ubGFzdEF1ZGl0ZWREZXRhaWxzPy5jb21wbGV0aW9uVGltZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2F1ZGl0RGV0YWlscz8ubGFzdEF1ZGl0ZWREZXRhaWxzPy50aW1lWm9uZX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gQm9keSAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBnYXAtMyBtdC0xMFwiIHN0eWxlPVwibWluLWhlaWdodDogMjgwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8IS0tIFN0ZXAgcGlsbCBsaXN0IC0tPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cIm1pbi13aWR0aDogMTkwcHg7IG1heC1oZWlnaHQ6IDMyMHB4OyBvdmVyZmxvdy15OiBhdXRvOyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjRUFFQ0YwOyBwYWRkaW5nLXJpZ2h0OiAxMnB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHN0ZXAgb2YgY29udmVyc2F0aW9uRGF0YT8ubWV0cmljc19yZXN1bHRzOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb252LXN0ZXAtcGlsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwic2VsZWN0ZWRTdGVwSW5kZXggPT09IGlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0ZWRTdGVwSW5kZXggPSBpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHN0ZXA/Lm1ldHJpY05hbWUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCEtLSBTZWxlY3RlZCBzdGVwIGRldGFpbCAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMSBwcy0yXCIgKm5nSWY9XCJjb252ZXJzYXRpb25EYXRhPy5tZXRyaWNzX3Jlc3VsdHM/LltzZWxlY3RlZFN0ZXBJbmRleF0gYXMgc3RlcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gQ2xpY2sgdG8gUGxheSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udi1wbGF5LXJvd1wiICpuZ0lmPVwic3RlcD8uc3RhcnRUaW1lXCIgKGNsaWNrKT1cInBsYXlGcm9tU3RlcChzdGVwKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udi1wbGF5LWljb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwid2hpdGVcIj48cGF0aCBkPVwiTTggNXYxNGwxMS03elwiLz48L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogIzEwMTgyODtcIj5DbGljayB0byBQbGF5PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZm9udC1zaXplOiAxMnB4OyBjb2xvcjogIzY2NzA4NTtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWRpbyBTdGFydHMgYXQge3sgc3RlcD8uc3RhcnRUaW1lIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3BhbiAqbmdJZj1cInN0ZXA/LmVuZFRpbWVcIj4g4oCTIHt7IHN0ZXA/LmVuZFRpbWUgfX08L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gU3VtbWFyeSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogIzEwMTgyODsgbWFyZ2luLWJvdHRvbTogOHB4O1wiPlN1bW1hcnk8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogMTNweDsgY29sb3I6ICMzNDQwNTQ7IGxpbmUtaGVpZ2h0OiAxLjY7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInN0ZXA/LmV2aWRlbmNlX3F1b3RlOyBlbHNlIG5vRXZpZGVuY2VcIj57eyBzdGVwPy5ldmlkZW5jZV9xdW90ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9FdmlkZW5jZT48c3BhbiBjbGFzcz1cInRleHQtbXV0ZWRcIj5ObyBldmlkZW5jZSBhdmFpbGFibGUuPC9zcGFuPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cImNhcmQgbXQtMyBwLTJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC0zXCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLXRleHQgbWItMlwiPkhpc3Rvcnk8L3NwYW4+XHJcbiAgICAgICAgPC9oMz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0wIHB4LTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZSBib3JkZXIgYm9yZGVyLTEgcm91bmRlZC0zXCIgKm5nSWY9XCJoaXN0b3J5RGF0YT8ubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInctMTAwIHRhYmxlIGJvdHRvbS1ib3JkZXIgdGV4dC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5BdWRpdGVkIEJ5PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiID5BdWRpdGVkIERhdGU8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCIgPlRpbWUgU3RhbXA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCIgPlZpZXcgTG9nczwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGhpc3RvcnlEYXRhXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2l0ZW0udXNlck5hbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2l0ZW0uRGF0ZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7aXRlbS5UaW1lfX0gSVNUPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIChjbGljayk9XCJ2aWV3SGlzdG9yeU1vZGVsKGl0ZW0pXCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0wLjgzMzQ5NiA4LjAwMDE2QzAuODMzNDk2IDguMDAwMTYgNC4xNjY4MyAxLjMzMzUgMTAuMDAwMiAxLjMzMzVDMTUuODMzNSAxLjMzMzUgMTkuMTY2OCA4LjAwMDE2IDE5LjE2NjggOC4wMDAxNkMxOS4xNjY4IDguMDAwMTYgMTUuODMzNSAxNC42NjY4IDEwLjAwMDIgMTQuNjY2OEM0LjE2NjgzIDE0LjY2NjggMC44MzM0OTYgOC4wMDAxNiAwLjgzMzQ5NiA4LjAwMDE2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEwLjAwMDIgMTAuNTAwMkMxMS4zODA5IDEwLjUwMDIgMTIuNTAwMiA5LjM4MDg3IDEyLjUwMDIgOC4wMDAxNkMxMi41MDAyIDYuNjE5NDUgMTEuMzgwOSA1LjUwMDE2IDEwLjAwMDIgNS41MDAxNkM4LjYxOTQ1IDUuNTAwMTYgNy41MDAxNiA2LjYxOTQ1IDcuNTAwMTYgOC4wMDAxNkM3LjUwMDE2IDkuMzgwODcgOC42MTk0NSAxMC41MDAyIDEwLjAwMDIgMTAuNTAwMlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWhpc3RvcnlEYXRhPy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIihoaXN0b3J5dGFibGVMb2FkaW5nIHwgYXN5bmMpID09PSAnbG9hZGluZydcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkIHJvdyBsb2FkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKGhpc3Rvcnl0YWJsZUxvYWRpbmcgfCBhc3luYykgPT09ICdsb2FkZWQnXCIgY2xhc3M9XCJyb3cgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgbXktOCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1zcmNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXRpdGxlXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgdGhlIHRlc3Q8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcblxyXG48bmctdGVtcGxhdGUgI3ZpZXdIaXN0b3J5IGxldC1tb2RlbD5cclxuICAgIDxkaXYgY2xhc3M9XCJwLTUgdHM3MDBweCBzY3JvbGxcIj5cclxuXHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktMCBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm15LTIgZC1mbGV4XCI+XHJcbjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNDZcIiB2aWV3Qm94PVwiMCAwIDU2IDU2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0XCIgeT1cIjRcIiB3aWR0aD1cIjQ4XCIgaGVpZ2h0PVwiNDhcIiByeD1cIjI0XCIgZmlsbD1cIiNEQUYxRkZcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjRcIiB5PVwiNFwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIiBzdHJva2U9XCIjRUFGOEZGXCIgc3Ryb2tlLXdpZHRoPVwiOFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjggMjJWMjhMMzIgMzBNMzggMjhDMzggMzMuNTIyOCAzMy41MjI4IDM4IDI4IDM4QzIyLjQ3NzIgMzggMTggMzMuNTIyOCAxOCAyOEMxOCAyMi40NzcyIDIyLjQ3NzIgMTggMjggMThDMzMuNTIyOCAxOCAzOCAyMi40NzcyIDM4IDI4WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzAwQTNGRlwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1zLTMgcHQtMiBmcy00IHRleHQtZ3JheS04MDAgdGV4dC1ob3Zlci1wcmltYXJ5IGZ3LWJvbGQgbWItMCB0aXRsZSBjdXJzb3ItcG9pbnRlclwiPkF1ZGl0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEhpc3Rvcnk8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZVwiICpuZ0lmPVwiaGlzdG9yeURhdGE/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidy0xMDAgdGFibGUgYm90dG9tLWJvcmRlciB0ZXh0LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlN0ZXAtYnktU3RlcCBQcm9jZXNzPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5TdGF0dXMgY2hhbmdlZCBmcm9tPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5Ob3RlZCBUaW1lIFJhbmdlPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5SZWFzb24gZm9yIEVycm9yPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHZpZXdIaXN0b3J5RGF0YVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7aXRlbS5wcm9jZXNzTmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIml0ZW0uQUlTdGF0dXNcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3MgbWUtMlwiPlBhc3M8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXRlbS5BSVN0YXR1c1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGFuZ2VyIG1lLTJcIj5GYWlsPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzFcIiBoZWlnaHQ9XCI4XCIgdmlld0JveD1cIjAgMCAzMSA4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMzAuMzUzNiA0LjM1MzU1QzMwLjU0ODggNC4xNTgyOSAzMC41NDg4IDMuODQxNzEgMzAuMzUzNiAzLjY0NjQ1TDI3LjE3MTYgMC40NjQ0NjZDMjYuOTc2MyAwLjI2OTIwNCAyNi42NTk3IDAuMjY5MjA0IDI2LjQ2NDUgMC40NjQ0NjZDMjYuMjY5MiAwLjY1OTcyOCAyNi4yNjkyIDAuOTc2MzExIDI2LjQ2NDUgMS4xNzE1N0wyOS4yOTI5IDRMMjYuNDY0NSA2LjgyODQzQzI2LjI2OTIgNy4wMjM2OSAyNi4yNjkyIDcuMzQwMjcgMjYuNDY0NSA3LjUzNTUzQzI2LjY1OTcgNy43MzA4IDI2Ljk3NjMgNy43MzA4IDI3LjE3MTYgNy41MzU1M0wzMC4zNTM2IDQuMzUzNTVaTTAgNC41SDMwVjMuNUgwVjQuNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5hdWRpdGVkU3RhdHVzXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzIG1zLTJcIj5QYXNzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW0uYXVkaXRlZFN0YXR1c1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGFuZ2VyIG1zLTJcIj5GYWlsPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCA+PHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzXCIgKm5nSWY9XCJpdGVtLnN0YXJ0VGltZVwiPk5vdGVkIFRpbWUgUmFuZ2UgOiA8c3BhbiBjbGFzcz1cInRleHQtZGFyazFcIj57e2l0ZW0uc3RhcnRUaW1lID8gaXRlbS5zdGFydFRpbWU6Jy0tJ319IC0ge3tpdGVtLmVuZFRpbWV9fTwvc3Bhbj48L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImVuZ2FnZS10ZXh0XCI+PHNwYW4gKm5nSWY9XCJpdGVtLnJlYXNvbiAhPT0nb3RoZXJzJ1wiPnt7aXRlbS5yZWFzb259fTwvc3Bhbj48c3BhbiAqbmdJZj1cIml0ZW0ucmVhc29uID09PSdvdGhlcnMnXCI+e3tpdGVtLm90aGVyUmVhc29ufX08L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdmlld0NhbmNlbCBsZXQtbW9kZWw+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZCBncm91cC1kZWxldGUgcHktMFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktMCBkLWZsZXggZmxleC1zdGFydCBmbGV4LWNvbHVtbiBwLTkgXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS01XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ltYm9sIHN5bWJvbC03NXB4IHN5bWJvbC1jaXJjbGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiNTZcIiBoZWlnaHQ9XCI1NlwiIHZpZXdCb3g9XCIwIDAgNTYgNTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjRcIiB5PVwiNFwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIiBmaWxsPVwiI0ZFRjBDN1wiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjRcIiB5PVwiNFwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIiBzdHJva2U9XCIjRkZGQUVCXCIgc3Ryb2tlLXdpZHRoPVwiOFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0yNy45OTg4IDI0VjI4TTI3Ljk5ODggMzJIMjguMDA4OE0yNi4yODg4IDE4Ljg2TDE3LjgxODggMzNDMTcuNjQ0MiAzMy4zMDI0IDE3LjU1MTggMzMuNjQ1MyAxNy41NTA4IDMzLjk5NDVDMTcuNTQ5OCAzNC4zNDM3IDE3LjY0MDMgMzQuNjg3MSAxNy44MTMyIDM0Ljk5MDVDMTcuOTg2MiAzNS4yOTM5IDE4LjIzNTUgMzUuNTQ2NyAxOC41MzY1IDM1LjcyMzhDMTguODM3NSAzNS45MDA5IDE5LjE3OTYgMzUuOTk2MSAxOS41Mjg4IDM2SDM2LjQ2ODhDMzYuODE4IDM1Ljk5NjEgMzcuMTYwMSAzNS45MDA5IDM3LjQ2MTEgMzUuNzIzOEMzNy43NjIxIDM1LjU0NjcgMzguMDExNCAzNS4yOTM5IDM4LjE4NDQgMzQuOTkwNUMzOC4zNTczIDM0LjY4NzEgMzguNDQ3OCAzNC4zNDM3IDM4LjQ0NjggMzMuOTk0NUMzOC40NDU4IDMzLjY0NTMgMzguMzUzNCAzMy4zMDI0IDM4LjE3ODggMzNMMjkuNzA4OCAxOC44NkMyOS41MzA1IDE4LjU2NjEgMjkuMjc5NSAxOC4zMjMxIDI4Ljk4IDE4LjE1NDRDMjguNjgwNSAxNy45ODU4IDI4LjM0MjUgMTcuODk3MiAyNy45OTg4IDE3Ljg5NzJDMjcuNjU1MSAxNy44OTcyIDI3LjMxNzEgMTcuOTg1OCAyNy4wMTc2IDE4LjE1NDRDMjYuNzE4MSAxOC4zMjMxIDI2LjQ2NzEgMTguNTY2MSAyNi4yODg4IDE4Ljg2WlwiIHN0cm9rZT1cIiNEQzY4MDNcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8YSBjbGFzcz1cImZzLTQgdGV4dC1ncmF5LTgwMCB0ZXh0LWhvdmVyLXByaW1hcnkgZnctYm9sZCBtYi0wIHRpdGxlIGN1cnNvci1wb2ludGVyXCI+QXJlIHlvdSBzdXJlPzwvYT5cclxuICAgICAgICAgICAgPHNwYW4gIGNsYXNzPVwic3ViLXRpdGxlIGZ3LW5vcm1hbCBtdC0yXCI+V291bGQgeW91IGxpa2UgdG8gY2FuY2VsIHRoaXM/PC9zcGFuPlxyXG4gICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdC01IHctMTAwXCI+XHJcbiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHJvbGU9XCJncm91cFwiIGNsYXNzPVwiZC1mbGV4IG10LTMgbWItMTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSB3LTEwMCBtZS0zXCIgKGNsaWNrKT1cIk9uQ2FuY2VsKClcIj5ObzwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGlkPVwiYWxlcnQtdG9hc3RcIiBjbGFzcz1cImJ0biBidG4tZGFuZ2VyIHctMTAwIG1zLTNcIiAoY2xpY2spPVwib25ZZXMoKVwiPlllczwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG48L3NlY3Rpb24+Il19
|
|
1864
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXllLXRlc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYW5hbHlzZS10cmF4L3NyYy9saWIvY29tcG9uZW50cy9leWUtdGVzdC1hdWRpdC9leWUtdGVzdC9leWUtdGVzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2V5ZS10ZXN0LWF1ZGl0L2V5ZS10ZXN0L2V5ZS10ZXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFxQixTQUFTLEVBQTZCLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUlwSSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsQ0FBQztBQUd6QixPQUFPLEVBQWdCLG9CQUFvQixFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQVksR0FBRyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUk5RyxPQUFPLEVBQUUsU0FBUyxFQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNdkUsTUFBTSxPQUFPLGdCQUFnQjtJQXNFakI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0Q7SUFDQztJQUEwQjtJQUMxQjtJQUNBO0lBOUVWLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDZCxXQUFXLENBQVk7SUFDdkIsaUJBQWlCLEdBQVEsRUFBRSxDQUFDO0lBQzVCLFlBQVksQ0FBTTtJQUNsQixZQUFZLENBQU07SUFDbEIsYUFBYSxHQUFRLEVBQUUsQ0FBQztJQUN4QixXQUFXLEdBQVEsRUFBRSxDQUFDO0lBQ3RCLE1BQU0sR0FBUSxFQUFFLENBQUM7SUFDakIs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QyxRQUFRLENBQUM7Z0JBb3pCWixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFDRCxXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBQ0MsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNzQixXQUFXO3NCQUF2RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0LCBIb3N0TGlzdGVuZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUm91dGVyLCBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSwgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSBcInRhbmdvLWFwcC11aS1nbG9iYWxcIjtcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xuaW1wb3J0IGRheWpzIGZyb20gXCJkYXlqc1wiO1xuaW1wb3J0IFwiZGF5anMvbG9jYWxlL2VuXCI7XG5pbXBvcnQgdXRjIGZyb20gXCJkYXlqcy9wbHVnaW4vdXRjXCI7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBTdWJqZWN0LCB0YWtlVW50aWwsT2JzZXJ2YWJsZSx0YXAsIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBUcmF4U2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy90cmF4LnNlcnZpY2VcIjtcbmltcG9ydCB7IEV5ZVRlc3RBdWRpdFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvZXllLXRlc3QtYXVkaXQuc2VydmljZVwiO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSBcInRhbmdvLWFwcC11aS1zaGFyZWRcIjtcbmltcG9ydCB7IHN3aXRjaE1hcCwgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBOZ2JNb2RhbCwgTmdiVG9vbHRpcCB9IGZyb20gXCJAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcFwiO1xuaW1wb3J0IHsgU2VuZEFsZXJ0Q29tcG9uZW50IH0gZnJvbSBcIi4vc2VuZC1hbGVydC9zZW5kLWFsZXJ0LmNvbXBvbmVudFwiO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImxpYi1leWUtdGVzdFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2V5ZS10ZXN0LmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsOiBcIi4vZXllLXRlc3QuY29tcG9uZW50LnNjc3NcIixcbn0pXG5leHBvcnQgY2xhc3MgRXllVGVzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgZGF5anMgPSBkYXlqcztcbiAgZXllVGVzdEZvcm06IEZvcm1Hcm91cDtcbiAgc2VsZWN0ZWREYXRlUmFuZ2U6IGFueSA9IHt9O1xuICBzZWxlY3RlZERhdGU6IGFueTtcbiAgaXNDdXN0b21EYXRlOiBhbnk7XG4gIGhlYWRlckZpbHRlcnM6IGFueSA9IFtdO1xuICBDbHVzdGVyTGlzdDogYW55ID0gW107XG4gIHN0b3JlczogYW55ID0gW107XG4gIGNsaWVudERhdGE6IGFueTtcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG4gIGdyb3VwczogYW55ID0gW107XG4gIHN0b3JlTGlzdDogYW55W10gPSBbXTtcbiAgbm9EYXRhID0gZmFsc2U7XG4gIGxvYWRpbmcgPSB0cnVlO1xuICBleWVUZXN0RGF0YTogYW55O1xuICB0eXBlVmFsdWU6IGFueTtcbiAgdHlwZTogYW55ID0gW1xuICAgIHsgdmFsdWU6IFwicGh5c2ljYWxcIiwgbGFiZWw6IFwiRXllIFRlc3RcIiB9LFxuICAgIHsgdmFsdWU6IFwicmVtb3RlXCIsIGxhYmVsOiBcIlJlbW90ZSBUZXN0XCIgfSxcbiAgXTtcbiAgYXVkaXRUeXBlOiBhbnkgPSBbXG4gICAgeyBsYWJlbDogXCJBbGxcIiwgdmFsdWU6IFwiYWxsXCIgfSxcbiAgICB7IGxhYmVsOiBcIkFkdWx0XCIsIHZhbHVlOiBcImFkdWx0XCIgfSxcbiAgICB7IGxhYmVsOiBcIktpZFwiLCB2YWx1ZTogXCJraWRzXCIgfSxcbiAgXTtcbiAgZGF0ZVR5cGU6IGFueSA9IFtcbiAgICB7IHZhbHVlOiBcImZpbGVEYXRlXCIsIGxhYmVsOiBcIkV5ZSBUZXN0IERhdGVcIiB9LFxuICAgIHsgdmFsdWU6IFwiYXVkaXRlZERhdGVcIiwgbGFiZWw6IFwiQXVkaXRlZCBEYXRlXCIgfSxcbiAgXTtcbiAgdHlwZVBlcmNlbnRhZ2VBcnJheTphbnkgPSBbXTtcblxuICAgbmVhckFkZGl0aW9uQXJyYXk6IGFueSA9IFtcbiAgICB7XG4gICAgICBsYWJlbDogXCJBbGxcIixcbiAgICAgIHZhbHVlOiBcIlwiLFxuICAgIH0sXG4gICAgeyBcbiAgICAgIGxhYmVsOiBcIldpdGggTmVhciBBZGRpdGlvblwiLCBcbiAgICAgIHZhbHVlOiBcInRydWVcIiBcbiAgICB9LFxuICAgIHsgXG4gICAgICBsYWJlbDogXCJXaXRob3V0IE5lYXIgQWRkaXRpb25cIiwgXG4gICAgICB2YWx1ZTogXCJmYWxzZVwiIFxuICAgIH0sXG4gIF07XG5cbiAgY2F0ZWdvcnlBcnJheTogYW55ID0gW1xuICAgIHtcbiAgICAgIGxhYmVsOiBcIkdlbnVpbmVcIixcbiAgICAgIHZhbHVlOiBcImdlbnVpbmVcIixcbiAgICB9LFxuICAgIHsgbGFiZWw6IFwiRmFrZVwiLCB2YWx1ZTogXCJmYWtlXCIgfSxcbiAgXTtcblxuICBhdWRpdGVkRGF0ZUF1ZGl0U3RhdHVzOmFueSA9W1xuICAgIHsgbGFiZWw6IFwiQXVkaXRlZFwiLCB2YWx1ZTogXCJBdWRpdGVkXCIgfSxcbiAgICB7IGxhYmVsOiBcIlJlLUF1ZGl0ZWRcIiwgdmFsdWU6IFwiUmUtQXVkaXRlZFwiIH0sXG4gICBcbiAgXVxuXG4gIGF1ZGl0U3RhdHVzQXJyYXk6YW55ID1bXG4gICAgeyBsYWJlbDogXCJBdWRpdGVkXCIsIHZhbHVlOiBcIkF1ZGl0ZWRcIiB9LFxuICAgIHsgbGFiZWw6IFwiUmUtQXVkaXRlZFwiLCB2YWx1ZTogXCJSZS1BdWRpdGVkXCIgfSxcbiAgICB7bGFiZWwgOlwiWWV0LXRvLUF1ZGl0XCIsIHZhbHVlOiBcIllldC10by1BdWRpdFwiIH0sXG4gICAgeyBsYWJlbCA6XCJJbi1Qcm9ncmVzc1wiLCB2YWx1ZTogXCJJbi1Qcm9ncmVzc1wiIH0sXG4gICAgXG4gIF1cbiAgc2hvd0V5ZVRlc3QgPSB0cnVlO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBhZ2VJbmZvOiBQYWdlSW5mb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSB0cmF4U2VydmljZTogVHJheFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBleWVTZXJ2aWNlOiBFeWVUZXN0QXVkaXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0czogVG9hc3RTZXJ2aWNlLCBwcml2YXRlIG1vZGFsU2VydmljZTogTmdiTW9kYWwsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplclxuICApIHtcbiAgICB0aGlzLnR5cGVWYWx1ZSA9IHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoXCJ0eXBlVmFsdWVcIik7XG4gIH1cbiAgaGVhZERhdGU6IGFueTtcbiAgaGVhZERhdGVFbmQ6IGFueTtcbiAgdXNlcnM6IGFueTtcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuICBjbG9zZUV5ZVRlc3QoKSB7XG4gICAgdGhpcy5zaG93RXllVGVzdCA9IGZhbHNlO1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIFJtTGlzdE5ldzphbnk7XG4gIHN0b3Jlc05ldzphbnk7XG4gIGRhdGFCYWNrR2V0OmFueTtcbiAgYXVkaXRTdGF0dXNOZXc6YW55O1xuICBjb21wbGlhbmNlU2NvcmVBcnJheTphbnk7XG4gIC8qKlxuICAgKiBDb21wbGlhbmNlLXNjb3JlIG9wdGlvbnMgZm9yIGEgbGV2ZWw6IHN0b3JlIGxldmVsIHNjb3JlcyBpbiBkaXNjcmV0ZSBzdGVwcyxcbiAgICogZXZlcnkgb3RoZXIgbGV2ZWwgaW4gMTAlIGJhbmRzLiBLZWVwcyBuZ09uSW5pdCBhbmQgdHlwZVZhbC90eXBlVmFsMSBpbiBzeW5jLlxuICAgKi9cbiAgc2V0Q29tcGxpYW5jZVBlcmNlbnRhZ2VBcnJheShrZXlUeXBlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnR5cGVQZXJjZW50YWdlQXJyYXkgPVxuICAgICAga2V5VHlwZSA9PT0gXCJzdG9yZVwiXG4gICAgICAgID8gW1xuICAgICAgICAgICAgeyBsYWJlbDogXCIwJVwiLCB2YWx1ZTogXCIwXCIgfSxcbiAgICAgICAgICAgIHsgbGFiZWw6IFwiMTclXCIsIHZhbHVlOiBcIjE2XCIgfSxcbiAgICAgICAgICAgIHsgbGFiZWw6IFwiMzMlXCIsIHZhbHVlOiBcIjMzXCIgfSxcbiAgICAgICAgICAgIHsgbGFiZWw6IFwiNTAlXCIsIHZhbHVlOiBcIjUwXCIgfSxcbiAgICAgICAgICAgIHsgbGFiZWw6IFwiNjclXCIsIHZhbHVlOiBcIjY2XCIgfSxcbiAgICAgICAgICAgIHsgbGFiZWw6IFwiODMlXCIsIHZhbHVlOiBcIjgzXCIgfSxcbiAgICAgICAgICAgIHsgbGFiZWw6IFwiMTAwJVwiLCB2YWx1ZTogXCIxMDBcIiB9LFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXG4gICAgICAgICAgICB7IGxhYmVsOiBcIjDigJMxMCVcIiwgdmFsdWU6IFwiMC0xMFwiIH0sXG4gICAgICAgICAgICB7IGxhYmVsOiBcIjEw4oCTMjAlXCIsIHZhbHVlOiBcIjEwLTIwXCIgfSxcbiAgICAgICAgICAgIHsgbGFiZWw6IFwiMjDigJMzMCVcIiwgdmFsdWU6IFwiMjAtMzBcIiB9LFxuICAgICAgICAgICAgeyBsYWJlbDogXCIzMOKAkzQwJVwiLCB2YWx1ZTogXCIzMC00MFwiIH0sXG4gICAgICAgICAgICB7IGxhYmVsOiBcIjQw4oCTNTAlXCIsIHZhbHVlOiBcIjQwLTUwXCIgfSxcbiAgICAgICAgICAgIHsgbGFiZWw6IFwiNTDigJM2MCVcIiwgdmFsdWU6IFwiNTAtNjBcIiB9LFxuICAgICAgICAgICAgeyBsYWJlbDogXCI2MOKAkzcwJVwiLCB2YWx1ZTogXCI2MC03MFwiIH0sXG4gICAgICAgICAgICB7IGxhYmVsOiBcIjcw4oCTODAlXCIsIHZhbHVlOiBcIjcwLTgwXCIgfSxcbiAgICAgICAgICAgIHsgbGFiZWw6IFwiODDigJM5MCVcIiwgdmFsdWU6IFwiODAtOTBcIiB9LFxuICAgICAgICAgICAgeyBsYWJlbDogXCI5MOKAkzEwMCVcIiwgdmFsdWU6IFwiOTAtMTAwXCIgfSxcbiAgICAgICAgICBdO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgbGV0IHVzZXJpbmZvID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInVzZXItaW5mb1wiKSB8fCBcIlwiKTtcbiAgICB0aGlzLnVzZXJzID0gdXNlcmluZm87XG4gICAgdGhpcy5pbml0QWlTZXNzaW9uKCk7XG4vLyBTdG9yZSBsZXZlbCBhbHdheXMgdXNlcyB0aGUgZGlzY3JldGUgc3RlcCBzY29yZXMsIGV2ZXJ5IG90aGVyIGxldmVsIHRoZVxuLy8gYmFuZGVkIHJhbmdlcyDigJQgc2FtZSBydWxlIGFzIHR5cGVWYWwoKS90eXBlVmFsMSgpLiBBID9rZXlUeXBlPXN0b3JlIGRlZXBcbi8vIGxpbmsgdGhlcmVmb3JlIGhhcyB0byBiZSBob25vdXJlZCBoZXJlLCBub3QganVzdCB0aGUgcm9sZSBkZWZhdWx0LCBvciB0aGVcbi8vIGRyb3Bkb3duIHNob3dzIGJhbmRzIHdoaWxlIHRoZSByZXF1ZXN0IGlzIHNjb3BlZCB0byBhIHN0b3JlLlxuY29uc3QgbGFuZGluZ0tleVR5cGUgPVxuICB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KFwia2V5VHlwZVwiKSB8fFxuICAodGhpcy51c2Vycz8ucm9sZSA9PT0gXCJzdXBlcmFkbWluXCJcbiAgICA/IFwicm1cIlxuICAgIDogdGhpcy51c2Vycz8ucm9sZSA9PT0gXCJhZG1pblwiXG4gICAgPyBcImNsdXN0ZXJcIlxuICAgIDogXCJzdG9yZVwiKTtcbnRoaXMuc2V0Q29tcGxpYW5jZVBlcmNlbnRhZ2VBcnJheShsYW5kaW5nS2V5VHlwZSk7XG5cbiAgICBpZiAoIXRoaXMudHlwZVZhbHVlKSB7XG4gICAgICB0aGlzLnR5cGVWYWx1ZSA9IFwicGh5c2ljYWxcIjtcbiAgICB9XG4gIHRoaXMuaXNDdXN0b21EYXRlID0gKG06IGRheWpzLkRheWpzKSA9PiB7XG4gICAgICBjb25zdCBpc1ZhbGlkRGF0ZSA9IG0gPiB0aGlzLmRheWpzKCk7XG4gICAgICByZXR1cm4gaXNWYWxpZERhdGUgPyBcImludmFsaWQtZGF0ZVwiIDogZmFsc2U7XG4gICAgfTtcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlID0ge1xuICAgICAgc3RhcnREYXRlOiB0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgXCJkYXlcIikuZm9ybWF0KFwiREQtTU0tWVlZWVwiKSxcbiAgICAgIGVuZERhdGU6IHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCBcImRheVwiKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpLFxuICAgIH07XG4gICAgbGV0IGhlYWRlckZpbHRlcnMgPSBKU09OLnBhcnNlKFxuICAgICAgbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJoZWFkZXItZmlsdGVyc1wiKSB8fCBcInt9XCJcbiAgICApO1xuICAgICAgIFxuICAgIGlmIChoZWFkZXJGaWx0ZXJzPy5kYXRlPy5zdGFydERhdGUgJiYgaGVhZGVyRmlsdGVycz8uZGF0ZT8uZW5kRGF0ZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZSA9IHtcbiAgICAgICAgc3RhcnREYXRlOiB0aGlzLmRheWpzKFxuICAgICAgICAgIGhlYWRlckZpbHRlcnMuZGF0ZS5zdGFydERhdGUsXG4gICAgICAgICAgXCJZWVlZLU1NLUREXCJcbiAgICAgICAgKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpLFxuICAgICAgICBlbmREYXRlOiB0aGlzLmRheWpzKGhlYWRlckZpbHRlcnMuZGF0ZS5lbmREYXRlLCBcIllZWVktTU0tRERcIikuZm9ybWF0KFxuICAgICAgICAgIFwiREQtTU0tWVlZWVwiXG4gICAgICAgICksXG4gICAgICB9O1xuICAgIH1cbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZSgocGFyYW1zKSA9PiB7XG4gICAgICAvLyBEZWVwLWxpbmsgZnJvbSB0aGUgRXllIFRlc3QgZGFzaGJvYXJkOiBrZXlUeXBlPXN0b3JlJnN0b3JlQ29kZT3igKYmb3B0b21JZD3igKZcbiAgICAgIC8vIExhbmRpbmcgbGV2ZWwgbXVzdCBjb21lIGZyb20gdGhlIGxpbmssIG5vdCB0aGUgcm9sZSBkZWZhdWx0XG4gICAgICAvLyAoc3VwZXJhZG1pbiAtPiBybSwgYWRtaW4gLT4gY2x1c3RlciksIHNvIGEgcm93J3MgQXVkaXQgYnV0dG9uIGxhbmRzIG9uXG4gICAgICAvLyB0aGF0IHJvdydzIFNUT1JFIHZpZXcuIENhcHR1cmVkIGhlcmUgYW5kIGFwcGxpZWQgb25jZSB0aGUgY2x1c3Rlci9zdG9yZVxuICAgICAgLy8gbGlzdHMgaGF2ZSBsb2FkZWQgKHNlZSBhcHBseURlZXBMaW5rU3RvcmUpLlxuICAgICAgaWYgKHBhcmFtcyAmJiBwYXJhbXNbXCJrZXlUeXBlXCJdKSB7XG4gICAgICAgIHRoaXMuZGVlcExpbmtLZXlUeXBlID0gcGFyYW1zW1wia2V5VHlwZVwiXTtcbiAgICAgICAgLy8gVGhlIGxpbmsncyBsZXZlbCBtdXN0IHdpbiBvdmVyIHRoZSByb2xlIGRlZmF1bHQgKHN1cGVyYWRtaW4gLT4gcm0pXG4gICAgICAgIC8vIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgc3RvcmVDb2RlIGxvb2t1cCBsYXRlciBmaW5kcyBhIG1hdGNoLFxuICAgICAgICAvLyBvdGhlcndpc2UgdGhlIHBheWxvYWQgZ29lcyBvdXQgYXMgcm0gd2hpbGUgdGhlIFVSTCBhc2tlZCBmb3Igc3RvcmUuXG4gICAgICAgIHRoaXMua2V5VHlwZSA9IHBhcmFtc1tcImtleVR5cGVcIl07XG4gICAgICB9XG4gICAgICBpZiAocGFyYW1zICYmIHBhcmFtc1tcInN0b3JlQ29kZVwiXSkge1xuICAgICAgICB0aGlzLmRlZXBMaW5rU3RvcmVDb2RlID0gcGFyYW1zW1wic3RvcmVDb2RlXCJdO1xuICAgICAgfVxuICAgICAgaWYgKHBhcmFtcyAmJiBwYXJhbXNbXCJvcHRvbUlkXCJdKSB7XG4gICAgICAgIHRoaXMuZGVlcExpbmtPcHRvbUlkID0gcGFyYW1zW1wib3B0b21JZFwiXTtcbiAgICAgICAgLy8gRHJpdmVzIHRoZSBmaWx0ZXJCeU9wdG9tIHBheWxvYWQga2V5LiBVbmxpa2Ugc3RvcmVDb2RlIHRoaXMgaXMgbm90XG4gICAgICAgIC8vIGNvbnN1bWVkLCBzbyB0aGUgZmlsdGVyIHN1cnZpdmVzIHBhZ2luZy9zb3J0aW5nIHVudGlsIGl0IGlzIGNsZWFyZWQuXG4gICAgICAgIHRoaXMuZmlsdGVyQnlPcHRvbSA9IFN0cmluZyhwYXJhbXNbXCJvcHRvbUlkXCJdKTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgcGFyYW1zICYmXG4gICAgICAgIHBhcmFtc1tcImZyb21EYXRlXCJdICYmXG4gICAgICAgIHBhcmFtc1tcInRvRGF0ZVwiXSAmJlxuICAgICAgICBwYXJhbXNbXCJ0eXBlVmFsdWVcIl1cbiAgICAgICkge1xuICAgICAgICB0aGlzLnR5cGVWYWx1ZSA9IHBhcmFtc1tcInR5cGVWYWx1ZVwiXSA/IHBhcmFtc1tcInR5cGVWYWx1ZVwiXSA6IFwicGh5c2ljYWxcIjtcblxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSA9IHRoaXMuZGF5anMoXG4gICAgICAgICAgcGFyYW1zW1wiZnJvbURhdGVcIl0sXG4gICAgICAgICAgXCJZWVlZLU1NLUREXCJcbiAgICAgICAgKS5mb3JtYXQoXCJERC1NTS1ZWVlZXCIpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmVuZERhdGUgPSB0aGlzLmRheWpzKFxuICAgICAgICAgIHBhcmFtc1tcInRvRGF0ZVwiXSxcbiAgICAgICAgICBcIllZWVktTU0tRERcIlxuICAgICAgICApLmZvcm1hdChcIkRELU1NLVlZWVlcIik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCIvbWFuYWdlL3RyYXgvYXVkaXRcIl0sIHtcbiAgICAgICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICAgICAgZnJvbURhdGU6IHRoaXMuZGF5anMoXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlLFxuICAgICAgICAgICAgICBcIkRELU1NLVlZWVlcIlxuICAgICAgICAgICAgKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxuICAgICAgICAgICAgdG9EYXRlOiB0aGlzLmRheWpzKFxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmVuZERhdGUsXG4gICAgICAgICAgICAgIFwiREQtTU0tWVlZWVwiXG4gICAgICAgICAgICApLmZvcm1hdChcIllZWVktTU0tRERcIiksXG4gICAgICAgICAgICB0eXBlVmFsdWU6IHRoaXMudHlwZVZhbHVlID8gdGhpcy50eXBlVmFsdWUgOiBcInBoeXNpY2FsXCIsXG4gICAgICAgICAgICAvLyBDYXJyeSB0aGUgZGVlcC1saW5rIHNlbGVjdGlvbiB0aHJvdWdoIHRoaXMgcmVkaXJlY3Q7IGRyb3BwaW5nIGl0XG4gICAgICAgICAgICAvLyBoZXJlIGlzIHdoYXQgbWFkZSBzdG9yZUNvZGUgdW51c2FibGUgZnJvbSBhbiBleHRlcm5hbCBsaW5rLlxuICAgICAgICAgICAgLi4uKHRoaXMuZGVlcExpbmtLZXlUeXBlID8geyBrZXlUeXBlOiB0aGlzLmRlZXBMaW5rS2V5VHlwZSB9IDoge30pLFxuICAgICAgICAgICAgLi4uKHRoaXMuZGVlcExpbmtTdG9yZUNvZGVcbiAgICAgICAgICAgICAgPyB7IHN0b3JlQ29kZTogdGhpcy5kZWVwTGlua1N0b3JlQ29kZSB9XG4gICAgICAgICAgICAgIDoge30pLFxuICAgICAgICAgICAgLi4uKHRoaXMuZGVlcExpbmtPcHRvbUlkID8geyBvcHRvbUlkOiB0aGlzLmRlZXBMaW5rT3B0b21JZCB9IDoge30pLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGxldCBkYXRlVGltZSA9IHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlO1xuICAgIHRoaXMuaGVhZERhdGUgPSB0aGlzLmRheWpzKGRhdGVUaW1lLCBcIkRELU1NLVlZWVlcIikuZm9ybWF0KFwiTU1NLCBERFwiKTtcbiAgICB0aGlzLmhlYWREYXRlRW5kID0gdGhpcy5kYXlqcyhcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSxcbiAgICAgIFwiREQtTU0tWVlZWVwiXG4gICAgKS5mb3JtYXQoXCJNTU0gREQsIFlZWVlcIik7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJUeXBlXCIpPy5zZXRWYWx1ZSh0aGlzLnR5cGVWYWx1ZSk7XG4gICAgICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcImNvbXBsaWFuY2VTY29yZVwiKT8uc2V0VmFsdWUodGhpcy50eXBlUGVyY2VudGFnZUFycmF5KTtcbiAgICAgICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiYXVkaXRTdGF0dXNcIik/LnNldFZhbHVlKHRoaXMuYXVkaXRTdGF0dXNBcnJheSk7XG4gICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgLy8gbGV0IGRhdGEgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIikgfHwgXCJcIilcbiAgICAgICAgaWYgKGRhdGE/LmNsaWVudCkge1xuICAgICAgICAgIHRoaXMuaGVhZGVyRmlsdGVycyA9IGRhdGE7XG4gICAgICAgICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5oZWFkZXJGaWx0ZXJzLmNsaWVudCkge1xuICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0QWxsUm0xKClcbiAgICAucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmdldEFsbEdyb3VwczEoKSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5nZXRBbGxTdG9yZXMxKCkpXG4gICAgKVxuICAgIC5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAvLyBBbGwgZG9uZSDinIVcbiAgICAgICAgLy8gRGVlcCBsaW5rIHdpbnMgb3ZlciB0aGUgcm9sZSBkZWZhdWx0OiBzZWxlY3QgdGhlIGxpbmtlZCBzdG9yZSAoYW5kXG4gICAgICAgIC8vIGZvcmNlIHN0b3JlIGxldmVsKSBiZWZvcmUgdGhlIGZpcnN0IHN1Ym1pdCwgc28gdGhlIGluaXRpYWwgcmVzdWx0IHNldFxuICAgICAgICAvLyBpcyBhbHJlYWR5IHNjb3BlZCB0byB0aGF0IHN0b3JlIGluc3RlYWQgb2YgUk0vY2x1c3Rlci5cbiAgICAgICAgdGhpcy5hcHBseURlZXBMaW5rU3RvcmUoKTtcbiAgICAgICAgdGhpcy5vblN1Ym1pdCgpO1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycjphbnkpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIGxvYWRpbmcgZGF0YTpcIiwgZXJyKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgIC8vIH0sIDEwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnVzZXJzICYmIHRoaXMudXNlcnM/LmNsaWVudElkKSB7XG4gICAgICAgICAgICAgIHRoaXMuaGVhZGVyRmlsdGVycy5jbGllbnQgPSB0aGlzLnVzZXJzLmNsaWVudElkO1xuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRBbGxSbTEoKVxuICAgIC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZ2V0QWxsR3JvdXBzMSgpKSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmdldEFsbFN0b3JlczEoKSlcbiAgICApXG4gICAgLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgIC8vIEFsbCBkb25lIOKchVxuICAgICAgICAvLyBEZWVwIGxpbmsgd2lucyBvdmVyIHRoZSByb2xlIGRlZmF1bHQ6IHNlbGVjdCB0aGUgbGlua2VkIHN0b3JlIChhbmRcbiAgICAgICAgLy8gZm9yY2Ugc3RvcmUgbGV2ZWwpIGJlZm9yZSB0aGUgZmlyc3Qgc3VibWl0LCBzbyB0aGUgaW5pdGlhbCByZXN1bHQgc2V0XG4gICAgICAgIC8vIGlzIGFscmVhZHkgc2NvcGVkIHRvIHRoYXQgc3RvcmUgaW5zdGVhZCBvZiBSTS9jbHVzdGVyLlxuICAgICAgICB0aGlzLmFwcGx5RGVlcExpbmtTdG9yZSgpO1xuICAgICAgICB0aGlzLm9uU3VibWl0KCk7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyOmFueSkgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgbG9hZGluZyBkYXRhOlwiLCBlcnIpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgLy8gfSwgMTApO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIGdldEFic1ZhbHVlKHZhbHVlOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdmFsdWUgIT0gbnVsbCA/IE1hdGguYWJzKHZhbHVlKSA6IDA7XG4gIH1cbiAgLy8gY2x1c3RlcnMgb2xkIGFwaSByZW1vdmVkXG4gIC8vIGdldEFsbEdyb3VwcygpIHtcbiAgLy8gICB0aGlzLnRyYXhTZXJ2aWNlLmdldGNsdXN0ZXJzKHsgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRmlsdGVycz8uY2xpZW50LCBncm91cDogW10sIGNpdHk6IFtdIH0pLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xuICAvLyAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gIC8vICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XG4gIC8vICAgICAgICAgdGhpcy5DbHVzdGVyTGlzdCA9IHJlcy5kYXRhLmdyb3VwRGF0YVxuICAvLyAgICAgICB9IGVsc2Uge1xuICAvLyAgICAgICAgIHRoaXMuQ2x1c3Rlckxpc3QgPSBbXVxuICAvLyAgICAgICB9XG4gIC8vICAgICB9XG4gIC8vICAgfSlcbiAgLy8gfVxuICBsb2FkaW5nMSA9IHRydWU7XG5cbiAgLyoqXG4gICAqIEFwcGx5IGEgP2tleVR5cGU9c3RvcmUmc3RvcmVDb2RlPeKApiBkZWVwIGxpbmsgb25jZSBgc3RvcmVMaXN0YCBoYXMgbG9hZGVkLlxuICAgKiBSZXR1cm5zIHRydWUgaWYgaXQgc2VsZWN0ZWQgYSBzdG9yZSAoY2FsbGVyIHNob3VsZCBzdWJtaXQgd2l0aCBpdCkuXG4gICAqXG4gICAqIE1hdGNoZXMgc3RvcmVDb2RlIGFnYWluc3Qgc3RvcmVDb2RlL3N0b3JlSWQvc3RvcmVOYW1lIGJlY2F1c2UgdGhlIEV5ZSBUZXN0XG4gICAqIGRhc2hib2FyZCBzZW5kcyB0aGUgY29kZSBpdCBkaXNwbGF5cyAoZS5nLiBcIkxLU1QxMTk5XCIpIGFuZCB0aGUgVHJheCBzdG9yZVxuICAgKiBvYmplY3RzIGRvIG5vdCB1c2Ugb25lIGNvbnNpc3RlbnQga2V5IGZvciBpdC5cbiAgICovXG4gIGFwcGx5RGVlcExpbmtTdG9yZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5kZWVwTGlua0tleVR5cGUgIT09IFwic3RvcmVcIiB8fCAhdGhpcy5kZWVwTGlua1N0b3JlQ29kZSkge1xuICAgICAgY29uc29sZS53YXJuKFwiW2V5ZS10ZXN0IGRlZXAgbGlua10gc2tpcHBlZFwiLCB7XG4gICAgICAgIGRlZXBMaW5rS2V5VHlwZTogdGhpcy5kZWVwTGlua0tleVR5cGUsXG4gICAgICAgIGRlZXBMaW5rU3RvcmVDb2RlOiB0aGlzLmRlZXBMaW5rU3RvcmVDb2RlLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IHdhbnRlZCA9IFN0cmluZyh0aGlzLmRlZXBMaW5rU3RvcmVDb2RlKS50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBtYXRjaCA9ICh0aGlzLnN0b3JlTGlzdCB8fCBbXSkuZmluZCgoc3Q6IGFueSkgPT4ge1xuICAgICAgY29uc3QgY2FuZGlkYXRlcyA9IFtzdD8uc3RvcmVDb2RlLCBzdD8uc3RvcmVJZCwgc3Q/LnN0b3JlTmFtZV07XG4gICAgICByZXR1cm4gY2FuZGlkYXRlcy5zb21lKFxuICAgICAgICAoYzogYW55KSA9PiBjICE9IG51bGwgJiYgU3RyaW5nKGMpLnRyaW0oKS50b0xvd2VyQ2FzZSgpID09PSB3YW50ZWRcbiAgICAgICk7XG4gICAgfSk7XG4gICAgaWYgKCFtYXRjaCkge1xuICAgICAgY29uc29sZS53YXJuKFwiW2V5ZS10ZXN0IGRlZXAgbGlua10gbm8gc3RvcmUgbWF0Y2hlZFwiLCB7XG4gICAgICAgIHdhbnRlZCxcbiAgICAgICAgc3RvcmVMaXN0TGVuZ3RoOiAodGhpcy5zdG9yZUxpc3QgfHwgW10pLmxlbmd0aCxcbiAgICAgICAgc2FtcGxlOiAodGhpcy5zdG9yZUxpc3QgfHwgW10pLnNsaWNlKDAsIDMpLm1hcCgoc3Q6IGFueSkgPT4gKHtcbiAgICAgICAgICBzdG9yZUNvZGU6IHN0Py5zdG9yZUNvZGUsXG4gICAgICAgICAgc3RvcmVJZDogc3Q/LnN0b3JlSWQsXG4gICAgICAgICAgc3RvcmVOYW1lOiBzdD8uc3RvcmVOYW1lLFxuICAgICAgICB9KSksXG4gICAgICB9KTtcbiAgICB9XG4gICAgLy8gQ29uc3VtZSB0aGUgbGluayBlaXRoZXIgd2F5OiBhbiB1bm1hdGNoZWQgY29kZSBtdXN0IG5vdCByZS1maXJlIG9uIGV2ZXJ5XG4gICAgLy8gc3Vic2VxdWVudCBlbWlzc2lvbiBvZiB0aGUgcXVlcnlQYXJhbXMvZGF0YVJhbmdlIHN1YnNjcmlwdGlvbnMuXG4gICAgdGhpcy5kZWVwTGlua0tleVR5cGUgPSBudWxsO1xuICAgIHRoaXMuZGVlcExpbmtTdG9yZUNvZGUgPSBudWxsO1xuICAgIGlmICghbWF0Y2gpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgLy8gYnVpbGRSZXF1ZXN0RGF0YSgpIHJlYWRzIHRoaXMua2V5VHlwZSAodGhlcmUgaXMgbm8ga2V5VHlwZSBmb3JtIGNvbnRyb2wpLFxuICAgIC8vIHNvIHNldHRpbmcgdGhlIHByb3BlcnR5IGlzIHdoYXQgc2NvcGVzIHRoZSByZXF1ZXN0IHRvIHN0b3JlIGxldmVsLlxuICAgIHRoaXMua2V5VHlwZSA9IFwic3RvcmVcIjtcbiAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcInN0b3JlTGlzdFwiKT8uc2V0VmFsdWUoW21hdGNoXSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBjbHVzdGVycyBuZXcgYXBpXG4gIGdldEFsbEdyb3VwczEoZXZlbnQ/OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBcbiAgICBsZXQgcm1MaXN0OiBhbnkgPSBbXTtcbiAgICB0aGlzLkNsdXN0ZXJMaXN0ID0gW107XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5SbUxpc3QpKSB7XG4gICAgICB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLlJtTGlzdC5mb3JFYWNoKChlbDogYW55KSA9PiB7XG4gICAgICAgIHJtTGlzdC5wdXNoKGVsPy5lbWFpbCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgZXZlbnQ/Lm1hcCgoZWw6IGFueSkgPT4gZWw/LmVtYWlsKSB8fCBbdGhpcy51c2Vycz8uZW1haWxdO1xuICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckZpbHRlcnM/LmNsaWVudCA/IHRoaXMuaGVhZGVyRmlsdGVycy5jbGllbnQgOiBcIlwiLFxuICAgICAgcm1MaXN0OiBybUxpc3QubGVuZ3RoID4gMCA/IHJtTGlzdCA6IFt0aGlzLnVzZXJzPy5lbWFpbF0sXG4gICAgfTtcbiAgIHJldHVybiB0aGlzLmV5ZVNlcnZpY2UuZ2V0Q2x1c3RlcnMob2JqKS5waXBlKFxuICAgIHRhcCgocmVzOiBhbnkpID0+IHtcbiAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xuICAgICAgICB0aGlzLkNsdXN0ZXJMaXN0ID0gcmVzLmRhdGEucmVzdWx0O1xuICAgICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIkNsdXN0ZXJMaXN0XCIpPy5zZXRWYWx1ZSh0aGlzLkNsdXN0ZXJMaXN0KTtcbiAgICAgICAgdGhpcy5ncm91cHMgPSB0aGlzLkNsdXN0ZXJMaXN0Lm1hcCgoZWw6IGFueSkgPT4gZWwuY2x1c3Rlck5hbWUpO1xuICAgICAgICAvLyBOb3RlOiBEbyBOT1QgY2FsbCBnZXRBbGxTdG9yZXMoKSBoZXJlOyBjaGFpbiBpdCBvdXRzaWRlXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLkNsdXN0ZXJMaXN0ID0gW107XG4gICAgICAgIHRoaXMubG9hZGluZzEgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pXG4gICApO1xuICB9XG5cbiAgLy8gY2xpZW50RGV0YWlscygpIHtcbiAgLy8gICB0aGlzLnRyYXhTZXJ2aWNlLmdldGNsaWVudCh7IGNsaWVudElkOiB0aGlzLmhlYWRlckZpbHRlcnMuY2xpZW50IH0pLnN1YnNjcmliZSh7XG4gIC8vICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgLy8gICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcbiAgLy8gICAgICAgICB0aGlzLmNsaWVudERhdGEgPSByZXMuZGF0YS5yZXN1bHRcbiAgLy8gICAgICAgfVxuICAvLyAgICAgfVxuICAvLyAgIH0pXG4gIC8vIH1cblxuIGdldEFsbFN0b3JlczEoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgcmV0dXJuIHRoaXMudHJheFNlcnZpY2VcbiAgICAuZ2V0U3RvcmVzbGlzdCh7XG4gICAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJGaWx0ZXJzPy5jbGllbnQsXG4gICAgICBjbHVzdGVyczogdGhpcy5ncm91cHMsXG4gICAgICBjaXR5OiBbXSxcbiAgICB9KVxuICAgIC5waXBlKFxuICAgICAgdGFwKChyZXM6IGFueSkgPT4ge1xuICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcbiAgICAgICAgICB0aGlzLnN0b3JlTGlzdCA9IHJlcy5kYXRhLnN0b3Jlc0RhdGE7XG4gICAgICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJzdG9yZUxpc3RcIik/LnNldFZhbHVlKHRoaXMuc3RvcmVMaXN0KTtcbiAgICAgICAgICB0aGlzLmxvYWRpbmcxID1mYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnN0b3JlTGlzdCA9IFtdO1xuICAgICAgICAgICB0aGlzLmxvYWRpbmcxID1mYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgKTtcbn1cblxuICB0eXBlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIlR5cGVcIik/LnNldFZhbHVlKGV2ZW50KTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCIvbWFuYWdlL3RyYXgvYXVkaXRcIl0sIHtcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgIGZyb21EYXRlOiB0aGlzLmRheWpzKFxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlLFxuICAgICAgICAgIFwiREQtTU0tWVlZWVwiXG4gICAgICAgICkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcbiAgICAgICAgdG9EYXRlOiB0aGlzLmRheWpzKHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSwgXCJERC1NTS1ZWVlZXCIpLmZvcm1hdChcbiAgICAgICAgICBcIllZWVktTU0tRERcIlxuICAgICAgICApLFxuICAgICAgICB0eXBlVmFsdWU6IGV2ZW50LFxuICAgICAgfSxcbiAgICB9KTtcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGRhdGVUeXBlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcImRhdGVUeXBlXCIpPy5zZXRWYWx1ZShldmVudCk7XG4gICAgaWYoZXZlbnQgPT09IFwiYXVkaXRlZERhdGVcIil7XG4gICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcImF1ZGl0U3RhdHVzXCIpPy5zZXRWYWx1ZShbLi4udGhpcy5hdWRpdGVkRGF0ZUF1ZGl0U3RhdHVzXSk7XG4gICAgfWVsc2V7XG4gICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcImF1ZGl0U3RhdHVzXCIpPy5zZXRWYWx1ZShbLi4udGhpcy5hdWRpdFN0YXR1c0FycmF5XSk7XG4gICAgfVxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIFxuICB9XG5cbiAgYXVkaXRUeXBlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcImF1ZGl0VHlwZVwiKT8uc2V0VmFsdWUoZXZlbnQpO1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgdHlwZVBlcmNlbnRhZ2VDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiY29tcGxpYW5jZVNjb3JlXCIpPy5zZXRWYWx1ZShldmVudCk7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbiAgdHlwZUF1ZGl0U3RhdHVzQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zb2xlLmxvZyhcIi4uLi4uLi4uLi4uLi4uLnR5cGVhdWRpdENoYWdlc1wiLCBldmVudClcbiAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcImF1ZGl0U3RhdHVzXCIpPy5zZXRWYWx1ZShldmVudCk7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbiAgbmVhckFkZGl0aW9uQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIm5lYXJBZGRpdGlvblwiKT8uc2V0VmFsdWUoZXZlbnQpO1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIGNhdGVnb3J5VHlwZUNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJjYXRlZ29yeVwiKT8uc2V0VmFsdWUoZXZlbnQpO1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIGRhdGVjaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIGlmIChldmVudCAmJiBldmVudC5zdGFydERhdGUgJiYgZXZlbnQuZW5kRGF0ZSkge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmRheWpzKGV2ZW50LnN0YXJ0RGF0ZSkuaXNWYWxpZCgpICYmXG4gICAgICAgIHRoaXMuZGF5anMoZXZlbnQuZW5kRGF0ZSkuaXNWYWxpZCgpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUgPSB0aGlzLmRheWpzKFxuICAgICAgICAgIGV2ZW50LnN0YXJ0RGF0ZSxcbiAgICAgICAgICBcIkRELU1NLVlZWVlcIlxuICAgICAgICApLmZvcm1hdChcIllZWVktTU0tRERcIik7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSA9IHRoaXMuZGF5anMoXG4gICAgICAgICAgZXZlbnQuZW5kRGF0ZSxcbiAgICAgICAgICBcIkRELU1NLVlZWVlcIlxuICAgICAgICApLmZvcm1hdChcIllZWVktTU0tRERcIik7XG5cbiAgICAgICAgdGhpcy5leWVUZXN0Rm9ybVxuICAgICAgICAgIC5nZXQoXCJmcm9tRGF0ZVwiKVxuICAgICAgICAgID8uc2V0VmFsdWUodGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUgJiZcbiAgICAgICAgICB0aGlzLmRheWpzKHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlKS5pc1ZhbGlkKClcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5oZWFkRGF0ZSA9IHRoaXMuZGF5anModGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUpLmZvcm1hdChcbiAgICAgICAgICAgIFwiTU1NLCBERFwiXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmV5ZVRlc3RGb3JtXG4gICAgICAgICAgLmdldChcInRvRGF0ZVwiKVxuICAgICAgICAgID8uc2V0VmFsdWUodGhpcy5zZWxlY3RlZERhdGVSYW5nZS5lbmREYXRlKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSAmJlxuICAgICAgICAgIHRoaXMuZGF5anModGhpcy5zZWxlY3RlZERhdGVSYW5nZS5lbmREYXRlKS5pc1ZhbGlkKClcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5oZWFkRGF0ZUVuZCA9IHRoaXMuZGF5anModGhpcy5zZWxlY3RlZERhdGVSYW5nZS5lbmREYXRlKS5mb3JtYXQoXG4gICAgICAgICAgICBcIk1NTSBERCwgWVlZWVwiXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCIvbWFuYWdlL3RyYXgvYXVkaXRcIl0sIHtcbiAgICAgICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICAgICAgZnJvbURhdGU6IHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlLFxuICAgICAgICAgICAgdG9EYXRlOiB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmVuZERhdGUsXG4gICAgICAgICAgICB0eXBlVmFsdWU6IHRoaXMudHlwZVZhbHVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uU3RhcnREYXRlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAodGhpcy5kYXlqcyhldmVudC5zdGFydERhdGUpLmlzVmFsaWQoKSkge1xuICAgICAgdGhpcy5pc0N1c3RvbURhdGUgPSAobTogZGF5anMuRGF5anMpID0+IHtcbiAgICAgICAgY29uc3QgaXNWYWxpZERhdGUgPVxuICAgICAgICAgIG0gPiB0aGlzLmRheWpzKCkgfHwgbSA+IHRoaXMuZGF5anMoZXZlbnQuc3RhcnREYXRlLmFkZCg2MCwgXCJkYXlzXCIpKTtcbiAgICAgICAgcmV0dXJuIGlzVmFsaWREYXRlID8gXCJpbnZhbGlkLWRhdGVcIiA6IGZhbHNlO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICByZXNldFZhbGlkYXRpb24oKSB7XG4gICAgdGhpcy5pc0N1c3RvbURhdGUgPSAobTogZGF5anMuRGF5anMpID0+IHtcbiAgICAgIC8vIENoZWNrIGlmIHRoZSBnaXZlbiBkYXRlIGlzIGJlZm9yZSB5ZXN0ZXJkYXlcbiAgICAgIHJldHVybiBtLmlzQWZ0ZXIodGhpcy5kYXlqcygpLCBcImRheVwiKSA/IFwiaW52YWxpZC1kYXRlXCIgOiBmYWxzZTtcbiAgICB9O1xuICB9XG5cbiAgc2VsZWN0ZWRUeXBlOiBhbnk7XG4gIGNyZWF0ZUZvcm0oKSB7XG4gICAgY29uc3QgaXNSZW1vdGUgPSB0aGlzLnNlbGVjdGVkVHlwZSA9PT0gXCJwaHlzaWNhbFwiOyAvLyBvciBob3dldmVyIHlvdSdyZSBkZXRlcm1pbmluZyBpdFxuXG4gICAgdGhpcy5leWVUZXN0Rm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgZnJvbURhdGU6IFtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZT8uc3RhcnREYXRlXG4gICAgICAgID8gdGhpcy5kYXlqcyh0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSwgXCJERC1NTS1ZWVlZXCIpLmZvcm1hdChcIllZWVktTU0tRERcIilcbiAgICAgICAgOiB0aGlzLmRheWpzKCkuc3VidHJhY3QoMSwgXCJkYXlcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcbiAgICAgIF0sXG4gICAgICB0b0RhdGU6IFtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZT8uZW5kRGF0ZVxuICAgICAgICA/IHRoaXMuZGF5anModGhpcy5zZWxlY3RlZERhdGVSYW5nZS5lbmREYXRlLCBcIkRELU1NLVlZWVlcIikuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKVxuICAgICAgICA6IHRoaXMuZGF5anMoKS5zdWJ0cmFjdCgxLCBcImRheVwiKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxuICAgICAgXSxcbiAgICAgIHR5cGU6IHRoaXMudHlwZVZhbHVlLFxuICAgICAgZGF0ZVR5cGU6IFwiZmlsZURhdGVcIixcbiAgICAgIGNvbXBsaWFuY2VTY29yZTogW3RoaXMudHlwZVBlcmNlbnRhZ2VBcnJheV0sXG4gICAgICAuLi4oaXNSZW1vdGUgPyB7fSA6IHsgY2F0ZWdvcnk6IFtcImdlbnVpbmVcIl0gfSksXG4gICAgICBuZWFyQWRkaXRpb246IFtcIlwiXSxcbiAgICAgIGF1ZGl0U3RhdHVzOiBbdGhpcy5hdWRpdFN0YXR1c0FycmF5XSxcbiAgICAgIENsdXN0ZXJMaXN0OiBbdGhpcy5ncm91cHNdLFxuICAgICAgc3RvcmVMaXN0OiBbdGhpcy5zdG9yZXNdLFxuICAgICAgUm1MaXN0OiBbdGhpcy5SbUxpc3RdLFxuICAgICAgLi4uKGlzUmVtb3RlID8ge30gOiB7IGF1ZGl0VHlwZTogXCJhbGxcIiB9KSwgLy8gQ29uZGl0aW9uYWxseSBhZGQgYXVkaXRUeXBlXG4gICAgfSk7XG4gIH1cblxuICBvbmdyb3VwU2VsZWN0KGV2ZW50OiBhbnkpIHtcbiAgICAvLyB0aGlzLmxvYWRpbmcxID0gdHJ1ZTtcbiAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIkNsdXN0ZXJMaXN0XCIpPy5zZXRWYWx1ZShldmVudCk7XG4gICAgdGhpcy5ncm91cHMgPSBldmVudC5tYXAoKGVsOiBhbnkpID0+IGVsLmNsdXN0ZXJOYW1lKTtcbiAgICB0aGlzLnRyYXhTZXJ2aWNlXG4gICAgICAuZ2V0U3RvcmVzbGlzdCh7XG4gICAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckZpbHRlcnMuY2xpZW50LFxuICAgICAgICBjbHVzdGVyczogdGhpcy5ncm91cHMsXG4gICAgICAgIGNpdHk6IFtdLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZUxpc3QgPSByZXMuZGF0YS5zdG9yZXNEYXRhO1xuICAgICAgICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJzdG9yZUxpc3RcIik/LnNldFZhbHVlKHRoaXMuc3RvcmVMaXN0KTtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZzEgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMub25TdWJtaXQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgICAgdGhpcy5zdG9yZUxpc3QgPSBbXTtcbiAgICAgICAgICB0aGlzLmxvYWRpbmcxID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5vblN1Ym1pdCgpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBvblN0b3JlU2VsZWN0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcInN0b3JlTGlzdFwiKT8uc2V0VmFsdWUoZXZlbnQpO1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIHNlYXJjaFZhbHVlOiBhbnkgPSBcIlwiO1xuICBzZWFyY2hEYXRhKCkge1xuICAgIHRoaXMuc2VhcmNoVmFsdWUgPSB0aGlzLnNlYXJjaFZhbHVlO1xuICAgIHRoaXMub25TdWJtaXQoKTtcbiAgfVxuXG4gIHBhZ2luYXRpb25TaXplczogYW55W10gPSBbXTtcbiAgcGFnZVNpemUgPSAxMDtcbiAgc2V0UGFnaW5hdGlvblNpemVzKCkge1xuICAgIGlmICh0aGlzLnRvdGFsSXRlbXMgPiAxMCkge1xuICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXMgPSBbMTAsIDIwLCAzMF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gW3RoaXMudG90YWxJdGVtc107IC8vIEp1c3Qgb25lIG9wdGlvbiBpZiAgMTBcbiAgICB9XG4gICAgdGhpcy5wYWdlU2l6ZSA9IHRoaXMucGFnaW5hdGlvblNpemVzWzBdO1xuICB9XG4gIFJtTGlzdERhdGE6IGFueSA9IFtdO1xuICBrZXlUeXBlOiBhbnk7XG4gIC8vIFNldCBmcm9tIHRoZSA/a2V5VHlwZS9zdG9yZUNvZGUvb3B0b21JZCBkZWVwIGxpbmsgKEV5ZSBUZXN0IGRhc2hib2FyZFxuICAvLyBcIkF1ZGl0XCIgYnV0dG9uKS4gQXBwbGllZCBieSBhcHBseURlZXBMaW5rU3RvcmUoKSBvbmNlIHRoZSBjbHVzdGVyL3N0b3JlXG4gIC8vIGxpc3RzIGhhdmUgcmVzb2x2ZWQsIGFuZCBjb25zdW1lZCBvbmNlIHNvIGEgbGF0ZXIgbWFudWFsIGxldmVsIGNoYW5nZSB3aW5zLlxuICBkZWVwTGlua0tleVR5cGU6IGFueSA9IG51bGw7XG4gIGRlZXBMaW5rU3RvcmVDb2RlOiBhbnkgPSBudWxsO1xuICBkZWVwTGlua09wdG9tSWQ6IGFueSA9IG51bGw7XG4gIHJtRW1haWw6IGFueTtcblxuICAvLyBUYW5nbyBBSVxuICBleWVUZXN0Q2hhdFF1ZXJ5ID0gJyc7XG4gIGV5ZVRlc3RBaU1lc3NhZ2U6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBzaG93RXllVGVzdEFpTWVzc2FnZSA9IGZhbHNlO1xuXG4gIC8vIE1vZGVsIHN3aXRjaGVyXG4gIHJlYWRvbmx5IG1vZGVsT3B0aW9ucyA9IFtcbiAgICB7IGxhYmVsOiAndjEnLCB2YWx1ZTogJ2dlbWluaS0yLjUtcHJvJyB9LFxuICAgIHsgbGFiZWw6ICd2MicsIHZhbHVlOiAnY2xhdWRlLXNvbm5ldC00LTYnIH1cbiAgXTtcbiAgc2VsZWN0ZWRNb2RlbCA9ICdjbGF1ZGUtc29ubmV0LTQtNic7XG4gIHNob3dQbHVzTWVudSA9IGZhbHNlO1xuXG4gIGdldCBzZWxlY3RlZE1vZGVsVmVyc2lvbigpOiBzdHJpbmcge1xuICAgIGNvbnN0IG1hdGNoID0gdGhpcy5zZWxlY3RlZE1vZGVsLm1hdGNoKC8oXFxkK1xcLlxcZCspLyk7XG4gICAgcmV0dXJuIG1hdGNoID8gbWF0Y2hbMV0gOiAnJztcbiAgfVxuXG4gIHNlbGVjdE1vZGVsKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHsgdGhpcy5zZWxlY3RlZE1vZGVsID0gdmFsdWU7IH1cbiAgdG9nZ2xlUGx1c01lbnUoKTogdm9pZCB7IHRoaXMuc2hvd1BsdXNNZW51ID0gIXRoaXMuc2hvd1BsdXNNZW51OyB9XG4gIGNsb3NlUGx1c01lbnUoKTogdm9pZCB7IHRoaXMuc2hvd1BsdXNNZW51ID0gZmFsc2U7IH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uRG9jdW1lbnRDbGljayhlOiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCEoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoJy5wbHVzLW1lbnUtd3JhcCcpKSB7XG4gICAgICB0aGlzLnNob3dQbHVzTWVudSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuICAvLyB0eXBlVmFsKHZhbDogYW55LCBvYmo/OiBhbnkpIHtcbiAgLy8gICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAvLyAgIHRoaXMuc2VhcmNoVmFsdWUgPSBcIlwiO1xuICAvLyAgIHRoaXMubGltaXQgPSAxMDtcbiAgLy8gICB0aGlzLm9mZnNldCA9IDE7XG4gIC8vICAgdGhpcy5wYWdlU2l6ZSA9IDEwO1xuICAvLyAgIHRoaXMua2V5VHlwZSA9IHZhbDtcbiAgLy8gICB0aGlzLnJtRW1haWwgPSBvYmo/LlJNRW1haWwgPyBvYmo/LlJNRW1haWwgOiBvYmo7XG4gIC8vICAgLy8g8J+UjSBmaW5kIHRoZSBSTSBvYmplY3QgaW4geW91ciBSbUxpc3QgYXJyYXlcbiAgLy8gICAgaWYgKHRoaXMudXNlcnM/LnJvbGUgPT09IFwic3VwZXJhZG1pblwiICYmIHRoaXMuUm1MaXN0Py5sZW5ndGgpIHtcbiAgLy8gICB0aGlzLlJtTGlzdD8uZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gIC8vICAgICBpZiAoZWxlbWVudD8uZW1haWwgPT09IHRoaXMucm1FbWFpbCkge1xuICAvLyAgICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIlJtTGlzdFwiKT8uc2V0VmFsdWUoW2VsZW1lbnRdKTtcbiAgLy8gICAgICAgdGhpcy5vblJtU2VsZWN0KFtlbGVtZW50XSk7XG4gIC8vICAgICB9XG4gIC8vICAgfSk7XG4gIC8vIH1cbiAgLy8gICB0aGlzLmdyb3VwcyA9IG9iaj8uY2x1c3Rlck5hbWUgPyBbb2JqPy5jbHVzdGVyTmFtZV0gOiB0aGlzLmdyb3VwcztcbiAgLy8gICAgaWYgKFxuICAvLyAgICAgdGhpcy51c2Vycz8ucm9sZSA9PT0gXCJhZG1pblwiICYmXG4gIC8vICAgICB0aGlzLkNsdXN0ZXJMaXN0Py5sZW5ndGggJiZcbiAgLy8gICAgIG9iaj8uY2x1c3Rlck5hbWVcbiAgLy8gICApIHtcbiAgLy8gICB0aGlzLkNsdXN0ZXJMaXN0LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAvLyAgICAgaWYgKGVsZW1lbnQ/LmNsdXN0ZXJOYW1lID09PSB0aGlzLmdyb3Vwcykge1xuICAvLyAgICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIkNsdXN0ZXJMaXN0XCIpPy5zZXRWYWx1ZShbZWxlbWVudF0pO1xuICAvLyAgICAgICB0aGlzLm9uZ3JvdXBTZWxlY3QoW2VsZW1lbnRdKTtcbiAgLy8gICAgIH1cbiAgLy8gICB9KTtcbiAgLy8gfVxuICAvLyAgIHRoaXMuc29ydGVkQ29sdW1uID0gXCJkYXRlXCI7XG4gIC8vICAgaWYgKHRoaXMucm1FbWFpbCA9PT0gXCJcIikgdGhpcy5vblN1Ym1pdCgpO1xuICAvLyB9XG4gIGRlbW9HcmFwaWNzOmFueTtcbiAgdHlwZVZhbCh2YWw6IGFueSwgb2JqPzogYW55KSB7XG4gICAgLy8gY29uc29sZS5sb2codmFsLCBvYmopO1xuICAgdGhpcy50eXBlUGVyY2VudGFnZUFycmF5ID1bXTtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuc2VhcmNoVmFsdWUgPSBcIlwiO1xuICAgIHRoaXMuZmlsdGVyQnlPcHRvbSA9IFwiXCI7XG4gICAgdGhpcy5saW1pdCA9IDEwO1xuICAgIHRoaXMub2Zmc2V0ID0gMTtcbiAgICB0aGlzLnBhZ2VTaXplID0gMTA7XG4gICAgdGhpcy5rZXlUeXBlID0gdmFsO1xuICAgIHRoaXMuc2hvd0V5ZVRlc3RBaU1lc3NhZ2UgPSBmYWxzZTtcbiAgICB0aGlzLmV5ZVRlc3RBaU1lc3NhZ2UgPSBudWxsO1xuICAgIHRoaXMuZXllVGVzdENoYXRRdWVyeSA9ICcnO1xuICAgIHRoaXMuaW5pdEFpU2Vzc2lvbigpO1xuICAgIHRoaXMuc29ydGVkQ29sdW1uID0gXCJkYXRlXCI7XG50aGlzLmRlbW9HcmFwaWNzID0gdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5hdWRpdFR5cGU7XG5pZiAodGhpcy5kZW1vR3JhcGljcyA9PT0gXCJhbGxcIikge1xuICB0aGlzLmRlbW9HcmFwaWNzID0gW1wiYWR1bHRcIiwgXCJraWRzXCJdO1xufVxuICAgIGlmICh0aGlzLnVzZXJzPy5yb2xlID09PSBcInN1cGVyYWRtaW5cIiAmJiB0aGlzLlJtTGlzdD8ubGVuZ3RoKVxuICAgICAgdGhpcy5ybUVtYWlsID0gb2JqPy5STUVtYWlsID8gb2JqPy5STUVtYWlsIDogb2JqO1xuICAgIFxuICAgIHRoaXMuZ3JvdXBzID0gb2JqPy5jbHVzdGVyTmFtZSA/IFtvYmo/LmNsdXN0ZXJOYW1lXSA6IHRoaXMuZ3JvdXBzO1xuICAgIFxuICAgIGxldCBmb3VuZFJNID0gZmFsc2U7XG4gICAgbGV0IGZvdW5kQ2x1c3RlciA9IGZhbHNlO1xuICAgIHRoaXMuc2V0Q29tcGxpYW5jZVBlcmNlbnRhZ2VBcnJheSh2YWwpO1xuICAgICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcImNvbXBsaWFuY2VTY29yZVwiKT8uc2V0VmFsdWUodGhpcy50eXBlUGVyY2VudGFnZUFycmF5KTtcbiAgICBpZigodGhpcy51c2Vycz8ucm9sZSA9PT0gXCJzdXBlcmFkbWluXCIgfHwgdGhpcy51c2Vycz8ucm9sZSA9PT0gXCJhZG1pblwiKSAmJiB2YWwgPT09XCJzdG9yZVwiICYmXG4gICAgICAgIHRoaXMuQ2x1c3Rlckxpc3Q/Lmxlbmd0aCAmJlxuICAgICAgICBvYmo/LmNsdXN0ZXJOYW1lXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5DbHVzdGVyTGlzdC5mb3JFYWNoKFxuICAgICAgICAgIChlbGVtZW50OiBhbnkpID0+IFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZihlbGVtZW50Py5jbHVzdGVyTmFtZSA9PT0gb2JqLmNsdXN0ZXJOYW1lKXtcbiAgICAgICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIkNsdXN0ZXJMaXN0XCIpPy5zZXRWYWx1ZShbZWxlbWVudF0pO1xuICAgICAgICAgIHRoaXMub25ncm91cFNlbGVjdChbZWxlbWVudF0pO1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nMSA9IHRydWU7XG4gICAgICAgICAgZm91bmRDbHVzdGVyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9IGVsc2UgaWYoKHRoaXMudXNlcnM/LnJvbGUgPT09IFwic3VwZXJhZG1pblwiIHx8IHRoaXMudXNlcnM/LnJvbGUgPT09IFwiYWRtaW5cIikgJiYgdmFsID09PVwiY2x1c3RlclwiICYmXG4gICAgICAgIHRoaXMuQ2x1c3Rlckxpc3Q/Lmxlbmd0aCAmJlxuICAgICAgICBvYmo/LmNsdXN0ZXJOYW1lXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5DbHVzdGVyTGlzdC5mb3JFYWNoKFxuICAgICAgICAgIChlbGVtZW50OiBhbnkpID0+IFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZihlbGVtZW50Py5jbHVzdGVyTmFtZSA9PT0gb2JqLmNsdXN0ZXJOYW1lKXtcbiAgICAgICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIkNsdXN0ZXJMaXN0XCIpPy5zZXRWYWx1ZShbZWxlbWVudF0pO1xuICAgICAgICAgIHRoaXMub25ncm91cFNlbGVjdChbZWxlbWVudF0pO1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nMSA9IHRydWU7XG4gICAgICAgICAgZm91bmRDbHVzdGVyID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyDinIUgUk0gc2VsZWN0aW9uIChvbmx5IGZvciBzdXBlcmFkbWluKVxuICAgIGlmICh0aGlzLnVzZXJzPy5yb2xlID09PSBcInN1cGVyYWRtaW5cIiAmJiB2YWwgPT09XCJjbHVzdGVyXCIgJiYgdGhpcy5SbUxpc3Q/Lmxlbmd0aCkge1xuICAgICB0aGlzLlJtTGlzdC5mb3JFYWNoKFxuICAgICAgICAoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICAgICAgaWYoZWxlbWVudD8uZW1haWwgPT09IHRoaXMucm1FbWFpbCkge1xuICAgICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIlJtTGlzdFwiKT8uc2V0VmFsdWUoW2VsZW1lbnRdKTtcbiAgICAgICAgdGhpcy5vblJtU2VsZWN0KFtlbGVtZW50XSk7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nMSA9IHRydWU7XG4gICAgICAgIGZvdW5kUk0gPSB0cnVlO1xuICAgICAgfVxuICAgIH0pXG4gICAgfVxuXG4gICAgLy8g4pyFIENsdXN0ZXIgc2VsZWN0aW9uIChvbmx5IGZvciBhZG1pbilcblxuICAgIC8vIOKchSBTdWJtaXQgZmFsbGJhY2tcbiAgICBpZiAoIWZvdW5kUk0gJiYgIWZvdW5kQ2x1c3Rlcikge1xuICAgIHRoaXMuZ2V0QWxsU3RvcmVzKCk7XG4gICAgfVxuICAgXG4gICAgICAgICAgICAgICAgIHRoaXMub25TdWJtaXQoKTtcbiAgICAgICAgXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbnR5cGVWYWwxKHZhbDogYW55LCBvYmo/OiBhbnkpIHtcbiAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgdGhpcy5zZWFyY2hWYWx1ZSA9IFwiXCI7XG4gIHRoaXMuZmlsdGVyQnlPcHRvbSA9IFwiXCI7XG4gIHRoaXMubGltaXQgPSAxMDtcbiAgdGhpcy5vZmZzZXQgPSAxO1xuICB0aGlzLnBhZ2VTaXplID0gMTA7XG4gIHRoaXMua2V5VHlwZSA9IHZhbDtcbiAgdGhpcy5zaG93RXllVGVzdEFpTWVzc2FnZSA9IGZhbHNlO1xuICB0aGlzLmV5ZVRlc3RBaU1lc3NhZ2UgPSBudWxsO1xuICB0aGlzLmV5ZVRlc3RDaGF0UXVlcnkgPSAnJztcbiAgdGhpcy5pbml0QWlTZXNzaW9uKCk7XG4gIHRoaXMuc29ydGVkQ29sdW1uID0gXCJkYXRlXCI7XG4gICB0aGlzLnNldENvbXBsaWFuY2VQZXJjZW50YWdlQXJyYXkodmFsKTtcbiAgICAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJjb21wbGlhbmNlU2NvcmVcIik/LnNldFZhbHVlKHRoaXMudHlwZVBlcmNlbnRhZ2VBcnJheSk7XG4gIGlmICh0aGlzLnVzZXJzPy5yb2xlID09PSBcInN1cGVyYWRtaW5cIiAmJiB0aGlzLlJtTGlzdD8ubGVuZ3RoKSB7XG4gICAgdGhpcy5ybUVtYWlsID0gb2JqPy5STUVtYWlsID8gb2JqPy5STUVtYWlsIDogb2JqO1xuICB9XG5cbiAgLy8gdGhpcy5ncm91cHMgPSBvYmo/LmNsdXN0ZXJOYW1lID8gW29iaj8uY2x1c3Rlck5hbWVdIDogdGhpcy5ncm91cHM7XG5cbiAgdGhpcy5kZW1vR3JhcGljcyA9IHRoaXMuZXllVGVzdEZvcm0udmFsdWUuYXVkaXRUeXBlO1xuICBpZiAodGhpcy5kZW1vR3JhcGljcyA9PT0gXCJhbGxcIikge1xuICAgIHRoaXMuZGVtb0dyYXBpY3MgPSBbXCJhZHVsdFwiLCBcImtpZHNcIl07XG4gIH1cbiAgdGhpcy5leWVUZXN0RGF0YSA9IFtdO1xuICBsZXQgZm91bmRSTSA9IGZhbHNlO1xuICBsZXQgZm91bmRDbHVzdGVyID0gZmFsc2U7XG5cbiAgLy8g4pyFIENsdXN0ZXIgLyBTdG9yZVxuICBpZiAoKHRoaXMudXNlcnM/LnJvbGUgPT09IFwic3VwZXJhZG1pblwiIHx8IHRoaXMudXNlcnM/LnJvbGUgPT09IFwiYWRtaW5cIikgJiZcbiAgICAgICh2YWwgPT09IFwic3RvcmVcIiB8fCB2YWwgPT09IFwiY2x1c3RlclwiKSkge1xuICAgICB0aGlzLmdldEFsbEdyb3VwcygpO1xuICAgICAgIHRoaXMubG9hZGluZzEgPSB0cnVlO1xuICAgIGZvdW5kQ2x1c3RlciA9IHRydWU7XG4gIH1cblxuICAvLyDinIUgUk0gKG9ubHkgZm9yIHN1cGVyYWRtaW4pXG4gIGlmICh0aGlzLnVzZXJzPy5yb2xlID09PSBcInN1cGVyYWRtaW5cIiAmJiB2YWwgPT09IFwicm1cIikge1xuICAgdGhpcy5vblJtU2VsZWN0KHRoaXMucm1MaXN0KTtcbiAgICAgdGhpcy5sb2FkaW5nMSA9IHRydWU7XG4gICAgZm91bmRSTSA9IHRydWU7XG4gIH1cblxuICAvLyDinIUgRmFsbGJhY2tcbiAgaWYgKCFmb3VuZFJNICYmICFmb3VuZENsdXN0ZXIpIHtcbiAgICB0aGlzLmdldEFsbFN0b3JlcygpO1xuICB9XG4gIFxuICAgICAgICAgICAgICAgICB0aGlzLm9uU3VibWl0KCk7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nMSA9ZmFsc2U7XG4gIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xufVxuLy8gcHJpdmF0ZSByZXNldEFsbENsdXN0ZXJzKCkge1xuLy8gICBpZiAodGhpcy5DbHVzdGVyTGlzdD8ubGVuZ3RoKSB7XG4vLyAgICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJDbHVzdGVyTGlzdFwiKT8uc2V0VmFsdWUodGhpcy5DbHVzdGVyTGlzdCk7XG4vLyAgICAgdGhpcy5vbmdyb3VwU2VsZWN0KHRoaXMuQ2x1c3Rlckxpc3QpO1xuLy8gICB9IGVsc2Uge1xuLy8gICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiQ2x1c3Rlckxpc3RcIik/LnNldFZhbHVlKFtdKTtcbi8vICAgfVxuLy8gICB0aGlzLmdldEFsbEdyb3VwcygpO1xuLy8gfVxuXG4vLyBwcml2YXRlIHJlc2V0QWxsUm1zKCkge1xuLy8gICBpZiAodGhpcy5SbUxpc3Q/Lmxlbmd0aCkge1xuLy8gICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiUm1MaXN0XCIpPy5zZXRWYWx1ZSh0aGlzLlJtTGlzdCk7XG4vLyAgICAgdGhpcy5vblJtU2VsZWN0KHRoaXMuUm1MaXN0KTtcbi8vICAgfSBlbHNlIHtcbi8vICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIlJtTGlzdFwiKT8uc2V0VmFsdWUoW10pO1xuLy8gICB9XG4vLyAgIHRoaXMuZ2V0QWxsUm0oKTtcbi8vIH1cblxuXG5idWlsZFJlcXVlc3REYXRhKHBhcmFtcz86IHtcbiAgaXNFeHBvcnQ/OiBib29sZWFuO1xuICBsaW1pdD86IG51bWJlcjtcbiAgb2Zmc2V0PzogbnVtYmVyO1xufSk6IGFueSB7XG4gIC8vIE1hcCByb2xlIOKGkiBrZXlUeXBlXG4gIGNvbnN0IHJvbGVLZXlUeXBlTWFwOiBhbnkgPSB7XG4gICAgc3VwZXJhZG1pbjogXCJybVwiLFxuICAgIGFkbWluOiBcImNsdXN0ZXJcIixcbiAgICB1c2VyOiBcInN0b3JlXCIsXG4gIH07XG4gIGlmICghdGhpcy5rZXlUeXBlKSB7XG4gICAgdGhpcy5rZXlUeXBlID0gcm9sZUtleVR5cGVNYXBbdGhpcy51c2Vycz8ucm9sZV0gfHwgXCJzdG9yZVwiO1xuICB9XG5cbiAgLy8gQ29sbGVjdCBzdG9yZSBJRHNcbiAgY29uc3QgZmluYWxTdG9yZXMgPSBBcnJheS5pc0FycmF5KHRoaXMuZXllVGVzdEZvcm0udmFsdWUuc3RvcmVMaXN0KVxuICAgID8gdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5zdG9yZUxpc3QubWFwKChzdG9yZTogYW55KSA9PiBzdG9yZS5zdG9yZUlkKVxuICAgIDogW107XG5cbiAgLy8gQ29sbGVjdCBSTSBlbWFpbHNcbiAgbGV0IGZpbmFsUk1MaXN0OiBzdHJpbmdbXSA9IFtdO1xuICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLlJtTGlzdCkgJiYgdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5SbUxpc3QubGVuZ3RoKSB7XG4gICAgZmluYWxSTUxpc3QgPSB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLlJtTGlzdC5tYXAoKGVsOiBhbnkpID0+IGVsPy5lbWFpbCk7XG4gIH0gZWxzZSBpZiAodGhpcy5ybUVtYWlsKSB7XG4gICAgZmluYWxSTUxpc3QgPSBbdGhpcy5ybUVtYWlsXTtcbiAgfSBlbHNlIGlmICh0aGlzLnVzZXJzPy5lbWFpbCkge1xuICAgIGZpbmFsUk1MaXN0ID0gW3RoaXMudXNlcnMuZW1haWxdO1xuICB9XG50aGlzLlJtTGlzdERhdGEgPSBmaW5hbFJNTGlzdD8ubGVuZ3RoID8gZmluYWxSTUxpc3Q/Lmxlbmd0aCA6IFtdO1xuICAvLyBIYW5kbGUgYXVkaXRUeXBlIOKGkiBub3JtYWxpemUgdG8gYXJyYXlcbiAgY29uc3QgYXVkaXRUeXBlVmFsdWUgPSB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLmF1ZGl0VHlwZTtcbiAgbGV0IGF1ZGl0VHlwZXM6IHN0cmluZ1tdID0gW107XG4gIGlmIChhdWRpdFR5cGVWYWx1ZSA9PT0gXCJhbGxcIikge1xuICAgIGF1ZGl0VHlwZXMgPSBbXCJhZHVsdFwiLCBcImtpZHNcIl07XG4gIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShhdWRpdFR5cGVWYWx1ZSkpIHtcbiAgICBhdWRpdFR5cGVzID0gYXVkaXRUeXBlVmFsdWU7XG4gIH0gZWxzZSBpZiAoYXVkaXRUeXBlVmFsdWUpIHtcbiAgICBhdWRpdFR5cGVzID0gW2F1ZGl0VHlwZVZhbHVlXTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRmlsdGVycz8uY2xpZW50LFxuICAgIGZyb21EYXRlOiB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLmZyb21EYXRlLFxuICAgIHRvRGF0ZTogdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS50b0RhdGUsXG4gICAgdHlwZTogdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS50eXBlLFxuICAgIGRhdGVUeXBlOiB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLmRhdGVUeXBlLFxuXG4gICAgLy8gZGVtb2dyYXBoaWNzIG9ubHkgaWYgdHlwZSAhPT0gcmVtb3RlXG4gICAgLi4uKHRoaXMuZXllVGVzdEZvcm0udmFsdWUudHlwZSAhPT0gXCJyZW1vdGVcIiAmJiB7IGRlbW9ncmFwaGljczogYXVkaXRUeXBlcyB9KSxcblxuICAgIGNsdXN0ZXI6IHRoaXMuZ3JvdXBzLFxuICAgIHN0b3JlSWQ6IGZpbmFsU3RvcmVzLFxuXG4gICAgbGltaXQ6IHBhcmFtcz8ubGltaXQgPz8gdGhpcy5saW1pdCA/PyAxMCxcbiAgICBvZmZzZXQ6IHBhcmFtcz8ub2Zmc2V0ID8/IHRoaXMub2Zmc2V0ID8/IDEsXG4gICAga2V5VHlwZTogdGhpcy5rZXlUeXBlLFxuXG4gICAgY29tcGxpYW5jZVNjb3JlOiB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLmNvbXBsaWFuY2VTY29yZT8ubGVuZ3RoID8gKHRoaXMuZXllVGVzdEZvcm0udmFsdWUuY29tcGxpYW5jZVNjb3JlLm1hcCgoZWw6IGFueSkgPT4gZWwudmFsdWUpKTogW10sXG4gICBcbiAgICBhdWRpdFN0YXR1czogIHRoaXMuZXllVGVzdEZvcm0udmFsdWUuYXVkaXRTdGF0dXM/Lmxlbmd0aFxuICAgICAgPyB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLmF1ZGl0U3RhdHVzLm1hcCgoZWw6IGFueSkgPT4gZWwudmFsdWUpXG4gICAgICA6IFtdLFxuICAgIG5lYXJBZGRpdGlvbjogdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5uZWFyQWRkaXRpb24gfHwgXCJcIixcblxuICAgIC4uLih0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLnR5cGUgIT09IFwicmVtb3RlXCIgJiYge1xuICAgICAgY2F0ZWdvcnk6IHRoaXMuZXllVGVzdEZvcm0udmFsdWUuY2F0ZWdvcnksXG4gICAgfSksXG5cbiAgICBSTUxpc3Q6IGZpbmFsUk1MaXN0LFxuICAgIHNlYXJjaFZhbHVlOiB0aGlzLnNlYXJjaFZhbHVlIHx8IFwiXCIsXG4gICAgaXNFeHBvcnQ6IHBhcmFtcz8uaXNFeHBvcnQgPz8gZmFsc2UsXG4gICAgc29ydE9yZGVyOiB0aGlzLnNvcnRPcmRlciA/PyAtMSxcbiAgICBzb3J0Qnk6IHRoaXMuc29ydGVkQ29sdW1uID8/IFwiZGF0ZVwiLFxuXG4gICAgLy8gT25seSBzZW50IHdoaWxlIGFuIG9wdG9tIGZpbHRlciBpcyBhY3RpdmU7IG9taXR0ZWQgZW50aXJlbHkgb3RoZXJ3aXNlLlxuICAgIC4uLih0aGlzLmZpbHRlckJ5T3B0b20gJiYgeyBmaWx0ZXJCeU9wdG9tOiB0aGlzLmZpbHRlckJ5T3B0b20gfSksXG4gIH07XG59XG5cbi8qKiBPcHRvbSBJRCB0aGUgbGlzdCBpcyBjdXJyZW50bHkgZmlsdGVyZWQgdG8sIHNldCBieSBjbGlja2luZyBhbiBPcHRvbSBJRCBjZWxsLiAqL1xuZmlsdGVyQnlPcHRvbTogc3RyaW5nID0gXCJcIjtcblxuLyoqIE9wdG9tIElEIGZvciBhIHJvdzsgdGhlIGZpZWxkIGRpZmZlcnMgYmV0d2VlbiByZW1vdGUgYW5kIGluLXN0b3JlIGF1ZGl0cy4gKi9cbmdldFJvd09wdG9tSWQocm93OiBhbnkpOiBzdHJpbmcge1xuICBjb25zdCBpZCA9IHRoaXMudHlwZVZhbHVlID09PSBcInJlbW90ZVwiID8gcm93Py5vcHRtX3VzZXJJZCA6IHJvdz8ub3B0dW1JZDtcbiAgcmV0dXJuIGlkID8gU3RyaW5nKGlkKSA6IFwiXCI7XG59XG5cbi8qKiBGaWx0ZXJzIHRoZSBsaXN0IHRvIGEgc2luZ2xlIG9wdG9tLiBDbGlja2luZyB0aGUgYWN0aXZlIG9uZSBjbGVhcnMgdGhlIGZpbHRlci4gKi9cbmZpbHRlck9wdG9tKHJvdzogYW55KTogdm9pZCB7XG4gIGNvbnN0IG9wdG9tSWQgPSB0aGlzLmdldFJvd09wdG9tSWQocm93KTtcbiAgaWYgKCFvcHRvbUlkKSByZXR1cm47XG4gIHRoaXMuZmlsdGVyQnlPcHRvbSA9IHRoaXMuZmlsdGVyQnlPcHRvbSA9PT0gb3B0b21JZCA/IFwiXCIgOiBvcHRvbUlkO1xuICB0aGlzLm9mZnNldCA9IDE7XG4gIHRoaXMub25TdWJtaXQoKTtcbn1cblxuLyoqIENsZWFycyB0aGUgb3B0b20gZmlsdGVyIGFuZCByZWxvYWRzIHRoZSBsaXN0LiAqL1xuY2xlYXJPcHRvbUZpbHRlcigpOiB2b2lkIHtcbiAgaWYgKCF0aGlzLmZpbHRlckJ5T3B0b20pIHJldHVybjtcbiAgdGhpcy5maWx0ZXJCeU9wdG9tID0gXCJcIjtcbiAgdGhpcy5kZWVwTGlua09wdG9tSWQgPSBudWxsO1xuICB0aGlzLm9mZnNldCA9IDE7XG4gIC8vIERyb3Agb3B0b21JZCBmcm9tIHRoZSBVUkwgdG9vLCBzbyBhIHJlZnJlc2ggZG9lcyBub3QgcmUtYXBwbHkgdGhlIGZpbHRlci5cbiAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcbiAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxuICAgIHF1ZXJ5UGFyYW1zOiB7IG9wdG9tSWQ6IG51bGwgfSxcbiAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiBcIm1lcmdlXCIsXG4gIH0pO1xuICB0aGlzLm9uU3VibWl0KCk7XG59XG5cblxuXG4gIGV4cG9ydFhMU1goKSB7XG4gICAgY29uc3QgcmVxdWVzdERhdGEgPSB0aGlzLmJ1aWxkUmVxdWVzdERhdGEoe1xuICAgICAgaXNFeHBvcnQ6IHRydWUsXG4gICAgICBsaW1pdDogMTAwMDAsXG4gICAgICBvZmZzZXQ6IDEsXG4gICAgfSk7XG5cbiAgICB0aGlzLmV5ZVNlcnZpY2VcbiAgICAgIC5nZXRFeWVUZXN0VGFibGVFeHBvcnQocmVxdWVzdERhdGEpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5leWVTZXJ2aWNlLnNhdmVBc0V4Y2VsRmlsZShcbiAgICAgICAgICAgIHJlcyxcbiAgICAgICAgICAgIGAke3RoaXMuZXllVGVzdEZvcm0udmFsdWUudHlwZX0gRXllIFRlc3QgVGFibGUgYFxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLnRzLmdldEVycm9yVG9hc3QoXG4gICAgICAgICAgICBlcnI/LmVycm9yPy5lcnJvciA/IGVycj8uZXJyb3I/LmVycm9yIDogZXJyPy5lcnJvcj8ubWVzc2FnZVxuICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuXG4gIHRvdGFsSXRlbXM6IGFueSA9IDA7XG4gIG9mZnNldCA9IDE7XG4gIGxpbWl0ID0gMTA7XG4gIGRhdGFSZXN1bHQ6YW55O1xuICBvblN1Ym1pdCgpIHtcbiAgIFxuICAgIHRoaXMuZXllVGVzdERhdGE9W107XG4gICAgdGhpcy50eXBlVmFsdWUgPSB0aGlzLmV5ZVRlc3RGb3JtPy52YWx1ZT8udHlwZTtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XG4gICAgICAgc2V0VGltZW91dCgoKT0+e1xuICAgIGNvbnN0IHJlcXVlc3REYXRhID0gdGhpcy5idWlsZFJlcXVlc3REYXRhKHsgaXNFeHBvcnQ6IGZhbHNlIH0pO1xuICAgdGhpcy5kYXRhUmVzdWx0ID0gcmVxdWVzdERhdGFcbiAgICB0aGlzLmV5ZVNlcnZpY2VcbiAgICAgIC5nZXRFeWVUZXN0bGlzdChyZXF1ZXN0RGF0YSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xuICAgICAgICAgICAgdGhpcy5leWVUZXN0RGF0YSA9IHJlcz8uZGF0YS5yZXN1bHQ7XG4gICAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSByZXMuZGF0YT8uY291bnQ7XG4gICAgICAgICAgICB0aGlzLnNldFBhZ2luYXRpb25TaXplcygpO1xuICAgICAgICAgICAgdGhpcy5nZXRDYXJkRGF0YSgpO1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmdldENhcmREYXRhKCk7XG4gICAgICAgICAgICB0aGlzLmV5ZVRlc3REYXRhID0gW107XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgICAgIH0sMTAwMClcbiAgfVxuXG4gIG9uUGFnZUNoYW5nZShwYWdlT2Zmc2V0OiBudW1iZXIpIHtcbiAgICAvLyB0aGlzLmxpbWl0ID0gMTA7XG4gICAgLy8gdGhpcy5wYWdlU2l6ZSA9IDEwO1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcbiAgICB0aGlzLm9mZnNldCA9IE51bWJlcihwYWdlT2Zmc2V0KTtcblxuICAgIGNvbnN0IHJlcXVlc3REYXRhID0gdGhpcy5idWlsZFJlcXVlc3REYXRhKHtcbiAgICAgIGlzRXhwb3J0OiBmYWxzZSxcbiAgICAgIGxpbWl0OiB0aGlzLmxpbWl0LFxuICAgICAgb2Zmc2V0OiB0aGlzLm9mZnNldCxcbiAgICB9KTtcbiAgICAvLyBjb25zb2xlLmxvZyhyZXF1ZXN0RGF0YSlcbi8vIHJldHVyblxuICAgIHRoaXMuZXllU2VydmljZVxuICAgICAgLmdldEV5ZVRlc3RsaXN0KHJlcXVlc3REYXRhKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT09IDIwMCkge1xuICAgICAgICAgICAgdGhpcy5leWVUZXN0RGF0YSA9IHJlcz8uZGF0YS5yZXN1bHQ7XG4gICAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSByZXMuZGF0YT8uY291bnQ7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMubm9EYXRhID0gZmFsc2U7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZXllVGVzdERhdGEgPSBbXTtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5leWVUZXN0RGF0YSA9IFtdO1xuICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDA7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gIH1cblxuICBvblBhZ2VTaXplQ2hhbmdlKHBhZ2VTaXplOiBudW1iZXIpIHtcbiAgICB0aGlzLm9mZnNldCA9IDE7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xuICAgIHRoaXMucGFnZVNpemUgPSBOdW1iZXIocGFnZVNpemUpO1xuICAgIHRoaXMubGltaXQgPSBOdW1iZXIocGFnZVNpemUpO1xuXG4gICAgY29uc3QgcmVxdWVzdERhdGEgPSB0aGlzLmJ1aWxkUmVxdWVzdERhdGEoe1xuICAgICAgaXNFeHBvcnQ6IGZhbHNlLFxuICAgICAgbGltaXQ6IHRoaXMubGltaXQsXG4gICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxuICAgIH0pO1xuXG4gICAgdGhpcy5leWVTZXJ2aWNlXG4gICAgICAuZ2V0RXllVGVzdGxpc3QocmVxdWVzdERhdGEpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7XG4gICAgICAgICAgICB0aGlzLmV5ZVRlc3REYXRhID0gcmVzPy5kYXRhLnJlc3VsdDtcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlcy5kYXRhPy5jb3VudDtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5leWVUZXN0RGF0YSA9IFtdO1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLmV5ZVRlc3REYXRhID0gW107XG4gICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gMDtcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuXG4gIHNvcnRlZENvbHVtbjogYW55O1xuICBzb3J0T3JkZXI6IGFueTtcbiAgb25Tb3J0KGNvbHVtbjogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuc29ydGVkQ29sdW1uID09PSBjb2x1bW4pIHtcbiAgICAgIHRoaXMuc29ydE9yZGVyID0gdGhpcy5zb3J0T3JkZXIgPT09IDEgPyAtMSA6IDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc29ydGVkQ29sdW1uID0gY29sdW1uID8gY29sdW1uIDogXCJzdG9yZU5hbWVcIjtcbiAgICAgIHRoaXMuc29ydE9yZGVyID0gMTtcbiAgICB9XG4gICAgdGhpcy5vblN1Ym1pdCgpO1xuICB9XG5cbiAgLy8gbmV3IGFwaSBpbnRhZ3JhdGVkXG5cbiAgUm1MaXN0OiBhbnkgPSBbXTtcblxuIGdldEFsbFJtMSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICByZXR1cm4gdGhpcy5leWVTZXJ2aWNlLmdldFJtTGlzdCh0aGlzLmhlYWRlckZpbHRlcnM/LmNsaWVudCkucGlwZShcbiAgICB0YXAoKHJlczogYW55KSA9PiB7XG4gICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09PSAyMDApIHtcbiAgICAgICAgIHRoaXMuUm1MaXN0ID0gdGhpcy5ybUxpc3Q7XG4gICAgICAgIHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwiUm1MaXN0XCIpPy5zZXRWYWx1ZSh0aGlzLlJtTGlzdCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLlJtTGlzdCA9IFtdO1xuICAgICAgICB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIlJtTGlzdFwiKT8uc2V0VmFsdWUoW10pO1xuICAgICAgfVxuICAgIH0pXG4gICk7XG59XG5cbiAgb25SbVNlbGVjdChldmVudDogYW55KSB7XG4gICAgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJSbUxpc3RcIik/LnNldFZhbHVlKGV2ZW50KTtcbiAgICB0aGlzLmdldEFsbEdyb3VwcyhldmVudCk7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbiAgZXllVGVzdENhcmREYXRhOiBhbnkgPSBbXTtcbiAgZ2V0Q2FyZERhdGEoKSB7XG4gICAgbGV0IGZpbmFsU3RvcmVzOiBhbnkgPSBbXTtcbiAgICBsZXQgcm1MaXN0VmFsdWU6IGFueSA9IFtdO1xuICAgICAgY29uc3Qgcm9sZUtleVR5cGVNYXA6IGFueSA9IHtcbiAgICBzdXBlcmFkbWluOiBcInJtXCIsXG4gICAgYWRtaW46IFwiY2x1c3RlclwiLFxuICAgIHVzZXI6IFwic3RvcmVcIixcbiAgfTtcbiAgaWYgKCF0aGlzLmtleVR5cGUpIHtcbiAgICB0aGlzLmtleVR5cGUgPSByb2xlS2V5VHlwZU1hcFt0aGlzLnVzZXJzPy5yb2xlXSB8fCBcInN0b3JlXCI7XG4gIH1cbiAgICBjb25zdCB7XG4gICAgICBmcm9tRGF0ZSxcbiAgICAgIHRvRGF0ZSxcbiAgICAgIHR5cGUsXG4gICAgICBkYXRlVHlwZSxcbiAgICAgIGF1ZGl0VHlwZSxcbiAgICAgIHN0b3JlTGlzdCxcbiAgICAgIFJtTGlzdCxcbiAgICAgIGNvbXBsaWFuY2VTY29yZSxcbiAgICAgIG5lYXJBZGRpdGlvbixcbiAgICAgIGtleVR5cGUsXG4gICAgICBjYXRlZ29yeSxcbiAgICB9ID0gdGhpcy5leWVUZXN0Rm9ybS52YWx1ZTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLnN0b3JlTGlzdCkpIHtcbiAgICAgIHRoaXMuZXllVGVzdEZvcm0udmFsdWUuc3RvcmVMaXN0LmZvckVhY2goKHN0b3JlOiBhbnkpID0+IHtcbiAgICAgICAgZmluYWxTdG9yZXMucHVzaChzdG9yZS5zdG9yZUlkKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLlJtTGlzdCkpIHtcbiAgICAgIHRoaXMuZXllVGVzdEZvcm0udmFsdWUuUm1MaXN0LmZvckVhY2goKGVsOiBhbnkpID0+IHtcbiAgICAgICAgcm1MaXN0VmFsdWUucHVzaChlbD8uZW1haWwpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IGRlbW9ncmFwaGljcyA9XG4gICAgICB0eXBlICE9PSBcInJlbW90ZVwiXG4gICAgICAgID8gYXVkaXRUeXBlID09PSBcImFsbFwiXG4gICAgICAgICAgPyBbXCJhZHVsdFwiLCBcImtpZHNcIl1cbiAgICAgICAgICA6IEFycmF5LmlzQXJyYXkoYXVkaXRUeXBlKVxuICAgICAgICAgID8gYXVkaXRUeXBlXG4gICAgICAgICAgOiBbYXVkaXRUeXBlXVxuICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHJlcXVlc3REYXRhOiBhbnkgPSB7XG4gICAgICBmcm9tRGF0ZSxcbiAgICAgIHRvRGF0ZSxcbiAgICAgIHR5cGUsXG4gICAgICBkYXRlVHlwZSxcbiAgICAgIHN0b3JlSWQ6IGZpbmFsU3RvcmVzLFxuICAgICAgUk1MaXN0OiBybUxpc3RWYWx1ZS5sZW5ndGggPiAwID8gcm1MaXN0VmFsdWUgOiBbdGhpcy51c2Vycz8uZW1haWxdLFxuICAgICAgY29tcGxpYW5jZVNjb3JlOiBjb21wbGlhbmNlU2NvcmU/Lmxlbmd0aFxuICAgICAgICA/IChjb21wbGlhbmNlU2NvcmUubWFwKChlbDogYW55KSA9PiBlbC52YWx1ZSkpXG4gICAgICAgIDogW10sXG4gICAgICBuZWFyQWRkaXRpb24sXG4gICAgICAgIGtleVR5cGUgOiB0aGlzLmtleVR5cGUsXG4gICAgICAuLi4odGhpcy5leWVUZXN0Rm9ybS52YWx1ZS50eXBlICE9PSBcInJlbW90ZVwiICYmIHtcbiAgICAgICAgY2F0ZWdvcnksXG4gICAgICB9KSxcbiAgICAgXG4gICAgfTtcblxuICAgIGlmIChkZW1vZ3JhcGhpY3MpIHtcbiAgICAgIHJlcXVlc3REYXRhLmRlbW9ncmFwaGljcyA9IGRlbW9ncmFwaGljcztcbiAgICB9XG4gICAgdGhpcy5leWVTZXJ2aWNlXG4gICAgICAuZ2V0Q2FyZChyZXF1ZXN0RGF0YSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmV5ZVRlc3RDYXJkRGF0YSA9IHJlcz8uY29kZSA9PT0gMjAwID8gcmVzPy5kYXRhPy5yZXN1bHQgOiB7fTtcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLmV5ZVRlc3RDYXJkRGF0YSA9IHt9O1xuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gIH1cbmV5ZVZpZXcgPSBmYWxzZTtcbnNlbGVjdGVkU3RlcEluZGV4ID0gMDtcbmNvbnZlcnNhdGlvbkRhdGE6IGFueSA9IG51bGw7XG4vLyBDb252IGF1ZGlvIHBsYXllciBzdGF0ZVxuY29udklzUGxheWluZyA9IGZhbHNlO1xuY29udkN1cnJlbnRUaW1lID0gJzA6MDAnO1xuY29udkR1cmF0aW9uID0gJzA6MDAnO1xuY29udlByb2dyZXNzID0gMDtcbmNvbnZJc011dGVkID0gZmFsc2U7XG5yZWFkb25seSB3YXZlZm9ybUhlaWdodHM6IG51bWJlcltdID0gW1xuICA4LCAyMiwgMzgsIDUyLCA0NCwgMjgsIDU2LCA0MiwgMTgsIDMyLCA1NCwgNDYsIDI0LCA0MCwgNjAsIDUwLCAyNiwgNDQsXG4gIDM2LCAxOCwgNTIsIDM4LCAyOCwgNDYsIDM0LCAyMCwgNTYsIDQyLCAxNCwgMzYsIDUwLCAzMCwgMjIsIDQ0LCA1NiwgMzgsXG4gIDIwLCA0NiwgMzAsIDE2LCA1MCwgMzYsIDI0LCA1NCwgNDIsIDI4LCAzNiwgMjAsIDQ2LCAzMiwgMTgsIDQwLCA1NiwgNDQsXG4gIDI0LCAzNiwgMjAsIDUwLCAzNCwgMjJcbl07XG4gIGV5ZVRlc3RWaWV3KGRhdGE6IGFueSkge1xudGhpcy5leWVWaWV3ID10cnVlO1xuXG4gICAgIHRoaXMuc2V0UGFnZURhdGEoKTtcbiAgICB0aGlzLmF1ZGl0RGF0YSA9IHRoaXMuZXllU2VydmljZS5nZXRBdWRpdERhdGEoKTtcbiAgICB0aGlzLnRha2VBdWRpdCA9ZmFsc2VcbiAgICB0aGlzLnN0ZXBXaXNlUHJvY2VzcyA9W107XG4gICAgLy8gdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgIHRoaXMuc3RvcmVJZCA9IGRhdGFbJ3N0b3JlSWQnXTtcbiAgICAgIHRoaXMuY3VycmVudEF1ZGl0VHlwZSA9IHRoaXMuZXllVGVzdEZvcm0udmFsdWUudHlwZVxuICAgICAgdGhpcy5BdWRpdElkID0gZGF0YVsnX2lkJ107XG4gICAgICB0aGlzLlJtRW1haWwgPSBkYXRhWydSTUVtYWlsJ107XG4gICAgICB0aGlzLmNsdXN0ZXIgPSBkYXRhWydjbHVzdGVyTmFtZSddO1xuICAgICAgdGhpcy5leWVUZXN0VHlwZSA9IGRhdGE/LmNvbW1lbnQgPyBcImZha2VcIiA6IFwiZ2VudWluZVwiO1xuICAgIC8vIH0pO1xuICAgIHRoaXMuZ2V0QXVkaXRkZXRhaWxzKCk7XG4gICAgdGhpcy5nZW5lcmF0ZVRpbWVPcHRpb25zKCk7XG5pZih0aGlzLmN1cnJlbnRBdWRpdFR5cGUgPT09ICdyZW1vdGUnKXtcbiAgdGhpcy5kcm9wZG93bkxpc3Q9IFt7IGtleTogJ1NlbnRlbmNlIFRyYW5zY3JpcHRpb24gb2theSwgYnV0IG5vdCBtYXRjaGluZyB3aXRoIFByZWRpY3RlZCBTdGVwJywgaXRlbTogJ1NlbnRlbmNlIFRyYW5zY3JpcHRpb24gb2theSwgYnV0IG5vdCBtYXRjaGluZyB3aXRoIFByZWRpY3RlZCBTdGVwJyB9LCB7IGtleTogJ1NlbnRlbmNlIFRyYW5zY3JpcHRpb24gbm90IGFjY3VyYXRlLCBidXQgbWF0Y2hpbmcgd2l0aCBQcmVkaWN0ZWQgU3RlcCcsIGl0ZW06ICdTZW50ZW5jZSBUcmFuc2NyaXB0aW9uIG5vdCBhY2N1cmF0ZSwgYnV0IG1hdGNoaW5nIHdpdGggUHJlZGljdGVkIFN0ZXAnIH0sIHsga2V5OiAnU3RlcCBub3QgYWNjdXJhdGUsIG5vdCBtYXRjaGluZyB3aXRoIFByZWRpY3RlZCBTdGVwJywgaXRlbTogJ1N0ZXAgbm90IGFjY3VyYXRlLCBub3QgbWF0Y2hpbmcgd2l0aCBQcmVkaWN0ZWQgU3RlcCcgfSwgeyBrZXk6ICdvdGhlcnMnLCBpdGVtOiAnT3RoZXJzJyB9XVxufWVsc2V7XG4gIHRoaXMuZHJvcGRvd25MaXN0PSBbeyBrZXk6ICdTdGVwIE5vbi1Db21wbGlhbmNlJywgaXRlbTogJ1N0ZXAgTm9uLUNvbXBsaWFuY2UnIH0sIHsga2V5OiAnUG93ZXIgQmFuayBOb24tQ29tcGxpYW5jZScsIGl0ZW06ICdQb3dlciBCYW5rIE5vbi1Db21wbGlhbmNlJyB9LCB7IGtleTogJ0NvcnJlY3QgSW5zdHJ1bWVudCBOb3QgVXNlZCcsIGl0ZW06ICdDb3JyZWN0IEluc3RydW1lbnQgTm90IFVzZWQnIH0sIHsga2V5OiAnb3RoZXJzJywgaXRlbTogJ090aGVycycgfV1cbn1cbnRoaXMuY29udmVyc2F0aW9uRGF0YSA9IG51bGw7XG50aGlzLnNlbGVjdGVkU3RlcEluZGV4ID0gMDtcbnRoaXMuY29udklzUGxheWluZyA9IGZhbHNlO1xudGhpcy5jb252Q3VycmVudFRpbWUgPSAnMDowMCc7XG50aGlzLmNvbnZEdXJhdGlvbiA9ICcwOjAwJztcbnRoaXMuY29udlByb2dyZXNzID0gMDtcbnRoaXMuY29udklzTXV0ZWQgPSBmYWxzZTtcbnRoaXMuZXllU2VydmljZS5nZXRDb252ZXJzYXRpb25EZXRhaWxzKGRhdGEucXVldWVJZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XG4gIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgIGlmIChyZXM/LmNvZGUgPT09IDIwMCkge1xuICAgICAgdGhpcy5jb252ZXJzYXRpb25EYXRhID0gcmVzLmRhdGEucmVzdWx0O1xuICAgICAgLy8gVXNlIEFQSS1wcm92aWRlZCBkdXJhdGlvbiBpbW1lZGlhdGVseSAoUzMgbTRhIG9mdGVuIGNhbid0IHJlcG9ydCBkdXJhdGlvbiB1bnRpbCBmdWxseSBidWZmZXJlZClcbiAgICAgIGlmICh0aGlzLmNvbnZlcnNhdGlvbkRhdGE/LmR1cmF0aW9uKSB7XG4gICAgICAgIHRoaXMuY29udkR1cmF0aW9uID0gdGhpcy5jb252ZXJzYXRpb25EYXRhLmR1cmF0aW9uO1xuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgZXJyb3I6ICgpID0+IHsgdGhpcy5jb252ZXJzYXRpb25EYXRhID0gbnVsbDsgfVxufSk7XG4gIH1cblxuICBzZXR0aW5nc1ZpZXcoKSB7XG4gICAgdGhpcy5leWVTZXJ2aWNlLnNldEF1ZGl0RGF0YSh0aGlzLmhlYWRlckZpbHRlcnMpO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi9tYW5hZ2UvdHJheC9hdWRpdC9zZXR0aW5nc1wiXSwge1xuICAgICAgcXVlcnlQYXJhbXM6IHsgdHlwZTogdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS50eXBlIH0sXG4gICAgfSk7XG4gIH1cbnJtTGlzdCA9IFtcbiAge1xuICAgIF9pZDogXCIxXCIsXG4gICAgdXNlck5hbWU6IFwiQW5pcmJhbiBHaG9zaFwiLFxuICAgIGVtYWlsOiBcImFuaXJiYW4uZ2hvc2hAbGVuc2thcnQuY29tXCIsXG4gICAgcm9sZTogXCJhZG1pblwiLFxuICB9LFxuICB7XG4gICAgX2lkOiBcIjJcIixcbiAgICB1c2VyTmFtZTogXCJBeXVzaCBHdXB0YVwiLFxuICAgIGVtYWlsOiBcImF5dXNoLmd1cHRhMUBsZW5za2FydC5pblwiLFxuICAgIHJvbGU6IFwiYWRtaW5cIixcbiAgfSxcbiAge1xuICAgIF9pZDogXCIzXCIsXG4gICAgdXNlck5hbWU6IFwiUmVzaG1hIFNoZXR0eVwiLFxuICAgIGVtYWlsOiBcInJlc2htYS5zaGV0dHlAbGVuc2thcnQuaW5cIixcbiAgICByb2xlOiBcImFkbWluXCIsXG4gIH0sXG4gIHtcbiAgICBfaWQ6IFwiNFwiLFxuICAgIHVzZXJOYW1lOiBcIlNyaW5pdmFzIFJlZGR5XCIsXG4gICAgZW1haWw6IFwic3Jpbml2YXMucmVkZHlAdGhlbGVuc2thcnQuY29tXCIsXG4gICAgcm9sZTogXCJhZG1pblwiLFxuICB9LFxuICB7XG4gICAgX2lkOiBcIjZcIixcbiAgICB1c2VyTmFtZTogXCJOaWtoaWwgVCBTXCIsXG4gICAgZW1haWw6IFwibmlraGlsLnRzMkBsZW5za2FydC5jb21cIixcbiAgICByb2xlOiBcImFkbWluXCIsXG4gIH0sXG4gIHtcbiAgICBfaWQ6IFwiN1wiLFxuICAgIHVzZXJOYW1lOiBcIk11a3VsXCIsXG4gICAgZW1haWw6IFwiTXVrdWwudXBhZGh5YXlAbGVuc2thcnQuaW5cIixcbiAgICByb2xlOiBcImFkbWluXCIsXG4gIH0sXG4gIHtcbiAgICBfaWQ6IFwiOFwiLFxuICAgIHVzZXJOYW1lOiBcIkFuYW5kIFNpbmdoXCIsXG4gICAgZW1haWw6IFwiYW5hbmQuc2luZ2gyQGxlbnNrYXJ0LmNvbVwiLFxuICAgIHJvbGU6IFwiYWRtaW5cIixcbiAgfSxcbiAge1xuICAgIF9pZDogXCI5XCIsXG4gICAgdXNlck5hbWU6IFwiU3VkaGlyIEt1bWFyXCIsXG4gICAgZW1haWw6IFwic3VkaGlyLmt1bWFyMkBsZW5za2FydC5pblwiLFxuICAgIHJvbGU6IFwiYWRtaW5cIixcbiAgfSxcbiAge1xuICAgIF9pZDogXCIxMFwiLFxuICAgIHVzZXJOYW1lOiBcIkFuaWtldCBQYXRvbGVcIixcbiAgICBlbWFpbDogXCJhbmlrZXQucGF0b2xlQGxlbnNrYXJ0LmluXCIsXG4gICAgcm9sZTogXCJhZG1pblwiLFxuICB9LFxuICB7XG4gICAgX2lkOiBcIjExXCIsXG4gICAgdXNlck5hbWU6IFwiU2FjaGluXCIsXG4gICAgZW1haWw6IFwic2FjaGluLmt1bWFyNEBsZW5za2FydC5pblwiLFxuICAgIHJvbGU6IFwiYWRtaW5cIixcbiAgfSxcbiAge1xuICAgIF9pZDogXCIxMlwiLFxuICAgIHVzZXJOYW1lOiBcIlNhbmRlZXAgS3VtYXJcIixcbiAgICBlbWFpbDogXCJzYW5kZWVwa3VtYXJAdGhlbGVuc2thcnQuY29tXCIsXG4gICAgcm9sZTogXCJhZG1pblwiLFxuICB9LFxuICB7XG4gICAgX2lkOiBcIjEzXCIsXG4gICAgdXNlck5hbWU6IFwiUmFqZXNoIFlhZGF2XCIsXG4gICAgZW1haWw6IFwicmFqZXNoLnlhZGF2MkBsZW5za2FydC5jb21cIixcbiAgICByb2xlOiBcImFkbWluXCIsXG4gIH0sXG4gIHtcbiAgICBfaWQ6IFwiMTRcIixcbiAgICB1c2VyTmFtZTogXCJQdW5qYWItVEJEXCIsXG4gICAgZW1haWw6IFwic2FuZGVlcC5rdW1hckB0aGVsZW5za2FydC5jb21cIixcbiAgICByb2xlOiBcImFkbWluXCIsXG4gIH0sXG4gIHtcbiAgICBfaWQ6IFwiMTVcIixcbiAgICB1c2VyTmFtZTogXCJMYXZhbnlhXCIsXG4gICAgZW1haWw6IFwibGF2YW55YS5iQGxlbnNrYXJ0LmNvbVwiLFxuICAgIHJvbGU6IFwiYWRtaW5cIixcbiAgfSxcbiAge1xuICAgIF9pZDogXCIxNlwiLFxuICAgIHVzZXJOYW1lOiBcIkFwYXJuYSBTYXRoZWVzaFwiLFxuICAgIGVtYWlsOiBcImFwYXJuYS5zYXRoZWVzaEBsZW5za2FydC5jb21cIixcbiAgICByb2xlOiBcImFkbWluXCIsXG4gIH0sXG4gIHtcbiAgICBfaWQ6IFwiMTdcIixcbiAgICB1c2VyTmFtZTogXCJOaXNobWl0aGEgU2hldHR5XCIsXG4gICAgZW1haWw6IFwibmlzaG1pdGhhLnNoZXR0eUBsZW5za2FydC5jb21cIixcbiAgICByb2xlOiBcImFkbWluXCIsXG4gIH0sXG4gIHtcbiAgICBfaWQ6IFwiMThcIixcbiAgICB1c2VyTmFtZTogXCJQYWlkaW11a2thbGEgSGVtYWxhdGhhXCIsXG4gICAgZW1haWw6IFwicGFpZGltdWtrYWxhLmhlbWFsYXRoYUBsZW5za2FydC5jb21cIixcbiAgICByb2xlOiBcImFkbWluXCIsXG4gIH0sXG4gIHtcbiAgICBfaWQ6IFwiMTlcIixcbiAgICB1c2VyTmFtZTogXCJQcml5YW5zaGkgU2hhcm1hXCIsXG4gICAgZW1haWw6IFwicHJpeWFuc2hpLnNoYXJtYUBsZW5za2FydC5jb21cIixcbiAgICByb2xlOiBcImFkbWluXCIsXG4gIH0sXG4gIHtcbiAgICBfaWQ6IFwiMjBcIixcbiAgICB1c2VyTmFtZTogXCJSYW15YXBhdGhpIFBcIixcbiAgICBlbWFpbDogXCJyYW15YXBhdGhpLnBAbGVuc2thcnQuaW5cIixcbiAgICByb2xlOiBcImFkbWluXCIsXG4gIH0sXG4gIHtcbiAgICBfaWQ6IFwiMjFcIixcbiAgICB1c2VyTmFtZTogXCJTaXZhbGFrc2htaVwiLFxuICAgIGVtYWlsOiBcInNpdmFsYWtzaG1pLnNpdmFwYXRoYW1AbGVuc2thcnQuaW5cIixcbiAgICByb2xlOiBcImFkbWluXCIsXG4gIH0sXG4gIHtcbiAgICBfaWQ6IFwiMjJcIixcbiAgICB1c2VyTmFtZTogXCJTdWJyYXRhIFNpbmdoXCIsXG4gICAgZW1haWw6IFwic3VicmF0YS5zaW5naEBsZW5za2FydC5jb21cIixcbiAgICByb2xlOiBcImFkbWluXCIsXG4gIH0sXG4gIHtcbiAgICBfaWQ6IFwiMjNcIixcbiAgICB1c2VyTmFtZTogXCJEaGFyYW12ZWVyIFNpbmdoXCIsXG4gICAgZW1haWw6IFwiZGhhcm12ZWVyLnNpbmdoQGxlbnNrYXJ0LmluXCIsXG4gICAgcm9sZTogXCJhZG1pblwiLFxuICB9LFxuICB7XG4gICAgX2lkOiBcIjI0XCIsXG4gICAgdXNlck5hbWU6IFwiU2FqYWwgU2hyaXZhc3RhdmFcIixcbiAgICBlbWFpbDogXCJzYWphbC5zaHJpdmFzdGF2YUBsZW5za2FydC5jb21cIixcbiAgICByb2xlOiBcImFkbWluXCIsXG4gIH0sXG4gIHtcbiAgICBfaWQ6IFwiMjVcIixcbiAgICB1c2VyTmFtZTogXCJTYW1pbiBIYWlkcnlcIixcbiAgICBlbWFpbDogXCJzYW1pbi5oYWlkcnlAbGVuc2thcnQuaW5cIixcbiAgICByb2xlOiBcImFkbWluXCIsXG4gIH0sXG5dO1xuXG5nZXRBbGxTdG9yZXMoKSB7XG4gICAgIHRoaXMudHJheFNlcnZpY2UuZ2V0U3RvcmVzbGlzdCh7IGNsaWVudElkOiB0aGlzLmhlYWRlckZpbHRlcnM/LmNsaWVudCwgY2x1c3RlcnM6IHRoaXMuZ3JvdXBzLCBjaXR5OiBbXSwgfSkgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKSAuc3Vic2NyaWJlKHsgbmV4dDogKHJlczogYW55KSA9PiB7IGlmIChyZXMgJiYgcmVzPy5jb2RlID09IDIwMCkgeyB0aGlzLnN0b3JlTGlzdCA9IHJlcy5kYXRhLnN0b3Jlc0RhdGE7IHRoaXMuZXllVGVzdEZvcm0uZ2V0KFwic3RvcmVMaXN0XCIpPy5zZXRWYWx1ZSh0aGlzLnN0b3JlTGlzdCk7IHRoaXMubG9hZGluZzEgPSBmYWxzZTsgfSBlbHNlIHsgdGhpcy5zdG9yZUxpc3QgPSBbXTsgdGhpcy5sb2FkaW5nMSA9IGZhbHNlOyB9IH0sIGVycm9yOiAoZXJyKSA9PiB7IHRoaXMuc3RvcmVMaXN0ID0gW107IHRoaXMubG9hZGluZzEgPSBmYWxzZTsgfSwgfSk7IH0gXG5nZXRBbGxSbSgpIHsgXG4gIC8vIHRoaXMuZXllU2VydmljZS5nZXRSbUxpc3QodGhpcy5oZWFkZXJGaWx0ZXJzPy5jbGllbnQpIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkgLnN1YnNjcmliZSh7IFxuICAvLyAgIG5leHQ6IChyZXM6IGFueSkgPT4geyBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHsgXG4gICAgICB0aGlzLlJtTGlzdCA9IHRoaXMucm1MaXN0OyAvLyBmb3Igb2JqZWN0IGJhc2VkIHRoaXMgd2lsbCBjaGFuZ2VkXG50aGlzLmV5ZVRlc3RGb3JtLmdldChcIlJtTGlzdFwiKT8uc2V0VmFsdWUodGhpcy5ybUxpc3QpOyBcbi8vIH0gZWxzZSB7IFxuLy8gICB0aGlzLlJtTGlzdCA9IFtdOyB0aGlzLmV5ZVRlc3RGb3JtLmdldChcIlJtTGlzdFwiKT8uc2V0VmFsdWUoW10pOyBcbi8vIH0gdGhpcy5nZXRBbGxHcm91cHMoKTsgfSwgfSk7IFxufSBcbmdldEFsbEdyb3VwcyhldmVudD86IGFueSkgeyBsZXQgcm1MaXN0OiBhbnkgPSBbXTsgdGhpcy5DbHVzdGVyTGlzdCA9IFtdOyBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLlJtTGlzdCkpIHsgdGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5SbUxpc3QuZm9yRWFjaCgoZWw6IGFueSkgPT4geyBybUxpc3QucHVzaChlbD8uZW1haWwpOyB9KTsgfSBldmVudD8ubWFwKChlbDogYW55KSA9PiBlbD8uZW1haWwpIHx8IFt0aGlzLnVzZXJzPy5lbWFpbF07IGNvbnN0IG9iaiA9IHsgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRmlsdGVycz8uY2xpZW50ID8gdGhpcy5oZWFkZXJGaWx0ZXJzLmNsaWVudCA6IFwiXCIsIHJtTGlzdDogcm1MaXN0Lmxlbmd0aCA+IDAgPyBybUxpc3QgOiBbdGhpcy51c2Vycz8uZW1haWxdLCB9OyB0aGlzLmV5ZVNlcnZpY2UuZ2V0Q2x1c3RlcnMob2JqKS5zdWJzY3JpYmUoeyBuZXh0OiAocmVzOiBhbnkpID0+IHsgaWYgKHJlcyAmJiByZXMuY29kZSA9PT0gMjAwKSB7IHRoaXMuQ2x1c3Rlckxpc3QgPSByZXM/LmRhdGE/LnJlc3VsdDsgdGhpcy5leWVUZXN0Rm9ybS5nZXQoXCJDbHVzdGVyTGlzdFwiKT8uc2V0VmFsdWUodGhpcy5DbHVzdGVyTGlzdCk7IHRoaXMuZ3JvdXBzID0gdGhpcy5DbHVzdGVyTGlzdC5tYXAoKGVsOiBhbnkpID0+IGVsLmNsdXN0ZXJOYW1lKTsgdGhpcy5nZXRBbGxTdG9yZXMoKTsgfSBlbHNlIHsgdGhpcy5DbHVzdGVyTGlzdCA9IFtdOyB0aGlzLmxvYWRpbmcxID0gZmFsc2U7IH0gdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7IH0sIFxuZXJyb3I6IChlcnIpID0+IHsgLy8gY29uc29sZS5lcnJvcihcIkNsdXN0ZXIgZmV0Y2ggZmFpbGVkOlwiLCBlcnIpOyBcbnRoaXMuQ2x1c3Rlckxpc3QgPSBbXTsgdGhpcy5sb2FkaW5nMSA9IGZhbHNlOyB9LCB9KTsgfVxuXG5cbiAgLy8gc2Vjb25kIHBhZ2VcbiAgIHN0ZXBXaXNlUHJvY2VzczogYW55ID0gW107XG4gICBkcm9wZG93bkxpc3Q6IGFueSA9IFtdXG4gIC8vICBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcbiAgLy8gIG5vRGF0YTogYm9vbGVhbiA9IGZhbHNlO1xuIFxuICAgdGFibGVMb2FkaW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDwnaW5pdGlhbCcgfCAnbG9hZGluZycgfCAnbG9hZGVkJz4oJ2luaXRpYWwnKVxuICAgaGlzdG9yeXRhYmxlTG9hZGluZyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8J2luaXRpYWwnIHwgJ2xvYWRpbmcnIHwgJ2xvYWRlZCc+KCdpbml0aWFsJylcbiBcbiAgIHNlbGVjdGVkTWludXRlcyA9ICcwMCc7XG4gICBzZWxlY3RlZFNlY29uZHMgPSAnMDAnO1xuICAgbWludXRlc0xpc3Q6IHN0cmluZ1tdID0gW107XG4gICBzZWNvbmRzTGlzdDogc3RyaW5nW10gPSBbXTtcbiBcbiAgIGF1ZGl0RGV0YWlsczogYW55ID0gW107XG4gICBjdXJyZW50QXVkaXRUeXBlOiBhbnk7XG4gICB0YWtlQXVkaXQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgIHN0b3JlSWQ6IGFueTtcbiAgIEBWaWV3Q2hpbGQoJ3Rvb2x0aXBDb250ZW50JykgdG9vbHRpcENvbnRlbnQhOiBOZ2JUb29sdGlwO1xuICAgQFZpZXdDaGlsZCgndmlld0hpc3RvcnknKSB2aWV3SGlzdG9yeTogYW55O1xuICAgQFZpZXdDaGlsZCgndmlld0NhbmNlbCcpIHZpZXdDYW5jZWw6IGFueTtcbiAgIEBWaWV3Q2hpbGQoJ3ZpZGVvUGxheWVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIHZpZGVvUGxheWVyITogRWxlbWVudFJlZjtcbiAgIGhpc3RvcnlEYXRhOiBhbnkgPSBbXTtcbiAgIEF1ZGl0SWQ6IGFueTtcbiAgIHZpZXdIaXN0b3J5RGF0YTogYW55O1xuICAgc3Bva2VuTGFuZ3VhZ2U6YW55PSdFbmdsaXNoJ1xuICAgbW9kYWxSZWY6IGFueTtcbiAgIGRpc2FibGVjYW5jZWw6Ym9vbGVhbiA9ICBmYWxzZVxuICBiYWNrTmF2aWdhdGlvbigpe1xuICAgIC8vICB0aGlzLmV5ZVNlcnZpY2UuYXVkaXRGaWx0ZXJEYXRhID0ge1xuICAgIC8vICAgYmFjazogJ2JhY2snLFxuICAgIC8vICAgYXVkaXREZXRhaWxzOiB0aGlzLmF1ZGl0RGV0YWlsc1xuICAgIC8vIH07XG4gICAgLy8gdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbWFuYWdlL3RyYXgvYXVkaXQnXSwge1xuICAgIC8vICAgcXVlcnlQYXJhbXM6IHsgZGF0ZTogdGhpcy5kYXlqcyh0aGlzLmF1ZGl0RGV0YWlscy5maWxlRGF0ZSkuZm9ybWF0KCdZWVlZLU1NLUREJyksIHR5cGVWYWx1ZTogdGhpcy5jdXJyZW50QXVkaXRUeXBlIH1cbiAgICAvLyB9KTtcbiAgICB0aGlzLmV5ZVZpZXcgPWZhbHNlO1xuICAgIHRoaXMudGFrZUF1ZGl0ID1mYWxzZVxuICAgIHRoaXMuc3RlcFdpc2VQcm9jZXNzID1bXTtcbiAgICB0aGlzLm9uU3VibWl0KCk7XG4gICAgdGhpcy5nZXRDYXJkRGF0YSgpO1xuICB9XG4gdmlld0hpc3RvcnlNb2RlbChpdGVtOiBhbnkpIHtcbiAgICBsZXQgcGF5bG9hZCA9IHtcbiAgICAgIGlkOiBpdGVtLl9pZFxuICAgIH1cbiAgICB0aGlzLmV5ZVNlcnZpY2Uudmlld0F1ZGl0SGlzdG9yeShwYXlsb2FkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHtcbiAgICAgICAgICB0aGlzLnZpZXdIaXN0b3J5RGF0YSA9IHJlcy5kYXRhLnJlc3VsdFxuICAgICAgICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3Blbih0aGlzLnZpZXdIaXN0b3J5LCB7XG4gICAgICAgICAgICBzaXplOid4bCcsXG4gICAgICAgICAgICBjZW50ZXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIHNjcm9sbGFibGU6IHRydWUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuICB9XG4gIGF1ZGl0RGF0YTphbnk7XG4gIGV5ZVRlc3RUeXBlOmFueTtcbiAgUm1FbWFpbDphbnk7XG4gIGNsdXN0ZXI6YW55O1xuXG5cblxuICAvLyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgIFxuICAvLyB9XG5cbiAgc2V0UGFnZURhdGEoKSB7XG4gICAgdGhpcy5wYWdlSW5mby5zZXRUaXRsZSgnRXllIFRlc3QnKVxuICAgXG4gICAgdGhpcy5wYWdlSW5mby5zZXRCcmVhZGNydW1icyhbXG4gICAgICAgIHsgdGl0bGU6ICdUYW5nbyBUcmF4JywgcGF0aDogJy9tYW5hZ2UvdHJheC9kYXNoYm9hcmQnLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiBmYWxzZSB9LFxuICAgICAgICB7IHRpdGxlOiAnVGFuZ28gVHJheCcsIHBhdGg6ICcvbWFuYWdlL3RyYXgvZGFzaGJvYXJkJywgaXNBY3RpdmU6IGZhbHNlLCBpc1NlcGFyYXRvcjogdHJ1ZSB9LCAgICAgICAgXG4gICAgXSlcbn1cbiAgZ2V0QXVkaXRIaXN0b3J5KCkge1xuICAgIHRoaXMuaGlzdG9yeXRhYmxlTG9hZGluZy5uZXh0KCdsb2FkaW5nJyk7XG4gICAgbGV0IHBheWxvYWQgPSB7XG4gICAgICBpZDogdGhpcy5jdXJyZW50QXVkaXRUeXBlID09PSAncmVtb3RlJyA/IHRoaXMuYXVkaXREZXRhaWxzLmVuZ2FnZW1lbnRJZCA6IHRoaXMuYXVkaXREZXRhaWxzLnF1ZXVlSWQsXG4gICAgICB0eXBlOiB0aGlzLmN1cnJlbnRBdWRpdFR5cGVcbiAgICB9XG4gICAgdGhpcy5leWVTZXJ2aWNlLmdldEF1ZGl0SGlzdG9yeShwYXlsb2FkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHtcbiAgICAgICAgICB0aGlzLmhpc3RvcnlEYXRhID0gcmVzLmRhdGEucmVzdWx0XG4gICAgICAgICAgdGhpcy5oaXN0b3J5dGFibGVMb2FkaW5nLm5leHQoJ2xvYWRlZCcpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5oaXN0b3J5RGF0YSA9IFtdXG4gICAgICAgICAgdGhpcy5oaXN0b3J5dGFibGVMb2FkaW5nLm5leHQoJ2xvYWRlZCcpXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuaGlzdG9yeURhdGEgPSBbXVxuICAgICAgICB0aGlzLmhpc3Rvcnl0YWJsZUxvYWRpbmcubmV4dCgnbG9hZGVkJylcbiAgICAgIH1cbiAgICB9XG4gICAgKVxuXG4gIH1cblxuICBnZXRBdWRpdGRldGFpbHMoKSB7XG4gICAgdGhpcy50YWJsZUxvYWRpbmcubmV4dCgnbG9hZGluZycpO1xuICAgIGxldCBwYXlsb2FkID0ge1xuICAgICAgaWQ6IHRoaXMuQXVkaXRJZCxcbiAgICAgIHR5cGU6IHRoaXMuY3VycmVudEF1ZGl0VHlwZVxuICAgIH1cbiAgICB0aGlzLmV5ZVNlcnZpY2UuZ2V0QXVkaXRkZXRhaWxzKHBheWxvYWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09IDIwMCkge1xuICAgICAgICAgIHRoaXMuZGlzYWJsZWNhbmNlbCA9ICBmYWxzZVxuICAgICAgICAgIHRoaXMuYXVkaXREZXRhaWxzID0gcmVzPy5kYXRhPy5yZXN1bHQ7XG4gICAgICAgICAgaWYgKHRoaXMuYXVkaXREZXRhaWxzLmF1ZGl0U3RhdHVzID09PSAnSW4tUHJvZ3Jlc3MnKSB7XG4gICAgICAgICAgICB0aGlzLnRha2VBdWRpdCA9IHRydWVcbiAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgIHRoaXMudGFrZUF1ZGl0ID0gZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5zdGVwV2lzZVByb2Nlc3MgPSB0aGlzLmF1ZGl0RGV0YWlscz8uc3RlcHM7XG4gICAgICAgICAgc2V0VGltZW91dCgoKT0+e1xuICAgICAgICAgICAgdGhpcy5nZXRBdWRpdEhpc3RvcnkoKVxuICAgICAgICAgIH0sMTAwKVxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTsgIFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcblxuICAgIHRoaXMudGFibGVMb2FkaW5nLm5leHQoJ2xvYWRlZCcpXG5cbiAgfVxuXG4gIGdlbmVyYXRlVGltZU9wdGlvbnMoKSB7XG4gICAgdGhpcy5taW51dGVzTGlzdCA9IEFycmF5LmZyb20oeyBsZW5ndGg6IDYwIH0sIChfLCBpKSA9PiB0aGlzLmZvcm1hdE51bWJlcihpKSk7XG4gICAgdGhpcy5zZWNvbmRzTGlzdCA9IEFycmF5LmZyb20oeyBsZW5ndGg6IDYwIH0sIChfLCBpKSA9PiB0aGlzLmZvcm1hdE51bWJlcihpKSk7XG4gIH1cblxuICBmb3JtYXROdW1iZXIobnVtOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBudW0gPCAxMCA/ICcwJyArIG51bSA6IG51bS50b1N0cmluZygpO1xuICB9XG5cbiAgZHJvcGRvd25PcGVuOiB7IFtrZXk6IG51bWJlcl06IHsgc3RhcnRUaW1lOiBib29sZWFuOyBlbmRUaW1lOiBib29sZWFuOyByZWFzb246IGJvb2xlYW4gfSB9ID0ge307XG5cbiAgdG9nZ2xlRHJvcGRvd24oaTogbnVtYmVyLCB0aW1lOiAnc3RhcnRUaW1lJyB8ICdlbmRUaW1lJyB8ICdyZWFzb24nKSB7XG4gICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy5kcm9wZG93bk9wZW5baV0/Llt0aW1lXSA/PyBmYWxzZTtcblxuICAgIE9iamVjdC5rZXlzKHRoaXMuZHJvcGRvd25PcGVuKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIHRoaXMuZHJvcGRvd25PcGVuW051bWJlcihrZXkpXSA9IHsgc3RhcnRUaW1lOiBmYWxzZSwgZW5kVGltZTogZmFsc2UsIHJlYXNvbjogZmFsc2UgfTtcbiAgICB9KTtcblxuICAgIGlmICghdGhpcy5kcm9wZG93bk9wZW5baV0pIHtcbiAgICAgIHRoaXMuZHJvcGRvd25PcGVuW2ldID0geyBzdGFydFRpbWU6IGZhbHNlLCBlbmRUaW1lOiBmYWxzZSwgcmVhc29uOiBmYWxzZSB9O1xuICAgIH1cblxuICAgIHRoaXMuZHJvcGRvd25PcGVuW2ldW3RpbWVdID0gIWN1cnJlbnRTdGF0ZTtcbiAgfVxuICBnZXRTZWNvbmRzRnJvbVRpbWUodGltZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBpZiAoIXRpbWUpIHJldHVybiAwO1xuICAgIGNvbnN0IFttaW4sIHNlY10gPSB0aW1lLnNwbGl0KCc6JykubWFwKE51bWJlcik7XG4gICAgcmV0dXJuIChtaW4gKiA2MCkgKyBzZWM7XG4gIH1cbiAgICBcbnNlbGVjdE1pbnV0ZShpbmRleDogYW55LCBtaW46IHN0cmluZywgdGltZTogJ3N0YXJ0VGltZScgfCAnZW5kVGltZScgfCAncmVhc29uJykge1xuICBjb25zdCBwcmV2aW91c1RpbWUgPSB0aGlzLnN0ZXBXaXNlUHJvY2Vzc1tpbmRleF0/Llt0aW1lXSB8fCAnMDA6MDAnO1xuXG4gIHRoaXMuc2VsZWN0ZWRNaW51dGVzID0gbWluO1xuICBjb25zdCBuZXdUaW1lID0gYCR7dGhpcy5zZWxlY3RlZE1pbnV0ZXN9OiR7dGhpcy5zZWxlY3RlZFNlY29uZHN9YDtcblxuICBjb25zdCBzdGFydFRpbWUgPSB0aGlzLmdldFNlY29uZHNGcm9tVGltZShcbiAgICB0aW1lID09PSAnc3RhcnRUaW1lJyA/IG5ld1RpbWUgOiB0aGlzLnN0ZXBXaXNlUHJvY2Vzc1tpbmRleF0/LnN0YXJ0VGltZVxuICApO1xuICBjb25zdCBlbmRUaW1lID0gdGhpcy5nZXRTZWNvbmRzRnJvbVRpbWUoXG4gICAgdGltZSA9PT0gJ2VuZFRpbWUnID8gbmV3VGltZSA6IHRoaXMuc3RlcFdpc2VQcm9jZXNzW2luZGV4XT8uZW5kVGltZVxuICApO1xuXG4gIGNvbnN0IGlzVmFsaWQgPSAoc3RhcnRUaW1lID09PSAwIHx8IGVuZFRpbWUgPT09IDApIHx8IHN0YXJ0VGltZSA8IGVuZFRpbWU7XG5cbiAgaWYgKCFpc1ZhbGlkICYmIHRpbWUgIT09ICdyZWFzb24nKSB7XG4gICAgdGhpcy50cy5nZXRXYXJuaW5nVG9hc3QoXCJTdGFydCB0aW1lIG11c3QgYmUgbGVzcyB0aGFuIGVuZCB0aW1lLlwiKTtcbiAgXG4gICAgY29uc3QgW3ByZXZNaW4sIHByZXZTZWNdID0gcHJldmlvdXNUaW1lLnNwbGl0KCc6Jyk7XG4gICAgdGhpcy5zZWxlY3RlZE1pbnV0ZXMgPSBwcmV2TWluO1xuICAgIHRoaXMuc2VsZWN0ZWRTZWNvbmRzID0gcHJldlNlYztcbiAgXG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuO1xuICB9XG4gIFxuXG4gIHRoaXMuc3RlcFdpc2VQcm9jZXNzW2luZGV4XVt0aW1lXSA9IG5ld1RpbWU7XG4gIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xufVxuXG5zZWxlY3RTZWNvbmQoaW5kZXg6IGFueSwgc2VjOiBzdHJpbmcsIHRpbWU6ICdzdGFydFRpbWUnIHwgJ2VuZFRpbWUnIHwgJ3JlYXNvbicpIHtcbiAgY29uc3QgcHJldmlvdXNUaW1lID0gdGhpcy5zdGVwV2lzZVByb2Nlc3NbaW5kZXhdPy5bdGltZV0gfHwgJzAwOjAwJztcblxuICB0aGlzLnNlbGVjdGVkU2Vjb25kcyA9IHNlYztcbiAgY29uc3QgbmV3VGltZSA9IGAke3RoaXMuc2VsZWN0ZWRNaW51dGVzfToke3RoaXMuc2VsZWN0ZWRTZWNvbmRzfWA7XG5cbiAgY29uc3Qgc3RhcnRUaW1lID0gdGhpcy5nZXRTZWNvbmRzRnJvbVRpbWUoXG4gICAgdGltZSA9PT0gJ3N0YXJ0VGltZScgPyBuZXdUaW1lIDogdGhpcy5zdGVwV2lzZVByb2Nlc3NbaW5kZXhdPy5zdGFydFRpbWVcbiAgKTtcbiAgY29uc3QgZW5kVGltZSA9IHRoaXMuZ2V0U2Vjb25kc0Zyb21UaW1lKFxuICAgIHRpbWUgPT09ICdlbmRUaW1lJyA/IG5ld1RpbWUgOiB0aGlzLnN0ZXBXaXNlUHJvY2Vzc1tpbmRleF0/LmVuZFRpbWVcbiAgKTtcblxuICBpZiAoKHRpbWUgIT09ICdyZWFzb24nKSAmJiBzdGFydFRpbWUgIT09IDAgJiYgZW5kVGltZSAhPT0gMCAmJiBzdGFydFRpbWUgPj0gZW5kVGltZSkge1xuICAgIHRoaXMudHMuZ2V0V2FybmluZ1RvYXN0KFwiU3RhcnQgdGltZSBtdXN0IGJlIGxlc3MgdGhhbiBlbmQgdGltZS5cIik7XG4gIFxuICAgIGNvbnN0IFtwcmV2TWluLCBwcmV2U2VjXSA9IHByZXZpb3VzVGltZS5zcGxpdCgnOicpO1xuICAgIHRoaXMuc2VsZWN0ZWRNaW51dGVzID0gcHJldk1pbjtcbiAgICB0aGlzLnNlbGVjdGVkU2Vjb25kcyA9IHByZXZTZWM7XG4gIFxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHRoaXMuc3RlcFdpc2VQcm9jZXNzW2luZGV4XVt0aW1lXSA9IG5ld1RpbWU7XG4gIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xufVxuIFxuICBcblxuICBzZWxlY3RSZWFzb24oaW5kZXg6IG51bWJlciwga2V5OiBhbnksIHRpbWU6IGFueSkge1xuICAgIHRoaXMuc3RlcFdpc2VQcm9jZXNzW2luZGV4XVt0aW1lXSA9IGtleTtcbiAgXG4gICAgaWYgKGtleSA9PT0gJ290aGVycycpIHtcbiAgICAgIHRoaXMuc3RlcFdpc2VQcm9jZXNzW2luZGV4XS5vdGhlclJlYXNvbiA9ICcnOyBcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGVwV2lzZVByb2Nlc3NbaW5kZXhdLm90aGVyUmVhc29uID0gbnVsbDsgXG4gICAgfVxuICBcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuICBcblxuICBzZWxlY3RIdW1hblZlcmlmaWVkKGluZGV4OiBudW1iZXIsIHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5zdGVwV2lzZVByb2Nlc3NbaW5kZXhdLmF1ZGl0ZWRTdGF0dXMgPSB2YWx1ZTtcbiAgfVxuICBmaW5kY291bnQoKXtcbiAgICBsZXQgY291bnQgPSAwXG4gICAgdGhpcy5zdGVwV2lzZVByb2Nlc3MuZm9yRWFjaCgoZGF0YTphbnkpPT57XG4gICAgICBpZihkYXRhLmF1ZGl0ZWRTdGF0dXMhPT1kYXRhLkFJU3RhdHVzKXtcbiAgICAgICAgY291bnQrK1xuICAgICAgfVxuXG5cbiAgICB9KVxuICAgIHJldHVybiBjb3VudFxuICB9XG4gIGdldFZhbGlkYUZvcm0oKXtcbiAgICBsZXQgZXJyb3JDb3VudCA9IDBcbiAgICB0aGlzLnN0ZXBXaXNlUHJvY2Vzcy5mb3JFYWNoKChkYXRhOmFueSk9PntcbiAgICAgIGlmKGRhdGEucmVhc29uPT09J290aGVycycpe1xuICAgICAgICBkYXRhLm90aGVyUmVhc29uID0gIGRhdGEub3RoZXJSZWFzb24udHJpbSgpXG4gICAgICB9XG4gICAgICBpZihkYXRhLmF1ZGl0ZWRTdGF0dXMhPT1kYXRhLkFJU3RhdHVzKXtcbiAgICAgICAgaWYoIWRhdGEucmVhc29uIHx8IGRhdGEucmVhc29uJiZkYXRhLnJlYXNvbj09PSdvdGhlcnMnICYmICFkYXRhLm90aGVyUmVhc29uKXtcbiAgICAgICAgICBlcnJvckNvdW50KytcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gICAgaWYoZXJyb3JDb3VudD4wKXtcbiAgICAgIHRoaXMuZGlzYWJsZWNhbmNlbCA9ICBmYWxzZVxuICAgICAgdGhpcy50cy5nZXRXYXJuaW5nVG9hc3QoXCJDb21tZW50cyBhcmUgbWFuZGF0b3J5IGZvciBpbnZlcnNlIGh1bWFuIGF1ZGl0ZWQgcmVzcG9uc2VzXCIpXG4gIH1cbiAgICByZXR1cm4gZXJyb3JDb3VudFxuICB9XG4gIG9uc3VibWl0KGlzUmVTZW5kPzpib29sZWFuKSB7XG4gICAgdGhpcy5kaXNhYmxlY2FuY2VsID0gIHRydWVcbiAgICAvLyBpZigodGhpcy5zdGVwV2lzZVByb2Nlc3MuZmlsdGVyKChkYXRhOmFueSk9PmRhdGEuYXVkaXRlZFN0YXR1cz09PXRydWUpLmxlbmd0aCt0aGlzLnN0ZXBXaXNlUHJvY2Vzcy5maWx0ZXIoKGRhdGE6YW55KT0+ZGF0YS5hdWRpdGVkU3RhdHVzPT09ZmFsc2UpLmxlbmd0aCkhPT10aGlzLnN0ZXBXaXNlUHJvY2Vzcy5sZW5ndGgpe1xuICAgIC8vICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0RXJyb3JUb2FzdChcIk9vcHMhIExvb2tzIGxpa2UgdGhlIGV5ZSB0ZXN0IGF1ZGl0IGlzbuKAmXQgY29tcGxldGUgeWV0LiBBdWRpdCBhbGwgZXllIHRlc3Qgc3RlcHMgYmVmb3JlIHN1Ym1pdHRpbmcuXCIpXG4gICAgLy8gICB0aGlzLmRpc2FibGVjYW5jZWwgPSAgZmFsc2VcbiAgICAvLyAgIHJldHVyblxuICAgIC8vIH1cbiAgICAvLyBpZih0aGlzLmdldFZhbGlkYUZvcm0oKT09PTApe1xuXG4gICAgICBsZXQgcGF5bG9hZCA9IHtcbiAgICAgICAgaWQ6IHRoaXMuQXVkaXRJZCxcbiAgICAgICAgdHlwZTogdGhpcy5jdXJyZW50QXVkaXRUeXBlLFxuICAgICAgICBmaWxlSWQ6IHRoaXMuY3VycmVudEF1ZGl0VHlwZSA9PT0gJ3JlbW90ZScgPyB0aGlzLmF1ZGl0RGV0YWlscy5lbmdhZ2VtZW50SWQgOiB0aGlzLmF1ZGl0RGV0YWlscy5xdWV1ZUlkLFxuICAgICAgICBhdWRpdGVkU3RlcHM6IHRoaXMuc3RlcFdpc2VQcm9jZXNzLmZpbHRlcigoZGF0YTphbnkpPT5kYXRhLmF1ZGl0ZWRTdGF0dXM9PT10cnVlKS5sZW5ndGgsXG4gICAgICAgIGF1ZGl0U3RhdHVzOnRoaXMuYXVkaXREZXRhaWxzPy5hdWRpdFR5cGUgPT09ICdBdWRpdCc/IFwiQXVkaXRlZFwiOlwiUmUtQXVkaXRlZFwiLFxuICAgICAgICBvdmVyUmlkZXM6dGhpcy5maW5kY291bnQoKSxcbiAgICAgICAgc3Bva2VuTGFuZ3VhZ2U6IHRoaXMuc3Bva2VuTGFuZ3VhZ2UsXG4gICAgICAgIHN0ZXBzOiB0aGlzLnN0ZXBXaXNlUHJvY2VzcyxcbiAgICAgICAgY2x1c3RlcjogdGhpcy5jbHVzdGVyLCAgXG4gICAgICAgICBSTUVtYWlsOiB0aGlzLlJtRW1haWwsXG4gICAgICAgICAgY2xpZW50SWQ6IHRoaXMuYXVkaXREZXRhaWxzPy5zdG9yZUlkPy5zcGxpdChcIi1cIilbMF0sXG4gICAgICAgICAgIC4uLih0eXBlb2YgaXNSZVNlbmQgIT0gJ3VuZGVmaW5lZCcgJiYge2lzUmVTZW5kOmlzUmVTZW5kfSkgXG4gICAgICB9XG4gICAgICB0aGlzLmV5ZVNlcnZpY2Uuc3VibWl0QXVkaXQocGF5bG9hZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09IDIwMCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2cocmVzKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaWYocmVzPy5tZXNzYWdlID09IFwiRG8geW91IHdhbnQgcmVzZW5kIG1haWw/XCIpIHtcbiBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKFNlbmRBbGVydENvbXBvbmVudCx7Y2VudGVyZWQ6dHJ1ZSxzaXplOidtZCd9KTtcbiAgICAgICAgICAgIGRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5tZXNzYWdlID0gcmVzLm1lc3NhZ2U7XG4gICAgICAgICAgICBkaWFsb2dSZWYucmVzdWx0LnRoZW4oKHJlc3VsdCk9PntcbiAgICAgICAgICAgICAgdGhpcy5vbnN1Ym1pdChyZXN1bHQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpPT57XG4gICAgICAgICAgICAgIHRoaXMuZ2V0QXVkaXRkZXRhaWxzKCk7XG4gICAgICAgICAgICB9LDEwMDApXG4gICAgICAgICAgICB0aGlzLnRzLmdldFN1Y2Nlc3NUb2FzdChgJHt0aGlzLmF1ZGl0RGV0YWlscz8uYXVkaXRUeXBlfSBTdWJtaXR0ZWQgU3VjY2Vzc2Z1bGx5YClcblxuICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHRoaXMuZGlzYWJsZWNhbmNlbCA9ICBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChlcnI/LmVycm9yPy5lcnJvciA/IGVycj8uZXJyb3I/LmVycm9yIDogZXJyPy5lcnJvcj8ubWVzc2FnZSlcbiAgICAgICAgIH0gXG4gICAgICB9KVxuICAgIC8vIH1cblxuXG4gIH1cbiAgc3RhcnRBdWRpdCh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5kaXNhYmxlY2FuY2VsID0gIHRydWVcbiAgICB0aGlzLnRha2VBdWRpdCA9IHRydWU7XG4gICAgdGhpcy5hdWRpdERldGFpbHMuYXVkaXRTdGF0dXMgPSAnUmUtQXVkaXRlZCdcbiAgICBsZXQgcGF5bG9hZCA9IHtcbiAgICAgIGlkOiB0aGlzLkF1ZGl0SWRcbiAgICB9XG4gICAgdGhpcy5leWVTZXJ2aWNlLmdldEF1ZGl0RmlsZShwYXlsb2FkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHtcbiAgICAgICAgXG4gICAgICAgICAgdGhpcy5nZXRBdWRpdGRldGFpbHMoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcbiAgICAgICB0aGlzLnRzLmdldEVycm9yVG9hc3QoZXJyPy5lcnJvcj8uZXJyb3IgPyBlcnI/LmVycm9yPy5lcnJvciA6IGVycj8uZXJyb3I/Lm1lc3NhZ2UpXG4gICAgICB9XG4gICAgfSlcblxuXG4gIH1cblxuICBvblllcygpe1xuICAgIGxldCBwYXlsb2FkID0ge1xuICAgICAgaWQ6IHRoaXMuQXVkaXRJZCxcbiAgICAgICAgdHlwZTogdGhpcy5jdXJyZW50QXVkaXRUeXBlLFxuICAgICAgICBmaWxlSWQ6IHRoaXMuY3VycmVudEF1ZGl0VHlwZSA9PT0gJ3JlbW90ZScgPyB0aGlzLmF1ZGl0RGV0YWlscy5lbmdhZ2VtZW50SWQgOiB0aGlzLmF1ZGl0RGV0YWlscy5xdWV1ZUlkLFxuICAgIH1cbiAgICB0aGlzLmV5ZVNlcnZpY2UuY2FuY2VsQXVkaXRGaWxlKHBheWxvYWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09IDIwMCkge1xuICAgICAgICAgIHRoaXMuZ2V0QXVkaXRkZXRhaWxzKCk7XG4gICAgICAgICAgdGhpcy50cy5nZXRTdWNjZXNzVG9hc3QoYCR7dGhpcy5hdWRpdERldGFpbHM/LmF1ZGl0VHlwZX0gQ2FuY2VsbGVkIFN1Y2Nlc3NmdWxseWApXG4gICAgICAgICAgdGhpcy5tb2RhbFJlZi5kaXNtaXNzKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMudHMuZ2V0RXJyb3JUb2FzdChlcnI/LmVycm9yPy5lcnJvciA/IGVycj8uZXJyb3I/LmVycm9yIDogZXJyPy5lcnJvcj8ubWVzc2FnZSlcbiAgICAgICAgdGhpcy5tb2RhbFJlZi5kaXNtaXNzKCk7XG4gICAgICB9XG4gICAgfSlcblxuICAgIHRoaXMudGFrZUF1ZGl0ID1mYWxzZVxuICB9XG4gIGNhbmNlbCgpe1xuICAgIHRoaXMubW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKHRoaXMudmlld0NhbmNlbCwge1xuICAgICAgc2l6ZTonbWQnLFxuICAgICAgY2VudGVyZWQ6IHRydWUsXG4gICAgICBzY3JvbGxhYmxlOiB0cnVlLFxuICAgIH0pOyAgXG4gIH1cbiAgT25DYW5jZWwoKXtcbiAgICB0aGlzLm1vZGFsUmVmLmRpc21pc3MoKTtcbiAgfVxuXG4gIG9uRXllVGVzdEFpU2VhcmNoKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5leWVUZXN0Q2hhdFF1ZXJ5LnRyaW0oKSkgcmV0dXJuO1xuICAgIGlmICghdGhpcy5haVNlc3Npb25JZCkgdGhpcy5pbml0QWlTZXNzaW9uKCk7XG5cbiAgICB0aGlzLnNob3dFeWVUZXN0QWlNZXNzYWdlID0gdHJ1ZTtcbiAgICB0aGlzLmV5ZVRlc3RBaU1lc3NhZ2UgPSBudWxsO1xuXG4gICAgY29uc3Qgc3RvcmVzOiBzdHJpbmdbXSA9IEFycmF5LmlzQXJyYXkodGhpcy5leWVUZXN0Rm9ybS52YWx1ZS5zdG9yZUxpc3QpXG4gICAgICA/IHRoaXMuZXllVGVzdEZvcm0udmFsdWUuc3RvcmVMaXN0Lm1hcCgoczogYW55KSA9PiBzLnN0b3JlTmFtZSlcbiAgICAgIDogW107XG5cbiAgICBjb25zdCBzdGFydERhdGUgPSB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlPy5zdGFydERhdGVcbiAgICAgID8gdGhpcy5kYXlqcyh0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSwgJ0RELU1NLVlZWVknKS5mb3JtYXQoJ1lZWVktTU0tREQnKVxuICAgICAgOiAnJztcbiAgICBjb25zdCBlbmREYXRlID0gdGhpcy5zZWxlY3RlZERhdGVSYW5nZT8uZW5kRGF0ZVxuICAgICAgPyB0aGlzLmRheWpzKHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSwgJ0RELU1NLVlZWVknKS5mb3JtYXQoJ1lZWVktTU0tREQnKVxuICAgICAgOiAnJztcblxuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICB1c2VyX2lkOiB0aGlzLnVzZXJzPy5faWQgfHwgJycsXG4gICAgICBzZXNzaW9uX2lkOiB0aGlzLmFpU2Vzc2lvbklkLFxuICAgICAgc2Vzc2lvbl9kYXRlOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkuc2xpY2UoMCwgMTApLFxuICAgICAgc2Vzc2lvbl90aW1lem9uZTogSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lLFxuICAgICAgbWVzc2FnZTogdGhpcy5leWVUZXN0Q2hhdFF1ZXJ5LFxuICAgICAgYW5hbHl0aWNzVHlwZTogJ2V5ZXRlc3QnLFxuICAgICAgY29uZmlnOiB7XG4gICAgICAgIHNlbGVjdGVkX3N0b3Jlczogc3RvcmVzLFxuICAgICAgICBkYXRlX3JhbmdlOiB7IHN0YXJ0OiBzdGFydERhdGUsIGVuZDogZW5kRGF0ZSB9LFxuICAgICAgICBzZWxlY3RlZF9wcm9kdWN0czogW10sXG4gICAgICAgIHNlbGVjdGVkX21vZGVsOiB0aGlzLnNlbGVjdGVkTW9kZWxcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5leWVTZXJ2aWNlLmNoYXRTdHJlYW0ocGF5bG9hZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAodGV4dDogc3RyaW5nKSA9PiB7IHRoaXMuZXllVGVzdEFpTWVzc2FnZSA9IHRleHQ7IH0sXG4gICAgICBlcnJvcjogKCkgPT4geyB0aGlzLmV5ZVRlc3RBaU1lc3NhZ2UgPSAnVW5hYmxlIHRvIGdldCBBSSByZXNwb25zZS4gUGxlYXNlIHRyeSBhZ2Fpbi4nOyB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldENvbnZBdWRpbygpOiBIVE1MQXVkaW9FbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNjb252LWF1ZGlvJykgYXMgSFRNTEF1ZGlvRWxlbWVudDtcbiAgfVxuXG4gIHRvZ2dsZUNvbnZQbGF5KCk6IHZvaWQge1xuICAgIGNvbnN0IGF1ZGlvID0gdGhpcy5nZXRDb252QXVkaW8oKTtcbiAgICBpZiAoIWF1ZGlvKSByZXR1cm47XG4gICAgaWYgKHRoaXMuY29udklzUGxheWluZykge1xuICAgICAgYXVkaW8ucGF1c2UoKTtcbiAgICAgIHRoaXMuY29udklzUGxheWluZyA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBhdWRpby5wbGF5KCk7XG4gICAgICB0aGlzLmNvbnZJc1BsYXlpbmcgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG9uQ29udlRpbWVVcGRhdGUoKTogdm9pZCB7XG4gICAgY29uc3QgYXVkaW8gPSB0aGlzLmdldENvbnZBdWRpbygpO1xuICAgIGlmICghYXVkaW8pIHJldHVybjtcbiAgICB0aGlzLmNvbnZDdXJyZW50VGltZSA9IHRoaXMuZm9ybWF0Q29udlRpbWUoYXVkaW8uY3VycmVudFRpbWUpO1xuICAgIGlmIChhdWRpby5kdXJhdGlvbiAmJiBpc0Zpbml0ZShhdWRpby5kdXJhdGlvbikpIHtcbiAgICAgIHRoaXMuY29udlByb2dyZXNzID0gYXVkaW8uY3VycmVudFRpbWUgLyBhdWRpby5kdXJhdGlvbjtcbiAgICB9XG4gIH1cblxuICBvbkNvbnZMb2FkZWQoKTogdm9pZCB7XG4gICAgY29uc3QgYXVkaW8gPSB0aGlzLmdldENvbnZBdWRpbygpO1xuICAgIGlmICghYXVkaW8pIHJldHVybjtcbiAgICAvLyBPbmx5IHVzZSBhdWRpby5kdXJhdGlvbiBpZiBpdCdzIGEgdmFsaWQgZmluaXRlIG51bWJlcjsgb3RoZXJ3aXNlIGtlZXAgQVBJLXByb3ZpZGVkIGR1cmF0aW9uXG4gICAgaWYgKGF1ZGlvLmR1cmF0aW9uICYmIGlzRmluaXRlKGF1ZGlvLmR1cmF0aW9uKSkge1xuICAgICAgdGhpcy5jb252RHVyYXRpb24gPSB0aGlzLmZvcm1hdENvbnZUaW1lKGF1ZGlvLmR1cmF0aW9uKTtcbiAgICB9XG4gIH1cblxuICBmb3JtYXRDb252VGltZShzZWNvbmRzOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmICghc2Vjb25kcyB8fCBpc05hTihzZWNvbmRzKSkgcmV0dXJuICcwOjAwJztcbiAgICBjb25zdCBtID0gTWF0aC5mbG9vcihzZWNvbmRzIC8gNjApO1xuICAgIGNvbnN0IHMgPSBNYXRoLmZsb29yKHNlY29uZHMgJSA2MCk7XG4gICAgcmV0dXJuIGAke219OiR7cyA8IDEwID8gJzAnICsgcyA6IHN9YDtcbiAgfVxuXG4gIHNlZWtDb252QXVkaW8oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBhdWRpbyA9IHRoaXMuZ2V0Q29udkF1ZGlvKCk7XG4gICAgaWYgKCFhdWRpbyB8fCAhYXVkaW8uZHVyYXRpb24pIHJldHVybjtcbiAgICBjb25zdCB0cmFjayA9IGV2ZW50LmN1cnJlbnRUYXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgY29uc3QgcmF0aW8gPSBldmVudC5vZmZzZXRYIC8gdHJhY2sub2Zmc2V0V2lkdGg7XG4gICAgYXVkaW8uY3VycmVudFRpbWUgPSByYXRpbyAqIGF1ZGlvLmR1cmF0aW9uO1xuICB9XG5cbiAgdG9nZ2xlQ29udk11dGUoKTogdm9pZCB7XG4gICAgY29uc3QgYXVkaW8gPSB0aGlzLmdldENvbnZBdWRpbygpO1xuICAgIGlmICghYXVkaW8pIHJldHVybjtcbiAgICB0aGlzLmNvbnZJc011dGVkID0gIXRoaXMuY29udklzTXV0ZWQ7XG4gICAgYXVkaW8ubXV0ZWQgPSB0aGlzLmNvbnZJc011dGVkO1xuICB9XG5cbiAgcGxheUZyb21TdGVwKHN0ZXA6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGF1ZGlvID0gdGhpcy5nZXRDb252QXVkaW8oKTtcbiAgICBpZiAoIWF1ZGlvIHx8ICFzdGVwPy5zdGFydFRpbWUpIHJldHVybjtcbiAgICBjb25zdCBwYXJ0cyA9IFN0cmluZyhzdGVwLnN0YXJ0VGltZSkuc3BsaXQoJzonKS5tYXAoTnVtYmVyKTtcbiAgICBsZXQgc2Vjb25kcyA9IDA7XG4gICAgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMykge1xuICAgICAgc2Vjb25kcyA9IHBhcnRzWzBdICogMzYwMCArIHBhcnRzWzFdICogNjAgKyBwYXJ0c1syXTtcbiAgICB9IGVsc2UgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMikge1xuICAgICAgc2Vjb25kcyA9IHBhcnRzWzBdICogNjAgKyBwYXJ0c1sxXTtcbiAgICB9XG4gICAgYXVkaW8uY3VycmVudFRpbWUgPSBzZWNvbmRzO1xuICAgIGF1ZGlvLnBsYXkoKTtcbiAgICB0aGlzLmNvbnZJc1BsYXlpbmcgPSB0cnVlO1xuICB9XG5cbiAgLy8g4pSA4pSAIEFJIEFzc2lzdGFudCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgcGFyc2VBaU1hcmtkb3duKHRleHQ6IHN0cmluZyk6IFNhZmVIdG1sIHtcbiAgICBpZiAoIXRleHQpIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCgnJyk7XG4gICAgbGV0IGh0bWwgPSB0ZXh0XG4gICAgICAucmVwbGFjZSgvJi9nLCAnJmFtcDsnKS5yZXBsYWNlKC88L2csICcmbHQ7JykucmVwbGFjZSgvPi9nLCAnJmd0OycpXG4gICAgICAucmVwbGFjZSgvXiMjIyAoLispJC9nbSwgJzxoNT4kMTwvaDU+JylcbiAgICAgIC5yZXBsYWNlKC9eIyMgKC4rKSQvZ20sICc8aDQ+JDE8L2g0PicpXG4gICAgICAucmVwbGFjZSgvXiMgKC4rKSQvZ20sICc8aDM+JDE8L2gzPicpXG4gICAgICAucmVwbGFjZSgvXFwqXFwqKC4rPylcXCpcXCovZywgJzxzdHJvbmc+JDE8L3N0cm9uZz4nKVxuICAgICAgLnJlcGxhY2UoL19fKC4rPylfXy9nLCAnPHN0cm9uZz4kMTwvc3Ryb25nPicpXG4gICAgICAucmVwbGFjZSgvXFwqKC4rPylcXCovZywgJzxlbT4kMTwvZW0+JylcbiAgICAgIC5yZXBsYWNlKC9fKC4rPylfL2csICc8ZW0+JDE8L2VtPicpXG4gICAgICAucmVwbGFjZSgvXlxccypbLSpdICguKykkL2dtLCAnPGxpPiQxPC9saT4nKVxuICAgICAgLnJlcGxhY2UoL15cXHMqXFxkK1xcLiAoLispJC9nbSwgJzxsaT4kMTwvbGk+JylcbiAgICAgIC5yZXBsYWNlKC8oPGxpPi4qPFxcL2xpPikvZ3MsICc8dWw+JDE8L3VsPicpXG4gICAgICAucmVwbGFjZSgvXFxuezIsfS9nLCAnPC9wPjxwPicpXG4gICAgICAucmVwbGFjZSgvXFxuL2csICc8YnI+Jyk7XG4gICAgaHRtbCA9IGA8cD4ke2h0bWx9PC9wPmA7XG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGh0bWwpO1xuICB9XG5cbiAgYWlDaGF0UXVlcnkgPSAnJztcbiAgYWlSZXNwb25zZVRleHQgPSAnJztcbiAgaXNBaUxvYWRpbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSBhaVNlc3Npb25JZCA9ICcnO1xuXG4gIHByaXZhdGUgaW5pdEFpU2Vzc2lvbigpOiB2b2lkIHtcbiAgICB0aGlzLmFpU2Vzc2lvbklkID0gYEVZRVRFU1RfJHtEYXRlLm5vdygpfWA7XG4gIH1cblxuICBzZW5kQ2hhdE1lc3NhZ2UoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFpQ2hhdFF1ZXJ5LnRyaW0oKSB8fCB0aGlzLmlzQWlMb2FkaW5nKSByZXR1cm47XG4gICAgaWYgKCF0aGlzLmFpU2Vzc2lvbklkKSB0aGlzLmluaXRBaVNlc3Npb24oKTtcblxuICAgIGNvbnN0IHN0b3Jlczogc3RyaW5nW10gPSBBcnJheS5pc0FycmF5KHRoaXMuZXllVGVzdEZvcm0udmFsdWUuc3RvcmVMaXN0KVxuICAgICAgPyB0aGlzLmV5ZVRlc3RGb3JtLnZhbHVlLnN0b3JlTGlzdC5tYXAoKHM6IGFueSkgPT4gcy5zdG9yZUlkKVxuICAgICAgOiBbXTtcblxuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2U/LnN0YXJ0RGF0ZVxuICAgICAgPyB0aGlzLmRheWpzKHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnREYXRlLCAnREQtTU0tWVlZWScpLmZvcm1hdCgnWVlZWS1NTS1ERCcpXG4gICAgICA6ICcnO1xuICAgIGNvbnN0IGVuZERhdGUgPSB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlPy5lbmREYXRlXG4gICAgICA/IHRoaXMuZGF5anModGhpcy5zZWxlY3RlZERhdGVSYW5nZS5lbmREYXRlLCAnREQtTU0tWVlZWScpLmZvcm1hdCgnWVlZWS1NTS1ERCcpXG4gICAgICA6ICcnO1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgIHVzZXJfaWQ6IHRoaXMudXNlcnM/Ll9pZCB8fCAnJyxcbiAgICAgIHNlc3Npb25faWQ6IHRoaXMuYWlTZXNzaW9uSWQsXG4gICAgICBzZXNzaW9uX2RhdGU6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zbGljZSgwLCAxMCksXG4gICAgICBzZXNzaW9uX3RpbWV6b25lOiBJbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmUsXG4gICAgICBtZXNzYWdlOiB0aGlzLmFpQ2hhdFF1ZXJ5LFxuICAgICAgYW5hbHl0aWNzVHlwZTogJ2V5ZXRlc3QnLFxuICAgICAgY29uZmlnOiB7XG4gICAgICAgIHNlbGVjdGVkX3N0b3Jlczogc3RvcmVzLFxuICAgICAgICBkYXRlX3JhbmdlOiB7IHN0YXJ0OiBzdGFydERhdGUsIGVuZDogZW5kRGF0ZSB9LFxuICAgICAgICBzZWxlY3RlZF9wcm9kdWN0czogWydFeWVUZXN0J10sXG4gICAgICAgIHNlbGVjdGVkX21vZGVsOiB0aGlzLnNlbGVjdGVkTW9kZWxcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5pc0FpTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5haVJlc3BvbnNlVGV4dCA9ICcnO1xuICAgIHRoaXMuZXllU2VydmljZS5jaGF0U3RyZWFtKHBheWxvYWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHRleHQ6IHN0cmluZykgPT4geyB0aGlzLmFpUmVzcG9uc2VUZXh0ID0gdGV4dDsgfSxcbiAgICAgIGVycm9yOiAoKSA9PiB7IHRoaXMuaXNBaUxvYWRpbmcgPSBmYWxzZTsgfSxcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7IHRoaXMuaXNBaUxvYWRpbmcgPSBmYWxzZTsgfVxuICAgIH0pO1xuICB9XG5cbn1cbiIsIjxzZWN0aW9uICpuZ0lmPVwiIWV5ZVZpZXdcIiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxyXG48ZGl2IGNsYXNzPVwiY2FyZCBtYi0yXCI+XHJcbiAgICAgPGRpdiAqbmdJZj1cImxvYWRpbmcxXCIgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Zm9ybSAqbmdJZj1cIiFsb2FkaW5nMVwiIFtmb3JtR3JvdXBdPVwiZXllVGVzdEZvcm1cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgbXQtNyBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHB4LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImV5ZVRlc3RGb3JtLmdldCgndHlwZScpPy52YWx1ZSA9PT0ncmVtb3RlJyA/ICdjb2wtMiBtYi00JyA6ICdjb2wtMiBtYi00J1wiIGNsYXNzPVwiY29sLTEgbWItNFwiIHN0eWxlPVwiei1pbmRleDogMzMgIWltcG9ydGFudDtcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcmVhY3RpdmUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImRhdGVUeXBlXCIgW2lkRmllbGRdPVwiJ3ZhbHVlJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiIFtkYXRhXT1cImRhdGVUeXBlXCIgKGl0ZW1DaGFuZ2UpPVwiZGF0ZVR5cGVDaGFuZ2UoJGV2ZW50KVwiPjwvbGliLXJlYWN0aXZlLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICBbbmdDbGFzc109XCJleWVUZXN0Rm9ybS5nZXQoJ3R5cGUnKT8udmFsdWUgPT09J3JlbW90ZScgPyAnY29sLTMgbWItNCcgOiAnY29sLTIgbWItNCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cInRvcDogMjAlO1wiIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEzLjMzMzMgMS42NjY2M1Y0Ljk5OTk2TTYuNjY2NjcgMS42NjY2M1Y0Ljk5OTk2TTIuNSA4LjMzMzI5SDE3LjVNNC4xNjY2NyAzLjMzMzI5SDE1LjgzMzNDMTYuNzUzOCAzLjMzMzI5IDE3LjUgNC4wNzk0OCAxNy41IDQuOTk5OTZWMTYuNjY2NkMxNy41IDE3LjU4NzEgMTYuNzUzOCAxOC4zMzMzIDE1LjgzMzMgMTguMzMzM0g0LjE2NjY3QzMuMjQ2MTkgMTguMzMzMyAyLjUgMTcuNTg3MSAyLjUgMTYuNjY2NlY0Ljk5OTk2QzIuNSA0LjA3OTQ4IDMuMjQ2MTkgMy4zMzMyOSA0LjE2NjY3IDMuMzMzMjlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZ4LWRhdGUtcmFuZ2UgZm9ybS1jb250cm9sIHBzLTEwIHotMlwiIHN0eWxlPVwibWluLXdpZHRoOiAxNTBweCAhaW1wb3J0YW50O1wiIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dCBuZ3hEYXRlcmFuZ2VwaWNrZXJNZCBbZHJvcHNdPVwiJ2Rvd24nXCIgW29wZW5zXT1cIidyaWdodCdcIiBbYWx3YXlzU2hvd0NhbGVuZGFyc109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2tlZXBDYWxlbmRhck9wZW5pbmdXaXRoUmFuZ2VdPVwidHJ1ZVwiIFtzaG93Q2FuY2VsXT1cImZhbHNlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCIgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRhdGVzVXBkYXRlZCk9XCJkYXRlY2hhbmdlKCRldmVudClcIiAoY2xpY2spPVwicmVzZXRWYWxpZGF0aW9uKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdGFydERhdGVDaGFuZ2VkKT1cIm9uU3RhcnREYXRlQ2hhbmdlKCRldmVudClcIiBbaXNDdXN0b21EYXRlXT1cImlzQ3VzdG9tRGF0ZVwiIFthdXRvQXBwbHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xvY2FsZV09XCJ7IGZvcm1hdDogJ0RELU1NLVlZWVknLCBmaXJzdERheTogMSwgbW9udGhOYW1lczogWydKYW51YXJ5JywgJ0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywgJ0p1bHknLCAnQXVndXN0JywgJ1NlcHRlbWJlcicsICdPY3RvYmVyJywgJ05vdmVtYmVyJywgJ0RlY2VtYmVyJ10gfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImRhdGVyYW5nZVwiIFtyZWFkb25seV09XCJ0cnVlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJleWVUZXN0Rm9ybS5nZXQoJ3R5cGUnKT8udmFsdWUgPT09J3JlbW90ZScgPyAnY29sLTMgbWItNCcgOiAnY29sLTIgbWItNCdcIiBjbGFzcz1cImNvbC0yIG1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1yZWFjdGl2ZS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwidHlwZVwiIFtpZEZpZWxkXT1cIid2YWx1ZSdcIiBbbmFtZUZpZWxkXT1cIidsYWJlbCdcIiBbZGF0YV09XCJ0eXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpdGVtQ2hhbmdlKT1cInR5cGVDaGFuZ2UoJGV2ZW50KVwiPjwvbGliLXJlYWN0aXZlLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tICpuZ0lmPVwidXNlcnM/LnJvbGUgPT09J3N1cGVyYWRtaW4nXCIgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJjb2wtbWQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFjZWhvbGRlci1vdmVybGF5XCIgKm5nSWY9XCIhKGV5ZVRlc3RGb3JtLmdldCgnUm1MaXN0Jyk/LnZhbHVlPy5sZW5ndGgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VsZWN0IFJNXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItZ3JvdXAtc2VsZWN0IFtpdGVtc109XCJSbUxpc3RcIiBbZGlzYWJsZWRdPVwiZmFsc2VcIiBbbXVsdGldPVwidHJ1ZVwiIFtzZWFyY2hGaWVsZF09XCIndXNlck5hbWUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRGaWVsZF09XCIndXNlck5hbWUnXCIgKHNlbGVjdGVkKT1cIm9uUm1TZWxlY3QoJGV2ZW50KVwiIFtzZWxlY3RlZFZhbHVlc109XCJleWVUZXN0Rm9ybS5nZXQoJ1JtTGlzdCcpPy52YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saWItZ3JvdXAtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSAqbmdJZj1cInVzZXJzPy5yb2xlID09PSdzdXBlcmFkbWluJyB8fCB1c2Vycz8ucm9sZSA9PT0nYWRtaW4nXCIgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJjb2wtbWQtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFjZWhvbGRlci1vdmVybGF5XCIgKm5nSWY9XCIhKGV5ZVRlc3RGb3JtLmdldCgnQ2x1c3Rlckxpc3QnKT8udmFsdWU/Lmxlbmd0aClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWxlY3QgY2x1c3RlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLWdyb3VwLXNlbGVjdCBbaXRlbXNdPVwiQ2x1c3Rlckxpc3RcIiBbZGlzYWJsZWRdPVwiZmFsc2VcIiBbbXVsdGldPVwidHJ1ZVwiIFtzZWFyY2hGaWVsZF09XCInY2x1c3Rlck5hbWUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRGaWVsZF09XCInY2x1c3Rlck5hbWUnXCIgKHNlbGVjdGVkKT1cIm9uZ3JvdXBTZWxlY3QoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVzXT1cImV5ZVRlc3RGb3JtLmdldCgnQ2x1c3Rlckxpc3QnKT8udmFsdWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGliLWdyb3VwLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICAgW25nQ2xhc3NdPVwiZXllVGVzdEZvcm0uZ2V0KCd0eXBlJyk/LnZhbHVlID09PSdyZW1vdGUnID8gJ2NvbC0zIG1iLTQnIDogJ2NvbC0yIG1iLTQnXCIgID5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFjZWhvbGRlci1vdmVybGF5XCIgICpuZ0lmPVwiIShleWVUZXN0Rm9ybS5nZXQoJ3N0b3JlTGlzdCcpPy52YWx1ZT8ubGVuZ3RoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlbGVjdCBTdG9yZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1zdG9yZXMtc2VsZWN0IFtpdGVtc109XCJzdG9yZUxpc3RcIiBbZGlzYWJsZWRdPVwiZmFsc2VcIiBbbXVsdGldPVwidHJ1ZVwiIFtzZWFyY2hGaWVsZF09XCInc3RvcmVOYW1lJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkRmllbGRdPVwiJ3N0b3JlSWQnXCIgKHNlbGVjdGVkKT1cIm9uU3RvcmVTZWxlY3QoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVzXT1cImV5ZVRlc3RGb3JtLmdldCgnc3RvcmVMaXN0Jyk/LnZhbHVlXCI+PC9saWItc3RvcmVzLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImV5ZVRlc3RGb3JtLmdldCgndHlwZScpPy52YWx1ZSA9PT0ncmVtb3RlJyA/ICdjb2wtMicgOiAnY29sLTInXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3Qtd3JhcHBlciBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYWNlaG9sZGVyLW92ZXJsYXlcIiAqbmdJZj1cIiEoZXllVGVzdEZvcm0uZ2V0KCdjb21wbGlhbmNlU2NvcmUnKT8udmFsdWU/Lmxlbmd0aClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZWxlY3QgU2NvcmVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1zZWxlY3QtZHJvcCBbaXRlbXNdPVwidHlwZVBlcmNlbnRhZ2VBcnJheVwiIFtkaXNhYmxlZF09XCJmYWxzZVwiIFttdWx0aV09XCJ0cnVlXCIgW3NlYXJjaEZpZWxkXT1cIidsYWJlbCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZEZpZWxkXT1cIid2YWx1ZSdcIiAoc2VsZWN0ZWQpPVwidHlwZVBlcmNlbnRhZ2VDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVzXT1cImV5ZVRlc3RGb3JtLmdldCgnY29tcGxpYW5jZVNjb3JlJyk/LnZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpYi1zZWxlY3QtZHJvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImV5ZVRlc3RGb3JtLmdldCgndHlwZScpPy52YWx1ZSAhPT0ncmVtb3RlJ1wiIGNsYXNzPVwiY29sLTEgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGliLXJlYWN0aXZlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJhdWRpdFR5cGVcIiBbaWRGaWVsZF09XCIndmFsdWUnXCIgW25hbWVGaWVsZF09XCInbGFiZWwnXCIgW2RhdGFdPVwiYXVkaXRUeXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpdGVtQ2hhbmdlKT1cImF1ZGl0VHlwZUNoYW5nZSgkZXZlbnQpXCI+PC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJleWVUZXN0Rm9ybS5nZXQoJ3R5cGUnKT8udmFsdWUgPT09J3JlbW90ZScgPyAnY29sLTMnIDogJ2NvbC0yJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LXdyYXBwZXIgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFjZWhvbGRlci1vdmVybGF5XCIgKm5nSWY9XCIhKGV5ZVRlc3RGb3JtLmdldCgnYXVkaXRTdGF0dXMnKT8udmFsdWU/Lmxlbmd0aClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWRpdCBTdGF0dXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1zZWxlY3QtZHJvcCBbaXRlbXNdPVwiYXVkaXRTdGF0dXNBcnJheVwiIFtkaXNhYmxlZF09XCJmYWxzZVwiIFttdWx0aV09XCJ0cnVlXCIgW3NlYXJjaEZpZWxkXT1cIidsYWJlbCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZEZpZWxkXT1cIid2YWx1ZSdcIiAoc2VsZWN0ZWQpPVwidHlwZUF1ZGl0U3RhdHVzQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFZhbHVlc109XCJleWVUZXN0Rm9ybS5nZXQoJ2F1ZGl0U3RhdHVzJyk/LnZhbHVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpYi1zZWxlY3QtZHJvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImV5ZVRlc3RGb3JtLmdldCgndHlwZScpPy52YWx1ZSAhPT0ncmVtb3RlJ1wiIGNsYXNzPVwiY29sLW1kLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcmVhY3RpdmUtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cIm5lYXJBZGRpdGlvblwiIFtpZEZpZWxkXT1cIid2YWx1ZSdcIiBbbmFtZUZpZWxkXT1cIidsYWJlbCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cIm5lYXJBZGRpdGlvbkFycmF5XCIgKGl0ZW1DaGFuZ2UpPVwibmVhckFkZGl0aW9uQ2hhbmdlKCRldmVudClcIj48L2xpYi1yZWFjdGl2ZS1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJleWVUZXN0Rm9ybS5nZXQoJ3R5cGUnKT8udmFsdWUgIT09J3JlbW90ZSdcIiBjbGFzcz1cImNvbC1tZC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLXJlYWN0aXZlLXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJjYXRlZ29yeVwiIFtpZEZpZWxkXT1cIid2YWx1ZSdcIiBbbmFtZUZpZWxkXT1cIidsYWJlbCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImNhdGVnb3J5QXJyYXlcIiAoaXRlbUNoYW5nZSk9XCJjYXRlZ29yeVR5cGVDaGFuZ2UoJGV2ZW50KVwiPjwvbGliLXJlYWN0aXZlLXNlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgXHJcbiAgKm5nSWY9XCJ1c2Vycz8ucm9sZVwiIFxyXG4gIGNsYXNzPVwidGV4dC1lbmRcIlxyXG4gIFtuZ0NsYXNzXT1cImV5ZVRlc3RGb3JtLmdldCgndHlwZScpPy52YWx1ZSA9PT0ncmVtb3RlJyA/ICdjb2wtMSBtYi00JyA6ICdjb2wtMSBtYi00J1wiXHJcbj5cclxuPCEtLSBbbmdDbGFzc109XCJnZXRBcHBseUJ1dHRvbkNsYXNzKHVzZXJzPy5yb2xlLCBleWVUZXN0Rm9ybS5nZXQoJ3R5cGUnKT8udmFsdWUpXCIgLS0+XHJcblxyXG4gICAgPGEgKGNsaWNrKT1cIm9uU3VibWl0KCk7XCIgdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeSBweS0zIFwiPlxyXG4gICAgICAgIDxzcGFuPkFwcGx5PC9zcGFuPlxyXG4gICAgICA8L2E+XHJcblxyXG48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Zvcm0+XHJcbiAgICA8ZGl2ICpuZ0lmPVwic2hvd0V5ZVRlc3RcIiBjbGFzcz1cIm1zLTYgbWItM1wiPlxyXG5cclxuICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGRhc2hlZCB3LTEwMCAgcm93XCI+XHJcbiAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29sLTEwIHRpdGxlLXRleHQgcHktM1wiPjxzcGFuIGNsYXNzPVwibXgtMlwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMzIgMzJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiByeD1cIjE2XCIgZmlsbD1cIiNGRUU0RTJcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzIzNV8yNDIzNClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNiAxMy4zMzM1VjE2LjAwMDJNMTYgMTguNjY2OEgxNi4wMDY3TTIyLjY2NjcgMTYuMDAwMkMyMi42NjY3IDE5LjY4MjEgMTkuNjgxOSAyMi42NjY4IDE2IDIyLjY2NjhDMTIuMzE4MSAyMi42NjY4IDkuMzMzMzcgMTkuNjgyMSA5LjMzMzM3IDE2LjAwMDJDOS4zMzMzNyAxMi4zMTgzIDEyLjMxODEgOS4zMzM1IDE2IDkuMzMzNUMxOS42ODE5IDkuMzMzNSAyMi42NjY3IDEyLjMxODMgMjIuNjY2NyAxNi4wMDAyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8yMzVfMjQyMzRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwid2hpdGVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOCA4KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPjxzcGFuIGNsYXNzPVwiZGFzaGVkLWRlc2NcIj5FeWUgdGVzdCB2aWRlbyBwcmV2aWV3IGlzIGF2YWlsYWJsZSBmb3IgMzAgZGF5cy4gQXVkaXQgZGF0YVxyXG4gICAgICAgICAgICAgICAgIHJlbWFpbnMgYWNjZXNzaWJsZSwgYnV0IHZpZGVvcyB3aWxsIG5vdCBiZSByZXRhaW5lZCBiZXlvbmQgdGhpcyBwZXJpb2QuPC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbC0yIHB0LTIgdGV4dC1lbmQgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwiY2xvc2VFeWVUZXN0KClcIj5cclxuICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgdmlld0JveD1cIjAgMCA0MCA0MFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNMjUgMTVMMTUgMjVNMTUgMTVMMjUgMjVcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgIDwvaDM+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG5cclxuXHJcbjwhLS0gPGRpdiBjbGFzcz1cImNhcmQgbXktM1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB5LTFcIj5cclxuIFxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiAtLT5cclxuXHJcbjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgKm5nSWY9XCJ1c2Vycz8ucm9sZSA9PT0nc3VwZXJhZG1pbicgJiYga2V5VHlwZSA9PT0ncm0nXCIgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBwLTJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGVsbGlwc2UxIG1pbi1oLTU1cHggcHktMSBweC0zIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImNhcmQtdGl0bGUgbXktMFwiPlJlZ2lvbmFsIE1hbmFnZXJzPC9oNT5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC12YWx1ZVwiPnt7Um1MaXN0RGF0YSA/PyAnLS0nfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBtdC01IHAtMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgZWxsaXBzZTEgbWluLWgtNTVweCBweS0xIHB4LTMgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwiY2FyZC10aXRsZSBteS0wXCI+Q2x1c3RlcnM8L2g1PlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXZhbHVlXCI+e3tncm91cHM/Lmxlbmd0aCA/PyAnLS0nfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInVzZXJzPy5yb2xlID09PSdzdXBlcmFkbWluJyAmJiBrZXlUeXBlICE9PSdybScgfHwgdXNlcnM/LnJvbGUgPT09J2FkbWluJ1wiIGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgaC0xMDAgcC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBtaW4taC00NXB4ICBweS0xIHB4LTMgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlXCI+Q2x1c3RlcnM8L2g1PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS03IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXZhbHVlXCI+e3sgZ3JvdXBzPy5sZW5ndGggPz8gJy0nIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGgtMTAwIHAtMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgZWxsaXBzZTEgbWluLWgtNDVweCAgcHktMSBweC0zIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwiY2FyZC10aXRsZVwiPlRvdGFsIFRhbmdvIEFJIEZpbGVzPC9oNT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktNyBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC12YWx1ZVwiPnt7IGV5ZVRlc3RDYXJkRGF0YT8udG90YWxGaWxlcyA/PyAnLScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgaC0xMDAgcC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBtaW4taC00NXB4IHB5LTEgcHgtMyBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImNhcmQtdGl0bGVcIj5UcnVzdCBBdWRpdCBDb21wbGV0ZWQ8L2g1PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0zIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXZhbHVlXCI+e3sgZXllVGVzdENhcmREYXRhPy5jb21wbGV0ZWRGaWxlcyA/PyAnLScgfX08L3NwYW4+XHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyIHB5LTAgYm9yZGVyLTAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtc3ViXCI+e3sgKGV5ZVRlc3RDYXJkRGF0YT8uY29tcGxldGVkUmF0aW8gPz8gJy0nKSArICclJyB9fSA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRlc3Qtc3ViXCI+Q29tcGxldGVkPC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBoLTEwMCBwLTJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGVsbGlwc2UxIG1pbi1oLTQ1cHggIHB5LTEgcHgtMyBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImNhcmQtdGl0bGVcIj5UYW5nbyBTY29yZTwvaDU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB5LTcgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdmFsdWVcIj57eyBleWVUZXN0Q2FyZERhdGE/LnRhbmdvU2NvcmUgPz8gJy0nIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyIHBlLTAgcHMtMyBweS0wIGJvcmRlci0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJleWVUZXN0Q2FyZERhdGE/LnRyZW5kXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzIxNl8xMTgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMS41IDNMNi43NSA3Ljc1TDQuMjUgNS4yNUwwLjUgOU0xMS41IDNIOC41TTExLjUgM1Y2XCIgc3Ryb2tlPVwiIzAzOTg1NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zMjE2XzExOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCIhZXllVGVzdENhcmREYXRhPy50cmVuZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEzXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEzIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF83NjBfOTc3NilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNTc1IDlMNi44MjQ5NSA0LjI1TDQuMzI0OTUgNi43NUwwLjU3NDk1MSAzTTExLjU3NSA5SDguNTc0OTVNMTEuNTc1IDlWNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiI0Q5MkQyMFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF83NjBfOTc3NlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjA3NDk1MTIpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz4gXHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtcy0yXCI+e3sgZXllVGVzdENhcmREYXRhPy50YW5nb1Njb3JlVHJlbmQgIT09IG51bGwgXHJcbiAgICAgID8gKGdldEFic1ZhbHVlKGV5ZVRlc3RDYXJkRGF0YS50YW5nb1Njb3JlVHJlbmQpIHwgbnVtYmVyOicxLjAtMCc6J2VuLVVTJykgKyAnJScgXHJcbiAgICAgIDogJy0nIH19XHJcbiA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXN0LXN1YjFcIj52cyBwcmV2aW91cyB3ZWVrPC9zcGFuPjwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgaC0xMDAgcC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBtaW4taC00NXB4IHB5LTEgcHgtMyBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImNhcmQtdGl0bGVcIj5UcnVzdCBTY29yZTwvaDU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB5LTcgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtdmFsdWVcIj57eyAoZXllVGVzdENhcmREYXRhPy50cnVzdFNjb3JlICYmIGV5ZVRlc3RDYXJkRGF0YT8udHJ1c3RTY29yZSAhPT0gJ05BJyBcclxuICA/IGV5ZVRlc3RDYXJkRGF0YS50cnVzdFNjb3JlICsgJyUnIFxyXG4gIDogJ05BJykgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgaC0xMDAgcC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBlbGxpcHNlMSBtaW4taC00NXB4IHB5LTEgcHgtMyBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cImNhcmQtdGl0bGVcIj5IdW1hbiBBdWRpdGVkIFNjb3JlPC9oNT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktNyBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC12YWx1ZVwiPnt7IChleWVUZXN0Q2FyZERhdGE/Lmh1bWFuU2NvcmUgJiYgZXllVGVzdENhcmREYXRhPy5odW1hblNjb3JlICE9PSAnTkEnIFxyXG4gID8gZXllVGVzdENhcmREYXRhLmh1bWFuU2NvcmUgXHJcbiAgOiAnTkEnKSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgIDwvZGl2PlxyXG4gICAgXHJcbjwvZGl2PlxyXG5cclxuXHJcbjxkaXYgY2xhc3M9XCJjYXJkIG10LTNcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC0zXCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInVzZXJzPy5yb2xlID09PSAnc3VwZXJhZG1pbicgJiYga2V5VHlwZSA9PT0ncm0nXCIgY2xhc3M9XCJ0aXRsZS10ZXh0IG1iLTJcIj5cclxuICAgICAgICAgICAgICAgIEF1ZGl0IFN1bW1hcnlcclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWxvYWRpbmdcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnlcIj57eyB0b3RhbEl0ZW1zIH19IFRvdGFsPC9zcGFuPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICA8IS0tIEFkbWluICsgY2x1c3RlciBwcmVzZW50IOKGkiBSTSBTdW1tYXJ5IC0tPlxyXG4gICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMiBjdXJzb3ItcG9pbnRlclwiICpuZ0lmPVwia2V5VHlwZSA9PT0nY2x1c3RlcicgJiYgdXNlcnM/LnJvbGUgPT09ICdzdXBlcmFkbWluJ1wiIChjbGljayk9XCJ0eXBlVmFsMSgncm0nLCcnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjQ0XCIgaGVpZ2h0PVwiNDRcIiB2aWV3Qm94PVwiMCAwIDQ0IDQ0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzc0NV8xMjEyOClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIxXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgcng9XCI4XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMi41XCIgeT1cIjEuNVwiIHdpZHRoPVwiMzlcIiBoZWlnaHQ9XCIzOVwiIHJ4PVwiNy41XCIgc3Ryb2tlPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yNy44MzM0IDIxLjAwMDNIMTYuMTY2N00xNi4xNjY3IDIxLjAwMDNMMjIuMDAwMSAyNi44MzM3TTE2LjE2NjcgMjEuMDAwM0wyMi4wMDAxIDE1LjE2N1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfNzQ1XzEyMTI4XCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiNDRcIiBoZWlnaHQ9XCI0NFwiIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9XCIwXCIgcmVzdWx0PVwiQmFja2dyb3VuZEltYWdlRml4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIiByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVPZmZzZXQgZHk9XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMC4wNjI3NDUxIDAgMCAwIDAgMC4wOTQxMTc2IDAgMCAwIDAgMC4xNTY4NjMgMCAwIDAgMC4wNSAwXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd183NDVfMTIxMjhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93Xzc0NV8xMjEyOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInVzZXJzPy5yb2xlID09PSAnYWRtaW4nICYmIGtleVR5cGUgPT09J2NsdXN0ZXInIHx8IHVzZXJzPy5yb2xlID09PSAnc3VwZXJhZG1pbicgJiYga2V5VHlwZSA9PT0nY2x1c3RlcidcIiBjbGFzcz1cInRpdGxlLXRleHQgbXktNCBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgIFJNIFN1bW1hcnlcclxuICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhbG9hZGluZ1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtcHJpbWFyeSB0ZXh0LWNhcGl0YWxpemVcIj57eyBleWVUZXN0RGF0YVswXT8uUk1OYW1lID8gZXllVGVzdERhdGFbMF0/LlJNTmFtZSA6ICcnIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPCEtLSBBbGwgb3RoZXIgY2FzZXMg4oaSIEV5ZSBUZXN0IC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS0yIGN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCJrZXlUeXBlID09PSdzdG9yZScgJiYgKHVzZXJzPy5yb2xlID09PSAnc3VwZXJhZG1pbicpXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidHlwZVZhbDEoJ2NsdXN0ZXInLHRoaXMucm1FbWFpbClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjQ0XCIgaGVpZ2h0PVwiNDRcIiB2aWV3Qm94PVwiMCAwIDQ0IDQ0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgZmlsdGVyPVwidXJsKCNmaWx0ZXIwX2RfNzQ1XzEyMTI4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMVwiIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHJ4PVwiOFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMi41XCIgeT1cIjEuNVwiIHdpZHRoPVwiMzlcIiBoZWlnaHQ9XCIzOVwiIHJ4PVwiNy41XCIgc3Ryb2tlPVwiI0QwRDVERFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMjcuODMzNCAyMS4wMDAzSDE2LjE2NjdNMTYuMTY2NyAyMS4wMDAzTDIyLjAwMDEgMjYuODMzN00xNi4xNjY3IDIxLjAwMDNMMjIuMDAwMSAxNS4xNjdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfNzQ1XzEyMTI4XCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiNDRcIiBoZWlnaHQ9XCI0NFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz1cInNSR0JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49XCJTb3VyY2VBbHBoYVwiIHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMFwiIHJlc3VsdD1cImhhcmRBbHBoYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9XCJtYXRyaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDUgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluMj1cIkJhY2tncm91bmRJbWFnZUZpeFwiIHJlc3VsdD1cImVmZmVjdDFfZHJvcFNoYWRvd183NDVfMTIxMjhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIiBpbjI9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNzQ1XzEyMTI4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwic2hhcGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMiBjdXJzb3ItcG9pbnRlclwiICpuZ0lmPVwia2V5VHlwZSA9PT0nc3RvcmUnICYmICh1c2Vycz8ucm9sZSA9PT0gJ2FkbWluJylcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0eXBlVmFsMSgnY2x1c3RlcicsdGhpcy5ncm91cHMpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI0NFwiIGhlaWdodD1cIjQ0XCIgdmlld0JveD1cIjAgMCA0NCA0NFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzc0NV8xMjEyOClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyXCIgeT1cIjFcIiB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiByeD1cIjhcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjIuNVwiIHk9XCIxLjVcIiB3aWR0aD1cIjM5XCIgaGVpZ2h0PVwiMzlcIiByeD1cIjcuNVwiIHN0cm9rZT1cIiNEMEQ1RERcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTI3LjgzMzQgMjEuMDAwM0gxNi4xNjY3TTE2LjE2NjcgMjEuMDAwM0wyMi4wMDAxIDI2LjgzMzdNMTYuMTY2NyAyMS4wMDAzTDIyLjAwMDEgMTUuMTY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwiZmlsdGVyMF9kXzc0NV8xMjEyOFwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjQ0XCIgaGVpZ2h0PVwiNDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclVuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9XCJzUkdCXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT1cIjBcIiByZXN1bHQ9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDBcIiByZXN1bHQ9XCJoYXJkQWxwaGFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZU9mZnNldCBkeT1cIjFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzPVwiMCAwIDAgMCAwLjA2Mjc0NTEgMCAwIDAgMCAwLjA5NDExNzYgMCAwIDAgMCAwLjE1Njg2MyAwIDAgMCAwLjA1IDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIiByZXN1bHQ9XCJlZmZlY3QxX2Ryb3BTaGFkb3dfNzQ1XzEyMTI4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPVwibm9ybWFsXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiZWZmZWN0MV9kcm9wU2hhZG93Xzc0NV8xMjEyOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdD1cInNoYXBlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiEodXNlcnM/LnJvbGUgPT09ICdzdXBlcmFkbWluJyAmJiBrZXlUeXBlID09PSdybScpICYmICEodXNlcnM/LnJvbGUgPT09ICdzdXBlcmFkbWluJyAmJiBrZXlUeXBlID09PSdjbHVzdGVyJykgXHJcbiAgICAgICAgICAgICAgICAmJiAhKHVzZXJzPy5yb2xlID09PSAnYWRtaW4nICYmIGtleVR5cGUgPT09J2NsdXN0ZXInKVwiIGNsYXNzPVwidGl0bGUtdGV4dCBteS00IG1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICBFeWUgVGVzdFxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWxvYWRpbmdcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnlcIj57eyB0b3RhbEl0ZW1zIH19IFRvdGFsPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ1c2Vycz8ucm9sZSA9PT0nc3VwZXJhZG1pbicgJiYga2V5VHlwZSA9PT0ncm0nXCIgY2xhc3M9XCJ0ZXh0LXN1YiBteS0yXCI+QmFzZWQgb24ge3sgaGVhZERhdGUgfCBkYXRlOiAnTU1NIGQnIH19IC0ge3tcclxuICAgICAgICAgICAgICAgIGhlYWREYXRlRW5kIHwgZGF0ZTogJ01NTSBkLCB5JyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidXNlcnM/LnJvbGUgPT09J2FkbWluJyAmJiBrZXlUeXBlID09PSdjbHVzdGVyJ1wiIGNsYXNzPVwidGV4dC1zdWIgbXktMlwiPkJhc2VkIG9uIHt7IGhlYWREYXRlIHwgZGF0ZTogJ01NTSBkJyB9fSAtIHt7XHJcbiAgICAgICAgICAgICAgICBoZWFkRGF0ZUVuZCB8IGRhdGU6ICdNTU0gZCwgeScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInVzZXJzPy5yb2xlID09PSd1c2VyJyAmJiBrZXlUeXBlID09PSdzdG9yZSdcIiBjbGFzcz1cInRleHQtc3ViIG15LTJcIj5CYXNlZCBvbiB7eyBoZWFkRGF0ZSB8IGRhdGU6ICdNTU0gZCcgfX0gLSB7e1xyXG4gICAgICAgICAgICAgICAgaGVhZERhdGVFbmQgfCBkYXRlOiAnTU1NIGQsIHknIH19PC9zcGFuPlxyXG4gICAgICAgIDwvaDM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBvcGFjaXR5PVwiMC41XCIgeD1cIjE3LjAzNjVcIiB5PVwiMTUuMTIyM1wiIHdpZHRoPVwiOC4xNTU0NlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInJvdGF0ZSg0NSAxNy4wMzY1IDE1LjEyMjMpXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcmVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMSAxOUM2LjU1NTU2IDE5IDMgMTUuNDQ0NCAzIDExQzMgNi41NTU1NiA2LjU1NTU2IDMgMTEgM0MxNS40NDQ0IDMgMTkgNi41NTU1NiAxOSAxMUMxOSAxNS40NDQ0IDE1LjQ0NDQgMTkgMTEgMTlaTTExIDVDNy41MzMzMyA1IDUgNy41MzMzMyA1IDExQzUgMTQuNDY2NyA3LjUzMzMzIDE3IDExIDE3QzE0LjQ2NjcgMTcgMTcgMTQuNDY2NyAxNyAxMUMxNyA3LjUzMzMzIDE0LjQ2NjcgNSAxMSA1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCAoY2hhbmdlKT1cInNlYXJjaERhdGEoKVwiIFsobmdNb2RlbCldPVwic2VhcmNoVmFsdWVcIiB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIHBzLTE0IG1lLTJcIiBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleVR5cGUgPT09ICdybSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdTZWFyY2ggYnkgUk1OYW1lJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDoga2V5VHlwZSA9PT0gJ2NsdXN0ZXInXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnU2VhcmNoIGJ5IENsdXN0ZXInXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnU2VhcmNoJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgXCIgLz5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAqbmdJZj1cInVzZXJzPy5yb2xlID09PSdzdXBlcmFkbWluJ1wiIChjbGljayk9XCJzZXR0aW5nc1ZpZXcoKVwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNDVcIiBoZWlnaHQ9XCI0NlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDQ1IDQ2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGZpbHRlcj1cInVybCgjZmlsdGVyMF9kXzc2MF85OTg4KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIyLjcxOTczXCIgeT1cIjEuOTgwNDdcIiB3aWR0aD1cIjQwLjA0XCIgaGVpZ2h0PVwiNDAuMDRcIiByeD1cIjcuMjhcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIzLjE3NDczXCIgeT1cIjIuNDM1NDdcIiB3aWR0aD1cIjM5LjEzXCIgaGVpZ2h0PVwiMzkuMTNcIiByeD1cIjYuODI1XCIgc3Ryb2tlPVwiI0QwRDVERFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjAuOTFcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNzYwXzk5ODgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTIyLjczOTYgMjQuMjc0OUMyMy45OTYxIDI0LjI3NDkgMjUuMDE0NiAyMy4yNTYzIDI1LjAxNDYgMjEuOTk5OUMyNS4wMTQ2IDIwLjc0MzQgMjMuOTk2MSAxOS43MjQ5IDIyLjczOTYgMTkuNzI0OUMyMS40ODMyIDE5LjcyNDkgMjAuNDY0NiAyMC43NDM0IDIwLjQ2NDYgMjEuOTk5OUMyMC40NjQ2IDIzLjI1NjMgMjEuNDgzMiAyNC4yNzQ5IDIyLjczOTYgMjQuMjc0OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNTE5N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0yOC4zNTEzIDI0LjI3NDlDMjguMjUwMyAyNC41MDM2IDI4LjIyMDIgMjQuNzU3MyAyOC4yNjQ4IDI1LjAwMzNDMjguMzA5NCAyNS4yNDkzIDI4LjQyNjcgMjUuNDc2MyAyOC42MDE1IDI1LjY1NUwyOC42NDcgMjUuNzAwNUMyOC43ODggMjUuODQxNCAyOC44OTk5IDI2LjAwODcgMjguOTc2MiAyNi4xOTI4QzI5LjA1MjYgMjYuMzc2OSAyOS4wOTE5IDI2LjU3NDMgMjkuMDkxOSAyNi43NzM2QzI5LjA5MTkgMjYuOTcyOSAyOS4wNTI2IDI3LjE3MDMgMjguOTc2MiAyNy4zNTQ0QzI4Ljg5OTkgMjcuNTM4NSAyOC43ODggMjcuNzA1OCAyOC42NDcgMjcuODQ2NkMyOC41MDYyIDI3Ljk4NzYgMjguMzM4OSAyOC4wOTk1IDI4LjE1NDggMjguMTc1OEMyNy45NzA3IDI4LjI1MjIgMjcuNzczMyAyOC4yOTE0IDI3LjU3NCAyOC4yOTE0QzI3LjM3NDcgMjguMjkxNCAyNy4xNzczIDI4LjI1MjIgMjYuOTkzMiAyOC4xNzU4QzI2LjgwOTEgMjguMDk5NSAyNi42NDE4IDI3Ljk4NzYgMjYuNTAwOSAyNy44NDY2TDI2LjQ1NTQgMjcuODAxMUMyNi4yNzY3IDI3LjYyNjMgMjYuMDQ5NyAyNy41MDkgMjUuODAzNyAyNy40NjQ0QzI1LjU1NzcgMjcuNDE5OCAyNS4zMDQgMjcuNDQ5OSAyNS4wNzUzIDI3LjU1MDlDMjQuODUxIDI3LjY0NyAyNC42NTk3IDI3LjgwNjYgMjQuNTI1IDI4LjAxMDFDMjQuMzkwMiAyOC4yMTM1IDI0LjMxNzkgMjguNDUxOSAyNC4zMTY5IDI4LjY5NlYyOC44MjQ5QzI0LjMxNjkgMjkuMjI3MSAyNC4xNTcyIDI5LjYxMjkgMjMuODcyNyAyOS44OTczQzIzLjU4ODMgMzAuMTgxNyAyMy4yMDI1IDMwLjM0MTUgMjIuODAwMyAzMC4zNDE1QzIyLjM5OCAzMC4zNDE1IDIyLjAxMjMgMzAuMTgxNyAyMS43Mjc4IDI5Ljg5NzNDMjEuNDQzNCAyOS42MTI5IDIxLjI4MzYgMjkuMjI3MSAyMS4yODM2IDI4LjgyNDlWMjguNzU2NkMyMS4yNzc3IDI4LjUwNTYgMjEuMTk2NSAyOC4yNjIyIDIxLjA1MDQgMjguMDU4QzIwLjkwNDQgMjcuODUzOCAyMC43MDAzIDI3LjY5ODIgMjAuNDY0NiAyNy42MTE1QzIwLjIzNTkgMjcuNTEwNiAxOS45ODIyIDI3LjQ4MDUgMTkuNzM2MiAyNy41MjUxQzE5LjQ5MDIgMjcuNTY5NyAxOS4yNjMyIDI3LjY4NyAxOS4wODQ0IDI3Ljg2MThMMTkuMDM4OSAyNy45MDczQzE4Ljg5ODEgMjguMDQ4MyAxOC43MzA4IDI4LjE2MDIgMTguNTQ2NyAyOC4yMzY1QzE4LjM2MjYgMjguMzEyOCAxOC4xNjUyIDI4LjM1MjEgMTcuOTY1OSAyOC4zNTIxQzE3Ljc2NjYgMjguMzUyMSAxNy41NjkyIDI4LjMxMjggMTcuMzg1MSAyOC4yMzY1QzE3LjIwMSAyOC4xNjAyIDE3LjAzMzcgMjguMDQ4MyAxNi44OTI5IDI3LjkwNzNDMTYuNzUxOSAyNy43NjY0IDE2LjY0IDI3LjU5OTIgMTYuNTYzNyAyNy40MTVDMTYuNDg3MyAyNy4yMzA5IDE2LjQ0OCAyNy4wMzM2IDE2LjQ0OCAyNi44MzQyQzE2LjQ0OCAyNi42MzQ5IDE2LjQ4NzMgMjYuNDM3NiAxNi41NjM3IDI2LjI1MzVDMTYuNjQgMjYuMDY5MyAxNi43NTE5IDI1LjkwMjEgMTYuODkyOSAyNS43NjEyTDE2LjkzODQgMjUuNzE1N0MxNy4xMTMyIDI1LjUzNyAxNy4yMzA1IDI1LjMxIDE3LjI3NTEgMjUuMDY0QzE3LjMxOTcgMjQuODE4IDE3LjI4OTYgMjQuNTY0MyAxNy4xODg2IDI0LjMzNTVDMTcuMDkyNSAyNC4xMTEyIDE2LjkzMjkgMjMuOTIgMTYuNzI5NCAyMy43ODUyQzE2LjUyNiAyMy42NTA1IDE2LjI4NzYgMjMuNTc4MiAxNi4wNDM1IDIzLjU3NzJIMTUuOTE0NkMxNS41MTI0IDIzLjU3NzIgMTUuMTI2NiAyMy40MTc0IDE0Ljg0MjIgMjMuMTMzQzE0LjU1NzcgMjIuODQ4NiAxNC4zOTc5IDIyLjQ2MjggMTQuMzk3OSAyMi4wNjA1QzE0LjM5NzkgMjEuNjU4MyAxNC41NTc3IDIxLjI3MjUgMTQuODQyMiAyMC45ODgxQzE1LjEyNjYgMjAuNzAzNyAxNS41MTI0IDIwLjU0MzkgMTUuOTE0NiAyMC41NDM5SDE1Ljk4MjlDMTYuMjMzOSAyMC41MzggMTYuNDc3MyAyMC40NTY4IDE2LjY4MTUgMjAuMzEwN0MxNi44ODU3IDIwLjE2NDYgMTcuMDQxMyAxOS45NjA1IDE3LjEyNzkgMTkuNzI0OUMxNy4yMjg5IDE5LjQ5NjEgMTcuMjU5IDE5LjI0MjQgMTcuMjE0NCAxOC45OTY0QzE3LjE2OTggMTguNzUwNCAxNy4wNTI1IDE4LjUyMzQgMTYuODc3NyAxOC4zNDQ3TDE2LjgzMjIgMTguMjk5MkMxNi42OTEyIDE4LjE1ODMgMTYuNTc5MyAxNy45OTExIDE2LjUwMyAxNy44MDdDMTYuNDI2NyAxNy42MjI4IDE2LjM4NzQgMTcuNDI1NSAxNi4zODc0IDE3LjIyNjJDMTYuMzg3NCAxNy4wMjY4IDE2LjQyNjcgMTYuODI5NSAxNi41MDMgMTYuNjQ1NEMxNi41NzkzIDE2LjQ2MTIgMTYuNjkxMiAxNi4yOTQgMTYuODMyMiAxNi4xNTMxQzE2Ljk3MzEgMTYuMDEyMSAxNy4xNDAzIDE1LjkwMDIgMTcuMzI0NCAxNS44MjM5QzE3LjUwODYgMTUuNzQ3NiAxNy43MDU5IDE1LjcwODMgMTcuOTA1MiAxNS43MDgzQzE4LjEwNDYgMTUuNzA4MyAxOC4zMDE5IDE1Ljc0NzYgMTguNDg2IDE1LjgyMzlDMTguNjcwMiAxNS45MDAyIDE4LjgzNzQgMTYuMDEyMSAxOC45NzgzIDE2LjE1MzFMMTkuMDIzOCAxNi4xOTg2QzE5LjIwMjUgMTYuMzczNCAxOS40Mjk1IDE2LjQ5MDcgMTkuNjc1NSAxNi41MzUzQzE5LjkyMTUgMTYuNTc5OSAyMC4xNzUyIDE2LjU0OTggMjAuNDAzOSAxNi40NDg5SDIwLjQ2NDZDMjAuNjg4OSAxNi4zNTI3IDIwLjg4MDIgMTYuMTkzMSAyMS4wMTQ5IDE1Ljk4OTdDMjEuMTQ5NyAxNS43ODYyIDIxLjIyMiAxNS41NDc4IDIxLjIyMjkgMTUuMzAzOFYxNS4xNzQ5QzIxLjIyMjkgMTQuNzcyNiAyMS4zODI3IDE0LjM4NjkgMjEuNjY3MiAxNC4xMDI0QzIxLjk1MTYgMTMuODE4IDIyLjMzNzQgMTMuNjU4MiAyMi43Mzk2IDEzLjY1ODJDMjMuMTQxOSAxMy42NTgyIDIzLjUyNzYgMTMuODE4IDIzLjgxMjEgMTQuMTAyNEMyNC4wOTY1IDE0LjM4NjkgMjQuMjU2MyAxNC43NzI2IDI0LjI1NjMgMTUuMTc0OVYxNS4yNDMxQzI0LjI1NzMgMTUuNDg3MSAyNC4zMjk2IDE1LjcyNTYgMjQuNDY0MyAxNS45MjlDMjQuNTk5IDE2LjEzMjUgMjQuNzkwMyAxNi4yOTIxIDI1LjAxNDYgMTYuMzg4MkMyNS4yNDMzIDE2LjQ4OTEgMjUuNDk3MSAxNi41MTkzIDI1Ljc0MzEgMTYuNDc0N0MyNS45ODkxIDE2LjQzMDEgMjYuMjE2MSAxNi4zMTI4IDI2LjM5NDggMTYuMTM4TDI2LjQ0MDMgMTYuMDkyNUMyNi41ODExIDE1Ljk1MTQgMjYuNzQ4NCAxNS44Mzk2IDI2LjkzMjUgMTUuNzYzMkMyNy4xMTY3IDE1LjY4NjkgMjcuMzE0IDE1LjY0NzYgMjcuNTEzMyAxNS42NDc2QzI3LjcxMjYgMTUuNjQ3NiAyNy45MSAxNS42ODY5IDI4LjA5NDEgMTUuNzYzMkMyOC4yNzgyIDE1LjgzOTYgMjguNDQ1NSAxNS45NTE0IDI4LjU4NjQgMTYuMDkyNUMyOC43Mjc0IDE2LjIzMzMgMjguODM5MiAxNi40MDA2IDI4LjkxNTYgMTYuNTg0N0MyOC45OTE5IDE2Ljc2ODggMjkuMDMxMiAxNi45NjYyIDI5LjAzMTIgMTcuMTY1NUMyOS4wMzEyIDE3LjM2NDggMjguOTkxOSAxNy41NjIyIDI4LjkxNTYgMTcuNzQ2M0MyOC44MzkyIDE3LjkzMDQgMjguNzI3NCAxOC4wOTc3IDI4LjU4NjQgMTguMjM4NUwyOC41NDA5IDE4LjI4NEMyOC4zNjYgMTguNDYyOCAyOC4yNDg4IDE4LjY4OTggMjguMjA0MiAxOC45MzU4QzI4LjE1OTYgMTkuMTgxOCAyOC4xODk3IDE5LjQzNTUgMjguMjkwNiAxOS42NjQyVjE5LjcyNDlDMjguMzg2NyAxOS45NDkyIDI4LjU0NjQgMjAuMTQwNCAyOC43NDk4IDIwLjI3NTJDMjguOTUzMyAyMC40MDk5IDI5LjE5MTcgMjAuNDgyMiAyOS40MzU3IDIwLjQ4MzJIMjkuNTY0NkMyOS45NjY5IDIwLjQ4MzIgMzAuMzUyNiAyMC42NDMgMzAuNjM3MSAyMC45Mjc0QzMwLjkyMTUgMjEuMjExOSAzMS4wODEzIDIxLjU5NzYgMzEuMDgxMyAyMS45OTk5QzMxLjA4MTMgMjIuNDAyMSAzMC45MjE1IDIyLjc4NzkgMzAuNjM3MSAyMy4wNzIzQzMwLjM1MjYgMjMuMzU2NyAyOS45NjY5IDIzLjUxNjUgMjkuNTY0NiAyMy41MTY1SDI5LjQ5NjRDMjkuMjUyMyAyMy41MTc1IDI5LjAxMzkgMjMuNTg5OCAyOC44MTA1IDIzLjcyNDZDMjguNjA3IDIzLjg1OTMgMjguNDQ3NCAyNC4wNTA2IDI4LjM1MTMgMjQuMjc0OVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNTE5N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJmaWx0ZXIwX2RfNzYwXzk5ODhcIiB4PVwiMC43MTk3MjdcIiB5PVwiMC45ODA0NjlcIiB3aWR0aD1cIjQ0LjA0XCIgaGVpZ2h0PVwiNDQuMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPVwic1JHQlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PVwiMFwiIHJlc3VsdD1cIkJhY2tncm91bmRJbWFnZUZpeFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IGluPVwiU291cmNlQWxwaGFcIiB0eXBlPVwibWF0cml4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1cIjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwXCIgcmVzdWx0PVwiaGFyZEFscGhhXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlT2Zmc2V0IGR5PVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIxXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT1cIm1hdHJpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9XCIwIDAgMCAwIDAuMDYyNzQ1MSAwIDAgMCAwIDAuMDk0MTE3NiAwIDAgMCAwIDAuMTU2ODYzIDAgMCAwIDAuMDUgMFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9XCJub3JtYWxcIiBpbjI9XCJCYWNrZ3JvdW5kSW1hZ2VGaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PVwiZWZmZWN0MV9kcm9wU2hhZG93Xzc2MF85OTg4XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT1cIm5vcm1hbFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGluMj1cImVmZmVjdDFfZHJvcFNoYWRvd183NjBfOTk4OFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQ9XCJzaGFwZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWx0ZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNzYwXzk5ODhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxOC4yXCIgaGVpZ2h0PVwiMTguMlwiIGZpbGw9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTMuNjM5NiAxMi45MDA0KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIW5vRGF0YSAmJiAhbG9hZGluZ1wiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiZXhwb3J0WExTWCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgbXgtMiBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOVwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAxOSAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgPHBhdGggZD1cIk03LjUzMzY5IDEyLjg0NDFIMTUuMDI0MUwxMy41NTY4IDE0LjMxNzJMMTQuMzU4NyAxNS4xMTkxTDE3LjIwMjQgMTIuMjc1NEwxNC4zNTg3IDkuNDMxNjRMMTMuNTU2OCAxMC4yMzM2TDE1LjAyNDEgMTEuNzA2Nkg3LjUzMzY5VjEyLjg0NDFaXCIgZmlsbD1cImJsYWNrXCIvPlxyXG4gIDxwYXRoIGQ9XCJNMTIuNjUyNiA4Ljg2MzFWNi41ODgxQzEyLjY1MyA2LjUxMzI1IDEyLjYzODcgNi40MzkwNCAxMi42MTA0IDYuMzY5NzVDMTIuNTgyMSA2LjMwMDQ1IDEyLjU0MDQgNi4yMzc0MyAxMi40ODc3IDYuMTg0MjhMOC41MDY0IDIuMjAzMDNDOC40NTMyNiAyLjE1MDMyIDguMzkwMjMgMi4xMDg2MiA4LjMyMDk0IDIuMDgwMzFDOC4yNTE2NCAyLjA1MjAxIDguMTc3NDQgMi4wMzc2NiA4LjEwMjU5IDIuMDM4MUgyLjQxNTA5QzIuMTEzNCAyLjAzODEgMS44MjQwOCAyLjE1Nzk0IDEuNjEwNzUgMi4zNzEyNkMxLjM5NzQzIDIuNTg0NTggMS4yNzc1OSAyLjg3MzkxIDEuMjc3NTkgMy4xNzU2VjE2LjgyNTZDMS4yNzc1OSAxNy4xMjczIDEuMzk3NDMgMTcuNDE2NiAxLjYxMDc1IDE3LjYyOTlDMS44MjQwOCAxNy44NDMzIDIuMTEzNCAxNy45NjMxIDIuNDE1MDkgMTcuOTYzMUgxMS41MTUxQzExLjgxNjggMTcuOTYzMSAxMi4xMDYxIDE3Ljg0MzMgMTIuMzE5NCAxNy42Mjk5QzEyLjUzMjcgMTcuNDE2NiAxMi42NTI2IDE3LjEyNzMgMTIuNjUyNiAxNi44MjU2VjE1LjY4ODFIMTEuNTE1MVYxNi44MjU2SDIuNDE1MDlWMy4xNzU2SDYuOTY1MDlWNi41ODgxQzYuOTY1MDkgNi44ODk3OCA3LjA4NDkzIDcuMTc5MTEgNy4yOTgyNiA3LjM5MjQzQzcuNTExNTggNy42MDU3NSA3LjgwMDkxIDcuNzI1NiA4LjEwMjU5IDcuNzI1NkgxMS41MTUxVjguODYzMUgxMi42NTI2Wk04LjEwMjU5IDYuNTg4MVYzLjQwODc4TDExLjI4MTkgNi41ODgxSDguMTAyNTlaXCIgZmlsbD1cImJsYWNrXCIvPlxyXG48L3N2Zz48c3BhbiBjbGFzcz1cIm1zLTJcIj5FeHBvcnQ8L3NwYW4+IDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0g4pSA4pSAIFRhbmdvIEFJIFNlY3Rpb24gKEF1ZGl0IFN1bW1hcnkgKyBSTSBTdW1tYXJ5IG9ubHkpIOKUgOKUgCAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJweC02IHBiLTRcIiAqbmdJZj1cIih1c2Vycz8ucm9sZSA9PT0gJ3N1cGVyYWRtaW4nICYmIGtleVR5cGUgPT09ICdybScpIHx8IGtleVR5cGUgPT09ICdjbHVzdGVyJ1wiPlxyXG4gICAgICA8IS0tIEhlYWRlciAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG1iLTNcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJmdy1ib2xkIG1iLTFcIiBzdHlsZT1cImNvbG9yOiAjMDU5MUZGO1wiPlxyXG4gICAgICAgICAgVGFuZ28gQUlcclxuICAgICAgICAgIDxzdXA+XHJcbiAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgMjYgMjNcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNS40MDYzNCAxLjg4MTg0TDUuNjExNjggMi43NjY0OEM1Ljc1ODg0IDMuNDAxNzMgNi4wOTE4MyAzLjk5MzE1IDYuNTc4NDMgNC40ODM0OEM3LjA2NTAzIDQuOTczODIgNy42ODg3NiA1LjM0NjQ2IDguMzg5MjMgNS41NjUzNEw4LjY0ODYxIDUuNjQ2MjhMOC4zODkyMyA1LjcyNzIxQzcuNjg4NzYgNS45NDYwOSA3LjA2NTAzIDYuMzE4NzQgNi41Nzg0MyA2LjgwOTA3QzYuMDkxODMgNy4yOTk0IDUuNzU4ODQgNy44OTA4MiA1LjYxMTY4IDguNTI2MDdMNS40MDYzNCA5LjQxMDcyTDUuMjAwOTkgOC41MjYwN0M1LjA1Mzg0IDcuODkwODIgNC43MjA4NCA3LjI5OTQgNC4yMzQyNSA2LjgwOTA3QzMuNzQ3NjUgNi4zMTg3NCAzLjEyMzkyIDUuOTQ2MDkgMi40MjM0NCA1LjcyNzIxTDIuMTY0MDYgNS42NDYyOEwyLjQyMzQ0IDUuNTY1MzRDMy4xMjM5MiA1LjM0NjQ2IDMuNzQ3NjUgNC45NzM4MiA0LjIzNDI1IDQuNDgzNDhDNC43MjA4NCAzLjk5MzE1IDUuMDUzODQgMy40MDE3MyA1LjIwMDk5IDIuNzY2NDhMNS40MDYzNCAxLjg4MTg0Wk0xNy4yOTQ3IDIuODIyOTVMMTcuODk1NiA1LjMyMDY1QzE4LjIwMTggNi41OTQwNSAxOC44ODE4IDcuNzc2NjIgMTkuODY5MiA4Ljc1MzA0QzIwLjg1NjYgOS43Mjk0NSAyMi4xMTc3IDEwLjQ2NjQgMjMuNTI5NiAxMC44OTJMMjQuODYgMTEuMjkyOUwyMy41Mjk2IDExLjY5MzhDMjIuMTE3NyAxMi4xMTk1IDIwLjg1NjYgMTIuODU2NCAxOS44NjkyIDEzLjgzMjhDMTguODgxOCAxNC44MDkzIDE4LjIwMTggMTUuOTkxOCAxNy44OTU2IDE3LjI2NTJMMTcuMjk0NyAxOS43NjI5TDE2LjY5MzggMTcuMjY1MkMxNi4zODc1IDE1Ljk5MTggMTUuNzA3NiAxNC44MDkzIDE0LjcyMDIgMTMuODMyOEMxMy43MzI4IDEyLjg1NjQgMTIuNDcxNyAxMi4xMTk1IDExLjA1OTggMTEuNjkzOEw5LjcyOTM3IDExLjI5MjlMMTEuMDU5OCAxMC44OTJDMTIuNDcxNyAxMC40NjY0IDEzLjczMjggOS43Mjk0NSAxNC43MjAyIDguNzUzMDRDMTUuNzA3NiA3Ljc3NjYyIDE2LjM4NzUgNi41OTQwNSAxNi42OTM4IDUuMzIwNjVMMTcuMjk0NyAyLjgyMjk1WlwiIGZpbGw9XCJ1cmwoI2V5ZVRlc3RBaUdyYWQpXCIvPlxyXG4gICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgPGxpbmVhckdyYWRpZW50IGlkPVwiZXllVGVzdEFpR3JhZFwiIHgxPVwiMTMuNTEyXCIgeTE9XCIxOS43NjI5XCIgeDI9XCIxMy41MTJcIiB5Mj1cIjEuODgxODRcIiBncmFkaWVudFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cclxuICAgICAgICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiMwNTkxRkZcIi8+XHJcbiAgICAgICAgICAgICAgICA8L2xpbmVhckdyYWRpZW50PlxyXG4gICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICA8L3N1cD5cclxuICAgICAgICA8L2gzPlxyXG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC1kYXJrIG1iLTBcIiBzdHlsZT1cImZvbnQtc2l6ZTogMTNweDtcIj5Bc2sgdGhlIFRhbmdvIEFJIG9uIHdoYXQgeW91IHdhbnQuLjwvcD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tIElucHV0IC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgbWItM1wiPlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogNjAlOyBtaW4td2lkdGg6IDMwMHB4O1wiPlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG5cclxuICAgICAgICAgIDwhLS0gUGx1cyBCdXR0b24gd2l0aCBNb2RlbCBQb3B1cCAoaW5zaWRlIGlucHV0LCBsZWZ0IHNpZGUpIC0tPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBsdXMtbWVudS13cmFwIHBvc2l0aW9uLWFic29sdXRlIHRvcC01MCB0cmFuc2xhdGUtbWlkZGxlLXkgcHMtMlwiIHN0eWxlPVwibGVmdDogNHB4OyB6LWluZGV4OiAxMDtcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0bi1wbHVzXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJ0b2dnbGVQbHVzTWVudSgpXCIgW2NsYXNzLm9wZW5dPVwic2hvd1BsdXNNZW51XCI+LzwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGx1cy1wb3B1cFwiICpuZ0lmPVwic2hvd1BsdXNNZW51XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsdXMtcG9wdXAtc2VjdGlvbi1sYWJlbFwiPk1vZGVsPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInBsdXMtcG9wdXAtaXRlbVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG0gb2YgbW9kZWxPcHRpb25zXCJcclxuICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZWxlY3RlZE1vZGVsID09PSBtLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RNb2RlbChtLnZhbHVlKTsgY2xvc2VQbHVzTWVudSgpXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1vZGVsLWhpbnQgZnctYm9sZCB0ZXh0LWRhcmtcIj57eyBtLmxhYmVsIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cInRleHQtbXV0ZWQgbXMtMVwiIHN0eWxlPVwiZm9udC1zaXplOjExcHg7XCI+e3sgbS52YWx1ZSB9fTwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwic2VsZWN0ZWRNb2RlbCA9PT0gbS52YWx1ZVwiIGNsYXNzPVwiY2hlY2staWNvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjMDA5QkYzXCIgc3Ryb2tlLXdpZHRoPVwiMi41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9XCIyMCA2IDkgMTcgNCAxMlwiLz5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIHJvdW5kZWQtcGlsbFwiIHBsYWNlaG9sZGVyPVwiQXNrIGFueXRoaW5nLi4uXCJcclxuICAgICAgICAgICAgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDQ2cHg7XCJcclxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJleWVUZXN0Q2hhdFF1ZXJ5XCIgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXHJcbiAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJvbkV5ZVRlc3RBaVNlYXJjaCgpXCIgLz5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBlbmQtMCB0b3AtNTAgdHJhbnNsYXRlLW1pZGRsZS15IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgcGUtM1wiPlxyXG4gICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwibW9kZWwtdmVyc2lvbi10YWcgbWUtMVwiPnt7IHNlbGVjdGVkTW9kZWxWZXJzaW9uIH19PC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tbGluayBwLTBcIiB0aXRsZT1cIkhpc3RvcnlcIj5cclxuICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjJcIiB2aWV3Qm94PVwiMCAwIDIyIDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMy45Mzc3MiAxMC4zNTUxTDMuMzU3NjcgMTAuNjQ4NEwyLjc3NzYzIDEwLjk0MTdMMy4zMTg3NCAxMi4wMTE3TDMuODk4NzggMTEuNzE4NEw0LjQ3ODgzIDExLjQyNTFMMy45Mzc3MiAxMC4zNTUxWlwiIGZpbGw9XCIjNjY3MDg1XCIvPlxyXG4gICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tbGluayBwLTBcIiB0aXRsZT1cIlNlbmRcIiAoY2xpY2spPVwib25FeWVUZXN0QWlTZWFyY2goKVwiPlxyXG4gICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggZD1cIk00LjE2Nzk3IDEwLjAwMDNIMTUuODM0Nk0xNS44MzQ2IDEwLjAwMDNMMTAuMDAxMyA0LjE2Njk5TTE1LjgzNDYgMTAuMDAwM0wxMC4wMDEzIDE1LjgzMzdcIlxyXG4gICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PjwhLS0gL3Bvc2l0aW9uLXJlbGF0aXZlIC0tPlxyXG4gICAgICAgIDwvZGl2PjwhLS0gL3dpZHRoIHdyYXBwZXIgLS0+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLSBBSSBSZXNwb25zZSAtLT5cclxuICAgICAgPGRpdiAqbmdJZj1cInNob3dFeWVUZXN0QWlNZXNzYWdlXCIgY2xhc3M9XCJyb3VuZGVkLTMgcC00IG14LWF1dG9cIiBzdHlsZT1cImJhY2tncm91bmQ6ICNFQUY4RkY7XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgbWItMlwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhaS1hdmF0YXItaWNvblwiPlxyXG4gICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMlwiIGhlaWdodD1cIjIyXCIgdmlld0JveD1cIjAgMCAyMiAyMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgIDxtYXNrIGlkPVwicGF0aC0xLWluc2lkZS0xXzE4NDlfMTMxMjBcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgZD1cIk0xOS45OTQ4IDE4LjA3NTJMMTkuMjc3OSAxNy4zNTgzTDExLjU1MzMgOS42MzM2OUwxMy44NDQ4IDcuMzQyMTlMMTQuMzkzOCA2Ljc5MjA2QzE0LjQ0NjIgNi43Mzg5MiAxNC40NzU4IDYuNjY3NDIgMTQuNDc2MiA2LjU5MjhDMTQuNDc2IDYuNTU1OTEgMTQuNDY4NSA2LjUxOTQxIDE0LjQ1NDIgNi40ODU0QzE0LjQzOTkgNi40NTE0IDE0LjQxOSA2LjQyMDU1IDE0LjM5MjggNi4zOTQ2MkwxMy44NDI2IDUuODQ0NDlMMTEuNDEyNSAzLjQxMDA0TDEwLjg2MjQgMi44NTk5MUMxMC44MzY0IDIuODMzNDYgMTAuODA1NCAyLjgxMjQ0IDEwLjc3MTIgMi43OTgxQzEwLjczNjkgMi43ODM3NSAxMC43MDAyIDIuNzc2MzcgMTAuNjYzMSAyLjc3NjM3QzEwLjYyNiAyLjc3NjM3IDEwLjU4OTMgMi43ODM3NSAxMC41NTUxIDIuNzk4MUMxMC41MjA5IDIuODEyNDQgMTAuNDg5OSAyLjgzMzQ2IDEwLjQ2MzkgMi44NTk5MUw5LjkxMzc0IDMuNDExMTNMNi45MzU2NiA2LjM4OTIxQzYuOTA5MjMgNi40MTUxMiA2Ljg4ODI0IDYuNDQ2MDQgNi44NzM5MSA2LjQ4MDE2QzYuODU5NTggNi41MTQyOCA2Ljg1MjIgNi41NTA5MiA2Ljg1MjIgNi41ODc5M0M2Ljg1MjIgNi42MjQ5MyA2Ljg1OTU4IDYuNjYxNTcgNi44NzM5MSA2LjY5NTY5QzYuODg4MjQgNi43Mjk4MSA2LjkwOTIzIDYuNzYwNzMgNi45MzU2NiA2Ljc4NjY0TDkuNzgwNTMgOS42MzI2MUwyLjA1NDg1IDE3LjM1ODNMMS4zNDEyIDE4LjA3NTJDMS4yODgyOCAxOC4xMjc2IDEuMjU4MyAxOC4xOTg5IDEuMjU3ODEgMTguMjczNEMxLjI1ODEyIDE4LjM0NTQgMS4yODU1OCAxOC40MTQ2IDEuMzM0NyAxOC40NjcyQzEuMzYwOTMgMTguNDk1MiAxLjM5MjYyIDE4LjUxNzYgMS40Mjc4MyAxOC41MzI4QzEuNDYzMDMgMTguNTQ4MSAxLjUwMSAxOC41NTYgMS41MzkzOCAxOC41NTZIOC40ODg1OUM4LjU2MzE4IDE4LjU1NTcgOC42MzQ2MyAxOC41MjYgOC42ODczNyAxOC40NzMyQzguNzQwMTEgMTguNDIwNSA4Ljc2OTg3IDE4LjM0OSA4Ljc3MDE1IDE4LjI3NDVWMTcuNTgzNUM4Ljc3MDE1IDE3LjUwODggOC43NDA1MiAxNy40MzcgOC42ODc3NSAxNy4zODQxQzguNjM0OTggMTcuMzMxMSA4LjU2MzM2IDE3LjMwMTIgOC40ODg1OSAxNy4zMDA5SDMuODg2MUwxMC42NjY0IDEwLjUyMDZMMTcuNDQ2NiAxNy4zMDA5SDEyLjgwNDFDMTIuNzI5MyAxNy4zMDEyIDEyLjY1NzcgMTcuMzMxMSAxMi42MDQ5IDE3LjM4NDFDMTIuNTUyMiAxNy40MzcgMTIuNTIyNSAxNy41MDg4IDEyLjUyMjUgMTcuNTgzNVYxOC4yNzQ1QzEyLjUyMjQgMTguMzExNiAxMi41Mjk3IDE4LjM0ODMgMTIuNTQ0IDE4LjM4MjVDMTIuNTU4MyAxOC40MTY4IDEyLjU3OTQgMTguNDQ3OCAxMi42MDU5IDE4LjQ3MzdDMTIuNjU4NSAxOC41MjYyIDEyLjcyOTggMTguNTU1OCAxMi44MDQxIDE4LjU1NkgxOS43OTU1QzE5LjgzNDEgMTguNTU2MiAxOS44NzIzIDE4LjU0ODMgMTkuOTA3NyAxOC41MzMxQzE5Ljk0MzEgMTguNTE3OCAxOS45NzUgMTguNDk1NCAyMC4wMDEzIDE4LjQ2NzJDMjAuMDUxOSAxOC40MTQxIDIwLjA3OTYgMTguMzQzMiAyMC4wNzg0IDE4LjI2OTlDMjAuMDc3MSAxOC4xOTY1IDIwLjA0NzEgMTguMTI2NiAxOS45OTQ4IDE4LjA3NTJaTTEwLjY2MiA0LjQzNTU5TDEyLjgyMDMgNi41OTM4OEwxMC42Njc1IDguNzQ2NzZMOC41MDkxNyA2LjU4ODQ3TDEwLjY2MiA0LjQzNTU5WlwiIC8+XHJcbiAgICAgICAgICAgIDwvbWFzaz5cclxuICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICBkPVwiTTE5Ljk5NDggMTguMDc1MkwtMTcuOTY5IDU2LjAzOUwtMTcuODAwNCA1Ni4yMDc2TC0xNy42MzAzIDU2LjM3NDZMMTkuOTk0OCAxOC4wNzUyWk0xOS4yNzc5IDE3LjM1ODNMNTcuMjQxNyAtMjAuNjA1NVYtMjAuNjA1NUwxOS4yNzc5IDE3LjM1ODNaTTExLjU1MzMgOS42MzM2OUwtMjYuNDEwNSAtMjguMzMwMUwtNjQuMzc0MyA5LjYzMzY5TC0yNi40MTA1IDQ3LjU5NzVMMTEuNTUzMyA5LjYzMzY5Wk0xMy44NDQ4IDcuMzQyMTlMNTEuODA4NiA0NS4zMDZMNTEuODI3MyA0NS4yODczTDUxLjg0NiA0NS4yNjg1TDEzLjg0NDggNy4zNDIxOVpNMTQuMzkzOCA2Ljc5MjA2TDUyLjM5NTEgNDQuNzE4NEw1Mi41MTEgNDQuNjAyMkw1Mi42MjYyIDQ0LjQ4NTRMMTQuMzkzOCA2Ljc5MjA2Wk0xNC40NzYyIDYuNTkyOEw2OC4xNjQ0IDYuODY2NjFMNjguMTY1NyA2LjU5NzMxTDY4LjE2NDQgNi4zMjgwMUwxNC40NzYyIDYuNTkyOFpNMTQuMzkyOCA2LjM5NDYyTC0yMy41NzEgNDQuMzU4NEwtMjMuNDUyOCA0NC40NzY2TC0yMy4zMzM5IDQ0LjU5NEwxNC4zOTI4IDYuMzk0NjJaTTEzLjg0MjYgNS44NDQ0OUwtMjQuMTU0OSA0My43NzQ0TC0yNC4xMzgxIDQzLjc5MTRMLTI0LjEyMTIgNDMuODA4M0wxMy44NDI2IDUuODQ0NDlaTTExLjQxMjUgMy40MTAwNEw0OS40MTAxIC0zNC41MTk5TDQ5LjM5MzIgLTM0LjUzNjhMNDkuMzc2MyAtMzQuNTUzOEwxMS40MTI1IDMuNDEwMDRaTTEwLjg2MjQgMi44NTk5MUwtMjcuNDI3NCA0MC40OTQ5TC0yNy4yNjUxIDQwLjY2TC0yNy4xMDE0IDQwLjgyMzdMMTAuODYyNCAyLjg1OTkxWk0xMC40NjM5IDIuODU5OTFMNDguNDY0OSA0MC43ODY0TDQ4LjYwOTggNDAuNjQxMkw0OC43NTM2IDQwLjQ5NDlMMTAuNDYzOSAyLjg1OTkxWk05LjkxMzc0IDMuNDExMTNMNDcuODc3NSA0MS4zNzQ5TDQ3Ljg5NjIgNDEuMzU2M0w0Ny45MTQ4IDQxLjMzNzZMOS45MTM3NCAzLjQxMTEzWk02LjkzNTY2IDYuMzg5MjFMNDQuNTI1MyA0NC43MjM1TDQ0LjcxMzMgNDQuNTM5Mkw0NC44OTk0IDQ0LjM1M0w2LjkzNTY2IDYuMzg5MjFaTTYuODUyMiA2LjU4NzkzSDYwLjU0MTFINi44NTIyWk02LjkzNTY2IDYuNzg2NjRMNDQuOTA2NyAtMzEuMTY5OUw0NC43MTY5IC0zMS4zNTk3TDQ0LjUyNTMgLTMxLjU0NzZMNi45MzU2NiA2Ljc4NjY0Wk05Ljc4MDUzIDkuNjMyNjFMNDcuNzQ0MyA0Ny41OTY0TDg1LjcwMDkgOS42Mzk4M0w0Ny43NTE1IC0yOC4zMjM5TDkuNzgwNTMgOS42MzI2MVpNMi4wNTQ4NSAxNy4zNTgzTC0zNS45MDg5IC0yMC42MDU1TC0zNS45NTIgLTIwLjU2MjRMLTM1Ljk5NSAtMjAuNTE5MkwyLjA1NDg1IDE3LjM1ODNaTTEuMzQxMiAxOC4wNzUyTDM5LjEyODggNTYuMjE0NEwzOS4yNjA0IDU2LjA4NEwzOS4zOTExIDU1Ljk1MjdMMS4zNDEyIDE4LjA3NTJaTTEuMjU3ODEgMTguMjczNEwtNTIuNDI5OSAxNy45MjI5TC01Mi40MzE4IDE4LjIxMzRMLTUyLjQzMDYgMTguNTAzOEwxLjI1NzgxIDE4LjI3MzRaTTEuMzM0NyAxOC40NjcyTC0zNy45MTQ2IDU1LjEwMDNMLTM3Ljg4NzcgNTUuMTI5MkwtMzcuODYwNyA1NS4xNTgxTDEuMzM0NyAxOC40NjcyWk0xLjUzOTM4IDE4LjU1NkwxLjUyMjM4IDcyLjI0NDlIMS41MzA4OEgxLjUzOTM4VjE4LjU1NlpNOC40ODg1OSAxOC41NTZWNzIuMjQ0OUg4LjU5MTI1TDguNjkzOSA3Mi4yNDQ1TDguNDg4NTkgMTguNTU2Wk04Ljc3MDE1IDE4LjI3NDVMNjIuNDU4NyAxOC40Nzk4TDYyLjQ1OSAxOC4zNzcxVjE4LjI3NDVIOC43NzAxNVpNOC43NzAxNSAxNy41ODM1TC00NC45MTg3IDE3LjU4MzFWMTcuNTgzNUg4Ljc3MDE1Wk04LjQ4ODU5IDE3LjMwMDlMOC42OTQyOSAtMzYuMzg3Nkw4LjU5MTQ0IC0zNi4zODhIOC40ODg1OVYxNy4zMDA5Wk0zLjg4NjEgMTcuMzAwOUwtMzQuMDc3NyAtMjAuNjYyOUwtMTI1LjczIDcwLjk4OThIMy44ODYxVjE3LjMwMDlaTTEwLjY2NjQgMTAuNTIwNkw0OC42MzAyIC0yNy40NDMyTDEwLjY2NjQgLTY1LjQwN0wtMjcuMjk3NCAtMjcuNDQzMkwxMC42NjY0IDEwLjUyMDZaTTE3LjQ0NjYgMTcuMzAwOVY3MC45ODk4SDE0Ny4wNjNMNTUuNDEwNCAtMjAuNjYyOUwxNy40NDY2IDE3LjMwMDlaTTEyLjgwNDEgMTcuMzAwOVYtMzYuMzg4SDEyLjcwMTJMMTIuNTk4NCAtMzYuMzg3NkwxMi44MDQxIDE3LjMwMDlaTTEyLjUyMjUgMTcuNTgzNUg2Ni4yMTE0VjE3LjU4MzFMMTIuNTIyNSAxNy41ODM1Wk0xMi41MjI1IDE4LjI3NDVMNjYuMjExIDE4LjQ4MDNMNjYuMjExNCAxOC4zNzc0VjE4LjI3NDVIMTIuNTIyNVpNMTIuNjA1OSAxOC40NzM3TDUwLjUzODQgLTE5LjUyMTNMNTAuMzQzMSAtMTkuNzE2M0w1MC4xNDU4IC0xOS45MDkzTDEyLjYwNTkgMTguNDczN1pNMTIuODA0MSAxOC41NTZMMTIuNjYwMyA3Mi4yNDQ3TDEyLjczMjIgNzIuMjQ0OUgxMi44MDQxVjE4LjU1NlpNMTkuNzk1NSAxOC41NTZMMTkuOTg1NSAtMzUuMTMyNUwxOS44OTA1IC0zNS4xMzI5SDE5Ljc5NTVWMTguNTU2Wk0yMC4wMDEzIDE4LjQ2NzJMLTE4Ljg3MjQgLTE4LjU2NDNMLTE5LjAzNDIgLTE4LjM5NDVMLTE5LjE5NDQgLTE4LjIyMzNMMjAuMDAxMyAxOC40NjcyWk0xMC42NjIgNC40MzU1OUw0OC42MjU4IC0zMy41MjgyTDEwLjY2MiAtNzEuNDkyTC0yNy4zMDE3IC0zMy41MjgyTDEwLjY2MiA0LjQzNTU5Wk0xMi44MjAzIDYuNTkzODhMNTAuNzg0MSA0NC41NTc3TDg4Ljc0NzkgNi41OTM4OUw1MC43ODQxIC0zMS4zNjk5TDEyLjgyMDMgNi41OTM4OFpNMTAuNjY3NSA4Ljc0Njc2TC0yNy4yOTYzIDQ2LjcxMDVMMTAuNjY3NCA4NC42NzQzTDQ4LjYzMTIgNDYuNzEwNUwxMC42Njc1IDguNzQ2NzZaTTguNTA5MTcgNi41ODg0N0wtMjkuNDU0NiAtMzEuMzc1M0wtNjcuNDE4NCA2LjU4ODQ3TC0yOS40NTQ2IDQ0LjU1MjJMOC41MDkxNyA2LjU4ODQ3Wk0xOS45OTQ4IDE4LjA3NTJMNTcuOTU4NiAtMTkuODg4Nkw1Ny4yNDE3IC0yMC42MDU1TDE5LjI3NzkgMTcuMzU4M0wtMTguNjg1OSA1NS4zMjIxTC0xNy45NjkgNTYuMDM5TDE5Ljk5NDggMTguMDc1MlpNMTkuMjc3OSAxNy4zNTgzTDU3LjI0MTcgLTIwLjYwNTVMNDkuNTE3MSAtMjguMzMwMUwxMS41NTMzIDkuNjMzNjlMLTI2LjQxMDUgNDcuNTk3NUwtMTguNjg1OSA1NS4zMjIxTDE5LjI3NzkgMTcuMzU4M1pNMTEuNTUzMyA5LjYzMzY5TDQ5LjUxNzEgNDcuNTk3NUw1MS44MDg2IDQ1LjMwNkwxMy44NDQ4IDcuMzQyMTlMLTI0LjExOSAtMzAuNjIxNkwtMjYuNDEwNSAtMjguMzMwMUwxMS41NTMzIDkuNjMzNjlaTTEzLjg0NDggNy4zNDIxOUw1MS44NDYgNDUuMjY4NUw1Mi4zOTUxIDQ0LjcxODRMMTQuMzkzOCA2Ljc5MjA2TC0yMy42MDc0IC0zMS4xMzQzTC0yNC4xNTY0IC0zMC41ODQxTDEzLjg0NDggNy4zNDIxOVpNMTQuMzkzOCA2Ljc5MjA2TDUyLjYyNjIgNDQuNDg1NEM2Mi41MTY0IDM0LjQ1MzggNjguMDkyNSAyMC45NTMyIDY4LjE2NDQgNi44NjY2MUwxNC40NzYyIDYuNTkyOEwtMzkuMjEyIDYuMzE4OThDLTM5LjE0MSAtNy42MTgzNiAtMzMuNjIzOSAtMjAuOTc1OSAtMjMuODM4NSAtMzAuOTAxM0wxNC4zOTM4IDYuNzkyMDZaTTE0LjQ3NjIgNi41OTI4TDY4LjE2NDQgNi4zMjgwMUM2OC4xMjk0IC0wLjc3MDEwNyA2Ni42OTQ1IC03Ljc5MjU1IDYzLjk0MDkgLTE0LjMzNjlMMTQuNDU0MiA2LjQ4NTRMLTM1LjAzMjUgMjcuMzA3N0MtMzcuNzU3NSAyMC44MzE0IC0zOS4xNzc0IDEzLjg4MTkgLTM5LjIxMjEgNi44NTc1OUwxNC40NzYyIDYuNTkyOFpNMTQuNDU0MiA2LjQ4NTRMNjMuOTQwOSAtMTQuMzM2OUM2MS4xODc3IC0yMC44ODAyIDU3LjE3MDUgLTI2LjgxNjIgNTIuMTE5NCAtMzEuODA0OEwxNC4zOTI4IDYuMzk0NjJMLTIzLjMzMzkgNDQuNTk0Qy0yOC4zMzI1IDM5LjY1NzMgLTMyLjMwNzkgMzMuNzgzIC0zNS4wMzI1IDI3LjMwNzdMMTQuNDU0MiA2LjQ4NTRaTTE0LjM5MjggNi4zOTQ2Mkw1Mi4zNTY2IC0zMS41NjkyTDUxLjgwNjQgLTMyLjExOTNMMTMuODQyNiA1Ljg0NDQ5TC0yNC4xMjEyIDQzLjgwODNMLTIzLjU3MSA0NC4zNTg0TDE0LjM5MjggNi4zOTQ2MlpNMTMuODQyNiA1Ljg0NDQ5TDUxLjg0MDIgLTMyLjA4NTVMNDkuNDEwMSAtMzQuNTE5OUwxMS40MTI1IDMuNDEwMDRMLTI2LjU4NTEgNDEuMzRMLTI0LjE1NDkgNDMuNzc0NEwxMy44NDI2IDUuODQ0NDlaTTExLjQxMjUgMy40MTAwNEw0OS4zNzYzIC0zNC41NTM4TDQ4LjgyNjEgLTM1LjEwMzlMMTAuODYyNCAyLjg1OTkxTC0yNy4xMDE0IDQwLjgyMzdMLTI2LjU1MTIgNDEuMzczOUwxMS40MTI1IDMuNDEwMDRaTTEwLjg2MjQgMi44NTk5MUw0OS4xNTIxIC0zNC43NzUxQzQ0LjEyOTcgLTM5Ljg4NDggMzguMTM5NiAtNDMuOTQ0IDMxLjUzMDcgLTQ2LjcxNDlMMTAuNzcxMiAyLjc5ODFMLTkuOTg4MzggNTIuMzExMUMtMTYuNTI4OSA0OS41Njg5IC0yMi40NTcgNDUuNTUxOCAtMjcuNDI3NCA0MC40OTQ5TDEwLjg2MjQgMi44NTk5MVpNMTAuNzcxMiAyLjc5ODFMMzEuNTMwNyAtNDYuNzE0OUMyNC45MjIzIC00OS40ODU3IDE3LjgyODUgLTUwLjkxMjUgMTAuNjYzMSAtNTAuOTEyNVYyLjc3NjM3VjU2LjQ2NTNDMy41NzE5OCA1Ni40NjUzIC0zLjQ0ODM5IDU1LjA1MzIgLTkuOTg4MzggNTIuMzExMUwxMC43NzEyIDIuNzk4MVpNMTAuNjYzMSAyLjc3NjM3Vi01MC45MTI1QzMuNDk3NjIgLTUwLjkxMjUgLTMuNTk2MTkgLTQ5LjQ4NTYgLTEwLjIwNDQgLTQ2LjcxNDlMMTAuNTU1MSAyLjc5ODFMMzEuMzE0NiA1Mi4zMTExQzI0Ljc3NDggNTUuMDUzMSAxNy43NTQ0IDU2LjQ2NTMgMTAuNjYzMSA1Ni40NjUzVjIuNzc2MzdaTTEwLjU1NTEgMi43OTgxTC0xMC4yMDQ0IC00Ni43MTQ5Qy0xNi44MTI5IC00My45NDQyIC0yMi44MDMyIC0zOS44ODUyIC0yNy44MjU5IC0zNC43NzUxTDEwLjQ2MzkgMi44NTk5MUw0OC43NTM2IDQwLjQ5NDlDNDMuNzgyOSA0NS41NTIxIDM3Ljg1NDcgNDkuNTY5IDMxLjMxNDYgNTIuMzExMUwxMC41NTUxIDIuNzk4MVpNMTAuNDYzOSAyLjg1OTkxTC0yNy41MzcyIC0zNS4wNjY1TC0yOC4wODczIC0zNC41MTUzTDkuOTEzNzQgMy40MTExM0w0Ny45MTQ4IDQxLjMzNzZMNDguNDY0OSA0MC43ODY0TDEwLjQ2MzkgMi44NTk5MVpNOS45MTM3NCAzLjQxMTEzTC0yOC4wNSAtMzQuNTUyN0wtMzEuMDI4MSAtMzEuNTc0Nkw2LjkzNTY2IDYuMzg5MjFMNDQuODk5NCA0NC4zNTNMNDcuODc3NSA0MS4zNzQ5TDkuOTEzNzQgMy40MTExM1pNNi45MzU2NiA2LjM4OTIxTC0zMC42NTQgLTMxLjk0NTFDLTM1Ljc3NzcgLTI2LjkyMDkgLTM5Ljg0ODEgLTIwLjkyNTIgLTQyLjYyNjggLTE0LjMwODdMNi44NzM5MSA2LjQ4MDE2TDU2LjM3NDYgMjcuMjY5QzUzLjYyNDYgMzMuODE3MiA0OS41OTYyIDM5Ljc1MTEgNDQuNTI1MyA0NC43MjM1TDYuOTM1NjYgNi4zODkyMVpNNi44NzM5MSA2LjQ4MDE2TC00Mi42MjY4IC0xNC4zMDg3Qy00NS40MDUyIC03LjY5Mjk5IC00Ni44MzY3IC0wLjU4ODk0NyAtNDYuODM2NyA2LjU4NzkzSDYuODUyMkg2MC41NDExQzYwLjU0MTEgMTMuNjkwOCA1OS4xMjQ0IDIwLjcyMTUgNTYuMzc0NiAyNy4yNjlMNi44NzM5MSA2LjQ4MDE2Wk02Ljg1MjIgNi41ODc5M0gtNDYuODM2N0MtNDYuODM2NyAxMy43NjQ3IC00NS40MDUyIDIwLjg2ODggLTQyLjYyNjggMjcuNDg0NUw2Ljg3MzkxIDYuNjk1NjlMNTYuMzc0NiAtMTQuMDkzMkM1OS4xMjQ0IC03LjU0NTYyIDYwLjU0MTEgLTAuNTE0ODQ4IDYwLjU0MTEgNi41ODc5M0g2Ljg1MjJaTTYuODczOTEgNi42OTU2OUwtNDIuNjI2OCAyNy40ODQ1Qy0zOS44NDggMzQuMTAxMiAtMzUuNzc3NSA0MC4wOTY5IC0zMC42NTQgNDUuMTIwOUw2LjkzNTY2IDYuNzg2NjRMNDQuNTI1MyAtMzEuNTQ3NkM0OS41OTYgLTI2LjU3NTQgNTMuNjI0NSAtMjAuNjQxNiA1Ni4zNzQ2IC0xNC4wOTMyTDYuODczOTEgNi42OTU2OVpNNi45MzU2NiA2Ljc4NjY0TC0zMS4wMzU0IDQ0Ljc0MzJMLTI4LjE5MDUgNDcuNTg5Mkw5Ljc4MDUzIDkuNjMyNjFMNDcuNzUxNSAtMjguMzIzOUw0NC45MDY3IC0zMS4xNjk5TDYuOTM1NjYgNi43ODY2NFpNOS43ODA1MyA5LjYzMjYxTC0yOC4xODMzIC0yOC4zMzEyTC0zNS45MDg5IC0yMC42MDU1TDIuMDU0ODUgMTcuMzU4M0w0MC4wMTg2IDU1LjMyMjFMNDcuNzQ0MyA0Ny41OTY0TDkuNzgwNTMgOS42MzI2MVpNMi4wNTQ4NSAxNy4zNTgzTC0zNS45OTUgLTIwLjUxOTJMLTM2LjcwODcgLTE5LjgwMjNMMS4zNDEyIDE4LjA3NTJMMzkuMzkxMSA1NS45NTI3TDQwLjEwNDcgNTUuMjM1OEwyLjA1NDg1IDE3LjM1ODNaTTEuMzQxMiAxOC4wNzUyTC0zNi40NDY0IC0yMC4wNjRDLTQ2LjU4OTQgLTEwLjAxNDUgLTUyLjMzNjcgMy42NDQ4NSAtNTIuNDI5OSAxNy45MjI5TDEuMjU3ODEgMTguMjczNEw1NC45NDU2IDE4LjYyMzhDNTQuODUzMyAzMi43NTI5IDQ5LjE2NTkgNDYuMjY5NyAzOS4xMjg4IDU2LjIxNDRMMS4zNDEyIDE4LjA3NTJaTTEuMjU3ODEgMTguMjczNEwtNTIuNDMwNiAxOC41MDM4Qy01Mi4zNzIzIDMyLjA5NTUgLTQ3LjE4ODMgNDUuMTY0NCAtMzcuOTE0NiA1NS4xMDAzTDEuMzM0NyAxOC40NjcyTDQwLjU4NCAtMTguMTY1OUM0OS43NTk0IC04LjMzNTI4IDU0Ljg4ODUgNC41OTUyNiA1NC45NDYyIDE4LjA0MjlMMS4yNTc4MSAxOC4yNzM0Wk0xLjMzNDcgMTguNDY3MkwtMzcuODYwNyA1NS4xNTgxQy0zMi44MTQ4IDYwLjU0ODQgLTI2LjcxNiA2NC44NDY1IC0xOS45NDEyIDY3Ljc4NTlMMS40Mjc4MyAxOC41MzI4TDIyLjc5NjkgLTMwLjcyMDJDMjkuNTAxMiAtMjcuODExNCAzNS41MzY2IC0yMy41NTc5IDQwLjUzMDEgLTE4LjIyMzZMMS4zMzQ3IDE4LjQ2NzJaTTEuNDI3ODMgMTguNTMyOEwtMTkuOTQxMiA2Ny43ODU5Qy0xMy4xNjc4IDcwLjcyNDYgLTUuODYyNyA3Mi4yNDI2IDEuNTIyMzggNzIuMjQ0OUwxLjUzOTM4IDE4LjU1NkwxLjU1NjM4IC0zNS4xMzI5QzguODY0NyAtMzUuMTMwNiAxNi4wOTM5IC0zMy42Mjg0IDIyLjc5NjkgLTMwLjcyMDJMMS40Mjc4MyAxOC41MzI4Wk0xLjUzOTM4IDE4LjU1NlY3Mi4yNDQ5SDguNDg4NTlWMTguNTU2Vi0zNS4xMzI5SDEuNTM5MzhWMTguNTU2Wk04LjQ4ODU5IDE4LjU1Nkw4LjY5MzkgNzIuMjQ0NUMyMi45MzY3IDcyLjE5MDEgMzYuNTgwMiA2Ni41MDc5IDQ2LjY1MTIgNTYuNDM3TDguNjg3MzcgMTguNDczMkwtMjkuMjc2NCAtMTkuNDkwNUMtMTkuMzExIC0yOS40NTYgLTUuODEwMyAtMzUuMDc4NiA4LjI4MzI4IC0zNS4xMzI1TDguNDg4NTkgMTguNTU2Wk04LjY4NzM3IDE4LjQ3MzJMNDYuNjUxMiA1Ni40MzdDNTYuNzIyOSA0Ni4zNjUyIDYyLjQwNDIgMzIuNzIxMyA2Mi40NTg3IDE4LjQ3OThMOC43NzAxNSAxOC4yNzQ1TC00NC45MTg0IDE4LjA2OTFDLTQ0Ljg2NDUgMy45NzY4MSAtMzkuMjQyNyAtOS41MjQyNCAtMjkuMjc2NCAtMTkuNDkwNUw4LjY4NzM3IDE4LjQ3MzJaTTguNzcwMTUgMTguMjc0NUg2Mi40NTlWMTcuNTgzNUg4Ljc3MDE1SC00NC45MTg3VjE4LjI3NDVIOC43NzAxNVpNOC43NzAxNSAxNy41ODM1TDYyLjQ1OSAxNy41ODM5QzYyLjQ1OTIgMy4zMDU0NSA1Ni44MDEyIC0xMC4zOTExIDQ2LjcyNDMgLTIwLjUwNjhMOC42ODc3NSAxNy4zODQxTC0yOS4zNDg4IDU1LjI3NDlDLTM5LjMyMDIgNDUuMjY1MiAtNDQuOTE4OCAzMS43MTIxIC00NC45MTg3IDE3LjU4MzFMOC43NzAxNSAxNy41ODM1Wk04LjY4Nzc1IDE3LjM4NDFMNDYuNzI0MyAtMjAuNTA2OEMzNi42NDggLTMwLjYyMTggMjIuOTczNSAtMzYuMzMyOSA4LjY5NDI5IC0zNi4zODc2TDguNDg4NTkgMTcuMzAwOUw4LjI4Mjg4IDcwLjk4OTRDLTUuODQ2NzkgNzAuOTM1MyAtMTkuMzc4MSA2NS4yODQgLTI5LjM0ODggNTUuMjc0OUw4LjY4Nzc1IDE3LjM4NDFaTTguNDg4NTkgMTcuMzAwOVYtMzYuMzg4SDMuODg2MVYxNy4zMDA5VjcwLjk4OThIOC40ODg1OVYxNy4zMDA5Wk0zLjg4NjEgMTcuMzAwOUw0MS44NDk5IDU1LjI2NDdMNDguNjMwMiA0OC40ODQ0TDEwLjY2NjQgMTAuNTIwNkwtMjcuMjk3NCAtMjcuNDQzMkwtMzQuMDc3NyAtMjAuNjYyOUwzLjg4NjEgMTcuMzAwOVpNMTAuNjY2NCAxMC41MjA2TC0yNy4yOTc0IDQ4LjQ4NDRMLTIwLjUxNzEgNTUuMjY0N0wxNy40NDY2IDE3LjMwMDlMNTUuNDEwNCAtMjAuNjYyOUw0OC42MzAyIC0yNy40NDMyTDEwLjY2NjQgMTAuNTIwNlpNMTcuNDQ2NiAxNy4zMDA5Vi0zNi4zODhIMTIuODA0MVYxNy4zMDA5VjcwLjk4OThIMTcuNDQ2NlYxNy4zMDA5Wk0xMi44MDQxIDE3LjMwMDlMMTIuNTk4NCAtMzYuMzg3NkMtMS42ODA2NiAtMzYuMzMyOSAtMTUuMzU1MiAtMzAuNjIxOSAtMjUuNDMxNiAtMjAuNTA2OEwxMi42MDQ5IDE3LjM4NDFMNTAuNjQxNSA1NS4yNzQ5QzQwLjY3MDcgNjUuMjg0MSAyNy4xMzkzIDcwLjkzNTMgMTMuMDA5OCA3MC45ODk0TDEyLjgwNDEgMTcuMzAwOVpNMTIuNjA0OSAxNy4zODQxTC0yNS40MzE2IC0yMC41MDY4Qy0zNS41MDgyIC0xMC4zOTE0IC00MS4xNjY1IDMuMzA1MDQgLTQxLjE2NjQgMTcuNTgzOUwxMi41MjI1IDE3LjU4MzVMNjYuMjExNCAxNy41ODMxQzY2LjIxMTUgMzEuNzEyNSA2MC42MTI2IDQ1LjI2NTUgNTAuNjQxNSA1NS4yNzQ5TDEyLjYwNDkgMTcuMzg0MVpNMTIuNTIyNSAxNy41ODM1SC00MS4xNjY0VjE4LjI3NDVIMTIuNTIyNUg2Ni4yMTE0VjE3LjU4MzVIMTIuNTIyNVpNMTIuNTIyNSAxOC4yNzQ1TC00MS4xNjYgMTguMDY4NkMtNDEuMTkzNyAyNS4yOTEzIC0zOS43NzEyIDMyLjQ0NTkgLTM2Ljk4MyAzOS4xMDg1TDEyLjU0NCAxOC4zODI1TDYyLjA3MTEgLTIuMzQzNDZDNjQuODMwNiA0LjI1MDcxIDY2LjIzODQgMTEuMzMxOCA2Ni4yMTEgMTguNDgwM0wxMi41MjI1IDE4LjI3NDVaTTEyLjU0NCAxOC4zODI1TC0zNi45ODMgMzkuMTA4NUMtMzQuMTk0NyA0NS43NzE2IC0zMC4wOTczIDUxLjgwNjggLTI0LjkzNCA1Ni44NTY3TDEyLjYwNTkgMTguNDczN0w1MC4xNDU4IC0xOS45MDkzQzU1LjI1NjEgLTE0LjkxMTMgNTkuMzExNCAtOC45MzgwOSA2Mi4wNzExIC0yLjM0MzQ2TDEyLjU0NCAxOC4zODI1Wk0xMi42MDU5IDE4LjQ3MzdMLTI1LjMyNjYgNTYuNDY4N0MtMTUuMjQzNSA2Ni41MzUzIC0xLjU4ODQ2IDcyLjIwNjYgMTIuNjYwMyA3Mi4yNDQ3TDEyLjgwNDEgMTguNTU2TDEyLjk0NzkgLTM1LjEzMjdDMjcuMDQ4IC0zNS4wOTQ5IDQwLjU2MDUgLTI5LjQ4MjggNTAuNTM4NCAtMTkuNTIxM0wxMi42MDU5IDE4LjQ3MzdaTTEyLjgwNDEgMTguNTU2VjcyLjI0NDlIMTkuNzk1NVYxOC41NTZWLTM1LjEzMjlIMTIuODA0MVYxOC41NTZaTTE5Ljc5NTUgMTguNTU2TDE5LjYwNTYgNzIuMjQ0NkMyNy4wMjY3IDcyLjI3MDggMzQuMzcxNiA3MC43NjYzIDQxLjE4MTkgNjcuODI3MUwxOS45MDc3IDE4LjUzMzFMLTEuMzY2NiAtMzAuNzYxQzUuMzcyOTcgLTMzLjY2OTYgMTIuNjQxNSAtMzUuMTU4NSAxOS45ODU1IC0zNS4xMzI1TDE5Ljc5NTUgMTguNTU2Wk0xOS45MDc3IDE4LjUzMzFMNDEuMTgxOSA2Ny44MjcxQzQ3Ljk5NDMgNjQuODg3IDU0LjEyNjkgNjAuNTc0IDU5LjE5NyA1NS4xNTc3TDIwLjAwMTMgMTguNDY3MkwtMTkuMTk0NCAtMTguMjIzM0MtMTQuMTc3IC0yMy41ODMzIC04LjEwODE3IC0yNy44NTE1IC0xLjM2NjYgLTMwLjc2MUwxOS45MDc3IDE4LjUzMzFaTTIwLjAwMTMgMTguNDY3Mkw1OC44NzUgNTUuNDk4N0M2OC42NDc1IDQ1LjI0IDczLjk5NDcgMzEuNTQ4OCA3My43NTk5IDE3LjM4MDFMMjAuMDc4NCAxOC4yNjk5TC0zMy42MDMyIDE5LjE1OTZDLTMzLjgzNTYgNS4xMzc2NiAtMjguNTQzNyAtOC40MTE4MyAtMTguODcyNCAtMTguNTY0M0wyMC4wMDEzIDE4LjQ2NzJaTTIwLjA3ODQgMTguMjY5OUw3My43NTk5IDE3LjM4MDFDNzMuNTI1MSAzLjIxMTkyIDY3LjcyNzQgLTEwLjI5NDcgNTcuNjE5OSAtMjAuMjI0MkwxOS45OTQ4IDE4LjA3NTJMLTE3LjYzMDMgNTYuMzc0NkMtMjcuNjMzMSA0Ni41NDc5IC0zMy4zNzA4IDMzLjE4MTEgLTMzLjYwMzIgMTkuMTU5NkwyMC4wNzg0IDE4LjI2OTlaTTEwLjY2MiA0LjQzNTU5TC0yNy4zMDE3IDQyLjM5OTRMLTI1LjE0MzQgNDQuNTU3N0wxMi44MjAzIDYuNTkzODhMNTAuNzg0MSAtMzEuMzY5OUw0OC42MjU4IC0zMy41MjgyTDEwLjY2MiA0LjQzNTU5Wk0xMi44MjAzIDYuNTkzODhMLTI1LjE0MzQgLTMxLjM2OTlMLTI3LjI5NjMgLTI5LjIxN0wxMC42Njc1IDguNzQ2NzZMNDguNjMxMiA0Ni43MTA1TDUwLjc4NDEgNDQuNTU3N0wxMi44MjAzIDYuNTkzODhaTTEwLjY2NzUgOC43NDY3Nkw0OC42MzEzIC0yOS4yMTdMNDYuNDczIC0zMS4zNzUzTDguNTA5MTcgNi41ODg0N0wtMjkuNDU0NiA0NC41NTIyTC0yNy4yOTYzIDQ2LjcxMDVMMTAuNjY3NSA4Ljc0Njc2Wk04LjUwOTE3IDYuNTg4NDdMNDYuNDczIDQ0LjU1MjJMNDguNjI1OCA0Mi4zOTk0TDEwLjY2MiA0LjQzNTU5TC0yNy4zMDE3IC0zMy41MjgyTC0yOS40NTQ2IC0zMS4zNzUzTDguNTA5MTcgNi41ODg0N1pcIlxyXG4gICAgICAgICAgICAgIGZpbGw9XCIjMDBBM0ZGXCIgbWFzaz1cInVybCgjcGF0aC0xLWluc2lkZS0xXzE4NDlfMTMxMjApXCIgLz5cclxuICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzdHJvbmc+QUkgQXNzaXN0YW50PC9zdHJvbmc+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImV5ZVRlc3RBaU1lc3NhZ2U7IGVsc2UgYWlMb2FkaW5nXCIgW2lubmVySFRNTF09XCJwYXJzZUFpTWFya2Rvd24oZXllVGVzdEFpTWVzc2FnZSlcIj48L2Rpdj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2FpTG9hZGluZz5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyLWJvcmRlciBzcGlubmVyLWJvcmRlci1zbSB0ZXh0LXByaW1hcnlcIiByb2xlPVwic3RhdHVzXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5Mb2FkaW5nLi4uPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LW11dGVkXCIgc3R5bGU9XCJmb250LXNpemU6IDEzcHg7XCI+QUkgaXMgdGhpbmtpbmcuLi48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJsb2FkaW5nXCIgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJub0RhdGFcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1ub2RhdGEtdGFibGVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGEtc3ViXCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIGV5ZSB0ZXN0IHRhYmxlPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiIW5vRGF0YSAmJiAhbG9hZGluZ1wiIGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIj5cclxuICAgICAgICAgICAgPHRhYmxlICpuZ0lmPVwia2V5VHlwZSA9PT0nc3RvcmUnXCIgY2xhc3M9XCJ3LTEwMCB0YWJsZSBib3R0b20tYm9yZGVyIHRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnZGF0ZScpXCI+IERhdGUgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdkYXRlJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdkYXRlJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnYXVkaXRlZERhdGUnKVwiPkF1ZGl0ZWQgRGF0ZSA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2F1ZGl0ZWREYXRlJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdhdWRpdGVkRGF0ZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwidXNlcnM/LnJvbGUgPT09J3N1cGVyYWRtaW4nXCIgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSTSBOYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJ1c2Vycz8ucm9sZSA9PT0nc3VwZXJhZG1pbicgfHwgdXNlcnM/LnJvbGUgPT09J2FkbWluJ1wiIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsdXN0ZXIgTmFtZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+PHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ3N0b3JlTmFtZScpXCI+U3RvcmUgTmFtZSA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ3N0b3JlTmFtZScgJiYgc29ydE9yZGVyID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnc3RvcmVOYW1lJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPjxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdzdG9yZUlkJylcIj5TdG9yZSBJRCA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ3N0b3JlSWQnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIiB3aWR0aD1cIjE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ3N0b3JlSWQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJ0aGlzLnR5cGVWYWx1ZSA9PT0ncmVtb3RlJ1wiIGNsYXNzPVwidGV4dC1zdGFydFwiPkVuZ2FnZW1lbnQgSUQ8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggIGNsYXNzPVwidGV4dC1zdGFydFwiPk9wdG9tIElEPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoICBjbGFzcz1cInRleHQtc3RhcnRcIj5PcHRvbSBFbWFpbCBJRDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoICAqbmdJZj1cInRoaXMudHlwZVZhbHVlID09PSdyZW1vdGUnXCIgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+T3B0b20gTmFtZTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cInRoaXMudHlwZVZhbHVlICE9PSdyZW1vdGUnXCIgY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+UXVldWUgSUQ8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwidGhpcy50eXBlVmFsdWUgIT09J3JlbW90ZSdcIiBjbGFzcz1cInRleHQtc3RhcnRcIj5Qb3dlciBUeXBlczwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdDb21wbGlhbmNlU2NvcmUnKVwiPlRhbmdvIFNjb3JlIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnQ29tcGxpYW5jZVNjb3JlJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdDb21wbGlhbmNlU2NvcmUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPjxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdjb3ZlcmVkU3RlcHNBSScpXCI+U3RlcHMgQ292ZXJlZCBCeSBBSSA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2NvdmVyZWRTdGVwc0FJJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdjb3ZlcmVkU3RlcHNBSScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPiA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+PHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvblNvcnQoJ3RydXN0U2NvcmUnKVwiPlRydXN0IFNjb3JlIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAndHJ1c3RTY29yZScgJiYgc29ydE9yZGVyID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAndHJ1c3RTY29yZScgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPiA8L3RoPlxyXG5cclxuPHRoPjxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdhdWRpdGVkU3RlcHMnKVwiPlN0ZXBzIENvdmVyZWQgQnkgSHVtYW4gPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdhdWRpdGVkU3RlcHMnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2F1ZGl0ZWRTdGVwcycgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPiA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5IdW1hbiBBdWRpdGVkIFNjb3JlPC90aD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJ0aGlzLnR5cGVWYWx1ZSAhPT0ncmVtb3RlJ1wiPjxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNvcnQoJ3Zpc2l0b3JzVHlwZScpXCI+VmlzaXRvciBUeXBlIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAndmlzaXRvcnNUeXBlJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICd2aXNpdG9yc1R5cGUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj4gPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlRlc3QgRHVyYXRpb248L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCIgKm5nSWY9XCJ0aGlzLnR5cGVWYWx1ZSAhPT0ncmVtb3RlJ1wiPjxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNvcnQoJ2NvbW1lbnQnKVwiPkV5ZSBUZXN0IFN0YXR1cyA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2NvbW1lbnQnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2NvbW1lbnQnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj48L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+PHNwYW4gY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU29ydCgnc3ViQ29tbWVudCcpXCI+Q29tbWVudHMgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdzdWJDb21tZW50JyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdzdWJDb21tZW50JyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPjxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdhdWRpdFN0YXR1cycpXCI+QXVkaXQgU3RhdHVzIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnYXVkaXRTdGF0dXMnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ2F1ZGl0U3RhdHVzJyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+PC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPkF1ZGl0ZWQgQnk8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+QWN0aW9uPC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IG9iaiBvZiBleWVUZXN0RGF0YTsgbGV0IGk9aW5kZXg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8uZGF0ZSB8IGRhdGU6J2RkIE1NTSwgeXl5eSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8uYXVkaXRlZERhdGV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidXNlcnM/LnJvbGUgPT09ICdzdXBlcmFkbWluJ1wiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJvYmo/LlJNTmFtZVwiPlxyXG4gICAgPCEtLSBTcGxpdCBhbmQgc2hvdyB0aGUgZmlyc3QgdmFsdWUgLS0+XHJcbiAgICB7eyBvYmouUk1OYW1lLnNwbGl0KCcsJylbMF0gfX1cclxuXHJcbiAgICA8IS0tIFNob3cgK04gYmFkZ2UgaWYgbW9yZSB2YWx1ZXMgZXhpc3QgLS0+XHJcbiAgICA8c3BhbiAqbmdJZj1cIm9iai5STU5hbWUuc3BsaXQoJywnKS5sZW5ndGggPiAxXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0IG1zLTJcIj5cclxuICAgICAgK3t7IG9iai5STU5hbWUuc3BsaXQoJywnKS5sZW5ndGggLSAxIH19XHJcbiAgICA8L3NwYW4+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvdGQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidXNlcnM/LnJvbGUgPT09J3N1cGVyYWRtaW4nIHx8IHVzZXJzPy5yb2xlID09PSdhZG1pbidcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvYmo/LmNsdXN0ZXJOYW1lXCI+XHJcbiB7eyBvYmouY2x1c3Rlck5hbWUuc3BsaXQoJywnKVswXSB9fVxyXG4gPHNwYW4gKm5nSWY9XCJvYmouY2x1c3Rlck5hbWUuc3BsaXQoJywnKS5sZW5ndGggPiAxXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0IG1zLTJcIj5cclxuICAgICAgK3t7IG9iai5jbHVzdGVyTmFtZS5zcGxpdCgnLCcpLmxlbmd0aCAtIDEgfX1cclxuICAgIDwvc3Bhbj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5zdG9yZU5hbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8uc3RvcmVJZH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidGhpcy50eXBlVmFsdWUgPT09J3JlbW90ZSdcIiBjbGFzcz1cImVuZ2FnZS10ZXh0XCI+e3tvYmo/LmVuZ2FnZW1lbnRJZH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidGhpcy50eXBlVmFsdWUgIT09J3JlbW90ZSdcIj48c3BhbiAqbmdJZj1cIm9iaj8ub3B0dW1JZFwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgdGV4dC1wcmltYXJ5IHVuZGVybGluZVwiIFtuZ0NsYXNzXT1cImZpbHRlckJ5T3B0b20gPT09IGdldFJvd09wdG9tSWQob2JqKSA/ICdmdy1ib2xkJyA6ICcnXCIgKGNsaWNrKT1cImZpbHRlck9wdG9tKG9iailcIj57e29iaj8ub3B0dW1JZH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidGhpcy50eXBlVmFsdWUgPT09J3JlbW90ZSdcIj48c3BhbiAqbmdJZj1cIm9iaj8ub3B0bV91c2VySWRcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyIHRleHQtcHJpbWFyeSB1bmRlcmxpbmVcIiBbbmdDbGFzc109XCJmaWx0ZXJCeU9wdG9tID09PSBnZXRSb3dPcHRvbUlkKG9iaikgPyAnZnctYm9sZCcgOiAnJ1wiIChjbGljayk9XCJmaWx0ZXJPcHRvbShvYmopXCI+e3tvYmo/Lm9wdG1fdXNlcklkfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInRoaXMudHlwZVZhbHVlICE9PSdyZW1vdGUnXCI+e3tvYmo/LnNhbGVzbWFuRW1haWxJZCA/IG9iaj8uc2FsZXNtYW5FbWFpbElkIDonJ319XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ0aGlzLnR5cGVWYWx1ZSA9PT0ncmVtb3RlJ1wiPnt7b2JqPy51c2VyRW1haWwgPyBvYmo/LnVzZXJFbWFpbCA6Jyd9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidGhpcy50eXBlVmFsdWUgPT09J3JlbW90ZSdcIj57e29iaj8uZGlzcGxheU5hbWUgPyBvYmo/LmRpc3BsYXlOYW1lIDonJ319XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInRoaXMudHlwZVZhbHVlICE9PSdyZW1vdGUnXCIgY2xhc3M9XCJlbmdhZ2UtdGV4dFwiPnt7b2JqPy5xdWV1ZUlkID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iaj8ucXVldWVJZDonJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInRoaXMudHlwZVZhbHVlICE9PSdyZW1vdGUnXCIgPnt7b2JqPy5uZWFyQWRkaXRpb24gP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqPy5uZWFyQWRkaXRpb24gPT09IFwidHJ1ZVwiPyBcIldpdGggTmVhciBBZGRpdGlvblwiIDpcIldpdGhvdXQgTmVhciBBZGRpdGlvblwiOictLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gIHt7IG9iaj8uY29tcGxpYW5jZVNjb3JlID8/ICctLScgfX1cclxuPC90ZD5cclxuPHRkPnt7b2JqPy5jb3ZlcmVkU3RlcHNBSSA/IG9iaj8uY292ZXJlZFN0ZXBzQUk6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LnRydXN0U2NvcmUgPz8gJy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LmF1ZGl0ZWRTdGVwcyA/IG9iaj8uYXVkaXRlZFN0ZXBzOictLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5odW1hbkNvbXBsaWFuY2VTY29yZSA/IG9iaj8uaHVtYW5Db21wbGlhbmNlU2NvcmUgOictLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtY2FwaXRhbGl6ZVwiICpuZ0lmPVwidGhpcy50eXBlVmFsdWUgIT09J3JlbW90ZSdcIj57e29iaj8udmlzaXRvcnNUeXBlID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iaj8udmlzaXRvcnNUeXBlOictLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8ubWluID8gb2JqPy5taW4gOicwJ319IG1pbnMge3tvYmo/LnNlYyA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmo/LnNlYzonMCd9fSBzZWNzPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidGhpcy50eXBlVmFsdWUgIT09J3JlbW90ZSdcIj5cclxuICA8c3BhbiBcclxuICAgIGNsYXNzPVwiYmFkZ2VcIiBcclxuICAgIFtuZ0NsYXNzXT1cIm9iaj8uY29tbWVudCA/ICdiYWRnZS1saWdodC1kYW5nZXInIDogJ2JhZGdlLWxpZ2h0LXN1Y2Nlc3MnXCI+XHJcbiAgICB7eyBvYmo/LmNvbW1lbnQgPyAnRmFrZScgOiAnR2VudWluZScgfX1cclxuICA8L3NwYW4+XHJcbjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LnN1YkNvbW1lbnQgPyBvYmo/LnN1YkNvbW1lbnQ6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtcHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJvYmo/LmF1ZGl0U3RhdHVzID09PSdZZXQtdG8tQXVkaXQnXCI+e3tvYmo/LmF1ZGl0U3RhdHVzfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXdhcm5pbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwib2JqPy5hdWRpdFN0YXR1cyA9PT0nUmUtQXVkaXRlZCdcIj57e29iaj8uYXVkaXRTdGF0dXN9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2Vzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJvYmo/LmF1ZGl0U3RhdHVzID09PSdBdWRpdGVkJ1wiPnt7b2JqPy5hdWRpdFN0YXR1c319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1pbmZvXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm9iaj8uYXVkaXRTdGF0dXMgPT09J0luLVByb2dyZXNzJ1wiPnt7b2JqPy5hdWRpdFN0YXR1c319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LmF1ZGl0ZWRCeT9vYmo/LmF1ZGl0ZWRCeTpcIi1cIn19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwiZXllVGVzdFZpZXcob2JqKVwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAyMCAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0wLjgzMzQ5NiA4LjAwMDE2QzAuODMzNDk2IDguMDAwMTYgNC4xNjY4MyAxLjMzMzUgMTAuMDAwMiAxLjMzMzVDMTUuODMzNSAxLjMzMzUgMTkuMTY2OCA4LjAwMDE2IDE5LjE2NjggOC4wMDAxNkMxOS4xNjY4IDguMDAwMTYgMTUuODMzNSAxNC42NjY4IDEwLjAwMDIgMTQuNjY2OEM0LjE2NjgzIDE0LjY2NjggMC44MzM0OTYgOC4wMDAxNiAwLjgzMzQ5NiA4LjAwMDE2WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEwLjAwMDIgMTAuNTAwMkMxMS4zODA5IDEwLjUwMDIgMTIuNTAwMiA5LjM4MDg3IDEyLjUwMDIgOC4wMDAxNkMxMi41MDAyIDYuNjE5NDUgMTEuMzgwOSA1LjUwMDE2IDEwLjAwMDIgNS41MDAxNkM4LjYxOTQ1IDUuNTAwMTYgNy41MDAxNiA2LjYxOTQ1IDcuNTAwMTYgOC4wMDAxNkM3LjUwMDE2IDkuMzgwODcgOC42MTk0NSAxMC41MDAyIDEwLjAwMDIgMTAuNTAwMlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICA8dGFibGUgKm5nSWY9XCJrZXlUeXBlID09PSdybSdcIiBjbGFzcz1cInctMTAwIHRhYmxlIGJvdHRvbS1ib3JkZXIgdGV4dC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdSTU5hbWUnKVwiPiBSTSBOYW1lIDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnUk1OYW1lJyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCIgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdSTU5hbWUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdjbHVzdGVyQ291bnQnKVwiPiBDbHVzdGVycyBDb3VudCA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ2NsdXN0ZXJDb3VudCcgJiYgc29ydE9yZGVyID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnY2x1c3RlckNvdW50JyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU29ydCgnc3RvcmVzQ291bnQnKVwiPlN0b3JlcyBDb3VudCA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNvcnRlZENvbHVtbiA9PT0gJ3N0b3Jlc0NvdW50JyAmJiBzb3J0T3JkZXIgPT09IDEgPyAncm90YXRlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTguMDAwMTYgMy4zMzMzN1YxMi42NjY3TTguMDAwMTYgMTIuNjY2N0wxMi42NjY4IDguMDAwMDRNOC4wMDAxNiAxMi42NjY3TDMuMzMzNSA4LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0ZWRDb2x1bW4gPT09ICdzdG9yZXNDb3VudCcgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvdGFsIFRhbmdvIEFJIEZpbGVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgIFRydXN0IEF1ZGl0IENvbXBsZXRlZCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFuZ28gU2NvcmUgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRydXN0IFNjb3JlIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+QWN0aW9uPC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IG9iaiBvZiBleWVUZXN0RGF0YTsgbGV0IGk9aW5kZXg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8uUk1OYW1lID8gb2JqPy5STU5hbWU6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5jbHVzdGVyQ291bnQgPyBvYmo/LmNsdXN0ZXJDb3VudDonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LnN0b3Jlc0NvdW50ID8gb2JqPy5zdG9yZXNDb3VudDonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tvYmo/LnRvdGFsRmlsZXMgPz8gJy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5jb21wbGV0ZWRGaWxlcyA/PyAnLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iai5jb21wbGlhbmNlU2NvcmUgPz8gJy0tJ319XHJcbiBcclxuPC90ZD5cclxuPHRkPlxyXG4gIHt7IG9iaj8udHJ1c3RTY29yZSA/PyAnLS0nIH19XHJcbjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInR5cGVWYWwoJ2NsdXN0ZXInLG9iailcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMjAgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMC44MzM0OTYgOC4wMDAxNkMwLjgzMzQ5NiA4LjAwMDE2IDQuMTY2ODMgMS4zMzM1IDEwLjAwMDIgMS4zMzM1QzE1LjgzMzUgMS4zMzM1IDE5LjE2NjggOC4wMDAxNiAxOS4xNjY4IDguMDAwMTZDMTkuMTY2OCA4LjAwMDE2IDE1LjgzMzUgMTQuNjY2OCAxMC4wMDAyIDE0LjY2NjhDNC4xNjY4MyAxNC42NjY4IDAuODMzNDk2IDguMDAwMTYgMC44MzM0OTYgOC4wMDAxNlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMC4wMDAyIDEwLjUwMDJDMTEuMzgwOSAxMC41MDAyIDEyLjUwMDIgOS4zODA4NyAxMi41MDAyIDguMDAwMTZDMTIuNTAwMiA2LjYxOTQ1IDExLjM4MDkgNS41MDAxNiAxMC4wMDAyIDUuNTAwMTZDOC42MTk0NSA1LjUwMDE2IDcuNTAwMTYgNi42MTk0NSA3LjUwMDE2IDguMDAwMTZDNy41MDAxNiA5LjM4MDg3IDguNjE5NDUgMTAuNTAwMiAxMC4wMDAyIDEwLjUwMDJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICAgICAgPHRhYmxlICpuZ0lmPVwia2V5VHlwZSA9PT0nY2x1c3RlcidcIiBjbGFzcz1cInctMTAwIHRhYmxlIGJvdHRvbS1ib3JkZXIgdGV4dC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdjbHVzdGVyTmFtZScpXCI+IENsdXN0ZXJzIE5hbWUgPHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJzb3J0ZWRDb2x1bW4gPT09ICdjbHVzdGVyTmFtZScgJiYgc29ydE9yZGVyID09PSAxID8gJ3JvdGF0ZScgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk04LjAwMDE2IDMuMzMzMzdWMTIuNjY2N004LjAwMDE2IDEyLjY2NjdMMTIuNjY2OCA4LjAwMDA0TTguMDAwMTYgMTIuNjY2N0wzLjMzMzUgOC4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydGVkQ29sdW1uID09PSAnY2x1c3Rlck5hbWUnID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib25Tb3J0KCdzdG9yZXNDb3VudCcpXCI+U3RvcmVzIENvdW50IDxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29ydGVkQ29sdW1uID09PSAnc3RvcmVzQ291bnQnICYmIHNvcnRPcmRlciA9PT0gMSA/ICdyb3RhdGUnIDogJydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOC4wMDAxNiAzLjMzMzM3VjEyLjY2NjdNOC4wMDAxNiAxMi42NjY3TDEyLjY2NjggOC4wMDAwNE04LjAwMDE2IDEyLjY2NjdMMy4zMzM1IDguMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRlZENvbHVtbiA9PT0gJ3N0b3Jlc0NvdW50JyA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVG90YWwgVGFuZ28gQUkgRmlsZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJ1c3QgQXVkaXQgQ29tcGxldGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhbmdvIFNjb3JlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRydXN0IFNjb3JlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5BY3Rpb248L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgb2JqIG9mIGV5ZVRlc3REYXRhOyBsZXQgaT1pbmRleDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5jbHVzdGVyTmFtZSA/IG9iaj8uY2x1c3Rlck5hbWU6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy5zdG9yZXNDb3VudCA/IG9iaj8uc3RvcmVzQ291bnQ6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7b2JqPy50b3RhbEZpbGVzID8/ICctLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e29iaj8uY29tcGxldGVkRmlsZXMgPz8gJy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICB7eyBvYmo/LmNvbXBsaWFuY2VTY29yZSA/PyAgJy0tJyB9fVxyXG48L3RkPlxyXG48dGQ+XHJcbiAge3sgb2JqPy50cnVzdFNjb3JlID8/ICctLScgfX1cclxuPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwidHlwZVZhbCgnc3RvcmUnLG9iailcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMjAgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMC44MzM0OTYgOC4wMDAxNkMwLjgzMzQ5NiA4LjAwMDE2IDQuMTY2ODMgMS4zMzM1IDEwLjAwMDIgMS4zMzM1QzE1LjgzMzUgMS4zMzM1IDE5LjE2NjggOC4wMDAxNiAxOS4xNjY4IDguMDAwMTZDMTkuMTY2OCA4LjAwMDE2IDE1LjgzMzUgMTQuNjY2OCAxMC4wMDAyIDE0LjY2NjhDNC4xNjY4MyAxNC42NjY4IDAuODMzNDk2IDguMDAwMTYgMC44MzM0OTYgOC4wMDAxNlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMC4wMDAyIDEwLjUwMDJDMTEuMzgwOSAxMC41MDAyIDEyLjUwMDIgOS4zODA4NyAxMi41MDAyIDguMDAwMTZDMTIuNTAwMiA2LjYxOTQ1IDExLjM4MDkgNS41MDAxNiAxMC4wMDAyIDUuNTAwMTZDOC42MTk0NSA1LjUwMDE2IDcuNTAwMTYgNi42MTk0NSA3LjUwMDE2IDguMDAwMTZDNy41MDAxNiA5LjM4MDg3IDguNjE5NDUgMTAuNTAwMiAxMC4wMDAyIDEwLjUwMDJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgPC90YWJsZT5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlclwiICpuZ0lmPVwiIW5vRGF0YSAmJiAhbG9hZGluZ1wiPlxyXG4gICAgICAgIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cInBhZ2VTaXplXCIgW2N1cnJlbnRQYWdlXT1cIm9mZnNldFwiIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXNcIlxyXG4gICAgICAgICAgICBbcGFnaW5hdGlvblNpemVzXT1cInBhZ2luYXRpb25TaXplc1wiIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgKHBhZ2VTaXplQ2hhbmdlKT1cIm9uUGFnZVNpemVDaGFuZ2UoJGV2ZW50KVwiPjwvbGliLXBhZ2luYXRpb24+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuXHJcblxyXG48c2VjdGlvbiAqbmdJZj1cImV5ZVZpZXdcIiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZCBuZXcxIG10LTRcIj5cclxuPGRpdiAgY2xhc3M9XCJjYXJkIHAtNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICA8ZGl2IChjbGljayk9XCJiYWNrTmF2aWdhdGlvbigpXCIgIGNsYXNzPVwiYnRuIGJ0bi1hbSBidG4tb3V0bGluZSBwLTNcIj5cclxuICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNS44MzMyIDkuOTk5ODRINC4xNjY1TTQuMTY2NSA5Ljk5OTg0TDkuOTk5ODQgMTUuODMzMk00LjE2NjUgOS45OTk4NEw5Ljk5OTg0IDQuMTY2NVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8c3BhbiAgKm5nSWY9XCJjdXJyZW50QXVkaXRUeXBlICE9PSAncmVtb3RlJ1wiIGNsYXNzPVwibXMtMyBiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0XCI+e3thdWRpdERldGFpbHM/Lm9wdHVtSWR9fTwvc3Bhbj4gXHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJjdXJyZW50QXVkaXRUeXBlID09PSAncmVtb3RlJ1wiIGNsYXNzPVwibXMtMyBiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0XCI+PHNwYW4gY2xhc3M9XCJtZS0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAgMTAuNVY5LjVDMTAgOC45Njk1NyA5Ljc4OTI5IDguNDYwODYgOS40MTQyMSA4LjA4NTc5QzkuMDM5MTQgNy43MTA3MSA4LjUzMDQzIDcuNSA4IDcuNUg0QzMuNDY5NTcgNy41IDIuOTYwODYgNy43MTA3MSAyLjU4NTc5IDguMDg1NzlDMi4yMTA3MSA4LjQ2MDg2IDIgOC45Njk1NyAyIDkuNVYxMC41TTggMy41QzggNC42MDQ1NyA3LjEwNDU3IDUuNSA2IDUuNUM0Ljg5NTQzIDUuNSA0IDQuNjA0NTcgNCAzLjVDNCAyLjM5NTQzIDQuODk1NDMgMS41IDYgMS41QzcuMTA0NTcgMS41IDggMi4zOTU0MyA4IDMuNVpcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICA8L3N2Zz48L3NwYW4+e3thdWRpdERldGFpbHM/LmRpc3BsYXlOYW1lID8gYXVkaXREZXRhaWxzPy5kaXNwbGF5TmFtZTonLS0nfX08L3NwYW4+IFxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImQtZmxleCBtcy0xIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyAgd2lkdGg9XCI0NlwiIGhlaWdodD1cIjQ2XCIgdmlld0JveD1cIjAgMCA0NiA0NlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxyZWN0ICB4PVwiM1wiIHk9XCIzXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgcng9XCIyMFwiIGZpbGw9XCJcIiBvcGFjaXR5PVwiMC4xXCI+PC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgIDxyZWN0ICB4PVwiM1wiIHk9XCIzXCIgd2lkdGg9XCI0MFwiIGhlaWdodD1cIjQwXCIgcng9XCIyMFwiIHN0cm9rZT1cIlwiIHN0cm9rZS13aWR0aD1cIjZcIj48L3JlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggIGQ9XCJNMTUuNjc5OSAxOC44MDM5TDE1LjYyNjcgMTguODg3MUMxNS4wNjg2IDE5Ljg3NDEgMTUuNjY0NCAyMS4xMjE1IDE2LjczNjEgMjEuMjY0NkMxNi44MzMxIDIxLjI3NjUgMTYuOTIzNSAyMS4yODI4IDE3LjAxMTggMjEuMjgyOEMxNy41ODk5IDIxLjI4MjggMTguMTAxMSAyMS4wMzQ4IDE4LjQ1NzQgMjAuNjQ4TDE5LjAxMDcgMjAuMDQ3NEwxOS41NjIxIDIwLjY0OThDMTkuOTE0MSAyMS4wMzQyIDIwLjQyNDEgMjEuMjgyOCAyMS4wMDYxIDIxLjI4MjhDMjEuNTg1NiAyMS4yODI4IDIyLjA5ODUgMjEuMDMzOCAyMi40NTAyIDIwLjY0OThMMjMuMDAzMyAyMC4wNDU1TDIzLjU1NjUgMjAuNjQ5OEMyMy45MDgxIDIxLjAzMzggMjQuNDIxMSAyMS4yODI4IDI1LjAwMDUgMjEuMjgyOEMyNS41OCAyMS4yODI4IDI2LjA5MjkgMjEuMDMzOCAyNi40NDQ1IDIwLjY0OThMMjYuOTk3NyAyMC4wNDU1TDI3LjU1MDkgMjAuNjQ5OEMyNy45MDI1IDIxLjAzMzggMjguNDE1NSAyMS4yODI4IDI4Ljk5NDkgMjEuMjgyOEMyOS4wODAzIDIxLjI4MjggMjkuMTczMyAyMS4yNzY1IDI5LjI2OTcgMjEuMjY0N0MzMC4zNjQ5IDIxLjExNTQgMzAuOTYyNyAxOS44MDEyIDMwLjMyNCAxOC44MDQ0QzMwLjMyNCAxOC44MDQzIDMwLjMyNCAxOC44MDQzIDMwLjMyMzkgMTguODA0MkwyOC41NjU4IDE2LjA2MjhMMjguNTY1OCAxNi4wNjI4TDI4LjU2NDggMTYuMDYxNEMyOC41NDk2IDE2LjAzNzUgMjguNTEyMSAxNi4wMTIgMjguNDY1IDE2LjAxMkgxNy41MzU2QzE3LjQ4ODQgMTYuMDEyIDE3LjQ1MDkgMTYuMDM3NSAxNy40MzU3IDE2LjA2MTRMMTcuNDM1MSAxNi4wNjIzTDE1LjY3OTkgMTguODAzOVpNMjguNjUxNCAyMy43MzcyVjI2Ljg2OTFWMjcuNjE5MUgyNy45MDE0SDE4LjA5OTJIMTcuMzQ5MlYyNi44NjkxVjIzLjczNzZDMTcuMjM5IDIzLjc0NTggMTcuMTI3NCAyMy43NTAxIDE3LjAxNDggMjMuNzUwMUMxNi45NzI1IDIzLjc1MDEgMTYuOTMwNSAyMy43NDk0IDE2Ljg4ODggMjMuNzQ4MlYyNi44NjkxVjI4LjgwMzZDMTYuODg4OCAyOS40NDcxIDE3LjQyMjcgMjkuOTg4MiAxOC4wOTkyIDI5Ljk4ODJIMjcuOTAxNEMyOC41Nzc5IDI5Ljk4ODIgMjkuMTExOCAyOS40NDcxIDI5LjExMTggMjguODAzNlYyNi44NjkxVjIzLjc0ODRDMjkuMDcyIDIzLjc0OTUgMjkuMDMyIDIzLjc1MDEgMjguOTkxOCAyMy43NTAxQzI4Ljg3NzQgMjMuNzUwMSAyOC43NjM5IDIzLjc0NTcgMjguNjUxNCAyMy43MzcyWlwiIHN0cm9rZT1cIiMwMDAwMDBcIiBzdHJva2Utd2lkdGg9XCIxLjVcIj48L3BhdGg+PC9zdmc+IFxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMSBzdWItdGl0bGVcIj4ge3thdWRpdERldGFpbHMuc3RvcmVOYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIDwhLS0gZGlzcGxheU5hbWUgLS0+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImN1cnJlbnRBdWRpdFR5cGUgIT09ICdyZW1vdGUnXCIgY2xhc3M9XCJkLWZsZXggbXMtMyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk01LjI1MDIxIDYuNTAwMjhDNS45MTMyOSA2LjUwMDI4IDYuNTQ5MjEgNi4yMzY4OSA3LjAxODA3IDUuNzY4MDdDNy40ODY5NCA1LjI5OTI0IDcuNzUwMzUgNC42NjMzNyA3Ljc1MDM1IDQuMDAwMzVDNy43NTAzNSAzLjMzNzMyIDcuNDg2OTQgMi43MDE0NiA3LjAxODA3IDIuMjMyNjNDNi41NDkyMSAxLjc2MzggNS45MTMyOSAxLjUwMDQyIDUuMjUwMjEgMS41MDA0MkM0LjU4NzEzIDEuNTAwNDIgMy45NTEyMSAxLjc2MzggMy40ODIzNCAyLjIzMjYzQzMuMDEzNDggMi43MDE0NiAyLjc1MDA3IDMuMzM3MzIgMi43NTAwNyA0LjAwMDM1QzIuNzUwMDcgNC42NjMzNyAzLjAxMzQ4IDUuMjk5MjQgMy40ODIzNCA1Ljc2ODA3QzMuOTUxMjEgNi4yMzY4OSA0LjU4NzEzIDYuNTAwMjggNS4yNTAyMSA2LjUwMDI4Wk01LjI1MDIxIDUuMjUwMzFDNC45MTg2NyA1LjI1MDMxIDQuNjAwNzEgNS4xMTg2MiA0LjM2NjI4IDQuODg0MjFDNC4xMzE4NCA0LjY0OTc5IDQuMDAwMTQgNC4zMzE4NiA0LjAwMDE0IDQuMDAwMzVDNC4wMDAxNCAzLjY2ODg0IDQuMTMxODQgMy4zNTA5IDQuMzY2MjggMy4xMTY0OUM0LjYwMDcxIDIuODgyMDcgNC45MTg2NyAyLjc1MDM4IDUuMjUwMjEgMi43NTAzOEM1LjU4MTc1IDIuNzUwMzggNS44OTk3MSAyLjg4MjA3IDYuMTM0MTQgMy4xMTY0OUM2LjM2ODU3IDMuMzUwOSA2LjUwMDI4IDMuNjY4ODQgNi41MDAyOCA0LjAwMDM1QzYuNTAwMjggNC4zMzE4NiA2LjM2ODU3IDQuNjQ5NzkgNi4xMzQxNCA0Ljg4NDIxQzUuODk5NzEgNS4xMTg2MiA1LjU4MTc1IDUuMjUwMzEgNS4yNTAyMSA1LjI1MDMxWk0xLjUgOC43OTE4OEMxLjUgNy45ODY5IDIuMTUzMzcgNy4zMzM1OSAyLjk1ODQxIDcuMzMzNTlINy41NDJDOC4zNDcwNSA3LjMzMzU5IDkuMDAwNDIgNy45ODY5IDkuMDAwNDIgOC43OTE4OFYxMi43NTAxQzkuMDAwNDIgMTMuNzQ0NiA4LjYwNTMxIDE0LjY5ODQgNy45MDIwMSAxNS40MDE3QzcuMTk4NyAxNi4xMDQ5IDYuMjQ0ODMgMTYuNSA1LjI1MDIxIDE2LjVDNC4yNTU1OSAxNi41IDMuMzAxNzEgMTYuMTA0OSAyLjU5ODQxIDE1LjQwMTdDMS44OTUxMSAxNC42OTg0IDEuNSAxMy43NDQ2IDEuNSAxMi43NTAxVjguNzkxODhaTTIuOTU4NDEgOC41ODM1NUMyLjkwMzE2IDguNTgzNTUgMi44NTAxNiA4LjYwNTUgMi44MTEwOSA4LjY0NDU3QzIuNzcyMDIgOC42ODM2NCAyLjc1MDA3IDguNzM2NjMgMi43NTAwNyA4Ljc5MTg4VjEyLjc1MDFDMi43NTAwNyAxMy40MTMxIDMuMDEzNDggMTQuMDQ5IDMuNDgyMzQgMTQuNTE3OEMzLjk1MTIxIDE0Ljk4NjcgNC41ODcxMyAxNS4yNSA1LjI1MDIxIDE1LjI1QzUuOTEzMjkgMTUuMjUgNi41NDkyMSAxNC45ODY3IDcuMDE4MDcgMTQuNTE3OEM3LjQ4Njk0IDE0LjA0OSA3Ljc1MDM1IDEzLjQxMzEgNy43NTAzNSAxMi43NTAxVjguNzkxODhDNy43NTAzNSA4LjczNjYzIDcuNzI4NCA4LjY4MzY0IDcuNjg5MzIgOC42NDQ1N0M3LjY1MDI1IDguNjA1NSA3LjU5NzI2IDguNTgzNTUgNy41NDIgOC41ODM1NUgyLjk1ODQxWk03Ljc3Mjg1IDYuMTc4NjJDOC4xNTMyOCA2LjM5MjY3IDguNTgzMTMgNi41MDM0IDkuMDE5NjMgNi40OTk3OEM5LjQ1NjE0IDYuNDk2MTYgOS44ODQxIDYuMzc4MzIgMTAuMjYwOSA2LjE1Nzk5QzEwLjYzNzggNS45Mzc2NiAxMC45NTAzIDUuNjIyNTIgMTEuMTY3NSA1LjI0MzkxQzExLjM4NDggNC44NjUzIDExLjQ5OSA0LjQzNjQyIDExLjQ5OSAzLjk5OTkzQzExLjQ5OSAzLjU2MzQ0IDExLjM4NDggMy4xMzQ1NiAxMS4xNjc1IDIuNzU1OTVDMTAuOTUwMyAyLjM3NzM0IDEwLjYzNzggMi4wNjIyIDEwLjI2MDkgMS44NDE4N0M5Ljg4NDEgMS42MjE1NCA5LjQ1NjE0IDEuNTAzNzEgOS4wMTk2MyAxLjUwMDA5QzguNTgzMTMgMS40OTY0NyA4LjE1MzI4IDEuNjA3MTkgNy43NzI4NSAxLjgyMTI0QzguMDQ1MzYgMi4xMzYyMyA4LjI1OTU0IDIuNTAyODkgOC4zOTk1NSAyLjkwNDU0QzguNTg5OTEgMi44MDAyNiA4LjgwNDE1IDIuNzQ3MzMgOS4wMjExOCAyLjc1MDk3QzkuMjM4MjEgMi43NTQ2MiA5LjQ1MDU1IDIuODE0NzEgOS42MzczMSAyLjkyNTMzQzkuODI0MDYgMy4wMzU5NCA5Ljk3ODc5IDMuMTkzMjggMTAuMDg2MyAzLjM4MTg1QzEwLjE5MzcgMy41NzA0MiAxMC4yNTAzIDMuNzgzNzIgMTAuMjUwMyA0LjAwMDc2QzEwLjI1MDMgNC4yMTc4MSAxMC4xOTM3IDQuNDMxMTEgMTAuMDg2MyA0LjYxOTY4QzkuOTc4NzkgNC44MDgyNSA5LjgyNDA2IDQuOTY1NTggOS42MzczMSA1LjA3NjJDOS40NTA1NSA1LjE4NjgyIDkuMjM4MjEgNS4yNDY5MSA5LjAyMTE4IDUuMjUwNTVDOC44MDQxNSA1LjI1NDIgOC41ODk5MSA1LjIwMTI3IDguMzk5NTUgNS4wOTY5OEM4LjI2MDc0IDUuNDkzODIgOC4wNDgxIDUuODYwODIgNy43NzI4NSA2LjE3ODYyWk04LjA1MDM2IDE2LjM3ODNDOC4zNTQ4MyAxNi40NTgzIDguNjcxNTEgMTYuNDk4OSA5LjAwMDQyIDE2LjVDOS45OTUwMyAxNi41IDEwLjk0ODkgMTYuMTA0OSAxMS42NTIyIDE1LjQwMTdDMTIuMzU1NSAxNC42OTg0IDEyLjc1MDYgMTMuNzQ0NiAxMi43NTA2IDEyLjc1MDFWOC43OTE4OEMxMi43NTA2IDguNDA1MTIgMTIuNTk3IDguMDM0MTkgMTIuMzIzNSA3Ljc2MDcxQzEyLjA1IDcuNDg3MjMgMTEuNjc5IDcuMzMzNTkgMTEuMjkyMiA3LjMzMzU5SDkuMzA4NzdDOS41OTQ2MiA3LjY3OTQxIDkuNzgwNDYgOC4xMTEwNyA5LjgyMzggOC41ODM1NUgxMS4yOTA1QzExLjM0NTggOC41ODM1NSAxMS4zOTg4IDguNjA1NSAxMS40Mzc5IDguNjQ0NTdDMTEuNDc2OSA4LjY4MzY0IDExLjQ5ODkgOC43MzY2MyAxMS40OTg5IDguNzkxODhWMTIuNzUwMUMxMS40OTg5IDEzLjM5NjggMTEuMjQ4MyAxNC4wMTg0IDEwLjc5OTYgMTQuNDg0M0MxMC4zNTEgMTQuOTUwMSA5LjczOTI1IDE1LjIyNCA5LjA5MjkyIDE1LjI0ODRDOC44MTA0MSAxNS42ODE3IDguNDU4NzIgMTYuMDYzMyA4LjA1MDM2IDE2LjM3ODNaTTExLjUyMjIgNi4xNzg2MkMxMS45MDI3IDYuMzkyNjcgMTIuMzMyNSA2LjUwMzQgMTIuNzY5IDYuNDk5NzhDMTMuMjA1NSA2LjQ5NjE2IDEzLjYzMzUgNi4zNzgzMiAxNC4wMTAzIDYuMTU3OTlDMTQuMzg3MSA1LjkzNzY2IDE0LjY5OTcgNS42MjI1MiAxNC45MTY5IDUuMjQzOTFDMTUuMTM0MSA0Ljg2NTMgMTUuMjQ4NCA0LjQzNjQyIDE1LjI0ODQgMy45OTk5M0MxNS4yNDg0IDMuNTYzNDQgMTUuMTM0MSAzLjEzNDU2IDE0LjkxNjkgMi43NTU5NUMxNC42OTk3IDIuMzc3MzQgMTQuMzg3MSAyLjA2MjIgMTQuMDEwMyAxLjg0MTg3QzEzLjYzMzUgMS42MjE1NCAxMy4yMDU1IDEuNTAzNzEgMTIuNzY5IDEuNTAwMDlDMTIuMzMyNSAxLjQ5NjQ3IDExLjkwMjcgMS42MDcxOSAxMS41MjIyIDEuODIxMjRDMTEuNzk0NyAyLjEzNjIzIDEyLjAwODkgMi41MDI4OSAxMi4xNDg5IDIuOTA0NTRDMTIuMzM5MyAyLjgwMDI2IDEyLjU1MzUgMi43NDczMyAxMi43NzA2IDIuNzUwOTdDMTIuOTg3NiAyLjc1NDYyIDEzLjE5OTkgMi44MTQ3MSAxMy4zODY3IDIuOTI1MzNDMTMuNTczNCAzLjAzNTk0IDEzLjcyODIgMy4xOTMyOCAxMy44MzU2IDMuMzgxODVDMTMuOTQzMSAzLjU3MDQyIDEzLjk5OTYgMy43ODM3MiAxMy45OTk2IDQuMDAwNzZDMTMuOTk5NiA0LjIxNzgxIDEzLjk0MzEgNC40MzExMSAxMy44MzU2IDQuNjE5NjhDMTMuNzI4MiA0LjgwODI1IDEzLjU3MzQgNC45NjU1OCAxMy4zODY3IDUuMDc2MkMxMy4xOTk5IDUuMTg2ODIgMTIuOTg3NiA1LjI0NjkxIDEyLjc3MDYgNS4yNTA1NUMxMi41NTM1IDUuMjU0MiAxMi4zMzkzIDUuMjAxMjcgMTIuMTQ4OSA1LjA5Njk4QzEyLjAxMDEgNS40OTM4MiAxMS43OTc1IDUuODYwODIgMTEuNTIyMiA2LjE3ODYyWk0xMS43OTk3IDE2LjM3ODNDMTIuMTA0MiAxNi40NTgzIDEyLjQyMDkgMTYuNDk4OSAxMi43NDk4IDE2LjVDMTMuNzQ0NCAxNi41IDE0LjY5ODMgMTYuMTA0OSAxNS40MDE2IDE1LjQwMTdDMTYuMTA0OSAxNC42OTg0IDE2LjUgMTMuNzQ0NiAxNi41IDEyLjc1MDFWOC43OTE4OEMxNi41IDguNDA1MjYgMTYuMzQ2NSA4LjAzNDQ3IDE2LjA3MzEgNy43NjEwMUMxNS43OTk4IDcuNDg3NTUgMTUuNDI5MSA3LjMzMzgxIDE1LjA0MjQgNy4zMzM1OUgxMy4wNTlDMTMuMzQ0OCA3LjY3OTQxIDEzLjUzMTUgOC4xMTEwNyAxMy41NzQgOC41ODM1NUgxNS4wNDA4QzE1LjA5NiA4LjU4MzU1IDE1LjE0OSA4LjYwNTUgMTUuMTg4MSA4LjY0NDU3QzE1LjIyNzEgOC42ODM2NCAxNS4yNDkxIDguNzM2NjMgMTUuMjQ5MSA4Ljc5MTg4VjEyLjc1MDFDMTUuMjQ5MSAxMy4zOTY4IDE0Ljk5ODUgMTQuMDE4NCAxNC41NDk4IDE0LjQ4NDNDMTQuMTAxMiAxNC45NTAxIDEzLjQ4OTUgMTUuMjI0IDEyLjg0MzEgMTUuMjQ4NEMxMi41NjA2IDE1LjY4MTcgMTIuMjA4MSAxNi4wNjMzIDExLjc5OTcgMTYuMzc4M1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiIzY2NzA4NVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBzdWItdGl0bGVcIj57e2F1ZGl0RGV0YWlscz8ucXVldWVJZH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJjdXJyZW50QXVkaXRUeXBlID09PSAncmVtb3RlJ1wiIGNsYXNzPVwiZC1mbGV4IG1zLTMgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNS4yNTAyMSA2LjUwMDI4QzUuOTEzMjkgNi41MDAyOCA2LjU0OTIxIDYuMjM2ODkgNy4wMTgwNyA1Ljc2ODA3QzcuNDg2OTQgNS4yOTkyNCA3Ljc1MDM1IDQuNjYzMzcgNy43NTAzNSA0LjAwMDM1QzcuNzUwMzUgMy4zMzczMiA3LjQ4Njk0IDIuNzAxNDYgNy4wMTgwNyAyLjIzMjYzQzYuNTQ5MjEgMS43NjM4IDUuOTEzMjkgMS41MDA0MiA1LjI1MDIxIDEuNTAwNDJDNC41ODcxMyAxLjUwMDQyIDMuOTUxMjEgMS43NjM4IDMuNDgyMzQgMi4yMzI2M0MzLjAxMzQ4IDIuNzAxNDYgMi43NTAwNyAzLjMzNzMyIDIuNzUwMDcgNC4wMDAzNUMyLjc1MDA3IDQuNjYzMzcgMy4wMTM0OCA1LjI5OTI0IDMuNDgyMzQgNS43NjgwN0MzLjk1MTIxIDYuMjM2ODkgNC41ODcxMyA2LjUwMDI4IDUuMjUwMjEgNi41MDAyOFpNNS4yNTAyMSA1LjI1MDMxQzQuOTE4NjcgNS4yNTAzMSA0LjYwMDcxIDUuMTE4NjIgNC4zNjYyOCA0Ljg4NDIxQzQuMTMxODQgNC42NDk3OSA0LjAwMDE0IDQuMzMxODYgNC4wMDAxNCA0LjAwMDM1QzQuMDAwMTQgMy42Njg4NCA0LjEzMTg0IDMuMzUwOSA0LjM2NjI4IDMuMTE2NDlDNC42MDA3MSAyLjg4MjA3IDQuOTE4NjcgMi43NTAzOCA1LjI1MDIxIDIuNzUwMzhDNS41ODE3NSAyLjc1MDM4IDUuODk5NzEgMi44ODIwNyA2LjEzNDE0IDMuMTE2NDlDNi4zNjg1NyAzLjM1MDkgNi41MDAyOCAzLjY2ODg0IDYuNTAwMjggNC4wMDAzNUM2LjUwMDI4IDQuMzMxODYgNi4zNjg1NyA0LjY0OTc5IDYuMTM0MTQgNC44ODQyMUM1Ljg5OTcxIDUuMTE4NjIgNS41ODE3NSA1LjI1MDMxIDUuMjUwMjEgNS4yNTAzMVpNMS41IDguNzkxODhDMS41IDcuOTg2OSAyLjE1MzM3IDcuMzMzNTkgMi45NTg0MSA3LjMzMzU5SDcuNTQyQzguMzQ3MDUgNy4zMzM1OSA5LjAwMDQyIDcuOTg2OSA5LjAwMDQyIDguNzkxODhWMTIuNzUwMUM5LjAwMDQyIDEzLjc0NDYgOC42MDUzMSAxNC42OTg0IDcuOTAyMDEgMTUuNDAxN0M3LjE5ODcgMTYuMTA0OSA2LjI0NDgzIDE2LjUgNS4yNTAyMSAxNi41QzQuMjU1NTkgMTYuNSAzLjMwMTcxIDE2LjEwNDkgMi41OTg0MSAxNS40MDE3QzEuODk1MTEgMTQuNjk4NCAxLjUgMTMuNzQ0NiAxLjUgMTIuNzUwMVY4Ljc5MTg4Wk0yLjk1ODQxIDguNTgzNTVDMi45MDMxNiA4LjU4MzU1IDIuODUwMTYgOC42MDU1IDIuODExMDkgOC42NDQ1N0MyLjc3MjAyIDguNjgzNjQgMi43NTAwNyA4LjczNjYzIDIuNzUwMDcgOC43OTE4OFYxMi43NTAxQzIuNzUwMDcgMTMuNDEzMSAzLjAxMzQ4IDE0LjA0OSAzLjQ4MjM0IDE0LjUxNzhDMy45NTEyMSAxNC45ODY3IDQuNTg3MTMgMTUuMjUgNS4yNTAyMSAxNS4yNUM1LjkxMzI5IDE1LjI1IDYuNTQ5MjEgMTQuOTg2NyA3LjAxODA3IDE0LjUxNzhDNy40ODY5NCAxNC4wNDkgNy43NTAzNSAxMy40MTMxIDcuNzUwMzUgMTIuNzUwMVY4Ljc5MTg4QzcuNzUwMzUgOC43MzY2MyA3LjcyODQgOC42ODM2NCA3LjY4OTMyIDguNjQ0NTdDNy42NTAyNSA4LjYwNTUgNy41OTcyNiA4LjU4MzU1IDcuNTQyIDguNTgzNTVIMi45NTg0MVpNNy43NzI4NSA2LjE3ODYyQzguMTUzMjggNi4zOTI2NyA4LjU4MzEzIDYuNTAzNCA5LjAxOTYzIDYuNDk5NzhDOS40NTYxNCA2LjQ5NjE2IDkuODg0MSA2LjM3ODMyIDEwLjI2MDkgNi4xNTc5OUMxMC42Mzc4IDUuOTM3NjYgMTAuOTUwMyA1LjYyMjUyIDExLjE2NzUgNS4yNDM5MUMxMS4zODQ4IDQuODY1MyAxMS40OTkgNC40MzY0MiAxMS40OTkgMy45OTk5M0MxMS40OTkgMy41NjM0NCAxMS4zODQ4IDMuMTM0NTYgMTEuMTY3NSAyLjc1NTk1QzEwLjk1MDMgMi4zNzczNCAxMC42Mzc4IDIuMDYyMiAxMC4yNjA5IDEuODQxODdDOS44ODQxIDEuNjIxNTQgOS40NTYxNCAxLjUwMzcxIDkuMDE5NjMgMS41MDAwOUM4LjU4MzEzIDEuNDk2NDcgOC4xNTMyOCAxLjYwNzE5IDcuNzcyODUgMS44MjEyNEM4LjA0NTM2IDIuMTM2MjMgOC4yNTk1NCAyLjUwMjg5IDguMzk5NTUgMi45MDQ1NEM4LjU4OTkxIDIuODAwMjYgOC44MDQxNSAyLjc0NzMzIDkuMDIxMTggMi43NTA5N0M5LjIzODIxIDIuNzU0NjIgOS40NTA1NSAyLjgxNDcxIDkuNjM3MzEgMi45MjUzM0M5LjgyNDA2IDMuMDM1OTQgOS45Nzg3OSAzLjE5MzI4IDEwLjA4NjMgMy4zODE4NUMxMC4xOTM3IDMuNTcwNDIgMTAuMjUwMyAzLjc4MzcyIDEwLjI1MDMgNC4wMDA3NkMxMC4yNTAzIDQuMjE3ODEgMTAuMTkzNyA0LjQzMTExIDEwLjA4NjMgNC42MTk2OEM5Ljk3ODc5IDQuODA4MjUgOS44MjQwNiA0Ljk2NTU4IDkuNjM3MzEgNS4wNzYyQzkuNDUwNTUgNS4xODY4MiA5LjIzODIxIDUuMjQ2OTEgOS4wMjExOCA1LjI1MDU1QzguODA0MTUgNS4yNTQyIDguNTg5OTEgNS4yMDEyNyA4LjM5OTU1IDUuMDk2OThDOC4yNjA3NCA1LjQ5MzgyIDguMDQ4MSA1Ljg2MDgyIDcuNzcyODUgNi4xNzg2MlpNOC4wNTAzNiAxNi4zNzgzQzguMzU0ODMgMTYuNDU4MyA4LjY3MTUxIDE2LjQ5ODkgOS4wMDA0MiAxNi41QzkuOTk1MDMgMTYuNSAxMC45NDg5IDE2LjEwNDkgMTEuNjUyMiAxNS40MDE3QzEyLjM1NTUgMTQuNjk4NCAxMi43NTA2IDEzLjc0NDYgMTIuNzUwNiAxMi43NTAxVjguNzkxODhDMTIuNzUwNiA4LjQwNTEyIDEyLjU5NyA4LjAzNDE5IDEyLjMyMzUgNy43NjA3MUMxMi4wNSA3LjQ4NzIzIDExLjY3OSA3LjMzMzU5IDExLjI5MjIgNy4zMzM1OUg5LjMwODc3QzkuNTk0NjIgNy42Nzk0MSA5Ljc4MDQ2IDguMTExMDcgOS44MjM4IDguNTgzNTVIMTEuMjkwNUMxMS4zNDU4IDguNTgzNTUgMTEuMzk4OCA4LjYwNTUgMTEuNDM3OSA4LjY0NDU3QzExLjQ3NjkgOC42ODM2NCAxMS40OTg5IDguNzM2NjMgMTEuNDk4OSA4Ljc5MTg4VjEyLjc1MDFDMTEuNDk4OSAxMy4zOTY4IDExLjI0ODMgMTQuMDE4NCAxMC43OTk2IDE0LjQ4NDNDMTAuMzUxIDE0Ljk1MDEgOS43MzkyNSAxNS4yMjQgOS4wOTI5MiAxNS4yNDg0QzguODEwNDEgMTUuNjgxNyA4LjQ1ODcyIDE2LjA2MzMgOC4wNTAzNiAxNi4zNzgzWk0xMS41MjIyIDYuMTc4NjJDMTEuOTAyNyA2LjM5MjY3IDEyLjMzMjUgNi41MDM0IDEyLjc2OSA2LjQ5OTc4QzEzLjIwNTUgNi40OTYxNiAxMy42MzM1IDYuMzc4MzIgMTQuMDEwMyA2LjE1Nzk5QzE0LjM4NzEgNS45Mzc2NiAxNC42OTk3IDUuNjIyNTIgMTQuOTE2OSA1LjI0MzkxQzE1LjEzNDEgNC44NjUzIDE1LjI0ODQgNC40MzY0MiAxNS4yNDg0IDMuOTk5OTNDMTUuMjQ4NCAzLjU2MzQ0IDE1LjEzNDEgMy4xMzQ1NiAxNC45MTY5IDIuNzU1OTVDMTQuNjk5NyAyLjM3NzM0IDE0LjM4NzEgMi4wNjIyIDE0LjAxMDMgMS44NDE4N0MxMy42MzM1IDEuNjIxNTQgMTMuMjA1NSAxLjUwMzcxIDEyLjc2OSAxLjUwMDA5QzEyLjMzMjUgMS40OTY0NyAxMS45MDI3IDEuNjA3MTkgMTEuNTIyMiAxLjgyMTI0QzExLjc5NDcgMi4xMzYyMyAxMi4wMDg5IDIuNTAyODkgMTIuMTQ4OSAyLjkwNDU0QzEyLjMzOTMgMi44MDAyNiAxMi41NTM1IDIuNzQ3MzMgMTIuNzcwNiAyLjc1MDk3QzEyLjk4NzYgMi43NTQ2MiAxMy4xOTk5IDIuODE0NzEgMTMuMzg2NyAyLjkyNTMzQzEzLjU3MzQgMy4wMzU5NCAxMy43MjgyIDMuMTkzMjggMTMuODM1NiAzLjM4MTg1QzEzLjk0MzEgMy41NzA0MiAxMy45OTk2IDMuNzgzNzIgMTMuOTk5NiA0LjAwMDc2QzEzLjk5OTYgNC4yMTc4MSAxMy45NDMxIDQuNDMxMTEgMTMuODM1NiA0LjYxOTY4QzEzLjcyODIgNC44MDgyNSAxMy41NzM0IDQuOTY1NTggMTMuMzg2NyA1LjA3NjJDMTMuMTk5OSA1LjE4NjgyIDEyLjk4NzYgNS4yNDY5MSAxMi43NzA2IDUuMjUwNTVDMTIuNTUzNSA1LjI1NDIgMTIuMzM5MyA1LjIwMTI3IDEyLjE0ODkgNS4wOTY5OEMxMi4wMTAxIDUuNDkzODIgMTEuNzk3NSA1Ljg2MDgyIDExLjUyMjIgNi4xNzg2MlpNMTEuNzk5NyAxNi4zNzgzQzEyLjEwNDIgMTYuNDU4MyAxMi40MjA5IDE2LjQ5ODkgMTIuNzQ5OCAxNi41QzEzLjc0NDQgMTYuNSAxNC42OTgzIDE2LjEwNDkgMTUuNDAxNiAxNS40MDE3QzE2LjEwNDkgMTQuNjk4NCAxNi41IDEzLjc0NDYgMTYuNSAxMi43NTAxVjguNzkxODhDMTYuNSA4LjQwNTI2IDE2LjM0NjUgOC4wMzQ0NyAxNi4wNzMxIDcuNzYxMDFDMTUuNzk5OCA3LjQ4NzU1IDE1LjQyOTEgNy4zMzM4MSAxNS4wNDI0IDcuMzMzNTlIMTMuMDU5QzEzLjM0NDggNy42Nzk0MSAxMy41MzE1IDguMTExMDcgMTMuNTc0IDguNTgzNTVIMTUuMDQwOEMxNS4wOTYgOC41ODM1NSAxNS4xNDkgOC42MDU1IDE1LjE4ODEgOC42NDQ1N0MxNS4yMjcxIDguNjgzNjQgMTUuMjQ5MSA4LjczNjYzIDE1LjI0OTEgOC43OTE4OFYxMi43NTAxQzE1LjI0OTEgMTMuMzk2OCAxNC45OTg1IDE0LjAxODQgMTQuNTQ5OCAxNC40ODQzQzE0LjEwMTIgMTQuOTUwMSAxMy40ODk1IDE1LjIyNCAxMi44NDMxIDE1LjI0ODRDMTIuNTYwNiAxNS42ODE3IDEyLjIwODEgMTYuMDYzMyAxMS43OTk3IDE2LjM3ODNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiM2NjcwODVcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTIgc3ViLXRpdGxlXCI+e3thdWRpdERldGFpbHM/LmVuZ2FnZW1lbnRJZCA/YXVkaXREZXRhaWxzPy5lbmdhZ2VtZW50SWQ6Jy0tJ319PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggbXMtMyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMiAzSDEzLjVDMTMuODk3OCAzIDE0LjI3OTQgMy4xNTgwNCAxNC41NjA3IDMuNDM5MzRDMTQuODQyIDMuNzIwNjQgMTUgNC4xMDIxOCAxNSA0LjVWMTVDMTUgMTUuMzk3OCAxNC44NDIgMTUuNzc5NCAxNC41NjA3IDE2LjA2MDdDMTQuMjc5NCAxNi4zNDIgMTMuODk3OCAxNi41IDEzLjUgMTYuNUg0LjVDNC4xMDIxOCAxNi41IDMuNzIwNjQgMTYuMzQyIDMuNDM5MzQgMTYuMDYwN0MzLjE1ODA0IDE1Ljc3OTQgMyAxNS4zOTc4IDMgMTVWNC41QzMgNC4xMDIxOCAzLjE1ODA0IDMuNzIwNjQgMy40MzkzNCAzLjQzOTM0QzMuNzIwNjQgMy4xNTgwNCA0LjEwMjE4IDMgNC41IDNINk02Ljc1IDEuNUgxMS4yNUMxMS42NjQyIDEuNSAxMiAxLjgzNTc5IDEyIDIuMjVWMy43NUMxMiA0LjE2NDIxIDExLjY2NDIgNC41IDExLjI1IDQuNUg2Ljc1QzYuMzM1NzkgNC41IDYgNC4xNjQyMSA2IDMuNzVWMi4yNUM2IDEuODM1NzkgNi4zMzU3OSAxLjUgNi43NSAxLjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBzdWItdGl0bGVcIj57e2N1cnJlbnRBdWRpdFR5cGUgfCB0aXRsZWNhc2V9fSBFeWUgVGVzdDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IG1zLTMgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIgMS41VjQuNU02IDEuNVY0LjVNMi4yNSA3LjVIMTUuNzVNMy43NSAzSDE0LjI1QzE1LjA3ODQgMyAxNS43NSAzLjY3MTU3IDE1Ljc1IDQuNVYxNUMxNS43NSAxNS44Mjg0IDE1LjA3ODQgMTYuNSAxNC4yNSAxNi41SDMuNzVDMi45MjE1NyAxNi41IDIuMjUgMTUuODI4NCAyLjI1IDE1VjQuNUMyLjI1IDMuNjcxNTcgMi45MjE1NyAzIDMuNzUgM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIHN1Yi10aXRsZVwiPnt7YXVkaXREZXRhaWxzPy5maWxlRGF0ZSB8IGRhdGU6ICdkZC9NTS9ZWVlZJ319PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggbXMtMyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xNjZfNTUwMTkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTkgNC41VjlMMTIgMTAuNU0xNi41IDlDMTYuNSAxMy4xNDIxIDEzLjE0MjEgMTYuNSA5IDE2LjVDNC44NTc4NiAxNi41IDEuNSAxMy4xNDIxIDEuNSA5QzEuNSA0Ljg1Nzg2IDQuODU3ODYgMS41IDkgMS41QzEzLjE0MjEgMS41IDE2LjUgNC44NTc4NiAxNi41IDlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTY2XzU1MDE5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0yIHN1Yi10aXRsZVwiPnt7YXVkaXREZXRhaWxzPy50ZXN0U3RhcnRUaW1lfX0ge3thdWRpdERldGFpbHM/LnRlc3RTdGFydFRpbWU/LnNwbGl0KCc6JylbMF0+MTI/J1BNJzonQU0nfX0gLSB7e2F1ZGl0RGV0YWlscz8udGVzdEVuZFRpbWV9fSB7e2F1ZGl0RGV0YWlscz8udGVzdEVuZFRpbWU/LnNwbGl0KCc6JylbMF0+MTI/J1BNJzonQU0nfX1cclxuICAgICAgICAgICAgICAgICh7e2F1ZGl0RGV0YWlscz8udGVzdER1cmF0aW9ufX0gTWlucyk8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0zIGJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnlcIj57e2F1ZGl0RGV0YWlscz8udmlzaXRvcnNUeXBlIHwgdGl0bGVjYXNlfX08L3NwYW4+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIlsnWWV0LXRvLUF1ZGl0J10uaW5jbHVkZXMoYXVkaXREZXRhaWxzPy5hdWRpdFN0YXR1cylcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtd2hpdGUgbXMtMyBweC0zIHB5LTEgZnctc2VtaWJvbGQgcm91bmRlZC0zIGN1cnNvci1wb2ludGVyIGJnLXByaW1hcnlcIiBzdHlsZT1cImZvbnQtc2l6ZTogMTRweDtcIj5cclxuICAgICAgICAgICAgWWV0IHRvIEF1ZGl0XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImF1ZGl0RGV0YWlscz8uYXVkaXRUeXBlID09PSAnQXVkaXQnJiZhdWRpdERldGFpbHM/LmF1ZGl0U3RhdHVzID09PSAnQXVkaXRlZCdcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtd2hpdGUgbXMtMyBweC0zIHB5LTEgZnctc2VtaWJvbGQgcm91bmRlZC0zIGN1cnNvci1wb2ludGVyIGJnLXN1Y2Nlc3NcIiBzdHlsZT1cImZvbnQtc2l6ZTogMTRweDtcIj5cclxuICAgICAgICAgICAgQXVkaXRlZFxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJhdWRpdERldGFpbHM/LmF1ZGl0VHlwZSA9PT0gJ1JlLUF1ZGl0JyYmYXVkaXREZXRhaWxzPy5hdWRpdFN0YXR1cyA9PT0gJ0F1ZGl0ZWQnIHx8IGF1ZGl0RGV0YWlscz8uYXVkaXRUeXBlID09PSAnUmUtQXVkaXQnJiZhdWRpdERldGFpbHM/LmF1ZGl0U3RhdHVzID09PSAnUmUtQXVkaXRlZCdcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtd2hpdGUgbXMtMyBweC0zIHB5LTEgZnctc2VtaWJvbGQgcm91bmRlZC0zIGN1cnNvci1wb2ludGVyIGJnLXdhcm5pbmdcIiBzdHlsZT1cImZvbnQtc2l6ZTogMTRweDtcIj5cclxuICAgICAgICAgICAgUmUtQXVkaXRlZFxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwicm93IG10LTNcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIHAtMyBmdy1ib2xkIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTMgdGV4dC1jZW50ZXIgaGVhZGVyLWNhcmRcIj5cclxuICAgICAgICAgICAgICAgIEFJIFZlcmlmaWVkIFN0ZXBzIDxzcGFuPjxzdmcgbmdiVG9vbHRpcD1cIk51bWJlciBvZiBzdGVwcyBkZXRlY3RlZCBhbmQgdmFsaWRhdGVkIGF1dG9tYXRpY2FsbHkgd2l0aG91dCBtYW51YWwgcmV2aWV3LlwiIHBsYWNlbWVudD1cInJpZ2h0XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zNjJfMjk3OSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk05Ljk5OTg0IDEzLjMzMzJWOS45OTk4NE05Ljk5OTg0IDYuNjY2NUgxMC4wMDgyTTE4LjMzMzIgOS45OTk4NEMxOC4zMzMyIDE0LjYwMjIgMTQuNjAyMiAxOC4zMzMyIDkuOTk5ODQgMTguMzMzMkM1LjM5NzQ2IDE4LjMzMzIgMS42NjY1IDE0LjYwMjIgMS42NjY1IDkuOTk5ODRDMS42NjY1IDUuMzk3NDYgNS4zOTc0NiAxLjY2NjUgOS45OTk4NCAxLjY2NjVDMTQuNjAyMiAxLjY2NjUgMTguMzMzMiA1LjM5NzQ2IDE4LjMzMzIgOS45OTk4NFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzYyXzI5NzlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTUgdGV4dC1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj57e2F1ZGl0RGV0YWlscz8uY292ZXJlZFN0ZXBzQUk/YXVkaXREZXRhaWxzPy5jb3ZlcmVkU3RlcHNBSTowfX0ve3thdWRpdERldGFpbHM/LnRvdGFsU3RlcHMgPyBhdWRpdERldGFpbHM/LnRvdGFsU3RlcHM6Jy0tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgcC0zIGZ3LWJvbGQgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtMyB0ZXh0LWNlbnRlciBoZWFkZXItY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgSHVtYW4gVmVyaWZpZWQgU3RlcHMgPHNwYW4+PHN2ZyBuZ2JUb29sdGlwPVwiTnVtYmVyIG9mIHN0ZXBzIHRoYXQgcmVxdWlyZWQgaHVtYW4gdmFsaWRhdGlvbiB0byBlbnN1cmUgY29tcGxpYW5jZSBhbmQgYWNjdXJhY3kuXCIgcGxhY2VtZW50PVwicmlnaHRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzYyXzI5NzkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOS45OTk4NCAxMy4zMzMyVjkuOTk5ODRNOS45OTk4NCA2LjY2NjVIMTAuMDA4Mk0xOC4zMzMyIDkuOTk5ODRDMTguMzMzMiAxNC42MDIyIDE0LjYwMjIgMTguMzMzMiA5Ljk5OTg0IDE4LjMzMzJDNS4zOTc0NiAxOC4zMzMyIDEuNjY2NSAxNC42MDIyIDEuNjY2NSA5Ljk5OTg0QzEuNjY2NSA1LjM5NzQ2IDUuMzk3NDYgMS42NjY1IDkuOTk5ODQgMS42NjY1QzE0LjYwMjIgMS42NjY1IDE4LjMzMzIgNS4zOTc0NiAxOC4zMzMyIDkuOTk5ODRaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzM2Ml8yOTc5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC01IHRleHQtY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3thdWRpdERldGFpbHM/LmF1ZGl0ZWRTdGVwcz9hdWRpdERldGFpbHM/LmF1ZGl0ZWRTdGVwczowfX0ve3thdWRpdERldGFpbHM/LnRvdGFsU3RlcHMgPyBhdWRpdERldGFpbHM/LnRvdGFsU3RlcHM6Jy0tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1zbS0zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgcC0zIGZ3LWJvbGQgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtMyBoZWFkZXItY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgQUkgQ29tcGxpYW5jZSBTY29yZSA8c3Bhbj48c3ZnIG5nYlRvb2x0aXA9XCJNZWFzdXJlcyB0aGUgcGVyY2VudGFnZSBvZiBzdGVwcyBBSSBmbGFnZ2VkIGFzIGNvbXBsaWFudCB3aXRob3V0IGh1bWFuIGludGVydmVudGlvbi5cIiBwbGFjZW1lbnQ9XCJsZWZ0XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzM2Ml8yOTc5KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTkuOTk5ODQgMTMuMzMzMlY5Ljk5OTg0TTkuOTk5ODQgNi42NjY1SDEwLjAwODJNMTguMzMzMiA5Ljk5OTg0QzE4LjMzMzIgMTQuNjAyMiAxNC42MDIyIDE4LjMzMzIgOS45OTk4NCAxOC4zMzMyQzUuMzk3NDYgMTguMzMzMiAxLjY2NjUgMTQuNjAyMiAxLjY2NjUgOS45OTk4NEMxLjY2NjUgNS4zOTc0NiA1LjM5NzQ2IDEuNjY2NSA5Ljk5OTg0IDEuNjY2NUMxNC42MDIyIDEuNjY2NSAxOC4zMzMyIDUuMzk3NDYgMTguMzMzMiA5Ljk5OTg0WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zNjJfMjk3OVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtNSB0ZXh0LWNhcmRcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPnt7YXVkaXREZXRhaWxzPy5jb21wbGlhbmNlU2NvcmUgP2F1ZGl0RGV0YWlscz8uY29tcGxpYW5jZVNjb3JlIDogMH19JTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIHAtMyBmdy1ib2xkIHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTMgaGVhZGVyLWNhcmRcIj5cclxuICAgICAgICAgICAgICAgIEFJIFRydXN0IFNjb3JlIDxzcGFuPjxzdmcgbmdiVG9vbHRpcD1cIlRoaXMgc2NvcmUgcmVmbGVjdHMgaG93IG9mdGVuIEFJIHByZWRpY3Rpb25zIHdlcmUgYWNjZXB0ZWQgd2l0aG91dCBtYW51YWwgb3ZlcnJpZGVzLlwiIHBsYWNlbWVudD1cImxlZnRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzYyXzI5NzkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNOS45OTk4NCAxMy4zMzMyVjkuOTk5ODRNOS45OTk4NCA2LjY2NjVIMTAuMDA4Mk0xOC4zMzMyIDkuOTk5ODRDMTguMzMzMiAxNC42MDIyIDE0LjYwMjIgMTguMzMzMiA5Ljk5OTg0IDE4LjMzMzJDNS4zOTc0NiAxOC4zMzMyIDEuNjY2NSAxNC42MDIyIDEuNjY2NSA5Ljk5OTg0QzEuNjY2NSA1LjM5NzQ2IDUuMzk3NDYgMS42NjY1IDkuOTk5ODQgMS42NjY1QzE0LjYwMjIgMS42NjY1IDE4LjMzMzIgNS4zOTc0NiAxOC4zMzMyIDkuOTk5ODRaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzM2Ml8yOTc5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC01IHRleHQtY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+e3thdWRpdERldGFpbHM/LnRydXN0U2NvcmUgPyBhdWRpdERldGFpbHM/LnRydXN0U2NvcmU6Jy0tJ319JTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJyb3cgbXQtM1wiPlxyXG4gICAgPGRpdiBbbmdDbGFzc109XCJleWVUZXN0VHlwZSA9PT0nZmFrZScgPyAnY29sLW1kLTEyJyA6ICdjb2wtbWQtNidcIiBjbGFzcz1cImNvbC1zbS02XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgaC01MDBweCBweC01XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBwLTAgYm9yZGVyLTBcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZC10aXRsZSBtLTAgZnctYm9sZGVyIGJnLW5vbmVcIj5QcmV2aWV3IEV5ZSBUZXN0PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweC0wIHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmlkZW8tcG9zaXRpb24gdy0xMDBcIj5cclxuIDx2aWRlbyBjbGFzcz1cInctMTAwIHJvdW5kZWQtMyBoLWF1dG9cIiBjb250cm9sc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImF1ZGl0RGV0YWlscz8uZmlsZVBhdGhcIj48L3ZpZGVvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiZXllVGVzdFR5cGUgIT09J2Zha2UnXCIgY2xhc3M9XCJjb2wtc20tNlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIGgtNTAwcHggcHgtNSBvdmVyZmxvdy1zY3JvbGxcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIG1iLTMgcC0wIGJvcmRlci0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtdGl0bGUgbS0wIGZ3LWJvbGRlciBiZy1ub25lXCI+U3RlcC13aXNlIEJyZWFrZG93bjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggc3ViLXRpdGxlIG10LTJcIiAqbmdJZj1cImF1ZGl0RGV0YWlscz8ubGFzdEF1ZGl0ZWREZXRhaWxzPy5hdWRpdGVkQnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjdXJyZW50QXVkaXRUeXBlID09PSAncmVtb3RlJ1wiPiA8c3BhbiAqbmdJZj1cImF1ZGl0RGV0YWlscz8uc3Bva2VuTGFuZ3VhZ2VcIj4gPHNwYW4gKm5nSWY9XCIhdGFrZUF1ZGl0XCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1pbmZvIG10LTAgbWUtMlwiPkxhbmd1YWdlIFNwb2tlbjoge3thdWRpdERldGFpbHM/LnNwb2tlbkxhbmd1YWdlfX08L3NwYW4+PC9zcGFuPjwvc3Bhbj4gIDxzcGFuIGNsYXNzPVwibXQtMVwiPlJlY2VudGx5IEF1ZGl0ZWQgQnkgOiA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBtdC0xXCI+PHNwYW4gY2xhc3M9XCJtZS0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEzLjMzMzcgMTRWMTIuNjY2N0MxMy4zMzM3IDExLjk1OTQgMTMuMDUyNyAxMS4yODExIDEyLjU1MjYgMTAuNzgxQzEyLjA1MjUgMTAuMjgxIDExLjM3NDIgMTAgMTAuNjY3IDEwSDUuMzMzNjZDNC42MjY0MSAxMCAzLjk0ODE0IDEwLjI4MSAzLjQ0ODA0IDEwLjc4MUMyLjk0Nzk0IDExLjI4MTEgMi42NjY5OSAxMS45NTk0IDIuNjY2OTkgMTIuNjY2N1YxNE0xMC42NjcgNC42NjY2N0MxMC42NjcgNi4xMzk0MyA5LjQ3MzA4IDcuMzMzMzMgOC4wMDAzMyA3LjMzMzMzQzYuNTI3NTcgNy4zMzMzMyA1LjMzMzY2IDYuMTM5NDMgNS4zMzM2NiA0LjY2NjY3QzUuMzMzNjYgMy4xOTM5MSA2LjUyNzU3IDIgOC4wMDAzMyAyQzkuNDczMDggMiAxMC42NjcgMy4xOTM5MSAxMC42NjcgNC42NjY2N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3BhbiA+e3thdWRpdERldGFpbHM/Lmxhc3RBdWRpdGVkRGV0YWlscz8uYXVkaXRlZEJ5fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBtdC0xXCI+PHNwYW4gY2xhc3M9XCJtZS0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTUyXzI5NDMxKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTkgNC41VjlMMTIgMTAuNU0xNi41IDlDMTYuNSAxMy4xNDIxIDEzLjE0MjEgMTYuNSA5IDE2LjVDNC44NTc4NiAxNi41IDEuNSAxMy4xNDIxIDEuNSA5QzEuNSA0Ljg1Nzg2IDQuODU3ODYgMS41IDkgMS41QzEzLjE0MjEgMS41IDE2LjUgNC44NTc4NiAxNi41IDlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTUyXzI5NDMxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+e3thdWRpdERldGFpbHM/Lmxhc3RBdWRpdGVkRGV0YWlscz8uY29tcGxldGlvblRpbWV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3thdWRpdERldGFpbHM/Lmxhc3RBdWRpdGVkRGV0YWlscz8udGltZVpvbmV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0YWtlQXVkaXQgJiYgY3VycmVudEF1ZGl0VHlwZSA9PT0gJ3JlbW90ZSdcIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1lbmQgbWUtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IFsobmdNb2RlbCldPVwic3Bva2VuTGFuZ3VhZ2VcIiBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tc2VsZWN0LXNtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHNlbGVjdGVkIGRpc2FibGVkID5MYW5ndWFnZSBTcG9rZW4gPHNwYW4gc3R5bGU9XCJjb2xvcjpyZWRcIj4qPC9zcGFuPjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIkVuZ2xpc2hcIj5FbmdsaXNoPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiSGluZGlcIj5IaW5kaTwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJhdWRpdERldGFpbHM/LmF1ZGl0VHlwZSA9PT0gJ0F1ZGl0JyYmYXVkaXREZXRhaWxzPy5hdWRpdFN0YXR1cyA9PT0gJ1lldC10by1BdWRpdCcgJiYgIXRha2VBdWRpdFwiIChjbGljayk9XCJzdGFydEF1ZGl0KCdhdWRpdCcpXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtd2hpdGUgbXMtMyBweC0zIHB5LTIgZnctc2VtaWJvbGQgcm91bmRlZC0yIGN1cnNvci1wb2ludGVyIGJnLXByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiZm9udC1zaXplOiAxNHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIFN0YXJ0IEF1ZGl0XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIlsnQXVkaXRlZCcsJ1JlLUF1ZGl0JywnWWV0LXRvLUF1ZGl0J10uaW5jbHVkZXMoYXVkaXREZXRhaWxzPy5hdWRpdFN0YXR1cykmJmF1ZGl0RGV0YWlscz8uYXVkaXRUeXBlID09PSAnUmUtQXVkaXQnICYmICF0YWtlQXVkaXR8fGF1ZGl0RGV0YWlscz8uYXVkaXRUeXBlID09PSAnQXVkaXQnJiZhdWRpdERldGFpbHM/LmF1ZGl0U3RhdHVzID09PSAnQXVkaXRlZCcgfHxhdWRpdERldGFpbHM/LmF1ZGl0VHlwZSA9PT0gJ1JlLUF1ZGl0JyYmYXVkaXREZXRhaWxzPy5hdWRpdFN0YXR1cyA9PT0gJ1JlLUF1ZGl0ZWQnJiYgIXRha2VBdWRpdCBcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzdGFydEF1ZGl0KCdSZS1BdWRpdCcpXCIgY2xhc3M9XCJidG4gYnRuLXNtIHB5LTIgYnRuLXdhcm5pbmdcIj5SZS1BdWRpdDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRha2VBdWRpdFwiIGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmVcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWNhbmNlbFwiIChjbGljayk9XCJjYW5jZWwoKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gbXMtMiBidG4tc20gYnRuLXN1Y2Nlc3NcIiAgW2Rpc2FibGVkXT1cImRpc2FibGVjYW5jZWxcIiAoY2xpY2spPVwib25zdWJtaXQoKVwiPlN1Ym1pdDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgbXQtMSBweC0wXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXRha2VBdWRpdCAmJiBzdGVwV2lzZVByb2Nlc3M/Lmxlbmd0aFwiIGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZSBib3JkZXIgYm9yZGVyLTEgcm91bmRlZC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwidy0xMDAgdGFibGUgYm90dG9tLWJvcmRlciB0ZXh0LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGVwLWJ5LXN0ZXAgUHJvY2Vzc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwiY3VycmVudEF1ZGl0VHlwZSA9PT0gJ3JlbW90ZSdcIiBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJlZGljdGVkIFRyYW5zY3JpcHRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQUkgVmVyaWZpZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSHVtYW4gQXVkaXRlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFzb24gZm9yIEVycm9yXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGljZWQgVGltZSBSYW5nZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IGRhdGEgb2Ygc3RlcFdpc2VQcm9jZXNzO2xldCBpPWluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJ3LTQwcHggaC00MHB4IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHRleHQtY2VudGVyIG1lLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidy0xMDAgcm91bmRlZC01XCIgW3NyY109XCJkYXRhPy5pbWFnZVVybFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkYXRhLnByb2Nlc3NOYW1lfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJjdXJyZW50QXVkaXRUeXBlID09PSdyZW1vdGUnXCIgY2xhc3M9XCJ0ZXh0LWNhcGl0YWxpemVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtcHJpbWFyeTEgdGV4dC1kZWNvcmF0aW9uLXVuZGVybGluZSBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdiVG9vbHRpcF09XCJkYXRhPy5wcmVkaWN0ZWRUcmFuc2NyaXB0ID8gdG9vbHRpcENvbnRlbnQgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9J2JvdHRvbSc+e3tkYXRhPy5wcmVkaWN0ZWRUcmFuc2NyaXB0P2RhdGE/LnByZWRpY3RlZFRyYW5zY3JpcHQ6XCJOL0FcIn19PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3Rvb2x0aXBDb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbS10b29sdGlwLWNvbnRlbnQgdG9vbHRpcC1jb250ZW50IHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtaW4tdy01MDBweFwiPnt7ZGF0YT8ucHJlZGljdGVkVHJhbnNjcmlwdD9kYXRhPy5wcmVkaWN0ZWRUcmFuc2NyaXB0OlwiTi9BXCJ9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtY2FwaXRhbGl6ZVwiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJkYXRhLkFJU3RhdHVzID8gJ2JhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3MnIDogJ2JhZGdlIGJhZGdlLWxpZ2h0LWRhbmdlcidcIj57e2RhdGEuQUlTdGF0dXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ3Bhc3MnIDogJ2ZhaWwnfX08L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtY2FwaXRhbGl6ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJkYXRhPy5hdWRpdGVkU3RhdHVzID09PSB0cnVlID8gJ2JhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3MnIDogKGRhdGE/LmF1ZGl0ZWRTdGF0dXMgPT09IGZhbHNlID8gJ2JhZGdlIGJhZGdlLWxpZ2h0LWRhbmdlcicgOiAnJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZGF0YT8uYXVkaXRlZFN0YXR1cyA9PT0gdHJ1ZSA/ICdwYXNzJyA6IChkYXRhPy5hdWRpdGVkU3RhdHVzID09PSBmYWxzZSA/ICdmYWlsJyA6ICdOL0EnKSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJkYXRhLkFJU3RhdHVzICE9PSBkYXRhLmF1ZGl0ZWRTdGF0dXMgfHwgZGF0YS5hdWRpdGVkU3RhdHVzID09PSBudWxsIHx8IGRhdGEuYXVkaXRlZFN0YXR1cyA9PT0gdW5kZWZpbmVkIHx8IGRhdGEuYXVkaXRlZFN0YXR1cyA9PT0gJyc7IGVsc2UgRXF1YWxCbG9ja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSB7eyBkYXRhPy5yZWFzb24gfHwgJ04vQScgfX0gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImRhdGEucmVhc29uICE9PSdvdGhlcnMnXCI+e3tkYXRhLnJlYXNvbiB8fCAnTi9BJ319PC9zcGFuPjxzcGFuICpuZ0lmPVwiZGF0YS5yZWFzb24gPT09J290aGVycydcIj57e2RhdGEub3RoZXJSZWFzb24gfHwgJ04vQSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjRXF1YWxCbG9jaz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5OL0E8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZGF0YT8uc3RhcnRUaW1lfX0gLSB7e2RhdGE/LmVuZFRpbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzdGVwV2lzZVByb2Nlc3M/Lmxlbmd0aCAmJiB0YWtlQXVkaXQmJmF1ZGl0RGV0YWlscz8uYXVkaXRTdGF0dXM9PT0nWWV0LXRvLUF1ZGl0J3x8YXVkaXREZXRhaWxzPy5hdWRpdFN0YXR1cz09PSdJbi1Qcm9ncmVzcydcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBwcm9jZXNzIG9mIHN0ZXBXaXNlUHJvY2VzczsgbGV0IGk9aW5kZXggO2xldCBsYXN0PWxhc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJvcmRlciBib3JkZXItMSByb3VuZGVkLTMgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ3LTEwMCB0YWJsZSBib3R0b20tYm9yZGVyIHRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXByaW1hcnkgYmctbGlnaHQtcHJpbWFyeSB0ZXh0LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGVwLXt7aSsxIHwgbnVtYmVyfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1wcmltYXJ5IGJnLWxpZ2h0LXByaW1hcnkgdGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQUkgVmVyaWZpZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1wcmltYXJ5IGJnLWxpZ2h0LXByaW1hcnkgdGV4dC1zdGFydFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSHVtYW4gQXVkaXRlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidy0yMDBweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0XCI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInctNDBweCBoLTQwcHggZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgdGV4dC1jZW50ZXIgbWUtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidy0xMDAgcm91bmRlZC01XCIgW3NyY109XCJwcm9jZXNzLmltYWdlVXJsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cHJvY2Vzcy5wcm9jZXNzTmFtZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuICpuZ0lmPVwicHJvY2Vzcy5BSVN0YXR1c1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcyB0ZXh0LWNhcGl0YWxpemVcIj5QYXNzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhcHJvY2Vzcy5BSVN0YXR1c1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGFuZ2VyIHRleHQtY2FwaXRhbGl6ZVwiPkZhaWw8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwic2VsZWN0SHVtYW5WZXJpZmllZChpLHRydWUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwicHJvY2Vzcz8uYXVkaXRlZFN0YXR1cyA/ICd0ZXh0LXdoaXRlIGJ0bi1zdWNjZXNzJyA6ICd0ZXh0LXN1Y2Nlc3MgYmctd2hpdGUgYm9yZGVyIGJvcmRlci1zdWNjZXNzJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSAgcm91bmRlZC01XCI+PHNwYW4+PHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE3XCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTcgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTQuMTY2NyA0TDYuODMzMzMgMTEuMzMzM0wzLjUgOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJwcm9jZXNzPy5hdWRpdGVkU3RhdHVzID8gJ3doaXRlJyA6ICcjMTdDNjUzJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPjxzcGFuIGNsYXNzPVwibXMtMlwiPlBhc3M8L3NwYW4+PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cInNlbGVjdEh1bWFuVmVyaWZpZWQoaSxmYWxzZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJwcm9jZXNzPy5hdWRpdGVkU3RhdHVzPT09ZmFsc2UgPyAndGV4dC13aGl0ZSBiZy1kYW5nZXInIDogJ3RleHQtZGFuZ2VyIGJnLXdoaXRlIGJvcmRlciBib3JkZXItZGFuZ2VyJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtMyBweC01IHB5LTIgZnctc2VtaWJvbGQgcm91bmRlZC01IGN1cnNvci1wb2ludGVyIHJvdW5kZWQtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNyAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMi42NjY1IDRMNC42NjY1IDEyTTQuNjY2NSA0TDEyLjY2NjUgMTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwicHJvY2Vzcz8uYXVkaXRlZFN0YXR1cz09PWZhbHNlID8gJ3doaXRlJyA6ICcjRjgyODVBJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjEuMjVcIiBzdHJva2UtbGluZWNhcD1cInJvd3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PHNwYW4gY2xhc3M9XCJtcy0yXCI+RmFpbDwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY3VycmVudEF1ZGl0VHlwZSA9PT0gJ3JlbW90ZScgJiYgcHJvY2Vzcz8ucHJlZGljdGVkVHJhbnNjcmlwdFwiIGNsYXNzPVwidy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiZy1saWdodC1wcmltYXJ5IHRleHQtcHJpbWFyeSBwLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVkaWN0ZWQgVHJhbnNjcmlwdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGNvbC1zbS0xMiBwLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1wcmltYXJ5IHRleHQtZGVjb3JhdGlvbi11bmRlcmxpbmUgY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdiVG9vbHRpcF09XCJwcm9jZXNzPy5wcmVkaWN0ZWRUcmFuc2NyaXB0ID8gdG9vbHRpcENvbnRlbnQgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD0nYm90dG9tJz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3twcm9jZXNzPy5wcmVkaWN0ZWRUcmFuc2NyaXB0fX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3Rvb2x0aXBDb250ZW50PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLXRvb2x0aXAtY29udGVudCB0b29sdGlwLWNvbnRlbnQgdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWluLXctNTAwcHhcIj57e3Byb2Nlc3M/LnByZWRpY3RlZFRyYW5zY3JpcHR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByb2Nlc3M/LmF1ZGl0ZWRTdGF0dXMgIT09IHVuZGVmaW5lZCAmJiBwcm9jZXNzPy5hdWRpdGVkU3RhdHVzICE9PSAnJyAmJiBwcm9jZXNzPy5hdWRpdGVkU3RhdHVzICE9PSBwcm9jZXNzPy5BSVN0YXR1c1wiIGNsYXNzPVwidy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiZy1saWdodC1wcmltYXJ5IHRleHQtcHJpbWFyeSBwLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFzb24gJiBUaW1lIFN0YW1wXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgY29sLXNtLTEyIHAtNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNiBjb2wtbWQtNlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duKGksJ3JlYXNvbicpXCIgY2xhc3M9XCJjdXN0b20tZHJvcGRvd25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNlbGVjdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHByb2Nlc3M/LnJlYXNvbiA/IHByb2Nlc3M/LnJlYXNvbiA6ICdTZWxlY3QgUmVhc29uJyB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk01IDcuNUwxMCAxMi41TDE1IDcuNVwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwibGFzdCA/ICdkcm9wZG93bi1jb250ZW50MScgOiAnZHJvcGRvd24tY29udGVudCdcIiAqbmdJZj1cImRyb3Bkb3duT3BlbltpXT8ucmVhc29uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGwtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBNaW51dGVzIExpc3QgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gbXktMiBtaW51dGVzLXNjcm9sbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRyb3Bkb3duTGlzdFwiIGNsYXNzPVwibGlzdC11bnN0eWxlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwicHJvY2Vzcz8ucmVhc29uID09PSBpdGVtPy5rZXkgPyAnYWN0aXZlJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FtZXJhIHB4LTUgaXRlbXMgZnctc2VtaWJvbGQgY3Vyc29yLXBvaW50ZXIgcHktMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0UmVhc29uKGksIGl0ZW0/LmtleSwgJ3JlYXNvbicpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbT8uaXRlbSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gQ3VzdG9tIElucHV0IGZvciBcIk90aGVyc1wiIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcm9jZXNzPy5yZWFzb24gPT09ICdvdGhlcnMnXCIgY2xhc3M9XCJtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwicHJvY2Vzcy5vdGhlclJlYXNvblwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkVudGVyIHlvdXIgcmVhc29uXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IChjbGljayk9XCJ0b2dnbGVEcm9wZG93bihpLCdzdGFydFRpbWUnKVwiIGNsYXNzPVwiY3VzdG9tLWRyb3Bkb3duXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibGFiZWwgZnctc2VtaWJvbGQgYmctd2hpdGUgcHgtMlwiPlN0YXJ0PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1zZWxlY3RcIj57e3Byb2Nlc3M/LnN0YXJ0VGltZSA/IHByb2Nlc3M/LnN0YXJ0VGltZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6J01NOlNTJ319PC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwibGFzdCA/ICdkcm9wZG93bi1jb250ZW50MScgOiAnZHJvcGRvd24tY29udGVudCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRyb3Bkb3duT3BlbltpXT8uc3RhcnRUaW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGwtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIE1pbnV0ZXMgTGlzdCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGwtc2VjdGlvbiBtaW51dGVzLXNjcm9sbCBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBtaW4gb2YgbWludXRlc0xpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0TWludXRlKGksbWluLCdzdGFydFRpbWUnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJtaW4gPT09IHNlbGVjdGVkTWludXRlc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBtaW4gfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBTZWNvbmRzIExpc3QgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Nyb2xsLXNlY3Rpb24gc2Vjb25kcy1zY3JvbGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBzZWMgb2Ygc2Vjb25kc0xpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0U2Vjb25kKGksc2VjLCdzdGFydFRpbWUnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZWMgPT09IHNlbGVjdGVkU2Vjb25kc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBzZWMgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IChjbGljayk9XCJ0b2dnbGVEcm9wZG93bihpLCdlbmRUaW1lJylcIiBjbGFzcz1cImN1c3RvbS1kcm9wZG93blwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsIGZ3LXNlbWlib2xkIGJnLXdoaXRlIHB4LTJcIj5FbmQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXNlbGVjdFwiPjxzcGFuPnt7cHJvY2Vzcy5lbmRUaW1lID8gcHJvY2Vzcy5lbmRUaW1lIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdNTTpTUyd9fTwvc3Bhbj48L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJsYXN0ID8gJ2Ryb3Bkb3duLWNvbnRlbnQxJyA6ICdkcm9wZG93bi1jb250ZW50J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZHJvcGRvd25PcGVuW2ldPy5lbmRUaW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGwtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIE1pbnV0ZXMgTGlzdCAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGwtc2VjdGlvbiBtaW51dGVzLXNjcm9sbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IG1pbiBvZiBtaW51dGVzTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cIm1pbiA9PT0gc2VsZWN0ZWRNaW51dGVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZ2V0U2Vjb25kc0Zyb21UaW1lKG1pbiArICc6JyArIHNlbGVjdGVkU2Vjb25kcykgPD0gZ2V0U2Vjb25kc0Zyb21UaW1lKHByb2Nlc3Muc3RhcnRUaW1lKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldFNlY29uZHNGcm9tVGltZShtaW4gKyAnOicgKyBzZWxlY3RlZFNlY29uZHMpID4gZ2V0U2Vjb25kc0Zyb21UaW1lKHByb2Nlc3Muc3RhcnRUaW1lKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNlbGVjdE1pbnV0ZShpLG1pbiwnZW5kVGltZScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbWluIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBTZWNvbmRzIExpc3QgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2Nyb2xsLXNlY3Rpb24gc2Vjb25kcy1zY3JvbGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBzZWMgb2Ygc2Vjb25kc0xpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZWMgPT09IHNlbGVjdGVkU2Vjb25kc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImdldFNlY29uZHNGcm9tVGltZShzZWxlY3RlZE1pbnV0ZXMgKyAnOicgKyBzZWMpIDw9IGdldFNlY29uZHNGcm9tVGltZShwcm9jZXNzLnN0YXJ0VGltZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRTZWNvbmRzRnJvbVRpbWUoc2VsZWN0ZWRNaW51dGVzICsgJzonICsgc2VjKSA+IGdldFNlY29uZHNGcm9tVGltZShwcm9jZXNzLnN0YXJ0VGltZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBzZWxlY3RTZWNvbmQoaSxzZWMsJ2VuZFRpbWUnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHNlYyB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhc3RlcFdpc2VQcm9jZXNzPy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKHRhYmxlTG9hZGluZyB8IGFzeW5jKSA9PT0gJ2xvYWRpbmcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkIHJvdyBsb2FkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIih0YWJsZUxvYWRpbmcgfCBhc3luYykgPT09ICdsb2FkZWQnXCIgY2xhc3M9XCJyb3cgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibm9EYXRhXCIgY2xhc3M9XCJjb2wtbGctMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgbXktOCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhLXN1YlwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgdGhlIHRlc3Q8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPCEtLSDilIDilIAgQ29udmVyc2F0aW9uIFJlY29yZGluZyArIFRyYW5zY3JpcHQg4pSA4pSAIC0tPlxyXG48ZGl2IGNsYXNzPVwicm93IG10LTNcIiAqbmdJZj1cImNvbnZlcnNhdGlvbkRhdGFcIj5cclxuICAgIDwhLS0gTGVmdDogUmVjb3JkaW5nICsgVHJhbnNjcmlwdCAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBkLWZsZXggZmxleC1jb2x1bW4gZ2FwLTNcIj5cclxuICAgICAgICA8IS0tIENvbnZlcnNhdGlvbiBSZWNvcmRpbmcgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlY29yZGluZy1ib3hcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlY29yZGluZy10aXRsZVwiPkNvbnZlcnNhdGlvbiBSZWNvcmRpbmc8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLSBBdWRpbyBlbGVtZW50IC0tPlxyXG4gICAgICAgICAgICA8YXVkaW8gaWQ9XCJjb252LWF1ZGlvXCIgW3NyY109XCJjb252ZXJzYXRpb25EYXRhPy5hdWRpb191cmxcIlxyXG4gICAgICAgICAgICAgICAgKHRpbWV1cGRhdGUpPVwib25Db252VGltZVVwZGF0ZSgpXCJcclxuICAgICAgICAgICAgICAgIChsb2FkZWRtZXRhZGF0YSk9XCJvbkNvbnZMb2FkZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAoZW5kZWQpPVwiY29udklzUGxheWluZyA9IGZhbHNlXCI+XHJcbiAgICAgICAgICAgIDwvYXVkaW8+XHJcbiAgICAgICAgICAgIDwhLS0gV2F2ZWZvcm0gYmFycyAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndhdmVmb3JtLWJhcnNcIiBbY2xhc3MuaXMtcGxheWluZ109XCJjb252SXNQbGF5aW5nXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2YtYmFyXCIgKm5nRm9yPVwibGV0IGggb2Ygd2F2ZWZvcm1IZWlnaHRzOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImhcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy53Zi1iYXItLXBsYXllZF09XCJjb252UHJvZ3Jlc3MgPiBpIC8gd2F2ZWZvcm1IZWlnaHRzLmxlbmd0aFwiPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tIFBsYXllciBjb250cm9scyAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYXllci1yb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGF5LWJ0bi13cmFwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInBsYXktYnRuLWNpcmNsZVwiIChjbGljayk9XCJ0b2dnbGVDb252UGxheSgpXCIgdHlwZT1cImJ1dHRvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnICpuZ0lmPVwiIWNvbnZJc1BsYXlpbmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIndoaXRlXCI+PHBhdGggZD1cIk04IDV2MTRsMTEtN3pcIi8+PC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJjb252SXNQbGF5aW5nXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJ3aGl0ZVwiPjxwYXRoIGQ9XCJNNiAxOWg0VjVINnYxNHptOC0xNHYxNGg0VjVoLTR6XCIvPjwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGxheWVyLXByb2dyZXNzIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBsYXllci10aW1lIHN0YXJ0LXRpbWVcIj57eyBjb252Q3VycmVudFRpbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGxheWVyLXRpbWUgZW5kLXRpbWVcIj57eyBjb252RHVyYXRpb24gfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzLXRyYWNrXCIgKGNsaWNrKT1cInNlZWtDb252QXVkaW8oJGV2ZW50KVwiIHN0eWxlPVwiY3Vyc29yOnBvaW50ZXI7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzcy1maWxsXCIgW3N0eWxlLndpZHRoLiVdPVwiY29udlByb2dyZXNzICogMTAwXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtdXRlLWJ0blwiIChjbGljayk9XCJ0b2dnbGVDb252TXV0ZSgpXCIgW3RpdGxlXT1cImNvbnZJc011dGVkID8gJ1VubXV0ZScgOiAnTXV0ZSdcIiB0eXBlPVwiYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cIiFjb252SXNNdXRlZFwiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+PHBhdGggZD1cIk0zIDl2Nmg0bDUgNVY0TDcgOUgzem0xMy41IDNjMC0xLjc3LTEuMDItMy4yOS0yLjUtNC4wM3Y4LjA1YzEuNDgtLjczIDIuNS0yLjI1IDIuNS00LjAyek0xNCAzLjIzdjIuMDZjMi44OS44NiA1IDMuNTQgNSA2Ljcxcy0yLjExIDUuODUtNSA2LjcxdjIuMDZjNC4wMS0uOTEgNy00LjQ5IDctOC43N3MtMi45OS03Ljg2LTctOC43N3pcIi8+PC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cImNvbnZJc011dGVkXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48cGF0aCBkPVwiTTE2LjUgMTJjMC0xLjc3LTEuMDItMy4yOS0yLjUtNC4wM3YyLjIxbDIuNDUgMi40NWMuMDMtLjIuMDUtLjQxLjA1LS42M3ptMi41IDBjMCAuOTQtLjIgMS44Mi0uNTQgMi42NGwxLjUxIDEuNTFDMjAuNjMgMTQuOTEgMjEgMTMuNSAyMSAxMmMwLTQuMjgtMi45OS03Ljg2LTctOC43N3YyLjA2YzIuODkuODYgNSAzLjU0IDUgNi43MXpNNC4yNyAzTDMgNC4yNyA3LjczIDlIM3Y2aDRsNSA1di02LjczbDQuMjUgNC4yNWMtLjY3LjUyLTEuNDIuOTMtMi4yNSAxLjE4djIuMDZjMS4zOC0uMzEgMi42My0uOTUgMy42OS0xLjgxTDE5LjczIDIxIDIxIDE5LjczbC05LTlMNC4yNyAzek0xMiA0TDkuOTEgNi4wOSAxMiA4LjE4VjR6XCIvPjwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0gQ29udmVyc2F0aW9uIFRyYW5zY3JpcHQgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgcC00IGZsZXgtZ3Jvdy0xXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZWNvcmRpbmctdGl0bGUgbWItM1wiPkNvbnZlcnNhdGlvbiBUcmFuc2NyaXB0PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJvdmVyZmxvdy15OiBhdXRvOyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiAjMzQ0MDU0OyBsaW5lLWhlaWdodDogMS42OyBtYXgtaGVpZ2h0OiAxODBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29udmVyc2F0aW9uRGF0YT8udHJhbnNjcmlwdF9zdW1tYXJ5OyBlbHNlIG5vVHJhbnNjcmlwdFwiPnt7IGNvbnZlcnNhdGlvbkRhdGE/LnRyYW5zY3JpcHRfc3VtbWFyeSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9UcmFuc2NyaXB0PjxzcGFuIGNsYXNzPVwidGV4dC1tdXRlZFwiPk5vIHRyYW5zY3JpcHQgYXZhaWxhYmxlLjwvc3Bhbj48L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0gUmlnaHQ6IFN0ZXAgdGFicyArIGF1ZGlvIGluZm8gKyBldmlkZW5jZSAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkIHAtNFwiIHN0eWxlPVwibWluLWhlaWdodDogMTAwJTtcIj5cclxuICAgICAgICAgICAgPCEtLSBIZWFkZXIgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIG1iLTFcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY29udi1jYXJkLXRpdGxlXCI+U3RlcC13aXNlIEJyZWFrZG93bjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtcHJpbWFyeSBtcy0xXCI+QXVkaW88L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tIFJlY2VudGx5IEF1ZGl0ZWQgQnkgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zIG1iLTMgcGItMiBib3JkZXItYm90dG9tXCIgKm5nSWY9XCJhdWRpdERldGFpbHM/LmF1ZGl0ZWRCeSB8fCBhdWRpdERldGFpbHM/LmF1ZGl0ZWREYXRlXCIgc3R5bGU9XCJmb250LXNpemU6IDEycHg7IGNvbG9yOiAjNjY3MDg1O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggc3ViLXRpdGxlIG10LTJcIiAqbmdJZj1cImF1ZGl0RGV0YWlscz8ubGFzdEF1ZGl0ZWREZXRhaWxzPy5hdWRpdGVkQnlcIj5cclxuICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXQtMVwiPlJlY2VudGx5IEF1ZGl0ZWQgQnkgOiA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBtdC0xXCI+PHNwYW4gY2xhc3M9XCJtZS0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEzLjMzMzcgMTRWMTIuNjY2N0MxMy4zMzM3IDExLjk1OTQgMTMuMDUyNyAxMS4yODExIDEyLjU1MjYgMTAuNzgxQzEyLjA1MjUgMTAuMjgxIDExLjM3NDIgMTAgMTAuNjY3IDEwSDUuMzMzNjZDNC42MjY0MSAxMCAzLjk0ODE0IDEwLjI4MSAzLjQ0ODA0IDEwLjc4MUMyLjk0Nzk0IDExLjI4MTEgMi42NjY5OSAxMS45NTk0IDIuNjY2OTkgMTIuNjY2N1YxNE0xMC42NjcgNC42NjY2N0MxMC42NjcgNi4xMzk0MyA5LjQ3MzA4IDcuMzMzMzMgOC4wMDAzMyA3LjMzMzMzQzYuNTI3NTcgNy4zMzMzMyA1LjMzMzY2IDYuMTM5NDMgNS4zMzM2NiA0LjY2NjY3QzUuMzMzNjYgMy4xOTM5MSA2LjUyNzU3IDIgOC4wMDAzMyAyQzkuNDczMDggMiAxMC42NjcgMy4xOTM5MSAxMC42NjcgNC42NjY2N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3BhbiA+e3thdWRpdERldGFpbHM/Lmxhc3RBdWRpdGVkRGV0YWlscz8uYXVkaXRlZEJ5fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBtdC0xXCI+PHNwYW4gY2xhc3M9XCJtZS0yXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTUyXzI5NDMxKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTkgNC41VjlMMTIgMTAuNU0xNi41IDlDMTYuNSAxMy4xNDIxIDEzLjE0MjEgMTYuNSA5IDE2LjVDNC44NTc4NiAxNi41IDEuNSAxMy4xNDIxIDEuNSA5QzEuNSA0Ljg1Nzg2IDQuODU3ODYgMS41IDkgMS41QzEzLjE0MjEgMS41IDE2LjUgNC44NTc4NiAxNi41IDlaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTUyXzI5NDMxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+e3thdWRpdERldGFpbHM/Lmxhc3RBdWRpdGVkRGV0YWlscz8uY29tcGxldGlvblRpbWV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3thdWRpdERldGFpbHM/Lmxhc3RBdWRpdGVkRGV0YWlscz8udGltZVpvbmV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tIEJvZHkgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZ2FwLTMgbXQtMTBcIiBzdHlsZT1cIm1pbi1oZWlnaHQ6IDI4MHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSBTdGVwIHBpbGwgbGlzdCAtLT5cclxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJtaW4td2lkdGg6IDE5MHB4OyBtYXgtaGVpZ2h0OiAzMjBweDsgb3ZlcmZsb3cteTogYXV0bzsgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0VBRUNGMDsgcGFkZGluZy1yaWdodDogMTJweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBzdGVwIG9mIGNvbnZlcnNhdGlvbkRhdGE/Lm1ldHJpY3NfcmVzdWx0czsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29udi1zdGVwLXBpbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInNlbGVjdGVkU3RlcEluZGV4ID09PSBpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdGVkU3RlcEluZGV4ID0gaVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBzdGVwPy5tZXRyaWNOYW1lIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gU2VsZWN0ZWQgc3RlcCBkZXRhaWwgLS0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTEgcHMtMlwiICpuZ0lmPVwiY29udmVyc2F0aW9uRGF0YT8ubWV0cmljc19yZXN1bHRzPy5bc2VsZWN0ZWRTdGVwSW5kZXhdIGFzIHN0ZXBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIENsaWNrIHRvIFBsYXkgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnYtcGxheS1yb3dcIiAqbmdJZj1cInN0ZXA/LnN0YXJ0VGltZVwiIChjbGljayk9XCJwbGF5RnJvbVN0ZXAoc3RlcClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnYtcGxheS1pY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIndoaXRlXCI+PHBhdGggZD1cIk04IDV2MTRsMTEtN3pcIi8+PC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6ICMxMDE4Mjg7XCI+Q2xpY2sgdG8gUGxheTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogMTJweDsgY29sb3I6ICM2NjcwODU7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXVkaW8gU3RhcnRzIGF0IHt7IHN0ZXA/LnN0YXJ0VGltZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gKm5nSWY9XCJzdGVwPy5lbmRUaW1lXCI+IOKAkyB7eyBzdGVwPy5lbmRUaW1lIH19PC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIFN1bW1hcnkgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6ICMxMDE4Mjg7IG1hcmdpbi1ib3R0b206IDhweDtcIj5TdW1tYXJ5PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJmb250LXNpemU6IDEzcHg7IGNvbG9yOiAjMzQ0MDU0OyBsaW5lLWhlaWdodDogMS42O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzdGVwPy5ldmlkZW5jZV9xdW90ZTsgZWxzZSBub0V2aWRlbmNlXCI+e3sgc3RlcD8uZXZpZGVuY2VfcXVvdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vRXZpZGVuY2U+PHNwYW4gY2xhc3M9XCJ0ZXh0LW11dGVkXCI+Tm8gZXZpZGVuY2UgYXZhaWxhYmxlLjwvc3Bhbj48L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJjYXJkIG10LTMgcC0yXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZS10ZXh0IG1iLTJcIj5IaXN0b3J5PC9zcGFuPlxyXG4gICAgICAgIDwvaDM+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktMCBweC0zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmUgYm9yZGVyIGJvcmRlci0xIHJvdW5kZWQtM1wiICpuZ0lmPVwiaGlzdG9yeURhdGE/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ3LTEwMCB0YWJsZSBib3R0b20tYm9yZGVyIHRleHQtbm93cmFwXCI+XHJcbiAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+QXVkaXRlZCBCeTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIiA+QXVkaXRlZCBEYXRlPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiID5UaW1lIFN0YW1wPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwidGV4dC1zdGFydFwiID5WaWV3IExvZ3M8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBoaXN0b3J5RGF0YVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tpdGVtLnVzZXJOYW1lfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tpdGVtLkRhdGV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2l0ZW0uVGltZX19IElTVDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAoY2xpY2spPVwidmlld0hpc3RvcnlNb2RlbChpdGVtKVwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjAgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMC44MzM0OTYgOC4wMDAxNkMwLjgzMzQ5NiA4LjAwMDE2IDQuMTY2ODMgMS4zMzM1IDEwLjAwMDIgMS4zMzM1QzE1LjgzMzUgMS4zMzM1IDE5LjE2NjggOC4wMDAxNiAxOS4xNjY4IDguMDAwMTZDMTkuMTY2OCA4LjAwMDE2IDE1LjgzMzUgMTQuNjY2OCAxMC4wMDAyIDE0LjY2NjhDNC4xNjY4MyAxNC42NjY4IDAuODMzNDk2IDguMDAwMTYgMC44MzM0OTYgOC4wMDAxNlpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMC4wMDAyIDEwLjUwMDJDMTEuMzgwOSAxMC41MDAyIDEyLjUwMDIgOS4zODA4NyAxMi41MDAyIDguMDAwMTZDMTIuNTAwMiA2LjYxOTQ1IDExLjM4MDkgNS41MDAxNiAxMC4wMDAyIDUuNTAwMTZDOC42MTk0NSA1LjUwMDE2IDcuNTAwMTYgNi42MTk0NSA3LjUwMDE2IDguMDAwMTZDNy41MDAxNiA5LjM4MDg3IDguNjE5NDUgMTAuNTAwMiAxMC4wMDAyIDEwLjUwMDJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgPC90YWJsZT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIiFoaXN0b3J5RGF0YT8ubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoaGlzdG9yeXRhYmxlTG9hZGluZyB8IGFzeW5jKSA9PT0gJ2xvYWRpbmcnXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FyZCByb3cgbG9hZGVyIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIihoaXN0b3J5dGFibGVMb2FkaW5nIHwgYXN5bmMpID09PSAnbG9hZGVkJ1wiIGNsYXNzPVwicm93IG10LTJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IG15LTggZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctc3JjXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhMS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS10aXRsZVwiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YS1zdWJcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIHRoZSB0ZXN0PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG5cclxuPG5nLXRlbXBsYXRlICN2aWV3SGlzdG9yeSBsZXQtbW9kZWw+XHJcbiAgICA8ZGl2IGNsYXNzPVwicC01IHRzNzAwcHggc2Nyb2xsXCI+XHJcblxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB5LTAgXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0yIGQtZmxleFwiPlxyXG48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjQ2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjQ2XCIgdmlld0JveD1cIjAgMCA1NiA1NlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiNFwiIHk9XCI0XCIgd2lkdGg9XCI0OFwiIGhlaWdodD1cIjQ4XCIgcng9XCIyNFwiIGZpbGw9XCIjREFGMUZGXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0XCIgeT1cIjRcIiB3aWR0aD1cIjQ4XCIgaGVpZ2h0PVwiNDhcIiByeD1cIjI0XCIgc3Ryb2tlPVwiI0VBRjhGRlwiIHN0cm9rZS13aWR0aD1cIjhcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTI4IDIyVjI4TDMyIDMwTTM4IDI4QzM4IDMzLjUyMjggMzMuNTIyOCAzOCAyOCAzOEMyMi40NzcyIDM4IDE4IDMzLjUyMjggMTggMjhDMTggMjIuNDc3MiAyMi40NzcyIDE4IDI4IDE4QzMzLjUyMjggMTggMzggMjIuNDc3MiAzOCAyOFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMwMEEzRkZcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtcy0zIHB0LTIgZnMtNCB0ZXh0LWdyYXktODAwIHRleHQtaG92ZXItcHJpbWFyeSBmdy1ib2xkIG1iLTAgdGl0bGUgY3Vyc29yLXBvaW50ZXJcIj5BdWRpdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBIaXN0b3J5PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIiAqbmdJZj1cImhpc3RvcnlEYXRhPy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInctMTAwIHRhYmxlIGJvdHRvbS1ib3JkZXIgdGV4dC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cInRleHQtc3RhcnRcIj5TdGVwLWJ5LVN0ZXAgUHJvY2VzczwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+U3RhdHVzIGNoYW5nZWQgZnJvbTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+Tm90ZWQgVGltZSBSYW5nZTwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0ZXh0LXN0YXJ0XCI+UmVhc29uIGZvciBFcnJvcjwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgaXRlbSBvZiB2aWV3SGlzdG9yeURhdGFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2l0ZW0ucHJvY2Vzc05hbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLkFJU3RhdHVzXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzIG1lLTJcIj5QYXNzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW0uQUlTdGF0dXNcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWRhbmdlciBtZS0yXCI+RmFpbDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMxXCIgaGVpZ2h0PVwiOFwiIHZpZXdCb3g9XCIwIDAgMzEgOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTMwLjM1MzYgNC4zNTM1NUMzMC41NDg4IDQuMTU4MjkgMzAuNTQ4OCAzLjg0MTcxIDMwLjM1MzYgMy42NDY0NUwyNy4xNzE2IDAuNDY0NDY2QzI2Ljk3NjMgMC4yNjkyMDQgMjYuNjU5NyAwLjI2OTIwNCAyNi40NjQ1IDAuNDY0NDY2QzI2LjI2OTIgMC42NTk3MjggMjYuMjY5MiAwLjk3NjMxMSAyNi40NjQ1IDEuMTcxNTdMMjkuMjkyOSA0TDI2LjQ2NDUgNi44Mjg0M0MyNi4yNjkyIDcuMDIzNjkgMjYuMjY5MiA3LjM0MDI3IDI2LjQ2NDUgNy41MzU1M0MyNi42NTk3IDcuNzMwOCAyNi45NzYzIDcuNzMwOCAyNy4xNzE2IDcuNTM1NTNMMzAuMzUzNiA0LjM1MzU1Wk0wIDQuNUgzMFYzLjVIMFY0LjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjRDBENUREXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIml0ZW0uYXVkaXRlZFN0YXR1c1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcyBtcy0yXCI+UGFzczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLmF1ZGl0ZWRTdGF0dXNcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWRhbmdlciBtcy0yXCI+RmFpbDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgPjxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2Vzc1wiICpuZ0lmPVwiaXRlbS5zdGFydFRpbWVcIj5Ob3RlZCBUaW1lIFJhbmdlIDogPHNwYW4gY2xhc3M9XCJ0ZXh0LWRhcmsxXCI+e3tpdGVtLnN0YXJ0VGltZSA/IGl0ZW0uc3RhcnRUaW1lOictLSd9fSAtIHt7aXRlbS5lbmRUaW1lfX08L3NwYW4+PC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJlbmdhZ2UtdGV4dFwiPjxzcGFuICpuZ0lmPVwiaXRlbS5yZWFzb24gIT09J290aGVycydcIj57e2l0ZW0ucmVhc29ufX08L3NwYW4+PHNwYW4gKm5nSWY9XCJpdGVtLnJlYXNvbiA9PT0nb3RoZXJzJ1wiPnt7aXRlbS5vdGhlclJlYXNvbn19PC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgICAgIDwvdGFibGU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3ZpZXdDYW5jZWwgbGV0LW1vZGVsPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQgZ3JvdXAtZGVsZXRlIHB5LTBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB5LTAgZC1mbGV4IGZsZXgtc3RhcnQgZmxleC1jb2x1bW4gcC05IFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXktNVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN5bWJvbCBzeW1ib2wtNzVweCBzeW1ib2wtY2lyY2xlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjU2XCIgaGVpZ2h0PVwiNTZcIiB2aWV3Qm94PVwiMCAwIDU2IDU2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0XCIgeT1cIjRcIiB3aWR0aD1cIjQ4XCIgaGVpZ2h0PVwiNDhcIiByeD1cIjI0XCIgZmlsbD1cIiNGRUYwQzdcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCI0XCIgeT1cIjRcIiB3aWR0aD1cIjQ4XCIgaGVpZ2h0PVwiNDhcIiByeD1cIjI0XCIgc3Ryb2tlPVwiI0ZGRkFFQlwiIHN0cm9rZS13aWR0aD1cIjhcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMjcuOTk4OCAyNFYyOE0yNy45OTg4IDMySDI4LjAwODhNMjYuMjg4OCAxOC44NkwxNy44MTg4IDMzQzE3LjY0NDIgMzMuMzAyNCAxNy41NTE4IDMzLjY0NTMgMTcuNTUwOCAzMy45OTQ1QzE3LjU0OTggMzQuMzQzNyAxNy42NDAzIDM0LjY4NzEgMTcuODEzMiAzNC45OTA1QzE3Ljk4NjIgMzUuMjkzOSAxOC4yMzU1IDM1LjU0NjcgMTguNTM2NSAzNS43MjM4QzE4LjgzNzUgMzUuOTAwOSAxOS4xNzk2IDM1Ljk5NjEgMTkuNTI4OCAzNkgzNi40Njg4QzM2LjgxOCAzNS45OTYxIDM3LjE2MDEgMzUuOTAwOSAzNy40NjExIDM1LjcyMzhDMzcuNzYyMSAzNS41NDY3IDM4LjAxMTQgMzUuMjkzOSAzOC4xODQ0IDM0Ljk5MDVDMzguMzU3MyAzNC42ODcxIDM4LjQ0NzggMzQuMzQzNyAzOC40NDY4IDMzLjk5NDVDMzguNDQ1OCAzMy42NDUzIDM4LjM1MzQgMzMuMzAyNCAzOC4xNzg4IDMzTDI5LjcwODggMTguODZDMjkuNTMwNSAxOC41NjYxIDI5LjI3OTUgMTguMzIzMSAyOC45OCAxOC4xNTQ0QzI4LjY4MDUgMTcuOTg1OCAyOC4zNDI1IDE3Ljg5NzIgMjcuOTk4OCAxNy44OTcyQzI3LjY1NTEgMTcuODk3MiAyNy4zMTcxIDE3Ljk4NTggMjcuMDE3NiAxOC4xNTQ0QzI2LjcxODEgMTguMzIzMSAyNi40NjcxIDE4LjU2NjEgMjYuMjg4OCAxOC44NlpcIiBzdHJva2U9XCIjREM2ODAzXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+ICBcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGEgY2xhc3M9XCJmcy00IHRleHQtZ3JheS04MDAgdGV4dC1ob3Zlci1wcmltYXJ5IGZ3LWJvbGQgbWItMCB0aXRsZSBjdXJzb3ItcG9pbnRlclwiPkFyZSB5b3Ugc3VyZT88L2E+XHJcbiAgICAgICAgICAgIDxzcGFuICBjbGFzcz1cInN1Yi10aXRsZSBmdy1ub3JtYWwgbXQtMlwiPldvdWxkIHlvdSBsaWtlIHRvIGNhbmNlbCB0aGlzPzwvc3Bhbj5cclxuICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNSB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiByb2xlPVwiZ3JvdXBcIiBjbGFzcz1cImQtZmxleCBtdC0zIG1iLTE1XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgdy0xMDAgbWUtM1wiIChjbGljayk9XCJPbkNhbmNlbCgpXCI+Tm88L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBpZD1cImFsZXJ0LXRvYXN0XCIgY2xhc3M9XCJidG4gYnRuLWRhbmdlciB3LTEwMCBtcy0zXCIgKGNsaWNrKT1cIm9uWWVzKClcIj5ZZXM8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPC9zZWN0aW9uPiJdfQ==
|