@decaf-ts/integrations 0.4.1-2 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/integrations.cjs +4 -4
- package/dist/integrations.js +4 -4
- package/lib/cjs/feature-flags/services/FeatureFlag.service.cjs +13 -5
- package/lib/cjs/graph/engine/errors/GraphBreakSignal.cjs +37 -0
- package/lib/cjs/graph/engine/errors/index.cjs +3 -2
- package/lib/cjs/graph/engine/execution/BreakGraphNodeExecutor.cjs +22 -0
- package/lib/cjs/graph/engine/execution/index.cjs +3 -2
- package/lib/cjs/graph/engine/index.cjs +4 -2
- package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs +54 -19
- package/lib/cjs/graph/engine/types.cjs +2 -2
- package/lib/cjs/graph/shared/nodes/flow-control.cjs +41 -3
- package/lib/cjs/index.cjs +3 -3
- package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs +7 -2
- package/lib/cjs/nest/keycloakAuthHandler.cjs +5 -3
- package/lib/cjs/nest/utils.cjs +15 -4
- package/lib/cjs/plugins/superset/templates.cjs +14 -20
- package/lib/esm/feature-flags/services/FeatureFlag.service.js +13 -5
- package/lib/esm/graph/engine/errors/GraphBreakSignal.js +32 -0
- package/lib/esm/graph/engine/errors/index.js +2 -1
- package/lib/esm/graph/engine/execution/BreakGraphNodeExecutor.js +17 -0
- package/lib/esm/graph/engine/execution/index.js +2 -1
- package/lib/esm/graph/engine/index.js +3 -1
- package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js +53 -18
- package/lib/esm/graph/engine/types.js +1 -1
- package/lib/esm/graph/shared/nodes/flow-control.js +39 -1
- package/lib/esm/index.js +3 -3
- package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js +7 -2
- package/lib/esm/nest/keycloakAuthHandler.js +4 -2
- package/lib/esm/nest/utils.js +14 -3
- package/lib/esm/plugins/superset/templates.js +13 -19
- package/lib/types/graph/engine/errors/GraphBreakSignal.d.cts +28 -0
- package/lib/types/graph/engine/errors/GraphBreakSignal.d.mts +28 -0
- package/lib/types/graph/engine/errors/index.d.cts +1 -0
- package/lib/types/graph/engine/errors/index.d.mts +1 -0
- package/lib/types/graph/engine/execution/BreakGraphNodeExecutor.d.cts +22 -0
- package/lib/types/graph/engine/execution/BreakGraphNodeExecutor.d.mts +22 -0
- package/lib/types/graph/engine/execution/index.d.cts +1 -0
- package/lib/types/graph/engine/execution/index.d.mts +1 -0
- package/lib/types/graph/engine/index.d.cts +2 -0
- package/lib/types/graph/engine/index.d.mts +2 -0
- package/lib/types/graph/engine/loops/ForeachGraphNodeExecutor.d.cts +11 -3
- package/lib/types/graph/engine/loops/ForeachGraphNodeExecutor.d.mts +11 -3
- package/lib/types/graph/engine/types.d.cts +6 -0
- package/lib/types/graph/engine/types.d.mts +6 -0
- package/lib/types/graph/shared/nodes/flow-control.d.cts +12 -1
- package/lib/types/graph/shared/nodes/flow-control.d.mts +12 -1
- package/lib/types/index.d.cts +2 -2
- package/lib/types/index.d.mts +2 -2
- package/package.json +6 -3
- package/plugins/superset/Dockerfile +9 -9
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GRAPH_FLOW_CONTROL_NODES = exports.LogFlowNode = exports.CodeFlowNode = exports.CodeInputSchema = exports.ReturnFlowNode = exports.HumanApprovalFlowNode = exports.ErrorBoundaryFlowNode = exports.DelayFlowNode = exports.MapFlowNode = exports.MergeFlowNode = exports.ParallelFlowNode = exports.SwitchFlowNode = exports.IfFlowNode = void 0;
|
|
3
|
+
exports.GRAPH_FLOW_CONTROL_NODES = exports.BreakFlowNode = exports.LogFlowNode = exports.CodeFlowNode = exports.CodeInputSchema = exports.ReturnFlowNode = exports.HumanApprovalFlowNode = exports.ErrorBoundaryFlowNode = exports.DelayFlowNode = exports.MapFlowNode = exports.MergeFlowNode = exports.ParallelFlowNode = exports.SwitchFlowNode = exports.IfFlowNode = void 0;
|
|
4
4
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
5
5
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
6
6
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
@@ -528,6 +528,43 @@ exports.LogFlowNode = LogFlowNode = __decorate([
|
|
|
528
528
|
}),
|
|
529
529
|
(0, decorator_validation_1.model)()
|
|
530
530
|
], LogFlowNode);
|
|
531
|
+
/**
|
|
532
|
+
* Break — breaks out of the enclosing loop (foreach/while/until). When
|
|
533
|
+
* executed inside a loop body, the loop terminates early and the loop's
|
|
534
|
+
* `completed`/`state` output carries the results collected so far. The
|
|
535
|
+
* Break node executor throws a {@link GraphBreakSignal} that the enclosing
|
|
536
|
+
* loop executor catches.
|
|
537
|
+
*/
|
|
538
|
+
let BreakFlowNode = class BreakFlowNode extends decorator_validation_1.Model {
|
|
539
|
+
};
|
|
540
|
+
exports.BreakFlowNode = BreakFlowNode;
|
|
541
|
+
__decorate([
|
|
542
|
+
(0, decorator_validation_1.required)(),
|
|
543
|
+
(0, ui_decorators_1.uielement)("textarea", { label: "Value", placeholder: "Value to forward (collected as the last partial result)" }),
|
|
544
|
+
(0, graph_1.input)({ handle: "value" }),
|
|
545
|
+
__metadata("design:type", Object)
|
|
546
|
+
], BreakFlowNode.prototype, "value", void 0);
|
|
547
|
+
__decorate([
|
|
548
|
+
(0, decorator_validation_1.required)(),
|
|
549
|
+
(0, graph_1.output)({ handle: "broken" }),
|
|
550
|
+
__metadata("design:type", Object)
|
|
551
|
+
], BreakFlowNode.prototype, "broken", void 0);
|
|
552
|
+
exports.BreakFlowNode = BreakFlowNode = __decorate([
|
|
553
|
+
(0, graph_1.node)("core.flow.break", {
|
|
554
|
+
kind: "core.flow.break",
|
|
555
|
+
category: "Flow Control",
|
|
556
|
+
color: "#ef4444",
|
|
557
|
+
icon: "ti-square-arrow-right",
|
|
558
|
+
width: 96,
|
|
559
|
+
height: 96,
|
|
560
|
+
labels: ["flow", "break", "loop", "control"],
|
|
561
|
+
metadata: {
|
|
562
|
+
title: "Break",
|
|
563
|
+
description: "Breaks out of the enclosing loop. The loop terminates early and returns the results collected so far.",
|
|
564
|
+
},
|
|
565
|
+
}),
|
|
566
|
+
(0, decorator_validation_1.model)()
|
|
567
|
+
], BreakFlowNode);
|
|
531
568
|
/**
|
|
532
569
|
* All built-in flow-control node constructors.
|
|
533
570
|
*/
|
|
@@ -543,6 +580,7 @@ exports.GRAPH_FLOW_CONTROL_NODES = [
|
|
|
543
580
|
ReturnFlowNode,
|
|
544
581
|
CodeFlowNode,
|
|
545
582
|
LogFlowNode,
|
|
583
|
+
BreakFlowNode,
|
|
546
584
|
];
|
|
547
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2dyYXBoL3NoYXJlZC9ub2Rlcy9mbG93LWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsS0FBSyxFQUNMLElBQUksRUFDSixNQUFNLEVBQ04sYUFBYSxHQUVkLE1BQU0sK0JBQStCLENBQUM7QUFFdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxrQkFBZTtBQUVuQzs7O0dBR0c7QUFnQkksSUFBTSxVQUFVLEdBQWhCLE1BQU0sVUFBVyxTQUFRLEtBQUs7Q0FlcEMsQ0FBQTtBQVhDO0lBSEMsUUFBUSxFQUFFO0lBQ1YsU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLENBQUM7SUFDakYsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDOzt5Q0FDWDtBQUtoQjtJQUhDLFFBQVEsRUFBRTtJQUNWLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSwrQkFBK0IsRUFBRSxDQUFDO0lBQ25GLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQzs7d0NBQ1o7QUFLZjtJQUhDLFFBQVEsRUFBRTtJQUNWLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxnQ0FBZ0MsRUFBRSxDQUFDO0lBQ3BGLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFB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QTtBQU5DO0lBSEMsUUFBUSxFQUFFO0lBQ1YsU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxDQUFDO0lBQzVFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQzs7MENBQ1g7QUFLaEI7SUFIQyxRQUFRLEVBQUU7SUFDVixTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztJQUM3RSxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7OzJDQUNaO0FBVE4sV0FBVztJQWR2QixJQUFJLENBQUMsZUFBZSxFQUFFO1FBQ3JCLElBQUksRUFBRSxlQUFlO1FBQ3JCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLEtBQUssRUFBRSxTQUFTO1FBQ2hCLElBQUksRUFBRSxhQUFhO1FBQ25CLEtBQUssRUFBRSxFQUFFO1FBQ1QsTUFBTSxFQUFFLEVBQUU7UUFDVixNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUM7UUFDM0MsUUFBUSxFQUFFO1lBQ1IsS0FBSyxFQUFFLEtBQUs7WUFDWixXQUFXLEVBQUUseUVBQXlFO1NBQ3ZGO0tBQ0YsQ0FBQztJQUNELEtBQUssRUFBRTtHQUNLLFdBQVcsQ0FVdkI7O0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUN0QyxVQUFVO0lBQ1YsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsV0FBVztJQUNYLGFBQWE7SUFDYixxQkFBcUI7SUFDckIscUJBQXFCO0lBQ3JCLGNBQWM7SUFDZCxZQUFZO0lBQ1osV0FBVztDQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL25vZGVzL2Zsb3ctY29udHJvbFxuICogQHN1bW1hcnkgUHJvZHVjdGlvbiBmbG93LWNvbnRyb2wgbm9kZSBraW5kIGRlY2xhcmF0aW9ucyAoREVDQUYtMzIgwqcyMi4yLjIpLlxuICogQGRlc2NyaXB0aW9uIENhbm9uaWNhbCBgQG5vZGVgLWRlY29yYXRlZCBjbGFzc2VzIGZvciB0aGUgdGVuIEFMRlJFRC01XG4gKiBmbG93LWNvbnRyb2wga2luZHMuIFRoZXNlIGFyZSBncmFwaC1sZXZlbCBtYWNyb3M6IHRoZSBlbmdpbmUncyBwbGFubmVyXG4gKiByZWNvZ25pc2VzIHRoZW0gYXMgb3JkaW5hcnkgZXhlY3V0YWJsZSBub2RlcyAowqc1LjcpIGJ1dCB0aGV5IGhhdmUgbm9cbiAqIGJ1aWx0LWluIGV4ZWN1dG9ycyDigJQgZG93bnN0cmVhbSBwcm9qZWN0cyAoZS5nLiBBTEZSRUQpIHJlZ2lzdGVyIGN1c3RvbVxuICogZXhlY3V0b3JzIG9yIGNvbXBpbGUgdGhlbSBpbnRvIE1hc3RyYSBjb21wb3NpdGlvbiBBUElzICjCpzIyLjIuMikuXG4gKlxuICogVGhlIHRocmVlIGxvb3Aga2luZHMgKGBjb3JlLmxvb3AuZm9yZWFjaC93aGlsZS91bnRpbGApIGFscmVhZHkgaGF2ZSBidWlsdC1pblxuICogZXhlY3V0b3JzICjCpzUuOSkgYW5kIGFyZSBOT1QgcmVkZWNsYXJlZCBoZXJlLlxuICovXG5pbXBvcnQgeyBNb2RlbCwgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgdWllbGVtZW50LCBoaWRkZW4gfSBmcm9tIFwiQGRlY2FmLXRzL3VpLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7XG4gIGdyYXBoRGVmaW5pdGlvbk9mLFxuICBpbnB1dCxcbiAgbm9kZSxcbiAgb3V0cHV0LFxuICBQb3J0RGlyZWN0aW9uLFxuICB0eXBlIEdyYXBoUG9ydERlZmluaXRpb24sXG59IGZyb20gXCJAZGVjYWYtdHMvdWktZGVjb3JhdG9ycy9ncmFwaFwiO1xuaW1wb3J0IHR5cGUgeyBOb2RlTWV0YWRhdGFDaGFuZ2UsIFN3aXRjaE5vZGVNZXRhZGF0YSB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgR3JhcGhOb2RlIH0gZnJvbSBcIi4vYmFzZVwiO1xuXG4vKipcbiAqIElmIOKAlCBjb25kaXRpb25hbCBicmFuY2guIEV2YWx1YXRlcyBhIGBDb25kaXRpb25FeHByZXNzaW9uYCAowqcyMi4zKSBhbmRcbiAqIHJvdXRlcyB0aGUgaW5wdXQgdG8gdGhlIGB0aGVuYCBvciBgZWxzZWAgb3V0cHV0LlxuICovXG5Abm9kZShcImNvcmUuZmxvdy5pZlwiLCB7XG4gIGtpbmQ6IFwiY29yZS5mbG93LmlmXCIsXG4gIGNhdGVnb3J5OiBcIkZsb3cgQ29udHJvbFwiLFxuICBjb2xvcjogXCIjZjU5ZTBiXCIsXG4gIGljb246IFwidGktYXJyb3dzLXNwbGl0LTJcIixcbiAgd2lkdGg6IDk2LFxuICBoZWlnaHQ6IDk2LFxuICBsYWJlbHM6IFtcImZsb3dcIiwgXCJjb25kaXRpb25hbFwiLCBcImJyYW5jaFwiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJJZlwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIkNvbmRpdGlvbmFsIGJyYW5jaC4gRXZhbHVhdGVzIHRoZSBjb25maWd1cmVkIGNvbmRpdGlvbiBhbmQgcm91dGVzIHRoZSBpbnB1dCB0byB0aGUgbWF0Y2hpbmcgb3V0cHV0LlwiLFxuICAgIGNvbmRpdGlvbjogeyBvcDogXCJlcVwiLCBsZWZ0OiB7IGNvbnN0OiB0cnVlIH0sIHJpZ2h0OiB7IGNvbnN0OiB0cnVlIH0gfSxcbiAgfSxcbn0pXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIElmRmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIklucHV0IHZhbHVlXCIsIHBsYWNlaG9sZGVyOiBcIlZhbHVlIHRvIGV2YWx1YXRlXCIgfSlcbiAgQGlucHV0KHsgaGFuZGxlOiBcInZhbHVlXCIgfSlcbiAgdmFsdWUhOiB1bmtub3duO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIlRoZW5cIiwgcGxhY2Vob2xkZXI6IFwiT3V0cHV0IHdoZW4gY29uZGl0aW9uIGlzIHRydWVcIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcInRoZW5cIiB9KVxuICB0aGVuITogdW5rbm93bjtcblxuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJFbHNlXCIsIHBsYWNlaG9sZGVyOiBcIk91dHB1dCB3aGVuIGNvbmRpdGlvbiBpcyBmYWxzZVwiIH0pXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwiZWxzZVwiIH0pXG4gIGVsc2UhOiB1bmtub3duO1xufVxuXG4vKipcbiAqIFN3aXRjaCDigJQgbXVsdGktYnJhbmNoLiBSb3V0ZXMgdGhlIGlucHV0IHRvIG9uZSBvZiB0aGUgY2FzZSBvdXRwdXQgcG9ydHNcbiAqIG9yIGBkZWZhdWx0YCBiYXNlZCBvbiBtYXRjaGluZyBjb25kaXRpb25zLiBFYWNoIGNhc2UgZGVmaW5lcyBhXG4gKiB7QGxpbmsgU3dpdGNoQ2FzZUNvbmRpdGlvbn0gKGdyYXBoaWNhbCBvciBjb2RlIG1vZGUpIGFuZCBhIGRlZGljYXRlZFxuICogb3V0cHV0IHBvcnQuIENhc2VzIGFyZSBzdG9yZWQgaW4gYG1ldGFkYXRhLnN3aXRjaC5jYXNlc2AgYW5kIHRoZVxuICogcmVuZGVyZXIgY3JlYXRlcyBkeW5hbWljIG91dHB1dCBwb3J0cyBmcm9tIHRoZW0gKERFQ0FGLTMyIMKnMjIuMi4yKS5cbiAqXG4gKiBUaGUgbm9kZSBncm93cyBpbiBoZWlnaHQgYXMgY2FzZXMgYXJlIGFkZGVkLiBFYWNoIGNhc2UgZ2V0cyBpdHMgb3duXG4gKiBvdXRwdXQgcG9ydCBvbiB0aGUgcmlnaHQgc2lkZSwgbGFiZWxlZCB3aXRoIHRoZSBjYXNlIGxhYmVsLlxuICovXG5Abm9kZShcImNvcmUuZmxvdy5zd2l0Y2hcIiwge1xuICBraW5kOiBcImNvcmUuZmxvdy5zd2l0Y2hcIixcbiAgY2F0ZWdvcnk6IFwiRmxvdyBDb250cm9sXCIsXG4gIGNvbG9yOiBcIiNmOTczMTZcIixcbiAgaWNvbjogXCJ0aS1hcnJvd3Mtc2h1ZmZsZVwiLFxuICB3aWR0aDogMTIwLFxuICBoZWlnaHQ6IDE0MCxcbiAgbGFiZWxzOiBbXCJmbG93XCIsIFwic3dpdGNoXCIsIFwibXVsdGktYnJhbmNoXCJdLFxuICBtZXRhZGF0YToge1xuICAgIHRpdGxlOiBcIlN3aXRjaFwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIk11bHRpLWJyYW5jaCBzd2l0Y2guIFJvdXRlcyB0aGUgaW5wdXQgdG8gdGhlIGZpcnN0IG1hdGNoaW5nIGNhc2Ugb3V0cHV0LCBvciB0aGUgZGVmYXVsdCBvdXRwdXQuXCIsXG4gICAgc3dpdGNoOiB7XG4gICAgICBjYXNlczogW10sXG4gICAgICBkZWZhdWx0UG9ydDogXCJkZWZhdWx0XCIsXG4gICAgICBoYXNEZWZhdWx0OiBmYWxzZSxcbiAgICB9LFxuICB9LFxufSlcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgU3dpdGNoRmxvd05vZGUgZXh0ZW5kcyBHcmFwaE5vZGUge1xuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJJbnB1dCB2YWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJWYWx1ZSB0byBzd2l0Y2ggb25cIiB9KVxuICBAaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVcIiB9KVxuICB2YWx1ZSE6IHVua25vd247XG5cbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiRGVmYXVsdFwiLCBwbGFjZWhvbGRlcjogXCJEZWZhdWx0IG91dHB1dCB3aGVuIG5vIGNhc2UgbWF0Y2hlc1wiIH0pXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwiZGVmYXVsdFwiIH0pXG4gIGRlZmF1bHQhOiB1bmtub3duO1xuXG4gIC8qKlxuICAgKiBDb21wdXRlcyB0aGUgbm9kZSdzIHBvcnRzLCBzaXplLCBhbmQgZGF0YSBwYXRjaCBmcm9tIHRoZSBnaXZlbiBzd2l0Y2hcbiAgICogbWV0YWRhdGEuIEVhY2ggY2FzZSBnZXRzIGl0cyBvd24gb3V0cHV0IHBvcnQgb24gdGhlIHJpZ2h0IHNpZGU7IHRoZVxuICAgKiBgZGVmYXVsdGAgcG9ydCBhbHdheXMgcmVuZGVycyAqKmxhc3QqKiAoREVDQUYtMzIgwqcyMSBwb3J0LW9yZGVyaW5nIHJ1bGUsXG4gICAqIERFQ0FGLTM0IMKnNi4yKS4gV2hlbiBgaGFzRGVmYXVsdGAgaXMgYGZhbHNlYCwgdGhlIGBkZWZhdWx0YCBvdXRwdXQgcG9ydFxuICAgKiBpcyBvbWl0dGVkIGVudGlyZWx5LiBUaGUgbm9kZSBncm93cyBpbiBoZWlnaHQgYXMgY2FzZXMgYXJlIGFkZGVkLlxuICAgKi9cbiAgc3RhdGljIG92ZXJyaWRlIGFwcGx5TWV0YWRhdGEobWV0YTogU3dpdGNoTm9kZU1ldGFkYXRhKTogTm9kZU1ldGFkYXRhQ2hhbmdlIHtcbiAgICBjb25zdCBkZWZpbml0aW9uID0gZ3JhcGhEZWZpbml0aW9uT2YodGhpcyBhcyBuZXZlcik7XG4gICAgY29uc3QgZGVmYXVsdFBvcnROYW1lID0gbWV0YS5kZWZhdWx0UG9ydCA/PyBcImRlZmF1bHRcIjtcbiAgICBjb25zdCBoYXNEZWZhdWx0ID0gbWV0YS5oYXNEZWZhdWx0ID09PSB0cnVlO1xuXG4gICAgLy8gQmFzZSBwb3J0cyBleGNsdWRpbmcgYW55IHBvcnQgdGhhdCBjb2xsaWRlcyB3aXRoIGEgY2FzZSBvdXRwdXQgcG9ydC5cbiAgICBjb25zdCBiYXNlUG9ydHMgPSBkZWZpbml0aW9uLnBvcnRzLmZpbHRlcihcbiAgICAgIChwKSA9PiAhbWV0YS5jYXNlcy5zb21lKChjKSA9PiBjLm91dHB1dFBvcnQgPT09IHAucHJvcGVydHkpXG4gICAgKTtcbiAgICAvLyBTZXBhcmF0ZSB0aGUgZGVmYXVsdCBvdXRwdXQgcG9ydCBzbyBpdCBjYW4gYmUgcGxhY2VkIGxhc3QgKG9yIG9taXR0ZWQpLlxuICAgIGNvbnN0IG5vbkRlZmF1bHRQb3J0cyA9IGJhc2VQb3J0cy5maWx0ZXIoXG4gICAgICAocCkgPT4gcC5wcm9wZXJ0eSAhPT0gZGVmYXVsdFBvcnROYW1lXG4gICAgKTtcbiAgICBjb25zdCBkZWZhdWx0UG9ydCA9IGJhc2VQb3J0cy5maW5kKChwKSA9PiBwLnByb3BlcnR5ID09PSBkZWZhdWx0UG9ydE5hbWUpO1xuXG4gICAgY29uc3QgY2FzZVBvcnRzOiBHcmFwaFBvcnREZWZpbml0aW9uW10gPSBtZXRhLmNhc2VzLm1hcCgoYykgPT4gKHtcbiAgICAgIHByb3BlcnR5OiBjLm91dHB1dFBvcnQsXG4gICAgICBuYW1lOiBjLmxhYmVsLFxuICAgICAgZGlyZWN0aW9uOiBQb3J0RGlyZWN0aW9uLk9VVFBVVCxcbiAgICAgIGxhYmVsOiBjLmxhYmVsLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgaGlkZGVuOiBmYWxzZSxcbiAgICAgIHBhdGg6IGMub3V0cHV0UG9ydCxcbiAgICB9KSk7XG5cbiAgICAvLyBQb3J0IG9yZGVyOiBpbnB1dHMvbm9uLWRlZmF1bHQgb3V0cHV0cyBmaXJzdCwgY2FzZSBvdXRwdXRzIG5leHQsIGRlZmF1bHQgbGFzdC5cbiAgICBjb25zdCBwb3J0cyA9IFsuLi5ub25EZWZhdWx0UG9ydHMsIC4uLmNhc2VQb3J0c107XG4gICAgaWYgKGhhc0RlZmF1bHQgJiYgZGVmYXVsdFBvcnQpIHtcbiAgICAgIHBvcnRzLnB1c2goZGVmYXVsdFBvcnQpO1xuICAgIH1cblxuICAgIGNvbnN0IGNhc2VDb3VudCA9IG1ldGEuY2FzZXMubGVuZ3RoO1xuICAgIHJldHVybiB7XG4gICAgICBwb3J0cyxcbiAgICAgIHNpemU6IHtcbiAgICAgICAgd2lkdGg6IGRlZmluaXRpb24ud2lkdGggPz8gMTIwLFxuICAgICAgICBoZWlnaHQ6IGNhc2VDb3VudCA+IDAgPyAxNDAgKyBjYXNlQ291bnQgKiAyNCA6IGRlZmluaXRpb24uaGVpZ2h0ID8/IDE0MCxcbiAgICAgIH0sXG4gICAgICBkYXRhUGF0Y2g6IHsgc3dpdGNoTWV0YWRhdGE6IG1ldGEgfSxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICogUGFyYWxsZWwg4oCUIHNwbGl0cyBleGVjdXRpb24gaW50byBjb25jdXJyZW50IGJyYW5jaGVzLlxuICovXG5Abm9kZShcImNvcmUuZmxvdy5wYXJhbGxlbFwiLCB7XG4gIGtpbmQ6IFwiY29yZS5mbG93LnBhcmFsbGVsXCIsXG4gIGNhdGVnb3J5OiBcIkZsb3cgQ29udHJvbFwiLFxuICBjb2xvcjogXCIjMDZiNmQ0XCIsXG4gIGljb246IFwidGktYXJyb3dzLXZlcnRpY2FsXCIsXG4gIHdpZHRoOiA5NixcbiAgaGVpZ2h0OiA5NixcbiAgbGFiZWxzOiBbXCJmbG93XCIsIFwicGFyYWxsZWxcIiwgXCJjb25jdXJyZW50XCJdLFxuICBtZXRhZGF0YToge1xuICAgIHRpdGxlOiBcIlBhcmFsbGVsXCIsXG4gICAgZGVzY3JpcHRpb246IFwiU3BsaXRzIGV4ZWN1dGlvbiBpbnRvIGNvbmN1cnJlbnQgYnJhbmNoZXMuIEFsbCBicmFuY2hlcyBydW4gaW4gcGFyYWxsZWwgYW5kIG91dHB1dHMgYXJlIGNvbGxlY3RlZC5cIixcbiAgICBicmFuY2hDb3VudDogMixcbiAgfSxcbn0pXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIFBhcmFsbGVsRmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIklucHV0IHZhbHVlXCIsIHBsYWNlaG9sZGVyOiBcIlZhbHVlIHRvIGZhbiBvdXRcIiB9KVxuICBAaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVcIiB9KVxuICB2YWx1ZSE6IHVua25vd247XG5cbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiQnJhbmNoZXNcIiwgcGxhY2Vob2xkZXI6IFwiQ29sbGVjdGVkIGJyYW5jaCBvdXRwdXRzXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJicmFuY2hlc1wiIH0pXG4gIGJyYW5jaGVzITogdW5rbm93bltdO1xufVxuXG4vKipcbiAqIE1lcmdlIOKAlCBub3JtYWxpc2VzIGJyYW5jaC9wYXJhbGxlbCBvdXRwdXRzIGludG8gYSBzaW5nbGUgb3V0cHV0LlxuICovXG5Abm9kZShcImNvcmUuZmxvdy5tZXJnZVwiLCB7XG4gIGtpbmQ6IFwiY29yZS5mbG93Lm1lcmdlXCIsXG4gIGNhdGVnb3J5OiBcIlV0aWxpdHlcIixcbiAgY29sb3I6IFwiIzBkOTQ4OFwiLFxuICBpY29uOiBcInRpLWFycm93cy1tZXJnZVwiLFxuICB3aWR0aDogOTYsXG4gIGhlaWdodDogOTYsXG4gIGxhYmVsczogW1wiZmxvd1wiLCBcIm1lcmdlXCIsIFwiam9pblwiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJNZXJnZVwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIk1lcmdlcyBtdWx0aXBsZSBicmFuY2ggb3V0cHV0cyBpbnRvIGEgc2luZ2xlIG5vcm1hbGlzZWQgb3V0cHV0IG9iamVjdC5cIixcbiAgICBzdHJhdGVneTogXCJjb25jYXRcIixcbiAgfSxcbn0pXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIE1lcmdlRmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIkJyYW5jaCBvdXRwdXRzXCIsIHBsYWNlaG9sZGVyOiBcIk91dHB1dHMgdG8gbWVyZ2VcIiB9KVxuICBAaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVzXCIgfSlcbiAgdmFsdWVzITogdW5rbm93bltdO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIk1lcmdlZCBvdXRwdXRcIiwgcGxhY2Vob2xkZXI6IFwiTWVyZ2VkIHJlc3VsdFwiIH0pXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwibWVyZ2VkXCIgfSlcbiAgbWVyZ2VkITogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBNYXAg4oCUIHRyYW5zZm9ybXMgdGhlIGN1cnJlbnQgaW5wdXQgaW50byBhIG5ldyBvdXRwdXQgb2JqZWN0LlxuICovXG5Abm9kZShcImNvcmUuZmxvdy5tYXBcIiwge1xuICBraW5kOiBcImNvcmUuZmxvdy5tYXBcIixcbiAgY2F0ZWdvcnk6IFwiVXRpbGl0eVwiLFxuICBjb2xvcjogXCIjODRjYzE2XCIsXG4gIGljb246IFwidGktYXJyb3dzLXJpZ2h0LWxlZnRcIixcbiAgd2lkdGg6IDk2LFxuICBoZWlnaHQ6IDk2LFxuICBsYWJlbHM6IFtcImZsb3dcIiwgXCJtYXBcIiwgXCJ0cmFuc2Zvcm1cIl0sXG4gIG1ldGFkYXRhOiB7XG4gICAgdGl0bGU6IFwiTWFwXCIsXG4gICAgZGVzY3JpcHRpb246IFwiVHJhbnNmb3JtcyB0aGUgY3VycmVudCBpbnB1dCBpbnRvIGEgbmV3IG91dHB1dCBvYmplY3QgdXNpbmcgdGhlIGNvbmZpZ3VyZWQgbWFwcGVyLlwiLFxuICAgIG1hcHBlcjoge30sXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBNYXBGbG93Tm9kZSBleHRlbmRzIE1vZGVsIHtcbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiSW5wdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiVmFsdWUgdG8gdHJhbnNmb3JtXCIgfSlcbiAgQGlucHV0KHsgaGFuZGxlOiBcInZhbHVlXCIgfSlcbiAgdmFsdWUhOiB1bmtub3duO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIlRyYW5zZm9ybWVkIG91dHB1dFwiLCBwbGFjZWhvbGRlcjogXCJNYXBwZWQgcmVzdWx0XCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJyZXN1bHRcIiB9KVxuICByZXN1bHQhOiB1bmtub3duO1xufVxuXG4vKipcbiAqIERlbGF5IOKAlCBwYXVzZXMgZXhlY3V0aW9uIGZvciBhIGNvbmZpZ3VyZWQgZHVyYXRpb24uXG4gKi9cbkBub2RlKFwiY29yZS5mbG93LmRlbGF5XCIsIHtcbiAga2luZDogXCJjb3JlLmZsb3cuZGVsYXlcIixcbiAgY2F0ZWdvcnk6IFwiVXRpbGl0eVwiLFxuICBjb2xvcjogXCIjYTNhM2EzXCIsXG4gIGljb246IFwidGktY2xvY2staG91ci00XCIsXG4gIHdpZHRoOiA5NixcbiAgaGVpZ2h0OiA5NixcbiAgbGFiZWxzOiBbXCJmbG93XCIsIFwiZGVsYXlcIiwgXCJ3YWl0XCJdLFxuICBtZXRhZGF0YToge1xuICAgIHRpdGxlOiBcIkRlbGF5XCIsXG4gICAgZGVzY3JpcHRpb246IFwiUGF1c2VzIGV4ZWN1dGlvbiBmb3IgdGhlIGNvbmZpZ3VyZWQgZHVyYXRpb24gKGluIG1pbGxpc2Vjb25kcyksIHRoZW4gZm9yd2FyZHMgdGhlIGlucHV0IHVuY2hhbmdlZC5cIixcbiAgICBkdXJhdGlvbk1zOiAxMDAwLFxuICB9LFxufSlcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgRGVsYXlGbG93Tm9kZSBleHRlbmRzIE1vZGVsIHtcbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiSW5wdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiVmFsdWUgdG8gZm9yd2FyZCBhZnRlciBkZWxheVwiIH0pXG4gIEBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pXG4gIHZhbHVlITogdW5rbm93bjtcblxuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJPdXRwdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiRm9yd2FyZGVkIHZhbHVlXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pXG4gIHZhbHVlT3V0ITogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBFcnJvciBib3VuZGFyeSDigJQgdHJ5L2NhdGNoL2ZpbmFsbHkgd29ya2Zsb3cgYmVoYXZpb3VyLlxuICovXG5Abm9kZShcImNvcmUuZmxvdy5lcnJvckJvdW5kYXJ5XCIsIHtcbiAga2luZDogXCJjb3JlLmZsb3cuZXJyb3JCb3VuZGFyeVwiLFxuICBjYXRlZ29yeTogXCJGbG93IENvbnRyb2xcIixcbiAgY29sb3I6IFwiI2VmNDQ0NFwiLFxuICBpY29uOiBcInRpLXNoaWVsZC1jaGVja1wiLFxuICB3aWR0aDogOTYsXG4gIGhlaWdodDogOTYsXG4gIGxhYmVsczogW1wiZmxvd1wiLCBcImVycm9yXCIsIFwidHJ5LWNhdGNoXCJdLFxuICBtZXRhZGF0YToge1xuICAgIHRpdGxlOiBcIkVycm9yIGJvdW5kYXJ5XCIsXG4gICAgZGVzY3JpcHRpb246IFwiV3JhcHMgdGhlIGlucHV0IGluIGEgdHJ5L2NhdGNoL2ZpbmFsbHkuIEVtaXRzIHRoZSByZXN1bHQgb24gc3VjY2Vzcywgb3IgdGhlIGVycm9yIG9uIGZhaWx1cmUuXCIsXG4gICAgZmluYWxseTogZmFsc2UsXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBFcnJvckJvdW5kYXJ5Rmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIklucHV0IHZhbHVlXCIsIHBsYWNlaG9sZGVyOiBcIlZhbHVlIHRvIGd1YXJkXCIgfSlcbiAgQGlucHV0KHsgaGFuZGxlOiBcInZhbHVlXCIgfSlcbiAgdmFsdWUhOiB1bmtub3duO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIlJlc3VsdFwiLCBwbGFjZWhvbGRlcjogXCJPdXRwdXQgb24gc3VjY2Vzc1wiIH0pXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwicmVzdWx0XCIgfSlcbiAgcmVzdWx0ITogdW5rbm93bjtcblxuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJFcnJvclwiLCBwbGFjZWhvbGRlcjogXCJPdXRwdXQgb24gZmFpbHVyZVwiIH0pXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwiZXJyb3JcIiB9KVxuICBlcnJvciE6IHVua25vd247XG59XG5cbi8qKlxuICogSHVtYW4gYXBwcm92YWwg4oCUIHN1c3BlbmRzIGV4ZWN1dGlvbiB1bnRpbCBhIGh1bWFuIGFwcHJvdmVzIG9yIHJlamVjdHMuXG4gKi9cbkBub2RlKFwiY29yZS5mbG93Lmh1bWFuQXBwcm92YWxcIiwge1xuICBraW5kOiBcImNvcmUuZmxvdy5odW1hbkFwcHJvdmFsXCIsXG4gIGNhdGVnb3J5OiBcIkZsb3cgQ29udHJvbFwiLFxuICBjb2xvcjogXCIjZDk0NmVmXCIsXG4gIGljb246IFwidGktdXNlci1jaGVja1wiLFxuICB3aWR0aDogOTYsXG4gIGhlaWdodDogOTYsXG4gIGxhYmVsczogW1wiZmxvd1wiLCBcImFwcHJvdmFsXCIsIFwic3VzcGVuZFwiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJIdW1hbiBhcHByb3ZhbFwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIlN1c3BlbmRzIGV4ZWN1dGlvbiB1bnRpbCBhIGh1bWFuIGFwcHJvdmVzIG9yIHJlamVjdHMuIEVtaXRzIHRoZSBhcHByb3ZlZCB2YWx1ZSBvciBhIHJlamVjdGlvbi5cIixcbiAgICBhcHByb3ZlcnM6IFtdLFxuICAgIHRpbWVvdXRNczogODY0MDAwMDAsXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBIdW1hbkFwcHJvdmFsRmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIklucHV0IHZhbHVlXCIsIHBsYWNlaG9sZGVyOiBcIlZhbHVlIHBlbmRpbmcgYXBwcm92YWxcIiB9KVxuICBAaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVcIiB9KVxuICB2YWx1ZSE6IHVua25vd247XG5cbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiQXBwcm92ZWRcIiwgcGxhY2Vob2xkZXI6IFwiT3V0cHV0IHdoZW4gYXBwcm92ZWRcIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcImFwcHJvdmVkXCIgfSlcbiAgYXBwcm92ZWQhOiB1bmtub3duO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIlJlamVjdGVkXCIsIHBsYWNlaG9sZGVyOiBcIk91dHB1dCB3aGVuIHJlamVjdGVkXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJyZWplY3RlZFwiIH0pXG4gIHJlamVjdGVkITogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBSZXR1cm4g4oCUIGRlZmluZXMgYW5kIG5vcm1hbGlzZXMgdGhlIGZpbmFsIHdvcmtmbG93IG91dHB1dC5cbiAqL1xuQG5vZGUoXCJjb3JlLmZsb3cucmV0dXJuXCIsIHtcbiAga2luZDogXCJjb3JlLmZsb3cucmV0dXJuXCIsXG4gIGNhdGVnb3J5OiBcIlV0aWxpdHlcIixcbiAgY29sb3I6IFwiIzIyYzU1ZVwiLFxuICBpY29uOiBcInRpLWFycm93LWJhY2stdXBcIixcbiAgd2lkdGg6IDk2LFxuICBoZWlnaHQ6IDk2LFxuICBsYWJlbHM6IFtcImZsb3dcIiwgXCJyZXR1cm5cIiwgXCJvdXRwdXRcIl0sXG4gIG1ldGFkYXRhOiB7XG4gICAgdGl0bGU6IFwiUmV0dXJuXCIsXG4gICAgZGVzY3JpcHRpb246IFwiTm9ybWFsaXNlcyB0aGUgaW5wdXQgaW50byB0aGUgZmluYWwgd29ya2Zsb3cgb3V0cHV0IG9iamVjdC5cIixcbiAgICBvdXRwdXRTY2hlbWE6IHt9LFxuICB9LFxufSlcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgUmV0dXJuRmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIklucHV0IHZhbHVlXCIsIHBsYWNlaG9sZGVyOiBcIlZhbHVlIHRvIG5vcm1hbGlzZVwiIH0pXG4gIEBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pXG4gIHZhbHVlITogdW5rbm93bjtcblxuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJSZXR1cm5lZCBvdXRwdXRcIiwgcGxhY2Vob2xkZXI6IFwiTm9ybWFsaXNlZCBvdXRwdXRcIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcInJlc3VsdFwiIH0pXG4gIHJlc3VsdCE6IHVua25vd247XG59XG5cbi8qKlxuICogQ29kZSDigJQgc2FuZGJveGVkIEpTL1RTIGNvZGUgZXhlY3V0aW9uIChBTEZSRUQtNSDCpzcsIERFQ0FGLTMyIMKnMjIuNCkuXG4gKlxuICogVGhlIGVuZ2luZSdzIHtAbGluayBDb2RlR3JhcGhOb2RlRXhlY3V0b3J9IGRlbGVnYXRlcyB0byB0aGUgcGx1Z2dhYmxlXG4gKiB7QGxpbmsgQ29kZVNhbmRib3hFdmFsdWF0b3J9LiBUaGUgZGVmYXVsdFxuICogYElzb2xhdGVkVm1Db2RlU2FuZGJveEV2YWx1YXRvcmAgKGJhY2tlZCBieSBgaXNvbGF0ZWQtdm1gKSBlbmZvcmNlcyB0aGVcbiAqIENvZGUgTm9kZSByZXN0cmljdGlvbnM6IG5vIGltcG9ydHMsIG5vIHJlcXVpcmVzLCBwdXJlIGZ1bmN0aW9ucyBvbmx5LiBUaGVcbiAqIHNhbmRib3ggY29udGV4dCBleHBvc2VzIGAkaW5wdXRgLCBgJHZhcnNgLCBgJGl0ZW1gLCBgJGluZGV4YCwgYCRub2RlYCwgYW5kXG4gKiBgJG91dHB1dGAgYXMgZGF0YSB2YXJpYWJsZXMuIFR5cGVTY3JpcHQgaXMgc3VwcG9ydGVkIHZpYSB0cmFuc3BpbGF0aW9uLlxuICovXG5cbi8qKlxuICogSW5wdXQgc2NoZW1hIGZvciB0aGUgQ29kZSBub2RlLiBUaGUgYEBpbnB1dGAgb24gYENvZGVGbG93Tm9kZS5pbnB1dGAgaXMgYVxuICogc2NoZW1hIGdyb3VwIOKAlCB0aGUgbmVzdGVkIG1vZGVsJ3MgYEBpbnB1dGAgcG9ydHMgYXJlIHNwbGljZWQgaW50byB0aGVcbiAqIHBhcmVudCB1bnByZWZpeGVkLiBgY29kZWAgaGFzIGBAaW5wdXRgICsgYEB1aWVsZW1lbnQoXCJjb2RlLWVkaXRvclwiKWAsIHNvIGl0XG4gKiBhcHBlYXJzIGFzIGEgcG9ydCBBTkQgaW4gdGhlIENSVUQgbW9kYWwgKHRoZSBvbmx5IHZpc2libGUgZmllbGQpLiBgZGF0YWBcbiAqIGhhcyBgQGlucHV0YCArIGBAaGlkZGVuKClgIGJ1dCBubyBgQHVpZWxlbWVudGAsIHNvIGl0IGlzIGEgY2FudmFzLW9ubHkgcG9ydFxuICogKGZvciBlZGdlIGNvbm5lY3Rpb25zIGZyb20gd29ya2Zsb3cgaW5wdXQgYmFkZ2VzKSBidXQgbmV2ZXIgYXBwZWFycyBpbiB0aGVcbiAqIENSVUQgbW9kYWwuIGBsYW5ndWFnZWAgaGFzIG5vIGBAaW5wdXRgIGFuZCBubyBgQHVpZWxlbWVudGAsIHNvIGl0IGlzXG4gKiBuZWl0aGVyIGEgcG9ydCBub3IgcmVuZGVyZWQg4oCUIGl0IGRlZmF1bHRzIHRvIGBcImphdmFzY3JpcHRcImAuXG4gKi9cbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgQ29kZUlucHV0U2NoZW1hIGV4dGVuZHMgTW9kZWwge1xuICBAcmVxdWlyZWQoKVxuICBsYW5ndWFnZTogc3RyaW5nID0gXCJqYXZhc2NyaXB0XCI7XG5cbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcImNvZGUtZWRpdG9yXCIsIHsgbGFiZWw6IFwiQ29kZVwiLCBwbGFjZWhvbGRlcjogXCIvLyBVc2VyLWF1dGhvcmVkIEpTIGNvZGVcIiB9KVxuICBAaW5wdXQoeyBoYW5kbGU6IFwiY29kZVwiIH0pXG4gIGNvZGUhOiBzdHJpbmc7XG5cbiAgQGhpZGRlbigpXG4gIEBpbnB1dCh7IGhhbmRsZTogXCJkYXRhXCIgfSlcbiAgZGF0YT86IHVua25vd247XG59XG5cbkBub2RlKFwiY29yZS5mbG93LmNvZGVcIiwge1xuICBraW5kOiBcImNvcmUuZmxvdy5jb2RlXCIsXG4gIGNhdGVnb3J5OiBcIlV0aWxpdHlcIixcbiAgY29sb3I6IFwiIzdjM2FlZFwiLFxuICBpY29uOiBcInRpLWNvZGVcIixcbiAgd2lkdGg6IDk2LFxuICBoZWlnaHQ6IDk2LFxuICBsYWJlbHM6IFtcImZsb3dcIiwgXCJjb2RlXCIsIFwic2FuZGJveFwiLCBcInRyYW5zZm9ybVwiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJDb2RlXCIsXG4gICAgZGVzY3JpcHRpb246IFwiUnVucyB1c2VyLWF1dGhvcmVkIEpTL1RTIGluIGEgcmVzdHJpY3RlZCBWTSBzYW5kYm94LiBTdXBwb3J0cyBwbGFjZWhvbGRlciBzeW50YXggZm9yIHdvcmtmbG93IGRhdGEgcmVmZXJlbmNlcy5cIixcbiAgICB0aW1lb3V0TXM6IDEwMDAsXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBDb2RlRmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEBpbnB1dCh7IGhhbmRsZTogXCJpbnB1dFwiLCBtb2RlbDogQ29kZUlucHV0U2NoZW1hIH0pXG4gIGlucHV0ITogQ29kZUlucHV0U2NoZW1hO1xuXG4gIEByZXF1aXJlZCgpXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwicmVzdWx0XCIgfSlcbiAgcmVzdWx0ITogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBMb2cg4oCUIGxvZ3MgdGhlIGlucHV0IHZhbHVlIGFuZCBmb3J3YXJkcyBpdCB1bmNoYW5nZWQgb24gdGhlIGBsb2dnZWRgXG4gKiBvdXRwdXQgcG9ydC4gVXNlZnVsIGZvciBkZWJ1Z2dpbmcsIGF1ZGl0IHRyYWlscywgYW5kIGRpc2NhcmQvc2lkZS1lZmZlY3RcbiAqIGJyYW5jaGVzIGluIGEgd29ya2Zsb3cuXG4gKi9cbkBub2RlKFwiY29yZS5mbG93LmxvZ1wiLCB7XG4gIGtpbmQ6IFwiY29yZS5mbG93LmxvZ1wiLFxuICBjYXRlZ29yeTogXCJVdGlsaXR5XCIsXG4gIGNvbG9yOiBcIiM2MzY2ZjFcIixcbiAgaWNvbjogXCJ0aS10ZXJtaW5hbFwiLFxuICB3aWR0aDogOTYsXG4gIGhlaWdodDogOTYsXG4gIGxhYmVsczogW1wiZmxvd1wiLCBcImxvZ1wiLCBcImRlYnVnXCIsIFwidXRpbGl0eVwiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJMb2dcIixcbiAgICBkZXNjcmlwdGlvbjogXCJMb2dzIHRoZSBpbnB1dCB2YWx1ZSB0byB0aGUgZXhlY3V0aW9uIGxvZ2dlciBhbmQgZm9yd2FyZHMgaXQgdW5jaGFuZ2VkLlwiLFxuICB9LFxufSlcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgTG9nRmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIklucHV0IHZhbHVlXCIsIHBsYWNlaG9sZGVyOiBcIlZhbHVlIHRvIGxvZ1wiIH0pXG4gIEBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pXG4gIHZhbHVlITogdW5rbm93bjtcblxuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJMb2dnZWQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiRm9yd2FyZGVkIHZhbHVlXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJsb2dnZWRcIiB9KVxuICBsb2dnZWQhOiB1bmtub3duO1xufVxuXG4vKipcbiAqIEFsbCBidWlsdC1pbiBmbG93LWNvbnRyb2wgbm9kZSBjb25zdHJ1Y3RvcnMuXG4gKi9cbmV4cG9ydCBjb25zdCBHUkFQSF9GTE9XX0NPTlRST0xfTk9ERVMgPSBbXG4gIElmRmxvd05vZGUsXG4gIFN3aXRjaEZsb3dOb2RlLFxuICBQYXJhbGxlbEZsb3dOb2RlLFxuICBNZXJnZUZsb3dOb2RlLFxuICBNYXBGbG93Tm9kZSxcbiAgRGVsYXlGbG93Tm9kZSxcbiAgRXJyb3JCb3VuZGFyeUZsb3dOb2RlLFxuICBIdW1hbkFwcHJvdmFsRmxvd05vZGUsXG4gIFJldHVybkZsb3dOb2RlLFxuICBDb2RlRmxvd05vZGUsXG4gIExvZ0Zsb3dOb2RlLFxuXSBhcyBjb25zdDtcbiJdfQ==
|
|
548
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZmxvdy1jb250cm9sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDakYsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3SCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDOztRQUMxSCxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FB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QUFFO1lBQ04sS0FBSyxFQUFFLEtBQUs7WUFDWixXQUFXLEVBQUUseUVBQXlFO1NBQ3pGO0tBQ0osQ0FBQztJQUNGLElBQUEsNEJBQUssR0FBRTtDQUNWLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFFaEI7O0dBRUc7QUFDVSxRQUFBLHdCQUF3QixHQUFHO0lBQ3BDLFVBQVU7SUFDVixjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYixXQUFXO0lBQ1gsYUFBYTtJQUNiLHFCQUFxQjtJQUNyQixxQkFBcUI7SUFDckIsY0FBYztJQUNkLFlBQVk7SUFDWixXQUFXO0NBQ2QsQ0FBQztBQUNGLDA5akNBQTA5akMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG52YXIgX19tZXRhZGF0YSA9ICh0aGlzICYmIHRoaXMuX19tZXRhZGF0YSkgfHwgZnVuY3Rpb24gKGssIHYpIHtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEoaywgdik7XG59O1xuLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9ub2Rlcy9mbG93LWNvbnRyb2xcbiAqIEBzdW1tYXJ5IFByb2R1Y3Rpb24gZmxvdy1jb250cm9sIG5vZGUga2luZCBkZWNsYXJhdGlvbnMgKERFQ0FGLTMyIMKnMjIuMi4yKS5cbiAqIEBkZXNjcmlwdGlvbiBDYW5vbmljYWwgYEBub2RlYC1kZWNvcmF0ZWQgY2xhc3NlcyBmb3IgdGhlIHRlbiBBTEZSRUQtNVxuICogZmxvdy1jb250cm9sIGtpbmRzLiBUaGVzZSBhcmUgZ3JhcGgtbGV2ZWwgbWFjcm9zOiB0aGUgZW5naW5lJ3MgcGxhbm5lclxuICogcmVjb2duaXNlcyB0aGVtIGFzIG9yZGluYXJ5IGV4ZWN1dGFibGUgbm9kZXMgKMKnNS43KSBidXQgdGhleSBoYXZlIG5vXG4gKiBidWlsdC1pbiBleGVjdXRvcnMg4oCUIGRvd25zdHJlYW0gcHJvamVjdHMgKGUuZy4gQUxGUkVEKSByZWdpc3RlciBjdXN0b21cbiAqIGV4ZWN1dG9ycyBvciBjb21waWxlIHRoZW0gaW50byBNYXN0cmEgY29tcG9zaXRpb24gQVBJcyAowqcyMi4yLjIpLlxuICpcbiAqIFRoZSB0aHJlZSBsb29wIGtpbmRzIChgY29yZS5sb29wLmZvcmVhY2gvd2hpbGUvdW50aWxgKSBhbHJlYWR5IGhhdmUgYnVpbHQtaW5cbiAqIGV4ZWN1dG9ycyAowqc1LjkpIGFuZCBhcmUgTk9UIHJlZGVjbGFyZWQgaGVyZS5cbiAqL1xuaW1wb3J0IHsgTW9kZWwsIG1vZGVsLCByZXF1aXJlZCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IHVpZWxlbWVudCwgaGlkZGVuIH0gZnJvbSBcIkBkZWNhZi10cy91aS1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBncmFwaERlZmluaXRpb25PZiwgaW5wdXQsIG5vZGUsIG91dHB1dCwgUG9ydERpcmVjdGlvbiwgfSBmcm9tIFwiQGRlY2FmLXRzL3VpLWRlY29yYXRvcnMvZ3JhcGhcIjtcbmltcG9ydCB7IEdyYXBoTm9kZSB9IGZyb20gXCIuL2Jhc2UuanNcIjtcbi8qKlxuICogSWYg4oCUIGNvbmRpdGlvbmFsIGJyYW5jaC4gRXZhbHVhdGVzIGEgYENvbmRpdGlvbkV4cHJlc3Npb25gICjCpzIyLjMpIGFuZFxuICogcm91dGVzIHRoZSBpbnB1dCB0byB0aGUgYHRoZW5gIG9yIGBlbHNlYCBvdXRwdXQuXG4gKi9cbmxldCBJZkZsb3dOb2RlID0gY2xhc3MgSWZGbG93Tm9kZSBleHRlbmRzIE1vZGVsIHtcbn07XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiSW5wdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiVmFsdWUgdG8gZXZhbHVhdGVcIiB9KSxcbiAgICBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBJZkZsb3dOb2RlLnByb3RvdHlwZSwgXCJ2YWx1ZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIlRoZW5cIiwgcGxhY2Vob2xkZXI6IFwiT3V0cHV0IHdoZW4gY29uZGl0aW9uIGlzIHRydWVcIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwidGhlblwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBJZkZsb3dOb2RlLnByb3RvdHlwZSwgXCJ0aGVuXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiRWxzZVwiLCBwbGFjZWhvbGRlcjogXCJPdXRwdXQgd2hlbiBjb25kaXRpb24gaXMgZmFsc2VcIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwiZWxzZVwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBJZkZsb3dOb2RlLnByb3RvdHlwZSwgXCJlbHNlXCIsIHZvaWQgMCk7XG5JZkZsb3dOb2RlID0gX19kZWNvcmF0ZShbXG4gICAgbm9kZShcImNvcmUuZmxvdy5pZlwiLCB7XG4gICAgICAgIGtpbmQ6IFwiY29yZS5mbG93LmlmXCIsXG4gICAgICAgIGNhdGVnb3J5OiBcIkZsb3cgQ29udHJvbFwiLFxuICAgICAgICBjb2xvcjogXCIjZjU5ZTBiXCIsXG4gICAgICAgIGljb246IFwidGktYXJyb3dzLXNwbGl0LTJcIixcbiAgICAgICAgd2lkdGg6IDk2LFxuICAgICAgICBoZWlnaHQ6IDk2LFxuICAgICAgICBsYWJlbHM6IFtcImZsb3dcIiwgXCJjb25kaXRpb25hbFwiLCBcImJyYW5jaFwiXSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIHRpdGxlOiBcIklmXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJDb25kaXRpb25hbCBicmFuY2guIEV2YWx1YXRlcyB0aGUgY29uZmlndXJlZCBjb25kaXRpb24gYW5kIHJvdXRlcyB0aGUgaW5wdXQgdG8gdGhlIG1hdGNoaW5nIG91dHB1dC5cIixcbiAgICAgICAgICAgIGNvbmRpdGlvbjogeyBvcDogXCJlcVwiLCBsZWZ0OiB7IGNvbnN0OiB0cnVlIH0sIHJpZ2h0OiB7IGNvbnN0OiB0cnVlIH0gfSxcbiAgICAgICAgfSxcbiAgICB9KSxcbiAgICBtb2RlbCgpXG5dLCBJZkZsb3dOb2RlKTtcbmV4cG9ydCB7IElmRmxvd05vZGUgfTtcbi8qKlxuICogU3dpdGNoIOKAlCBtdWx0aS1icmFuY2guIFJvdXRlcyB0aGUgaW5wdXQgdG8gb25lIG9mIHRoZSBjYXNlIG91dHB1dCBwb3J0c1xuICogb3IgYGRlZmF1bHRgIGJhc2VkIG9uIG1hdGNoaW5nIGNvbmRpdGlvbnMuIEVhY2ggY2FzZSBkZWZpbmVzIGFcbiAqIHtAbGluayBTd2l0Y2hDYXNlQ29uZGl0aW9ufSAoZ3JhcGhpY2FsIG9yIGNvZGUgbW9kZSkgYW5kIGEgZGVkaWNhdGVkXG4gKiBvdXRwdXQgcG9ydC4gQ2FzZXMgYXJlIHN0b3JlZCBpbiBgbWV0YWRhdGEuc3dpdGNoLmNhc2VzYCBhbmQgdGhlXG4gKiByZW5kZXJlciBjcmVhdGVzIGR5bmFtaWMgb3V0cHV0IHBvcnRzIGZyb20gdGhlbSAoREVDQUYtMzIgwqcyMi4yLjIpLlxuICpcbiAqIFRoZSBub2RlIGdyb3dzIGluIGhlaWdodCBhcyBjYXNlcyBhcmUgYWRkZWQuIEVhY2ggY2FzZSBnZXRzIGl0cyBvd25cbiAqIG91dHB1dCBwb3J0IG9uIHRoZSByaWdodCBzaWRlLCBsYWJlbGVkIHdpdGggdGhlIGNhc2UgbGFiZWwuXG4gKi9cbmxldCBTd2l0Y2hGbG93Tm9kZSA9IGNsYXNzIFN3aXRjaEZsb3dOb2RlIGV4dGVuZHMgR3JhcGhOb2RlIHtcbiAgICAvKipcbiAgICAgKiBDb21wdXRlcyB0aGUgbm9kZSdzIHBvcnRzLCBzaXplLCBhbmQgZGF0YSBwYXRjaCBmcm9tIHRoZSBnaXZlbiBzd2l0Y2hcbiAgICAgKiBtZXRhZGF0YS4gRWFjaCBjYXNlIGdldHMgaXRzIG93biBvdXRwdXQgcG9ydCBvbiB0aGUgcmlnaHQgc2lkZTsgdGhlXG4gICAgICogYGRlZmF1bHRgIHBvcnQgYWx3YXlzIHJlbmRlcnMgKipsYXN0KiogKERFQ0FGLTMyIMKnMjEgcG9ydC1vcmRlcmluZyBydWxlLFxuICAgICAqIERFQ0FGLTM0IMKnNi4yKS4gV2hlbiBgaGFzRGVmYXVsdGAgaXMgYGZhbHNlYCwgdGhlIGBkZWZhdWx0YCBvdXRwdXQgcG9ydFxuICAgICAqIGlzIG9taXR0ZWQgZW50aXJlbHkuIFRoZSBub2RlIGdyb3dzIGluIGhlaWdodCBhcyBjYXNlcyBhcmUgYWRkZWQuXG4gICAgICovXG4gICAgc3RhdGljIGFwcGx5TWV0YWRhdGEobWV0YSkge1xuICAgICAgICBjb25zdCBkZWZpbml0aW9uID0gZ3JhcGhEZWZpbml0aW9uT2YodGhpcyk7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRQb3J0TmFtZSA9IG1ldGEuZGVmYXVsdFBvcnQgPz8gXCJkZWZhdWx0XCI7XG4gICAgICAgIGNvbnN0IGhhc0RlZmF1bHQgPSBtZXRhLmhhc0RlZmF1bHQgPT09IHRydWU7XG4gICAgICAgIC8vIEJhc2UgcG9ydHMgZXhjbHVkaW5nIGFueSBwb3J0IHRoYXQgY29sbGlkZXMgd2l0aCBhIGNhc2Ugb3V0cHV0IHBvcnQuXG4gICAgICAgIGNvbnN0IGJhc2VQb3J0cyA9IGRlZmluaXRpb24ucG9ydHMuZmlsdGVyKChwKSA9PiAhbWV0YS5jYXNlcy5zb21lKChjKSA9PiBjLm91dHB1dFBvcnQgPT09IHAucHJvcGVydHkpKTtcbiAgICAgICAgLy8gU2VwYXJhdGUgdGhlIGRlZmF1bHQgb3V0cHV0IHBvcnQgc28gaXQgY2FuIGJlIHBsYWNlZCBsYXN0IChvciBvbWl0dGVkKS5cbiAgICAgICAgY29uc3Qgbm9uRGVmYXVsdFBvcnRzID0gYmFzZVBvcnRzLmZpbHRlcigocCkgPT4gcC5wcm9wZXJ0eSAhPT0gZGVmYXVsdFBvcnROYW1lKTtcbiAgICAgICAgY29uc3QgZGVmYXVsdFBvcnQgPSBiYXNlUG9ydHMuZmluZCgocCkgPT4gcC5wcm9wZXJ0eSA9PT0gZGVmYXVsdFBvcnROYW1lKTtcbiAgICAgICAgY29uc3QgY2FzZVBvcnRzID0gbWV0YS5jYXNlcy5tYXAoKGMpID0+ICh7XG4gICAgICAgICAgICBwcm9wZXJ0eTogYy5vdXRwdXRQb3J0LFxuICAgICAgICAgICAgbmFtZTogYy5sYWJlbCxcbiAgICAgICAgICAgIGRpcmVjdGlvbjogUG9ydERpcmVjdGlvbi5PVVRQVVQsXG4gICAgICAgICAgICBsYWJlbDogYy5sYWJlbCxcbiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgICAgIGhpZGRlbjogZmFsc2UsXG4gICAgICAgICAgICBwYXRoOiBjLm91dHB1dFBvcnQsXG4gICAgICAgIH0pKTtcbiAgICAgICAgLy8gUG9ydCBvcmRlcjogaW5wdXRzL25vbi1kZWZhdWx0IG91dHB1dHMgZmlyc3QsIGNhc2Ugb3V0cHV0cyBuZXh0LCBkZWZhdWx0IGxhc3QuXG4gICAgICAgIGNvbnN0IHBvcnRzID0gWy4uLm5vbkRlZmF1bHRQb3J0cywgLi4uY2FzZVBvcnRzXTtcbiAgICAgICAgaWYgKGhhc0RlZmF1bHQgJiYgZGVmYXVsdFBvcnQpIHtcbiAgICAgICAgICAgIHBvcnRzLnB1c2goZGVmYXVsdFBvcnQpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNhc2VDb3VudCA9IG1ldGEuY2FzZXMubGVuZ3RoO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcG9ydHMsXG4gICAgICAgICAgICBzaXplOiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGRlZmluaXRpb24ud2lkdGggPz8gMTIwLFxuICAgICAgICAgICAgICAgIGhlaWdodDogY2FzZUNvdW50ID4gMCA/IDE0MCArIGNhc2VDb3VudCAqIDI0IDogZGVmaW5pdGlvbi5oZWlnaHQgPz8gMTQwLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRhdGFQYXRjaDogeyBzd2l0Y2hNZXRhZGF0YTogbWV0YSB9LFxuICAgICAgICB9O1xuICAgIH1cbn07XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiSW5wdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiVmFsdWUgdG8gc3dpdGNoIG9uXCIgfSksXG4gICAgaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgU3dpdGNoRmxvd05vZGUucHJvdG90eXBlLCBcInZhbHVlXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiRGVmYXVsdFwiLCBwbGFjZWhvbGRlcjogXCJEZWZhdWx0IG91dHB1dCB3aGVuIG5vIGNhc2UgbWF0Y2hlc1wiIH0pLFxuICAgIG91dHB1dCh7IGhhbmRsZTogXCJkZWZhdWx0XCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIFN3aXRjaEZsb3dOb2RlLnByb3RvdHlwZSwgXCJkZWZhdWx0XCIsIHZvaWQgMCk7XG5Td2l0Y2hGbG93Tm9kZSA9IF9fZGVjb3JhdGUoW1xuICAgIG5vZGUoXCJjb3JlLmZsb3cuc3dpdGNoXCIsIHtcbiAgICAgICAga2luZDogXCJjb3JlLmZsb3cuc3dpdGNoXCIsXG4gICAgICAgIGNhdGVnb3J5OiBcIkZsb3cgQ29udHJvbFwiLFxuICAgICAgICBjb2xvcjogXCIjZjk3MzE2XCIsXG4gICAgICAgIGljb246IFwidGktYXJyb3dzLXNodWZmbGVcIixcbiAgICAgICAgd2lkdGg6IDEyMCxcbiAgICAgICAgaGVpZ2h0OiAxNDAsXG4gICAgICAgIGxhYmVsczogW1wiZmxvd1wiLCBcInN3aXRjaFwiLCBcIm11bHRpLWJyYW5jaFwiXSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIHRpdGxlOiBcIlN3aXRjaFwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTXVsdGktYnJhbmNoIHN3aXRjaC4gUm91dGVzIHRoZSBpbnB1dCB0byB0aGUgZmlyc3QgbWF0Y2hpbmcgY2FzZSBvdXRwdXQsIG9yIHRoZSBkZWZhdWx0IG91dHB1dC5cIixcbiAgICAgICAgICAgIHN3aXRjaDoge1xuICAgICAgICAgICAgICAgIGNhc2VzOiBbXSxcbiAgICAgICAgICAgICAgICBkZWZhdWx0UG9ydDogXCJkZWZhdWx0XCIsXG4gICAgICAgICAgICAgICAgaGFzRGVmYXVsdDogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIH0pLFxuICAgIG1vZGVsKClcbl0sIFN3aXRjaEZsb3dOb2RlKTtcbmV4cG9ydCB7IFN3aXRjaEZsb3dOb2RlIH07XG4vKipcbiAqIFBhcmFsbGVsIOKAlCBzcGxpdHMgZXhlY3V0aW9uIGludG8gY29uY3VycmVudCBicmFuY2hlcy5cbiAqL1xubGV0IFBhcmFsbGVsRmxvd05vZGUgPSBjbGFzcyBQYXJhbGxlbEZsb3dOb2RlIGV4dGVuZHMgTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJJbnB1dCB2YWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJWYWx1ZSB0byBmYW4gb3V0XCIgfSksXG4gICAgaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgUGFyYWxsZWxGbG93Tm9kZS5wcm90b3R5cGUsIFwidmFsdWVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJCcmFuY2hlc1wiLCBwbGFjZWhvbGRlcjogXCJDb2xsZWN0ZWQgYnJhbmNoIG91dHB1dHNcIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwiYnJhbmNoZXNcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgQXJyYXkpXG5dLCBQYXJhbGxlbEZsb3dOb2RlLnByb3RvdHlwZSwgXCJicmFuY2hlc1wiLCB2b2lkIDApO1xuUGFyYWxsZWxGbG93Tm9kZSA9IF9fZGVjb3JhdGUoW1xuICAgIG5vZGUoXCJjb3JlLmZsb3cucGFyYWxsZWxcIiwge1xuICAgICAgICBraW5kOiBcImNvcmUuZmxvdy5wYXJhbGxlbFwiLFxuICAgICAgICBjYXRlZ29yeTogXCJGbG93IENvbnRyb2xcIixcbiAgICAgICAgY29sb3I6IFwiIzA2YjZkNFwiLFxuICAgICAgICBpY29uOiBcInRpLWFycm93cy12ZXJ0aWNhbFwiLFxuICAgICAgICB3aWR0aDogOTYsXG4gICAgICAgIGhlaWdodDogOTYsXG4gICAgICAgIGxhYmVsczogW1wiZmxvd1wiLCBcInBhcmFsbGVsXCIsIFwiY29uY3VycmVudFwiXSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIHRpdGxlOiBcIlBhcmFsbGVsXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJTcGxpdHMgZXhlY3V0aW9uIGludG8gY29uY3VycmVudCBicmFuY2hlcy4gQWxsIGJyYW5jaGVzIHJ1biBpbiBwYXJhbGxlbCBhbmQgb3V0cHV0cyBhcmUgY29sbGVjdGVkLlwiLFxuICAgICAgICAgICAgYnJhbmNoQ291bnQ6IDIsXG4gICAgICAgIH0sXG4gICAgfSksXG4gICAgbW9kZWwoKVxuXSwgUGFyYWxsZWxGbG93Tm9kZSk7XG5leHBvcnQgeyBQYXJhbGxlbEZsb3dOb2RlIH07XG4vKipcbiAqIE1lcmdlIOKAlCBub3JtYWxpc2VzIGJyYW5jaC9wYXJhbGxlbCBvdXRwdXRzIGludG8gYSBzaW5nbGUgb3V0cHV0LlxuICovXG5sZXQgTWVyZ2VGbG93Tm9kZSA9IGNsYXNzIE1lcmdlRmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIkJyYW5jaCBvdXRwdXRzXCIsIHBsYWNlaG9sZGVyOiBcIk91dHB1dHMgdG8gbWVyZ2VcIiB9KSxcbiAgICBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZXNcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgQXJyYXkpXG5dLCBNZXJnZUZsb3dOb2RlLnByb3RvdHlwZSwgXCJ2YWx1ZXNcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJNZXJnZWQgb3V0cHV0XCIsIHBsYWNlaG9sZGVyOiBcIk1lcmdlZCByZXN1bHRcIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwibWVyZ2VkXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIE1lcmdlRmxvd05vZGUucHJvdG90eXBlLCBcIm1lcmdlZFwiLCB2b2lkIDApO1xuTWVyZ2VGbG93Tm9kZSA9IF9fZGVjb3JhdGUoW1xuICAgIG5vZGUoXCJjb3JlLmZsb3cubWVyZ2VcIiwge1xuICAgICAgICBraW5kOiBcImNvcmUuZmxvdy5tZXJnZVwiLFxuICAgICAgICBjYXRlZ29yeTogXCJVdGlsaXR5XCIsXG4gICAgICAgIGNvbG9yOiBcIiMwZDk0ODhcIixcbiAgICAgICAgaWNvbjogXCJ0aS1hcnJvd3MtbWVyZ2VcIixcbiAgICAgICAgd2lkdGg6IDk2LFxuICAgICAgICBoZWlnaHQ6IDk2LFxuICAgICAgICBsYWJlbHM6IFtcImZsb3dcIiwgXCJtZXJnZVwiLCBcImpvaW5cIl0sXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICB0aXRsZTogXCJNZXJnZVwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTWVyZ2VzIG11bHRpcGxlIGJyYW5jaCBvdXRwdXRzIGludG8gYSBzaW5nbGUgbm9ybWFsaXNlZCBvdXRwdXQgb2JqZWN0LlwiLFxuICAgICAgICAgICAgc3RyYXRlZ3k6IFwiY29uY2F0XCIsXG4gICAgICAgIH0sXG4gICAgfSksXG4gICAgbW9kZWwoKVxuXSwgTWVyZ2VGbG93Tm9kZSk7XG5leHBvcnQgeyBNZXJnZUZsb3dOb2RlIH07XG4vKipcbiAqIE1hcCDigJQgdHJhbnNmb3JtcyB0aGUgY3VycmVudCBpbnB1dCBpbnRvIGEgbmV3IG91dHB1dCBvYmplY3QuXG4gKi9cbmxldCBNYXBGbG93Tm9kZSA9IGNsYXNzIE1hcEZsb3dOb2RlIGV4dGVuZHMgTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJJbnB1dCB2YWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJWYWx1ZSB0byB0cmFuc2Zvcm1cIiB9KSxcbiAgICBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBNYXBGbG93Tm9kZS5wcm90b3R5cGUsIFwidmFsdWVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJUcmFuc2Zvcm1lZCBvdXRwdXRcIiwgcGxhY2Vob2xkZXI6IFwiTWFwcGVkIHJlc3VsdFwiIH0pLFxuICAgIG91dHB1dCh7IGhhbmRsZTogXCJyZXN1bHRcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgTWFwRmxvd05vZGUucHJvdG90eXBlLCBcInJlc3VsdFwiLCB2b2lkIDApO1xuTWFwRmxvd05vZGUgPSBfX2RlY29yYXRlKFtcbiAgICBub2RlKFwiY29yZS5mbG93Lm1hcFwiLCB7XG4gICAgICAgIGtpbmQ6IFwiY29yZS5mbG93Lm1hcFwiLFxuICAgICAgICBjYXRlZ29yeTogXCJVdGlsaXR5XCIsXG4gICAgICAgIGNvbG9yOiBcIiM4NGNjMTZcIixcbiAgICAgICAgaWNvbjogXCJ0aS1hcnJvd3MtcmlnaHQtbGVmdFwiLFxuICAgICAgICB3aWR0aDogOTYsXG4gICAgICAgIGhlaWdodDogOTYsXG4gICAgICAgIGxhYmVsczogW1wiZmxvd1wiLCBcIm1hcFwiLCBcInRyYW5zZm9ybVwiXSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIHRpdGxlOiBcIk1hcFwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVHJhbnNmb3JtcyB0aGUgY3VycmVudCBpbnB1dCBpbnRvIGEgbmV3IG91dHB1dCBvYmplY3QgdXNpbmcgdGhlIGNvbmZpZ3VyZWQgbWFwcGVyLlwiLFxuICAgICAgICAgICAgbWFwcGVyOiB7fSxcbiAgICAgICAgfSxcbiAgICB9KSxcbiAgICBtb2RlbCgpXG5dLCBNYXBGbG93Tm9kZSk7XG5leHBvcnQgeyBNYXBGbG93Tm9kZSB9O1xuLyoqXG4gKiBEZWxheSDigJQgcGF1c2VzIGV4ZWN1dGlvbiBmb3IgYSBjb25maWd1cmVkIGR1cmF0aW9uLlxuICovXG5sZXQgRGVsYXlGbG93Tm9kZSA9IGNsYXNzIERlbGF5Rmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIklucHV0IHZhbHVlXCIsIHBsYWNlaG9sZGVyOiBcIlZhbHVlIHRvIGZvcndhcmQgYWZ0ZXIgZGVsYXlcIiB9KSxcbiAgICBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBEZWxheUZsb3dOb2RlLnByb3RvdHlwZSwgXCJ2YWx1ZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIk91dHB1dCB2YWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJGb3J3YXJkZWQgdmFsdWVcIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwidmFsdWVcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgRGVsYXlGbG93Tm9kZS5wcm90b3R5cGUsIFwidmFsdWVPdXRcIiwgdm9pZCAwKTtcbkRlbGF5Rmxvd05vZGUgPSBfX2RlY29yYXRlKFtcbiAgICBub2RlKFwiY29yZS5mbG93LmRlbGF5XCIsIHtcbiAgICAgICAga2luZDogXCJjb3JlLmZsb3cuZGVsYXlcIixcbiAgICAgICAgY2F0ZWdvcnk6IFwiVXRpbGl0eVwiLFxuICAgICAgICBjb2xvcjogXCIjYTNhM2EzXCIsXG4gICAgICAgIGljb246IFwidGktY2xvY2staG91ci00XCIsXG4gICAgICAgIHdpZHRoOiA5NixcbiAgICAgICAgaGVpZ2h0OiA5NixcbiAgICAgICAgbGFiZWxzOiBbXCJmbG93XCIsIFwiZGVsYXlcIiwgXCJ3YWl0XCJdLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgdGl0bGU6IFwiRGVsYXlcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlBhdXNlcyBleGVjdXRpb24gZm9yIHRoZSBjb25maWd1cmVkIGR1cmF0aW9uIChpbiBtaWxsaXNlY29uZHMpLCB0aGVuIGZvcndhcmRzIHRoZSBpbnB1dCB1bmNoYW5nZWQuXCIsXG4gICAgICAgICAgICBkdXJhdGlvbk1zOiAxMDAwLFxuICAgICAgICB9LFxuICAgIH0pLFxuICAgIG1vZGVsKClcbl0sIERlbGF5Rmxvd05vZGUpO1xuZXhwb3J0IHsgRGVsYXlGbG93Tm9kZSB9O1xuLyoqXG4gKiBFcnJvciBib3VuZGFyeSDigJQgdHJ5L2NhdGNoL2ZpbmFsbHkgd29ya2Zsb3cgYmVoYXZpb3VyLlxuICovXG5sZXQgRXJyb3JCb3VuZGFyeUZsb3dOb2RlID0gY2xhc3MgRXJyb3JCb3VuZGFyeUZsb3dOb2RlIGV4dGVuZHMgTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJJbnB1dCB2YWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJWYWx1ZSB0byBndWFyZFwiIH0pLFxuICAgIGlucHV0KHsgaGFuZGxlOiBcInZhbHVlXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIEVycm9yQm91bmRhcnlGbG93Tm9kZS5wcm90b3R5cGUsIFwidmFsdWVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJSZXN1bHRcIiwgcGxhY2Vob2xkZXI6IFwiT3V0cHV0IG9uIHN1Y2Nlc3NcIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwicmVzdWx0XCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIEVycm9yQm91bmRhcnlGbG93Tm9kZS5wcm90b3R5cGUsIFwicmVzdWx0XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiRXJyb3JcIiwgcGxhY2Vob2xkZXI6IFwiT3V0cHV0IG9uIGZhaWx1cmVcIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwiZXJyb3JcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgRXJyb3JCb3VuZGFyeUZsb3dOb2RlLnByb3RvdHlwZSwgXCJlcnJvclwiLCB2b2lkIDApO1xuRXJyb3JCb3VuZGFyeUZsb3dOb2RlID0gX19kZWNvcmF0ZShbXG4gICAgbm9kZShcImNvcmUuZmxvdy5lcnJvckJvdW5kYXJ5XCIsIHtcbiAgICAgICAga2luZDogXCJjb3JlLmZsb3cuZXJyb3JCb3VuZGFyeVwiLFxuICAgICAgICBjYXRlZ29yeTogXCJGbG93IENvbnRyb2xcIixcbiAgICAgICAgY29sb3I6IFwiI2VmNDQ0NFwiLFxuICAgICAgICBpY29uOiBcInRpLXNoaWVsZC1jaGVja1wiLFxuICAgICAgICB3aWR0aDogOTYsXG4gICAgICAgIGhlaWdodDogOTYsXG4gICAgICAgIGxhYmVsczogW1wiZmxvd1wiLCBcImVycm9yXCIsIFwidHJ5LWNhdGNoXCJdLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgdGl0bGU6IFwiRXJyb3IgYm91bmRhcnlcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIldyYXBzIHRoZSBpbnB1dCBpbiBhIHRyeS9jYXRjaC9maW5hbGx5LiBFbWl0cyB0aGUgcmVzdWx0IG9uIHN1Y2Nlc3MsIG9yIHRoZSBlcnJvciBvbiBmYWlsdXJlLlwiLFxuICAgICAgICAgICAgZmluYWxseTogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgfSksXG4gICAgbW9kZWwoKVxuXSwgRXJyb3JCb3VuZGFyeUZsb3dOb2RlKTtcbmV4cG9ydCB7IEVycm9yQm91bmRhcnlGbG93Tm9kZSB9O1xuLyoqXG4gKiBIdW1hbiBhcHByb3ZhbCDigJQgc3VzcGVuZHMgZXhlY3V0aW9uIHVudGlsIGEgaHVtYW4gYXBwcm92ZXMgb3IgcmVqZWN0cy5cbiAqL1xubGV0IEh1bWFuQXBwcm92YWxGbG93Tm9kZSA9IGNsYXNzIEh1bWFuQXBwcm92YWxGbG93Tm9kZSBleHRlbmRzIE1vZGVsIHtcbn07XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiSW5wdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiVmFsdWUgcGVuZGluZyBhcHByb3ZhbFwiIH0pLFxuICAgIGlucHV0KHsgaGFuZGxlOiBcInZhbHVlXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIEh1bWFuQXBwcm92YWxGbG93Tm9kZS5wcm90b3R5cGUsIFwidmFsdWVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJBcHByb3ZlZFwiLCBwbGFjZWhvbGRlcjogXCJPdXRwdXQgd2hlbiBhcHByb3ZlZFwiIH0pLFxuICAgIG91dHB1dCh7IGhhbmRsZTogXCJhcHByb3ZlZFwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBIdW1hbkFwcHJvdmFsRmxvd05vZGUucHJvdG90eXBlLCBcImFwcHJvdmVkXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiUmVqZWN0ZWRcIiwgcGxhY2Vob2xkZXI6IFwiT3V0cHV0IHdoZW4gcmVqZWN0ZWRcIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwicmVqZWN0ZWRcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgSHVtYW5BcHByb3ZhbEZsb3dOb2RlLnByb3RvdHlwZSwgXCJyZWplY3RlZFwiLCB2b2lkIDApO1xuSHVtYW5BcHByb3ZhbEZsb3dOb2RlID0gX19kZWNvcmF0ZShbXG4gICAgbm9kZShcImNvcmUuZmxvdy5odW1hbkFwcHJvdmFsXCIsIHtcbiAgICAgICAga2luZDogXCJjb3JlLmZsb3cuaHVtYW5BcHByb3ZhbFwiLFxuICAgICAgICBjYXRlZ29yeTogXCJGbG93IENvbnRyb2xcIixcbiAgICAgICAgY29sb3I6IFwiI2Q5NDZlZlwiLFxuICAgICAgICBpY29uOiBcInRpLXVzZXItY2hlY2tcIixcbiAgICAgICAgd2lkdGg6IDk2LFxuICAgICAgICBoZWlnaHQ6IDk2LFxuICAgICAgICBsYWJlbHM6IFtcImZsb3dcIiwgXCJhcHByb3ZhbFwiLCBcInN1c3BlbmRcIl0sXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICB0aXRsZTogXCJIdW1hbiBhcHByb3ZhbFwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiU3VzcGVuZHMgZXhlY3V0aW9uIHVudGlsIGEgaHVtYW4gYXBwcm92ZXMgb3IgcmVqZWN0cy4gRW1pdHMgdGhlIGFwcHJvdmVkIHZhbHVlIG9yIGEgcmVqZWN0aW9uLlwiLFxuICAgICAgICAgICAgYXBwcm92ZXJzOiBbXSxcbiAgICAgICAgICAgIHRpbWVvdXRNczogODY0MDAwMDAsXG4gICAgICAgIH0sXG4gICAgfSksXG4gICAgbW9kZWwoKVxuXSwgSHVtYW5BcHByb3ZhbEZsb3dOb2RlKTtcbmV4cG9ydCB7IEh1bWFuQXBwcm92YWxGbG93Tm9kZSB9O1xuLyoqXG4gKiBSZXR1cm4g4oCUIGRlZmluZXMgYW5kIG5vcm1hbGlzZXMgdGhlIGZpbmFsIHdvcmtmbG93IG91dHB1dC5cbiAqL1xubGV0IFJldHVybkZsb3dOb2RlID0gY2xhc3MgUmV0dXJuRmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIklucHV0IHZhbHVlXCIsIHBsYWNlaG9sZGVyOiBcIlZhbHVlIHRvIG5vcm1hbGlzZVwiIH0pLFxuICAgIGlucHV0KHsgaGFuZGxlOiBcInZhbHVlXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIFJldHVybkZsb3dOb2RlLnByb3RvdHlwZSwgXCJ2YWx1ZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIlJldHVybmVkIG91dHB1dFwiLCBwbGFjZWhvbGRlcjogXCJOb3JtYWxpc2VkIG91dHB1dFwiIH0pLFxuICAgIG91dHB1dCh7IGhhbmRsZTogXCJyZXN1bHRcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgUmV0dXJuRmxvd05vZGUucHJvdG90eXBlLCBcInJlc3VsdFwiLCB2b2lkIDApO1xuUmV0dXJuRmxvd05vZGUgPSBfX2RlY29yYXRlKFtcbiAgICBub2RlKFwiY29yZS5mbG93LnJldHVyblwiLCB7XG4gICAgICAgIGtpbmQ6IFwiY29yZS5mbG93LnJldHVyblwiLFxuICAgICAgICBjYXRlZ29yeTogXCJVdGlsaXR5XCIsXG4gICAgICAgIGNvbG9yOiBcIiMyMmM1NWVcIixcbiAgICAgICAgaWNvbjogXCJ0aS1hcnJvdy1iYWNrLXVwXCIsXG4gICAgICAgIHdpZHRoOiA5NixcbiAgICAgICAgaGVpZ2h0OiA5NixcbiAgICAgICAgbGFiZWxzOiBbXCJmbG93XCIsIFwicmV0dXJuXCIsIFwib3V0cHV0XCJdLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgdGl0bGU6IFwiUmV0dXJuXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJOb3JtYWxpc2VzIHRoZSBpbnB1dCBpbnRvIHRoZSBmaW5hbCB3b3JrZmxvdyBvdXRwdXQgb2JqZWN0LlwiLFxuICAgICAgICAgICAgb3V0cHV0U2NoZW1hOiB7fSxcbiAgICAgICAgfSxcbiAgICB9KSxcbiAgICBtb2RlbCgpXG5dLCBSZXR1cm5GbG93Tm9kZSk7XG5leHBvcnQgeyBSZXR1cm5GbG93Tm9kZSB9O1xuLyoqXG4gKiBDb2RlIOKAlCBzYW5kYm94ZWQgSlMvVFMgY29kZSBleGVjdXRpb24gKEFMRlJFRC01IMKnNywgREVDQUYtMzIgwqcyMi40KS5cbiAqXG4gKiBUaGUgZW5naW5lJ3Mge0BsaW5rIENvZGVHcmFwaE5vZGVFeGVjdXRvcn0gZGVsZWdhdGVzIHRvIHRoZSBwbHVnZ2FibGVcbiAqIHtAbGluayBDb2RlU2FuZGJveEV2YWx1YXRvcn0uIFRoZSBkZWZhdWx0XG4gKiBgSXNvbGF0ZWRWbUNvZGVTYW5kYm94RXZhbHVhdG9yYCAoYmFja2VkIGJ5IGBpc29sYXRlZC12bWApIGVuZm9yY2VzIHRoZVxuICogQ29kZSBOb2RlIHJlc3RyaWN0aW9uczogbm8gaW1wb3J0cywgbm8gcmVxdWlyZXMsIHB1cmUgZnVuY3Rpb25zIG9ubHkuIFRoZVxuICogc2FuZGJveCBjb250ZXh0IGV4cG9zZXMgYCRpbnB1dGAsIGAkdmFyc2AsIGAkaXRlbWAsIGAkaW5kZXhgLCBgJG5vZGVgLCBhbmRcbiAqIGAkb3V0cHV0YCBhcyBkYXRhIHZhcmlhYmxlcy4gVHlwZVNjcmlwdCBpcyBzdXBwb3J0ZWQgdmlhIHRyYW5zcGlsYXRpb24uXG4gKi9cbi8qKlxuICogSW5wdXQgc2NoZW1hIGZvciB0aGUgQ29kZSBub2RlLiBUaGUgYEBpbnB1dGAgb24gYENvZGVGbG93Tm9kZS5pbnB1dGAgaXMgYVxuICogc2NoZW1hIGdyb3VwIOKAlCB0aGUgbmVzdGVkIG1vZGVsJ3MgYEBpbnB1dGAgcG9ydHMgYXJlIHNwbGljZWQgaW50byB0aGVcbiAqIHBhcmVudCB1bnByZWZpeGVkLiBgY29kZWAgaGFzIGBAaW5wdXRgICsgYEB1aWVsZW1lbnQoXCJjb2RlLWVkaXRvclwiKWAsIHNvIGl0XG4gKiBhcHBlYXJzIGFzIGEgcG9ydCBBTkQgaW4gdGhlIENSVUQgbW9kYWwgKHRoZSBvbmx5IHZpc2libGUgZmllbGQpLiBgZGF0YWBcbiAqIGhhcyBgQGlucHV0YCArIGBAaGlkZGVuKClgIGJ1dCBubyBgQHVpZWxlbWVudGAsIHNvIGl0IGlzIGEgY2FudmFzLW9ubHkgcG9ydFxuICogKGZvciBlZGdlIGNvbm5lY3Rpb25zIGZyb20gd29ya2Zsb3cgaW5wdXQgYmFkZ2VzKSBidXQgbmV2ZXIgYXBwZWFycyBpbiB0aGVcbiAqIENSVUQgbW9kYWwuIGBsYW5ndWFnZWAgaGFzIG5vIGBAaW5wdXRgIGFuZCBubyBgQHVpZWxlbWVudGAsIHNvIGl0IGlzXG4gKiBuZWl0aGVyIGEgcG9ydCBub3IgcmVuZGVyZWQg4oCUIGl0IGRlZmF1bHRzIHRvIGBcImphdmFzY3JpcHRcImAuXG4gKi9cbmxldCBDb2RlSW5wdXRTY2hlbWEgPSBjbGFzcyBDb2RlSW5wdXRTY2hlbWEgZXh0ZW5kcyBNb2RlbCB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKC4uLmFyZ3VtZW50cyk7XG4gICAgICAgIHRoaXMubGFuZ3VhZ2UgPSBcImphdmFzY3JpcHRcIjtcbiAgICB9XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgQ29kZUlucHV0U2NoZW1hLnByb3RvdHlwZSwgXCJsYW5ndWFnZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB1aWVsZW1lbnQoXCJjb2RlLWVkaXRvclwiLCB7IGxhYmVsOiBcIkNvZGVcIiwgcGxhY2Vob2xkZXI6IFwiLy8gVXNlci1hdXRob3JlZCBKUyBjb2RlXCIgfSksXG4gICAgaW5wdXQoeyBoYW5kbGU6IFwiY29kZVwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBDb2RlSW5wdXRTY2hlbWEucHJvdG90eXBlLCBcImNvZGVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGhpZGRlbigpLFxuICAgIGlucHV0KHsgaGFuZGxlOiBcImRhdGFcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgQ29kZUlucHV0U2NoZW1hLnByb3RvdHlwZSwgXCJkYXRhXCIsIHZvaWQgMCk7XG5Db2RlSW5wdXRTY2hlbWEgPSBfX2RlY29yYXRlKFtcbiAgICBtb2RlbCgpXG5dLCBDb2RlSW5wdXRTY2hlbWEpO1xuZXhwb3J0IHsgQ29kZUlucHV0U2NoZW1hIH07XG5sZXQgQ29kZUZsb3dOb2RlID0gY2xhc3MgQ29kZUZsb3dOb2RlIGV4dGVuZHMgTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgaW5wdXQoeyBoYW5kbGU6IFwiaW5wdXRcIiwgbW9kZWw6IENvZGVJbnB1dFNjaGVtYSB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgQ29kZUlucHV0U2NoZW1hKVxuXSwgQ29kZUZsb3dOb2RlLnByb3RvdHlwZSwgXCJpbnB1dFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwicmVzdWx0XCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIENvZGVGbG93Tm9kZS5wcm90b3R5cGUsIFwicmVzdWx0XCIsIHZvaWQgMCk7XG5Db2RlRmxvd05vZGUgPSBfX2RlY29yYXRlKFtcbiAgICBub2RlKFwiY29yZS5mbG93LmNvZGVcIiwge1xuICAgICAgICBraW5kOiBcImNvcmUuZmxvdy5jb2RlXCIsXG4gICAgICAgIGNhdGVnb3J5OiBcIlV0aWxpdHlcIixcbiAgICAgICAgY29sb3I6IFwiIzdjM2FlZFwiLFxuICAgICAgICBpY29uOiBcInRpLWNvZGVcIixcbiAgICAgICAgd2lkdGg6IDk2LFxuICAgICAgICBoZWlnaHQ6IDk2LFxuICAgICAgICBsYWJlbHM6IFtcImZsb3dcIiwgXCJjb2RlXCIsIFwic2FuZGJveFwiLCBcInRyYW5zZm9ybVwiXSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIHRpdGxlOiBcIkNvZGVcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlJ1bnMgdXNlci1hdXRob3JlZCBKUy9UUyBpbiBhIHJlc3RyaWN0ZWQgVk0gc2FuZGJveC4gU3VwcG9ydHMgcGxhY2Vob2xkZXIgc3ludGF4IGZvciB3b3JrZmxvdyBkYXRhIHJlZmVyZW5jZXMuXCIsXG4gICAgICAgICAgICB0aW1lb3V0TXM6IDEwMDAsXG4gICAgICAgIH0sXG4gICAgfSksXG4gICAgbW9kZWwoKVxuXSwgQ29kZUZsb3dOb2RlKTtcbmV4cG9ydCB7IENvZGVGbG93Tm9kZSB9O1xuLyoqXG4gKiBMb2cg4oCUIGxvZ3MgdGhlIGlucHV0IHZhbHVlIGFuZCBmb3J3YXJkcyBpdCB1bmNoYW5nZWQgb24gdGhlIGBsb2dnZWRgXG4gKiBvdXRwdXQgcG9ydC4gVXNlZnVsIGZvciBkZWJ1Z2dpbmcsIGF1ZGl0IHRyYWlscywgYW5kIGRpc2NhcmQvc2lkZS1lZmZlY3RcbiAqIGJyYW5jaGVzIGluIGEgd29ya2Zsb3cuXG4gKi9cbmxldCBMb2dGbG93Tm9kZSA9IGNsYXNzIExvZ0Zsb3dOb2RlIGV4dGVuZHMgTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJJbnB1dCB2YWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJWYWx1ZSB0byBsb2dcIiB9KSxcbiAgICBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBMb2dGbG93Tm9kZS5wcm90b3R5cGUsIFwidmFsdWVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJMb2dnZWQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiRm9yd2FyZGVkIHZhbHVlXCIgfSksXG4gICAgb3V0cHV0KHsgaGFuZGxlOiBcImxvZ2dlZFwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBMb2dGbG93Tm9kZS5wcm90b3R5cGUsIFwibG9nZ2VkXCIsIHZvaWQgMCk7XG5Mb2dGbG93Tm9kZSA9IF9fZGVjb3JhdGUoW1xuICAgIG5vZGUoXCJjb3JlLmZsb3cubG9nXCIsIHtcbiAgICAgICAga2luZDogXCJjb3JlLmZsb3cubG9nXCIsXG4gICAgICAgIGNhdGVnb3J5OiBcIlV0aWxpdHlcIixcbiAgICAgICAgY29sb3I6IFwiIzYzNjZmMVwiLFxuICAgICAgICBpY29uOiBcInRpLXRlcm1pbmFsXCIsXG4gICAgICAgIHdpZHRoOiA5NixcbiAgICAgICAgaGVpZ2h0OiA5NixcbiAgICAgICAgbGFiZWxzOiBbXCJmbG93XCIsIFwibG9nXCIsIFwiZGVidWdcIiwgXCJ1dGlsaXR5XCJdLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgdGl0bGU6IFwiTG9nXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJMb2dzIHRoZSBpbnB1dCB2YWx1ZSB0byB0aGUgZXhlY3V0aW9uIGxvZ2dlciBhbmQgZm9yd2FyZHMgaXQgdW5jaGFuZ2VkLlwiLFxuICAgICAgICB9LFxuICAgIH0pLFxuICAgIG1vZGVsKClcbl0sIExvZ0Zsb3dOb2RlKTtcbmV4cG9ydCB7IExvZ0Zsb3dOb2RlIH07XG4vKipcbiAqIEFsbCBidWlsdC1pbiBmbG93LWNvbnRyb2wgbm9kZSBjb25zdHJ1Y3RvcnMuXG4gKi9cbmV4cG9ydCBjb25zdCBHUkFQSF9GTE9XX0NPTlRST0xfTk9ERVMgPSBbXG4gICAgSWZGbG93Tm9kZSxcbiAgICBTd2l0Y2hGbG93Tm9kZSxcbiAgICBQYXJhbGxlbEZsb3dOb2RlLFxuICAgIE1lcmdlRmxvd05vZGUsXG4gICAgTWFwRmxvd05vZGUsXG4gICAgRGVsYXlGbG93Tm9kZSxcbiAgICBFcnJvckJvdW5kYXJ5Rmxvd05vZGUsXG4gICAgSHVtYW5BcHByb3ZhbEZsb3dOb2RlLFxuICAgIFJldHVybkZsb3dOb2RlLFxuICAgIENvZGVGbG93Tm9kZSxcbiAgICBMb2dGbG93Tm9kZSxcbl07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2labXh2ZHkxamIyNTBjbTlzTG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2lMaTR2TGk0dkxpNHZMaTR2TGk0dmMzSmpMMmR5WVhCb0wzTm9ZWEpsWkM5dWIyUmxjeTltYkc5M0xXTnZiblJ5YjJ3dWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklqczdPenM3T3pzN08wRkJRVUU3T3pzN096czdPenM3TzBkQlYwYzdRVUZEU0N4UFFVRlBMRVZCUVVVc1MwRkJTeXhGUVVGRkxFdEJRVXNzUlVGQlJTeFJRVUZSTEVWQlFVVXNUVUZCVFN4blEwRkJaME1zUTBGQlF6dEJRVU40UlN4UFFVRlBMRVZCUVVVc1UwRkJVeXhGUVVGRkxFMUJRVTBzUlVGQlJTeE5RVUZOTEhsQ1FVRjVRaXhEUVVGRE8wRkJRelZFTEU5QlFVOHNSVUZEVEN4cFFrRkJhVUlzUlVGRGFrSXNTMEZCU3l4RlFVTk1MRWxCUVVrc1JVRkRTaXhOUVVGTkxFVkJRMDRzWVVGQllTeEhRVVZrTEUxQlFVMHNLMEpCUVN0Q0xFTkJRVU03UVVGRmRrTXNUMEZCVHl4RlFVRkZMRk5CUVZNc1JVRkJSU3hyUWtGQlpUdEJRVVZ1UXpzN08wZEJSMGM3UVVGblFra3NTVUZCVFN4VlFVRlZMRWRCUVdoQ0xFMUJRVTBzVlVGQlZ5eFRRVUZSTEV0QlFVczdRMEZsY0VNc1EwRkJRVHRCUVZoRE8wbEJTRU1zVVVGQlVTeEZRVUZGTzBsQlExWXNVMEZCVXl4RFFVRkRMRlZCUVZVc1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeGhRVUZoTEVWQlFVVXNWMEZCVnl4RlFVRkZMRzFDUVVGdFFpeEZRVUZGTEVOQlFVTTdTVUZEYWtZc1MwRkJTeXhEUVVGRExFVkJRVVVzVFVGQlRTeEZRVUZGTEU5QlFVOHNSVUZCUlN4RFFVRkRPenQ1UTBGRFdEdEJRVXRvUWp0SlFVaERMRkZCUVZFc1JVRkJSVHRKUVVOV0xGTkJRVk1zUTBGQlF5eFBRVUZQTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1RVRkJUU3hGUVVGRkxGZEJRVmNzUlVGQlJTd3JRa0ZCSzBJc1JVRkJSU3hEUVVGRE8wbEJRMjVHTEUxQlFVMHNRMEZCUXl4RlFVRkZMRTFCUVUwc1JVRkJSU3hOUVVGTkxFVkJRVVVzUTBGQlF6czdkME5CUTFvN1FVRkxaanRKUVVoRExGRkJRVkVzUlVGQlJUdEpRVU5XTEZOQlFWTXNRMEZCUXl4UFFVRlBMRVZCUVVVc1JVRkJSU3hMUVVGTExFVkJRVVVzVFVGQlRTeEZRVUZGTEZkQlFWY3NSVUZCUlN4blEwRkJaME1zUlVGQlJTeERRVUZETzBsQlEzQkdMRTFCUVUwc1EwRkJReXhGUVVGRkxFMUJRVTBzUlVGQlJTeE5RVUZOTEVWQlFVVXNRMEZCUXpzN2QwTkJRMW83UVVGa1NpeFZRVUZWTzBsQlpuUkNMRWxCUVVrc1EwRkJReXhqUVVGakxFVkJRVVU3VVVGRGNFSXNTVUZCU1N4RlFVRkZMR05CUVdNN1VVRkRjRUlzVVVGQlVTeEZRVUZGTEdOQlFXTTdVVUZEZUVJc1MwRkJTeXhGUVVGRkxGTkJRVk03VVVGRGFFSXNTVUZCU1N4RlFVRkZMRzFDUVVGdFFqdFJRVU42UWl4TFFVRkxMRVZCUVVVc1JVRkJSVHRSUVVOVUxFMUJRVTBzUlVGQlJTeEZRVUZGTzFGQlExWXNUVUZCVFN4RlFVRkZMRU5CUVVNc1RVRkJUU3hGUVVGRkxHRkJRV0VzUlVGQlJTeFJRVUZSTEVOQlFVTTdVVUZEZWtNc1VVRkJVU3hGUVVGRk8xbEJRMUlzUzBGQlN5eEZRVUZGTEVsQlFVazdXVUZEV0N4WFFVRlhMRVZCUVVVc2NVZEJRWEZITzFsQlEyeElMRk5CUVZNc1JVRkJSU3hGUVVGRkxFVkJRVVVzUlVGQlJTeEpRVUZKTEVWQlFVVXNTVUZCU1N4RlFVRkZMRVZCUVVVc1MwRkJTeXhGUVVGRkxFbEJRVWtzUlVGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hKUVVGSkxFVkJRVVVzUlVGQlJUdFRRVU4yUlR0TFFVTkdMRU5CUVVNN1NVRkRSQ3hMUVVGTExFVkJRVVU3UjBGRFN5eFZRVUZWTEVOQlpYUkNPenRCUVVWRU96czdPenM3T3pzN1IwRlRSenRCUVc5Q1NTeEpRVUZOTEdOQlFXTXNSMEZCY0VJc1RVRkJUU3hqUVVGbExGTkJRVkVzVTBGQlV6dEpRVmN6UXpzN096czdPMDlCVFVjN1NVRkRTQ3hOUVVGTkxFTkJRVlVzWVVGQllTeERRVUZETEVsQlFYZENPMUZCUTNCRUxFMUJRVTBzVlVGQlZTeEhRVUZITEdsQ1FVRnBRaXhEUVVGRExFbEJRV0VzUTBGQlF5eERRVUZETzFGQlEzQkVMRTFCUVUwc1pVRkJaU3hIUVVGSExFbEJRVWtzUTBGQlF5eFhRVUZYTEVsQlFVa3NVMEZCVXl4RFFVRkRPMUZCUTNSRUxFMUJRVTBzVlVGQlZTeEhRVUZITEVsQlFVa3NRMEZCUXl4VlFVRlZMRXRCUVVzc1NVRkJTU3hEUVVGRE8xRkJSVFZETEhWRlFVRjFSVHRSUVVOMlJTeE5RVUZOTEZOQlFWTXNSMEZCUnl4VlFVRlZMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGRGRrTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4VlFVRlZMRXRCUVVzc1EwRkJReXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVU0xUkN4RFFVRkRPMUZCUTBZc01FVkJRVEJGTzFGQlF6RkZMRTFCUVUwc1pVRkJaU3hIUVVGSExGTkJRVk1zUTBGQlF5eE5RVUZOTEVOQlEzUkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNVVUZCVVN4TFFVRkxMR1ZCUVdVc1EwRkRkRU1zUTBGQlF6dFJRVU5HTEUxQlFVMHNWMEZCVnl4SFFVRkhMRk5CUVZNc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhSUVVGUkxFdEJRVXNzWlVGQlpTeERRVUZETEVOQlFVTTdVVUZGTVVVc1RVRkJUU3hUUVVGVExFZEJRVEJDTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRPMWxCUXpsRUxGRkJRVkVzUlVGQlJTeERRVUZETEVOQlFVTXNWVUZCVlR0WlFVTjBRaXhKUVVGSkxFVkJRVVVzUTBGQlF5eERRVUZETEV0QlFVczdXVUZEWWl4VFFVRlRMRVZCUVVVc1lVRkJZU3hEUVVGRExFMUJRVTA3V1VGREwwSXNTMEZCU3l4RlFVRkZMRU5CUVVNc1EwRkJReXhMUVVGTE8xbEJRMlFzVVVGQlVTeEZRVUZGTEV0QlFVczdXVUZEWml4TlFVRk5MRVZCUVVVc1MwRkJTenRaUVVOaUxFbEJRVWtzUlVGQlJTeERRVUZETEVOQlFVTXNWVUZCVlR0VFFVTnVRaXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVVZLTEdsR1FVRnBSanRSUVVOcVJpeE5RVUZOTEV0QlFVc3NSMEZCUnl4RFFVRkRMRWRCUVVjc1pVRkJaU3hGUVVGRkxFZEJRVWNzVTBGQlV5eERRVUZETEVOQlFVTTdVVUZEYWtRc1NVRkJTU3hWUVVGVkxFbEJRVWtzVjBGQlZ5eEZRVUZGTEVOQlFVTTdXVUZET1VJc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNRMEZCUXp0UlFVTXhRaXhEUVVGRE8xRkJSVVFzVFVGQlRTeFRRVUZUTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU03VVVGRGNFTXNUMEZCVHp0WlFVTk1MRXRCUVVzN1dVRkRUQ3hKUVVGSkxFVkJRVVU3WjBKQlEwb3NTMEZCU3l4RlFVRkZMRlZCUVZVc1EwRkJReXhMUVVGTExFbEJRVWtzUjBGQlJ6dG5Ra0ZET1VJc1RVRkJUU3hGUVVGRkxGTkJRVk1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhUUVVGVExFZEJRVWNzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4VlFVRlZMRU5CUVVNc1RVRkJUU3hKUVVGSkxFZEJRVWM3WVVGRGVFVTdXVUZEUkN4VFFVRlRMRVZCUVVVc1JVRkJSU3hqUVVGakxFVkJRVVVzU1VGQlNTeEZRVUZGTzFOQlEzQkRMRU5CUVVNN1NVRkRTaXhEUVVGRE8wTkJRMFlzUTBGQlFUdEJRWFpFUXp0SlFVaERMRkZCUVZFc1JVRkJSVHRKUVVOV0xGTkJRVk1zUTBGQlF5eFZRVUZWTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1lVRkJZU3hGUVVGRkxGZEJRVmNzUlVGQlJTeHZRa0ZCYjBJc1JVRkJSU3hEUVVGRE8wbEJRMnhHTEV0QlFVc3NRMEZCUXl4RlFVRkZMRTFCUVUwc1JVRkJSU3hQUVVGUExFVkJRVVVzUTBGQlF6czdOa05CUTFnN1FVRkxhRUk3U1VGSVF5eFJRVUZSTEVWQlFVVTdTVUZEVml4VFFVRlRMRU5CUVVNc1QwRkJUeXhGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEZOQlFWTXNSVUZCUlN4WFFVRlhMRVZCUVVVc2NVTkJRWEZETEVWQlFVVXNRMEZCUXp0SlFVTTFSaXhOUVVGTkxFTkJRVU1zUlVGQlJTeE5RVUZOTEVWQlFVVXNVMEZCVXl4RlFVRkZMRU5CUVVNN095dERRVU5hTzBGQlZGQXNZMEZCWXp0SlFXNUNNVUlzU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhGUVVGRk8xRkJRM2hDTEVsQlFVa3NSVUZCUlN4clFrRkJhMEk3VVVGRGVFSXNVVUZCVVN4RlFVRkZMR05CUVdNN1VVRkRlRUlzUzBGQlN5eEZRVUZGTEZOQlFWTTdVVUZEYUVJc1NVRkJTU3hGUVVGRkxHMUNRVUZ0UWp0UlFVTjZRaXhMUVVGTExFVkJRVVVzUjBGQlJ6dFJRVU5XTEUxQlFVMHNSVUZCUlN4SFFVRkhPMUZCUTFnc1RVRkJUU3hGUVVGRkxFTkJRVU1zVFVGQlRTeEZRVUZGTEZGQlFWRXNSVUZCUlN4alFVRmpMRU5CUVVNN1VVRkRNVU1zVVVGQlVTeEZRVUZGTzFsQlExSXNTMEZCU3l4RlFVRkZMRkZCUVZFN1dVRkRaaXhYUVVGWExFVkJRVVVzYVVkQlFXbEhPMWxCUXpsSExFMUJRVTBzUlVGQlJUdG5Ra0ZEVGl4TFFVRkxMRVZCUVVVc1JVRkJSVHRuUWtGRFZDeFhRVUZYTEVWQlFVVXNVMEZCVXp0blFrRkRkRUlzVlVGQlZTeEZRVUZGTEV0QlFVczdZVUZEYkVJN1UwRkRSanRMUVVOR0xFTkJRVU03U1VGRFJDeExRVUZMTEVWQlFVVTdSMEZEU3l4alFVRmpMRU5CTWtReFFqczdRVUZGUkRzN1IwRkZSenRCUVdkQ1NTeEpRVUZOTEdkQ1FVRm5RaXhIUVVGMFFpeE5RVUZOTEdkQ1FVRnBRaXhUUVVGUkxFdEJRVXM3UTBGVk1VTXNRMEZCUVR0QlFVNURPMGxCU0VNc1VVRkJVU3hGUVVGRk8wbEJRMVlzVTBGQlV5eERRVUZETEZWQlFWVXNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hoUVVGaExFVkJRVVVzVjBGQlZ5eEZRVUZGTEd0Q1FVRnJRaXhGUVVGRkxFTkJRVU03U1VGRGFFWXNTMEZCU3l4RFFVRkRMRVZCUVVVc1RVRkJUU3hGUVVGRkxFOUJRVThzUlVGQlJTeERRVUZET3pzclEwRkRXRHRCUVV0b1FqdEpRVWhETEZGQlFWRXNSVUZCUlR0SlFVTldMRk5CUVZNc1EwRkJReXhQUVVGUExFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNWVUZCVlN4RlFVRkZMRmRCUVZjc1JVRkJSU3d3UWtGQk1FSXNSVUZCUlN4RFFVRkRPMGxCUTJ4R0xFMUJRVTBzUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZCUlN4VlFVRlZMRVZCUVVVc1EwRkJRenM3YTBSQlExWTdRVUZVVml4blFrRkJaMEk3U1VGbU5VSXNTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeEZRVUZGTzFGQlF6RkNMRWxCUVVrc1JVRkJSU3h2UWtGQmIwSTdVVUZETVVJc1VVRkJVU3hGUVVGRkxHTkJRV003VVVGRGVFSXNTMEZCU3l4RlFVRkZMRk5CUVZNN1VVRkRhRUlzU1VGQlNTeEZRVUZGTEc5Q1FVRnZRanRSUVVNeFFpeExRVUZMTEVWQlFVVXNSVUZCUlR0UlFVTlVMRTFCUVUwc1JVRkJSU3hGUVVGRk8xRkJRMVlzVFVGQlRTeEZRVUZGTEVOQlFVTXNUVUZCVFN4RlFVRkZMRlZCUVZVc1JVRkJSU3haUVVGWkxFTkJRVU03VVVGRE1VTXNVVUZCVVN4RlFVRkZPMWxCUTFJc1MwRkJTeXhGUVVGRkxGVkJRVlU3V1VGRGFrSXNWMEZCVnl4RlFVRkZMRzlIUVVGdlJ6dFpRVU5xU0N4WFFVRlhMRVZCUVVVc1EwRkJRenRUUVVObU8wdEJRMFlzUTBGQlF6dEpRVU5FTEV0QlFVc3NSVUZCUlR0SFFVTkxMR2RDUVVGblFpeERRVlUxUWpzN1FVRkZSRHM3UjBGRlJ6dEJRV2RDU1N4SlFVRk5MR0ZCUVdFc1IwRkJia0lzVFVGQlRTeGhRVUZqTEZOQlFWRXNTMEZCU3p0RFFWVjJReXhEUVVGQk8wRkJUa003U1VGSVF5eFJRVUZSTEVWQlFVVTdTVUZEVml4VFFVRlRMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEdkQ1FVRm5RaXhGUVVGRkxGZEJRVmNzUlVGQlJTeHJRa0ZCYTBJc1JVRkJSU3hEUVVGRE8wbEJRMjVHTEV0QlFVc3NRMEZCUXl4RlFVRkZMRTFCUVUwc1JVRkJSU3hSUVVGUkxFVkJRVVVzUTBGQlF6czdOa05CUTFRN1FVRkxia0k3U1VGSVF5eFJRVUZSTEVWQlFVVTdTVUZEVml4VFFVRlRMRU5CUVVNc1QwRkJUeXhGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEdWQlFXVXNSVUZCUlN4WFFVRlhMRVZCUVVVc1pVRkJaU3hGUVVGRkxFTkJRVU03U1VGRE5VVXNUVUZCVFN4RFFVRkRMRVZCUVVVc1RVRkJUU3hGUVVGRkxGRkJRVkVzUlVGQlJTeERRVUZET3pzMlEwRkRXanRCUVZST0xHRkJRV0U3U1VGbWVrSXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeEZRVUZGTzFGQlEzWkNMRWxCUVVrc1JVRkJSU3hwUWtGQmFVSTdVVUZEZGtJc1VVRkJVU3hGUVVGRkxGTkJRVk03VVVGRGJrSXNTMEZCU3l4RlFVRkZMRk5CUVZNN1VVRkRhRUlzU1VGQlNTeEZRVUZGTEdsQ1FVRnBRanRSUVVOMlFpeExRVUZMTEVWQlFVVXNSVUZCUlR0UlFVTlVMRTFCUVUwc1JVRkJSU3hGUVVGRk8xRkJRMVlzVFVGQlRTeEZRVUZGTEVOQlFVTXNUVUZCVFN4RlFVRkZMRTlCUVU4c1JVRkJSU3hOUVVGTkxFTkJRVU03VVVGRGFrTXNVVUZCVVN4RlFVRkZPMWxCUTFJc1MwRkJTeXhGUVVGRkxFOUJRVTg3V1VGRFpDeFhRVUZYTEVWQlFVVXNkMFZCUVhkRk8xbEJRM0pHTEZGQlFWRXNSVUZCUlN4UlFVRlJPMU5CUTI1Q08wdEJRMFlzUTBGQlF6dEpRVU5FTEV0QlFVc3NSVUZCUlR0SFFVTkxMR0ZCUVdFc1EwRlZla0k3TzBGQlJVUTdPMGRCUlVjN1FVRm5Ra2tzU1VGQlRTeFhRVUZYTEVkQlFXcENMRTFCUVUwc1YwRkJXU3hUUVVGUkxFdEJRVXM3UTBGVmNrTXNRMEZCUVR0QlFVNURPMGxCU0VNc1VVRkJVU3hGUVVGRk8wbEJRMVlzVTBGQlV5eERRVUZETEZWQlFWVXNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hoUVVGaExFVkJRVVVzVjBGQlZ5eEZRVUZGTEc5Q1FVRnZRaXhGUVVGRkxFTkJRVU03U1VGRGJFWXNTMEZCU3l4RFFVRkRMRVZCUVVVc1RVRkJUU3hGUVVGRkxFOUJRVThzUlVGQlJTeERRVUZET3pzd1EwRkRXRHRCUVV0b1FqdEpRVWhETEZGQlFWRXNSVUZCUlR0SlFVTldMRk5CUVZNc1EwRkJReXhQUVVGUExFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNiMEpCUVc5Q0xFVkJRVVVzVjBGQlZ5eEZRVUZGTEdWQlFXVXNSVUZCUlN4RFFVRkRPMGxCUTJwR0xFMUJRVTBzUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZCUlN4UlFVRlJMRVZCUVVVc1EwRkJRenM3TWtOQlExbzdRVUZVVGl4WFFVRlhPMGxCWm5aQ0xFbEJRVWtzUTBGQlF5eGxRVUZsTEVWQlFVVTdVVUZEY2tJc1NVRkJTU3hGUVVGRkxHVkJRV1U3VVVGRGNrSXNVVUZCVVN4RlFVRkZMRk5CUVZNN1VVRkRia0lzUzBGQlN5eEZRVUZGTEZOQlFWTTdVVUZEYUVJc1NVRkJTU3hGUVVGRkxITkNRVUZ6UWp0UlFVTTFRaXhMUVVGTExFVkJRVVVzUlVGQlJUdFJRVU5VTEUxQlFVMHNSVUZCUlN4RlFVRkZPMUZCUTFZc1RVRkJUU3hGUVVGRkxFTkJRVU1zVFVGQlRTeEZRVUZGTEV0QlFVc3NSVUZCUlN4WFFVRlhMRU5CUVVNN1VVRkRjRU1zVVVGQlVTeEZRVUZGTzFsQlExSXNTMEZCU3l4RlFVRkZMRXRCUVVzN1dVRkRXaXhYUVVGWExFVkJRVVVzYjBaQlFXOUdPMWxCUTJwSExFMUJRVTBzUlVGQlJTeEZRVUZGTzFOQlExZzdTMEZEUml4RFFVRkRPMGxCUTBRc1MwRkJTeXhGUVVGRk8wZEJRMHNzVjBGQlZ5eERRVlYyUWpzN1FVRkZSRHM3UjBGRlJ6dEJRV2RDU1N4SlFVRk5MR0ZCUVdFc1IwRkJia0lzVFVGQlRTeGhRVUZqTEZOQlFWRXNTMEZCU3p0RFFWVjJReXhEUVVGQk8wRkJUa003U1VGSVF5eFJRVUZSTEVWQlFVVTdTVUZEVml4VFFVRlRMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEdGQlFXRXNSVUZCUlN4WFFVRlhMRVZCUVVVc09FSkJRVGhDTEVWQlFVVXNRMEZCUXp0SlFVTTFSaXhMUVVGTExFTkJRVU1zUlVGQlJTeE5RVUZOTEVWQlFVVXNUMEZCVHl4RlFVRkZMRU5CUVVNN096UkRRVU5ZTzBGQlMyaENPMGxCU0VNc1VVRkJVU3hGUVVGRk8wbEJRMVlzVTBGQlV5eERRVUZETEU5QlFVOHNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hqUVVGakxFVkJRVVVzVjBGQlZ5eEZRVUZGTEdsQ1FVRnBRaXhGUVVGRkxFTkJRVU03U1VGRE4wVXNUVUZCVFN4RFFVRkRMRVZCUVVVc1RVRkJUU3hGUVVGRkxFOUJRVThzUlVGQlJTeERRVUZET3pzclEwRkRWRHRCUVZSU0xHRkJRV0U3U1VGbWVrSXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeEZRVUZGTzFGQlEzWkNMRWxCUVVrc1JVRkJSU3hwUWtGQmFVSTdVVUZEZGtJc1VVRkJVU3hGUVVGRkxGTkJRVk03VVVGRGJrSXNTMEZCU3l4RlFVRkZMRk5CUVZNN1VVRkRhRUlzU1VGQlNTeEZRVUZGTEdsQ1FVRnBRanRSUVVOMlFpeExRVUZMTEVWQlFVVXNSVUZCUlR0UlFVTlVMRTFCUVUwc1JVRkJSU3hGUVVGRk8xRkJRMVlzVFVGQlRTeEZRVUZGTEVOQlFVTXNUVUZCVFN4RlFVRkZMRTlCUVU4c1JVRkJSU3hOUVVGTkxFTkJRVU03VVVGRGFrTXNVVUZCVVN4RlFVRkZPMWxCUTFJc1MwRkJTeXhGUVVGRkxFOUJRVTg3V1VGRFpDeFhRVUZYTEVWQlFVVXNiMGRCUVc5SE8xbEJRMnBJTEZWQlFWVXNSVUZCUlN4SlFVRkpPMU5CUTJwQ08wdEJRMFlzUTBGQlF6dEpRVU5FTEV0QlFVc3NSVUZCUlR0SFFVTkxMR0ZCUVdFc1EwRlZla0k3TzBGQlJVUTdPMGRCUlVjN1FVRm5Ra2tzU1VGQlRTeHhRa0ZCY1VJc1IwRkJNMElzVFVGQlRTeHhRa0ZCYzBJc1UwRkJVU3hMUVVGTE8wTkJaUzlETEVOQlFVRTdRVUZZUXp0SlFVaERMRkZCUVZFc1JVRkJSVHRKUVVOV0xGTkJRVk1zUTBGQlF5eFZRVUZWTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1lVRkJZU3hGUVVGRkxGZEJRVmNzUlVGQlJTeG5Ra0ZCWjBJc1JVRkJSU3hEUVVGRE8wbEJRemxGTEV0QlFVc3NRMEZCUXl4RlFVRkZMRTFCUVUwc1JVRkJSU3hQUVVGUExFVkJRVVVzUTBGQlF6czdiMFJCUTFnN1FVRkxhRUk3U1VGSVF5eFJRVUZSTEVWQlFVVTdTVUZEVml4VFFVRlRMRU5CUVVNc1QwRkJUeXhGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEZGQlFWRXNSVUZCUlN4WFFVRlhMRVZCUVVVc2JVSkJRVzFDTEVWQlFVVXNRMEZCUXp0SlFVTjZSU3hOUVVGTkxFTkJRVU1zUlVGQlJTeE5RVUZOTEVWQlFVVXNVVUZCVVN4RlFVRkZMRU5CUVVNN08zRkVRVU5hTzBGQlMycENPMGxCU0VNc1VVRkJVU3hGUVVGRk8wbEJRMVlzVTBGQlV5eERRVUZETEU5QlFVOHNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hQUVVGUExFVkJRVVVzVjBGQlZ5eEZRVUZGTEcxQ1FVRnRRaXhGUVVGRkxFTkJRVU03U1VGRGVFVXNUVUZCVFN4RFFVRkRMRVZCUVVVc1RVRkJUU3hGUVVGRkxFOUJRVThzUlVGQlJTeERRVUZET3p0dlJFRkRXanRCUVdSTUxIRkNRVUZ4UWp0SlFXWnFReXhKUVVGSkxFTkJRVU1zZVVKQlFYbENMRVZCUVVVN1VVRkRMMElzU1VGQlNTeEZRVUZGTEhsQ1FVRjVRanRSUVVNdlFpeFJRVUZSTEVWQlFVVXNZMEZCWXp0UlFVTjRRaXhMUVVGTExFVkJRVVVzVTBGQlV6dFJRVU5vUWl4SlFVRkpMRVZCUVVVc2FVSkJRV2xDTzFGQlEzWkNMRXRCUVVzc1JVRkJSU3hGUVVGRk8xRkJRMVFzVFVGQlRTeEZRVUZGTEVWQlFVVTdVVUZEVml4TlFVRk5MRVZCUVVVc1EwRkJReXhOUVVGTkxFVkJRVVVzVDBGQlR5eEZRVUZGTEZkQlFWY3NRMEZCUXp0UlFVTjBReXhSUVVGUkxFVkJRVVU3V1VGRFVpeExRVUZMTEVWQlFVVXNaMEpCUVdkQ08xbEJRM1pDTEZkQlFWY3NSVUZCUlN3clJrRkJLMFk3V1VGRE5VY3NUMEZCVHl4RlFVRkZMRXRCUVVzN1UwRkRaanRMUVVOR0xFTkJRVU03U1VGRFJDeExRVUZMTEVWQlFVVTdSMEZEU3l4eFFrRkJjVUlzUTBGbGFrTTdPMEZCUlVRN08wZEJSVWM3UVVGcFFra3NTVUZCVFN4eFFrRkJjVUlzUjBGQk0wSXNUVUZCVFN4eFFrRkJjMElzVTBGQlVTeExRVUZMTzBOQlpTOURMRU5CUVVFN1FVRllRenRKUVVoRExGRkJRVkVzUlVGQlJUdEpRVU5XTEZOQlFWTXNRMEZCUXl4VlFVRlZMRVZCUVVVc1JVRkJSU3hMUVVGTExFVkJRVVVzWVVGQllTeEZRVUZGTEZkQlFWY3NSVUZCUlN4M1FrRkJkMElzUlVGQlJTeERRVUZETzBsQlEzUkdMRXRCUVVzc1EwRkJReXhGUVVGRkxFMUJRVTBzUlVGQlJTeFBRVUZQTEVWQlFVVXNRMEZCUXpzN2IwUkJRMWc3UVVGTGFFSTdTVUZJUXl4UlFVRlJMRVZCUVVVN1NVRkRWaXhUUVVGVExFTkJRVU1zVDBGQlR5eEZRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMRlZCUVZVc1JVRkJSU3hYUVVGWExFVkJRVVVzYzBKQlFYTkNMRVZCUVVVc1EwRkJRenRKUVVNNVJTeE5RVUZOTEVOQlFVTXNSVUZCUlN4TlFVRk5MRVZCUVVVc1ZVRkJWU3hGUVVGRkxFTkJRVU03TzNWRVFVTmFPMEZCUzI1Q08wbEJTRU1zVVVGQlVTeEZRVUZGTzBsQlExWXNVMEZCVXl4RFFVRkRMRTlCUVU4c1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeFZRVUZWTEVWQlFVVXNWMEZCVnl4RlFVRkZMSE5DUVVGelFpeEZRVUZGTEVOQlFVTTdTVUZET1VVc1RVRkJUU3hEUVVGRExFVkJRVVVzVFVGQlRTeEZRVUZGTEZWQlFWVXNSVUZCUlN4RFFVRkRPenQxUkVGRFdqdEJRV1JTTEhGQ1FVRnhRanRKUVdoQ2FrTXNTVUZCU1N4RFFVRkRMSGxDUVVGNVFpeEZRVUZGTzFGQlF5OUNMRWxCUVVrc1JVRkJSU3g1UWtGQmVVSTdVVUZETDBJc1VVRkJVU3hGUVVGRkxHTkJRV003VVVGRGVFSXNTMEZCU3l4RlFVRkZMRk5CUVZNN1VVRkRhRUlzU1VGQlNTeEZRVUZGTEdWQlFXVTdVVUZEY2tJc1MwRkJTeXhGUVVGRkxFVkJRVVU3VVVGRFZDeE5RVUZOTEVWQlFVVXNSVUZCUlR0UlFVTldMRTFCUVUwc1JVRkJSU3hEUVVGRExFMUJRVTBzUlVGQlJTeFZRVUZWTEVWQlFVVXNVMEZCVXl4RFFVRkRPMUZCUTNaRExGRkJRVkVzUlVGQlJUdFpRVU5TTEV0QlFVc3NSVUZCUlN4blFrRkJaMEk3V1VGRGRrSXNWMEZCVnl4RlFVRkZMR2RIUVVGblJ6dFpRVU0zUnl4VFFVRlRMRVZCUVVVc1JVRkJSVHRaUVVOaUxGTkJRVk1zUlVGQlJTeFJRVUZSTzFOQlEzQkNPMHRCUTBZc1EwRkJRenRKUVVORUxFdEJRVXNzUlVGQlJUdEhRVU5MTEhGQ1FVRnhRaXhEUVdWcVF6czdRVUZGUkRzN1IwRkZSenRCUVdkQ1NTeEpRVUZOTEdOQlFXTXNSMEZCY0VJc1RVRkJUU3hqUVVGbExGTkJRVkVzUzBGQlN6dERRVlY0UXl4RFFVRkJPMEZCVGtNN1NVRklReXhSUVVGUkxFVkJRVVU3U1VGRFZpeFRRVUZUTEVOQlFVTXNWVUZCVlN4RlFVRkZMRVZCUVVVc1MwRkJTeXhGUVVGRkxHRkJRV0VzUlVGQlJTeFhRVUZYTEVWQlFVVXNiMEpCUVc5Q0xFVkJRVVVzUTBGQlF6dEpRVU5zUml4TFFVRkxMRU5CUVVNc1JVRkJSU3hOUVVGTkxFVkJRVVVzVDBGQlR5eEZRVUZGTEVOQlFVTTdPelpEUVVOWU8wRkJTMmhDTzBsQlNFTXNVVUZCVVN4RlFVRkZPMGxCUTFZc1UwRkJVeXhEUVVGRExFOUJRVThzUlVGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4cFFrRkJhVUlzUlVGQlJTeFhRVUZYTEVWQlFVVXNiVUpCUVcxQ0xFVkJRVVVzUTBGQlF6dEpRVU5zUml4TlFVRk5MRU5CUVVNc1JVRkJSU3hOUVVGTkxFVkJRVVVzVVVGQlVTeEZRVUZGTEVOQlFVTTdPemhEUVVOYU8wRkJWRTRzWTBGQll6dEpRV1l4UWl4SlFVRkpMRU5CUVVNc2EwSkJRV3RDTEVWQlFVVTdVVUZEZUVJc1NVRkJTU3hGUVVGRkxHdENRVUZyUWp0UlFVTjRRaXhSUVVGUkxFVkJRVVVzVTBGQlV6dFJRVU51UWl4TFFVRkxMRVZCUVVVc1UwRkJVenRSUVVOb1FpeEpRVUZKTEVWQlFVVXNhMEpCUVd0Q08xRkJRM2hDTEV0QlFVc3NSVUZCUlN4RlFVRkZPMUZCUTFRc1RVRkJUU3hGUVVGRkxFVkJRVVU3VVVGRFZpeE5RVUZOTEVWQlFVVXNRMEZCUXl4TlFVRk5MRVZCUVVVc1VVRkJVU3hGUVVGRkxGRkJRVkVzUTBGQlF6dFJRVU53UXl4UlFVRlJMRVZCUVVVN1dVRkRVaXhMUVVGTExFVkJRVVVzVVVGQlVUdFpRVU5tTEZkQlFWY3NSVUZCUlN3MlJFRkJOa1E3V1VGRE1VVXNXVUZCV1N4RlFVRkZMRVZCUVVVN1UwRkRha0k3UzBGRFJpeERRVUZETzBsQlEwUXNTMEZCU3l4RlFVRkZPMGRCUTBzc1kwRkJZeXhEUVZVeFFqczdRVUZGUkRzN096czdPenM3TzBkQlUwYzdRVUZGU0RzN096czdPenM3TzBkQlUwYzdRVUZGU1N4SlFVRk5MR1ZCUVdVc1IwRkJja0lzVFVGQlRTeGxRVUZuUWl4VFFVRlJMRXRCUVVzN1NVRkJia003TzFGQlJVd3NZVUZCVVN4SFFVRlhMRmxCUVZrc1EwRkJRenRKUVZWc1F5eERRVUZETzBOQlFVRXNRMEZCUVR0QlFWWkRPMGxCUkVNc1VVRkJVU3hGUVVGRk96dHBSRUZEY1VJN1FVRkxhRU03U1VGSVF5eFJRVUZSTEVWQlFVVTdTVUZEVml4VFFVRlRMRU5CUVVNc1lVRkJZU3hGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEUxQlFVMHNSVUZCUlN4WFFVRlhMRVZCUVVVc01FSkJRVEJDTEVWQlFVVXNRMEZCUXp0SlFVTndSaXhMUVVGTExFTkJRVU1zUlVGQlJTeE5RVUZOTEVWQlFVVXNUVUZCVFN4RlFVRkZMRU5CUVVNN096WkRRVU5hTzBGQlNXUTdTVUZHUXl4TlFVRk5MRVZCUVVVN1NVRkRVaXhMUVVGTExFTkJRVU1zUlVGQlJTeE5RVUZOTEVWQlFVVXNUVUZCVFN4RlFVRkZMRU5CUVVNN096WkRRVU5ZTzBGQldFb3NaVUZCWlR0SlFVUXpRaXhMUVVGTExFVkJRVVU3UjBGRFN5eGxRVUZsTEVOQldUTkNPenRCUVdsQ1RTeEpRVUZOTEZsQlFWa3NSMEZCYkVJc1RVRkJUU3haUVVGaExGTkJRVkVzUzBGQlN6dERRVkYwUXl4RFFVRkJPMEZCVEVNN1NVRkdReXhSUVVGUkxFVkJRVVU3U1VGRFZpeExRVUZMTEVOQlFVTXNSVUZCUlN4TlFVRk5MRVZCUVVVc1QwRkJUeXhGUVVGRkxFdEJRVXNzUlVGQlJTeGxRVUZsTEVWQlFVVXNRMEZCUXpzNFFrRkRNME1zWlVGQlpUc3lRMEZCUXp0QlFVbDRRanRKUVVaRExGRkJRVkVzUlVGQlJUdEpRVU5XTEUxQlFVMHNRMEZCUXl4RlFVRkZMRTFCUVUwc1JVRkJSU3hSUVVGUkxFVkJRVVVzUTBGQlF6czdORU5CUTFvN1FVRlFUaXhaUVVGWk8wbEJabmhDTEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUlVGQlJUdFJRVU4wUWl4SlFVRkpMRVZCUVVVc1owSkJRV2RDTzFGQlEzUkNMRkZCUVZFc1JVRkJSU3hUUVVGVE8xRkJRMjVDTEV0QlFVc3NSVUZCUlN4VFFVRlRPMUZCUTJoQ0xFbEJRVWtzUlVGQlJTeFRRVUZUTzFGQlEyWXNTMEZCU3l4RlFVRkZMRVZCUVVVN1VVRkRWQ3hOUVVGTkxFVkJRVVVzUlVGQlJUdFJRVU5XTEUxQlFVMHNSVUZCUlN4RFFVRkRMRTFCUVUwc1JVRkJSU3hOUVVGTkxFVkJRVVVzVTBGQlV5eEZRVUZGTEZkQlFWY3NRMEZCUXp0UlFVTm9SQ3hSUVVGUkxFVkJRVVU3V1VGRFVpeExRVUZMTEVWQlFVVXNUVUZCVFR0WlFVTmlMRmRCUVZjc1JVRkJSU3huU0VGQlowZzdXVUZETjBnc1UwRkJVeXhGUVVGRkxFbEJRVWs3VTBGRGFFSTdTMEZEUml4RFFVRkRPMGxCUTBRc1MwRkJTeXhGUVVGRk8wZEJRMHNzV1VGQldTeERRVkY0UWpzN1FVRkZSRHM3T3p0SFFVbEhPMEZCWlVrc1NVRkJUU3hYUVVGWExFZEJRV3BDTEUxQlFVMHNWMEZCV1N4VFFVRlJMRXRCUVVzN1EwRlZja01zUTBGQlFUdEJRVTVETzBsQlNFTXNVVUZCVVN4RlFVRkZPMGxCUTFZc1UwRkJVeXhEUVVGRExGVkJRVlVzUlVGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4aFFVRmhMRVZCUVVVc1YwRkJWeXhGUVVGRkxHTkJRV01zUlVGQlJTeERRVUZETzBsQlF6VkZMRXRCUVVzc1EwRkJReXhGUVVGRkxFMUJRVTBzUlVGQlJTeFBRVUZQTEVWQlFVVXNRMEZCUXpzN01FTkJRMWc3UVVGTGFFSTdTVUZJUXl4UlFVRlJMRVZCUVVVN1NVRkRWaXhUUVVGVExFTkJRVU1zVDBGQlR5eEZRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMR05CUVdNc1JVRkJSU3hYUVVGWExFVkJRVVVzYVVKQlFXbENMRVZCUVVVc1EwRkJRenRKUVVNM1JTeE5RVUZOTEVOQlFVTXNSVUZCUlN4TlFVRk5MRVZCUVVVc1VVRkJVU3hGUVVGRkxFTkJRVU03T3pKRFFVTmFPMEZCVkU0c1YwRkJWenRKUVdSMlFpeEpRVUZKTEVOQlFVTXNaVUZCWlN4RlFVRkZPMUZCUTNKQ0xFbEJRVWtzUlVGQlJTeGxRVUZsTzFGQlEzSkNMRkZCUVZFc1JVRkJSU3hUUVVGVE8xRkJRMjVDTEV0QlFVc3NSVUZCUlN4VFFVRlRPMUZCUTJoQ0xFbEJRVWtzUlVGQlJTeGhRVUZoTzFGQlEyNUNMRXRCUVVzc1JVRkJSU3hGUVVGRk8xRkJRMVFzVFVGQlRTeEZRVUZGTEVWQlFVVTdVVUZEVml4TlFVRk5MRVZCUVVVc1EwRkJReXhOUVVGTkxFVkJRVVVzUzBGQlN5eEZRVUZGTEU5QlFVOHNSVUZCUlN4VFFVRlRMRU5CUVVNN1VVRkRNME1zVVVGQlVTeEZRVUZGTzFsQlExSXNTMEZCU3l4RlFVRkZMRXRCUVVzN1dVRkRXaXhYUVVGWExFVkJRVVVzZVVWQlFYbEZPMU5CUTNaR08wdEJRMFlzUTBGQlF6dEpRVU5FTEV0QlFVc3NSVUZCUlR0SFFVTkxMRmRCUVZjc1EwRlZka0k3TzBGQlJVUTdPMGRCUlVjN1FVRkRTQ3hOUVVGTkxFTkJRVU1zVFVGQlRTeDNRa0ZCZDBJc1IwRkJSenRKUVVOMFF5eFZRVUZWTzBsQlExWXNZMEZCWXp0SlFVTmtMR2RDUVVGblFqdEpRVU5vUWl4aFFVRmhPMGxCUTJJc1YwRkJWenRKUVVOWUxHRkJRV0U3U1VGRFlpeHhRa0ZCY1VJN1NVRkRja0lzY1VKQlFYRkNPMGxCUTNKQ0xHTkJRV003U1VGRFpDeFpRVUZaTzBsQlExb3NWMEZCVnp0RFFVTklMRU5CUVVNaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaXBjYmlBcUlFQnRiMlIxYkdVZ2FXNTBaV2R5WVhScGIyNXpMMmR5WVhCb0wyNXZaR1Z6TDJac2IzY3RZMjl1ZEhKdmJGeHVJQ29nUUhOMWJXMWhjbmtnVUhKdlpIVmpkR2x2YmlCbWJHOTNMV052Ym5SeWIyd2dibTlrWlNCcmFXNWtJR1JsWTJ4aGNtRjBhVzl1Y3lBb1JFVkRRVVl0TXpJZ3dxY3lNaTR5TGpJcExseHVJQ29nUUdSbGMyTnlhWEIwYVc5dUlFTmhibTl1YVdOaGJDQmdRRzV2WkdWZ0xXUmxZMjl5WVhSbFpDQmpiR0Z6YzJWeklHWnZjaUIwYUdVZ2RHVnVJRUZNUmxKRlJDMDFYRzRnS2lCbWJHOTNMV052Ym5SeWIyd2dhMmx1WkhNdUlGUm9aWE5sSUdGeVpTQm5jbUZ3YUMxc1pYWmxiQ0J0WVdOeWIzTTZJSFJvWlNCbGJtZHBibVVuY3lCd2JHRnVibVZ5WEc0Z0tpQnlaV052WjI1cGMyVnpJSFJvWlcwZ1lYTWdiM0prYVc1aGNua2daWGhsWTNWMFlXSnNaU0J1YjJSbGN5QW93cWMxTGpjcElHSjFkQ0IwYUdWNUlHaGhkbVVnYm05Y2JpQXFJR0oxYVd4MExXbHVJR1Y0WldOMWRHOXljeURpZ0pRZ1pHOTNibk4wY21WaGJTQndjbTlxWldOMGN5QW9aUzVuTGlCQlRFWlNSVVFwSUhKbFoybHpkR1Z5SUdOMWMzUnZiVnh1SUNvZ1pYaGxZM1YwYjNKeklHOXlJR052YlhCcGJHVWdkR2hsYlNCcGJuUnZJRTFoYzNSeVlTQmpiMjF3YjNOcGRHbHZiaUJCVUVseklDakNwekl5TGpJdU1pa3VYRzRnS2x4dUlDb2dWR2hsSUhSb2NtVmxJR3h2YjNBZ2EybHVaSE1nS0dCamIzSmxMbXh2YjNBdVptOXlaV0ZqYUM5M2FHbHNaUzkxYm5ScGJHQXBJR0ZzY21WaFpIa2dhR0YyWlNCaWRXbHNkQzFwYmx4dUlDb2daWGhsWTNWMGIzSnpJQ2pDcHpVdU9Ta2dZVzVrSUdGeVpTQk9UMVFnY21Wa1pXTnNZWEpsWkNCb1pYSmxMbHh1SUNvdlhHNXBiWEJ2Y25RZ2V5Qk5iMlJsYkN3Z2JXOWtaV3dzSUhKbGNYVnBjbVZrSUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5a1pXTnZjbUYwYjNJdGRtRnNhV1JoZEdsdmJsd2lPMXh1YVcxd2IzSjBJSHNnZFdsbGJHVnRaVzUwTENCb2FXUmtaVzRnZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDNWcExXUmxZMjl5WVhSdmNuTmNJanRjYm1sdGNHOXlkQ0I3WEc0Z0lHZHlZWEJvUkdWbWFXNXBkR2x2Yms5bUxGeHVJQ0JwYm5CMWRDeGNiaUFnYm05a1pTeGNiaUFnYjNWMGNIVjBMRnh1SUNCUWIzSjBSR2x5WldOMGFXOXVMRnh1SUNCMGVYQmxJRWR5WVhCb1VHOXlkRVJsWm1sdWFYUnBiMjRzWEc1OUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdmRXa3RaR1ZqYjNKaGRHOXljeTluY21Gd2FGd2lPMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5Qk9iMlJsVFdWMFlXUmhkR0ZEYUdGdVoyVXNJRk4zYVhSamFFNXZaR1ZOWlhSaFpHRjBZU0I5SUdaeWIyMGdYQ0l1TGk5MGVYQmxjMXdpTzF4dWFXMXdiM0owSUhzZ1IzSmhjR2hPYjJSbElIMGdabkp2YlNCY0lpNHZZbUZ6WlZ3aU8xeHVYRzR2S2lwY2JpQXFJRWxtSU9LQWxDQmpiMjVrYVhScGIyNWhiQ0JpY21GdVkyZ3VJRVYyWVd4MVlYUmxjeUJoSUdCRGIyNWthWFJwYjI1RmVIQnlaWE56YVc5dVlDQW93cWN5TWk0ektTQmhibVJjYmlBcUlISnZkWFJsY3lCMGFHVWdhVzV3ZFhRZ2RHOGdkR2hsSUdCMGFHVnVZQ0J2Y2lCZ1pXeHpaV0FnYjNWMGNIVjBMbHh1SUNvdlhHNUFibTlrWlNoY0ltTnZjbVV1Wm14dmR5NXBabHdpTENCN1hHNGdJR3RwYm1RNklGd2lZMjl5WlM1bWJHOTNMbWxtWENJc1hHNGdJR05oZEdWbmIzSjVPaUJjSWtac2IzY2dRMjl1ZEhKdmJGd2lMRnh1SUNCamIyeHZjam9nWENJalpqVTVaVEJpWENJc1hHNGdJR2xqYjI0NklGd2lkR2t0WVhKeWIzZHpMWE53YkdsMExUSmNJaXhjYmlBZ2QybGtkR2c2SURrMkxGeHVJQ0JvWldsbmFIUTZJRGsyTEZ4dUlDQnNZV0psYkhNNklGdGNJbVpzYjNkY0lpd2dYQ0pqYjI1a2FYUnBiMjVoYkZ3aUxDQmNJbUp5WVc1amFGd2lYU3hjYmlBZ2JXVjBZV1JoZEdFNklIdGNiaUFnSUNCMGFYUnNaVG9nWENKSlpsd2lMRnh1SUNBZ0lHUmxjMk55YVhCMGFXOXVPaUJjSWtOdmJtUnBkR2x2Ym1Gc0lHSnlZVzVqYUM0Z1JYWmhiSFZoZEdWeklIUm9aU0JqYjI1bWFXZDFjbVZrSUdOdmJtUnBkR2x2YmlCaGJtUWdjbTkxZEdWeklIUm9aU0JwYm5CMWRDQjBieUIwYUdVZ2JXRjBZMmhwYm1jZ2IzVjBjSFYwTGx3aUxGeHVJQ0FnSUdOdmJtUnBkR2x2YmpvZ2V5QnZjRG9nWENKbGNWd2lMQ0JzWldaME9pQjdJR052Ym5OME9pQjBjblZsSUgwc0lISnBaMmgwT2lCN0lHTnZibk4wT2lCMGNuVmxJSDBnZlN4Y2JpQWdmU3hjYm4wcFhHNUFiVzlrWld3b0tWeHVaWGh3YjNKMElHTnNZWE56SUVsbVJteHZkMDV2WkdVZ1pYaDBaVzVrY3lCTmIyUmxiQ0I3WEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCMWFXVnNaVzFsYm5Rb1hDSjBaWGgwWVhKbFlWd2lMQ0I3SUd4aFltVnNPaUJjSWtsdWNIVjBJSFpoYkhWbFhDSXNJSEJzWVdObGFHOXNaR1Z5T2lCY0lsWmhiSFZsSUhSdklHVjJZV3gxWVhSbFhDSWdmU2xjYmlBZ1FHbHVjSFYwS0hzZ2FHRnVaR3hsT2lCY0luWmhiSFZsWENJZ2ZTbGNiaUFnZG1Gc2RXVWhPaUIxYm10dWIzZHVPMXh1WEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCMWFXVnNaVzFsYm5Rb1hDSnBibkIxZEZ3aUxDQjdJR3hoWW1Wc09pQmNJbFJvWlc1Y0lpd2djR3hoWTJWb2IyeGtaWEk2SUZ3aVQzVjBjSFYwSUhkb1pXNGdZMjl1WkdsMGFXOXVJR2x6SUhSeWRXVmNJaUI5S1Z4dUlDQkFiM1YwY0hWMEtIc2dhR0Z1Wkd4bE9pQmNJblJvWlc1Y0lpQjlLVnh1SUNCMGFHVnVJVG9nZFc1cmJtOTNianRjYmx4dUlDQkFjbVZ4ZFdseVpXUW9LVnh1SUNCQWRXbGxiR1Z0Wlc1MEtGd2lhVzV3ZFhSY0lpd2dleUJzWVdKbGJEb2dYQ0pGYkhObFhDSXNJSEJzWVdObGFHOXNaR1Z5T2lCY0lrOTFkSEIxZENCM2FHVnVJR052Ym1ScGRHbHZiaUJwY3lCbVlXeHpaVndpSUgwcFhHNGdJRUJ2ZFhSd2RYUW9leUJvWVc1a2JHVTZJRndpWld4elpWd2lJSDBwWEc0Z0lHVnNjMlVoT2lCMWJtdHViM2R1TzF4dWZWeHVYRzR2S2lwY2JpQXFJRk4zYVhSamFDRGlnSlFnYlhWc2RHa3RZbkpoYm1Ob0xpQlNiM1YwWlhNZ2RHaGxJR2x1Y0hWMElIUnZJRzl1WlNCdlppQjBhR1VnWTJGelpTQnZkWFJ3ZFhRZ2NHOXlkSE5jYmlBcUlHOXlJR0JrWldaaGRXeDBZQ0JpWVhObFpDQnZiaUJ0WVhSamFHbHVaeUJqYjI1a2FYUnBiMjV6TGlCRllXTm9JR05oYzJVZ1pHVm1hVzVsY3lCaFhHNGdLaUI3UUd4cGJtc2dVM2RwZEdOb1EyRnpaVU52Ym1ScGRHbHZibjBnS0dkeVlYQm9hV05oYkNCdmNpQmpiMlJsSUcxdlpHVXBJR0Z1WkNCaElHUmxaR2xqWVhSbFpGeHVJQ29nYjNWMGNIVjBJSEJ2Y25RdUlFTmhjMlZ6SUdGeVpTQnpkRzl5WldRZ2FXNGdZRzFsZEdGa1lYUmhMbk4zYVhSamFDNWpZWE5sYzJBZ1lXNWtJSFJvWlZ4dUlDb2djbVZ1WkdWeVpYSWdZM0psWVhSbGN5QmtlVzVoYldsaklHOTFkSEIxZENCd2IzSjBjeUJtY205dElIUm9aVzBnS0VSRlEwRkdMVE15SU1Lbk1qSXVNaTR5S1M1Y2JpQXFYRzRnS2lCVWFHVWdibTlrWlNCbmNtOTNjeUJwYmlCb1pXbG5hSFFnWVhNZ1kyRnpaWE1nWVhKbElHRmtaR1ZrTGlCRllXTm9JR05oYzJVZ1oyVjBjeUJwZEhNZ2IzZHVYRzRnS2lCdmRYUndkWFFnY0c5eWRDQnZiaUIwYUdVZ2NtbG5hSFFnYzJsa1pTd2diR0ZpWld4bFpDQjNhWFJvSUhSb1pTQmpZWE5sSUd4aFltVnNMbHh1SUNvdlhHNUFibTlrWlNoY0ltTnZjbVV1Wm14dmR5NXpkMmwwWTJoY0lpd2dlMXh1SUNCcmFXNWtPaUJjSW1OdmNtVXVabXh2ZHk1emQybDBZMmhjSWl4Y2JpQWdZMkYwWldkdmNuazZJRndpUm14dmR5QkRiMjUwY205c1hDSXNYRzRnSUdOdmJHOXlPaUJjSWlObU9UY3pNVFpjSWl4Y2JpQWdhV052YmpvZ1hDSjBhUzFoY25KdmQzTXRjMmgxWm1ac1pWd2lMRnh1SUNCM2FXUjBhRG9nTVRJd0xGeHVJQ0JvWldsbmFIUTZJREUwTUN4Y2JpQWdiR0ZpWld4ek9pQmJYQ0ptYkc5M1hDSXNJRndpYzNkcGRHTm9YQ0lzSUZ3aWJYVnNkR2t0WW5KaGJtTm9YQ0pkTEZ4dUlDQnRaWFJoWkdGMFlUb2dlMXh1SUNBZ0lIUnBkR3hsT2lCY0lsTjNhWFJqYUZ3aUxGeHVJQ0FnSUdSbGMyTnlhWEIwYVc5dU9pQmNJazExYkhScExXSnlZVzVqYUNCemQybDBZMmd1SUZKdmRYUmxjeUIwYUdVZ2FXNXdkWFFnZEc4Z2RHaGxJR1pwY25OMElHMWhkR05vYVc1bklHTmhjMlVnYjNWMGNIVjBMQ0J2Y2lCMGFHVWdaR1ZtWVhWc2RDQnZkWFJ3ZFhRdVhDSXNYRzRnSUNBZ2MzZHBkR05vT2lCN1hHNGdJQ0FnSUNCallYTmxjem9nVzEwc1hHNGdJQ0FnSUNCa1pXWmhkV3gwVUc5eWREb2dYQ0prWldaaGRXeDBYQ0lzWEc0Z0lDQWdJQ0JvWVhORVpXWmhkV3gwT2lCbVlXeHpaU3hjYmlBZ0lDQjlMRnh1SUNCOUxGeHVmU2xjYmtCdGIyUmxiQ2dwWEc1bGVIQnZjblFnWTJ4aGMzTWdVM2RwZEdOb1JteHZkMDV2WkdVZ1pYaDBaVzVrY3lCSGNtRndhRTV2WkdVZ2UxeHVJQ0JBY21WeGRXbHlaV1FvS1Z4dUlDQkFkV2xsYkdWdFpXNTBLRndpZEdWNGRHRnlaV0ZjSWl3Z2V5QnNZV0psYkRvZ1hDSkpibkIxZENCMllXeDFaVndpTENCd2JHRmpaV2h2YkdSbGNqb2dYQ0pXWVd4MVpTQjBieUJ6ZDJsMFkyZ2diMjVjSWlCOUtWeHVJQ0JBYVc1d2RYUW9leUJvWVc1a2JHVTZJRndpZG1Gc2RXVmNJaUI5S1Z4dUlDQjJZV3gxWlNFNklIVnVhMjV2ZDI0N1hHNWNiaUFnUUhKbGNYVnBjbVZrS0NsY2JpQWdRSFZwWld4bGJXVnVkQ2hjSW1sdWNIVjBYQ0lzSUhzZ2JHRmlaV3c2SUZ3aVJHVm1ZWFZzZEZ3aUxDQndiR0ZqWldodmJHUmxjam9nWENKRVpXWmhkV3gwSUc5MWRIQjFkQ0IzYUdWdUlHNXZJR05oYzJVZ2JXRjBZMmhsYzF3aUlIMHBYRzRnSUVCdmRYUndkWFFvZXlCb1lXNWtiR1U2SUZ3aVpHVm1ZWFZzZEZ3aUlIMHBYRzRnSUdSbFptRjFiSFFoT2lCMWJtdHViM2R1TzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJEYjIxd2RYUmxjeUIwYUdVZ2JtOWtaU2R6SUhCdmNuUnpMQ0J6YVhwbExDQmhibVFnWkdGMFlTQndZWFJqYUNCbWNtOXRJSFJvWlNCbmFYWmxiaUJ6ZDJsMFkyaGNiaUFnSUNvZ2JXVjBZV1JoZEdFdUlFVmhZMmdnWTJGelpTQm5aWFJ6SUdsMGN5QnZkMjRnYjNWMGNIVjBJSEJ2Y25RZ2IyNGdkR2hsSUhKcFoyaDBJSE5wWkdVN0lIUm9aVnh1SUNBZ0tpQmdaR1ZtWVhWc2RHQWdjRzl5ZENCaGJIZGhlWE1nY21WdVpHVnljeUFxS214aGMzUXFLaUFvUkVWRFFVWXRNeklnd3FjeU1TQndiM0owTFc5eVpHVnlhVzVuSUhKMWJHVXNYRzRnSUNBcUlFUkZRMEZHTFRNMElNS25OaTR5S1M0Z1YyaGxiaUJnYUdGelJHVm1ZWFZzZEdBZ2FYTWdZR1poYkhObFlDd2dkR2hsSUdCa1pXWmhkV3gwWUNCdmRYUndkWFFnY0c5eWRGeHVJQ0FnS2lCcGN5QnZiV2wwZEdWa0lHVnVkR2x5Wld4NUxpQlVhR1VnYm05a1pTQm5jbTkzY3lCcGJpQm9aV2xuYUhRZ1lYTWdZMkZ6WlhNZ1lYSmxJR0ZrWkdWa0xseHVJQ0FnS2k5Y2JpQWdjM1JoZEdsaklHOTJaWEp5YVdSbElHRndjR3g1VFdWMFlXUmhkR0VvYldWMFlUb2dVM2RwZEdOb1RtOWtaVTFsZEdGa1lYUmhLVG9nVG05a1pVMWxkR0ZrWVhSaFEyaGhibWRsSUh0Y2JpQWdJQ0JqYjI1emRDQmtaV1pwYm1sMGFXOXVJRDBnWjNKaGNHaEVaV1pwYm1sMGFXOXVUMllvZEdocGN5QmhjeUJ1WlhabGNpazdYRzRnSUNBZ1kyOXVjM1FnWkdWbVlYVnNkRkJ2Y25ST1lXMWxJRDBnYldWMFlTNWtaV1poZFd4MFVHOXlkQ0EvUHlCY0ltUmxabUYxYkhSY0lqdGNiaUFnSUNCamIyNXpkQ0JvWVhORVpXWmhkV3gwSUQwZ2JXVjBZUzVvWVhORVpXWmhkV3gwSUQwOVBTQjBjblZsTzF4dVhHNGdJQ0FnTHk4Z1FtRnpaU0J3YjNKMGN5QmxlR05zZFdScGJtY2dZVzU1SUhCdmNuUWdkR2hoZENCamIyeHNhV1JsY3lCM2FYUm9JR0VnWTJGelpTQnZkWFJ3ZFhRZ2NHOXlkQzVjYmlBZ0lDQmpiMjV6ZENCaVlYTmxVRzl5ZEhNZ1BTQmtaV1pwYm1sMGFXOXVMbkJ2Y25SekxtWnBiSFJsY2loY2JpQWdJQ0FnSUNod0tTQTlQaUFoYldWMFlTNWpZWE5sY3k1emIyMWxLQ2hqS1NBOVBpQmpMbTkxZEhCMWRGQnZjblFnUFQwOUlIQXVjSEp2Y0dWeWRIa3BYRzRnSUNBZ0tUdGNiaUFnSUNBdkx5QlRaWEJoY21GMFpTQjBhR1VnWkdWbVlYVnNkQ0J2ZFhSd2RYUWdjRzl5ZENCemJ5QnBkQ0JqWVc0Z1ltVWdjR3hoWTJWa0lHeGhjM1FnS0c5eUlHOXRhWFIwWldRcExseHVJQ0FnSUdOdmJuTjBJRzV2YmtSbFptRjFiSFJRYjNKMGN5QTlJR0poYzJWUWIzSjBjeTVtYVd4MFpYSW9YRzRnSUNBZ0lDQW9jQ2tnUFQ0Z2NDNXdjbTl3WlhKMGVTQWhQVDBnWkdWbVlYVnNkRkJ2Y25ST1lXMWxYRzRnSUNBZ0tUdGNiaUFnSUNCamIyNXpkQ0JrWldaaGRXeDBVRzl5ZENBOUlHSmhjMlZRYjNKMGN5NW1hVzVrS0Nod0tTQTlQaUJ3TG5CeWIzQmxjblI1SUQwOVBTQmtaV1poZFd4MFVHOXlkRTVoYldVcE8xeHVYRzRnSUNBZ1kyOXVjM1FnWTJGelpWQnZjblJ6T2lCSGNtRndhRkJ2Y25SRVpXWnBibWwwYVc5dVcxMGdQU0J0WlhSaExtTmhjMlZ6TG0xaGNDZ29ZeWtnUFQ0Z0tIdGNiaUFnSUNBZ0lIQnliM0JsY25SNU9pQmpMbTkxZEhCMWRGQnZjblFzWEc0Z0lDQWdJQ0J1WVcxbE9pQmpMbXhoWW1Wc0xGeHVJQ0FnSUNBZ1pHbHlaV04wYVc5dU9pQlFiM0owUkdseVpXTjBhVzl1TGs5VlZGQlZWQ3hjYmlBZ0lDQWdJR3hoWW1Wc09pQmpMbXhoWW1Wc0xGeHVJQ0FnSUNBZ2NtVnhkV2x5WldRNklHWmhiSE5sTEZ4dUlDQWdJQ0FnYUdsa1pHVnVPaUJtWVd4elpTeGNiaUFnSUNBZ0lIQmhkR2c2SUdNdWIzVjBjSFYwVUc5eWRDeGNiaUFnSUNCOUtTazdYRzVjYmlBZ0lDQXZMeUJRYjNKMElHOXlaR1Z5T2lCcGJuQjFkSE12Ym05dUxXUmxabUYxYkhRZ2IzVjBjSFYwY3lCbWFYSnpkQ3dnWTJGelpTQnZkWFJ3ZFhSeklHNWxlSFFzSUdSbFptRjFiSFFnYkdGemRDNWNiaUFnSUNCamIyNXpkQ0J3YjNKMGN5QTlJRnN1TGk1dWIyNUVaV1poZFd4MFVHOXlkSE1zSUM0dUxtTmhjMlZRYjNKMGMxMDdYRzRnSUNBZ2FXWWdLR2hoYzBSbFptRjFiSFFnSmlZZ1pHVm1ZWFZzZEZCdmNuUXBJSHRjYmlBZ0lDQWdJSEJ2Y25SekxuQjFjMmdvWkdWbVlYVnNkRkJ2Y25RcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdOdmJuTjBJR05oYzJWRGIzVnVkQ0E5SUcxbGRHRXVZMkZ6WlhNdWJHVnVaM1JvTzF4dUlDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQndiM0owY3l4Y2JpQWdJQ0FnSUhOcGVtVTZJSHRjYmlBZ0lDQWdJQ0FnZDJsa2RHZzZJR1JsWm1sdWFYUnBiMjR1ZDJsa2RHZ2dQejhnTVRJd0xGeHVJQ0FnSUNBZ0lDQm9aV2xuYUhRNklHTmhjMlZEYjNWdWRDQStJREFnUHlBeE5EQWdLeUJqWVhObFEyOTFiblFnS2lBeU5DQTZJR1JsWm1sdWFYUnBiMjR1YUdWcFoyaDBJRDgvSURFME1DeGNiaUFnSUNBZ0lIMHNYRzRnSUNBZ0lDQmtZWFJoVUdGMFkyZzZJSHNnYzNkcGRHTm9UV1YwWVdSaGRHRTZJRzFsZEdFZ2ZTeGNiaUFnSUNCOU8xeHVJQ0I5WEc1OVhHNWNiaThxS2x4dUlDb2dVR0Z5WVd4c1pXd2c0b0NVSUhOd2JHbDBjeUJsZUdWamRYUnBiMjRnYVc1MGJ5QmpiMjVqZFhKeVpXNTBJR0p5WVc1amFHVnpMbHh1SUNvdlhHNUFibTlrWlNoY0ltTnZjbVV1Wm14dmR5NXdZWEpoYkd4bGJGd2lMQ0I3WEc0Z0lHdHBibVE2SUZ3aVkyOXlaUzVtYkc5M0xuQmhjbUZzYkdWc1hDSXNYRzRnSUdOaGRHVm5iM0o1T2lCY0lrWnNiM2NnUTI5dWRISnZiRndpTEZ4dUlDQmpiMnh2Y2pvZ1hDSWpNRFppTm1RMFhDSXNYRzRnSUdsamIyNDZJRndpZEdrdFlYSnliM2R6TFhabGNuUnBZMkZzWENJc1hHNGdJSGRwWkhSb09pQTVOaXhjYmlBZ2FHVnBaMmgwT2lBNU5peGNiaUFnYkdGaVpXeHpPaUJiWENKbWJHOTNYQ0lzSUZ3aWNHRnlZV3hzWld4Y0lpd2dYQ0pqYjI1amRYSnlaVzUwWENKZExGeHVJQ0J0WlhSaFpHRjBZVG9nZTF4dUlDQWdJSFJwZEd4bE9pQmNJbEJoY21Gc2JHVnNYQ0lzWEc0Z0lDQWdaR1Z6WTNKcGNIUnBiMjQ2SUZ3aVUzQnNhWFJ6SUdWNFpXTjFkR2x2YmlCcGJuUnZJR052Ym1OMWNuSmxiblFnWW5KaGJtTm9aWE11SUVGc2JDQmljbUZ1WTJobGN5QnlkVzRnYVc0Z2NHRnlZV3hzWld3Z1lXNWtJRzkxZEhCMWRITWdZWEpsSUdOdmJHeGxZM1JsWkM1Y0lpeGNiaUFnSUNCaWNtRnVZMmhEYjNWdWREb2dNaXhjYmlBZ2ZTeGNibjBwWEc1QWJXOWtaV3dvS1Z4dVpYaHdiM0owSUdOc1lYTnpJRkJoY21Gc2JHVnNSbXh2ZDA1dlpHVWdaWGgwWlc1a2N5Qk5iMlJsYkNCN1hHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQjFhV1ZzWlcxbGJuUW9YQ0owWlhoMFlYSmxZVndpTENCN0lHeGhZbVZzT2lCY0lrbHVjSFYwSUhaaGJIVmxYQ0lzSUhCc1lXTmxhRzlzWkdWeU9pQmNJbFpoYkhWbElIUnZJR1poYmlCdmRYUmNJaUI5S1Z4dUlDQkFhVzV3ZFhRb2V5Qm9ZVzVrYkdVNklGd2lkbUZzZFdWY0lpQjlLVnh1SUNCMllXeDFaU0U2SUhWdWEyNXZkMjQ3WEc1Y2JpQWdRSEpsY1hWcGNtVmtLQ2xjYmlBZ1FIVnBaV3hsYldWdWRDaGNJbWx1Y0hWMFhDSXNJSHNnYkdGaVpXdzZJRndpUW5KaGJtTm9aWE5jSWl3Z2NHeGhZMlZvYjJ4a1pYSTZJRndpUTI5c2JHVmpkR1ZrSUdKeVlXNWphQ0J2ZFhSd2RYUnpYQ0lnZlNsY2JpQWdRRzkxZEhCMWRDaDdJR2hoYm1Sc1pUb2dYQ0ppY21GdVkyaGxjMXdpSUgwcFhHNGdJR0p5WVc1amFHVnpJVG9nZFc1cmJtOTNibHRkTzF4dWZWeHVYRzR2S2lwY2JpQXFJRTFsY21kbElPS0FsQ0J1YjNKdFlXeHBjMlZ6SUdKeVlXNWphQzl3WVhKaGJHeGxiQ0J2ZFhSd2RYUnpJR2x1ZEc4Z1lTQnphVzVuYkdVZ2IzVjBjSFYwTGx4dUlDb3ZYRzVBYm05a1pTaGNJbU52Y21VdVpteHZkeTV0WlhKblpWd2lMQ0I3WEc0Z0lHdHBibVE2SUZ3aVkyOXlaUzVtYkc5M0xtMWxjbWRsWENJc1hHNGdJR05oZEdWbmIzSjVPaUJjSWxWMGFXeHBkSGxjSWl4Y2JpQWdZMjlzYjNJNklGd2lJekJrT1RRNE9Gd2lMRnh1SUNCcFkyOXVPaUJjSW5ScExXRnljbTkzY3kxdFpYSm5aVndpTEZ4dUlDQjNhV1IwYURvZ09UWXNYRzRnSUdobGFXZG9kRG9nT1RZc1hHNGdJR3hoWW1Wc2N6b2dXMXdpWm14dmQxd2lMQ0JjSW0xbGNtZGxYQ0lzSUZ3aWFtOXBibHdpWFN4Y2JpQWdiV1YwWVdSaGRHRTZJSHRjYmlBZ0lDQjBhWFJzWlRvZ1hDSk5aWEpuWlZ3aUxGeHVJQ0FnSUdSbGMyTnlhWEIwYVc5dU9pQmNJazFsY21kbGN5QnRkV3gwYVhCc1pTQmljbUZ1WTJnZ2IzVjBjSFYwY3lCcGJuUnZJR0VnYzJsdVoyeGxJRzV2Y20xaGJHbHpaV1FnYjNWMGNIVjBJRzlpYW1WamRDNWNJaXhjYmlBZ0lDQnpkSEpoZEdWbmVUb2dYQ0pqYjI1allYUmNJaXhjYmlBZ2ZTeGNibjBwWEc1QWJXOWtaV3dvS1Z4dVpYaHdiM0owSUdOc1lYTnpJRTFsY21kbFJteHZkMDV2WkdVZ1pYaDBaVzVrY3lCTmIyUmxiQ0I3WEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCMWFXVnNaVzFsYm5Rb1hDSjBaWGgwWVhKbFlWd2lMQ0I3SUd4aFltVnNPaUJjSWtKeVlXNWphQ0J2ZFhSd2RYUnpYQ0lzSUhCc1lXTmxhRzlzWkdWeU9pQmNJazkxZEhCMWRITWdkRzhnYldWeVoyVmNJaUI5S1Z4dUlDQkFhVzV3ZFhRb2V5Qm9ZVzVrYkdVNklGd2lkbUZzZFdWelhDSWdmU2xjYmlBZ2RtRnNkV1Z6SVRvZ2RXNXJibTkzYmx0ZE8xeHVYRzRnSUVCeVpYRjFhWEpsWkNncFhHNGdJRUIxYVdWc1pXMWxiblFvWENKcGJuQjFkRndpTENCN0lHeGhZbVZzT2lCY0lrMWxjbWRsWkNCdmRYUndkWFJjSWl3Z2NHeGhZMlZvYjJ4a1pYSTZJRndpVFdWeVoyVmtJSEpsYzNWc2RGd2lJSDBwWEc0Z0lFQnZkWFJ3ZFhRb2V5Qm9ZVzVrYkdVNklGd2liV1Z5WjJWa1hDSWdmU2xjYmlBZ2JXVnlaMlZrSVRvZ2RXNXJibTkzYmp0Y2JuMWNibHh1THlvcVhHNGdLaUJOWVhBZzRvQ1VJSFJ5WVc1elptOXliWE1nZEdobElHTjFjbkpsYm5RZ2FXNXdkWFFnYVc1MGJ5QmhJRzVsZHlCdmRYUndkWFFnYjJKcVpXTjBMbHh1SUNvdlhHNUFibTlrWlNoY0ltTnZjbVV1Wm14dmR5NXRZWEJjSWl3Z2UxeHVJQ0JyYVc1a09pQmNJbU52Y21VdVpteHZkeTV0WVhCY0lpeGNiaUFnWTJGMFpXZHZjbms2SUZ3aVZYUnBiR2wwZVZ3aUxGeHVJQ0JqYjJ4dmNqb2dYQ0lqT0RSall6RTJYQ0lzWEc0Z0lHbGpiMjQ2SUZ3aWRHa3RZWEp5YjNkekxYSnBaMmgwTFd4bFpuUmNJaXhjYmlBZ2QybGtkR2c2SURrMkxGeHVJQ0JvWldsbmFIUTZJRGsyTEZ4dUlDQnNZV0psYkhNNklGdGNJbVpzYjNkY0lpd2dYQ0p0WVhCY0lpd2dYQ0owY21GdWMyWnZjbTFjSWwwc1hHNGdJRzFsZEdGa1lYUmhPaUI3WEc0Z0lDQWdkR2wwYkdVNklGd2lUV0Z3WENJc1hHNGdJQ0FnWkdWelkzSnBjSFJwYjI0NklGd2lWSEpoYm5ObWIzSnRjeUIwYUdVZ1kzVnljbVZ1ZENCcGJuQjFkQ0JwYm5SdklHRWdibVYzSUc5MWRIQjFkQ0J2WW1wbFkzUWdkWE5wYm1jZ2RHaGxJR052Ym1acFozVnlaV1FnYldGd2NHVnlMbHdpTEZ4dUlDQWdJRzFoY0hCbGNqb2dlMzBzWEc0Z0lIMHNYRzU5S1Z4dVFHMXZaR1ZzS0NsY2JtVjRjRzl5ZENCamJHRnpjeUJOWVhCR2JHOTNUbTlrWlNCbGVIUmxibVJ6SUUxdlpHVnNJSHRjYmlBZ1FISmxjWFZwY21Wa0tDbGNiaUFnUUhWcFpXeGxiV1Z1ZENoY0luUmxlSFJoY21WaFhDSXNJSHNnYkdGaVpXdzZJRndpU1c1d2RYUWdkbUZzZFdWY0lpd2djR3hoWTJWb2IyeGtaWEk2SUZ3aVZtRnNkV1VnZEc4Z2RISmhibk5tYjNKdFhDSWdmU2xjYmlBZ1FHbHVjSFYwS0hzZ2FHRnVaR3hsT2lCY0luWmhiSFZsWENJZ2ZTbGNiaUFnZG1Gc2RXVWhPaUIxYm10dWIzZHVPMXh1WEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCMWFXVnNaVzFsYm5Rb1hDSnBibkIxZEZ3aUxDQjdJR3hoWW1Wc09pQmNJbFJ5WVc1elptOXliV1ZrSUc5MWRIQjFkRndpTENCd2JHRmpaV2h2YkdSbGNqb2dYQ0pOWVhCd1pXUWdjbVZ6ZFd4MFhDSWdmU2xjYmlBZ1FHOTFkSEIxZENoN0lHaGhibVJzWlRvZ1hDSnlaWE4xYkhSY0lpQjlLVnh1SUNCeVpYTjFiSFFoT2lCMWJtdHViM2R1TzF4dWZWeHVYRzR2S2lwY2JpQXFJRVJsYkdGNUlPS0FsQ0J3WVhWelpYTWdaWGhsWTNWMGFXOXVJR1p2Y2lCaElHTnZibVpwWjNWeVpXUWdaSFZ5WVhScGIyNHVYRzRnS2k5Y2JrQnViMlJsS0Z3aVkyOXlaUzVtYkc5M0xtUmxiR0Y1WENJc0lIdGNiaUFnYTJsdVpEb2dYQ0pqYjNKbExtWnNiM2N1WkdWc1lYbGNJaXhjYmlBZ1kyRjBaV2R2Y25rNklGd2lWWFJwYkdsMGVWd2lMRnh1SUNCamIyeHZjam9nWENJallUTmhNMkV6WENJc1hHNGdJR2xqYjI0NklGd2lkR2t0WTJ4dlkyc3RhRzkxY2kwMFhDSXNYRzRnSUhkcFpIUm9PaUE1Tml4Y2JpQWdhR1ZwWjJoME9pQTVOaXhjYmlBZ2JHRmlaV3h6T2lCYlhDSm1iRzkzWENJc0lGd2laR1ZzWVhsY0lpd2dYQ0ozWVdsMFhDSmRMRnh1SUNCdFpYUmhaR0YwWVRvZ2UxeHVJQ0FnSUhScGRHeGxPaUJjSWtSbGJHRjVYQ0lzWEc0Z0lDQWdaR1Z6WTNKcGNIUnBiMjQ2SUZ3aVVHRjFjMlZ6SUdWNFpXTjFkR2x2YmlCbWIzSWdkR2hsSUdOdmJtWnBaM1Z5WldRZ1pIVnlZWFJwYjI0Z0tHbHVJRzFwYkd4cGMyVmpiMjVrY3lrc0lIUm9aVzRnWm05eWQyRnlaSE1nZEdobElHbHVjSFYwSUhWdVkyaGhibWRsWkM1Y0lpeGNiaUFnSUNCa2RYSmhkR2x2Ymsxek9pQXhNREF3TEZ4dUlDQjlMRnh1ZlNsY2JrQnRiMlJsYkNncFhHNWxlSEJ2Y25RZ1kyeGhjM01nUkdWc1lYbEdiRzkzVG05a1pTQmxlSFJsYm1SeklFMXZaR1ZzSUh0Y2JpQWdRSEpsY1hWcGNtVmtLQ2xjYmlBZ1FIVnBaV3hsYldWdWRDaGNJblJsZUhSaGNtVmhYQ0lzSUhzZ2JHRmlaV3c2SUZ3aVNXNXdkWFFnZG1Gc2RXVmNJaXdnY0d4aFkyVm9iMnhrWlhJNklGd2lWbUZzZFdVZ2RHOGdabTl5ZDJGeVpDQmhablJsY2lCa1pXeGhlVndpSUgwcFhHNGdJRUJwYm5CMWRDaDdJR2hoYm1Sc1pUb2dYQ0oyWVd4MVpWd2lJSDBwWEc0Z0lIWmhiSFZsSVRvZ2RXNXJibTkzYmp0Y2JseHVJQ0JBY21WeGRXbHlaV1FvS1Z4dUlDQkFkV2xsYkdWdFpXNTBLRndpYVc1d2RYUmNJaXdnZXlCc1lXSmxiRG9nWENKUGRYUndkWFFnZG1Gc2RXVmNJaXdnY0d4aFkyVm9iMnhrWlhJNklGd2lSbTl5ZDJGeVpHVmtJSFpoYkhWbFhDSWdmU2xjYmlBZ1FHOTFkSEIxZENoN0lHaGhibVJzWlRvZ1hDSjJZV3gxWlZ3aUlIMHBYRzRnSUhaaGJIVmxUM1YwSVRvZ2RXNXJibTkzYmp0Y2JuMWNibHh1THlvcVhHNGdLaUJGY25KdmNpQmliM1Z1WkdGeWVTRGlnSlFnZEhKNUwyTmhkR05vTDJacGJtRnNiSGtnZDI5eWEyWnNiM2NnWW1Wb1lYWnBiM1Z5TGx4dUlDb3ZYRzVBYm05a1pTaGNJbU52Y21VdVpteHZkeTVsY25KdmNrSnZkVzVrWVhKNVhDSXNJSHRjYmlBZ2EybHVaRG9nWENKamIzSmxMbVpzYjNjdVpYSnliM0pDYjNWdVpHRnllVndpTEZ4dUlDQmpZWFJsWjI5eWVUb2dYQ0pHYkc5M0lFTnZiblJ5YjJ4Y0lpeGNiaUFnWTI5c2IzSTZJRndpSTJWbU5EUTBORndpTEZ4dUlDQnBZMjl1T2lCY0luUnBMWE5vYVdWc1pDMWphR1ZqYTF3aUxGeHVJQ0IzYVdSMGFEb2dPVFlzWEc0Z0lHaGxhV2RvZERvZ09UWXNYRzRnSUd4aFltVnNjem9nVzF3aVpteHZkMXdpTENCY0ltVnljbTl5WENJc0lGd2lkSEo1TFdOaGRHTm9YQ0pkTEZ4dUlDQnRaWFJoWkdGMFlUb2dlMXh1SUNBZ0lIUnBkR3hsT2lCY0lrVnljbTl5SUdKdmRXNWtZWEo1WENJc1hHNGdJQ0FnWkdWelkzSnBjSFJwYjI0NklGd2lWM0poY0hNZ2RHaGxJR2x1Y0hWMElHbHVJR0VnZEhKNUwyTmhkR05vTDJacGJtRnNiSGt1SUVWdGFYUnpJSFJvWlNCeVpYTjFiSFFnYjI0Z2MzVmpZMlZ6Y3l3Z2IzSWdkR2hsSUdWeWNtOXlJRzl1SUdaaGFXeDFjbVV1WENJc1hHNGdJQ0FnWm1sdVlXeHNlVG9nWm1Gc2MyVXNYRzRnSUgwc1hHNTlLVnh1UUcxdlpHVnNLQ2xjYm1WNGNHOXlkQ0JqYkdGemN5QkZjbkp2Y2tKdmRXNWtZWEo1Um14dmQwNXZaR1VnWlhoMFpXNWtjeUJOYjJSbGJDQjdYRzRnSUVCeVpYRjFhWEpsWkNncFhHNGdJRUIxYVdWc1pXMWxiblFvWENKMFpYaDBZWEpsWVZ3aUxDQjdJR3hoWW1Wc09pQmNJa2x1Y0hWMElIWmhiSFZsWENJc0lIQnNZV05sYUc5c1pHVnlPaUJjSWxaaGJIVmxJSFJ2SUdkMVlYSmtYQ0lnZlNsY2JpQWdRR2x1Y0hWMEtIc2dhR0Z1Wkd4bE9pQmNJblpoYkhWbFhDSWdmU2xjYmlBZ2RtRnNkV1VoT2lCMWJtdHViM2R1TzF4dVhHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQjFhV1ZzWlcxbGJuUW9YQ0pwYm5CMWRGd2lMQ0I3SUd4aFltVnNPaUJjSWxKbGMzVnNkRndpTENCd2JHRmpaV2h2YkdSbGNqb2dYQ0pQZFhSd2RYUWdiMjRnYzNWalkyVnpjMXdpSUgwcFhHNGdJRUJ2ZFhSd2RYUW9leUJvWVc1a2JHVTZJRndpY21WemRXeDBYQ0lnZlNsY2JpQWdjbVZ6ZFd4MElUb2dkVzVyYm05M2JqdGNibHh1SUNCQWNtVnhkV2x5WldRb0tWeHVJQ0JBZFdsbGJHVnRaVzUwS0Z3aWFXNXdkWFJjSWl3Z2V5QnNZV0psYkRvZ1hDSkZjbkp2Y2x3aUxDQndiR0ZqWldodmJHUmxjam9nWENKUGRYUndkWFFnYjI0Z1ptRnBiSFZ5WlZ3aUlIMHBYRzRnSUVCdmRYUndkWFFvZXlCb1lXNWtiR1U2SUZ3aVpYSnliM0pjSWlCOUtWeHVJQ0JsY25KdmNpRTZJSFZ1YTI1dmQyNDdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1NIVnRZVzRnWVhCd2NtOTJZV3dnNG9DVUlITjFjM0JsYm1SeklHVjRaV04xZEdsdmJpQjFiblJwYkNCaElHaDFiV0Z1SUdGd2NISnZkbVZ6SUc5eUlISmxhbVZqZEhNdVhHNGdLaTljYmtCdWIyUmxLRndpWTI5eVpTNW1iRzkzTG1oMWJXRnVRWEJ3Y205MllXeGNJaXdnZTF4dUlDQnJhVzVrT2lCY0ltTnZjbVV1Wm14dmR5NW9kVzFoYmtGd2NISnZkbUZzWENJc1hHNGdJR05oZEdWbmIzSjVPaUJjSWtac2IzY2dRMjl1ZEhKdmJGd2lMRnh1SUNCamIyeHZjam9nWENJalpEazBObVZtWENJc1hHNGdJR2xqYjI0NklGd2lkR2t0ZFhObGNpMWphR1ZqYTF3aUxGeHVJQ0IzYVdSMGFEb2dPVFlzWEc0Z0lHaGxhV2RvZERvZ09UWXNYRzRnSUd4aFltVnNjem9nVzF3aVpteHZkMXdpTENCY0ltRndjSEp2ZG1Gc1hDSXNJRndpYzNWemNHVnVaRndpWFN4Y2JpQWdiV1YwWVdSaGRHRTZJSHRjYmlBZ0lDQjBhWFJzWlRvZ1hDSklkVzFoYmlCaGNIQnliM1poYkZ3aUxGeHVJQ0FnSUdSbGMyTnlhWEIwYVc5dU9pQmNJbE4xYzNCbGJtUnpJR1Y0WldOMWRHbHZiaUIxYm5ScGJDQmhJR2gxYldGdUlHRndjSEp2ZG1WeklHOXlJSEpsYW1WamRITXVJRVZ0YVhSeklIUm9aU0JoY0hCeWIzWmxaQ0IyWVd4MVpTQnZjaUJoSUhKbGFtVmpkR2x2Ymk1Y0lpeGNiaUFnSUNCaGNIQnliM1psY25NNklGdGRMRnh1SUNBZ0lIUnBiV1Z2ZFhSTmN6b2dPRFkwTURBd01EQXNYRzRnSUgwc1hHNTlLVnh1UUcxdlpHVnNLQ2xjYm1WNGNHOXlkQ0JqYkdGemN5QklkVzFoYmtGd2NISnZkbUZzUm14dmQwNXZaR1VnWlhoMFpXNWtjeUJOYjJSbGJDQjdYRzRnSUVCeVpYRjFhWEpsWkNncFhHNGdJRUIxYVdWc1pXMWxiblFvWENKMFpYaDBZWEpsWVZ3aUxDQjdJR3hoWW1Wc09pQmNJa2x1Y0hWMElIWmhiSFZsWENJc0lIQnNZV05sYUc5c1pHVnlPaUJjSWxaaGJIVmxJSEJsYm1ScGJtY2dZWEJ3Y205MllXeGNJaUI5S1Z4dUlDQkFhVzV3ZFhRb2V5Qm9ZVzVrYkdVNklGd2lkbUZzZFdWY0lpQjlLVnh1SUNCMllXeDFaU0U2SUhWdWEyNXZkMjQ3WEc1Y2JpQWdRSEpsY1hWcGNtVmtLQ2xjYmlBZ1FIVnBaV3hsYldWdWRDaGNJbWx1Y0hWMFhDSXNJSHNnYkdGaVpXdzZJRndpUVhCd2NtOTJaV1JjSWl3Z2NHeGhZMlZvYjJ4a1pYSTZJRndpVDNWMGNIVjBJSGRvWlc0Z1lYQndjbTkyWldSY0lpQjlLVnh1SUNCQWIzVjBjSFYwS0hzZ2FHRnVaR3hsT2lCY0ltRndjSEp2ZG1Wa1hDSWdmU2xjYmlBZ1lYQndjbTkyWldRaE9pQjFibXR1YjNkdU8xeHVYRzRnSUVCeVpYRjFhWEpsWkNncFhHNGdJRUIxYVdWc1pXMWxiblFvWENKcGJuQjFkRndpTENCN0lHeGhZbVZzT2lCY0lsSmxhbVZqZEdWa1hDSXNJSEJzWVdObGFHOXNaR1Z5T2lCY0lrOTFkSEIxZENCM2FHVnVJSEpsYW1WamRHVmtYQ0lnZlNsY2JpQWdRRzkxZEhCMWRDaDdJR2hoYm1Sc1pUb2dYQ0p5WldwbFkzUmxaRndpSUgwcFhHNGdJSEpsYW1WamRHVmtJVG9nZFc1cmJtOTNianRjYm4xY2JseHVMeW9xWEc0Z0tpQlNaWFIxY200ZzRvQ1VJR1JsWm1sdVpYTWdZVzVrSUc1dmNtMWhiR2x6WlhNZ2RHaGxJR1pwYm1Gc0lIZHZjbXRtYkc5M0lHOTFkSEIxZEM1Y2JpQXFMMXh1UUc1dlpHVW9YQ0pqYjNKbExtWnNiM2N1Y21WMGRYSnVYQ0lzSUh0Y2JpQWdhMmx1WkRvZ1hDSmpiM0psTG1ac2IzY3VjbVYwZFhKdVhDSXNYRzRnSUdOaGRHVm5iM0o1T2lCY0lsVjBhV3hwZEhsY0lpeGNiaUFnWTI5c2IzSTZJRndpSXpJeVl6VTFaVndpTEZ4dUlDQnBZMjl1T2lCY0luUnBMV0Z5Y205M0xXSmhZMnN0ZFhCY0lpeGNiaUFnZDJsa2RHZzZJRGsyTEZ4dUlDQm9aV2xuYUhRNklEazJMRnh1SUNCc1lXSmxiSE02SUZ0Y0ltWnNiM2RjSWl3Z1hDSnlaWFIxY201Y0lpd2dYQ0p2ZFhSd2RYUmNJbDBzWEc0Z0lHMWxkR0ZrWVhSaE9pQjdYRzRnSUNBZ2RHbDBiR1U2SUZ3aVVtVjBkWEp1WENJc1hHNGdJQ0FnWkdWelkzSnBjSFJwYjI0NklGd2lUbTl5YldGc2FYTmxjeUIwYUdVZ2FXNXdkWFFnYVc1MGJ5QjBhR1VnWm1sdVlXd2dkMjl5YTJac2IzY2diM1YwY0hWMElHOWlhbVZqZEM1Y0lpeGNiaUFnSUNCdmRYUndkWFJUWTJobGJXRTZJSHQ5TEZ4dUlDQjlMRnh1ZlNsY2JrQnRiMlJsYkNncFhHNWxlSEJ2Y25RZ1kyeGhjM01nVW1WMGRYSnVSbXh2ZDA1dlpHVWdaWGgwWlc1a2N5Qk5iMlJsYkNCN1hHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQjFhV1ZzWlcxbGJuUW9YQ0owWlhoMFlYSmxZVndpTENCN0lHeGhZbVZzT2lCY0lrbHVjSFYwSUhaaGJIVmxYQ0lzSUhCc1lXTmxhRzlzWkdWeU9pQmNJbFpoYkhWbElIUnZJRzV2Y20xaGJHbHpaVndpSUgwcFhHNGdJRUJwYm5CMWRDaDdJR2hoYm1Sc1pUb2dYQ0oyWVd4MVpWd2lJSDBwWEc0Z0lIWmhiSFZsSVRvZ2RXNXJibTkzYmp0Y2JseHVJQ0JBY21WeGRXbHlaV1FvS1Z4dUlDQkFkV2xsYkdWdFpXNTBLRndpYVc1d2RYUmNJaXdnZXlCc1lXSmxiRG9nWENKU1pYUjFjbTVsWkNCdmRYUndkWFJjSWl3Z2NHeGhZMlZvYjJ4a1pYSTZJRndpVG05eWJXRnNhWE5sWkNCdmRYUndkWFJjSWlCOUtWeHVJQ0JBYjNWMGNIVjBLSHNnYUdGdVpHeGxPaUJjSW5KbGMzVnNkRndpSUgwcFhHNGdJSEpsYzNWc2RDRTZJSFZ1YTI1dmQyNDdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1EyOWtaU0RpZ0pRZ2MyRnVaR0p2ZUdWa0lFcFRMMVJUSUdOdlpHVWdaWGhsWTNWMGFXOXVJQ2hCVEVaU1JVUXROU0RDcHpjc0lFUkZRMEZHTFRNeUlNS25Nakl1TkNrdVhHNGdLbHh1SUNvZ1ZHaGxJR1Z1WjJsdVpTZHpJSHRBYkdsdWF5QkRiMlJsUjNKaGNHaE9iMlJsUlhobFkzVjBiM0o5SUdSbGJHVm5ZWFJsY3lCMGJ5QjBhR1VnY0d4MVoyZGhZbXhsWEc0Z0tpQjdRR3hwYm1zZ1EyOWtaVk5oYm1SaWIzaEZkbUZzZFdGMGIzSjlMaUJVYUdVZ1pHVm1ZWFZzZEZ4dUlDb2dZRWx6YjJ4aGRHVmtWbTFEYjJSbFUyRnVaR0p2ZUVWMllXeDFZWFJ2Y21BZ0tHSmhZMnRsWkNCaWVTQmdhWE52YkdGMFpXUXRkbTFnS1NCbGJtWnZjbU5sY3lCMGFHVmNiaUFxSUVOdlpHVWdUbTlrWlNCeVpYTjBjbWxqZEdsdmJuTTZJRzV2SUdsdGNHOXlkSE1zSUc1dklISmxjWFZwY21WekxDQndkWEpsSUdaMWJtTjBhVzl1Y3lCdmJteDVMaUJVYUdWY2JpQXFJSE5oYm1SaWIzZ2dZMjl1ZEdWNGRDQmxlSEJ2YzJWeklHQWthVzV3ZFhSZ0xDQmdKSFpoY25OZ0xDQmdKR2wwWlcxZ0xDQmdKR2x1WkdWNFlDd2dZQ1J1YjJSbFlDd2dZVzVrWEc0Z0tpQmdKRzkxZEhCMWRHQWdZWE1nWkdGMFlTQjJZWEpwWVdKc1pYTXVJRlI1Y0dWVFkzSnBjSFFnYVhNZ2MzVndjRzl5ZEdWa0lIWnBZU0IwY21GdWMzQnBiR0YwYVc5dUxseHVJQ292WEc1Y2JpOHFLbHh1SUNvZ1NXNXdkWFFnYzJOb1pXMWhJR1p2Y2lCMGFHVWdRMjlrWlNCdWIyUmxMaUJVYUdVZ1lFQnBibkIxZEdBZ2IyNGdZRU52WkdWR2JHOTNUbTlrWlM1cGJuQjFkR0FnYVhNZ1lWeHVJQ29nYzJOb1pXMWhJR2R5YjNWd0lPS0FsQ0IwYUdVZ2JtVnpkR1ZrSUcxdlpHVnNKM01nWUVCcGJuQjFkR0FnY0c5eWRITWdZWEpsSUhOd2JHbGpaV1FnYVc1MGJ5QjBhR1ZjYmlBcUlIQmhjbVZ1ZENCMWJuQnlaV1pwZUdWa0xpQmdZMjlrWldBZ2FHRnpJR0JBYVc1d2RYUmdJQ3NnWUVCMWFXVnNaVzFsYm5Rb1hDSmpiMlJsTFdWa2FYUnZjbHdpS1dBc0lITnZJR2wwWEc0Z0tpQmhjSEJsWVhKeklHRnpJR0VnY0c5eWRDQkJUa1FnYVc0Z2RHaGxJRU5TVlVRZ2JXOWtZV3dnS0hSb1pTQnZibXg1SUhacGMybGliR1VnWm1sbGJHUXBMaUJnWkdGMFlXQmNiaUFxSUdoaGN5QmdRR2x1Y0hWMFlDQXJJR0JBYUdsa1pHVnVLQ2xnSUdKMWRDQnVieUJnUUhWcFpXeGxiV1Z1ZEdBc0lITnZJR2wwSUdseklHRWdZMkZ1ZG1GekxXOXViSGtnY0c5eWRGeHVJQ29nS0dadmNpQmxaR2RsSUdOdmJtNWxZM1JwYjI1eklHWnliMjBnZDI5eWEyWnNiM2NnYVc1d2RYUWdZbUZrWjJWektTQmlkWFFnYm1WMlpYSWdZWEJ3WldGeWN5QnBiaUIwYUdWY2JpQXFJRU5TVlVRZ2JXOWtZV3d1SUdCc1lXNW5kV0ZuWldBZ2FHRnpJRzV2SUdCQWFXNXdkWFJnSUdGdVpDQnVieUJnUUhWcFpXeGxiV1Z1ZEdBc0lITnZJR2wwSUdselhHNGdLaUJ1WldsMGFHVnlJR0VnY0c5eWRDQnViM0lnY21WdVpHVnlaV1FnNG9DVUlHbDBJR1JsWm1GMWJIUnpJSFJ2SUdCY0ltcGhkbUZ6WTNKcGNIUmNJbUF1WEc0Z0tpOWNia0J0YjJSbGJDZ3BYRzVsZUhCdmNuUWdZMnhoYzNNZ1EyOWtaVWx1Y0hWMFUyTm9aVzFoSUdWNGRHVnVaSE1nVFc5a1pXd2dlMXh1SUNCQWNtVnhkV2x5WldRb0tWeHVJQ0JzWVc1bmRXRm5aVG9nYzNSeWFXNW5JRDBnWENKcVlYWmhjMk55YVhCMFhDSTdYRzVjYmlBZ1FISmxjWFZwY21Wa0tDbGNiaUFnUUhWcFpXeGxiV1Z1ZENoY0ltTnZaR1V0WldScGRHOXlYQ0lzSUhzZ2JHRmlaV3c2SUZ3aVEyOWtaVndpTENCd2JHRmpaV2h2YkdSbGNqb2dYQ0l2THlCVmMyVnlMV0YxZEdodmNtVmtJRXBUSUdOdlpHVmNJaUI5S1Z4dUlDQkFhVzV3ZFhRb2V5Qm9ZVzVrYkdVNklGd2lZMjlrWlZ3aUlIMHBYRzRnSUdOdlpHVWhPaUJ6ZEhKcGJtYzdYRzVjYmlBZ1FHaHBaR1JsYmlncFhHNGdJRUJwYm5CMWRDaDdJR2hoYm1Sc1pUb2dYQ0prWVhSaFhDSWdmU2xjYmlBZ1pHRjBZVDg2SUhWdWEyNXZkMjQ3WEc1OVhHNWNia0J1YjJSbEtGd2lZMjl5WlM1bWJHOTNMbU52WkdWY0lpd2dlMXh1SUNCcmFXNWtPaUJjSW1OdmNtVXVabXh2ZHk1amIyUmxYQ0lzWEc0Z0lHTmhkR1ZuYjNKNU9pQmNJbFYwYVd4cGRIbGNJaXhjYmlBZ1kyOXNiM0k2SUZ3aUl6ZGpNMkZsWkZ3aUxGeHVJQ0JwWTI5dU9pQmNJblJwTFdOdlpHVmNJaXhjYmlBZ2QybGtkR2c2SURrMkxGeHVJQ0JvWldsbmFIUTZJRGsyTEZ4dUlDQnNZV0psYkhNNklGdGNJbVpzYjNkY0lpd2dYQ0pqYjJSbFhDSXNJRndpYzJGdVpHSnZlRndpTENCY0luUnlZVzV6Wm05eWJWd2lYU3hjYmlBZ2JXVjBZV1JoZEdFNklIdGNiaUFnSUNCMGFYUnNaVG9nWENKRGIyUmxYQ0lzWEc0Z0lDQWdaR1Z6WTNKcGNIUnBiMjQ2SUZ3aVVuVnVjeUIxYzJWeUxXRjFkR2h2Y21Wa0lFcFRMMVJUSUdsdUlHRWdjbVZ6ZEhKcFkzUmxaQ0JXVFNCellXNWtZbTk0TGlCVGRYQndiM0owY3lCd2JHRmpaV2h2YkdSbGNpQnplVzUwWVhnZ1ptOXlJSGR2Y210bWJHOTNJR1JoZEdFZ2NtVm1aWEpsYm1ObGN5NWNJaXhjYmlBZ0lDQjBhVzFsYjNWMFRYTTZJREV3TURBc1hHNGdJSDBzWEc1OUtWeHVRRzF2WkdWc0tDbGNibVY0Y0c5eWRDQmpiR0Z6Y3lCRGIyUmxSbXh2ZDA1dlpHVWdaWGgwWlc1a2N5Qk5iMlJsYkNCN1hHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQnBibkIxZENoN0lHaGhibVJzWlRvZ1hDSnBibkIxZEZ3aUxDQnRiMlJsYkRvZ1EyOWtaVWx1Y0hWMFUyTm9aVzFoSUgwcFhHNGdJR2x1Y0hWMElUb2dRMjlrWlVsdWNIVjBVMk5vWlcxaE8xeHVYRzRnSUVCeVpYRjFhWEpsWkNncFhHNGdJRUJ2ZFhSd2RYUW9leUJvWVc1a2JHVTZJRndpY21WemRXeDBYQ0lnZlNsY2JpQWdjbVZ6ZFd4MElUb2dkVzVyYm05M2JqdGNibjFjYmx4dUx5b3FYRzRnS2lCTWIyY2c0b0NVSUd4dlozTWdkR2hsSUdsdWNIVjBJSFpoYkhWbElHRnVaQ0JtYjNKM1lYSmtjeUJwZENCMWJtTm9ZVzVuWldRZ2IyNGdkR2hsSUdCc2IyZG5aV1JnWEc0Z0tpQnZkWFJ3ZFhRZ2NHOXlkQzRnVlhObFpuVnNJR1p2Y2lCa1pXSjFaMmRwYm1jc0lHRjFaR2wwSUhSeVlXbHNjeXdnWVc1a0lHUnBjMk5oY21RdmMybGtaUzFsWm1abFkzUmNiaUFxSUdKeVlXNWphR1Z6SUdsdUlHRWdkMjl5YTJac2IzY3VYRzRnS2k5Y2JrQnViMlJsS0Z3aVkyOXlaUzVtYkc5M0xteHZaMXdpTENCN1hHNGdJR3RwYm1RNklGd2lZMjl5WlM1bWJHOTNMbXh2WjF3aUxGeHVJQ0JqWVhSbFoyOXllVG9nWENKVmRHbHNhWFI1WENJc1hHNGdJR052Ykc5eU9pQmNJaU0yTXpZMlpqRmNJaXhjYmlBZ2FXTnZiam9nWENKMGFTMTBaWEp0YVc1aGJGd2lMRnh1SUNCM2FXUjBhRG9nT1RZc1hHNGdJR2hsYVdkb2REb2dPVFlzWEc0Z0lHeGhZbVZzY3pvZ1cxd2labXh2ZDF3aUxDQmNJbXh2WjF3aUxDQmNJbVJsWW5WblhDSXNJRndpZFhScGJHbDBlVndpWFN4Y2JpQWdiV1YwWVdSaGRHRTZJSHRjYmlBZ0lDQjBhWFJzWlRvZ1hDSk1iMmRjSWl4Y2JpQWdJQ0JrWlhOamNtbHdkR2x2YmpvZ1hDSk1iMmR6SUhSb1pTQnBibkIxZENCMllXeDFaU0IwYnlCMGFHVWdaWGhsWTNWMGFXOXVJR3h2WjJkbGNpQmhibVFnWm05eWQyRnlaSE1nYVhRZ2RXNWphR0Z1WjJWa0xsd2lMRnh1SUNCOUxGeHVmU2xjYmtCdGIyUmxiQ2dwWEc1bGVIQnZjblFnWTJ4aGMzTWdURzluUm14dmQwNXZaR1VnWlhoMFpXNWtjeUJOYjJSbGJDQjdYRzRnSUVCeVpYRjFhWEpsWkNncFhHNGdJRUIxYVdWc1pXMWxiblFvWENKMFpYaDBZWEpsWVZ3aUxDQjdJR3hoWW1Wc09pQmNJa2x1Y0hWMElIWmhiSFZsWENJc0lIQnNZV05sYUc5c1pHVnlPaUJjSWxaaGJIVmxJSFJ2SUd4dloxd2lJSDBwWEc0Z0lFQnBibkIxZENoN0lHaGhibVJzWlRvZ1hDSjJZV3gxWlZ3aUlIMHBYRzRnSUhaaGJIVmxJVG9nZFc1cmJtOTNianRjYmx4dUlDQkFjbVZ4ZFdseVpXUW9LVnh1SUNCQWRXbGxiR1Z0Wlc1MEtGd2lhVzV3ZFhSY0lpd2dleUJzWVdKbGJEb2dYQ0pNYjJkblpXUWdkbUZzZFdWY0lpd2djR3hoWTJWb2IyeGtaWEk2SUZ3aVJtOXlkMkZ5WkdWa0lIWmhiSFZsWENJZ2ZTbGNiaUFnUUc5MWRIQjFkQ2g3SUdoaGJtUnNaVG9nWENKc2IyZG5aV1JjSWlCOUtWeHVJQ0JzYjJkblpXUWhPaUIxYm10dWIzZHVPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFRnNiQ0JpZFdsc2RDMXBiaUJtYkc5M0xXTnZiblJ5YjJ3Z2JtOWtaU0JqYjI1emRISjFZM1J2Y25NdVhHNGdLaTljYm1WNGNHOXlkQ0JqYjI1emRDQkhVa0ZRU0Y5R1RFOVhYME5QVGxSU1QweGZUazlFUlZNZ1BTQmJYRzRnSUVsbVJteHZkMDV2WkdVc1hHNGdJRk4zYVhSamFFWnNiM2RPYjJSbExGeHVJQ0JRWVhKaGJHeGxiRVpzYjNkT2IyUmxMRnh1SUNCTlpYSm5aVVpzYjNkT2IyUmxMRnh1SUNCTllYQkdiRzkzVG05a1pTeGNiaUFnUkdWc1lYbEdiRzkzVG05a1pTeGNiaUFnUlhKeWIzSkNiM1Z1WkdGeWVVWnNiM2RPYjJSbExGeHVJQ0JJZFcxaGJrRndjSEp2ZG1Gc1JteHZkMDV2WkdVc1hHNGdJRkpsZEhWeWJrWnNiM2RPYjJSbExGeHVJQ0JEYjJSbFJteHZkMDV2WkdVc1hHNGdJRXh2WjBac2IzZE9iMlJsTEZ4dVhTQmhjeUJqYjI1emREdGNiaUpkZlE9PSJdfQ==
|
|
585
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2dyYXBoL3NoYXJlZC9ub2Rlcy9mbG93LWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsS0FBSyxFQUNMLElBQUksRUFDSixNQUFNLEVBQ04sYUFBYSxHQUVkLE1BQU0sK0JBQStCLENBQUM7QUFFdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxrQkFBZTtBQUVuQzs7O0dBR0c7QUFnQkksSUFBTSxVQUFVLEdBQWhCLE1BQU0sVUFBVyxTQUFRLEtBQUs7Q0FlcEMsQ0FBQTtBQVhDO0lBSEMsUUFBUSxFQUFFO0lBQ1YsU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLENBQUM7SUFDakYsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDOzt5Q0FDWDtBQUtoQjtJQUhDLFFBQVEsRUFBRTtJQUNWLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSwrQkFBK0IsRUFBRSxDQUFDO0lBQ25GLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQzs7d0NBQ1o7QUFLZjtJQUhDLFFBQVEsRUFBRTtJQUNWLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxnQ0FBZ0MsRUFBRSxDQUFDO0lBQ3BGLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFB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LEVBQUUsQ0FBQzs7NkNBQ1o7QUFSTixhQUFhO0lBZHpCLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtRQUN2QixJQUFJLEVBQUUsaUJBQWlCO1FBQ3ZCLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLEtBQUssRUFBRSxTQUFTO1FBQ2hCLElBQUksRUFBRSx1QkFBdUI7UUFDN0IsS0FBSyxFQUFFLEVBQUU7UUFDVCxNQUFNLEVBQUUsRUFBRTtRQUNWLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQztRQUM1QyxRQUFRLEVBQUU7WUFDUixLQUFLLEVBQUUsT0FBTztZQUNkLFdBQVcsRUFBRSx1R0FBdUc7U0FDckg7S0FDRixDQUFDO0lBQ0QsS0FBSyxFQUFFO0dBQ0ssYUFBYSxDQVN6Qjs7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHO0lBQ3RDLFVBQVU7SUFDVixjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYixXQUFXO0lBQ1gsYUFBYTtJQUNiLHFCQUFxQjtJQUNyQixxQkFBcUI7SUFDckIsY0FBYztJQUNkLFlBQVk7SUFDWixXQUFXO0lBQ1gsYUFBYTtDQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL25vZGVzL2Zsb3ctY29udHJvbFxuICogQHN1bW1hcnkgUHJvZHVjdGlvbiBmbG93LWNvbnRyb2wgbm9kZSBraW5kIGRlY2xhcmF0aW9ucyAoREVDQUYtMzIgwqcyMi4yLjIpLlxuICogQGRlc2NyaXB0aW9uIENhbm9uaWNhbCBgQG5vZGVgLWRlY29yYXRlZCBjbGFzc2VzIGZvciB0aGUgdGVuIEFMRlJFRC01XG4gKiBmbG93LWNvbnRyb2wga2luZHMuIFRoZXNlIGFyZSBncmFwaC1sZXZlbCBtYWNyb3M6IHRoZSBlbmdpbmUncyBwbGFubmVyXG4gKiByZWNvZ25pc2VzIHRoZW0gYXMgb3JkaW5hcnkgZXhlY3V0YWJsZSBub2RlcyAowqc1LjcpIGJ1dCB0aGV5IGhhdmUgbm9cbiAqIGJ1aWx0LWluIGV4ZWN1dG9ycyDigJQgZG93bnN0cmVhbSBwcm9qZWN0cyAoZS5nLiBBTEZSRUQpIHJlZ2lzdGVyIGN1c3RvbVxuICogZXhlY3V0b3JzIG9yIGNvbXBpbGUgdGhlbSBpbnRvIE1hc3RyYSBjb21wb3NpdGlvbiBBUElzICjCpzIyLjIuMikuXG4gKlxuICogVGhlIHRocmVlIGxvb3Aga2luZHMgKGBjb3JlLmxvb3AuZm9yZWFjaC93aGlsZS91bnRpbGApIGFscmVhZHkgaGF2ZSBidWlsdC1pblxuICogZXhlY3V0b3JzICjCpzUuOSkgYW5kIGFyZSBOT1QgcmVkZWNsYXJlZCBoZXJlLlxuICovXG5pbXBvcnQgeyBNb2RlbCwgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgdWllbGVtZW50LCBoaWRkZW4gfSBmcm9tIFwiQGRlY2FmLXRzL3VpLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7XG4gIGdyYXBoRGVmaW5pdGlvbk9mLFxuICBpbnB1dCxcbiAgbm9kZSxcbiAgb3V0cHV0LFxuICBQb3J0RGlyZWN0aW9uLFxuICB0eXBlIEdyYXBoUG9ydERlZmluaXRpb24sXG59IGZyb20gXCJAZGVjYWYtdHMvdWktZGVjb3JhdG9ycy9ncmFwaFwiO1xuaW1wb3J0IHR5cGUgeyBOb2RlTWV0YWRhdGFDaGFuZ2UsIFN3aXRjaE5vZGVNZXRhZGF0YSB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgR3JhcGhOb2RlIH0gZnJvbSBcIi4vYmFzZVwiO1xuXG4vKipcbiAqIElmIOKAlCBjb25kaXRpb25hbCBicmFuY2guIEV2YWx1YXRlcyBhIGBDb25kaXRpb25FeHByZXNzaW9uYCAowqcyMi4zKSBhbmRcbiAqIHJvdXRlcyB0aGUgaW5wdXQgdG8gdGhlIGB0aGVuYCBvciBgZWxzZWAgb3V0cHV0LlxuICovXG5Abm9kZShcImNvcmUuZmxvdy5pZlwiLCB7XG4gIGtpbmQ6IFwiY29yZS5mbG93LmlmXCIsXG4gIGNhdGVnb3J5OiBcIkZsb3cgQ29udHJvbFwiLFxuICBjb2xvcjogXCIjZjU5ZTBiXCIsXG4gIGljb246IFwidGktYXJyb3dzLXNwbGl0LTJcIixcbiAgd2lkdGg6IDk2LFxuICBoZWlnaHQ6IDk2LFxuICBsYWJlbHM6IFtcImZsb3dcIiwgXCJjb25kaXRpb25hbFwiLCBcImJyYW5jaFwiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJJZlwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIkNvbmRpdGlvbmFsIGJyYW5jaC4gRXZhbHVhdGVzIHRoZSBjb25maWd1cmVkIGNvbmRpdGlvbiBhbmQgcm91dGVzIHRoZSBpbnB1dCB0byB0aGUgbWF0Y2hpbmcgb3V0cHV0LlwiLFxuICAgIGNvbmRpdGlvbjogeyBvcDogXCJlcVwiLCBsZWZ0OiB7IGNvbnN0OiB0cnVlIH0sIHJpZ2h0OiB7IGNvbnN0OiB0cnVlIH0gfSxcbiAgfSxcbn0pXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIElmRmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIklucHV0IHZhbHVlXCIsIHBsYWNlaG9sZGVyOiBcIlZhbHVlIHRvIGV2YWx1YXRlXCIgfSlcbiAgQGlucHV0KHsgaGFuZGxlOiBcInZhbHVlXCIgfSlcbiAgdmFsdWUhOiB1bmtub3duO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIlRoZW5cIiwgcGxhY2Vob2xkZXI6IFwiT3V0cHV0IHdoZW4gY29uZGl0aW9uIGlzIHRydWVcIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcInRoZW5cIiB9KVxuICB0aGVuITogdW5rbm93bjtcblxuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJFbHNlXCIsIHBsYWNlaG9sZGVyOiBcIk91dHB1dCB3aGVuIGNvbmRpdGlvbiBpcyBmYWxzZVwiIH0pXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwiZWxzZVwiIH0pXG4gIGVsc2UhOiB1bmtub3duO1xufVxuXG4vKipcbiAqIFN3aXRjaCDigJQgbXVsdGktYnJhbmNoLiBSb3V0ZXMgdGhlIGlucHV0IHRvIG9uZSBvZiB0aGUgY2FzZSBvdXRwdXQgcG9ydHNcbiAqIG9yIGBkZWZhdWx0YCBiYXNlZCBvbiBtYXRjaGluZyBjb25kaXRpb25zLiBFYWNoIGNhc2UgZGVmaW5lcyBhXG4gKiB7QGxpbmsgU3dpdGNoQ2FzZUNvbmRpdGlvbn0gKGdyYXBoaWNhbCBvciBjb2RlIG1vZGUpIGFuZCBhIGRlZGljYXRlZFxuICogb3V0cHV0IHBvcnQuIENhc2VzIGFyZSBzdG9yZWQgaW4gYG1ldGFkYXRhLnN3aXRjaC5jYXNlc2AgYW5kIHRoZVxuICogcmVuZGVyZXIgY3JlYXRlcyBkeW5hbWljIG91dHB1dCBwb3J0cyBmcm9tIHRoZW0gKERFQ0FGLTMyIMKnMjIuMi4yKS5cbiAqXG4gKiBUaGUgbm9kZSBncm93cyBpbiBoZWlnaHQgYXMgY2FzZXMgYXJlIGFkZGVkLiBFYWNoIGNhc2UgZ2V0cyBpdHMgb3duXG4gKiBvdXRwdXQgcG9ydCBvbiB0aGUgcmlnaHQgc2lkZSwgbGFiZWxlZCB3aXRoIHRoZSBjYXNlIGxhYmVsLlxuICovXG5Abm9kZShcImNvcmUuZmxvdy5zd2l0Y2hcIiwge1xuICBraW5kOiBcImNvcmUuZmxvdy5zd2l0Y2hcIixcbiAgY2F0ZWdvcnk6IFwiRmxvdyBDb250cm9sXCIsXG4gIGNvbG9yOiBcIiNmOTczMTZcIixcbiAgaWNvbjogXCJ0aS1hcnJvd3Mtc2h1ZmZsZVwiLFxuICB3aWR0aDogMTIwLFxuICBoZWlnaHQ6IDE0MCxcbiAgbGFiZWxzOiBbXCJmbG93XCIsIFwic3dpdGNoXCIsIFwibXVsdGktYnJhbmNoXCJdLFxuICBtZXRhZGF0YToge1xuICAgIHRpdGxlOiBcIlN3aXRjaFwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIk11bHRpLWJyYW5jaCBzd2l0Y2guIFJvdXRlcyB0aGUgaW5wdXQgdG8gdGhlIGZpcnN0IG1hdGNoaW5nIGNhc2Ugb3V0cHV0LCBvciB0aGUgZGVmYXVsdCBvdXRwdXQuXCIsXG4gICAgc3dpdGNoOiB7XG4gICAgICBjYXNlczogW10sXG4gICAgICBkZWZhdWx0UG9ydDogXCJkZWZhdWx0XCIsXG4gICAgICBoYXNEZWZhdWx0OiBmYWxzZSxcbiAgICB9LFxuICB9LFxufSlcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgU3dpdGNoRmxvd05vZGUgZXh0ZW5kcyBHcmFwaE5vZGUge1xuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJJbnB1dCB2YWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJWYWx1ZSB0byBzd2l0Y2ggb25cIiB9KVxuICBAaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVcIiB9KVxuICB2YWx1ZSE6IHVua25vd247XG5cbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiRGVmYXVsdFwiLCBwbGFjZWhvbGRlcjogXCJEZWZhdWx0IG91dHB1dCB3aGVuIG5vIGNhc2UgbWF0Y2hlc1wiIH0pXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwiZGVmYXVsdFwiIH0pXG4gIGRlZmF1bHQhOiB1bmtub3duO1xuXG4gIC8qKlxuICAgKiBDb21wdXRlcyB0aGUgbm9kZSdzIHBvcnRzLCBzaXplLCBhbmQgZGF0YSBwYXRjaCBmcm9tIHRoZSBnaXZlbiBzd2l0Y2hcbiAgICogbWV0YWRhdGEuIEVhY2ggY2FzZSBnZXRzIGl0cyBvd24gb3V0cHV0IHBvcnQgb24gdGhlIHJpZ2h0IHNpZGU7IHRoZVxuICAgKiBgZGVmYXVsdGAgcG9ydCBhbHdheXMgcmVuZGVycyAqKmxhc3QqKiAoREVDQUYtMzIgwqcyMSBwb3J0LW9yZGVyaW5nIHJ1bGUsXG4gICAqIERFQ0FGLTM0IMKnNi4yKS4gV2hlbiBgaGFzRGVmYXVsdGAgaXMgYGZhbHNlYCwgdGhlIGBkZWZhdWx0YCBvdXRwdXQgcG9ydFxuICAgKiBpcyBvbWl0dGVkIGVudGlyZWx5LiBUaGUgbm9kZSBncm93cyBpbiBoZWlnaHQgYXMgY2FzZXMgYXJlIGFkZGVkLlxuICAgKi9cbiAgc3RhdGljIG92ZXJyaWRlIGFwcGx5TWV0YWRhdGEobWV0YTogU3dpdGNoTm9kZU1ldGFkYXRhKTogTm9kZU1ldGFkYXRhQ2hhbmdlIHtcbiAgICBjb25zdCBkZWZpbml0aW9uID0gZ3JhcGhEZWZpbml0aW9uT2YodGhpcyBhcyBuZXZlcik7XG4gICAgY29uc3QgZGVmYXVsdFBvcnROYW1lID0gbWV0YS5kZWZhdWx0UG9ydCA/PyBcImRlZmF1bHRcIjtcbiAgICBjb25zdCBoYXNEZWZhdWx0ID0gbWV0YS5oYXNEZWZhdWx0ID09PSB0cnVlO1xuXG4gICAgLy8gQmFzZSBwb3J0cyBleGNsdWRpbmcgYW55IHBvcnQgdGhhdCBjb2xsaWRlcyB3aXRoIGEgY2FzZSBvdXRwdXQgcG9ydC5cbiAgICBjb25zdCBiYXNlUG9ydHMgPSBkZWZpbml0aW9uLnBvcnRzLmZpbHRlcihcbiAgICAgIChwKSA9PiAhbWV0YS5jYXNlcy5zb21lKChjKSA9PiBjLm91dHB1dFBvcnQgPT09IHAucHJvcGVydHkpXG4gICAgKTtcbiAgICAvLyBTZXBhcmF0ZSB0aGUgZGVmYXVsdCBvdXRwdXQgcG9ydCBzbyBpdCBjYW4gYmUgcGxhY2VkIGxhc3QgKG9yIG9taXR0ZWQpLlxuICAgIGNvbnN0IG5vbkRlZmF1bHRQb3J0cyA9IGJhc2VQb3J0cy5maWx0ZXIoXG4gICAgICAocCkgPT4gcC5wcm9wZXJ0eSAhPT0gZGVmYXVsdFBvcnROYW1lXG4gICAgKTtcbiAgICBjb25zdCBkZWZhdWx0UG9ydCA9IGJhc2VQb3J0cy5maW5kKChwKSA9PiBwLnByb3BlcnR5ID09PSBkZWZhdWx0UG9ydE5hbWUpO1xuXG4gICAgY29uc3QgY2FzZVBvcnRzOiBHcmFwaFBvcnREZWZpbml0aW9uW10gPSBtZXRhLmNhc2VzLm1hcCgoYykgPT4gKHtcbiAgICAgIHByb3BlcnR5OiBjLm91dHB1dFBvcnQsXG4gICAgICBuYW1lOiBjLmxhYmVsLFxuICAgICAgZGlyZWN0aW9uOiBQb3J0RGlyZWN0aW9uLk9VVFBVVCxcbiAgICAgIGxhYmVsOiBjLmxhYmVsLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgaGlkZGVuOiBmYWxzZSxcbiAgICAgIHBhdGg6IGMub3V0cHV0UG9ydCxcbiAgICB9KSk7XG5cbiAgICAvLyBQb3J0IG9yZGVyOiBpbnB1dHMvbm9uLWRlZmF1bHQgb3V0cHV0cyBmaXJzdCwgY2FzZSBvdXRwdXRzIG5leHQsIGRlZmF1bHQgbGFzdC5cbiAgICBjb25zdCBwb3J0cyA9IFsuLi5ub25EZWZhdWx0UG9ydHMsIC4uLmNhc2VQb3J0c107XG4gICAgaWYgKGhhc0RlZmF1bHQgJiYgZGVmYXVsdFBvcnQpIHtcbiAgICAgIHBvcnRzLnB1c2goZGVmYXVsdFBvcnQpO1xuICAgIH1cblxuICAgIGNvbnN0IGNhc2VDb3VudCA9IG1ldGEuY2FzZXMubGVuZ3RoO1xuICAgIHJldHVybiB7XG4gICAgICBwb3J0cyxcbiAgICAgIHNpemU6IHtcbiAgICAgICAgd2lkdGg6IGRlZmluaXRpb24ud2lkdGggPz8gMTIwLFxuICAgICAgICBoZWlnaHQ6IGNhc2VDb3VudCA+IDAgPyAxNDAgKyBjYXNlQ291bnQgKiAyNCA6IGRlZmluaXRpb24uaGVpZ2h0ID8/IDE0MCxcbiAgICAgIH0sXG4gICAgICBkYXRhUGF0Y2g6IHsgc3dpdGNoTWV0YWRhdGE6IG1ldGEgfSxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICogUGFyYWxsZWwg4oCUIHNwbGl0cyBleGVjdXRpb24gaW50byBjb25jdXJyZW50IGJyYW5jaGVzLlxuICovXG5Abm9kZShcImNvcmUuZmxvdy5wYXJhbGxlbFwiLCB7XG4gIGtpbmQ6IFwiY29yZS5mbG93LnBhcmFsbGVsXCIsXG4gIGNhdGVnb3J5OiBcIkZsb3cgQ29udHJvbFwiLFxuICBjb2xvcjogXCIjMDZiNmQ0XCIsXG4gIGljb246IFwidGktYXJyb3dzLXZlcnRpY2FsXCIsXG4gIHdpZHRoOiA5NixcbiAgaGVpZ2h0OiA5NixcbiAgbGFiZWxzOiBbXCJmbG93XCIsIFwicGFyYWxsZWxcIiwgXCJjb25jdXJyZW50XCJdLFxuICBtZXRhZGF0YToge1xuICAgIHRpdGxlOiBcIlBhcmFsbGVsXCIsXG4gICAgZGVzY3JpcHRpb246IFwiU3BsaXRzIGV4ZWN1dGlvbiBpbnRvIGNvbmN1cnJlbnQgYnJhbmNoZXMuIEFsbCBicmFuY2hlcyBydW4gaW4gcGFyYWxsZWwgYW5kIG91dHB1dHMgYXJlIGNvbGxlY3RlZC5cIixcbiAgICBicmFuY2hDb3VudDogMixcbiAgfSxcbn0pXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIFBhcmFsbGVsRmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIklucHV0IHZhbHVlXCIsIHBsYWNlaG9sZGVyOiBcIlZhbHVlIHRvIGZhbiBvdXRcIiB9KVxuICBAaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVcIiB9KVxuICB2YWx1ZSE6IHVua25vd247XG5cbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiQnJhbmNoZXNcIiwgcGxhY2Vob2xkZXI6IFwiQ29sbGVjdGVkIGJyYW5jaCBvdXRwdXRzXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJicmFuY2hlc1wiIH0pXG4gIGJyYW5jaGVzITogdW5rbm93bltdO1xufVxuXG4vKipcbiAqIE1lcmdlIOKAlCBub3JtYWxpc2VzIGJyYW5jaC9wYXJhbGxlbCBvdXRwdXRzIGludG8gYSBzaW5nbGUgb3V0cHV0LlxuICovXG5Abm9kZShcImNvcmUuZmxvdy5tZXJnZVwiLCB7XG4gIGtpbmQ6IFwiY29yZS5mbG93Lm1lcmdlXCIsXG4gIGNhdGVnb3J5OiBcIlV0aWxpdHlcIixcbiAgY29sb3I6IFwiIzBkOTQ4OFwiLFxuICBpY29uOiBcInRpLWFycm93cy1tZXJnZVwiLFxuICB3aWR0aDogOTYsXG4gIGhlaWdodDogOTYsXG4gIGxhYmVsczogW1wiZmxvd1wiLCBcIm1lcmdlXCIsIFwiam9pblwiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJNZXJnZVwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIk1lcmdlcyBtdWx0aXBsZSBicmFuY2ggb3V0cHV0cyBpbnRvIGEgc2luZ2xlIG5vcm1hbGlzZWQgb3V0cHV0IG9iamVjdC5cIixcbiAgICBzdHJhdGVneTogXCJjb25jYXRcIixcbiAgfSxcbn0pXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIE1lcmdlRmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIkJyYW5jaCBvdXRwdXRzXCIsIHBsYWNlaG9sZGVyOiBcIk91dHB1dHMgdG8gbWVyZ2VcIiB9KVxuICBAaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVzXCIgfSlcbiAgdmFsdWVzITogdW5rbm93bltdO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIk1lcmdlZCBvdXRwdXRcIiwgcGxhY2Vob2xkZXI6IFwiTWVyZ2VkIHJlc3VsdFwiIH0pXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwibWVyZ2VkXCIgfSlcbiAgbWVyZ2VkITogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBNYXAg4oCUIHRyYW5zZm9ybXMgdGhlIGN1cnJlbnQgaW5wdXQgaW50byBhIG5ldyBvdXRwdXQgb2JqZWN0LlxuICovXG5Abm9kZShcImNvcmUuZmxvdy5tYXBcIiwge1xuICBraW5kOiBcImNvcmUuZmxvdy5tYXBcIixcbiAgY2F0ZWdvcnk6IFwiVXRpbGl0eVwiLFxuICBjb2xvcjogXCIjODRjYzE2XCIsXG4gIGljb246IFwidGktYXJyb3dzLXJpZ2h0LWxlZnRcIixcbiAgd2lkdGg6IDk2LFxuICBoZWlnaHQ6IDk2LFxuICBsYWJlbHM6IFtcImZsb3dcIiwgXCJtYXBcIiwgXCJ0cmFuc2Zvcm1cIl0sXG4gIG1ldGFkYXRhOiB7XG4gICAgdGl0bGU6IFwiTWFwXCIsXG4gICAgZGVzY3JpcHRpb246IFwiVHJhbnNmb3JtcyB0aGUgY3VycmVudCBpbnB1dCBpbnRvIGEgbmV3IG91dHB1dCBvYmplY3QgdXNpbmcgdGhlIGNvbmZpZ3VyZWQgbWFwcGVyLlwiLFxuICAgIG1hcHBlcjoge30sXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBNYXBGbG93Tm9kZSBleHRlbmRzIE1vZGVsIHtcbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiSW5wdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiVmFsdWUgdG8gdHJhbnNmb3JtXCIgfSlcbiAgQGlucHV0KHsgaGFuZGxlOiBcInZhbHVlXCIgfSlcbiAgdmFsdWUhOiB1bmtub3duO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIlRyYW5zZm9ybWVkIG91dHB1dFwiLCBwbGFjZWhvbGRlcjogXCJNYXBwZWQgcmVzdWx0XCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJyZXN1bHRcIiB9KVxuICByZXN1bHQhOiB1bmtub3duO1xufVxuXG4vKipcbiAqIERlbGF5IOKAlCBwYXVzZXMgZXhlY3V0aW9uIGZvciBhIGNvbmZpZ3VyZWQgZHVyYXRpb24uXG4gKi9cbkBub2RlKFwiY29yZS5mbG93LmRlbGF5XCIsIHtcbiAga2luZDogXCJjb3JlLmZsb3cuZGVsYXlcIixcbiAgY2F0ZWdvcnk6IFwiVXRpbGl0eVwiLFxuICBjb2xvcjogXCIjYTNhM2EzXCIsXG4gIGljb246IFwidGktY2xvY2staG91ci00XCIsXG4gIHdpZHRoOiA5NixcbiAgaGVpZ2h0OiA5NixcbiAgbGFiZWxzOiBbXCJmbG93XCIsIFwiZGVsYXlcIiwgXCJ3YWl0XCJdLFxuICBtZXRhZGF0YToge1xuICAgIHRpdGxlOiBcIkRlbGF5XCIsXG4gICAgZGVzY3JpcHRpb246IFwiUGF1c2VzIGV4ZWN1dGlvbiBmb3IgdGhlIGNvbmZpZ3VyZWQgZHVyYXRpb24gKGluIG1pbGxpc2Vjb25kcyksIHRoZW4gZm9yd2FyZHMgdGhlIGlucHV0IHVuY2hhbmdlZC5cIixcbiAgICBkdXJhdGlvbk1zOiAxMDAwLFxuICB9LFxufSlcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgRGVsYXlGbG93Tm9kZSBleHRlbmRzIE1vZGVsIHtcbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiSW5wdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiVmFsdWUgdG8gZm9yd2FyZCBhZnRlciBkZWxheVwiIH0pXG4gIEBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pXG4gIHZhbHVlITogdW5rbm93bjtcblxuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJPdXRwdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiRm9yd2FyZGVkIHZhbHVlXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pXG4gIHZhbHVlT3V0ITogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBFcnJvciBib3VuZGFyeSDigJQgdHJ5L2NhdGNoL2ZpbmFsbHkgd29ya2Zsb3cgYmVoYXZpb3VyLlxuICovXG5Abm9kZShcImNvcmUuZmxvdy5lcnJvckJvdW5kYXJ5XCIsIHtcbiAga2luZDogXCJjb3JlLmZsb3cuZXJyb3JCb3VuZGFyeVwiLFxuICBjYXRlZ29yeTogXCJGbG93IENvbnRyb2xcIixcbiAgY29sb3I6IFwiI2VmNDQ0NFwiLFxuICBpY29uOiBcInRpLXNoaWVsZC1jaGVja1wiLFxuICB3aWR0aDogOTYsXG4gIGhlaWdodDogOTYsXG4gIGxhYmVsczogW1wiZmxvd1wiLCBcImVycm9yXCIsIFwidHJ5LWNhdGNoXCJdLFxuICBtZXRhZGF0YToge1xuICAgIHRpdGxlOiBcIkVycm9yIGJvdW5kYXJ5XCIsXG4gICAgZGVzY3JpcHRpb246IFwiV3JhcHMgdGhlIGlucHV0IGluIGEgdHJ5L2NhdGNoL2ZpbmFsbHkuIEVtaXRzIHRoZSByZXN1bHQgb24gc3VjY2Vzcywgb3IgdGhlIGVycm9yIG9uIGZhaWx1cmUuXCIsXG4gICAgZmluYWxseTogZmFsc2UsXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBFcnJvckJvdW5kYXJ5Rmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIklucHV0IHZhbHVlXCIsIHBsYWNlaG9sZGVyOiBcIlZhbHVlIHRvIGd1YXJkXCIgfSlcbiAgQGlucHV0KHsgaGFuZGxlOiBcInZhbHVlXCIgfSlcbiAgdmFsdWUhOiB1bmtub3duO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIlJlc3VsdFwiLCBwbGFjZWhvbGRlcjogXCJPdXRwdXQgb24gc3VjY2Vzc1wiIH0pXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwicmVzdWx0XCIgfSlcbiAgcmVzdWx0ITogdW5rbm93bjtcblxuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJFcnJvclwiLCBwbGFjZWhvbGRlcjogXCJPdXRwdXQgb24gZmFpbHVyZVwiIH0pXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwiZXJyb3JcIiB9KVxuICBlcnJvciE6IHVua25vd247XG59XG5cbi8qKlxuICogSHVtYW4gYXBwcm92YWwg4oCUIHN1c3BlbmRzIGV4ZWN1dGlvbiB1bnRpbCBhIGh1bWFuIGFwcHJvdmVzIG9yIHJlamVjdHMuXG4gKi9cbkBub2RlKFwiY29yZS5mbG93Lmh1bWFuQXBwcm92YWxcIiwge1xuICBraW5kOiBcImNvcmUuZmxvdy5odW1hbkFwcHJvdmFsXCIsXG4gIGNhdGVnb3J5OiBcIkZsb3cgQ29udHJvbFwiLFxuICBjb2xvcjogXCIjZDk0NmVmXCIsXG4gIGljb246IFwidGktdXNlci1jaGVja1wiLFxuICB3aWR0aDogOTYsXG4gIGhlaWdodDogOTYsXG4gIGxhYmVsczogW1wiZmxvd1wiLCBcImFwcHJvdmFsXCIsIFwic3VzcGVuZFwiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJIdW1hbiBhcHByb3ZhbFwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIlN1c3BlbmRzIGV4ZWN1dGlvbiB1bnRpbCBhIGh1bWFuIGFwcHJvdmVzIG9yIHJlamVjdHMuIEVtaXRzIHRoZSBhcHByb3ZlZCB2YWx1ZSBvciBhIHJlamVjdGlvbi5cIixcbiAgICBhcHByb3ZlcnM6IFtdLFxuICAgIHRpbWVvdXRNczogODY0MDAwMDAsXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBIdW1hbkFwcHJvdmFsRmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIklucHV0IHZhbHVlXCIsIHBsYWNlaG9sZGVyOiBcIlZhbHVlIHBlbmRpbmcgYXBwcm92YWxcIiB9KVxuICBAaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVcIiB9KVxuICB2YWx1ZSE6IHVua25vd247XG5cbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiQXBwcm92ZWRcIiwgcGxhY2Vob2xkZXI6IFwiT3V0cHV0IHdoZW4gYXBwcm92ZWRcIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcImFwcHJvdmVkXCIgfSlcbiAgYXBwcm92ZWQhOiB1bmtub3duO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIlJlamVjdGVkXCIsIHBsYWNlaG9sZGVyOiBcIk91dHB1dCB3aGVuIHJlamVjdGVkXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJyZWplY3RlZFwiIH0pXG4gIHJlamVjdGVkITogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBSZXR1cm4g4oCUIGRlZmluZXMgYW5kIG5vcm1hbGlzZXMgdGhlIGZpbmFsIHdvcmtmbG93IG91dHB1dC5cbiAqL1xuQG5vZGUoXCJjb3JlLmZsb3cucmV0dXJuXCIsIHtcbiAga2luZDogXCJjb3JlLmZsb3cucmV0dXJuXCIsXG4gIGNhdGVnb3J5OiBcIlV0aWxpdHlcIixcbiAgY29sb3I6IFwiIzIyYzU1ZVwiLFxuICBpY29uOiBcInRpLWFycm93LWJhY2stdXBcIixcbiAgd2lkdGg6IDk2LFxuICBoZWlnaHQ6IDk2LFxuICBsYWJlbHM6IFtcImZsb3dcIiwgXCJyZXR1cm5cIiwgXCJvdXRwdXRcIl0sXG4gIG1ldGFkYXRhOiB7XG4gICAgdGl0bGU6IFwiUmV0dXJuXCIsXG4gICAgZGVzY3JpcHRpb246IFwiTm9ybWFsaXNlcyB0aGUgaW5wdXQgaW50byB0aGUgZmluYWwgd29ya2Zsb3cgb3V0cHV0IG9iamVjdC5cIixcbiAgICBvdXRwdXRTY2hlbWE6IHt9LFxuICB9LFxufSlcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgUmV0dXJuRmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIklucHV0IHZhbHVlXCIsIHBsYWNlaG9sZGVyOiBcIlZhbHVlIHRvIG5vcm1hbGlzZVwiIH0pXG4gIEBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pXG4gIHZhbHVlITogdW5rbm93bjtcblxuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJSZXR1cm5lZCBvdXRwdXRcIiwgcGxhY2Vob2xkZXI6IFwiTm9ybWFsaXNlZCBvdXRwdXRcIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcInJlc3VsdFwiIH0pXG4gIHJlc3VsdCE6IHVua25vd247XG59XG5cbi8qKlxuICogQ29kZSDigJQgc2FuZGJveGVkIEpTL1RTIGNvZGUgZXhlY3V0aW9uIChBTEZSRUQtNSDCpzcsIERFQ0FGLTMyIMKnMjIuNCkuXG4gKlxuICogVGhlIGVuZ2luZSdzIHtAbGluayBDb2RlR3JhcGhOb2RlRXhlY3V0b3J9IGRlbGVnYXRlcyB0byB0aGUgcGx1Z2dhYmxlXG4gKiB7QGxpbmsgQ29kZVNhbmRib3hFdmFsdWF0b3J9LiBUaGUgZGVmYXVsdFxuICogYElzb2xhdGVkVm1Db2RlU2FuZGJveEV2YWx1YXRvcmAgKGJhY2tlZCBieSBgaXNvbGF0ZWQtdm1gKSBlbmZvcmNlcyB0aGVcbiAqIENvZGUgTm9kZSByZXN0cmljdGlvbnM6IG5vIGltcG9ydHMsIG5vIHJlcXVpcmVzLCBwdXJlIGZ1bmN0aW9ucyBvbmx5LiBUaGVcbiAqIHNhbmRib3ggY29udGV4dCBleHBvc2VzIGAkaW5wdXRgLCBgJHZhcnNgLCBgJGl0ZW1gLCBgJGluZGV4YCwgYCRub2RlYCwgYW5kXG4gKiBgJG91dHB1dGAgYXMgZGF0YSB2YXJpYWJsZXMuIFR5cGVTY3JpcHQgaXMgc3VwcG9ydGVkIHZpYSB0cmFuc3BpbGF0aW9uLlxuICovXG5cbi8qKlxuICogSW5wdXQgc2NoZW1hIGZvciB0aGUgQ29kZSBub2RlLiBUaGUgYEBpbnB1dGAgb24gYENvZGVGbG93Tm9kZS5pbnB1dGAgaXMgYVxuICogc2NoZW1hIGdyb3VwIOKAlCB0aGUgbmVzdGVkIG1vZGVsJ3MgYEBpbnB1dGAgcG9ydHMgYXJlIHNwbGljZWQgaW50byB0aGVcbiAqIHBhcmVudCB1bnByZWZpeGVkLiBgY29kZWAgaGFzIGBAaW5wdXRgICsgYEB1aWVsZW1lbnQoXCJjb2RlLWVkaXRvclwiKWAsIHNvIGl0XG4gKiBhcHBlYXJzIGFzIGEgcG9ydCBBTkQgaW4gdGhlIENSVUQgbW9kYWwgKHRoZSBvbmx5IHZpc2libGUgZmllbGQpLiBgZGF0YWBcbiAqIGhhcyBgQGlucHV0YCArIGBAaGlkZGVuKClgIGJ1dCBubyBgQHVpZWxlbWVudGAsIHNvIGl0IGlzIGEgY2FudmFzLW9ubHkgcG9ydFxuICogKGZvciBlZGdlIGNvbm5lY3Rpb25zIGZyb20gd29ya2Zsb3cgaW5wdXQgYmFkZ2VzKSBidXQgbmV2ZXIgYXBwZWFycyBpbiB0aGVcbiAqIENSVUQgbW9kYWwuIGBsYW5ndWFnZWAgaGFzIG5vIGBAaW5wdXRgIGFuZCBubyBgQHVpZWxlbWVudGAsIHNvIGl0IGlzXG4gKiBuZWl0aGVyIGEgcG9ydCBub3IgcmVuZGVyZWQg4oCUIGl0IGRlZmF1bHRzIHRvIGBcImphdmFzY3JpcHRcImAuXG4gKi9cbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgQ29kZUlucHV0U2NoZW1hIGV4dGVuZHMgTW9kZWwge1xuICBAcmVxdWlyZWQoKVxuICBsYW5ndWFnZTogc3RyaW5nID0gXCJqYXZhc2NyaXB0XCI7XG5cbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcImNvZGUtZWRpdG9yXCIsIHsgbGFiZWw6IFwiQ29kZVwiLCBwbGFjZWhvbGRlcjogXCIvLyBVc2VyLWF1dGhvcmVkIEpTIGNvZGVcIiB9KVxuICBAaW5wdXQoeyBoYW5kbGU6IFwiY29kZVwiIH0pXG4gIGNvZGUhOiBzdHJpbmc7XG5cbiAgQGhpZGRlbigpXG4gIEBpbnB1dCh7IGhhbmRsZTogXCJkYXRhXCIgfSlcbiAgZGF0YT86IHVua25vd247XG59XG5cbkBub2RlKFwiY29yZS5mbG93LmNvZGVcIiwge1xuICBraW5kOiBcImNvcmUuZmxvdy5jb2RlXCIsXG4gIGNhdGVnb3J5OiBcIlV0aWxpdHlcIixcbiAgY29sb3I6IFwiIzdjM2FlZFwiLFxuICBpY29uOiBcInRpLWNvZGVcIixcbiAgd2lkdGg6IDk2LFxuICBoZWlnaHQ6IDk2LFxuICBsYWJlbHM6IFtcImZsb3dcIiwgXCJjb2RlXCIsIFwic2FuZGJveFwiLCBcInRyYW5zZm9ybVwiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJDb2RlXCIsXG4gICAgZGVzY3JpcHRpb246IFwiUnVucyB1c2VyLWF1dGhvcmVkIEpTL1RTIGluIGEgcmVzdHJpY3RlZCBWTSBzYW5kYm94LiBTdXBwb3J0cyBwbGFjZWhvbGRlciBzeW50YXggZm9yIHdvcmtmbG93IGRhdGEgcmVmZXJlbmNlcy5cIixcbiAgICB0aW1lb3V0TXM6IDEwMDAsXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBDb2RlRmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEBpbnB1dCh7IGhhbmRsZTogXCJpbnB1dFwiLCBtb2RlbDogQ29kZUlucHV0U2NoZW1hIH0pXG4gIGlucHV0ITogQ29kZUlucHV0U2NoZW1hO1xuXG4gIEByZXF1aXJlZCgpXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwicmVzdWx0XCIgfSlcbiAgcmVzdWx0ITogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBMb2cg4oCUIGxvZ3MgdGhlIGlucHV0IHZhbHVlIGFuZCBmb3J3YXJkcyBpdCB1bmNoYW5nZWQgb24gdGhlIGBsb2dnZWRgXG4gKiBvdXRwdXQgcG9ydC4gVXNlZnVsIGZvciBkZWJ1Z2dpbmcsIGF1ZGl0IHRyYWlscywgYW5kIGRpc2NhcmQvc2lkZS1lZmZlY3RcbiAqIGJyYW5jaGVzIGluIGEgd29ya2Zsb3cuXG4gKi9cbkBub2RlKFwiY29yZS5mbG93LmxvZ1wiLCB7XG4gIGtpbmQ6IFwiY29yZS5mbG93LmxvZ1wiLFxuICBjYXRlZ29yeTogXCJVdGlsaXR5XCIsXG4gIGNvbG9yOiBcIiM2MzY2ZjFcIixcbiAgaWNvbjogXCJ0aS10ZXJtaW5hbFwiLFxuICB3aWR0aDogOTYsXG4gIGhlaWdodDogOTYsXG4gIGxhYmVsczogW1wiZmxvd1wiLCBcImxvZ1wiLCBcImRlYnVnXCIsIFwidXRpbGl0eVwiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJMb2dcIixcbiAgICBkZXNjcmlwdGlvbjogXCJMb2dzIHRoZSBpbnB1dCB2YWx1ZSB0byB0aGUgZXhlY3V0aW9uIGxvZ2dlciBhbmQgZm9yd2FyZHMgaXQgdW5jaGFuZ2VkLlwiLFxuICB9LFxufSlcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgTG9nRmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIklucHV0IHZhbHVlXCIsIHBsYWNlaG9sZGVyOiBcIlZhbHVlIHRvIGxvZ1wiIH0pXG4gIEBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pXG4gIHZhbHVlITogdW5rbm93bjtcblxuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJMb2dnZWQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiRm9yd2FyZGVkIHZhbHVlXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJsb2dnZWRcIiB9KVxuICBsb2dnZWQhOiB1bmtub3duO1xufVxuXG4vKipcbiAqIEJyZWFrIOKAlCBicmVha3Mgb3V0IG9mIHRoZSBlbmNsb3NpbmcgbG9vcCAoZm9yZWFjaC93aGlsZS91bnRpbCkuIFdoZW5cbiAqIGV4ZWN1dGVkIGluc2lkZSBhIGxvb3AgYm9keSwgdGhlIGxvb3AgdGVybWluYXRlcyBlYXJseSBhbmQgdGhlIGxvb3Anc1xuICogYGNvbXBsZXRlZGAvYHN0YXRlYCBvdXRwdXQgY2FycmllcyB0aGUgcmVzdWx0cyBjb2xsZWN0ZWQgc28gZmFyLiBUaGVcbiAqIEJyZWFrIG5vZGUgZXhlY3V0b3IgdGhyb3dzIGEge0BsaW5rIEdyYXBoQnJlYWtTaWduYWx9IHRoYXQgdGhlIGVuY2xvc2luZ1xuICogbG9vcCBleGVjdXRvciBjYXRjaGVzLlxuICovXG5Abm9kZShcImNvcmUuZmxvdy5icmVha1wiLCB7XG4gIGtpbmQ6IFwiY29yZS5mbG93LmJyZWFrXCIsXG4gIGNhdGVnb3J5OiBcIkZsb3cgQ29udHJvbFwiLFxuICBjb2xvcjogXCIjZWY0NDQ0XCIsXG4gIGljb246IFwidGktc3F1YXJlLWFycm93LXJpZ2h0XCIsXG4gIHdpZHRoOiA5NixcbiAgaGVpZ2h0OiA5NixcbiAgbGFiZWxzOiBbXCJmbG93XCIsIFwiYnJlYWtcIiwgXCJsb29wXCIsIFwiY29udHJvbFwiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJCcmVha1wiLFxuICAgIGRlc2NyaXB0aW9uOiBcIkJyZWFrcyBvdXQgb2YgdGhlIGVuY2xvc2luZyBsb29wLiBUaGUgbG9vcCB0ZXJtaW5hdGVzIGVhcmx5IGFuZCByZXR1cm5zIHRoZSByZXN1bHRzIGNvbGxlY3RlZCBzbyBmYXIuXCIsXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBCcmVha0Zsb3dOb2RlIGV4dGVuZHMgTW9kZWwge1xuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJWYWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJWYWx1ZSB0byBmb3J3YXJkIChjb2xsZWN0ZWQgYXMgdGhlIGxhc3QgcGFydGlhbCByZXN1bHQpXCIgfSlcbiAgQGlucHV0KHsgaGFuZGxlOiBcInZhbHVlXCIgfSlcbiAgdmFsdWUhOiB1bmtub3duO1xuXG4gIEByZXF1aXJlZCgpXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwiYnJva2VuXCIgfSlcbiAgYnJva2VuITogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBBbGwgYnVpbHQtaW4gZmxvdy1jb250cm9sIG5vZGUgY29uc3RydWN0b3JzLlxuICovXG5leHBvcnQgY29uc3QgR1JBUEhfRkxPV19DT05UUk9MX05PREVTID0gW1xuICBJZkZsb3dOb2RlLFxuICBTd2l0Y2hGbG93Tm9kZSxcbiAgUGFyYWxsZWxGbG93Tm9kZSxcbiAgTWVyZ2VGbG93Tm9kZSxcbiAgTWFwRmxvd05vZGUsXG4gIERlbGF5Rmxvd05vZGUsXG4gIEVycm9yQm91bmRhcnlGbG93Tm9kZSxcbiAgSHVtYW5BcHByb3ZhbEZsb3dOb2RlLFxuICBSZXR1cm5GbG93Tm9kZSxcbiAgQ29kZUZsb3dOb2RlLFxuICBMb2dGbG93Tm9kZSxcbiAgQnJlYWtGbG93Tm9kZSxcbl0gYXMgY29uc3Q7XG4iXX0=
|
|
586
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZmxvdy1jb250cm9sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDakYsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3SCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDOztRQUMxSCxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FB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LFFBQVEsRUFBRTtZQUNOLEtBQUssRUFBRSxPQUFPO1lBQ2QsV0FBVyxFQUFFLHVHQUF1RztTQUN2SDtLQUNKLENBQUM7SUFDRixJQUFBLDRCQUFLLEdBQUU7Q0FDVixFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBRWxCOztHQUVHO0FBQ1UsUUFBQSx3QkFBd0IsR0FBRztJQUNwQyxVQUFVO0lBQ1YsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsV0FBVztJQUNYLGFBQWE7SUFDYixxQkFBcUI7SUFDckIscUJBQXFCO0lBQ3JCLGNBQWM7SUFDZCxZQUFZO0lBQ1osV0FBVztJQUNYLGFBQWE7Q0FDaEIsQ0FBQztBQUNGLDhzb0NBQThzb0MiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG52YXIgX19tZXRhZGF0YSA9ICh0aGlzICYmIHRoaXMuX19tZXRhZGF0YSkgfHwgZnVuY3Rpb24gKGssIHYpIHtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEoaywgdik7XG59O1xuLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9ncmFwaC9ub2Rlcy9mbG93LWNvbnRyb2xcbiAqIEBzdW1tYXJ5IFByb2R1Y3Rpb24gZmxvdy1jb250cm9sIG5vZGUga2luZCBkZWNsYXJhdGlvbnMgKERFQ0FGLTMyIMKnMjIuMi4yKS5cbiAqIEBkZXNjcmlwdGlvbiBDYW5vbmljYWwgYEBub2RlYC1kZWNvcmF0ZWQgY2xhc3NlcyBmb3IgdGhlIHRlbiBBTEZSRUQtNVxuICogZmxvdy1jb250cm9sIGtpbmRzLiBUaGVzZSBhcmUgZ3JhcGgtbGV2ZWwgbWFjcm9zOiB0aGUgZW5naW5lJ3MgcGxhbm5lclxuICogcmVjb2duaXNlcyB0aGVtIGFzIG9yZGluYXJ5IGV4ZWN1dGFibGUgbm9kZXMgKMKnNS43KSBidXQgdGhleSBoYXZlIG5vXG4gKiBidWlsdC1pbiBleGVjdXRvcnMg4oCUIGRvd25zdHJlYW0gcHJvamVjdHMgKGUuZy4gQUxGUkVEKSByZWdpc3RlciBjdXN0b21cbiAqIGV4ZWN1dG9ycyBvciBjb21waWxlIHRoZW0gaW50byBNYXN0cmEgY29tcG9zaXRpb24gQVBJcyAowqcyMi4yLjIpLlxuICpcbiAqIFRoZSB0aHJlZSBsb29wIGtpbmRzIChgY29yZS5sb29wLmZvcmVhY2gvd2hpbGUvdW50aWxgKSBhbHJlYWR5IGhhdmUgYnVpbHQtaW5cbiAqIGV4ZWN1dG9ycyAowqc1LjkpIGFuZCBhcmUgTk9UIHJlZGVjbGFyZWQgaGVyZS5cbiAqL1xuaW1wb3J0IHsgTW9kZWwsIG1vZGVsLCByZXF1aXJlZCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IHVpZWxlbWVudCwgaGlkZGVuIH0gZnJvbSBcIkBkZWNhZi10cy91aS1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBncmFwaERlZmluaXRpb25PZiwgaW5wdXQsIG5vZGUsIG91dHB1dCwgUG9ydERpcmVjdGlvbiwgfSBmcm9tIFwiQGRlY2FmLXRzL3VpLWRlY29yYXRvcnMvZ3JhcGhcIjtcbmltcG9ydCB7IEdyYXBoTm9kZSB9IGZyb20gXCIuL2Jhc2UuanNcIjtcbi8qKlxuICogSWYg4oCUIGNvbmRpdGlvbmFsIGJyYW5jaC4gRXZhbHVhdGVzIGEgYENvbmRpdGlvbkV4cHJlc3Npb25gICjCpzIyLjMpIGFuZFxuICogcm91dGVzIHRoZSBpbnB1dCB0byB0aGUgYHRoZW5gIG9yIGBlbHNlYCBvdXRwdXQuXG4gKi9cbmxldCBJZkZsb3dOb2RlID0gY2xhc3MgSWZGbG93Tm9kZSBleHRlbmRzIE1vZGVsIHtcbn07XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiSW5wdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiVmFsdWUgdG8gZXZhbHVhdGVcIiB9KSxcbiAgICBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBJZkZsb3dOb2RlLnByb3RvdHlwZSwgXCJ2YWx1ZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIlRoZW5cIiwgcGxhY2Vob2xkZXI6IFwiT3V0cHV0IHdoZW4gY29uZGl0aW9uIGlzIHRydWVcIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwidGhlblwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBJZkZsb3dOb2RlLnByb3RvdHlwZSwgXCJ0aGVuXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiRWxzZVwiLCBwbGFjZWhvbGRlcjogXCJPdXRwdXQgd2hlbiBjb25kaXRpb24gaXMgZmFsc2VcIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwiZWxzZVwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBJZkZsb3dOb2RlLnByb3RvdHlwZSwgXCJlbHNlXCIsIHZvaWQgMCk7XG5JZkZsb3dOb2RlID0gX19kZWNvcmF0ZShbXG4gICAgbm9kZShcImNvcmUuZmxvdy5pZlwiLCB7XG4gICAgICAgIGtpbmQ6IFwiY29yZS5mbG93LmlmXCIsXG4gICAgICAgIGNhdGVnb3J5OiBcIkZsb3cgQ29udHJvbFwiLFxuICAgICAgICBjb2xvcjogXCIjZjU5ZTBiXCIsXG4gICAgICAgIGljb246IFwidGktYXJyb3dzLXNwbGl0LTJcIixcbiAgICAgICAgd2lkdGg6IDk2LFxuICAgICAgICBoZWlnaHQ6IDk2LFxuICAgICAgICBsYWJlbHM6IFtcImZsb3dcIiwgXCJjb25kaXRpb25hbFwiLCBcImJyYW5jaFwiXSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIHRpdGxlOiBcIklmXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJDb25kaXRpb25hbCBicmFuY2guIEV2YWx1YXRlcyB0aGUgY29uZmlndXJlZCBjb25kaXRpb24gYW5kIHJvdXRlcyB0aGUgaW5wdXQgdG8gdGhlIG1hdGNoaW5nIG91dHB1dC5cIixcbiAgICAgICAgICAgIGNvbmRpdGlvbjogeyBvcDogXCJlcVwiLCBsZWZ0OiB7IGNvbnN0OiB0cnVlIH0sIHJpZ2h0OiB7IGNvbnN0OiB0cnVlIH0gfSxcbiAgICAgICAgfSxcbiAgICB9KSxcbiAgICBtb2RlbCgpXG5dLCBJZkZsb3dOb2RlKTtcbmV4cG9ydCB7IElmRmxvd05vZGUgfTtcbi8qKlxuICogU3dpdGNoIOKAlCBtdWx0aS1icmFuY2guIFJvdXRlcyB0aGUgaW5wdXQgdG8gb25lIG9mIHRoZSBjYXNlIG91dHB1dCBwb3J0c1xuICogb3IgYGRlZmF1bHRgIGJhc2VkIG9uIG1hdGNoaW5nIGNvbmRpdGlvbnMuIEVhY2ggY2FzZSBkZWZpbmVzIGFcbiAqIHtAbGluayBTd2l0Y2hDYXNlQ29uZGl0aW9ufSAoZ3JhcGhpY2FsIG9yIGNvZGUgbW9kZSkgYW5kIGEgZGVkaWNhdGVkXG4gKiBvdXRwdXQgcG9ydC4gQ2FzZXMgYXJlIHN0b3JlZCBpbiBgbWV0YWRhdGEuc3dpdGNoLmNhc2VzYCBhbmQgdGhlXG4gKiByZW5kZXJlciBjcmVhdGVzIGR5bmFtaWMgb3V0cHV0IHBvcnRzIGZyb20gdGhlbSAoREVDQUYtMzIgwqcyMi4yLjIpLlxuICpcbiAqIFRoZSBub2RlIGdyb3dzIGluIGhlaWdodCBhcyBjYXNlcyBhcmUgYWRkZWQuIEVhY2ggY2FzZSBnZXRzIGl0cyBvd25cbiAqIG91dHB1dCBwb3J0IG9uIHRoZSByaWdodCBzaWRlLCBsYWJlbGVkIHdpdGggdGhlIGNhc2UgbGFiZWwuXG4gKi9cbmxldCBTd2l0Y2hGbG93Tm9kZSA9IGNsYXNzIFN3aXRjaEZsb3dOb2RlIGV4dGVuZHMgR3JhcGhOb2RlIHtcbiAgICAvKipcbiAgICAgKiBDb21wdXRlcyB0aGUgbm9kZSdzIHBvcnRzLCBzaXplLCBhbmQgZGF0YSBwYXRjaCBmcm9tIHRoZSBnaXZlbiBzd2l0Y2hcbiAgICAgKiBtZXRhZGF0YS4gRWFjaCBjYXNlIGdldHMgaXRzIG93biBvdXRwdXQgcG9ydCBvbiB0aGUgcmlnaHQgc2lkZTsgdGhlXG4gICAgICogYGRlZmF1bHRgIHBvcnQgYWx3YXlzIHJlbmRlcnMgKipsYXN0KiogKERFQ0FGLTMyIMKnMjEgcG9ydC1vcmRlcmluZyBydWxlLFxuICAgICAqIERFQ0FGLTM0IMKnNi4yKS4gV2hlbiBgaGFzRGVmYXVsdGAgaXMgYGZhbHNlYCwgdGhlIGBkZWZhdWx0YCBvdXRwdXQgcG9ydFxuICAgICAqIGlzIG9taXR0ZWQgZW50aXJlbHkuIFRoZSBub2RlIGdyb3dzIGluIGhlaWdodCBhcyBjYXNlcyBhcmUgYWRkZWQuXG4gICAgICovXG4gICAgc3RhdGljIGFwcGx5TWV0YWRhdGEobWV0YSkge1xuICAgICAgICBjb25zdCBkZWZpbml0aW9uID0gZ3JhcGhEZWZpbml0aW9uT2YodGhpcyk7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRQb3J0TmFtZSA9IG1ldGEuZGVmYXVsdFBvcnQgPz8gXCJkZWZhdWx0XCI7XG4gICAgICAgIGNvbnN0IGhhc0RlZmF1bHQgPSBtZXRhLmhhc0RlZmF1bHQgPT09IHRydWU7XG4gICAgICAgIC8vIEJhc2UgcG9ydHMgZXhjbHVkaW5nIGFueSBwb3J0IHRoYXQgY29sbGlkZXMgd2l0aCBhIGNhc2Ugb3V0cHV0IHBvcnQuXG4gICAgICAgIGNvbnN0IGJhc2VQb3J0cyA9IGRlZmluaXRpb24ucG9ydHMuZmlsdGVyKChwKSA9PiAhbWV0YS5jYXNlcy5zb21lKChjKSA9PiBjLm91dHB1dFBvcnQgPT09IHAucHJvcGVydHkpKTtcbiAgICAgICAgLy8gU2VwYXJhdGUgdGhlIGRlZmF1bHQgb3V0cHV0IHBvcnQgc28gaXQgY2FuIGJlIHBsYWNlZCBsYXN0IChvciBvbWl0dGVkKS5cbiAgICAgICAgY29uc3Qgbm9uRGVmYXVsdFBvcnRzID0gYmFzZVBvcnRzLmZpbHRlcigocCkgPT4gcC5wcm9wZXJ0eSAhPT0gZGVmYXVsdFBvcnROYW1lKTtcbiAgICAgICAgY29uc3QgZGVmYXVsdFBvcnQgPSBiYXNlUG9ydHMuZmluZCgocCkgPT4gcC5wcm9wZXJ0eSA9PT0gZGVmYXVsdFBvcnROYW1lKTtcbiAgICAgICAgY29uc3QgY2FzZVBvcnRzID0gbWV0YS5jYXNlcy5tYXAoKGMpID0+ICh7XG4gICAgICAgICAgICBwcm9wZXJ0eTogYy5vdXRwdXRQb3J0LFxuICAgICAgICAgICAgbmFtZTogYy5sYWJlbCxcbiAgICAgICAgICAgIGRpcmVjdGlvbjogUG9ydERpcmVjdGlvbi5PVVRQVVQsXG4gICAgICAgICAgICBsYWJlbDogYy5sYWJlbCxcbiAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgICAgIGhpZGRlbjogZmFsc2UsXG4gICAgICAgICAgICBwYXRoOiBjLm91dHB1dFBvcnQsXG4gICAgICAgIH0pKTtcbiAgICAgICAgLy8gUG9ydCBvcmRlcjogaW5wdXRzL25vbi1kZWZhdWx0IG91dHB1dHMgZmlyc3QsIGNhc2Ugb3V0cHV0cyBuZXh0LCBkZWZhdWx0IGxhc3QuXG4gICAgICAgIGNvbnN0IHBvcnRzID0gWy4uLm5vbkRlZmF1bHRQb3J0cywgLi4uY2FzZVBvcnRzXTtcbiAgICAgICAgaWYgKGhhc0RlZmF1bHQgJiYgZGVmYXVsdFBvcnQpIHtcbiAgICAgICAgICAgIHBvcnRzLnB1c2goZGVmYXVsdFBvcnQpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNhc2VDb3VudCA9IG1ldGEuY2FzZXMubGVuZ3RoO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcG9ydHMsXG4gICAgICAgICAgICBzaXplOiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGRlZmluaXRpb24ud2lkdGggPz8gMTIwLFxuICAgICAgICAgICAgICAgIGhlaWdodDogY2FzZUNvdW50ID4gMCA/IDE0MCArIGNhc2VDb3VudCAqIDI0IDogZGVmaW5pdGlvbi5oZWlnaHQgPz8gMTQwLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRhdGFQYXRjaDogeyBzd2l0Y2hNZXRhZGF0YTogbWV0YSB9LFxuICAgICAgICB9O1xuICAgIH1cbn07XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiSW5wdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiVmFsdWUgdG8gc3dpdGNoIG9uXCIgfSksXG4gICAgaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgU3dpdGNoRmxvd05vZGUucHJvdG90eXBlLCBcInZhbHVlXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiRGVmYXVsdFwiLCBwbGFjZWhvbGRlcjogXCJEZWZhdWx0IG91dHB1dCB3aGVuIG5vIGNhc2UgbWF0Y2hlc1wiIH0pLFxuICAgIG91dHB1dCh7IGhhbmRsZTogXCJkZWZhdWx0XCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIFN3aXRjaEZsb3dOb2RlLnByb3RvdHlwZSwgXCJkZWZhdWx0XCIsIHZvaWQgMCk7XG5Td2l0Y2hGbG93Tm9kZSA9IF9fZGVjb3JhdGUoW1xuICAgIG5vZGUoXCJjb3JlLmZsb3cuc3dpdGNoXCIsIHtcbiAgICAgICAga2luZDogXCJjb3JlLmZsb3cuc3dpdGNoXCIsXG4gICAgICAgIGNhdGVnb3J5OiBcIkZsb3cgQ29udHJvbFwiLFxuICAgICAgICBjb2xvcjogXCIjZjk3MzE2XCIsXG4gICAgICAgIGljb246IFwidGktYXJyb3dzLXNodWZmbGVcIixcbiAgICAgICAgd2lkdGg6IDEyMCxcbiAgICAgICAgaGVpZ2h0OiAxNDAsXG4gICAgICAgIGxhYmVsczogW1wiZmxvd1wiLCBcInN3aXRjaFwiLCBcIm11bHRpLWJyYW5jaFwiXSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIHRpdGxlOiBcIlN3aXRjaFwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTXVsdGktYnJhbmNoIHN3aXRjaC4gUm91dGVzIHRoZSBpbnB1dCB0byB0aGUgZmlyc3QgbWF0Y2hpbmcgY2FzZSBvdXRwdXQsIG9yIHRoZSBkZWZhdWx0IG91dHB1dC5cIixcbiAgICAgICAgICAgIHN3aXRjaDoge1xuICAgICAgICAgICAgICAgIGNhc2VzOiBbXSxcbiAgICAgICAgICAgICAgICBkZWZhdWx0UG9ydDogXCJkZWZhdWx0XCIsXG4gICAgICAgICAgICAgICAgaGFzRGVmYXVsdDogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIH0pLFxuICAgIG1vZGVsKClcbl0sIFN3aXRjaEZsb3dOb2RlKTtcbmV4cG9ydCB7IFN3aXRjaEZsb3dOb2RlIH07XG4vKipcbiAqIFBhcmFsbGVsIOKAlCBzcGxpdHMgZXhlY3V0aW9uIGludG8gY29uY3VycmVudCBicmFuY2hlcy5cbiAqL1xubGV0IFBhcmFsbGVsRmxvd05vZGUgPSBjbGFzcyBQYXJhbGxlbEZsb3dOb2RlIGV4dGVuZHMgTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJJbnB1dCB2YWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJWYWx1ZSB0byBmYW4gb3V0XCIgfSksXG4gICAgaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgUGFyYWxsZWxGbG93Tm9kZS5wcm90b3R5cGUsIFwidmFsdWVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJCcmFuY2hlc1wiLCBwbGFjZWhvbGRlcjogXCJDb2xsZWN0ZWQgYnJhbmNoIG91dHB1dHNcIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwiYnJhbmNoZXNcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgQXJyYXkpXG5dLCBQYXJhbGxlbEZsb3dOb2RlLnByb3RvdHlwZSwgXCJicmFuY2hlc1wiLCB2b2lkIDApO1xuUGFyYWxsZWxGbG93Tm9kZSA9IF9fZGVjb3JhdGUoW1xuICAgIG5vZGUoXCJjb3JlLmZsb3cucGFyYWxsZWxcIiwge1xuICAgICAgICBraW5kOiBcImNvcmUuZmxvdy5wYXJhbGxlbFwiLFxuICAgICAgICBjYXRlZ29yeTogXCJGbG93IENvbnRyb2xcIixcbiAgICAgICAgY29sb3I6IFwiIzA2YjZkNFwiLFxuICAgICAgICBpY29uOiBcInRpLWFycm93cy12ZXJ0aWNhbFwiLFxuICAgICAgICB3aWR0aDogOTYsXG4gICAgICAgIGhlaWdodDogOTYsXG4gICAgICAgIGxhYmVsczogW1wiZmxvd1wiLCBcInBhcmFsbGVsXCIsIFwiY29uY3VycmVudFwiXSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIHRpdGxlOiBcIlBhcmFsbGVsXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJTcGxpdHMgZXhlY3V0aW9uIGludG8gY29uY3VycmVudCBicmFuY2hlcy4gQWxsIGJyYW5jaGVzIHJ1biBpbiBwYXJhbGxlbCBhbmQgb3V0cHV0cyBhcmUgY29sbGVjdGVkLlwiLFxuICAgICAgICAgICAgYnJhbmNoQ291bnQ6IDIsXG4gICAgICAgIH0sXG4gICAgfSksXG4gICAgbW9kZWwoKVxuXSwgUGFyYWxsZWxGbG93Tm9kZSk7XG5leHBvcnQgeyBQYXJhbGxlbEZsb3dOb2RlIH07XG4vKipcbiAqIE1lcmdlIOKAlCBub3JtYWxpc2VzIGJyYW5jaC9wYXJhbGxlbCBvdXRwdXRzIGludG8gYSBzaW5nbGUgb3V0cHV0LlxuICovXG5sZXQgTWVyZ2VGbG93Tm9kZSA9IGNsYXNzIE1lcmdlRmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIkJyYW5jaCBvdXRwdXRzXCIsIHBsYWNlaG9sZGVyOiBcIk91dHB1dHMgdG8gbWVyZ2VcIiB9KSxcbiAgICBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZXNcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgQXJyYXkpXG5dLCBNZXJnZUZsb3dOb2RlLnByb3RvdHlwZSwgXCJ2YWx1ZXNcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJNZXJnZWQgb3V0cHV0XCIsIHBsYWNlaG9sZGVyOiBcIk1lcmdlZCByZXN1bHRcIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwibWVyZ2VkXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIE1lcmdlRmxvd05vZGUucHJvdG90eXBlLCBcIm1lcmdlZFwiLCB2b2lkIDApO1xuTWVyZ2VGbG93Tm9kZSA9IF9fZGVjb3JhdGUoW1xuICAgIG5vZGUoXCJjb3JlLmZsb3cubWVyZ2VcIiwge1xuICAgICAgICBraW5kOiBcImNvcmUuZmxvdy5tZXJnZVwiLFxuICAgICAgICBjYXRlZ29yeTogXCJVdGlsaXR5XCIsXG4gICAgICAgIGNvbG9yOiBcIiMwZDk0ODhcIixcbiAgICAgICAgaWNvbjogXCJ0aS1hcnJvd3MtbWVyZ2VcIixcbiAgICAgICAgd2lkdGg6IDk2LFxuICAgICAgICBoZWlnaHQ6IDk2LFxuICAgICAgICBsYWJlbHM6IFtcImZsb3dcIiwgXCJtZXJnZVwiLCBcImpvaW5cIl0sXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICB0aXRsZTogXCJNZXJnZVwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTWVyZ2VzIG11bHRpcGxlIGJyYW5jaCBvdXRwdXRzIGludG8gYSBzaW5nbGUgbm9ybWFsaXNlZCBvdXRwdXQgb2JqZWN0LlwiLFxuICAgICAgICAgICAgc3RyYXRlZ3k6IFwiY29uY2F0XCIsXG4gICAgICAgIH0sXG4gICAgfSksXG4gICAgbW9kZWwoKVxuXSwgTWVyZ2VGbG93Tm9kZSk7XG5leHBvcnQgeyBNZXJnZUZsb3dOb2RlIH07XG4vKipcbiAqIE1hcCDigJQgdHJhbnNmb3JtcyB0aGUgY3VycmVudCBpbnB1dCBpbnRvIGEgbmV3IG91dHB1dCBvYmplY3QuXG4gKi9cbmxldCBNYXBGbG93Tm9kZSA9IGNsYXNzIE1hcEZsb3dOb2RlIGV4dGVuZHMgTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJJbnB1dCB2YWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJWYWx1ZSB0byB0cmFuc2Zvcm1cIiB9KSxcbiAgICBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBNYXBGbG93Tm9kZS5wcm90b3R5cGUsIFwidmFsdWVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJUcmFuc2Zvcm1lZCBvdXRwdXRcIiwgcGxhY2Vob2xkZXI6IFwiTWFwcGVkIHJlc3VsdFwiIH0pLFxuICAgIG91dHB1dCh7IGhhbmRsZTogXCJyZXN1bHRcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgTWFwRmxvd05vZGUucHJvdG90eXBlLCBcInJlc3VsdFwiLCB2b2lkIDApO1xuTWFwRmxvd05vZGUgPSBfX2RlY29yYXRlKFtcbiAgICBub2RlKFwiY29yZS5mbG93Lm1hcFwiLCB7XG4gICAgICAgIGtpbmQ6IFwiY29yZS5mbG93Lm1hcFwiLFxuICAgICAgICBjYXRlZ29yeTogXCJVdGlsaXR5XCIsXG4gICAgICAgIGNvbG9yOiBcIiM4NGNjMTZcIixcbiAgICAgICAgaWNvbjogXCJ0aS1hcnJvd3MtcmlnaHQtbGVmdFwiLFxuICAgICAgICB3aWR0aDogOTYsXG4gICAgICAgIGhlaWdodDogOTYsXG4gICAgICAgIGxhYmVsczogW1wiZmxvd1wiLCBcIm1hcFwiLCBcInRyYW5zZm9ybVwiXSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIHRpdGxlOiBcIk1hcFwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVHJhbnNmb3JtcyB0aGUgY3VycmVudCBpbnB1dCBpbnRvIGEgbmV3IG91dHB1dCBvYmplY3QgdXNpbmcgdGhlIGNvbmZpZ3VyZWQgbWFwcGVyLlwiLFxuICAgICAgICAgICAgbWFwcGVyOiB7fSxcbiAgICAgICAgfSxcbiAgICB9KSxcbiAgICBtb2RlbCgpXG5dLCBNYXBGbG93Tm9kZSk7XG5leHBvcnQgeyBNYXBGbG93Tm9kZSB9O1xuLyoqXG4gKiBEZWxheSDigJQgcGF1c2VzIGV4ZWN1dGlvbiBmb3IgYSBjb25maWd1cmVkIGR1cmF0aW9uLlxuICovXG5sZXQgRGVsYXlGbG93Tm9kZSA9IGNsYXNzIERlbGF5Rmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIklucHV0IHZhbHVlXCIsIHBsYWNlaG9sZGVyOiBcIlZhbHVlIHRvIGZvcndhcmQgYWZ0ZXIgZGVsYXlcIiB9KSxcbiAgICBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBEZWxheUZsb3dOb2RlLnByb3RvdHlwZSwgXCJ2YWx1ZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIk91dHB1dCB2YWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJGb3J3YXJkZWQgdmFsdWVcIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwidmFsdWVcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgRGVsYXlGbG93Tm9kZS5wcm90b3R5cGUsIFwidmFsdWVPdXRcIiwgdm9pZCAwKTtcbkRlbGF5Rmxvd05vZGUgPSBfX2RlY29yYXRlKFtcbiAgICBub2RlKFwiY29yZS5mbG93LmRlbGF5XCIsIHtcbiAgICAgICAga2luZDogXCJjb3JlLmZsb3cuZGVsYXlcIixcbiAgICAgICAgY2F0ZWdvcnk6IFwiVXRpbGl0eVwiLFxuICAgICAgICBjb2xvcjogXCIjYTNhM2EzXCIsXG4gICAgICAgIGljb246IFwidGktY2xvY2staG91ci00XCIsXG4gICAgICAgIHdpZHRoOiA5NixcbiAgICAgICAgaGVpZ2h0OiA5NixcbiAgICAgICAgbGFiZWxzOiBbXCJmbG93XCIsIFwiZGVsYXlcIiwgXCJ3YWl0XCJdLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgdGl0bGU6IFwiRGVsYXlcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlBhdXNlcyBleGVjdXRpb24gZm9yIHRoZSBjb25maWd1cmVkIGR1cmF0aW9uIChpbiBtaWxsaXNlY29uZHMpLCB0aGVuIGZvcndhcmRzIHRoZSBpbnB1dCB1bmNoYW5nZWQuXCIsXG4gICAgICAgICAgICBkdXJhdGlvbk1zOiAxMDAwLFxuICAgICAgICB9LFxuICAgIH0pLFxuICAgIG1vZGVsKClcbl0sIERlbGF5Rmxvd05vZGUpO1xuZXhwb3J0IHsgRGVsYXlGbG93Tm9kZSB9O1xuLyoqXG4gKiBFcnJvciBib3VuZGFyeSDigJQgdHJ5L2NhdGNoL2ZpbmFsbHkgd29ya2Zsb3cgYmVoYXZpb3VyLlxuICovXG5sZXQgRXJyb3JCb3VuZGFyeUZsb3dOb2RlID0gY2xhc3MgRXJyb3JCb3VuZGFyeUZsb3dOb2RlIGV4dGVuZHMgTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJJbnB1dCB2YWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJWYWx1ZSB0byBndWFyZFwiIH0pLFxuICAgIGlucHV0KHsgaGFuZGxlOiBcInZhbHVlXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIEVycm9yQm91bmRhcnlGbG93Tm9kZS5wcm90b3R5cGUsIFwidmFsdWVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJSZXN1bHRcIiwgcGxhY2Vob2xkZXI6IFwiT3V0cHV0IG9uIHN1Y2Nlc3NcIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwicmVzdWx0XCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIEVycm9yQm91bmRhcnlGbG93Tm9kZS5wcm90b3R5cGUsIFwicmVzdWx0XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiRXJyb3JcIiwgcGxhY2Vob2xkZXI6IFwiT3V0cHV0IG9uIGZhaWx1cmVcIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwiZXJyb3JcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgRXJyb3JCb3VuZGFyeUZsb3dOb2RlLnByb3RvdHlwZSwgXCJlcnJvclwiLCB2b2lkIDApO1xuRXJyb3JCb3VuZGFyeUZsb3dOb2RlID0gX19kZWNvcmF0ZShbXG4gICAgbm9kZShcImNvcmUuZmxvdy5lcnJvckJvdW5kYXJ5XCIsIHtcbiAgICAgICAga2luZDogXCJjb3JlLmZsb3cuZXJyb3JCb3VuZGFyeVwiLFxuICAgICAgICBjYXRlZ29yeTogXCJGbG93IENvbnRyb2xcIixcbiAgICAgICAgY29sb3I6IFwiI2VmNDQ0NFwiLFxuICAgICAgICBpY29uOiBcInRpLXNoaWVsZC1jaGVja1wiLFxuICAgICAgICB3aWR0aDogOTYsXG4gICAgICAgIGhlaWdodDogOTYsXG4gICAgICAgIGxhYmVsczogW1wiZmxvd1wiLCBcImVycm9yXCIsIFwidHJ5LWNhdGNoXCJdLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgdGl0bGU6IFwiRXJyb3IgYm91bmRhcnlcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIldyYXBzIHRoZSBpbnB1dCBpbiBhIHRyeS9jYXRjaC9maW5hbGx5LiBFbWl0cyB0aGUgcmVzdWx0IG9uIHN1Y2Nlc3MsIG9yIHRoZSBlcnJvciBvbiBmYWlsdXJlLlwiLFxuICAgICAgICAgICAgZmluYWxseTogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgfSksXG4gICAgbW9kZWwoKVxuXSwgRXJyb3JCb3VuZGFyeUZsb3dOb2RlKTtcbmV4cG9ydCB7IEVycm9yQm91bmRhcnlGbG93Tm9kZSB9O1xuLyoqXG4gKiBIdW1hbiBhcHByb3ZhbCDigJQgc3VzcGVuZHMgZXhlY3V0aW9uIHVudGlsIGEgaHVtYW4gYXBwcm92ZXMgb3IgcmVqZWN0cy5cbiAqL1xubGV0IEh1bWFuQXBwcm92YWxGbG93Tm9kZSA9IGNsYXNzIEh1bWFuQXBwcm92YWxGbG93Tm9kZSBleHRlbmRzIE1vZGVsIHtcbn07XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiSW5wdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiVmFsdWUgcGVuZGluZyBhcHByb3ZhbFwiIH0pLFxuICAgIGlucHV0KHsgaGFuZGxlOiBcInZhbHVlXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIEh1bWFuQXBwcm92YWxGbG93Tm9kZS5wcm90b3R5cGUsIFwidmFsdWVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJBcHByb3ZlZFwiLCBwbGFjZWhvbGRlcjogXCJPdXRwdXQgd2hlbiBhcHByb3ZlZFwiIH0pLFxuICAgIG91dHB1dCh7IGhhbmRsZTogXCJhcHByb3ZlZFwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBIdW1hbkFwcHJvdmFsRmxvd05vZGUucHJvdG90eXBlLCBcImFwcHJvdmVkXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiUmVqZWN0ZWRcIiwgcGxhY2Vob2xkZXI6IFwiT3V0cHV0IHdoZW4gcmVqZWN0ZWRcIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwicmVqZWN0ZWRcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgSHVtYW5BcHByb3ZhbEZsb3dOb2RlLnByb3RvdHlwZSwgXCJyZWplY3RlZFwiLCB2b2lkIDApO1xuSHVtYW5BcHByb3ZhbEZsb3dOb2RlID0gX19kZWNvcmF0ZShbXG4gICAgbm9kZShcImNvcmUuZmxvdy5odW1hbkFwcHJvdmFsXCIsIHtcbiAgICAgICAga2luZDogXCJjb3JlLmZsb3cuaHVtYW5BcHByb3ZhbFwiLFxuICAgICAgICBjYXRlZ29yeTogXCJGbG93IENvbnRyb2xcIixcbiAgICAgICAgY29sb3I6IFwiI2Q5NDZlZlwiLFxuICAgICAgICBpY29uOiBcInRpLXVzZXItY2hlY2tcIixcbiAgICAgICAgd2lkdGg6IDk2LFxuICAgICAgICBoZWlnaHQ6IDk2LFxuICAgICAgICBsYWJlbHM6IFtcImZsb3dcIiwgXCJhcHByb3ZhbFwiLCBcInN1c3BlbmRcIl0sXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICB0aXRsZTogXCJIdW1hbiBhcHByb3ZhbFwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiU3VzcGVuZHMgZXhlY3V0aW9uIHVudGlsIGEgaHVtYW4gYXBwcm92ZXMgb3IgcmVqZWN0cy4gRW1pdHMgdGhlIGFwcHJvdmVkIHZhbHVlIG9yIGEgcmVqZWN0aW9uLlwiLFxuICAgICAgICAgICAgYXBwcm92ZXJzOiBbXSxcbiAgICAgICAgICAgIHRpbWVvdXRNczogODY0MDAwMDAsXG4gICAgICAgIH0sXG4gICAgfSksXG4gICAgbW9kZWwoKVxuXSwgSHVtYW5BcHByb3ZhbEZsb3dOb2RlKTtcbmV4cG9ydCB7IEh1bWFuQXBwcm92YWxGbG93Tm9kZSB9O1xuLyoqXG4gKiBSZXR1cm4g4oCUIGRlZmluZXMgYW5kIG5vcm1hbGlzZXMgdGhlIGZpbmFsIHdvcmtmbG93IG91dHB1dC5cbiAqL1xubGV0IFJldHVybkZsb3dOb2RlID0gY2xhc3MgUmV0dXJuRmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIklucHV0IHZhbHVlXCIsIHBsYWNlaG9sZGVyOiBcIlZhbHVlIHRvIG5vcm1hbGlzZVwiIH0pLFxuICAgIGlucHV0KHsgaGFuZGxlOiBcInZhbHVlXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIFJldHVybkZsb3dOb2RlLnByb3RvdHlwZSwgXCJ2YWx1ZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIlJldHVybmVkIG91dHB1dFwiLCBwbGFjZWhvbGRlcjogXCJOb3JtYWxpc2VkIG91dHB1dFwiIH0pLFxuICAgIG91dHB1dCh7IGhhbmRsZTogXCJyZXN1bHRcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgUmV0dXJuRmxvd05vZGUucHJvdG90eXBlLCBcInJlc3VsdFwiLCB2b2lkIDApO1xuUmV0dXJuRmxvd05vZGUgPSBfX2RlY29yYXRlKFtcbiAgICBub2RlKFwiY29yZS5mbG93LnJldHVyblwiLCB7XG4gICAgICAgIGtpbmQ6IFwiY29yZS5mbG93LnJldHVyblwiLFxuICAgICAgICBjYXRlZ29yeTogXCJVdGlsaXR5XCIsXG4gICAgICAgIGNvbG9yOiBcIiMyMmM1NWVcIixcbiAgICAgICAgaWNvbjogXCJ0aS1hcnJvdy1iYWNrLXVwXCIsXG4gICAgICAgIHdpZHRoOiA5NixcbiAgICAgICAgaGVpZ2h0OiA5NixcbiAgICAgICAgbGFiZWxzOiBbXCJmbG93XCIsIFwicmV0dXJuXCIsIFwib3V0cHV0XCJdLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgdGl0bGU6IFwiUmV0dXJuXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJOb3JtYWxpc2VzIHRoZSBpbnB1dCBpbnRvIHRoZSBmaW5hbCB3b3JrZmxvdyBvdXRwdXQgb2JqZWN0LlwiLFxuICAgICAgICAgICAgb3V0cHV0U2NoZW1hOiB7fSxcbiAgICAgICAgfSxcbiAgICB9KSxcbiAgICBtb2RlbCgpXG5dLCBSZXR1cm5GbG93Tm9kZSk7XG5leHBvcnQgeyBSZXR1cm5GbG93Tm9kZSB9O1xuLyoqXG4gKiBDb2RlIOKAlCBzYW5kYm94ZWQgSlMvVFMgY29kZSBleGVjdXRpb24gKEFMRlJFRC01IMKnNywgREVDQUYtMzIgwqcyMi40KS5cbiAqXG4gKiBUaGUgZW5naW5lJ3Mge0BsaW5rIENvZGVHcmFwaE5vZGVFeGVjdXRvcn0gZGVsZWdhdGVzIHRvIHRoZSBwbHVnZ2FibGVcbiAqIHtAbGluayBDb2RlU2FuZGJveEV2YWx1YXRvcn0uIFRoZSBkZWZhdWx0XG4gKiBgSXNvbGF0ZWRWbUNvZGVTYW5kYm94RXZhbHVhdG9yYCAoYmFja2VkIGJ5IGBpc29sYXRlZC12bWApIGVuZm9yY2VzIHRoZVxuICogQ29kZSBOb2RlIHJlc3RyaWN0aW9uczogbm8gaW1wb3J0cywgbm8gcmVxdWlyZXMsIHB1cmUgZnVuY3Rpb25zIG9ubHkuIFRoZVxuICogc2FuZGJveCBjb250ZXh0IGV4cG9zZXMgYCRpbnB1dGAsIGAkdmFyc2AsIGAkaXRlbWAsIGAkaW5kZXhgLCBgJG5vZGVgLCBhbmRcbiAqIGAkb3V0cHV0YCBhcyBkYXRhIHZhcmlhYmxlcy4gVHlwZVNjcmlwdCBpcyBzdXBwb3J0ZWQgdmlhIHRyYW5zcGlsYXRpb24uXG4gKi9cbi8qKlxuICogSW5wdXQgc2NoZW1hIGZvciB0aGUgQ29kZSBub2RlLiBUaGUgYEBpbnB1dGAgb24gYENvZGVGbG93Tm9kZS5pbnB1dGAgaXMgYVxuICogc2NoZW1hIGdyb3VwIOKAlCB0aGUgbmVzdGVkIG1vZGVsJ3MgYEBpbnB1dGAgcG9ydHMgYXJlIHNwbGljZWQgaW50byB0aGVcbiAqIHBhcmVudCB1bnByZWZpeGVkLiBgY29kZWAgaGFzIGBAaW5wdXRgICsgYEB1aWVsZW1lbnQoXCJjb2RlLWVkaXRvclwiKWAsIHNvIGl0XG4gKiBhcHBlYXJzIGFzIGEgcG9ydCBBTkQgaW4gdGhlIENSVUQgbW9kYWwgKHRoZSBvbmx5IHZpc2libGUgZmllbGQpLiBgZGF0YWBcbiAqIGhhcyBgQGlucHV0YCArIGBAaGlkZGVuKClgIGJ1dCBubyBgQHVpZWxlbWVudGAsIHNvIGl0IGlzIGEgY2FudmFzLW9ubHkgcG9ydFxuICogKGZvciBlZGdlIGNvbm5lY3Rpb25zIGZyb20gd29ya2Zsb3cgaW5wdXQgYmFkZ2VzKSBidXQgbmV2ZXIgYXBwZWFycyBpbiB0aGVcbiAqIENSVUQgbW9kYWwuIGBsYW5ndWFnZWAgaGFzIG5vIGBAaW5wdXRgIGFuZCBubyBgQHVpZWxlbWVudGAsIHNvIGl0IGlzXG4gKiBuZWl0aGVyIGEgcG9ydCBub3IgcmVuZGVyZWQg4oCUIGl0IGRlZmF1bHRzIHRvIGBcImphdmFzY3JpcHRcImAuXG4gKi9cbmxldCBDb2RlSW5wdXRTY2hlbWEgPSBjbGFzcyBDb2RlSW5wdXRTY2hlbWEgZXh0ZW5kcyBNb2RlbCB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKC4uLmFyZ3VtZW50cyk7XG4gICAgICAgIHRoaXMubGFuZ3VhZ2UgPSBcImphdmFzY3JpcHRcIjtcbiAgICB9XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgQ29kZUlucHV0U2NoZW1hLnByb3RvdHlwZSwgXCJsYW5ndWFnZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB1aWVsZW1lbnQoXCJjb2RlLWVkaXRvclwiLCB7IGxhYmVsOiBcIkNvZGVcIiwgcGxhY2Vob2xkZXI6IFwiLy8gVXNlci1hdXRob3JlZCBKUyBjb2RlXCIgfSksXG4gICAgaW5wdXQoeyBoYW5kbGU6IFwiY29kZVwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBDb2RlSW5wdXRTY2hlbWEucHJvdG90eXBlLCBcImNvZGVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGhpZGRlbigpLFxuICAgIGlucHV0KHsgaGFuZGxlOiBcImRhdGFcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgQ29kZUlucHV0U2NoZW1hLnByb3RvdHlwZSwgXCJkYXRhXCIsIHZvaWQgMCk7XG5Db2RlSW5wdXRTY2hlbWEgPSBfX2RlY29yYXRlKFtcbiAgICBtb2RlbCgpXG5dLCBDb2RlSW5wdXRTY2hlbWEpO1xuZXhwb3J0IHsgQ29kZUlucHV0U2NoZW1hIH07XG5sZXQgQ29kZUZsb3dOb2RlID0gY2xhc3MgQ29kZUZsb3dOb2RlIGV4dGVuZHMgTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgaW5wdXQoeyBoYW5kbGU6IFwiaW5wdXRcIiwgbW9kZWw6IENvZGVJbnB1dFNjaGVtYSB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgQ29kZUlucHV0U2NoZW1hKVxuXSwgQ29kZUZsb3dOb2RlLnByb3RvdHlwZSwgXCJpbnB1dFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwicmVzdWx0XCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIENvZGVGbG93Tm9kZS5wcm90b3R5cGUsIFwicmVzdWx0XCIsIHZvaWQgMCk7XG5Db2RlRmxvd05vZGUgPSBfX2RlY29yYXRlKFtcbiAgICBub2RlKFwiY29yZS5mbG93LmNvZGVcIiwge1xuICAgICAgICBraW5kOiBcImNvcmUuZmxvdy5jb2RlXCIsXG4gICAgICAgIGNhdGVnb3J5OiBcIlV0aWxpdHlcIixcbiAgICAgICAgY29sb3I6IFwiIzdjM2FlZFwiLFxuICAgICAgICBpY29uOiBcInRpLWNvZGVcIixcbiAgICAgICAgd2lkdGg6IDk2LFxuICAgICAgICBoZWlnaHQ6IDk2LFxuICAgICAgICBsYWJlbHM6IFtcImZsb3dcIiwgXCJjb2RlXCIsIFwic2FuZGJveFwiLCBcInRyYW5zZm9ybVwiXSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIHRpdGxlOiBcIkNvZGVcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlJ1bnMgdXNlci1hdXRob3JlZCBKUy9UUyBpbiBhIHJlc3RyaWN0ZWQgVk0gc2FuZGJveC4gU3VwcG9ydHMgcGxhY2Vob2xkZXIgc3ludGF4IGZvciB3b3JrZmxvdyBkYXRhIHJlZmVyZW5jZXMuXCIsXG4gICAgICAgICAgICB0aW1lb3V0TXM6IDEwMDAsXG4gICAgICAgIH0sXG4gICAgfSksXG4gICAgbW9kZWwoKVxuXSwgQ29kZUZsb3dOb2RlKTtcbmV4cG9ydCB7IENvZGVGbG93Tm9kZSB9O1xuLyoqXG4gKiBMb2cg4oCUIGxvZ3MgdGhlIGlucHV0IHZhbHVlIGFuZCBmb3J3YXJkcyBpdCB1bmNoYW5nZWQgb24gdGhlIGBsb2dnZWRgXG4gKiBvdXRwdXQgcG9ydC4gVXNlZnVsIGZvciBkZWJ1Z2dpbmcsIGF1ZGl0IHRyYWlscywgYW5kIGRpc2NhcmQvc2lkZS1lZmZlY3RcbiAqIGJyYW5jaGVzIGluIGEgd29ya2Zsb3cuXG4gKi9cbmxldCBMb2dGbG93Tm9kZSA9IGNsYXNzIExvZ0Zsb3dOb2RlIGV4dGVuZHMgTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJJbnB1dCB2YWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJWYWx1ZSB0byBsb2dcIiB9KSxcbiAgICBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBMb2dGbG93Tm9kZS5wcm90b3R5cGUsIFwidmFsdWVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJMb2dnZWQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiRm9yd2FyZGVkIHZhbHVlXCIgfSksXG4gICAgb3V0cHV0KHsgaGFuZGxlOiBcImxvZ2dlZFwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBMb2dGbG93Tm9kZS5wcm90b3R5cGUsIFwibG9nZ2VkXCIsIHZvaWQgMCk7XG5Mb2dGbG93Tm9kZSA9IF9fZGVjb3JhdGUoW1xuICAgIG5vZGUoXCJjb3JlLmZsb3cubG9nXCIsIHtcbiAgICAgICAga2luZDogXCJjb3JlLmZsb3cubG9nXCIsXG4gICAgICAgIGNhdGVnb3J5OiBcIlV0aWxpdHlcIixcbiAgICAgICAgY29sb3I6IFwiIzYzNjZmMVwiLFxuICAgICAgICBpY29uOiBcInRpLXRlcm1pbmFsXCIsXG4gICAgICAgIHdpZHRoOiA5NixcbiAgICAgICAgaGVpZ2h0OiA5NixcbiAgICAgICAgbGFiZWxzOiBbXCJmbG93XCIsIFwibG9nXCIsIFwiZGVidWdcIiwgXCJ1dGlsaXR5XCJdLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgdGl0bGU6IFwiTG9nXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJMb2dzIHRoZSBpbnB1dCB2YWx1ZSB0byB0aGUgZXhlY3V0aW9uIGxvZ2dlciBhbmQgZm9yd2FyZHMgaXQgdW5jaGFuZ2VkLlwiLFxuICAgICAgICB9LFxuICAgIH0pLFxuICAgIG1vZGVsKClcbl0sIExvZ0Zsb3dOb2RlKTtcbmV4cG9ydCB7IExvZ0Zsb3dOb2RlIH07XG4vKipcbiAqIEJyZWFrIOKAlCBicmVha3Mgb3V0IG9mIHRoZSBlbmNsb3NpbmcgbG9vcCAoZm9yZWFjaC93aGlsZS91bnRpbCkuIFdoZW5cbiAqIGV4ZWN1dGVkIGluc2lkZSBhIGxvb3AgYm9keSwgdGhlIGxvb3AgdGVybWluYXRlcyBlYXJseSBhbmQgdGhlIGxvb3Anc1xuICogYGNvbXBsZXRlZGAvYHN0YXRlYCBvdXRwdXQgY2FycmllcyB0aGUgcmVzdWx0cyBjb2xsZWN0ZWQgc28gZmFyLiBUaGVcbiAqIEJyZWFrIG5vZGUgZXhlY3V0b3IgdGhyb3dzIGEge0BsaW5rIEdyYXBoQnJlYWtTaWduYWx9IHRoYXQgdGhlIGVuY2xvc2luZ1xuICogbG9vcCBleGVjdXRvciBjYXRjaGVzLlxuICovXG5sZXQgQnJlYWtGbG93Tm9kZSA9IGNsYXNzIEJyZWFrRmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIlZhbHVlXCIsIHBsYWNlaG9sZGVyOiBcIlZhbHVlIHRvIGZvcndhcmQgKGNvbGxlY3RlZCBhcyB0aGUgbGFzdCBwYXJ0aWFsIHJlc3VsdClcIiB9KSxcbiAgICBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBCcmVha0Zsb3dOb2RlLnByb3RvdHlwZSwgXCJ2YWx1ZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwiYnJva2VuXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIEJyZWFrRmxvd05vZGUucHJvdG90eXBlLCBcImJyb2tlblwiLCB2b2lkIDApO1xuQnJlYWtGbG93Tm9kZSA9IF9fZGVjb3JhdGUoW1xuICAgIG5vZGUoXCJjb3JlLmZsb3cuYnJlYWtcIiwge1xuICAgICAgICBraW5kOiBcImNvcmUuZmxvdy5icmVha1wiLFxuICAgICAgICBjYXRlZ29yeTogXCJGbG93IENvbnRyb2xcIixcbiAgICAgICAgY29sb3I6IFwiI2VmNDQ0NFwiLFxuICAgICAgICBpY29uOiBcInRpLXNxdWFyZS1hcnJvdy1yaWdodFwiLFxuICAgICAgICB3aWR0aDogOTYsXG4gICAgICAgIGhlaWdodDogOTYsXG4gICAgICAgIGxhYmVsczogW1wiZmxvd1wiLCBcImJyZWFrXCIsIFwibG9vcFwiLCBcImNvbnRyb2xcIl0sXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICB0aXRsZTogXCJCcmVha1wiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQnJlYWtzIG91dCBvZiB0aGUgZW5jbG9zaW5nIGxvb3AuIFRoZSBsb29wIHRlcm1pbmF0ZXMgZWFybHkgYW5kIHJldHVybnMgdGhlIHJlc3VsdHMgY29sbGVjdGVkIHNvIGZhci5cIixcbiAgICAgICAgfSxcbiAgICB9KSxcbiAgICBtb2RlbCgpXG5dLCBCcmVha0Zsb3dOb2RlKTtcbmV4cG9ydCB7IEJyZWFrRmxvd05vZGUgfTtcbi8qKlxuICogQWxsIGJ1aWx0LWluIGZsb3ctY29udHJvbCBub2RlIGNvbnN0cnVjdG9ycy5cbiAqL1xuZXhwb3J0IGNvbnN0IEdSQVBIX0ZMT1dfQ09OVFJPTF9OT0RFUyA9IFtcbiAgICBJZkZsb3dOb2RlLFxuICAgIFN3aXRjaEZsb3dOb2RlLFxuICAgIFBhcmFsbGVsRmxvd05vZGUsXG4gICAgTWVyZ2VGbG93Tm9kZSxcbiAgICBNYXBGbG93Tm9kZSxcbiAgICBEZWxheUZsb3dOb2RlLFxuICAgIEVycm9yQm91bmRhcnlGbG93Tm9kZSxcbiAgICBIdW1hbkFwcHJvdmFsRmxvd05vZGUsXG4gICAgUmV0dXJuRmxvd05vZGUsXG4gICAgQ29kZUZsb3dOb2RlLFxuICAgIExvZ0Zsb3dOb2RlLFxuICAgIEJyZWFrRmxvd05vZGUsXG5dO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pWm14dmR5MWpiMjUwY205c0xtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpTGk0dkxpNHZMaTR2TGk0dkxpNHZjM0pqTDJkeVlYQm9MM05vWVhKbFpDOXViMlJsY3k5bWJHOTNMV052Ym5SeWIyd3VkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJanM3T3pzN096czdPMEZCUVVFN096czdPenM3T3pzN08wZEJWMGM3UVVGRFNDeFBRVUZQTEVWQlFVVXNTMEZCU3l4RlFVRkZMRXRCUVVzc1JVRkJSU3hSUVVGUkxFVkJRVVVzVFVGQlRTeG5RMEZCWjBNc1EwRkJRenRCUVVONFJTeFBRVUZQTEVWQlFVVXNVMEZCVXl4RlFVRkZMRTFCUVUwc1JVRkJSU3hOUVVGTkxIbENRVUY1UWl4RFFVRkRPMEZCUXpWRUxFOUJRVThzUlVGRFRDeHBRa0ZCYVVJc1JVRkRha0lzUzBGQlN5eEZRVU5NTEVsQlFVa3NSVUZEU2l4TlFVRk5MRVZCUTA0c1lVRkJZU3hIUVVWa0xFMUJRVTBzSzBKQlFTdENMRU5CUVVNN1FVRkZka01zVDBGQlR5eEZRVUZGTEZOQlFWTXNSVUZCUlN4clFrRkJaVHRCUVVWdVF6czdPMGRCUjBjN1FVRm5Ra2tzU1VGQlRTeFZRVUZWTEVkQlFXaENMRTFCUVUwc1ZVRkJWeXhUUVVGUkxFdEJRVXM3UTBGbGNFTXNRMEZCUVR0QlFWaERPMGxCU0VNc1VVRkJVU3hGUVVGRk8wbEJRMVlzVTBGQlV5eERRVUZETEZWQlFWVXNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hoUVVGaExFVkJRVVVzVjBGQlZ5eEZRVUZGTEcxQ1FVRnRRaXhGUVVGRkxFTkJRVU03U1VGRGFrWXNTMEZCU3l4RFFVRkRMRVZCUVVVc1RVRkJUU3hGUVVGRkxFOUJRVThzUlVGQlJTeERRVUZET3p0NVEwRkRXRHRCUVV0b1FqdEpRVWhETEZGQlFWRXNSVUZCUlR0SlFVTldMRk5CUVZNc1EwRkJReXhQUVVGUExFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNUVUZCVFN4RlFVRkZMRmRCUVZjc1JVRkJSU3dyUWtGQkswSXNSVUZCUlN4RFFVRkRPMGxCUTI1R0xFMUJRVTBzUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZCUlN4TlFVRk5MRVZCUVVVc1EwRkJRenM3ZDBOQlExbzdRVUZMWmp0SlFVaERMRkZCUVZFc1JVRkJSVHRKUVVOV0xGTkJRVk1zUTBGQlF5eFBRVUZQTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1RVRkJUU3hGUVVGRkxGZEJRVmNzUlVGQlJTeG5RMEZCWjBNc1JVRkJSU3hEUVVGRE8wbEJRM0JHTEUxQlFVMHNRMEZCUXl4RlFVRkZMRTFCUVUwc1JVRkJSU3hOUVVGTkxFVkJRVVVzUTBGQlF6czdkME5CUTFvN1FVRmtTaXhWUVVGVk8wbEJablJDTEVsQlFVa3NRMEZCUXl4alFVRmpMRVZCUVVVN1VVRkRjRUlzU1VGQlNTeEZRVUZGTEdOQlFXTTdVVUZEY0VJc1VVRkJVU3hGUVVGRkxHTkJRV003VVVGRGVFSXNTMEZCU3l4RlFVRkZMRk5CUVZNN1VVRkRhRUlzU1VGQlNTeEZRVUZGTEcxQ1FVRnRRanRSUVVONlFpeExRVUZMTEVWQlFVVXNSVUZCUlR0UlFVTlVMRTFCUVUwc1JVRkJSU3hGUVVGRk8xRkJRMVlzVFVGQlRTeEZRVUZGTEVOQlFVTXNUVUZCVFN4RlFVRkZMR0ZCUVdFc1JVRkJSU3hSUVVGUkxFTkJRVU03VVVGRGVrTXNVVUZCVVN4RlFVRkZPMWxCUTFJc1MwRkJTeXhGUVVGRkxFbEJRVWs3V1VGRFdDeFhRVUZYTEVWQlFVVXNjVWRCUVhGSE8xbEJRMnhJTEZOQlFWTXNSVUZCUlN4RlFVRkZMRVZCUVVVc1JVRkJSU3hKUVVGSkxFVkJRVVVzU1VGQlNTeEZRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMRWxCUVVrc1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4SlFVRkpMRVZCUVVVc1JVRkJSVHRUUVVOMlJUdExRVU5HTEVOQlFVTTdTVUZEUkN4TFFVRkxMRVZCUVVVN1IwRkRTeXhWUVVGVkxFTkJaWFJDT3p0QlFVVkVPenM3T3pzN096czdSMEZUUnp0QlFXOUNTU3hKUVVGTkxHTkJRV01zUjBGQmNFSXNUVUZCVFN4alFVRmxMRk5CUVZFc1UwRkJVenRKUVZjelF6czdPenM3TzA5QlRVYzdTVUZEU0N4TlFVRk5MRU5CUVZVc1lVRkJZU3hEUVVGRExFbEJRWGRDTzFGQlEzQkVMRTFCUVUwc1ZVRkJWU3hIUVVGSExHbENRVUZwUWl4RFFVRkRMRWxCUVdFc1EwRkJReXhEUVVGRE8xRkJRM0JFTEUxQlFVMHNaVUZCWlN4SFFVRkhMRWxCUVVrc1EwRkJReXhYUVVGWExFbEJRVWtzVTBGQlV5eERRVUZETzFGQlEzUkVMRTFCUVUwc1ZVRkJWU3hIUVVGSExFbEJRVWtzUTBGQlF5eFZRVUZWTEV0QlFVc3NTVUZCU1N4RFFVRkRPMUZCUlRWRExIVkZRVUYxUlR0UlFVTjJSU3hOUVVGTkxGTkJRVk1zUjBGQlJ5eFZRVUZWTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTFCUVUwc1EwRkRka01zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eFZRVUZWTEV0QlFVc3NRMEZCUXl4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVNMVJDeERRVUZETzFGQlEwWXNNRVZCUVRCRk8xRkJRekZGTEUxQlFVMHNaVUZCWlN4SFFVRkhMRk5CUVZNc1EwRkJReXhOUVVGTkxFTkJRM1JETEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zVVVGQlVTeExRVUZMTEdWQlFXVXNRMEZEZEVNc1EwRkJRenRSUVVOR0xFMUJRVTBzVjBGQlZ5eEhRVUZITEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4UlFVRlJMRXRCUVVzc1pVRkJaU3hEUVVGRExFTkJRVU03VVVGRk1VVXNUVUZCVFN4VFFVRlRMRWRCUVRCQ0xFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETzFsQlF6bEVMRkZCUVZFc1JVRkJSU3hEUVVGRExFTkJRVU1zVlVGQlZUdFpRVU4wUWl4SlFVRkpMRVZCUVVVc1EwRkJReXhEUVVGRExFdEJRVXM3V1VGRFlpeFRRVUZUTEVWQlFVVXNZVUZCWVN4RFFVRkRMRTFCUVUwN1dVRkRMMElzUzBGQlN5eEZRVUZGTEVOQlFVTXNRMEZCUXl4TFFVRkxPMWxCUTJRc1VVRkJVU3hGUVVGRkxFdEJRVXM3V1VGRFppeE5RVUZOTEVWQlFVVXNTMEZCU3p0WlFVTmlMRWxCUVVrc1JVRkJSU3hEUVVGRExFTkJRVU1zVlVGQlZUdFRRVU51UWl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVWS0xHbEdRVUZwUmp0UlFVTnFSaXhOUVVGTkxFdEJRVXNzUjBGQlJ5eERRVUZETEVkQlFVY3NaVUZCWlN4RlFVRkZMRWRCUVVjc1UwRkJVeXhEUVVGRExFTkJRVU03VVVGRGFrUXNTVUZCU1N4VlFVRlZMRWxCUVVrc1YwRkJWeXhGUVVGRkxFTkJRVU03V1VGRE9VSXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zUTBGQlF6dFJRVU14UWl4RFFVRkRPMUZCUlVRc1RVRkJUU3hUUVVGVExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4TlFVRk5MRU5CUVVNN1VVRkRjRU1zVDBGQlR6dFpRVU5NTEV0QlFVczdXVUZEVEN4SlFVRkpMRVZCUVVVN1owSkJRMG9zUzBGQlN5eEZRVUZGTEZWQlFWVXNRMEZCUXl4TFFVRkxMRWxCUVVrc1IwRkJSenRuUWtGRE9VSXNUVUZCVFN4RlFVRkZMRk5CUVZNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NSMEZCUnl4VFFVRlRMRWRCUVVjc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eFZRVUZWTEVOQlFVTXNUVUZCVFN4SlFVRkpMRWRCUVVjN1lVRkRlRVU3V1VGRFJDeFRRVUZUTEVWQlFVVXNSVUZCUlN4alFVRmpMRVZCUVVVc1NVRkJTU3hGUVVGRk8xTkJRM0JETEVOQlFVTTdTVUZEU2l4RFFVRkRPME5CUTBZc1EwRkJRVHRCUVhaRVF6dEpRVWhETEZGQlFWRXNSVUZCUlR0SlFVTldMRk5CUVZNc1EwRkJReXhWUVVGVkxFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNZVUZCWVN4RlFVRkZMRmRCUVZjc1JVRkJSU3h2UWtGQmIwSXNSVUZCUlN4RFFVRkRPMGxCUTJ4R0xFdEJRVXNzUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZCUlN4UFFVRlBMRVZCUVVVc1EwRkJRenM3TmtOQlExZzdRVUZMYUVJN1NVRklReXhSUVVGUkxFVkJRVVU3U1VGRFZpeFRRVUZUTEVOQlFVTXNUMEZCVHl4RlFVRkZMRVZCUVVVc1MwRkJTeXhGUVVGRkxGTkJRVk1zUlVGQlJTeFhRVUZYTEVWQlFVVXNjVU5CUVhGRExFVkJRVVVzUTBGQlF6dEpRVU0xUml4TlFVRk5MRU5CUVVNc1JVRkJSU3hOUVVGTkxFVkJRVVVzVTBGQlV5eEZRVUZGTEVOQlFVTTdPeXREUVVOYU8wRkJWRkFzWTBGQll6dEpRVzVDTVVJc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RlFVRkZPMUZCUTNoQ0xFbEJRVWtzUlVGQlJTeHJRa0ZCYTBJN1VVRkRlRUlzVVVGQlVTeEZRVUZGTEdOQlFXTTdVVUZEZUVJc1MwRkJTeXhGUVVGRkxGTkJRVk03VVVGRGFFSXNTVUZCU1N4RlFVRkZMRzFDUVVGdFFqdFJRVU42UWl4TFFVRkxMRVZCUVVVc1IwRkJSenRSUVVOV0xFMUJRVTBzUlVGQlJTeEhRVUZITzFGQlExZ3NUVUZCVFN4RlFVRkZMRU5CUVVNc1RVRkJUU3hGUVVGRkxGRkJRVkVzUlVGQlJTeGpRVUZqTEVOQlFVTTdVVUZETVVNc1VVRkJVU3hGUVVGRk8xbEJRMUlzUzBGQlN5eEZRVUZGTEZGQlFWRTdXVUZEWml4WFFVRlhMRVZCUVVVc2FVZEJRV2xITzFsQlF6bEhMRTFCUVUwc1JVRkJSVHRuUWtGRFRpeExRVUZMTEVWQlFVVXNSVUZCUlR0blFrRkRWQ3hYUVVGWExFVkJRVVVzVTBGQlV6dG5Ra0ZEZEVJc1ZVRkJWU3hGUVVGRkxFdEJRVXM3WVVGRGJFSTdVMEZEUmp0TFFVTkdMRU5CUVVNN1NVRkRSQ3hMUVVGTExFVkJRVVU3UjBGRFN5eGpRVUZqTEVOQk1rUXhRanM3UVVGRlJEczdSMEZGUnp0QlFXZENTU3hKUVVGTkxHZENRVUZuUWl4SFFVRjBRaXhOUVVGTkxHZENRVUZwUWl4VFFVRlJMRXRCUVVzN1EwRlZNVU1zUTBGQlFUdEJRVTVETzBsQlNFTXNVVUZCVVN4RlFVRkZPMGxCUTFZc1UwRkJVeXhEUVVGRExGVkJRVlVzUlVGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4aFFVRmhMRVZCUVVVc1YwRkJWeXhGUVVGRkxHdENRVUZyUWl4RlFVRkZMRU5CUVVNN1NVRkRhRVlzUzBGQlN5eERRVUZETEVWQlFVVXNUVUZCVFN4RlFVRkZMRTlCUVU4c1JVRkJSU3hEUVVGRE96c3JRMEZEV0R0QlFVdG9RanRKUVVoRExGRkJRVkVzUlVGQlJUdEpRVU5XTEZOQlFWTXNRMEZCUXl4UFFVRlBMRVZCUVVVc1JVRkJSU3hMUVVGTExFVkJRVVVzVlVGQlZTeEZRVUZGTEZkQlFWY3NSVUZCUlN3d1FrRkJNRUlzUlVGQlJTeERRVUZETzBsQlEyeEdMRTFCUVUwc1EwRkJReXhGUVVGRkxFMUJRVTBzUlVGQlJTeFZRVUZWTEVWQlFVVXNRMEZCUXpzN2EwUkJRMVk3UVVGVVZpeG5Ra0ZCWjBJN1NVRm1OVUlzU1VGQlNTeERRVUZETEc5Q1FVRnZRaXhGUVVGRk8xRkJRekZDTEVsQlFVa3NSVUZCUlN4dlFrRkJiMEk3VVVGRE1VSXNVVUZCVVN4RlFVRkZMR05CUVdNN1VVRkRlRUlzUzBGQlN5eEZRVUZGTEZOQlFWTTdVVUZEYUVJc1NVRkJTU3hGUVVGRkxHOUNRVUZ2UWp0UlFVTXhRaXhMUVVGTExFVkJRVVVzUlVGQlJUdFJRVU5VTEUxQlFVMHNSVUZCUlN4RlFVRkZPMUZCUTFZc1RVRkJUU3hGUVVGRkxFTkJRVU1zVFVGQlRTeEZRVUZGTEZWQlFWVXNSVUZCUlN4WlFVRlpMRU5CUVVNN1VVRkRNVU1zVVVGQlVTeEZRVUZGTzFsQlExSXNTMEZCU3l4RlFVRkZMRlZCUVZVN1dVRkRha0lzVjBGQlZ5eEZRVUZGTEc5SFFVRnZSenRaUVVOcVNDeFhRVUZYTEVWQlFVVXNRMEZCUXp0VFFVTm1PMHRCUTBZc1EwRkJRenRKUVVORUxFdEJRVXNzUlVGQlJUdEhRVU5MTEdkQ1FVRm5RaXhEUVZVMVFqczdRVUZGUkRzN1IwRkZSenRCUVdkQ1NTeEpRVUZOTEdGQlFXRXNSMEZCYmtJc1RVRkJUU3hoUVVGakxGTkJRVkVzUzBGQlN6dERRVlYyUXl4RFFVRkJPMEZCVGtNN1NVRklReXhSUVVGUkxFVkJRVVU3U1VGRFZpeFRRVUZUTEVOQlFVTXNWVUZCVlN4RlFVRkZMRVZCUVVVc1MwRkJTeXhGUVVGRkxHZENRVUZuUWl4RlFVRkZMRmRCUVZjc1JVRkJSU3hyUWtGQmEwSXNSVUZCUlN4RFFVRkRPMGxCUTI1R0xFdEJRVXNzUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZCUlN4UlFVRlJMRVZCUVVVc1EwRkJRenM3TmtOQlExUTdRVUZMYmtJN1NVRklReXhSUVVGUkxFVkJRVVU3U1VGRFZpeFRRVUZUTEVOQlFVTXNUMEZCVHl4RlFVRkZMRVZCUVVVc1MwRkJTeXhGUVVGRkxHVkJRV1VzUlVGQlJTeFhRVUZYTEVWQlFVVXNaVUZCWlN4RlFVRkZMRU5CUVVNN1NVRkROVVVzVFVGQlRTeERRVUZETEVWQlFVVXNUVUZCVFN4RlFVRkZMRkZCUVZFc1JVRkJSU3hEUVVGRE96czJRMEZEV2p0QlFWUk9MR0ZCUVdFN1NVRm1la0lzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhGUVVGRk8xRkJRM1pDTEVsQlFVa3NSVUZCUlN4cFFrRkJhVUk3VVVGRGRrSXNVVUZCVVN4RlFVRkZMRk5CUVZNN1VVRkRia0lzUzBGQlN5eEZRVUZGTEZOQlFWTTdVVUZEYUVJc1NVRkJTU3hGUVVGRkxHbENRVUZwUWp0UlFVTjJRaXhMUVVGTExFVkJRVVVzUlVGQlJUdFJRVU5VTEUxQlFVMHNSVUZCUlN4RlFVRkZPMUZCUTFZc1RVRkJUU3hGUVVGRkxFTkJRVU1zVFVGQlRTeEZRVUZGTEU5QlFVOHNSVUZCUlN4TlFVRk5MRU5CUVVNN1VVRkRha01zVVVGQlVTeEZRVUZGTzFsQlExSXNTMEZCU3l4RlFVRkZMRTlCUVU4N1dVRkRaQ3hYUVVGWExFVkJRVVVzZDBWQlFYZEZPMWxCUTNKR0xGRkJRVkVzUlVGQlJTeFJRVUZSTzFOQlEyNUNPMHRCUTBZc1EwRkJRenRKUVVORUxFdEJRVXNzUlVGQlJUdEhRVU5MTEdGQlFXRXNRMEZWZWtJN08wRkJSVVE3TzBkQlJVYzdRVUZuUWtrc1NVRkJUU3hYUVVGWExFZEJRV3BDTEUxQlFVMHNWMEZCV1N4VFFVRlJMRXRCUVVzN1EwRlZja01zUTBGQlFUdEJRVTVETzBsQlNFTXNVVUZCVVN4RlFVRkZPMGxCUTFZc1UwRkJVeXhEUVVGRExGVkJRVlVzUlVGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4aFFVRmhMRVZCUVVVc1YwRkJWeXhGUVVGRkxHOUNRVUZ2UWl4RlFVRkZMRU5CUVVNN1NVRkRiRVlzUzBGQlN5eERRVUZETEVWQlFVVXNUVUZCVFN4RlFVRkZMRTlCUVU4c1JVRkJSU3hEUVVGRE96c3dRMEZEV0R0QlFVdG9RanRKUVVoRExGRkJRVkVzUlVGQlJUdEpRVU5XTEZOQlFWTXNRMEZCUXl4UFFVRlBMRVZCUVVVc1JVRkJSU3hMUVVGTExFVkJRVVVzYjBKQlFXOUNMRVZCUVVVc1YwRkJWeXhGUVVGRkxHVkJRV1VzUlVGQlJTeERRVUZETzBsQlEycEdMRTFCUVUwc1EwRkJReXhGUVVGRkxFMUJRVTBzUlVGQlJTeFJRVUZSTEVWQlFVVXNRMEZCUXpzN01rTkJRMW83UVVGVVRpeFhRVUZYTzBsQlpuWkNMRWxCUVVrc1EwRkJReXhsUVVGbExFVkJRVVU3VVVGRGNrSXNTVUZCU1N4RlFVRkZMR1ZCUVdVN1VVRkRja0lzVVVGQlVTeEZRVUZGTEZOQlFWTTdVVUZEYmtJc1MwRkJTeXhGUVVGRkxGTkJRVk03VVVGRGFFSXNTVUZCU1N4RlFVRkZMSE5DUVVGelFqdFJRVU0xUWl4TFFVRkxMRVZCUVVVc1JVRkJSVHRSUVVOVUxFMUJRVTBzUlVGQlJTeEZRVUZGTzFGQlExWXNUVUZCVFN4RlFVRkZMRU5CUVVNc1RVRkJUU3hGUVVGRkxFdEJRVXNzUlVGQlJTeFhRVUZYTEVOQlFVTTdVVUZEY0VNc1VVRkJVU3hGUVVGRk8xbEJRMUlzUzBGQlN5eEZRVUZGTEV0QlFVczdXVUZEV2l4WFFVRlhMRVZCUVVVc2IwWkJRVzlHTzFsQlEycEhMRTFCUVUwc1JVRkJSU3hGUVVGRk8xTkJRMWc3UzBGRFJpeERRVUZETzBsQlEwUXNTMEZCU3l4RlFVRkZPMGRCUTBzc1YwRkJWeXhEUVZWMlFqczdRVUZGUkRzN1IwRkZSenRCUVdkQ1NTeEpRVUZOTEdGQlFXRXNSMEZCYmtJc1RVRkJUU3hoUVVGakxGTkJRVkVzUzBGQlN6dERRVlYyUXl4RFFVRkJPMEZCVGtNN1NVRklReXhSUVVGUkxFVkJRVVU3U1VGRFZpeFRRVUZUTEVOQlFVTXNWVUZCVlN4RlFVRkZMRVZCUVVVc1MwRkJTeXhGUVVGRkxHRkJRV0VzUlVGQlJTeFhRVUZYTEVWQlFVVXNPRUpCUVRoQ0xFVkJRVVVzUTBGQlF6dEpRVU0xUml4TFFVRkxMRU5CUVVNc1JVRkJSU3hOUVVGTkxFVkJRVVVzVDBGQlR5eEZRVUZGTEVOQlFVTTdPelJEUVVOWU8wRkJTMmhDTzBsQlNFTXNVVUZCVVN4RlFVRkZPMGxCUTFZc1UwRkJVeXhEUVVGRExFOUJRVThzUlVGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4alFVRmpMRVZCUVVVc1YwRkJWeXhGUVVGRkxHbENRVUZwUWl4RlFVRkZMRU5CUVVNN1NVRkROMFVzVFVGQlRTeERRVUZETEVWQlFVVXNUVUZCVFN4RlFVRkZMRTlCUVU4c1JVRkJSU3hEUVVGRE96c3JRMEZEVkR0QlFWUlNMR0ZCUVdFN1NVRm1la0lzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhGUVVGRk8xRkJRM1pDTEVsQlFVa3NSVUZCUlN4cFFrRkJhVUk3VVVGRGRrSXNVVUZCVVN4RlFVRkZMRk5CUVZNN1VVRkRia0lzUzBGQlN5eEZRVUZGTEZOQlFWTTdVVUZEYUVJc1NVRkJTU3hGUVVGRkxHbENRVUZwUWp0UlFVTjJRaXhMUVVGTExFVkJRVVVzUlVGQlJUdFJRVU5VTEUxQlFVMHNSVUZCUlN4RlFVRkZPMUZCUTFZc1RVRkJUU3hGUVVGRkxFTkJRVU1zVFVGQlRTeEZRVUZGTEU5QlFVOHNSVUZCUlN4TlFVRk5MRU5CUVVNN1VVRkRha01zVVVGQlVTeEZRVUZGTzFsQlExSXNTMEZCU3l4RlFVRkZMRTlCUVU4N1dVRkRaQ3hYUVVGWExFVkJRVVVzYjBkQlFXOUhPMWxCUTJwSUxGVkJRVlVzUlVGQlJTeEpRVUZKTzFOQlEycENPMHRCUTBZc1EwRkJRenRKUVVORUxFdEJRVXNzUlVGQlJUdEhRVU5MTEdGQlFXRXNRMEZWZWtJN08wRkJSVVE3TzBkQlJVYzdRVUZuUWtrc1NVRkJUU3h4UWtGQmNVSXNSMEZCTTBJc1RVRkJUU3h4UWtGQmMwSXNVMEZCVVN4TFFVRkxPME5CWlM5RExFTkJRVUU3UVVGWVF6dEpRVWhETEZGQlFWRXNSVUZCUlR0SlFVTldMRk5CUVZNc1EwRkJReXhWUVVGVkxFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNZVUZCWVN4RlFVRkZMRmRCUVZjc1JVRkJSU3huUWtGQlowSXNSVUZCUlN4RFFVRkRPMGxCUXpsRkxFdEJRVXNzUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZCUlN4UFFVRlBMRVZCUVVVc1EwRkJRenM3YjBSQlExZzdRVUZMYUVJN1NVRklReXhSUVVGUkxFVkJRVVU3U1VGRFZpeFRRVUZUTEVOQlFVTXNUMEZCVHl4RlFVRkZMRVZCUVVVc1MwRkJTeXhGUVVGRkxGRkJRVkVzUlVGQlJTeFhRVUZYTEVWQlFVVXNiVUpCUVcxQ0xFVkJRVVVzUTBGQlF6dEpRVU42UlN4TlFVRk5MRU5CUVVNc1JVRkJSU3hOUVVGTkxFVkJRVVVzVVVGQlVTeEZRVUZGTEVOQlFVTTdPM0ZFUVVOYU8wRkJTMnBDTzBsQlNFTXNVVUZCVVN4RlFVRkZPMGxCUTFZc1UwRkJVeXhEUVVGRExFOUJRVThzUlVGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4UFFVRlBMRVZCUVVVc1YwRkJWeXhGUVVGRkxHMUNRVUZ0UWl4RlFVRkZMRU5CUVVNN1NVRkRlRVVzVFVGQlRTeERRVUZETEVWQlFVVXNUVUZCVFN4RlFVRkZMRTlCUVU4c1JVRkJSU3hEUVVGRE96dHZSRUZEV2p0QlFXUk1MSEZDUVVGeFFqdEpRV1pxUXl4SlFVRkpMRU5CUVVNc2VVSkJRWGxDTEVWQlFVVTdVVUZETDBJc1NVRkJTU3hGUVVGRkxIbENRVUY1UWp0UlFVTXZRaXhSUVVGUkxFVkJRVVVzWTBGQll6dFJRVU40UWl4TFFVRkxMRVZCUVVVc1UwRkJVenRSUVVOb1FpeEpRVUZKTEVWQlFVVXNhVUpCUVdsQ08xRkJRM1pDTEV0QlFVc3NSVUZCUlN4RlFVRkZPMUZCUTFRc1RVRkJUU3hGUVVGRkxFVkJRVVU3VVVGRFZpeE5RVUZOTEVWQlFVVXNRMEZCUXl4TlFVRk5MRVZCUVVVc1QwRkJUeXhGUVVGRkxGZEJRVmNzUTBGQlF6dFJRVU4wUXl4UlFVRlJMRVZCUVVVN1dVRkRVaXhMUVVGTExFVkJRVVVzWjBKQlFXZENPMWxCUTNaQ0xGZEJRVmNzUlVGQlJTd3JSa0ZCSzBZN1dVRkROVWNzVDBGQlR5eEZRVUZGTEV0QlFVczdVMEZEWmp0TFFVTkdMRU5CUVVNN1NVRkRSQ3hMUVVGTExFVkJRVVU3UjBGRFN5eHhRa0ZCY1VJc1EwRmxha003TzBGQlJVUTdPMGRCUlVjN1FVRnBRa2tzU1VGQlRTeHhRa0ZCY1VJc1IwRkJNMElzVFVGQlRTeHhRa0ZCYzBJc1UwRkJVU3hMUVVGTE8wTkJaUzlETEVOQlFVRTdRVUZZUXp0SlFVaERMRkZCUVZFc1JVRkJSVHRKUVVOV0xGTkJRVk1zUTBGQlF5eFZRVUZWTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1lVRkJZU3hGUVVGRkxGZEJRVmNzUlVGQlJTeDNRa0ZCZDBJc1JVRkJSU3hEUVVGRE8wbEJRM1JHTEV0QlFVc3NRMEZCUXl4RlFVRkZMRTFCUVUwc1JVRkJSU3hQUVVGUExFVkJRVVVzUTBGQlF6czdiMFJCUTFnN1FVRkxhRUk3U1VGSVF5eFJRVUZSTEVWQlFVVTdTVUZEVml4VFFVRlRMRU5CUVVNc1QwRkJUeXhGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEZWQlFWVXNSVUZCUlN4WFFVRlhMRVZCUVVVc2MwSkJRWE5DTEVWQlFVVXNRMEZCUXp0SlFVTTVSU3hOUVVGTkxFTkJRVU1zUlVGQlJTeE5RVUZOTEVWQlFVVXNWVUZCVlN4RlFVRkZMRU5CUVVNN08zVkVRVU5hTzBGQlMyNUNPMGxCU0VNc1VVRkJVU3hGUVVGRk8wbEJRMVlzVTBGQlV5eERRVUZETEU5QlFVOHNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hWUVVGVkxFVkJRVVVzVjBGQlZ5eEZRVUZGTEhOQ1FVRnpRaXhGUVVGRkxFTkJRVU03U1VGRE9VVXNUVUZCVFN4RFFVRkRMRVZCUVVVc1RVRkJUU3hGUVVGRkxGVkJRVlVzUlVGQlJTeERRVUZET3p0MVJFRkRXanRCUVdSU0xIRkNRVUZ4UWp0SlFXaENha01zU1VGQlNTeERRVUZETEhsQ1FVRjVRaXhGUVVGRk8xRkJReTlDTEVsQlFVa3NSVUZCUlN4NVFrRkJlVUk3VVVGREwwSXNVVUZCVVN4RlFVRkZMR05CUVdNN1VVRkRlRUlzUzBGQlN5eEZRVUZGTEZOQlFWTTdVVUZEYUVJc1NVRkJTU3hGUVVGRkxHVkJRV1U3VVVGRGNrSXNTMEZCU3l4RlFVRkZMRVZCUVVVN1VVRkRWQ3hOUVVGTkxFVkJRVVVzUlVGQlJUdFJRVU5XTEUxQlFVMHNSVUZCUlN4RFFVRkRMRTFCUVUwc1JVRkJSU3hWUVVGVkxFVkJRVVVzVTBGQlV5eERRVUZETzFGQlEzWkRMRkZCUVZFc1JVRkJSVHRaUVVOU0xFdEJRVXNzUlVGQlJTeG5Ra0ZCWjBJN1dVRkRka0lzVjBGQlZ5eEZRVUZGTEdkSFFVRm5SenRaUVVNM1J5eFRRVUZUTEVWQlFVVXNSVUZCUlR0WlFVTmlMRk5CUVZNc1JVRkJSU3hSUVVGUk8xTkJRM0JDTzB0QlEwWXNRMEZCUXp0SlFVTkVMRXRCUVVzc1JVRkJSVHRIUVVOTExIRkNRVUZ4UWl4RFFXVnFRenM3UVVGRlJEczdSMEZGUnp0QlFXZENTU3hKUVVGTkxHTkJRV01zUjBGQmNFSXNUVUZCVFN4alFVRmxMRk5CUVZFc1MwRkJTenREUVZWNFF5eERRVUZCTzBGQlRrTTdTVUZJUXl4UlFVRlJMRVZCUVVVN1NVRkRWaXhUUVVGVExFTkJRVU1zVlVGQlZTeEZRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMR0ZCUVdFc1JVRkJSU3hYUVVGWExFVkJRVVVzYjBKQlFXOUNMRVZCUVVVc1EwRkJRenRKUVVOc1JpeExRVUZMTEVOQlFVTXNSVUZCUlN4TlFVRk5MRVZCUVVVc1QwRkJUeXhGUVVGRkxFTkJRVU03T3paRFFVTllPMEZCUzJoQ08wbEJTRU1zVVVGQlVTeEZRVUZGTzBsQlExWXNVMEZCVXl4RFFVRkRMRTlCUVU4c1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeHBRa0ZCYVVJc1JVRkJSU3hYUVVGWExFVkJRVVVzYlVKQlFXMUNMRVZCUVVVc1EwRkJRenRKUVVOc1JpeE5RVUZOTEVOQlFVTXNSVUZCUlN4TlFVRk5MRVZCUVVVc1VVRkJVU3hGUVVGRkxFTkJRVU03T3poRFFVTmFPMEZCVkU0c1kwRkJZenRKUVdZeFFpeEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFVkJRVVU3VVVGRGVFSXNTVUZCU1N4RlFVRkZMR3RDUVVGclFqdFJRVU40UWl4UlFVRlJMRVZCUVVVc1UwRkJVenRSUVVOdVFpeExRVUZMTEVWQlFVVXNVMEZCVXp0UlFVTm9RaXhKUVVGSkxFVkJRVVVzYTBKQlFXdENPMUZCUTNoQ0xFdEJRVXNzUlVGQlJTeEZRVUZGTzFGQlExUXNUVUZCVFN4RlFVRkZMRVZCUVVVN1VVRkRWaXhOUVVGTkxFVkJRVVVzUTBGQlF5eE5RVUZOTEVWQlFVVXNVVUZCVVN4RlFVRkZMRkZCUVZFc1EwRkJRenRSUVVOd1F5eFJRVUZSTEVWQlFVVTdXVUZEVWl4TFFVRkxMRVZCUVVVc1VVRkJVVHRaUVVObUxGZEJRVmNzUlVGQlJTdzJSRUZCTmtRN1dVRkRNVVVzV1VGQldTeEZRVUZGTEVWQlFVVTdVMEZEYWtJN1MwRkRSaXhEUVVGRE8wbEJRMFFzUzBGQlN5eEZRVUZGTzBkQlEwc3NZMEZCWXl4RFFWVXhRanM3UVVGRlJEczdPenM3T3pzN08wZEJVMGM3UVVGRlNEczdPenM3T3pzN08wZEJVMGM3UVVGRlNTeEpRVUZOTEdWQlFXVXNSMEZCY2tJc1RVRkJUU3hsUVVGblFpeFRRVUZSTEV0QlFVczdTVUZCYmtNN08xRkJSVXdzWVVGQlVTeEhRVUZYTEZsQlFWa3NRMEZCUXp0SlFWVnNReXhEUVVGRE8wTkJRVUVzUTBGQlFUdEJRVlpETzBsQlJFTXNVVUZCVVN4RlFVRkZPenRwUkVGRGNVSTdRVUZMYUVNN1NVRklReXhSUVVGUkxFVkJRVVU3U1VGRFZpeFRRVUZUTEVOQlFVTXNZVUZCWVN4RlFVRkZMRVZCUVVVc1MwRkJTeXhGUVVGRkxFMUJRVTBzUlVGQlJTeFhRVUZYTEVWQlFVVXNNRUpCUVRCQ0xFVkJRVVVzUTBGQlF6dEpRVU53Uml4TFFVRkxMRU5CUVVNc1JVRkJSU3hOUVVGTkxFVkJRVVVzVFVGQlRTeEZRVUZGTEVOQlFVTTdPelpEUVVOYU8wRkJTV1E3U1VGR1F5eE5RVUZOTEVWQlFVVTdTVUZEVWl4TFFVRkxMRU5CUVVNc1JVRkJSU3hOUVVGTkxFVkJRVVVzVFVGQlRTeEZRVUZGTEVOQlFVTTdPelpEUVVOWU8wRkJXRW9zWlVGQlpUdEpRVVF6UWl4TFFVRkxMRVZCUVVVN1IwRkRTeXhsUVVGbExFTkJXVE5DT3p0QlFXbENUU3hKUVVGTkxGbEJRVmtzUjBGQmJFSXNUVUZCVFN4WlFVRmhMRk5CUVZFc1MwRkJTenREUVZGMFF5eERRVUZCTzBGQlRFTTdTVUZHUXl4UlFVRlJMRVZCUVVVN1NVRkRWaXhMUVVGTExFTkJRVU1zUlVGQlJTeE5RVUZOTEVWQlFVVXNUMEZCVHl4RlFVRkZMRXRCUVVzc1JVRkJSU3hsUVVGbExFVkJRVVVzUTBGQlF6czRRa0ZETTBNc1pVRkJaVHN5UTBGQlF6dEJRVWw0UWp0SlFVWkRMRkZCUVZFc1JVRkJSVHRKUVVOV0xFMUJRVTBzUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZCUlN4UlFVRlJMRVZCUVVVc1EwRkJRenM3TkVOQlExbzdRVUZRVGl4WlFVRlpPMGxCWm5oQ0xFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1JVRkJSVHRSUVVOMFFpeEpRVUZKTEVWQlFVVXNaMEpCUVdkQ08xRkJRM1JDTEZGQlFWRXNSVUZCUlN4VFFVRlRPMUZCUTI1Q0xFdEJRVXNzUlVGQlJTeFRRVUZUTzFGQlEyaENMRWxCUVVrc1JVRkJSU3hUUVVGVE8xRkJRMllzUzBGQlN5eEZRVUZGTEVWQlFVVTdVVUZEVkN4TlFVRk5MRVZCUVVVc1JVRkJSVHRSUVVOV0xFMUJRVTBzUlVGQlJTeERRVUZETEUxQlFVMHNSVUZCUlN4TlFVRk5MRVZCUVVVc1UwRkJVeXhGUVVGRkxGZEJRVmNzUTBGQlF6dFJRVU5vUkN4UlFVRlJMRVZCUVVVN1dVRkRVaXhMUVVGTExFVkJRVVVzVFVGQlRUdFpRVU5pTEZkQlFWY3NSVUZCUlN4blNFRkJaMGc3V1VGRE4wZ3NVMEZCVXl4RlFVRkZMRWxCUVVrN1UwRkRhRUk3UzBGRFJpeERRVUZETzBsQlEwUXNTMEZCU3l4RlFVRkZPMGRCUTBzc1dVRkJXU3hEUVZGNFFqczdRVUZGUkRzN096dEhRVWxITzBGQlpVa3NTVUZCVFN4WFFVRlhMRWRCUVdwQ0xFMUJRVTBzVjBGQldTeFRRVUZSTEV0QlFVczdRMEZWY2tNc1EwRkJRVHRCUVU1RE8wbEJTRU1zVVVGQlVTeEZRVUZGTzBsQlExWXNVMEZCVXl4RFFVRkRMRlZCUVZVc1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeGhRVUZoTEVWQlFVVXNWMEZCVnl4RlFVRkZMR05CUVdNc1JVRkJSU3hEUVVGRE8wbEJRelZGTEV0QlFVc3NRMEZCUXl4RlFVRkZMRTFCUVUwc1JVRkJSU3hQUVVGUExFVkJRVVVzUTBGQlF6czdNRU5CUTFnN1FVRkxhRUk3U1VGSVF5eFJRVUZSTEVWQlFVVTdTVUZEVml4VFFVRlRMRU5CUVVNc1QwRkJUeXhGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEdOQlFXTXNSVUZCUlN4WFFVRlhMRVZCUVVVc2FVSkJRV2xDTEVWQlFVVXNRMEZCUXp0SlFVTTNSU3hOUVVGTkxFTkJRVU1zUlVGQlJTeE5RVUZOTEVWQlFVVXNVVUZCVVN4RlFVRkZMRU5CUVVNN096SkRRVU5hTzBGQlZFNHNWMEZCVnp0SlFXUjJRaXhKUVVGSkxFTkJRVU1zWlVGQlpTeEZRVUZGTzFGQlEzSkNMRWxCUVVrc1JVRkJSU3hsUVVGbE8xRkJRM0pDTEZGQlFWRXNSVUZCUlN4VFFVRlRPMUZCUTI1Q0xFdEJRVXNzUlVGQlJTeFRRVUZUTzFGQlEyaENMRWxCUVVrc1JVRkJSU3hoUVVGaE8xRkJRMjVDTEV0QlFVc3NSVUZCUlN4RlFVRkZPMUZCUTFRc1RVRkJUU3hGUVVGRkxFVkJRVVU3VVVGRFZpeE5RVUZOTEVWQlFVVXNRMEZCUXl4TlFVRk5MRVZCUVVVc1MwRkJTeXhGUVVGRkxFOUJRVThzUlVGQlJTeFRRVUZUTEVOQlFVTTdVVUZETTBNc1VVRkJVU3hGUVVGRk8xbEJRMUlzUzBGQlN5eEZRVUZGTEV0QlFVczdXVUZEV2l4WFFVRlhMRVZCUVVVc2VVVkJRWGxGTzFOQlEzWkdPMHRCUTBZc1EwRkJRenRKUVVORUxFdEJRVXNzUlVGQlJUdEhRVU5MTEZkQlFWY3NRMEZWZGtJN08wRkJSVVE3T3pzN096dEhRVTFITzBGQlpVa3NTVUZCVFN4aFFVRmhMRWRCUVc1Q0xFMUJRVTBzWVVGQll5eFRRVUZSTEV0QlFVczdRMEZUZGtNc1EwRkJRVHRCUVV4RE8wbEJTRU1zVVVGQlVTeEZRVUZGTzBsQlExWXNVMEZCVXl4RFFVRkRMRlZCUVZVc1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeFBRVUZQTEVWQlFVVXNWMEZCVnl4RlFVRkZMSGxFUVVGNVJDeEZRVUZGTEVOQlFVTTdTVUZEYWtnc1MwRkJTeXhEUVVGRExFVkJRVVVzVFVGQlRTeEZRVUZGTEU5QlFVOHNSVUZCUlN4RFFVRkRPenMwUTBGRFdEdEJRVWxvUWp0SlFVWkRMRkZCUVZFc1JVRkJSVHRKUVVOV0xFMUJRVTBzUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZCUlN4UlFVRlJMRVZCUVVVc1EwRkJRenM3TmtOQlExbzdRVUZTVGl4aFFVRmhPMGxCWkhwQ0xFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1JVRkJSVHRSUVVOMlFpeEpRVUZKTEVWQlFVVXNhVUpCUVdsQ08xRkJRM1pDTEZGQlFWRXNSVUZCUlN4alFVRmpPMUZCUTNoQ0xFdEJRVXNzUlVGQlJTeFRRVUZUTzFGQlEyaENMRWxCUVVrc1JVRkJSU3gxUWtGQmRVSTdVVUZETjBJc1MwRkJTeXhGUVVGRkxFVkJRVVU3VVVGRFZDeE5RVUZOTEVWQlFVVXNSVUZCUlR0UlFVTldMRTFCUVUwc1JVRkJSU3hEUVVGRExFMUJRVTBzUlVGQlJTeFBRVUZQTEVWQlFVVXNUVUZCVFN4RlFVRkZMRk5CUVZNc1EwRkJRenRSUVVNMVF5eFJRVUZSTEVWQlFVVTdXVUZEVWl4TFFVRkxMRVZCUVVVc1QwRkJUenRaUVVOa0xGZEJRVmNzUlVGQlJTeDFSMEZCZFVjN1UwRkRja2c3UzBGRFJpeERRVUZETzBsQlEwUXNTMEZCU3l4RlFVRkZPMGRCUTBzc1lVRkJZU3hEUVZONlFqczdRVUZGUkRzN1IwRkZSenRCUVVOSUxFMUJRVTBzUTBGQlF5eE5RVUZOTEhkQ1FVRjNRaXhIUVVGSE8wbEJRM1JETEZWQlFWVTdTVUZEVml4alFVRmpPMGxCUTJRc1owSkJRV2RDTzBsQlEyaENMR0ZCUVdFN1NVRkRZaXhYUVVGWE8wbEJRMWdzWVVGQllUdEpRVU5pTEhGQ1FVRnhRanRKUVVOeVFpeHhRa0ZCY1VJN1NVRkRja0lzWTBGQll6dEpRVU5rTEZsQlFWazdTVUZEV2l4WFFVRlhPMGxCUTFnc1lVRkJZVHREUVVOTUxFTkJRVU1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpcGNiaUFxSUVCdGIyUjFiR1VnYVc1MFpXZHlZWFJwYjI1ekwyZHlZWEJvTDI1dlpHVnpMMlpzYjNjdFkyOXVkSEp2YkZ4dUlDb2dRSE4xYlcxaGNua2dVSEp2WkhWamRHbHZiaUJtYkc5M0xXTnZiblJ5YjJ3Z2JtOWtaU0JyYVc1a0lHUmxZMnhoY21GMGFXOXVjeUFvUkVWRFFVWXRNeklnd3FjeU1pNHlMaklwTGx4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUVOaGJtOXVhV05oYkNCZ1FHNXZaR1ZnTFdSbFkyOXlZWFJsWkNCamJHRnpjMlZ6SUdadmNpQjBhR1VnZEdWdUlFRk1SbEpGUkMwMVhHNGdLaUJtYkc5M0xXTnZiblJ5YjJ3Z2EybHVaSE11SUZSb1pYTmxJR0Z5WlNCbmNtRndhQzFzWlhabGJDQnRZV055YjNNNklIUm9aU0JsYm1kcGJtVW5jeUJ3YkdGdWJtVnlYRzRnS2lCeVpXTnZaMjVwYzJWeklIUm9aVzBnWVhNZ2IzSmthVzVoY25rZ1pYaGxZM1YwWVdKc1pTQnViMlJsY3lBb3dxYzFMamNwSUdKMWRDQjBhR1Y1SUdoaGRtVWdibTljYmlBcUlHSjFhV3gwTFdsdUlHVjRaV04xZEc5eWN5RGlnSlFnWkc5M2JuTjBjbVZoYlNCd2NtOXFaV04wY3lBb1pTNW5MaUJCVEVaU1JVUXBJSEpsWjJsemRHVnlJR04xYzNSdmJWeHVJQ29nWlhobFkzVjBiM0p6SUc5eUlHTnZiWEJwYkdVZ2RHaGxiU0JwYm5SdklFMWhjM1J5WVNCamIyMXdiM05wZEdsdmJpQkJVRWx6SUNqQ3B6SXlMakl1TWlrdVhHNGdLbHh1SUNvZ1ZHaGxJSFJvY21WbElHeHZiM0FnYTJsdVpITWdLR0JqYjNKbExteHZiM0F1Wm05eVpXRmphQzkzYUdsc1pTOTFiblJwYkdBcElHRnNjbVZoWkhrZ2FHRjJaU0JpZFdsc2RDMXBibHh1SUNvZ1pYaGxZM1YwYjNKeklDakNwelV1T1NrZ1lXNWtJR0Z5WlNCT1QxUWdjbVZrWldOc1lYSmxaQ0JvWlhKbExseHVJQ292WEc1cGJYQnZjblFnZXlCTmIyUmxiQ3dnYlc5a1pXd3NJSEpsY1hWcGNtVmtJSDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlrWldOdmNtRjBiM0l0ZG1Gc2FXUmhkR2x2Ymx3aU8xeHVhVzF3YjNKMElIc2dkV2xsYkdWdFpXNTBMQ0JvYVdSa1pXNGdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMM1ZwTFdSbFkyOXlZWFJ2Y25OY0lqdGNibWx0Y0c5eWRDQjdYRzRnSUdkeVlYQm9SR1ZtYVc1cGRHbHZiazltTEZ4dUlDQnBibkIxZEN4Y2JpQWdibTlrWlN4Y2JpQWdiM1YwY0hWMExGeHVJQ0JRYjNKMFJHbHlaV04wYVc5dUxGeHVJQ0IwZVhCbElFZHlZWEJvVUc5eWRFUmxabWx1YVhScGIyNHNYRzU5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12ZFdrdFpHVmpiM0poZEc5eWN5OW5jbUZ3YUZ3aU8xeHVhVzF3YjNKMElIUjVjR1VnZXlCT2IyUmxUV1YwWVdSaGRHRkRhR0Z1WjJVc0lGTjNhWFJqYUU1dlpHVk5aWFJoWkdGMFlTQjlJR1p5YjIwZ1hDSXVMaTkwZVhCbGMxd2lPMXh1YVcxd2IzSjBJSHNnUjNKaGNHaE9iMlJsSUgwZ1puSnZiU0JjSWk0dlltRnpaVndpTzF4dVhHNHZLaXBjYmlBcUlFbG1JT0tBbENCamIyNWthWFJwYjI1aGJDQmljbUZ1WTJndUlFVjJZV3gxWVhSbGN5QmhJR0JEYjI1a2FYUnBiMjVGZUhCeVpYTnphVzl1WUNBb3dxY3lNaTR6S1NCaGJtUmNiaUFxSUhKdmRYUmxjeUIwYUdVZ2FXNXdkWFFnZEc4Z2RHaGxJR0IwYUdWdVlDQnZjaUJnWld4elpXQWdiM1YwY0hWMExseHVJQ292WEc1QWJtOWtaU2hjSW1OdmNtVXVabXh2ZHk1cFpsd2lMQ0I3WEc0Z0lHdHBibVE2SUZ3aVkyOXlaUzVtYkc5M0xtbG1YQ0lzWEc0Z0lHTmhkR1ZuYjNKNU9pQmNJa1pzYjNjZ1EyOXVkSEp2YkZ3aUxGeHVJQ0JqYjJ4dmNqb2dYQ0lqWmpVNVpUQmlYQ0lzWEc0Z0lHbGpiMjQ2SUZ3aWRHa3RZWEp5YjNkekxYTndiR2wwTFRKY0lpeGNiaUFnZDJsa2RHZzZJRGsyTEZ4dUlDQm9aV2xuYUhRNklEazJMRnh1SUNCc1lXSmxiSE02SUZ0Y0ltWnNiM2RjSWl3Z1hDSmpiMjVrYVhScGIyNWhiRndpTENCY0ltSnlZVzVqYUZ3aVhTeGNiaUFnYldWMFlXUmhkR0U2SUh0Y2JpQWdJQ0IwYVhSc1pUb2dYQ0pKWmx3aUxGeHVJQ0FnSUdSbGMyTnlhWEIwYVc5dU9pQmNJa052Ym1ScGRHbHZibUZzSUdKeVlXNWphQzRnUlhaaGJIVmhkR1Z6SUhSb1pTQmpiMjVtYVdkMWNtVmtJR052Ym1ScGRHbHZiaUJoYm1RZ2NtOTFkR1Z6SUhSb1pTQnBibkIxZENCMGJ5QjBhR1VnYldGMFkyaHBibWNnYjNWMGNIVjBMbHdpTEZ4dUlDQWdJR052Ym1ScGRHbHZiam9nZXlCdmNEb2dYQ0psY1Z3aUxDQnNaV1owT2lCN0lHTnZibk4wT2lCMGNuVmxJSDBzSUhKcFoyaDBPaUI3SUdOdmJuTjBPaUIwY25WbElIMGdmU3hjYmlBZ2ZTeGNibjBwWEc1QWJXOWtaV3dvS1Z4dVpYaHdiM0owSUdOc1lYTnpJRWxtUm14dmQwNXZaR1VnWlhoMFpXNWtjeUJOYjJSbGJDQjdYRzRnSUVCeVpYRjFhWEpsWkNncFhHNGdJRUIxYVdWc1pXMWxiblFvWENKMFpYaDBZWEpsWVZ3aUxDQjdJR3hoWW1Wc09pQmNJa2x1Y0hWMElIWmhiSFZsWENJc0lIQnNZV05sYUc5c1pHVnlPaUJjSWxaaGJIVmxJSFJ2SUdWMllXeDFZWFJsWENJZ2ZTbGNiaUFnUUdsdWNIVjBLSHNnYUdGdVpHeGxPaUJjSW5aaGJIVmxYQ0lnZlNsY2JpQWdkbUZzZFdVaE9pQjFibXR1YjNkdU8xeHVYRzRnSUVCeVpYRjFhWEpsWkNncFhHNGdJRUIxYVdWc1pXMWxiblFvWENKcGJuQjFkRndpTENCN0lHeGhZbVZzT2lCY0lsUm9aVzVjSWl3Z2NHeGhZMlZvYjJ4a1pYSTZJRndpVDNWMGNIVjBJSGRvWlc0Z1kyOXVaR2wwYVc5dUlHbHpJSFJ5ZFdWY0lpQjlLVnh1SUNCQWIzVjBjSFYwS0hzZ2FHRnVaR3hsT2lCY0luUm9aVzVjSWlCOUtWeHVJQ0IwYUdWdUlUb2dkVzVyYm05M2JqdGNibHh1SUNCQWNtVnhkV2x5WldRb0tWeHVJQ0JBZFdsbGJHVnRaVzUwS0Z3aWFXNXdkWFJjSWl3Z2V5QnNZV0psYkRvZ1hDSkZiSE5sWENJc0lIQnNZV05sYUc5c1pHVnlPaUJjSWs5MWRIQjFkQ0IzYUdWdUlHTnZibVJwZEdsdmJpQnBjeUJtWVd4elpWd2lJSDBwWEc0Z0lFQnZkWFJ3ZFhRb2V5Qm9ZVzVrYkdVNklGd2laV3h6WlZ3aUlIMHBYRzRnSUdWc2MyVWhPaUIxYm10dWIzZHVPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlGTjNhWFJqYUNEaWdKUWdiWFZzZEdrdFluSmhibU5vTGlCU2IzVjBaWE1nZEdobElHbHVjSFYwSUhSdklHOXVaU0J2WmlCMGFHVWdZMkZ6WlNCdmRYUndkWFFnY0c5eWRITmNiaUFxSUc5eUlHQmtaV1poZFd4MFlDQmlZWE5sWkNCdmJpQnRZWFJqYUdsdVp5QmpiMjVrYVhScGIyNXpMaUJGWVdOb0lHTmhjMlVnWkdWbWFXNWxjeUJoWEc0Z0tpQjdRR3hwYm1zZ1UzZHBkR05vUTJGelpVTnZibVJwZEdsdmJuMGdLR2R5WVhCb2FXTmhiQ0J2Y2lCamIyUmxJRzF2WkdVcElHRnVaQ0JoSUdSbFpHbGpZWFJsWkZ4dUlDb2diM1YwY0hWMElIQnZjblF1SUVOaGMyVnpJR0Z5WlNCemRHOXlaV1FnYVc0Z1lHMWxkR0ZrWVhSaExuTjNhWFJqYUM1allYTmxjMkFnWVc1a0lIUm9aVnh1SUNvZ2NtVnVaR1Z5WlhJZ1kzSmxZWFJsY3lCa2VXNWhiV2xqSUc5MWRIQjFkQ0J3YjNKMGN5Qm1jbTl0SUhSb1pXMGdLRVJGUTBGR0xUTXlJTUtuTWpJdU1pNHlLUzVjYmlBcVhHNGdLaUJVYUdVZ2JtOWtaU0JuY205M2N5QnBiaUJvWldsbmFIUWdZWE1nWTJGelpYTWdZWEpsSUdGa1pHVmtMaUJGWVdOb0lHTmhjMlVnWjJWMGN5QnBkSE1nYjNkdVhHNGdLaUJ2ZFhSd2RYUWdjRzl5ZENCdmJpQjBhR1VnY21sbmFIUWdjMmxrWlN3Z2JHRmlaV3hsWkNCM2FYUm9JSFJvWlNCallYTmxJR3hoWW1Wc0xseHVJQ292WEc1QWJtOWtaU2hjSW1OdmNtVXVabXh2ZHk1emQybDBZMmhjSWl3Z2UxeHVJQ0JyYVc1a09pQmNJbU52Y21VdVpteHZkeTV6ZDJsMFkyaGNJaXhjYmlBZ1kyRjBaV2R2Y25rNklGd2lSbXh2ZHlCRGIyNTBjbTlzWENJc1hHNGdJR052Ykc5eU9pQmNJaU5tT1Rjek1UWmNJaXhjYmlBZ2FXTnZiam9nWENKMGFTMWhjbkp2ZDNNdGMyaDFabVpzWlZ3aUxGeHVJQ0IzYVdSMGFEb2dNVEl3TEZ4dUlDQm9aV2xuYUhRNklERTBNQ3hjYmlBZ2JHRmlaV3h6T2lCYlhDSm1iRzkzWENJc0lGd2ljM2RwZEdOb1hDSXNJRndpYlhWc2RHa3RZbkpoYm1Ob1hDSmRMRnh1SUNCdFpYUmhaR0YwWVRvZ2UxeHVJQ0FnSUhScGRHeGxPaUJjSWxOM2FYUmphRndpTEZ4dUlDQWdJR1JsYzJOeWFYQjBhVzl1T2lCY0lrMTFiSFJwTFdKeVlXNWphQ0J6ZDJsMFkyZ3VJRkp2ZFhSbGN5QjBhR1VnYVc1d2RYUWdkRzhnZEdobElHWnBjbk4wSUcxaGRHTm9hVzVuSUdOaGMyVWdiM1YwY0hWMExDQnZjaUIwYUdVZ1pHVm1ZWFZzZENCdmRYUndkWFF1WENJc1hHNGdJQ0FnYzNkcGRHTm9PaUI3WEc0Z0lDQWdJQ0JqWVhObGN6b2dXMTBzWEc0Z0lDQWdJQ0JrWldaaGRXeDBVRzl5ZERvZ1hDSmtaV1poZFd4MFhDSXNYRzRnSUNBZ0lDQm9ZWE5FWldaaGRXeDBPaUJtWVd4elpTeGNiaUFnSUNCOUxGeHVJQ0I5TEZ4dWZTbGNia0J0YjJSbGJDZ3BYRzVsZUhCdmNuUWdZMnhoYzNNZ1UzZHBkR05vUm14dmQwNXZaR1VnWlhoMFpXNWtjeUJIY21Gd2FFNXZaR1VnZTF4dUlDQkFjbVZ4ZFdseVpXUW9LVnh1SUNCQWRXbGxiR1Z0Wlc1MEtGd2lkR1Y0ZEdGeVpXRmNJaXdnZXlCc1lXSmxiRG9nWENKSmJuQjFkQ0IyWVd4MVpWd2lMQ0J3YkdGalpXaHZiR1JsY2pvZ1hDSldZV3gxWlNCMGJ5QnpkMmwwWTJnZ2IyNWNJaUI5S1Z4dUlDQkFhVzV3ZFhRb2V5Qm9ZVzVrYkdVNklGd2lkbUZzZFdWY0lpQjlLVnh1SUNCMllXeDFaU0U2SUhWdWEyNXZkMjQ3WEc1Y2JpQWdRSEpsY1hWcGNtVmtLQ2xjYmlBZ1FIVnBaV3hsYldWdWRDaGNJbWx1Y0hWMFhDSXNJSHNnYkdGaVpXdzZJRndpUkdWbVlYVnNkRndpTENCd2JHRmpaV2h2YkdSbGNqb2dYQ0pFWldaaGRXeDBJRzkxZEhCMWRDQjNhR1Z1SUc1dklHTmhjMlVnYldGMFkyaGxjMXdpSUgwcFhHNGdJRUJ2ZFhSd2RYUW9leUJvWVc1a2JHVTZJRndpWkdWbVlYVnNkRndpSUgwcFhHNGdJR1JsWm1GMWJIUWhPaUIxYm10dWIzZHVPMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkRiMjF3ZFhSbGN5QjBhR1VnYm05a1pTZHpJSEJ2Y25SekxDQnphWHBsTENCaGJtUWdaR0YwWVNCd1lYUmphQ0JtY205dElIUm9aU0JuYVhabGJpQnpkMmwwWTJoY2JpQWdJQ29nYldWMFlXUmhkR0V1SUVWaFkyZ2dZMkZ6WlNCblpYUnpJR2wwY3lCdmQyNGdiM1YwY0hWMElIQnZjblFnYjI0Z2RHaGxJSEpwWjJoMElITnBaR1U3SUhSb1pWeHVJQ0FnS2lCZ1pHVm1ZWFZzZEdBZ2NHOXlkQ0JoYkhkaGVYTWdjbVZ1WkdWeWN5QXFLbXhoYzNRcUtpQW9SRVZEUVVZdE16SWd3cWN5TVNCd2IzSjBMVzl5WkdWeWFXNW5JSEoxYkdVc1hHNGdJQ0FxSUVSRlEwRkdMVE0wSU1Lbk5pNHlLUzRnVjJobGJpQmdhR0Z6UkdWbVlYVnNkR0FnYVhNZ1lHWmhiSE5sWUN3Z2RHaGxJR0JrWldaaGRXeDBZQ0J2ZFhSd2RYUWdjRzl5ZEZ4dUlDQWdLaUJwY3lCdmJXbDBkR1ZrSUdWdWRHbHlaV3g1TGlCVWFHVWdibTlrWlNCbmNtOTNjeUJwYmlCb1pXbG5hSFFnWVhNZ1kyRnpaWE1nWVhKbElHRmtaR1ZrTGx4dUlDQWdLaTljYmlBZ2MzUmhkR2xqSUc5MlpYSnlhV1JsSUdGd2NHeDVUV1YwWVdSaGRHRW9iV1YwWVRvZ1UzZHBkR05vVG05a1pVMWxkR0ZrWVhSaEtUb2dUbTlrWlUxbGRHRmtZWFJoUTJoaGJtZGxJSHRjYmlBZ0lDQmpiMjV6ZENCa1pXWnBibWwwYVc5dUlEMGdaM0poY0doRVpXWnBibWwwYVc5dVQyWW9kR2hwY3lCaGN5QnVaWFpsY2lrN1hHNGdJQ0FnWTI5dWMzUWdaR1ZtWVhWc2RGQnZjblJPWVcxbElEMGdiV1YwWVM1a1pXWmhkV3gwVUc5eWRDQS9QeUJjSW1SbFptRjFiSFJjSWp0Y2JpQWdJQ0JqYjI1emRDQm9ZWE5FWldaaGRXeDBJRDBnYldWMFlTNW9ZWE5FWldaaGRXeDBJRDA5UFNCMGNuVmxPMXh1WEc0Z0lDQWdMeThnUW1GelpTQndiM0owY3lCbGVHTnNkV1JwYm1jZ1lXNTVJSEJ2Y25RZ2RHaGhkQ0JqYjJ4c2FXUmxjeUIzYVhSb0lHRWdZMkZ6WlNCdmRYUndkWFFnY0c5eWRDNWNiaUFnSUNCamIyNXpkQ0JpWVhObFVHOXlkSE1nUFNCa1pXWnBibWwwYVc5dUxuQnZjblJ6TG1acGJIUmxjaWhjYmlBZ0lDQWdJQ2h3S1NBOVBpQWhiV1YwWVM1allYTmxjeTV6YjIxbEtDaGpLU0E5UGlCakxtOTFkSEIxZEZCdmNuUWdQVDA5SUhBdWNISnZjR1Z5ZEhrcFhHNGdJQ0FnS1R0Y2JpQWdJQ0F2THlCVFpYQmhjbUYwWlNCMGFHVWdaR1ZtWVhWc2RDQnZkWFJ3ZFhRZ2NHOXlkQ0J6YnlCcGRDQmpZVzRnWW1VZ2NHeGhZMlZrSUd4aGMzUWdLRzl5SUc5dGFYUjBaV1FwTGx4dUlDQWdJR052Ym5OMElHNXZia1JsWm1GMWJIUlFiM0owY3lBOUlHSmhjMlZRYjNKMGN5NW1hV3gwWlhJb1hHNGdJQ0FnSUNBb2NDa2dQVDRnY0M1d2NtOXdaWEowZVNBaFBUMGdaR1ZtWVhWc2RGQnZjblJPWVcxbFhHNGdJQ0FnS1R0Y2JpQWdJQ0JqYjI1emRDQmtaV1poZFd4MFVHOXlkQ0E5SUdKaGMyVlFiM0owY3k1bWFXNWtLQ2h3S1NBOVBpQndMbkJ5YjNCbGNuUjVJRDA5UFNCa1pXWmhkV3gwVUc5eWRFNWhiV1VwTzF4dVhHNGdJQ0FnWTI5dWMzUWdZMkZ6WlZCdmNuUnpPaUJIY21Gd2FGQnZjblJFWldacGJtbDBhVzl1VzEwZ1BTQnRaWFJoTG1OaGMyVnpMbTFoY0Nnb1l5a2dQVDRnS0h0Y2JpQWdJQ0FnSUhCeWIzQmxjblI1T2lCakxtOTFkSEIxZEZCdmNuUXNYRzRnSUNBZ0lDQnVZVzFsT2lCakxteGhZbVZzTEZ4dUlDQWdJQ0FnWkdseVpXTjBhVzl1T2lCUWIzSjBSR2x5WldOMGFXOXVMazlWVkZCVlZDeGNiaUFnSUNBZ0lHeGhZbVZzT2lCakxteGhZbVZzTEZ4dUlDQWdJQ0FnY21WeGRXbHlaV1E2SUdaaGJITmxMRnh1SUNBZ0lDQWdhR2xrWkdWdU9pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUhCaGRHZzZJR011YjNWMGNIVjBVRzl5ZEN4Y2JpQWdJQ0I5S1NrN1hHNWNiaUFnSUNBdkx5QlFiM0owSUc5eVpHVnlPaUJwYm5CMWRITXZibTl1TFdSbFptRjFiSFFnYjNWMGNIVjBjeUJtYVhKemRDd2dZMkZ6WlNCdmRYUndkWFJ6SUc1bGVIUXNJR1JsWm1GMWJIUWdiR0Z6ZEM1Y2JpQWdJQ0JqYjI1emRDQndiM0owY3lBOUlGc3VMaTV1YjI1RVpXWmhkV3gwVUc5eWRITXNJQzR1TG1OaGMyVlFiM0owYzEwN1hHNGdJQ0FnYVdZZ0tHaGhjMFJsWm1GMWJIUWdKaVlnWkdWbVlYVnNkRkJ2Y25RcElIdGNiaUFnSUNBZ0lIQnZjblJ6TG5CMWMyZ29aR1ZtWVhWc2RGQnZjblFwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElHTmhjMlZEYjNWdWRDQTlJRzFsZEdFdVkyRnpaWE11YkdWdVozUm9PMXh1SUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNCd2IzSjBjeXhjYmlBZ0lDQWdJSE5wZW1VNklIdGNiaUFnSUNBZ0lDQWdkMmxrZEdnNklHUmxabWx1YVhScGIyNHVkMmxrZEdnZ1B6OGdNVEl3TEZ4dUlDQWdJQ0FnSUNCb1pXbG5hSFE2SUdOaGMyVkRiM1Z1ZENBK0lEQWdQeUF4TkRBZ0t5QmpZWE5sUTI5MWJuUWdLaUF5TkNBNklHUmxabWx1YVhScGIyNHVhR1ZwWjJoMElEOC9JREUwTUN4Y2JpQWdJQ0FnSUgwc1hHNGdJQ0FnSUNCa1lYUmhVR0YwWTJnNklIc2djM2RwZEdOb1RXVjBZV1JoZEdFNklHMWxkR0VnZlN4Y2JpQWdJQ0I5TzF4dUlDQjlYRzU5WEc1Y2JpOHFLbHh1SUNvZ1VHRnlZV3hzWld3ZzRvQ1VJSE53YkdsMGN5QmxlR1ZqZFhScGIyNGdhVzUwYnlCamIyNWpkWEp5Wlc1MElHSnlZVzVqYUdWekxseHVJQ292WEc1QWJtOWtaU2hjSW1OdmNtVXVabXh2ZHk1d1lYSmhiR3hsYkZ3aUxDQjdYRzRnSUd0cGJtUTZJRndpWTI5eVpTNW1iRzkzTG5CaGNtRnNiR1ZzWENJc1hHNGdJR05oZEdWbmIzSjVPaUJjSWtac2IzY2dRMjl1ZEhKdmJGd2lMRnh1SUNCamIyeHZjam9nWENJak1EWmlObVEwWENJc1hHNGdJR2xqYjI0NklGd2lkR2t0WVhKeWIzZHpMWFpsY25ScFkyRnNYQ0lzWEc0Z0lIZHBaSFJvT2lBNU5peGNiaUFnYUdWcFoyaDBPaUE1Tml4Y2JpQWdiR0ZpWld4ek9pQmJYQ0ptYkc5M1hDSXNJRndpY0dGeVlXeHNaV3hjSWl3Z1hDSmpiMjVqZFhKeVpXNTBYQ0pkTEZ4dUlDQnRaWFJoWkdGMFlUb2dlMXh1SUNBZ0lIUnBkR3hsT2lCY0lsQmhjbUZzYkdWc1hDSXNYRzRnSUNBZ1pHVnpZM0pwY0hScGIyNDZJRndpVTNCc2FYUnpJR1Y0WldOMWRHbHZiaUJwYm5SdklHTnZibU4xY25KbGJuUWdZbkpoYm1Ob1pYTXVJRUZzYkNCaWNtRnVZMmhsY3lCeWRXNGdhVzRnY0dGeVlXeHNaV3dnWVc1a0lHOTFkSEIxZEhNZ1lYSmxJR052Ykd4bFkzUmxaQzVjSWl4Y2JpQWdJQ0JpY21GdVkyaERiM1Z1ZERvZ01peGNiaUFnZlN4Y2JuMHBYRzVBYlc5a1pXd29LVnh1Wlhod2IzSjBJR05zWVhOeklGQmhjbUZzYkdWc1JteHZkMDV2WkdVZ1pYaDBaVzVrY3lCTmIyUmxiQ0I3WEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCMWFXVnNaVzFsYm5Rb1hDSjBaWGgwWVhKbFlWd2lMQ0I3SUd4aFltVnNPaUJjSWtsdWNIVjBJSFpoYkhWbFhDSXNJSEJzWVdObGFHOXNaR1Z5T2lCY0lsWmhiSFZsSUhSdklHWmhiaUJ2ZFhSY0lpQjlLVnh1SUNCQWFXNXdkWFFvZXlCb1lXNWtiR1U2SUZ3aWRtRnNkV1ZjSWlCOUtWeHVJQ0IyWVd4MVpTRTZJSFZ1YTI1dmQyNDdYRzVjYmlBZ1FISmxjWFZwY21Wa0tDbGNiaUFnUUhWcFpXeGxiV1Z1ZENoY0ltbHVjSFYwWENJc0lIc2diR0ZpWld3NklGd2lRbkpoYm1Ob1pYTmNJaXdnY0d4aFkyVm9iMnhrWlhJNklGd2lRMjlzYkdWamRHVmtJR0p5WVc1amFDQnZkWFJ3ZFhSelhDSWdmU2xjYmlBZ1FHOTFkSEIxZENoN0lHaGhibVJzWlRvZ1hDSmljbUZ1WTJobGMxd2lJSDBwWEc0Z0lHSnlZVzVqYUdWeklUb2dkVzVyYm05M2JsdGRPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFMWxjbWRsSU9LQWxDQnViM0p0WVd4cGMyVnpJR0p5WVc1amFDOXdZWEpoYkd4bGJDQnZkWFJ3ZFhSeklHbHVkRzhnWVNCemFXNW5iR1VnYjNWMGNIVjBMbHh1SUNvdlhHNUFibTlrWlNoY0ltTnZjbVV1Wm14dmR5NXRaWEpuWlZ3aUxDQjdYRzRnSUd0cGJtUTZJRndpWTI5eVpTNW1iRzkzTG0xbGNtZGxYQ0lzWEc0Z0lHTmhkR1ZuYjNKNU9pQmNJbFYwYVd4cGRIbGNJaXhjYmlBZ1kyOXNiM0k2SUZ3aUl6QmtPVFE0T0Z3aUxGeHVJQ0JwWTI5dU9pQmNJblJwTFdGeWNtOTNjeTF0WlhKblpWd2lMRnh1SUNCM2FXUjBhRG9nT1RZc1hHNGdJR2hsYVdkb2REb2dPVFlzWEc0Z0lHeGhZbVZzY3pvZ1cxd2labXh2ZDF3aUxDQmNJbTFsY21kbFhDSXNJRndpYW05cGJsd2lYU3hjYmlBZ2JXVjBZV1JoZEdFNklIdGNiaUFnSUNCMGFYUnNaVG9nWENKTlpYSm5aVndpTEZ4dUlDQWdJR1JsYzJOeWFYQjBhVzl1T2lCY0lrMWxjbWRsY3lCdGRXeDBhWEJzWlNCaWNtRnVZMmdnYjNWMGNIVjBjeUJwYm5SdklHRWdjMmx1WjJ4bElHNXZjbTFoYkdselpXUWdiM1YwY0hWMElHOWlhbVZqZEM1Y0lpeGNiaUFnSUNCemRISmhkR1ZuZVRvZ1hDSmpiMjVqWVhSY0lpeGNiaUFnZlN4Y2JuMHBYRzVBYlc5a1pXd29LVnh1Wlhod2IzSjBJR05zWVhOeklFMWxjbWRsUm14dmQwNXZaR1VnWlhoMFpXNWtjeUJOYjJSbGJDQjdYRzRnSUVCeVpYRjFhWEpsWkNncFhHNGdJRUIxYVdWc1pXMWxiblFvWENKMFpYaDBZWEpsWVZ3aUxDQjdJR3hoWW1Wc09pQmNJa0p5WVc1amFDQnZkWFJ3ZFhSelhDSXNJSEJzWVdObGFHOXNaR1Z5T2lCY0lrOTFkSEIxZEhNZ2RHOGdiV1Z5WjJWY0lpQjlLVnh1SUNCQWFXNXdkWFFvZXlCb1lXNWtiR1U2SUZ3aWRtRnNkV1Z6WENJZ2ZTbGNiaUFnZG1Gc2RXVnpJVG9nZFc1cmJtOTNibHRkTzF4dVhHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQjFhV1ZzWlcxbGJuUW9YQ0pwYm5CMWRGd2lMQ0I3SUd4aFltVnNPaUJjSWsxbGNtZGxaQ0J2ZFhSd2RYUmNJaXdnY0d4aFkyVm9iMnhrWlhJNklGd2lUV1Z5WjJWa0lISmxjM1ZzZEZ3aUlIMHBYRzRnSUVCdmRYUndkWFFvZXlCb1lXNWtiR1U2SUZ3aWJXVnlaMlZrWENJZ2ZTbGNiaUFnYldWeVoyVmtJVG9nZFc1cmJtOTNianRjYm4xY2JseHVMeW9xWEc0Z0tpQk5ZWEFnNG9DVUlIUnlZVzV6Wm05eWJYTWdkR2hsSUdOMWNuSmxiblFnYVc1d2RYUWdhVzUwYnlCaElHNWxkeUJ2ZFhSd2RYUWdiMkpxWldOMExseHVJQ292WEc1QWJtOWtaU2hjSW1OdmNtVXVabXh2ZHk1dFlYQmNJaXdnZTF4dUlDQnJhVzVrT2lCY0ltTnZjbVV1Wm14dmR5NXRZWEJjSWl4Y2JpQWdZMkYwWldkdmNuazZJRndpVlhScGJHbDBlVndpTEZ4dUlDQmpiMnh2Y2pvZ1hDSWpPRFJqWXpFMlhDSXNYRzRnSUdsamIyNDZJRndpZEdrdFlYSnliM2R6TFhKcFoyaDBMV3hsWm5SY0lpeGNiaUFnZDJsa2RHZzZJRGsyTEZ4dUlDQm9aV2xuYUhRNklEazJMRnh1SUNCc1lXSmxiSE02SUZ0Y0ltWnNiM2RjSWl3Z1hDSnRZWEJjSWl3Z1hDSjBjbUZ1YzJadmNtMWNJbDBzWEc0Z0lHMWxkR0ZrWVhSaE9pQjdYRzRnSUNBZ2RHbDBiR1U2SUZ3aVRXRndYQ0lzWEc0Z0lDQWdaR1Z6WTNKcGNIUnBiMjQ2SUZ3aVZISmhibk5tYjNKdGN5QjBhR1VnWTNWeWNtVnVkQ0JwYm5CMWRDQnBiblJ2SUdFZ2JtVjNJRzkxZEhCMWRDQnZZbXBsWTNRZ2RYTnBibWNnZEdobElHTnZibVpwWjNWeVpXUWdiV0Z3Y0dWeUxsd2lMRnh1SUNBZ0lHMWhjSEJsY2pvZ2UzMHNYRzRnSUgwc1hHNTlLVnh1UUcxdlpHVnNLQ2xjYm1WNGNHOXlkQ0JqYkdGemN5Qk5ZWEJHYkc5M1RtOWtaU0JsZUhSbGJtUnpJRTF2WkdWc0lIdGNiaUFnUUhKbGNYVnBjbVZrS0NsY2JpQWdRSFZwWld4bGJXVnVkQ2hjSW5SbGVIUmhjbVZoWENJc0lIc2diR0ZpWld3NklGd2lTVzV3ZFhRZ2RtRnNkV1ZjSWl3Z2NHeGhZMlZvYjJ4a1pYSTZJRndpVm1Gc2RXVWdkRzhnZEhKaGJuTm1iM0p0WENJZ2ZTbGNiaUFnUUdsdWNIVjBLSHNnYUdGdVpHeGxPaUJjSW5aaGJIVmxYQ0lnZlNsY2JpQWdkbUZzZFdVaE9pQjFibXR1YjNkdU8xeHVYRzRnSUVCeVpYRjFhWEpsWkNncFhHNGdJRUIxYVdWc1pXMWxiblFvWENKcGJuQjFkRndpTENCN0lHeGhZbVZzT2lCY0lsUnlZVzV6Wm05eWJXVmtJRzkxZEhCMWRGd2lMQ0J3YkdGalpXaHZiR1JsY2pvZ1hDSk5ZWEJ3WldRZ2NtVnpkV3gwWENJZ2ZTbGNiaUFnUUc5MWRIQjFkQ2g3SUdoaGJtUnNaVG9nWENKeVpYTjFiSFJjSWlCOUtWeHVJQ0J5WlhOMWJIUWhPaUIxYm10dWIzZHVPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFUmxiR0Y1SU9LQWxDQndZWFZ6WlhNZ1pYaGxZM1YwYVc5dUlHWnZjaUJoSUdOdmJtWnBaM1Z5WldRZ1pIVnlZWFJwYjI0dVhHNGdLaTljYmtCdWIyUmxLRndpWTI5eVpTNW1iRzkzTG1SbGJHRjVYQ0lzSUh0Y2JpQWdhMmx1WkRvZ1hDSmpiM0psTG1ac2IzY3VaR1ZzWVhsY0lpeGNiaUFnWTJGMFpXZHZjbms2SUZ3aVZYUnBiR2wwZVZ3aUxGeHVJQ0JqYjJ4dmNqb2dYQ0lqWVROaE0yRXpYQ0lzWEc0Z0lHbGpiMjQ2SUZ3aWRHa3RZMnh2WTJzdGFHOTFjaTAwWENJc1hHNGdJSGRwWkhSb09pQTVOaXhjYmlBZ2FHVnBaMmgwT2lBNU5peGNiaUFnYkdGaVpXeHpPaUJiWENKbWJHOTNYQ0lzSUZ3aVpHVnNZWGxjSWl3Z1hDSjNZV2wwWENKZExGeHVJQ0J0WlhSaFpHRjBZVG9nZTF4dUlDQWdJSFJwZEd4bE9pQmNJa1JsYkdGNVhDSXNYRzRnSUNBZ1pHVnpZM0pwY0hScGIyNDZJRndpVUdGMWMyVnpJR1Y0WldOMWRHbHZiaUJtYjNJZ2RHaGxJR052Ym1acFozVnlaV1FnWkhWeVlYUnBiMjRnS0dsdUlHMXBiR3hwYzJWamIyNWtjeWtzSUhSb1pXNGdabTl5ZDJGeVpITWdkR2hsSUdsdWNIVjBJSFZ1WTJoaGJtZGxaQzVjSWl4Y2JpQWdJQ0JrZFhKaGRHbHZiazF6T2lBeE1EQXdMRnh1SUNCOUxGeHVmU2xjYmtCdGIyUmxiQ2dwWEc1bGVIQnZjblFnWTJ4aGMzTWdSR1ZzWVhsR2JHOTNUbTlrWlNCbGVIUmxibVJ6SUUxdlpHVnNJSHRjYmlBZ1FISmxjWFZwY21Wa0tDbGNiaUFnUUhWcFpXeGxiV1Z1ZENoY0luUmxlSFJoY21WaFhDSXNJSHNnYkdGaVpXdzZJRndpU1c1d2RYUWdkbUZzZFdWY0lpd2djR3hoWTJWb2IyeGtaWEk2SUZ3aVZtRnNkV1VnZEc4Z1ptOXlkMkZ5WkNCaFpuUmxjaUJrWld4aGVWd2lJSDBwWEc0Z0lFQnBibkIxZENoN0lHaGhibVJzWlRvZ1hDSjJZV3gxWlZ3aUlIMHBYRzRnSUhaaGJIVmxJVG9nZFc1cmJtOTNianRjYmx4dUlDQkFjbVZ4ZFdseVpXUW9LVnh1SUNCQWRXbGxiR1Z0Wlc1MEtGd2lhVzV3ZFhSY0lpd2dleUJzWVdKbGJEb2dYQ0pQZFhSd2RYUWdkbUZzZFdWY0lpd2djR3hoWTJWb2IyeGtaWEk2SUZ3aVJtOXlkMkZ5WkdWa0lIWmhiSFZsWENJZ2ZTbGNiaUFnUUc5MWRIQjFkQ2g3SUdoaGJtUnNaVG9nWENKMllXeDFaVndpSUgwcFhHNGdJSFpoYkhWbFQzVjBJVG9nZFc1cmJtOTNianRjYm4xY2JseHVMeW9xWEc0Z0tpQkZjbkp2Y2lCaWIzVnVaR0Z5ZVNEaWdKUWdkSEo1TDJOaGRHTm9MMlpwYm1Gc2JIa2dkMjl5YTJac2IzY2dZbVZvWVhacGIzVnlMbHh1SUNvdlhHNUFibTlrWlNoY0ltTnZjbVV1Wm14dmR5NWxjbkp2Y2tKdmRXNWtZWEo1WENJc0lIdGNiaUFnYTJsdVpEb2dYQ0pqYjNKbExtWnNiM2N1WlhKeWIzSkNiM1Z1WkdGeWVWd2lMRnh1SUNCallYUmxaMjl5ZVRvZ1hDSkdiRzkzSUVOdmJuUnliMnhjSWl4Y2JpQWdZMjlzYjNJNklGd2lJMlZtTkRRME5Gd2lMRnh1SUNCcFkyOXVPaUJjSW5ScExYTm9hV1ZzWkMxamFHVmphMXdpTEZ4dUlDQjNhV1IwYURvZ09UWXNYRzRnSUdobGFXZG9kRG9nT1RZc1hHNGdJR3hoWW1Wc2N6b2dXMXdpWm14dmQxd2lMQ0JjSW1WeWNtOXlYQ0lzSUZ3aWRISjVMV05oZEdOb1hDSmRMRnh1SUNCdFpYUmhaR0YwWVRvZ2UxeHVJQ0FnSUhScGRHeGxPaUJjSWtWeWNtOXlJR0p2ZFc1a1lYSjVYQ0lzWEc0Z0lDQWdaR1Z6WTNKcGNIUnBiMjQ2SUZ3aVYzSmhjSE1nZEdobElHbHVjSFYwSUdsdUlHRWdkSEo1TDJOaGRHTm9MMlpwYm1Gc2JIa3VJRVZ0YVhSeklIUm9aU0J5WlhOMWJIUWdiMjRnYzNWalkyVnpjeXdnYjNJZ2RHaGxJR1Z5Y205eUlHOXVJR1poYVd4MWNtVXVYQ0lzWEc0Z0lDQWdabWx1WVd4c2VUb2dabUZzYzJVc1hHNGdJSDBzWEc1OUtWeHVRRzF2WkdWc0tDbGNibVY0Y0c5eWRDQmpiR0Z6Y3lCRmNuSnZja0p2ZFc1a1lYSjVSbXh2ZDA1dlpHVWdaWGgwWlc1a2N5Qk5iMlJsYkNCN1hHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQjFhV1ZzWlcxbGJuUW9YQ0owWlhoMFlYSmxZVndpTENCN0lHeGhZbVZzT2lCY0lrbHVjSFYwSUhaaGJIVmxYQ0lzSUhCc1lXTmxhRzlzWkdWeU9pQmNJbFpoYkhWbElIUnZJR2QxWVhKa1hDSWdmU2xjYmlBZ1FHbHVjSFYwS0hzZ2FHRnVaR3hsT2lCY0luWmhiSFZsWENJZ2ZTbGNiaUFnZG1Gc2RXVWhPaUIxYm10dWIzZHVPMXh1WEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCMWFXVnNaVzFsYm5Rb1hDSnBibkIxZEZ3aUxDQjdJR3hoWW1Wc09pQmNJbEpsYzNWc2RGd2lMQ0J3YkdGalpXaHZiR1JsY2pvZ1hDSlBkWFJ3ZFhRZ2IyNGdjM1ZqWTJWemMxd2lJSDBwWEc0Z0lFQnZkWFJ3ZFhRb2V5Qm9ZVzVrYkdVNklGd2ljbVZ6ZFd4MFhDSWdmU2xjYmlBZ2NtVnpkV3gwSVRvZ2RXNXJibTkzYmp0Y2JseHVJQ0JBY21WeGRXbHlaV1FvS1Z4dUlDQkFkV2xsYkdWdFpXNTBLRndpYVc1d2RYUmNJaXdnZXlCc1lXSmxiRG9nWENKRmNuSnZjbHdpTENCd2JHRmpaV2h2YkdSbGNqb2dYQ0pQZFhSd2RYUWdiMjRnWm1GcGJIVnlaVndpSUgwcFhHNGdJRUJ2ZFhSd2RYUW9leUJvWVc1a2JHVTZJRndpWlhKeWIzSmNJaUI5S1Z4dUlDQmxjbkp2Y2lFNklIVnVhMjV2ZDI0N1hHNTlYRzVjYmk4cUtseHVJQ29nU0hWdFlXNGdZWEJ3Y205MllXd2c0b0NVSUhOMWMzQmxibVJ6SUdWNFpXTjFkR2x2YmlCMWJuUnBiQ0JoSUdoMWJXRnVJR0Z3Y0hKdmRtVnpJRzl5SUhKbGFtVmpkSE11WEc0Z0tpOWNia0J1YjJSbEtGd2lZMjl5WlM1bWJHOTNMbWgxYldGdVFYQndjbTkyWVd4Y0lpd2dlMXh1SUNCcmFXNWtPaUJjSW1OdmNtVXVabXh2ZHk1b2RXMWhia0Z3Y0hKdmRtRnNYQ0lzWEc0Z0lHTmhkR1ZuYjNKNU9pQmNJa1pzYjNjZ1EyOXVkSEp2YkZ3aUxGeHVJQ0JqYjJ4dmNqb2dYQ0lqWkRrME5tVm1YQ0lzWEc0Z0lHbGpiMjQ2SUZ3aWRHa3RkWE5sY2kxamFHVmphMXdpTEZ4dUlDQjNhV1IwYURvZ09UWXNYRzRnSUdobGFXZG9kRG9nT1RZc1hHNGdJR3hoWW1Wc2N6b2dXMXdpWm14dmQxd2lMQ0JjSW1Gd2NISnZkbUZzWENJc0lGd2ljM1Z6Y0dWdVpGd2lYU3hjYmlBZ2JXVjBZV1JoZEdFNklIdGNiaUFnSUNCMGFYUnNaVG9nWENKSWRXMWhiaUJoY0hCeWIzWmhiRndpTEZ4dUlDQWdJR1JsYzJOeWFYQjBhVzl1T2lCY0lsTjFjM0JsYm1SeklHVjRaV04xZEdsdmJpQjFiblJwYkNCaElHaDFiV0Z1SUdGd2NISnZkbVZ6SUc5eUlISmxhbVZqZEhNdUlFVnRhWFJ6SUhSb1pTQmhjSEJ5YjNabFpDQjJZV3gxWlNCdmNpQmhJSEpsYW1WamRHbHZiaTVjSWl4Y2JpQWdJQ0JoY0hCeWIzWmxjbk02SUZ0ZExGeHVJQ0FnSUhScGJXVnZkWFJOY3pvZ09EWTBNREF3TURBc1hHNGdJSDBzWEc1OUtWeHVRRzF2WkdWc0tDbGNibVY0Y0c5eWRDQmpiR0Z6Y3lCSWRXMWhia0Z3Y0hKdmRtRnNSbXh2ZDA1dlpHVWdaWGgwWlc1a2N5Qk5iMlJsYkNCN1hHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQjFhV1ZzWlcxbGJuUW9YQ0owWlhoMFlYSmxZVndpTENCN0lHeGhZbVZzT2lCY0lrbHVjSFYwSUhaaGJIVmxYQ0lzSUhCc1lXTmxhRzlzWkdWeU9pQmNJbFpoYkhWbElIQmxibVJwYm1jZ1lYQndjbTkyWVd4Y0lpQjlLVnh1SUNCQWFXNXdkWFFvZXlCb1lXNWtiR1U2SUZ3aWRtRnNkV1ZjSWlCOUtWeHVJQ0IyWVd4MVpTRTZJSFZ1YTI1dmQyNDdYRzVjYmlBZ1FISmxjWFZwY21Wa0tDbGNiaUFnUUhWcFpXeGxiV1Z1ZENoY0ltbHVjSFYwWENJc0lIc2diR0ZpWld3NklGd2lRWEJ3Y205MlpXUmNJaXdnY0d4aFkyVm9iMnhrWlhJNklGd2lUM1YwY0hWMElIZG9aVzRnWVhCd2NtOTJaV1JjSWlCOUtWeHVJQ0JBYjNWMGNIVjBLSHNnYUdGdVpHeGxPaUJjSW1Gd2NISnZkbVZrWENJZ2ZTbGNiaUFnWVhCd2NtOTJaV1FoT2lCMWJtdHViM2R1TzF4dVhHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQjFhV1ZzWlcxbGJuUW9YQ0pwYm5CMWRGd2lMQ0I3SUd4aFltVnNPaUJjSWxKbGFtVmpkR1ZrWENJc0lIQnNZV05sYUc5c1pHVnlPaUJjSWs5MWRIQjFkQ0IzYUdWdUlISmxhbVZqZEdWa1hDSWdmU2xjYmlBZ1FHOTFkSEIxZENoN0lHaGhibVJzWlRvZ1hDSnlaV3BsWTNSbFpGd2lJSDBwWEc0Z0lISmxhbVZqZEdWa0lUb2dkVzVyYm05M2JqdGNibjFjYmx4dUx5b3FYRzRnS2lCU1pYUjFjbTRnNG9DVUlHUmxabWx1WlhNZ1lXNWtJRzV2Y20xaGJHbHpaWE1nZEdobElHWnBibUZzSUhkdmNtdG1iRzkzSUc5MWRIQjFkQzVjYmlBcUwxeHVRRzV2WkdVb1hDSmpiM0psTG1ac2IzY3VjbVYwZFhKdVhDSXNJSHRjYmlBZ2EybHVaRG9nWENKamIzSmxMbVpzYjNjdWNtVjBkWEp1WENJc1hHNGdJR05oZEdWbmIzSjVPaUJjSWxWMGFXeHBkSGxjSWl4Y2JpQWdZMjlzYjNJNklGd2lJekl5WXpVMVpWd2lMRnh1SUNCcFkyOXVPaUJjSW5ScExXRnljbTkzTFdKaFkyc3RkWEJjSWl4Y2JpQWdkMmxrZEdnNklEazJMRnh1SUNCb1pXbG5hSFE2SURrMkxGeHVJQ0JzWVdKbGJITTZJRnRjSW1ac2IzZGNJaXdnWENKeVpYUjFjbTVjSWl3Z1hDSnZkWFJ3ZFhSY0lsMHNYRzRnSUcxbGRHRmtZWFJoT2lCN1hHNGdJQ0FnZEdsMGJHVTZJRndpVW1WMGRYSnVYQ0lzWEc0Z0lDQWdaR1Z6WTNKcGNIUnBiMjQ2SUZ3aVRtOXliV0ZzYVhObGN5QjBhR1VnYVc1d2RYUWdhVzUwYnlCMGFHVWdabWx1WVd3Z2QyOXlhMlpzYjNjZ2IzVjBjSFYwSUc5aWFtVmpkQzVjSWl4Y2JpQWdJQ0J2ZFhSd2RYUlRZMmhsYldFNklIdDlMRnh1SUNCOUxGeHVmU2xjYmtCdGIyUmxiQ2dwWEc1bGVIQnZjblFnWTJ4aGMzTWdVbVYwZFhKdVJteHZkMDV2WkdVZ1pYaDBaVzVrY3lCTmIyUmxiQ0I3WEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCMWFXVnNaVzFsYm5Rb1hDSjBaWGgwWVhKbFlWd2lMQ0I3SUd4aFltVnNPaUJjSWtsdWNIVjBJSFpoYkhWbFhDSXNJSEJzWVdObGFHOXNaR1Z5T2lCY0lsWmhiSFZsSUhSdklHNXZjbTFoYkdselpWd2lJSDBwWEc0Z0lFQnBibkIxZENoN0lHaGhibVJzWlRvZ1hDSjJZV3gxWlZ3aUlIMHBYRzRnSUhaaGJIVmxJVG9nZFc1cmJtOTNianRjYmx4dUlDQkFjbVZ4ZFdseVpXUW9LVnh1SUNCQWRXbGxiR1Z0Wlc1MEtGd2lhVzV3ZFhSY0lpd2dleUJzWVdKbGJEb2dYQ0pTWlhSMWNtNWxaQ0J2ZFhSd2RYUmNJaXdnY0d4aFkyVm9iMnhrWlhJNklGd2lUbTl5YldGc2FYTmxaQ0J2ZFhSd2RYUmNJaUI5S1Z4dUlDQkFiM1YwY0hWMEtIc2dhR0Z1Wkd4bE9pQmNJbkpsYzNWc2RGd2lJSDBwWEc0Z0lISmxjM1ZzZENFNklIVnVhMjV2ZDI0N1hHNTlYRzVjYmk4cUtseHVJQ29nUTI5a1pTRGlnSlFnYzJGdVpHSnZlR1ZrSUVwVEwxUlRJR052WkdVZ1pYaGxZM1YwYVc5dUlDaEJURVpTUlVRdE5TRENwemNzSUVSRlEwRkdMVE15SU1Lbk1qSXVOQ2t1WEc0Z0tseHVJQ29nVkdobElHVnVaMmx1WlNkeklIdEFiR2x1YXlCRGIyUmxSM0poY0doT2IyUmxSWGhsWTNWMGIzSjlJR1JsYkdWbllYUmxjeUIwYnlCMGFHVWdjR3gxWjJkaFlteGxYRzRnS2lCN1FHeHBibXNnUTI5a1pWTmhibVJpYjNoRmRtRnNkV0YwYjNKOUxpQlVhR1VnWkdWbVlYVnNkRnh1SUNvZ1lFbHpiMnhoZEdWa1ZtMURiMlJsVTJGdVpHSnZlRVYyWVd4MVlYUnZjbUFnS0dKaFkydGxaQ0JpZVNCZ2FYTnZiR0YwWldRdGRtMWdLU0JsYm1admNtTmxjeUIwYUdWY2JpQXFJRU52WkdVZ1RtOWtaU0J5WlhOMGNtbGpkR2x2Ym5NNklHNXZJR2x0Y0c5eWRITXNJRzV2SUhKbGNYVnBjbVZ6TENCd2RYSmxJR1oxYm1OMGFXOXVjeUJ2Ym14NUxpQlVhR1ZjYmlBcUlITmhibVJpYjNnZ1kyOXVkR1Y0ZENCbGVIQnZjMlZ6SUdBa2FXNXdkWFJnTENCZ0pIWmhjbk5nTENCZ0pHbDBaVzFnTENCZ0pHbHVaR1Y0WUN3Z1lDUnViMlJsWUN3Z1lXNWtYRzRnS2lCZ0pHOTFkSEIxZEdBZ1lYTWdaR0YwWVNCMllYSnBZV0pzWlhNdUlGUjVjR1ZUWTNKcGNIUWdhWE1nYzNWd2NHOXlkR1ZrSUhacFlTQjBjbUZ1YzNCcGJHRjBhVzl1TGx4dUlDb3ZYRzVjYmk4cUtseHVJQ29nU1c1d2RYUWdjMk5vWlcxaElHWnZjaUIwYUdVZ1EyOWtaU0J1YjJSbExpQlVhR1VnWUVCcGJuQjFkR0FnYjI0Z1lFTnZaR1ZHYkc5M1RtOWtaUzVwYm5CMWRHQWdhWE1nWVZ4dUlDb2djMk5vWlcxaElHZHliM1Z3SU9LQWxDQjBhR1VnYm1WemRHVmtJRzF2WkdWc0ozTWdZRUJwYm5CMWRHQWdjRzl5ZEhNZ1lYSmxJSE53YkdsalpXUWdhVzUwYnlCMGFHVmNiaUFxSUhCaGNtVnVkQ0IxYm5CeVpXWnBlR1ZrTGlCZ1kyOWtaV0FnYUdGeklHQkFhVzV3ZFhSZ0lDc2dZRUIxYVdWc1pXMWxiblFvWENKamIyUmxMV1ZrYVhSdmNsd2lLV0FzSUhOdklHbDBYRzRnS2lCaGNIQmxZWEp6SUdGeklHRWdjRzl5ZENCQlRrUWdhVzRnZEdobElFTlNWVVFnYlc5a1lXd2dLSFJvWlNCdmJteDVJSFpwYzJsaWJHVWdabWxsYkdRcExpQmdaR0YwWVdCY2JpQXFJR2hoY3lCZ1FHbHVjSFYwWUNBcklHQkFhR2xrWkdWdUtDbGdJR0oxZENCdWJ5QmdRSFZwWld4bGJXVnVkR0FzSUhOdklHbDBJR2x6SUdFZ1kyRnVkbUZ6TFc5dWJIa2djRzl5ZEZ4dUlDb2dLR1p2Y2lCbFpHZGxJR052Ym01bFkzUnBiMjV6SUdaeWIyMGdkMjl5YTJac2IzY2dhVzV3ZFhRZ1ltRmtaMlZ6S1NCaWRYUWdibVYyWlhJZ1lYQndaV0Z5Y3lCcGJpQjBhR1ZjYmlBcUlFTlNWVVFnYlc5a1lXd3VJR0JzWVc1bmRXRm5aV0FnYUdGeklHNXZJR0JBYVc1d2RYUmdJR0Z1WkNCdWJ5QmdRSFZwWld4bGJXVnVkR0FzSUhOdklHbDBJR2x6WEc0Z0tpQnVaV2wwYUdWeUlHRWdjRzl5ZENCdWIzSWdjbVZ1WkdWeVpXUWc0b0NVSUdsMElHUmxabUYxYkhSeklIUnZJR0JjSW1waGRtRnpZM0pwY0hSY0ltQXVYRzRnS2k5Y2JrQnRiMlJsYkNncFhHNWxlSEJ2Y25RZ1kyeGhjM01nUTI5a1pVbHVjSFYwVTJOb1pXMWhJR1Y0ZEdWdVpITWdUVzlrWld3Z2UxeHVJQ0JBY21WeGRXbHlaV1FvS1Z4dUlDQnNZVzVuZFdGblpUb2djM1J5YVc1bklEMGdYQ0pxWVhaaGMyTnlhWEIwWENJN1hHNWNiaUFnUUhKbGNYVnBjbVZrS0NsY2JpQWdRSFZwWld4bGJXVnVkQ2hjSW1OdlpHVXRaV1JwZEc5eVhDSXNJSHNnYkdGaVpXdzZJRndpUTI5a1pWd2lMQ0J3YkdGalpXaHZiR1JsY2pvZ1hDSXZMeUJWYzJWeUxXRjFkR2h2Y21Wa0lFcFRJR052WkdWY0lpQjlLVnh1SUNCQWFXNXdkWFFvZXlCb1lXNWtiR1U2SUZ3aVkyOWtaVndpSUgwcFhHNGdJR052WkdVaE9pQnpkSEpwYm1jN1hHNWNiaUFnUUdocFpHUmxiaWdwWEc0Z0lFQnBibkIxZENoN0lHaGhibVJzWlRvZ1hDSmtZWFJoWENJZ2ZTbGNiaUFnWkdGMFlUODZJSFZ1YTI1dmQyNDdYRzU5WEc1Y2JrQnViMlJsS0Z3aVkyOXlaUzVtYkc5M0xtTnZaR1ZjSWl3Z2UxeHVJQ0JyYVc1a09pQmNJbU52Y21VdVpteHZkeTVqYjJSbFhDSXNYRzRnSUdOaGRHVm5iM0o1T2lCY0lsVjBhV3hwZEhsY0lpeGNiaUFnWTI5c2IzSTZJRndpSXpkak0yRmxaRndpTEZ4dUlDQnBZMjl1T2lCY0luUnBMV052WkdWY0lpeGNiaUFnZDJsa2RHZzZJRGsyTEZ4dUlDQm9aV2xuYUhRNklEazJMRnh1SUNCc1lXSmxiSE02SUZ0Y0ltWnNiM2RjSWl3Z1hDSmpiMlJsWENJc0lGd2ljMkZ1WkdKdmVGd2lMQ0JjSW5SeVlXNXpabTl5YlZ3aVhTeGNiaUFnYldWMFlXUmhkR0U2SUh0Y2JpQWdJQ0IwYVhSc1pUb2dYQ0pEYjJSbFhDSXNYRzRnSUNBZ1pHVnpZM0pwY0hScGIyNDZJRndpVW5WdWN5QjFjMlZ5TFdGMWRHaHZjbVZrSUVwVEwxUlRJR2x1SUdFZ2NtVnpkSEpwWTNSbFpDQldUU0J6WVc1a1ltOTRMaUJUZFhCd2IzSjBjeUJ3YkdGalpXaHZiR1JsY2lCemVXNTBZWGdnWm05eUlIZHZjbXRtYkc5M0lHUmhkR0VnY21WbVpYSmxibU5sY3k1Y0lpeGNiaUFnSUNCMGFXMWxiM1YwVFhNNklERXdNREFzWEc0Z0lIMHNYRzU5S1Z4dVFHMXZaR1ZzS0NsY2JtVjRjRzl5ZENCamJHRnpjeUJEYjJSbFJteHZkMDV2WkdVZ1pYaDBaVzVrY3lCTmIyUmxiQ0I3WEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCcGJuQjFkQ2g3SUdoaGJtUnNaVG9nWENKcGJuQjFkRndpTENCdGIyUmxiRG9nUTI5a1pVbHVjSFYwVTJOb1pXMWhJSDBwWEc0Z0lHbHVjSFYwSVRvZ1EyOWtaVWx1Y0hWMFUyTm9aVzFoTzF4dVhHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQnZkWFJ3ZFhRb2V5Qm9ZVzVrYkdVNklGd2ljbVZ6ZFd4MFhDSWdmU2xjYmlBZ2NtVnpkV3gwSVRvZ2RXNXJibTkzYmp0Y2JuMWNibHh1THlvcVhHNGdLaUJNYjJjZzRvQ1VJR3h2WjNNZ2RHaGxJR2x1Y0hWMElIWmhiSFZsSUdGdVpDQm1iM0ozWVhKa2N5QnBkQ0IxYm1Ob1lXNW5aV1FnYjI0Z2RHaGxJR0JzYjJkblpXUmdYRzRnS2lCdmRYUndkWFFnY0c5eWRDNGdWWE5sWm5Wc0lHWnZjaUJrWldKMVoyZHBibWNzSUdGMVpHbDBJSFJ5WVdsc2N5d2dZVzVrSUdScGMyTmhjbVF2YzJsa1pTMWxabVpsWTNSY2JpQXFJR0p5WVc1amFHVnpJR2x1SUdFZ2QyOXlhMlpzYjNjdVhHNGdLaTljYmtCdWIyUmxLRndpWTI5eVpTNW1iRzkzTG14dloxd2lMQ0I3WEc0Z0lHdHBibVE2SUZ3aVkyOXlaUzVtYkc5M0xteHZaMXdpTEZ4dUlDQmpZWFJsWjI5eWVUb2dYQ0pWZEdsc2FYUjVYQ0lzWEc0Z0lHTnZiRzl5T2lCY0lpTTJNelkyWmpGY0lpeGNiaUFnYVdOdmJqb2dYQ0owYVMxMFpYSnRhVzVoYkZ3aUxGeHVJQ0IzYVdSMGFEb2dPVFlzWEc0Z0lHaGxhV2RvZERvZ09UWXNYRzRnSUd4aFltVnNjem9nVzF3aVpteHZkMXdpTENCY0lteHZaMXdpTENCY0ltUmxZblZuWENJc0lGd2lkWFJwYkdsMGVWd2lYU3hjYmlBZ2JXVjBZV1JoZEdFNklIdGNiaUFnSUNCMGFYUnNaVG9nWENKTWIyZGNJaXhjYmlBZ0lDQmtaWE5qY21sd2RHbHZiam9nWENKTWIyZHpJSFJvWlNCcGJuQjFkQ0IyWVd4MVpTQjBieUIwYUdVZ1pYaGxZM1YwYVc5dUlHeHZaMmRsY2lCaGJtUWdabTl5ZDJGeVpITWdhWFFnZFc1amFHRnVaMlZrTGx3aUxGeHVJQ0I5TEZ4dWZTbGNia0J0YjJSbGJDZ3BYRzVsZUhCdmNuUWdZMnhoYzNNZ1RHOW5SbXh2ZDA1dlpHVWdaWGgwWlc1a2N5Qk5iMlJsYkNCN1hHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQjFhV1ZzWlcxbGJuUW9YQ0owWlhoMFlYSmxZVndpTENCN0lHeGhZbVZzT2lCY0lrbHVjSFYwSUhaaGJIVmxYQ0lzSUhCc1lXTmxhRzlzWkdWeU9pQmNJbFpoYkhWbElIUnZJR3h2WjF3aUlIMHBYRzRnSUVCcGJuQjFkQ2g3SUdoaGJtUnNaVG9nWENKMllXeDFaVndpSUgwcFhHNGdJSFpoYkhWbElUb2dkVzVyYm05M2JqdGNibHh1SUNCQWNtVnhkV2x5WldRb0tWeHVJQ0JBZFdsbGJHVnRaVzUwS0Z3aWFXNXdkWFJjSWl3Z2V5QnNZV0psYkRvZ1hDSk1iMmRuWldRZ2RtRnNkV1ZjSWl3Z2NHeGhZMlZvYjJ4a1pYSTZJRndpUm05eWQyRnlaR1ZrSUhaaGJIVmxYQ0lnZlNsY2JpQWdRRzkxZEhCMWRDaDdJR2hoYm1Sc1pUb2dYQ0pzYjJkblpXUmNJaUI5S1Z4dUlDQnNiMmRuWldRaE9pQjFibXR1YjNkdU8xeHVmVnh1WEc0dktpcGNiaUFxSUVKeVpXRnJJT0tBbENCaWNtVmhhM01nYjNWMElHOW1JSFJvWlNCbGJtTnNiM05wYm1jZ2JHOXZjQ0FvWm05eVpXRmphQzkzYUdsc1pTOTFiblJwYkNrdUlGZG9aVzVjYmlBcUlHVjRaV04xZEdWa0lHbHVjMmxrWlNCaElHeHZiM0FnWW05a2VTd2dkR2hsSUd4dmIzQWdkR1Z5YldsdVlYUmxjeUJsWVhKc2VTQmhibVFnZEdobElHeHZiM0FuYzF4dUlDb2dZR052YlhCc1pYUmxaR0F2WUhOMFlYUmxZQ0J2ZFhSd2RYUWdZMkZ5Y21sbGN5QjBhR1VnY21WemRXeDBjeUJqYjJ4c1pXTjBaV1FnYzI4Z1ptRnlMaUJVYUdWY2JpQXFJRUp5WldGcklHNXZaR1VnWlhobFkzVjBiM0lnZEdoeWIzZHpJR0VnZTBCc2FXNXJJRWR5WVhCb1FuSmxZV3RUYVdkdVlXeDlJSFJvWVhRZ2RHaGxJR1Z1WTJ4dmMybHVaMXh1SUNvZ2JHOXZjQ0JsZUdWamRYUnZjaUJqWVhSamFHVnpMbHh1SUNvdlhHNUFibTlrWlNoY0ltTnZjbVV1Wm14dmR5NWljbVZoYTF3aUxDQjdYRzRnSUd0cGJtUTZJRndpWTI5eVpTNW1iRzkzTG1KeVpXRnJYQ0lzWEc0Z0lHTmhkR1ZuYjNKNU9pQmNJa1pzYjNjZ1EyOXVkSEp2YkZ3aUxGeHVJQ0JqYjJ4dmNqb2dYQ0lqWldZME5EUTBYQ0lzWEc0Z0lHbGpiMjQ2SUZ3aWRHa3RjM0YxWVhKbExXRnljbTkzTFhKcFoyaDBYQ0lzWEc0Z0lIZHBaSFJvT2lBNU5peGNiaUFnYUdWcFoyaDBPaUE1Tml4Y2JpQWdiR0ZpWld4ek9pQmJYQ0ptYkc5M1hDSXNJRndpWW5KbFlXdGNJaXdnWENKc2IyOXdYQ0lzSUZ3aVkyOXVkSEp2YkZ3aVhTeGNiaUFnYldWMFlXUmhkR0U2SUh0Y2JpQWdJQ0IwYVhSc1pUb2dYQ0pDY21WaGExd2lMRnh1SUNBZ0lHUmxjMk55YVhCMGFXOXVPaUJjSWtKeVpXRnJjeUJ2ZFhRZ2IyWWdkR2hsSUdWdVkyeHZjMmx1WnlCc2IyOXdMaUJVYUdVZ2JHOXZjQ0IwWlhKdGFXNWhkR1Z6SUdWaGNteDVJR0Z1WkNCeVpYUjFjbTV6SUhSb1pTQnlaWE4xYkhSeklHTnZiR3hsWTNSbFpDQnpieUJtWVhJdVhDSXNYRzRnSUgwc1hHNTlLVnh1UUcxdlpHVnNLQ2xjYm1WNGNHOXlkQ0JqYkdGemN5QkNjbVZoYTBac2IzZE9iMlJsSUdWNGRHVnVaSE1nVFc5a1pXd2dlMXh1SUNCQWNtVnhkV2x5WldRb0tWeHVJQ0JBZFdsbGJHVnRaVzUwS0Z3aWRHVjRkR0Z5WldGY0lpd2dleUJzWVdKbGJEb2dYQ0pXWVd4MVpWd2lMQ0J3YkdGalpXaHZiR1JsY2pvZ1hDSldZV3gxWlNCMGJ5Qm1iM0ozWVhKa0lDaGpiMnhzWldOMFpXUWdZWE1nZEdobElHeGhjM1FnY0dGeWRHbGhiQ0J5WlhOMWJIUXBYQ0lnZlNsY2JpQWdRR2x1Y0hWMEtIc2dhR0Z1Wkd4bE9pQmNJblpoYkhWbFhDSWdmU2xjYmlBZ2RtRnNkV1VoT2lCMWJtdHViM2R1TzF4dVhHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQnZkWFJ3ZFhRb2V5Qm9ZVzVrYkdVNklGd2lZbkp2YTJWdVhDSWdmU2xjYmlBZ1luSnZhMlZ1SVRvZ2RXNXJibTkzYmp0Y2JuMWNibHh1THlvcVhHNGdLaUJCYkd3Z1luVnBiSFF0YVc0Z1pteHZkeTFqYjI1MGNtOXNJRzV2WkdVZ1kyOXVjM1J5ZFdOMGIzSnpMbHh1SUNvdlhHNWxlSEJ2Y25RZ1kyOXVjM1FnUjFKQlVFaGZSa3hQVjE5RFQwNVVVazlNWDA1UFJFVlRJRDBnVzF4dUlDQkpaa1pzYjNkT2IyUmxMRnh1SUNCVGQybDBZMmhHYkc5M1RtOWtaU3hjYmlBZ1VHRnlZV3hzWld4R2JHOTNUbTlrWlN4Y2JpQWdUV1Z5WjJWR2JHOTNUbTlrWlN4Y2JpQWdUV0Z3Um14dmQwNXZaR1VzWEc0Z0lFUmxiR0Y1Um14dmQwNXZaR1VzWEc0Z0lFVnljbTl5UW05MWJtUmhjbmxHYkc5M1RtOWtaU3hjYmlBZ1NIVnRZVzVCY0hCeWIzWmhiRVpzYjNkT2IyUmxMRnh1SUNCU1pYUjFjbTVHYkc5M1RtOWtaU3hjYmlBZ1EyOWtaVVpzYjNkT2IyUmxMRnh1SUNCTWIyZEdiRzkzVG05a1pTeGNiaUFnUW5KbFlXdEdiRzkzVG05a1pTeGNibDBnWVhNZ1kyOXVjM1E3WEc0aVhYMD0iXX0=
|