raise-common-lib 0.0.192 → 0.0.194

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 (38) hide show
  1. package/bundles/raise-common-lib.umd.js +1357 -49
  2. package/bundles/raise-common-lib.umd.js.map +1 -1
  3. package/bundles/raise-common-lib.umd.min.js +1 -1
  4. package/bundles/raise-common-lib.umd.min.js.map +1 -1
  5. package/esm2015/lib/common-grid/index.component.js +2 -2
  6. package/esm2015/lib/form/drawer-form/drawer-form.component.js +112 -44
  7. package/esm2015/lib/form/richtexteditor/ai-config.js +70 -0
  8. package/esm2015/lib/form/richtexteditor/data-config.js +273 -0
  9. package/esm2015/lib/form/richtexteditor/index.component.js +601 -0
  10. package/esm2015/lib/form/richtexteditor/openapi.js +175 -0
  11. package/esm2015/lib/layout/page-tab/index.component.js +6 -2
  12. package/esm2015/lib/raise-common-lib.module.js +7 -2
  13. package/esm2015/raise-common-lib.js +5 -4
  14. package/esm5/lib/common-grid/index.component.js +2 -2
  15. package/esm5/lib/form/drawer-form/drawer-form.component.js +123 -45
  16. package/esm5/lib/form/richtexteditor/ai-config.js +73 -0
  17. package/esm5/lib/form/richtexteditor/data-config.js +273 -0
  18. package/esm5/lib/form/richtexteditor/index.component.js +681 -0
  19. package/esm5/lib/form/richtexteditor/openapi.js +208 -0
  20. package/esm5/lib/layout/page-tab/index.component.js +6 -2
  21. package/esm5/lib/raise-common-lib.module.js +7 -2
  22. package/esm5/raise-common-lib.js +5 -4
  23. package/fesm2015/raise-common-lib.js +1230 -48
  24. package/fesm2015/raise-common-lib.js.map +1 -1
  25. package/fesm5/raise-common-lib.js +1356 -49
  26. package/fesm5/raise-common-lib.js.map +1 -1
  27. package/lib/form/drawer-form/drawer-form.component.d.ts +10 -5
  28. package/lib/form/richtexteditor/ai-config.d.ts +10 -0
  29. package/lib/form/richtexteditor/data-config.d.ts +14 -0
  30. package/lib/form/richtexteditor/index.component.d.ts +78 -0
  31. package/lib/form/richtexteditor/openapi.d.ts +3 -0
  32. package/lib/layout/page-tab/index.component.d.ts +1 -0
  33. package/package.json +1 -1
  34. package/raise-common-lib.d.ts +4 -3
  35. package/raise-common-lib.metadata.json +1 -1
  36. package/src/assets/img/editor-copy.svg +5 -0
  37. package/src/assets/img/info.svg +5 -0
  38. package/src/assets/style/reset/grid.scss +2 -1
