@alauda-fe/common 1.4.28-beta.5 → 1.4.28

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.
Files changed (174) hide show
  1. package/core/constants/constants.d.ts +0 -3
  2. package/core/services/intercept-deactivate.service.d.ts +2 -2
  3. package/core/services/time.service.d.ts +2 -8
  4. package/esm2022/abnormal-page/abnormal-page.component.mjs +1 -1
  5. package/esm2022/array-form-table/form/component.mjs +1 -1
  6. package/esm2022/array-form-table/key-value-form/component.mjs +1 -1
  7. package/esm2022/array-form-table/key-value-table/component.mjs +1 -1
  8. package/esm2022/array-form-table/string-array-form/component.mjs +1 -1
  9. package/esm2022/async-data/error-page/component.mjs +1 -1
  10. package/esm2022/async-data/page-state/component.mjs +1 -1
  11. package/esm2022/business/notification-disabled-container/component.mjs +1 -1
  12. package/esm2022/business/resource-select/exports/cluster-list/component.mjs +1 -1
  13. package/esm2022/business/resource-select/exports/cluster-selector/component.mjs +1 -1
  14. package/esm2022/business/resource-select/exports/icon/component.mjs +1 -1
  15. package/esm2022/business/resource-select/exports/mesh-group-selector/component.mjs +1 -1
  16. package/esm2022/business/resource-select/exports/namespace-list/component.mjs +1 -1
  17. package/esm2022/business/resource-select/exports/namespace-page/component.mjs +1 -1
  18. package/esm2022/business/resource-select/exports/namespace-selector/component.mjs +1 -1
  19. package/esm2022/business/resource-select/exports/project-list/component.mjs +1 -1
  20. package/esm2022/business/resource-select/exports/project-page/component.mjs +1 -1
  21. package/esm2022/business/resource-select/exports/project-selector/component.mjs +1 -1
  22. package/esm2022/business/resource-select/internals/data-grid/component.mjs +1 -1
  23. package/esm2022/business/resource-select/internals/meshgroup-list/component.mjs +1 -1
  24. package/esm2022/business/resource-select/internals/no-data/component.mjs +1 -1
  25. package/esm2022/business/resource-select/internals/resource-dashboard/component.mjs +1 -1
  26. package/esm2022/business/resource-select/internals/selector-popup/component.mjs +1 -1
  27. package/esm2022/chart/common/axis/axis-label.component.mjs +1 -1
  28. package/esm2022/chart/common/axis/x-axis-ticks.component.mjs +1 -1
  29. package/esm2022/chart/common/axis/x-axis.component.mjs +1 -1
  30. package/esm2022/chart/common/axis/x-plot-lines.component.mjs +1 -1
  31. package/esm2022/chart/common/axis/y-axis-ticks.component.mjs +1 -1
  32. package/esm2022/chart/common/axis/y-axis.component.mjs +1 -1
  33. package/esm2022/chart/common/axis/y-plot-lines.component.mjs +1 -1
  34. package/esm2022/chart/common/chart/chart.component.mjs +1 -1
  35. package/esm2022/chart/common/legend/legend.component.mjs +1 -1
  36. package/esm2022/chart/common/range-area/range-area.component.mjs +1 -1
  37. package/esm2022/chart/common/reference-area/reference-area.component.mjs +1 -1
  38. package/esm2022/chart/common/series/area-series.component.mjs +1 -1
  39. package/esm2022/chart/common/series/bar-path.component.mjs +1 -1
  40. package/esm2022/chart/common/series/bar-series.component.mjs +1 -1
  41. package/esm2022/chart/common/series/line-series.component.mjs +1 -1
  42. package/esm2022/chart/common/tooltip/tooltip.component.mjs +1 -1
  43. package/esm2022/chart/custom-template/dropdown-legend.mjs +1 -1
  44. package/esm2022/code/code-display-dialog/component.mjs +1 -1
  45. package/esm2022/code/k8s-yaml-display-dialog/component.mjs +1 -1
  46. package/esm2022/code/resource-yaml-display/component.mjs +1 -1
  47. package/esm2022/code/resource-yaml-editor/component.mjs +1 -1
  48. package/esm2022/code/yaml-sidebar/component.mjs +1 -1
  49. package/esm2022/core/components/tree/node/component.mjs +1 -1
  50. package/esm2022/core/components/tree/tree/component.mjs +1 -1
  51. package/esm2022/core/constants/constants.mjs +1 -4
  52. package/esm2022/core/directives/readonly-field.directive.mjs +1 -1
  53. package/esm2022/core/guards/intercept-deactivate.guard.mjs +2 -2
  54. package/esm2022/core/services/intercept-deactivate.service.mjs +1 -1
  55. package/esm2022/core/services/time.service.mjs +36 -13
  56. package/esm2022/custom-columns-setting/component.mjs +1 -1
  57. package/esm2022/disabled-container/disabled-container.component.mjs +1 -1
  58. package/esm2022/editable/editable.component.mjs +1 -1
  59. package/esm2022/editable-text/component.mjs +1 -1
  60. package/esm2022/exec/placeholder/component.mjs +1 -1
  61. package/esm2022/exec/terminal/component.mjs +1 -1
  62. package/esm2022/exec/terminal-group/component.mjs +1 -1
  63. package/esm2022/feature-gate-forbidden/component/component.mjs +1 -1
  64. package/esm2022/form/errors-mapper/errors-mapper-component/component.mjs +1 -1
  65. package/esm2022/form/errors-mapper/errors-mapper.directive.mjs +1 -1
  66. package/esm2022/form/labels-editor/component.mjs +1 -1
  67. package/esm2022/form/taints-editor/component.mjs +1 -1
  68. package/esm2022/form/upload-file/component.mjs +1 -1
  69. package/esm2022/form/validators/strong-password/strong-password-tooltip/component.mjs +1 -1
  70. package/esm2022/graph-canvas/components/graph-actions.component.mjs +1 -1
  71. package/esm2022/graph-canvas/components/graph-canvas.component.mjs +1 -1
  72. package/esm2022/graph-canvas/components/graph-link.component.mjs +1 -1
  73. package/esm2022/graph-canvas/components/graph-links.component.mjs +1 -1
  74. package/esm2022/grid-layout/components/grid/component.mjs +1 -1
  75. package/esm2022/grid-layout/components/grid-items/component.mjs +1 -1
  76. package/esm2022/help-document/component.mjs +1 -1
  77. package/esm2022/k8s-resource-list/footer/component.mjs +1 -1
  78. package/esm2022/k8s-shared/resource-mark/k8s-resource-mark.component.mjs +1 -1
  79. package/esm2022/k8s-shared/update-description-dialog/component.mjs +1 -1
  80. package/esm2022/k8s-shared/update-display-name-dialog/component.mjs +1 -1
  81. package/esm2022/k8s-shared/update-key-value-dialog/component.mjs +1 -1
  82. package/esm2022/lazy-component/lazy-load-component.mjs +1 -1
  83. package/esm2022/license/license-error/component.mjs +1 -1
  84. package/esm2022/list-display/component.mjs +1 -1
  85. package/esm2022/metric-chart/metric-chart.component.mjs +1 -1
  86. package/esm2022/metric-chart/metric-time-pick.mjs +1 -1
  87. package/esm2022/multi-search/action-input/component.mjs +1 -1
  88. package/esm2022/multi-search/form/component.mjs +1 -1
  89. package/esm2022/multi-search/multi-search-tags/component.mjs +1 -1
  90. package/esm2022/mutable/mosaic/mosaic.component.mjs +1 -1
  91. package/esm2022/notification/feedback-notification/component.mjs +1 -1
  92. package/esm2022/overview-banner/overview-banner.component.mjs +1 -1
  93. package/esm2022/page-guard/component/component.mjs +1 -1
  94. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +1 -1
  95. package/esm2022/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.mjs +1 -1
  96. package/esm2022/page-scaffold/navigation/nav-menu/nav-item-ul/nav-item-ul.component.mjs +1 -1
  97. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.component.mjs +1 -1
  98. package/esm2022/page-scaffold/page/notices/maintenance.component.mjs +1 -1
  99. package/esm2022/page-scaffold/page/notices/notice.component.mjs +1 -1
  100. package/esm2022/page-scaffold/page/page.component.mjs +1 -1
  101. package/esm2022/page-scaffold/page/page.module.mjs +6 -5
  102. package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +1 -1
  103. package/esm2022/page-scaffold/page-header/common-layout/namespace-select/component.mjs +1 -1
  104. package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +1 -1
  105. package/esm2022/page-scaffold/page-header/component.mjs +1 -1
  106. package/esm2022/page-scaffold/page-header/enterprise-support-status/component.mjs +1 -1
  107. package/esm2022/page-scaffold/page-header/header-notify/component/header-notify.component.mjs +1 -1
  108. package/esm2022/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.mjs +1 -1
  109. package/esm2022/page-scaffold/page-header/help-menu/component/component.mjs +1 -1
  110. package/esm2022/page-scaffold/page-header/help-menu/module.mjs +9 -8
  111. package/esm2022/pie-derivative-chart/donut-status/component.mjs +1 -1
  112. package/esm2022/pie-derivative-chart/radial-bar/radial-bar-chart.component.mjs +1 -1
  113. package/esm2022/pod-status/component.mjs +1 -1
  114. package/esm2022/searchable-selector/component.mjs +1 -1
  115. package/esm2022/skeleton/item/component.mjs +1 -1
  116. package/esm2022/skeleton/nav-skeleton/component.mjs +1 -1
  117. package/esm2022/table/component.mjs +1 -1
  118. package/esm2022/table/module.mjs +12 -11
  119. package/esm2022/translate/constants.mjs +1 -2
  120. package/esm2022/translate/intl-format.pipes.mjs +293 -0
  121. package/esm2022/translate/public-api.mjs +4 -3
  122. package/esm2022/translate/relative-time-manager.service.mjs +87 -0
  123. package/esm2022/translate/translate.directive.mjs +5 -4
  124. package/esm2022/translate/translate.module.mjs +22 -3
  125. package/esm2022/translate/translate.pipe.mjs +7 -8
  126. package/esm2022/translate/translate.service.mjs +721 -142
  127. package/esm2022/translate/types.mjs +1 -1
  128. package/esm2022/view-chart/custom-template/dropdown-legend.mjs +1 -1
  129. package/esm2022/view-chart/legend/legend.component.mjs +1 -1
  130. package/esm2022/view-chart/view-chart.component.mjs +1 -1
  131. package/esm2022/view-zchart/custom-template/dropdown-legend.mjs +1 -1
  132. package/esm2022/view-zchart/legend/legend.component.mjs +1 -1
  133. package/esm2022/view-zchart/view-zchart.component.mjs +1 -1
  134. package/esm2022/widget/card-section/card-section.component.mjs +1 -1
  135. package/esm2022/widget/confirm-delete/confirm-delete.component.mjs +1 -1
  136. package/esm2022/widget/current-time/component.mjs +1 -1
  137. package/esm2022/widget/date-range-picker/component.mjs +1 -1
  138. package/esm2022/widget/field-set/column/component.mjs +2 -2
  139. package/esm2022/widget/field-set/group/component.mjs +1 -1
  140. package/esm2022/widget/field-set/item/component.mjs +1 -1
  141. package/esm2022/widget/foldable-block/component.mjs +1 -1
  142. package/esm2022/widget/foldable-item-in-table/component.mjs +1 -1
  143. package/esm2022/widget/loading-mask/loading-mask.component.mjs +1 -1
  144. package/esm2022/widget/password-input/component.mjs +1 -1
  145. package/esm2022/widget/relative-time/component.mjs +1 -1
  146. package/esm2022/widget/resource-label/component.mjs +1 -1
  147. package/esm2022/widget/resource-multi-select/component.mjs +1 -1
  148. package/esm2022/widget/search-panel/component.mjs +1 -1
  149. package/esm2022/widget/search-panel/search-item/component.mjs +1 -1
  150. package/esm2022/widget/status-icon/status-icon.component.mjs +1 -1
  151. package/esm2022/widget/tags-label/component.mjs +1 -1
  152. package/esm2022/widget/terminating-tag/component.mjs +1 -1
  153. package/esm2022/widget/text-ellipsis/component.mjs +1 -1
  154. package/esm2022/widget/text-with-url/component.mjs +1 -1
  155. package/esm2022/widget/zero-state/zero-state.component.mjs +1 -1
  156. package/esm2022/workload-status-icon/component.mjs +1 -1
  157. package/esm2022/xterm/xterm-terminal/xterm-terminal.component.mjs +1 -1
  158. package/esm2022/xterm/xterm.component.mjs +1 -1
  159. package/package.json +2 -2
  160. package/page-scaffold/page/page.module.d.ts +4 -3
  161. package/page-scaffold/page-header/help-menu/module.d.ts +2 -1
  162. package/table/component.d.ts +1 -1
  163. package/table/module.d.ts +2 -1
  164. package/translate/intl-format.pipes.d.ts +122 -0
  165. package/translate/public-api.d.ts +3 -2
  166. package/translate/relative-time-manager.service.d.ts +32 -0
  167. package/translate/translate.module.d.ts +4 -2
  168. package/translate/translate.pipe.d.ts +4 -5
  169. package/translate/translate.service.d.ts +292 -20
  170. package/translate/types.d.ts +16 -0
  171. package/code/resource-yaml-display/schema/component.d.ts +0 -61
  172. package/code/yaml-sidebar/yaml-examples.d.ts +0 -8
  173. package/esm2022/code/resource-yaml-display/schema/component.mjs +0 -531
  174. package/esm2022/code/yaml-sidebar/yaml-examples.mjs +0 -340
