ps-toolkit-ui 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/README.md +24 -0
  2. package/bundles/ps-toolkit-ui.umd.js +7344 -0
  3. package/bundles/ps-toolkit-ui.umd.js.map +1 -0
  4. package/bundles/ps-toolkit-ui.umd.min.js +2 -0
  5. package/bundles/ps-toolkit-ui.umd.min.js.map +1 -0
  6. package/esm2015/lib/classes/enum.class.js +162 -0
  7. package/esm2015/lib/classes/form.class.js +467 -0
  8. package/esm2015/lib/classes/helper.class.js +275 -0
  9. package/esm2015/lib/classes/lang.class.js +32 -0
  10. package/esm2015/lib/classes/login.class.js +22 -0
  11. package/esm2015/lib/classes/modal.class.js +52 -0
  12. package/esm2015/lib/classes/permission.class.js +29 -0
  13. package/esm2015/lib/classes/request.class.js +255 -0
  14. package/esm2015/lib/classes/safestyle.class.js +15 -0
  15. package/esm2015/lib/classes/sidebar.class.js +14 -0
  16. package/esm2015/lib/classes/steps.class.js +20 -0
  17. package/esm2015/lib/classes/string.class.js +203 -0
  18. package/esm2015/lib/classes/table.class.js +278 -0
  19. package/esm2015/lib/components/accordion/accordion.component.js +45 -0
  20. package/esm2015/lib/components/alert/alert.component.js +41 -0
  21. package/esm2015/lib/components/base.component.js +55 -0
  22. package/esm2015/lib/components/confirm/confirm.component.js +50 -0
  23. package/esm2015/lib/components/footer/footer.component.js +23 -0
  24. package/esm2015/lib/components/form/bank-card/form.bank-card.component.js +148 -0
  25. package/esm2015/lib/components/form/button/form.button.component.js +68 -0
  26. package/esm2015/lib/components/form/car/form.car.component.js +84 -0
  27. package/esm2015/lib/components/form/car/search/form.car.search.component.js +173 -0
  28. package/esm2015/lib/components/form/checkbox/form.checkbox.component.js +66 -0
  29. package/esm2015/lib/components/form/date/form.date.component.js +256 -0
  30. package/esm2015/lib/components/form/datetime/form.datetime.component.js +104 -0
  31. package/esm2015/lib/components/form/file/form.file.component.js +133 -0
  32. package/esm2015/lib/components/form/finger/form.finger.component.js +138 -0
  33. package/esm2015/lib/components/form/icon/form.icon.component.js +76 -0
  34. package/esm2015/lib/components/form/index/form.component.js +48 -0
  35. package/esm2015/lib/components/form/label/form.label.component.js +31 -0
  36. package/esm2015/lib/components/form/plaque/form.plaque.component.js +176 -0
  37. package/esm2015/lib/components/form/plaque/select/form.plaque.select.component.js +390 -0
  38. package/esm2015/lib/components/form/radio/form.radio.component.js +79 -0
  39. package/esm2015/lib/components/form/select/form.select.component.js +369 -0
  40. package/esm2015/lib/components/form/select/item/form.select.item.component.js +43 -0
  41. package/esm2015/lib/components/form/table/form.table.component.js +98 -0
  42. package/esm2015/lib/components/form/textarea/form.textarea.component.js +78 -0
  43. package/esm2015/lib/components/form/textbox/form.textbox.component.js +186 -0
  44. package/esm2015/lib/components/form/time/form.time.component.js +145 -0
  45. package/esm2015/lib/components/form/tree/form.tree.component.js +93 -0
  46. package/esm2015/lib/components/form/tree/item/form.tree.item.component.js +48 -0
  47. package/esm2015/lib/components/header/header.component.js +28 -0
  48. package/esm2015/lib/components/header/sub/sub.header.component.js +14 -0
  49. package/esm2015/lib/components/layout/layout.component.js +23 -0
  50. package/esm2015/lib/components/loading/loading.component.js +22 -0
  51. package/esm2015/lib/components/login/login.component.js +145 -0
  52. package/esm2015/lib/components/modal/modal.component.js +25 -0
  53. package/esm2015/lib/components/notfound/notfound.component.js +29 -0
  54. package/esm2015/lib/components/notification/notification.component.js +14 -0
  55. package/esm2015/lib/components/sidebar/item/sidebar.item.component.js +53 -0
  56. package/esm2015/lib/components/sidebar/sidebar.component.js +65 -0
  57. package/esm2015/lib/components/steps/steps.component.js +51 -0
  58. package/esm2015/lib/components/table/loading/table.loading.component.js +17 -0
  59. package/esm2015/lib/components/table/pagination/table.pagination.component.js +84 -0
  60. package/esm2015/lib/components/table/report/table.report.component.js +245 -0
  61. package/esm2015/lib/components/table/row/table.row.component.js +274 -0
  62. package/esm2015/lib/components/table/table.component.js +207 -0
  63. package/esm2015/lib/components/tooltip/tooltip.component.js +19 -0
  64. package/esm2015/lib/ps-toolkit-ui.module.js +89 -0
  65. package/esm2015/lib/services/config.service.js +14 -0
  66. package/esm2015/ps-toolkit-ui.js +16 -0
  67. package/esm2015/public-api.js +52 -0
  68. package/fesm2015/ps-toolkit-ui.js +6277 -0
  69. package/fesm2015/ps-toolkit-ui.js.map +1 -0
  70. package/lib/classes/enum.class.d.ts +137 -0
  71. package/lib/classes/form.class.d.ts +173 -0
  72. package/lib/classes/helper.class.d.ts +26 -0
  73. package/lib/classes/lang.class.d.ts +5 -0
  74. package/lib/classes/login.class.d.ts +17 -0
  75. package/lib/classes/modal.class.d.ts +19 -0
  76. package/lib/classes/permission.class.d.ts +19 -0
  77. package/lib/classes/request.class.d.ts +12 -0
  78. package/lib/classes/safestyle.class.d.ts +7 -0
  79. package/lib/classes/sidebar.class.d.ts +11 -0
  80. package/lib/classes/steps.class.d.ts +17 -0
  81. package/lib/classes/string.class.d.ts +201 -0
  82. package/lib/classes/table.class.d.ts +67 -0
  83. package/lib/components/accordion/accordion.component.d.ts +7 -0
  84. package/lib/components/alert/alert.component.d.ts +10 -0
  85. package/lib/components/base.component.d.ts +12 -0
  86. package/lib/components/confirm/confirm.component.d.ts +14 -0
  87. package/lib/components/footer/footer.component.d.ts +6 -0
  88. package/lib/components/form/bank-card/form.bank-card.component.d.ts +22 -0
  89. package/lib/components/form/button/form.button.component.d.ts +15 -0
  90. package/lib/components/form/car/form.car.component.d.ts +16 -0
  91. package/lib/components/form/car/search/form.car.search.component.d.ts +18 -0
  92. package/lib/components/form/checkbox/form.checkbox.component.d.ts +14 -0
  93. package/lib/components/form/date/form.date.component.d.ts +41 -0
  94. package/lib/components/form/datetime/form.datetime.component.d.ts +13 -0
  95. package/lib/components/form/file/form.file.component.d.ts +17 -0
  96. package/lib/components/form/finger/form.finger.component.d.ts +15 -0
  97. package/lib/components/form/icon/form.icon.component.d.ts +15 -0
  98. package/lib/components/form/index/form.component.d.ts +10 -0
  99. package/lib/components/form/label/form.label.component.d.ts +8 -0
  100. package/lib/components/form/plaque/form.plaque.component.d.ts +22 -0
  101. package/lib/components/form/plaque/select/form.plaque.select.component.d.ts +36 -0
  102. package/lib/components/form/radio/form.radio.component.d.ts +13 -0
  103. package/lib/components/form/select/form.select.component.d.ts +39 -0
  104. package/lib/components/form/select/item/form.select.item.component.d.ts +12 -0
  105. package/lib/components/form/table/form.table.component.d.ts +9 -0
  106. package/lib/components/form/textarea/form.textarea.component.d.ts +13 -0
  107. package/lib/components/form/textbox/form.textbox.component.d.ts +20 -0
  108. package/lib/components/form/time/form.time.component.d.ts +25 -0
  109. package/lib/components/form/tree/form.tree.component.d.ts +16 -0
  110. package/lib/components/form/tree/item/form.tree.item.component.d.ts +17 -0
  111. package/lib/components/header/header.component.d.ts +7 -0
  112. package/lib/components/header/sub/sub.header.component.d.ts +3 -0
  113. package/lib/components/layout/layout.component.d.ts +6 -0
  114. package/lib/components/loading/loading.component.d.ts +5 -0
  115. package/lib/components/login/login.component.d.ts +13 -0
  116. package/lib/components/modal/modal.component.d.ts +9 -0
  117. package/lib/components/notfound/notfound.component.d.ts +7 -0
  118. package/lib/components/notification/notification.component.d.ts +3 -0
  119. package/lib/components/sidebar/item/sidebar.item.component.d.ts +14 -0
  120. package/lib/components/sidebar/sidebar.component.d.ts +18 -0
  121. package/lib/components/steps/steps.component.d.ts +10 -0
  122. package/lib/components/table/loading/table.loading.component.d.ts +5 -0
  123. package/lib/components/table/pagination/table.pagination.component.d.ts +15 -0
  124. package/lib/components/table/report/table.report.component.d.ts +34 -0
  125. package/lib/components/table/row/table.row.component.d.ts +36 -0
  126. package/lib/components/table/table.component.d.ts +39 -0
  127. package/lib/components/tooltip/tooltip.component.d.ts +5 -0
  128. package/lib/ps-toolkit-ui.module.d.ts +4 -0
  129. package/lib/services/config.service.d.ts +6 -0
  130. package/package.json +22 -0
  131. package/ps-toolkit-ui.d.ts +15 -0
  132. package/ps-toolkit-ui.metadata.json +1 -0
  133. package/public-api.d.ts +48 -0
  134. package/src/assets/fonts/Vazir.eot +0 -0
  135. package/src/assets/fonts/Vazir.ttf +0 -0
  136. package/src/assets/fonts/Vazir.woff +0 -0
  137. package/src/assets/fonts/Vazir.woff2 +0 -0
  138. package/src/assets/fonts/VazirBlack.eot +0 -0
  139. package/src/assets/fonts/VazirBlack.ttf +0 -0
  140. package/src/assets/fonts/VazirBlack.woff +0 -0
  141. package/src/assets/fonts/VazirBlack.woff2 +0 -0
  142. package/src/assets/fonts/VazirBold.eot +0 -0
  143. package/src/assets/fonts/VazirBold.ttf +0 -0
  144. package/src/assets/fonts/VazirBold.woff +0 -0
  145. package/src/assets/fonts/VazirBold.woff2 +0 -0
  146. package/src/assets/fonts/VazirLight.eot +0 -0
  147. package/src/assets/fonts/VazirLight.ttf +0 -0
  148. package/src/assets/fonts/VazirLight.woff +0 -0
  149. package/src/assets/fonts/VazirLight.woff2 +0 -0
  150. package/src/assets/fonts/VazirMedium.eot +0 -0
  151. package/src/assets/fonts/VazirMedium.ttf +0 -0
  152. package/src/assets/fonts/VazirMedium.woff +0 -0
  153. package/src/assets/fonts/VazirMedium.woff2 +0 -0
  154. package/src/assets/fonts/VazirThin.eot +0 -0
  155. package/src/assets/fonts/VazirThin.ttf +0 -0
  156. package/src/assets/fonts/VazirThin.woff +0 -0
  157. package/src/assets/fonts/VazirThin.woff2 +0 -0
  158. package/src/assets/images/partsilicon.png +0 -0
  159. package/src/assets/images/plaque.png +0 -0
  160. package/src/assets/images/plaque_m.png +0 -0
  161. package/src/assets/scripts/base.js +26 -0
  162. package/src/assets/styles/base.css +259 -0
