@1money/component-ui 0.0.81 → 0.0.83

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 (39) hide show
  1. package/es/components/Calendar/style/Calendar.css +41 -28
  2. package/es/components/ProTable/ProTable.js +1 -4
  3. package/es/components/ProTable/interface.d.ts +2 -3
  4. package/es/components/Select/Select.js +6 -2
  5. package/es/components/Table/constants.d.ts +0 -1
  6. package/es/components/Table/constants.js +1 -2
  7. package/es/components/Table/core/useTableColumns.d.ts +1 -2
  8. package/es/components/Table/core/useTableColumns.js +5 -8
  9. package/es/components/Table/core/useTableSetup.js +4 -7
  10. package/es/components/Table/features/FilterTrigger.d.ts +1 -2
  11. package/es/components/Table/features/FilterTrigger.js +4 -8
  12. package/es/components/Table/features/SortTrigger.d.ts +2 -3
  13. package/es/components/Table/features/SortTrigger.js +4 -9
  14. package/es/components/Table/interface.d.ts +0 -2
  15. package/es/components/Table/renderers/HeaderCell.d.ts +2 -3
  16. package/es/components/Table/renderers/HeaderCell.js +2 -6
  17. package/es/components/Table/style/Table.css +6 -33
  18. package/es/index.css +1 -1
  19. package/lib/components/Calendar/style/Calendar.css +41 -28
  20. package/lib/components/ProTable/ProTable.js +1 -4
  21. package/lib/components/ProTable/interface.d.ts +2 -3
  22. package/lib/components/Select/Select.js +6 -2
  23. package/lib/components/Table/constants.d.ts +0 -1
  24. package/lib/components/Table/constants.js +2 -3
  25. package/lib/components/Table/core/useTableColumns.d.ts +1 -2
  26. package/lib/components/Table/core/useTableColumns.js +5 -8
  27. package/lib/components/Table/core/useTableSetup.js +3 -6
  28. package/lib/components/Table/features/FilterTrigger.d.ts +1 -2
  29. package/lib/components/Table/features/FilterTrigger.js +4 -8
  30. package/lib/components/Table/features/SortTrigger.d.ts +2 -3
  31. package/lib/components/Table/features/SortTrigger.js +4 -9
  32. package/lib/components/Table/interface.d.ts +0 -2
  33. package/lib/components/Table/renderers/HeaderCell.d.ts +2 -3
  34. package/lib/components/Table/renderers/HeaderCell.js +2 -6
  35. package/lib/components/Table/style/Table.css +6 -33
  36. package/lib/index.css +1 -1
  37. package/package.json +1 -1
  38. package/scripts/mcp-server/examples.generated.json +18 -24
  39. package/scripts/mcp-server/index.generated.json +5 -25
@@ -107,7 +107,7 @@
107
107
  }
108
108
 