@@ -1,340 +0,0 @@
1
- /**
2
- * Kubernetes 资源的内置 YAML 示例
3
- * 按照 apiVersion.kind 的格式组织
4
- */
5
- export const BUILT_IN_YAML_EXAMPLES = {
6
- 'apps/v1.Deployment': [
7
- {
8
- title: 'Basic Deployment',
9
- description: 'A basic deployment example with nginx container',
10
- yaml: `apiVersion: apps/v1
11
- kind: Deployment
12
- metadata:
13
- name: example
14
- spec:
15
- selector:
16
- matchLabels:
17
- app: httpd
18
- replicas: 3
19
- template:
20
- metadata:
21
- labels:
22
- app: httpd
23
- spec:
24
- containers:
25
- - name: httpd
26
- image: internal-docker-registry.cpaas-system.svc/demo-ns/nginx:alpine
27
- ports:
28
- - containerPort: 8080`,
29
- },
30
- ],
31
- 'v1.ConfigMap': [
32
- {
33
- title: 'Basic ConfigMap',
34
- description: 'A basic ConfigMap example with properties and file data',
35
- yaml: `apiVersion: v1
36
- kind: ConfigMap
37
- metadata:
38
- name: example
39
- namespace: default
40
- data:
41
- example.property.1: hello
42
- example.property.2: world
43
- example.property.file: |-
44
- property.1=value-1
45
- property.2=value-2
46
- property.3=value-3`,
47
- },
48
- ],
49
- 'batch/v1.CronJob': [
50
- {
51
- title: 'Basic CronJob',
52
- description: 'A basic CronJob example that runs daily',
53
- yaml: `apiVersion: batch/v1
54
- kind: CronJob
55
- metadata:
56
- name: example
57
- spec:
58
- schedule: "@daily"
59
- jobTemplate:
60
- spec:
61
- template:
62
- spec:
63
- containers:
64
- - name: hello
65
- image: busybox
66
- args:
67
- - /bin/sh
68
- - -c
69
- - date; echo Hello from the Kubernetes cluster
70
- restartPolicy: OnFailure`,
71
- },
72
- ],
73
- 'v1.PersistentVolume': [
74
- {
75
- title: 'Basic PersistentVolume',
76
- description: 'A basic PersistentVolume example with NFS storage',
77
- yaml: `apiVersion: v1
78
- kind: PersistentVolume
79
- metadata:
80
- name: example
81
- spec:
82
- capacity:
83
- storage: 5Gi
84
- accessModes:
85
- - ReadWriteOnce
86
- persistentVolumeReclaimPolicy: Retain
87
- storageClassName: slow
88
- nfs:
89
- path: /tmp
90
- server: 172.17.0.2`,
91
- },
92
- ],
93
- 'autoscaling/v2.HorizontalPodAutoscaler': [
94
- {
95
- title: 'Basic HorizontalPodAutoscaler',
96
- description: 'A basic HPA example with CPU utilization target',
97
- yaml: `apiVersion: autoscaling/v2
98
- kind: HorizontalPodAutoscaler
99
- metadata:
100
- name: example
101
- spec:
102
- scaleTargetRef:
103
- apiVersion: apps/v1
104
- kind: Deployment
105
- name: example
106
- minReplicas: 1
107
- maxReplicas: 3
108
- metrics:
109
- - type: Resource
110
- resource:
111
- name: cpu
112
- target:
113
- averageUtilization: 50
114
- type: Utilization`,
115
- },
116
- ],
117
- 'apps/v1.DaemonSet': [
118
- {
119
- title: 'Basic DaemonSet',
120
- description: 'A basic DaemonSet example with nginx container',
121
- yaml: `apiVersion: apps/v1
122
- kind: DaemonSet
123
- metadata:
124
- name: example
125
- spec:
126
- selector:
127
- matchLabels:
128
- app: httpd
129
- template:
130
- metadata:
131
- labels:
132
- app: httpd
133
- spec:
134
- containers:
135
- - name: httpd
136
- image: internal-docker-registry.cpaas-system.svc/demo-ns/nginx:alpine
137
- ports:
138
- - containerPort: 8080`,
139
- },
140
- ],
141
- 'v1.PersistentVolumeClaim': [
142
- {
143
- title: 'Basic PersistentVolumeClaim',
144
- description: 'A basic PVC example requesting 1Gi storage',
145
- yaml: `apiVersion: v1
146
- kind: PersistentVolumeClaim
147
- metadata:
148
- name: example
149
- spec:
150
- accessModes:
151
- - ReadWriteOnce
152
- volumeMode: Filesystem
153
- resources:
154
- requests:
155
- storage: 1Gi`,
156
- },
157
- ],
158
- 'v1.ResourceQuota': [
159
- {
160
- title: 'Compute ResourceQuota',
161
- description: 'A ResourceQuota example for compute resources',
162
- yaml: `apiVersion: v1
163
- kind: ResourceQuota
164
- metadata:
165
- name: compute-quota
166
- namespace: default
167
- spec:
168
- hard:
169
- requests.cpu: '1'
170
- requests.memory: 1Gi
171
- limits.cpu: '2'
172
- limits.memory: 2Gi`,
173
- },
174
- {
175
- title: 'Storage Class ResourceQuota',
176
- description: 'A ResourceQuota example for storage class specific quotas',
177
- yaml: `apiVersion: v1
178
- kind: ResourceQuota
179
- metadata:
180
- name: storage-class-quota
181
- namespace: default
182
- spec:
183
- hard:
184
- requests.storage: 100Gi
185
- persistentvolumeclaims: '100'
186
- # For quota specific to a storage class, the storage class must have the same name
187
- gold.storage-class.kubernetes.io/requests.storage: 3Gi
188
- gold.storage-class.kubernetes.io/persistentvolumeclaims: '5'
189
- silver.storage-class.kubernetes.io/requests.storage: 2Gi
190
- silver.storage-class.kubernetes.io/persistentvolumeclaims: '3'
191
- bronze.storage-class.kubernetes.io/requests.storage: 1Gi
192
- bronze.storage-class.kubernetes.io/persistentvolumeclaims: '1'`,
193
- },
194
- {
195
- title: 'Object Counts ResourceQuota',
196
- description: 'A ResourceQuota example for object count limits',
197
- yaml: `apiVersion: v1
198
- kind: ResourceQuota
199
- metadata:
200
- name: object-counts
201
- namespace: default
202
- spec:
203
- hard:
204
- configmaps: "10"
205
- persistentvolumeclaims: "4"
206
- replicationcontrollers: "20"
207
- secrets: "10"
208
- services: "10"
209
- services.loadbalancers: "2"`,
210
- },
211
- ],
212
- 'v1.LimitRange': [
213
- {
214
- title: 'Memory LimitRange',
215
- description: 'A LimitRange example for container memory limits',
216
- yaml: `apiVersion: v1
217
- kind: LimitRange
218
- metadata:
219
- name: mem-limit-range
220
- spec:
221
- limits:
222
- - default:
223
- memory: 512Mi
224
- defaultRequest:
225
- memory: 256Mi
226
- type: Container`,
227
- },
228
- ],
229
- 'apps/v1.StatefulSet': [
230
- {
231
- title: 'Basic StatefulSet',
232
- description: 'A basic StatefulSet example with persistent storage',
233
- yaml: `apiVersion: apps/v1
234
- kind: StatefulSet
235
- metadata:
236
- name: example
237
- spec:
238
- serviceName: "httpd"
239
- replicas: 3
240
- selector:
241
- matchLabels:
242
- app: httpd
243
- template:
244
- metadata:
245
- labels:
246
- app: httpd
247
- spec:
248
- terminationGracePeriodSeconds: 10
249
- containers:
250
- - name: httpd
251
- image: internal-docker-registry.cpaas-system.svc/demo-ns/nginx:alpine
252
- ports:
253
- - containerPort: 8080
254
- name: web
255
- volumeMounts:
256
- - name: www
257
- mountPath: /var/www/html
258
- volumeClaimTemplates:
259
- - metadata:
260
- name: www
261
- spec:
262
- accessModes: [ "ReadWriteOnce" ]
263
- storageClassName: my-storage-class
264
- resources:
265
- requests:
266
- storage: 1Gi`,
267
- },
268
- ],
269
- 'storage.k8s.io/v1.StorageClass': [
270
- {
271
- title: 'Basic StorageClass',
272
- description: 'A basic StorageClass example',
273
- yaml: `apiVersion: storage.k8s.io/v1
274
- kind: StorageClass
275
- metadata:
276
- name: example
277
- provisioner: my-provisioner
278
- reclaimPolicy: Delete`,
279
- },
280
- ],
281
- 'v1.Secret': [
282
- {
283
- title: 'Basic Secret',
284
- description: 'A basic Secret example with username and password',
285
- yaml: `apiVersion: v1
286
- kind: Secret
287
- metadata:
288
- name: example
289
- type: Opaque
290
- stringData:
291
- username: admin
292
- password: opensesame`,
293
- },
294
- ],
295
- 'app.k8s.io/v1beta1.Application': [
296
- {
297
- title: 'Basic Application',
298
- description: 'A basic Application example with Deployment and Service',
299
- yaml: `apiVersion: apps/v1
300
- kind: Deployment
301
- metadata:
302
- labels:
303
- app: nginx
304
- name: nginx-deployment
305
- namespace: yintest-ns1
306
- spec:
307
- replicas: 1
308
- selector:
309
- matchLabels:
310
- app: nginx
311
- template:
312
- metadata:
313
- labels:
314
- app: nginx
315
- spec:
316
- containers:
317
- - image: nginx:1.7.9
318
- name: nginx
319
- ports:
320
- - containerPort: 80
321
- ---
322
- apiVersion: v1
323
- kind: Service
324
- metadata:
325
- labels:
326
- app: nginx
327
- name: nginx
328
- namespace: yintest-ns1
329
- spec:
330
- ports:
331
- - port: 80
332
- protocol: TCP
333
- targetPort: 80
334
- selector:
335
- app: nginx
336
- type: ClusterIP`,
337
- },
338
- ],
339
- };
340
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFtbC1leGFtcGxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb2RlL3lhbWwtc2lkZWJhci95YW1sLWV4YW1wbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFxQztJQUN0RSxvQkFBb0IsRUFBRTtRQUNwQjtZQUNFLEtBQUssRUFBRSxrQkFBa0I7WUFDekIsV0FBVyxFQUFFLGlEQUFpRDtZQUM5RCxJQUFJLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs4QkFrQmtCO1NBQ3pCO0tBQ0Y7SUFFRCxjQUFjLEVBQUU7UUFDZDtZQUNFLEtBQUssRUFBRSxpQkFBaUI7WUFDeEIsV0FBVyxFQUFFLHlEQUF5RDtZQUN0RSxJQUFJLEVBQUU7Ozs7Ozs7Ozs7O3VCQVdXO1NBQ2xCO0tBQ0Y7SUFFRCxrQkFBa0IsRUFBRTtRQUNsQjtZQUNFLEtBQUssRUFBRSxlQUFlO1lBQ3RCLFdBQVcsRUFBRSx5Q0FBeUM7WUFDdEQsSUFBSSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7OzttQ0FpQnVCO1NBQzlCO0tBQ0Y7SUFFRCxxQkFBcUIsRUFBRTtRQUNyQjtZQUNFLEtBQUssRUFBRSx3QkFBd0I7WUFDL0IsV0FBVyxFQUFFLG1EQUFtRDtZQUNoRSxJQUFJLEVBQUU7Ozs7Ozs7Ozs7Ozs7dUJBYVc7U0FDbEI7S0FDRjtJQUVELHdDQUF3QyxFQUFFO1FBQ3hDO1lBQ0UsS0FBSyxFQUFFLCtCQUErQjtZQUN0QyxXQUFXLEVBQUUsaURBQWlEO1lBQzlELElBQUksRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBaUJjO1NBQ3JCO0tBQ0Y7SUFFRCxtQkFBbUIsRUFBRTtRQUNuQjtZQUNFLEtBQUssRUFBRSxpQkFBaUI7WUFDeEIsV0FBVyxFQUFFLGdEQUFnRDtZQUM3RCxJQUFJLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7OzhCQWlCa0I7U0FDekI7S0FDRjtJQUVELDBCQUEwQixFQUFFO1FBQzFCO1lBQ0UsS0FBSyxFQUFFLDZCQUE2QjtZQUNwQyxXQUFXLEVBQUUsNENBQTRDO1lBQ3pELElBQUksRUFBRTs7Ozs7Ozs7OzttQkFVTztTQUNkO0tBQ0Y7SUFFRCxrQkFBa0IsRUFBRTtRQUNsQjtZQUNFLEtBQUssRUFBRSx1QkFBdUI7WUFDOUIsV0FBVyxFQUFFLCtDQUErQztZQUM1RCxJQUFJLEVBQUU7Ozs7Ozs7Ozs7dUJBVVc7U0FDbEI7UUFDRDtZQUNFLEtBQUssRUFBRSw2QkFBNkI7WUFDcEMsV0FBVyxFQUFFLDJEQUEyRDtZQUN4RSxJQUFJLEVBQUU7Ozs7Ozs7Ozs7Ozs7OzttRUFldUQ7U0FDOUQ7UUFDRDtZQUNFLEtBQUssRUFBRSw2QkFBNkI7WUFDcEMsV0FBVyxFQUFFLGlEQUFpRDtZQUM5RCxJQUFJLEVBQUU7Ozs7Ozs7Ozs7OztnQ0FZb0I7U0FDM0I7S0FDRjtJQUVELGVBQWUsRUFBRTtRQUNmO1lBQ0UsS0FBSyxFQUFFLG1CQUFtQjtZQUMxQixXQUFXLEVBQUUsa0RBQWtEO1lBQy9ELElBQUksRUFBRTs7Ozs7Ozs7OztvQkFVUTtTQUNmO0tBQ0Y7SUFFRCxxQkFBcUIsRUFBRTtRQUNyQjtZQUNFLEtBQUssRUFBRSxtQkFBbUI7WUFDMUIsV0FBVyxFQUFFLHFEQUFxRDtZQUNsRSxJQUFJLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt1QkFpQ1c7U0FDbEI7S0FDRjtJQUVELGdDQUFnQyxFQUFFO1FBQ2hDO1lBQ0UsS0FBSyxFQUFFLG9CQUFvQjtZQUMzQixXQUFXLEVBQUUsOEJBQThCO1lBQzNDLElBQUksRUFBRTs7Ozs7c0JBS1U7U0FDakI7S0FDRjtJQUVELFdBQVcsRUFBRTtRQUNYO1lBQ0UsS0FBSyxFQUFFLGNBQWM7WUFDckIsV0FBVyxFQUFFLG1EQUFtRDtZQUNoRSxJQUFJLEVBQUU7Ozs7Ozs7dUJBT1c7U0FDbEI7S0FDRjtJQUVELGdDQUFnQyxFQUFFO1FBQ2hDO1lBQ0UsS0FBSyxFQUFFLG1CQUFtQjtZQUMxQixXQUFXLEVBQUUseURBQXlEO1lBQ3RFLElBQUksRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQkFxQ007U0FDYjtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFlhbWxFeGFtcGxlIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogS3ViZXJuZXRlcyDotYTmupDnmoTlhoXnva4gWUFNTCDnpLrkvotcbiAqIOaMieeFpyBhcGlWZXJzaW9uLmtpbmQg55qE5qC85byP57uE57uHXG4gKi9cbmV4cG9ydCBjb25zdCBCVUlMVF9JTl9ZQU1MX0VYQU1QTEVTOiB7IFtrZXk6IHN0cmluZ106IFlhbWxFeGFtcGxlW10gfSA9IHtcbiAgJ2FwcHMvdjEuRGVwbG95bWVudCc6IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ0Jhc2ljIERlcGxveW1lbnQnLFxuICAgICAgZGVzY3JpcHRpb246ICdBIGJhc2ljIGRlcGxveW1lbnQgZXhhbXBsZSB3aXRoIG5naW54IGNvbnRhaW5lcicsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogYXBwcy92MVxua2luZDogRGVwbG95bWVudFxubWV0YWRhdGE6XG4gIG5hbWU6IGV4YW1wbGVcbnNwZWM6XG4gIHNlbGVjdG9yOlxuICAgIG1hdGNoTGFiZWxzOlxuICAgICAgYXBwOiBodHRwZFxuICByZXBsaWNhczogM1xuICB0ZW1wbGF0ZTpcbiAgICBtZXRhZGF0YTpcbiAgICAgIGxhYmVsczpcbiAgICAgICAgYXBwOiBodHRwZFxuICAgIHNwZWM6XG4gICAgICBjb250YWluZXJzOlxuICAgICAgLSBuYW1lOiBodHRwZFxuICAgICAgICBpbWFnZTogaW50ZXJuYWwtZG9ja2VyLXJlZ2lzdHJ5LmNwYWFzLXN5c3RlbS5zdmMvZGVtby1ucy9uZ2lueDphbHBpbmVcbiAgICAgICAgcG9ydHM6XG4gICAgICAgIC0gY29udGFpbmVyUG9ydDogODA4MGAsXG4gICAgfSxcbiAgXSxcblxuICAndjEuQ29uZmlnTWFwJzogW1xuICAgIHtcbiAgICAgIHRpdGxlOiAnQmFzaWMgQ29uZmlnTWFwJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBiYXNpYyBDb25maWdNYXAgZXhhbXBsZSB3aXRoIHByb3BlcnRpZXMgYW5kIGZpbGUgZGF0YScsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogdjFcbmtpbmQ6IENvbmZpZ01hcFxubWV0YWRhdGE6XG4gIG5hbWU6IGV4YW1wbGVcbiAgbmFtZXNwYWNlOiBkZWZhdWx0XG5kYXRhOlxuICBleGFtcGxlLnByb3BlcnR5LjE6IGhlbGxvXG4gIGV4YW1wbGUucHJvcGVydHkuMjogd29ybGRcbiAgZXhhbXBsZS5wcm9wZXJ0eS5maWxlOiB8LVxuICAgIHByb3BlcnR5LjE9dmFsdWUtMVxuICAgIHByb3BlcnR5LjI9dmFsdWUtMlxuICAgIHByb3BlcnR5LjM9dmFsdWUtM2AsXG4gICAgfSxcbiAgXSxcblxuICAnYmF0Y2gvdjEuQ3JvbkpvYic6IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ0Jhc2ljIENyb25Kb2InLFxuICAgICAgZGVzY3JpcHRpb246ICdBIGJhc2ljIENyb25Kb2IgZXhhbXBsZSB0aGF0IHJ1bnMgZGFpbHknLFxuICAgICAgeWFtbDogYGFwaVZlcnNpb246IGJhdGNoL3YxXG5raW5kOiBDcm9uSm9iXG5tZXRhZGF0YTpcbiAgbmFtZTogZXhhbXBsZVxuc3BlYzpcbiAgc2NoZWR1bGU6IFwiQGRhaWx5XCJcbiAgam9iVGVtcGxhdGU6XG4gICAgc3BlYzpcbiAgICAgIHRlbXBsYXRlOlxuICAgICAgICBzcGVjOlxuICAgICAgICAgIGNvbnRhaW5lcnM6XG4gICAgICAgICAgLSBuYW1lOiBoZWxsb1xuICAgICAgICAgICAgaW1hZ2U6IGJ1c3lib3hcbiAgICAgICAgICAgIGFyZ3M6XG4gICAgICAgICAgICAtIC9iaW4vc2hcbiAgICAgICAgICAgIC0gLWNcbiAgICAgICAgICAgIC0gZGF0ZTsgZWNobyBIZWxsbyBmcm9tIHRoZSBLdWJlcm5ldGVzIGNsdXN0ZXJcbiAgICAgICAgICByZXN0YXJ0UG9saWN5OiBPbkZhaWx1cmVgLFxuICAgIH0sXG4gIF0sXG5cbiAgJ3YxLlBlcnNpc3RlbnRWb2x1bWUnOiBbXG4gICAge1xuICAgICAgdGl0bGU6ICdCYXNpYyBQZXJzaXN0ZW50Vm9sdW1lJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBiYXNpYyBQZXJzaXN0ZW50Vm9sdW1lIGV4YW1wbGUgd2l0aCBORlMgc3RvcmFnZScsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogdjFcbmtpbmQ6IFBlcnNpc3RlbnRWb2x1bWVcbm1ldGFkYXRhOlxuICBuYW1lOiBleGFtcGxlXG5zcGVjOlxuICBjYXBhY2l0eTpcbiAgICBzdG9yYWdlOiA1R2lcbiAgYWNjZXNzTW9kZXM6XG4gICAgLSBSZWFkV3JpdGVPbmNlXG4gIHBlcnNpc3RlbnRWb2x1bWVSZWNsYWltUG9saWN5OiBSZXRhaW5cbiAgc3RvcmFnZUNsYXNzTmFtZTogc2xvd1xuICBuZnM6XG4gICAgcGF0aDogL3RtcFxuICAgIHNlcnZlcjogMTcyLjE3LjAuMmAsXG4gICAgfSxcbiAgXSxcblxuICAnYXV0b3NjYWxpbmcvdjIuSG9yaXpvbnRhbFBvZEF1dG9zY2FsZXInOiBbXG4gICAge1xuICAgICAgdGl0bGU6ICdCYXNpYyBIb3Jpem9udGFsUG9kQXV0b3NjYWxlcicsXG4gICAgICBkZXNjcmlwdGlvbjogJ0EgYmFzaWMgSFBBIGV4YW1wbGUgd2l0aCBDUFUgdXRpbGl6YXRpb24gdGFyZ2V0JyxcbiAgICAgIHlhbWw6IGBhcGlWZXJzaW9uOiBhdXRvc2NhbGluZy92Mlxua2luZDogSG9yaXpvbnRhbFBvZEF1dG9zY2FsZXJcbm1ldGFkYXRhOlxuICBuYW1lOiBleGFtcGxlXG5zcGVjOlxuICBzY2FsZVRhcmdldFJlZjpcbiAgICBhcGlWZXJzaW9uOiBhcHBzL3YxXG4gICAga2luZDogRGVwbG95bWVudFxuICAgIG5hbWU6IGV4YW1wbGVcbiAgbWluUmVwbGljYXM6IDFcbiAgbWF4UmVwbGljYXM6IDNcbiAgbWV0cmljczpcbiAgLSB0eXBlOiBSZXNvdXJjZVxuICAgIHJlc291cmNlOlxuICAgICAgbmFtZTogY3B1XG4gICAgICB0YXJnZXQ6XG4gICAgICAgIGF2ZXJhZ2VVdGlsaXphdGlvbjogNTBcbiAgICAgICAgdHlwZTogVXRpbGl6YXRpb25gLFxuICAgIH0sXG4gIF0sXG5cbiAgJ2FwcHMvdjEuRGFlbW9uU2V0JzogW1xuICAgIHtcbiAgICAgIHRpdGxlOiAnQmFzaWMgRGFlbW9uU2V0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBiYXNpYyBEYWVtb25TZXQgZXhhbXBsZSB3aXRoIG5naW54IGNvbnRhaW5lcicsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogYXBwcy92MVxua2luZDogRGFlbW9uU2V0XG5tZXRhZGF0YTpcbiAgbmFtZTogZXhhbXBsZVxuc3BlYzpcbiAgc2VsZWN0b3I6XG4gICAgbWF0Y2hMYWJlbHM6XG4gICAgICBhcHA6IGh0dHBkXG4gIHRlbXBsYXRlOlxuICAgIG1ldGFkYXRhOlxuICAgICAgbGFiZWxzOlxuICAgICAgICBhcHA6IGh0dHBkXG4gICAgc3BlYzpcbiAgICAgIGNvbnRhaW5lcnM6XG4gICAgICAtIG5hbWU6IGh0dHBkXG4gICAgICAgIGltYWdlOiBpbnRlcm5hbC1kb2NrZXItcmVnaXN0cnkuY3BhYXMtc3lzdGVtLnN2Yy9kZW1vLW5zL25naW54OmFscGluZVxuICAgICAgICBwb3J0czpcbiAgICAgICAgLSBjb250YWluZXJQb3J0OiA4MDgwYCxcbiAgICB9LFxuICBdLFxuXG4gICd2MS5QZXJzaXN0ZW50Vm9sdW1lQ2xhaW0nOiBbXG4gICAge1xuICAgICAgdGl0bGU6ICdCYXNpYyBQZXJzaXN0ZW50Vm9sdW1lQ2xhaW0nLFxuICAgICAgZGVzY3JpcHRpb246ICdBIGJhc2ljIFBWQyBleGFtcGxlIHJlcXVlc3RpbmcgMUdpIHN0b3JhZ2UnLFxuICAgICAgeWFtbDogYGFwaVZlcnNpb246IHYxXG5raW5kOiBQZXJzaXN0ZW50Vm9sdW1lQ2xhaW1cbm1ldGFkYXRhOlxuICBuYW1lOiBleGFtcGxlXG5zcGVjOlxuICBhY2Nlc3NNb2RlczpcbiAgICAtIFJlYWRXcml0ZU9uY2VcbiAgdm9sdW1lTW9kZTogRmlsZXN5c3RlbVxuICByZXNvdXJjZXM6XG4gICAgcmVxdWVzdHM6XG4gICAgICBzdG9yYWdlOiAxR2lgLFxuICAgIH0sXG4gIF0sXG5cbiAgJ3YxLlJlc291cmNlUXVvdGEnOiBbXG4gICAge1xuICAgICAgdGl0bGU6ICdDb21wdXRlIFJlc291cmNlUXVvdGEnLFxuICAgICAgZGVzY3JpcHRpb246ICdBIFJlc291cmNlUXVvdGEgZXhhbXBsZSBmb3IgY29tcHV0ZSByZXNvdXJjZXMnLFxuICAgICAgeWFtbDogYGFwaVZlcnNpb246IHYxXG5raW5kOiBSZXNvdXJjZVF1b3RhXG5tZXRhZGF0YTpcbiAgbmFtZTogY29tcHV0ZS1xdW90YVxuICBuYW1lc3BhY2U6IGRlZmF1bHRcbnNwZWM6XG4gIGhhcmQ6XG4gICAgcmVxdWVzdHMuY3B1OiAnMSdcbiAgICByZXF1ZXN0cy5tZW1vcnk6IDFHaVxuICAgIGxpbWl0cy5jcHU6ICcyJ1xuICAgIGxpbWl0cy5tZW1vcnk6IDJHaWAsXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogJ1N0b3JhZ2UgQ2xhc3MgUmVzb3VyY2VRdW90YScsXG4gICAgICBkZXNjcmlwdGlvbjogJ0EgUmVzb3VyY2VRdW90YSBleGFtcGxlIGZvciBzdG9yYWdlIGNsYXNzIHNwZWNpZmljIHF1b3RhcycsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogdjFcbmtpbmQ6IFJlc291cmNlUXVvdGFcbm1ldGFkYXRhOlxuICBuYW1lOiBzdG9yYWdlLWNsYXNzLXF1b3RhXG4gIG5hbWVzcGFjZTogZGVmYXVsdFxuc3BlYzpcbiAgaGFyZDpcbiAgICByZXF1ZXN0cy5zdG9yYWdlOiAxMDBHaVxuICAgIHBlcnNpc3RlbnR2b2x1bWVjbGFpbXM6ICcxMDAnXG4gICAgIyBGb3IgcXVvdGEgc3BlY2lmaWMgdG8gYSBzdG9yYWdlIGNsYXNzLCB0aGUgc3RvcmFnZSBjbGFzcyBtdXN0IGhhdmUgdGhlIHNhbWUgbmFtZVxuICAgIGdvbGQuc3RvcmFnZS1jbGFzcy5rdWJlcm5ldGVzLmlvL3JlcXVlc3RzLnN0b3JhZ2U6IDNHaVxuICAgIGdvbGQuc3RvcmFnZS1jbGFzcy5rdWJlcm5ldGVzLmlvL3BlcnNpc3RlbnR2b2x1bWVjbGFpbXM6ICc1J1xuICAgIHNpbHZlci5zdG9yYWdlLWNsYXNzLmt1YmVybmV0ZXMuaW8vcmVxdWVzdHMuc3RvcmFnZTogMkdpXG4gICAgc2lsdmVyLnN0b3JhZ2UtY2xhc3Mua3ViZXJuZXRlcy5pby9wZXJzaXN0ZW50dm9sdW1lY2xhaW1zOiAnMydcbiAgICBicm9uemUuc3RvcmFnZS1jbGFzcy5rdWJlcm5ldGVzLmlvL3JlcXVlc3RzLnN0b3JhZ2U6IDFHaVxuICAgIGJyb256ZS5zdG9yYWdlLWNsYXNzLmt1YmVybmV0ZXMuaW8vcGVyc2lzdGVudHZvbHVtZWNsYWltczogJzEnYCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnT2JqZWN0IENvdW50cyBSZXNvdXJjZVF1b3RhJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBSZXNvdXJjZVF1b3RhIGV4YW1wbGUgZm9yIG9iamVjdCBjb3VudCBsaW1pdHMnLFxuICAgICAgeWFtbDogYGFwaVZlcnNpb246IHYxXG5raW5kOiBSZXNvdXJjZVF1b3RhXG5tZXRhZGF0YTpcbiAgbmFtZTogb2JqZWN0LWNvdW50c1xuICBuYW1lc3BhY2U6IGRlZmF1bHRcbnNwZWM6XG4gIGhhcmQ6XG4gICAgY29uZmlnbWFwczogXCIxMFwiXG4gICAgcGVyc2lzdGVudHZvbHVtZWNsYWltczogXCI0XCJcbiAgICByZXBsaWNhdGlvbmNvbnRyb2xsZXJzOiBcIjIwXCJcbiAgICBzZWNyZXRzOiBcIjEwXCJcbiAgICBzZXJ2aWNlczogXCIxMFwiXG4gICAgc2VydmljZXMubG9hZGJhbGFuY2VyczogXCIyXCJgLFxuICAgIH0sXG4gIF0sXG5cbiAgJ3YxLkxpbWl0UmFuZ2UnOiBbXG4gICAge1xuICAgICAgdGl0bGU6ICdNZW1vcnkgTGltaXRSYW5nZScsXG4gICAgICBkZXNjcmlwdGlvbjogJ0EgTGltaXRSYW5nZSBleGFtcGxlIGZvciBjb250YWluZXIgbWVtb3J5IGxpbWl0cycsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogdjFcbmtpbmQ6IExpbWl0UmFuZ2Vcbm1ldGFkYXRhOlxuICBuYW1lOiBtZW0tbGltaXQtcmFuZ2VcbnNwZWM6XG4gIGxpbWl0czpcbiAgLSBkZWZhdWx0OlxuICAgICAgbWVtb3J5OiA1MTJNaVxuICAgIGRlZmF1bHRSZXF1ZXN0OlxuICAgICAgbWVtb3J5OiAyNTZNaVxuICAgIHR5cGU6IENvbnRhaW5lcmAsXG4gICAgfSxcbiAgXSxcblxuICAnYXBwcy92MS5TdGF0ZWZ1bFNldCc6IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ0Jhc2ljIFN0YXRlZnVsU2V0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBiYXNpYyBTdGF0ZWZ1bFNldCBleGFtcGxlIHdpdGggcGVyc2lzdGVudCBzdG9yYWdlJyxcbiAgICAgIHlhbWw6IGBhcGlWZXJzaW9uOiBhcHBzL3YxXG5raW5kOiBTdGF0ZWZ1bFNldFxubWV0YWRhdGE6XG4gIG5hbWU6IGV4YW1wbGVcbnNwZWM6XG4gIHNlcnZpY2VOYW1lOiBcImh0dHBkXCJcbiAgcmVwbGljYXM6IDNcbiAgc2VsZWN0b3I6XG4gICAgbWF0Y2hMYWJlbHM6XG4gICAgICBhcHA6IGh0dHBkXG4gIHRlbXBsYXRlOlxuICAgIG1ldGFkYXRhOlxuICAgICAgbGFiZWxzOlxuICAgICAgICBhcHA6IGh0dHBkXG4gICAgc3BlYzpcbiAgICAgIHRlcm1pbmF0aW9uR3JhY2VQZXJpb2RTZWNvbmRzOiAxMFxuICAgICAgY29udGFpbmVyczpcbiAgICAgIC0gbmFtZTogaHR0cGRcbiAgICAgICAgaW1hZ2U6IGludGVybmFsLWRvY2tlci1yZWdpc3RyeS5jcGFhcy1zeXN0ZW0uc3ZjL2RlbW8tbnMvbmdpbng6YWxwaW5lXG4gICAgICAgIHBvcnRzOlxuICAgICAgICAtIGNvbnRhaW5lclBvcnQ6IDgwODBcbiAgICAgICAgICBuYW1lOiB3ZWJcbiAgICAgICAgdm9sdW1lTW91bnRzOlxuICAgICAgICAtIG5hbWU6IHd3d1xuICAgICAgICAgIG1vdW50UGF0aDogL3Zhci93d3cvaHRtbFxuICB2b2x1bWVDbGFpbVRlbXBsYXRlczpcbiAgLSBtZXRhZGF0YTpcbiAgICAgIG5hbWU6IHd3d1xuICAgIHNwZWM6XG4gICAgICBhY2Nlc3NNb2RlczogWyBcIlJlYWRXcml0ZU9uY2VcIiBdXG4gICAgICBzdG9yYWdlQ2xhc3NOYW1lOiBteS1zdG9yYWdlLWNsYXNzXG4gICAgICByZXNvdXJjZXM6XG4gICAgICAgIHJlcXVlc3RzOlxuICAgICAgICAgIHN0b3JhZ2U6IDFHaWAsXG4gICAgfSxcbiAgXSxcblxuICAnc3RvcmFnZS5rOHMuaW8vdjEuU3RvcmFnZUNsYXNzJzogW1xuICAgIHtcbiAgICAgIHRpdGxlOiAnQmFzaWMgU3RvcmFnZUNsYXNzJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBiYXNpYyBTdG9yYWdlQ2xhc3MgZXhhbXBsZScsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogc3RvcmFnZS5rOHMuaW8vdjFcbmtpbmQ6IFN0b3JhZ2VDbGFzc1xubWV0YWRhdGE6XG4gIG5hbWU6IGV4YW1wbGVcbnByb3Zpc2lvbmVyOiBteS1wcm92aXNpb25lclxucmVjbGFpbVBvbGljeTogRGVsZXRlYCxcbiAgICB9LFxuICBdLFxuXG4gICd2MS5TZWNyZXQnOiBbXG4gICAge1xuICAgICAgdGl0bGU6ICdCYXNpYyBTZWNyZXQnLFxuICAgICAgZGVzY3JpcHRpb246ICdBIGJhc2ljIFNlY3JldCBleGFtcGxlIHdpdGggdXNlcm5hbWUgYW5kIHBhc3N3b3JkJyxcbiAgICAgIHlhbWw6IGBhcGlWZXJzaW9uOiB2MVxua2luZDogU2VjcmV0XG5tZXRhZGF0YTpcbiAgbmFtZTogZXhhbXBsZVxudHlwZTogT3BhcXVlXG5zdHJpbmdEYXRhOlxuICB1c2VybmFtZTogYWRtaW5cbiAgcGFzc3dvcmQ6IG9wZW5zZXNhbWVgLFxuICAgIH0sXG4gIF0sXG5cbiAgJ2FwcC5rOHMuaW8vdjFiZXRhMS5BcHBsaWNhdGlvbic6IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ0Jhc2ljIEFwcGxpY2F0aW9uJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBiYXNpYyBBcHBsaWNhdGlvbiBleGFtcGxlIHdpdGggRGVwbG95bWVudCBhbmQgU2VydmljZScsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogYXBwcy92MVxua2luZDogRGVwbG95bWVudFxubWV0YWRhdGE6XG4gIGxhYmVsczpcbiAgICBhcHA6IG5naW54XG4gIG5hbWU6IG5naW54LWRlcGxveW1lbnRcbiAgbmFtZXNwYWNlOiB5aW50ZXN0LW5zMVxuc3BlYzpcbiAgcmVwbGljYXM6IDFcbiAgc2VsZWN0b3I6XG4gICAgbWF0Y2hMYWJlbHM6XG4gICAgICBhcHA6IG5naW54XG4gIHRlbXBsYXRlOlxuICAgIG1ldGFkYXRhOlxuICAgICAgbGFiZWxzOlxuICAgICAgICBhcHA6IG5naW54XG4gICAgc3BlYzpcbiAgICAgIGNvbnRhaW5lcnM6XG4gICAgICAgIC0gaW1hZ2U6IG5naW54OjEuNy45XG4gICAgICAgICAgbmFtZTogbmdpbnhcbiAgICAgICAgICBwb3J0czpcbiAgICAgICAgICAgIC0gY29udGFpbmVyUG9ydDogODBcbi0tLVxuYXBpVmVyc2lvbjogdjFcbmtpbmQ6IFNlcnZpY2Vcbm1ldGFkYXRhOlxuICBsYWJlbHM6XG4gICAgYXBwOiBuZ2lueFxuICBuYW1lOiBuZ2lueFxuICBuYW1lc3BhY2U6IHlpbnRlc3QtbnMxXG5zcGVjOlxuICBwb3J0czpcbiAgICAtIHBvcnQ6IDgwXG4gICAgICBwcm90b2NvbDogVENQXG4gICAgICB0YXJnZXRQb3J0OiA4MFxuICBzZWxlY3RvcjpcbiAgICBhcHA6IG5naW54XG4gIHR5cGU6IENsdXN0ZXJJUGAsXG4gICAgfSxcbiAgXSxcbn07Il19