@@ -0,0 +1,255 @@
1
+ import { InputError, InputType, Method, ResultStatusEnum } from './enum.class';
2
+ import { HelperClass } from './helper.class';
3
+ import * as $ from 'jquery';
4
+ export class RequestClass {
5
+ constructor(environment = null, l = null) {
6
+ this.environment = environment;
7
+ this.l = l;
8
+ }
9
+ postForm(form, onSubmit = null) {
10
+ if (!form.check()) {
11
+ return;
12
+ }
13
+ if (form.onBeforeSubmit && !form.onBeforeSubmit()) {
14
+ return;
15
+ }
16
+ const btns = form.inputs.filter(x => x.type === InputType.Submit);
17
+ for (const btn of btns) {
18
+ if (btn.loading) {
19
+ return;
20
+ }
21
+ btn.loading = true;
22
+ }
23
+ if (onSubmit) {
24
+ for (const btn of btns) {
25
+ btn.loading = false;
26
+ }
27
+ onSubmit(form.data());
28
+ return;
29
+ }
30
+ this.getClient(form.url, form.method, form.data(), (res) => {
31
+ if (res.status === ResultStatusEnum.Success) {
32
+ if (form.onSuccess) {
33
+ form.onSuccess(res.result);
34
+ }
35
+ if (form.onSuccessBase) {
36
+ form.onSuccessBase(res.result);
37
+ }
38
+ }
39
+ else {
40
+ let m = '';
41
+ if (res.status === ResultStatusEnum.Unauthorized) {
42
+ m = 'FormBaseErrorExpired';
43
+ }
44
+ else if (res.status === ResultStatusEnum.NotAccess) {
45
+ m = 'FormBaseErrorPermission';
46
+ }
47
+ else {
48
+ if (typeof res.message === 'string') {
49
+ m = res.message;
50
+ }
51
+ else {
52
+ // tslint:disable-next-line:forin
53
+ for (const msg in res.message) {
54
+ // noinspection JSUnfilteredForInLoop
55
+ m = form.l(msg, res.message[msg]);
56
+ }
57
+ }
58
+ let f = false;
59
+ if (res.result != null) {
60
+ // tslint:disable-next-line:forin
61
+ for (const err in res.result) {
62
+ // noinspection JSUnfilteredForInLoop
63
+ const i = form.inputs.find(x => x.name === err);
64
+ if (i) {
65
+ // noinspection JSUnfilteredForInLoop
66
+ i.error = InputError[InputError[res.result[err]]];
67
+ if (!f) {
68
+ i.focus();
69
+ f = true;
70
+ }
71
+ }
72
+ }
73
+ }
74
+ }
75
+ if (m) {
76
+ HelperClass.addNotification(form.l(m));
77
+ }
78
+ if (form.onFailed) {
79
+ form.onFailed(res.message);
80
+ }
81
+ }
82
+ for (const btn of btns) {
83
+ btn.loading = false;
84
+ }
85
+ }, (res) => {
86
+ HelperClass.addNotification(form.l('Error'));
87
+ if (form.onFailed) {
88
+ form.onFailed('Error');
89
+ }
90
+ for (const btn of btns) {
91
+ btn.loading = false;
92
+ }
93
+ });
94
+ }
95
+ table(table, btn = null) {
96
+ if (table.searchForm && !table.searchForm.check()) {
97
+ return;
98
+ }
99
+ table.loading = true;
100
+ if (btn) {
101
+ if (btn.loading) {
102
+ return;
103
+ }
104
+ btn.loading = true;
105
+ }
106
+ this.getClient(table.getUrl(), table.method, table.searchData(), (res) => {
107
+ if (res.status === ResultStatusEnum.Success) {
108
+ table.rows = res.result.List;
109
+ table.count = res.result.Count;
110
+ if (table.onLoad) {
111
+ table.onLoad();
112
+ }
113
+ if (btn) {
114
+ btn.loading = false;
115
+ }
116
+ table.loading = false;
117
+ }
118
+ else {
119
+ let m = '';
120
+ if (res.status === ResultStatusEnum.Unauthorized) {
121
+ m = 'FormBaseErrorExpired';
122
+ }
123
+ else if (res.status === ResultStatusEnum.NotAccess) {
124
+ m = 'FormBaseErrorPermission';
125
+ }
126
+ else {
127
+ if (typeof res.message === 'string') {
128
+ m = res.message;
129
+ }
130
+ else {
131
+ // tslint:disable-next-line:forin
132
+ for (const msg in res.message) {
133
+ // noinspection JSUnfilteredForInLoop
134
+ m = table.l(msg, res.message[msg]);
135
+ }
136
+ }
137
+ }
138
+ if (m) {
139
+ HelperClass.addNotification(table.l(m));
140
+ }
141
+ table.rows = [];
142
+ table.count = 0;
143
+ table.page = 1;
144
+ if (btn) {
145
+ btn.loading = false;
146
+ }
147
+ table.loading = false;
148
+ }
149
+ }, (res) => {
150
+ table.rows = [];
151
+ table.count = 0;
152
+ table.page = 1;
153
+ if (btn) {
154
+ btn.loading = false;
155
+ }
156
+ table.loading = false;
157
+ });
158
+ }
159
+ send(url, method, data, btn = null, success = null, failure = null) {
160
+ if (btn) {
161
+ if (btn.loading) {
162
+ return;
163
+ }
164
+ btn.loading = true;
165
+ }
166
+ if (data === null) {
167
+ data = new FormData();
168
+ }
169
+ this.getClient(url, method, data, (res) => {
170
+ if (res.status === ResultStatusEnum.Success) {
171
+ if (success) {
172
+ success(res.result);
173
+ }
174
+ if (btn) {
175
+ btn.loading = false;
176
+ }
177
+ }
178
+ else {
179
+ let m = '';
180
+ if (res.status === ResultStatusEnum.Unauthorized) {
181
+ m = 'FormBaseErrorExpired';
182
+ }
183
+ else if (res.status === ResultStatusEnum.NotAccess) {
184
+ m = 'FormBaseErrorPermission';
185
+ }
186
+ else {
187
+ if (typeof res.message === 'string') {
188
+ m = res.message;
189
+ }
190
+ else {
191
+ // tslint:disable-next-line:forin
192
+ for (const msg in res.message) {
193
+ // noinspection JSUnfilteredForInLoop
194
+ m = this.l(msg, res.message[msg]);
195
+ }
196
+ }
197
+ }
198
+ if (m) {
199
+ HelperClass.addNotification(this.l(m));
200
+ }
201
+ if (failure) {
202
+ failure(res.message);
203
+ }
204
+ if (btn) {
205
+ btn.loading = false;
206
+ }
207
+ }
208
+ }, (res) => {
209
+ if (failure) {
210
+ failure('Error');
211
+ }
212
+ if (btn) {
213
+ btn.loading = false;
214
+ }
215
+ });
216
+ }
217
+ getClient(url, method, data, done, fail) {
218
+ const token = HelperClass.getCookie('Authorization');
219
+ let settings;
220
+ if (data instanceof FormData) {
221
+ settings = {
222
+ url: this.environment.apiUrl + url,
223
+ method: Method[method].toString(),
224
+ processData: false,
225
+ contentType: false,
226
+ data,
227
+ headers: token == null ? {} : { Authorization: token }
228
+ };
229
+ }
230
+ else {
231
+ settings = {
232
+ url: this.environment.apiUrl + url,
233
+ method: Method[method].toString(),
234
+ dataType: 'json',
235
+ contentType: 'application/json; charset=utf-8',
236
+ data: data !== null && data !== {} ? JSON.stringify(data) : null,
237
+ headers: token == null ? {} : { Authorization: token, Accept: 'application/json' }
238
+ };
239
+ }
240
+ const request = $.ajax(settings);
241
+ request.done((response) => {
242
+ if (!this.environment.production) {
243
+ console.log('%c' + Method[method].toString() + ' : ' + url, 'background: #2f6054; color: white', response);
244
+ }
245
+ done(response);
246
+ });
247
+ request.fail((response) => {
248
+ if (!this.environment.production) {
249
+ console.log('%c' + Method[method].toString() + ' : ' + url, 'background: #8c413a; color: white', response);
250
+ }
251
+ fail(response);
252
+ });
253
+ }
254
+ }
255
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJEOi9Qcm9qZWN0cy9Qc1Rvb2xraXQvVUkvcHJvamVjdHMvcHMtdG9vbGtpdC11aS9zcmMvIiwic291cmNlcyI6WyJsaWIvY2xhc3Nlcy9yZXF1ZXN0LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUU3RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBbUIsY0FBYyxJQUFJLEVBQVMsSUFBdUIsSUFBSTtRQUF0RCxnQkFBVyxHQUFYLFdBQVcsQ0FBTztRQUFTLE1BQUMsR0FBRCxDQUFDLENBQTBCO0lBQ3pFLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBZSxFQUFFLFFBQVEsR0FBRyxJQUFJO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDakIsT0FBTztTQUNSO1FBQ0QsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFDO1lBQ2hELE9BQU87U0FDUjtRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEUsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUM7WUFDckIsSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFDO2dCQUNkLE9BQU87YUFDUjtZQUNELEdBQUcsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ3BCO1FBQ0QsSUFBSSxRQUFRLEVBQUM7WUFDWCxLQUFLLE1BQU0sR0FBRyxJ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SSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxLQUFLLEdBQUcsR0FBRyxFQUFFLG1DQUFtQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQzVHO1lBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBQztnQkFDL0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLEtBQUssR0FBRyxHQUFHLEVBQUUsbUNBQW1DLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDNUc7WUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Zvcm1DbGFzcywgSW5wdXRDbGFzc30gZnJvbSAnLi9mb3JtLmNsYXNzJztcclxuaW1wb3J0IHtJbnB1dEVycm9yLCBJbnB1dFR5cGUsIE1ldGhvZCwgUmVzdWx0U3RhdHVzRW51bX0gZnJvbSAnLi9lbnVtLmNsYXNzJztcclxuaW1wb3J0IHtUYWJsZUNsYXNzfSBmcm9tICcuL3RhYmxlLmNsYXNzJztcclxuaW1wb3J0IHtIZWxwZXJDbGFzc30gZnJvbSAnLi9oZWxwZXIuY2xhc3MnO1xyXG5pbXBvcnQgKiBhcyAkIGZyb20gJ2pxdWVyeSc7XHJcblxyXG5leHBvcnQgY2xhc3MgUmVxdWVzdENsYXNzIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZW52aXJvbm1lbnQgPSBudWxsLCBwdWJsaWMgbDogKGssIHY/KSA9PiBzdHJpbmcgPSBudWxsKSB7XHJcbiAgfVxyXG5cclxuICBwb3N0Rm9ybShmb3JtOiBGb3JtQ2xhc3MsIG9uU3VibWl0ID0gbnVsbCk6IHZvaWQge1xyXG4gICAgaWYgKCFmb3JtLmNoZWNrKCkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKGZvcm0ub25CZWZvcmVTdWJtaXQgJiYgIWZvcm0ub25CZWZvcmVTdWJtaXQoKSl7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGJ0bnMgPSBmb3JtLmlucHV0cy5maWx0ZXIoeCA9PiB4LnR5cGUgPT09IElucHV0VHlwZS5TdWJtaXQpO1xyXG4gICAgZm9yIChjb25zdCBidG4gb2YgYnRucyl7XHJcbiAgICAgIGlmIChidG4ubG9hZGluZyl7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGJ0bi5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIGlmIChvblN1Ym1pdCl7XHJcbiAgICAgIGZvciAoY29uc3QgYnRuIG9mIGJ0bnMpe1xyXG4gICAgICAgIGJ0bi5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgb25TdWJtaXQoZm9ybS5kYXRhKCkpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldENsaWVudChmb3JtLnVybCwgZm9ybS5tZXRob2QsIGZvcm0uZGF0YSgpLFxyXG4gICAgICAocmVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcy5zdGF0dXMgPT09IFJlc3VsdFN0YXR1c0VudW0uU3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKGZvcm0ub25TdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIGZvcm0ub25TdWNjZXNzKHJlcy5yZXN1bHQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGZvcm0ub25TdWNjZXNzQmFzZSkge1xyXG4gICAgICAgICAgICBmb3JtLm9uU3VjY2Vzc0Jhc2UocmVzLnJlc3VsdCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGxldCBtID0gJyc7XHJcbiAgICAgICAgICBpZiAocmVzLnN0YXR1cyA9PT0gUmVzdWx0U3RhdHVzRW51bS5VbmF1dGhvcml6ZWQpIHtcclxuICAgICAgICAgICAgbSA9ICdGb3JtQmFzZUVycm9yRXhwaXJlZCc7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHJlcy5zdGF0dXMgPT09IFJlc3VsdFN0YXR1c0VudW0uTm90QWNjZXNzKSB7XHJcbiAgICAgICAgICAgIG0gPSAnRm9ybUJhc2VFcnJvclBlcm1pc3Npb24nO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiByZXMubWVzc2FnZSA9PT0gJ3N0cmluZycpe1xyXG4gICAgICAgICAgICAgIG0gPSByZXMubWVzc2FnZTtcclxuICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmZvcmluXHJcbiAgICAgICAgICAgICAgZm9yIChjb25zdCBtc2cgaW4gcmVzLm1lc3NhZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vIG5vaW5zcGVjdGlvbiBKU1VuZmlsdGVyZWRGb3JJbkxvb3BcclxuICAgICAgICAgICAgICAgIG0gPSBmb3JtLmwobXNnLCByZXMubWVzc2FnZVttc2ddKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGYgPSBmYWxzZTtcclxuICAgICAgICAgICAgaWYgKHJlcy5yZXN1bHQgIT0gbnVsbCl7XHJcbiAgICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmZvcmluXHJcbiAgICAgICAgICAgICAgZm9yIChjb25zdCBlcnIgaW4gcmVzLnJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgLy8gbm9pbnNwZWN0aW9uIEpTVW5maWx0ZXJlZEZvckluTG9vcFxyXG4gICAgICAgICAgICAgICAgY29uc3QgaSA9IGZvcm0uaW5wdXRzLmZpbmQoeCA9PiB4Lm5hbWUgPT09IGVycik7XHJcbiAgICAgICAgICAgICAgICBpZiAoaSl7XHJcbiAgICAgICAgICAgICAgICAgIC8vIG5vaW5zcGVjdGlvbiBKU1VuZmlsdGVyZWRGb3JJbkxvb3BcclxuICAgICAgICAgICAgICAgICAgaS5lcnJvciA9IElucHV0RXJyb3JbSW5wdXRFcnJvcltyZXMucmVzdWx0W2Vycl1dXTtcclxuICAgICAgICAgICAgICAgICAgaWYgKCFmKXtcclxuICAgICAgICAgICAgICAgICAgICBpLmZvY3VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChtKSB7XHJcbiAgICAgICAgICAgIEhlbHBlckNsYXNzLmFkZE5vdGlmaWNhdGlvbihmb3JtLmwobSkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGZvcm0ub25GYWlsZWQpIHtcclxuICAgICAgICAgICAgZm9ybS5vbkZhaWxlZChyZXMubWVzc2FnZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvciAoY29uc3QgYnRuIG9mIGJ0bnMpe1xyXG4gICAgICAgICAgYnRuLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIChyZXMpID0+IHtcclxuICAgICAgICBIZWxwZXJDbGFzcy5hZGROb3RpZmljYXRpb24oZm9ybS5sKCdFcnJvcicpKTtcclxuICAgICAgICBpZiAoZm9ybS5vbkZhaWxlZCkge1xyXG4gICAgICAgICAgZm9ybS5vbkZhaWxlZCgnRXJyb3InKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9yIChjb25zdCBidG4gb2YgYnRucyl7XHJcbiAgICAgICAgICBidG4ubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHRhYmxlKHRhYmxlOiBUYWJsZUNsYXNzLCBidG46IElucHV0Q2xhc3MgPSBudWxsKTogdm9pZCB7XHJcbiAgICBpZiAodGFibGUuc2VhcmNoRm9ybSAmJiAhdGFibGUuc2VhcmNoRm9ybS5jaGVjaygpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRhYmxlLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgaWYgKGJ0bil7XHJcbiAgICAgIGlmIChidG4ubG9hZGluZyl7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGJ0bi5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0Q2xpZW50KHRhYmxlLmdldFVybCgpLCB0YWJsZS5tZXRob2QsIHRhYmxlLnNlYXJjaERhdGEoKSxcclxuICAgICAgKHJlcykgPT4ge1xyXG4gICAgICAgIGlmIChyZXMuc3RhdHVzID09PSBSZXN1bHRTdGF0dXNFbnVtLlN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHRhYmxlLnJvd3MgPSByZXMucmVzdWx0Lkxpc3Q7XHJcbiAgICAgICAgICB0YWJsZS5jb3VudCA9IHJlcy5yZXN1bHQuQ291bnQ7XHJcbiAgICAgICAgICBpZiAodGFibGUub25Mb2FkKXtcclxuICAgICAgICAgICAgdGFibGUub25Mb2FkKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoYnRuKXtcclxuICAgICAgICAgICAgYnRuLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRhYmxlLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgbGV0IG0gPSAnJztcclxuICAgICAgICAgIGlmIChyZXMuc3RhdHVzID09PSBSZXN1bHRTdGF0dXNFbnVtLlVuYXV0aG9yaXplZCkge1xyXG4gICAgICAgICAgICBtID0gJ0Zvcm1CYXNlRXJyb3JFeHBpcmVkJztcclxuICAgICAgICAgIH0gZWxzZSBpZiAocmVzLnN0YXR1cyA9PT0gUmVzdWx0U3RhdHVzRW51bS5Ob3RBY2Nlc3MpIHtcclxuICAgICAgICAgICAgbSA9ICdGb3JtQmFzZUVycm9yUGVybWlzc2lvbic7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mIHJlcy5tZXNzYWdlID09PSAnc3RyaW5nJyl7XHJcbiAgICAgICAgICAgICAgbSA9IHJlcy5tZXNzYWdlO1xyXG4gICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Zm9yaW5cclxuICAgICAgICAgICAgICBmb3IgKGNvbnN0IG1zZyBpbiByZXMubWVzc2FnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gbm9pbnNwZWN0aW9uIEpTVW5maWx0ZXJlZEZvckluTG9vcFxyXG4gICAgICAgICAgICAgICAgbSA9IHRhYmxlLmwobXNnLCByZXMubWVzc2FnZVttc2ddKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChtKSB7XHJcbiAgICAgICAgICAgIEhlbHBlckNsYXNzLmFkZE5vdGlmaWNhdGlvbih0YWJsZS5sKG0pKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRhYmxlLnJvd3MgPSBbXTtcclxuICAgICAgICAgIHRhYmxlLmNvdW50ID0gMDtcclxuICAgICAgICAgIHRhYmxlLnBhZ2UgPSAxO1xyXG4gICAgICAgICAgaWYgKGJ0bil7XHJcbiAgICAgICAgICAgIGJ0bi5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0YWJsZS5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICAocmVzKSA9PiB7XHJcbiAgICAgICAgdGFibGUucm93cyA9IFtdO1xyXG4gICAgICAgIHRhYmxlLmNvdW50ID0gMDtcclxuICAgICAgICB0YWJsZS5wYWdlID0gMTtcclxuICAgICAgICBpZiAoYnRuKXtcclxuICAgICAgICAgIGJ0bi5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRhYmxlLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcbiAgc2VuZCh1cmw6IHN0cmluZywgbWV0aG9kOiBNZXRob2QsIGRhdGE6IGFueSwgYnRuOiBJbnB1dENsYXNzID0gbnVsbCwgc3VjY2VzczogKHJlc3VsdCkgPT4gdm9pZCA9IG51bGwsXHJcbiAgICAgICBmYWlsdXJlOiAobWVzc2FnZSkgPT4gdm9pZCA9IG51bGwpOiB2b2lkIHtcclxuICAgIGlmIChidG4pe1xyXG4gICAgICBpZiAoYnRuLmxvYWRpbmcpe1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBidG4ubG9hZGluZyA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBpZiAoZGF0YSA9PT0gbnVsbCl7XHJcbiAgICAgIGRhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0Q2xpZW50KHVybCwgbWV0aG9kLCBkYXRhLFxyXG4gICAgICAocmVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcy5zdGF0dXMgPT09IFJlc3VsdFN0YXR1c0VudW0uU3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgc3VjY2VzcyhyZXMucmVzdWx0KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChidG4pe1xyXG4gICAgICAgICAgICBidG4ubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsZXQgbSA9ICcnO1xyXG4gICAgICAgICAgaWYgKHJlcy5zdGF0dXMgPT09IFJlc3VsdFN0YXR1c0VudW0uVW5hdXRob3JpemVkKSB7XHJcbiAgICAgICAgICAgIG0gPSAnRm9ybUJhc2VFcnJvckV4cGlyZWQnO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChyZXMuc3RhdHVzID09PSBSZXN1bHRTdGF0dXNFbnVtLk5vdEFjY2Vzcykge1xyXG4gICAgICAgICAgICBtID0gJ0Zvcm1CYXNlRXJyb3JQZXJtaXNzaW9uJztcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgcmVzLm1lc3NhZ2UgPT09ICdzdHJpbmcnKXtcclxuICAgICAgICAgICAgICBtID0gcmVzLm1lc3NhZ2U7XHJcbiAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpmb3JpblxyXG4gICAgICAgICAgICAgIGZvciAoY29uc3QgbXNnIGluIHJlcy5tZXNzYWdlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBub2luc3BlY3Rpb24gSlNVbmZpbHRlcmVkRm9ySW5Mb29wXHJcbiAgICAgICAgICAgICAgICBtID0gdGhpcy5sKG1zZywgcmVzLm1lc3NhZ2VbbXNnXSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAobSkge1xyXG4gICAgICAgICAgICBIZWxwZXJDbGFzcy5hZGROb3RpZmljYXRpb24odGhpcy5sKG0pKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChmYWlsdXJlKSB7XHJcbiAgICAgICAgICAgIGZhaWx1cmUocmVzLm1lc3NhZ2UpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGJ0bil7XHJcbiAgICAgICAgICAgIGJ0bi5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICAocmVzKSA9PiB7XHJcbiAgICAgICAgaWYgKGZhaWx1cmUpIHtcclxuICAgICAgICAgIGZhaWx1cmUoJ0Vycm9yJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChidG4pe1xyXG4gICAgICAgICAgYnRuLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG4gIGdldENsaWVudCh1cmw6IHN0cmluZywgbWV0aG9kOiBNZXRob2QsIGRhdGE6IGFueSwgZG9uZSwgZmFpbCk6IHZvaWR7XHJcbiAgICBjb25zdCB0b2tlbiA9IEhlbHBlckNsYXNzLmdldENvb2tpZSgnQXV0aG9yaXphdGlvbicpO1xyXG4gICAgbGV0IHNldHRpbmdzO1xyXG4gICAgaWYgKGRhdGEgaW5zdGFuY2VvZiBGb3JtRGF0YSl7XHJcbiAgICAgIHNldHRpbmdzID0ge1xyXG4gICAgICAgIHVybDogdGhpcy5lbnZpcm9ubWVudC5hcGlVcmwgKyB1cmwsXHJcbiAgICAgICAgbWV0aG9kOiBNZXRob2RbbWV0aG9kXS50b1N0cmluZygpLFxyXG4gICAgICAgIHByb2Nlc3NEYXRhOiBmYWxzZSxcclxuICAgICAgICBjb250ZW50VHlwZTogZmFsc2UsXHJcbiAgICAgICAgZGF0YSxcclxuICAgICAgICBoZWFkZXJzOiB0b2tlbiA9PSBudWxsID8ge30gOiB7IEF1dGhvcml6YXRpb246IHRva2VuIH1cclxuICAgICAgfTtcclxuICAgIH1lbHNle1xyXG4gICAgICBzZXR0aW5ncyA9IHtcclxuICAgICAgICB1cmw6IHRoaXMuZW52aXJvbm1lbnQuYXBpVXJsICsgdXJsLFxyXG4gICAgICAgIG1ldGhvZDogTWV0aG9kW21ldGhvZF0udG9TdHJpbmcoKSxcclxuICAgICAgICBkYXRhVHlwZTogJ2pzb24nLFxyXG4gICAgICAgIGNvbnRlbnRUeXBlOiAnYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOCcsXHJcbiAgICAgICAgZGF0YTogZGF0YSAhPT0gbnVsbCAmJiBkYXRhICE9PSB7fSA/IEpTT04uc3RyaW5naWZ5KGRhdGEpIDogbnVsbCxcclxuICAgICAgICBoZWFkZXJzOiB0b2tlbiA9PSBudWxsID8ge30gOiB7IEF1dGhvcml6YXRpb246IHRva2VuLCBBY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJyB9XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBjb25zdCByZXF1ZXN0ID0gJC5hamF4KHNldHRpbmdzKTtcclxuICAgIHJlcXVlc3QuZG9uZSgocmVzcG9uc2UpID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmVudmlyb25tZW50LnByb2R1Y3Rpb24pe1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCclYycgKyBNZXRob2RbbWV0aG9kXS50b1N0cmluZygpICsgJyA6ICcgKyB1cmwsICdiYWNrZ3JvdW5kOiAjMmY2MDU0OyBjb2xvcjogd2hpdGUnLCByZXNwb25zZSk7XHJcbiAgICAgIH1cclxuICAgICAgZG9uZShyZXNwb25zZSk7XHJcbiAgICB9KTtcclxuICAgIHJlcXVlc3QuZmFpbCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmVudmlyb25tZW50LnByb2R1Y3Rpb24pe1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCclYycgKyBNZXRob2RbbWV0aG9kXS50b1N0cmluZygpICsgJyA6ICcgKyB1cmwsICdiYWNrZ3JvdW5kOiAjOGM0MTNhOyBjb2xvcjogd2hpdGUnLCByZXNwb25zZSk7XHJcbiAgICAgIH1cclxuICAgICAgZmFpbChyZXNwb25zZSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,15 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { DomSanitizer } from '@angular/platform-browser';
3
+ export class SafeStylePipe {
4
+ constructor(sanitizer) {
5
+ this.sanitizer = sanitizer;
6
+ }
7
+ transform(value) { return this.sanitizer.bypassSecurityTrustStyle(value); }
8
+ }
9
+ SafeStylePipe.decorators = [
10
+ { type: Pipe, args: [{ name: 'safeStyle' },] }
11
+ ];
12
+ SafeStylePipe.ctorParameters = () => [
13
+ { type: DomSanitizer }
14
+ ];
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZXN0eWxlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jbGFzc2VzL3NhZmVzdHlsZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFMUIsTUFBTSxPQUFPLGFBQWE7SUFBNEIsWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztJQUFJLENBQUM7SUFBQyxTQUFTLENBQUMsS0FBSyxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7OztZQUE5TSxJQUFJLFNBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFOzs7WUFGbkIsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7RG9tU2FuaXRpemVyfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbkBQaXBlKHsgbmFtZTogJ3NhZmVTdHlsZScgfSkgZXhwb3J0IGNsYXNzIFNhZmVTdHlsZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHsgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikgeyB9IHRyYW5zZm9ybSh2YWx1ZSkgeyByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKHZhbHVlKTsgfSB9XHJcbiJdfQ==
@@ -0,0 +1,14 @@
1
+ export class SidebarClass {
2
+ constructor(l, name, controller, action, icon, children = [], count = 0) {
3
+ this.count = 0;
4
+ this.active = false;
5
+ this.l = l;
6
+ this.controller = controller;
7
+ this.action = action;
8
+ this.name = name;
9
+ this.icon = icon;
10
+ this.count = count;
11
+ this.children = children;
12
+ }
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJEOi9Qcm9qZWN0cy9Qc1Rvb2xraXQvVUkvcHJvamVjdHMvcHMtdG9vbGtpdC11aS9zcmMvIiwic291cmNlcyI6WyJsaWIvY2xhc3Nlcy9zaWRlYmFyLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQVksQ0FBb0IsRUFBRSxJQUFZLEVBQUUsVUFBa0IsRUFBRSxNQUFjLEVBQUUsSUFBWSxFQUFFLFdBQTJCLEVBQUUsRUFDbkgsS0FBSyxHQUFHLENBQUM7UUFjckIsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUVWLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFmYixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7Q0FTRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBTaWRlYmFyQ2xhc3Mge1xyXG4gIGNvbnN0cnVjdG9yKGw6IChrLCB2PykgPT4gc3RyaW5nLCBuYW1lOiBzdHJpbmcsIGNvbnRyb2xsZXI6IHN0cmluZywgYWN0aW9uOiBzdHJpbmcsIGljb246IHN0cmluZywgY2hpbGRyZW46IFNpZGViYXJDbGFzc1tdID0gW10sXHJcbiAgICAgICAgICAgICAgY291bnQgPSAwKSB7XHJcbiAgICB0aGlzLmwgPSBsO1xyXG4gICAgdGhpcy5jb250cm9sbGVyID0gY29udHJvbGxlcjtcclxuICAgIHRoaXMuYWN0aW9uID0gYWN0aW9uO1xyXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgIHRoaXMuaWNvbiA9IGljb247XHJcbiAgICB0aGlzLmNvdW50ID0gY291bnQ7XHJcbiAgICB0aGlzLmNoaWxkcmVuID0gY2hpbGRyZW47XHJcbiAgfVxyXG4gIGw6IChrLCB2PykgPT4gc3RyaW5nO1xyXG4gIGNvbnRyb2xsZXI6IHN0cmluZztcclxuICBhY3Rpb246IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgaWNvbjogc3RyaW5nO1xyXG4gIGNvdW50ID0gMDtcclxuICBjaGlsZHJlbjogU2lkZWJhckNsYXNzW107XHJcbiAgYWN0aXZlID0gZmFsc2U7XHJcbn1cclxuIl19
@@ -0,0 +1,20 @@
1
+ export class StepsClass {
2
+ constructor(l) {
3
+ this.items = [];
4
+ this.activeAll = false;
5
+ this.l = l;
6
+ }
7
+ }
8
+ export class StepsItemClass {
9
+ constructor(name, icon, url = null, active = false) {
10
+ this.name = name;
11
+ this.icon = icon;
12
+ this.url = url;
13
+ this.active = active;
14
+ this.description = null;
15
+ this.onClick = null;
16
+ this.onDelete = null;
17
+ this.title = name;
18
+ }
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHMuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiRDovUHJvamVjdHMvUHNUb29sa2l0L1VJL3Byb2plY3RzL3BzLXRvb2xraXQtdWkvc3JjLyIsInNvdXJjZXMiOlsibGliL2NsYXNzZXMvc3RlcHMuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFVBQVU7SUFDckIsWUFBWSxDQUFvQjtRQUloQyxVQUFLLEdBQXFCLEVBQUUsQ0FBQztRQUM3QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBSmhCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsQ0FBQztDQUlGO0FBQ0QsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBbUIsSUFBWSxFQUFTLElBQVksRUFBUyxNQUFjLElBQUksRUFBUyxTQUFrQixLQUFLO1FBQTVGLFNBQUksR0FBSixJQUFJLENBQVE7UUFBUyxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQVMsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBSS9HLGdCQUFXLEdBQVcsSUFBSSxDQUFDO1FBQzNCLFlBQU8sR0FBbUIsSUFBSSxDQUFDO1FBQy9CLGFBQVEsR0FBbUIsSUFBSSxDQUFDO1FBTDlCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7Q0FLRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Rm9ybUNsYXNzfSBmcm9tICcuL2Zvcm0uY2xhc3MnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFN0ZXBzQ2xhc3Mge1xyXG4gIGNvbnN0cnVjdG9yKGw6IChrLCB2PykgPT4gc3RyaW5nKSB7XHJcbiAgICB0aGlzLmwgPSBsO1xyXG4gIH1cclxuICBsOiAoaywgdj8pID0+IHN0cmluZztcclxuICBpdGVtczogU3RlcHNJdGVtQ2xhc3NbXSA9IFtdO1xyXG4gIGFjdGl2ZUFsbCA9IGZhbHNlO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBTdGVwc0l0ZW1DbGFzcyB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIG5hbWU6IHN0cmluZywgcHVibGljIGljb246IHN0cmluZywgcHVibGljIHVybDogc3RyaW5nID0gbnVsbCwgcHVibGljIGFjdGl2ZTogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLnRpdGxlID0gbmFtZTtcclxuICB9XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nID0gbnVsbDtcclxuICBvbkNsaWNrOiAoaXRlbSkgPT4gdm9pZCA9IG51bGw7XHJcbiAgb25EZWxldGU6IChpdGVtKSA9PiB2b2lkID0gbnVsbDtcclxufVxyXG4iXX0=
@@ -0,0 +1,203 @@
1
+ export const strings = {
2
+ fa: {
3
+ Public: {
4
+ Header: {
5
+ Logout: 'خروج'
6
+ },
7
+ Login: {
8
+ ReSendCodeDes: '(ارسال مجدد)',
9
+ Code: 'کد تایید',
10
+ Base: 'نام سایت',
11
+ BaseDesc: 'توضیحات سایت',
12
+ SendCode: 'ورود',
13
+ SendCodeSubTitle: 'برای ورود شماره همراه خود را وارد کنید',
14
+ LoginSms: 'تایید شماره همراه',
15
+ LoginSmsSubTitle: 'کد ارسال شده به شماره همراه {} را وارد کنید',
16
+ LoginPassword: 'ورود',
17
+ LoginPasswordSubTitle: 'برای ورود نام کاربری و کلمه عبور خود را وارد کنید',
18
+ Register: 'ثبت کد تایید نرم افزار',
19
+ DeviceId: 'کد نرم افزار: {}',
20
+ Copy: 'کپی',
21
+ },
22
+ Footer: {
23
+ Copyright: 'تمامی حقوق این وبسایت برای پارت سیلیکون محفوظ است.',
24
+ CreatorDesc: 'طراحی و توسعه',
25
+ CreatorCom: 'پارت سیلیکون'
26
+ },
27
+ App: {
28
+ Notfound: 'صفحه مورد نظر یافت نشد',
29
+ },
30
+ Notfound: {
31
+ Text: 'متاسفانه صفحه مورد نظر شما یافت نشد',
32
+ Back: 'بازگشت'
33
+ },
34
+ Version: 'نسخه {}',
35
+ Download: 'دریافت فایل',
36
+ IranCode: 'ایران کد',
37
+ TrackingCode: 'کد رهگیری',
38
+ Plaque: 'پلاک',
39
+ DriverName: 'نام راننده',
40
+ Name: 'نام',
41
+ Title: 'عنوان',
42
+ Text: 'متن',
43
+ Date: 'تاریخ',
44
+ Time: 'زمان',
45
+ Row: 'ردیف',
46
+ LoginTitle: 'ورود',
47
+ SendCode: 'ارسال کد',
48
+ Username: 'نام کاربری',
49
+ GetReport: 'چاپ',
50
+ Count: 'تعداد',
51
+ Choose: 'انتخاب',
52
+ Payable: 'مبلغ قابل پرداخت : {} ریال</br><span class="f-s-20">تایید و انتقال به درگاه پرداخت</span>',
53
+ PayableLoading: '<span class="l-h-60">تایید و انتقال به درگاه پرداخت</span>',
54
+ Processing: 'پردازش',
55
+ PDate: 'تاریخ',
56
+ SeeMore: 'نمایش بیشتر ...',
57
+ Alert: 'هشدار',
58
+ AccessDenied: 'عدم دسترسی',
59
+ Image: 'تصویر',
60
+ Grade: 'پایه تحصیلی',
61
+ Desc: 'توضیحات',
62
+ Admin: 'ادمین',
63
+ Print: 'گزارش',
64
+ Password: 'کلمه عبور',
65
+ RePassword: 'تکرار کلمه عبور',
66
+ PassportLetter: 'حرف',
67
+ Passport: 'گذرنامه',
68
+ Priority: 'اولویت',
69
+ PassportImage: 'تصویر گذرنامه',
70
+ PassportExpireDate: 'تاریخ انقضاء گذرنامه',
71
+ PassportPlace: 'محل صدور گذرنامه',
72
+ NationalCode: 'کدملی',
73
+ LicenseNum: 'شماره گواهی نامه',
74
+ BankCard: 'شماره کارت بانکی',
75
+ VehicleType: 'نوع وسیله نقلیه',
76
+ Gender: 'جنسیت',
77
+ Male: 'مرد',
78
+ FeMale: 'زن',
79
+ Accept: 'تایید',
80
+ Insert: 'افزودن',
81
+ Update: 'ویرایش',
82
+ Delete: 'حذف',
83
+ Subset: 'زیرمجموعه',
84
+ Other: 'سایر',
85
+ Rial: 'ریال',
86
+ ChooseMonth: 'انتخاب ماه',
87
+ FullName: 'نام کامل',
88
+ FirstName: 'نام',
89
+ LastName: 'نام خانوادگی',
90
+ Reject: 'رد کردن',
91
+ Code: 'کد تایید',
92
+ InvalidRequest: 'درخواست شما نامعتبر است',
93
+ ChangeNotAllow: 'امکان ایجاد تغییرات وجود ندارد',
94
+ Confirm: 'تاییدیه',
95
+ Search: 'جستجو',
96
+ Yes: 'بله',
97
+ No: 'خیر',
98
+ Email: 'پست الکترونیک',
99
+ Mobile: 'شماره همراه',
100
+ Mobile2: 'شماره همراه 2',
101
+ Phone: 'شماره تلفن منزل',
102
+ Address: 'آدرس',
103
+ Add: 'افزودن',
104
+ Edit: 'ویرایش',
105
+ VerifyCode: 'تایید کد',
106
+ Status: 'وضعیت',
107
+ Show: 'نمایش',
108
+ Step: 'وضعیت',
109
+ Pending: 'در حال بررسی',
110
+ Accepted: 'تایید شده',
111
+ Canceled: 'انصراف',
112
+ Rejected: 'رد شده : {}',
113
+ Answered: 'پاسخ داده شده',
114
+ FromDate: 'از تاریخ',
115
+ ToDate: 'تا تاریخ',
116
+ Package: 'اشتراک',
117
+ CodeInvalid: 'کد تایید نامعتبر است',
118
+ CodeExpired: 'کد تایید منقضی شده است',
119
+ Price: 'قیمت',
120
+ Description: 'توضیحات',
121
+ Photo: 'تصویر',
122
+ Select: 'انتخاب',
123
+ NextStep: 'مرحله بعد',
124
+ PreviousStep: 'مرحله قبل',
125
+ UploadFiles: 'بارگذاری مدارک',
126
+ NamadTitle: 'نماد',
127
+ Options: 'امکانات',
128
+ Process: 'پردازش',
129
+ NotfoundTitle: 'موردی یافت نشد',
130
+ PermissionDenied: 'عدم دسترسی',
131
+ PerPage: 'تعداد نمایش در هر صفحه',
132
+ Save: 'ذخیره',
133
+ Cancel: 'انصراف',
134
+ UserDeActive: 'نام کاربری غیر فعال شده است',
135
+ DeleteMessage: 'آیا از حذف این مورد مطمئن هستید ؟',
136
+ ChooseFiles: 'انتخاب فایل ها',
137
+ CodeNotExpired: 'کد تایید ارسال شده منقضی نشده است',
138
+ ChooseFile: 'انتخاب فایل',
139
+ FileNotSelected: 'فایلی انتخاب نشده است',
140
+ FileSelected: '{} فایل انتخاب شده ({})',
141
+ Selected: 'انتخاب شده',
142
+ Limit: 'محدودیت',
143
+ SendCodeLimit: 'محدودیت در ارسال کد',
144
+ SendCodeError: 'خطا در ارسال کد',
145
+ CodeNotFound: 'کد تایید ارسال نشده است',
146
+ Total: 'جمع کل',
147
+ Day: 'روز',
148
+ HourP: '{} ساعت',
149
+ MinuteP: '{} دقیقه',
150
+ Hour: 'ساعت',
151
+ Minute: 'دقیقه',
152
+ AFew: 'چند لحظه',
153
+ Ago: 'پیش',
154
+ Later: 'دیگر',
155
+ LessThanMinute: 'کمتر از یک دقیقه',
156
+ Finished: 'پایان یافته',
157
+ Reload: 'بارگیری مجدد',
158
+ Maximum: 'بزرگ نمایی',
159
+ Minimum: 'کوچک نمایی',
160
+ Export: 'خروجی',
161
+ Send: 'ارسال',
162
+ And: ' و ',
163
+ UsernamePasswordInvalid: 'نام کاربری یا کلمه عبور اشتباه است',
164
+ DbUpdateException: 'امکان حذف رکورد مورد نظر به دلیل استفاده شدن در سامانه وجود ندارد',
165
+ // tslint:disable-next-line
166
+ LoadingDot: '<span class="dot-spinner black"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></span>',
167
+ LoadingDotWhite: '<span class="dot-spinner white"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></span>',
168
+ Loading: 'در حال {} <span class="dot-spinner"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></span>',
169
+ LoadingYellow: 'در حال {} <span class="dot-spinner yellow"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></span>',
170
+ LoadingEmpty: '<span class="dot-spinner"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></span>',
171
+ LoadingTable: '<i class="fas fa-spin fa-spinner m-l-5-p icon"></i> در حال {} <span class="dot-spinner black"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></span>',
172
+ LoadingText: 'در حال {}',
173
+ Waiting: 'انتظار',
174
+ Required: 'را وارد کنید',
175
+ Invalid: 'نامعتبر است',
176
+ FormErrorRequired: '{} را وارد کنید',
177
+ FormErrorInvalid: '{} نامعتبر است',
178
+ FormErrorLength: 'طول {} باید {} کاراکتر باشد',
179
+ FormErrorMinLength: 'طول {} باید حداقل {} کاراکتر باشد',
180
+ FormErrorMaxLength: 'طول {} باید حداکثر {} کاراکتر باشد',
181
+ FormErrorMinAmount: 'مقدار {} باید حداقل {} باشد',
182
+ FormErrorMaxAmount: 'مقدار {} باید حداکثر {} باشد',
183
+ FormErrorExpired: '{} منقضی شده است',
184
+ FormErrorWrong: '{} اشتباه است',
185
+ FormErrorNotMatch: '{} با تکرار آن مطابقت ندارد',
186
+ FormErrorExist: '{} در سامانه ثبت شده است',
187
+ FormErrorNotExist: '{} در سامانه ثبت نشده است',
188
+ FormErrorNotAllowed: 'نوع فایل {} نامعتبر است ({})',
189
+ FormErrorMaxContent: 'حجم فایل {} نباید بیشتر از {}KB باشد',
190
+ FormErrorUpload: 'خطا در بارگذاری {}',
191
+ FormError: 'خطا در {}',
192
+ FormBaseErrorExpired: 'لطفا مجددا وارد شوید',
193
+ FormBaseErrorRegistered: 'خطا در تایید کد نرم افزار',
194
+ ErrorUpload: 'خطا در بارگذاری فایل',
195
+ FormBaseErrorInvalidParam: 'خطا در اطلاعات ارسال شده',
196
+ FormBaseErrorTimeOut: 'درخواست شما بیش از حد معمول زمان برده است. لطفا مجددا تلاش کنید',
197
+ FormBaseErrorPermission: 'عدم دسترسی',
198
+ PaymentError: 'خطا در اتصال به درگاه بانکی',
199
+ Error: 'متاسفانه در سیستم خطایی به وجود آمده است. لطفا مجددا تلاش کنید',
200
+ }
201
+ }
202
+ };
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jbGFzc2VzL3N0cmluZy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsRUFBRSxFQUFFO1FBQ0YsTUFBTSxFQUFFO1lBQ04sTUFBTSxFQUFFO2dCQUNOLE1BQU0sRUFBRSxNQUFNO2FBQ2Y7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsYUFBYSxFQUFFLGNBQWM7Z0JBQzdCLElBQUksRUFBRSxVQUFVO2dCQUNoQixJQUFJLEVBQUUsVUFBVTtnQkFDaEIsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLFFBQVEsRUFBRSxNQUFNO2dCQUNoQixnQkFBZ0IsRUFBRSx3Q0FBd0M7Z0JBQzFELFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLGdCQUFnQixFQUFFLDZDQUE2QztnQkFDL0QsYUFBYSxFQUFFLE1BQU07Z0JBQ3JCLHFCQUFxQixFQUFFLG1EQUFtRDtnQkFDMUUsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsSUFBSSxFQUFFLEtBQUs7YUFDWjtZQUNELE1BQU0sRUFBRTtnQkFDTixTQUFTLEVBQUUsb0RBQW9EO2dCQUMvRCxXQUFXLEVBQUUsZUFBZTtnQkFDNUIsVUFBVSxFQUFFLGNBQWM7YUFDM0I7WUFDRCxHQUFHLEVBQUU7Z0JBQ0gsUUFBUSxFQUFFLHdCQUF3QjthQUNuQztZQUNELFFBQVEsRUFBRTtnQkFDUixJQUFJLEVBQUUscUNBQXFDO2dCQUMzQyxJQUFJLEVBQUUsUUFBUTthQUNmO1lBQ0QsT0FBTyxFQUFFLFNBQVM7WUFDbEIsUUFBUSxFQUFFLGFBQWE7WUFDdkIsUUFBUSxFQUFFLFVBQVU7WUFDcEIsWUFBWSxFQUFFLFdBQVc7WUFDekIsTUFBTSxFQUFFLE1BQU07WUFDZCxVQUFVLEVBQUUsWUFBWTtZQUN4QixJQUFJLEVBQUUsS0FBSztZQUNYLEtBQUssRUFBRSxPQUFPO1lBQ2QsSUFBSSxFQUFFLEtBQUs7WUFDWCxJQUFJLEVBQUUsT0FBTztZQUNiLElBQUksRUFBRSxNQUFNO1lBQ1osR0FBRyxFQUFFLE1BQU07WUFDWCxVQUFVLEVBQUUsTUFBTTtZQUNsQixRQUFRLEVBQUUsVUFBVTtZQUNwQixRQUFRLEVBQUUsWUFBWTtZQUN0QixTQUFTLEVBQUUsS0FBSztZQUNoQixLQUFLLEVBQUUsT0FBTztZQUNkLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLE9BQU8sRUFBRSwyRkFBMkY7WUFDcEcsY0FBYyxFQUFFLDREQUE0RDtZQUM1RSxVQUFVLEVBQUUsUUFBUTtZQUNwQixLQUFLLEVBQUUsT0FBTztZQUNkLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsS0FBSyxFQUFFLE9BQU87WUFDZCxZQUFZLEVBQUUsWUFBWTtZQUMxQixLQUFLLEVBQUUsT0FBTztZQUNkLEtBQUssRUFBRSxhQUFhO1lBQ3BCLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLE9BQU87WUFDZCxLQUFLLEVBQUUsT0FBTztZQUNkLFFBQVEsRUFBRSxXQUFXO1lBQ3JCLFVBQVUsRUFBRSxpQkFBaUI7WUFDN0IsY0FBYyxFQUFFLEtBQUs7WUFDckIsUUFBUSxFQUFFLFNBQVM7WUFDbkIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsYUFBYSxFQUFFLGVBQWU7WUFDOUIsa0JBQWtCLEVBQUUsc0JBQXNCO1lBQzFDLGFBQWEsRUFBRSxrQkFBa0I7WUFDakMsWUFBWSxFQUFFLE9BQU87WUFDckIsVUFBVSxFQUFFLGtCQUFrQjtZQUM5QixRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLFdBQVcsRUFBRSxpQkFBaUI7WUFDOUIsTUFBTSxFQUFFLE9BQU87WUFDZixJQUFJLEVBQUUsS0FBSztZQUNYLE1BQU0sRUFBRSxJQUFJO1lBQ1osTUFBTSxFQUFFLE9BQU87WUFDZixNQUFNLEVBQUUsUUFBUTtZQUNoQixNQUFNLEVBQUUsUUFBUTtZQUNoQixNQUFNLEVBQUUsS0FBSztZQUNiLE1BQU0sRUFBRSxXQUFXO1lBQ25CLEtBQUssRUFBRSxNQUFNO1lBQ2IsSUFBSSxFQUFFLE1BQU07WUFDWixXQUFXLEVBQUUsWUFBWTtZQUN6QixRQUFRLEVBQUUsVUFBVTtZQUNwQixTQUFTLEVBQUUsS0FBSztZQUNoQixRQUFRLEVBQUUsY0FBYztZQUN4QixNQUFNLEVBQUUsU0FBUztZQUNqQixJQUFJLEVBQUUsVUFBVTtZQUNoQixjQUFjLEVBQUUseUJBQXlCO1lBQ3pDLGNBQWMsRUFBRSxnQ0FBZ0M7WUFDaEQsT0FBTyxFQUFFLFNBQVM7WUFDbEIsTUFBTSxFQUFFLE9BQU87WUFDZixHQUFHLEVBQUUsS0FBSztZQUNWLEVBQUUsRUFBRSxLQUFLO1lBQ1QsS0FBSyxFQUFFLGVBQWU7WUFDdEIsTUFBTSxFQUFFLGFBQWE7WUFDckIsT0FBTyxFQUFFLGVBQWU7WUFDeEIsS0FBSyxFQUFFLGlCQUFpQjtZQUN4QixPQUFPLEVBQUUsTUFBTTtZQUNmLEdBQUcsRUFBRSxRQUFRO1lBQ2IsSUFBSSxFQUFFLFFBQVE7WUFDZCxVQUFVLEVBQUUsVUFBVTtZQUN0QixNQUFNLEVBQUUsT0FBTztZQUNmLElBQUksRUFBRSxPQUFPO1lBQ2IsSUFBSSxFQUFFLE9BQU87WUFDYixPQUFPLEVBQUUsY0FBYztZQUN2QixRQUFRLEVBQUUsV0FBVztZQUNyQixRQUFRLEVBQUUsUUFBUTtZQUNsQixRQUFRLEVBQUUsYUFBYTtZQUN2QixRQUFRLEVBQUUsZUFBZTtZQUN6QixRQUFRLEVBQUUsVUFBVTtZQUNwQixNQUFNLEVBQUUsVUFBVTtZQUNsQixPQUFPLEVBQUUsUUFBUTtZQUNqQixXQUFXLEVBQUUsc0JBQXNCO1lBQ25DLFdBQVcsRUFBRSx3QkFBd0I7WUFDckMsS0FBSyxFQUFFLE1BQU07WUFDYixXQUFXLEVBQUUsU0FBUztZQUN0QixLQUFLLEVBQUUsT0FBTztZQUNkLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLFFBQVEsRUFBRSxXQUFXO1lBQ3JCLFlBQVksRUFBRSxXQUFXO1lBQ3pCLFdBQVcsRUFBRSxnQkFBZ0I7WUFDN0IsVUFBVSxFQUFFLE1BQU07WUFDbEIsT0FBTyxFQUFFLFNBQVM7WUFDbEIsT0FBTyxFQUFFLFFBQVE7WUFDakIsYUFBYSxFQUFFLGdCQUFnQjtZQUMvQixnQkFBZ0IsRUFBRSxZQUFZO1lBQzlCLE9BQU8sRUFBRSx3QkFBd0I7WUFDakMsSUFBSSxFQUFFLE9BQU87WUFDYixNQUFNLEVBQUUsUUFBUTtZQUNoQixZQUFZLEVBQUUsNkJBQTZCO1lBQzNDLGFBQWEsRUFBRSxtQ0FBbUM7WUFDbEQsV0FBVyxFQUFFLGdCQUFnQjtZQUM3QixjQUFjLEVBQUUsbUNBQW1DO1lBQ25ELFVBQVUsRUFBRSxhQUFhO1lBQ3pCLGVBQWUsRUFBRSx1QkFBdUI7WUFDeEMsWUFBWSxFQUFFLHlCQUF5QjtZQUN2QyxRQUFRLEVBQUUsWUFBWTtZQUN0QixLQUFLLEVBQUUsU0FBUztZQUNoQixhQUFhLEVBQUUscUJBQXFCO1lBQ3BDLGFBQWEsRUFBRSxpQkFBaUI7WUFDaEMsWUFBWSxFQUFFLHlCQUF5QjtZQUN2QyxLQUFLLEVBQUUsUUFBUTtZQUNmLEdBQUcsRUFBRSxLQUFLO1lBQ1YsS0FBSyxFQUFFLFNBQVM7WUFDaEIsT0FBTyxFQUFFLFVBQVU7WUFDbkIsSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNLEVBQUUsT0FBTztZQUNmLElBQUksRUFBRSxVQUFVO1lBQ2hCLEdBQUcsRUFBRSxLQUFLO1lBQ1YsS0FBSyxFQUFFLE1BQU07WUFDYixjQUFjLEVBQUUsa0JBQWtCO1lBQ2xDLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLE1BQU0sRUFBRSxjQUFjO1lBQ3RCLE9BQU8sRUFBRSxZQUFZO1lBQ3JCLE9BQU8sRUFBRSxZQUFZO1lBQ3JCLE1BQU0sRUFBRSxPQUFPO1lBQ2YsSUFBSSxFQUFFLE9BQU87WUFDYixHQUFHLEVBQUUsS0FBSztZQUNWLHVCQUF1QixFQUFFLG9DQUFvQztZQUM3RCxpQkFBaUIsRUFBRSxtRUFBbUU7WUFDdEYsMkJBQTJCO1lBQzNCLFVBQVUsRUFBRSwwSEFBMEg7WUFDdEksZUFBZSxFQUFFLDBIQUEwSDtZQUMzSSxPQUFPLEVBQUUsOEhBQThIO1lBQ3ZJLGFBQWEsRUFBRSxxSUFBcUk7WUFDcEosWUFBWSxFQUFFLG9IQUFvSDtZQUNsSSxZQUFZLEVBQUUsd0xBQXdMO1lBQ3RNLFdBQVcsRUFBRSxXQUFXO1lBQ3hCLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLGlCQUFpQixFQUFFLGlCQUFpQjtZQUNwQyxnQkFBZ0IsRUFBRSxnQkFBZ0I7WUFDbEMsZUFBZSxFQUFFLDZCQUE2QjtZQUM5QyxrQkFBa0IsRUFBRSxtQ0FBbUM7WUFDdkQsa0JBQWtCLEVBQUUsb0NBQW9DO1lBQ3hELGtCQUFrQixFQUFFLDZCQUE2QjtZQUNqRCxrQkFBa0IsRUFBRSw4QkFBOEI7WUFDbEQsZ0JBQWdCLEVBQUUsa0JBQWtCO1lBQ3BDLGNBQWMsRUFBRSxlQUFlO1lBQy9CLGlCQUFpQixFQUFFLDZCQUE2QjtZQUNoRCxjQUFjLEVBQUUsMEJBQTBCO1lBQzFDLGlCQUFpQixFQUFFLDJCQUEyQjtZQUM5QyxtQkFBbUIsRUFBRSw4QkFBOEI7WUFDbkQsbUJBQW1CLEVBQUUsc0NBQXNDO1lBQzNELGVBQWUsRUFBRSxvQkFBb0I7WUFDckMsU0FBUyxFQUFFLFdBQVc7WUFDdEIsb0JBQW9CLEVBQUUsc0JBQXNCO1lBQzVDLHVCQUF1QixFQUFFLDJCQUEyQjtZQUNwRCxXQUFXLEVBQUUsc0JBQXNCO1lBQ25DLHlCQUF5QixFQUFFLDBCQUEwQjtZQUNyRCxvQkFBb0IsRUFBRSxpRUFBaUU7WUFDdkYsdUJBQXVCLEVBQUUsWUFBWTtZQUNyQyxZQUFZLEVBQUUsNkJBQTZCO1lBQzNDLEtBQUssRUFBRSxnRUFBZ0U7U0FDeEU7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3Qgc3RyaW5ncyA9IHtcclxuICBmYToge1xyXG4gICAgUHVibGljOiB7XHJcbiAgICAgIEhlYWRlcjoge1xyXG4gICAgICAgIExvZ291dDogJ9iu2LHZiNisJ1xyXG4gICAgICB9LFxyXG4gICAgICBMb2dpbjoge1xyXG4gICAgICAgIFJlU2VuZENvZGVEZXM6ICco2KfYsdiz2KfZhCDZhdis2K/YryknLFxyXG4gICAgICAgIENvZGU6ICfaqdivINiq2KfbjNuM2K8nLFxyXG4gICAgICAgIEJhc2U6ICfZhtin2YUg2LPYp9uM2KonLFxyXG4gICAgICAgIEJhc2VEZXNjOiAn2KrZiNi224zYrdin2Kog2LPYp9uM2KonLFxyXG4gICAgICAgIFNlbmRDb2RlOiAn2YjYsdmI2K8nLFxyXG4gICAgICAgIFNlbmRDb2RlU3ViVGl0bGU6ICfYqNix2KfbjCDZiNix2YjYryDYtNmF2KfYsdmHINmH2YXYsdin2Ycg2K7ZiNivINix2Kcg2YjYp9ix2K8g2qnZhtuM2K8nLFxyXG4gICAgICAgIExvZ2luU21zOiAn2KrYp9uM24zYryDYtNmF2KfYsdmHINmH2YXYsdin2YcnLFxyXG4gICAgICAgIExvZ2luU21zU3ViVGl0bGU6ICfaqdivINin2LHYs9in2YQg2LTYr9mHINio2Ycg2LTZhdin2LHZhyDZh9mF2LHYp9mHIHt9INix2Kcg2YjYp9ix2K8g2qnZhtuM2K8nLFxyXG4gICAgICAgIExvZ2luUGFzc3dvcmQ6ICfZiNix2YjYrycsXHJcbiAgICAgICAgTG9naW5QYXNzd29yZFN1YlRpdGxlOiAn2KjYsdin24wg2YjYsdmI2K8g2YbYp9mFINqp2KfYsdio2LHbjCDZiCDaqdmE2YXZhyDYudio2YjYsSDYrtmI2K8g2LHYpyDZiNin2LHYryDaqdmG24zYrycsXHJcbiAgICAgICAgUmVnaXN0ZXI6ICfYq9io2Kog2qnYryDYqtin24zbjNivINmG2LHZhSDYp9mB2LLYp9ixJyxcclxuICAgICAgICBEZXZpY2VJZDogJ9qp2K8g2YbYsdmFINin2YHYstin2LE6IHt9JyxcclxuICAgICAgICBDb3B5OiAn2qnZvtuMJyxcclxuICAgICAgfSxcclxuICAgICAgRm9vdGVyOiB7XHJcbiAgICAgICAgQ29weXJpZ2h0OiAn2KrZhdin2YXbjCDYrdmC2YjZgiDYp9uM2YYg2YjYqNiz2KfbjNiqINio2LHYp9uMINm+2KfYsdiqINiz24zZhNuM2qnZiNmGINmF2K3ZgdmI2Lgg2KfYs9iqLicsXHJcbiAgICAgICAgQ3JlYXRvckRlc2M6ICfYt9ix2KfYrduMINmIINiq2YjYs9i52YcnLFxyXG4gICAgICAgIENyZWF0b3JDb206ICfZvtin2LHYqiDYs9uM2YTbjNqp2YjZhidcclxuICAgICAgfSxcclxuICAgICAgQXBwOiB7XHJcbiAgICAgICAgTm90Zm91bmQ6ICfYtdmB2K3ZhyDZhdmI2LHYryDZhti42LEg24zYp9mB2Kog2YbYtNivJyxcclxuICAgICAgfSxcclxuICAgICAgTm90Zm91bmQ6IHtcclxuICAgICAgICBUZXh0OiAn2YXYqtin2LPZgdin2YbZhyDYtdmB2K3ZhyDZhdmI2LHYryDZhti42LEg2LTZhdinINuM2KfZgdiqINmG2LTYrycsXHJcbiAgICAgICAgQmFjazogJ9io2KfYstqv2LTYqidcclxuICAgICAgfSxcclxuICAgICAgVmVyc2lvbjogJ9mG2LPYrtmHIHt9JyxcclxuICAgICAgRG93bmxvYWQ6ICfYr9ix24zYp9mB2Kog2YHYp9uM2YQnLFxyXG4gICAgICBJcmFuQ29kZTogJ9in24zYsdin2YYg2qnYrycsXHJcbiAgICAgIFRyYWNraW5nQ29kZTogJ9qp2K8g2LHZh9qv24zYsduMJyxcclxuICAgICAgUGxhcXVlOiAn2b7ZhNin2qknLFxyXG4gICAgICBEcml2ZXJOYW1lOiAn2YbYp9mFINix2KfZhtmG2K/ZhycsXHJcbiAgICAgIE5hbWU6ICfZhtin2YUnLFxyXG4gICAgICBUaXRsZTogJ9i52YbZiNin2YYnLFxyXG4gICAgICBUZXh0OiAn2YXYqtmGJyxcclxuICAgICAgRGF0ZTogJ9iq2KfYsduM2K4nLFxyXG4gICAgICBUaW1lOiAn2LLZhdin2YYnLFxyXG4gICAgICBSb3c6ICfYsdiv24zZgScsXHJcbiAgICAgIExvZ2luVGl0bGU6ICfZiNix2YjYrycsXHJcbiAgICAgIFNlbmRDb2RlOiAn2KfYsdiz2KfZhCDaqdivJyxcclxuICAgICAgVXNlcm5hbWU6ICfZhtin2YUg2qnYp9ix2KjYsduMJyxcclxuICAgICAgR2V0UmVwb3J0OiAn2obYp9m+JyxcclxuICAgICAgQ291bnQ6ICfYqti52K/Yp9ivJyxcclxuICAgICAgQ2hvb3NlOiAn2KfZhtiq2K7Yp9ioJyxcclxuICAgICAgUGF5YWJsZTogJ9mF2KjZhNi6INmC2KfYqNmEINm+2LHYr9in2K7YqiA6IHt9INix24zYp9mEPC9icj48c3BhbiBjbGFzcz1cImYtcy0yMFwiPtiq2KfbjNuM2K8g2Ygg2KfZhtiq2YLYp9mEINio2Ycg2K/Ysdqv2KfZhyDZvtix2K/Yp9iu2Ko8L3NwYW4+JyxcclxuICAgICAgUGF5YWJsZUxvYWRpbmc6ICc8c3BhbiBjbGFzcz1cImwtaC02MFwiPtiq2KfbjNuM2K8g2Ygg2KfZhtiq2YLYp9mEINio2Ycg2K/Ysdqv2KfZhyDZvtix2K/Yp9iu2Ko8L3NwYW4+JyxcclxuICAgICAgUHJvY2Vzc2luZzogJ9m+2LHYr9in2LLYtCcsXHJcbiAgICAgIFBEYXRlOiAn2KrYp9ix24zYricsXHJcbiAgICAgIFNlZU1vcmU6ICfZhtmF2KfbjNi0INio24zYtNiq2LEgLi4uJyxcclxuICAgICAgQWxlcnQ6ICfZh9i02K/Yp9ixJyxcclxuICAgICAgQWNjZXNzRGVuaWVkOiAn2LnYr9mFINiv2LPYqtix2LPbjCcsXHJcbiAgICAgIEltYWdlOiAn2KrYtdmI24zYsScsXHJcbiAgICAgIEdyYWRlOiAn2b7Yp9uM2Ycg2KrYrdi124zZhNuMJyxcclxuICAgICAgRGVzYzogJ9iq2YjYttuM2K3Yp9iqJyxcclxuICAgICAgQWRtaW46ICfYp9iv2YXbjNmGJyxcclxuICAgICAgUHJpbnQ6ICfar9iy2KfYsdi0JyxcclxuICAgICAgUGFzc3dvcmQ6ICfaqdmE2YXZhyDYudio2YjYsScsXHJcbiAgICAgIFJlUGFzc3dvcmQ6ICfYqtqp2LHYp9ixINqp2YTZhdmHINi52KjZiNixJyxcclxuICAgICAgUGFzc3BvcnRMZXR0ZXI6ICfYrdix2YEnLFxyXG4gICAgICBQYXNzcG9ydDogJ9qv2LDYsdmG2KfZhdmHJyxcclxuICAgICAgUHJpb3JpdHk6ICfYp9mI2YTZiNuM2KonLFxyXG4gICAgICBQYXNzcG9ydEltYWdlOiAn2KrYtdmI24zYsSDar9iw2LHZhtin2YXZhycsXHJcbiAgICAgIFBhc3Nwb3J0RXhwaXJlRGF0ZTogJ9iq2KfYsduM2K4g2KfZhtmC2LbYp9ihINqv2LDYsdmG2KfZhdmHJyxcclxuICAgICAgUGFzc3BvcnRQbGFjZTogJ9mF2K3ZhCDYtdiv2YjYsSDar9iw2LHZhtin2YXZhycsXHJcbiAgICAgIE5hdGlvbmFsQ29kZTogJ9qp2K/ZhdmE24wnLFxyXG4gICAgICBMaWNlbnNlTnVtOiAn2LTZhdin2LHZhyDar9mI2KfZh9uMINmG2KfZhdmHJyxcclxuICAgICAgQmFua0NhcmQ6ICfYtNmF2KfYsdmHINqp2KfYsdiqINio2KfZhtqp24wnLFxyXG4gICAgICBWZWhpY2xlVHlwZTogJ9mG2YjYuSDZiNiz24zZhNmHINmG2YLZhNuM2YcnLFxyXG4gICAgICBHZW5kZXI6ICfYrNmG2LPbjNiqJyxcclxuICAgICAgTWFsZTogJ9mF2LHYrycsXHJcbiAgICAgIEZlTWFsZTogJ9iy2YYnLFxyXG4gICAgICBBY2NlcHQ6ICfYqtin24zbjNivJyxcclxuICAgICAgSW5zZXJ0OiAn2KfZgdiy2YjYr9mGJyxcclxuICAgICAgVXBkYXRlOiAn2YjbjNix2KfbjNi0JyxcclxuICAgICAgRGVsZXRlOiAn2K3YsNmBJyxcclxuICAgICAgU3Vic2V0OiAn2LLbjNix2YXYrNmF2YjYudmHJyxcclxuICAgICAgT3RoZXI6ICfYs9in24zYsScsXHJcbiAgICAgIFJpYWw6ICfYsduM2KfZhCcsXHJcbiAgICAgIENob29zZU1vbnRoOiAn2KfZhtiq2K7Yp9ioINmF2KfZhycsXHJcbiAgICAgIEZ1bGxOYW1lOiAn2YbYp9mFINqp2KfZhdmEJyxcclxuICAgICAgRmlyc3ROYW1lOiAn2YbYp9mFJyxcclxuICAgICAgTGFzdE5hbWU6ICfZhtin2YUg2K7Yp9mG2YjYp9iv2q/bjCcsXHJcbiAgICAgIFJlamVjdDogJ9ix2K8g2qnYsdiv2YYnLFxyXG4gICAgICBDb2RlOiAn2qnYryDYqtin24zbjNivJyxcclxuICAgICAgSW52YWxpZFJlcXVlc3Q6ICfYr9ix2K7ZiNin2LPYqiDYtNmF2Kcg2YbYp9mF2LnYqtio2LEg2KfYs9iqJyxcclxuICAgICAgQ2hhbmdlTm90QWxsb3c6ICfYp9mF2qnYp9mGINin24zYrNin2K8g2KrYutuM24zYsdin2Kog2YjYrNmI2K8g2YbYr9in2LHYrycsXHJcbiAgICAgIENvbmZpcm06ICfYqtin24zbjNiv24zZhycsXHJcbiAgICAgIFNlYXJjaDogJ9is2LPYqtis2YgnLFxyXG4gICAgICBZZXM6ICfYqNmE2YcnLFxyXG4gICAgICBObzogJ9iu24zYsScsXHJcbiAgICAgIEVtYWlsOiAn2b7Ys9iqINin2YTaqdiq2LHZiNmG24zaqScsXHJcbiAgICAgIE1vYmlsZTogJ9i02YXYp9ix2Ycg2YfZhdix2KfZhycsXHJcbiAgICAgIE1vYmlsZTI6ICfYtNmF2KfYsdmHINmH2YXYsdin2YcgMicsXHJcbiAgICAgIFBob25lOiAn2LTZhdin2LHZhyDYqtmE2YHZhiDZhdmG2LLZhCcsXHJcbiAgICAgIEFkZHJlc3M6ICfYotiv2LHYsycsXHJcbiAgICAgIEFkZDogJ9in2YHYstmI2K/ZhicsXHJcbiAgICAgIEVkaXQ6ICfZiNuM2LHYp9uM2LQnLFxyXG4gICAgICBWZXJpZnlDb2RlOiAn2KrYp9uM24zYryDaqdivJyxcclxuICAgICAgU3RhdHVzOiAn2YjYtti524zYqicsXHJcbiAgICAgIFNob3c6ICfZhtmF2KfbjNi0JyxcclxuICAgICAgU3RlcDogJ9mI2LbYuduM2KonLFxyXG4gICAgICBQZW5kaW5nOiAn2K/YsSDYrdin2YQg2KjYsdix2LPbjCcsXHJcbiAgICAgIEFjY2VwdGVkOiAn2KrYp9uM24zYryDYtNiv2YcnLFxyXG4gICAgICBDYW5jZWxlZDogJ9in2YbYtdix2KfZgScsXHJcbiAgICAgIFJlamVjdGVkOiAn2LHYryDYtNiv2YcgOiB7fScsXHJcbiAgICAgIEFuc3dlcmVkOiAn2b7Yp9iz2K4g2K/Yp9iv2Ycg2LTYr9mHJyxcclxuICAgICAgRnJvbURhdGU6ICfYp9iyINiq2KfYsduM2K4nLFxyXG4gICAgICBUb0RhdGU6ICfYqtinINiq2KfYsduM2K4nLFxyXG4gICAgICBQYWNrYWdlOiAn2KfYtNiq2LHYp9qpJyxcclxuICAgICAgQ29kZUludmFsaWQ6ICfaqdivINiq2KfbjNuM2K8g2YbYp9mF2LnYqtio2LEg2KfYs9iqJyxcclxuICAgICAgQ29kZUV4cGlyZWQ6ICfaqdivINiq2KfbjNuM2K8g2YXZhtmC2LbbjCDYtNiv2Ycg2KfYs9iqJyxcclxuICAgICAgUHJpY2U6ICfZgtuM2YXYqicsXHJcbiAgICAgIERlc2NyaXB0aW9uOiAn2KrZiNi224zYrdin2KonLFxyXG4gICAgICBQaG90bzogJ9iq2LXZiNuM2LEnLFxyXG4gICAgICBTZWxlY3Q6ICfYp9mG2KrYrtin2KgnLFxyXG4gICAgICBOZXh0U3RlcDogJ9mF2LHYrdmE2Ycg2KjYudivJyxcclxuICAgICAgUHJldmlvdXNTdGVwOiAn2YXYsdit2YTZhyDZgtio2YQnLFxyXG4gICAgICBVcGxvYWRGaWxlczogJ9io2KfYsdqv2LDYp9ix24wg2YXYr9in2LHaqScsXHJcbiAgICAgIE5hbWFkVGl0bGU6ICfZhtmF2KfYrycsXHJcbiAgICAgIE9wdGlvbnM6ICfYp9mF2qnYp9mG2KfYqicsXHJcbiAgICAgIFByb2Nlc3M6ICfZvtix2K/Yp9iy2LQnLFxyXG4gICAgICBOb3Rmb3VuZFRpdGxlOiAn2YXZiNix2K/bjCDbjNin2YHYqiDZhti02K8nLFxyXG4gICAgICBQZXJtaXNzaW9uRGVuaWVkOiAn2LnYr9mFINiv2LPYqtix2LPbjCcsXHJcbiAgICAgIFBlclBhZ2U6ICfYqti52K/Yp9ivINmG2YXYp9uM2LQg2K/YsSDZh9ixINi12YHYrdmHJyxcclxuICAgICAgU2F2ZTogJ9iw2K7bjNix2YcnLFxyXG4gICAgICBDYW5jZWw6ICfYp9mG2LXYsdin2YEnLFxyXG4gICAgICBVc2VyRGVBY3RpdmU6ICfZhtin2YUg2qnYp9ix2KjYsduMINi624zYsSDZgdi52KfZhCDYtNiv2Ycg2KfYs9iqJyxcclxuICAgICAgRGVsZXRlTWVzc2FnZTogJ9ii24zYpyDYp9iyINit2LDZgSDYp9uM2YYg2YXZiNix2K8g2YXYt9mF2KbZhiDZh9iz2KrbjNivINifJyxcclxuICAgICAgQ2hvb3NlRmlsZXM6ICfYp9mG2KrYrtin2Kgg2YHYp9uM2YQg2YfYpycsXHJcbiAgICAgIENvZGVOb3RFeHBpcmVkOiAn2qnYryDYqtin24zbjNivINin2LHYs9in2YQg2LTYr9mHINmF2YbZgti224wg2YbYtNiv2Ycg2KfYs9iqJyxcclxuICAgICAgQ2hvb3NlRmlsZTogJ9in2YbYqtiu2KfYqCDZgdin24zZhCcsXHJcbiAgICAgIEZpbGVOb3RTZWxlY3RlZDogJ9mB2KfbjNmE24wg2KfZhtiq2K7Yp9ioINmG2LTYr9mHINin2LPYqicsXHJcbiAgICAgIEZpbGVTZWxlY3RlZDogJ3t9INmB2KfbjNmEINin2YbYqtiu2KfYqCDYtNiv2YcgKHt9KScsXHJcbiAgICAgIFNlbGVjdGVkOiAn2KfZhtiq2K7Yp9ioINi02K/ZhycsXHJcbiAgICAgIExpbWl0OiAn2YXYrdiv2YjYr9uM2KonLFxyXG4gICAgICBTZW5kQ29kZUxpbWl0OiAn2YXYrdiv2YjYr9uM2Kog2K/YsSDYp9ix2LPYp9mEINqp2K8nLFxyXG4gICAgICBTZW5kQ29kZUVycm9yOiAn2K7Yt9inINiv2LEg2KfYsdiz2KfZhCDaqdivJyxcclxuICAgICAgQ29kZU5vdEZvdW5kOiAn2qnYryDYqtin24zbjNivINin2LHYs9in2YQg2YbYtNiv2Ycg2KfYs9iqJyxcclxuICAgICAgVG90YWw6ICfYrNmF2Lkg2qnZhCcsXHJcbiAgICAgIERheTogJ9ix2YjYsicsXHJcbiAgICAgIEhvdXJQOiAne30g2LPYp9i52KonLFxyXG4gICAgICBNaW51dGVQOiAne30g2K/ZgtuM2YLZhycsXHJcbiAgICAgIEhvdXI6ICfYs9in2LnYqicsXHJcbiAgICAgIE1pbnV0ZTogJ9iv2YLbjNmC2YcnLFxyXG4gICAgICBBRmV3OiAn2obZhtivINmE2K3YuNmHJyxcclxuICAgICAgQWdvOiAn2b7bjNi0JyxcclxuICAgICAgTGF0ZXI6ICfYr9uM2q/YsScsXHJcbiAgICAgIExlc3NUaGFuTWludXRlOiAn2qnZhdiq2LEg2KfYsiDbjNqpINiv2YLbjNmC2YcnLFxyXG4gICAgICBGaW5pc2hlZDogJ9m+2KfbjNin2YYg24zYp9mB2KrZhycsXHJcbiAgICAgIFJlbG9hZDogJ9io2KfYsdqv24zYsduMINmF2KzYr9ivJyxcclxuICAgICAgTWF4aW11bTogJ9io2LLYsdqvINmG2YXYp9uM24wnLFxyXG4gICAgICBNaW5pbXVtOiAn2qnZiNqG2qkg2YbZhdin24zbjCcsXHJcbiAgICAgIEV4cG9ydDogJ9iu2LHZiNis24wnLFxyXG4gICAgICBTZW5kOiAn2KfYsdiz2KfZhCcsXHJcbiAgICAgIEFuZDogJyDZiCAnLFxyXG4gICAgICBVc2VybmFtZVBhc3N3b3JkSW52YWxpZDogJ9mG2KfZhSDaqdin2LHYqNix24wg24zYpyDaqdmE2YXZhyDYudio2YjYsSDYp9i02KrYqNin2Ycg2KfYs9iqJyxcclxuICAgICAgRGJVcGRhdGVFeGNlcHRpb246ICfYp9mF2qnYp9mGINit2LDZgSDYsdqp2YjYsdivINmF2YjYsdivINmG2LjYsSDYqNmHINiv2YTbjNmEINin2LPYqtmB2KfYr9mHINi02K/ZhiDYr9ixINiz2KfZhdin2YbZhyDZiNis2YjYryDZhtiv2KfYsdivJyxcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXHJcbiAgICAgIExvYWRpbmdEb3Q6ICc8c3BhbiBjbGFzcz1cImRvdC1zcGlubmVyIGJsYWNrXCI+PGRpdiBjbGFzcz1cImJvdW5jZTFcIj48L2Rpdj48ZGl2IGNsYXNzPVwiYm91bmNlMlwiPjwvZGl2PjxkaXYgY2xhc3M9XCJib3VuY2UzXCI+PC9kaXY+PC9zcGFuPicsXHJcbiAgICAgIExvYWRpbmdEb3RXaGl0ZTogJzxzcGFuIGNsYXNzPVwiZG90LXNwaW5uZXIgd2hpdGVcIj48ZGl2IGNsYXNzPVwiYm91bmNlMVwiPjwvZGl2PjxkaXYgY2xhc3M9XCJib3VuY2UyXCI+PC9kaXY+PGRpdiBjbGFzcz1cImJvdW5jZTNcIj48L2Rpdj48L3NwYW4+JyxcclxuICAgICAgTG9hZGluZzogJ9iv2LEg2K3Yp9mEIHt9IDxzcGFuIGNsYXNzPVwiZG90LXNwaW5uZXJcIj48ZGl2IGNsYXNzPVwiYm91bmNlMVwiPjwvZGl2PjxkaXYgY2xhc3M9XCJib3VuY2UyXCI+PC9kaXY+PGRpdiBjbGFzcz1cImJvdW5jZTNcIj48L2Rpdj48L3NwYW4+JyxcclxuICAgICAgTG9hZGluZ1llbGxvdzogJ9iv2LEg2K3Yp9mEIHt9IDxzcGFuIGNsYXNzPVwiZG90LXNwaW5uZXIgeWVsbG93XCI+PGRpdiBjbGFzcz1cImJvdW5jZTFcIj48L2Rpdj48ZGl2IGNsYXNzPVwiYm91bmNlMlwiPjwvZGl2PjxkaXYgY2xhc3M9XCJib3VuY2UzXCI+PC9kaXY+PC9zcGFuPicsXHJcbiAgICAgIExvYWRpbmdFbXB0eTogJzxzcGFuIGNsYXNzPVwiZG90LXNwaW5uZXJcIj48ZGl2IGNsYXNzPVwiYm91bmNlMVwiPjwvZGl2PjxkaXYgY2xhc3M9XCJib3VuY2UyXCI+PC9kaXY+PGRpdiBjbGFzcz1cImJvdW5jZTNcIj48L2Rpdj48L3NwYW4+JyxcclxuICAgICAgTG9hZGluZ1RhYmxlOiAnPGkgY2xhc3M9XCJmYXMgZmEtc3BpbiBmYS1zcGlubmVyIG0tbC01LXAgaWNvblwiPjwvaT4g2K/YsSDYrdin2YQge30gPHNwYW4gY2xhc3M9XCJkb3Qtc3Bpbm5lciBibGFja1wiPjxkaXYgY2xhc3M9XCJib3VuY2UxXCI+PC9kaXY+PGRpdiBjbGFzcz1cImJvdW5jZTJcIj48L2Rpdj48ZGl2IGNsYXNzPVwiYm91bmNlM1wiPjwvZGl2Pjwvc3Bhbj4nLFxyXG4gICAgICBMb2FkaW5nVGV4dDogJ9iv2LEg2K3Yp9mEIHt9JyxcclxuICAgICAgV2FpdGluZzogJ9in2YbYqti42KfYsScsXHJcbiAgICAgIFJlcXVpcmVkOiAn2LHYpyDZiNin2LHYryDaqdmG24zYrycsXHJcbiAgICAgIEludmFsaWQ6ICfZhtin2YXYudiq2KjYsSDYp9iz2KonLFxyXG4gICAgICBGb3JtRXJyb3JSZXF1aXJlZDogJ3t9INix2Kcg2YjYp9ix2K8g2qnZhtuM2K8nLFxyXG4gICAgICBGb3JtRXJyb3JJbnZhbGlkOiAne30g2YbYp9mF2LnYqtio2LEg2KfYs9iqJyxcclxuICAgICAgRm9ybUVycm9yTGVuZ3RoOiAn2LfZiNmEIHt9INio2KfbjNivIHt9INqp2KfYsdin2qnYqtixINio2KfYtNivJyxcclxuICAgICAgRm9ybUVycm9yTWluTGVuZ3RoOiAn2LfZiNmEIHt9INio2KfbjNivINit2K/Yp9mC2YQge30g2qnYp9ix2Kfaqdiq2LEg2KjYp9i02K8nLFxyXG4gICAgICBGb3JtRXJyb3JNYXhMZW5ndGg6ICfYt9mI2YQge30g2KjYp9uM2K8g2K3Yr9in2qnYq9ixIHt9INqp2KfYsdin2qnYqtixINio2KfYtNivJyxcclxuICAgICAgRm9ybUVycm9yTWluQW1vdW50OiAn2YXZgtiv2KfYsSB7fSDYqNin24zYryDYrdiv2KfZgtmEIHt9INio2KfYtNivJyxcclxuICAgICAgRm9ybUVycm9yTWF4QW1vdW50OiAn2YXZgtiv2KfYsSB7fSDYqNin24zYryDYrdiv2Kfaqdir2LEge30g2KjYp9i02K8nLFxyXG4gICAgICBGb3JtRXJyb3JFeHBpcmVkOiAne30g2YXZhtmC2LbbjCDYtNiv2Ycg2KfYs9iqJyxcclxuICAgICAgRm9ybUVycm9yV3Jvbmc6ICd7fSDYp9i02KrYqNin2Ycg2KfYs9iqJyxcclxuICAgICAgRm9ybUVycm9yTm90TWF0Y2g6ICd7fSDYqNinINiq2qnYsdin2LEg2KLZhiDZhdi32KfYqNmC2Kog2YbYr9in2LHYrycsXHJcbiAgICAgIEZvcm1FcnJvckV4aXN0OiAne30g2K/YsSDYs9in2YXYp9mG2Ycg2KvYqNiqINi02K/ZhyDYp9iz2KonLFxyXG4gICAgICBGb3JtRXJyb3JOb3RFeGlzdDogJ3t9INiv2LEg2LPYp9mF2KfZhtmHINir2KjYqiDZhti02K/ZhyDYp9iz2KonLFxyXG4gICAgICBGb3JtRXJyb3JOb3RBbGxvd2VkOiAn2YbZiNi5INmB2KfbjNmEIHt9INmG2KfZhdi52KrYqNixINin2LPYqiAoe30pJyxcclxuICAgICAgRm9ybUVycm9yTWF4Q29udGVudDogJ9it2KzZhSDZgdin24zZhCB7fSDZhtio2KfbjNivINio24zYtNiq2LEg2KfYsiB7fUtCINio2KfYtNivJyxcclxuICAgICAgRm9ybUVycm9yVXBsb2FkOiAn2K7Yt9inINiv2LEg2KjYp9ix2q/YsNin2LHbjCB7fScsXHJcbiAgICAgIEZvcm1FcnJvcjogJ9iu2LfYpyDYr9ixIHt9JyxcclxuICAgICAgRm9ybUJhc2VFcnJvckV4cGlyZWQ6ICfZhNi32YHYpyDZhdis2K/Yr9inINmI2KfYsdivINi02YjbjNivJyxcclxuICAgICAgRm9ybUJhc2VFcnJvclJlZ2lzdGVyZWQ6ICfYrti32Kcg2K/YsSDYqtin24zbjNivINqp2K8g2YbYsdmFINin2YHYstin2LEnLFxyXG4gICAgICBFcnJvclVwbG9hZDogJ9iu2LfYpyDYr9ixINio2KfYsdqv2LDYp9ix24wg2YHYp9uM2YQnLFxyXG4gICAgICBGb3JtQmFzZUVycm9ySW52YWxpZFBhcmFtOiAn2K7Yt9inINiv2LEg2KfYt9mE2KfYudin2Kog2KfYsdiz2KfZhCDYtNiv2YcnLFxyXG4gICAgICBGb3JtQmFzZUVycm9yVGltZU91dDogJ9iv2LHYrtmI2KfYs9iqINi02YXYpyDYqNuM2LQg2KfYsiDYrdivINmF2LnZhdmI2YQg2LLZhdin2YYg2KjYsdiv2Ycg2KfYs9iqLiDZhNi32YHYpyDZhdis2K/Yr9inINiq2YTYp9i0INqp2YbbjNivJyxcclxuICAgICAgRm9ybUJhc2VFcnJvclBlcm1pc3Npb246ICfYudiv2YUg2K/Ys9iq2LHYs9uMJyxcclxuICAgICAgUGF5bWVudEVycm9yOiAn2K7Yt9inINiv2LEg2KfYqti12KfZhCDYqNmHINiv2LHar9in2Ycg2KjYp9mG2qnbjCcsXHJcbiAgICAgIEVycm9yOiAn2YXYqtin2LPZgdin2YbZhyDYr9ixINiz24zYs9iq2YUg2K7Yt9in24zbjCDYqNmHINmI2KzZiNivINii2YXYr9mHINin2LPYqi4g2YTYt9mB2Kcg2YXYrNiv2K/YpyDYqtmE2KfYtCDaqdmG24zYrycsXHJcbiAgICB9XHJcbiAgfVxyXG59O1xyXG4iXX0=