109
109
  .om-component-ui-calendar-panel {
110
- padding: var(--om-spacing-600, 24px);
110
+ padding: var(--om-spacing-200, 8px) var(--om-spacing-400, 16px) var(--om-spacing-400, 16px);
111
111
  background-color: var(--om-bg-default, #fff);
112
112
  border: 1px solid var(--om-border-neutral-tertiary, #f8f8f8);
113
113
  border-radius: var(--om-radius-300, 12px);
@@ -134,16 +134,17 @@
134
134
  font-weight: 500;
135
135
  }
136
136
  .om-component-ui-calendar-panel .p-datepicker-group-container {
137
- gap: var(--om-spacing-600, 24px);
137
+ gap: var(--om-spacing-800, 32px);
138
138
  }
139
139
  .om-component-ui-calendar-panel .p-datepicker-group-container .p-datepicker-group {
140
140
  display: flex;
141
141
  flex-direction: column;
142
- gap: var(--om-spacing-300, 12px);
142
+ gap: var(--om-spacing-200, 8px);
143
143
  padding: 0 !important;
144
144
  border: 0 !important;
145
145
  }
146
146
  .om-component-ui-calendar-panel .p-datepicker-group-container .p-datepicker-group .p-datepicker-header {
147
+ min-height: calc(var(--om-component-height-xs, 24px) + var(--om-spacing-100, 4px));
147
148
  padding: 0;
148
149
  border: none;
149
150
  }
@@ -153,41 +154,53 @@
153
154
  align-items: center;
154
155
  }
155
156
  .om-component-ui-calendar-panel .p-datepicker-group-container .p-datepicker-group .p-datepicker-header .p-datepicker-title > * {
156
- font-size: var(--om-title-lg-font-size);
157
- font-family: var(--om-title-lg-font-family);
158
- line-height: var(--om-title-lg-line-height);
159
- letter-spacing: var(--om-title-lg-letter-spacing);
160
- font-weight: var(--om-title-lg-font-weight);
157
+ color: var(--om-text-default, #131313);
158
+ font-size: var(--om-title-sm-font-size);
159
+ font-family: var(--om-title-sm-font-family);
160
+ line-height: var(--om-title-sm-line-height);
161
+ letter-spacing: var(--om-title-sm-letter-spacing);
162
+ font-weight: var(--om-title-sm-strong-font-weight);
161
163
  }
162
164
  .om-component-ui-calendar-panel .p-datepicker-group-container .p-datepicker-group .p-datepicker-header .p-datepicker-title > *:hover {
163
165
  color: var(--om-text-brand, #073387);
164
166
  }
167
+ .om-component-ui-calendar-panel .p-datepicker-group-container .p-datepicker-group .p-datepicker-header .p-datepicker-prev,
168
+ .om-component-ui-calendar-panel .p-datepicker-group-container .p-datepicker-group .p-datepicker-header .p-datepicker-next {
169
+ width: var(--om-component-height-xs, 24px);
170
+ height: var(--om-component-height-xs, 24px);
171
+ color: var(--om-icon-default, #131313);
172
+ }
165
173
  .om-component-ui-calendar-panel .p-datepicker-group-container .p-datepicker-group .p-datepicker-header .p-datepicker-prev:hover,
166
174
  .om-component-ui-calendar-panel .p-datepicker-group-container .p-datepicker-group .p-datepicker-header .p-datepicker-next:hover {
167
175
  background-color: inherit;
176
+ color: var(--om-icon-brand, #073387);
168
177
  }
169
178
  .om-component-ui-calendar-panel .p-datepicker-group-container .p-datepicker-group .p-datepicker-header .p-datepicker-prev:hover > i,
170
179
  .om-component-ui-calendar-panel .p-datepicker-group-container .p-datepicker-group .p-datepicker-header .p-datepicker-next:hover > i {
171
180
  color: var(--om-icon-brand, #073387) !important;
172
181
  }
173
182
  .om-component-ui-calendar-panel .p-datepicker-group-container .p-datepicker-group .p-datepicker-calendar-container table {
174
- width: var(--content-width, 280px);
175
- margin: 0;
176
- table-layout: fixed;
183
+ width: var(--content-width);
184
+ margin: calc(-1 * var(--om-spacing-100, 4px)) calc(-1 * var(--om-spacing-300, 12px));
177
185
  border-collapse: separate;
178
- border-spacing: 0 var(--om-spacing-100, 4px);
186
+ border-spacing: var(--om-spacing-300, 12px) var(--om-spacing-100, 4px);
187
+ }
188
+ .om-component-ui-calendar-panel .p-datepicker-group-container .p-datepicker-group .p-datepicker-calendar-container .p-datepicker-calendar thead tr th {
189
+ width: var(--om-component-height-xs, 24px);
190
+ height: calc(var(--om-component-height-xs, 24px) + var(--om-spacing-100, 4px));
191
+ padding: 0 0 var(--om-spacing-100, 4px) !important;
179
192
  }
180
193
  .om-component-ui-calendar-panel .p-datepicker-group-container .p-datepicker-group .p-datepicker-calendar-container .p-datepicker-calendar thead tr th span {
181
194
  color: var(--om-text-default, #131313);
182
- font-size: var(--om-body-lg-font-size);
183
- font-family: var(--om-body-lg-font-family);
184
- line-height: var(--om-body-lg-line-height);
185
- letter-spacing: var(--om-body-lg-letter-spacing);
186
- font-weight: var(--om-body-lg-strong-font-weight);
195
+ font-size: var(--om-body-sm-font-size);
196
+ font-family: var(--om-body-sm-font-family);
197
+ line-height: var(--om-body-sm-line-height);
198
+ letter-spacing: var(--om-body-sm-letter-spacing);
199
+ font-weight: var(--om-body-sm-font-weight);
187
200
  }
188
201
  .om-component-ui-calendar-panel .p-datepicker-group-container .p-datepicker-group .p-datepicker-calendar-container .p-datepicker-calendar tbody tr td {
189
- width: var(--om-component-height-md, 40px) !important;
190
- height: var(--om-component-height-md, 40px);
202
+ width: var(--om-component-height-xs, 24px) !important;
203
+ height: var(--om-component-height-xs, 24px);
191
204
  padding: 0 !important;
192
205
  }
193
206
  .om-component-ui-calendar-panel .p-datepicker-group-container .p-datepicker-group .p-datepicker-calendar-container .p-datepicker-calendar tbody tr td:first-child {
@@ -203,21 +216,21 @@
203
216
  background-color: #fff;
204
217
  }
205
218
  .om-component-ui-calendar-panel .p-datepicker-group-container .p-datepicker-group .p-datepicker-calendar-container .p-datepicker-calendar tbody tr td span {
206
- width: var(--om-component-height-md, 40px) !important;
207
- max-width: var(--om-component-height-md, 40px) !important;
208
- height: var(--om-component-height-md, 40px) !important;
209
- max-height: var(--om-component-height-md, 40px) !important;
219
+ width: var(--om-component-height-xs, 24px) !important;
220
+ max-width: var(--om-component-height-xs, 24px) !important;
221
+ height: var(--om-component-height-xs, 24px) !important;
222
+ max-height: var(--om-component-height-xs, 24px) !important;
210
223
  margin: 0 !important;
211
224
  padding: 0 !important;
212
225
  color: var(--om-text-default, #131313);
213
226
  border: none;
214
227
  border-radius: var(--om-radius-full, 9999px);
215
228
  box-shadow: none;
216
- font-size: var(--om-label-lg-font-size);
217
- font-family: var(--om-label-lg-font-family);
218
- line-height: var(--om-label-lg-line-height);
219
- letter-spacing: var(--om-label-lg-letter-spacing);
220
- font-weight: var(--om-label-lg-font-weight);
229
+ font-size: var(--om-body-sm-font-size);
230
+ font-family: var(--om-body-sm-font-family);
231
+ line-height: var(--om-body-sm-line-height);
232
+ letter-spacing: var(--om-body-sm-letter-spacing);
233
+ font-weight: var(--om-body-sm-strong-font-weight);
221
234
  }
222
235
  .om-component-ui-calendar-panel .p-datepicker-group-container .p-datepicker-group .p-datepicker-calendar-container .p-datepicker-calendar tbody tr td span.p-highlight {
223
236
  color: var(--om-text-on-neutral, #fff);
@@ -73,8 +73,6 @@ function ProTableInner(props) {
73
73
  _props$search = props.search,
74
74
  search = _props$search === void 0 ? {} : _props$search,
75
75
  rowSelection = props.rowSelection,
76
- _props$size = props.size,
77
- size = _props$size === void 0 ? 'small' : _props$size,
78
76
  actionRef = props.actionRef,
79
77
  onLoad = props.onLoad,
80
78
  onLoadingChange = props.onLoadingChange,
@@ -278,7 +276,6 @@ function ProTableInner(props) {
278
276
  columns: tableColumns,
279
277
  dataSource: dataSource,
280
278
  loading: loading,
281
- size: size,
282
279
  pagination: false,
283
280
  rowSelection: rowSelection,
284
281
  onChange: handleTableChange,
@@ -307,4 +304,4 @@ function ProTableInner(props) {
307
304
  }
308
305
  export var ProTable = /*#__PURE__*/memo(ProTableInner);
309
306
  export default ProTable;
310
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvVGFibGUvUHJvVGFibGUuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1Byb1RhYmxlL1Byb1RhYmxlLnRzeCJdLCJuYW1lcyI6WyJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJhZG9wdCIsInZhbHVlIiwicmVzb2x2ZSIsIlByb21pc2UiLCJyZWplY3QiLCJmdWxmaWxsZWQiLCJzdGVwIiwibmV4dCIsImUiLCJyZWplY3RlZCIsInJlc3VsdCIsImRvbmUiLCJ0aGVuIiwiYXBwbHkiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwibWVtbyIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlTWVtb2l6ZWRGbiIsInVzZVNhZmVTdGF0ZSIsIlBhZ2luYXRpb24iLCJUYWJsZSIsIlF1ZXJ5RmlsdGVyIiwiZGVmYXVsdCIsImNsYXNzbmFtZXMiLCJDU1NfUFJFRklYIiwiREVGQVVMVF9DVVJSRU5UIiwiREVGQVVMVF9QQUdFX1NJWkUiLCJERUZBVUxUX1RFWFQiLCJ1c2VGZXRjaERhdGEiLCJnZW5Db2x1bW5zIiwiYXBwbHlTZWFyY2hUcmFuc2Zvcm1zIiwiZ2VuU2VhcmNoRmllbGRzIiwicmVhZFVybFZhbHVlcyIsInN5bmNUb1VybCIsIndpbmRvdyIsInBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsImxvY2F0aW9uIiwic2VhcmNoIiwiZm9yRWFjaCIsImtleSIsIlByb1RhYmxlSW5uZXIiLCJwcm9wcyIsIl90aGlzIiwiX2EiLCJfYiIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJjbGFzc05hbWUiLCJjb2x1bW5zIiwicmVxdWVzdCIsImNvbnRyb2xsZWREYXRhIiwiZGF0YVNvdXJjZSIsImNvbnRyb2xsZWRMb2FkaW5nIiwibG9hZGluZyIsImRlZmF1bHREYXRhIiwibWFudWFsUmVxdWVzdCIsImRlYm91bmNlVGltZSIsInBvc3REYXRhIiwicG9sbGluZyIsImJlZm9yZVNlYXJjaFN1Ym1pdCIsImNvbHVtbkVtcHR5VGV4dCIsInNlYXJjaEZvcm1SZW5kZXIiLCJfcHJvcHMkcGFnaW5hdGlvbiIsInBhZ2luYXRpb24iLCJfcHJvcHMkc2VhcmNoIiwicm93U2VsZWN0aW9uIiwiX3Byb3BzJHNpemUiLCJzaXplIiwiYWN0aW9uUmVmIiwib25Mb2FkIiwib25Mb2FkaW5nQ2hhbmdlIiwib25SZXF1ZXN0RXJyb3IiLCJvbkNoYW5nZSIsInJvd0tleSIsIl9wcm9wcyR2YXJpYW50IiwidmFyaWFudCIsImJvcmRlcmVkIiwic2Nyb2xsIiwic3RpY2t5IiwiZXhwYW5kYWJsZSIsImVtcHR5IiwidGFibGVMYXlvdXQiLCJyb3dDbGFzc05hbWUiLCJvblJvdyIsInN1bW1hcnkiLCJmb290ZXIiLCJjbGFzc2VzIiwidGFibGVDb2x1bW5zIiwic2VhcmNoQ2ZnIiwidW5kZWZpbmVkIiwiX3VzZU1lbW8iLCJzZWFyY2hGaWVsZHMiLCJmaWVsZHMiLCJzZWFyY2hJbml0aWFsVmFsdWVzIiwiaW5pdGlhbFZhbHVlcyIsInNlYXJjaEZpZWxkTmFtZXMiLCJuYW1lcyIsImhhc1NlYXJjaCIsImxlbmd0aCIsIm1lcmdlZEluaXRpYWxWYWx1ZXMiLCJPYmplY3QiLCJhc3NpZ24iLCJfdXNlU2FmZVN0YXRlIiwiX3VzZVNhZmVTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInNlYXJjaFBhcmFtcyIsInNldFNlYXJjaFBhcmFtcyIsImZvcm1SZWYiLCJfdXNlU2FmZVN0YXRlMyIsIl91c2VTYWZlU3RhdGU0Iiwic29ydCIsInNldFNvcnQiLCJfdXNlU2FmZVN0YXRlNSIsIl91c2VTYWZlU3RhdGU2IiwiZmlsdGVyIiwic2V0RmlsdGVyIiwicGFnaW5hdGVkIiwiZGVmYXVsdFBhZ2VTaXplIiwicGFnZVNpemUiLCJkZWZhdWx0Q3VycmVudCIsImN1cnJlbnQiLCJtYW51YWwiLCJfdXNlRmV0Y2hEYXRhIiwiZmV0Y2hlZERhdGEiLCJmZXRjaExvYWRpbmciLCJwYWdlSW5mbyIsInNldFBhZ2VJbmZvIiwicmVsb2FkIiwicmVzZXQiLCJoYW5kbGVTZWFyY2hGaW5pc2giLCJ2YWx1ZXMiLCJwZXJDb2x1bW4iLCJmaW5hbFBhcmFtcyIsImhhbmRsZVNlYXJjaFJlc2V0IiwicmVzZXRGaWVsZHMiLCJoYW5kbGVUYWJsZUNoYW5nZSIsIm1ldGEiLCJzb3J0ZXIiLCJfbWV0YSRzb3J0ZXIiLCJjb2x1bW5LZXkiLCJvcmRlciIsIl9kZWZpbmVQcm9wZXJ0eSIsIlN0cmluZyIsImZpbHRlcnMiLCJoYW5kbGVQYWdlQ2hhbmdlIiwicGFnZSIsImN1cnJlbnREYXRhU291cmNlIiwiYWN0aW9uIiwicmVsb2FkQW5kUmVzdCIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJzdG9wIiwic2VhcmNoTm9kZSIsInNlYXJjaEZvcm0iLCJkZWZhdWx0Q29sbGFwc2VkIiwiZGVmYXVsdENvbHNOdW1iZXIiLCJsYWJlbFdpZHRoIiwic2VhcmNoQ29uZmlnIiwic2VhcmNoVGV4dCIsInJlc2V0VGV4dCIsIm9uRmluaXNoIiwib25SZXNldCIsImNoaWxkcmVuIiwidG90YWwiLCJQcm9UYWJsZSJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBSUEsU0FBUyxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLFNBQVMsSUFBSyxVQUFVQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsQ0FBQyxFQUFFQyxTQUFTLEVBQUU7RUFDckYsU0FBU0MsS0FBS0EsQ0FBQ0MsS0FBSyxFQUFFO0lBQUUsT0FBT0EsS0FBSyxZQUFZSCxDQUFDLEdBQUdHLEtBQUssR0FBRyxJQUFJSCxDQUFDLENBQUMsVUFBVUksT0FBTyxFQUFFO01BQUVBLE9BQU8sQ0FBQ0QsS0FBSyxDQUFDO0lBQUUsQ0FBQyxDQUFDO0VBQUU7RUFDM0csT0FBTyxLQUFLSCxDQUFDLEtBQUtBLENBQUMsR0FBR0ssT0FBTyxDQUFDLEVBQUUsVUFBVUQsT0FBTyxFQUFFRSxNQUFN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ZCxFQUVEK0IsU0FBUyxJQUNSM0csSUFBQSxDQUFBLEtBQUEsRUFBQTtRQUFLc0MsU0FBUyxFQUFFdUMsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUFBZ0YsUUFBQSxFQUNuQzdKLElBQUEsQ0FBQ1MsVUFBVSxFQUFBO1VBQ1RxSixLQUFLLEVBQUUxQyxRQUFRLENBQUMwQyxLQUFLO1VBQ3JCL0MsT0FBTyxFQUFFSyxRQUFRLENBQUNMLE9BQU87VUFDekJGLFFBQVEsRUFBRU8sUUFBUSxDQUFDUCxRQUFRO1VBQzNCOUMsUUFBUSxFQUFFd0U7UUFBZ0IsQ0FBQTtNQUMxQixDQUFBLENBRUw7SUFBQSxDQUFBLENBQ0c7RUFBQSxDQUFBLENBQ0Y7QUFFVjtBQUVBLE9BQU8sSUFBTXdCLFFBQVEsZ0JBQUc1SixJQUFJLENBQUM0QixhQUFhLENBQXlCO0FBRW5FLGVBQWVnSSxRQUFRIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvVGFibGUvUHJvVGFibGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VJbXBlcmF0aXZlSGFuZGxlLCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlTWVtb2l6ZWRGbiBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZU1lbW9pemVkRm4nO1xuaW1wb3J0IHVzZVNhZmVTdGF0ZSBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZVNhZmVTdGF0ZSc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uIH0gZnJvbSAnLi4vUGFnaW5hdGlvbic7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gJy4uL1RhYmxlJztcbmltcG9ydCB7IFF1ZXJ5RmlsdGVyIH0gZnJvbSAnLi4vUHJvRm9ybSc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IENTU19QUkVGSVgsIERFRkFVTFRfQ1VSUkVOVCwgREVGQVVMVF9QQUdFX1NJWkUsIERFRkFVTFRfVEVYVCB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IHVzZUZldGNoRGF0YSB9IGZyb20gJy4vdXNlRmV0Y2hEYXRhJztcbmltcG9ydCB7IGdlbkNvbHVtbnMgfSBmcm9tICcuL2NvcmUvZ2VuQ29sdW1ucyc7XG5pbXBvcnQgeyBhcHBseVNlYXJjaFRyYW5zZm9ybXMsIGdlblNlYXJjaEZpZWxkcyB9IGZyb20gJy4vY29yZS9nZW5TZWFyY2hGaWVsZHMnO1xuLyoqIFJlYWQgdGhlIGN1cnJlbnQgVVJMIHF1ZXJ5IHN0cmluZyBpbnRvIHNlYXJjaCB2YWx1ZXMsIGFwcGx5aW5nIHRoZSBgJ2dldCdgIHRyYW5zZm9ybS4gKi9cbmZ1bmN0aW9uIHJlYWRVcmxWYWx1ZXMoc3luY1RvVXJsKSB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICByZXR1cm4ge307XG4gICAgY29uc3QgcGFyYW1zID0ge307XG4gICAgbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgIHBhcmFtc1trZXldID0gdmFsdWU7XG4gICAgfSk7XG4gICAgcmV0dXJuIHR5cGVvZiBzeW5jVG9VcmwgPT09ICdmdW5jdGlvbicgPyBzeW5jVG9VcmwocGFyYW1zLCAnZ2V0JykgOiBwYXJhbXM7XG59XG5mdW5jdGlvbiBQcm9UYWJsZUlubmVyKHByb3BzKSB7XG4gICAgdmFyIF9hLCBfYjtcbiAgICBjb25zdCB7IHByZWZpeENscyA9IENTU19QUkVGSVgsIGNsYXNzTmFtZSwgY29sdW1ucywgcmVxdWVzdCwgcGFyYW1zLCBkYXRhU291cmNlOiBjb250cm9sbGVkRGF0YSwgbG9hZGluZzogY29udHJvbGxlZExvYWRpbmcsIGRlZmF1bHREYXRhLCBtYW51YWxSZXF1ZXN0LCBkZWJvdW5jZVRpbWUsIHBvc3REYXRhLCBwb2xsaW5nLCBiZWZvcmVTZWFyY2hTdWJtaXQsIGNvbHVtbkVtcHR5VGV4dCwgc2VhcmNoRm9ybVJlbmRlciwgcGFnaW5hdGlvbiA9IHt9LCBzZWFyY2ggPSB7fSwgcm93U2VsZWN0aW9uLCBzaXplID0gJ3NtYWxsJywgYWN0aW9uUmVmLCBvbkxvYWQsIG9uTG9hZGluZ0NoYW5nZSwgb25SZXF1ZXN0RXJyb3IsIG9uQ2hhbmdlLCByb3dLZXksIHZhcmlhbnQgPSAnc3Ryb2tlJywgYm9yZGVyZWQsIHNjcm9sbCwgc3RpY2t5LCBleHBhbmRhYmxlLCBlbXB0eSwgdGFibGVMYXlvdXQsIHJvd0NsYXNzTmFtZSwgb25Sb3csIHN1bW1hcnksIGZvb3RlciwgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgdGFibGVDb2x1bW5zID0gdXNlTWVtbygoKSA9PiBnZW5Db2x1bW5zKGNvbHVtbnMsIGNvbHVtbkVtcHR5VGV4dCksIFtjb2x1bW5zLCBjb2x1bW5FbXB0eVRleHRdKTtcbiAgICAvLyDilIDilIAgc2VhcmNoIGZvcm0gKGF1dG8tZ2VuZXJhdGVkIGZyb20gY29sdW1ucykg4pSA4pSAXG4gICAgY29uc3Qgc2VhcmNoQ2ZnID0gc2VhcmNoID09PSBmYWxzZSA/IHVuZGVmaW5lZCA6IHNlYXJjaDtcbiAgICBjb25zdCB7IGZpZWxkczogc2VhcmNoRmllbGRzLCBpbml0aWFsVmFsdWVzOiBzZWFyY2hJbml0aWFsVmFsdWVzLCBuYW1lczogc2VhcmNoRmllbGROYW1lcyB9ID0gdXNlTWVtbygoKSA9PiBnZW5TZWFyY2hGaWVsZHMoY29sdW1ucyksIFtjb2x1bW5zXSk7XG4gICAgY29uc3QgaGFzU2VhcmNoID0gc2VhcmNoICE9PSBmYWxzZSAmJiBzZWFyY2hGaWVsZHMubGVuZ3RoID4gMDtcbiAgICBjb25zdCBzeW5jVG9VcmwgPSBzZWFyY2hDZmcgPT09IG51bGwgfHwgc2VhcmNoQ2ZnID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzZWFyY2hDZmcuc3luY1RvVXJsO1xuICAgIC8vIFNlZWQgaW5pdGlhbCB2YWx1ZXMgKGFuZCB0aGUgZmlyc3QgcmVxdWVzdCkgZnJvbSB0aGUgVVJMIHdoZW4gc3luY1RvVXJsIGlzIG9uLlxuICAgIGNvbnN0IG1lcmdlZEluaXRpYWxWYWx1ZXMgPSB1c2VNZW1vKCgpID0+IChzeW5jVG9VcmwgPyBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHNlYXJjaEluaXRpYWxWYWx1ZXMpLCByZWFkVXJsVmFsdWVzKHN5bmNUb1VybCkpIDogc2VhcmNoSW5pdGlhbFZhbHVlcyksIFxuICAgIC8vIG1vdW50LW9ubHkgc25hcHNob3Qgb2YgdGhlIFVSTFxuICAgIFtzZWFyY2hJbml0aWFsVmFsdWVzXSk7XG4gICAgY29uc3QgW3NlYXJjaFBhcmFtcywgc2V0U2VhcmNoUGFyYW1zXSA9IHVzZVNhZmVTdGF0ZSgoKSA9PiBtZXJnZWRJbml0aWFsVmFsdWVzKTtcbiAgICBjb25zdCBmb3JtUmVmID0gdXNlUmVmKHVuZGVmaW5lZCk7XG4gICAgLy8g4pSA4pSAIHNlcnZlciBzb3J0IC8gZmlsdGVyIOKUgOKUgFxuICAgIGNvbnN0IFtzb3J0LCBzZXRTb3J0XSA9IHVzZVNhZmVTdGF0ZSh7fSk7XG4gICAgY29uc3QgW2ZpbHRlciwgc2V0RmlsdGVyXSA9IHVzZVNhZmVTdGF0ZSh7fSk7XG4gICAgLy8g4pSA4pSAIHBhZ2luYXRpb24gY29uZmlnIOKUgOKUgFxuICAgIGNvbnN0IHBhZ2luYXRlZCA9IHBhZ2luYXRpb24gIT09IGZhbHNlO1xuICAgIGNvbnN0IGRlZmF1bHRQYWdlU2l6ZSA9IChwYWdpbmF0aW9uICYmIHBhZ2luYXRpb24uZGVmYXVsdFBhZ2VTaXplKSB8fCAocGFnaW5hdGlvbiAmJiBwYWdpbmF0aW9uLnBhZ2VTaXplKSB8fCBERUZBVUxUX1BBR0VfU0laRTtcbiAgICBjb25zdCBkZWZhdWx0Q3VycmVudCA9IChwYWdpbmF0aW9uICYmIHBhZ2luYXRpb24uZGVmYXVsdEN1cnJlbnQpIHx8IChwYWdpbmF0aW9uICYmIHBhZ2luYXRpb24uY3VycmVudCkgfHwgREVGQVVMVF9DVVJSRU5UO1xuICAgIGNvbnN0IG1hbnVhbCA9IGNvbnRyb2xsZWREYXRhICE9PSB1bmRlZmluZWQgfHwgIXJlcXVlc3Q7XG4gICAgY29uc3QgeyBkYXRhU291cmNlOiBmZXRjaGVkRGF0YSwgbG9hZGluZzogZmV0Y2hMb2FkaW5nLCBwYWdlSW5mbywgc2V0UGFnZUluZm8sIHJlbG9hZCwgcmVzZXQgfSA9IHVzZUZldGNoRGF0YSh7XG4gICAgICAgIHJlcXVlc3QsXG4gICAgICAgIG1hbnVhbCxcbiAgICAgICAgbWFudWFsUmVxdWVzdCxcbiAgICAgICAgZGVib3VuY2VUaW1lLFxuICAgICAgICBwb3N0RGF0YSxcbiAgICAgICAgcG9sbGluZyxcbiAgICAgICAgcGFyYW1zLFxuICAgICAgICBkZWZhdWx0RGF0YSxcbiAgICAgICAgcGFnaW5hdGVkLFxuICAgICAgICBkZWZhdWx0Q3VycmVudCxcbiAgICAgICAgZGVmYXVsdFBhZ2VTaXplLFxuICAgICAgICBzZWFyY2hQYXJhbXMsXG4gICAgICAgIHNvcnQsXG4gICAgICAgIGZpbHRlcixcbiAgICAgICAgb25Mb2FkLFxuICAgICAgICBvbkxvYWRpbmdDaGFuZ2UsXG4gICAgICAgIG9uUmVxdWVzdEVycm9yLFxuICAgIH0pO1xuICAgIGNvbnN0IGRhdGFTb3VyY2UgPSBjb250cm9sbGVkRGF0YSAhPT0gbnVsbCAmJiBjb250cm9sbGVkRGF0YSAhPT0gdm9pZCAwID8gY29udHJvbGxlZERhdGEgOiBmZXRjaGVkRGF0YTtcbiAgICBjb25zdCBsb2FkaW5nID0gY29udHJvbGxlZExvYWRpbmcgIT09IG51bGwgJiYgY29udHJvbGxlZExvYWRpbmcgIT09IHZvaWQgMCA/IGNvbnRyb2xsZWRMb2FkaW5nIDogKG1hbnVhbCA/IGZhbHNlIDogZmV0Y2hMb2FkaW5nKTtcbiAgICAvLyDilIDilIAgaGFuZGxlcnMg4pSA4pSAXG4gICAgY29uc3QgaGFuZGxlU2VhcmNoRmluaXNoID0gdXNlTWVtb2l6ZWRGbigodmFsdWVzKSA9PiB7XG4gICAgICAgIGNvbnN0IHBlckNvbHVtbiA9IGFwcGx5U2VhcmNoVHJhbnNmb3Jtcyh2YWx1ZXMsIGNvbHVtbnMpO1xuICAgICAgICBjb25zdCBmaW5hbFBhcmFtcyA9IGJlZm9yZVNlYXJjaFN1Ym1pdCA/IGJlZm9yZVNlYXJjaFN1Ym1pdChwZXJDb2x1bW4pIDogcGVyQ29sdW1uO1xuICAgICAgICBzZXRTZWFyY2hQYXJhbXMoZmluYWxQYXJhbXMpO1xuICAgICAgICBzZXRQYWdlSW5mbyh7IGN1cnJlbnQ6IGRlZmF1bHRDdXJyZW50IH0pO1xuICAgICAgICB2b2lkIHJlbG9hZCgpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVNlYXJjaFJlc2V0ID0gdXNlTWVtb2l6ZWRGbigoKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgLy8gVXNlIHRoZSBhcnJheSBmb3JtIChgcmVzZXRGaWVsZHMobmFtZXMpYCkgdG8gcmVzZXQgT05MWSB0aGUgc2VhcmNoXG4gICAgICAgIC8vIGZpZWxkcyDigJQgYSBmdWxsIHJlc2V0IHdvdWxkIGFsc28gd2lwZSBub24tc2VhcmNoIGZvcm0gc3RhdGUuXG4gICAgICAgIChfYSA9IGZvcm1SZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnJlc2V0RmllbGRzKHNlYXJjaEZpZWxkTmFtZXMpO1xuICAgICAgICBzZXRTZWFyY2hQYXJhbXMoe30pO1xuICAgICAgICBzZXRQYWdlSW5mbyh7IGN1cnJlbnQ6IGRlZmF1bHRDdXJyZW50IH0pO1xuICAgICAgICB2b2lkIHJlbG9hZCgpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVRhYmxlQ2hhbmdlID0gdXNlTWVtb2l6ZWRGbigobWV0YSkgPT4ge1xuICAgICAgICBpZiAobWV0YS5zb3J0ZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgY29sdW1uS2V5LCBvcmRlciB9ID0gbWV0YS5zb3J0ZXI7XG4gICAgICAgICAgICBzZXRTb3J0KGNvbHVtbktleSAmJiBvcmRlciA/IHsgW1N0cmluZyhjb2x1bW5LZXkpXTogb3JkZXIgfSA6IHt9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobWV0YS5maWx0ZXJzKVxuICAgICAgICAgICAgc2V0RmlsdGVyKG1ldGEuZmlsdGVycyk7XG4gICAgICAgIGlmIChtZXRhLnNvcnRlciB8fCBtZXRhLmZpbHRlcnMpXG4gICAgICAgICAgICBzZXRQYWdlSW5mbyh7IGN1cnJlbnQ6IGRlZmF1bHRDdXJyZW50IH0pO1xuICAgICAgICBvbkNoYW5nZSA9PT0gbnVsbCB8fCBvbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DaGFuZ2UobWV0YSk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlUGFnZUNoYW5nZSA9IHVzZU1lbW9pemVkRm4oKHBhZ2UsIHBhZ2VTaXplKSA9PiB7XG4gICAgICAgIHNldFBhZ2VJbmZvKHsgY3VycmVudDogcGFnZSwgcGFnZVNpemUgfSk7XG4gICAgICAgIG9uQ2hhbmdlID09PSBudWxsIHx8IG9uQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNoYW5nZSh7XG4gICAgICAgICAgICBjdXJyZW50RGF0YVNvdXJjZTogZGF0YVNvdXJjZSxcbiAgICAgICAgICAgIGFjdGlvbjogJ3BhZ2luYXRlJyxcbiAgICAgICAgICAgIHBhZ2luYXRpb246IHsgY3VycmVudDogcGFnZSwgcGFnZVNpemUgfSxcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgLy8g4pSA4pSAIGltcGVyYXRpdmUgaGFuZGxlIOKUgOKUgFxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUoYWN0aW9uUmVmLCAoKSA9PiAoe1xuICAgICAgICByZWxvYWQ6ICgpID0+IHJlbG9hZCgpLFxuICAgICAgICByZWxvYWRBbmRSZXN0OiAoKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBzZXRQYWdlSW5mbyh7IGN1cnJlbnQ6IGRlZmF1bHRDdXJyZW50IH0pO1xuICAgICAgICAgICAgeWllbGQgcmVsb2FkKCk7XG4gICAgICAgIH0pLFxuICAgICAgICByZXNldDogKCkgPT4ge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgKF9hID0gZm9ybVJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EucmVzZXRGaWVsZHMoc2VhcmNoRmllbGROYW1lcyk7XG4gICAgICAgICAgICBzZXRTZWFyY2hQYXJhbXMoc2VhcmNoSW5pdGlhbFZhbHVlcyk7XG4gICAgICAgICAgICBzZXRTb3J0KHt9KTtcbiAgICAgICAgICAgIHNldEZpbHRlcih7fSk7XG4gICAgICAgICAgICByZXNldCgpO1xuICAgICAgICAgICAgdm9pZCByZWxvYWQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0UGFnZUluZm8sXG4gICAgfSkpO1xuICAgIC8vIOKUgOKUgCBzZWFyY2ggZm9ybSBub2RlIChvbmx5IGJ1aWx0IHdoZW4gdGhlcmUgYXJlIHNlYXJjaGFibGUgY29sdW1ucykg4pSA4pSAXG4gICAgbGV0IHNlYXJjaE5vZGUgPSBudWxsO1xuICAgIGlmIChoYXNTZWFyY2gpIHtcbiAgICAgICAgY29uc3Qgc2VhcmNoRm9ybSA9IChfanN4KFF1ZXJ5RmlsdGVyLCB7IGZvcm1SZWY6IGZvcm1SZWYsIHNpemU6IFwic21hbGxcIiwgaW5pdGlhbFZhbHVlczogbWVyZ2VkSW5pdGlhbFZhbHVlcywgZGVmYXVsdENvbGxhcHNlZDogc2VhcmNoQ2ZnID09PSBudWxsIHx8IHNlYXJjaENmZyA9PT0gdm9pZCAwID8gdm9pZCAwIDogc2VhcmNoQ2ZnLmRlZmF1bHRDb2xsYXBzZWQsIGRlZmF1bHRDb2xzTnVtYmVyOiBzZWFyY2hDZmcgPT09IG51bGwgfHwgc2VhcmNoQ2ZnID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzZWFyY2hDZmcuZGVmYXVsdENvbHNOdW1iZXIsIGxhYmVsV2lkdGg6IHNlYXJjaENmZyA9PT0gbnVsbCB8fCBzZWFyY2hDZmcgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNlYXJjaENmZy5sYWJlbFdpZHRoLCBzeW5jVG9Vcmw6IHN5bmNUb1VybCwgc2VhcmNoQ29uZmlnOiB7XG4gICAgICAgICAgICAgICAgc2VhcmNoVGV4dDogKF9hID0gc2VhcmNoQ2ZnID09PSBudWxsIHx8IHNlYXJjaENmZyA9PT0gdm9pZCAwID8gdm9pZCAwIDogc2VhcmNoQ2ZnLnNlYXJjaFRleHQpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IERFRkFVTFRfVEVYVC5zZWFyY2gsXG4gICAgICAgICAgICAgICAgcmVzZXRUZXh0OiAoX2IgPSBzZWFyY2hDZmcgPT09IG51bGwgfHwgc2VhcmNoQ2ZnID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzZWFyY2hDZmcucmVzZXRUZXh0KSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBERUZBVUxUX1RFWFQucmVzZXQsXG4gICAgICAgICAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgICAgICB9LCBvbkZpbmlzaDogaGFuZGxlU2VhcmNoRmluaXNoLCBvblJlc2V0OiBoYW5kbGVTZWFyY2hSZXNldCwgY2hpbGRyZW46IHNlYXJjaEZpZWxkcyB9KSk7XG4gICAgICAgIHNlYXJjaE5vZGUgPSAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnc2VhcmNoJyksIGNoaWxkcmVuOiBzZWFyY2hGb3JtUmVuZGVyID8gc2VhcmNoRm9ybVJlbmRlcihzZWFyY2hGb3JtKSA6IHNlYXJjaEZvcm0gfSkpO1xuICAgIH1cbiAgICByZXR1cm4gKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKHVuZGVmaW5lZCwgY2xhc3NOYW1lKSwgY2hpbGRyZW46IFtzZWFyY2hOb2RlLCBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29udGFpbmVyJyksIGNoaWxkcmVuOiBbX2pzeChUYWJsZSwgeyByb3dLZXk6IHJvd0tleSwgY29sdW1uczogdGFibGVDb2x1bW5zLCBkYXRhU291cmNlOiBkYXRhU291cmNlLCBsb2FkaW5nOiBsb2FkaW5nLCBzaXplOiBzaXplLCBwYWdpbmF0aW9uOiBmYWxzZSwgcm93U2VsZWN0aW9uOiByb3dTZWxlY3Rpb24sIG9uQ2hhbmdlOiBoYW5kbGVUYWJsZUNoYW5nZSwgdmFyaWFudDogdmFyaWFudCwgYm9yZGVyZWQ6IGJvcmRlcmVkLCBzY3JvbGw6IHNjcm9sbCwgc3RpY2t5OiBzdGlja3ksIGV4cGFuZGFibGU6IGV4cGFuZGFibGUsIGVtcHR5OiBlbXB0eSwgdGFibGVMYXlvdXQ6IHRhYmxlTGF5b3V0LCByb3dDbGFzc05hbWU6IHJvd0NsYXNzTmFtZSwgb25Sb3c6IG9uUm93LCBzdW1tYXJ5OiBzdW1tYXJ5LCBmb290ZXI6IGZvb3RlciB9KSwgcGFnaW5hdGVkICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYWdpbmF0aW9uJyksIGNoaWxkcmVuOiBfanN4KFBhZ2luYXRpb24sIHsgdG90YWw6IHBhZ2VJbmZvLnRvdGFsLCBjdXJyZW50OiBwYWdlSW5mby5jdXJyZW50LCBwYWdlU2l6ZTogcGFnZUluZm8ucGFnZVNpemUsIG9uQ2hhbmdlOiBoYW5kbGVQYWdlQ2hhbmdlIH0pIH0pKV0gfSldIH0pKTtcbn1cbmV4cG9ydCBjb25zdCBQcm9UYWJsZSA9IG1lbW8oUHJvVGFibGVJbm5lcik7XG5leHBvcnQgZGVmYXVsdCBQcm9UYWJsZTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
307
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvVGFibGUvUHJvVGFibGUuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1Byb1RhYmxlL1Byb1RhYmxlLnRzeCJdLCJuYW1lcyI6WyJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJhZG9wdCIsInZhbHVlIiwicmVzb2x2ZSIsIlByb21pc2UiLCJyZWplY3QiLCJmdWxmaWxsZWQiLCJzdGVwIiwibmV4dCIsImUiLCJyZWplY3RlZCIsInJlc3VsdCIsImRvbmUiLCJ0aGVuIiwiYXBwbHkiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwibWVtbyIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlTWVtb2l6ZWRGbiIsInVzZVNhZmVTdGF0ZSIsIlBhZ2luYXRpb24iLCJUYWJsZSIsIlF1ZXJ5RmlsdGVyIiwiZGVmYXVsdCIsImNsYXNzbmFtZXMiLCJDU1NfUFJFRklYIiwiREVGQVVMVF9DVVJSRU5UIiwiREVGQVVMVF9QQUdFX1NJWkUiLCJERUZBVUxUX1RFWFQiLCJ1c2VGZXRjaERhdGEiLCJnZW5Db2x1bW5zIiwiYXBwbHlTZWFyY2hUcmFuc2Zvcm1zIiwiZ2VuU2VhcmNoRmllbGRzIiwicmVhZFVybFZhbHVlcyIsInN5bmNUb1VybCIsIndpbmRvdyIsInBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsImxvY2F0aW9uIiwic2VhcmNoIiwiZm9yRWFjaCIsImtleSIsIlByb1RhYmxlSW5uZXIiLCJwcm9wcyIsIl90aGlzIiwiX2EiLCJfYiIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJjbGFzc05hbWUiLCJjb2x1bW5zIiwicmVxdWVzdCIsImNvbnRyb2xsZWREYXRhIiwiZGF0YVNvdXJjZSIsImNvbnRyb2xsZWRMb2FkaW5nIiwibG9hZGluZyIsImRlZmF1bHREYXRhIiwibWFudWFsUmVxdWVzdCIsImRlYm91bmNlVGltZSIsInBvc3REYXRhIiwicG9sbGluZyIsImJlZm9yZVNlYXJjaFN1Ym1pdCIsImNvbHVtbkVtcHR5VGV4dCIsInNlYXJjaEZvcm1SZW5kZXIiLCJfcHJvcHMkcGFnaW5hdGlvbiIsInBhZ2luYXRpb24iLCJfcHJvcHMkc2VhcmNoIiwicm93U2VsZWN0aW9uIiwiYWN0aW9uUmVmIiwib25Mb2FkIiwib25Mb2FkaW5nQ2hhbmdlIiwib25SZXF1ZXN0RXJyb3IiLCJvbkNoYW5nZSIsInJvd0tleSIsIl9wcm9wcyR2YXJpYW50IiwidmFyaWFudCIsImJvcmRlcmVkIiwic2Nyb2xsIiwic3RpY2t5IiwiZXhwYW5kYWJsZSIsImVtcHR5IiwidGFibGVMYXlvdXQiLCJyb3dDbGFzc05hbWUiLCJvblJvdyIsInN1bW1hcnkiLCJmb290ZXIiLCJjbGFzc2VzIiwidGFibGVDb2x1bW5zIiwic2VhcmNoQ2ZnIiwidW5kZWZpbmVkIiwiX3VzZU1lbW8iLCJzZWFyY2hGaWVsZHMiLCJmaWVsZHMiLCJzZWFyY2hJbml0aWFsVmFsdWVzIiwiaW5pdGlhbFZhbHVlcyIsInNlYXJjaEZpZWxkTmFtZXMiLCJuYW1lcyIsImhhc1NlYXJjaCIsImxlbmd0aCIsIm1lcmdlZEluaXRpYWxWYWx1ZXMiLCJPYmplY3QiLCJhc3NpZ24iLCJfdXNlU2FmZVN0YXRlIiwiX3VzZVNhZmVTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInNlYXJjaFBhcmFtcyIsInNldFNlYXJjaFBhcmFtcyIsImZvcm1SZWYiLCJfdXNlU2FmZVN0YXRlMyIsIl91c2VTYWZlU3RhdGU0Iiwic29ydCIsInNldFNvcnQiLCJfdXNlU2FmZVN0YXRlNSIsIl91c2VTYWZlU3RhdGU2IiwiZmlsdGVyIiwic2V0RmlsdGVyIiwicGFnaW5hdGVkIiwiZGVmYXVsdFBhZ2VTaXplIiwicGFnZVNpemUiLCJkZWZhdWx0Q3VycmVudCIsImN1cnJlbnQiLCJtYW51YWwiLCJfdXNlRmV0Y2hEYXRhIiwiZmV0Y2hlZERhdGEiLCJmZXRjaExvYWRpbmciLCJwYWdlSW5mbyIsInNldFBhZ2VJbmZvIiwicmVsb2FkIiwicmVzZXQiLCJoYW5kbGVTZWFyY2hGaW5pc2giLCJ2YWx1ZXMiLCJwZXJDb2x1bW4iLCJmaW5hbFBhcmFtcyIsImhhbmRsZVNlYXJjaFJlc2V0IiwicmVzZXRGaWVsZHMiLCJoYW5kbGVUYWJsZUNoYW5nZSIsIm1ldGEiLCJzb3J0ZXIiLCJfbWV0YSRzb3J0ZXIiLCJjb2x1bW5LZXkiLCJvcmRlciIsIl9kZWZpbmVQcm9wZXJ0eSIsIlN0cmluZyIsImZpbHRlcnMiLCJoYW5kbGVQYWdlQ2hhbmdlIiwicGFnZSIsImN1cnJlbnREYXRhU291cmNlIiwiYWN0aW9uIiwicmVsb2FkQW5kUmVzdCIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJzdG9wIiwic2VhcmNoTm9kZSIsInNlYXJjaEZvcm0iLCJzaXplIiwiZGVmYXVsdENvbGxhcHNlZCIsImRlZmF1bHRDb2xzTnVtYmVyIiwibGFiZWxXaWR0aCIsInNlYXJjaENvbmZpZyIsInNlYXJjaFRleHQiLCJyZXNldFRleHQiLCJvbkZpbmlzaCIsIm9uUmVzZXQiLCJjaGlsZHJlbiIsInRvdGFsIiwiUHJvVGFibGUiXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUlBLFNBQVMsR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxTQUFTLElBQUssVUFBVUMsT0FBTyxFQUFFQyxVQUFVLEVBQUVDLENBQUMsRUFBRUMsU0FBUyxFQUFFO0VBQ3JGLFNBQVNDLEtBQUtBLENBQUNDLEtBQUssRUFBRTtJQUFFLE9BQU9BLEtBQUssWUFBWUgsQ0FBQyxHQUFHRyxLQUFLLEdBQUcsSUFBSUgsQ0FBQyxDQUFDLFVBQVVJLE9BQU8sRUFBRTtNQUFFQSxPQUFPLENBQUNELEtBQUssQ0FBQztJQUFFLENBQUMsQ0FBQztFQUFFO0VBQzNHLE9BQU8sS0FBS0gsQ0FBQyxLQUFLQSxDQUFDLEdBQUdLLE9BQU8sQ0FBQyxFQUFFLFVBQVVELE9BQU8sRUFBRUUsTUFBTSxFQUFFO0lBQ3ZELFNB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QUFBO1VBQ1RvSixLQUFLLEVBQUUzQyxRQUFRLENBQUMyQyxLQUFLO1VBQ3JCaEQsT0FBTyxFQUFFSyxRQUFRLENBQUNMLE9BQU87VUFDekJGLFFBQVEsRUFBRU8sUUFBUSxDQUFDUCxRQUFRO1VBQzNCOUMsUUFBUSxFQUFFd0U7UUFBZ0IsQ0FBQTtNQUMxQixDQUFBLENBRUw7SUFBQSxDQUFBLENBQ0c7RUFBQSxDQUFBLENBQ0Y7QUFFVjtBQUVBLE9BQU8sSUFBTXlCLFFBQVEsZ0JBQUczSixJQUFJLENBQUM0QixhQUFhLENBQXlCO0FBRW5FLGVBQWUrSCxRQUFRIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvVGFibGUvUHJvVGFibGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VJbXBlcmF0aXZlSGFuZGxlLCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlTWVtb2l6ZWRGbiBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZU1lbW9pemVkRm4nO1xuaW1wb3J0IHVzZVNhZmVTdGF0ZSBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZVNhZmVTdGF0ZSc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uIH0gZnJvbSAnLi4vUGFnaW5hdGlvbic7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gJy4uL1RhYmxlJztcbmltcG9ydCB7IFF1ZXJ5RmlsdGVyIH0gZnJvbSAnLi4vUHJvRm9ybSc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IENTU19QUkVGSVgsIERFRkFVTFRfQ1VSUkVOVCwgREVGQVVMVF9QQUdFX1NJWkUsIERFRkFVTFRfVEVYVCB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IHVzZUZldGNoRGF0YSB9IGZyb20gJy4vdXNlRmV0Y2hEYXRhJztcbmltcG9ydCB7IGdlbkNvbHVtbnMgfSBmcm9tICcuL2NvcmUvZ2VuQ29sdW1ucyc7XG5pbXBvcnQgeyBhcHBseVNlYXJjaFRyYW5zZm9ybXMsIGdlblNlYXJjaEZpZWxkcyB9IGZyb20gJy4vY29yZS9nZW5TZWFyY2hGaWVsZHMnO1xuLyoqIFJlYWQgdGhlIGN1cnJlbnQgVVJMIHF1ZXJ5IHN0cmluZyBpbnRvIHNlYXJjaCB2YWx1ZXMsIGFwcGx5aW5nIHRoZSBgJ2dldCdgIHRyYW5zZm9ybS4gKi9cbmZ1bmN0aW9uIHJlYWRVcmxWYWx1ZXMoc3luY1RvVXJsKSB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICByZXR1cm4ge307XG4gICAgY29uc3QgcGFyYW1zID0ge307XG4gICAgbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgIHBhcmFtc1trZXldID0gdmFsdWU7XG4gICAgfSk7XG4gICAgcmV0dXJuIHR5cGVvZiBzeW5jVG9VcmwgPT09ICdmdW5jdGlvbicgPyBzeW5jVG9VcmwocGFyYW1zLCAnZ2V0JykgOiBwYXJhbXM7XG59XG5mdW5jdGlvbiBQcm9UYWJsZUlubmVyKHByb3BzKSB7XG4gICAgdmFyIF9hLCBfYjtcbiAgICBjb25zdCB7IHByZWZpeENscyA9IENTU19QUkVGSVgsIGNsYXNzTmFtZSwgY29sdW1ucywgcmVxdWVzdCwgcGFyYW1zLCBkYXRhU291cmNlOiBjb250cm9sbGVkRGF0YSwgbG9hZGluZzogY29udHJvbGxlZExvYWRpbmcsIGRlZmF1bHREYXRhLCBtYW51YWxSZXF1ZXN0LCBkZWJvdW5jZVRpbWUsIHBvc3REYXRhLCBwb2xsaW5nLCBiZWZvcmVTZWFyY2hTdWJtaXQsIGNvbHVtbkVtcHR5VGV4dCwgc2VhcmNoRm9ybVJlbmRlciwgcGFnaW5hdGlvbiA9IHt9LCBzZWFyY2ggPSB7fSwgcm93U2VsZWN0aW9uLCBhY3Rpb25SZWYsIG9uTG9hZCwgb25Mb2FkaW5nQ2hhbmdlLCBvblJlcXVlc3RFcnJvciwgb25DaGFuZ2UsIHJvd0tleSwgdmFyaWFudCA9ICdzdHJva2UnLCBib3JkZXJlZCwgc2Nyb2xsLCBzdGlja3ksIGV4cGFuZGFibGUsIGVtcHR5LCB0YWJsZUxheW91dCwgcm93Q2xhc3NOYW1lLCBvblJvdywgc3VtbWFyeSwgZm9vdGVyLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCB0YWJsZUNvbHVtbnMgPSB1c2VNZW1vKCgpID0+IGdlbkNvbHVtbnMoY29sdW1ucywgY29sdW1uRW1wdHlUZXh0KSwgW2NvbHVtbnMsIGNvbHVtbkVtcHR5VGV4dF0pO1xuICAgIC8vIOKUgOKUgCBzZWFyY2ggZm9ybSAoYXV0by1nZW5lcmF0ZWQgZnJvbSBjb2x1bW5zKSDilIDilIBcbiAgICBjb25zdCBzZWFyY2hDZmcgPSBzZWFyY2ggPT09IGZhbHNlID8gdW5kZWZpbmVkIDogc2VhcmNoO1xuICAgIGNvbnN0IHsgZmllbGRzOiBzZWFyY2hGaWVsZHMsIGluaXRpYWxWYWx1ZXM6IHNlYXJjaEluaXRpYWxWYWx1ZXMsIG5hbWVzOiBzZWFyY2hGaWVsZE5hbWVzIH0gPSB1c2VNZW1vKCgpID0+IGdlblNlYXJjaEZpZWxkcyhjb2x1bW5zKSwgW2NvbHVtbnNdKTtcbiAgICBjb25zdCBoYXNTZWFyY2ggPSBzZWFyY2ggIT09IGZhbHNlICYmIHNlYXJjaEZpZWxkcy5sZW5ndGggPiAwO1xuICAgIGNvbnN0IHN5bmNUb1VybCA9IHNlYXJjaENmZyA9PT0gbnVsbCB8fCBzZWFyY2hDZmcgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNlYXJjaENmZy5zeW5jVG9Vcmw7XG4gICAgLy8gU2VlZCBpbml0aWFsIHZhbHVlcyAoYW5kIHRoZSBmaXJzdCByZXF1ZXN0KSBmcm9tIHRoZSBVUkwgd2hlbiBzeW5jVG9VcmwgaXMgb24uXG4gICAgY29uc3QgbWVyZ2VkSW5pdGlhbFZhbHVlcyA9IHVzZU1lbW8oKCkgPT4gKHN5bmNUb1VybCA/IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgc2VhcmNoSW5pdGlhbFZhbHVlcyksIHJlYWRVcmxWYWx1ZXMoc3luY1RvVXJsKSkgOiBzZWFyY2hJbml0aWFsVmFsdWVzKSwgXG4gICAgLy8gbW91bnQtb25seSBzbmFwc2hvdCBvZiB0aGUgVVJMXG4gICAgW3NlYXJjaEluaXRpYWxWYWx1ZXNdKTtcbiAgICBjb25zdCBbc2VhcmNoUGFyYW1zLCBzZXRTZWFyY2hQYXJhbXNdID0gdXNlU2FmZVN0YXRlKCgpID0+IG1lcmdlZEluaXRpYWxWYWx1ZXMpO1xuICAgIGNvbnN0IGZvcm1SZWYgPSB1c2VSZWYodW5kZWZpbmVkKTtcbiAgICAvLyDilIDilIAgc2VydmVyIHNvcnQgLyBmaWx0ZXIg4pSA4pSAXG4gICAgY29uc3QgW3NvcnQsIHNldFNvcnRdID0gdXNlU2FmZVN0YXRlKHt9KTtcbiAgICBjb25zdCBbZmlsdGVyLCBzZXRGaWx0ZXJdID0gdXNlU2FmZVN0YXRlKHt9KTtcbiAgICAvLyDilIDilIAgcGFnaW5hdGlvbiBjb25maWcg4pSA4pSAXG4gICAgY29uc3QgcGFnaW5hdGVkID0gcGFnaW5hdGlvbiAhPT0gZmFsc2U7XG4gICAgY29uc3QgZGVmYXVsdFBhZ2VTaXplID0gKHBhZ2luYXRpb24gJiYgcGFnaW5hdGlvbi5kZWZhdWx0UGFnZVNpemUpIHx8IChwYWdpbmF0aW9uICYmIHBhZ2luYXRpb24ucGFnZVNpemUpIHx8IERFRkFVTFRfUEFHRV9TSVpFO1xuICAgIGNvbnN0IGRlZmF1bHRDdXJyZW50ID0gKHBhZ2luYXRpb24gJiYgcGFnaW5hdGlvbi5kZWZhdWx0Q3VycmVudCkgfHwgKHBhZ2luYXRpb24gJiYgcGFnaW5hdGlvbi5jdXJyZW50KSB8fCBERUZBVUxUX0NVUlJFTlQ7XG4gICAgY29uc3QgbWFudWFsID0gY29udHJvbGxlZERhdGEgIT09IHVuZGVmaW5lZCB8fCAhcmVxdWVzdDtcbiAgICBjb25zdCB7IGRhdGFTb3VyY2U6IGZldGNoZWREYXRhLCBsb2FkaW5nOiBmZXRjaExvYWRpbmcsIHBhZ2VJbmZvLCBzZXRQYWdlSW5mbywgcmVsb2FkLCByZXNldCB9ID0gdXNlRmV0Y2hEYXRhKHtcbiAgICAgICAgcmVxdWVzdCxcbiAgICAgICAgbWFudWFsLFxuICAgICAgICBtYW51YWxSZXF1ZXN0LFxuICAgICAgICBkZWJvdW5jZVRpbWUsXG4gICAgICAgIHBvc3REYXRhLFxuICAgICAgICBwb2xsaW5nLFxuICAgICAgICBwYXJhbXMsXG4gICAgICAgIGRlZmF1bHREYXRhLFxuICAgICAgICBwYWdpbmF0ZWQsXG4gICAgICAgIGRlZmF1bHRDdXJyZW50LFxuICAgICAgICBkZWZhdWx0UGFnZVNpemUsXG4gICAgICAgIHNlYXJjaFBhcmFtcyxcbiAgICAgICAgc29ydCxcbiAgICAgICAgZmlsdGVyLFxuICAgICAgICBvbkxvYWQsXG4gICAgICAgIG9uTG9hZGluZ0NoYW5nZSxcbiAgICAgICAgb25SZXF1ZXN0RXJyb3IsXG4gICAgfSk7XG4gICAgY29uc3QgZGF0YVNvdXJjZSA9IGNvbnRyb2xsZWREYXRhICE9PSBudWxsICYmIGNvbnRyb2xsZWREYXRhICE9PSB2b2lkIDAgPyBjb250cm9sbGVkRGF0YSA6IGZldGNoZWREYXRhO1xuICAgIGNvbnN0IGxvYWRpbmcgPSBjb250cm9sbGVkTG9hZGluZyAhPT0gbnVsbCAmJiBjb250cm9sbGVkTG9hZGluZyAhPT0gdm9pZCAwID8gY29udHJvbGxlZExvYWRpbmcgOiAobWFudWFsID8gZmFsc2UgOiBmZXRjaExvYWRpbmcpO1xuICAgIC8vIOKUgOKUgCBoYW5kbGVycyDilIDilIBcbiAgICBjb25zdCBoYW5kbGVTZWFyY2hGaW5pc2ggPSB1c2VNZW1vaXplZEZuKCh2YWx1ZXMpID0+IHtcbiAgICAgICAgY29uc3QgcGVyQ29sdW1uID0gYXBwbHlTZWFyY2hUcmFuc2Zvcm1zKHZhbHVlcywgY29sdW1ucyk7XG4gICAgICAgIGNvbnN0IGZpbmFsUGFyYW1zID0gYmVmb3JlU2VhcmNoU3VibWl0ID8gYmVmb3JlU2VhcmNoU3VibWl0KHBlckNvbHVtbikgOiBwZXJDb2x1bW47XG4gICAgICAgIHNldFNlYXJjaFBhcmFtcyhmaW5hbFBhcmFtcyk7XG4gICAgICAgIHNldFBhZ2VJbmZvKHsgY3VycmVudDogZGVmYXVsdEN1cnJlbnQgfSk7XG4gICAgICAgIHZvaWQgcmVsb2FkKCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU2VhcmNoUmVzZXQgPSB1c2VNZW1vaXplZEZuKCgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICAvLyBVc2UgdGhlIGFycmF5IGZvcm0gKGByZXNldEZpZWxkcyhuYW1lcylgKSB0byByZXNldCBPTkxZIHRoZSBzZWFyY2hcbiAgICAgICAgLy8gZmllbGRzIOKAlCBhIGZ1bGwgcmVzZXQgd291bGQgYWxzbyB3aXBlIG5vbi1zZWFyY2ggZm9ybSBzdGF0ZS5cbiAgICAgICAgKF9hID0gZm9ybVJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EucmVzZXRGaWVsZHMoc2VhcmNoRmllbGROYW1lcyk7XG4gICAgICAgIHNldFNlYXJjaFBhcmFtcyh7fSk7XG4gICAgICAgIHNldFBhZ2VJbmZvKHsgY3VycmVudDogZGVmYXVsdEN1cnJlbnQgfSk7XG4gICAgICAgIHZvaWQgcmVsb2FkKCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVGFibGVDaGFuZ2UgPSB1c2VNZW1vaXplZEZuKChtZXRhKSA9PiB7XG4gICAgICAgIGlmIChtZXRhLnNvcnRlcikge1xuICAgICAgICAgICAgY29uc3QgeyBjb2x1bW5LZXksIG9yZGVyIH0gPSBtZXRhLnNvcnRlcjtcbiAgICAgICAgICAgIHNldFNvcnQoY29sdW1uS2V5ICYmIG9yZGVyID8geyBbU3RyaW5nKGNvbHVtbktleSldOiBvcmRlciB9IDoge30pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtZXRhLmZpbHRlcnMpXG4gICAgICAgICAgICBzZXRGaWx0ZXIobWV0YS5maWx0ZXJzKTtcbiAgICAgICAgaWYgKG1ldGEuc29ydGVyIHx8IG1ldGEuZmlsdGVycylcbiAgICAgICAgICAgIHNldFBhZ2VJbmZvKHsgY3VycmVudDogZGVmYXVsdEN1cnJlbnQgfSk7XG4gICAgICAgIG9uQ2hhbmdlID09PSBudWxsIHx8IG9uQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNoYW5nZShtZXRhKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVQYWdlQ2hhbmdlID0gdXNlTWVtb2l6ZWRGbigocGFnZSwgcGFnZVNpemUpID0+IHtcbiAgICAgICAgc2V0UGFnZUluZm8oeyBjdXJyZW50OiBwYWdlLCBwYWdlU2l6ZSB9KTtcbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKHtcbiAgICAgICAgICAgIGN1cnJlbnREYXRhU291cmNlOiBkYXRhU291cmNlLFxuICAgICAgICAgICAgYWN0aW9uOiAncGFnaW5hdGUnLFxuICAgICAgICAgICAgcGFnaW5hdGlvbjogeyBjdXJyZW50OiBwYWdlLCBwYWdlU2l6ZSB9LFxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICAvLyDilIDilIAgaW1wZXJhdGl2ZSBoYW5kbGUg4pSA4pSAXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShhY3Rpb25SZWYsICgpID0+ICh7XG4gICAgICAgIHJlbG9hZDogKCkgPT4gcmVsb2FkKCksXG4gICAgICAgIHJlbG9hZEFuZFJlc3Q6ICgpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIHNldFBhZ2VJbmZvKHsgY3VycmVudDogZGVmYXVsdEN1cnJlbnQgfSk7XG4gICAgICAgICAgICB5aWVsZCByZWxvYWQoKTtcbiAgICAgICAgfSksXG4gICAgICAgIHJlc2V0OiAoKSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAoX2EgPSBmb3JtUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5yZXNldEZpZWxkcyhzZWFyY2hGaWVsZE5hbWVzKTtcbiAgICAgICAgICAgIHNldFNlYXJjaFBhcmFtcyhzZWFyY2hJbml0aWFsVmFsdWVzKTtcbiAgICAgICAgICAgIHNldFNvcnQoe30pO1xuICAgICAgICAgICAgc2V0RmlsdGVyKHt9KTtcbiAgICAgICAgICAgIHJlc2V0KCk7XG4gICAgICAgICAgICB2b2lkIHJlbG9hZCgpO1xuICAgICAgICB9LFxuICAgICAgICBzZXRQYWdlSW5mbyxcbiAgICB9KSk7XG4gICAgLy8g4pSA4pSAIHNlYXJjaCBmb3JtIG5vZGUgKG9ubHkgYnVpbHQgd2hlbiB0aGVyZSBhcmUgc2VhcmNoYWJsZSBjb2x1bW5zKSDilIDilIBcbiAgICBsZXQgc2VhcmNoTm9kZSA9IG51bGw7XG4gICAgaWYgKGhhc1NlYXJjaCkge1xuICAgICAgICBjb25zdCBzZWFyY2hGb3JtID0gKF9qc3goUXVlcnlGaWx0ZXIsIHsgZm9ybVJlZjogZm9ybVJlZiwgc2l6ZTogXCJzbWFsbFwiLCBpbml0aWFsVmFsdWVzOiBtZXJnZWRJbml0aWFsVmFsdWVzLCBkZWZhdWx0Q29sbGFwc2VkOiBzZWFyY2hDZmcgPT09IG51bGwgfHwgc2VhcmNoQ2ZnID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzZWFyY2hDZmcuZGVmYXVsdENvbGxhcHNlZCwgZGVmYXVsdENvbHNOdW1iZXI6IHNlYXJjaENmZyA9PT0gbnVsbCB8fCBzZWFyY2hDZmcgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNlYXJjaENmZy5kZWZhdWx0Q29sc051bWJlciwgbGFiZWxXaWR0aDogc2VhcmNoQ2ZnID09PSBudWxsIHx8IHNlYXJjaENmZyA9PT0gdm9pZCAwID8gdm9pZCAwIDogc2VhcmNoQ2ZnLmxhYmVsV2lkdGgsIHN5bmNUb1VybDogc3luY1RvVXJsLCBzZWFyY2hDb25maWc6IHtcbiAgICAgICAgICAgICAgICBzZWFyY2hUZXh0OiAoX2EgPSBzZWFyY2hDZmcgPT09IG51bGwgfHwgc2VhcmNoQ2ZnID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzZWFyY2hDZmcuc2VhcmNoVGV4dCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogREVGQVVMVF9URVhULnNlYXJjaCxcbiAgICAgICAgICAgICAgICByZXNldFRleHQ6IChfYiA9IHNlYXJjaENmZyA9PT0gbnVsbCB8fCBzZWFyY2hDZmcgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNlYXJjaENmZy5yZXNldFRleHQpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IERFRkFVTFRfVEVYVC5yZXNldCxcbiAgICAgICAgICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgICAgIH0sIG9uRmluaXNoOiBoYW5kbGVTZWFyY2hGaW5pc2gsIG9uUmVzZXQ6IGhhbmRsZVNlYXJjaFJlc2V0LCBjaGlsZHJlbjogc2VhcmNoRmllbGRzIH0pKTtcbiAgICAgICAgc2VhcmNoTm9kZSA9IChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdzZWFyY2gnKSwgY2hpbGRyZW46IHNlYXJjaEZvcm1SZW5kZXIgPyBzZWFyY2hGb3JtUmVuZGVyKHNlYXJjaEZvcm0pIDogc2VhcmNoRm9ybSB9KSk7XG4gICAgfVxuICAgIHJldHVybiAoX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXModW5kZWZpbmVkLCBjbGFzc05hbWUpLCBjaGlsZHJlbjogW3NlYXJjaE5vZGUsIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb250YWluZXInKSwgY2hpbGRyZW46IFtfanN4KFRhYmxlLCB7IHJvd0tleTogcm93S2V5LCBjb2x1bW5zOiB0YWJsZUNvbHVtbnMsIGRhdGFTb3VyY2U6IGRhdGFTb3VyY2UsIGxvYWRpbmc6IGxvYWRpbmcsIHBhZ2luYXRpb246IGZhbHNlLCByb3dTZWxlY3Rpb246IHJvd1NlbGVjdGlvbiwgb25DaGFuZ2U6IGhhbmRsZVRhYmxlQ2hhbmdlLCB2YXJpYW50OiB2YXJpYW50LCBib3JkZXJlZDogYm9yZGVyZWQsIHNjcm9sbDogc2Nyb2xsLCBzdGlja3k6IHN0aWNreSwgZXhwYW5kYWJsZTogZXhwYW5kYWJsZSwgZW1wdHk6IGVtcHR5LCB0YWJsZUxheW91dDogdGFibGVMYXlvdXQsIHJvd0NsYXNzTmFtZTogcm93Q2xhc3NOYW1lLCBvblJvdzogb25Sb3csIHN1bW1hcnk6IHN1bW1hcnksIGZvb3RlcjogZm9vdGVyIH0pLCBwYWdpbmF0ZWQgJiYgKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhZ2luYXRpb24nKSwgY2hpbGRyZW46IF9qc3goUGFnaW5hdGlvbiwgeyB0b3RhbDogcGFnZUluZm8udG90YWwsIGN1cnJlbnQ6IHBhZ2VJbmZvLmN1cnJlbnQsIHBhZ2VTaXplOiBwYWdlSW5mby5wYWdlU2l6ZSwgb25DaGFuZ2U6IGhhbmRsZVBhZ2VDaGFuZ2UgfSkgfSkpXSB9KV0gfSkpO1xufVxuZXhwb3J0IGNvbnN0IFByb1RhYmxlID0gbWVtbyhQcm9UYWJsZUlubmVyKTtcbmV4cG9ydCBkZWZhdWx0IFByb1RhYmxlOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -1,5 +1,5 @@
1
1
  import type { ReactNode, Ref } from 'react';
2
- import type { TableChangeMeta, TableColumn, TableProps, TableRecord, TableRowSelection, TableSize, TableSortOrder } from "../Table";
2
+ import type { TableChangeMeta, TableColumn, TableProps, TableRecord, TableRowSelection, TableSortOrder } from "../Table";
3
3
  import type { ProFormValueEnumObj } from "../ProForm";
4
4
  import type { ProTableValueType } from './constants';
5
5
  export type { ProTableValueType } from './constants';
@@ -87,7 +87,7 @@ export interface ProTableActionRef {
87
87
  reset: () => void;
88
88
  setPageInfo: (info: Partial<PageInfo>) => void;
89
89
  }
90
- export interface ProTableProps<T extends TableRecord = TableRecord, Params extends Record<string, unknown> = Record<string, unknown>> extends Pick<TableProps<T>, 'rowKey' | 'rowSelection' | 'variant' | 'bordered' | 'scroll' | 'sticky' | 'expandable' | 'empty' | 'tableLayout' | 'rowClassName' | 'onRow' | 'size' | 'summary' | 'footer'> {
90
+ export interface ProTableProps<T extends TableRecord = TableRecord, Params extends Record<string, unknown> = Record<string, unknown>> extends Pick<TableProps<T>, 'rowKey' | 'rowSelection' | 'variant' | 'bordered' | 'scroll' | 'sticky' | 'expandable' | 'empty' | 'tableLayout' | 'rowClassName' | 'onRow' | 'summary' | 'footer'> {
91
91
  prefixCls?: string;
92
92
  className?: string;
93
93
  /**
@@ -122,7 +122,6 @@ export interface ProTableProps<T extends TableRecord = TableRecord, Params exten
122
122
  pagination?: false | ProTablePaginationConfig;
123
123
  search?: false | SearchConfig;
124
124
  rowSelection?: TableRowSelection<T>;
125
- size?: TableSize;
126
125
  actionRef?: Ref<ProTableActionRef>;
127
126
  onLoad?: (data: T[]) => void;
128
127
  onLoadingChange?: (loading: boolean) => void;