@@ -0,0 +1,273 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: lib/form/richtexteditor/data-config.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ // font family
7
+ /** @type {?} */
8
+ export var fontFamily = {
9
+ default: "Arial",
10
+ items: [
11
+ {
12
+ text: "Arial",
13
+ value: "Arial, Helvetica, sans-serif",
14
+ cssClass: "e-arial",
15
+ command: "Font",
16
+ subCommand: "FontName",
17
+ },
18
+ {
19
+ text: "Times New Roman",
20
+ value: "Times New Roman,Times,serif",
21
+ cssClass: "e-times-new-roman",
22
+ command: "Font",
23
+ subCommand: "FontName",
24
+ },
25
+ {
26
+ text: "Helvetica",
27
+ value: "Helvetica",
28
+ cssClass: "e-helvetica",
29
+ command: "Font",
30
+ subCommand: "FontName",
31
+ },
32
+ {
33
+ text: "Calibri",
34
+ value: "Calibri, Helvetica, sans-serif",
35
+ cssClass: "e-calibri",
36
+ command: "Font",
37
+ subCommand: "FontName",
38
+ },
39
+ {
40
+ text: "Verdana",
41
+ value: "Verdana,Geneva,sans-serif",
42
+ cssClass: "e-verdana",
43
+ command: "Font",
44
+ subCommand: "FontName",
45
+ },
46
+ {
47
+ text: "Georgia",
48
+ value: "Georgia,serif",
49
+ cssClass: "e-georgia",
50
+ command: "Font",
51
+ subCommand: "FontName",
52
+ },
53
+ {
54
+ text: "Open Sans",
55
+ value: "Open Sans, sans-serif",
56
+ cssClass: "e-open-sans",
57
+ command: "Font",
58
+ subCommand: "FontName",
59
+ },
60
+ {
61
+ text: "Roboto",
62
+ value: "Roboto",
63
+ cssClass: "e-roboto",
64
+ command: "Font",
65
+ subCommand: "FontName",
66
+ },
67
+ {
68
+ text: "Lato",
69
+ value: "Lato, sans-serif",
70
+ cssClass: "e-lato",
71
+ command: "Font",
72
+ subCommand: "FontName",
73
+ },
74
+ {
75
+ text: "Montserrat",
76
+ value: "Montserrat, sans-serif",
77
+ cssClass: "e-montserrat",
78
+ command: "Font",
79
+ subCommand: "FontName",
80
+ },
81
+ {
82
+ text: "Segoe UI",
83
+ value: "Segoe UI",
84
+ cssClass: "e-segoe-ui",
85
+ command: "Font",
86
+ subCommand: "FontName",
87
+ },
88
+ {
89
+ text: "Impact",
90
+ value: "Impact,Charcoal,sans-serif",
91
+ cssClass: "e-impact",
92
+ command: "Font",
93
+ subCommand: "FontName",
94
+ },
95
+ ],
96
+ };
97
+ // line height配置
98
+ /** @type {?} */
99
+ export var lineHeight_items = [
100
+ {
101
+ text: "1.0",
102
+ },
103
+ {
104
+ text: "1.15",
105
+ },
106
+ {
107
+ text: "1.5",
108
+ },
109
+ {
110
+ text: "2.0",
111
+ },
112
+ {
113
+ text: "2.5",
114
+ },
115
+ {
116
+ text: "3.0",
117
+ },
118
+ ];
119
+ /**
120
+ * @record
121
+ */
122
+ export function BulletStyle() { }
123
+ if (false) {
124
+ /** @type {?} */
125
+ BulletStyle.prototype.id;
126
+ /** @type {?} */
127
+ BulletStyle.prototype.text;
128
+ /** @type {?} */
129
+ BulletStyle.prototype.symbol;
130
+ /** @type {?} */
131
+ BulletStyle.prototype.iconCss;
132
+ /** @type {?} */
133
+ BulletStyle.prototype.description;
134
+ }
135
+ /** @type {?} */
136
+ export var BULLET_STYLES = [
137
+ {
138
+ id: "disc",
139
+ text: "● 实心圆点",
140
+ symbol: "●",
141
+ iconCss: "e-icons e-bullet-disc",
142
+ description: "标准实心圆点",
143
+ },
144
+ {
145
+ id: "circle",
146
+ text: "○ 空心圆点",
147
+ symbol: "○",
148
+ iconCss: "e-icons e-bullet-circle",
149
+ description: "空心圆点",
150
+ },
151
+ {
152
+ id: "square",
153
+ text: "■ 实心方块",
154
+ symbol: "■",
155
+ iconCss: "e-icons e-bullet-square",
156
+ description: "实心方块",
157
+ },
158
+ {
159
+ id: "diamond",
160
+ text: "◆ 实心菱形",
161
+ symbol: "◆",
162
+ iconCss: "e-icons e-bullet-diamond",
163
+ description: "实心菱形",
164
+ },
165
+ {
166
+ id: "triangle",
167
+ text: "► 实心三角",
168
+ symbol: "►",
169
+ iconCss: "e-icons e-bullet-triangle",
170
+ description: "实心三角形",
171
+ },
172
+ {
173
+ id: "arrow",
174
+ text: "➤ 箭头",
175
+ symbol: "➤",
176
+ iconCss: "e-icons e-bullet-arrow",
177
+ description: "箭头符号",
178
+ },
179
+ {
180
+ id: "star",
181
+ text: "★ 星形",
182
+ symbol: "★",
183
+ iconCss: "e-icons e-bullet-star",
184
+ description: "星形符号",
185
+ },
186
+ {
187
+ id: "check",
188
+ text: "✓ 对勾",
189
+ symbol: "✓",
190
+ iconCss: "e-icons e-bullet-check",
191
+ description: "对勾符号",
192
+ },
193
+ {
194
+ id: "heart",
195
+ text: "♥ 心形",
196
+ symbol: "♥",
197
+ iconCss: "e-icons e-bullet-heart",
198
+ description: "心形符号",
199
+ },
200
+ {
201
+ id: "bullet",
202
+ text: "• 小圆点",
203
+ symbol: "•",
204
+ iconCss: "e-icons e-bullet-bullet",
205
+ description: "小圆点",
206
+ },
207
+ ];
208
+ // 获取符号样式
209
+ /**
210
+ * @param {?} id
211
+ * @return {?}
212
+ */
213
+ export function getBulletStyle(id) {
214
+ return BULLET_STYLES.find((/**
215
+ * @param {?} style
216
+ * @return {?}
217
+ */
218
+ function (style) { return style.id === id; }));
219
+ }
220
+ // 获取所有符号样式
221
+ /**
222
+ * @return {?}
223
+ */
224
+ export function getAllBulletStyles() {
225
+ return BULLET_STYLES;
226
+ }
227
+ // 应用符号样式到列表
228
+ /**
229
+ * @param {?} ul
230
+ * @param {?} style
231
+ * @return {?}
232
+ */
233
+ export function applyBulletStyle(ul, style) {
234
+ if (style.id === "disc" || style.id === "circle" || style.id === "square") {
235
+ // 使用CSS list-style-type
236
+ ul.style.listStyleType = style.id;
237
+ // 移除自定义符号
238
+ ul.querySelectorAll(".custom-bullet").forEach((/**
239
+ * @param {?} bullet
240
+ * @return {?}
241
+ */
242
+ function (bullet) { return bullet.remove(); }));
243
+ }
244
+ else {
245
+ // 使用自定义符号
246
+ ul.style.listStyleType = "none";
247
+ ul.setAttribute("data-bullet-style", style.id);
248
+ /** @type {?} */
249
+ var listItems = ul.querySelectorAll("li");
250
+ listItems.forEach((/**
251
+ * @param {?} li
252
+ * @return {?}
253
+ */
254
+ function (li) {
255
+ // 移除现有的自定义符号
256
+ /** @type {?} */
257
+ var existingBullet = li.querySelector(".custom-bullet");
258
+ if (existingBullet) {
259
+ existingBullet.remove();
260
+ }
261
+ // 添加新的自定义符号
262
+ /** @type {?} */
263
+ var bullet = document.createElement("span");
264
+ bullet.className = "custom-bullet";
265
+ bullet.textContent = style.symbol;
266
+ bullet.style.marginRight = "8px";
267
+ bullet.style.color = "#666";
268
+ // 将符号插入到列表项的开头
269
+ li.insertBefore(bullet, li.firstChild);
270
+ }));
271
+ }
272
+ }
273
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1jb25maWcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9yYWlzZS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2Zvcm0vcmljaHRleHRlZGl0b3IvZGF0YS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLE1BQU0sS0FBTyxVQUFVLEdBQVc7SUFDaEMsT0FBTyxFQUFFLE9BQU87SUFDaEIsS0FBSyxFQUFFO1FBQ0w7WUFDRSxJQUFJLEVBQUUsT0FBTztZQUNiLEtBQUssRUFBRSw4QkFBOEI7WUFDckMsUUFBUSxFQUFFLFNBQVM7WUFDbkIsT0FBTyxFQUFFLE1BQU07WUFDZixVQUFVLEVBQUUsVUFBVTtTQUN2QjtRQUNEO1lBQ0UsSUFBSSxFQUFFLGlCQUFpQjtZQUN2QixLQUFLLEVBQUUsNkJBQTZCO1lBQ3BDLFFBQVEsRUFBRSxtQkFBbUI7WUFDN0IsT0FBTyxFQUFFLE1BQU07WUFDZixVQUFVLEVBQUUsVUFBVTtTQUN2QjtRQUNEO1lBQ0UsSUFBSSxFQUFFLFdBQVc7WUFDakIsS0FBSyxFQUFFLFdBQVc7WUFDbEIsUUFBUSxFQUFFLGFBQWE7WUFDdkIsT0FBTyxFQUFFLE1BQU07WUFDZixVQUFVLEVBQUUsVUFBVTtTQUN2QjtRQUNEO1lBQ0UsSUFBSSxFQUFFLFNBQVM7WUFDZixLQUFLLEVBQUUsZ0NBQWdDO1lBQ3ZDLFFBQVEsRUFBRSxXQUFXO1lBQ3JCLE9BQU8sRUFBRSxNQUFNO1lBQ2YsVUFBVSxFQUFFLFVBQVU7U0FDdkI7UUFDRDtZQUNFLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLDJCQUEyQjtZQUNsQyxRQUFRLEVBQUUsV0FBVztZQUNyQixPQUFPLEVBQUUsTUFBTTtZQUNmLFVBQVUsRUFBRSxVQUFVO1NBQ3ZCO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSxlQUFlO1lBQ3RCLFFBQVEsRUFBRSxXQUFXO1lBQ3JCLE9BQU8sRUFBRSxNQUFNO1lBQ2YsVUFBVSxFQUFF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QUFNLEVBQUUsRUFBZixDQUFlLEVBQUMsQ0FBQztLQUM1RTtTQUFNO1FBQ0wsVUFBVTtRQUNWLEVBQUUsQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztRQUNoQyxFQUFFLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQzs7WUFFekMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7UUFDM0MsU0FBUyxDQUFDLE9BQU87Ozs7UUFBQyxVQUFDLEVBQUU7OztnQkFFYixjQUFjLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQztZQUN6RCxJQUFJLGNBQWMsRUFBRTtnQkFDbEIsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ3pCOzs7Z0JBR0ssTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO1lBQzdDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDO1lBQ25DLE1BQU0sQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNsQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDakMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1lBRTVCLGVBQWU7WUFDZixFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekMsQ0FBQyxFQUFDLENBQUM7S0FDSjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJdGVtTW9kZWwgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItc3BsaXRidXR0b25zXCI7XHJcblxyXG4vLyBmb250IGZhbWlseVxyXG5cclxuZXhwb3J0IGNvbnN0IGZvbnRGYW1pbHk6IE9iamVjdCA9IHtcclxuICBkZWZhdWx0OiBcIkFyaWFsXCIsXHJcbiAgaXRlbXM6IFtcclxuICAgIHtcclxuICAgICAgdGV4dDogXCJBcmlhbFwiLFxyXG4gICAgICB2YWx1ZTogXCJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmXCIsXHJcbiAgICAgIGNzc0NsYXNzOiBcImUtYXJpYWxcIixcclxuICAgICAgY29tbWFuZDogXCJGb250XCIsXHJcbiAgICAgIHN1YkNvbW1hbmQ6IFwiRm9udE5hbWVcIixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRleHQ6IFwiVGltZXMgTmV3IFJvbWFuXCIsXHJcbiAgICAgIHZhbHVlOiBcIlRpbWVzIE5ldyBSb21hbixUaW1lcyxzZXJpZlwiLFxyXG4gICAgICBjc3NDbGFzczogXCJlLXRpbWVzLW5ldy1yb21hblwiLFxyXG4gICAgICBjb21tYW5kOiBcIkZvbnRcIixcclxuICAgICAgc3ViQ29tbWFuZDogXCJGb250TmFtZVwiLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGV4dDogXCJIZWx2ZXRpY2FcIixcclxuICAgICAgdmFsdWU6IFwiSGVsdmV0aWNhXCIsXHJcbiAgICAgIGNzc0NsYXNzOiBcImUtaGVsdmV0aWNhXCIsXHJcbiAgICAgIGNvbW1hbmQ6IFwiRm9udFwiLFxyXG4gICAgICBzdWJDb21tYW5kOiBcIkZvbnROYW1lXCIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0ZXh0OiBcIkNhbGlicmlcIixcclxuICAgICAgdmFsdWU6IFwiQ2FsaWJyaSwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmXCIsXHJcbiAgICAgIGNzc0NsYXNzOiBcImUtY2FsaWJyaVwiLFxyXG4gICAgICBjb21tYW5kOiBcIkZvbnRcIixcclxuICAgICAgc3ViQ29tbWFuZDogXCJGb250TmFtZVwiLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGV4dDogXCJWZXJkYW5hXCIsXHJcbiAgICAgIHZhbHVlOiBcIlZlcmRhbmEsR2VuZXZhLHNhbnMtc2VyaWZcIixcclxuICAgICAgY3NzQ2xhc3M6IFwiZS12ZXJkYW5hXCIsXHJcbiAgICAgIGNvbW1hbmQ6IFwiRm9udFwiLFxyXG4gICAgICBzdWJDb21tYW5kOiBcIkZvbnROYW1lXCIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0ZXh0OiBcIkdlb3JnaWFcIixcclxuICAgICAgdmFsdWU6IFwiR2VvcmdpYSxzZXJpZlwiLFxyXG4gICAgICBjc3NDbGFzczogXCJlLWdlb3JnaWFcIixcclxuICAgICAgY29tbWFuZDogXCJGb250XCIsXHJcbiAgICAgIHN1YkNvbW1hbmQ6IFwiRm9udE5hbWVcIixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRleHQ6IFwiT3BlbiBTYW5zXCIsXHJcbiAgICAgIHZhbHVlOiBcIk9wZW4gU2Fucywgc2Fucy1zZXJpZlwiLFxyXG4gICAgICBjc3NDbGFzczogXCJlLW9wZW4tc2Fuc1wiLFxyXG4gICAgICBjb21tYW5kOiBcIkZvbnRcIixcclxuICAgICAgc3ViQ29tbWFuZDogXCJGb250TmFtZVwiLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGV4dDogXCJSb2JvdG9cIixcclxuICAgICAgdmFsdWU6IFwiUm9ib3RvXCIsXHJcbiAgICAgIGNzc0NsYXNzOiBcImUtcm9ib3RvXCIsXHJcbiAgICAgIGNvbW1hbmQ6IFwiRm9udFwiLFxyXG4gICAgICBzdWJDb21tYW5kOiBcIkZvbnROYW1lXCIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0ZXh0OiBcIkxhdG9cIixcclxuICAgICAgdmFsdWU6IFwiTGF0bywgc2Fucy1zZXJpZlwiLFxyXG4gICAgICBjc3NDbGFzczogXCJlLWxhdG9cIixcclxuICAgICAgY29tbWFuZDogXCJGb250XCIsXHJcbiAgICAgIHN1YkNvbW1hbmQ6IFwiRm9udE5hbWVcIixcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRleHQ6IFwiTW9udHNlcnJhdFwiLFxyXG4gICAgICB2YWx1ZTogXCJNb250c2VycmF0LCBzYW5zLXNlcmlmXCIsXHJcbiAgICAgIGNzc0NsYXNzOiBcImUtbW9udHNlcnJhdFwiLFxyXG4gICAgICBjb21tYW5kOiBcIkZvbnRcIixcclxuICAgICAgc3ViQ29tbWFuZDogXCJGb250TmFtZVwiLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdGV4dDogXCJTZWdvZSBVSVwiLFxyXG4gICAgICB2YWx1ZTogXCJTZWdvZSBVSVwiLFxyXG4gICAgICBjc3NDbGFzczogXCJlLXNlZ29lLXVpXCIsXHJcbiAgICAgIGNvbW1hbmQ6IFwiRm9udFwiLFxyXG4gICAgICBzdWJDb21tYW5kOiBcIkZvbnROYW1lXCIsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0ZXh0OiBcIkltcGFjdFwiLFxyXG4gICAgICB2YWx1ZTogXCJJbXBhY3QsQ2hhcmNvYWwsc2Fucy1zZXJpZlwiLFxyXG4gICAgICBjc3NDbGFzczogXCJlLWltcGFjdFwiLFxyXG4gICAgICBjb21tYW5kOiBcIkZvbnRcIixcclxuICAgICAgc3ViQ29tbWFuZDogXCJGb250TmFtZVwiLFxyXG4gICAgfSxcclxuICBdLFxyXG59O1xyXG5cclxuLy8gbGluZSBoZWlnaHTphY3nva5cclxuZXhwb3J0IGNvbnN0IGxpbmVIZWlnaHRfaXRlbXM6IEl0ZW1Nb2RlbFtdID0gW1xyXG4gIHtcclxuICAgIHRleHQ6IFwiMS4wXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0ZXh0OiBcIjEuMTVcIixcclxuICB9LFxyXG4gIHtcclxuICAgIHRleHQ6IFwiMS41XCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0ZXh0OiBcIjIuMFwiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdGV4dDogXCIyLjVcIixcclxuICB9LFxyXG4gIHtcclxuICAgIHRleHQ6IFwiMy4wXCIsXHJcbiAgfSxcclxuXTtcclxuXHJcbi8vIOaXoOW6j+WIl+ihqOespuWPt+mFjee9rlxyXG5leHBvcnQgaW50ZXJmYWNlIEJ1bGxldFN0eWxlIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHRleHQ6IHN0cmluZztcclxuICBzeW1ib2w6IHN0cmluZztcclxuICBpY29uQ3NzOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IEJVTExFVF9TVFlMRVM6IEJ1bGxldFN0eWxlW10gPSBbXHJcbiAge1xyXG4gICAgaWQ6IFwiZGlzY1wiLFxyXG4gICAgdGV4dDogXCLil48g5a6e5b+D5ZyG54K5XCIsXHJcbiAgICBzeW1ib2w6IFwi4pePXCIsXHJcbiAgICBpY29uQ3NzOiBcImUtaWNvbnMgZS1idWxsZXQtZGlzY1wiLFxyXG4gICAgZGVzY3JpcHRpb246IFwi5qCH5YeG5a6e5b+D5ZyG54K5XCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogXCJjaXJjbGVcIixcclxuICAgIHRleHQ6IFwi4peLIOepuuW/g+WchueCuVwiLFxyXG4gICAgc3ltYm9sOiBcIuKXi1wiLFxyXG4gICAgaWNvbkNzczogXCJlLWljb25zIGUtYnVsbGV0LWNpcmNsZVwiLFxyXG4gICAgZGVzY3JpcHRpb246IFwi56m65b+D5ZyG54K5XCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogXCJzcXVhcmVcIixcclxuICAgIHRleHQ6IFwi4pagIOWunuW/g+aWueWdl1wiLFxyXG4gICAgc3ltYm9sOiBcIuKWoFwiLFxyXG4gICAgaWNvbkNzczogXCJlLWljb25zIGUtYnVsbGV0LXNxdWFyZVwiLFxyXG4gICAgZGVzY3JpcHRpb246IFwi5a6e5b+D5pa55Z2XXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogXCJkaWFtb25kXCIsXHJcbiAgICB0ZXh0OiBcIuKXhiDlrp7lv4Poj7HlvaJcIixcclxuICAgIHN5bWJvbDogXCLil4ZcIixcclxuICAgIGljb25Dc3M6IFwiZS1pY29ucyBlLWJ1bGxldC1kaWFtb25kXCIsXHJcbiAgICBkZXNjcmlwdGlvbjogXCLlrp7lv4Poj7HlvaJcIixcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiBcInRyaWFuZ2xlXCIsXHJcbiAgICB0ZXh0OiBcIuKWuiDlrp7lv4PkuInop5JcIixcclxuICAgIHN5bWJvbDogXCLilrpcIixcclxuICAgIGljb25Dc3M6IFwiZS1pY29ucyBlLWJ1bGxldC10cmlhbmdsZVwiLFxyXG4gICAgZGVzY3JpcHRpb246IFwi5a6e5b+D5LiJ6KeS5b2iXCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogXCJhcnJvd1wiLFxyXG4gICAgdGV4dDogXCLinqQg566t5aS0XCIsXHJcbiAgICBzeW1ib2w6IFwi4p6kXCIsXHJcbiAgICBpY29uQ3NzOiBcImUtaWNvbnMgZS1idWxsZXQtYXJyb3dcIixcclxuICAgIGRlc2NyaXB0aW9uOiBcIueureWktOespuWPt1wiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6IFwic3RhclwiLFxyXG4gICAgdGV4dDogXCLimIUg5pif5b2iXCIsXHJcbiAgICBzeW1ib2w6IFwi4piFXCIsXHJcbiAgICBpY29uQ3NzOiBcImUtaWNvbnMgZS1idWxsZXQtc3RhclwiLFxyXG4gICAgZGVzY3JpcHRpb246IFwi5pif5b2i56ym5Y+3XCIsXHJcbiAgfSxcclxuICB7XHJcbiAgICBpZDogXCJjaGVja1wiLFxyXG4gICAgdGV4dDogXCLinJMg5a+55Yu+XCIsXHJcbiAgICBzeW1ib2w6IFwi4pyTXCIsXHJcbiAgICBpY29uQ3NzOiBcImUtaWNvbnMgZS1idWxsZXQtY2hlY2tcIixcclxuICAgIGRlc2NyaXB0aW9uOiBcIuWvueWLvuespuWPt1wiLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgaWQ6IFwiaGVhcnRcIixcclxuICAgIHRleHQ6IFwi4pmlIOW/g+W9olwiLFxyXG4gICAgc3ltYm9sOiBcIuKZpVwiLFxyXG4gICAgaWNvbkNzczogXCJlLWljb25zIGUtYnVsbGV0LWhlYXJ0XCIsXHJcbiAgICBkZXNjcmlwdGlvbjogXCLlv4PlvaLnrKblj7dcIixcclxuICB9LFxyXG4gIHtcclxuICAgIGlkOiBcImJ1bGxldFwiLFxyXG4gICAgdGV4dDogXCLigKIg5bCP5ZyG54K5XCIsXHJcbiAgICBzeW1ib2w6IFwi4oCiXCIsXHJcbiAgICBpY29uQ3NzOiBcImUtaWNvbnMgZS1idWxsZXQtYnVsbGV0XCIsXHJcbiAgICBkZXNjcmlwdGlvbjogXCLlsI/lnIbngrlcIixcclxuICB9LFxyXG5dO1xyXG5cclxuLy8g6I635Y+W56ym5Y+35qC35byPXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRCdWxsZXRTdHlsZShpZDogc3RyaW5nKTogQnVsbGV0U3R5bGUgfCB1bmRlZmluZWQge1xyXG4gIHJldHVybiBCVUxMRVRfU1RZTEVTLmZpbmQoKHN0eWxlKSA9PiBzdHlsZS5pZCA9PT0gaWQpO1xyXG59XHJcblxyXG4vLyDojrflj5bmiYDmnInnrKblj7fmoLflvI9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbEJ1bGxldFN0eWxlcygpOiBCdWxsZXRTdHlsZVtdIHtcclxuICByZXR1cm4gQlVMTEVUX1NUWUxFUztcclxufVxyXG5cclxuLy8g5bqU55So56ym5Y+35qC35byP5Yiw5YiX6KGoXHJcbmV4cG9ydCBmdW5jdGlvbiBhcHBseUJ1bGxldFN0eWxlKHVsOiBIVE1MRWxlbWVudCwgc3R5bGU6IEJ1bGxldFN0eWxlKTogdm9pZCB7XHJcbiAgaWYgKHN0eWxlLmlkID09PSBcImRpc2NcIiB8fCBzdHlsZS5pZCA9PT0gXCJjaXJjbGVcIiB8fCBzdHlsZS5pZCA9PT0gXCJzcXVhcmVcIikge1xyXG4gICAgLy8g5L2/55SoQ1NTIGxpc3Qtc3R5bGUtdHlwZVxyXG4gICAgdWwuc3R5bGUubGlzdFN0eWxlVHlwZSA9IHN0eWxlLmlkO1xyXG4gICAgLy8g56e76Zmk6Ieq5a6a5LmJ56ym5Y+3XHJcbiAgICB1bC5xdWVyeVNlbGVjdG9yQWxsKFwiLmN1c3RvbS1idWxsZXRcIikuZm9yRWFjaCgoYnVsbGV0KSA9PiBidWxsZXQucmVtb3ZlKCkpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICAvLyDkvb/nlKjoh6rlrprkuYnnrKblj7dcclxuICAgIHVsLnN0eWxlLmxpc3RTdHlsZVR5cGUgPSBcIm5vbmVcIjtcclxuICAgIHVsLnNldEF0dHJpYnV0ZShcImRhdGEtYnVsbGV0LXN0eWxlXCIsIHN0eWxlLmlkKTtcclxuXHJcbiAgICBjb25zdCBsaXN0SXRlbXMgPSB1bC5xdWVyeVNlbGVjdG9yQWxsKFwibGlcIik7XHJcbiAgICBsaXN0SXRlbXMuZm9yRWFjaCgobGkpID0+IHtcclxuICAgICAgLy8g56e76Zmk546w5pyJ55qE6Ieq5a6a5LmJ56ym5Y+3XHJcbiAgICAgIGNvbnN0IGV4aXN0aW5nQnVsbGV0ID0gbGkucXVlcnlTZWxlY3RvcihcIi5jdXN0b20tYnVsbGV0XCIpO1xyXG4gICAgICBpZiAoZXhpc3RpbmdCdWxsZXQpIHtcclxuICAgICAgICBleGlzdGluZ0J1bGxldC5yZW1vdmUoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8g5re75Yqg5paw55qE6Ieq5a6a5LmJ56ym5Y+3XHJcbiAgICAgIGNvbnN0IGJ1bGxldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIpO1xyXG4gICAgICBidWxsZXQuY2xhc3NOYW1lID0gXCJjdXN0b20tYnVsbGV0XCI7XHJcbiAgICAgIGJ1bGxldC50ZXh0Q29udGVudCA9IHN0eWxlLnN5bWJvbDtcclxuICAgICAgYnVsbGV0LnN0eWxlLm1hcmdpblJpZ2h0ID0gXCI4cHhcIjtcclxuICAgICAgYnVsbGV0LnN0eWxlLmNvbG9yID0gXCIjNjY2XCI7XHJcblxyXG4gICAgICAvLyDlsIbnrKblj7fmj5LlhaXliLDliJfooajpobnnmoTlvIDlpLRcclxuICAgICAgbGkuaW5zZXJ0QmVmb3JlKGJ1bGxldCwgbGkuZmlyc3RDaGlsZCk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19