@bluedynamics/cdk8s-monitoring 1.8.0 → 1.10.0
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.
|
@@ -65,11 +65,19 @@ export declare class PrometheusStackConstruct extends Construct {
|
|
|
65
65
|
* which keeps it out of the synthesized manifests.
|
|
66
66
|
*/
|
|
67
67
|
private generateSmtpAuthPassword;
|
|
68
|
+
/**
|
|
69
|
+
* The operator only sets the routing prefix from routePrefix (default "/"), so an
|
|
70
|
+
* external URL changes the links in notifications, not the paths the pods serve.
|
|
71
|
+
*/
|
|
72
|
+
private generateExternalUrl;
|
|
68
73
|
/** Falls back to the sender address so existing configs keep their recipient. */
|
|
69
74
|
private generateRecipients;
|
|
70
75
|
/** Mounts the password secret at /etc/alertmanager/secrets/<name>/<key>. */
|
|
71
76
|
private generateAlertmanagerSecrets;
|
|
72
77
|
private generateStagingReceiver;
|
|
78
|
+
/** The configured extra headers, one YAML line each, at the indentation of an email_configs `headers` map. */
|
|
79
|
+
private generateHeaderLines;
|
|
80
|
+
private generateEmailHeaders;
|
|
73
81
|
private generateGrafanaSecurity;
|
|
74
82
|
private generateHelmValues;
|
|
75
83
|
}
|
|
@@ -110,6 +110,13 @@ class PrometheusStackConstruct extends constructs_1.Construct {
|
|
|
110
110
|
}
|
|
111
111
|
return `smtp_auth_password: ${config.smtp.password || ''}`;
|
|
112
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* The operator only sets the routing prefix from routePrefix (default "/"), so an
|
|
115
|
+
* external URL changes the links in notifications, not the paths the pods serve.
|
|
116
|
+
*/
|
|
117
|
+
generateExternalUrl(url) {
|
|
118
|
+
return url ? `\n externalUrl: ${url}` : '';
|
|
119
|
+
}
|
|
113
120
|
/** Falls back to the sender address so existing configs keep their recipient. */
|
|
114
121
|
generateRecipients(config) {
|
|
115
122
|
const recipients = config.smtp.recipients;
|
|
@@ -135,7 +142,17 @@ class PrometheusStackConstruct extends constructs_1.Construct {
|
|
|
135
142
|
- send_resolved: true
|
|
136
143
|
to: ${this.generateRecipients(config)}
|
|
137
144
|
headers:
|
|
138
|
-
subject: '[STAGING] {{ template "email.default.subject" . }}'`;
|
|
145
|
+
subject: '[STAGING] {{ template "email.default.subject" . }}'${this.generateHeaderLines(config)}`;
|
|
146
|
+
}
|
|
147
|
+
/** The configured extra headers, one YAML line each, at the indentation of an email_configs `headers` map. */
|
|
148
|
+
generateHeaderLines(config) {
|
|
149
|
+
return Object.entries(config.smtp.headers ?? {})
|
|
150
|
+
.map(([name, value]) => `\n ${name}: ${JSON.stringify(value)}`)
|
|
151
|
+
.join('');
|
|
152
|
+
}
|
|
153
|
+
generateEmailHeaders(config) {
|
|
154
|
+
const lines = this.generateHeaderLines(config);
|
|
155
|
+
return lines ? `\n headers:${lines}` : '';
|
|
139
156
|
}
|
|
140
157
|
generateGrafanaSecurity(config) {
|
|
141
158
|
if (!config.embedding.enabled)
|
|
@@ -391,7 +408,7 @@ alertmanager:
|
|
|
391
408
|
- name: email
|
|
392
409
|
email_configs:
|
|
393
410
|
- send_resolved: true
|
|
394
|
-
to: ${this.generateRecipients(config)}${this.generateStagingReceiver(config)}
|
|
411
|
+
to: ${this.generateRecipients(config)}${this.generateEmailHeaders(config)}${this.generateStagingReceiver(config)}
|
|
395
412
|
|
|
396
413
|
# Inhibition rules allow to mute a set of alerts given that another alert is firing.
|
|
397
414
|
# We use this to mute any warning-level notifications if the same alert is already critical.
|
|
@@ -426,7 +443,7 @@ alertmanager:
|
|
|
426
443
|
requests:
|
|
427
444
|
cpu: ${config.resources.alertmanager.requests.cpu}
|
|
428
445
|
memory: ${config.resources.alertmanager.requests.memory}
|
|
429
|
-
priorityClassName: ${config.priorityClasses.capture}
|
|
446
|
+
priorityClassName: ${config.priorityClasses.capture}${this.generateExternalUrl(config.externalUrls.alertmanager)}
|
|
430
447
|
|
|
431
448
|
# Sidecar containers resource requests (added 2025-11-18)
|
|
432
449
|
containers:
|
|
@@ -447,7 +464,7 @@ prometheus:
|
|
|
447
464
|
enabled: true
|
|
448
465
|
|
|
449
466
|
prometheusSpec:
|
|
450
|
-
retention: ${config.retention.prometheus} # Reduced from 7d - Thanos provides long-term storage in S3
|
|
467
|
+
retention: ${config.retention.prometheus} # Reduced from 7d - Thanos provides long-term storage in S3${this.generateExternalUrl(config.externalUrls.prometheus)}
|
|
451
468
|
|
|
452
469
|
# Discover ALL ServiceMonitors, PodMonitors and PrometheusRules in ALL namespaces
|
|
453
470
|
# Setting NilUsesHelmValues: false means nil selectors = "select all"
|
|
@@ -646,6 +663,15 @@ grafana:
|
|
|
646
663
|
isDefault: false
|
|
647
664
|
jsonData:
|
|
648
665
|
timeInterval: 30s
|
|
666
|
+
# Shows the alerts that Alertmanager holds, including silences, inside Grafana.
|
|
667
|
+
- name: Alertmanager
|
|
668
|
+
type: alertmanager
|
|
669
|
+
uid: alertmanager
|
|
670
|
+
access: proxy
|
|
671
|
+
url: http://kube-prometheus-stack-alertmanager.${config.namespace}.svc.cluster.local:9093
|
|
672
|
+
jsonData:
|
|
673
|
+
implementation: prometheus
|
|
674
|
+
handleGrafanaManagedAlerts: false
|
|
649
675
|
- name: Loki
|
|
650
676
|
type: loki
|
|
651
677
|
uid: loki
|
|
@@ -695,4 +721,4 @@ kube-state-metrics:
|
|
|
695
721
|
}
|
|
696
722
|
}
|
|
697
723
|
exports.PrometheusStackConstruct = PrometheusStackConstruct;
|
|
698
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbWV0aGV1cy1zdGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHJ1Y3RzL3Byb21ldGhldXMtc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQWtDO0FBQ2xDLDJDQUF1QztBQUV2Qyw2Q0FBeUQ7QUFPekQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDSCxNQUFhLHdCQUF5QixTQUFRLHNCQUFTO0lBQ3JELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMkI7UUFDbkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQztRQUVwQyw0QkFBNEI7UUFDNUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRW5ELGtEQUFrRDtRQUNsRCwyQ0FBMkM7UUFDM0MsSUFBSSxpQkFBUyxDQUFDLElBQUksRUFBRSx1QkFBdUIsRUFBRTtZQUMzQyxVQUFVLEVBQUUsbUJBQW1CO1lBQy9CLElBQUksRUFBRSxXQUFXO1lBQ2pCLFFBQVEsRUFBRTtnQkFDUixJQUFJLEVBQUUsdUJBQXVCO2dCQUM3QixTQUFTLEVBQUUsU0FBUztnQkFDcEIsTUFBTSxFQUFFO29CQUNOLHdCQUF3QixFQUFFLHVCQUF1QjtvQkFDakQsNkJBQTZCLEVBQUUsWUFBWTtvQkFDM0MsOEJBQThCLEVBQUUsT0FBTztvQkFDdkMsMkJBQTJCLEVBQUUsWUFBWTtpQkFDMUM7Z0JBQ0QsV0FBVyxFQUFFO29CQUNYLDhCQUE4QixFQUFFLEdBQUc7aUJBQ3BDO2FBQ0Y7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLG9EQUFvRDtnQkFDMUQsS0FBSyxFQUFFLHVCQUF1QjtnQkFDOUIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxLQUFLLFFBQVEsQ0FB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LENBQUMsT0FBTztDQUNwRCxDQUFDO0lBQ0EsQ0FBQztDQUNGO0FBbHFCRCw0REFrcUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBpT2JqZWN0IH0gZnJvbSAnY2RrOHMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBNb25pdG9yaW5nQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgSEVMTV9DSEFSVF9GQUlMVVJFX1BPTElDWSB9IGZyb20gJy4vaGVsbS1jaGFydCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvbWV0aGV1c1N0YWNrUHJvcHMge1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgY29uZmlnOiBNb25pdG9yaW5nQ29uZmlnO1xufVxuXG4vKipcbiAqIENyZWF0ZXMga3ViZS1wcm9tZXRoZXVzLXN0YWNrIEhlbG1DaGFydCB3aXRoIFByb21ldGhldXMsIEdyYWZhbmEsIGFuZCBBbGVydG1hbmFnZXIuXG4gKlxuICogVGhpcyBpcyB0aGUgY29yZSBtb25pdG9yaW5nIHN0YWNrIHRoYXQgaW5jbHVkZXM6XG4gKiAtIFByb21ldGhldXMgKG1ldHJpY3MgY29sbGVjdGlvbiwgMiByZXBsaWNhcywgM2QgcmV0ZW50aW9uKVxuICogLSBHcmFmYW5hICh2aXN1YWxpemF0aW9uLCBpbmdyZXNzIHdpdGggTGV0J3MgRW5jcnlwdClcbiAqIC0gQWxlcnRtYW5hZ2VyIChhbGVydCByb3V0aW5nLCBTTVRQIG5vdGlmaWNhdGlvbnMpXG4gKiAtIFByb21ldGhldXMgT3BlcmF0b3IgKG1hbmFnZXMgUHJvbWV0aGV1cyBDUkRzKVxuICogLSBOb2RlIEV4cG9ydGVyIChzeXN0ZW0gbWV0cmljcyBEYWVtb25TZXQpXG4gKiAtIGt1YmUtc3RhdGUtbWV0cmljcyAoS3ViZXJuZXRlcyByZXNvdXJjZSBtZXRyaWNzKVxuICpcbiAqIFByZXJlcXVpc2l0ZXM6XG4gKiAtIE5hbWVzcGFjZSBleGlzdHNcbiAqIC0gVGhlIFByaW9yaXR5Q2xhc3NlcyBuYW1lZCBpbiBjb25maWcucHJpb3JpdHlDbGFzc2VzIGV4aXN0XG4gKiAtIExvbmdob3JuIHN0b3JhZ2UgY2xhc3MgYXZhaWxhYmxlXG4gKiAtIGNlcnQtbWFuYWdlciBDbHVzdGVySXNzdWVyIGNvbmZpZ3VyZWRcbiAqIC0gVGhhbm9zIFMzIHNlY3JldCBleGlzdHMgKHRoYW5vcy1vYmpzdG9yZS1jb25maWcpXG4gKlxuICogU3luYyBXYXZlOiAyIChjb3JlIHNlcnZpY2VzIC0gYWZ0ZXIgUzMgYnVja2V0cyBhbmQgc2VjcmV0cylcbiAqL1xuZXhwb3J0IGNsYXNzIFByb21ldGhldXNTdGFja0NvbnN0cnVjdCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQcm9tZXRoZXVzU3RhY2tQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCB7IG5hbWVzcGFjZSwgY29uZmlnIH0gPSBwcm9wcztcblxuICAgIC8vIEdlbmVyYXRlIEhlbG0gdmFsdWVzIFlBTUxcbiAgICBjb25zdCBoZWxtVmFsdWVzID0gdGhpcy5nZW5lcmF0ZUhlbG1WYWx1ZXMoY29uZmlnKTtcblxuICAgIC8vIENyZWF0ZSBIZWxtQ2hhcnQgcmVzb3VyY2UgKEszUyBIZWxtIGNvbnRyb2xsZXIpXG4gICAgLy8gV2F2ZSAyOiBDb3JlIFNlcnZpY2VzIC0gbW9uaXRvcmluZyBzdGFja1xuICAgIG5ldyBBcGlPYmplY3QodGhpcywgJ2t1YmUtcHJvbWV0aGV1cy1zdGFjaycsIHtcbiAgICAgIGFwaVZlcnNpb246ICdoZWxtLmNhdHRsZS5pby92MScsXG4gICAgICBraW5kOiAnSGVsbUNoYXJ0JyxcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIG5hbWU6ICdrdWJlLXByb21ldGhldXMtc3RhY2snLFxuICAgICAgICBuYW1lc3BhY2U6IG5hbWVzcGFjZSxcbiAgICAgICAgbGFiZWxzOiB7XG4gICAgICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL25hbWUnOiAna3ViZS1wcm9tZXRoZXVzLXN0YWNrJyxcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vY29tcG9uZW50JzogJ21vbml0b3JpbmcnLFxuICAgICAgICAgICdhcHAua3ViZXJuZXRlcy5pby9tYW5hZ2VkLWJ5JzogJ2NkazhzJyxcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vcGFydC1vZic6ICdtb25pdG9yaW5nJyxcbiAgICAgICAgfSxcbiAgICAgICAgYW5ub3RhdGlvbnM6IHtcbiAgICAgICAgICAnYXJnb2NkLmFyZ29wcm9qLmlvL3N5bmMtd2F2ZSc6ICcyJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzcGVjOiB7XG4gICAgICAgIHJlcG86ICdodHRwczovL3Byb21ldGhldXMtY29tbXVuaXR5LmdpdGh1Yi5pby9oZWxtLWNoYXJ0cycsXG4gICAgICAgIGNoYXJ0OiAna3ViZS1wcm9tZXRoZXVzLXN0YWNrJyxcbiAgICAgICAgdmVyc2lvbjogY29uZmlnLnZlcnNpb25zLnByb21ldGhldXNTdGFjayA9PT0gJ2xhdGVzdCcgPyB1bmRlZmluZWQgOiBjb25maWcudmVyc2lvbnMucHJvbWV0aGV1c1N0YWNrLFxuICAgICAgICB0YXJnZXROYW1lc3BhY2U6IG5hbWVzcGFjZSxcbiAgICAgICAgZmFpbHVyZVBvbGljeTogSEVMTV9DSEFSVF9GQUlMVVJFX1BPTElDWSxcbiAgICAgICAgdmFsdWVzQ29udGVudDogaGVsbVZhbHVlcyxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogYFtzZWN1cml0eV1gIHNlY3Rpb24gb2YgZ3JhZmFuYS5pbmksIGVtcHR5IHVubGVzcyBlbWJlZGRpbmcgaXMgZW5hYmxlZC5cbiAgICpcbiAgICogR3JhZmFuYSBzZW5kcyBgWC1GcmFtZS1PcHRpb25zOiBkZW55YCB1bmxlc3MgYGFsbG93X2VtYmVkZGluZ2AgaXMgc2V0LCB3aGljaFxuICAgKiBibG9ja3MgZXh0ZXJuYWxseSBzaGFyZWQgKFwicHVibGljXCIpIGRhc2hib2FyZHMgaW4gYW4gaWZyYW1lIGp1c3QgYXMgbXVjaCBhc1xuICAgKiB0aGUgYXV0aGVudGljYXRlZCBVSS4gRHJvcHBpbmcgdGhhdCBoZWFkZXIgYWxvbmUgd291bGQgbGV0IGFueSBzaXRlIGZyYW1lXG4gICAqIEdyYWZhbmEsIHNvIGl0IGlzIHBhaXJlZCB3aXRoIGEgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgd2hvc2VcbiAgICogYGZyYW1lLWFuY2VzdG9yc2AgbmFtZXMgdGhlIGFsbG93ZWQgb3JpZ2lucyDigJQgYnJvd3NlcnMgaG9ub3VyIGl0IGluIHBsYWNlIG9mXG4gICAqIHRoZSByZW1vdmVkIGhlYWRlci5cbiAgICpcbiAgICogVGhlIG90aGVyIGRpcmVjdGl2ZXMgYXJlIEdyYWZhbmEncyBvd24gZGVmYXVsdCB0ZW1wbGF0ZSB2ZXJiYXRpbTsgYCROT05DRWBcbiAgICogYW5kIGAkUk9PVF9QQVRIYCBhcmUgZXhwYW5kZWQgYnkgR3JhZmFuYSBwZXIgcmVxdWVzdC4gT25seVxuICAgKiBgJEZPUk1fQUNUSU9OX0FERElUSU9OQUxfSE9TVFNgIGlzIGRyb3BwZWQ6IGl0IGV4aXN0cyBhcyBhIHBsYWNlaG9sZGVyIGp1c3RcbiAgICogaW4gcmVjZW50IEdyYWZhbmFzLCBhbmQgb2xkZXIgb25lcyB3b3VsZCBlbWl0IGl0IGxpdGVyYWxseSBpbnRvIHRoZSBoZWFkZXIuXG4gICAqXG4gICAqIFRoZSBwb2xpY3kgaXMgd3JhcHBlZCBpbiBgXCJcIlwiYCwgZXhhY3RseSBhcyBHcmFmYW5hJ3Mgb3duIGRlZmF1bHRzLmluaSBkb2VzLlxuICAgKiBncmFmYW5hLmluaSBpcyBwYXJzZWQgYnkgZ28taW5pLCB3aGljaCB0cmVhdHMgYDtgIGFzIGFuIGlubGluZSBjb21tZW50IOKAlCBhblxuICAgKiB1bnF1b3RlZCBwb2xpY3kgaXMgc2lsZW50bHkgdHJ1bmNhdGVkIGF0IGl0cyBmaXJzdCBkaXJlY3RpdmUgc2VwYXJhdG9yLCBhbmRcbiAgICogdGhlIGJyb3dzZXIgdGhlbiByZWNlaXZlcyBhIENTUCB3aXRob3V0IGBmcmFtZS1hbmNlc3RvcnNgIHdoaWxlXG4gICAqIGBYLUZyYW1lLU9wdGlvbnNgIGlzIGFscmVhZHkgZ29uZS4gQSBZQU1MIGJsb2NrIHNjYWxhciBjYXJyaWVzIHRoZSBxdW90ZXNcbiAgICogdGhyb3VnaCB1bnRvdWNoZWQ7IGEgcGxhaW4gcXVvdGVkIHNjYWxhciB3b3VsZCBmaWdodCBvdmVyIHRoZSBzYW1lXG4gICAqIGNoYXJhY3Rlci5cbiAgICovXG4gIC8qKlxuICAgKiBFeHRyYSBBbGVydG1hbmFnZXIgcm91dGUgZGVtb3Rpbmcgc3RhZ2luZy1uYW1lc3BhY2UgYWxlcnRzLCBlbXB0eSB1bmxlc3NcbiAgICogc3RhZ2luZ0FsZXJ0cyBpcyBlbmFibGVkLiBQbGFjZWQgYWZ0ZXIgdGhlIG5vaXNlLWRyb3Agcm91dGVzICh0aG9zZSBhcHBseVxuICAgKiB0byBzdGFnaW5nIGp1c3QgYXMgbXVjaCkgYW5kIGJlZm9yZSB0aGUgZGVmYXVsdCBwcm9kdWN0aW9uIHJlY2VpdmVyLlxuICAgKi9cbiAgcHJpdmF0ZSBnZW5lcmF0ZVN0YWdpbmdSb3V0ZShjb25maWc6IE1vbml0b3JpbmdDb25maWcpOiBzdHJpbmcge1xuICAgIGlmICghY29uZmlnLnN0YWdpbmdBbGVydHMuZW5hYmxlZCkgcmV0dXJuICcnO1xuICAgIHJldHVybiBgXG4gICAgICAtIG1hdGNoX3JlOlxuICAgICAgICAgIG5hbWVzcGFjZTogXigke2NvbmZpZy5zdGFnaW5nQWxlcnRzLm5hbWVzcGFjZXMuam9pbignfCcpfSkkXG4gICAgICAgIHJlY2VpdmVyOiBzdGFnaW5nYDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYHN0YWdpbmdgIGVtYWlsIHJlY2VpdmVyLCBlbXB0eSB1bmxlc3Mgc3RhZ2luZ0FsZXJ0cyBpcyBlbmFibGVkLiBTYW1lXG4gICAqIG1haWxib3ggYXMgdGhlIHByb2R1Y3Rpb24gcmVjZWl2ZXIsIGJ1dCB0aGUgc3ViamVjdCBwcmVmaXggbWFya3MgdGhlIG1haWxcbiAgICogYXMgbm9uLXByb2R1Y3Rpb24gYW5kIGtlZXBzIGl0IGZpbHRlcmFibGUuXG4gICAqL1xuICAvKipcbiAgICogQWxlcnRtYW5hZ2VyIHJlYWRzIHRoZSBwYXNzd29yZCBmcm9tIHRoZSBmaWxlIHdoZW4gYSBzZWNyZXQgaXMgY29uZmlndXJlZCxcbiAgICogd2hpY2gga2VlcHMgaXQgb3V0IG9mIHRoZSBzeW50aGVzaXplZCBtYW5pZmVzdHMuXG4gICAqL1xuICBwcml2YXRlIGdlbmVyYXRlU210cEF1dGhQYXNzd29yZChjb25maWc6IE1vbml0b3JpbmdDb25maWcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlY3JldCA9IGNvbmZpZy5zbXRwLnBhc3N3b3JkU2VjcmV0O1xuICAgIGlmIChzZWNyZXQpIHtcbiAgICAgIHJldHVybiBgc210cF9hdXRoX3Bhc3N3b3JkX2ZpbGU6IC9ldGMvYWxlcnRtYW5hZ2VyL3NlY3JldHMvJHtzZWNyZXQubmFtZX0vJHtzZWNyZXQua2V5fWA7XG4gICAgfVxuICAgIHJldHVybiBgc210cF9hdXRoX3Bhc3N3b3JkOiAke2NvbmZpZy5zbXRwLnBhc3N3b3JkIHx8ICcnfWA7XG4gIH1cblxuICAvKiogRmFsbHMgYmFjayB0byB0aGUgc2VuZGVyIGFkZHJlc3Mgc28gZXhpc3RpbmcgY29uZmlncyBrZWVwIHRoZWlyIHJlY2lwaWVudC4gKi9cbiAgcHJpdmF0ZSBnZW5lcmF0ZVJlY2lwaWVudHMoY29uZmlnOiBNb25pdG9yaW5nQ29uZmlnKTogc3RyaW5nIHtcbiAgICBjb25zdCByZWNpcGllbnRzID0gY29uZmlnLnNtdHAucmVjaXBpZW50cztcbiAgICBpZiAocmVjaXBpZW50cyAmJiByZWNpcGllbnRzLmxlbmd0aCA+IDApIHJldHVybiByZWNpcGllbnRzLmpvaW4oJywgJyk7XG4gICAgcmV0dXJuIGNvbmZpZy5zbXRwLmZyb207XG4gIH1cblxuICAvKiogTW91bnRzIHRoZSBwYXNzd29yZCBzZWNyZXQgYXQgL2V0Yy9hbGVydG1hbmFnZXIvc2VjcmV0cy88bmFtZT4vPGtleT4uICovXG4gIHByaXZhdGUgZ2VuZXJhdGVBbGVydG1hbmFnZXJTZWNyZXRzKGNvbmZpZzogTW9uaXRvcmluZ0NvbmZpZyk6IHN0cmluZyB7XG4gICAgY29uc3Qgc2VjcmV0ID0gY29uZmlnLnNtdHAucGFzc3dvcmRTZWNyZXQ7XG4gICAgaWYgKCFzZWNyZXQpIHJldHVybiAnJztcbiAgICByZXR1cm4gYFxuICAgIHNlY3JldHM6XG4gICAgLSAke3NlY3JldC5uYW1lfWA7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlU3RhZ2luZ1JlY2VpdmVyKGNvbmZpZzogTW9uaXRvcmluZ0NvbmZpZyk6IHN0cmluZyB7XG4gICAgaWYgKCFjb25maWcuc3RhZ2luZ0FsZXJ0cy5lbmFibGVkKSByZXR1cm4gJyc7XG4gICAgcmV0dXJuIGBcbiAgICAtIG5hbWU6IHN0YWdpbmdcbiAgICAgIGVtYWlsX2NvbmZpZ3M6XG4gICAgICAtIHNlbmRfcmVzb2x2ZWQ6IHRydWVcbiAgICAgICAgdG86ICR7dGhpcy5nZW5lcmF0ZVJlY2lwaWVudHMoY29uZmlnKX1cbiAgICAgICAgaGVhZGVyczpcbiAgICAgICAgICBzdWJqZWN0OiAnW1NUQUdJTkddIHt7IHRlbXBsYXRlIFwiZW1haWwuZGVmYXVsdC5zdWJqZWN0XCIgLiB9fSdgO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUdyYWZhbmFTZWN1cml0eShjb25maWc6IE1vbml0b3JpbmdDb25maWcpOiBzdHJpbmcge1xuICAgIGlmICghY29uZmlnLmVtYmVkZGluZy5lbmFibGVkKSByZXR1cm4gJyc7XG4gICAgY29uc3QgcG9saWN5ID0gW1xuICAgICAgXCJzY3JpcHQtc3JjICdzZWxmJyAndW5zYWZlLWV2YWwnICd1bnNhZmUtaW5saW5lJyAnc3RyaWN0LWR5bmFtaWMnICROT05DRVwiLFxuICAgICAgXCJvYmplY3Qtc3JjICdub25lJ1wiLFxuICAgICAgXCJmb250LXNyYyAnc2VsZidcIixcbiAgICAgIFwic3R5bGUtc3JjICdzZWxmJyAndW5zYWZlLWlubGluZScgYmxvYjpcIixcbiAgICAgICdpbWctc3JjICogZGF0YTonLFxuICAgICAgXCJiYXNlLXVyaSAnc2VsZidcIixcbiAgICAgIFwiY29ubmVjdC1zcmMgJ3NlbGYnIGdyYWZhbmEuY29tIHdzOi8vJFJPT1RfUEFUSCB3c3M6Ly8kUk9PVF9QQVRIXCIsXG4gICAgICBcIm1hbmlmZXN0LXNyYyAnc2VsZidcIixcbiAgICAgIFwibWVkaWEtc3JjICdub25lJ1wiLFxuICAgICAgXCJmb3JtLWFjdGlvbiAnc2VsZidcIixcbiAgICAgIGBmcmFtZS1hbmNlc3RvcnMgJ3NlbGYnICR7Y29uZmlnLmVtYmVkZGluZy5mcmFtZUFuY2VzdG9ycy5qb2luKCcgJyl9YCxcbiAgICBdLm1hcCgoZGlyZWN0aXZlKSA9PiBgJHtkaXJlY3RpdmV9O2ApLmpvaW4oJycpO1xuICAgIHJldHVybiBgXG4gICAgc2VjdXJpdHk6XG4gICAgICBhbGxvd19lbWJlZGRpbmc6IHRydWVcbiAgICAgIGNvbnRlbnRfc2VjdXJpdHlfcG9saWN5OiB0cnVlXG4gICAgICBjb250ZW50X3NlY3VyaXR5X3BvbGljeV90ZW1wbGF0ZTogPi1cbiAgICAgICAgXCJcIlwiJHtwb2xpY3l9XCJcIlwiYDtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVIZWxtVmFsdWVzKGNvbmZpZzogTW9uaXRvcmluZ0NvbmZpZyk6IHN0cmluZyB7XG4gICAgLy8gVGVtcG8gZGF0YXNvdXJjZSBpcyBvbmx5IHByb3Zpc2lvbmVkIHdoZW4gdHJhY2luZyBpcyBlbmFibGVkLiBXaGVuXG4gICAgLy8gZGlzYWJsZWQgdGhpcyBpcyBlbXB0eSwgc28gdGhlIEdyYWZhbmEgYmxvY2sgaXMgYnl0ZS1pZGVudGljYWwgdG8gYmVmb3JlLlxuICAgIGNvbnN0IHRlbXBvRGF0YXNvdXJjZSA9IGNvbmZpZy50ZW1wby5lbmFibGVkID8gYFxuICAgICAgLSBuYW1lOiBUZW1wb1xuICAgICAgICB0eXBlOiB0ZW1wb1xuICAgICAgICB1aWQ6IHRlbXBvXG4gICAgICAgIGFjY2VzczogcHJveHlcbiAgICAgICAgdXJsOiBodHRwOi8vdGVtcG8uJHtjb25maWcubmFtZXNwYWNlfS5zdmMuY2x1c3Rlci5sb2NhbDozMjAwXG4gICAgICAgIGpzb25EYXRhOlxuICAgICAgICAgIHRpbWVvdXQ6IDYwXG4gICAgICAgICAgdHJhY2VzVG9Mb2dzVjI6XG4gICAgICAgICAgICBkYXRhc291cmNlVWlkOiBsb2tpXG4gICAgICAgICAgICBzcGFuU3RhcnRUaW1lU2hpZnQ6IFwiLTFoXCJcbiAgICAgICAgICAgIHNwYW5FbmRUaW1lU2hpZnQ6IFwiMWhcIlxuICAgICAgICAgICAgZmlsdGVyQnlUcmFjZUlEOiB0cnVlXG4gICAgICAgICAgdHJhY2VzVG9NZXRyaWNzOlxuICAgICAgICAgICAgZGF0YXNvdXJjZVVpZDogdGhhbm9zYCA6ICcnO1xuICAgIHJldHVybiBga3ViZUV0Y2Q6XG4gIGVuYWJsZWQ6IGZhbHNlXG5cbiMgRGlzYWJsZSBrdWJlLWNvbnRyb2xsZXItbWFuYWdlciBhbmQga3ViZS1zY2hlZHVsZXIgbW9uaXRvcmluZy4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9jYWJsZXNwYWdoZXR0aS9rM3MtbW9uaXRvcmluZy9pc3N1ZXMvMlxua3ViZUNvbnRyb2xsZXJNYW5hZ2VyOlxuICBlbmFibGVkOiBmYWxzZVxua3ViZVNjaGVkdWxlcjpcbiAgZW5hYmxlZDogZmFsc2VcblxuIyBrM3MgcnVucyBrdWJlLXByb3h5IGluc2lkZSB0aGUgYWdlbnQgcmF0aGVyIHRoYW4gYXMgYSBzZXBhcmF0ZSBjb21wb25lbnQsIHNvXG4jIHRoZXJlIGlzIG5vIGVuZHBvaW50IHRvIHNjcmFwZS4gTGVhdmluZyB0aGlzIGVuYWJsZWQgbWFrZXMgdGhlIHN0b2NrXG4jIEt1YmVQcm94eURvd24gcnVsZSAtLSBhYnNlbnQodXB7am9iPVwia3ViZS1wcm94eVwifSkgLS0gZmlyZSBmb3JldmVyIG9uIGFcbiMgcGVyZmVjdGx5IGhlYWx0aHkgY2x1c3Rlci5cbmt1YmVQcm94eTpcbiAgZW5hYmxlZDogZmFsc2VcblxuIyBUaGUgc3RvY2sgS3ViZUpvYkZhaWxlZCBmaXJlcyBmb3IgYXMgbG9uZyBhcyBhIGZhaWxlZCBKb2Igb2JqZWN0IGV4aXN0cy4gQ3JvbkpvYnNcbiMga2VlcCB0aGVpciBmYWlsZWQgSm9icyAoZmFpbGVkSm9ic0hpc3RvcnlMaW1pdCkgdW50aWwgbmV3ZXIgZmFpbHVyZXMgcmVwbGFjZSB0aGVtLFxuIyBzbyBvbmUgYmFkIG5pZ2h0IGtlZXBzIHRoZSBhbGVydCBmaXJpbmcgZm9yIHdlZWtzIGFmdGVyIHRoZSBDcm9uSm9iIGhhcyByZWNvdmVyZWQuXG4jIFRoZSBqb2ItaGVhbHRoIGdyb3VwIGJlbG93IHJlcGxhY2VzIGl0LlxuZGVmYXVsdFJ1bGVzOlxuICBkaXNhYmxlZDpcbiAgICBLdWJlSm9iRmFpbGVkOiB0cnVlXG5cbiMgRGV0ZWN0IFBvZERpc3J1cHRpb25CdWRnZXRzIHRoYXQgd291bGQgYmxvY2sgYSBub2RlIGRyYWluIGR1cmluZyBrM3MgdXBncmFkZXMuXG4jIE9wZXJhdG9yLW1hbmFnZWQgUERCcyBzaXQgYXQgZGlzcnVwdGlvbnNBbGxvd2VkPTAgYnkgZGVzaWduIChMb25naG9ybiBpbnN0YW5jZS1tYW5hZ2VycyxcbiMgQ05QRyAqLXByaW1hcnkpIGFuZCBhcmUgZXhjbHVkZWQgc28gdGhlIGFsZXJ0IG9ubHkgZmlyZXMgb24gYW5vbWFsb3VzIGFwcCBQREJzLlxuIyBBIFBEQiB0aGF0IHNlbGVjdHMgbm8gcG9kcyBhbHNvIHJlcG9ydHMgZGlzcnVwdGlvbnNBbGxvd2VkPTAsIGJ1dCBibG9ja3Mgbm90aGluZy5cbmFkZGl0aW9uYWxQcm9tZXRoZXVzUnVsZXNNYXA6XG4gIGpvYi1oZWFsdGg6XG4gICAgZ3JvdXBzOlxuICAgICAgLSBuYW1lOiBqb2IucnVsZXNcbiAgICAgICAgcnVsZXM6XG4gICAgICAgICAgIyBzdGF0dXMuYWN0aXZlIG9mIGEgQ3JvbkpvYiBsaXN0cyBpdHMgdW5maW5pc2hlZCBKb2JzLCBpbmNsdWRpbmcgb25lXG4gICAgICAgICAgIyB3YWl0aW5nIG91dCBpdHMgcmV0cnkgYmFja29mZiwgc28gYWN0aXZlID09IDAgbWVhbnMgdGhlIGxhc3QgcnVuIGlzIG92ZXIuXG4gICAgICAgICAgLSBhbGVydDogS3ViZUNyb25Kb2JMYXN0UnVuRmFpbGVkXG4gICAgICAgICAgICBleHByOiB8XG4gICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICBrdWJlX2Nyb25qb2Jfc3RhdHVzX2xhc3Rfc2NoZWR1bGVfdGltZXtqb2I9XCJrdWJlLXN0YXRlLW1ldHJpY3NcIn1cbiAgICAgICAgICAgICAgICAgID4gb24obmFtZXNwYWNlLCBjcm9uam9iKSBrdWJlX2Nyb25qb2Jfc3RhdHVzX2xhc3Rfc3VjY2Vzc2Z1bF90aW1le2pvYj1cImt1YmUtc3RhdGUtbWV0cmljc1wifVxuICAgICAgICAgICAgICAgIG9yXG4gICAgICAgICAgICAgICAga3ViZV9jcm9uam9iX3N0YXR1c19sYXN0X3NjaGVkdWxlX3RpbWV7am9iPVwia3ViZS1zdGF0ZS1tZXRyaWNzXCJ9XG4gICAgICAgICAgICAgICAgICB1bmxlc3Mgb24obmFtZXNwYWNlLCBjcm9uam9iKSBrdWJlX2Nyb25qb2Jfc3RhdHVzX2xhc3Rfc3VjY2Vzc2Z1bF90aW1le2pvYj1cImt1YmUtc3RhdGUtbWV0cmljc1wifVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIGFuZCBvbihuYW1lc3BhY2UsIGNyb25qb2IpIGt1YmVfY3JvbmpvYl9zdGF0dXNfYWN0aXZle2pvYj1cImt1YmUtc3RhdGUtbWV0cmljc1wifSA9PSAwXG4gICAgICAgICAgICBmb3I6IDE1bVxuICAgICAgICAgICAgbGFiZWxzOlxuICAgICAgICAgICAgICBzZXZlcml0eTogd2FybmluZ1xuICAgICAgICAgICAgYW5ub3RhdGlvbnM6XG4gICAgICAgICAgICAgIHN1bW1hcnk6IFwiQ3JvbkpvYiB7eyAkbGFiZWxzLm5hbWVzcGFjZSB9fS97eyAkbGFiZWxzLmNyb25qb2IgfX06IGxhc3QgcnVuIGZhaWxlZFwiXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiB8XG4gICAgICAgICAgICAgICAgVGhlIG1vc3QgcmVjZW50IHJ1biBvZiBDcm9uSm9iIHt7ICRsYWJlbHMubmFtZXNwYWNlIH19L3t7ICRsYWJlbHMuY3JvbmpvYiB9fSBkaWQgbm90XG4gICAgICAgICAgICAgICAgc3VjY2VlZC4gVGhlIGFsZXJ0IHJlc29sdmVzIHdpdGggdGhlIG5leHQgc3VjY2Vzc2Z1bCBydW4uXG4gICAgICAgICAgICAgICAgQ2hlY2s6IGt1YmVjdGwgZ2V0IGpvYnMgLW4ge3sgJGxhYmVscy5uYW1lc3BhY2UgfX0gLS1zb3J0LWJ5PS5tZXRhZGF0YS5jcmVhdGlvblRpbWVzdGFtcFxuICAgICAgICAgIC0gYWxlcnQ6IEt1YmVKb2JGYWlsZWRcbiAgICAgICAgICAgIGV4cHI6IHxcbiAgICAgICAgICAgICAga3ViZV9qb2JfZmFpbGVke2pvYj1cImt1YmUtc3RhdGUtbWV0cmljc1wiLCBjb25kaXRpb249XCJ0cnVlXCJ9ID4gMFxuICAgICAgICAgICAgICB1bmxlc3Mgb24obmFtZXNwYWNlLCBqb2JfbmFtZSkga3ViZV9qb2Jfb3duZXJ7am9iPVwia3ViZS1zdGF0ZS1tZXRyaWNzXCIsIG93bmVyX2tpbmQ9XCJDcm9uSm9iXCJ9XG4gICAgICAgICAgICBmb3I6IDE1bVxuICAgICAgICAgICAgbGFiZWxzOlxuICAgICAgICAgICAgICBzZXZlcml0eTogd2FybmluZ1xuICAgICAgICAgICAgYW5ub3RhdGlvbnM6XG4gICAgICAgICAgICAgIHN1bW1hcnk6IFwiSm9iIHt7ICRsYWJlbHMubmFtZXNwYWNlIH19L3t7ICRsYWJlbHMuam9iX25hbWUgfX0gZmFpbGVkXCJcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHxcbiAgICAgICAgICAgICAgICBKb2Ige3sgJGxhYmVscy5uYW1lc3BhY2UgfX0ve3sgJGxhYmVscy5qb2JfbmFtZSB9fSBmYWlsZWQuIEl0IGlzIG5vdCBvd25lZCBieSBhXG4gICAgICAgICAgICAgICAgQ3JvbkpvYiAodGhvc2UgYXJlIGNvdmVyZWQgYnkgS3ViZUNyb25Kb2JMYXN0UnVuRmFpbGVkKSwgc28gaXQgc3RheXMgZmFpbGVkIHVudGlsXG4gICAgICAgICAgICAgICAgc29tZW9uZSBmaXhlcyBhbmQgcmUtcnVucyBvciBkZWxldGVzIGl0LlxuICBwZGItZHJhaW4tc2FmZXR5OlxuICAgIGdyb3VwczpcbiAgICAgIC0gbmFtZTogcGRiLnJ1bGVzXG4gICAgICAgIGludGVydmFsOiAxbVxuICAgICAgICBydWxlczpcbiAgICAgICAgICAtIGFsZXJ0OiBQb2REaXNydXB0aW9uQnVkZ2V0VW5kcmFpbmFibGVcbiAgICAgICAgICAgIGV4cHI6IHxcbiAgICAgICAgICAgICAga3ViZV9wb2RkaXNydXB0aW9uYnVkZ2V0X3N0YXR1c19wb2RfZGlzcnVwdGlvbnNfYWxsb3dlZHtuYW1lc3BhY2UhPVwibG9uZ2hvcm4tc3lzdGVtXCIsIHBvZGRpc3J1cHRpb25idWRnZXQhflwiLiotcHJpbWFyeVwifSA9PSAwXG4gICAgICAgICAgICAgIGFuZCBvbihuYW1lc3BhY2UsIHBvZGRpc3J1cHRpb25idWRnZXQpIGt1YmVfcG9kZGlzcnVwdGlvbmJ1ZGdldF9zdGF0dXNfZXhwZWN0ZWRfcG9kcyA+IDBcbiAgICAgICAgICAgIGZvcjogMTVtXG4gICAgICAgICAgICBsYWJlbHM6XG4gICAgICAgICAgICAgIHNldmVyaXR5OiB3YXJuaW5nXG4gICAgICAgICAgICAgIGNvbXBvbmVudDogY2x1c3Rlci11cGdyYWRlXG4gICAgICAgICAgICBhbm5vdGF0aW9uczpcbiAgICAgICAgICAgICAgc3VtbWFyeTogXCJQREIge3sgJGxhYmVscy5uYW1lc3BhY2UgfX0ve3sgJGxhYmVscy5wb2RkaXNydXB0aW9uYnVkZ2V0IH19IGFsbG93cyAwIHZvbHVudGFyeSBkaXNydXB0aW9uc1wiXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiB8XG4gICAgICAgICAgICAgICAgVGhlIFBvZERpc3J1cHRpb25CdWRnZXQge3sgJGxhYmVscy5uYW1lc3BhY2UgfX0ve3sgJGxhYmVscy5wb2RkaXNydXB0aW9uYnVkZ2V0IH19XG4gICAgICAgICAgICAgICAgaGFzIGFsbG93ZWQgMCB2b2x1bnRhcnkgZGlzcnVwdGlvbnMgZm9yIG92ZXIgMTUgbWludXRlcy4gVGhpcyB3aWxsIGJsb2NrIGEgbm9kZVxuICAgICAgICAgICAgICAgIGRyYWluIGR1cmluZyBrM3MgdXBncmFkZXMuIE9wZXJhdG9yLW1hbmFnZWQgUERCcyAoTG9uZ2hvcm4sIENOUEcgcHJpbWFyaWVzKSBhcmVcbiAgICAgICAgICAgICAgICBleGNsdWRlZCBmcm9tIHRoaXMgYWxlcnQuIExpa2VseSBhIGRlZ3JhZGVkIGRlcGxveW1lbnQgKDAgaGVhbHRoeSBwb2RzKSBvciBhXG4gICAgICAgICAgICAgICAgc2luZ2xlLXJlcGxpY2EgZGVwbG95bWVudCB3aXRoIG1pbkF2YWlsYWJsZT0xLlxuICAgICAgICAgICAgICAgIENoZWNrOiBrdWJlY3RsIGdldCBwZGIgLW4ge3sgJGxhYmVscy5uYW1lc3BhY2UgfX0ge3sgJGxhYmVscy5wb2RkaXNydXB0aW9uYnVkZ2V0IH19XG4gICAgICAgICAgLSBhbGVydDogUG9kRGlzcnVwdGlvbkJ1ZGdldFVuZHJhaW5hYmxlQ3JpdGljYWxcbiAgICAgICAgICAgIGV4cHI6IHxcbiAgICAgICAgICAgICAga3ViZV9wb2RkaXNydXB0aW9uYnVkZ2V0X3N0YXR1c19wb2RfZGlzcnVwdGlvbnNfYWxsb3dlZHtuYW1lc3BhY2UhPVwibG9uZ2hvcm4tc3lzdGVtXCIsIHBvZGRpc3J1cHRpb25idWRnZXQhflwiLiotcHJpbWFyeVwifSA9PSAwXG4gICAgICAgICAgICAgIGFuZCBvbihuYW1lc3BhY2UsIHBvZGRpc3J1cHRpb25idWRnZXQpIGt1YmVfcG9kZGlzcnVwdGlvbmJ1ZGdldF9zdGF0dXNfZXhwZWN0ZWRfcG9kcyA+IDBcbiAgICAgICAgICAgIGZvcjogMWhcbiAgICAgICAgICAgIGxhYmVsczpcbiAgICAgICAgICAgICAgc2V2ZXJpdHk6IGNyaXRpY2FsXG4gICAgICAgICAgICAgIGNvbXBvbmVudDogY2x1c3Rlci11cGdyYWRlXG4gICAgICAgICAgICBhbm5vdGF0aW9uczpcbiAgICAgICAgICAgICAgc3VtbWFyeTogXCJQREIge3sgJGxhYmVscy5uYW1lc3BhY2UgfX0ve3sgJGxhYmVscy5wb2RkaXNydXB0aW9uYnVkZ2V0IH19IHVuZHJhaW5hYmxlID4xaFwiXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiB8XG4gICAgICAgICAgICAgICAgUERCIHt7ICRsYWJlbHMubmFtZXNwYWNlIH19L3t7ICRsYWJlbHMucG9kZGlzcnVwdGlvbmJ1ZGdldCB9fSBoYXMgYmxvY2tlZFxuICAgICAgICAgICAgICAgIHZvbHVudGFyeSBkaXNydXB0aW9ucyBmb3Igb3ZlciBhbiBob3VyLiBBIGszcyBhZ2VudCB1cGdyYWRlIHdvdWxkIHN0YWxsIG9uIHRoaXMgbm9kZS5cbiMgRHJvcCBoaWdoLWNhcmRpbmFsaXR5IEFQSSBzZXJ2ZXIgYW5kIGV0Y2QgaGlzdG9ncmFtIGJ1Y2tldHMgdG8gcmVkdWNlIG1lbW9yeSB1c2FnZVxuIyBUaGVzZSBtZXRyaWNzIGFsb25lIGFjY291bnQgZm9yIH4yMDBrIHNlcmllcyAoNDclIG9mIHRvdGFsIGNhcmRpbmFsaXR5KVxuIyBXZSBrZWVwIF9zdW0gYW5kIF9jb3VudCBzdWZmaXhlcyB3aGljaCBhcmUgc3VmZmljaWVudCBmb3IgcmF0ZSBjYWxjdWxhdGlvbnNcbiNcbiMgVGhlIHdhdGNoIGhpc3RvZ3JhbXMsIHRoZSB3b3JrcXVldWUgYW5kIHRoZSBzY2hlZHVsZXIgcGx1Z2luIGJ1Y2tldHMgY2FtZSBvblxuIyB0b3Agb2YgdGhhdDogazNzIHJ1bnMgYXBpc2VydmVyLCBjb250cm9sbGVyLW1hbmFnZXIgYW5kIHNjaGVkdWxlciBpbiBvbmVcbiMgcHJvY2VzcyB3aXRoIG9uZSBtZXRyaWNzIHJlZ2lzdHJ5LCBzbyB0aGUgYXBpc2VydmVyIGVuZHBvaW50IGFsc28gc2VydmVzXG4jIHNjaGVkdWxlcl8qIGFuZCB3b3JrcXVldWVfKiBzZXJpZXMuIE1lYXN1cmVkIG9uIGEgNi1ub2RlIGszcyBjbHVzdGVyXG4jICgyMDI2LTEwLTI0KTogNTZrIHdhdGNoXyosIDhrIHdvcmtxdWV1ZV8qLCAzayBzY2hlZHVsZXJfcGx1Z2luXyogb2YgNDA4a1xuIyBzZXJpZXMuIE5vdGhpbmcgaW4gdGhlIHNoaXBwZWQgYWxlcnRzIG9yIGRhc2hib2FyZHMgcmVhZHMgdGhlbS5cbmt1YmVBcGlTZXJ2ZXI6XG4gIHNlcnZpY2VNb25pdG9yOlxuICAgIG1ldHJpY1JlbGFiZWxpbmdzOlxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdhcGlzZXJ2ZXJfcmVxdWVzdF9kdXJhdGlvbl9zZWNvbmRzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ2FwaXNlcnZlcl9yZXF1ZXN0X3NsaV9kdXJhdGlvbl9zZWNvbmRzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ2FwaXNlcnZlcl9yZXF1ZXN0X2JvZHlfc2l6ZV9ieXRlc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdhcGlzZXJ2ZXJfcmVzcG9uc2Vfc2l6ZXNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnZXRjZF9yZXF1ZXN0X2R1cmF0aW9uX3NlY29uZHNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnYXBpc2VydmVyX3dhdGNoXyhjYWNoZV9yZWFkX3dhaXRfc2Vjb25kc3xsaXN0X2R1cmF0aW9uX3NlY29uZHN8ZXZlbnRzX3NpemVzKV9idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICd3b3JrcXVldWVfKHF1ZXVlfHdvcmspX2R1cmF0aW9uX3NlY29uZHNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnc2NoZWR1bGVyX3BsdWdpbl9leGVjdXRpb25fZHVyYXRpb25fc2Vjb25kc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuXG4jIEt1YmVsZXQgYWxzbyBleHBvc2VzIGFwaXNlcnZlciBtZXRyaWNzIC0gYXBwbHkgc2FtZSBmaWx0ZXJzXG5rdWJlbGV0OlxuICBzZXJ2aWNlTW9uaXRvcjpcbiAgICAjIC9tZXRyaWNzL3Byb2JlcyBvbmx5IGhvbGRzIHByb2Jlcl9wcm9iZV9kdXJhdGlvbl9zZWNvbmRzIGhpc3RvZ3JhbXNcbiAgICAjIChvbmUgc2VyaWVzIHBlciBwcm9iZSwgY29udGFpbmVyIGFuZCBidWNrZXQsIH41ayBvbiBhIHNtYWxsIGNsdXN0ZXIpO1xuICAgICMgbm90aGluZyBjb25zdW1lcyB0aGVtLlxuICAgIHByb2JlczogZmFsc2VcbiAgICBtZXRyaWNSZWxhYmVsaW5nczpcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnYXBpc2VydmVyX3JlcXVlc3RfZHVyYXRpb25fc2Vjb25kc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdhcGlzZXJ2ZXJfcmVxdWVzdF9zbGlfZHVyYXRpb25fc2Vjb25kc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdhcGlzZXJ2ZXJfcmVxdWVzdF9ib2R5X3NpemVfYnl0ZXNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnYXBpc2VydmVyX3Jlc3BvbnNlX3NpemVzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ2V0Y2RfcmVxdWVzdF9kdXJhdGlvbl9zZWNvbmRzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ2FwaXNlcnZlcl93YXRjaF8oY2FjaGVfcmVhZF93YWl0X3NlY29uZHN8bGlzdF9kdXJhdGlvbl9zZWNvbmRzfGV2ZW50c19zaXplcylfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnd29ya3F1ZXVlXyhxdWV1ZXx3b3JrKV9kdXJhdGlvbl9zZWNvbmRzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ3NjaGVkdWxlcl9wbHVnaW5fZXhlY3V0aW9uX2R1cmF0aW9uX3NlY29uZHNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcblxuYWxlcnRtYW5hZ2VyOlxuICBjb25maWc6XG4gICAgZ2xvYmFsOlxuICAgICAgc210cF9mcm9tOiAke2NvbmZpZy5zbXRwLmZyb219XG4gICAgICBzbXRwX3NtYXJ0aG9zdDogJHtjb25maWcuc210cC5ob3N0fToke2NvbmZpZy5zbXRwLnBvcnR9XG4gICAgICBzbXRwX3JlcXVpcmVfdGxzOiAke2NvbmZpZy5zbXRwLnJlcXVpcmVUbHN9XG4gICAgICBzbXRwX2F1dGhfdXNlcm5hbWU6ICR7Y29uZmlnLnNtdHAudXNlcm5hbWUgfHwgY29uZmlnLnNtdHAuZnJvbX1cbiAgICAgICR7dGhpcy5nZW5lcmF0ZVNtdHBBdXRoUGFzc3dvcmQoY29uZmlnKX1cbiAgICByb3V0ZTpcbiAgICAgIGdyb3VwX2J5OiBbJ2pvYiddXG4gICAgICBncm91cF93YWl0OiAzMHNcbiAgICAgIGdyb3VwX2ludGVydmFsOiA1bVxuICAgICAgcmVwZWF0X2ludGVydmFsOiAke2NvbmZpZy5hbGVydFJvdXRpbmcucmVwZWF0SW50ZXJ2YWx9XG4gICAgICByZWNlaXZlcjogZW1haWxcbiAgICAgIHJvdXRlczpcbiAgICAgIC0gbWF0Y2g6XG4gICAgICAgICAgYWxlcnRuYW1lOiBXYXRjaGRvZ1xuICAgICAgICByZWNlaXZlcjogJ251bGwnXG4gICAgICAtIG1hdGNoOlxuICAgICAgICAgIGFsZXJ0bmFtZTogQ1BVVGhyb3R0bGluZ0hpZ2hcbiAgICAgICAgcmVjZWl2ZXI6ICdudWxsJ1xuICAgICAgLSBtYXRjaDpcbiAgICAgICAgICBhbGVydG5hbWU6IEt1YmVNZW1vcnlPdmVyY29tbWl0XG4gICAgICAgIHJlY2VpdmVyOiAnbnVsbCdcbiAgICAgIC0gbWF0Y2g6XG4gICAgICAgICAgYWxlcnRuYW1lOiBLdWJlQ1BVT3ZlcmNvbW1pdFxuICAgICAgICByZWNlaXZlcjogJ251bGwnXG4gICAgICAtIG1hdGNoOlxuICAgICAgICAgIGFsZXJ0bmFtZTogS3ViZWxldFRvb01hbnlQb2RzXG4gICAgICAgIHJlY2VpdmVyOiAnbnVsbCdcbiAgICAgICMgU2V2ZXJpdHkgXCJub25lXCI6IGV4aXN0cyBvbmx5IHRvIGluaGliaXQgaW5mbyBhbGVydHMsIG5ldmVyIG1lYW50IGZvciBhIGh1bWFuLlxuICAgICAgLSBtYXRjaDpcbiAgICAgICAgICBhbGVydG5hbWU6IEluZm9JbmhpYml0b3JcbiAgICAgICAgcmVjZWl2ZXI6ICdudWxsJyR7dGhpcy5nZW5lcmF0ZVN0YWdpbmdSb3V0ZShjb25maWcpfVxuXG4gICAgcmVjZWl2ZXJzOlxuICAgIC0gbmFtZTogJ251bGwnXG4gICAgLSBuYW1lOiBlbWFpbFxuICAgICAgZW1haWxfY29uZmlnczpcbiAgICAgIC0gc2VuZF9yZXNvbHZlZDogdHJ1ZVxuICAgICAgICB0bzogJHt0aGlzLmdlbmVyYXRlUmVjaXBpZW50cyhjb25maWcpfSR7dGhpcy5nZW5lcmF0ZVN0YWdpbmdSZWNlaXZlcihjb25maWcpfVxuXG4gICAgIyBJbmhpYml0aW9uIHJ1bGVzIGFsbG93IHRvIG11dGUgYSBzZXQgb2YgYWxlcnRzIGdpdmVuIHRoYXQgYW5vdGhlciBhbGVydCBpcyBmaXJpbmcuXG4gICAgIyBXZSB1c2UgdGhpcyB0byBtdXRlIGFueSB3YXJuaW5nLWxldmVsIG5vdGlmaWNhdGlvbnMgaWYgdGhlIHNhbWUgYWxlcnQgaXMgYWxyZWFkeSBjcml0aWNhbC5cbiAgICBpbmhpYml0X3J1bGVzOlxuICAgIC0gc291cmNlX21hdGNoOlxuICAgICAgICBzZXZlcml0eTogJ2NyaXRpY2FsJ1xuICAgICAgdGFyZ2V0X21hdGNoOlxuICAgICAgICBzZXZlcml0eTogJ3dhcm5pbmcnXG4gICAgICAjIEFwcGx5IGluaGliaXRpb24gaWYgdGhlIGFsZXJ0bmFtZSBpcyB0aGUgc2FtZS5cbiAgICAgIGVxdWFsOiBbJ2FsZXJ0bmFtZScsICduYW1lc3BhY2UnXVxuICAgICMgU2FtZSBQREIsIHNhbWUgY29uZGl0aW9uOyB0aGUgY3JpdGljYWwgdmFyaWFudCBvbmx5IGFkZHMgdGhlIGxvbmdlciBkdXJhdGlvbi5cbiAgICAtIHNvdXJjZV9tYXRjaDpcbiAgICAgICAgYWxlcnRuYW1lOiBQb2REaXNydXB0aW9uQnVkZ2V0VW5kcmFpbmFibGVDcml0aWNhbFxuICAgICAgdGFyZ2V0X21hdGNoOlxuICAgICAgICBhbGVydG5hbWU6IFBvZERpc3J1cHRpb25CdWRnZXRVbmRyYWluYWJsZVxuICAgICAgZXF1YWw6IFsnbmFtZXNwYWNlJywgJ3BvZGRpc3J1cHRpb25idWRnZXQnXVxuXG4gIGFsZXJ0bWFuYWdlclNwZWM6XG4gICAgcmVwbGljYXM6ICR7Y29uZmlnLnJlcGxpY2FzLmFsZXJ0bWFuYWdlcn1cbiAgICBwb2RBbnRpQWZmaW5pdHk6IFwic29mdFwiJHt0aGlzLmdlbmVyYXRlQWxlcnRtYW5hZ2VyU2VjcmV0cyhjb25maWcpfVxuICAgIHN0b3JhZ2U6XG4gICAgICB2b2x1bWVDbGFpbVRlbXBsYXRlOlxuICAgICAgICBzcGVjOlxuICAgICAgICAgIGFjY2Vzc01vZGVzOiBbXCJSZWFkV3JpdGVPbmNlXCJdXG4gICAgICAgICAgcmVzb3VyY2VzOlxuICAgICAgICAgICAgcmVxdWVzdHM6XG4gICAgICAgICAgICAgIHN0b3JhZ2U6ICR7Y29uZmlnLnN0b3JhZ2UuYWxlcnRtYW5hZ2VyfVxuICAgIHJlc291cmNlczpcbiAgICAgIGxpbWl0czpcbiAgICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMuYWxlcnRtYW5hZ2VyLmxpbWl0cy5jcHV9XG4gICAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmFsZXJ0bWFuYWdlci5saW1pdHMubWVtb3J5fVxuICAgICAgcmVxdWVzdHM6XG4gICAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmFsZXJ0bWFuYWdlci5yZXF1ZXN0cy5jcHV9XG4gICAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmFsZXJ0bWFuYWdlci5yZXF1ZXN0cy5tZW1vcnl9XG4gICAgcHJpb3JpdHlDbGFzc05hbWU6ICR7Y29uZmlnLnByaW9yaXR5Q2xhc3Nlcy5jYXB0dXJlfVxuXG4gICAgIyBTaWRlY2FyIGNvbnRhaW5lcnMgcmVzb3VyY2UgcmVxdWVzdHMgKGFkZGVkIDIwMjUtMTEtMTgpXG4gICAgY29udGFpbmVyczpcbiAgICAtIG5hbWU6IGNvbmZpZy1yZWxvYWRlclxuICAgICAgcmVzb3VyY2VzOlxuICAgICAgICByZXF1ZXN0czpcbiAgICAgICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5jb25maWdSZWxvYWRlci5yZXF1ZXN0cy5jcHV9XG4gICAgICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMuY29uZmlnUmVsb2FkZXIucmVxdWVzdHMubWVtb3J5fVxuICAgICAgICBsaW1pdHM6XG4gICAgICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMuY29uZmlnUmVsb2FkZXIubGltaXRzLmNwdX1cbiAgICAgICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5jb25maWdSZWxvYWRlci5saW1pdHMubWVtb3J5fVxuXG5cbnByb21ldGhldXM6XG4gICMgRW5hYmxlIFRoYW5vcyBzZXJ2aWNlIGZvciBnUlBDIGNvbW11bmljYXRpb25cbiAgIyBSZXF1aXJlZCBmb3IgSGVsbSBjaGFydCB0byBwcm9wZXJseSByZW5kZXIgVGhhbm9zIHNpZGVjYXIgY29uZmlndXJhdGlvblxuICB0aGFub3NTZXJ2aWNlOlxuICAgIGVuYWJsZWQ6IHRydWVcblxuICBwcm9tZXRoZXVzU3BlYzpcbiAgICByZXRlbnRpb246ICR7Y29uZmlnLnJldGVudGlvbi5wcm9tZXRoZXVzfSAgIyBSZWR1Y2VkIGZyb20gN2QgLSBUaGFub3MgcHJvdmlkZXMgbG9uZy10ZXJtIHN0b3JhZ2UgaW4gUzNcblxuICAgICMgRGlzY292ZXIgQUxMIFNlcnZpY2VNb25pdG9ycywgUG9kTW9uaXRvcnMgYW5kIFByb21ldGhldXNSdWxlcyBpbiBBTEwgbmFtZXNwYWNlc1xuICAgICMgU2V0dGluZyBOaWxVc2VzSGVsbVZhbHVlczogZmFsc2UgbWVhbnMgbmlsIHNlbGVjdG9ycyA9IFwic2VsZWN0IGFsbFwiXG4gICAgIyBFbXB0eSBuYW1lc3BhY2Ugc2VsZWN0b3JzIHt9IG1lYW4gXCJzZWFyY2ggYWxsIG5hbWVzcGFjZXNcIlxuICAgICMgV2l0aG91dCB0aGUgcnVsZSogc2V0dGluZ3MsIHJ1bGVTZWxlY3RvciBrZWVwcyB0aGUgY2hhcnQgZGVmYXVsdFxuICAgICMgKG1hdGNoTGFiZWxzOiB7cmVsZWFzZTogPG5hbWU+fSkgYW5kIGhhbmQtYXV0aG9yZWQgUHJvbWV0aGV1c1J1bGVzIHRoYXRcbiAgICAjIGxhY2sgdGhlIHJlbGVhc2UgbGFiZWwgYXJlIHNpbGVudGx5IGlnbm9yZWQuXG4gICAgIyBOb3RlOiBUaGlzIGRvZXMgTk9UIGFmZmVjdCBUaGFub3Mgc2lkZWNhciAtIGNvbnRyb2xsZWQgYnkgdGhhbm9zLm9iamVjdFN0b3JhZ2VDb25maWdcbiAgICBzZXJ2aWNlTW9uaXRvclNlbGVjdG9yTmlsVXNlc0hlbG1WYWx1ZXM6IGZhbHNlXG4gICAgcG9kTW9uaXRvclNlbGVjdG9yTmlsVXNlc0hlbG1WYWx1ZXM6IGZhbHNlXG4gICAgcnVsZVNlbGVjdG9yTmlsVXNlc0hlbG1WYWx1ZXM6IGZhbHNlXG4gICAgc2VydmljZU1vbml0b3JOYW1lc3BhY2VTZWxlY3Rvcjoge31cbiAgICBwb2RNb25pdG9yTmFtZXNwYWNlU2VsZWN0b3I6IHt9XG4gICAgcnVsZU5hbWVzcGFjZVNlbGVjdG9yOiB7fVxuXG4gICAgcmVwbGljYXM6ICR7Y29uZmlnLnJlcGxpY2FzLnByb21ldGhldXN9XG4gICAgcG9kQW50aUFmZmluaXR5OiBcImhhcmRcIlxuICAgIHN0b3JhZ2VTcGVjOlxuICAgICAgdm9sdW1lQ2xhaW1UZW1wbGF0ZTpcbiAgICAgICAgc3BlYzpcbiAgICAgICAgICBzdG9yYWdlQ2xhc3NOYW1lOiBsb25naG9yblxuICAgICAgICAgIGFjY2Vzc01vZGVzOiBbXCJSZWFkV3JpdGVPbmNlXCJdXG4gICAgICAgICAgcmVzb3VyY2VzOlxuICAgICAgICAgICAgcmVxdWVzdHM6XG4gICAgICAgICAgICAgIHN0b3JhZ2U6ICR7Y29uZmlnLnN0b3JhZ2UucHJvbWV0aGV1c30gICMgUmVkdWNlZCBmcm9tIDZHaSAoM2QgcmV0ZW50aW9uIG5lZWRzIGxlc3Mgc3BhY2UpXG5cbiAgICByZXNvdXJjZXM6XG4gICAgICBsaW1pdHM6XG4gICAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLnByb21ldGhldXMubGltaXRzLmNwdX1cbiAgICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMucHJvbWV0aGV1cy5saW1pdHMubWVtb3J5fVxuICAgICAgcmVxdWVzdHM6XG4gICAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLnByb21ldGhldXMucmVxdWVzdHMuY3B1fVxuICAgICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5wcm9tZXRoZXVzLnJlcXVlc3RzLm1lbW9yeX1cbiAgICBwcmlvcml0eUNsYXNzTmFtZTogJHtjb25maWcucHJpb3JpdHlDbGFzc2VzLmNhcHR1cmV9XG5cbiAgICAjIEV4dGVybmFsIGxhYmVscyBmb3IgbXVsdGktY2x1c3RlciBpZGVudGlmaWNhdGlvbiBhbmQgVGhhbm9zXG4gICAgZXh0ZXJuYWxMYWJlbHM6XG4gICAgICBjbHVzdGVyOiAke2NvbmZpZy5jbHVzdGVyTmFtZX1cbiAgICAgIHJlcGxpY2E6IFwiJChQT0RfTkFNRSlcIlxuICAgICMgVGhhbm9zIG5lZWRzIHRoZSByZXBsaWNhIGxhYmVsIG9uIG1ldHJpY3MsIGJ1dCBvbiBhbGVydHMgaXQgbWFrZXMgdGhlIHR3b1xuICAgICMgUHJvbWV0aGV1cyByZXBsaWNhcyBsb29rIGxpa2UgdHdvIGRpZmZlcmVudCBhbGVydHMsIHNvIGV2ZXJ5IG1haWwgbGlzdHNcbiAgICAjIGVhY2ggb25lIHR3aWNlLiBUaGUgb3BlcmF0b3IgZHJvcHMgaXRzIG93biBwcm9tZXRoZXVzX3JlcGxpY2EgdGhlIHNhbWUgd2F5LlxuICAgIGFkZGl0aW9uYWxBbGVydFJlbGFiZWxDb25maWdzOlxuICAgICAgLSBhY3Rpb246IGxhYmVsZHJvcFxuICAgICAgICByZWdleDogcmVwbGljYVxuXG4gICAgIyBUaGFub3Mgc2lkZWNhciBmb3IgbG9uZy10ZXJtIG1ldHJpY3Mgc3RvcmFnZSBpbiBTM1xuICAgICMgTk9URTogY2hhcnQgPj04NS54IHJlcXVpcmVzIHRoZSBleGlzdGluZ1NlY3JldCBzaGFwZS4gVGhlIGxlZ2FjeSBmbGF0XG4gICAgIyB7bmFtZSwga2V5fSBmb3JtIGlzIHNpbGVudGx5IGRyb3BwZWQgYnkgdGhlIGNoYXJ0LCB3aGljaCByZW1vdmVzIHRoZVxuICAgICMgc2lkZWNhciBhbmQgc3RvcHMgYWxsIFMzIGJsb2NrIHVwbG9hZHMgKHJlZ3Jlc3Npb24gc2VlbiAyMDI2LTAzLTMxKS5cbiAgICB0aGFub3M6XG4gICAgICBvYmplY3RTdG9yYWdlQ29uZmlnOlxuICAgICAgICBleGlzdGluZ1NlY3JldDpcbiAgICAgICAgICBuYW1lOiB0aGFub3Mtb2Jqc3RvcmUtY29uZmlnICAjIEVTTy1tYW5hZ2VkIHNlY3JldFxuICAgICAgICAgIGtleTogb2Jqc3RvcmUueW1sXG5cbiAgICAjIFNpZGVjYXIgY29udGFpbmVycyByZXNvdXJjZSByZXF1ZXN0cyAoYWRkZWQgMjAyNS0xMS0xOClcbiAgICAjIE5PVEU6IHRoYW5vcy1zaWRlY2FyIGlzIE5PVCBsaXN0ZWQgaGVyZSAtIGl0J3MgYXV0b21hdGljYWxseSBpbmplY3RlZCBieSBQcm9tZXRoZXVzIE9wZXJhdG9yXG4gICAgIyB3aGVuIHRoYW5vcy5vYmplY3RTdG9yYWdlQ29uZmlnIGlzIHNldC4gU3BlY2lmeWluZyBpdCBpbiBjb250YWluZXJzW10gd291bGQgb3ZlcnJpZGVcbiAgICAjIHRoZSBvcGVyYXRvcidzIGRlZmluaXRpb24gYW5kIHJlcXVpcmUgdXMgdG8gbWFudWFsbHkgc3BlY2lmeSB0aGUgaW1hZ2UsIHdoaWNoIGJyZWFrc1xuICAgICMgd2hlbiB0aGUgb3BlcmF0b3IgdXBkYXRlcyB0aGUgdGhhbm9zIHZlcnNpb24uXG4gICAgY29udGFpbmVyczpcbiAgICAtIG5hbWU6IGNvbmZpZy1yZWxvYWRlclxuICAgICAgcmVzb3VyY2VzOlxuICAgICAgICByZXF1ZXN0czpcbiAgICAgICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5jb25maWdSZWxvYWRlci5yZXF1ZXN0cy5jcHV9XG4gICAgICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMuY29uZmlnUmVsb2FkZXIucmVxdWVzdHMubWVtb3J5fVxuICAgICAgICBsaW1pdHM6XG4gICAgICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMuY29uZmlnUmVsb2FkZXIubGltaXRzLmNwdX1cbiAgICAgICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5jb25maWdSZWxvYWRlci5saW1pdHMubWVtb3J5fVxuXG4gICAgc2VydmljZTpcbiAgICAgIHNlc3Npb25BZmZpbml0eTogXCJDbGllbnRJUFwiXG5cblxuZ3JhZmFuYTpcbiAgcHJpb3JpdHlDbGFzc05hbWU6ICR7Y29uZmlnLnByaW9yaXR5Q2xhc3Nlcy5xdWVyeX1cblxuICAjIFJlY3JlYXRlIHN0cmF0ZWd5IGlzIHJlcXVpcmVkIGJlY2F1c2UgdGhlIHN0b3JhZ2UgUFZDIGlzIFJXTzpcbiAgIyBhIFJvbGxpbmdVcGRhdGUgd291bGQgc3VyZ2UgYSBzZWNvbmQgcG9kIHRoYXQgY2Fubm90IG1vdW50IHRoZVxuICAjIHZvbHVtZSAoRmFpbGVkQXR0YWNoVm9sdW1lKSwgYmxvY2tpbmcgdGhlIHJvbGxvdXQgaW5kZWZpbml0ZWx5LlxuICBkZXBsb3ltZW50U3RyYXRlZ3k6XG4gICAgdHlwZTogUmVjcmVhdGVcblxuICAjIFVzZSBleGlzdGluZyBzZWNyZXQgZm9yIGFkbWluIGNyZWRlbnRpYWxzIChtYW5hZ2VkIGJ5IEVTTylcbiAgIyBUaGlzIHByZXZlbnRzIHBhc3N3b3JkIHJlZ2VuZXJhdGlvbiBvbiBIZWxtIHVwZ3JhZGVzXG4gIGFkbWluOlxuICAgIGV4aXN0aW5nU2VjcmV0OiBcImdyYWZhbmEtYWRtaW4tY3JlZGVudGlhbHNcIlxuICAgIHVzZXJLZXk6IFwiYWRtaW4tdXNlclwiXG4gICAgcGFzc3dvcmRLZXk6IFwiYWRtaW4tcGFzc3dvcmRcIlxuXG4gICMgR3JhZmFuYSBydW5zIGh0dHAgb24gOjMwMDAgYmVoaW5kIHRoZSBUTFMtdGVybWluYXRpbmcgaW5ncmVzcy4gV2l0aG91dCBhblxuICAjIGV4cGxpY2l0IHJvb3RfdXJsIGl0IGJ1aWxkcyBzaGFyZSBhbmQgcHVibGljLWRhc2hib2FyZCBsaW5rcyBmcm9tIHRoZSBpbnRlcm5hbFxuICAjIGFkZHJlc3MgKGh0dHA6Ly88cG9kPjozMDAwKTsgZGVyaXZlIHRoZSBleHRlcm5hbCBVUkwgZnJvbSB0aGUgY29uZmlndXJlZCBkb21haW4uXG4gIGdyYWZhbmEuaW5pOlxuICAgIHNlcnZlcjpcbiAgICAgIGRvbWFpbjogJHtjb25maWcuZG9tYWlucy5ncmFmYW5hfVxuICAgICAgcm9vdF91cmw6IGh0dHBzOi8vJHtjb25maWcuZG9tYWlucy5ncmFmYW5hfSR7dGhpcy5nZW5lcmF0ZUdyYWZhbmFTZWN1cml0eShjb25maWcpfVxuXG4gICMgRGlzYWJsZSBkZWZhdWx0IFByb21ldGhldXMgZGF0YXNvdXJjZSAod2UgcHJvdmlkZSBvdXIgb3duIHBvaW50aW5nIHRvIFRoYW5vcyBRdWVyeSlcbiAgZGVmYXVsdERhdGFzb3VyY2VFbmFibGVkOiBmYWxzZVxuXG4gICMgU2lkZWNhciBjb250YWluZXJzIGZvciBkYXNoYm9hcmQvZGF0YXNvdXJjZSBwcm92aXNpb25pbmdcbiAgc2lkZWNhcjpcbiAgICByZXNvdXJjZXM6XG4gICAgICByZXF1ZXN0czpcbiAgICAgICAgY3B1OiAxMG1cbiAgICAgICAgbWVtb3J5OiAyNTZNaVxuICAgICAgbGltaXRzOlxuICAgICAgICBjcHU6IDEwMG1cbiAgICAgICAgbWVtb3J5OiA1MTJNaVxuICAgIGRhc2hib2FyZHM6XG4gICAgICBlbmFibGVkOiB0cnVlXG4gICAgICAjIERhc2hib2FyZCBDb25maWdNYXBzIG1heSBvcHQgaW50byBhIG5hbWVkIEdyYWZhbmEgZm9sZGVyIHZpYSB0aGlzXG4gICAgICAjIGFubm90YXRpb247IENvbmZpZ01hcHMgd2l0aG91dCBpdCBrZWVwIGxhbmRpbmcgaW4gR2VuZXJhbC5cbiAgICAgIGZvbGRlckFubm90YXRpb246IGdyYWZhbmFfZm9sZGVyXG4gICAgICBwcm92aWRlcjpcbiAgICAgICAgZm9sZGVyc0Zyb21GaWxlc1N0cnVjdHVyZTogdHJ1ZVxuICAgIGRhdGFzb3VyY2VzOlxuICAgICAgZW5hYmxlZDogZmFsc2UgICMgV2UgbWFudWFsbHkgcHJvdmlzaW9uIGRhdGFzb3VyY2VzIChQcm9tZXRoZXVz4oaSVGhhbm9zLCBMb2tpKVxuXG4gIGluZ3Jlc3M6XG4gICAgZW5hYmxlZDogdHJ1ZSR7Y29uZmlnLmRvbWFpbnMuaW5ncmVzc0NsYXNzTmFtZSA/IGBcXG4gICAgaW5ncmVzc0NsYXNzTmFtZTogJHtjb25maWcuZG9tYWlucy5pbmdyZXNzQ2xhc3NOYW1lfWAgOiAnJ31cbiAgICBob3N0czpcbiAgICAgIC0gJHtjb25maWcuZG9tYWlucy5ncmFmYW5hfVxuICAgIGFubm90YXRpb25zOlxuICAgICAgY2VydC1tYW5hZ2VyLmlvL2NsdXN0ZXItaXNzdWVyOiBcImxldHNlbmNyeXB0LWNsdXN0ZXItaXNzdWVyXCJcbiAgICAgIHRyYWVmaWsuaW5ncmVzcy5rdWJlcm5ldGVzLmlvL3JvdXRlci5lbnRyeXBvaW50czogd2Vic2VjdXJlXG4gICAgdGxzOlxuICAgICAgLSBzZWNyZXROYW1lOiBncmFmYW5hLWdlbmVyYWwtdGxzXG4gICAgICAgIGhvc3RzOlxuICAgICAgICAtICR7Y29uZmlnLmRvbWFpbnMuZ3JhZmFuYX1cblxuICByZXNvdXJjZXM6XG4gICAgbGltaXRzOlxuICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMuZ3JhZmFuYS5saW1pdHMuY3B1fVxuICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMuZ3JhZmFuYS5saW1pdHMubWVtb3J5fVxuICAgIHJlcXVlc3RzOlxuICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMuZ3JhZmFuYS5yZXF1ZXN0cy5jcHV9XG4gICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5ncmFmYW5hLnJlcXVlc3RzLm1lbW9yeX1cblxuICByZWFkaW5lc3NQcm9iZTpcbiAgICBodHRwR2V0OlxuICAgICAgcGF0aDogL2FwaS9oZWFsdGhcbiAgICAgIHBvcnQ6IDMwMDBcbiAgICBpbml0aWFsRGVsYXlTZWNvbmRzOiAzMFxuICAgIHBlcmlvZFNlY29uZHM6IDEwXG4gICAgdGltZW91dFNlY29uZHM6IDVcbiAgICBmYWlsdXJlVGhyZXNob2xkOiAzXG5cbiAgbGl2ZW5lc3NQcm9iZTpcbiAgICBodHRwR2V0OlxuICAgICAgcGF0aDogL2FwaS9oZWFsdGhcbiAgICAgIHBvcnQ6IDMwMDBcbiAgICBpbml0aWFsRGVsYXlTZWNvbmRzOiA2MFxuICAgIHBlcmlvZFNlY29uZHM6IDEwXG4gICAgdGltZW91dFNlY29uZHM6IDMwXG4gICAgZmFpbHVyZVRocmVzaG9sZDogMTBcblxuICBwZXJzaXN0ZW5jZTpcbiAgICBlbmFibGVkOiB0cnVlXG4gICAgc3RvcmFnZUNsYXNzTmFtZTogbG9uZ2hvcm5cbiAgICBhY2Nlc3NNb2RlczpcbiAgICAgIC0gUmVhZFdyaXRlT25jZVxuICAgIHNpemU6ICR7Y29uZmlnLnN0b3JhZ2UuZ3JhZmFuYX1cblxuICAjIE1hbnVhbCBkYXRhc291cmNlIHByb3Zpc2lvbmluZyAoc2lkZWNhciBkaXNhYmxlZClcbiAgIyBUaGFub3MgUXVlcnkg4oaSIGxvbmctdGVybS9oaXN0b3JpY2FsIG1ldHJpY3MgKFMzIHZpYSBTdG9yZSArIGxpdmUgc2lkZWNhciksIGRlZmF1bHRcbiAgIyBQcm9tZXRoZXVzIOKGkiBsb2NhbCwgcmVjZW50L2hpZ2gtcmVzIG9ubHkgKGtlcHQgZm9yIGxvdy1sYXRlbmN5IHJlY2VudCBxdWVyaWVzKVxuICAjIExva2kgZm9yIGxvZyBhZ2dyZWdhdGlvblxuICBkYXRhc291cmNlczpcbiAgICBkYXRhc291cmNlcy55YW1sOlxuICAgICAgYXBpVmVyc2lvbjogMVxuICAgICAgIyBEZWxldGUgYW55IHByZS1leGlzdGluZyBMb2tpIGRhdGFzb3VyY2UgKGUuZy4gb25lIGNyZWF0ZWQgd2l0aCBhXG4gICAgICAjIHJhbmRvbWx5IGdlbmVyYXRlZCBVSUQgYmVmb3JlIHdlIHBpbm5lZCB1aWQ6IGxva2kpLiBXaXRob3V0IHRoaXMsXG4gICAgICAjIEdyYWZhbmEgZmFpbHMgcHJvdmlzaW9uaW5nIHdpdGggXCJkYXRhIHNvdXJjZSBub3QgZm91bmRcIiBiZWNhdXNlXG4gICAgICAjIHRoZSB1cHNlcnQgY29sbGlkZXMgd2l0aCB0aGUgZXhpc3RpbmcgZW50cnkuXG4gICAgICBkZWxldGVEYXRhc291cmNlczpcbiAgICAgIC0gbmFtZTogTG9raVxuICAgICAgICBvcmdJZDogMVxuICAgICAgZGF0YXNvdXJjZXM6XG4gICAgICAtIG5hbWU6IFRoYW5vc1xuICAgICAgICB0eXBlOiBwcm9tZXRoZXVzXG4gICAgICAgIHVpZDogdGhhbm9zXG4gICAgICAgIGFjY2VzczogcHJveHlcbiAgICAgICAgIyB0aGFub3MtcXVlcnkgU2VydmljZTogaHR0cCBwb3J0IDkwOTAgLT4gY29udGFpbmVyIGh0dHAgMTA5MDJcbiAgICAgICAgdXJsOiBodHRwOi8vdGhhbm9zLXF1ZXJ5LiR7Y29uZmlnLm5hbWVzcGFjZX0uc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MFxuICAgICAgICBpc0RlZmF1bHQ6IHRydWVcbiAgICAgICAganNvbkRhdGE6XG4gICAgICAgICAgdGltZUludGVydmFsOiAzMHNcbiAgICAgIC0gbmFtZTogUHJvbWV0aGV1c1xuICAgICAgICB0eXBlOiBwcm9tZXRoZXVzXG4gICAgICAgIHVpZDogcHJvbWV0aGV1c1xuICAgICAgICBhY2Nlc3M6IHByb3h5XG4gICAgICAgIHVybDogaHR0cDovL2t1YmUtcHJvbWV0aGV1cy1zdGFjay1wcm9tZXRoZXVzLiR7Y29uZmlnLm5hbWVzcGFjZX0uc3ZjLmNsdXN0ZXIubG9jYWw6OTA5MFxuICAgICAgICBpc0RlZmF1bHQ6IGZhbHNlXG4gICAgICAgIGpzb25EYXRhOlxuICAgICAgICAgIHRpbWVJbnRlcnZhbDogMzBzXG4gICAgICAtIG5hbWU6IExva2lcbiAgICAgICAgdHlwZTogbG9raVxuICAgICAgICB1aWQ6IGxva2lcbiAgICAgICAgYWNjZXNzOiBwcm94eVxuICAgICAgICB1cmw6IGh0dHA6Ly9sb2tpLWdhdGV3YXkuJHtjb25maWcubmFtZXNwYWNlfS5zdmMuY2x1c3Rlci5sb2NhbFxuICAgICAgICBqc29uRGF0YTpcbiAgICAgICAgICBtYXhMaW5lczogMTAwMCR7dGVtcG9EYXRhc291cmNlfVxuXG5wcm9tZXRoZXVzT3BlcmF0b3I6XG4gIHJlc291cmNlczpcbiAgICBsaW1pdHM6XG4gICAgICBjcHU6IDFcbiAgICAgIG1lbW9yeTogNTEyTWlcbiAgICByZXF1ZXN0czpcbiAgICAgIGNwdTogNTBtXG4gICAgICBtZW1vcnk6IDEyOE1pXG4gIHByaW9yaXR5Q2xhc3NOYW1lOiAke2NvbmZpZy5wcmlvcml0eUNsYXNzZXMuY2FwdHVyZX1cblxucHJvbWV0aGV1cy1ub2RlLWV4cG9ydGVyOlxuICAjIEJpbmQgOjkxMDAgdG8gdGhlIG5vZGUgSW50ZXJuYWxJUCBvbmx5LCBub3QgMC4wLjAuMC4gV2l0aCBrdWJlUkJBQ1Byb3h5XG4gICMgZGlzYWJsZWQgdGhlIHN1Yi1jaGFydCBzZXRzIEhPU1RfSVAgZnJvbSBmaWVsZFJlZiBzdGF0dXMuaG9zdElQLCB3aGljaCBpc1xuICAjIHRoZSBub2RlJ3MgSW50ZXJuYWxJUCAoRVg6IHZTd2l0Y2ggMTAuNi4wLnggdmlhIC0tbm9kZS1pcDsgY2xvdWQ6IGhjbG91ZFxuICAjIHByaXZhdGUgSVApLiBub2RlLWV4cG9ydGVyIGlzIGhvc3ROZXR3b3JrLCBzbyBQcm9tZXRoZXVzIGFscmVhZHkgc2NyYXBlc1xuICAjIHRoYXQgSW50ZXJuYWxJUCBlbmRwb2ludCAtPiBzY3JhcGluZyBpcyB1bmFmZmVjdGVkLCBvbmx5IHRoZSBwdWJsaWMtTklDXG4gICMgZXhwb3N1cmUgb2YgdGhlIHVuYXV0aGVudGljYXRlZCBtZXRyaWNzIG9uIHRoZSBFWCBwdWJsaWMgSVBzIGdvZXMgYXdheS5cbiAgc2VydmljZTpcbiAgICBsaXN0ZW5PbkFsbEludGVyZmFjZXM6IGZhbHNlXG4gIHJlc291cmNlczpcbiAgICBsaW1pdHM6XG4gICAgICBjcHU6IDUwbVxuICAgICAgbWVtb3J5OiA1ME1pXG4gICAgcmVxdWVzdHM6XG4gICAgICBjcHU6IDVtXG4gICAgICBtZW1vcnk6IDE2TWlcbiAgcHJpb3JpdHlDbGFzc05hbWU6ICR7Y29uZmlnLnByaW9yaXR5Q2xhc3Nlcy5jYXB0dXJlfVxuXG5rdWJlLXN0YXRlLW1ldHJpY3M6XG4gIHJlc291cmNlczpcbiAgICBsaW1pdHM6XG4gICAgICBjcHU6IDFcbiAgICAgIG1lbW9yeTogNTEyTWlcbiAgICByZXF1ZXN0czpcbiAgICAgIGNwdTogNW1cbiAgICAgIG1lbW9yeTogMTI4TWlcbiAgcHJpb3JpdHlDbGFzc05hbWU6ICR7Y29uZmlnLnByaW9yaXR5Q2xhc3Nlcy5jYXB0dXJlfVxuYDtcbiAgfVxufVxuIl19
|
|
724
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbWV0aGV1cy1zdGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHJ1Y3RzL3Byb21ldGhldXMtc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQWtDO0FBQ2xDLDJDQUF1QztBQUV2Qyw2Q0FBeUQ7QUFPekQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDSCxNQUFhLHdCQUF5QixTQUFRLHNCQUFTO0lBQ3JELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMkI7UUFDbkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQztRQUVwQyw0QkFBNEI7UUFDNUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRW5ELGtEQUFrRDtRQUNsRCwyQ0FBMkM7UUFDM0MsSUFBSSxpQkFBUyxDQUFDLElBQUksRUFBRSx1QkFBdUIsRUFBRTtZQUMzQyxVQUFVLEVBQUUsbUJBQW1CO1lBQy9CLElBQUksRUFBRSxXQUFXO1lBQ2pCLFFBQVEsRUFBRTtnQkFDUixJQUFJLEVBQUUsdUJBQXVCO2dCQUM3QixTQUFTLEVBQUUsU0FBUztnQkFDcEIsTUFBTSxFQUFFO29CQUNOLHdCQUF3QixFQUFFLHVCQUF1QjtvQkFDakQsNkJBQTZCLEVBQUUsWUFBWTtvQkFDM0MsOEJBQThCLEVBQUUsT0FBTztvQkFDdkMsMkJBQTJCLEVBQUUsWUFBWTtpQkFDMUM7Z0JBQ0QsV0FBVyxFQUFFO29CQUNYLDhCQUE4QixFQUFFLEdBQUc7aUJBQ3BDO2FBQ0Y7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLG9EQUFvRDtnQkFDMUQsS0FBSyxFQUFFLHVCQUF1QjtnQkFDOUIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxLQUFLLFFBQVEsQ0FB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QUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzttQkF5QnBFLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLDJCQUEyQixNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7O1VBRTVHLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTzs7Ozs7OztZQU9wQixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU87Ozs7YUFJckIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUc7Z0JBQ2hDLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNOzthQUV6QyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRztnQkFDbEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7WUF5QjVDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzttQ0FzQkMsTUFBTSxDQUFDLFNBQVM7Ozs7Ozs7O3VEQVFJLE1BQU0sQ0FBQyxTQUFTOzs7Ozs7Ozs7eURBU2QsTUFBTSxDQUFDLFNBQVM7Ozs7Ozs7O21DQVF0QyxNQUFNLENBQUMsU0FBUzs7MEJBRXpCLGVBQWU7Ozs7Ozs7Ozs7dUJBVWxCLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBTzs7Ozs7Ozs7Ozs7Ozs7Ozs7O3VCQWtCOUIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFPOzs7Ozs7Ozs7O3VCQVU5QixNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU87Q0FDcEQsQ0FBQztJQUNBLENBQUM7Q0FDRjtBQS9yQkQsNERBK3JCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwaU9iamVjdCB9IGZyb20gJ2NkazhzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgTW9uaXRvcmluZ0NvbmZpZyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEhFTE1fQ0hBUlRfRkFJTFVSRV9QT0xJQ1kgfSBmcm9tICcuL2hlbG0tY2hhcnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb21ldGhldXNTdGFja1Byb3BzIHtcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gIGNvbmZpZzogTW9uaXRvcmluZ0NvbmZpZztcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGt1YmUtcHJvbWV0aGV1cy1zdGFjayBIZWxtQ2hhcnQgd2l0aCBQcm9tZXRoZXVzLCBHcmFmYW5hLCBhbmQgQWxlcnRtYW5hZ2VyLlxuICpcbiAqIFRoaXMgaXMgdGhlIGNvcmUgbW9uaXRvcmluZyBzdGFjayB0aGF0IGluY2x1ZGVzOlxuICogLSBQcm9tZXRoZXVzIChtZXRyaWNzIGNvbGxlY3Rpb24sIDIgcmVwbGljYXMsIDNkIHJldGVudGlvbilcbiAqIC0gR3JhZmFuYSAodmlzdWFsaXphdGlvbiwgaW5ncmVzcyB3aXRoIExldCdzIEVuY3J5cHQpXG4gKiAtIEFsZXJ0bWFuYWdlciAoYWxlcnQgcm91dGluZywgU01UUCBub3RpZmljYXRpb25zKVxuICogLSBQcm9tZXRoZXVzIE9wZXJhdG9yIChtYW5hZ2VzIFByb21ldGhldXMgQ1JEcylcbiAqIC0gTm9kZSBFeHBvcnRlciAoc3lzdGVtIG1ldHJpY3MgRGFlbW9uU2V0KVxuICogLSBrdWJlLXN0YXRlLW1ldHJpY3MgKEt1YmVybmV0ZXMgcmVzb3VyY2UgbWV0cmljcylcbiAqXG4gKiBQcmVyZXF1aXNpdGVzOlxuICogLSBOYW1lc3BhY2UgZXhpc3RzXG4gKiAtIFRoZSBQcmlvcml0eUNsYXNzZXMgbmFtZWQgaW4gY29uZmlnLnByaW9yaXR5Q2xhc3NlcyBleGlzdFxuICogLSBMb25naG9ybiBzdG9yYWdlIGNsYXNzIGF2YWlsYWJsZVxuICogLSBjZXJ0LW1hbmFnZXIgQ2x1c3Rlcklzc3VlciBjb25maWd1cmVkXG4gKiAtIFRoYW5vcyBTMyBzZWNyZXQgZXhpc3RzICh0aGFub3Mtb2Jqc3RvcmUtY29uZmlnKVxuICpcbiAqIFN5bmMgV2F2ZTogMiAoY29yZSBzZXJ2aWNlcyAtIGFmdGVyIFMzIGJ1Y2tldHMgYW5kIHNlY3JldHMpXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9tZXRoZXVzU3RhY2tDb25zdHJ1Y3QgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHJvbWV0aGV1c1N0YWNrUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgeyBuYW1lc3BhY2UsIGNvbmZpZyB9ID0gcHJvcHM7XG5cbiAgICAvLyBHZW5lcmF0ZSBIZWxtIHZhbHVlcyBZQU1MXG4gICAgY29uc3QgaGVsbVZhbHVlcyA9IHRoaXMuZ2VuZXJhdGVIZWxtVmFsdWVzKGNvbmZpZyk7XG5cbiAgICAvLyBDcmVhdGUgSGVsbUNoYXJ0IHJlc291cmNlIChLM1MgSGVsbSBjb250cm9sbGVyKVxuICAgIC8vIFdhdmUgMjogQ29yZSBTZXJ2aWNlcyAtIG1vbml0b3Jpbmcgc3RhY2tcbiAgICBuZXcgQXBpT2JqZWN0KHRoaXMsICdrdWJlLXByb21ldGhldXMtc3RhY2snLCB7XG4gICAgICBhcGlWZXJzaW9uOiAnaGVsbS5jYXR0bGUuaW8vdjEnLFxuICAgICAga2luZDogJ0hlbG1DaGFydCcsXG4gICAgICBtZXRhZGF0YToge1xuICAgICAgICBuYW1lOiAna3ViZS1wcm9tZXRoZXVzLXN0YWNrJyxcbiAgICAgICAgbmFtZXNwYWNlOiBuYW1lc3BhY2UsXG4gICAgICAgIGxhYmVsczoge1xuICAgICAgICAgICdhcHAua3ViZXJuZXRlcy5pby9uYW1lJzogJ2t1YmUtcHJvbWV0aGV1cy1zdGFjaycsXG4gICAgICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL2NvbXBvbmVudCc6ICdtb25pdG9yaW5nJyxcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vbWFuYWdlZC1ieSc6ICdjZGs4cycsXG4gICAgICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL3BhcnQtb2YnOiAnbW9uaXRvcmluZycsXG4gICAgICAgIH0sXG4gICAgICAgIGFubm90YXRpb25zOiB7XG4gICAgICAgICAgJ2FyZ29jZC5hcmdvcHJvai5pby9zeW5jLXdhdmUnOiAnMicsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc3BlYzoge1xuICAgICAgICByZXBvOiAnaHR0cHM6Ly9wcm9tZXRoZXVzLWNvbW11bml0eS5naXRodWIuaW8vaGVsbS1jaGFydHMnLFxuICAgICAgICBjaGFydDogJ2t1YmUtcHJvbWV0aGV1cy1zdGFjaycsXG4gICAgICAgIHZlcnNpb246IGNvbmZpZy52ZXJzaW9ucy5wcm9tZXRoZXVzU3RhY2sgPT09ICdsYXRlc3QnID8gdW5kZWZpbmVkIDogY29uZmlnLnZlcnNpb25zLnByb21ldGhldXNTdGFjayxcbiAgICAgICAgdGFyZ2V0TmFtZXNwYWNlOiBuYW1lc3BhY2UsXG4gICAgICAgIGZhaWx1cmVQb2xpY3k6IEhFTE1fQ0hBUlRfRkFJTFVSRV9QT0xJQ1ksXG4gICAgICAgIHZhbHVlc0NvbnRlbnQ6IGhlbG1WYWx1ZXMsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGBbc2VjdXJpdHldYCBzZWN0aW9uIG9mIGdyYWZhbmEuaW5pLCBlbXB0eSB1bmxlc3MgZW1iZWRkaW5nIGlzIGVuYWJsZWQuXG4gICAqXG4gICAqIEdyYWZhbmEgc2VuZHMgYFgtRnJhbWUtT3B0aW9uczogZGVueWAgdW5sZXNzIGBhbGxvd19lbWJlZGRpbmdgIGlzIHNldCwgd2hpY2hcbiAgICogYmxvY2tzIGV4dGVybmFsbHkgc2hhcmVkIChcInB1YmxpY1wiKSBkYXNoYm9hcmRzIGluIGFuIGlmcmFtZSBqdXN0IGFzIG11Y2ggYXNcbiAgICogdGhlIGF1dGhlbnRpY2F0ZWQgVUkuIERyb3BwaW5nIHRoYXQgaGVhZGVyIGFsb25lIHdvdWxkIGxldCBhbnkgc2l0ZSBmcmFtZVxuICAgKiBHcmFmYW5hLCBzbyBpdCBpcyBwYWlyZWQgd2l0aCBhIENvbnRlbnQtU2VjdXJpdHktUG9saWN5IHdob3NlXG4gICAqIGBmcmFtZS1hbmNlc3RvcnNgIG5hbWVzIHRoZSBhbGxvd2VkIG9yaWdpbnMg4oCUIGJyb3dzZXJzIGhvbm91ciBpdCBpbiBwbGFjZSBvZlxuICAgKiB0aGUgcmVtb3ZlZCBoZWFkZXIuXG4gICAqXG4gICAqIFRoZSBvdGhlciBkaXJlY3RpdmVzIGFyZSBHcmFmYW5hJ3Mgb3duIGRlZmF1bHQgdGVtcGxhdGUgdmVyYmF0aW07IGAkTk9OQ0VgXG4gICAqIGFuZCBgJFJPT1RfUEFUSGAgYXJlIGV4cGFuZGVkIGJ5IEdyYWZhbmEgcGVyIHJlcXVlc3QuIE9ubHlcbiAgICogYCRGT1JNX0FDVElPTl9BRERJVElPTkFMX0hPU1RTYCBpcyBkcm9wcGVkOiBpdCBleGlzdHMgYXMgYSBwbGFjZWhvbGRlciBqdXN0XG4gICAqIGluIHJlY2VudCBHcmFmYW5hcywgYW5kIG9sZGVyIG9uZXMgd291bGQgZW1pdCBpdCBsaXRlcmFsbHkgaW50byB0aGUgaGVhZGVyLlxuICAgKlxuICAgKiBUaGUgcG9saWN5IGlzIHdyYXBwZWQgaW4gYFwiXCJcImAsIGV4YWN0bHkgYXMgR3JhZmFuYSdzIG93biBkZWZhdWx0cy5pbmkgZG9lcy5cbiAgICogZ3JhZmFuYS5pbmkgaXMgcGFyc2VkIGJ5IGdvLWluaSwgd2hpY2ggdHJlYXRzIGA7YCBhcyBhbiBpbmxpbmUgY29tbWVudCDigJQgYW5cbiAgICogdW5xdW90ZWQgcG9saWN5IGlzIHNpbGVudGx5IHRydW5jYXRlZCBhdCBpdHMgZmlyc3QgZGlyZWN0aXZlIHNlcGFyYXRvciwgYW5kXG4gICAqIHRoZSBicm93c2VyIHRoZW4gcmVjZWl2ZXMgYSBDU1Agd2l0aG91dCBgZnJhbWUtYW5jZXN0b3JzYCB3aGlsZVxuICAgKiBgWC1GcmFtZS1PcHRpb25zYCBpcyBhbHJlYWR5IGdvbmUuIEEgWUFNTCBibG9jayBzY2FsYXIgY2FycmllcyB0aGUgcXVvdGVzXG4gICAqIHRocm91Z2ggdW50b3VjaGVkOyBhIHBsYWluIHF1b3RlZCBzY2FsYXIgd291bGQgZmlnaHQgb3ZlciB0aGUgc2FtZVxuICAgKiBjaGFyYWN0ZXIuXG4gICAqL1xuICAvKipcbiAgICogRXh0cmEgQWxlcnRtYW5hZ2VyIHJvdXRlIGRlbW90aW5nIHN0YWdpbmctbmFtZXNwYWNlIGFsZXJ0cywgZW1wdHkgdW5sZXNzXG4gICAqIHN0YWdpbmdBbGVydHMgaXMgZW5hYmxlZC4gUGxhY2VkIGFmdGVyIHRoZSBub2lzZS1kcm9wIHJvdXRlcyAodGhvc2UgYXBwbHlcbiAgICogdG8gc3RhZ2luZyBqdXN0IGFzIG11Y2gpIGFuZCBiZWZvcmUgdGhlIGRlZmF1bHQgcHJvZHVjdGlvbiByZWNlaXZlci5cbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVTdGFnaW5nUm91dGUoY29uZmlnOiBNb25pdG9yaW5nQ29uZmlnKTogc3RyaW5nIHtcbiAgICBpZiAoIWNvbmZpZy5zdGFnaW5nQWxlcnRzLmVuYWJsZWQpIHJldHVybiAnJztcbiAgICByZXR1cm4gYFxuICAgICAgLSBtYXRjaF9yZTpcbiAgICAgICAgICBuYW1lc3BhY2U6IF4oJHtjb25maWcuc3RhZ2luZ0FsZXJ0cy5uYW1lc3BhY2VzLmpvaW4oJ3wnKX0pJFxuICAgICAgICByZWNlaXZlcjogc3RhZ2luZ2A7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGBzdGFnaW5nYCBlbWFpbCByZWNlaXZlciwgZW1wdHkgdW5sZXNzIHN0YWdpbmdBbGVydHMgaXMgZW5hYmxlZC4gU2FtZVxuICAgKiBtYWlsYm94IGFzIHRoZSBwcm9kdWN0aW9uIHJlY2VpdmVyLCBidXQgdGhlIHN1YmplY3QgcHJlZml4IG1hcmtzIHRoZSBtYWlsXG4gICAqIGFzIG5vbi1wcm9kdWN0aW9uIGFuZCBrZWVwcyBpdCBmaWx0ZXJhYmxlLlxuICAgKi9cbiAgLyoqXG4gICAqIEFsZXJ0bWFuYWdlciByZWFkcyB0aGUgcGFzc3dvcmQgZnJvbSB0aGUgZmlsZSB3aGVuIGEgc2VjcmV0IGlzIGNvbmZpZ3VyZWQsXG4gICAqIHdoaWNoIGtlZXBzIGl0IG91dCBvZiB0aGUgc3ludGhlc2l6ZWQgbWFuaWZlc3RzLlxuICAgKi9cbiAgcHJpdmF0ZSBnZW5lcmF0ZVNtdHBBdXRoUGFzc3dvcmQoY29uZmlnOiBNb25pdG9yaW5nQ29uZmlnKTogc3RyaW5nIHtcbiAgICBjb25zdCBzZWNyZXQgPSBjb25maWcuc210cC5wYXNzd29yZFNlY3JldDtcbiAgICBpZiAoc2VjcmV0KSB7XG4gICAgICByZXR1cm4gYHNtdHBfYXV0aF9wYXNzd29yZF9maWxlOiAvZXRjL2FsZXJ0bWFuYWdlci9zZWNyZXRzLyR7c2VjcmV0Lm5hbWV9LyR7c2VjcmV0LmtleX1gO1xuICAgIH1cbiAgICByZXR1cm4gYHNtdHBfYXV0aF9wYXNzd29yZDogJHtjb25maWcuc210cC5wYXNzd29yZCB8fCAnJ31gO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBvcGVyYXRvciBvbmx5IHNldHMgdGhlIHJvdXRpbmcgcHJlZml4IGZyb20gcm91dGVQcmVmaXggKGRlZmF1bHQgXCIvXCIpLCBzbyBhblxuICAgKiBleHRlcm5hbCBVUkwgY2hhbmdlcyB0aGUgbGlua3MgaW4gbm90aWZpY2F0aW9ucywgbm90IHRoZSBwYXRocyB0aGUgcG9kcyBzZXJ2ZS5cbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVFeHRlcm5hbFVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHVybCA/IGBcXG4gICAgZXh0ZXJuYWxVcmw6ICR7dXJsfWAgOiAnJztcbiAgfVxuXG4gIC8qKiBGYWxscyBiYWNrIHRvIHRoZSBzZW5kZXIgYWRkcmVzcyBzbyBleGlzdGluZyBjb25maWdzIGtlZXAgdGhlaXIgcmVjaXBpZW50LiAqL1xuICBwcml2YXRlIGdlbmVyYXRlUmVjaXBpZW50cyhjb25maWc6IE1vbml0b3JpbmdDb25maWcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJlY2lwaWVudHMgPSBjb25maWcuc210cC5yZWNpcGllbnRzO1xuICAgIGlmIChyZWNpcGllbnRzICYmIHJlY2lwaWVudHMubGVuZ3RoID4gMCkgcmV0dXJuIHJlY2lwaWVudHMuam9pbignLCAnKTtcbiAgICByZXR1cm4gY29uZmlnLnNtdHAuZnJvbTtcbiAgfVxuXG4gIC8qKiBNb3VudHMgdGhlIHBhc3N3b3JkIHNlY3JldCBhdCAvZXRjL2FsZXJ0bWFuYWdlci9zZWNyZXRzLzxuYW1lPi88a2V5Pi4gKi9cbiAgcHJpdmF0ZSBnZW5lcmF0ZUFsZXJ0bWFuYWdlclNlY3JldHMoY29uZmlnOiBNb25pdG9yaW5nQ29uZmlnKTogc3RyaW5nIHtcbiAgICBjb25zdCBzZWNyZXQgPSBjb25maWcuc210cC5wYXNzd29yZFNlY3JldDtcbiAgICBpZiAoIXNlY3JldCkgcmV0dXJuICcnO1xuICAgIHJldHVybiBgXG4gICAgc2VjcmV0czpcbiAgICAtICR7c2VjcmV0Lm5hbWV9YDtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVTdGFnaW5nUmVjZWl2ZXIoY29uZmlnOiBNb25pdG9yaW5nQ29uZmlnKTogc3RyaW5nIHtcbiAgICBpZiAoIWNvbmZpZy5zdGFnaW5nQWxlcnRzLmVuYWJsZWQpIHJldHVybiAnJztcbiAgICByZXR1cm4gYFxuICAgIC0gbmFtZTogc3RhZ2luZ1xuICAgICAgZW1haWxfY29uZmlnczpcbiAgICAgIC0gc2VuZF9yZXNvbHZlZDogdHJ1ZVxuICAgICAgICB0bzogJHt0aGlzLmdlbmVyYXRlUmVjaXBpZW50cyhjb25maWcpfVxuICAgICAgICBoZWFkZXJzOlxuICAgICAgICAgIHN1YmplY3Q6ICdbU1RBR0lOR10ge3sgdGVtcGxhdGUgXCJlbWFpbC5kZWZhdWx0LnN1YmplY3RcIiAuIH19JyR7dGhpcy5nZW5lcmF0ZUhlYWRlckxpbmVzKGNvbmZpZyl9YDtcbiAgfVxuXG4gIC8qKiBUaGUgY29uZmlndXJlZCBleHRyYSBoZWFkZXJzLCBvbmUgWUFNTCBsaW5lIGVhY2gsIGF0IHRoZSBpbmRlbnRhdGlvbiBvZiBhbiBlbWFpbF9jb25maWdzIGBoZWFkZXJzYCBtYXAuICovXG4gIHByaXZhdGUgZ2VuZXJhdGVIZWFkZXJMaW5lcyhjb25maWc6IE1vbml0b3JpbmdDb25maWcpOiBzdHJpbmcge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhjb25maWcuc210cC5oZWFkZXJzID8/IHt9KVxuICAgICAgLm1hcCgoW25hbWUsIHZhbHVlXSkgPT4gYFxcbiAgICAgICAgICAke25hbWV9OiAke0pTT04uc3RyaW5naWZ5KHZhbHVlKX1gKVxuICAgICAgLmpvaW4oJycpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUVtYWlsSGVhZGVycyhjb25maWc6IE1vbml0b3JpbmdDb25maWcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGxpbmVzID0gdGhpcy5nZW5lcmF0ZUhlYWRlckxpbmVzKGNvbmZpZyk7XG4gICAgcmV0dXJuIGxpbmVzID8gYFxcbiAgICAgICAgaGVhZGVyczoke2xpbmVzfWAgOiAnJztcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVHcmFmYW5hU2VjdXJpdHkoY29uZmlnOiBNb25pdG9yaW5nQ29uZmlnKTogc3RyaW5nIHtcbiAgICBpZiAoIWNvbmZpZy5lbWJlZGRpbmcuZW5hYmxlZCkgcmV0dXJuICcnO1xuICAgIGNvbnN0IHBvbGljeSA9IFtcbiAgICAgIFwic2NyaXB0LXNyYyAnc2VsZicgJ3Vuc2FmZS1ldmFsJyAndW5zYWZlLWlubGluZScgJ3N0cmljdC1keW5hbWljJyAkTk9OQ0VcIixcbiAgICAgIFwib2JqZWN0LXNyYyAnbm9uZSdcIixcbiAgICAgIFwiZm9udC1zcmMgJ3NlbGYnXCIsXG4gICAgICBcInN0eWxlLXNyYyAnc2VsZicgJ3Vuc2FmZS1pbmxpbmUnIGJsb2I6XCIsXG4gICAgICAnaW1nLXNyYyAqIGRhdGE6JyxcbiAgICAgIFwiYmFzZS11cmkgJ3NlbGYnXCIsXG4gICAgICBcImNvbm5lY3Qtc3JjICdzZWxmJyBncmFmYW5hLmNvbSB3czovLyRST09UX1BBVEggd3NzOi8vJFJPT1RfUEFUSFwiLFxuICAgICAgXCJtYW5pZmVzdC1zcmMgJ3NlbGYnXCIsXG4gICAgICBcIm1lZGlhLXNyYyAnbm9uZSdcIixcbiAgICAgIFwiZm9ybS1hY3Rpb24gJ3NlbGYnXCIsXG4gICAgICBgZnJhbWUtYW5jZXN0b3JzICdzZWxmJyAke2NvbmZpZy5lbWJlZGRpbmcuZnJhbWVBbmNlc3RvcnMuam9pbignICcpfWAsXG4gICAgXS5tYXAoKGRpcmVjdGl2ZSkgPT4gYCR7ZGlyZWN0aXZlfTtgKS5qb2luKCcnKTtcbiAgICByZXR1cm4gYFxuICAgIHNlY3VyaXR5OlxuICAgICAgYWxsb3dfZW1iZWRkaW5nOiB0cnVlXG4gICAgICBjb250ZW50X3NlY3VyaXR5X3BvbGljeTogdHJ1ZVxuICAgICAgY29udGVudF9zZWN1cml0eV9wb2xpY3lfdGVtcGxhdGU6ID4tXG4gICAgICAgIFwiXCJcIiR7cG9saWN5fVwiXCJcImA7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlSGVsbVZhbHVlcyhjb25maWc6IE1vbml0b3JpbmdDb25maWcpOiBzdHJpbmcge1xuICAgIC8vIFRlbXBvIGRhdGFzb3VyY2UgaXMgb25seSBwcm92aXNpb25lZCB3aGVuIHRyYWNpbmcgaXMgZW5hYmxlZC4gV2hlblxuICAgIC8vIGRpc2FibGVkIHRoaXMgaXMgZW1wdHksIHNvIHRoZSBHcmFmYW5hIGJsb2NrIGlzIGJ5dGUtaWRlbnRpY2FsIHRvIGJlZm9yZS5cbiAgICBjb25zdCB0ZW1wb0RhdGFzb3VyY2UgPSBjb25maWcudGVtcG8uZW5hYmxlZCA/IGBcbiAgICAgIC0gbmFtZTogVGVtcG9cbiAgICAgICAgdHlwZTogdGVtcG9cbiAgICAgICAgdWlkOiB0ZW1wb1xuICAgICAgICBhY2Nlc3M6IHByb3h5XG4gICAgICAgIHVybDogaHR0cDovL3RlbXBvLiR7Y29uZmlnLm5hbWVzcGFjZX0uc3ZjLmNsdXN0ZXIubG9jYWw6MzIwMFxuICAgICAgICBqc29uRGF0YTpcbiAgICAgICAgICB0aW1lb3V0OiA2MFxuICAgICAgICAgIHRyYWNlc1RvTG9nc1YyOlxuICAgICAgICAgICAgZGF0YXNvdXJjZVVpZDogbG9raVxuICAgICAgICAgICAgc3BhblN0YXJ0VGltZVNoaWZ0OiBcIi0xaFwiXG4gICAgICAgICAgICBzcGFuRW5kVGltZVNoaWZ0OiBcIjFoXCJcbiAgICAgICAgICAgIGZpbHRlckJ5VHJhY2VJRDogdHJ1ZVxuICAgICAgICAgIHRyYWNlc1RvTWV0cmljczpcbiAgICAgICAgICAgIGRhdGFzb3VyY2VVaWQ6IHRoYW5vc2AgOiAnJztcbiAgICByZXR1cm4gYGt1YmVFdGNkOlxuICBlbmFibGVkOiBmYWxzZVxuXG4jIERpc2FibGUga3ViZS1jb250cm9sbGVyLW1hbmFnZXIgYW5kIGt1YmUtc2NoZWR1bGVyIG1vbml0b3JpbmcuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vY2FibGVzcGFnaGV0dGkvazNzLW1vbml0b3JpbmcvaXNzdWVzLzJcbmt1YmVDb250cm9sbGVyTWFuYWdlcjpcbiAgZW5hYmxlZDogZmFsc2Vcbmt1YmVTY2hlZHVsZXI6XG4gIGVuYWJsZWQ6IGZhbHNlXG5cbiMgazNzIHJ1bnMga3ViZS1wcm94eSBpbnNpZGUgdGhlIGFnZW50IHJhdGhlciB0aGFuIGFzIGEgc2VwYXJhdGUgY29tcG9uZW50LCBzb1xuIyB0aGVyZSBpcyBubyBlbmRwb2ludCB0byBzY3JhcGUuIExlYXZpbmcgdGhpcyBlbmFibGVkIG1ha2VzIHRoZSBzdG9ja1xuIyBLdWJlUHJveHlEb3duIHJ1bGUgLS0gYWJzZW50KHVwe2pvYj1cImt1YmUtcHJveHlcIn0pIC0tIGZpcmUgZm9yZXZlciBvbiBhXG4jIHBlcmZlY3RseSBoZWFsdGh5IGNsdXN0ZXIuXG5rdWJlUHJveHk6XG4gIGVuYWJsZWQ6IGZhbHNlXG5cbiMgVGhlIHN0b2NrIEt1YmVKb2JGYWlsZWQgZmlyZXMgZm9yIGFzIGxvbmcgYXMgYSBmYWlsZWQgSm9iIG9iamVjdCBleGlzdHMuIENyb25Kb2JzXG4jIGtlZXAgdGhlaXIgZmFpbGVkIEpvYnMgKGZhaWxlZEpvYnNIaXN0b3J5TGltaXQpIHVudGlsIG5ld2VyIGZhaWx1cmVzIHJlcGxhY2UgdGhlbSxcbiMgc28gb25lIGJhZCBuaWdodCBrZWVwcyB0aGUgYWxlcnQgZmlyaW5nIGZvciB3ZWVrcyBhZnRlciB0aGUgQ3JvbkpvYiBoYXMgcmVjb3ZlcmVkLlxuIyBUaGUgam9iLWhlYWx0aCBncm91cCBiZWxvdyByZXBsYWNlcyBpdC5cbmRlZmF1bHRSdWxlczpcbiAgZGlzYWJsZWQ6XG4gICAgS3ViZUpvYkZhaWxlZDogdHJ1ZVxuXG4jIERldGVjdCBQb2REaXNydXB0aW9uQnVkZ2V0cyB0aGF0IHdvdWxkIGJsb2NrIGEgbm9kZSBkcmFpbiBkdXJpbmcgazNzIHVwZ3JhZGVzLlxuIyBPcGVyYXRvci1tYW5hZ2VkIFBEQnMgc2l0IGF0IGRpc3J1cHRpb25zQWxsb3dlZD0wIGJ5IGRlc2lnbiAoTG9uZ2hvcm4gaW5zdGFuY2UtbWFuYWdlcnMsXG4jIENOUEcgKi1wcmltYXJ5KSBhbmQgYXJlIGV4Y2x1ZGVkIHNvIHRoZSBhbGVydCBvbmx5IGZpcmVzIG9uIGFub21hbG91cyBhcHAgUERCcy5cbiMgQSBQREIgdGhhdCBzZWxlY3RzIG5vIHBvZHMgYWxzbyByZXBvcnRzIGRpc3J1cHRpb25zQWxsb3dlZD0wLCBidXQgYmxvY2tzIG5vdGhpbmcuXG5hZGRpdGlvbmFsUHJvbWV0aGV1c1J1bGVzTWFwOlxuICBqb2ItaGVhbHRoOlxuICAgIGdyb3VwczpcbiAgICAgIC0gbmFtZTogam9iLnJ1bGVzXG4gICAgICAgIHJ1bGVzOlxuICAgICAgICAgICMgc3RhdHVzLmFjdGl2ZSBvZiBhIENyb25Kb2IgbGlzdHMgaXRzIHVuZmluaXNoZWQgSm9icywgaW5jbHVkaW5nIG9uZVxuICAgICAgICAgICMgd2FpdGluZyBvdXQgaXRzIHJldHJ5IGJhY2tvZmYsIHNvIGFjdGl2ZSA9PSAwIG1lYW5zIHRoZSBsYXN0IHJ1biBpcyBvdmVyLlxuICAgICAgICAgIC0gYWxlcnQ6IEt1YmVDcm9uSm9iTGFzdFJ1bkZhaWxlZFxuICAgICAgICAgICAgZXhwcjogfFxuICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAga3ViZV9jcm9uam9iX3N0YXR1c19sYXN0X3NjaGVkdWxlX3RpbWV7am9iPVwia3ViZS1zdGF0ZS1tZXRyaWNzXCJ9XG4gICAgICAgICAgICAgICAgICA+IG9uKG5hbWVzcGFjZSwgY3JvbmpvYikga3ViZV9jcm9uam9iX3N0YXR1c19sYXN0X3N1Y2Nlc3NmdWxfdGltZXtqb2I9XCJrdWJlLXN0YXRlLW1ldHJpY3NcIn1cbiAgICAgICAgICAgICAgICBvclxuICAgICAgICAgICAgICAgIGt1YmVfY3JvbmpvYl9zdGF0dXNfbGFzdF9zY2hlZHVsZV90aW1le2pvYj1cImt1YmUtc3RhdGUtbWV0cmljc1wifVxuICAgICAgICAgICAgICAgICAgdW5sZXNzIG9uKG5hbWVzcGFjZSwgY3JvbmpvYikga3ViZV9jcm9uam9iX3N0YXR1c19sYXN0X3N1Y2Nlc3NmdWxfdGltZXtqb2I9XCJrdWJlLXN0YXRlLW1ldHJpY3NcIn1cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICBhbmQgb24obmFtZXNwYWNlLCBjcm9uam9iKSBrdWJlX2Nyb25qb2Jfc3RhdHVzX2FjdGl2ZXtqb2I9XCJrdWJlLXN0YXRlLW1ldHJpY3NcIn0gPT0gMFxuICAgICAgICAgICAgZm9yOiAxNW1cbiAgICAgICAgICAgIGxhYmVsczpcbiAgICAgICAgICAgICAgc2V2ZXJpdHk6IHdhcm5pbmdcbiAgICAgICAgICAgIGFubm90YXRpb25zOlxuICAgICAgICAgICAgICBzdW1tYXJ5OiBcIkNyb25Kb2Ige3sgJGxhYmVscy5uYW1lc3BhY2UgfX0ve3sgJGxhYmVscy5jcm9uam9iIH19OiBsYXN0IHJ1biBmYWlsZWRcIlxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogfFxuICAgICAgICAgICAgICAgIFRoZSBtb3N0IHJlY2VudCBydW4gb2YgQ3JvbkpvYiB7eyAkbGFiZWxzLm5hbWVzcGFjZSB9fS97eyAkbGFiZWxzLmNyb25qb2IgfX0gZGlkIG5vdFxuICAgICAgICAgICAgICAgIHN1Y2NlZWQuIFRoZSBhbGVydCByZXNvbHZlcyB3aXRoIHRoZSBuZXh0IHN1Y2Nlc3NmdWwgcnVuLlxuICAgICAgICAgICAgICAgIENoZWNrOiBrdWJlY3RsIGdldCBqb2JzIC1uIHt7ICRsYWJlbHMubmFtZXNwYWNlIH19IC0tc29ydC1ieT0ubWV0YWRhdGEuY3JlYXRpb25UaW1lc3RhbXBcbiAgICAgICAgICAtIGFsZXJ0OiBLdWJlSm9iRmFpbGVkXG4gICAgICAgICAgICBleHByOiB8XG4gICAgICAgICAgICAgIGt1YmVfam9iX2ZhaWxlZHtqb2I9XCJrdWJlLXN0YXRlLW1ldHJpY3NcIiwgY29uZGl0aW9uPVwidHJ1ZVwifSA+IDBcbiAgICAgICAgICAgICAgdW5sZXNzIG9uKG5hbWVzcGFjZSwgam9iX25hbWUpIGt1YmVfam9iX293bmVye2pvYj1cImt1YmUtc3RhdGUtbWV0cmljc1wiLCBvd25lcl9raW5kPVwiQ3JvbkpvYlwifVxuICAgICAgICAgICAgZm9yOiAxNW1cbiAgICAgICAgICAgIGxhYmVsczpcbiAgICAgICAgICAgICAgc2V2ZXJpdHk6IHdhcm5pbmdcbiAgICAgICAgICAgIGFubm90YXRpb25zOlxuICAgICAgICAgICAgICBzdW1tYXJ5OiBcIkpvYiB7eyAkbGFiZWxzLm5hbWVzcGFjZSB9fS97eyAkbGFiZWxzLmpvYl9uYW1lIH19IGZhaWxlZFwiXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiB8XG4gICAgICAgICAgICAgICAgSm9iIHt7ICRsYWJlbHMubmFtZXNwYWNlIH19L3t7ICRsYWJlbHMuam9iX25hbWUgfX0gZmFpbGVkLiBJdCBpcyBub3Qgb3duZWQgYnkgYVxuICAgICAgICAgICAgICAgIENyb25Kb2IgKHRob3NlIGFyZSBjb3ZlcmVkIGJ5IEt1YmVDcm9uSm9iTGFzdFJ1bkZhaWxlZCksIHNvIGl0IHN0YXlzIGZhaWxlZCB1bnRpbFxuICAgICAgICAgICAgICAgIHNvbWVvbmUgZml4ZXMgYW5kIHJlLXJ1bnMgb3IgZGVsZXRlcyBpdC5cbiAgcGRiLWRyYWluLXNhZmV0eTpcbiAgICBncm91cHM6XG4gICAgICAtIG5hbWU6IHBkYi5ydWxlc1xuICAgICAgICBpbnRlcnZhbDogMW1cbiAgICAgICAgcnVsZXM6XG4gICAgICAgICAgLSBhbGVydDogUG9kRGlzcnVwdGlvbkJ1ZGdldFVuZHJhaW5hYmxlXG4gICAgICAgICAgICBleHByOiB8XG4gICAgICAgICAgICAgIGt1YmVfcG9kZGlzcnVwdGlvbmJ1ZGdldF9zdGF0dXNfcG9kX2Rpc3J1cHRpb25zX2FsbG93ZWR7bmFtZXNwYWNlIT1cImxvbmdob3JuLXN5c3RlbVwiLCBwb2RkaXNydXB0aW9uYnVkZ2V0IX5cIi4qLXByaW1hcnlcIn0gPT0gMFxuICAgICAgICAgICAgICBhbmQgb24obmFtZXNwYWNlLCBwb2RkaXNydXB0aW9uYnVkZ2V0KSBrdWJlX3BvZGRpc3J1cHRpb25idWRnZXRfc3RhdHVzX2V4cGVjdGVkX3BvZHMgPiAwXG4gICAgICAgICAgICBmb3I6IDE1bVxuICAgICAgICAgICAgbGFiZWxzOlxuICAgICAgICAgICAgICBzZXZlcml0eTogd2FybmluZ1xuICAgICAgICAgICAgICBjb21wb25lbnQ6IGNsdXN0ZXItdXBncmFkZVxuICAgICAgICAgICAgYW5ub3RhdGlvbnM6XG4gICAgICAgICAgICAgIHN1bW1hcnk6IFwiUERCIHt7ICRsYWJlbHMubmFtZXNwYWNlIH19L3t7ICRsYWJlbHMucG9kZGlzcnVwdGlvbmJ1ZGdldCB9fSBhbGxvd3MgMCB2b2x1bnRhcnkgZGlzcnVwdGlvbnNcIlxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogfFxuICAgICAgICAgICAgICAgIFRoZSBQb2REaXNydXB0aW9uQnVkZ2V0IHt7ICRsYWJlbHMubmFtZXNwYWNlIH19L3t7ICRsYWJlbHMucG9kZGlzcnVwdGlvbmJ1ZGdldCB9fVxuICAgICAgICAgICAgICAgIGhhcyBhbGxvd2VkIDAgdm9sdW50YXJ5IGRpc3J1cHRpb25zIGZvciBvdmVyIDE1IG1pbnV0ZXMuIFRoaXMgd2lsbCBibG9jayBhIG5vZGVcbiAgICAgICAgICAgICAgICBkcmFpbiBkdXJpbmcgazNzIHVwZ3JhZGVzLiBPcGVyYXRvci1tYW5hZ2VkIFBEQnMgKExvbmdob3JuLCBDTlBHIHByaW1hcmllcykgYXJlXG4gICAgICAgICAgICAgICAgZXhjbHVkZWQgZnJvbSB0aGlzIGFsZXJ0LiBMaWtlbHkgYSBkZWdyYWRlZCBkZXBsb3ltZW50ICgwIGhlYWx0aHkgcG9kcykgb3IgYVxuICAgICAgICAgICAgICAgIHNpbmdsZS1yZXBsaWNhIGRlcGxveW1lbnQgd2l0aCBtaW5BdmFpbGFibGU9MS5cbiAgICAgICAgICAgICAgICBDaGVjazoga3ViZWN0bCBnZXQgcGRiIC1uIHt7ICRsYWJlbHMubmFtZXNwYWNlIH19IHt7ICRsYWJlbHMucG9kZGlzcnVwdGlvbmJ1ZGdldCB9fVxuICAgICAgICAgIC0gYWxlcnQ6IFBvZERpc3J1cHRpb25CdWRnZXRVbmRyYWluYWJsZUNyaXRpY2FsXG4gICAgICAgICAgICBleHByOiB8XG4gICAgICAgICAgICAgIGt1YmVfcG9kZGlzcnVwdGlvbmJ1ZGdldF9zdGF0dXNfcG9kX2Rpc3J1cHRpb25zX2FsbG93ZWR7bmFtZXNwYWNlIT1cImxvbmdob3JuLXN5c3RlbVwiLCBwb2RkaXNydXB0aW9uYnVkZ2V0IX5cIi4qLXByaW1hcnlcIn0gPT0gMFxuICAgICAgICAgICAgICBhbmQgb24obmFtZXNwYWNlLCBwb2RkaXNydXB0aW9uYnVkZ2V0KSBrdWJlX3BvZGRpc3J1cHRpb25idWRnZXRfc3RhdHVzX2V4cGVjdGVkX3BvZHMgPiAwXG4gICAgICAgICAgICBmb3I6IDFoXG4gICAgICAgICAgICBsYWJlbHM6XG4gICAgICAgICAgICAgIHNldmVyaXR5OiBjcml0aWNhbFxuICAgICAgICAgICAgICBjb21wb25lbnQ6IGNsdXN0ZXItdXBncmFkZVxuICAgICAgICAgICAgYW5ub3RhdGlvbnM6XG4gICAgICAgICAgICAgIHN1bW1hcnk6IFwiUERCIHt7ICRsYWJlbHMubmFtZXNwYWNlIH19L3t7ICRsYWJlbHMucG9kZGlzcnVwdGlvbmJ1ZGdldCB9fSB1bmRyYWluYWJsZSA+MWhcIlxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogfFxuICAgICAgICAgICAgICAgIFBEQiB7eyAkbGFiZWxzLm5hbWVzcGFjZSB9fS97eyAkbGFiZWxzLnBvZGRpc3J1cHRpb25idWRnZXQgfX0gaGFzIGJsb2NrZWRcbiAgICAgICAgICAgICAgICB2b2x1bnRhcnkgZGlzcnVwdGlvbnMgZm9yIG92ZXIgYW4gaG91ci4gQSBrM3MgYWdlbnQgdXBncmFkZSB3b3VsZCBzdGFsbCBvbiB0aGlzIG5vZGUuXG4jIERyb3AgaGlnaC1jYXJkaW5hbGl0eSBBUEkgc2VydmVyIGFuZCBldGNkIGhpc3RvZ3JhbSBidWNrZXRzIHRvIHJlZHVjZSBtZW1vcnkgdXNhZ2VcbiMgVGhlc2UgbWV0cmljcyBhbG9uZSBhY2NvdW50IGZvciB+MjAwayBzZXJpZXMgKDQ3JSBvZiB0b3RhbCBjYXJkaW5hbGl0eSlcbiMgV2Uga2VlcCBfc3VtIGFuZCBfY291bnQgc3VmZml4ZXMgd2hpY2ggYXJlIHN1ZmZpY2llbnQgZm9yIHJhdGUgY2FsY3VsYXRpb25zXG4jXG4jIFRoZSB3YXRjaCBoaXN0b2dyYW1zLCB0aGUgd29ya3F1ZXVlIGFuZCB0aGUgc2NoZWR1bGVyIHBsdWdpbiBidWNrZXRzIGNhbWUgb25cbiMgdG9wIG9mIHRoYXQ6IGszcyBydW5zIGFwaXNlcnZlciwgY29udHJvbGxlci1tYW5hZ2VyIGFuZCBzY2hlZHVsZXIgaW4gb25lXG4jIHByb2Nlc3Mgd2l0aCBvbmUgbWV0cmljcyByZWdpc3RyeSwgc28gdGhlIGFwaXNlcnZlciBlbmRwb2ludCBhbHNvIHNlcnZlc1xuIyBzY2hlZHVsZXJfKiBhbmQgd29ya3F1ZXVlXyogc2VyaWVzLiBNZWFzdXJlZCBvbiBhIDYtbm9kZSBrM3MgY2x1c3RlclxuIyAoMjAyNi0xMC0yNCk6IDU2ayB3YXRjaF8qLCA4ayB3b3JrcXVldWVfKiwgM2sgc2NoZWR1bGVyX3BsdWdpbl8qIG9mIDQwOGtcbiMgc2VyaWVzLiBOb3RoaW5nIGluIHRoZSBzaGlwcGVkIGFsZXJ0cyBvciBkYXNoYm9hcmRzIHJlYWRzIHRoZW0uXG5rdWJlQXBpU2VydmVyOlxuICBzZXJ2aWNlTW9uaXRvcjpcbiAgICBtZXRyaWNSZWxhYmVsaW5nczpcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnYXBpc2VydmVyX3JlcXVlc3RfZHVyYXRpb25fc2Vjb25kc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdhcGlzZXJ2ZXJfcmVxdWVzdF9zbGlfZHVyYXRpb25fc2Vjb25kc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdhcGlzZXJ2ZXJfcmVxdWVzdF9ib2R5X3NpemVfYnl0ZXNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnYXBpc2VydmVyX3Jlc3BvbnNlX3NpemVzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ2V0Y2RfcmVxdWVzdF9kdXJhdGlvbl9zZWNvbmRzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ2FwaXNlcnZlcl93YXRjaF8oY2FjaGVfcmVhZF93YWl0X3NlY29uZHN8bGlzdF9kdXJhdGlvbl9zZWNvbmRzfGV2ZW50c19zaXplcylfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnd29ya3F1ZXVlXyhxdWV1ZXx3b3JrKV9kdXJhdGlvbl9zZWNvbmRzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ3NjaGVkdWxlcl9wbHVnaW5fZXhlY3V0aW9uX2R1cmF0aW9uX3NlY29uZHNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcblxuIyBLdWJlbGV0IGFsc28gZXhwb3NlcyBhcGlzZXJ2ZXIgbWV0cmljcyAtIGFwcGx5IHNhbWUgZmlsdGVyc1xua3ViZWxldDpcbiAgc2VydmljZU1vbml0b3I6XG4gICAgIyAvbWV0cmljcy9wcm9iZXMgb25seSBob2xkcyBwcm9iZXJfcHJvYmVfZHVyYXRpb25fc2Vjb25kcyBoaXN0b2dyYW1zXG4gICAgIyAob25lIHNlcmllcyBwZXIgcHJvYmUsIGNvbnRhaW5lciBhbmQgYnVja2V0LCB+NWsgb24gYSBzbWFsbCBjbHVzdGVyKTtcbiAgICAjIG5vdGhpbmcgY29uc3VtZXMgdGhlbS5cbiAgICBwcm9iZXM6IGZhbHNlXG4gICAgbWV0cmljUmVsYWJlbGluZ3M6XG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ2FwaXNlcnZlcl9yZXF1ZXN0X2R1cmF0aW9uX3NlY29uZHNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnYXBpc2VydmVyX3JlcXVlc3Rfc2xpX2R1cmF0aW9uX3NlY29uZHNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnYXBpc2VydmVyX3JlcXVlc3RfYm9keV9zaXplX2J5dGVzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ2FwaXNlcnZlcl9yZXNwb25zZV9zaXplc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdldGNkX3JlcXVlc3RfZHVyYXRpb25fc2Vjb25kc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdhcGlzZXJ2ZXJfd2F0Y2hfKGNhY2hlX3JlYWRfd2FpdF9zZWNvbmRzfGxpc3RfZHVyYXRpb25fc2Vjb25kc3xldmVudHNfc2l6ZXMpX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ3dvcmtxdWV1ZV8ocXVldWV8d29yaylfZHVyYXRpb25fc2Vjb25kc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdzY2hlZHVsZXJfcGx1Z2luX2V4ZWN1dGlvbl9kdXJhdGlvbl9zZWNvbmRzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG5cbmFsZXJ0bWFuYWdlcjpcbiAgY29uZmlnOlxuICAgIGdsb2JhbDpcbiAgICAgIHNtdHBfZnJvbTogJHtjb25maWcuc210cC5mcm9tfVxuICAgICAgc210cF9zbWFydGhvc3Q6ICR7Y29uZmlnLnNtdHAuaG9zdH06JHtjb25maWcuc210cC5wb3J0fVxuICAgICAgc210cF9yZXF1aXJlX3RsczogJHtjb25maWcuc210cC5yZXF1aXJlVGxzfVxuICAgICAgc210cF9hdXRoX3VzZXJuYW1lOiAke2NvbmZpZy5zbXRwLnVzZXJuYW1lIHx8IGNvbmZpZy5zbXRwLmZyb219XG4gICAgICAke3RoaXMuZ2VuZXJhdGVTbXRwQXV0aFBhc3N3b3JkKGNvbmZpZyl9XG4gICAgcm91dGU6XG4gICAgICBncm91cF9ieTogWydqb2InXVxuICAgICAgZ3JvdXBfd2FpdDogMzBzXG4gICAgICBncm91cF9pbnRlcnZhbDogNW1cbiAgICAgIHJlcGVhdF9pbnRlcnZhbDogJHtjb25maWcuYWxlcnRSb3V0aW5nLnJlcGVhdEludGVydmFsfVxuICAgICAgcmVjZWl2ZXI6IGVtYWlsXG4gICAgICByb3V0ZXM6XG4gICAgICAtIG1hdGNoOlxuICAgICAgICAgIGFsZXJ0bmFtZTogV2F0Y2hkb2dcbiAgICAgICAgcmVjZWl2ZXI6ICdudWxsJ1xuICAgICAgLSBtYXRjaDpcbiAgICAgICAgICBhbGVydG5hbWU6IENQVVRocm90dGxpbmdIaWdoXG4gICAgICAgIHJlY2VpdmVyOiAnbnVsbCdcbiAgICAgIC0gbWF0Y2g6XG4gICAgICAgICAgYWxlcnRuYW1lOiBLdWJlTWVtb3J5T3ZlcmNvbW1pdFxuICAgICAgICByZWNlaXZlcjogJ251bGwnXG4gICAgICAtIG1hdGNoOlxuICAgICAgICAgIGFsZXJ0bmFtZTogS3ViZUNQVU92ZXJjb21taXRcbiAgICAgICAgcmVjZWl2ZXI6ICdudWxsJ1xuICAgICAgLSBtYXRjaDpcbiAgICAgICAgICBhbGVydG5hbWU6IEt1YmVsZXRUb29NYW55UG9kc1xuICAgICAgICByZWNlaXZlcjogJ251bGwnXG4gICAgICAjIFNldmVyaXR5IFwibm9uZVwiOiBleGlzdHMgb25seSB0byBpbmhpYml0IGluZm8gYWxlcnRzLCBuZXZlciBtZWFudCBmb3IgYSBodW1hbi5cbiAgICAgIC0gbWF0Y2g6XG4gICAgICAgICAgYWxlcnRuYW1lOiBJbmZvSW5oaWJpdG9yXG4gICAgICAgIHJlY2VpdmVyOiAnbnVsbCcke3RoaXMuZ2VuZXJhdGVTdGFnaW5nUm91dGUoY29uZmlnKX1cblxuICAgIHJlY2VpdmVyczpcbiAgICAtIG5hbWU6ICdudWxsJ1xuICAgIC0gbmFtZTogZW1haWxcbiAgICAgIGVtYWlsX2NvbmZpZ3M6XG4gICAgICAtIHNlbmRfcmVzb2x2ZWQ6IHRydWVcbiAgICAgICAgdG86ICR7dGhpcy5nZW5lcmF0ZVJlY2lwaWVudHMoY29uZmlnKX0ke3RoaXMuZ2VuZXJhdGVFbWFpbEhlYWRlcnMoY29uZmlnKX0ke3RoaXMuZ2VuZXJhdGVTdGFnaW5nUmVjZWl2ZXIoY29uZmlnKX1cblxuICAgICMgSW5oaWJpdGlvbiBydWxlcyBhbGxvdyB0byBtdXRlIGEgc2V0IG9mIGFsZXJ0cyBnaXZlbiB0aGF0IGFub3RoZXIgYWxlcnQgaXMgZmlyaW5nLlxuICAgICMgV2UgdXNlIHRoaXMgdG8gbXV0ZSBhbnkgd2FybmluZy1sZXZlbCBub3RpZmljYXRpb25zIGlmIHRoZSBzYW1lIGFsZXJ0IGlzIGFscmVhZHkgY3JpdGljYWwuXG4gICAgaW5oaWJpdF9ydWxlczpcbiAgICAtIHNvdXJjZV9tYXRjaDpcbiAgICAgICAgc2V2ZXJpdHk6ICdjcml0aWNhbCdcbiAgICAgIHRhcmdldF9tYXRjaDpcbiAgICAgICAgc2V2ZXJpdHk6ICd3YXJuaW5nJ1xuICAgICAgIyBBcHBseSBpbmhpYml0aW9uIGlmIHRoZSBhbGVydG5hbWUgaXMgdGhlIHNhbWUuXG4gICAgICBlcXVhbDogWydhbGVydG5hbWUnLCAnbmFtZXNwYWNlJ11cbiAgICAjIFNhbWUgUERCLCBzYW1lIGNvbmRpdGlvbjsgdGhlIGNyaXRpY2FsIHZhcmlhbnQgb25seSBhZGRzIHRoZSBsb25nZXIgZHVyYXRpb24uXG4gICAgLSBzb3VyY2VfbWF0Y2g6XG4gICAgICAgIGFsZXJ0bmFtZTogUG9kRGlzcnVwdGlvbkJ1ZGdldFVuZHJhaW5hYmxlQ3JpdGljYWxcbiAgICAgIHRhcmdldF9tYXRjaDpcbiAgICAgICAgYWxlcnRuYW1lOiBQb2REaXNydXB0aW9uQnVkZ2V0VW5kcmFpbmFibGVcbiAgICAgIGVxdWFsOiBbJ25hbWVzcGFjZScsICdwb2RkaXNydXB0aW9uYnVkZ2V0J11cblxuICBhbGVydG1hbmFnZXJTcGVjOlxuICAgIHJlcGxpY2FzOiAke2NvbmZpZy5yZXBsaWNhcy5hbGVydG1hbmFnZXJ9XG4gICAgcG9kQW50aUFmZmluaXR5OiBcInNvZnRcIiR7dGhpcy5nZW5lcmF0ZUFsZXJ0bWFuYWdlclNlY3JldHMoY29uZmlnKX1cbiAgICBzdG9yYWdlOlxuICAgICAgdm9sdW1lQ2xhaW1UZW1wbGF0ZTpcbiAgICAgICAgc3BlYzpcbiAgICAgICAgICBhY2Nlc3NNb2RlczogW1wiUmVhZFdyaXRlT25jZVwiXVxuICAgICAgICAgIHJlc291cmNlczpcbiAgICAgICAgICAgIHJlcXVlc3RzOlxuICAgICAgICAgICAgICBzdG9yYWdlOiAke2NvbmZpZy5zdG9yYWdlLmFsZXJ0bWFuYWdlcn1cbiAgICByZXNvdXJjZXM6XG4gICAgICBsaW1pdHM6XG4gICAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmFsZXJ0bWFuYWdlci5saW1pdHMuY3B1fVxuICAgICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5hbGVydG1hbmFnZXIubGltaXRzLm1lbW9yeX1cbiAgICAgIHJlcXVlc3RzOlxuICAgICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5hbGVydG1hbmFnZXIucmVxdWVzdHMuY3B1fVxuICAgICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5hbGVydG1hbmFnZXIucmVxdWVzdHMubWVtb3J5fVxuICAgIHByaW9yaXR5Q2xhc3NOYW1lOiAke2NvbmZpZy5wcmlvcml0eUNsYXNzZXMuY2FwdHVyZX0ke3RoaXMuZ2VuZXJhdGVFeHRlcm5hbFVybChjb25maWcuZXh0ZXJuYWxVcmxzLmFsZXJ0bWFuYWdlcil9XG5cbiAgICAjIFNpZGVjYXIgY29udGFpbmVycyByZXNvdXJjZSByZXF1ZXN0cyAoYWRkZWQgMjAyNS0xMS0xOClcbiAgICBjb250YWluZXJzOlxuICAgIC0gbmFtZTogY29uZmlnLXJlbG9hZGVyXG4gICAgICByZXNvdXJjZXM6XG4gICAgICAgIHJlcXVlc3RzOlxuICAgICAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmNvbmZpZ1JlbG9hZGVyLnJlcXVlc3RzLmNwdX1cbiAgICAgICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5jb25maWdSZWxvYWRlci5yZXF1ZXN0cy5tZW1vcnl9XG4gICAgICAgIGxpbWl0czpcbiAgICAgICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5jb25maWdSZWxvYWRlci5saW1pdHMuY3B1fVxuICAgICAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmNvbmZpZ1JlbG9hZGVyLmxpbWl0cy5tZW1vcnl9XG5cblxucHJvbWV0aGV1czpcbiAgIyBFbmFibGUgVGhhbm9zIHNlcnZpY2UgZm9yIGdSUEMgY29tbXVuaWNhdGlvblxuICAjIFJlcXVpcmVkIGZvciBIZWxtIGNoYXJ0IHRvIHByb3Blcmx5IHJlbmRlciBUaGFub3Mgc2lkZWNhciBjb25maWd1cmF0aW9uXG4gIHRoYW5vc1NlcnZpY2U6XG4gICAgZW5hYmxlZDogdHJ1ZVxuXG4gIHByb21ldGhldXNTcGVjOlxuICAgIHJldGVudGlvbjogJHtjb25maWcucmV0ZW50aW9uLnByb21ldGhldXN9ICAjIFJlZHVjZWQgZnJvbSA3ZCAtIFRoYW5vcyBwcm92aWRlcyBsb25nLXRlcm0gc3RvcmFnZSBpbiBTMyR7dGhpcy5nZW5lcmF0ZUV4dGVybmFsVXJsKGNvbmZpZy5leHRlcm5hbFVybHMucHJvbWV0aGV1cyl9XG5cbiAgICAjIERpc2NvdmVyIEFMTCBTZXJ2aWNlTW9uaXRvcnMsIFBvZE1vbml0b3JzIGFuZCBQcm9tZXRoZXVzUnVsZXMgaW4gQUxMIG5hbWVzcGFjZXNcbiAgICAjIFNldHRpbmcgTmlsVXNlc0hlbG1WYWx1ZXM6IGZhbHNlIG1lYW5zIG5pbCBzZWxlY3RvcnMgPSBcInNlbGVjdCBhbGxcIlxuICAgICMgRW1wdHkgbmFtZXNwYWNlIHNlbGVjdG9ycyB7fSBtZWFuIFwic2VhcmNoIGFsbCBuYW1lc3BhY2VzXCJcbiAgICAjIFdpdGhvdXQgdGhlIHJ1bGUqIHNldHRpbmdzLCBydWxlU2VsZWN0b3Iga2VlcHMgdGhlIGNoYXJ0IGRlZmF1bHRcbiAgICAjIChtYXRjaExhYmVsczoge3JlbGVhc2U6IDxuYW1lPn0pIGFuZCBoYW5kLWF1dGhvcmVkIFByb21ldGhldXNSdWxlcyB0aGF0XG4gICAgIyBsYWNrIHRoZSByZWxlYXNlIGxhYmVsIGFyZSBzaWxlbnRseSBpZ25vcmVkLlxuICAgICMgTm90ZTogVGhpcyBkb2VzIE5PVCBhZmZlY3QgVGhhbm9zIHNpZGVjYXIgLSBjb250cm9sbGVkIGJ5IHRoYW5vcy5vYmplY3RTdG9yYWdlQ29uZmlnXG4gICAgc2VydmljZU1vbml0b3JTZWxlY3Rvck5pbFVzZXNIZWxtVmFsdWVzOiBmYWxzZVxuICAgIHBvZE1vbml0b3JTZWxlY3Rvck5pbFVzZXNIZWxtVmFsdWVzOiBmYWxzZVxuICAgIHJ1bGVTZWxlY3Rvck5pbFVzZXNIZWxtVmFsdWVzOiBmYWxzZVxuICAgIHNlcnZpY2VNb25pdG9yTmFtZXNwYWNlU2VsZWN0b3I6IHt9XG4gICAgcG9kTW9uaXRvck5hbWVzcGFjZVNlbGVjdG9yOiB7fVxuICAgIHJ1bGVOYW1lc3BhY2VTZWxlY3Rvcjoge31cblxuICAgIHJlcGxpY2FzOiAke2NvbmZpZy5yZXBsaWNhcy5wcm9tZXRoZXVzfVxuICAgIHBvZEFudGlBZmZpbml0eTogXCJoYXJkXCJcbiAgICBzdG9yYWdlU3BlYzpcbiAgICAgIHZvbHVtZUNsYWltVGVtcGxhdGU6XG4gICAgICAgIHNwZWM6XG4gICAgICAgICAgc3RvcmFnZUNsYXNzTmFtZTogbG9uZ2hvcm5cbiAgICAgICAgICBhY2Nlc3NNb2RlczogW1wiUmVhZFdyaXRlT25jZVwiXVxuICAgICAgICAgIHJlc291cmNlczpcbiAgICAgICAgICAgIHJlcXVlc3RzOlxuICAgICAgICAgICAgICBzdG9yYWdlOiAke2NvbmZpZy5zdG9yYWdlLnByb21ldGhldXN9ICAjIFJlZHVjZWQgZnJvbSA2R2kgKDNkIHJldGVudGlvbiBuZWVkcyBsZXNzIHNwYWNlKVxuXG4gICAgcmVzb3VyY2VzOlxuICAgICAgbGltaXRzOlxuICAgICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5wcm9tZXRoZXVzLmxpbWl0cy5jcHV9XG4gICAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLnByb21ldGhldXMubGltaXRzLm1lbW9yeX1cbiAgICAgIHJlcXVlc3RzOlxuICAgICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5wcm9tZXRoZXVzLnJlcXVlc3RzLmNwdX1cbiAgICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMucHJvbWV0aGV1cy5yZXF1ZXN0cy5tZW1vcnl9XG4gICAgcHJpb3JpdHlDbGFzc05hbWU6ICR7Y29uZmlnLnByaW9yaXR5Q2xhc3Nlcy5jYXB0dXJlfVxuXG4gICAgIyBFeHRlcm5hbCBsYWJlbHMgZm9yIG11bHRpLWNsdXN0ZXIgaWRlbnRpZmljYXRpb24gYW5kIFRoYW5vc1xuICAgIGV4dGVybmFsTGFiZWxzOlxuICAgICAgY2x1c3RlcjogJHtjb25maWcuY2x1c3Rlck5hbWV9XG4gICAgICByZXBsaWNhOiBcIiQoUE9EX05BTUUpXCJcbiAgICAjIFRoYW5vcyBuZWVkcyB0aGUgcmVwbGljYSBsYWJlbCBvbiBtZXRyaWNzLCBidXQgb24gYWxlcnRzIGl0IG1ha2VzIHRoZSB0d29cbiAgICAjIFByb21ldGhldXMgcmVwbGljYXMgbG9vayBsaWtlIHR3byBkaWZmZXJlbnQgYWxlcnRzLCBzbyBldmVyeSBtYWlsIGxpc3RzXG4gICAgIyBlYWNoIG9uZSB0d2ljZS4gVGhlIG9wZXJhdG9yIGRyb3BzIGl0cyBvd24gcHJvbWV0aGV1c19yZXBsaWNhIHRoZSBzYW1lIHdheS5cbiAgICBhZGRpdGlvbmFsQWxlcnRSZWxhYmVsQ29uZmlnczpcbiAgICAgIC0gYWN0aW9uOiBsYWJlbGRyb3BcbiAgICAgICAgcmVnZXg6IHJlcGxpY2FcblxuICAgICMgVGhhbm9zIHNpZGVjYXIgZm9yIGxvbmctdGVybSBtZXRyaWNzIHN0b3JhZ2UgaW4gUzNcbiAgICAjIE5PVEU6IGNoYXJ0ID49ODUueCByZXF1aXJlcyB0aGUgZXhpc3RpbmdTZWNyZXQgc2hhcGUuIFRoZSBsZWdhY3kgZmxhdFxuICAgICMge25hbWUsIGtleX0gZm9ybSBpcyBzaWxlbnRseSBkcm9wcGVkIGJ5IHRoZSBjaGFydCwgd2hpY2ggcmVtb3ZlcyB0aGVcbiAgICAjIHNpZGVjYXIgYW5kIHN0b3BzIGFsbCBTMyBibG9jayB1cGxvYWRzIChyZWdyZXNzaW9uIHNlZW4gMjAyNi0wMy0zMSkuXG4gICAgdGhhbm9zOlxuICAgICAgb2JqZWN0U3RvcmFnZUNvbmZpZzpcbiAgICAgICAgZXhpc3RpbmdTZWNyZXQ6XG4gICAgICAgICAgbmFtZTogdGhhbm9zLW9ianN0b3JlLWNvbmZpZyAgIyBFU08tbWFuYWdlZCBzZWNyZXRcbiAgICAgICAgICBrZXk6IG9ianN0b3JlLnltbFxuXG4gICAgIyBTaWRlY2FyIGNvbnRhaW5lcnMgcmVzb3VyY2UgcmVxdWVzdHMgKGFkZGVkIDIwMjUtMTEtMTgpXG4gICAgIyBOT1RFOiB0aGFub3Mtc2lkZWNhciBpcyBOT1QgbGlzdGVkIGhlcmUgLSBpdCdzIGF1dG9tYXRpY2FsbHkgaW5qZWN0ZWQgYnkgUHJvbWV0aGV1cyBPcGVyYXRvclxuICAgICMgd2hlbiB0aGFub3Mub2JqZWN0U3RvcmFnZUNvbmZpZyBpcyBzZXQuIFNwZWNpZnlpbmcgaXQgaW4gY29udGFpbmVyc1tdIHdvdWxkIG92ZXJyaWRlXG4gICAgIyB0aGUgb3BlcmF0b3IncyBkZWZpbml0aW9uIGFuZCByZXF1aXJlIHVzIHRvIG1hbnVhbGx5IHNwZWNpZnkgdGhlIGltYWdlLCB3aGljaCBicmVha3NcbiAgICAjIHdoZW4gdGhlIG9wZXJhdG9yIHVwZGF0ZXMgdGhlIHRoYW5vcyB2ZXJzaW9uLlxuICAgIGNvbnRhaW5lcnM6XG4gICAgLSBuYW1lOiBjb25maWctcmVsb2FkZXJcbiAgICAgIHJlc291cmNlczpcbiAgICAgICAgcmVxdWVzdHM6XG4gICAgICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMuY29uZmlnUmVsb2FkZXIucmVxdWVzdHMuY3B1fVxuICAgICAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmNvbmZpZ1JlbG9hZGVyLnJlcXVlc3RzLm1lbW9yeX1cbiAgICAgICAgbGltaXRzOlxuICAgICAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmNvbmZpZ1JlbG9hZGVyLmxpbWl0cy5jcHV9XG4gICAgICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMuY29uZmlnUmVsb2FkZXIubGltaXRzLm1lbW9yeX1cblxuICAgIHNlcnZpY2U6XG4gICAgICBzZXNzaW9uQWZmaW5pdHk6IFwiQ2xpZW50SVBcIlxuXG5cbmdyYWZhbmE6XG4gIHByaW9yaXR5Q2xhc3NOYW1lOiAke2NvbmZpZy5wcmlvcml0eUNsYXNzZXMucXVlcnl9XG5cbiAgIyBSZWNyZWF0ZSBzdHJhdGVneSBpcyByZXF1aXJlZCBiZWNhdXNlIHRoZSBzdG9yYWdlIFBWQyBpcyBSV086XG4gICMgYSBSb2xsaW5nVXBkYXRlIHdvdWxkIHN1cmdlIGEgc2Vjb25kIHBvZCB0aGF0IGNhbm5vdCBtb3VudCB0aGVcbiAgIyB2b2x1bWUgKEZhaWxlZEF0dGFjaFZvbHVtZSksIGJsb2NraW5nIHRoZSByb2xsb3V0IGluZGVmaW5pdGVseS5cbiAgZGVwbG95bWVudFN0cmF0ZWd5OlxuICAgIHR5cGU6IFJlY3JlYXRlXG5cbiAgIyBVc2UgZXhpc3Rpbmcgc2VjcmV0IGZvciBhZG1pbiBjcmVkZW50aWFscyAobWFuYWdlZCBieSBFU08pXG4gICMgVGhpcyBwcmV2ZW50cyBwYXNzd29yZCByZWdlbmVyYXRpb24gb24gSGVsbSB1cGdyYWRlc1xuICBhZG1pbjpcbiAgICBleGlzdGluZ1NlY3JldDogXCJncmFmYW5hLWFkbWluLWNyZWRlbnRpYWxzXCJcbiAgICB1c2VyS2V5OiBcImFkbWluLXVzZXJcIlxuICAgIHBhc3N3b3JkS2V5OiBcImFkbWluLXBhc3N3b3JkXCJcblxuICAjIEdyYWZhbmEgcnVucyBodHRwIG9uIDozMDAwIGJlaGluZCB0aGUgVExTLXRlcm1pbmF0aW5nIGluZ3Jlc3MuIFdpdGhvdXQgYW5cbiAgIyBleHBsaWNpdCByb290X3VybCBpdCBidWlsZHMgc2hhcmUgYW5kIHB1YmxpYy1kYXNoYm9hcmQgbGlua3MgZnJvbSB0aGUgaW50ZXJuYWxcbiAgIyBhZGRyZXNzIChodHRwOi8vPHBvZD46MzAwMCk7IGRlcml2ZSB0aGUgZXh0ZXJuYWwgVVJMIGZyb20gdGhlIGNvbmZpZ3VyZWQgZG9tYWluLlxuICBncmFmYW5hLmluaTpcbiAgICBzZXJ2ZXI6XG4gICAgICBkb21haW46ICR7Y29uZmlnLmRvbWFpbnMuZ3JhZmFuYX1cbiAgICAgIHJvb3RfdXJsOiBodHRwczovLyR7Y29uZmlnLmRvbWFpbnMuZ3JhZmFuYX0ke3RoaXMuZ2VuZXJhdGVHcmFmYW5hU2VjdXJpdHkoY29uZmlnKX1cblxuICAjIERpc2FibGUgZGVmYXVsdCBQcm9tZXRoZXVzIGRhdGFzb3VyY2UgKHdlIHByb3ZpZGUgb3VyIG93biBwb2ludGluZyB0byBUaGFub3MgUXVlcnkpXG4gIGRlZmF1bHREYXRhc291cmNlRW5hYmxlZDogZmFsc2VcblxuICAjIFNpZGVjYXIgY29udGFpbmVycyBmb3IgZGFzaGJvYXJkL2RhdGFzb3VyY2UgcHJvdmlzaW9uaW5nXG4gIHNpZGVjYXI6XG4gICAgcmVzb3VyY2VzOlxuICAgICAgcmVxdWVzdHM6XG4gICAgICAgIGNwdTogMTBtXG4gICAgICAgIG1lbW9yeTogMjU2TWlcbiAgICAgIGxpbWl0czpcbiAgICAgICAgY3B1OiAxMDBtXG4gICAgICAgIG1lbW9yeTogNTEyTWlcbiAgICBkYXNoYm9hcmRzOlxuICAgICAgZW5hYmxlZDogdHJ1ZVxuICAgICAgIyBEYXNoYm9hcmQgQ29uZmlnTWFwcyBtYXkgb3B0IGludG8gYSBuYW1lZCBHcmFmYW5hIGZvbGRlciB2aWEgdGhpc1xuICAgICAgIyBhbm5vdGF0aW9uOyBDb25maWdNYXBzIHdpdGhvdXQgaXQga2VlcCBsYW5kaW5nIGluIEdlbmVyYWwuXG4gICAgICBmb2xkZXJBbm5vdGF0aW9uOiBncmFmYW5hX2ZvbGRlclxuICAgICAgcHJvdmlkZXI6XG4gICAgICAgIGZvbGRlcnNGcm9tRmlsZXNTdHJ1Y3R1cmU6IHRydWVcbiAgICBkYXRhc291cmNlczpcbiAgICAgIGVuYWJsZWQ6IGZhbHNlICAjIFdlIG1hbnVhbGx5IHByb3Zpc2lvbiBkYXRhc291cmNlcyAoUHJvbWV0aGV1c+KGklRoYW5vcywgTG9raSlcblxuICBpbmdyZXNzOlxuICAgIGVuYWJsZWQ6IHRydWUke2NvbmZpZy5kb21haW5zLmluZ3Jlc3NDbGFzc05hbWUgPyBgXFxuICAgIGluZ3Jlc3NDbGFzc05hbWU6ICR7Y29uZmlnLmRvbWFpbnMuaW5ncmVzc0NsYXNzTmFtZX1gIDogJyd9XG4gICAgaG9zdHM6XG4gICAgICAtICR7Y29uZmlnLmRvbWFpbnMuZ3JhZmFuYX1cbiAgICBhbm5vdGF0aW9uczpcbiAgICAgIGNlcnQtbWFuYWdlci5pby9jbHVzdGVyLWlzc3VlcjogXCJsZXRzZW5jcnlwdC1jbHVzdGVyLWlzc3VlclwiXG4gICAgICB0cmFlZmlrLmluZ3Jlc3Mua3ViZXJuZXRlcy5pby9yb3V0ZXIuZW50cnlwb2ludHM6IHdlYnNlY3VyZVxuICAgIHRsczpcbiAgICAgIC0gc2VjcmV0TmFtZTogZ3JhZmFuYS1nZW5lcmFsLXRsc1xuICAgICAgICBob3N0czpcbiAgICAgICAgLSAke2NvbmZpZy5kb21haW5zLmdyYWZhbmF9XG5cbiAgcmVzb3VyY2VzOlxuICAgIGxpbWl0czpcbiAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmdyYWZhbmEubGltaXRzLmNwdX1cbiAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmdyYWZhbmEubGltaXRzLm1lbW9yeX1cbiAgICByZXF1ZXN0czpcbiAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmdyYWZhbmEucmVxdWVzdHMuY3B1fVxuICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMuZ3JhZmFuYS5yZXF1ZXN0cy5tZW1vcnl9XG5cbiAgcmVhZGluZXNzUHJvYmU6XG4gICAgaHR0cEdldDpcbiAgICAgIHBhdGg6IC9hcGkvaGVhbHRoXG4gICAgICBwb3J0OiAzMDAwXG4gICAgaW5pdGlhbERlbGF5U2Vjb25kczogMzBcbiAgICBwZXJpb2RTZWNvbmRzOiAxMFxuICAgIHRpbWVvdXRTZWNvbmRzOiA1XG4gICAgZmFpbHVyZVRocmVzaG9sZDogM1xuXG4gIGxpdmVuZXNzUHJvYmU6XG4gICAgaHR0cEdldDpcbiAgICAgIHBhdGg6IC9hcGkvaGVhbHRoXG4gICAgICBwb3J0OiAzMDAwXG4gICAgaW5pdGlhbERlbGF5U2Vjb25kczogNjBcbiAgICBwZXJpb2RTZWNvbmRzOiAxMFxuICAgIHRpbWVvdXRTZWNvbmRzOiAzMFxuICAgIGZhaWx1cmVUaHJlc2hvbGQ6IDEwXG5cbiAgcGVyc2lzdGVuY2U6XG4gICAgZW5hYmxlZDogdHJ1ZVxuICAgIHN0b3JhZ2VDbGFzc05hbWU6IGxvbmdob3JuXG4gICAgYWNjZXNzTW9kZXM6XG4gICAgICAtIFJlYWRXcml0ZU9uY2VcbiAgICBzaXplOiAke2NvbmZpZy5zdG9yYWdlLmdyYWZhbmF9XG5cbiAgIyBNYW51YWwgZGF0YXNvdXJjZSBwcm92aXNpb25pbmcgKHNpZGVjYXIgZGlzYWJsZWQpXG4gICMgVGhhbm9zIFF1ZXJ5IOKGkiBsb25nLXRlcm0vaGlzdG9yaWNhbCBtZXRyaWNzIChTMyB2aWEgU3RvcmUgKyBsaXZlIHNpZGVjYXIpLCBkZWZhdWx0XG4gICMgUHJvbWV0aGV1cyDihpIgbG9jYWwsIHJlY2VudC9oaWdoLXJlcyBvbmx5IChrZXB0IGZvciBsb3ctbGF0ZW5jeSByZWNlbnQgcXVlcmllcylcbiAgIyBMb2tpIGZvciBsb2cgYWdncmVnYXRpb25cbiAgZGF0YXNvdXJjZXM6XG4gICAgZGF0YXNvdXJjZXMueWFtbDpcbiAgICAgIGFwaVZlcnNpb246IDFcbiAgICAgICMgRGVsZXRlIGFueSBwcmUtZXhpc3RpbmcgTG9raSBkYXRhc291cmNlIChlLmcuIG9uZSBjcmVhdGVkIHdpdGggYVxuICAgICAgIyByYW5kb21seSBnZW5lcmF0ZWQgVUlEIGJlZm9yZSB3ZSBwaW5uZWQgdWlkOiBsb2tpKS4gV2l0aG91dCB0aGlzLFxuICAgICAgIyBHcmFmYW5hIGZhaWxzIHByb3Zpc2lvbmluZyB3aXRoIFwiZGF0YSBzb3VyY2Ugbm90IGZvdW5kXCIgYmVjYXVzZVxuICAgICAgIyB0aGUgdXBzZXJ0IGNvbGxpZGVzIHdpdGggdGhlIGV4aXN0aW5nIGVudHJ5LlxuICAgICAgZGVsZXRlRGF0YXNvdXJjZXM6XG4gICAgICAtIG5hbWU6IExva2lcbiAgICAgICAgb3JnSWQ6IDFcbiAgICAgIGRhdGFzb3VyY2VzOlxuICAgICAgLSBuYW1lOiBUaGFub3NcbiAgICAgICAgdHlwZTogcHJvbWV0aGV1c1xuICAgICAgICB1aWQ6IHRoYW5vc1xuICAgICAgICBhY2Nlc3M6IHByb3h5XG4gICAgICAgICMgdGhhbm9zLXF1ZXJ5IFNlcnZpY2U6IGh0dHAgcG9ydCA5MDkwIC0+IGNvbnRhaW5lciBodHRwIDEwOTAyXG4gICAgICAgIHVybDogaHR0cDovL3RoYW5vcy1xdWVyeS4ke2NvbmZpZy5uYW1lc3BhY2V9LnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTBcbiAgICAgICAgaXNEZWZhdWx0OiB0cnVlXG4gICAgICAgIGpzb25EYXRhOlxuICAgICAgICAgIHRpbWVJbnRlcnZhbDogMzBzXG4gICAgICAtIG5hbWU6IFByb21ldGhldXNcbiAgICAgICAgdHlwZTogcHJvbWV0aGV1c1xuICAgICAgICB1aWQ6IHByb21ldGhldXNcbiAgICAgICAgYWNjZXNzOiBwcm94eVxuICAgICAgICB1cmw6IGh0dHA6Ly9rdWJlLXByb21ldGhldXMtc3RhY2stcHJvbWV0aGV1cy4ke2NvbmZpZy5uYW1lc3BhY2V9LnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTBcbiAgICAgICAgaXNEZWZhdWx0OiBmYWxzZVxuICAgICAgICBqc29uRGF0YTpcbiAgICAgICAgICB0aW1lSW50ZXJ2YWw6IDMwc1xuICAgICAgIyBTaG93cyB0aGUgYWxlcnRzIHRoYXQgQWxlcnRtYW5hZ2VyIGhvbGRzLCBpbmNsdWRpbmcgc2lsZW5jZXMsIGluc2lkZSBHcmFmYW5hLlxuICAgICAgLSBuYW1lOiBBbGVydG1hbmFnZXJcbiAgICAgICAgdHlwZTogYWxlcnRtYW5hZ2VyXG4gICAgICAgIHVpZDogYWxlcnRtYW5hZ2VyXG4gICAgICAgIGFjY2VzczogcHJveHlcbiAgICAgICAgdXJsOiBodHRwOi8va3ViZS1wcm9tZXRoZXVzLXN0YWNrLWFsZXJ0bWFuYWdlci4ke2NvbmZpZy5uYW1lc3BhY2V9LnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTNcbiAgICAgICAganNvbkRhdGE6XG4gICAgICAgICAgaW1wbGVtZW50YXRpb246IHByb21ldGhldXNcbiAgICAgICAgICBoYW5kbGVHcmFmYW5hTWFuYWdlZEFsZXJ0czogZmFsc2VcbiAgICAgIC0gbmFtZTogTG9raVxuICAgICAgICB0eXBlOiBsb2tpXG4gICAgICAgIHVpZDogbG9raVxuICAgICAgICBhY2Nlc3M6IHByb3h5XG4gICAgICAgIHVybDogaHR0cDovL2xva2ktZ2F0ZXdheS4ke2NvbmZpZy5uYW1lc3BhY2V9LnN2Yy5jbHVzdGVyLmxvY2FsXG4gICAgICAgIGpzb25EYXRhOlxuICAgICAgICAgIG1heExpbmVzOiAxMDAwJHt0ZW1wb0RhdGFzb3VyY2V9XG5cbnByb21ldGhldXNPcGVyYXRvcjpcbiAgcmVzb3VyY2VzOlxuICAgIGxpbWl0czpcbiAgICAgIGNwdTogMVxuICAgICAgbWVtb3J5OiA1MTJNaVxuICAgIHJlcXVlc3RzOlxuICAgICAgY3B1OiA1MG1cbiAgICAgIG1lbW9yeTogMTI4TWlcbiAgcHJpb3JpdHlDbGFzc05hbWU6ICR7Y29uZmlnLnByaW9yaXR5Q2xhc3Nlcy5jYXB0dXJlfVxuXG5wcm9tZXRoZXVzLW5vZGUtZXhwb3J0ZXI6XG4gICMgQmluZCA6OTEwMCB0byB0aGUgbm9kZSBJbnRlcm5hbElQIG9ubHksIG5vdCAwLjAuMC4wLiBXaXRoIGt1YmVSQkFDUHJveHlcbiAgIyBkaXNhYmxlZCB0aGUgc3ViLWNoYXJ0IHNldHMgSE9TVF9JUCBmcm9tIGZpZWxkUmVmIHN0YXR1cy5ob3N0SVAsIHdoaWNoIGlzXG4gICMgdGhlIG5vZGUncyBJbnRlcm5hbElQIChFWDogdlN3aXRjaCAxMC42LjAueCB2aWEgLS1ub2RlLWlwOyBjbG91ZDogaGNsb3VkXG4gICMgcHJpdmF0ZSBJUCkuIG5vZGUtZXhwb3J0ZXIgaXMgaG9zdE5ldHdvcmssIHNvIFByb21ldGhldXMgYWxyZWFkeSBzY3JhcGVzXG4gICMgdGhhdCBJbnRlcm5hbElQIGVuZHBvaW50IC0+IHNjcmFwaW5nIGlzIHVuYWZmZWN0ZWQsIG9ubHkgdGhlIHB1YmxpYy1OSUNcbiAgIyBleHBvc3VyZSBvZiB0aGUgdW5hdXRoZW50aWNhdGVkIG1ldHJpY3Mgb24gdGhlIEVYIHB1YmxpYyBJUHMgZ29lcyBhd2F5LlxuICBzZXJ2aWNlOlxuICAgIGxpc3Rlbk9uQWxsSW50ZXJmYWNlczogZmFsc2VcbiAgcmVzb3VyY2VzOlxuICAgIGxpbWl0czpcbiAgICAgIGNwdTogNTBtXG4gICAgICBtZW1vcnk6IDUwTWlcbiAgICByZXF1ZXN0czpcbiAgICAgIGNwdTogNW1cbiAgICAgIG1lbW9yeTogMTZNaVxuICBwcmlvcml0eUNsYXNzTmFtZTogJHtjb25maWcucHJpb3JpdHlDbGFzc2VzLmNhcHR1cmV9XG5cbmt1YmUtc3RhdGUtbWV0cmljczpcbiAgcmVzb3VyY2VzOlxuICAgIGxpbWl0czpcbiAgICAgIGNwdTogMVxuICAgICAgbWVtb3J5OiA1MTJNaVxuICAgIHJlcXVlc3RzOlxuICAgICAgY3B1OiA1bVxuICAgICAgbWVtb3J5OiAxMjhNaVxuICBwcmlvcml0eUNsYXNzTmFtZTogJHtjb25maWcucHJpb3JpdHlDbGFzc2VzLmNhcHR1cmV9XG5gO1xuICB9XG59XG4iXX0=
|
package/lib/default-config.js
CHANGED
|
@@ -88,6 +88,10 @@ exports.DEFAULT_CONFIG = {
|
|
|
88
88
|
alertRouting: {
|
|
89
89
|
repeatInterval: '12h',
|
|
90
90
|
},
|
|
91
|
+
externalUrls: {
|
|
92
|
+
alertmanager: '',
|
|
93
|
+
prometheus: '',
|
|
94
|
+
},
|
|
91
95
|
priorityClasses: {
|
|
92
96
|
create: true,
|
|
93
97
|
capture: 'high-priority',
|
|
@@ -137,7 +141,8 @@ function mergeConfig(input) {
|
|
|
137
141
|
embedding,
|
|
138
142
|
stagingAlerts,
|
|
139
143
|
alertRouting: (0, deepmerge_ts_1.deepmerge)(exports.DEFAULT_CONFIG.alertRouting, input.alertRouting ?? {}),
|
|
144
|
+
externalUrls: (0, deepmerge_ts_1.deepmerge)(exports.DEFAULT_CONFIG.externalUrls, input.externalUrls ?? {}),
|
|
140
145
|
priorityClasses: (0, deepmerge_ts_1.deepmerge)(exports.DEFAULT_CONFIG.priorityClasses, input.priorityClasses ?? {}),
|
|
141
146
|
};
|
|
142
147
|
}
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVmYXVsdC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBbUhBLGtDQXlDQztBQTVKRCwrQ0FBeUM7QUFtQnpDOzs7O0dBSUc7QUFDVSxRQUFBLGNBQWMsR0FBc0I7SUFDL0MsUUFBUSxFQUFFO1FBQ1IsZUFBZSxFQUFFLFFBQVE7UUFDekIsSUFBSSxFQUFFLE9BQU87UUFDYixLQUFLLEVBQUUsUUFBUTtRQUNmLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLEtBQUssRUFBRSxRQUFRLEVBQUUsd0NBQXdDO0tBQzFEO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsVUFBVSxFQUFFLElBQUk7UUFDaEIsZUFBZSxFQUFFLEVBQUU7UUFDbkIsY0FBYyxFQUFFLEdBQUc7UUFDbkIsY0FBYyxFQUFFLEdBQUc7UUFDbkIsSUFBSSxFQUFFLE1BQU07S0FDYjtJQUNELE9BQU8sRUFBRTtRQUNQLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsWUFBWSxFQUFFLEtBQUs7UUFDbkIsV0FBVyxFQUFFLE1BQU07UUFDbkIsU0FBUyxFQUFFLEtBQUs7UUFDaEIsV0FBVyxFQUFFLE1BQU07UUFDbkIsZUFBZSxFQUFFLE1BQU07UUFDdkIsS0FBSyxFQUFFLEtBQUs7S0FDYjtJQUNELFFBQVEsRUFBRTtRQUNSLFVBQVUsRUFBRSxDQUFDO1FBQ2IsWUFBWSxFQUFFLENBQUM7UUFDZixPQUFPLEVBQUUsQ0FBQztRQUNWLFdBQVcsRUFBRSxDQUFDO1FBQ2QsUUFBUSxFQUFFLENBQUM7UUFDWCxTQUFTLEVBQUUsQ0FBQztRQUNaLFdBQVcsRUFBRSxDQUFDO1FBQ2QsV0FBVyxFQUFFLENBQUM7UUFDZCxLQUFLLEVBQUUsQ0FBQztLQUNUO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUU7UUFDbkcsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDOUYsWUFBWSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDckcsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDckcsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDbEcsU0FBUyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDOUYsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDcEcsS0FBSyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDL0YsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDcEcsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDbEcsZUFBZSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDdEcsY0FBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDckcsYUFBYSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDckcsS0FBSyxFQUFFLEVBQUUsUUFB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QUUsSUFBQSx3QkFBUyxFQUFDLHNCQUFjLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxlQUFlLElBQUksRUFBRSxDQUEwQjtLQUNqSCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZXBtZXJnZSB9IGZyb20gJ2RlZXBtZXJnZS10cyc7XG5pbXBvcnQge1xuICBBbGVydFJvdXRpbmdDb25maWcsXG4gIERlZmF1bHRhYmxlQ29uZmlnLFxuICBFbWJlZGRpbmdDb25maWcsXG4gIExvbmdob3JuQ29uZmlnLFxuICBNb25pdG9yaW5nQ29uZmlnLFxuICBNb25pdG9yaW5nQ29uZmlnSW5wdXQsXG4gIFByaW9yaXR5Q2xhc3Nlc0NvbmZpZyxcbiAgUmVwbGljYUNvbmZpZyxcbiAgUmVzb3VyY2VDb25maWcsXG4gIFJldGVudGlvbkNvbmZpZyxcbiAgU3RhZ2luZ0FsZXJ0c0NvbmZpZyxcbiAgU3RvcmFnZUNvbmZpZyxcbiAgVGVtcG9Db25maWcsXG4gIFRyYWVmaWtDb25maWcsXG4gIFZlcnNpb25Db25maWcsXG59IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIFBhY2thZ2Utc2hpcHBlZCBkZWZhdWx0cyBmb3IgZXZlcnl0aGluZyB0aGF0IGhhcyBhIHNlbnNpYmxlIHVuaXZlcnNhbCB2YWx1ZS5cbiAqIFZhbHVlcyBtaXJyb3IgdGhlIGt1cDZzIHByb2R1Y3Rpb24gY29uZmlnIGF0IHRoZSB0aW1lIG9mIGV4dHJhY3Rpb247IGludGVncmF0aW9uXG4gKiBjaGFydHMgb3ZlcnJpZGUgb25seSB3aGF0IHRoZXkgbmVlZCB2aWEge0BsaW5rIG1lcmdlQ29uZmlnfS5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ09ORklHOiBEZWZhdWx0YWJsZUNvbmZpZyA9IHtcbiAgdmVyc2lvbnM6IHtcbiAgICBwcm9tZXRoZXVzU3RhY2s6ICc4Ny4wLjAnLFxuICAgIGxva2k6ICc3LjAuMCcsXG4gICAgYWxsb3k6ICcxLjEwLjAnLFxuICAgIHRoYW5vczogJ3YwLjQxLjAnLFxuICAgIHRlbXBvOiAnMS4yNC40JywgLy8gZ3JhZmFuYS90ZW1wbyBjaGFydCAoVGVtcG8gYXBwIDIuOS4wKVxuICB9LFxuICByZXRlbnRpb246IHtcbiAgICBwcm9tZXRoZXVzOiAnMmQnLFxuICAgIHByb21ldGhldXNTM1JhdzogMzAsXG4gICAgcHJvbWV0aGV1c1MzNW06IDE4MCxcbiAgICBwcm9tZXRoZXVzUzMxaDogNzMwLFxuICAgIGxva2k6ICc3NDRoJyxcbiAgfSxcbiAgc3RvcmFnZToge1xuICAgIHByb21ldGhldXM6ICcxNUdpJyxcbiAgICBncmFmYW5hOiAnNUdpJyxcbiAgICBhbGVydG1hbmFnZXI6ICcxR2knLFxuICAgIGxva2lCYWNrZW5kOiAnMTBHaScsXG4gICAgbG9raVdyaXRlOiAnM0dpJyxcbiAgICB0aGFub3NTdG9yZTogJzEwR2knLFxuICAgIHRoYW5vc0NvbXBhY3RvcjogJzIwR2knLFxuICAgIHRlbXBvOiAnNUdpJyxcbiAgfSxcbiAgcmVwbGljYXM6IHtcbiAgICBwcm9tZXRoZXVzOiAyLFxuICAgIGFsZXJ0bWFuYWdlcjogMixcbiAgICBncmFmYW5hOiAxLFxuICAgIGxva2lCYWNrZW5kOiAyLFxuICAgIGxva2lSZWFkOiAyLFxuICAgIGxva2lXcml0ZTogMixcbiAgICB0aGFub3NRdWVyeTogMixcbiAgICB0aGFub3NTdG9yZTogMixcbiAgICB0ZW1wbzogMSxcbiAgfSxcbiAgcmVzb3VyY2VzOiB7XG4gICAgcHJvbWV0aGV1czogeyByZXF1ZXN0czogeyBjcHU6ICcxMDBtJywgbWVtb3J5OiAnMTUwME1pJyB9LCBsaW1pdHM6IHsgY3B1OiAnMicsIG1lbW9yeTogJzMwMDBNaScgfSB9LFxuICAgIGdyYWZhbmE6IHsgcmVxdWVzdHM6IHsgY3B1OiAnNTBtJywgbWVtb3J5OiAnNTEyTWknIH0sIGxpbWl0czogeyBjcHU6ICcyMDBtJywgbWVtb3J5OiAnMUdpJyB9IH0sXG4gICAgYWxlcnRtYW5hZ2VyOiB7IHJlcXVlc3RzOiB7IGNwdTogJzI1bScsIG1lbW9yeTogJzEwME1pJyB9LCBsaW1pdHM6IHsgY3B1OiAnMTAwbScsIG1lbW9yeTogJzIwME1pJyB9IH0sXG4gICAgbG9raUJhY2tlbmQ6IHsgcmVxdWVzdHM6IHsgY3B1OiAnMTAwbScsIG1lbW9yeTogJzI1Nk1pJyB9LCBsaW1pdHM6IHsgY3B1OiAnNTAwbScsIG1lbW9yeTogJzUxMk1pJyB9IH0sXG4gICAgbG9raVJlYWQ6IHsgcmVxdWVzdHM6IHsgY3B1OiAnMTAwbScsIG1lbW9yeTogJzI1Nk1pJyB9LCBsaW1pdHM6IHsgY3B1OiAnNTAwbScsIG1lbW9yeTogJzUxMk1pJyB9IH0sXG4gICAgbG9raVdyaXRlOiB7IHJlcXVlc3RzOiB7IGNwdTogJzEwMG0nLCBtZW1vcnk6ICc1MTJNaScgfSwgbGltaXRzOiB7IGNwdTogJzEnLCBtZW1vcnk6ICcxR2knIH0gfSxcbiAgICBsb2tpR2F0ZXdheTogeyByZXF1ZXN0czogeyBjcHU6ICc1MG0nLCBtZW1vcnk6ICcxMjhNaScgfSwgbGltaXRzOiB7IGNwdTogJzIwMG0nLCBtZW1vcnk6ICcyNTZNaScgfSB9LFxuICAgIGFsbG95OiB7IHJlcXVlc3RzOiB7IGNwdTogJzEwMG0nLCBtZW1vcnk6ICcxMjhNaScgfSwgbGltaXRzOiB7IGNwdTogJzIwMG0nLCBtZW1vcnk6ICcyNTZNaScgfSB9LFxuICAgIHRoYW5vc1F1ZXJ5OiB7IHJlcXVlc3RzOiB7IGNwdTogJzIwMG0nLCBtZW1vcnk6ICc1MTJNaScgfSwgbGltaXRzOiB7IGNwdTogJzEwMDBtJywgbWVtb3J5OiAnMUdpJyB9IH0sXG4gICAgdGhhbm9zU3RvcmU6IHsgcmVxdWVzdHM6IHsgY3B1OiAnMjAwbScsIG1lbW9yeTogJzFHaScgfSwgbGltaXRzOiB7IGNwdTogJzEwMDBtJywgbWVtb3J5OiAnMkdpJyB9IH0sXG4gICAgdGhhbm9zQ29tcGFjdG9yOiB7IHJlcXVlc3RzOiB7IGNwdTogJzUwMG0nLCBtZW1vcnk6ICcyR2knIH0sIGxpbWl0czogeyBjcHU6ICcyMDAwbScsIG1lbW9yeTogJzRHaScgfSB9LFxuICAgIGNvbmZpZ1JlbG9hZGVyOiB7IHJlcXVlc3RzOiB7IGNwdTogJzEwbScsIG1lbW9yeTogJzUwTWknIH0sIGxpbWl0czogeyBjcHU6ICc1MG0nLCBtZW1vcnk6ICcxMDBNaScgfSB9LFxuICAgIHRoYW5vc1NpZGVjYXI6IHsgcmVxdWVzdHM6IHsgY3B1OiAnMTBtJywgbWVtb3J5OiAnNTBNaScgfSwgbGltaXRzOiB7IGNwdTogJzEwMG0nLCBtZW1vcnk6ICcxMDBNaScgfSB9LFxuICAgIHRlbXBvOiB7IHJlcXVlc3RzOiB7IGNwdTogJzEwMG0nLCBtZW1vcnk6ICc1MTJNaScgfSwgbGltaXRzOiB7IGNwdTogJzEnLCBtZW1vcnk6ICcyR2knIH0gfSxcbiAgICBhbGxveVRyYWNlczogeyByZXF1ZXN0czogeyBjcHU6ICcxMDBtJywgbWVtb3J5OiAnMjU2TWknIH0sIGxpbWl0czogeyBjcHU6ICc1MDBtJywgbWVtb3J5OiAnNTEyTWknIH0gfSxcbiAgfSxcbiAgdGVtcG86IHtcbiAgICBlbmFibGVkOiBmYWxzZSxcbiAgICBidWNrZXQ6ICcnLFxuICAgIHJldGVudGlvbjogJzMzNmgnLFxuICAgIHRhaWxTYW1wbGluZzogeyBsYXRlbmN5VGhyZXNob2xkTXM6IDEwMDAsIHByb2JhYmlsaXN0aWNQZXJjZW50OiAxMCB9LFxuICB9LFxuICB0cmFlZmlrOiB7XG4gICAgZW5hYmxlZDogZmFsc2UsXG4gICAgbmFtZXNwYWNlOiAndHJhZWZpaycsXG4gICAgZGFzaGJvYXJkOiB0cnVlLFxuICB9LFxuICBsb25naG9ybjoge1xuICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgIG5hbWVzcGFjZTogJ2xvbmdob3JuLXN5c3RlbScsXG4gICAgYWxlcnRzOiB0cnVlLFxuICB9LFxuICBlbWJlZGRpbmc6IHtcbiAgICBlbmFibGVkOiBmYWxzZSxcbiAgICBmcmFtZUFuY2VzdG9yczogW10sXG4gIH0sXG4gIHN0YWdpbmdBbGVydHM6IHtcbiAgICBlbmFibGVkOiBmYWxzZSxcbiAgICBuYW1lc3BhY2VzOiBbXSxcbiAgfSxcbiAgYWxlcnRSb3V0aW5nOiB7XG4gICAgcmVwZWF0SW50ZXJ2YWw6ICcxMmgnLFxuICB9LFxuICBwcmlvcml0eUNsYXNzZXM6IHtcbiAgICBjcmVhdGU6IHRydWUsXG4gICAgY2FwdHVyZTogJ2hpZ2gtcHJpb3JpdHknLFxuICAgIHF1ZXJ5OiAnaGlnaC1wcmlvcml0eScsXG4gIH0sXG59O1xuXG4vKipcbiAqIFJlc29sdmUgYSBmdWxsIE1vbml0b3JpbmdDb25maWcgYnkgZGVlcC1tZXJnaW5nIHRoZSBjYWxsZXIncyBvdmVycmlkZXMgb3ZlclxuICogREVGQVVMVF9DT05GSUcuIFJlcXVpcmVkIGNsdXN0ZXIgdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCB2ZXJiYXRpbS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlQ29uZmlnKGlucHV0OiBNb25pdG9yaW5nQ29uZmlnSW5wdXQpOiBNb25pdG9yaW5nQ29uZmlnIHtcbiAgY29uc3QgdGVtcG8gPSBkZWVwbWVyZ2UoREVGQVVMVF9DT05GSUcudGVtcG8sIGlucHV0LnRlbXBvID8/IHt9KSBhcyBUZW1wb0NvbmZpZztcbiAgaWYgKHRlbXBvLmVuYWJsZWQgJiYgIXRlbXBvLmJ1Y2tldCkge1xuICAgIHRocm93IG5ldyBFcnJvcigndGVtcG8uYnVja2V0IGlzIHJlcXVpcmVkIHdoZW4gdGVtcG8uZW5hYmxlZCBpcyB0cnVlJyk7XG4gIH1cbiAgY29uc3QgdHJhZWZpayA9IGRlZXBtZXJnZShERUZBVUxUX0NPTkZJRy50cmFlZmlrLCBpbnB1dC50cmFlZmlrID8/IHt9KSBhcyBUcmFlZmlrQ29uZmlnO1xuICBpZiAodHJhZWZpay5lbmFibGVkICYmICF0cmFlZmlrLm5hbWVzcGFjZSkge1xuICAgIHRocm93IG5ldyBFcnJvcigndHJhZWZpay5uYW1lc3BhY2UgaXMgcmVxdWlyZWQgd2hlbiB0cmFlZmlrLmVuYWJsZWQgaXMgdHJ1ZScpO1xuICB9XG4gIGNvbnN0IGxvbmdob3JuID0gZGVlcG1lcmdlKERFRkFVTFRfQ09ORklHLmxvbmdob3JuLCBpbnB1dC5sb25naG9ybiA/PyB7fSkgYXMgTG9uZ2hvcm5Db25maWc7XG4gIGlmIChsb25naG9ybi5lbmFibGVkICYmICFsb25naG9ybi5uYW1lc3BhY2UpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2xvbmdob3JuLm5hbWVzcGFjZSBpcyByZXF1aXJlZCB3aGVuIGxvbmdob3JuLmVuYWJsZWQgaXMgdHJ1ZScpO1xuICB9XG4gIGNvbnN0IGVtYmVkZGluZyA9IGRlZXBtZXJnZShERUZBVUxUX0NPTkZJRy5lbWJlZGRpbmcsIGlucHV0LmVtYmVkZGluZyA/PyB7fSkgYXMgRW1iZWRkaW5nQ29uZmlnO1xuICBpZiAoZW1iZWRkaW5nLmVuYWJsZWQgJiYgZW1iZWRkaW5nLmZyYW1lQW5jZXN0b3JzLmxlbmd0aCA9PT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignZW1iZWRkaW5nLmZyYW1lQW5jZXN0b3JzIG11c3QgbmFtZSBhdCBsZWFzdCBvbmUgb3JpZ2luIHdoZW4gZW1iZWRkaW5nLmVuYWJsZWQgaXMgdHJ1ZScpO1xuICB9XG4gIGNvbnN0IHN0YWdpbmdBbGVydHMgPSBkZWVwbWVyZ2UoREVGQVVMVF9DT05GSUcuc3RhZ2luZ0FsZXJ0cywgaW5wdXQuc3RhZ2luZ0FsZXJ0cyA/PyB7fSkgYXMgU3RhZ2luZ0FsZXJ0c0NvbmZpZztcbiAgaWYgKHN0YWdpbmdBbGVydHMuZW5hYmxlZCAmJiBzdGFnaW5nQWxlcnRzLm5hbWVzcGFjZXMubGVuZ3RoID09PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdzdGFnaW5nQWxlcnRzLm5hbWVzcGFjZXMgbXVzdCBuYW1lIGF0IGxlYXN0IG9uZSBuYW1lc3BhY2Ugd2hlbiBzdGFnaW5nQWxlcnRzLmVuYWJsZWQgaXMgdHJ1ZScpO1xuICB9XG4gIHJldHVybiB7XG4gICAgbmFtZXNwYWNlOiBpbnB1dC5uYW1lc3BhY2UsXG4gICAgY2x1c3Rlck5hbWU6IGlucHV0LmNsdXN0ZXJOYW1lLFxuICAgIGRvbWFpbnM6IGlucHV0LmRvbWFpbnMsXG4gICAgczM6IGlucHV0LnMzLFxuICAgIHNtdHA6IGlucHV0LnNtdHAsXG4gICAgaW50ZWdyYXRpb25zOiBpbnB1dC5pbnRlZ3JhdGlvbnMsXG4gICAgdmVyc2lvbnM6IGRlZXBtZXJnZShERUZBVUxUX0NPTkZJRy52ZXJzaW9ucywgaW5wdXQudmVyc2lvbnMgPz8ge30pIGFzIFZlcnNpb25Db25maWcsXG4gICAgcmV0ZW50aW9uOiBkZWVwbWVyZ2UoREVGQVVMVF9DT05GSUcucmV0ZW50aW9uLCBpbnB1dC5yZXRlbnRpb24gPz8ge30pIGFzIFJldGVudGlvbkNvbmZpZyxcbiAgICBzdG9yYWdlOiBkZWVwbWVyZ2UoREVGQVVMVF9DT05GSUcuc3RvcmFnZSwgaW5wdXQuc3RvcmFnZSA/PyB7fSkgYXMgU3RvcmFnZUNvbmZpZyxcbiAgICByZXBsaWNhczogZGVlcG1lcmdlKERFRkFVTFRfQ09ORklHLnJlcGxpY2FzLCBpbnB1dC5yZXBsaWNhcyA/PyB7fSkgYXMgUmVwbGljYUNvbmZpZyxcbiAgICByZXNvdXJjZXM6IGRlZXBtZXJnZShERUZBVUxUX0NPTkZJRy5yZXNvdXJjZXMsIGlucHV0LnJlc291cmNlcyA/PyB7fSkgYXMgUmVzb3VyY2VDb25maWcsXG4gICAgdGVtcG8sXG4gICAgdHJhZWZpayxcbiAgICBsb25naG9ybixcbiAgICBlbWJlZGRpbmcsXG4gICAgc3RhZ2luZ0FsZXJ0cyxcbiAgICBhbGVydFJvdXRpbmc6IGRlZXBtZXJnZShERUZBVUxUX0NPTkZJRy5hbGVydFJvdXRpbmcsIGlucHV0LmFsZXJ0Um91dGluZyA/PyB7fSkgYXMgQWxlcnRSb3V0aW5nQ29uZmlnLFxuICAgIHByaW9yaXR5Q2xhc3NlczogZGVlcG1lcmdlKERFRkFVTFRfQ09ORklHLnByaW9yaXR5Q2xhc3NlcywgaW5wdXQucHJpb3JpdHlDbGFzc2VzID8/IHt9KSBhcyBQcmlvcml0eUNsYXNzZXNDb25maWcsXG4gIH07XG59XG4iXX0=
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVmYXVsdC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBd0hBLGtDQTBDQztBQWxLRCwrQ0FBeUM7QUFvQnpDOzs7O0dBSUc7QUFDVSxRQUFBLGNBQWMsR0FBc0I7SUFDL0MsUUFBUSxFQUFFO1FBQ1IsZUFBZSxFQUFFLFFBQVE7UUFDekIsSUFBSSxFQUFFLE9BQU87UUFDYixLQUFLLEVBQUUsUUFBUTtRQUNmLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLEtBQUssRUFBRSxRQUFRLEVBQUUsd0NBQXdDO0tBQzFEO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsVUFBVSxFQUFFLElBQUk7UUFDaEIsZUFBZSxFQUFFLEVBQUU7UUFDbkIsY0FBYyxFQUFFLEdBQUc7UUFDbkIsY0FBYyxFQUFFLEdBQUc7UUFDbkIsSUFBSSxFQUFFLE1BQU07S0FDYjtJQUNELE9BQU8sRUFBRTtRQUNQLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsWUFBWSxFQUFFLEtBQUs7UUFDbkIsV0FBVyxFQUFFLE1BQU07UUFDbkIsU0FBUyxFQUFFLEtBQUs7UUFDaEIsV0FBVyxFQUFFLE1BQU07UUFDbkIsZUFBZSxFQUFFLE1BQU07UUFDdkIsS0FBSyxFQUFFLEtBQUs7S0FDYjtJQUNELFFBQVEsRUFBRTtRQUNSLFVBQVUsRUFBRSxDQUFDO1FBQ2IsWUFBWSxFQUFFLENBQUM7UUFDZixPQUFPLEVBQUUsQ0FBQztRQUNWLFdBQVcsRUFBRSxDQUFDO1FBQ2QsUUFBUSxFQUFFLENBQUM7UUFDWCxTQUFTLEVBQUUsQ0FBQztRQUNaLFdBQVcsRUFBRSxDQUFDO1FBQ2QsV0FBVyxFQUFFLENBQUM7UUFDZCxLQUFLLEVBQUUsQ0FBQztLQUNUO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUU7UUFDbkcsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDOUYsWUFBWSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDckcsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDckcsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDbEcsU0FBUyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDOUYsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDcEcsS0FBSyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDL0YsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDcEcsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDbEcsZUFBZSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDdEcsY0FBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDckcsYUFBYSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDckcsS0FBSyxFQUFFLEVBQUUsUUFB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YyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBdUI7UUFDcEcsWUFBWSxFQUFFLElBQUEsd0JBQVMsRUFBQyxzQkFBYyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBdUI7UUFDcEcsZUFBZSxFQUFFLElBQUEsd0JBQVMsRUFBQyxzQkFBYyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBMEI7S0FDakgsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWVwbWVyZ2UgfSBmcm9tICdkZWVwbWVyZ2UtdHMnO1xuaW1wb3J0IHtcbiAgQWxlcnRSb3V0aW5nQ29uZmlnLFxuICBEZWZhdWx0YWJsZUNvbmZpZyxcbiAgRW1iZWRkaW5nQ29uZmlnLFxuICBFeHRlcm5hbFVybHNDb25maWcsXG4gIExvbmdob3JuQ29uZmlnLFxuICBNb25pdG9yaW5nQ29uZmlnLFxuICBNb25pdG9yaW5nQ29uZmlnSW5wdXQsXG4gIFByaW9yaXR5Q2xhc3Nlc0NvbmZpZyxcbiAgUmVwbGljYUNvbmZpZyxcbiAgUmVzb3VyY2VDb25maWcsXG4gIFJldGVudGlvbkNvbmZpZyxcbiAgU3RhZ2luZ0FsZXJ0c0NvbmZpZyxcbiAgU3RvcmFnZUNvbmZpZyxcbiAgVGVtcG9Db25maWcsXG4gIFRyYWVmaWtDb25maWcsXG4gIFZlcnNpb25Db25maWcsXG59IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIFBhY2thZ2Utc2hpcHBlZCBkZWZhdWx0cyBmb3IgZXZlcnl0aGluZyB0aGF0IGhhcyBhIHNlbnNpYmxlIHVuaXZlcnNhbCB2YWx1ZS5cbiAqIFZhbHVlcyBtaXJyb3IgdGhlIGt1cDZzIHByb2R1Y3Rpb24gY29uZmlnIGF0IHRoZSB0aW1lIG9mIGV4dHJhY3Rpb247IGludGVncmF0aW9uXG4gKiBjaGFydHMgb3ZlcnJpZGUgb25seSB3aGF0IHRoZXkgbmVlZCB2aWEge0BsaW5rIG1lcmdlQ29uZmlnfS5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ09ORklHOiBEZWZhdWx0YWJsZUNvbmZpZyA9IHtcbiAgdmVyc2lvbnM6IHtcbiAgICBwcm9tZXRoZXVzU3RhY2s6ICc4Ny4wLjAnLFxuICAgIGxva2k6ICc3LjAuMCcsXG4gICAgYWxsb3k6ICcxLjEwLjAnLFxuICAgIHRoYW5vczogJ3YwLjQxLjAnLFxuICAgIHRlbXBvOiAnMS4yNC40JywgLy8gZ3JhZmFuYS90ZW1wbyBjaGFydCAoVGVtcG8gYXBwIDIuOS4wKVxuICB9LFxuICByZXRlbnRpb246IHtcbiAgICBwcm9tZXRoZXVzOiAnMmQnLFxuICAgIHByb21ldGhldXNTM1JhdzogMzAsXG4gICAgcHJvbWV0aGV1c1MzNW06IDE4MCxcbiAgICBwcm9tZXRoZXVzUzMxaDogNzMwLFxuICAgIGxva2k6ICc3NDRoJyxcbiAgfSxcbiAgc3RvcmFnZToge1xuICAgIHByb21ldGhldXM6ICcxNUdpJyxcbiAgICBncmFmYW5hOiAnNUdpJyxcbiAgICBhbGVydG1hbmFnZXI6ICcxR2knLFxuICAgIGxva2lCYWNrZW5kOiAnMTBHaScsXG4gICAgbG9raVdyaXRlOiAnM0dpJyxcbiAgICB0aGFub3NTdG9yZTogJzEwR2knLFxuICAgIHRoYW5vc0NvbXBhY3RvcjogJzIwR2knLFxuICAgIHRlbXBvOiAnNUdpJyxcbiAgfSxcbiAgcmVwbGljYXM6IHtcbiAgICBwcm9tZXRoZXVzOiAyLFxuICAgIGFsZXJ0bWFuYWdlcjogMixcbiAgICBncmFmYW5hOiAxLFxuICAgIGxva2lCYWNrZW5kOiAyLFxuICAgIGxva2lSZWFkOiAyLFxuICAgIGxva2lXcml0ZTogMixcbiAgICB0aGFub3NRdWVyeTogMixcbiAgICB0aGFub3NTdG9yZTogMixcbiAgICB0ZW1wbzogMSxcbiAgfSxcbiAgcmVzb3VyY2VzOiB7XG4gICAgcHJvbWV0aGV1czogeyByZXF1ZXN0czogeyBjcHU6ICcxMDBtJywgbWVtb3J5OiAnMTUwME1pJyB9LCBsaW1pdHM6IHsgY3B1OiAnMicsIG1lbW9yeTogJzMwMDBNaScgfSB9LFxuICAgIGdyYWZhbmE6IHsgcmVxdWVzdHM6IHsgY3B1OiAnNTBtJywgbWVtb3J5OiAnNTEyTWknIH0sIGxpbWl0czogeyBjcHU6ICcyMDBtJywgbWVtb3J5OiAnMUdpJyB9IH0sXG4gICAgYWxlcnRtYW5hZ2VyOiB7IHJlcXVlc3RzOiB7IGNwdTogJzI1bScsIG1lbW9yeTogJzEwME1pJyB9LCBsaW1pdHM6IHsgY3B1OiAnMTAwbScsIG1lbW9yeTogJzIwME1pJyB9IH0sXG4gICAgbG9raUJhY2tlbmQ6IHsgcmVxdWVzdHM6IHsgY3B1OiAnMTAwbScsIG1lbW9yeTogJzI1Nk1pJyB9LCBsaW1pdHM6IHsgY3B1OiAnNTAwbScsIG1lbW9yeTogJzUxMk1pJyB9IH0sXG4gICAgbG9raVJlYWQ6IHsgcmVxdWVzdHM6IHsgY3B1OiAnMTAwbScsIG1lbW9yeTogJzI1Nk1pJyB9LCBsaW1pdHM6IHsgY3B1OiAnNTAwbScsIG1lbW9yeTogJzUxMk1pJyB9IH0sXG4gICAgbG9raVdyaXRlOiB7IHJlcXVlc3RzOiB7IGNwdTogJzEwMG0nLCBtZW1vcnk6ICc1MTJNaScgfSwgbGltaXRzOiB7IGNwdTogJzEnLCBtZW1vcnk6ICcxR2knIH0gfSxcbiAgICBsb2tpR2F0ZXdheTogeyByZXF1ZXN0czogeyBjcHU6ICc1MG0nLCBtZW1vcnk6ICcxMjhNaScgfSwgbGltaXRzOiB7IGNwdTogJzIwMG0nLCBtZW1vcnk6ICcyNTZNaScgfSB9LFxuICAgIGFsbG95OiB7IHJlcXVlc3RzOiB7IGNwdTogJzEwMG0nLCBtZW1vcnk6ICcxMjhNaScgfSwgbGltaXRzOiB7IGNwdTogJzIwMG0nLCBtZW1vcnk6ICcyNTZNaScgfSB9LFxuICAgIHRoYW5vc1F1ZXJ5OiB7IHJlcXVlc3RzOiB7IGNwdTogJzIwMG0nLCBtZW1vcnk6ICc1MTJNaScgfSwgbGltaXRzOiB7IGNwdTogJzEwMDBtJywgbWVtb3J5OiAnMUdpJyB9IH0sXG4gICAgdGhhbm9zU3RvcmU6IHsgcmVxdWVzdHM6IHsgY3B1OiAnMjAwbScsIG1lbW9yeTogJzFHaScgfSwgbGltaXRzOiB7IGNwdTogJzEwMDBtJywgbWVtb3J5OiAnMkdpJyB9IH0sXG4gICAgdGhhbm9zQ29tcGFjdG9yOiB7IHJlcXVlc3RzOiB7IGNwdTogJzUwMG0nLCBtZW1vcnk6ICcyR2knIH0sIGxpbWl0czogeyBjcHU6ICcyMDAwbScsIG1lbW9yeTogJzRHaScgfSB9LFxuICAgIGNvbmZpZ1JlbG9hZGVyOiB7IHJlcXVlc3RzOiB7IGNwdTogJzEwbScsIG1lbW9yeTogJzUwTWknIH0sIGxpbWl0czogeyBjcHU6ICc1MG0nLCBtZW1vcnk6ICcxMDBNaScgfSB9LFxuICAgIHRoYW5vc1NpZGVjYXI6IHsgcmVxdWVzdHM6IHsgY3B1OiAnMTBtJywgbWVtb3J5OiAnNTBNaScgfSwgbGltaXRzOiB7IGNwdTogJzEwMG0nLCBtZW1vcnk6ICcxMDBNaScgfSB9LFxuICAgIHRlbXBvOiB7IHJlcXVlc3RzOiB7IGNwdTogJzEwMG0nLCBtZW1vcnk6ICc1MTJNaScgfSwgbGltaXRzOiB7IGNwdTogJzEnLCBtZW1vcnk6ICcyR2knIH0gfSxcbiAgICBhbGxveVRyYWNlczogeyByZXF1ZXN0czogeyBjcHU6ICcxMDBtJywgbWVtb3J5OiAnMjU2TWknIH0sIGxpbWl0czogeyBjcHU6ICc1MDBtJywgbWVtb3J5OiAnNTEyTWknIH0gfSxcbiAgfSxcbiAgdGVtcG86IHtcbiAgICBlbmFibGVkOiBmYWxzZSxcbiAgICBidWNrZXQ6ICcnLFxuICAgIHJldGVudGlvbjogJzMzNmgnLFxuICAgIHRhaWxTYW1wbGluZzogeyBsYXRlbmN5VGhyZXNob2xkTXM6IDEwMDAsIHByb2JhYmlsaXN0aWNQZXJjZW50OiAxMCB9LFxuICB9LFxuICB0cmFlZmlrOiB7XG4gICAgZW5hYmxlZDogZmFsc2UsXG4gICAgbmFtZXNwYWNlOiAndHJhZWZpaycsXG4gICAgZGFzaGJvYXJkOiB0cnVlLFxuICB9LFxuICBsb25naG9ybjoge1xuICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgIG5hbWVzcGFjZTogJ2xvbmdob3JuLXN5c3RlbScsXG4gICAgYWxlcnRzOiB0cnVlLFxuICB9LFxuICBlbWJlZGRpbmc6IHtcbiAgICBlbmFibGVkOiBmYWxzZSxcbiAgICBmcmFtZUFuY2VzdG9yczogW10sXG4gIH0sXG4gIHN0YWdpbmdBbGVydHM6IHtcbiAgICBlbmFibGVkOiBmYWxzZSxcbiAgICBuYW1lc3BhY2VzOiBbXSxcbiAgfSxcbiAgYWxlcnRSb3V0aW5nOiB7XG4gICAgcmVwZWF0SW50ZXJ2YWw6ICcxMmgnLFxuICB9LFxuICBleHRlcm5hbFVybHM6IHtcbiAgICBhbGVydG1hbmFnZXI6ICcnLFxuICAgIHByb21ldGhldXM6ICcnLFxuICB9LFxuICBwcmlvcml0eUNsYXNzZXM6IHtcbiAgICBjcmVhdGU6IHRydWUsXG4gICAgY2FwdHVyZTogJ2hpZ2gtcHJpb3JpdHknLFxuICAgIHF1ZXJ5OiAnaGlnaC1wcmlvcml0eScsXG4gIH0sXG59O1xuXG4vKipcbiAqIFJlc29sdmUgYSBmdWxsIE1vbml0b3JpbmdDb25maWcgYnkgZGVlcC1tZXJnaW5nIHRoZSBjYWxsZXIncyBvdmVycmlkZXMgb3ZlclxuICogREVGQVVMVF9DT05GSUcuIFJlcXVpcmVkIGNsdXN0ZXIgdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCB2ZXJiYXRpbS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlQ29uZmlnKGlucHV0OiBNb25pdG9yaW5nQ29uZmlnSW5wdXQpOiBNb25pdG9yaW5nQ29uZmlnIHtcbiAgY29uc3QgdGVtcG8gPSBkZWVwbWVyZ2UoREVGQVVMVF9DT05GSUcudGVtcG8sIGlucHV0LnRlbXBvID8/IHt9KSBhcyBUZW1wb0NvbmZpZztcbiAgaWYgKHRlbXBvLmVuYWJsZWQgJiYgIXRlbXBvLmJ1Y2tldCkge1xuICAgIHRocm93IG5ldyBFcnJvcigndGVtcG8uYnVja2V0IGlzIHJlcXVpcmVkIHdoZW4gdGVtcG8uZW5hYmxlZCBpcyB0cnVlJyk7XG4gIH1cbiAgY29uc3QgdHJhZWZpayA9IGRlZXBtZXJnZShERUZBVUxUX0NPTkZJRy50cmFlZmlrLCBpbnB1dC50cmFlZmlrID8/IHt9KSBhcyBUcmFlZmlrQ29uZmlnO1xuICBpZiAodHJhZWZpay5lbmFibGVkICYmICF0cmFlZmlrLm5hbWVzcGFjZSkge1xuICAgIHRocm93IG5ldyBFcnJvcigndHJhZWZpay5uYW1lc3BhY2UgaXMgcmVxdWlyZWQgd2hlbiB0cmFlZmlrLmVuYWJsZWQgaXMgdHJ1ZScpO1xuICB9XG4gIGNvbnN0IGxvbmdob3JuID0gZGVlcG1lcmdlKERFRkFVTFRfQ09ORklHLmxvbmdob3JuLCBpbnB1dC5sb25naG9ybiA/PyB7fSkgYXMgTG9uZ2hvcm5Db25maWc7XG4gIGlmIChsb25naG9ybi5lbmFibGVkICYmICFsb25naG9ybi5uYW1lc3BhY2UpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2xvbmdob3JuLm5hbWVzcGFjZSBpcyByZXF1aXJlZCB3aGVuIGxvbmdob3JuLmVuYWJsZWQgaXMgdHJ1ZScpO1xuICB9XG4gIGNvbnN0IGVtYmVkZGluZyA9IGRlZXBtZXJnZShERUZBVUxUX0NPTkZJRy5lbWJlZGRpbmcsIGlucHV0LmVtYmVkZGluZyA/PyB7fSkgYXMgRW1iZWRkaW5nQ29uZmlnO1xuICBpZiAoZW1iZWRkaW5nLmVuYWJsZWQgJiYgZW1iZWRkaW5nLmZyYW1lQW5jZXN0b3JzLmxlbmd0aCA9PT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignZW1iZWRkaW5nLmZyYW1lQW5jZXN0b3JzIG11c3QgbmFtZSBhdCBsZWFzdCBvbmUgb3JpZ2luIHdoZW4gZW1iZWRkaW5nLmVuYWJsZWQgaXMgdHJ1ZScpO1xuICB9XG4gIGNvbnN0IHN0YWdpbmdBbGVydHMgPSBkZWVwbWVyZ2UoREVGQVVMVF9DT05GSUcuc3RhZ2luZ0FsZXJ0cywgaW5wdXQuc3RhZ2luZ0FsZXJ0cyA/PyB7fSkgYXMgU3RhZ2luZ0FsZXJ0c0NvbmZpZztcbiAgaWYgKHN0YWdpbmdBbGVydHMuZW5hYmxlZCAmJiBzdGFnaW5nQWxlcnRzLm5hbWVzcGFjZXMubGVuZ3RoID09PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdzdGFnaW5nQWxlcnRzLm5hbWVzcGFjZXMgbXVzdCBuYW1lIGF0IGxlYXN0IG9uZSBuYW1lc3BhY2Ugd2hlbiBzdGFnaW5nQWxlcnRzLmVuYWJsZWQgaXMgdHJ1ZScpO1xuICB9XG4gIHJldHVybiB7XG4gICAgbmFtZXNwYWNlOiBpbnB1dC5uYW1lc3BhY2UsXG4gICAgY2x1c3Rlck5hbWU6IGlucHV0LmNsdXN0ZXJOYW1lLFxuICAgIGRvbWFpbnM6IGlucHV0LmRvbWFpbnMsXG4gICAgczM6IGlucHV0LnMzLFxuICAgIHNtdHA6IGlucHV0LnNtdHAsXG4gICAgaW50ZWdyYXRpb25zOiBpbnB1dC5pbnRlZ3JhdGlvbnMsXG4gICAgdmVyc2lvbnM6IGRlZXBtZXJnZShERUZBVUxUX0NPTkZJRy52ZXJzaW9ucywgaW5wdXQudmVyc2lvbnMgPz8ge30pIGFzIFZlcnNpb25Db25maWcsXG4gICAgcmV0ZW50aW9uOiBkZWVwbWVyZ2UoREVGQVVMVF9DT05GSUcucmV0ZW50aW9uLCBpbnB1dC5yZXRlbnRpb24gPz8ge30pIGFzIFJldGVudGlvbkNvbmZpZyxcbiAgICBzdG9yYWdlOiBkZWVwbWVyZ2UoREVGQVVMVF9DT05GSUcuc3RvcmFnZSwgaW5wdXQuc3RvcmFnZSA/PyB7fSkgYXMgU3RvcmFnZUNvbmZpZyxcbiAgICByZXBsaWNhczogZGVlcG1lcmdlKERFRkFVTFRfQ09ORklHLnJlcGxpY2FzLCBpbnB1dC5yZXBsaWNhcyA/PyB7fSkgYXMgUmVwbGljYUNvbmZpZyxcbiAgICByZXNvdXJjZXM6IGRlZXBtZXJnZShERUZBVUxUX0NPTkZJRy5yZXNvdXJjZXMsIGlucHV0LnJlc291cmNlcyA/PyB7fSkgYXMgUmVzb3VyY2VDb25maWcsXG4gICAgdGVtcG8sXG4gICAgdHJhZWZpayxcbiAgICBsb25naG9ybixcbiAgICBlbWJlZGRpbmcsXG4gICAgc3RhZ2luZ0FsZXJ0cyxcbiAgICBhbGVydFJvdXRpbmc6IGRlZXBtZXJnZShERUZBVUxUX0NPTkZJRy5hbGVydFJvdXRpbmcsIGlucHV0LmFsZXJ0Um91dGluZyA/PyB7fSkgYXMgQWxlcnRSb3V0aW5nQ29uZmlnLFxuICAgIGV4dGVybmFsVXJsczogZGVlcG1lcmdlKERFRkFVTFRfQ09ORklHLmV4dGVybmFsVXJscywgaW5wdXQuZXh0ZXJuYWxVcmxzID8/IHt9KSBhcyBFeHRlcm5hbFVybHNDb25maWcsXG4gICAgcHJpb3JpdHlDbGFzc2VzOiBkZWVwbWVyZ2UoREVGQVVMVF9DT05GSUcucHJpb3JpdHlDbGFzc2VzLCBpbnB1dC5wcmlvcml0eUNsYXNzZXMgPz8ge30pIGFzIFByaW9yaXR5Q2xhc3Nlc0NvbmZpZyxcbiAgfTtcbn1cbiJdfQ==
|
package/lib/types.d.ts
CHANGED
|
@@ -65,6 +65,11 @@ export interface SmtpConfig {
|
|
|
65
65
|
* is not required to reach more than one person.
|
|
66
66
|
*/
|
|
67
67
|
recipients?: string[];
|
|
68
|
+
/**
|
|
69
|
+
* Extra mail headers on every notification, e.g. a relay's switches for click
|
|
70
|
+
* and open tracking. Header names are passed through as given.
|
|
71
|
+
*/
|
|
72
|
+
headers?: Record<string, string>;
|
|
68
73
|
}
|
|
69
74
|
/**
|
|
70
75
|
* Domain configuration for ingresses
|
|
@@ -228,6 +233,16 @@ export interface StagingAlertsConfig {
|
|
|
228
233
|
enabled: boolean;
|
|
229
234
|
namespaces: string[];
|
|
230
235
|
}
|
|
236
|
+
/**
|
|
237
|
+
* Browser-facing URLs of Alertmanager and Prometheus (or a Thanos Query in
|
|
238
|
+
* front of it). Notifications link to them: Alertmanager's own link, and each
|
|
239
|
+
* alert's source link, which Prometheus builds from its external URL.
|
|
240
|
+
* An empty string keeps the operator default, the in-cluster Service address.
|
|
241
|
+
*/
|
|
242
|
+
export interface ExternalUrlsConfig {
|
|
243
|
+
alertmanager: string;
|
|
244
|
+
prometheus: string;
|
|
245
|
+
}
|
|
231
246
|
/**
|
|
232
247
|
* Alertmanager notification pacing.
|
|
233
248
|
*/
|
|
@@ -255,6 +270,7 @@ export interface DefaultableConfig {
|
|
|
255
270
|
embedding: EmbeddingConfig;
|
|
256
271
|
stagingAlerts: StagingAlertsConfig;
|
|
257
272
|
alertRouting: AlertRoutingConfig;
|
|
273
|
+
externalUrls: ExternalUrlsConfig;
|
|
258
274
|
priorityClasses: PriorityClassesConfig;
|
|
259
275
|
}
|
|
260
276
|
/**
|
package/lib/types.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVzb3VyY2UgYWxsb2NhdGlvbiBmb3IgYSBjb21wb25lbnQgKENQVSBhbmQgbWVtb3J5KVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlQWxsb2NhdGlvbiB7XG4gIGNwdTogc3RyaW5nO1xuICBtZW1vcnk6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNvdXJjZSByZXF1ZXN0cyBhbmQgbGltaXRzIGZvciBhIGNvbXBvbmVudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlUmVxdWlyZW1lbnRzIHtcbiAgcmVxdWVzdHM6IFJlc291cmNlQWxsb2NhdGlvbjtcbiAgbGltaXRzOiBSZXNvdXJjZUFsbG9jYXRpb247XG59XG5cbi8qKlxuICogUzMgY29uZmlndXJhdGlvbiBmb3Igb2JqZWN0IHN0b3JhZ2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTM0NvbmZpZyB7XG4gIGVuZHBvaW50OiBzdHJpbmc7IC8vIEZ1bGwgZW5kcG9pbnQgd2l0aCBwcm90b2NvbCAoZS5nLiwgaHR0cHM6Ly9mc24xLnlvdXItb2JqZWN0c3RvcmFnZS5jb20pXG4gIGVuZHBvaW50Tm9Qcm90b2NvbDogc3RyaW5nOyAvLyBFbmRwb2ludCB3aXRob3V0IHByb3RvY29sIChmb3IgVGhhbm9zKVxuICByZWdpb246IHN0cmluZzsgLy8gUzMgcmVnaW9uIChlLmcuLCBmc24xKVxuICBidWNrZXRzOiB7XG4gICAgdGhhbm9zOiBzdHJpbmc7IC8vIFRoYW5vcyBtZXRyaWNzIGJ1Y2tldFxuICAgIGxva2k6IHN0cmluZzsgLy8gTG9raSBsb2dzIGJ1Y2tldFxuICB9O1xufVxuXG4vKipcbiAqIFJlZmVyZW5jZSB0byBhIFNlY3JldCBob2xkaW5nIHRoZSBTTVRQIHBhc3N3b3JkLlxuICpcbiAqIFRoZSBzZWNyZXQgbXVzdCBsaXZlIGluIHRoZSBtb25pdG9yaW5nIG5hbWVzcGFjZS4gUHJvbWV0aGV1cyBPcGVyYXRvciBtb3VudHNcbiAqIGl0IGludG8gdGhlIEFsZXJ0bWFuYWdlciBwb2QsIGFuZCBBbGVydG1hbmFnZXIgcmVhZHMgdGhlIHBhc3N3b3JkIGZyb20gdGhlXG4gKiBtb3VudGVkIGZpbGUgcmF0aGVyIHRoYW4gZnJvbSBpdHMgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTbXRwUGFzc3dvcmRTZWNyZXQge1xuICBuYW1lOiBzdHJpbmc7IC8vIFNlY3JldCBuYW1lIGluIHRoZSBtb25pdG9yaW5nIG5hbWVzcGFjZVxuICBrZXk6IHN0cmluZzsgLy8gS2V5IHdpdGhpbiB0aGF0IHNlY3JldCBob2xkaW5nIHRoZSBwYXNzd29yZFxufVxuXG4vKipcbiAqIFNNVFAgY29uZmlndXJhdGlvbiBmb3IgYWxlcnRpbmdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTbXRwQ29uZmlnIHtcbiAgaG9zdDogc3RyaW5nOyAvLyBTTVRQIHNlcnZlciBob3N0bmFtZVxuICBwb3J0OiBudW1iZXI7IC8vIFNNVFAgc2VydmVyIHBvcnRcbiAgZnJvbTogc3RyaW5nOyAvLyBGcm9tIGVtYWlsIGFkZHJlc3NcbiAgdXNlcm5hbWU/OiBzdHJpbmc7IC8vIFNNVFAgdXNlcm5hbWUgKG9wdGlvbmFsKVxuICAvKipcbiAgICogU01UUCBwYXNzd29yZCBhcyBhIGxpdGVyYWwuXG4gICAqXG4gICAqIFJlbmRlcnMgaW50byB0aGUgZ2VuZXJhdGVkIEFsZXJ0bWFuYWdlciBjb25maWd1cmF0aW9uIGluIGNsZWFyIHRleHQsIHNvXG4gICAqIGFueXRoaW5nIHRoYXQgY29tbWl0cyB0aGUgc3ludGhlc2l6ZWQgbWFuaWZlc3RzIGNvbW1pdHMgdGhlIHBhc3N3b3JkIHdpdGhcbiAgICogdGhlbS4gUHJlZmVyIGBwYXNzd29yZFNlY3JldGA7IHRoaXMgZmllbGQgcmVtYWlucyBmb3IgY29tcGF0aWJpbGl0eS5cbiAgICovXG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuICAvKipcbiAgICogUmVhZCB0aGUgU01UUCBwYXNzd29yZCBmcm9tIGEgbW91bnRlZCBzZWNyZXQgaW5zdGVhZCBvZiBlbWJlZGRpbmcgaXQuXG4gICAqXG4gICAqIFRha2VzIHByZWNlZGVuY2Ugb3ZlciBgcGFzc3dvcmRgLlxuICAgKi9cbiAgcGFzc3dvcmRTZWNyZXQ/OiBTbXRwUGFzc3dvcmRTZWNyZXQ7XG4gIHJlcXVpcmVUbHM6IGJvb2xlYW47IC8vIFJlcXVpcmUgVExTIGZvciBTTVRQXG4gIC8qKlxuICAgKiBBbGVydCByZWNpcGllbnRzLiBEZWZhdWx0cyB0byBgW2Zyb21dYCB3aGVuIHVuc2V0LlxuICAgKlxuICAgKiBBbGVydG1hbmFnZXIgYWNjZXB0cyBzZXZlcmFsIGFkZHJlc3NlcyBwZXIgcmVjZWl2ZXIsIHNvIGEgZGlzdHJpYnV0aW9uIGxpc3RcbiAgICogaXMgbm90IHJlcXVpcmVkIHRvIHJlYWNoIG1vcmUgdGhhbiBvbmUgcGVyc29uLlxuICAgKi9cbiAgcmVjaXBpZW50cz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIERvbWFpbiBjb25maWd1cmF0aW9uIGZvciBpbmdyZXNzZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEb21haW5Db25maWcge1xuICBncmFmYW5hOiBzdHJpbmc7IC8vIEdyYWZhbmEgZG9tYWluIChlLmcuLCBncmFmYW5hLm9wcy5rdXA2cy5uZXQpXG4gIGluZ3Jlc3NDbGFzc05hbWU/OiBzdHJpbmc7IC8vIEluZ3Jlc3NDbGFzcyBmb3IgdGhlIEdyYWZhbmEgaW5ncmVzczsgb21pdCB0byByZWx5IG9uIHRoZSBjbHVzdGVyJ3MgZGVmYXVsdCBJbmdyZXNzQ2xhc3Ncbn1cblxuLyoqXG4gKiBOYW1lcyBvZiB0aGUgZXh0ZXJuYWwgQ3Jvc3NwbGFuZSBhbmQgRXh0ZXJuYWwgU2VjcmV0cyBPcGVyYXRvciByZXNvdXJjZXMgdGhpc1xuICogc3RhY2sgcmVmZXJlbmNlcy4gVGhlc2UgYXJlIG5vdCBjcmVhdGVkIGJ5IHRoZSBsaWJyYXJ5OyB0aGV5IG11c3QgYWxyZWFkeSBleGlzdFxuICogaW4geW91ciBjbHVzdGVyLiBUaGVyZSBhcmUgbm8gZGVmYXVsdHMg4oCUIGV2ZXJ5IGNvbnN1bWVyIHdpcmVzIGl0cyBvd24gbmFtZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZWdyYXRpb25zQ29uZmlnIHtcbiAgczNQcm92aWRlckNvbmZpZzogc3RyaW5nOyAvLyBDcm9zc3BsYW5lIFByb3ZpZGVyQ29uZmlnIG5hbWUgdGhlIEJ1Y2tldCByZXNvdXJjZXMgcmVjb25jaWxlIGFnYWluc3RcbiAgczNTZWNyZXRTdG9yZTogc3RyaW5nOyAvLyBFU08gQ2x1c3RlclNlY3JldFN0b3JlIG5hbWUgaG9sZGluZyB0aGUgUzMgY3JlZGVudGlhbHNcbiAgczNDcmVkZW50aWFsc0tleTogc3RyaW5nOyAvLyBSZW1vdGUga2V5IGluIHRoZSBzdG9yZSB0byBleHRyYWN0IFMzIGNyZWRlbnRpYWxzIGZyb20gKHByb3ZpZGVzIEFXU19BQ0NFU1NfS0VZX0lEIC8gQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZKVxuICBncmFmYW5hU2VjcmV0U3RvcmU6IHN0cmluZzsgLy8gRVNPIENsdXN0ZXJTZWNyZXRTdG9yZSBuYW1lIGhvbGRpbmcgdGhlIEdyYWZhbmEgYWRtaW4gY3JlZGVudGlhbHNcbiAgZ3JhZmFuYUNyZWRlbnRpYWxzS2V5OiBzdHJpbmc7IC8vIFJlbW90ZSBrZXkgaW4gdGhlIHN0b3JlIHRvIGV4dHJhY3QgdGhlIEdyYWZhbmEgYWRtaW4gY3JlZGVudGlhbHMgZnJvbVxufVxuXG4vKipcbiAqIFJldGVudGlvbiBwb2xpY2llcyBmb3IgbWV0cmljcyBhbmQgbG9nc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJldGVudGlvbkNvbmZpZyB7XG4gIHByb21ldGhldXM6IHN0cmluZzsgLy8gUHJvbWV0aGV1cyBsb2NhbCByZXRlbnRpb24gKGUuZy4sIFwiM2RcIilcbiAgcHJvbWV0aGV1c1MzUmF3OiBudW1iZXI7IC8vIFRoYW5vcyByYXcgZGF0YSByZXRlbnRpb24gKGRheXMpXG4gIHByb21ldGhldXNTMzVtOiBudW1iZXI7IC8vIFRoYW5vcyA1LW1pbnV0ZSBkb3duc2FtcGxlZCByZXRlbnRpb24gKGRheXMpXG4gIHByb21ldGhldXNTMzFoOiBudW1iZXI7IC8vIFRoYW5vcyAxLWhvdXIgZG93bnNhbXBsZWQgcmV0ZW50aW9uIChkYXlzKVxuICBsb2tpOiBzdHJpbmc7IC8vIExva2kgcmV0ZW50aW9uIChlLmcuLCBcIjc0NGhcIiBmb3IgMzEgZGF5cylcbn1cblxuLyoqXG4gKiBTdG9yYWdlIHNpemVzIGZvciBwZXJzaXN0ZW50IHZvbHVtZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdG9yYWdlQ29uZmlnIHtcbiAgcHJvbWV0aGV1czogc3RyaW5nOyAvLyBQcm9tZXRoZXVzIFBWQyBzaXplXG4gIGdyYWZhbmE6IHN0cmluZzsgLy8gR3JhZmFuYSBQVkMgc2l6ZVxuICBhbGVydG1hbmFnZXI6IHN0cmluZzsgLy8gQWxlcnRtYW5hZ2VyIFBWQyBzaXplXG4gIGxva2lCYWNrZW5kOiBzdHJpbmc7IC8vIExva2kgYmFja2VuZCBQVkMgc2l6ZVxuICBsb2tpV3JpdGU6IHN0cmluZzsgLy8gTG9raSB3cml0ZSBQVkMgc2l6ZVxuICB0aGFub3NTdG9yZTogc3RyaW5nOyAvLyBUaGFub3Mgc3RvcmUgUFZDIHNpemUgKHBlciByZXBsaWNhKVxuICB0aGFub3NDb21wYWN0b3I6IHN0cmluZzsgLy8gVGhhbm9zIGNvbXBhY3RvciBQVkMgc2l6ZVxuICB0ZW1wbzogc3RyaW5nOyAvLyBUZW1wbyBXQUwvbG9jYWwtYmxvY2tzIFBWQyBzaXplXG59XG5cbi8qKlxuICogUmVwbGljYSBjb3VudHMgZm9yIGhpZ2ggYXZhaWxhYmlsaXR5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVwbGljYUNvbmZpZyB7XG4gIHByb21ldGhldXM6IG51bWJlcjsgLy8gUHJvbWV0aGV1cyByZXBsaWNhc1xuICBhbGVydG1hbmFnZXI6IG51bWJlcjsgLy8gQWxlcnRtYW5hZ2VyIHJlcGxpY2FzXG4gIGdyYWZhbmE6IG51bWJlcjsgLy8gR3JhZmFuYSByZXBsaWNhcyAodXN1YWxseSAxKVxuICBsb2tpQmFja2VuZDogbnVtYmVyOyAvLyBMb2tpIGJhY2tlbmQgcmVwbGljYXNcbiAgbG9raVJlYWQ6IG51bWJlcjsgLy8gTG9raSByZWFkIHJlcGxpY2FzXG4gIGxva2lXcml0ZTogbnVtYmVyOyAvLyBMb2tpIHdyaXRlIHJlcGxpY2FzXG4gIHRoYW5vc1F1ZXJ5OiBudW1iZXI7IC8vIFRoYW5vcyBRdWVyeSByZXBsaWNhc1xuICB0aGFub3NTdG9yZTogbnVtYmVyOyAvLyBUaGFub3MgU3RvcmUgcmVwbGljYXNcbiAgdGVtcG86IG51bWJlcjsgLy8gVGVtcG8gcmVwbGljYXNcbn1cblxuLyoqXG4gKiBSZXNvdXJjZSByZXF1aXJlbWVudHMgZm9yIGFsbCBjb21wb25lbnRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VDb25maWcge1xuICBwcm9tZXRoZXVzOiBSZXNvdXJjZVJlcXVpcmVtZW50cztcbiAgZ3JhZmFuYTogUmVzb3VyY2VSZXF1aXJlbWVudHM7XG4gIGFsZXJ0bWFuYWdlcjogUmVzb3VyY2VSZXF1aXJlbWVudHM7XG4gIGxva2lCYWNrZW5kOiBSZXNvdXJjZVJlcXVpcmVtZW50cztcbiAgbG9raVJlYWQ6IFJlc291cmNlUmVxdWlyZW1lbnRzO1xuICBsb2tpV3JpdGU6IFJlc291cmNlUmVxdWlyZW1lbnRzO1xuICBsb2tpR2F0ZXdheTogUmVzb3VyY2VSZXF1aXJlbWVudHM7XG4gIGFsbG95OiBSZXNvdXJjZVJlcXVpcmVtZW50cztcbiAgdGhhbm9zUXVlcnk6IFJlc291cmNlUmVxdWlyZW1lbnRzO1xuICB0aGFub3NTdG9yZTogUmVzb3VyY2VSZXF1aXJlbWVudHM7XG4gIHRoYW5vc0NvbXBhY3RvcjogUmVzb3VyY2VSZXF1aXJlbWVudHM7XG4gIC8vIFNpZGVjYXIgY29udGFpbmVycyAoYWRkZWQgMjAyNS0xMS0xOClcbiAgY29uZmlnUmVsb2FkZXI6IFJlc291cmNlUmVxdWlyZW1lbnRzOyAvLyBjb25maWctcmVsb2FkZXIgc2lkZWNhciAoUHJvbWV0aGV1cywgQWxlcnRtYW5hZ2VyLCBBbGxveSlcbiAgdGhhbm9zU2lkZWNhcjogUmVzb3VyY2VSZXF1aXJlbWVudHM7IC8vIHRoYW5vcy1zaWRlY2FyIGZvciBQcm9tZXRoZXVzXG4gIHRlbXBvOiBSZXNvdXJjZVJlcXVpcmVtZW50czsgLy8gVGVtcG8gKG1vbm9saXRoaWMpXG4gIGFsbG95VHJhY2VzOiBSZXNvdXJjZVJlcXVpcmVtZW50czsgLy8gQWxsb3kgdHJhY2VzIE9UTFAgZ2F0ZXdheVxufVxuXG4vKipcbiAqIEhlbG0gY2hhcnQgdmVyc2lvbiBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmVyc2lvbkNvbmZpZyB7XG4gIHByb21ldGhldXNTdGFjazogc3RyaW5nOyAvLyBrdWJlLXByb21ldGhldXMtc3RhY2sgY2hhcnQgdmVyc2lvbiAoZS5nLiwgXCJsYXRlc3RcIiBvciBcIjY1LjAuMFwiKVxuICBsb2tpOiBzdHJpbmc7IC8vIExva2kgY2hhcnQgdmVyc2lvblxuICBhbGxveTogc3RyaW5nOyAvLyBBbGxveSBjaGFydCB2ZXJzaW9uXG4gIHRoYW5vczogc3RyaW5nOyAvLyBUaGFub3MgaW1hZ2UgdmVyc2lvbiAoZS5nLiwgXCJ2MC4zNi4xXCIpXG4gIHRlbXBvOiBzdHJpbmc7IC8vIGdyYWZhbmEvdGVtcG8gY2hhcnQgdmVyc2lvblxufVxuXG4vKipcbiAqIFRhaWwtc2FtcGxpbmcgcG9saWN5IGZvciB0aGUgQWxsb3kgdHJhY2VzIGdhdGV3YXkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGVtcG9UYWlsU2FtcGxpbmdDb25maWcge1xuICBsYXRlbmN5VGhyZXNob2xkTXM6IG51bWJlcjsgLy8ga2VlcCB0cmFjZXMgc2xvd2VyIHRoYW4gdGhpc1xuICBwcm9iYWJpbGlzdGljUGVyY2VudDogbnVtYmVyOyAvLyBrZWVwIHRoaXMgJSBvZiB0aGUgcmVtYWluaW5nIChcIm5vcm1hbFwiKSB0cmFjZXNcbn1cblxuLyoqXG4gKiBHcmFmYW5hIFRlbXBvIHRyYWNpbmcgY29uZmlndXJhdGlvbiAob3B0LWluKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUZW1wb0NvbmZpZyB7XG4gIGVuYWJsZWQ6IGJvb2xlYW47IC8vIGRlZmF1bHQgZmFsc2Ug4oCUIHdoZW4gZmFsc2UsIG5vIFRlbXBvIHJlc291cmNlcyBhcmUgY3JlYXRlZFxuICBidWNrZXQ6IHN0cmluZzsgLy8gUzMgYnVja2V0IGZvciB0cmFjZXMgKHJlcXVpcmVkIHdoZW4gZW5hYmxlZClcbiAgcmV0ZW50aW9uOiBzdHJpbmc7IC8vIGJsb2NrIHJldGVudGlvbiwgZS5nLiAnMzM2aCcgKDE0IGRheXMpXG4gIHRhaWxTYW1wbGluZzogVGVtcG9UYWlsU2FtcGxpbmdDb25maWc7XG59XG5cbi8qKlxuICogVHJhZWZpayBpbmdyZXNzLWNvbnRyb2xsZXIgbW9uaXRvcmluZyAoZ2VuZXJpYyBpbmZyYSwgb3B0LWluKS5cbiAqIFBvZE1vbml0b3IgKG5vdCBTZXJ2aWNlTW9uaXRvcjogdGhlIGszcy1idW5kbGVkIFRyYWVmaWsgZXhwb3NlcyB0aGUgbWV0cmljc1xuICogcG9ydCBvbiB0aGUgUG9kLCBub3QgdGhlIFNlcnZpY2UpIHBsdXMgYW4gb3B0aW9uYWwgR3JhZmFuYSBkYXNoYm9hcmQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhZWZpa0NvbmZpZyB7XG4gIGVuYWJsZWQ6IGJvb2xlYW47IC8vIGRlZmF1bHQgZmFsc2Ug4oCUIHdoZW4gZmFsc2UsIG5vIFRyYWVmaWsgbW9uaXRvcmluZyByZXNvdXJjZXMgYXJlIGNyZWF0ZWRcbiAgbmFtZXNwYWNlOiBzdHJpbmc7IC8vIG5hbWVzcGFjZSBUcmFlZmlrIHJ1bnMgaW4gKFBvZE1vbml0b3IgbmFtZXNwYWNlU2VsZWN0b3IpOyBkZWZhdWx0ICd0cmFlZmlrJ1xuICBkYXNoYm9hcmQ6IGJvb2xlYW47IC8vIHNoaXAgdGhlIFRyYWVmaWsgR3JhZmFuYSBkYXNoYm9hcmQgQ29uZmlnTWFwOyBkZWZhdWx0IHRydWVcbn1cblxuLyoqXG4gKiBTY2hlZHVsaW5nIHByaW9yaXR5IG9mIHRoZSBzdGFjaydzIHBvZHMsIHNwbGl0IGJ5IHJvbGUuXG4gKlxuICogVGhlIGNhcHR1cmUgcGF0aCAoUHJvbWV0aGV1cywgQWxlcnRtYW5hZ2VyLCB0aGUgb3BlcmF0b3IsIG5vZGUtZXhwb3J0ZXIsXG4gKiBrdWJlLXN0YXRlLW1ldHJpY3MsIExva2kgd3JpdGUvYmFja2VuZC9nYXRld2F5LCBBbGxveSwgVGVtcG8pIGxvc2VzIGRhdGEgb3JcbiAqIGFsZXJ0cyB3aGVuIGl0IGlzIGV2aWN0ZWQsIHNvIGl0IG91dHJhbmtzIHRoZSBxdWVyeSBwYXRoIChHcmFmYW5hLCBUaGFub3NcbiAqIFF1ZXJ5L1N0b3JlL0NvbXBhY3RvciwgTG9raSByZWFkKSwgd2hpY2ggbWF5IHdhaXQgd2hpbGUgYSBub2RlIGlzIHNob3J0IG9mXG4gKiBtZW1vcnkuIEJvdGggZGVmYXVsdCB0byB0aGUgbGlicmFyeSdzIG93biBgaGlnaC1wcmlvcml0eWAgY2xhc3MgKHZhbHVlIDEwMDAwKS5cbiAqIENsdXN0ZXJzIHdpdGggdGhlaXIgb3duIHRpZXJpbmcgc2V0IGBjcmVhdGU6IGZhbHNlYCBhbmQgbmFtZSB0aGVpciBjbGFzc2VzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByaW9yaXR5Q2xhc3Nlc0NvbmZpZyB7XG4gIGNyZWF0ZTogYm9vbGVhbjsgLy8gY3JlYXRlIHRoZSBgaGlnaC1wcmlvcml0eWAgUHJpb3JpdHlDbGFzcyBpbiB3YXZlIDA7IGRlZmF1bHQgdHJ1ZVxuICBjYXB0dXJlOiBzdHJpbmc7IC8vIGNsYXNzIGZvciBwb2RzIHRoYXQgaW5nZXN0IGRhdGEgb3Igcm91dGUgYWxlcnRzOyBkZWZhdWx0ICdoaWdoLXByaW9yaXR5J1xuICBxdWVyeTogc3RyaW5nOyAvLyBjbGFzcyBmb3IgcG9kcyB0aGF0IG9ubHkgc2VydmUgcXVlcmllczsgZGVmYXVsdCAnaGlnaC1wcmlvcml0eSdcbn1cblxuLyoqXG4gKiBMb25naG9ybiBzdG9yYWdlIG1vbml0b3JpbmcgKGdlbmVyaWMgaW5mcmEsIG9wdC1pbikuXG4gKiBTZXJ2aWNlTW9uaXRvciBmb3IgbG9uZ2hvcm4tbWFuYWdlciBtZXRyaWNzIHBsdXMgb3B0aW9uYWwgdm9sdW1lLWhlYWx0aCBhbGVydHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9uZ2hvcm5Db25maWcge1xuICBlbmFibGVkOiBib29sZWFuOyAvLyBkZWZhdWx0IGZhbHNlIOKAlCB3aGVuIGZhbHNlLCBubyBMb25naG9ybiBtb25pdG9yaW5nIHJlc291cmNlcyBhcmUgY3JlYXRlZFxuICBuYW1lc3BhY2U6IHN0cmluZzsgLy8gbmFtZXNwYWNlIExvbmdob3JuIHJ1bnMgaW4gKFNlcnZpY2VNb25pdG9yIG5hbWVzcGFjZVNlbGVjdG9yKTsgZGVmYXVsdCAnbG9uZ2hvcm4tc3lzdGVtJ1xuICBhbGVydHM6IGJvb2xlYW47IC8vIHNoaXAgdGhlIHZvbHVtZS1oZWFsdGggUHJvbWV0aGV1c1J1bGU7IGRlZmF1bHQgdHJ1ZVxufVxuXG4vKipcbiAqIEJyb3dzZXIgZW1iZWRkaW5nIG9mIEdyYWZhbmEgaW4gYW4gPGlmcmFtZT4gKG9wdC1pbikuXG4gKlxuICogR3JhZmFuYSByZWZ1c2VzIGZyYW1pbmcgYnkgZGVmYXVsdCAoYFgtRnJhbWUtT3B0aW9uczogZGVueWApLCB3aGljaCBhbHNvXG4gKiBibG9ja3MgZXh0ZXJuYWxseSBzaGFyZWQgKFwicHVibGljXCIpIGRhc2hib2FyZHMuIEVuYWJsaW5nIHRoaXMgZHJvcHMgdGhhdFxuICogaGVhZGVyIGFuZCByZXBsYWNlcyBpdCB3aXRoIGEgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgd2hvc2UgYGZyYW1lLWFuY2VzdG9yc2BcbiAqIG5hbWVzIGV4YWN0bHkgdGhlIG9yaWdpbnMgYWxsb3dlZCB0byBmcmFtZSBHcmFmYW5hIOKAlCB0aGUgd2hvbGUgaW5zdGFuY2UsXG4gKiBpbmNsdWRpbmcgdGhlIGF1dGhlbnRpY2F0ZWQgVUksIHNvIGtlZXAgdGhlIGxpc3QgdGlnaHQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW1iZWRkaW5nQ29uZmlnIHtcbiAgZW5hYmxlZDogYm9vbGVhbjsgLy8gZGVmYXVsdCBmYWxzZSDigJQgd2hlbiBmYWxzZSwgR3JhZmFuYSBrZWVwcyBpdHMgWC1GcmFtZS1PcHRpb25zOiBkZW55XG4gIGZyYW1lQW5jZXN0b3JzOiBzdHJpbmdbXTsgLy8gb3JpZ2lucyBhbGxvd2VkIHRvIGZyYW1lIEdyYWZhbmEsIGUuZy4gJ2h0dHBzOi8vY29uc29sZS5leGFtcGxlLmNvbSc7ICdzZWxmJyBpcyBhbHdheXMgaW5jbHVkZWRcbn1cblxuLyoqXG4gKiBEZW1vdGVkIGFsZXJ0IHJvdXRpbmcgZm9yIHN0YWdpbmcgbmFtZXNwYWNlcyBzaGFyaW5nIHRoaXMgY2x1c3RlcidzXG4gKiBtb25pdG9yaW5nIHN0YWNrIChvcHQtaW4pLlxuICpcbiAqIEFsZXJ0cyB3aG9zZSBgbmFtZXNwYWNlYCBsYWJlbCBtYXRjaGVzIG9uZSBvZiB0aGUgbGlzdGVkIG5hbWVzcGFjZXMgYXJlXG4gKiByb3V0ZWQgdG8gYSBzZXBhcmF0ZSBgc3RhZ2luZ2AgZW1haWwgcmVjZWl2ZXIgd2hvc2Ugc3ViamVjdCBjYXJyaWVzIGFcbiAqIGBbU1RBR0lOR11gIHByZWZpeCwgaW5zdGVhZCBvZiB0aGUgcHJvZHVjdGlvbiByZWNlaXZlciDigJQgc28gdGhleSBzdGF5XG4gKiB2aXNpYmxlIGJ1dCBuZXZlciByZWFkIGxpa2UgYSBwcm9kdWN0aW9uIHBhZ2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhZ2luZ0FsZXJ0c0NvbmZpZyB7XG4gIGVuYWJsZWQ6IGJvb2xlYW47IC8vIGRlZmF1bHQgZmFsc2Ug4oCUIHdoZW4gZmFsc2UsIGFsbCBuYW1lc3BhY2VzIHJvdXRlIHRvIHRoZSBwcm9kdWN0aW9uIHJlY2VpdmVyXG4gIG5hbWVzcGFjZXM6IHN0cmluZ1tdOyAvLyBuYW1lc3BhY2VzIHdob3NlIGFsZXJ0cyBhcmUgZGVtb3RlZCwgZS5nLiAnbXlhcHAtc3RhZ2UnXG59XG5cbi8qKlxuICogQWxlcnRtYW5hZ2VyIG5vdGlmaWNhdGlvbiBwYWNpbmcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWxlcnRSb3V0aW5nQ29uZmlnIHtcbiAgLyoqXG4gICAqIEhvdyBvZnRlbiBhIHN0aWxsLWZpcmluZyBhbGVydCBncm91cCBpcyBtYWlsZWQgYWdhaW4gKEFsZXJ0bWFuYWdlciBgcmVwZWF0X2ludGVydmFsYCkuXG4gICAqIERlZmF1bHQgMTJoOiBhbiBob3VybHkgcmVwZWF0IHR1cm5zIGV2ZXJ5IGxvbmctc3RhbmRpbmcgYWxlcnQgaW50byBhIG1haWwgZmxvb2RcbiAgICogdGhhdCBnZXRzIHRoZSBjaGFubmVsIG11dGVkLlxuICAgKi9cbiAgcmVwZWF0SW50ZXJ2YWw6IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIHRoZSBwYWNrYWdlIHNoaXBzIHNlbnNpYmxlIGRlZmF1bHRzIGZvci5cbiAqIEludGVncmF0aW9uIGNoYXJ0cyBtYXkgb3ZlcnJpZGUgYW55IG9mIHRoZXNlIChkZWVwLW1lcmdlZCBvdmVyIERFRkFVTFRfQ09ORklHKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZWZhdWx0YWJsZUNvbmZpZyB7XG4gIHZlcnNpb25zOiBWZXJzaW9uQ29uZmlnOyAvLyBDaGFydCBhbmQgaW1hZ2UgdmVyc2lvbnNcbiAgcmV0ZW50aW9uOiBSZXRlbnRpb25Db25maWc7IC8vIERhdGEgcmV0ZW50aW9uIHBvbGljaWVzXG4gIHN0b3JhZ2U6IFN0b3JhZ2VDb25maWc7IC8vIFBWQyBzdG9yYWdlIHNpemVzXG4gIHJlcGxpY2FzOiBSZXBsaWNhQ29uZmlnOyAvLyBSZXBsaWNhIGNvdW50c1xuICByZXNvdXJjZXM6IFJlc291cmNlQ29uZmlnOyAvLyBSZXNvdXJjZSByZXF1ZXN0cyBhbmQgbGltaXRzXG4gIHRlbXBvOiBUZW1wb0NvbmZpZzsgLy8gR3JhZmFuYSBUZW1wbyB0cmFjaW5nIChvcHQtaW4pXG4gIHRyYWVmaWs6IFRyYWVmaWtDb25maWc7IC8vIFRyYWVmaWsgaW5ncmVzcyBtb25pdG9yaW5nIChvcHQtaW4pXG4gIGxvbmdob3JuOiBMb25naG9ybkNvbmZpZzsgLy8gTG9uZ2hvcm4gc3RvcmFnZSBtb25pdG9yaW5nIChvcHQtaW4pXG4gIGVtYmVkZGluZzogRW1iZWRkaW5nQ29uZmlnOyAvLyBHcmFmYW5hIGlmcmFtZSBlbWJlZGRpbmcgKG9wdC1pbilcbiAgc3RhZ2luZ0FsZXJ0czogU3RhZ2luZ0FsZXJ0c0NvbmZpZzsgLy8gZGVtb3RlZCBhbGVydCByb3V0aW5nIGZvciBzdGFnaW5nIG5hbWVzcGFjZXMgKG9wdC1pbilcbiAgYWxlcnRSb3V0aW5nOiBBbGVydFJvdXRpbmdDb25maWc7IC8vIEFsZXJ0bWFuYWdlciBub3RpZmljYXRpb24gcGFjaW5nXG4gIHByaW9yaXR5Q2xhc3NlczogUHJpb3JpdHlDbGFzc2VzQ29uZmlnOyAvLyBzY2hlZHVsaW5nIHByaW9yaXR5IGJ5IHBvZCByb2xlXG59XG5cbi8qKlxuICogQ2x1c3Rlci1zcGVjaWZpYyBjb25maWd1cmF0aW9uIHdpdGggbm8gc2Vuc2libGUgdW5pdmVyc2FsIGRlZmF1bHQuXG4gKiBJbnRlZ3JhdGlvbiBjaGFydHMgbXVzdCBwcm92aWRlIHRoZXNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVpcmVkQ2x1c3RlckNvbmZpZyB7XG4gIG5hbWVzcGFjZTogc3RyaW5nOyAvLyBLdWJlcm5ldGVzIG5hbWVzcGFjZVxuICBjbHVzdGVyTmFtZTogc3RyaW5nOyAvLyB2YWx1ZSBvZiB0aGUgYGNsdXN0ZXJgIGV4dGVybmFsIGxhYmVsIG9uIG1ldHJpY3MgYW5kIGxvZ3NcbiAgZG9tYWluczogRG9tYWluQ29uZmlnOyAvLyBEb21haW4gbmFtZXMgZm9yIGluZ3Jlc3Nlc1xuICBzMzogUzNDb25maWc7IC8vIFMzIG9iamVjdCBzdG9yYWdlIGNvbmZpZ3VyYXRpb25cbiAgc210cDogU210cENvbmZpZzsgLy8gU01UUCBhbGVydGluZyBjb25maWd1cmF0aW9uXG4gIGludGVncmF0aW9uczogSW50ZWdyYXRpb25zQ29uZmlnOyAvLyBOYW1lcyBvZiBleHRlcm5hbCBDcm9zc3BsYW5lL0VTTyByZXNvdXJjZXMgdG8gcmVmZXJlbmNlXG59XG5cbi8qKlxuICogUmVjdXJzaXZlIHBhcnRpYWwg4oCUIGV2ZXJ5IHByb3BlcnR5IChpbmNsdWRpbmcgbmVzdGVkIG9uZXMpIGJlY29tZXMgb3B0aW9uYWwuXG4gKi9cbmV4cG9ydCB0eXBlIERlZXBQYXJ0aWFsPFQ+ID0ge1xuICBbUCBpbiBrZXlvZiBUXT86IFRbUF0gZXh0ZW5kcyBvYmplY3QgPyBEZWVwUGFydGlhbDxUW1BdPiA6IFRbUF07XG59O1xuXG4vKipcbiAqIElucHV0IGFjY2VwdGVkIGJ5IG1lcmdlQ29uZmlnOiByZXF1aXJlZCBjbHVzdGVyIHZhbHVlcyBwbHVzIG9wdGlvbmFsLFxuICogZGVlcGx5LXBhcnRpYWwgb3ZlcnJpZGVzIG9mIHRoZSBwYWNrYWdlIGRlZmF1bHRzLlxuICovXG5leHBvcnQgdHlwZSBNb25pdG9yaW5nQ29uZmlnSW5wdXQgPSBSZXF1aXJlZENsdXN0ZXJDb25maWcgJiBEZWVwUGFydGlhbDxEZWZhdWx0YWJsZUNvbmZpZz47XG5cbi8qKlxuICogQ29tcGxldGUsIHJlc29sdmVkIG1vbml0b3Jpbmcgc3RhY2sgY29uZmlndXJhdGlvbiBjb25zdW1lZCBieSBNb25pdG9yaW5nQ2hhcnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9uaXRvcmluZ0NvbmZpZyBleHRlbmRzIFJlcXVpcmVkQ2x1c3RlckNvbmZpZywgRGVmYXVsdGFibGVDb25maWcge31cbiJdfQ==
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVzb3VyY2UgYWxsb2NhdGlvbiBmb3IgYSBjb21wb25lbnQgKENQVSBhbmQgbWVtb3J5KVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlQWxsb2NhdGlvbiB7XG4gIGNwdTogc3RyaW5nO1xuICBtZW1vcnk6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNvdXJjZSByZXF1ZXN0cyBhbmQgbGltaXRzIGZvciBhIGNvbXBvbmVudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlUmVxdWlyZW1lbnRzIHtcbiAgcmVxdWVzdHM6IFJlc291cmNlQWxsb2NhdGlvbjtcbiAgbGltaXRzOiBSZXNvdXJjZUFsbG9jYXRpb247XG59XG5cbi8qKlxuICogUzMgY29uZmlndXJhdGlvbiBmb3Igb2JqZWN0IHN0b3JhZ2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTM0NvbmZpZyB7XG4gIGVuZHBvaW50OiBzdHJpbmc7IC8vIEZ1bGwgZW5kcG9pbnQgd2l0aCBwcm90b2NvbCAoZS5nLiwgaHR0cHM6Ly9mc24xLnlvdXItb2JqZWN0c3RvcmFnZS5jb20pXG4gIGVuZHBvaW50Tm9Qcm90b2NvbDogc3RyaW5nOyAvLyBFbmRwb2ludCB3aXRob3V0IHByb3RvY29sIChmb3IgVGhhbm9zKVxuICByZWdpb246IHN0cmluZzsgLy8gUzMgcmVnaW9uIChlLmcuLCBmc24xKVxuICBidWNrZXRzOiB7XG4gICAgdGhhbm9zOiBzdHJpbmc7IC8vIFRoYW5vcyBtZXRyaWNzIGJ1Y2tldFxuICAgIGxva2k6IHN0cmluZzsgLy8gTG9raSBsb2dzIGJ1Y2tldFxuICB9O1xufVxuXG4vKipcbiAqIFJlZmVyZW5jZSB0byBhIFNlY3JldCBob2xkaW5nIHRoZSBTTVRQIHBhc3N3b3JkLlxuICpcbiAqIFRoZSBzZWNyZXQgbXVzdCBsaXZlIGluIHRoZSBtb25pdG9yaW5nIG5hbWVzcGFjZS4gUHJvbWV0aGV1cyBPcGVyYXRvciBtb3VudHNcbiAqIGl0IGludG8gdGhlIEFsZXJ0bWFuYWdlciBwb2QsIGFuZCBBbGVydG1hbmFnZXIgcmVhZHMgdGhlIHBhc3N3b3JkIGZyb20gdGhlXG4gKiBtb3VudGVkIGZpbGUgcmF0aGVyIHRoYW4gZnJvbSBpdHMgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTbXRwUGFzc3dvcmRTZWNyZXQge1xuICBuYW1lOiBzdHJpbmc7IC8vIFNlY3JldCBuYW1lIGluIHRoZSBtb25pdG9yaW5nIG5hbWVzcGFjZVxuICBrZXk6IHN0cmluZzsgLy8gS2V5IHdpdGhpbiB0aGF0IHNlY3JldCBob2xkaW5nIHRoZSBwYXNzd29yZFxufVxuXG4vKipcbiAqIFNNVFAgY29uZmlndXJhdGlvbiBmb3IgYWxlcnRpbmdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTbXRwQ29uZmlnIHtcbiAgaG9zdDogc3RyaW5nOyAvLyBTTVRQIHNlcnZlciBob3N0bmFtZVxuICBwb3J0OiBudW1iZXI7IC8vIFNNVFAgc2VydmVyIHBvcnRcbiAgZnJvbTogc3RyaW5nOyAvLyBGcm9tIGVtYWlsIGFkZHJlc3NcbiAgdXNlcm5hbWU/OiBzdHJpbmc7IC8vIFNNVFAgdXNlcm5hbWUgKG9wdGlvbmFsKVxuICAvKipcbiAgICogU01UUCBwYXNzd29yZCBhcyBhIGxpdGVyYWwuXG4gICAqXG4gICAqIFJlbmRlcnMgaW50byB0aGUgZ2VuZXJhdGVkIEFsZXJ0bWFuYWdlciBjb25maWd1cmF0aW9uIGluIGNsZWFyIHRleHQsIHNvXG4gICAqIGFueXRoaW5nIHRoYXQgY29tbWl0cyB0aGUgc3ludGhlc2l6ZWQgbWFuaWZlc3RzIGNvbW1pdHMgdGhlIHBhc3N3b3JkIHdpdGhcbiAgICogdGhlbS4gUHJlZmVyIGBwYXNzd29yZFNlY3JldGA7IHRoaXMgZmllbGQgcmVtYWlucyBmb3IgY29tcGF0aWJpbGl0eS5cbiAgICovXG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuICAvKipcbiAgICogUmVhZCB0aGUgU01UUCBwYXNzd29yZCBmcm9tIGEgbW91bnRlZCBzZWNyZXQgaW5zdGVhZCBvZiBlbWJlZGRpbmcgaXQuXG4gICAqXG4gICAqIFRha2VzIHByZWNlZGVuY2Ugb3ZlciBgcGFzc3dvcmRgLlxuICAgKi9cbiAgcGFzc3dvcmRTZWNyZXQ/OiBTbXRwUGFzc3dvcmRTZWNyZXQ7XG4gIHJlcXVpcmVUbHM6IGJvb2xlYW47IC8vIFJlcXVpcmUgVExTIGZvciBTTVRQXG4gIC8qKlxuICAgKiBBbGVydCByZWNpcGllbnRzLiBEZWZhdWx0cyB0byBgW2Zyb21dYCB3aGVuIHVuc2V0LlxuICAgKlxuICAgKiBBbGVydG1hbmFnZXIgYWNjZXB0cyBzZXZlcmFsIGFkZHJlc3NlcyBwZXIgcmVjZWl2ZXIsIHNvIGEgZGlzdHJpYnV0aW9uIGxpc3RcbiAgICogaXMgbm90IHJlcXVpcmVkIHRvIHJlYWNoIG1vcmUgdGhhbiBvbmUgcGVyc29uLlxuICAgKi9cbiAgcmVjaXBpZW50cz86IHN0cmluZ1tdO1xuICAvKipcbiAgICogRXh0cmEgbWFpbCBoZWFkZXJzIG9uIGV2ZXJ5IG5vdGlmaWNhdGlvbiwgZS5nLiBhIHJlbGF5J3Mgc3dpdGNoZXMgZm9yIGNsaWNrXG4gICAqIGFuZCBvcGVuIHRyYWNraW5nLiBIZWFkZXIgbmFtZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGdpdmVuLlxuICAgKi9cbiAgaGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG5cbi8qKlxuICogRG9tYWluIGNvbmZpZ3VyYXRpb24gZm9yIGluZ3Jlc3Nlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIERvbWFpbkNvbmZpZyB7XG4gIGdyYWZhbmE6IHN0cmluZzsgLy8gR3JhZmFuYSBkb21haW4gKGUuZy4sIGdyYWZhbmEub3BzLmt1cDZzLm5ldClcbiAgaW5ncmVzc0NsYXNzTmFtZT86IHN0cmluZzsgLy8gSW5ncmVzc0NsYXNzIGZvciB0aGUgR3JhZmFuYSBpbmdyZXNzOyBvbWl0IHRvIHJlbHkgb24gdGhlIGNsdXN0ZXIncyBkZWZhdWx0IEluZ3Jlc3NDbGFzc1xufVxuXG4vKipcbiAqIE5hbWVzIG9mIHRoZSBleHRlcm5hbCBDcm9zc3BsYW5lIGFuZCBFeHRlcm5hbCBTZWNyZXRzIE9wZXJhdG9yIHJlc291cmNlcyB0aGlzXG4gKiBzdGFjayByZWZlcmVuY2VzLiBUaGVzZSBhcmUgbm90IGNyZWF0ZWQgYnkgdGhlIGxpYnJhcnk7IHRoZXkgbXVzdCBhbHJlYWR5IGV4aXN0XG4gKiBpbiB5b3VyIGNsdXN0ZXIuIFRoZXJlIGFyZSBubyBkZWZhdWx0cyDigJQgZXZlcnkgY29uc3VtZXIgd2lyZXMgaXRzIG93biBuYW1lcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlZ3JhdGlvbnNDb25maWcge1xuICBzM1Byb3ZpZGVyQ29uZmlnOiBzdHJpbmc7IC8vIENyb3NzcGxhbmUgUHJvdmlkZXJDb25maWcgbmFtZSB0aGUgQnVja2V0IHJlc291cmNlcyByZWNvbmNpbGUgYWdhaW5zdFxuICBzM1NlY3JldFN0b3JlOiBzdHJpbmc7IC8vIEVTTyBDbHVzdGVyU2VjcmV0U3RvcmUgbmFtZSBob2xkaW5nIHRoZSBTMyBjcmVkZW50aWFsc1xuICBzM0NyZWRlbnRpYWxzS2V5OiBzdHJpbmc7IC8vIFJlbW90ZSBrZXkgaW4gdGhlIHN0b3JlIHRvIGV4dHJhY3QgUzMgY3JlZGVudGlhbHMgZnJvbSAocHJvdmlkZXMgQVdTX0FDQ0VTU19LRVlfSUQgLyBBV1NfU0VDUkVUX0FDQ0VTU19LRVkpXG4gIGdyYWZhbmFTZWNyZXRTdG9yZTogc3RyaW5nOyAvLyBFU08gQ2x1c3RlclNlY3JldFN0b3JlIG5hbWUgaG9sZGluZyB0aGUgR3JhZmFuYSBhZG1pbiBjcmVkZW50aWFsc1xuICBncmFmYW5hQ3JlZGVudGlhbHNLZXk6IHN0cmluZzsgLy8gUmVtb3RlIGtleSBpbiB0aGUgc3RvcmUgdG8gZXh0cmFjdCB0aGUgR3JhZmFuYSBhZG1pbiBjcmVkZW50aWFscyBmcm9tXG59XG5cbi8qKlxuICogUmV0ZW50aW9uIHBvbGljaWVzIGZvciBtZXRyaWNzIGFuZCBsb2dzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmV0ZW50aW9uQ29uZmlnIHtcbiAgcHJvbWV0aGV1czogc3RyaW5nOyAvLyBQcm9tZXRoZXVzIGxvY2FsIHJldGVudGlvbiAoZS5nLiwgXCIzZFwiKVxuICBwcm9tZXRoZXVzUzNSYXc6IG51bWJlcjsgLy8gVGhhbm9zIHJhdyBkYXRhIHJldGVudGlvbiAoZGF5cylcbiAgcHJvbWV0aGV1c1MzNW06IG51bWJlcjsgLy8gVGhhbm9zIDUtbWludXRlIGRvd25zYW1wbGVkIHJldGVudGlvbiAoZGF5cylcbiAgcHJvbWV0aGV1c1MzMWg6IG51bWJlcjsgLy8gVGhhbm9zIDEtaG91ciBkb3duc2FtcGxlZCByZXRlbnRpb24gKGRheXMpXG4gIGxva2k6IHN0cmluZzsgLy8gTG9raSByZXRlbnRpb24gKGUuZy4sIFwiNzQ0aFwiIGZvciAzMSBkYXlzKVxufVxuXG4vKipcbiAqIFN0b3JhZ2Ugc2l6ZXMgZm9yIHBlcnNpc3RlbnQgdm9sdW1lc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0b3JhZ2VDb25maWcge1xuICBwcm9tZXRoZXVzOiBzdHJpbmc7IC8vIFByb21ldGhldXMgUFZDIHNpemVcbiAgZ3JhZmFuYTogc3RyaW5nOyAvLyBHcmFmYW5hIFBWQyBzaXplXG4gIGFsZXJ0bWFuYWdlcjogc3RyaW5nOyAvLyBBbGVydG1hbmFnZXIgUFZDIHNpemVcbiAgbG9raUJhY2tlbmQ6IHN0cmluZzsgLy8gTG9raSBiYWNrZW5kIFBWQyBzaXplXG4gIGxva2lXcml0ZTogc3RyaW5nOyAvLyBMb2tpIHdyaXRlIFBWQyBzaXplXG4gIHRoYW5vc1N0b3JlOiBzdHJpbmc7IC8vIFRoYW5vcyBzdG9yZSBQVkMgc2l6ZSAocGVyIHJlcGxpY2EpXG4gIHRoYW5vc0NvbXBhY3Rvcjogc3RyaW5nOyAvLyBUaGFub3MgY29tcGFjdG9yIFBWQyBzaXplXG4gIHRlbXBvOiBzdHJpbmc7IC8vIFRlbXBvIFdBTC9sb2NhbC1ibG9ja3MgUFZDIHNpemVcbn1cblxuLyoqXG4gKiBSZXBsaWNhIGNvdW50cyBmb3IgaGlnaCBhdmFpbGFiaWxpdHlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXBsaWNhQ29uZmlnIHtcbiAgcHJvbWV0aGV1czogbnVtYmVyOyAvLyBQcm9tZXRoZXVzIHJlcGxpY2FzXG4gIGFsZXJ0bWFuYWdlcjogbnVtYmVyOyAvLyBBbGVydG1hbmFnZXIgcmVwbGljYXNcbiAgZ3JhZmFuYTogbnVtYmVyOyAvLyBHcmFmYW5hIHJlcGxpY2FzICh1c3VhbGx5IDEpXG4gIGxva2lCYWNrZW5kOiBudW1iZXI7IC8vIExva2kgYmFja2VuZCByZXBsaWNhc1xuICBsb2tpUmVhZDogbnVtYmVyOyAvLyBMb2tpIHJlYWQgcmVwbGljYXNcbiAgbG9raVdyaXRlOiBudW1iZXI7IC8vIExva2kgd3JpdGUgcmVwbGljYXNcbiAgdGhhbm9zUXVlcnk6IG51bWJlcjsgLy8gVGhhbm9zIFF1ZXJ5IHJlcGxpY2FzXG4gIHRoYW5vc1N0b3JlOiBudW1iZXI7IC8vIFRoYW5vcyBTdG9yZSByZXBsaWNhc1xuICB0ZW1wbzogbnVtYmVyOyAvLyBUZW1wbyByZXBsaWNhc1xufVxuXG4vKipcbiAqIFJlc291cmNlIHJlcXVpcmVtZW50cyBmb3IgYWxsIGNvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZUNvbmZpZyB7XG4gIHByb21ldGhldXM6IFJlc291cmNlUmVxdWlyZW1lbnRzO1xuICBncmFmYW5hOiBSZXNvdXJjZVJlcXVpcmVtZW50cztcbiAgYWxlcnRtYW5hZ2VyOiBSZXNvdXJjZVJlcXVpcmVtZW50cztcbiAgbG9raUJhY2tlbmQ6IFJlc291cmNlUmVxdWlyZW1lbnRzO1xuICBsb2tpUmVhZDogUmVzb3VyY2VSZXF1aXJlbWVudHM7XG4gIGxva2lXcml0ZTogUmVzb3VyY2VSZXF1aXJlbWVudHM7XG4gIGxva2lHYXRld2F5OiBSZXNvdXJjZVJlcXVpcmVtZW50cztcbiAgYWxsb3k6IFJlc291cmNlUmVxdWlyZW1lbnRzO1xuICB0aGFub3NRdWVyeTogUmVzb3VyY2VSZXF1aXJlbWVudHM7XG4gIHRoYW5vc1N0b3JlOiBSZXNvdXJjZVJlcXVpcmVtZW50cztcbiAgdGhhbm9zQ29tcGFjdG9yOiBSZXNvdXJjZVJlcXVpcmVtZW50cztcbiAgLy8gU2lkZWNhciBjb250YWluZXJzIChhZGRlZCAyMDI1LTExLTE4KVxuICBjb25maWdSZWxvYWRlcjogUmVzb3VyY2VSZXF1aXJlbWVudHM7IC8vIGNvbmZpZy1yZWxvYWRlciBzaWRlY2FyIChQcm9tZXRoZXVzLCBBbGVydG1hbmFnZXIsIEFsbG95KVxuICB0aGFub3NTaWRlY2FyOiBSZXNvdXJjZVJlcXVpcmVtZW50czsgLy8gdGhhbm9zLXNpZGVjYXIgZm9yIFByb21ldGhldXNcbiAgdGVtcG86IFJlc291cmNlUmVxdWlyZW1lbnRzOyAvLyBUZW1wbyAobW9ub2xpdGhpYylcbiAgYWxsb3lUcmFjZXM6IFJlc291cmNlUmVxdWlyZW1lbnRzOyAvLyBBbGxveSB0cmFjZXMgT1RMUCBnYXRld2F5XG59XG5cbi8qKlxuICogSGVsbSBjaGFydCB2ZXJzaW9uIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWZXJzaW9uQ29uZmlnIHtcbiAgcHJvbWV0aGV1c1N0YWNrOiBzdHJpbmc7IC8vIGt1YmUtcHJvbWV0aGV1cy1zdGFjayBjaGFydCB2ZXJzaW9uIChlLmcuLCBcImxhdGVzdFwiIG9yIFwiNjUuMC4wXCIpXG4gIGxva2k6IHN0cmluZzsgLy8gTG9raSBjaGFydCB2ZXJzaW9uXG4gIGFsbG95OiBzdHJpbmc7IC8vIEFsbG95IGNoYXJ0IHZlcnNpb25cbiAgdGhhbm9zOiBzdHJpbmc7IC8vIFRoYW5vcyBpbWFnZSB2ZXJzaW9uIChlLmcuLCBcInYwLjM2LjFcIilcbiAgdGVtcG86IHN0cmluZzsgLy8gZ3JhZmFuYS90ZW1wbyBjaGFydCB2ZXJzaW9uXG59XG5cbi8qKlxuICogVGFpbC1zYW1wbGluZyBwb2xpY3kgZm9yIHRoZSBBbGxveSB0cmFjZXMgZ2F0ZXdheS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUZW1wb1RhaWxTYW1wbGluZ0NvbmZpZyB7XG4gIGxhdGVuY3lUaHJlc2hvbGRNczogbnVtYmVyOyAvLyBrZWVwIHRyYWNlcyBzbG93ZXIgdGhhbiB0aGlzXG4gIHByb2JhYmlsaXN0aWNQZXJjZW50OiBudW1iZXI7IC8vIGtlZXAgdGhpcyAlIG9mIHRoZSByZW1haW5pbmcgKFwibm9ybWFsXCIpIHRyYWNlc1xufVxuXG4vKipcbiAqIEdyYWZhbmEgVGVtcG8gdHJhY2luZyBjb25maWd1cmF0aW9uIChvcHQtaW4pLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRlbXBvQ29uZmlnIHtcbiAgZW5hYmxlZDogYm9vbGVhbjsgLy8gZGVmYXVsdCBmYWxzZSDigJQgd2hlbiBmYWxzZSwgbm8gVGVtcG8gcmVzb3VyY2VzIGFyZSBjcmVhdGVkXG4gIGJ1Y2tldDogc3RyaW5nOyAvLyBTMyBidWNrZXQgZm9yIHRyYWNlcyAocmVxdWlyZWQgd2hlbiBlbmFibGVkKVxuICByZXRlbnRpb246IHN0cmluZzsgLy8gYmxvY2sgcmV0ZW50aW9uLCBlLmcuICczMzZoJyAoMTQgZGF5cylcbiAgdGFpbFNhbXBsaW5nOiBUZW1wb1RhaWxTYW1wbGluZ0NvbmZpZztcbn1cblxuLyoqXG4gKiBUcmFlZmlrIGluZ3Jlc3MtY29udHJvbGxlciBtb25pdG9yaW5nIChnZW5lcmljIGluZnJhLCBvcHQtaW4pLlxuICogUG9kTW9uaXRvciAobm90IFNlcnZpY2VNb25pdG9yOiB0aGUgazNzLWJ1bmRsZWQgVHJhZWZpayBleHBvc2VzIHRoZSBtZXRyaWNzXG4gKiBwb3J0IG9uIHRoZSBQb2QsIG5vdCB0aGUgU2VydmljZSkgcGx1cyBhbiBvcHRpb25hbCBHcmFmYW5hIGRhc2hib2FyZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFlZmlrQ29uZmlnIHtcbiAgZW5hYmxlZDogYm9vbGVhbjsgLy8gZGVmYXVsdCBmYWxzZSDigJQgd2hlbiBmYWxzZSwgbm8gVHJhZWZpayBtb25pdG9yaW5nIHJlc291cmNlcyBhcmUgY3JlYXRlZFxuICBuYW1lc3BhY2U6IHN0cmluZzsgLy8gbmFtZXNwYWNlIFRyYWVmaWsgcnVucyBpbiAoUG9kTW9uaXRvciBuYW1lc3BhY2VTZWxlY3Rvcik7IGRlZmF1bHQgJ3RyYWVmaWsnXG4gIGRhc2hib2FyZDogYm9vbGVhbjsgLy8gc2hpcCB0aGUgVHJhZWZpayBHcmFmYW5hIGRhc2hib2FyZCBDb25maWdNYXA7IGRlZmF1bHQgdHJ1ZVxufVxuXG4vKipcbiAqIFNjaGVkdWxpbmcgcHJpb3JpdHkgb2YgdGhlIHN0YWNrJ3MgcG9kcywgc3BsaXQgYnkgcm9sZS5cbiAqXG4gKiBUaGUgY2FwdHVyZSBwYXRoIChQcm9tZXRoZXVzLCBBbGVydG1hbmFnZXIsIHRoZSBvcGVyYXRvciwgbm9kZS1leHBvcnRlcixcbiAqIGt1YmUtc3RhdGUtbWV0cmljcywgTG9raSB3cml0ZS9iYWNrZW5kL2dhdGV3YXksIEFsbG95LCBUZW1wbykgbG9zZXMgZGF0YSBvclxuICogYWxlcnRzIHdoZW4gaXQgaXMgZXZpY3RlZCwgc28gaXQgb3V0cmFua3MgdGhlIHF1ZXJ5IHBhdGggKEdyYWZhbmEsIFRoYW5vc1xuICogUXVlcnkvU3RvcmUvQ29tcGFjdG9yLCBMb2tpIHJlYWQpLCB3aGljaCBtYXkgd2FpdCB3aGlsZSBhIG5vZGUgaXMgc2hvcnQgb2ZcbiAqIG1lbW9yeS4gQm90aCBkZWZhdWx0IHRvIHRoZSBsaWJyYXJ5J3Mgb3duIGBoaWdoLXByaW9yaXR5YCBjbGFzcyAodmFsdWUgMTAwMDApLlxuICogQ2x1c3RlcnMgd2l0aCB0aGVpciBvd24gdGllcmluZyBzZXQgYGNyZWF0ZTogZmFsc2VgIGFuZCBuYW1lIHRoZWlyIGNsYXNzZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJpb3JpdHlDbGFzc2VzQ29uZmlnIHtcbiAgY3JlYXRlOiBib29sZWFuOyAvLyBjcmVhdGUgdGhlIGBoaWdoLXByaW9yaXR5YCBQcmlvcml0eUNsYXNzIGluIHdhdmUgMDsgZGVmYXVsdCB0cnVlXG4gIGNhcHR1cmU6IHN0cmluZzsgLy8gY2xhc3MgZm9yIHBvZHMgdGhhdCBpbmdlc3QgZGF0YSBvciByb3V0ZSBhbGVydHM7IGRlZmF1bHQgJ2hpZ2gtcHJpb3JpdHknXG4gIHF1ZXJ5OiBzdHJpbmc7IC8vIGNsYXNzIGZvciBwb2RzIHRoYXQgb25seSBzZXJ2ZSBxdWVyaWVzOyBkZWZhdWx0ICdoaWdoLXByaW9yaXR5J1xufVxuXG4vKipcbiAqIExvbmdob3JuIHN0b3JhZ2UgbW9uaXRvcmluZyAoZ2VuZXJpYyBpbmZyYSwgb3B0LWluKS5cbiAqIFNlcnZpY2VNb25pdG9yIGZvciBsb25naG9ybi1tYW5hZ2VyIG1ldHJpY3MgcGx1cyBvcHRpb25hbCB2b2x1bWUtaGVhbHRoIGFsZXJ0cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb25naG9ybkNvbmZpZyB7XG4gIGVuYWJsZWQ6IGJvb2xlYW47IC8vIGRlZmF1bHQgZmFsc2Ug4oCUIHdoZW4gZmFsc2UsIG5vIExvbmdob3JuIG1vbml0b3JpbmcgcmVzb3VyY2VzIGFyZSBjcmVhdGVkXG4gIG5hbWVzcGFjZTogc3RyaW5nOyAvLyBuYW1lc3BhY2UgTG9uZ2hvcm4gcnVucyBpbiAoU2VydmljZU1vbml0b3IgbmFtZXNwYWNlU2VsZWN0b3IpOyBkZWZhdWx0ICdsb25naG9ybi1zeXN0ZW0nXG4gIGFsZXJ0czogYm9vbGVhbjsgLy8gc2hpcCB0aGUgdm9sdW1lLWhlYWx0aCBQcm9tZXRoZXVzUnVsZTsgZGVmYXVsdCB0cnVlXG59XG5cbi8qKlxuICogQnJvd3NlciBlbWJlZGRpbmcgb2YgR3JhZmFuYSBpbiBhbiA8aWZyYW1lPiAob3B0LWluKS5cbiAqXG4gKiBHcmFmYW5hIHJlZnVzZXMgZnJhbWluZyBieSBkZWZhdWx0IChgWC1GcmFtZS1PcHRpb25zOiBkZW55YCksIHdoaWNoIGFsc29cbiAqIGJsb2NrcyBleHRlcm5hbGx5IHNoYXJlZCAoXCJwdWJsaWNcIikgZGFzaGJvYXJkcy4gRW5hYmxpbmcgdGhpcyBkcm9wcyB0aGF0XG4gKiBoZWFkZXIgYW5kIHJlcGxhY2VzIGl0IHdpdGggYSBDb250ZW50LVNlY3VyaXR5LVBvbGljeSB3aG9zZSBgZnJhbWUtYW5jZXN0b3JzYFxuICogbmFtZXMgZXhhY3RseSB0aGUgb3JpZ2lucyBhbGxvd2VkIHRvIGZyYW1lIEdyYWZhbmEg4oCUIHRoZSB3aG9sZSBpbnN0YW5jZSxcbiAqIGluY2x1ZGluZyB0aGUgYXV0aGVudGljYXRlZCBVSSwgc28ga2VlcCB0aGUgbGlzdCB0aWdodC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbWJlZGRpbmdDb25maWcge1xuICBlbmFibGVkOiBib29sZWFuOyAvLyBkZWZhdWx0IGZhbHNlIOKAlCB3aGVuIGZhbHNlLCBHcmFmYW5hIGtlZXBzIGl0cyBYLUZyYW1lLU9wdGlvbnM6IGRlbnlcbiAgZnJhbWVBbmNlc3RvcnM6IHN0cmluZ1tdOyAvLyBvcmlnaW5zIGFsbG93ZWQgdG8gZnJhbWUgR3JhZmFuYSwgZS5nLiAnaHR0cHM6Ly9jb25zb2xlLmV4YW1wbGUuY29tJzsgJ3NlbGYnIGlzIGFsd2F5cyBpbmNsdWRlZFxufVxuXG4vKipcbiAqIERlbW90ZWQgYWxlcnQgcm91dGluZyBmb3Igc3RhZ2luZyBuYW1lc3BhY2VzIHNoYXJpbmcgdGhpcyBjbHVzdGVyJ3NcbiAqIG1vbml0b3Jpbmcgc3RhY2sgKG9wdC1pbikuXG4gKlxuICogQWxlcnRzIHdob3NlIGBuYW1lc3BhY2VgIGxhYmVsIG1hdGNoZXMgb25lIG9mIHRoZSBsaXN0ZWQgbmFtZXNwYWNlcyBhcmVcbiAqIHJvdXRlZCB0byBhIHNlcGFyYXRlIGBzdGFnaW5nYCBlbWFpbCByZWNlaXZlciB3aG9zZSBzdWJqZWN0IGNhcnJpZXMgYVxuICogYFtTVEFHSU5HXWAgcHJlZml4LCBpbnN0ZWFkIG9mIHRoZSBwcm9kdWN0aW9uIHJlY2VpdmVyIOKAlCBzbyB0aGV5IHN0YXlcbiAqIHZpc2libGUgYnV0IG5ldmVyIHJlYWQgbGlrZSBhIHByb2R1Y3Rpb24gcGFnZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGFnaW5nQWxlcnRzQ29uZmlnIHtcbiAgZW5hYmxlZDogYm9vbGVhbjsgLy8gZGVmYXVsdCBmYWxzZSDigJQgd2hlbiBmYWxzZSwgYWxsIG5hbWVzcGFjZXMgcm91dGUgdG8gdGhlIHByb2R1Y3Rpb24gcmVjZWl2ZXJcbiAgbmFtZXNwYWNlczogc3RyaW5nW107IC8vIG5hbWVzcGFjZXMgd2hvc2UgYWxlcnRzIGFyZSBkZW1vdGVkLCBlLmcuICdteWFwcC1zdGFnZSdcbn1cblxuLyoqXG4gKiBCcm93c2VyLWZhY2luZyBVUkxzIG9mIEFsZXJ0bWFuYWdlciBhbmQgUHJvbWV0aGV1cyAob3IgYSBUaGFub3MgUXVlcnkgaW5cbiAqIGZyb250IG9mIGl0KS4gTm90aWZpY2F0aW9ucyBsaW5rIHRvIHRoZW06IEFsZXJ0bWFuYWdlcidzIG93biBsaW5rLCBhbmQgZWFjaFxuICogYWxlcnQncyBzb3VyY2UgbGluaywgd2hpY2ggUHJvbWV0aGV1cyBidWlsZHMgZnJvbSBpdHMgZXh0ZXJuYWwgVVJMLlxuICogQW4gZW1wdHkgc3RyaW5nIGtlZXBzIHRoZSBvcGVyYXRvciBkZWZhdWx0LCB0aGUgaW4tY2x1c3RlciBTZXJ2aWNlIGFkZHJlc3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZXJuYWxVcmxzQ29uZmlnIHtcbiAgYWxlcnRtYW5hZ2VyOiBzdHJpbmc7IC8vIGUuZy4gJ2h0dHBzOi8vYWxlcnRtYW5hZ2VyLmV4YW1wbGUuY29tJ1xuICBwcm9tZXRoZXVzOiBzdHJpbmc7IC8vIGUuZy4gJ2h0dHBzOi8vbWV0cmljcy5leGFtcGxlLmNvbSc7IGEgVGhhbm9zIFF1ZXJ5IHVuZGVyc3RhbmRzIHRoZSBzYW1lIC9ncmFwaCBsaW5rc1xufVxuXG4vKipcbiAqIEFsZXJ0bWFuYWdlciBub3RpZmljYXRpb24gcGFjaW5nLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFsZXJ0Um91dGluZ0NvbmZpZyB7XG4gIC8qKlxuICAgKiBIb3cgb2Z0ZW4gYSBzdGlsbC1maXJpbmcgYWxlcnQgZ3JvdXAgaXMgbWFpbGVkIGFnYWluIChBbGVydG1hbmFnZXIgYHJlcGVhdF9pbnRlcnZhbGApLlxuICAgKiBEZWZhdWx0IDEyaDogYW4gaG91cmx5IHJlcGVhdCB0dXJucyBldmVyeSBsb25nLXN0YW5kaW5nIGFsZXJ0IGludG8gYSBtYWlsIGZsb29kXG4gICAqIHRoYXQgZ2V0cyB0aGUgY2hhbm5lbCBtdXRlZC5cbiAgICovXG4gIHJlcGVhdEludGVydmFsOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiB0aGUgcGFja2FnZSBzaGlwcyBzZW5zaWJsZSBkZWZhdWx0cyBmb3IuXG4gKiBJbnRlZ3JhdGlvbiBjaGFydHMgbWF5IG92ZXJyaWRlIGFueSBvZiB0aGVzZSAoZGVlcC1tZXJnZWQgb3ZlciBERUZBVUxUX0NPTkZJRykuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVmYXVsdGFibGVDb25maWcge1xuICB2ZXJzaW9uczogVmVyc2lvbkNvbmZpZzsgLy8gQ2hhcnQgYW5kIGltYWdlIHZlcnNpb25zXG4gIHJldGVudGlvbjogUmV0ZW50aW9uQ29uZmlnOyAvLyBEYXRhIHJldGVudGlvbiBwb2xpY2llc1xuICBzdG9yYWdlOiBTdG9yYWdlQ29uZmlnOyAvLyBQVkMgc3RvcmFnZSBzaXplc1xuICByZXBsaWNhczogUmVwbGljYUNvbmZpZzsgLy8gUmVwbGljYSBjb3VudHNcbiAgcmVzb3VyY2VzOiBSZXNvdXJjZUNvbmZpZzsgLy8gUmVzb3VyY2UgcmVxdWVzdHMgYW5kIGxpbWl0c1xuICB0ZW1wbzogVGVtcG9Db25maWc7IC8vIEdyYWZhbmEgVGVtcG8gdHJhY2luZyAob3B0LWluKVxuICB0cmFlZmlrOiBUcmFlZmlrQ29uZmlnOyAvLyBUcmFlZmlrIGluZ3Jlc3MgbW9uaXRvcmluZyAob3B0LWluKVxuICBsb25naG9ybjogTG9uZ2hvcm5Db25maWc7IC8vIExvbmdob3JuIHN0b3JhZ2UgbW9uaXRvcmluZyAob3B0LWluKVxuICBlbWJlZGRpbmc6IEVtYmVkZGluZ0NvbmZpZzsgLy8gR3JhZmFuYSBpZnJhbWUgZW1iZWRkaW5nIChvcHQtaW4pXG4gIHN0YWdpbmdBbGVydHM6IFN0YWdpbmdBbGVydHNDb25maWc7IC8vIGRlbW90ZWQgYWxlcnQgcm91dGluZyBmb3Igc3RhZ2luZyBuYW1lc3BhY2VzIChvcHQtaW4pXG4gIGFsZXJ0Um91dGluZzogQWxlcnRSb3V0aW5nQ29uZmlnOyAvLyBBbGVydG1hbmFnZXIgbm90aWZpY2F0aW9uIHBhY2luZ1xuICBleHRlcm5hbFVybHM6IEV4dGVybmFsVXJsc0NvbmZpZzsgLy8gYnJvd3Nlci1mYWNpbmcgVVJMcyB1c2VkIGluIG5vdGlmaWNhdGlvbiBsaW5rc1xuICBwcmlvcml0eUNsYXNzZXM6IFByaW9yaXR5Q2xhc3Nlc0NvbmZpZzsgLy8gc2NoZWR1bGluZyBwcmlvcml0eSBieSBwb2Qgcm9sZVxufVxuXG4vKipcbiAqIENsdXN0ZXItc3BlY2lmaWMgY29uZmlndXJhdGlvbiB3aXRoIG5vIHNlbnNpYmxlIHVuaXZlcnNhbCBkZWZhdWx0LlxuICogSW50ZWdyYXRpb24gY2hhcnRzIG11c3QgcHJvdmlkZSB0aGVzZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXF1aXJlZENsdXN0ZXJDb25maWcge1xuICBuYW1lc3BhY2U6IHN0cmluZzsgLy8gS3ViZXJuZXRlcyBuYW1lc3BhY2VcbiAgY2x1c3Rlck5hbWU6IHN0cmluZzsgLy8gdmFsdWUgb2YgdGhlIGBjbHVzdGVyYCBleHRlcm5hbCBsYWJlbCBvbiBtZXRyaWNzIGFuZCBsb2dzXG4gIGRvbWFpbnM6IERvbWFpbkNvbmZpZzsgLy8gRG9tYWluIG5hbWVzIGZvciBpbmdyZXNzZXNcbiAgczM6IFMzQ29uZmlnOyAvLyBTMyBvYmplY3Qgc3RvcmFnZSBjb25maWd1cmF0aW9uXG4gIHNtdHA6IFNtdHBDb25maWc7IC8vIFNNVFAgYWxlcnRpbmcgY29uZmlndXJhdGlvblxuICBpbnRlZ3JhdGlvbnM6IEludGVncmF0aW9uc0NvbmZpZzsgLy8gTmFtZXMgb2YgZXh0ZXJuYWwgQ3Jvc3NwbGFuZS9FU08gcmVzb3VyY2VzIHRvIHJlZmVyZW5jZVxufVxuXG4vKipcbiAqIFJlY3Vyc2l2ZSBwYXJ0aWFsIOKAlCBldmVyeSBwcm9wZXJ0eSAoaW5jbHVkaW5nIG5lc3RlZCBvbmVzKSBiZWNvbWVzIG9wdGlvbmFsLlxuICovXG5leHBvcnQgdHlwZSBEZWVwUGFydGlhbDxUPiA9IHtcbiAgW1AgaW4ga2V5b2YgVF0/OiBUW1BdIGV4dGVuZHMgb2JqZWN0ID8gRGVlcFBhcnRpYWw8VFtQXT4gOiBUW1BdO1xufTtcblxuLyoqXG4gKiBJbnB1dCBhY2NlcHRlZCBieSBtZXJnZUNvbmZpZzogcmVxdWlyZWQgY2x1c3RlciB2YWx1ZXMgcGx1cyBvcHRpb25hbCxcbiAqIGRlZXBseS1wYXJ0aWFsIG92ZXJyaWRlcyBvZiB0aGUgcGFja2FnZSBkZWZhdWx0cy5cbiAqL1xuZXhwb3J0IHR5cGUgTW9uaXRvcmluZ0NvbmZpZ0lucHV0ID0gUmVxdWlyZWRDbHVzdGVyQ29uZmlnICYgRGVlcFBhcnRpYWw8RGVmYXVsdGFibGVDb25maWc+O1xuXG4vKipcbiAqIENvbXBsZXRlLCByZXNvbHZlZCBtb25pdG9yaW5nIHN0YWNrIGNvbmZpZ3VyYXRpb24gY29uc3VtZWQgYnkgTW9uaXRvcmluZ0NoYXJ0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vbml0b3JpbmdDb25maWcgZXh0ZW5kcyBSZXF1aXJlZENsdXN0ZXJDb25maWcsIERlZmF1bHRhYmxlQ29uZmlnIHt9XG4iXX0=
|