@1money/component-ui 0.0.76 → 0.0.77
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.
- package/es/components/ProForm/ProForm.d.ts +1 -1
- package/es/components/ProForm/ProForm.js +2 -3
- package/es/components/ProForm/ProFormDependency.d.ts +2 -1
- package/es/components/ProForm/ProFormDependency.js +1 -1
- package/es/components/ProForm/ProFormItem.d.ts +7 -2
- package/es/components/ProForm/ProFormItem.js +1 -1
- package/es/components/ProForm/ProFormList.d.ts +6 -1
- package/es/components/ProForm/ProFormList.js +13 -5
- package/es/components/ProForm/SchemaForm.d.ts +1 -1
- package/es/components/ProForm/SchemaForm.js +8 -5
- package/es/components/ProForm/context.d.ts +8 -7
- package/es/components/ProForm/context.js +1 -1
- package/es/components/ProForm/core/constants.d.ts +1 -1
- package/es/components/ProForm/core/constants.js +2 -2
- package/es/components/ProForm/core/formStore.d.ts +4 -4
- package/es/components/ProForm/core/formStore.js +1 -1
- package/es/components/ProForm/core/hooks/useForm.d.ts +1 -1
- package/es/components/ProForm/core/hooks/useForm.js +34 -9
- package/es/components/ProForm/core/hooks/useFormCore.d.ts +2 -2
- package/es/components/ProForm/core/hooks/useFormCore.js +17 -123
- package/es/components/ProForm/core/interface.d.ts +70 -91
- package/es/components/ProForm/core/namePathType.d.ts +25 -0
- package/es/components/ProForm/core/namePathType.js +2 -0
- package/es/components/ProForm/core/pathUtils.d.ts +5 -3
- package/es/components/ProForm/core/pathUtils.js +19 -1
- package/es/components/ProForm/core/runRules.d.ts +8 -17
- package/es/components/ProForm/core/runRules.js +22 -129
- package/es/components/ProForm/core/useFormItem.d.ts +1 -1
- package/es/components/ProForm/core/useFormItem.js +14 -66
- package/es/components/ProForm/core/validationError.d.ts +2 -2
- package/es/components/ProForm/core/validationError.js +1 -1
- package/es/components/ProForm/fields/ProFormCheckbox.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormCheckboxGroup.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormCheckboxGroup.js +1 -1
- package/es/components/ProForm/fields/ProFormDatePicker.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormDatePicker.js +1 -1
- package/es/components/ProForm/fields/ProFormFieldSet.d.ts +7 -2
- package/es/components/ProForm/fields/ProFormFieldSet.js +5 -7
- package/es/components/ProForm/fields/ProFormPassword.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormRadioGroup.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormRadioGroup.js +1 -1
- package/es/components/ProForm/fields/ProFormSelect.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormSelect.js +1 -1
- package/es/components/ProForm/fields/ProFormSlider.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormSwitch.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormText.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormTextArea.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormUpload.d.ts +1 -1
- package/es/components/ProForm/fields/ProFormUpload.js +1 -1
- package/es/components/ProForm/fields/createProFormField.d.ts +8 -2
- package/es/components/ProForm/fields/createProFormField.js +3 -3
- package/es/components/ProForm/hooks/useFieldRequest.d.ts +1 -1
- package/es/components/ProForm/hooks/useFieldRequest.js +1 -1
- package/es/components/ProForm/hooks/useUrlSync.d.ts +8 -7
- package/es/components/ProForm/hooks/useUrlSync.js +1 -1
- package/es/components/ProForm/index.d.ts +35 -26
- package/es/components/ProForm/index.js +1 -1
- package/es/components/ProForm/interface.d.ts +96 -91
- package/es/components/ProForm/layouts/DialogForm.d.ts +1 -1
- package/es/components/ProForm/layouts/DialogForm.js +1 -1
- package/es/components/ProForm/layouts/DrawerForm.d.ts +1 -1
- package/es/components/ProForm/layouts/DrawerForm.js +1 -1
- package/es/components/ProForm/layouts/QueryFilter.d.ts +1 -1
- package/es/components/ProForm/layouts/QueryFilter.js +1 -1
- package/es/components/ProForm/layouts/useOverlayForm.d.ts +2 -2
- package/es/components/ProForm/layouts/useOverlayForm.js +1 -1
- package/es/components/ProForm/utils.d.ts +8 -8
- package/es/components/ProForm/utils.js +1 -1
- package/es/index.css +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/lib/components/ProForm/ProForm.d.ts +1 -1
- package/lib/components/ProForm/ProForm.js +2 -3
- package/lib/components/ProForm/ProFormDependency.d.ts +2 -1
- package/lib/components/ProForm/ProFormDependency.js +1 -1
- package/lib/components/ProForm/ProFormItem.d.ts +7 -2
- package/lib/components/ProForm/ProFormItem.js +1 -1
- package/lib/components/ProForm/ProFormList.d.ts +6 -1
- package/lib/components/ProForm/ProFormList.js +13 -5
- package/lib/components/ProForm/SchemaForm.d.ts +1 -1
- package/lib/components/ProForm/SchemaForm.js +8 -5
- package/lib/components/ProForm/context.d.ts +8 -7
- package/lib/components/ProForm/context.js +1 -1
- package/lib/components/ProForm/core/constants.d.ts +1 -1
- package/lib/components/ProForm/core/constants.js +2 -2
- package/lib/components/ProForm/core/formStore.d.ts +4 -4
- package/lib/components/ProForm/core/formStore.js +1 -1
- package/lib/components/ProForm/core/hooks/useForm.d.ts +1 -1
- package/lib/components/ProForm/core/hooks/useForm.js +34 -9
- package/lib/components/ProForm/core/hooks/useFormCore.d.ts +2 -2
- package/lib/components/ProForm/core/hooks/useFormCore.js +16 -122
- package/lib/components/ProForm/core/interface.d.ts +70 -91
- package/lib/components/ProForm/core/namePathType.d.ts +25 -0
- package/lib/components/ProForm/core/namePathType.js +6 -0
- package/lib/components/ProForm/core/pathUtils.d.ts +5 -3
- package/lib/components/ProForm/core/pathUtils.js +20 -1
- package/lib/components/ProForm/core/runRules.d.ts +8 -17
- package/lib/components/ProForm/core/runRules.js +22 -130
- package/lib/components/ProForm/core/useFormItem.d.ts +1 -1
- package/lib/components/ProForm/core/useFormItem.js +17 -69
- package/lib/components/ProForm/core/validationError.d.ts +2 -2
- package/lib/components/ProForm/core/validationError.js +1 -1
- package/lib/components/ProForm/fields/ProFormCheckbox.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormCheckboxGroup.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormCheckboxGroup.js +1 -1
- package/lib/components/ProForm/fields/ProFormDatePicker.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormDatePicker.js +1 -1
- package/lib/components/ProForm/fields/ProFormFieldSet.d.ts +7 -2
- package/lib/components/ProForm/fields/ProFormFieldSet.js +5 -7
- package/lib/components/ProForm/fields/ProFormPassword.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormRadioGroup.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormRadioGroup.js +1 -1
- package/lib/components/ProForm/fields/ProFormSelect.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormSelect.js +1 -1
- package/lib/components/ProForm/fields/ProFormSlider.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormSwitch.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormText.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormTextArea.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormUpload.d.ts +1 -1
- package/lib/components/ProForm/fields/ProFormUpload.js +1 -1
- package/lib/components/ProForm/fields/createProFormField.d.ts +8 -2
- package/lib/components/ProForm/fields/createProFormField.js +3 -3
- package/lib/components/ProForm/hooks/useFieldRequest.d.ts +1 -1
- package/lib/components/ProForm/hooks/useFieldRequest.js +1 -1
- package/lib/components/ProForm/hooks/useUrlSync.d.ts +8 -7
- package/lib/components/ProForm/hooks/useUrlSync.js +1 -1
- package/lib/components/ProForm/index.d.ts +35 -26
- package/lib/components/ProForm/index.js +1 -1
- package/lib/components/ProForm/interface.d.ts +96 -91
- package/lib/components/ProForm/layouts/DialogForm.d.ts +1 -1
- package/lib/components/ProForm/layouts/DialogForm.js +1 -1
- package/lib/components/ProForm/layouts/DrawerForm.d.ts +1 -1
- package/lib/components/ProForm/layouts/DrawerForm.js +1 -1
- package/lib/components/ProForm/layouts/QueryFilter.d.ts +1 -1
- package/lib/components/ProForm/layouts/QueryFilter.js +1 -1
- package/lib/components/ProForm/layouts/useOverlayForm.d.ts +2 -2
- package/lib/components/ProForm/layouts/useOverlayForm.js +1 -1
- package/lib/components/ProForm/utils.d.ts +8 -8
- package/lib/components/ProForm/utils.js +1 -1
- package/lib/index.css +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/package.json +1 -1
- package/scripts/mcp-server/examples.generated.json +53 -17
- package/scripts/mcp-server/index.generated.json +1734 -160
|
@@ -29,4 +29,4 @@ var ProFormUpload = exports.ProFormUpload = (0, _createProFormField.createProFor
|
|
|
29
29
|
});
|
|
30
30
|
ProFormUpload.displayName = 'ProFormUpload';
|
|
31
31
|
var _default = exports["default"] = ProFormUpload;
|
|
32
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9Qcm9Gb3JtVXBsb2FkLnRzeCIsImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybVVwbG9hZC5qcyJdLCJuYW1lcyI6WyJfVXBsb2FkIiwicmVxdWlyZSIsIl9jcmVhdGVQcm9Gb3JtRmllbGQiLCJfdXRpbHMiLCJyZW5kZXJVcGxvYWRSZWFkb25seSIsInZhbHVlIiwidW5kZWZpbmVkIiwiX3R5cGVvZjIiLCJmaWxlcyIsImxlbmd0aCIsIkFycmF5IiwiZnJvbSIsIm1hcCIsImYiLCJuYW1lIiwiam9pbiIsInJlbmRlclRleHRSZWFkb25seSIsIlByb0Zvcm1VcGxvYWQiLCJleHBvcnRzIiwiY3JlYXRlUHJvRm9ybUZpZWxkIiwiY29tcG9uZW50IiwiVXBsb2FkIiwicmVuZGVyUmVhZG9ubHkiLCJkaXNwbGF5TmFtZSIsIl9kZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLG1CQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFFQSxTQUFTRyxvQkFBb0JBLENBQUNDLEtBQVUsRUFBQTtFQUN0QyxJQUFJQSxLQUFLLEtBQUssSUFBSSxJQUFJQSxLQUFLLEtBQUtDLFNBQVMsRUFBRSxPQUFPLEdBQUc7RUFFckQ7RUFDQSxJQUFJLElBQUFDLFFBQUEsYUFBT0YsS0FBSyxNQUFLLFFBQVEsSUFBSSxRQUFRLElBQUtBLEtBQWdCLEVBQUU7SUFDOUQsSUFBTUcsS0FBSyxHQUFHSCxLQUFpQjtJQUMvQixJQUFJRyxLQUFLLENBQUNDLE1BQU0sS0FBSyxDQUFDLEVBQUUsT0FBTyxHQUFHO0lBQ2xDLE9BQU9DLEtBQUssQ0FBQ0MsSUFBSSxDQUFDSCxLQUFLLENBQUMsQ0FBQ0ksR0FBRyxDQUFDLFVBQUNDLENBQUM7TUFBQSxPQUFLQSxDQUFDLENBQUNDLElBQUk7SUFBQSxFQUFDLENBQUNDLElBQUksQ0FBQyxJQUFJLENBQUM7RUFDeEQ7RUFFQTtFQUNBLElBQUksT0FBT1YsS0FBSyxLQUFLLFFBQVEsRUFBRSxPQUFPQSxLQUFLLElBQUksR0FBRztFQUVsRCxPQUFPLElBQUFXLHlCQUFrQixFQUFDWCxLQUFLLENBQVc7QUFDNUM7QUFFTyxJQUFNWSxhQUFhLEdBQUFDLE9BQUEsQ0FBQUQsYUFBQSxHQUFHLElBQUFFLHNDQUFrQixFQUFjO0VBQzNEQyxTQUFTLEVBQUVDLGNBQU07RUFDakJDLGNBQWMsRUFBRWxCO0FDRmxCLENER0MsQ0FBQztBQUVGYSxhQUFhLENBQUNNLFdBQVcsR0FBRyxlQUFlO0FBQUMsSUFBQUMsUUFBQSxHQUFBTixPQUFBLGNBRTdCRCxhQUFhIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvUHJvRm9ybVVwbG9hZC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHsgVXBsb2FkIH0gZnJvbSAnLi4vLi4vVXBsb2FkJztcbmltcG9ydCB7IGNyZWF0ZVByb0Zvcm1GaWVsZCB9IGZyb20gJy4vY3JlYXRlUHJvRm9ybUZpZWxkJztcbmltcG9ydCB7IHJlbmRlclRleHRSZWFkb25seSB9IGZyb20gJy4uL3V0aWxzJztcbmZ1bmN0aW9uIHJlbmRlclVwbG9hZFJlYWRvbmx5KHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpXG4gICAgICAgIHJldHVybiAnLSc7XG4gICAgLy8gRmlsZUxpc3RcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAnbGVuZ3RoJyBpbiB2YWx1ZSkge1xuICAgICAgICBjb25zdCBmaWxlcyA9IHZhbHVlO1xuICAgICAgICBpZiAoZmlsZXMubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuICctJztcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oZmlsZXMpLm1hcCgoZikgPT4gZi5uYW1lKS5qb2luKCcsICcpO1xuICAgIH1cbiAgICAvLyBTdHJpbmcgKGUuZy4gcHJlLWZpbGxlZCBmaWxlIG5hbWUpXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpXG4gICAgICAgIHJldHVybiB2YWx1ZSB8fCAnLSc7XG4gICAgcmV0dXJuIHJlbmRlclRleHRSZWFkb25seSh2YWx1ZSk7XG59XG5leHBvcnQgY29uc3QgUHJvRm9ybVVwbG9hZCA9IGNyZWF0ZVByb0Zvcm1GaWVsZCh7XG4gICAgY29tcG9uZW50OiBVcGxvYWQsXG4gICAgcmVuZGVyUmVhZG9ubHk6IHJlbmRlclVwbG9hZFJlYWRvbmx5LFxufSk7XG5Qcm9Gb3JtVXBsb2FkLmRpc3BsYXlOYW1lID0gJ1Byb0Zvcm1VcGxvYWQnO1xuZXhwb3J0IGRlZmF1bHQgUHJvRm9ybVVwbG9hZDsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
import type { ProFormFieldName } from '../core/namePathType';
|
|
2
3
|
import type { CreateProFormFieldConfig, ProFormFieldProps } from '../interface';
|
|
3
|
-
export declare function createProFormField<FieldProps extends object>(config: CreateProFormFieldConfig<FieldProps>):
|
|
4
|
+
export declare function createProFormField<FieldProps extends object>(config: CreateProFormFieldConfig<FieldProps>): ProFormFieldComponent<FieldProps>;
|
|
4
5
|
export default createProFormField;
|
|
6
|
+
export interface ProFormFieldComponent<FieldProps extends object> {
|
|
7
|
+
(props: ProFormFieldProps<FieldProps, Record<string, any>, string>): ReactElement | null;
|
|
8
|
+
<Values, Name extends ProFormFieldName<Values> = ProFormFieldName<Values>, FieldParams = Record<string, any>>(props: ProFormFieldProps<FieldProps, Values, Name, FieldParams>): ReactElement | null;
|
|
9
|
+
displayName?: string;
|
|
10
|
+
}
|
|
@@ -151,7 +151,7 @@ function createProFormField(config) {
|
|
|
151
151
|
});
|
|
152
152
|
};
|
|
153
153
|
// Outer component — handles auto-wrapping with ProFormDependency
|
|
154
|
-
var
|
|
154
|
+
var ProFormFieldComponentBase = function ProFormFieldComponentBase(props) {
|
|
155
155
|
var dependencies = props.dependencies;
|
|
156
156
|
if (dependencies && dependencies.length > 0) {
|
|
157
157
|
return (0, _jsxRuntime.jsx)(_ProFormDependency.ProFormDependency, {
|
|
@@ -165,8 +165,8 @@ function createProFormField(config) {
|
|
|
165
165
|
}
|
|
166
166
|
return (0, _jsxRuntime.jsx)(InnerField, Object.assign({}, props));
|
|
167
167
|
};
|
|
168
|
-
var MemoizedField = /*#__PURE__*/(0, _react.memo)(
|
|
168
|
+
var MemoizedField = /*#__PURE__*/(0, _react.memo)(ProFormFieldComponentBase);
|
|
169
169
|
return MemoizedField;
|
|
170
170
|
}
|
|
171
171
|
var _default = exports["default"] = createProFormField;
|
|
172
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvY3JlYXRlUHJvRm9ybUZpZWxkLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL2NyZWF0ZVByb0Zvcm1GaWVsZC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3VzZURlYm91bmNlZENhbGxiYWNrMiIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUHJvRm9ybUl0ZW0iLCJfUHJvRm9ybURlcGVuZGVuY3kiLCJfY29udGV4dCIsIl91c2VGaWVsZFJlcXVlc3QzIiwiX3V0aWxzIiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJjcmVhdGVQcm9Gb3JtRmllbGQiLCJjb25maWciLCJDb21wb25lbnQiLCJjb21wb25lbnQiLCJ2YWx1ZVByb3BOYW1lIiwiZGVmYXVsdFZhbHVlVHlwZSIsInZhbHVlVHlwZSIsIm1hcFByb3BzIiwicmVuZGVyUmVhZG9ubHkiLCJNZW1vaXplZENvbXBvbmVudCIsIm1lbW8iLCJkaXNwbGF5TmFtZSIsIm5hbWUiLCJJbm5lckZpZWxkIiwicHJvcHMiLCJfYSIsIl9iIiwiX2MiLCJsYWJlbCIsImRlc2NyaXB0aW9uIiwicnVsZXMiLCJmZWVkYmFjayIsInZhbGlkYXRlU3RhdHVzIiwibW9kZSIsImhpZGRlbiIsImNvbFByb3BzIiwiZmllbGRQcm9wcyIsInBsYWNlaG9sZGVyIiwiZGlzYWJsZWQiLCJ3aWR0aCIsInRyYW5zZm9ybSIsImNvbnZlcnRWYWx1ZSIsIl9kZXBzIiwiZGVwZW5kZW5jaWVzIiwicmVxdWVzdCIsInBhcmFtcyIsInZhbHVlRW51bSIsImRlYm91bmNlVGltZSIsInZhbGlkYXRlRGVib3VuY2UiLCJ2YWxpZGF0ZVRyaWdnZXIiLCJkZXBlbmRlbmNpZXNWYWx1ZXMiLCJyZXN0IiwiX3VzZVByb0Zvcm1TdGFibGUiLCJ1c2VQcm9Gb3JtU3RhYmxlIiwiY29udGV4dEZpZWxkUHJvcHMiLCJmb3JtRGlzYWJsZWQiLCJtZXJnZWRSZXF1ZXN0UGFyYW1zIiwiYXNzaWduIiwiX3VzZUZpZWxkUmVxdWVzdCIsInVzZUZpZWxkUmVxdWVzdCIsIl91c2VGaWVsZFJlcXVlc3QyIiwiX3NsaWNlZFRvQXJyYXkyIiwicmVxdWVzdExvYWRpbmciLCJyZXF1ZXN0T3B0aW9ucyIsIm1hcHBlZCIsInVzZXJPbkNoYW5nZSIsIm9uQ2hhbmdlIiwiX3VzZURlYm91bmNlZENhbGxiYWNrIiwidXNlRGVib3VuY2VkQ2FsbGJhY2siLCJhcHBseSIsImFyZ3VtZW50cyIsImRlYm91bmNlZE9uQ2hhbmdlIiwicnVuIiwid2lkdGhTdHlsZSIsInVuZGVmaW5lZCIsInJlc29sdmVXaWR0aCIsImZpZWxkU3R5bGUiLCJzdHlsZSIsIm1lcmdlZFN0eWxlIiwibWVyZ2VkT3B0aW9ucyIsIm9wdGlvbnMiLCJ2YWx1ZUVudW1Ub09wdGlvbnMiLCJjb21wb25lbnRQcm9wcyIsImxvYWRpbmciLCJfanN4IiwiUHJvRm9ybUl0ZW0iLCJyZWFkb25seVJlbmRlciIsInZhbHVlIiwiY2hpbGRyZW4iLCJQcm9Gb3JtRmllbGRDb21wb25lbnQiLCJQcm9Gb3JtRGVwZW5kZW5jeSIsImRlcFZhbHVlcyIsIk1lbW9pemVkRmllbGQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLHNCQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxZQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxrQkFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sUUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8saUJBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLE1BQUEsR0FBQVIsT0FBQTtBRFBBLElBQUlTLE1BQU0sR0FBSSxVQUFRLFNBQUtBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNsRCxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ1YsS0FBSyxJQUFJQyxDQUFDLElBQUlILENBQUMsRUFBRSxJQUFJSSxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDLElBQUlGLENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQy9FRCxDQUFDLENBQUNDLENBQUMsQ0FBQyxHQUFHSCxDQUFDLENBQUNHLENBQUMsQ0FBQztFQUNmLElBQUlILENBQUMsSUFBSSxJQUFJLElBQUksT0FBT0ksTUFBTSxDQUFDSyxxQkFBcUIsS0FBSyxVQUFVLEVBQy9ELEtBQUssSUFBSUMsQ0FBQyxHQUFHLENBQUMsRUFBRVAsQ0FBQyxHQUFHQyxNQUFNLENBQUNLLHFCQUFxQixDQUFDVCxDQUFDLENBQUMsRUFBRVUsQ0FBQyxHQUFHUCxDQUFDLENBQUNRLE1BQU0sRUFBRUQsQ0FBQyxFQUFFLEVBQUU7SUFDcEUsSUFBSVQsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUlOLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDTyxvQkFBb0IsQ0FBQ0wsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUMsRUFDMUVSLENBQUMsQ0FBQ0MsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQyxHQUFHVixDQUFDLENBQUNHLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUM7RUFDekI7RUFDSixPQUFPUixDQUFDO0FBQ1osQ0FBQztBQ0NEO0FBQ0E7QUFDQTtBQUNNLFNBQVVXLGtCQUFrQkEsQ0FDaENDLE1BQTRDLEVBQUE7RUFFNUMsSUFDYUMsU0FBUyxHQUtsQkQsTUFBTSxDQUxSRSxTQUFTO0lBQ1RDLGFBQWEsR0FJWEgsTUFBTSxDQUpSRyxhQUFhO0lBQ0ZDLGdCQUFnQixHQUd6QkosTUFBTSxDQUhSSyxTQUFTO0lBQ1RDLFFBQVEsR0FFTk4sTUFBTSxDQUZSTSxRQUFRO0lBQ1JDLGNBQWMsR0FDWlAsTUFBTSxDQURSTyxjQUFjO0VBR2hCO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsSUFBTUMsaUJBQWlCLGdCQUFHLElBQUFDLFdBQUksRUFBQ1IsU0FBUyxDQUFDO0VBQ3pDTyxpQkFBaUIsQ0FBQ0UsV0FBVyxHQUMxQlQsU0FBc0MsQ0FBQ1MsV0FBVyxJQUFJVCxTQUFTLENBQUNVLElBQUk7RUFFdkU7RUFDQSxJQUFNQyxVQUFVLEdBQXlGLFNBQW5HQSxVQUFVQSxDQUEwRkMsS0FBSyxFQUFJO0lERDdHLElBQUlDLEVBQUUsRUFBRUMsRUFBRTtJQ0VSLElBQUFDLEVBQUEsR0EyQkZILEtBQXlGO01BMUIzRkYsSUFBSSxHQXdCY0ssRUFFeUUsQ0ExQjNGTCxJQUFJO01BQ0pNLEtBQUssR0F1QmFELEVBRXlFLENBekIzRkMsS0FBSztNQUNMQyxXQUFXLEdBc0JPRixFQUV5RSxDQXhCM0ZFLFdBQVc7TUFDWEMsS0FBSyxHQXFCYUgsRUFFeUUsQ0F2QjNGRyxLQUFLO01BQ0xDLFFBQVEsR0FvQlVKLEVBRXlFLENBdEIzRkksUUFBUTtNQUNSQyxjQUFjLEdBbUJJTCxFQUV5RSxDQXJCM0ZLLGNBQWM7TUFDZEMsSUFBSSxHQWtCY04sRUFFeUUsQ0FwQjNGTSxJQUFJO01BQ0pDLE1BQU0sR0FpQllQLEVBRXlFLENBbkIzRk8sTUFBTTtNQUNOQyxRQUFRLEdBZ0JVUixFQUV5RSxDQWxCM0ZRLFFBQVE7TUFDUkMsVUFBVSxHQWVRVCxFQUV5RSxDQWpCM0ZTLFVBQVU7TUFDVkMsV0FBVyxHQWNPVixFQUV5RSxDQWhCM0ZVLFdBQVc7TUFDWEMsUUFBUSxHQWFVWCxFQUV5RSxDQWYzRlcsUUFBUTtNQUNSQyxLQUFLLEdBWWFaLEVBRXlFLENBZDNGWSxLQUFLO01BQ0xDLFNBQVMsR0FXU2IsRUFFeUUsQ0FiM0ZhLFNBQVM7TUFDVEMsWUFBWSxHQVVNZCxFQUV5RSxDQVozRmMsWUFBWTtNQUVFQyxLQUFLLEdBUURmLEVBRXlFLENBVjNGZ0IsWUFBWTtNQUNaQyxPQUFPLEdBT1dqQixFQUV5RSxDQVQzRmlCLE9BQU87TUFDUEMsTUFBTSxHQU1ZbEIsRUFFeUUsQ0FSM0ZrQixNQUFNO01BQ05DLFNBQVMsR0FLU25CLEVBRXlFLENBUDNGbUIsU0FBUztNQUNUQyxZQUFZLEdBSU1wQixFQUV5RSxDQU4zRm9CLFlBQVk7TUFDWkMsZ0JBQWdCLEdBR0VyQixFQUV5RSxDQUwzRnFCLGdCQUFnQjtNQUNoQkMsZUFBZSxHQUVHdEIsRUFFeUUsQ0FKM0ZzQixlQUFlO01BQ2ZqQyxTQUFTLEdBQ1NXLEVBRXlFLENBSDNGWCxTQUFTO01BQ1RrQyxrQkFBa0IsR0FBQXZCLEVBRXlFLENBRjNGdUIsa0JBQWtCO01BQ2ZDLElBQUksR0FBQXZELE1BQUEsQ0FBQStCLEVBQUEsRUExQkgsQ0FBQSxNQUFBLEVBQUEsT0FBQSxFQUFBLGFBQUEsRUFBQSxPQUFBLEVBQUEsVUFBQSxFQUFBLGdCQUFBLEVBQUEsTUFBQSxFQUFBLFFBQUEsRUFBQSxVQUFBLEVBQUEsWUFBQSxFQUFBLGFBQUEsRUFBQSxVQUFBLEVBQUEsT0FBQSxFQUFBLFdBQUEsRUFBQSxjQUFBLEVBQUEsY0FBQSxFQUFBLFNBQUEsRUFBQSxRQUFBLEVBQUEsV0FBQSxFQUFBLGNBQUEsRUFBQSxrQkFBQSxFQUFBLGlCQUFBLEVBQUEsV0FBQSxFQUFBLG9CQUFBLENBMkJMLENBQTRGOztJQUU3RjtJQUNBO0lBQ0E7SUFDQSxJQUFBeUIsaUJBQUEsR0FHSSxJQUFBQyx5QkFBZ0IsRUFBQSxDQUFFO01BRlJDLGlCQUFpQixHQUFBRixpQkFBQSxDQUE3QmhCLFVBQVU7TUFDQW1CLFlBQVksR0FBQUgsaUJBQUEsQ0FBdEJkLFFBQVE7SUFHVjtJQUNBLElBQU1rQixtQkFBbUIsR0FBR04sa0JBQWtCLEdBQzNDakQsTUFBQSxDQUFBd0QsTUFBQSxDQUFBeEQsTUFBQSxDQUFBd0QsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUFNWixNQUFNLENBQUEsRUFBS0ssa0JBQWtCLENBQUEsR0FDbENMLE1BQU07SUFDVixJQUFBYSxnQkFBQSxHQUF5QyxJQUFBQyxpQ0FBZSxFQUFDZixPQUFPLEVBQUVZLG1CQUFtQixDQUFDO01BQUFJLGlCQUFBLE9BQUFDLGVBQUEsYUFBQUgsZ0JBQUE7TUFBL0VJLGNBQWMsR0FBQUYsaUJBQUE7TUFBRUcsY0FBYyxHQUFBSCxpQkFBQTtJQUVyQztJQUNBLElBQU1JLE1BQU0sR0FBRy9DLFFBQVEsR0FBR0EsUUFBUSxDQUFDa0MsSUFBK0IsQ0FBQyxHQUFHLENBQUEsQ0FBRTtJQUV4RTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsSUFBTWMsWUFBWSxHQUFJLENBQUF2QyxFQUFBLEdBQUEsQ0FBQUQsRUFBQSxHQUFDVyxVQUFzQyxLQUFBLElBQUEsSUFBdENBLFVBQVUsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBVkEsVUFBVSxDQUE4QjhCLFFBQVEsTUFBQSxJQUFBLElBQUF6QyxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FDakU2QixpQkFBeUQsS0FBQSxJQUFBLElBQXpEQSxpQkFBaUIsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBakJBLGlCQUFpQixDQUEwQ1ksUUFBUSxNQUFBLElBQUEsSUFBQXhDLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUNuRXNDLE1BQWtDLEtBQUEsSUFBQSxJQUFsQ0EsTUFBTSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFOQSxNQUFNLENBQThCRSxRQUFvRDtJQUM5RixJQUFBQyxxQkFBQSxHQUFtQyxJQUFBQyxpQ0FBb0IsRUFDckQ7UUFBQSxPQUF3QkgsWUFBWSxLQUFBLElBQUEsSUFBWkEsWUFBWSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFaQSxZQUFZLENBQUFJLEtBQUEsU0FBQUMsU0FBVSxDQUFDO01BQUEsR0FDL0N2QixZQUFZLENBQ2I7TUFIWXdCLGlCQUFpQixHQUFBSixxQkFBQSxDQUF0QkssR0FBRztJQUlYLElBQU1DLFVBQVUsR0FBR2xDLEtBQUssS0FBS21DLFNBQVMsR0FBRztNQUFFbkMsS0FBSyxFQUFFLElBQUFvQyxtQkFBWSxFQUFDcEMsS0FBSztJQUFDLENBQUUsR0FBR21DLFNBQVM7SUFDbkYsSUFBTUUsVUFBVSxHQUFJeEMsVUFBc0MsS0FBQSxJQUFBLElBQXRDQSxVQUFVLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQVZBLFVBQVUsQ0FBOEJ5QyxLQUE0QztJQUN4RyxJQUFNQyxXQUFXLEdBQUdMLFVBQVUsR0FDM0J4RSxNQUFBLENBQUF3RCxNQUFBLENBQUF4RCxNQUFBLENBQUF3RCxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQU9tQixVQUFVLElBQUksQ0FBQSxDQUFHLENBQUEsRUFBS0gsVUFBVSxDQUFBLEdBQ3RDRyxVQUFVO0lBRWQ7SUFDQTtJQUNBO0lBQ0E7SUFDQSxJQUFJRyxhQUFhLEdBQUkzQyxVQUFzQyxLQUFBLElBQUEsSUFBdENBLFVBQVUsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBVkEsVUFBVSxDQUE4QjRDLE9BQWdDO0lBQzdGLElBQUlsQyxTQUFTLEVBQUU7TUFDYmlDLGFBQWEsR0FBRyxJQUFBRSx5QkFBa0IsRUFBQ25DLFNBQVMsQ0FBQztJQUMvQztJQUNBLElBQUlGLE9BQU8sRUFBRTtNQUNYbUMsYUFBYSxHQUFHaEIsY0FBYztJQUNoQztJQUVBLElBQU1tQixjQUFjLEdBQUdqRixNQUFBLENBQUF3RCxNQUFBLENBQUF4RCxNQUFBLENBQUF3RCxNQUFBLENBQUF4RCxNQUFBLENBQUF3RCxNQUFBLENBQUF4RCxNQUFBLENBQUF3RCxNQUFBLENBQUF4RCxNQUFBLENBQUF3RCxNQUFBLENBQUF4RCxNQUFBLENBQUF3RCxNQUFBLENBQUF4RCxNQUFBLENBQUF3RCxNQUFBLENBQUF4RCxNQUFBLENBQUF3RCxNQUFBLENBQUF4RCxNQUFBLENBQUF3RCxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ2xCTyxNQUFNLENBQUEsRUFHTFQsWUFBWSxHQUFHO01BQUVqQixRQUFRLEVBQUU7SUFBSSxDQUFFLEdBQUcsQ0FBQSxDQUFHLENBQUEsRUFDdkNnQixpQkFBaUIsSUFBSSxDQUFBLENBQUcsQ0FBQSxFQUN4QmxCLFVBQVUsSUFBSSxDQUFBLENBQUcsQ0FBQSxFQUNqQjJDLGFBQWEsS0FBS0wsU0FBUyxHQUFHO01BQUVNLE9BQU8sRUFBRUQ7SUFBYSxDQUFFLEdBQUcsQ0FBQSxDQUFHLENBQUEsRUFDOURqQixjQUFjLEdBQUc7TUFBRXFCLE9BQU8sRUFBRTtJQUFJLENBQUUsR0FBRyxDQUFBLENBQUcsQ0FBQSxFQUN4QzlDLFdBQVcsS0FBS3FDLFNBQVMsR0FBRztNQUFFckMsV0FBVyxFQUFYQTtJQUFXLENBQUUsR0FBRyxDQUFBLENBQUcsQ0FBQSxFQUNqREMsUUFBUSxLQUFLb0MsU0FBUyxHQUFHO01BQUVwQyxRQUFRLEVBQVJBO0lBQVEsQ0FBRSxHQUFHLENBQUEsQ0FBRyxDQUFBLEVBQzNDd0MsV0FBVyxHQUFHO01BQUVELEtBQUssRUFBRUM7SUFBVyxDQUFFLEdBQUcsQ0FBQSxDQUFHLENBQ2pDO0lBRWY7SUFDQTtJQUNBLElBQUkvQixZQUFZLElBQUlBLFlBQVksR0FBRyxDQUFDLEVBQUU7TUFDbkNtQyxjQUEwQyxDQUFDaEIsUUFBUSxHQUFHSyxpQkFBaUI7SUFDMUU7SUFFQSxPQUNFLElBQUFhLGVBQUEsRUFBQ0Msd0JBQVcsRUFBQTtNQUNWL0QsSUFBSSxFQUFFQSxJQUFJO01BQ1ZNLEtBQUssRUFBRUEsS0FBSztNQUNaQyxXQUFXLEVBQUVBLFdBQVc7TUFDeEJDLEtBQUssRUFBRUEsS0FBSztNQUNaQyxRQUFRLEVBQUVBLFFBQVE7TUFDbEJDLGNBQWMsRUFBRUEsY0FBNEM7TUFDNURFLE1BQU0sRUFBRUEsTUFBTTtNQUNkRCxJQUFJLEVBQUVBLElBQUk7TUFDVkUsUUFBUSxFQUFFQSxRQUFRO01BQ2xCSyxTQUFTLEVBQUVBLFNBQVM7TUFDcEJDLFlBQVksRUFBRUEsWUFBWTtNQUMxQjNCLGFBQWEsRUFBRUEsYUFBYTtNQUM1QmtDLGdCQUFnQixFQUFFQSxnQkFBZ0I7TUFDbENDLGVBQWUsRUFBRUEsZUFBZTtNQUNoQ2pDLFNBQVMsRUFBRUEsU0FBUyxLQUFBLElBQUEsSUFBVEEsU0FBUyxLQUFBLEtBQUEsQ0FBQSxHQUFUQSxTQUFTLEdBQUlELGdCQUFnQjtNQUN4QztNQUNBO01BQ0F1RSxjQUFjLEVBQ1pwRSxjQUFjLEdBQ1YsVUFBQ3FFLEtBQUs7UUFBQSxPQUFLckUsY0FBYyxDQUFDcUUsS0FBSyxFQUFFTCxjQUFxQyxDQUFDO01BQUEsSUFDdkVSLFNBQVM7TUFBQWMsUUFBQSxFQUdmLElBQUFKLGVBQUEsRUFBQ2pFLGlCQUFpQixFQUFBbEIsTUFBQSxDQUFBd0QsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUFLeUIsY0FBYyxDQUFBO0lBQUksQ0FBQSxDQUM3QjtFQUVsQixDQUFDO0VBRUQ7RUFDQSxJQUFNTyxxQkFBcUIsR0FBc0MsU0FBM0RBLHFCQUFxQkEsQ0FBdUNqRSxLQUFLLEVBQUk7SUFDekUsSUFBUW1CLFlBQVksR0FBS25CLEtBQUssQ0FBdEJtQixZQUFZO0lBRXBCLElBQUlBLFlBQVksSUFBSUEsWUFBWSxDQUFDbkMsTUFBTSxHQUFHLENBQUMsRUFBRTtNQUMzQyxPQUNFLElBQUE0RSxlQUFBLEVBQUNNLG9DQUFpQixFQUFBO1FBQUNwRSxJQUFJLEVBQUVxQixZQUFZO1FBQUE2QyxRQUFBLEVBQ2xDLFNBRGtDQSxRQUFBQSxDQUNqQ0csU0FBUztVQUFBLE9BQ1QsSUFBQVAsZUFBQSxFQUFDN0QsVUFBVSxFQUFBdEIsTUFBQSxDQUFBd0QsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUFLakMsS0FBSyxFQUFBO1lBQUUwQixrQkFBa0IsRUFBRXlDO1VBQVMsQ0FBQSxDQUFBLENBQUk7UUFBQTtNQUN6RCxDQUFBLENBQ2lCO0lBRXhCO0lBRUEsT0FBTyxJQUFBUCxlQUFBLEVBQUM3RCxVQUFVLEVBQUF0QixNQUFBLENBQUF3RCxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQUtqQyxLQUFLLENBQUEsQ0FBSTtFQUNsQyxDQUFDO0VBRUQsSUFBTW9FLGFBQWEsZ0JBQUcsSUFBQXhFLFdBQUksRUFBQ3FFLHFCQUFxQixDQUFDO0VBQ2pELE9BQU9HLGFBQWE7QUFDdEI7QUFBQyxJQUFBQyxRQUFBLEdBQUFDLE9BQUEsY0FFY3BGLGtCQUFrQiIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL2NyZWF0ZVByb0Zvcm1GaWVsZC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZURlYm91bmNlZENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRGVib3VuY2VkQ2FsbGJhY2snO1xuaW1wb3J0IHsgUHJvRm9ybUl0ZW0gfSBmcm9tICcuLi9Qcm9Gb3JtSXRlbSc7XG5pbXBvcnQgeyBQcm9Gb3JtRGVwZW5kZW5jeSB9IGZyb20gJy4uL1Byb0Zvcm1EZXBlbmRlbmN5JztcbmltcG9ydCB7IHVzZVByb0Zvcm1TdGFibGUgfSBmcm9tICcuLi9jb250ZXh0JztcbmltcG9ydCB7IHVzZUZpZWxkUmVxdWVzdCB9IGZyb20gJy4uL2hvb2tzL3VzZUZpZWxkUmVxdWVzdCc7XG5pbXBvcnQgeyByZXNvbHZlV2lkdGgsIHZhbHVlRW51bVRvT3B0aW9ucyB9IGZyb20gJy4uL3V0aWxzJztcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gY3JlYXRlUHJvRm9ybUZpZWxkIOKAlCBmYWN0b3J5IHRoYXQgcHJvZHVjZXMgYSBQcm9Gb3JtLWF3YXJlIGZpZWxkIGNvbXBvbmVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUHJvRm9ybUZpZWxkKGNvbmZpZykge1xuICAgIGNvbnN0IHsgY29tcG9uZW50OiBDb21wb25lbnQsIHZhbHVlUHJvcE5hbWUsIHZhbHVlVHlwZTogZGVmYXVsdFZhbHVlVHlwZSwgbWFwUHJvcHMsIHJlbmRlclJlYWRvbmx5LCB9ID0gY29uZmlnO1xuICAgIC8vIE1lbW8gYm91bmRhcnkgYXJvdW5kIHRoZSB3cmFwcGVkIGNvbnRyb2w6IGNvbWJpbmVkIHdpdGggdGhlIHN0YWJsZVxuICAgIC8vIGluamVjdGVkIGhhbmRsZXJzIGZyb20gdXNlRm9ybUl0ZW0sIGZpZWxkcyB3aG9zZSB2YWx1ZSBkaWRuJ3QgY2hhbmdlIGNhblxuICAgIC8vIGJhaWwgb3V0IHdoaWxlIGFub3RoZXIgZmllbGQgaW4gdGhlIGZvcm0gaXMgdHlwaW5nLiBkaXNwbGF5TmFtZSBtdXN0IGJlXG4gICAgLy8gY2FycmllZCBvdmVyIOKAlCBpbmplY3RGaWVsZCB1c2VzIGl0IHRvIHJlY29nbml6ZSBmb3JtIGNvbnRyb2xzLlxuICAgIGNvbnN0IE1lbW9pemVkQ29tcG9uZW50ID0gbWVtbyhDb21wb25lbnQpO1xuICAgIE1lbW9pemVkQ29tcG9uZW50LmRpc3BsYXlOYW1lID1cbiAgICAgICAgQ29tcG9uZW50LmRpc3BsYXlOYW1lIHx8IENvbXBvbmVudC5uYW1lO1xuICAgIC8vIElubmVyIGNvbXBvbmVudCDigJQgaGFuZGxlcyBtb2RlLCByZXF1ZXN0LCB2YWx1ZUVudW0sIGRlYm91bmNlLCByZW5kZXJcbiAgICBjb25zdCBJbm5lckZpZWxkID0gKHByb3BzKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGNvbnN0IF9jID0gcHJvcHMsIHsgbmFtZSwgbGFiZWwsIGRlc2NyaXB0aW9uLCBydWxlcywgZmVlZGJhY2ssIHZhbGlkYXRlU3RhdHVzLCBtb2RlLCBoaWRkZW4sIGNvbFByb3BzLCBmaWVsZFByb3BzLCBwbGFjZWhvbGRlciwgZGlzYWJsZWQsIHdpZHRoLCB0cmFuc2Zvcm0sIGNvbnZlcnRWYWx1ZSwgXG4gICAgICAgIC8vIEZpZWxkLWxldmVsIGZlYXR1cmVzXG4gICAgICAgIGRlcGVuZGVuY2llczogX2RlcHMsIHJlcXVlc3QsIHBhcmFtcywgdmFsdWVFbnVtLCBkZWJvdW5jZVRpbWUsIHZhbGlkYXRlRGVib3VuY2UsIHZhbGlkYXRlVHJpZ2dlciwgdmFsdWVUeXBlLCBkZXBlbmRlbmNpZXNWYWx1ZXMgfSA9IF9jLCByZXN0ID0gX19yZXN0KF9jLCBbXCJuYW1lXCIsIFwibGFiZWxcIiwgXCJkZXNjcmlwdGlvblwiLCBcInJ1bGVzXCIsIFwiZmVlZGJhY2tcIiwgXCJ2YWxpZGF0ZVN0YXR1c1wiLCBcIm1vZGVcIiwgXCJoaWRkZW5cIiwgXCJjb2xQcm9wc1wiLCBcImZpZWxkUHJvcHNcIiwgXCJwbGFjZWhvbGRlclwiLCBcImRpc2FibGVkXCIsIFwid2lkdGhcIiwgXCJ0cmFuc2Zvcm1cIiwgXCJjb252ZXJ0VmFsdWVcIiwgXCJkZXBlbmRlbmNpZXNcIiwgXCJyZXF1ZXN0XCIsIFwicGFyYW1zXCIsIFwidmFsdWVFbnVtXCIsIFwiZGVib3VuY2VUaW1lXCIsIFwidmFsaWRhdGVEZWJvdW5jZVwiLCBcInZhbGlkYXRlVHJpZ2dlclwiLCBcInZhbHVlVHlwZVwiLCBcImRlcGVuZGVuY2llc1ZhbHVlc1wiXSk7XG4gICAgICAgIC8vIEZvcm0tbGV2ZWwgZmllbGRQcm9wcyAobG93ZXN0IHByaW9yaXR5IGFmdGVyIG1hcFByb3BzIGRlZmF1bHRzKS5cbiAgICAgICAgLy8gU3RhYmxlIHNsaWNlIG9ubHkg4oCUIHRoZSBmaWVsZCBzaGVsbCBtdXN0IE5PVCByZS1yZW5kZXIgcGVyIGtleXN0cm9rZTtcbiAgICAgICAgLy8gdmFsdWUvZXJyb3IgcmVhY3Rpdml0eSBsaXZlcyBpbnNpZGUgUHJvRm9ybUl0ZW0uXG4gICAgICAgIGNvbnN0IHsgZmllbGRQcm9wczogY29udGV4dEZpZWxkUHJvcHMsIGRpc2FibGVkOiBmb3JtRGlzYWJsZWQsIH0gPSB1c2VQcm9Gb3JtU3RhYmxlKCk7XG4gICAgICAgIC8vIOKUgOKUgCBGaWVsZC1sZXZlbCByZXF1ZXN0IOKUgOKUgFxuICAgICAgICBjb25zdCBtZXJnZWRSZXF1ZXN0UGFyYW1zID0gZGVwZW5kZW5jaWVzVmFsdWVzXG4gICAgICAgICAgICA/IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgcGFyYW1zKSwgZGVwZW5kZW5jaWVzVmFsdWVzKSA6IHBhcmFtcztcbiAgICAgICAgY29uc3QgW3JlcXVlc3RMb2FkaW5nLCByZXF1ZXN0T3B0aW9uc10gPSB1c2VGaWVsZFJlcXVlc3QocmVxdWVzdCwgbWVyZ2VkUmVxdWVzdFBhcmFtcyk7XG4gICAgICAgIC8vIEJ1aWxkIHRoZSBmaWVsZCBjaGlsZFxuICAgICAgICBjb25zdCBtYXBwZWQgPSBtYXBQcm9wcyA/IG1hcFByb3BzKHJlc3QpIDoge307XG4gICAgICAgIC8vIOKUgOKUgCBEZWJvdW5jZSBvbkNoYW5nZSDilIDilIBcbiAgICAgICAgLy8gVGhlIGVmZmVjdGl2ZSBvbkNoYW5nZSBpcyB3aGF0ZXZlciBlbmRzIHVwIG9uIHRoZSBmaWVsZCAoZmllbGRQcm9wcyB3aW5zXG4gICAgICAgIC8vIG92ZXIgbWFwcGVkLCBtYXRjaGluZyB0aGUgc3ByZWFkIG9yZGVyIGJlbG93KS4gdXNlRGVib3VuY2VkQ2FsbGJhY2sgcmVhZHNcbiAgICAgICAgLy8gdGhlIGxhdGVzdCBjYWxsYmFjayBpbnRlcm5hbGx5LCBzbyB0aGUgd3JhcHBlciBuZXZlciBnb2VzIHN0YWxlIGFuZCB0aGVcbiAgICAgICAgLy8gcGVuZGluZyBjYWxsIGlzIGF1dG8tY2FuY2VsbGVkIG9uIHVubW91bnQuXG4gICAgICAgIGNvbnN0IHVzZXJPbkNoYW5nZSA9ICgoX2IgPSAoX2EgPSBmaWVsZFByb3BzID09PSBudWxsIHx8IGZpZWxkUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZpZWxkUHJvcHMub25DaGFuZ2UpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGNvbnRleHRGaWVsZFByb3BzID09PSBudWxsIHx8IGNvbnRleHRGaWVsZFByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjb250ZXh0RmllbGRQcm9wcy5vbkNoYW5nZSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogbWFwcGVkID09PSBudWxsIHx8IG1hcHBlZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogbWFwcGVkLm9uQ2hhbmdlKTtcbiAgICAgICAgY29uc3QgeyBydW46IGRlYm91bmNlZE9uQ2hhbmdlIH0gPSB1c2VEZWJvdW5jZWRDYWxsYmFjaygoLi4uYXJncykgPT4gdXNlck9uQ2hhbmdlID09PSBudWxsIHx8IHVzZXJPbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogdXNlck9uQ2hhbmdlKC4uLmFyZ3MpLCBkZWJvdW5jZVRpbWUpO1xuICAgICAgICBjb25zdCB3aWR0aFN0eWxlID0gd2lkdGggIT09IHVuZGVmaW5lZCA/IHsgd2lkdGg6IHJlc29sdmVXaWR0aCh3aWR0aCkgfSA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgZmllbGRTdHlsZSA9IGZpZWxkUHJvcHMgPT09IG51bGwgfHwgZmllbGRQcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogZmllbGRQcm9wcy5zdHlsZTtcbiAgICAgICAgY29uc3QgbWVyZ2VkU3R5bGUgPSB3aWR0aFN0eWxlXG4gICAgICAgICAgICA/IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgKGZpZWxkU3R5bGUgfHwge30pKSwgd2lkdGhTdHlsZSkgOiBmaWVsZFN0eWxlO1xuICAgICAgICAvLyBNZXJnZSB2YWx1ZUVudW0gKyByZXF1ZXN0IG9wdGlvbnMgaW50byBmaWVsZFByb3BzLm9wdGlvbnMuIEEgY29uZmlndXJlZFxuICAgICAgICAvLyByZXF1ZXN0IGlzIEFVVEhPUklUQVRJVkU6IGFuIGVtcHR5IHJlc3VsdCBtZWFucyBcIm5vIG9wdGlvbnNcIiDigJQgZmFsbGluZ1xuICAgICAgICAvLyBiYWNrIHRvIHZhbHVlRW51bS9maWVsZFByb3BzLm9wdGlvbnMgd291bGQgc2hvdyBvcHRpb25zIHRoZSBzZXJ2ZXIganVzdFxuICAgICAgICAvLyBzYWlkIGRvbid0IGV4aXN0LlxuICAgICAgICBsZXQgbWVyZ2VkT3B0aW9ucyA9IGZpZWxkUHJvcHMgPT09IG51bGwgfHwgZmllbGRQcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogZmllbGRQcm9wcy5vcHRpb25zO1xuICAgICAgICBpZiAodmFsdWVFbnVtKSB7XG4gICAgICAgICAgICBtZXJnZWRPcHRpb25zID0gdmFsdWVFbnVtVG9PcHRpb25zKHZhbHVlRW51bSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlcXVlc3QpIHtcbiAgICAgICAgICAgIG1lcmdlZE9wdGlvbnMgPSByZXF1ZXN0T3B0aW9ucztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb21wb25lbnRQcm9wcyA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBtYXBwZWQpLCAoZm9ybURpc2FibGVkID8geyBkaXNhYmxlZDogdHJ1ZSB9IDoge30pKSwgKGNvbnRleHRGaWVsZFByb3BzIHx8IHt9KSksIChmaWVsZFByb3BzIHx8IHt9KSksIChtZXJnZWRPcHRpb25zICE9PSB1bmRlZmluZWQgPyB7IG9wdGlvbnM6IG1lcmdlZE9wdGlvbnMgfSA6IHt9KSksIChyZXF1ZXN0TG9hZGluZyA/IHsgbG9hZGluZzogdHJ1ZSB9IDoge30pKSwgKHBsYWNlaG9sZGVyICE9PSB1bmRlZmluZWQgPyB7IHBsYWNlaG9sZGVyIH0gOiB7fSkpLCAoZGlzYWJsZWQgIT09IHVuZGVmaW5lZCA/IHsgZGlzYWJsZWQgfSA6IHt9KSksIChtZXJnZWRTdHlsZSA/IHsgc3R5bGU6IG1lcmdlZFN0eWxlIH0gOiB7fSkpO1xuICAgICAgICAvLyBXaXJlIGRlYm91bmNlLiBUaGUgd3JhcHBlciBmb3J3YXJkcyB0byB0aGUgbGF0ZXN0IHVzZXIgb25DaGFuZ2UgdmlhXG4gICAgICAgIC8vIGBvbkNoYW5nZUxhdGVzdGAsIHNvIG5vIG5lZWQgdG8gc3Rhc2ggaXQgb24gYSByZWYgaGVyZS5cbiAgICAgICAgaWYgKGRlYm91bmNlVGltZSAmJiBkZWJvdW5jZVRpbWUgPiAwKSB7XG4gICAgICAgICAgICBjb21wb25lbnRQcm9wcy5vbkNoYW5nZSA9IGRlYm91bmNlZE9uQ2hhbmdlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoX2pzeChQcm9Gb3JtSXRlbSwgeyBuYW1lOiBuYW1lLCBsYWJlbDogbGFiZWwsIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbiwgcnVsZXM6IHJ1bGVzLCBmZWVkYmFjazogZmVlZGJhY2ssIHZhbGlkYXRlU3RhdHVzOiB2YWxpZGF0ZVN0YXR1cywgaGlkZGVuOiBoaWRkZW4sIG1vZGU6IG1vZGUsIGNvbFByb3BzOiBjb2xQcm9wcywgdHJhbnNmb3JtOiB0cmFuc2Zvcm0sIGNvbnZlcnRWYWx1ZTogY29udmVydFZhbHVlLCB2YWx1ZVByb3BOYW1lOiB2YWx1ZVByb3BOYW1lLCB2YWxpZGF0ZURlYm91bmNlOiB2YWxpZGF0ZURlYm91bmNlLCB2YWxpZGF0ZVRyaWdnZXI6IHZhbGlkYXRlVHJpZ2dlciwgdmFsdWVUeXBlOiB2YWx1ZVR5cGUgIT09IG51bGwgJiYgdmFsdWVUeXBlICE9PSB2b2lkIDAgPyB2YWx1ZVR5cGUgOiBkZWZhdWx0VmFsdWVUeXBlLCBcbiAgICAgICAgICAgIC8vIFRoZSByZW5kZXJlciBnZXRzIHRoZSBSRVNPTFZFRCBjb21wb25lbnQgcHJvcHMgKHZhbHVlRW51bS9yZXF1ZXN0XG4gICAgICAgICAgICAvLyBhbHJlYWR5IG1lcmdlZCBpbnRvIGBvcHRpb25zYCkgc28gaXQgY2FuIG1hcCB2YWx1ZXMgdG8gbGFiZWxzLlxuICAgICAgICAgICAgcmVhZG9ubHlSZW5kZXI6IHJlbmRlclJlYWRvbmx5XG4gICAgICAgICAgICAgICAgPyAodmFsdWUpID0+IHJlbmRlclJlYWRvbmx5KHZhbHVlLCBjb21wb25lbnRQcm9wcylcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCwgY2hpbGRyZW46IF9qc3goTWVtb2l6ZWRDb21wb25lbnQsIE9iamVjdC5hc3NpZ24oe30sIGNvbXBvbmVudFByb3BzKSkgfSkpO1xuICAgIH07XG4gICAgLy8gT3V0ZXIgY29tcG9uZW50IOKAlCBoYW5kbGVzIGF1dG8td3JhcHBpbmcgd2l0aCBQcm9Gb3JtRGVwZW5kZW5jeVxuICAgIGNvbnN0IFByb0Zvcm1GaWVsZENvbXBvbmVudCA9IChwcm9wcykgPT4ge1xuICAgICAgICBjb25zdCB7IGRlcGVuZGVuY2llcyB9ID0gcHJvcHM7XG4gICAgICAgIGlmIChkZXBlbmRlbmNpZXMgJiYgZGVwZW5kZW5jaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiAoX2pzeChQcm9Gb3JtRGVwZW5kZW5jeSwgeyBuYW1lOiBkZXBlbmRlbmNpZXMsIGNoaWxkcmVuOiAoZGVwVmFsdWVzKSA9PiAoX2pzeChJbm5lckZpZWxkLCBPYmplY3QuYXNzaWduKHt9LCBwcm9wcywgeyBkZXBlbmRlbmNpZXNWYWx1ZXM6IGRlcFZhbHVlcyB9KSkpIH0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2pzeChJbm5lckZpZWxkLCBPYmplY3QuYXNzaWduKHt9LCBwcm9wcykpO1xuICAgIH07XG4gICAgY29uc3QgTWVtb2l6ZWRGaWVsZCA9IG1lbW8oUHJvRm9ybUZpZWxkQ29tcG9uZW50KTtcbiAgICByZXR1cm4gTWVtb2l6ZWRGaWVsZDtcbn1cbmV4cG9ydCBkZWZhdWx0IGNyZWF0ZVByb0Zvcm1GaWVsZDsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
172
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvY3JlYXRlUHJvRm9ybUZpZWxkLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL2NyZWF0ZVByb0Zvcm1GaWVsZC50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3VzZURlYm91bmNlZENhbGxiYWNrMiIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUHJvRm9ybUl0ZW0iLCJfUHJvRm9ybURlcGVuZGVuY3kiLCJfY29udGV4dCIsIl91c2VGaWVsZFJlcXVlc3QzIiwiX3V0aWxzIiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJjcmVhdGVQcm9Gb3JtRmllbGQiLCJjb25maWciLCJDb21wb25lbnQiLCJjb21wb25lbnQiLCJ2YWx1ZVByb3BOYW1lIiwiZGVmYXVsdFZhbHVlVHlwZSIsInZhbHVlVHlwZSIsIm1hcFByb3BzIiwicmVuZGVyUmVhZG9ubHkiLCJNZW1vaXplZENvbXBvbmVudCIsIm1lbW8iLCJkaXNwbGF5TmFtZSIsIm5hbWUiLCJJbm5lckZpZWxkIiwicHJvcHMiLCJfYSIsIl9iIiwiX2MiLCJsYWJlbCIsImRlc2NyaXB0aW9uIiwicnVsZXMiLCJmZWVkYmFjayIsInZhbGlkYXRlU3RhdHVzIiwibW9kZSIsImhpZGRlbiIsImNvbFByb3BzIiwiZmllbGRQcm9wcyIsInBsYWNlaG9sZGVyIiwiZGlzYWJsZWQiLCJ3aWR0aCIsInRyYW5zZm9ybSIsImNvbnZlcnRWYWx1ZSIsIl9kZXBzIiwiZGVwZW5kZW5jaWVzIiwicmVxdWVzdCIsInBhcmFtcyIsInZhbHVlRW51bSIsImRlYm91bmNlVGltZSIsInZhbGlkYXRlRGVib3VuY2UiLCJ2YWxpZGF0ZVRyaWdnZXIiLCJkZXBlbmRlbmNpZXNWYWx1ZXMiLCJyZXN0IiwiX3VzZVByb0Zvcm1TdGFibGUiLCJ1c2VQcm9Gb3JtU3RhYmxlIiwiY29udGV4dEZpZWxkUHJvcHMiLCJmb3JtRGlzYWJsZWQiLCJtZXJnZWRSZXF1ZXN0UGFyYW1zIiwiYXNzaWduIiwiX3VzZUZpZWxkUmVxdWVzdCIsInVzZUZpZWxkUmVxdWVzdCIsIl91c2VGaWVsZFJlcXVlc3QyIiwiX3NsaWNlZFRvQXJyYXkyIiwicmVxdWVzdExvYWRpbmciLCJyZXF1ZXN0T3B0aW9ucyIsIm1hcHBlZCIsInVzZXJPbkNoYW5nZSIsIm9uQ2hhbmdlIiwiX3VzZURlYm91bmNlZENhbGxiYWNrIiwidXNlRGVib3VuY2VkQ2FsbGJhY2siLCJhcHBseSIsImFyZ3VtZW50cyIsImRlYm91bmNlZE9uQ2hhbmdlIiwicnVuIiwid2lkdGhTdHlsZSIsInVuZGVmaW5lZCIsInJlc29sdmVXaWR0aCIsImZpZWxkU3R5bGUiLCJzdHlsZSIsIm1lcmdlZFN0eWxlIiwibWVyZ2VkT3B0aW9ucyIsIm9wdGlvbnMiLCJ2YWx1ZUVudW1Ub09wdGlvbnMiLCJjb21wb25lbnRQcm9wcyIsImxvYWRpbmciLCJfanN4IiwiUHJvRm9ybUl0ZW0iLCJyZWFkb25seVJlbmRlciIsInZhbHVlIiwiY2hpbGRyZW4iLCJQcm9Gb3JtRmllbGRDb21wb25lbnRCYXNlIiwiUHJvRm9ybURlcGVuZGVuY3kiLCJkZXBWYWx1ZXMiLCJNZW1vaXplZEZpZWxkIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxzQkFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksWUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssa0JBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFFBQUEsR0FBQU4s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VUFBVSxFQUFBdEIsTUFBQSxDQUFBd0QsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUFLakMsS0FBSyxDQUFBLENBQUk7RUFDbEMsQ0FBQztFQUVELElBQU1vRSxhQUFhLGdCQUFHLElBQUF4RSxXQUFJLEVBQUNxRSx5QkFBeUIsQ0FBQztFQUNyRCxPQUFPRyxhQUF5RDtBQUNsRTtBQUFDLElBQUFDLFFBQUEsR0FBQUMsT0FBQSxjQUVjcEYsa0JBQWtCIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvY3JlYXRlUHJvRm9ybUZpZWxkLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlRGVib3VuY2VkQ2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VEZWJvdW5jZWRDYWxsYmFjayc7XG5pbXBvcnQgeyBQcm9Gb3JtSXRlbSB9IGZyb20gJy4uL1Byb0Zvcm1JdGVtJztcbmltcG9ydCB7IFByb0Zvcm1EZXBlbmRlbmN5IH0gZnJvbSAnLi4vUHJvRm9ybURlcGVuZGVuY3knO1xuaW1wb3J0IHsgdXNlUHJvRm9ybVN0YWJsZSB9IGZyb20gJy4uL2NvbnRleHQnO1xuaW1wb3J0IHsgdXNlRmllbGRSZXF1ZXN0IH0gZnJvbSAnLi4vaG9va3MvdXNlRmllbGRSZXF1ZXN0JztcbmltcG9ydCB7IHJlc29sdmVXaWR0aCwgdmFsdWVFbnVtVG9PcHRpb25zIH0gZnJvbSAnLi4vdXRpbHMnO1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBjcmVhdGVQcm9Gb3JtRmllbGQg4oCUIGZhY3RvcnkgdGhhdCBwcm9kdWNlcyBhIFByb0Zvcm0tYXdhcmUgZmllbGQgY29tcG9uZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcm9Gb3JtRmllbGQoY29uZmlnKSB7XG4gICAgY29uc3QgeyBjb21wb25lbnQ6IENvbXBvbmVudCwgdmFsdWVQcm9wTmFtZSwgdmFsdWVUeXBlOiBkZWZhdWx0VmFsdWVUeXBlLCBtYXBQcm9wcywgcmVuZGVyUmVhZG9ubHksIH0gPSBjb25maWc7XG4gICAgLy8gTWVtbyBib3VuZGFyeSBhcm91bmQgdGhlIHdyYXBwZWQgY29udHJvbDogY29tYmluZWQgd2l0aCB0aGUgc3RhYmxlXG4gICAgLy8gaW5qZWN0ZWQgaGFuZGxlcnMgZnJvbSB1c2VGb3JtSXRlbSwgZmllbGRzIHdob3NlIHZhbHVlIGRpZG4ndCBjaGFuZ2UgY2FuXG4gICAgLy8gYmFpbCBvdXQgd2hpbGUgYW5vdGhlciBmaWVsZCBpbiB0aGUgZm9ybSBpcyB0eXBpbmcuIGRpc3BsYXlOYW1lIG11c3QgYmVcbiAgICAvLyBjYXJyaWVkIG92ZXIg4oCUIGluamVjdEZpZWxkIHVzZXMgaXQgdG8gcmVjb2duaXplIGZvcm0gY29udHJvbHMuXG4gICAgY29uc3QgTWVtb2l6ZWRDb21wb25lbnQgPSBtZW1vKENvbXBvbmVudCk7XG4gICAgTWVtb2l6ZWRDb21wb25lbnQuZGlzcGxheU5hbWUgPVxuICAgICAgICBDb21wb25lbnQuZGlzcGxheU5hbWUgfHwgQ29tcG9uZW50Lm5hbWU7XG4gICAgLy8gSW5uZXIgY29tcG9uZW50IOKAlCBoYW5kbGVzIG1vZGUsIHJlcXVlc3QsIHZhbHVlRW51bSwgZGVib3VuY2UsIHJlbmRlclxuICAgIGNvbnN0IElubmVyRmllbGQgPSAocHJvcHMpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgY29uc3QgX2MgPSBwcm9wcywgeyBuYW1lLCBsYWJlbCwgZGVzY3JpcHRpb24sIHJ1bGVzLCBmZWVkYmFjaywgdmFsaWRhdGVTdGF0dXMsIG1vZGUsIGhpZGRlbiwgY29sUHJvcHMsIGZpZWxkUHJvcHMsIHBsYWNlaG9sZGVyLCBkaXNhYmxlZCwgd2lkdGgsIHRyYW5zZm9ybSwgY29udmVydFZhbHVlLCBcbiAgICAgICAgLy8gRmllbGQtbGV2ZWwgZmVhdHVyZXNcbiAgICAgICAgZGVwZW5kZW5jaWVzOiBfZGVwcywgcmVxdWVzdCwgcGFyYW1zLCB2YWx1ZUVudW0sIGRlYm91bmNlVGltZSwgdmFsaWRhdGVEZWJvdW5jZSwgdmFsaWRhdGVUcmlnZ2VyLCB2YWx1ZVR5cGUsIGRlcGVuZGVuY2llc1ZhbHVlcyB9ID0gX2MsIHJlc3QgPSBfX3Jlc3QoX2MsIFtcIm5hbWVcIiwgXCJsYWJlbFwiLCBcImRlc2NyaXB0aW9uXCIsIFwicnVsZXNcIiwgXCJmZWVkYmFja1wiLCBcInZhbGlkYXRlU3RhdHVzXCIsIFwibW9kZVwiLCBcImhpZGRlblwiLCBcImNvbFByb3BzXCIsIFwiZmllbGRQcm9wc1wiLCBcInBsYWNlaG9sZGVyXCIsIFwiZGlzYWJsZWRcIiwgXCJ3aWR0aFwiLCBcInRyYW5zZm9ybVwiLCBcImNvbnZlcnRWYWx1ZVwiLCBcImRlcGVuZGVuY2llc1wiLCBcInJlcXVlc3RcIiwgXCJwYXJhbXNcIiwgXCJ2YWx1ZUVudW1cIiwgXCJkZWJvdW5jZVRpbWVcIiwgXCJ2YWxpZGF0ZURlYm91bmNlXCIsIFwidmFsaWRhdGVUcmlnZ2VyXCIsIFwidmFsdWVUeXBlXCIsIFwiZGVwZW5kZW5jaWVzVmFsdWVzXCJdKTtcbiAgICAgICAgLy8gRm9ybS1sZXZlbCBmaWVsZFByb3BzIChsb3dlc3QgcHJpb3JpdHkgYWZ0ZXIgbWFwUHJvcHMgZGVmYXVsdHMpLlxuICAgICAgICAvLyBTdGFibGUgc2xpY2Ugb25seSDigJQgdGhlIGZpZWxkIHNoZWxsIG11c3QgTk9UIHJlLXJlbmRlciBwZXIga2V5c3Ryb2tlO1xuICAgICAgICAvLyB2YWx1ZS9lcnJvciByZWFjdGl2aXR5IGxpdmVzIGluc2lkZSBQcm9Gb3JtSXRlbS5cbiAgICAgICAgY29uc3QgeyBmaWVsZFByb3BzOiBjb250ZXh0RmllbGRQcm9wcywgZGlzYWJsZWQ6IGZvcm1EaXNhYmxlZCwgfSA9IHVzZVByb0Zvcm1TdGFibGUoKTtcbiAgICAgICAgLy8g4pSA4pSAIEZpZWxkLWxldmVsIHJlcXVlc3Qg4pSA4pSAXG4gICAgICAgIGNvbnN0IG1lcmdlZFJlcXVlc3RQYXJhbXMgPSBkZXBlbmRlbmNpZXNWYWx1ZXNcbiAgICAgICAgICAgID8gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBwYXJhbXMpLCBkZXBlbmRlbmNpZXNWYWx1ZXMpIDogcGFyYW1zO1xuICAgICAgICBjb25zdCBbcmVxdWVzdExvYWRpbmcsIHJlcXVlc3RPcHRpb25zXSA9IHVzZUZpZWxkUmVxdWVzdChyZXF1ZXN0LCBtZXJnZWRSZXF1ZXN0UGFyYW1zKTtcbiAgICAgICAgLy8gQnVpbGQgdGhlIGZpZWxkIGNoaWxkXG4gICAgICAgIGNvbnN0IG1hcHBlZCA9IG1hcFByb3BzID8gbWFwUHJvcHMocmVzdCkgOiB7fTtcbiAgICAgICAgLy8g4pSA4pSAIERlYm91bmNlIG9uQ2hhbmdlIOKUgOKUgFxuICAgICAgICAvLyBUaGUgZWZmZWN0aXZlIG9uQ2hhbmdlIGlzIHdoYXRldmVyIGVuZHMgdXAgb24gdGhlIGZpZWxkIChmaWVsZFByb3BzIHdpbnNcbiAgICAgICAgLy8gb3ZlciBtYXBwZWQsIG1hdGNoaW5nIHRoZSBzcHJlYWQgb3JkZXIgYmVsb3cpLiB1c2VEZWJvdW5jZWRDYWxsYmFjayByZWFkc1xuICAgICAgICAvLyB0aGUgbGF0ZXN0IGNhbGxiYWNrIGludGVybmFsbHksIHNvIHRoZSB3cmFwcGVyIG5ldmVyIGdvZXMgc3RhbGUgYW5kIHRoZVxuICAgICAgICAvLyBwZW5kaW5nIGNhbGwgaXMgYXV0by1jYW5jZWxsZWQgb24gdW5tb3VudC5cbiAgICAgICAgY29uc3QgdXNlck9uQ2hhbmdlID0gKChfYiA9IChfYSA9IGZpZWxkUHJvcHMgPT09IG51bGwgfHwgZmllbGRQcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogZmllbGRQcm9wcy5vbkNoYW5nZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogY29udGV4dEZpZWxkUHJvcHMgPT09IG51bGwgfHwgY29udGV4dEZpZWxkUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNvbnRleHRGaWVsZFByb3BzLm9uQ2hhbmdlKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBtYXBwZWQgPT09IG51bGwgfHwgbWFwcGVkID09PSB2b2lkIDAgPyB2b2lkIDAgOiBtYXBwZWQub25DaGFuZ2UpO1xuICAgICAgICBjb25zdCB7IHJ1bjogZGVib3VuY2VkT25DaGFuZ2UgfSA9IHVzZURlYm91bmNlZENhbGxiYWNrKCguLi5hcmdzKSA9PiB1c2VyT25DaGFuZ2UgPT09IG51bGwgfHwgdXNlck9uQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiB1c2VyT25DaGFuZ2UoLi4uYXJncyksIGRlYm91bmNlVGltZSk7XG4gICAgICAgIGNvbnN0IHdpZHRoU3R5bGUgPSB3aWR0aCAhPT0gdW5kZWZpbmVkID8geyB3aWR0aDogcmVzb2x2ZVdpZHRoKHdpZHRoKSB9IDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBmaWVsZFN0eWxlID0gZmllbGRQcm9wcyA9PT0gbnVsbCB8fCBmaWVsZFByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBmaWVsZFByb3BzLnN0eWxlO1xuICAgICAgICBjb25zdCBtZXJnZWRTdHlsZSA9IHdpZHRoU3R5bGVcbiAgICAgICAgICAgID8gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCAoZmllbGRTdHlsZSB8fCB7fSkpLCB3aWR0aFN0eWxlKSA6IGZpZWxkU3R5bGU7XG4gICAgICAgIC8vIE1lcmdlIHZhbHVlRW51bSArIHJlcXVlc3Qgb3B0aW9ucyBpbnRvIGZpZWxkUHJvcHMub3B0aW9ucy4gQSBjb25maWd1cmVkXG4gICAgICAgIC8vIHJlcXVlc3QgaXMgQVVUSE9SSVRBVElWRTogYW4gZW1wdHkgcmVzdWx0IG1lYW5zIFwibm8gb3B0aW9uc1wiIOKAlCBmYWxsaW5nXG4gICAgICAgIC8vIGJhY2sgdG8gdmFsdWVFbnVtL2ZpZWxkUHJvcHMub3B0aW9ucyB3b3VsZCBzaG93IG9wdGlvbnMgdGhlIHNlcnZlciBqdXN0XG4gICAgICAgIC8vIHNhaWQgZG9uJ3QgZXhpc3QuXG4gICAgICAgIGxldCBtZXJnZWRPcHRpb25zID0gZmllbGRQcm9wcyA9PT0gbnVsbCB8fCBmaWVsZFByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBmaWVsZFByb3BzLm9wdGlvbnM7XG4gICAgICAgIGlmICh2YWx1ZUVudW0pIHtcbiAgICAgICAgICAgIG1lcmdlZE9wdGlvbnMgPSB2YWx1ZUVudW1Ub09wdGlvbnModmFsdWVFbnVtKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVxdWVzdCkge1xuICAgICAgICAgICAgbWVyZ2VkT3B0aW9ucyA9IHJlcXVlc3RPcHRpb25zO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFByb3BzID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIG1hcHBlZCksIChmb3JtRGlzYWJsZWQgPyB7IGRpc2FibGVkOiB0cnVlIH0gOiB7fSkpLCAoY29udGV4dEZpZWxkUHJvcHMgfHwge30pKSwgKGZpZWxkUHJvcHMgfHwge30pKSwgKG1lcmdlZE9wdGlvbnMgIT09IHVuZGVmaW5lZCA/IHsgb3B0aW9uczogbWVyZ2VkT3B0aW9ucyB9IDoge30pKSwgKHJlcXVlc3RMb2FkaW5nID8geyBsb2FkaW5nOiB0cnVlIH0gOiB7fSkpLCAocGxhY2Vob2xkZXIgIT09IHVuZGVmaW5lZCA/IHsgcGxhY2Vob2xkZXIgfSA6IHt9KSksIChkaXNhYmxlZCAhPT0gdW5kZWZpbmVkID8geyBkaXNhYmxlZCB9IDoge30pKSwgKG1lcmdlZFN0eWxlID8geyBzdHlsZTogbWVyZ2VkU3R5bGUgfSA6IHt9KSk7XG4gICAgICAgIC8vIFdpcmUgZGVib3VuY2UuIFRoZSB3cmFwcGVyIGZvcndhcmRzIHRvIHRoZSBsYXRlc3QgdXNlciBvbkNoYW5nZSB2aWFcbiAgICAgICAgLy8gYG9uQ2hhbmdlTGF0ZXN0YCwgc28gbm8gbmVlZCB0byBzdGFzaCBpdCBvbiBhIHJlZiBoZXJlLlxuICAgICAgICBpZiAoZGVib3VuY2VUaW1lICYmIGRlYm91bmNlVGltZSA+IDApIHtcbiAgICAgICAgICAgIGNvbXBvbmVudFByb3BzLm9uQ2hhbmdlID0gZGVib3VuY2VkT25DaGFuZ2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChfanN4KFByb0Zvcm1JdGVtLCB7IG5hbWU6IG5hbWUsIGxhYmVsOiBsYWJlbCwgZGVzY3JpcHRpb246IGRlc2NyaXB0aW9uLCBydWxlczogcnVsZXMsIGZlZWRiYWNrOiBmZWVkYmFjaywgdmFsaWRhdGVTdGF0dXM6IHZhbGlkYXRlU3RhdHVzLCBoaWRkZW46IGhpZGRlbiwgbW9kZTogbW9kZSwgY29sUHJvcHM6IGNvbFByb3BzLCB0cmFuc2Zvcm06IHRyYW5zZm9ybSwgY29udmVydFZhbHVlOiBjb252ZXJ0VmFsdWUsIHZhbHVlUHJvcE5hbWU6IHZhbHVlUHJvcE5hbWUsIHZhbGlkYXRlRGVib3VuY2U6IHZhbGlkYXRlRGVib3VuY2UsIHZhbGlkYXRlVHJpZ2dlcjogdmFsaWRhdGVUcmlnZ2VyLCB2YWx1ZVR5cGU6IHZhbHVlVHlwZSAhPT0gbnVsbCAmJiB2YWx1ZVR5cGUgIT09IHZvaWQgMCA/IHZhbHVlVHlwZSA6IGRlZmF1bHRWYWx1ZVR5cGUsIFxuICAgICAgICAgICAgLy8gVGhlIHJlbmRlcmVyIGdldHMgdGhlIFJFU09MVkVEIGNvbXBvbmVudCBwcm9wcyAodmFsdWVFbnVtL3JlcXVlc3RcbiAgICAgICAgICAgIC8vIGFscmVhZHkgbWVyZ2VkIGludG8gYG9wdGlvbnNgKSBzbyBpdCBjYW4gbWFwIHZhbHVlcyB0byBsYWJlbHMuXG4gICAgICAgICAgICByZWFkb25seVJlbmRlcjogcmVuZGVyUmVhZG9ubHlcbiAgICAgICAgICAgICAgICA/ICh2YWx1ZSkgPT4gcmVuZGVyUmVhZG9ubHkodmFsdWUsIGNvbXBvbmVudFByb3BzKVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLCBjaGlsZHJlbjogX2pzeChNZW1vaXplZENvbXBvbmVudCwgT2JqZWN0LmFzc2lnbih7fSwgY29tcG9uZW50UHJvcHMpKSB9KSk7XG4gICAgfTtcbiAgICAvLyBPdXRlciBjb21wb25lbnQg4oCUIGhhbmRsZXMgYXV0by13cmFwcGluZyB3aXRoIFByb0Zvcm1EZXBlbmRlbmN5XG4gICAgY29uc3QgUHJvRm9ybUZpZWxkQ29tcG9uZW50QmFzZSA9IChwcm9wcykgPT4ge1xuICAgICAgICBjb25zdCB7IGRlcGVuZGVuY2llcyB9ID0gcHJvcHM7XG4gICAgICAgIGlmIChkZXBlbmRlbmNpZXMgJiYgZGVwZW5kZW5jaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiAoX2pzeChQcm9Gb3JtRGVwZW5kZW5jeSwgeyBuYW1lOiBkZXBlbmRlbmNpZXMsIGNoaWxkcmVuOiAoZGVwVmFsdWVzKSA9PiAoX2pzeChJbm5lckZpZWxkLCBPYmplY3QuYXNzaWduKHt9LCBwcm9wcywgeyBkZXBlbmRlbmNpZXNWYWx1ZXM6IGRlcFZhbHVlcyB9KSkpIH0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX2pzeChJbm5lckZpZWxkLCBPYmplY3QuYXNzaWduKHt9LCBwcm9wcykpO1xuICAgIH07XG4gICAgY29uc3QgTWVtb2l6ZWRGaWVsZCA9IG1lbW8oUHJvRm9ybUZpZWxkQ29tcG9uZW50QmFzZSk7XG4gICAgcmV0dXJuIE1lbW9pemVkRmllbGQ7XG59XG5leHBvcnQgZGVmYXVsdCBjcmVhdGVQcm9Gb3JtRmllbGQ7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -8,5 +8,5 @@ import type { ProFormRequestOption } from '../interface';
|
|
|
8
8
|
* after a newer request never overwrites the newest options, and only the
|
|
9
9
|
* newest request controls `loading`.
|
|
10
10
|
*/
|
|
11
|
-
export declare function useFieldRequest(request: ((params?:
|
|
11
|
+
export declare function useFieldRequest<OptionValue = any, Params = Record<string, any>>(request: ((params?: Params, signal?: AbortSignal) => Promise<ProFormRequestOption<OptionValue>[]>) | undefined, params: Params | undefined): [boolean, ProFormRequestOption<OptionValue>[]];
|
|
12
12
|
export default useFieldRequest;
|
|
@@ -144,4 +144,4 @@ function useFieldRequest(request, params) {
|
|
|
144
144
|
return [loading, options];
|
|
145
145
|
}
|
|
146
146
|
var _default = exports["default"] = useFieldRequest;
|
|
147
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2hvb2tzL3VzZUZpZWxkUmVxdWVzdC50cyIsImNvbXBvbmVudHMvUHJvRm9ybS9ob29rcy91c2VGaWVsZFJlcXVlc3QuanMiXSwibmFtZXMiOlsiX3JlYWN0IiwicmVxdWlyZSIsIl91c2VTYWZlU3RhdGU1IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl91c2VNZW1vaXplZEZuIiwiX3VzZUxhdGVzdCIsIl91dGlscyIsIl9fYXdhaXRlciIsInRoaXNBcmciLCJfYXJndW1lbnRzIiwiUCIsImdlbmVyYXRvciIsImFkb3B0IiwidmFsdWUiLCJyZXNvbHZlIiwiUHJvbWlzZSIsInJlamVjdCIsImZ1bGZpbGxlZCIsInN0ZXAiLCJuZXh0IiwiZSIsInJlamVjdGVkIiwicmVzdWx0IiwiZG9uZSIsInRoZW4iLCJhcHBseSIsInVzZUZpZWxkUmVxdWVzdCIsInJlcXVlc3QiLCJwYXJhbXMiLCJfdGhpcyIsIl91c2VTYWZlU3RhdGUiLCJ1c2VTYWZlU3RhdGUiLCJfdXNlU2FmZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3VzZVNhZmVTdGF0ZTMiLCJfdXNlU2FmZVN0YXRlNCIsIm9wdGlvbnMiLCJzZXRPcHRpb25zIiwicmVxdWVzdFJlZiIsInVzZUxhdGVzdCIsInNlcVJlZiIsInVzZVJlZiIsImFib3J0UmVmIiwic2VyaWFsaXplZFBhcmFtcyIsInN0YWJsZVNlcmlhbGl6ZSIsImZldGNoT3B0aW9ucyIsInVzZU1lbW9pemVkRm4iLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsIl9hIiwiZm4iLCJjb250cm9sbGVyIiwic2VxIiwiaXNBYm9ydCIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsImN1cnJlbnQiLCJhYnJ1cHQiLCJhYm9ydCIsIkFib3J0Q29udHJvbGxlciIsInNpZ25hbCIsInNlbnQiLCJBcnJheSIsImlzQXJyYXkiLCJFcnJvciIsIm5hbWUiLCJjb25zb2xlIiwiZXJyb3IiLCJmaW5pc2giLCJzdG9wIiwiaGFzUmVxdWVzdCIsInVzZUVmZmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGNBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLGNBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQ0pBLElBQUlNLFNBQVMsR0FBSSxVQUFRLFNBQUtBLFNBQVMsSUFBSyxVQUFVQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsQ0FBQyxFQUFFQyxTQUFTLEVBQUU7RUFDckYsU0FBU0MsS0FBS0EsQ0FBQ0MsS0FBSyxFQUFFO0lBQUUsT0FBT0EsS0FBSyxZQUFZSCxDQUFDLEdBQUdHLEtBQUssR0FBRyxJQUFJSCxDQUFDLENBQUMsVUFBVUksT0FBTyxFQUFFO01BQUVBLE9BQU8sQ0FBQ0QsS0FBSyxDQUFDO0lBQUUsQ0FBQyxDQUFDO0VBQUU7RUFDM0csT0FBTyxLQUFLSCxDQUFDLEtBQUtBLENBQUMsR0FBR0ssT0FBTyxDQUFDLEVBQUUsVUFBVUQsT0FBTyxFQUFFRSxNQUFNLEVBQUU7SUFDdkQsU0FBU0MsU0FBU0EsQ0FBQ0osS0FBSyxFQUFFO01BQUUsSUFBSTtRQUFFSyxJQUFJLENBQUNQLFNBQVMsQ0FBQ1EsSUFBSSxDQUFDTixLQUFLLENBQUMsQ0FBQztNQUFFLENBQUMsQ0FBQyxPQUFPTyxDQUFDLEVBQUU7UUFBRUosTUFBTSxDQUFDSSxDQUFDLENBQUM7TUFBRTtJQUFFO0lBQzFGLFNBQVNDLFFBQVFBLENBQUNSLEtBQUssRUFBRTtNQUFFLElBQUk7UUFBRUssSUFBSSxDQUFDUCxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUNFLEtBQUssQ0FBQyxDQUFDO01BQUUs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QSxJQUFBQyxnQkFBUyxFQUFDLFlBQUs7SUFDYixPQUFPLFlBQUs7TUNLSixJQUFJeEIsRUFBRTtNREpaVixNQUFNLENBQUNtQixPQUFPLElBQUksQ0FBQztNQUNuQixDQUFBVCxFQUFBLEdBQUFSLFFBQVEsQ0FBQ2lCLE9BQU8sTUFBQSxJQUFBLElBQUFULEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFVyxLQUFLLENBQUEsQ0FBRTtJQUMzQixDQUFDO0VBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLE9BQU8sQ0FBQzdCLE9BQU8sRUFBRUksT0FBTyxDQUFDO0FBQzNCO0FBQUMsSUFBQXVDLFFBQUEsR0FBQUMsT0FBQSxjQUVjcEQsZUFBZSIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vaG9va3MvdXNlRmllbGRSZXF1ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZVNhZmVTdGF0ZSBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZVNhZmVTdGF0ZSc7XG5pbXBvcnQgdXNlTWVtb2l6ZWRGbiBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZU1lbW9pemVkRm4nO1xuaW1wb3J0IHVzZUxhdGVzdCBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUxhdGVzdCc7XG5pbXBvcnQgeyBzdGFibGVTZXJpYWxpemUgfSBmcm9tICcuLi91dGlscyc7XG4vKipcbiAqIEhvb2sgZm9yIGFzeW5jIG9wdGlvbiBmZXRjaGluZyB3aXRoIHBhcmFtLWJhc2VkIHJlLWZldGNoaW5nLlxuICogUmV0dXJucyBbbG9hZGluZywgb3B0aW9uc10uXG4gKlxuICogUmFjZS1zYWZlOiBlYWNoIGZldGNoIHRha2VzIGEgc2VxdWVuY2UgbnVtYmVyXG4gKiBhbmQgYWJvcnRzIHRoZSBwcmV2aW91cyBpbi1mbGlnaHQgcmVxdWVzdCDigJQgYSBzdGFsZSByZXNwb25zZSB0aGF0IHJlc29sdmVzXG4gKiBhZnRlciBhIG5ld2VyIHJlcXVlc3QgbmV2ZXIgb3ZlcndyaXRlcyB0aGUgbmV3ZXN0IG9wdGlvbnMsIGFuZCBvbmx5IHRoZVxuICogbmV3ZXN0IHJlcXVlc3QgY29udHJvbHMgYGxvYWRpbmdgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlRmllbGRSZXF1ZXN0KHJlcXVlc3QsIHBhcmFtcykge1xuICAgIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVNhZmVTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW29wdGlvbnMsIHNldE9wdGlvbnNdID0gdXNlU2FmZVN0YXRlKFtdKTtcbiAgICAvLyBBbHdheXMgcmVhZCB0aGUgbmV3ZXN0IGByZXF1ZXN0YCB3aXRob3V0IHJlLXN1YnNjcmliaW5nIHRoZSBlZmZlY3QgYmVsb3cuXG4gICAgY29uc3QgcmVxdWVzdFJlZiA9IHVzZUxhdGVzdChyZXF1ZXN0KTtcbiAgICBjb25zdCBzZXFSZWYgPSB1c2VSZWYoMCk7XG4gICAgY29uc3QgYWJvcnRSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3Qgc2VyaWFsaXplZFBhcmFtcyA9IHN0YWJsZVNlcmlhbGl6ZShwYXJhbXMpO1xuICAgIGNvbnN0IGZldGNoT3B0aW9ucyA9IHVzZU1lbW9pemVkRm4oKCkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGNvbnN0IGZuID0gcmVxdWVzdFJlZi5jdXJyZW50O1xuICAgICAgICBpZiAoIWZuKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAoX2EgPSBhYm9ydFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuYWJvcnQoKTtcbiAgICAgICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICAgICAgYWJvcnRSZWYuY3VycmVudCA9IGNvbnRyb2xsZXI7XG4gICAgICAgIGNvbnN0IHNlcSA9ICsrc2VxUmVmLmN1cnJlbnQ7XG4gICAgICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSB5aWVsZCBmbihwYXJhbXMsIGNvbnRyb2xsZXIuc2lnbmFsKTtcbiAgICAgICAgICAgIGlmIChzZXEgIT09IHNlcVJlZi5jdXJyZW50KVxuICAgICAgICAgICAgICAgIHJldHVybjsgLy8gc3VwZXJzZWRlZCDigJQgZGlzY2FyZFxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzdWx0KSkge1xuICAgICAgICAgICAgICAgIHNldE9wdGlvbnMocmVzdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIC8vIFN1cGVyc2VkZWQgcmVxdWVzdHMgKG91ciBvd24gYWJvcnRzIGFsd2F5cyBsYW5kIGhlcmUgdmlhIHRoZSBzZXFcbiAgICAgICAgICAgIC8vIG1pc21hdGNoKSBhcmUgc3dhbGxvd2VkLiBGb3IgdGhlIExBVEVTVCByZXF1ZXN0LCBhbiBBYm9ydEVycm9yIGNhblxuICAgICAgICAgICAgLy8gb25seSBjb21lIGZyb20gYSBDT05TVU1FUi1zaWRlIGFib3J0IChlLmcuIEFib3J0U2lnbmFsLnRpbWVvdXQpIOKAlFxuICAgICAgICAgICAgLy8gYWxzbyBzd2FsbG93ZWQsIG1pcnJvcmluZyBmZXRjaC1jYW5jZWxsYXRpb24gY29udmVudGlvbnMuIEdlbnVpbmVcbiAgICAgICAgICAgIC8vIGZhaWx1cmVzIGFyZSBMT0dHRUQsIG5vdCByZXRocm93bjogdGhpcyBydW5zIGZyb20gYW4gZWZmZWN0LCBzbyBhXG4gICAgICAgICAgICAvLyByZXRocm93IHdvdWxkIG9ubHkgYmVjb21lIGFuIHVuaGFuZGxlZCByZWplY3Rpb24uXG4gICAgICAgICAgICBjb25zdCBpc0Fib3J0ID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciAmJiBlcnJvci5uYW1lID09PSAnQWJvcnRFcnJvcic7XG4gICAgICAgICAgICBpZiAoc2VxID09PSBzZXFSZWYuY3VycmVudCAmJiAhaXNBYm9ydCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1tQcm9Gb3JtXSBmaWVsZCByZXF1ZXN0IGZhaWxlZDonLCBlcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICBpZiAoc2VxID09PSBzZXFSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSkpO1xuICAgIC8vIGBoYXNSZXF1ZXN0YCBpcyBhIGRlcGVuZGVuY3kgc28gYSByZXF1ZXN0IHRoYXQgb25seSBiZWNvbWVzIGRlZmluZWQgb24gYVxuICAgIC8vIExBVEVSIHJlbmRlciAoZS5nLiBiZWhpbmQgYSBmZWF0dXJlIGZsYWcpIHN0aWxsIHRyaWdnZXJzIGl0cyBmaXJzdCBmZXRjaC5cbiAgICBjb25zdCBoYXNSZXF1ZXN0ID0gISFyZXF1ZXN0O1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghcmVxdWVzdFJlZi5jdXJyZW50KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBmZXRjaE9wdGlvbnMoKTtcbiAgICB9LCBbc2VyaWFsaXplZFBhcmFtcywgaGFzUmVxdWVzdF0pO1xuICAgIC8vIEhvbm9yIHRoZSBjYW5jZWxsYXRpb24gY29udHJhY3Qgb24gdW5tb3VudDogYWJvcnQgdGhlIGluLWZsaWdodCByZXF1ZXN0XG4gICAgLy8gYW5kIGJ1bXAgdGhlIHNlcXVlbmNlIHNvIGFueSBsYXRlIHNldHRsZSAocmVzdWx0IG9yIGVycm9yKSBpcyBkaXNjYXJkZWQuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIHNlcVJlZi5jdXJyZW50ICs9IDE7XG4gICAgICAgICAgICAoX2EgPSBhYm9ydFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuYWJvcnQoKTtcbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG4gICAgcmV0dXJuIFtsb2FkaW5nLCBvcHRpb25zXTtcbn1cbmV4cG9ydCBkZWZhdWx0IHVzZUZpZWxkUmVxdWVzdDsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
147
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2hvb2tzL3VzZUZpZWxkUmVxdWVzdC50cyIsImNvbXBvbmVudHMvUHJvRm9ybS9ob29rcy91c2VGaWVsZFJlcXVlc3QuanMiXSwibmFtZXMiOlsiX3JlYWN0IiwicmVxdWlyZSIsIl91c2VTYWZlU3RhdGU1IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl91c2VNZW1vaXplZEZuIiwiX3VzZUxhdGVzdCIsIl91dGlscyIsIl9fYXdhaXRlciIsInRoaXNBcmciLCJfYXJndW1lbnRzIiwiUCIsImdlbmVyYXRvciIsImFkb3B0IiwidmFsdWUiLCJyZXNvbHZlIiwiUHJvbWlzZSIsInJlamVjdCIsImZ1bGZpbGxlZCIsInN0ZXAiLCJuZXh0IiwiZSIsInJlamVjdGVkIiwicmVzdWx0IiwiZG9uZSIsInRoZW4iLCJhcHBseSIsInVzZUZpZWxkUmVxdWVzdCIsInJlcXVlc3QiLCJwYXJhbXMiLCJfdGhpcyIsIl91c2VTYWZlU3RhdGUiLCJ1c2VTYWZlU3RhdGUiLCJfdXNlU2FmZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3VzZVNhZmVTdGF0ZTMiLCJfdXNlU2FmZVN0YXRlNCIsIm9wdGlvbnMiLCJzZXRPcHRpb25zIiwicmVxdWVzdFJlZiIsInVzZUxhdGVzdCIsInNlcVJlZiIsInVzZVJlZiIsImFib3J0UmVmIiwic2VyaWFsaXplZFBhcmFtcyIsInN0YWJsZVNlcmlhbGl6ZSIsImZldGNoT3B0aW9ucyIsInVzZU1lbW9pemVkRm4iLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsIl9hIiwiZm4iLCJjb250cm9sbGVyIiwic2VxIiwiaXNBYm9ydCIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsImN1cnJlbnQiLCJhYnJ1cHQiLCJhYm9ydCIsIkFib3J0Q29udHJvbGxlciIsInNpZ25hbCIsInNlbnQiLCJBcnJheSIsImlzQXJyYXkiLCJFcnJvciIsIm5hbWUiLCJjb25zb2xlIiwiZXJyb3IiLCJmaW5pc2giLCJzdG9wIiwiaGFzUmVxdWVzdCIsInVzZUVmZmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGNBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLGNBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQ0pBLElBQUlNLFNBQVMsR0FBSSxVQUFRLFNBQUtBLFNBQVMsSUFBSyxVQUFVQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsQ0FBQyxFQUFFQyxTQUFTLEVBQUU7RUFDckYsU0FBU0MsS0FBS0EsQ0FBQ0MsS0FBSyxFQUFFO0lBQUUsT0FBT0EsS0FBSyxZQUFZSCxDQUFDLEdBQUdHLEtBQUssR0FBRyxJQUFJSCxDQUFDLENBQUMsVUFBVUksT0FBTyxFQUFFO01BQUVBLE9BQU8sQ0FBQ0QsS0FBSyxDQUFDO0lBQUUsQ0FBQyxDQUFDO0VBQUU7RUFDM0csT0FBTyxLQUFLSCxDQUFDLEtBQUtBLENBQUMsR0FBR0ssT0FBTyxDQUFDLEVBQUUsVUFBVUQsT0FBTyxFQUFFRSxNQUFNLEVBQUU7SUFDdkQsU0FBU0MsU0FBU0EsQ0FBQ0osS0FBSyxFQUFFO01BQUUsSUFBSTtRQUFFSyxJQUFJLENBQUNQLFNBQVMsQ0FBQ1EsSUFBSSxDQUFDTixLQUFLLENBQUMsQ0FBQztNQUFFLENBQUMsQ0FBQyxPQUFPTyxDQUFDLEVBQUU7UUFBRUosTUFBTSxDQUFDSSxDQUFDLENBQUM7TUFBRTtJQUFFO0lBQzFGLFNBQVNDLFFBQVFBLENBQUNSLEtBQUssRUFBRTtNQUFFLElBQUk7UUFBRUssSUFBSSxDQUFDUCxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUNFLEtBQUssQ0FBQyxDQUFDO01BQUUs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QSxJQUFBQyxnQkFBUyxFQUFDLFlBQUs7SUFDYixPQUFPLFlBQUs7TUNFSixJQUFJeEIsRUFBRTtNRERaVixNQUFNLENBQUNtQixPQUFPLElBQUksQ0FBQztNQUNuQixDQUFBVCxFQUFBLEdBQUFSLFFBQVEsQ0FBQ2lCLE9BQU8sTUFBQSxJQUFBLElBQUFULEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFVyxLQUFLLENBQUEsQ0FBRTtJQUMzQixDQUFDO0VBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLE9BQU8sQ0FBQzdCLE9BQU8sRUFBRUksT0FBTyxDQUFDO0FBQzNCO0FBQUMsSUFBQXVDLFFBQUEsR0FBQUMsT0FBQSxjQUVjcEQsZUFBZSIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vaG9va3MvdXNlRmllbGRSZXF1ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZVNhZmVTdGF0ZSBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZVNhZmVTdGF0ZSc7XG5pbXBvcnQgdXNlTWVtb2l6ZWRGbiBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZU1lbW9pemVkRm4nO1xuaW1wb3J0IHVzZUxhdGVzdCBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUxhdGVzdCc7XG5pbXBvcnQgeyBzdGFibGVTZXJpYWxpemUgfSBmcm9tICcuLi91dGlscyc7XG4vKipcbiAqIEhvb2sgZm9yIGFzeW5jIG9wdGlvbiBmZXRjaGluZyB3aXRoIHBhcmFtLWJhc2VkIHJlLWZldGNoaW5nLlxuICogUmV0dXJucyBbbG9hZGluZywgb3B0aW9uc10uXG4gKlxuICogUmFjZS1zYWZlOiBlYWNoIGZldGNoIHRha2VzIGEgc2VxdWVuY2UgbnVtYmVyXG4gKiBhbmQgYWJvcnRzIHRoZSBwcmV2aW91cyBpbi1mbGlnaHQgcmVxdWVzdCDigJQgYSBzdGFsZSByZXNwb25zZSB0aGF0IHJlc29sdmVzXG4gKiBhZnRlciBhIG5ld2VyIHJlcXVlc3QgbmV2ZXIgb3ZlcndyaXRlcyB0aGUgbmV3ZXN0IG9wdGlvbnMsIGFuZCBvbmx5IHRoZVxuICogbmV3ZXN0IHJlcXVlc3QgY29udHJvbHMgYGxvYWRpbmdgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlRmllbGRSZXF1ZXN0KHJlcXVlc3QsIHBhcmFtcykge1xuICAgIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVNhZmVTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW29wdGlvbnMsIHNldE9wdGlvbnNdID0gdXNlU2FmZVN0YXRlKFtdKTtcbiAgICAvLyBBbHdheXMgcmVhZCB0aGUgbmV3ZXN0IGByZXF1ZXN0YCB3aXRob3V0IHJlLXN1YnNjcmliaW5nIHRoZSBlZmZlY3QgYmVsb3cuXG4gICAgY29uc3QgcmVxdWVzdFJlZiA9IHVzZUxhdGVzdChyZXF1ZXN0KTtcbiAgICBjb25zdCBzZXFSZWYgPSB1c2VSZWYoMCk7XG4gICAgY29uc3QgYWJvcnRSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3Qgc2VyaWFsaXplZFBhcmFtcyA9IHN0YWJsZVNlcmlhbGl6ZShwYXJhbXMpO1xuICAgIGNvbnN0IGZldGNoT3B0aW9ucyA9IHVzZU1lbW9pemVkRm4oKCkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGNvbnN0IGZuID0gcmVxdWVzdFJlZi5jdXJyZW50O1xuICAgICAgICBpZiAoIWZuKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAoX2EgPSBhYm9ydFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuYWJvcnQoKTtcbiAgICAgICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICAgICAgYWJvcnRSZWYuY3VycmVudCA9IGNvbnRyb2xsZXI7XG4gICAgICAgIGNvbnN0IHNlcSA9ICsrc2VxUmVmLmN1cnJlbnQ7XG4gICAgICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSB5aWVsZCBmbihwYXJhbXMsIGNvbnRyb2xsZXIuc2lnbmFsKTtcbiAgICAgICAgICAgIGlmIChzZXEgIT09IHNlcVJlZi5jdXJyZW50KVxuICAgICAgICAgICAgICAgIHJldHVybjsgLy8gc3VwZXJzZWRlZCDigJQgZGlzY2FyZFxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzdWx0KSkge1xuICAgICAgICAgICAgICAgIHNldE9wdGlvbnMocmVzdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIC8vIFN1cGVyc2VkZWQgcmVxdWVzdHMgKG91ciBvd24gYWJvcnRzIGFsd2F5cyBsYW5kIGhlcmUgdmlhIHRoZSBzZXFcbiAgICAgICAgICAgIC8vIG1pc21hdGNoKSBhcmUgc3dhbGxvd2VkLiBGb3IgdGhlIExBVEVTVCByZXF1ZXN0LCBhbiBBYm9ydEVycm9yIGNhblxuICAgICAgICAgICAgLy8gb25seSBjb21lIGZyb20gYSBDT05TVU1FUi1zaWRlIGFib3J0IChlLmcuIEFib3J0U2lnbmFsLnRpbWVvdXQpIOKAlFxuICAgICAgICAgICAgLy8gYWxzbyBzd2FsbG93ZWQsIG1pcnJvcmluZyBmZXRjaC1jYW5jZWxsYXRpb24gY29udmVudGlvbnMuIEdlbnVpbmVcbiAgICAgICAgICAgIC8vIGZhaWx1cmVzIGFyZSBMT0dHRUQsIG5vdCByZXRocm93bjogdGhpcyBydW5zIGZyb20gYW4gZWZmZWN0LCBzbyBhXG4gICAgICAgICAgICAvLyByZXRocm93IHdvdWxkIG9ubHkgYmVjb21lIGFuIHVuaGFuZGxlZCByZWplY3Rpb24uXG4gICAgICAgICAgICBjb25zdCBpc0Fib3J0ID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciAmJiBlcnJvci5uYW1lID09PSAnQWJvcnRFcnJvcic7XG4gICAgICAgICAgICBpZiAoc2VxID09PSBzZXFSZWYuY3VycmVudCAmJiAhaXNBYm9ydCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1tQcm9Gb3JtXSBmaWVsZCByZXF1ZXN0IGZhaWxlZDonLCBlcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICBpZiAoc2VxID09PSBzZXFSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSkpO1xuICAgIC8vIGBoYXNSZXF1ZXN0YCBpcyBhIGRlcGVuZGVuY3kgc28gYSByZXF1ZXN0IHRoYXQgb25seSBiZWNvbWVzIGRlZmluZWQgb24gYVxuICAgIC8vIExBVEVSIHJlbmRlciAoZS5nLiBiZWhpbmQgYSBmZWF0dXJlIGZsYWcpIHN0aWxsIHRyaWdnZXJzIGl0cyBmaXJzdCBmZXRjaC5cbiAgICBjb25zdCBoYXNSZXF1ZXN0ID0gISFyZXF1ZXN0O1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghcmVxdWVzdFJlZi5jdXJyZW50KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBmZXRjaE9wdGlvbnMoKTtcbiAgICB9LCBbc2VyaWFsaXplZFBhcmFtcywgaGFzUmVxdWVzdF0pO1xuICAgIC8vIEhvbm9yIHRoZSBjYW5jZWxsYXRpb24gY29udHJhY3Qgb24gdW5tb3VudDogYWJvcnQgdGhlIGluLWZsaWdodCByZXF1ZXN0XG4gICAgLy8gYW5kIGJ1bXAgdGhlIHNlcXVlbmNlIHNvIGFueSBsYXRlIHNldHRsZSAocmVzdWx0IG9yIGVycm9yKSBpcyBkaXNjYXJkZWQuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIHNlcVJlZi5jdXJyZW50ICs9IDE7XG4gICAgICAgICAgICAoX2EgPSBhYm9ydFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuYWJvcnQoKTtcbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG4gICAgcmV0dXJuIFtsb2FkaW5nLCBvcHRpb25zXTtcbn1cbmV4cG9ydCBkZWZhdWx0IHVzZUZpZWxkUmVxdWVzdDsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
|
|
1
|
+
import type { ProFormValuesPatch } from '../core/namePathType';
|
|
2
|
+
export type ProFormSyncToUrl<Values = Record<string, any>> = boolean | ((values: ProFormValuesPatch<Values> | Record<string, string>, type: 'get' | 'set') => Record<string, any>);
|
|
3
|
+
export interface UseUrlSyncOptions<Values = Record<string, any>> {
|
|
4
|
+
syncToUrl?: ProFormSyncToUrl<Values>;
|
|
4
5
|
/** Extra params always written to the URL alongside the form values. */
|
|
5
|
-
extraUrlParams?: Record<string,
|
|
6
|
+
extraUrlParams?: Record<string, any>;
|
|
6
7
|
}
|
|
7
8
|
export interface UseUrlSyncResult {
|
|
8
9
|
/** URL params captured at mount (after the `'get'` mapping) — merge into initialValues. */
|
|
9
|
-
urlInitialValues: Record<string,
|
|
10
|
+
urlInitialValues: Record<string, any>;
|
|
10
11
|
/** Write submitted values (+ extraUrlParams) into the URL. */
|
|
11
|
-
onUrlSyncFinish: (finalValues: Record<string,
|
|
12
|
+
onUrlSyncFinish: (finalValues: Record<string, any>) => void;
|
|
12
13
|
/** Clear this form's own params; foreign params and extraUrlParams survive. */
|
|
13
14
|
onUrlSyncReset: () => void;
|
|
14
15
|
}
|
|
15
|
-
export declare function useUrlSync({ syncToUrl, extraUrlParams }: UseUrlSyncOptions): UseUrlSyncResult;
|
|
16
|
+
export declare function useUrlSync({ syncToUrl, extraUrlParams, }: UseUrlSyncOptions): UseUrlSyncResult;
|
|
16
17
|
export default useUrlSync;
|
|
@@ -175,4 +175,4 @@ function useUrlSync(_ref) {
|
|
|
175
175
|
};
|
|
176
176
|
}
|
|
177
177
|
var _default = exports["default"] = useUrlSync;
|
|
178
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2hvb2tzL3VzZVVybFN5bmMudHMiLCJjb21wb25lbnRzL1Byb0Zvcm0vaG9va3MvdXNlVXJsU3luYy5qcyJdLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3VzZU1lbW9pemVkRm4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3V0aWxzIiwiZ2V0VXJsUGFyYW1zIiwid2luZG93IiwicGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwibG9jYXRpb24iLCJzZWFyY2giLCJmb3JFYWNoIiwidiIsImsiLCJzZXRVcmxQYXJhbXMiLCJtYW5hZ2VkS2V5cyIsIlNldCIsInNwIiwid3JpdHRlbiIsIl9pIiwiX09iamVjdCRlbnRyaWVzIiwiT2JqZWN0IiwiZW50cmllcyIsImxlbmd0aCIsIl9PYmplY3QkZW50cmllcyRfaSIsIl9zbGljZWRUb0FycmF5MiIsInVuZGVmaW5lZCIsInNldCIsIlN0cmluZyIsImFkZCIsInRvU3RyaW5nIiwidXJsIiwiY29uY2F0IiwicGF0aG5hbWUiLCJoYXNoIiwiY3VycmVudFVybCIsImhpc3RvcnkiLCJyZXBsYWNlU3RhdGUiLCJ1c2VVcmxTeW5jIiwiX3JlZiIsInN5bmNUb1VybCIsImV4dHJhVXJsUGFyYW1zIiwidXJsUGFyYW1zQXRNb3VudFJlZiIsInVzZVJlZiIsImN1cnJlbnQiLCJtb3VudFBhdGhuYW1lUmVmIiwiYWN0aXZlUmVmIiwidXNlRWZmZWN0IiwiaXNXcml0YWJsZSIsIm1hbmFnZWRLZXlzUmVmIiwidXJsU2VlZGVkUmVmIiwidXJsSW5pdGlhbFZhbHVlc1JlZiIsImZyb21VcmwiLCJrZXlzIiwiYXNzaWduIiwid3JpdGVWYWx1ZXMiLCJ1c2VNZW1vaXplZEZuIiwidmFsdWVzIiwidG9Xcml0ZSIsInRvQ2xlYXIiLCJfaTIiLCJfT2JqZWN0JGVudHJpZXMyIiwiX09iamVjdCRlbnRyaWVzMiRfaSIsImtleSIsInZhbHVlIiwic2VlZGVkIiwiaGFzIiwiX2kzIiwiX09iamVjdCRrZXlzIiwib25VcmxTeW5jRmluaXNoIiwiZmluYWxWYWx1ZXMiLCJzaG91bGRQcmVNZXJnZSIsIm9uVXJsU3luY1Jlc2V0IiwiZXh0cmFLZXlzUmVmIiwic2VyaWFsaXplZEV4dHJhIiwic3RhYmxlU2VyaWFsaXplIiwibmV4dCIsInNpemUiLCJtZXJnZWQiLCJ1cmxJbml0aWFsVmFsdWVzIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxjQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFpQkEsU0FBU0ksWUFBWUEsQ0FBQSxFQUFBO0VBQ25CLElBQUksT0FBT0MsTUFBTSxLQUFLLFdBQVcsRUFBRSxPQUFPLENBQUEsQ0FBRTtFQUM1QyxJQUFNQyxNQUFNLEdBQTJCLENBQUEsQ0FBRTtFQUN6QyxJQUFJQyxlQUFlLENBQUNGLE1BQU0sQ0FBQ0csUUFBUSxDQUFDQyxNQUFNLENBQUMsQ0FBQ0MsT0FBTyxDQUFDLFVBQUNDLENBQUMsRUFBRUMsQ0FBQyxFQUFJO0lBQzNETixNQUFNLENBQUNNLENBQUMsQ0FBQyxHQUFHRCxDQUFDO0VBQ2YsQ0FBQyxDQUFDO0VBQ0YsT0FBT0wsTUFBTTtBQUNmO0FBRUE7QUNmQTtBQUNBO0FBQ0E7QUFDQTtBRGlCQSxTQUFTTyxZQUFZQSxDQUNuQlAsTUFBK0IsRUFDL0JRLFdBQWdDLEVBQUE7RUFFaEMsSUFBSSxPQUFPVCxNQUFNLEtBQUssV0FBVyxFQUFFLE9BQU8sSUFBSVUsR0FBRyxDQUFDRCxXQUFXLENBQUM7RUFDOUQsSUFBTUUsRUFBRSxHQUFHLElBQUlULGVBQWUsQ0FBQ0YsTUFBTSxDQUFDRyxRQUFRLENBQUNDLE1BQU0sQ0FBQztFQUN0REssV0FBVyxDQUFDSixPQUFPLENBQUMsVUFBQ0UsQ0FBQztJQUFBLE9BQUtJLEVBQUUsVUFBTyxDQUFDSixDQUFD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LE9BQU87RUFDaEMsQ0FBQyxFQUFFLENBQUN3RCxlQUFlLENBQUMsQ0FBQztFQUVyQixPQUFPO0lBQ0xLLGdCQUFnQixFQUFFNUIsbUJBQW1CLENBQUNQLE9BQU87SUFDN0N5QixlQUFlLEVBQWZBLGVBQWU7SUFDZkcsY0FBYyxFQUFkQTtFQ3ZDQSxDRHdDRDtBQUNIO0FBQUMsSUFBQVEsUUFBQSxHQUFBQyxPQUFBLGNBRWMzQyxVQUFVIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9ob29rcy91c2VVcmxTeW5jLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB1c2VNZW1vaXplZEZuIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlTWVtb2l6ZWRGbic7XG5pbXBvcnQgeyBzdGFibGVTZXJpYWxpemUgfSBmcm9tICcuLi91dGlscyc7XG5mdW5jdGlvbiBnZXRVcmxQYXJhbXMoKSB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICByZXR1cm4ge307XG4gICAgY29uc3QgcGFyYW1zID0ge307XG4gICAgbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKS5mb3JFYWNoKCh2LCBrKSA9PiB7XG4gICAgICAgIHBhcmFtc1trXSA9IHY7XG4gICAgfSk7XG4gICAgcmV0dXJuIHBhcmFtcztcbn1cbi8qKlxuICogV3JpdGUgdGhlIGdpdmVuIHZhbHVlcyBpbnRvIHRoZSBVUkwgd2hpbGUgUFJFU0VSVklORyB1bnJlbGF0ZWQgcXVlcnkgcGFyYW1zLlxuICogT25seSBrZXlzIGluIGBtYW5hZ2VkS2V5c2AgYXJlIGNsZWFyZWQgYmVmb3JlIHdyaXRpbmcuIFJldHVybnMgdGhlIG5ldyBzZXRcbiAqIG9mIG1hbmFnZWQga2V5cy5cbiAqL1xuZnVuY3Rpb24gc2V0VXJsUGFyYW1zKHBhcmFtcywgbWFuYWdlZEtleXMpIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgIHJldHVybiBuZXcgU2V0KG1hbmFnZWRLZXlzKTtcbiAgICBjb25zdCBzcCA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XG4gICAgbWFuYWdlZEtleXMuZm9yRWFjaCgoaykgPT4gc3AuZGVsZXRlKGspKTtcbiAgICBjb25zdCB3cml0dGVuID0gbmV3IFNldCgpO1xuICAgIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKHBhcmFtcykpIHtcbiAgICAgICAgaWYgKHYgIT09IG51bGwgJiYgdiAhPT0gdW5kZWZpbmVkICYmIHYgIT09ICcnKSB7XG4gICAgICAgICAgICBzcC5zZXQoaywgU3RyaW5nKHYpKTtcbiAgICAgICAgICAgIHdyaXR0ZW4uYWRkKGspO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHNlYXJjaCA9IHNwLnRvU3RyaW5nKCk7XG4gICAgLy8gUFJFU0VSVkUgdGhlIGhhc2gg4oCUIGhhc2ggcm91dGVycyBrZWVwIHRoZWlyIHdob2xlIHJvdXRlIHRoZXJlOyBkcm9wcGluZ1xuICAgIC8vIGl0IHdvdWxkIG5hdmlnYXRlIHRoZSBTUEEgYXdheSBvbiBldmVyeSB3cml0ZS5cbiAgICBjb25zdCB1cmwgPSAoc2VhcmNoID8gYCR7d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lfT8ke3NlYXJjaH1gIDogd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSArXG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5oYXNoO1xuICAgIC8vIFNraXAgdGhlIGhpc3RvcnkgY2FsbCB3aGVuIG5vdGhpbmcgY2hhbmdlcyDigJQgU2FmYXJpIHRocm90dGxlcyB0aGVcbiAgICAvLyBoaXN0b3J5IEFQSSwgc28gaWRlbnRpY2FsIHJld3JpdGVzIGFyZSB3YXN0ZWQgYnVkZ2V0LlxuICAgIGNvbnN0IGN1cnJlbnRVcmwgPSBgJHt3aW5kb3cubG9jYXRpb24ucGF0aG5hbWV9JHt3aW5kb3cubG9jYXRpb24uc2VhcmNofSR7d2luZG93LmxvY2F0aW9uLmhhc2h9YDtcbiAgICBpZiAodXJsICE9PSBjdXJyZW50VXJsKSB7XG4gICAgICAgIHdpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZShudWxsLCAnJywgdXJsKTtcbiAgICB9XG4gICAgcmV0dXJuIHdyaXR0ZW47XG59XG5leHBvcnQgZnVuY3Rpb24gdXNlVXJsU3luYyh7IHN5bmNUb1VybCwgZXh0cmFVcmxQYXJhbXMgfSkge1xuICAgIC8vIE9uZS10aW1lIG1vdW50IHNuYXBzaG90LiBMYXp5IHJlZiBpbml0IGlzIElERU1QT1RFTlQsIHNvIGl0IGlzIHNhZmUgdW5kZXJcbiAgICAvLyBTdHJpY3RNb2RlJ3MgZG91YmxlIHJlbmRlciAoYW4gaW1wdXJlIFwiZmlyc3QgcnVuXCIgZmxhZyBpbnNpZGUgdXNlTWVtb1xuICAgIC8vIHdvdWxkIHJldHVybiB0aGUgdW5tZXJnZWQgdmFsdWUgb24gdGhlIHJlcGxheSBpbnZvY2F0aW9uKS5cbiAgICBjb25zdCB1cmxQYXJhbXNBdE1vdW50UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGlmICh1cmxQYXJhbXNBdE1vdW50UmVmLmN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgICAgdXJsUGFyYW1zQXRNb3VudFJlZi5jdXJyZW50ID0gc3luY1RvVXJsID8gZ2V0VXJsUGFyYW1zKCkgOiB7fTtcbiAgICB9XG4gICAgLy8gVGhlIHJvdXRlIHRoaXMgZm9ybSBtb3VudGVkIG9uLiBBbGwgZGVmZXJyZWQgVVJMIHdyaXRlcyBhcmUgZ3VhcmRlZCBieVxuICAgIC8vIGl0OiBhbiBvbkZpbmlzaCB0aGF0IE5BVklHQVRFUyBtdXN0IG5vdCBnZXQgdGhlIG9sZCBmb3JtJ3MgcGFyYW1zXG4gICAgLy8gc3RhbXBlZCBvbnRvIHRoZSBuZXcgcm91dGUncyBVUkwuIFRoZSBwYXRobmFtZSBjaGVjayBjb3ZlcnMgcGF0aFxuICAgIC8vIHJvdXRlcnM7IHRoZSBhY3RpdmVSZWYgY292ZXJzIGFueSBuYXZpZ2F0aW9uIHRoYXQgVU5NT1VOVFMgdGhlIGZvcm1cbiAgICAvLyAoaW5jbHVkaW5nIGhhc2ggcm91dGVycywgd2hlcmUgdGhlIHBhdGhuYW1lIG5ldmVyIGNoYW5nZXMpLlxuICAgIGNvbnN0IG1vdW50UGF0aG5hbWVSZWYgPSB1c2VSZWYodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcgPyAnJyA6IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSk7XG4gICAgY29uc3QgYWN0aXZlUmVmID0gdXNlUmVmKHRydWUpO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGFjdGl2ZVJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGFjdGl2ZVJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgIH07XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IGlzV3JpdGFibGUgPSAoKSA9PiBhY3RpdmVSZWYuY3VycmVudCAmJlxuICAgICAgICB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgICB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgPT09IG1vdW50UGF0aG5hbWVSZWYuY3VycmVudDtcbiAgICAvLyBLZXlzIHRoaXMgZm9ybSBoYXMgV1JJVFRFTiB0byB0aGUgVVJMIOKAlCB0aGUgb25seSBrZXlzIHN1Ym1pdC9yZXNldCBtYXkgY2xlYXIuXG4gICAgY29uc3QgbWFuYWdlZEtleXNSZWYgPSB1c2VSZWYobmV3IFNldCgpKTtcbiAgICAvLyBCb29sZWFuLW1vZGUgb25seTogVVJMIHBhcmFtcyBtZXJnZWQgaW50byBpbml0aWFsVmFsdWVzIGJ1dCBOT1QgeWV0XG4gICAgLy8gY2xhaW1lZCAodGhleSBtYXkgYmVsb25nIHRvIHNvbWVvbmUgZWxzZSwgZS5nLiBgP3RhYj3igKZgKS5cbiAgICBjb25zdCB1cmxTZWVkZWRSZWYgPSB1c2VSZWYoe30pO1xuICAgIGNvbnN0IHVybEluaXRpYWxWYWx1ZXNSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgaWYgKHVybEluaXRpYWxWYWx1ZXNSZWYuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgICBpZiAoIXN5bmNUb1VybCkge1xuICAgICAgICAgICAgdXJsSW5pdGlhbFZhbHVlc1JlZi5jdXJyZW50ID0ge307XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHN5bmNUb1VybCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgY29uc3QgZnJvbVVybCA9IHN5bmNUb1VybCh1cmxQYXJhbXNBdE1vdW50UmVmLmN1cnJlbnQsICdnZXQnKTtcbiAgICAgICAgICAgIC8vIElkZW1wb3RlbnQgcmVmIHdyaXRlcyDigJQgc2FtZSBpbnB1dCBvbiBldmVyeSBpbnZvY2F0aW9uLlxuICAgICAgICAgICAgbWFuYWdlZEtleXNSZWYuY3VycmVudCA9IG5ldyBTZXQoT2JqZWN0LmtleXMoZnJvbVVybCkpO1xuICAgICAgICAgICAgdXJsSW5pdGlhbFZhbHVlc1JlZi5jdXJyZW50ID0gZnJvbVVybDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHVybFNlZWRlZFJlZi5jdXJyZW50ID0gT2JqZWN0LmFzc2lnbih7fSwgdXJsUGFyYW1zQXRNb3VudFJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgIHVybEluaXRpYWxWYWx1ZXNSZWYuY3VycmVudCA9IE9iamVjdC5hc3NpZ24oe30sIHVybFBhcmFtc0F0TW91bnRSZWYuY3VycmVudCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3Qgd3JpdGVWYWx1ZXMgPSB1c2VNZW1vaXplZEZuKCh2YWx1ZXMpID0+IHtcbiAgICAgICAgaWYgKCFzeW5jVG9VcmwgfHwgIWlzV3JpdGFibGUoKSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgbGV0IHRvV3JpdGU7XG4gICAgICAgIGNvbnN0IHRvQ2xlYXIgPSBuZXcgU2V0KG1hbmFnZWRLZXlzUmVmLmN1cnJlbnQpO1xuICAgICAgICBpZiAodHlwZW9mIHN5bmNUb1VybCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgLy8gZXh0cmFVcmxQYXJhbXMgYnlwYXNzIHRoZSBjb25zdW1lcidzIG1hcHBlciAoXCJhbHdheXMgd3JpdHRlblwiKTogdGhleVxuICAgICAgICAgICAgLy8gZm9ybSB0aGUgYmFzZSBhbmQgdGhlIG1hcHBlcidzIG91dHB1dCB3aW5zIG9uIGtleSBjb2xsaXNpb25zLlxuICAgICAgICAgICAgdG9Xcml0ZSA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZXh0cmFVcmxQYXJhbXMpLCBzeW5jVG9VcmwodmFsdWVzLCAnc2V0JykpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gU2tpcCBVUkwtc2VlZGVkIGtleXMgd2UgbmV2ZXIgd3JvdGUgd2hvc2UgdmFsdWUgaXMgdW5jaGFuZ2VkIOKAlCB0aGV5XG4gICAgICAgICAgICAvLyBtYXkgYmVsb25nIHRvIHNvbWVvbmUgZWxzZTsgbGVhdmUgdGhlbSBpbiB0aGUgVVJMIHVudG91Y2hlZC4gQSBzZWVkZWRcbiAgICAgICAgICAgIC8vIGtleSB3aG9zZSB2YWx1ZSBESUQgY2hhbmdlIGlzIGNsYWltZWQgZnJvbSBub3cgb24uXG4gICAgICAgICAgICB0b1dyaXRlID0ge307XG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh2YWx1ZXMpKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VlZGVkID0gdXJsU2VlZGVkUmVmLmN1cnJlbnRba2V5XTtcbiAgICAgICAgICAgICAgICBpZiAoc2VlZGVkICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgIW1hbmFnZWRLZXlzUmVmLmN1cnJlbnQuaGFzKGtleSkgJiZcbiAgICAgICAgICAgICAgICAgICAgU3RyaW5nKHZhbHVlKSA9PT0gc2VlZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkZWxldGUgdXJsU2VlZGVkUmVmLmN1cnJlbnRba2V5XTtcbiAgICAgICAgICAgICAgICB0b0NsZWFyLmFkZChrZXkpO1xuICAgICAgICAgICAgICAgIHRvV3JpdGVba2V5XSA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gU2VlZGVkIGtleXMgbWlzc2luZyBmcm9tIHRoZSBzdWJtaXR0ZWQgdmFsdWVzIHdlcmUgY2xlYXJlZCBieSB0aGVcbiAgICAgICAgICAgIC8vIHVzZXIgKG9taXROaWwgc3RyaXBzIGVtcHR5IHZhbHVlcykg4oCUIGNsYWltIHRoZW0gYW5kIHJlbW92ZSB0aGVpclxuICAgICAgICAgICAgLy8gc3RhbGUgcGFyYW1zIGZyb20gdGhlIFVSTC5cbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHVybFNlZWRlZFJlZi5jdXJyZW50KSkge1xuICAgICAgICAgICAgICAgIGlmICghKGtleSBpbiB2YWx1ZXMpKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB1cmxTZWVkZWRSZWYuY3VycmVudFtrZXldO1xuICAgICAgICAgICAgICAgICAgICB0b0NsZWFyLmFkZChrZXkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBtYW5hZ2VkS2V5c1JlZi5jdXJyZW50ID0gc2V0VXJsUGFyYW1zKHRvV3JpdGUsIHRvQ2xlYXIpO1xuICAgIH0pO1xuICAgIGNvbnN0IG9uVXJsU3luY0ZpbmlzaCA9IHVzZU1lbW9pemVkRm4oKGZpbmFsVmFsdWVzKSA9PiB7XG4gICAgICAgIGlmICghc3luY1RvVXJsKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAvLyBleHRyYVVybFBhcmFtcyBhcmUgYXBwbGllZCBleGFjdGx5IG9uY2UgcGVyIGJyYW5jaDogcHJlLW1lcmdlZCBoZXJlIGZvclxuICAgICAgICAvLyB0aGUgYm9vbGVhbiBmb3JtICh2YWx1ZXMgd2luIG9uIGNvbGxpc2lvbik7IHRoZSBmdW5jdGlvbiBmb3JtIGFwcGxpZXNcbiAgICAgICAgLy8gdGhlbSBBRlRFUiB0aGUgY29uc3VtZXIncyBtYXBwZXIgaW5zaWRlIHdyaXRlVmFsdWVzLCBzbyB0aGUgbWFwcGVyXG4gICAgICAgIC8vIG5ldmVyIHNlZXMgZm9yZWlnbiBrZXlzIGluIGl0cyBpbnB1dC5cbiAgICAgICAgY29uc3Qgc2hvdWxkUHJlTWVyZ2UgPSB0eXBlb2Ygc3luY1RvVXJsICE9PSAnZnVuY3Rpb24nICYmIGV4dHJhVXJsUGFyYW1zO1xuICAgICAgICB3cml0ZVZhbHVlcyhzaG91bGRQcmVNZXJnZSA/IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZXh0cmFVcmxQYXJhbXMpLCBmaW5hbFZhbHVlcykgOiBmaW5hbFZhbHVlcyk7XG4gICAgfSk7XG4gICAgY29uc3Qgb25VcmxTeW5jUmVzZXQgPSB1c2VNZW1vaXplZEZuKCgpID0+IHtcbiAgICAgICAgaWYgKCFzeW5jVG9VcmwgfHwgIWlzV3JpdGFibGUoKSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgLy8gQ2xlYXIgZXZlcnkgbWFuYWdlZCBrZXksIHRoZW4gcmUtd3JpdGUgZXh0cmFVcmxQYXJhbXMgKHRoZXkgcGVyc2lzdCkuXG4gICAgICAgIG1hbmFnZWRLZXlzUmVmLmN1cnJlbnQgPSBzZXRVcmxQYXJhbXMoT2JqZWN0LmFzc2lnbih7fSwgZXh0cmFVcmxQYXJhbXMpLCBtYW5hZ2VkS2V5c1JlZi5jdXJyZW50KTtcbiAgICB9KTtcbiAgICAvLyBLZWVwIGV4dHJhVXJsUGFyYW1zIGluIHRoZSBVUkwgYXMgdGhleSBjaGFuZ2UgKHZhbHVlLWNvbXBhcmVkKS4gVGhlXG4gICAgLy8gcHJldmlvdXNseS13cml0dGVuIGV4dHJhIGtleXMgYXJlIHRyYWNrZWQgc28gYSBrZXkgUkVNT1ZFRCBmcm9tXG4gICAgLy8gZXh0cmFVcmxQYXJhbXMgaXMgYWxzbyByZW1vdmVkIGZyb20gdGhlIFVSTCDigJQgbm90IGp1c3Qgb3ZlcndyaXR0ZW4uXG4gICAgY29uc3QgZXh0cmFLZXlzUmVmID0gdXNlUmVmKG5ldyBTZXQoKSk7XG4gICAgY29uc3Qgc2VyaWFsaXplZEV4dHJhID0gc3luY1RvVXJsID8gc3RhYmxlU2VyaWFsaXplKGV4dHJhVXJsUGFyYW1zKSA6ICcnO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghc3luY1RvVXJsIHx8ICFpc1dyaXRhYmxlKCkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IG5leHQgPSBleHRyYVVybFBhcmFtcyAhPT0gbnVsbCAmJiBleHRyYVVybFBhcmFtcyAhPT0gdm9pZCAwID8gZXh0cmFVcmxQYXJhbXMgOiB7fTtcbiAgICAgICAgaWYgKGV4dHJhS2V5c1JlZi5jdXJyZW50LnNpemUgPT09IDAgJiYgT2JqZWN0LmtleXMobmV4dCkubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCB3cml0dGVuID0gc2V0VXJsUGFyYW1zKE9iamVjdC5hc3NpZ24oe30sIG5leHQpLCBleHRyYUtleXNSZWYuY3VycmVudCk7XG4gICAgICAgIGNvbnN0IG1lcmdlZCA9IG5ldyBTZXQobWFuYWdlZEtleXNSZWYuY3VycmVudCk7XG4gICAgICAgIGV4dHJhS2V5c1JlZi5jdXJyZW50LmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgICAgaWYgKCF3cml0dGVuLmhhcyhrZXkpKVxuICAgICAgICAgICAgICAgIG1lcmdlZC5kZWxldGUoa2V5KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHdyaXR0ZW4uZm9yRWFjaCgoa2V5KSA9PiBtZXJnZWQuYWRkKGtleSkpO1xuICAgICAgICBtYW5hZ2VkS2V5c1JlZi5jdXJyZW50ID0gbWVyZ2VkO1xuICAgICAgICBleHRyYUtleXNSZWYuY3VycmVudCA9IHdyaXR0ZW47XG4gICAgfSwgW3NlcmlhbGl6ZWRFeHRyYV0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIHVybEluaXRpYWxWYWx1ZXM6IHVybEluaXRpYWxWYWx1ZXNSZWYuY3VycmVudCxcbiAgICAgICAgb25VcmxTeW5jRmluaXNoLFxuICAgICAgICBvblVybFN5bmNSZXNldCxcbiAgICB9O1xufVxuZXhwb3J0IGRlZmF1bHQgdXNlVXJsU3luYzsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
178
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2hvb2tzL3VzZVVybFN5bmMudHMiLCJjb21wb25lbnRzL1Byb0Zvcm0vaG9va3MvdXNlVXJsU3luYy5qcyJdLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3VzZU1lbW9pemVkRm4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3V0aWxzIiwiZ2V0VXJsUGFyYW1zIiwid2luZG93IiwicGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwibG9jYXRpb24iLCJzZWFyY2giLCJmb3JFYWNoIiwidiIsImsiLCJzZXRVcmxQYXJhbXMiLCJtYW5hZ2VkS2V5cyIsIlNldCIsInNwIiwid3JpdHRlbiIsIl9pIiwiX09iamVjdCRlbnRyaWVzIiwiT2JqZWN0IiwiZW50cmllcyIsImxlbmd0aCIsIl9PYmplY3QkZW50cmllcyRfaSIsIl9zbGljZWRUb0FycmF5MiIsInVuZGVmaW5lZCIsInNldCIsIlN0cmluZyIsImFkZCIsInRvU3RyaW5nIiwidXJsIiwiY29uY2F0IiwicGF0aG5hbWUiLCJoYXNoIiwiY3VycmVudFVybCIsImhpc3RvcnkiLCJyZXBsYWNlU3RhdGUiLCJ1c2VVcmxTeW5jIiwiX3JlZiIsInN5bmNUb1VybCIsImV4dHJhVXJsUGFyYW1zIiwidXJsUGFyYW1zQXRNb3VudFJlZiIsInVzZVJlZiIsImN1cnJlbnQiLCJtb3VudFBhdGhuYW1lUmVmIiwiYWN0aXZlUmVmIiwidXNlRWZmZWN0IiwiaXNXcml0YWJsZSIsIm1hbmFnZWRLZXlzUmVmIiwidXJsU2VlZGVkUmVmIiwidXJsSW5pdGlhbFZhbHVlc1JlZiIsImZyb21VcmwiLCJrZXlzIiwiYXNzaWduIiwid3JpdGVWYWx1ZXMiLCJ1c2VNZW1vaXplZEZuIiwidmFsdWVzIiwidG9Xcml0ZSIsInRvQ2xlYXIiLCJfaTIiLCJfT2JqZWN0JGVudHJpZXMyIiwiX09iamVjdCRlbnRyaWVzMiRfaSIsImtleSIsInZhbHVlIiwic2VlZGVkIiwiaGFzIiwiX2kzIiwiX09iamVjdCRrZXlzIiwib25VcmxTeW5jRmluaXNoIiwiZmluYWxWYWx1ZXMiLCJzaG91bGRQcmVNZXJnZSIsIm9uVXJsU3luY1Jlc2V0IiwiZXh0cmFLZXlzUmVmIiwic2VyaWFsaXplZEV4dHJhIiwic3RhYmxlU2VyaWFsaXplIiwibmV4dCIsInNpemUiLCJtZXJnZWQiLCJ1cmxJbml0aWFsVmFsdWVzIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxjQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFxQkEsU0FBU0ksWUFBWUEsQ0FBQSxFQUFBO0VBQ25CLElBQUksT0FBT0MsTUFBTSxLQUFLLFdBQVcsRUFBRSxPQUFPLENBQUEsQ0FBRTtFQUM1QyxJQUFNQyxNQUFNLEdBQTJCLENBQUEsQ0FBRTtFQUN6QyxJQUFJQyxlQUFlLENBQUNGLE1BQU0sQ0FBQ0csUUFBUSxDQUFDQyxNQUFNLENBQUMsQ0FBQ0MsT0FBTyxDQUFDLFVBQUNDLENBQUMsRUFBRUMsQ0FBQyxFQUFJO0lBQzNETixNQUFNLENBQUNNLENBQUMsQ0FBQyxHQUFHRCxDQUFDO0VBQ2YsQ0FBQyxDQUFDO0VBQ0YsT0FBT0wsTUFBTTtBQUNmO0FBRUE7QUNuQkE7QUFDQTtBQUNBO0FBQ0E7QURxQkEsU0FBU08sWUFBWUEsQ0FDbkJQLE1BQTJCLEVBQzNCUSxXQUFnQyxFQUFBO0VBRWhDLElBQUksT0FBT1QsTUFBTSxLQUFLLFdBQVcsRUFBRSxPQUFPLElBQUlVLEdBQUcsQ0FBQ0QsV0FBVyxDQUFDO0VBQzlELElBQU1FLEVBQUUsR0FBRyxJQUFJVCxlQUFlLENBQUNGLE1BQU0sQ0FBQ0csUUFBUSxDQUFDQyxNQUFNLENBQUM7RUFDdERLLFdBQVcsQ0FBQ0osT0FBTyxDQUFDLFVBQUNFLENBQUM7SUFBQSxPQUFLSSxFQUFFLFVBQU8sQ0FBQ0osQ0FB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T0FBTztFQUNoQyxDQUFDLEVBQUUsQ0FBQ3dELGVBQWUsQ0FBQyxDQUFDO0VBRXJCLE9BQU87SUFDTEssZ0JBQWdCLEVBQUU1QixtQkFBbUIsQ0FBQ1AsT0FBTztJQUM3Q3lCLGVBQWUsRUFBZkEsZUFBZTtJQUNmRyxjQUFjLEVBQWRBO0VDOUNBLENEK0NEO0FBQ0g7QUFBQyxJQUFBUSxRQUFBLEdBQUFDLE9BQUEsY0FFYzNDLFVBQVUiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2hvb2tzL3VzZVVybFN5bmMuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZU1lbW9pemVkRm4gZnJvbSAnQDFtb25leS9ob29rcy91c2VNZW1vaXplZEZuJztcbmltcG9ydCB7IHN0YWJsZVNlcmlhbGl6ZSB9IGZyb20gJy4uL3V0aWxzJztcbmZ1bmN0aW9uIGdldFVybFBhcmFtcygpIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgIHJldHVybiB7fTtcbiAgICBjb25zdCBwYXJhbXMgPSB7fTtcbiAgICBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpLmZvckVhY2goKHYsIGspID0+IHtcbiAgICAgICAgcGFyYW1zW2tdID0gdjtcbiAgICB9KTtcbiAgICByZXR1cm4gcGFyYW1zO1xufVxuLyoqXG4gKiBXcml0ZSB0aGUgZ2l2ZW4gdmFsdWVzIGludG8gdGhlIFVSTCB3aGlsZSBQUkVTRVJWSU5HIHVucmVsYXRlZCBxdWVyeSBwYXJhbXMuXG4gKiBPbmx5IGtleXMgaW4gYG1hbmFnZWRLZXlzYCBhcmUgY2xlYXJlZCBiZWZvcmUgd3JpdGluZy4gUmV0dXJucyB0aGUgbmV3IHNldFxuICogb2YgbWFuYWdlZCBrZXlzLlxuICovXG5mdW5jdGlvbiBzZXRVcmxQYXJhbXMocGFyYW1zLCBtYW5hZ2VkS2V5cykge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgcmV0dXJuIG5ldyBTZXQobWFuYWdlZEtleXMpO1xuICAgIGNvbnN0IHNwID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTtcbiAgICBtYW5hZ2VkS2V5cy5mb3JFYWNoKChrKSA9PiBzcC5kZWxldGUoaykpO1xuICAgIGNvbnN0IHdyaXR0ZW4gPSBuZXcgU2V0KCk7XG4gICAgZm9yIChjb25zdCBbaywgdl0gb2YgT2JqZWN0LmVudHJpZXMocGFyYW1zKSkge1xuICAgICAgICBpZiAodiAhPT0gbnVsbCAmJiB2ICE9PSB1bmRlZmluZWQgJiYgdiAhPT0gJycpIHtcbiAgICAgICAgICAgIHNwLnNldChrLCBTdHJpbmcodikpO1xuICAgICAgICAgICAgd3JpdHRlbi5hZGQoayk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3Qgc2VhcmNoID0gc3AudG9TdHJpbmcoKTtcbiAgICAvLyBQUkVTRVJWRSB0aGUgaGFzaCDigJQgaGFzaCByb3V0ZXJzIGtlZXAgdGhlaXIgd2hvbGUgcm91dGUgdGhlcmU7IGRyb3BwaW5nXG4gICAgLy8gaXQgd291bGQgbmF2aWdhdGUgdGhlIFNQQSBhd2F5IG9uIGV2ZXJ5IHdyaXRlLlxuICAgIGNvbnN0IHVybCA9IChzZWFyY2ggPyBgJHt3aW5kb3cubG9jYXRpb24ucGF0aG5hbWV9PyR7c2VhcmNofWAgOiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpICtcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLmhhc2g7XG4gICAgLy8gU2tpcCB0aGUgaGlzdG9yeSBjYWxsIHdoZW4gbm90aGluZyBjaGFuZ2VzIOKAlCBTYWZhcmkgdGhyb3R0bGVzIHRoZVxuICAgIC8vIGhpc3RvcnkgQVBJLCBzbyBpZGVudGljYWwgcmV3cml0ZXMgYXJlIHdhc3RlZCBidWRnZXQuXG4gICAgY29uc3QgY3VycmVudFVybCA9IGAke3dpbmRvdy5sb2NhdGlvbi5wYXRobmFtZX0ke3dpbmRvdy5sb2NhdGlvbi5zZWFyY2h9JHt3aW5kb3cubG9jYXRpb24uaGFzaH1gO1xuICAgIGlmICh1cmwgIT09IGN1cnJlbnRVcmwpIHtcbiAgICAgICAgd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKG51bGwsICcnLCB1cmwpO1xuICAgIH1cbiAgICByZXR1cm4gd3JpdHRlbjtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1c2VVcmxTeW5jKHsgc3luY1RvVXJsLCBleHRyYVVybFBhcmFtcywgfSkge1xuICAgIC8vIE9uZS10aW1lIG1vdW50IHNuYXBzaG90LiBMYXp5IHJlZiBpbml0IGlzIElERU1QT1RFTlQsIHNvIGl0IGlzIHNhZmUgdW5kZXJcbiAgICAvLyBTdHJpY3RNb2RlJ3MgZG91YmxlIHJlbmRlciAoYW4gaW1wdXJlIFwiZmlyc3QgcnVuXCIgZmxhZyBpbnNpZGUgdXNlTWVtb1xuICAgIC8vIHdvdWxkIHJldHVybiB0aGUgdW5tZXJnZWQgdmFsdWUgb24gdGhlIHJlcGxheSBpbnZvY2F0aW9uKS5cbiAgICBjb25zdCB1cmxQYXJhbXNBdE1vdW50UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGlmICh1cmxQYXJhbXNBdE1vdW50UmVmLmN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgICAgdXJsUGFyYW1zQXRNb3VudFJlZi5jdXJyZW50ID0gc3luY1RvVXJsID8gZ2V0VXJsUGFyYW1zKCkgOiB7fTtcbiAgICB9XG4gICAgLy8gVGhlIHJvdXRlIHRoaXMgZm9ybSBtb3VudGVkIG9uLiBBbGwgZGVmZXJyZWQgVVJMIHdyaXRlcyBhcmUgZ3VhcmRlZCBieVxuICAgIC8vIGl0OiBhbiBvbkZpbmlzaCB0aGF0IE5BVklHQVRFUyBtdXN0IG5vdCBnZXQgdGhlIG9sZCBmb3JtJ3MgcGFyYW1zXG4gICAgLy8gc3RhbXBlZCBvbnRvIHRoZSBuZXcgcm91dGUncyBVUkwuIFRoZSBwYXRobmFtZSBjaGVjayBjb3ZlcnMgcGF0aFxuICAgIC8vIHJvdXRlcnM7IHRoZSBhY3RpdmVSZWYgY292ZXJzIGFueSBuYXZpZ2F0aW9uIHRoYXQgVU5NT1VOVFMgdGhlIGZvcm1cbiAgICAvLyAoaW5jbHVkaW5nIGhhc2ggcm91dGVycywgd2hlcmUgdGhlIHBhdGhuYW1lIG5ldmVyIGNoYW5nZXMpLlxuICAgIGNvbnN0IG1vdW50UGF0aG5hbWVSZWYgPSB1c2VSZWYodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcgPyAnJyA6IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSk7XG4gICAgY29uc3QgYWN0aXZlUmVmID0gdXNlUmVmKHRydWUpO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGFjdGl2ZVJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGFjdGl2ZVJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgIH07XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IGlzV3JpdGFibGUgPSAoKSA9PiBhY3RpdmVSZWYuY3VycmVudCAmJlxuICAgICAgICB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgICB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgPT09IG1vdW50UGF0aG5hbWVSZWYuY3VycmVudDtcbiAgICAvLyBLZXlzIHRoaXMgZm9ybSBoYXMgV1JJVFRFTiB0byB0aGUgVVJMIOKAlCB0aGUgb25seSBrZXlzIHN1Ym1pdC9yZXNldCBtYXkgY2xlYXIuXG4gICAgY29uc3QgbWFuYWdlZEtleXNSZWYgPSB1c2VSZWYobmV3IFNldCgpKTtcbiAgICAvLyBCb29sZWFuLW1vZGUgb25seTogVVJMIHBhcmFtcyBtZXJnZWQgaW50byBpbml0aWFsVmFsdWVzIGJ1dCBOT1QgeWV0XG4gICAgLy8gY2xhaW1lZCAodGhleSBtYXkgYmVsb25nIHRvIHNvbWVvbmUgZWxzZSwgZS5nLiBgP3RhYj3igKZgKS5cbiAgICBjb25zdCB1cmxTZWVkZWRSZWYgPSB1c2VSZWYoe30pO1xuICAgIGNvbnN0IHVybEluaXRpYWxWYWx1ZXNSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgaWYgKHVybEluaXRpYWxWYWx1ZXNSZWYuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgICBpZiAoIXN5bmNUb1VybCkge1xuICAgICAgICAgICAgdXJsSW5pdGlhbFZhbHVlc1JlZi5jdXJyZW50ID0ge307XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIHN5bmNUb1VybCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgY29uc3QgZnJvbVVybCA9IHN5bmNUb1VybCh1cmxQYXJhbXNBdE1vdW50UmVmLmN1cnJlbnQsICdnZXQnKTtcbiAgICAgICAgICAgIC8vIElkZW1wb3RlbnQgcmVmIHdyaXRlcyDigJQgc2FtZSBpbnB1dCBvbiBldmVyeSBpbnZvY2F0aW9uLlxuICAgICAgICAgICAgbWFuYWdlZEtleXNSZWYuY3VycmVudCA9IG5ldyBTZXQoT2JqZWN0LmtleXMoZnJvbVVybCkpO1xuICAgICAgICAgICAgdXJsSW5pdGlhbFZhbHVlc1JlZi5jdXJyZW50ID0gZnJvbVVybDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHVybFNlZWRlZFJlZi5jdXJyZW50ID0gT2JqZWN0LmFzc2lnbih7fSwgdXJsUGFyYW1zQXRNb3VudFJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgIHVybEluaXRpYWxWYWx1ZXNSZWYuY3VycmVudCA9IE9iamVjdC5hc3NpZ24oe30sIHVybFBhcmFtc0F0TW91bnRSZWYuY3VycmVudCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3Qgd3JpdGVWYWx1ZXMgPSB1c2VNZW1vaXplZEZuKCh2YWx1ZXMpID0+IHtcbiAgICAgICAgaWYgKCFzeW5jVG9VcmwgfHwgIWlzV3JpdGFibGUoKSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgbGV0IHRvV3JpdGU7XG4gICAgICAgIGNvbnN0IHRvQ2xlYXIgPSBuZXcgU2V0KG1hbmFnZWRLZXlzUmVmLmN1cnJlbnQpO1xuICAgICAgICBpZiAodHlwZW9mIHN5bmNUb1VybCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgLy8gZXh0cmFVcmxQYXJhbXMgYnlwYXNzIHRoZSBjb25zdW1lcidzIG1hcHBlciAoXCJhbHdheXMgd3JpdHRlblwiKTogdGhleVxuICAgICAgICAgICAgLy8gZm9ybSB0aGUgYmFzZSBhbmQgdGhlIG1hcHBlcidzIG91dHB1dCB3aW5zIG9uIGtleSBjb2xsaXNpb25zLlxuICAgICAgICAgICAgdG9Xcml0ZSA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZXh0cmFVcmxQYXJhbXMpLCBzeW5jVG9VcmwodmFsdWVzLCAnc2V0JykpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gU2tpcCBVUkwtc2VlZGVkIGtleXMgd2UgbmV2ZXIgd3JvdGUgd2hvc2UgdmFsdWUgaXMgdW5jaGFuZ2VkIOKAlCB0aGV5XG4gICAgICAgICAgICAvLyBtYXkgYmVsb25nIHRvIHNvbWVvbmUgZWxzZTsgbGVhdmUgdGhlbSBpbiB0aGUgVVJMIHVudG91Y2hlZC4gQSBzZWVkZWRcbiAgICAgICAgICAgIC8vIGtleSB3aG9zZSB2YWx1ZSBESUQgY2hhbmdlIGlzIGNsYWltZWQgZnJvbSBub3cgb24uXG4gICAgICAgICAgICB0b1dyaXRlID0ge307XG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh2YWx1ZXMpKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VlZGVkID0gdXJsU2VlZGVkUmVmLmN1cnJlbnRba2V5XTtcbiAgICAgICAgICAgICAgICBpZiAoc2VlZGVkICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICAgICAgIW1hbmFnZWRLZXlzUmVmLmN1cnJlbnQuaGFzKGtleSkgJiZcbiAgICAgICAgICAgICAgICAgICAgU3RyaW5nKHZhbHVlKSA9PT0gc2VlZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkZWxldGUgdXJsU2VlZGVkUmVmLmN1cnJlbnRba2V5XTtcbiAgICAgICAgICAgICAgICB0b0NsZWFyLmFkZChrZXkpO1xuICAgICAgICAgICAgICAgIHRvV3JpdGVba2V5XSA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gU2VlZGVkIGtleXMgbWlzc2luZyBmcm9tIHRoZSBzdWJtaXR0ZWQgdmFsdWVzIHdlcmUgY2xlYXJlZCBieSB0aGVcbiAgICAgICAgICAgIC8vIHVzZXIgKG9taXROaWwgc3RyaXBzIGVtcHR5IHZhbHVlcykg4oCUIGNsYWltIHRoZW0gYW5kIHJlbW92ZSB0aGVpclxuICAgICAgICAgICAgLy8gc3RhbGUgcGFyYW1zIGZyb20gdGhlIFVSTC5cbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHVybFNlZWRlZFJlZi5jdXJyZW50KSkge1xuICAgICAgICAgICAgICAgIGlmICghKGtleSBpbiB2YWx1ZXMpKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB1cmxTZWVkZWRSZWYuY3VycmVudFtrZXldO1xuICAgICAgICAgICAgICAgICAgICB0b0NsZWFyLmFkZChrZXkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBtYW5hZ2VkS2V5c1JlZi5jdXJyZW50ID0gc2V0VXJsUGFyYW1zKHRvV3JpdGUsIHRvQ2xlYXIpO1xuICAgIH0pO1xuICAgIGNvbnN0IG9uVXJsU3luY0ZpbmlzaCA9IHVzZU1lbW9pemVkRm4oKGZpbmFsVmFsdWVzKSA9PiB7XG4gICAgICAgIGlmICghc3luY1RvVXJsKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAvLyBleHRyYVVybFBhcmFtcyBhcmUgYXBwbGllZCBleGFjdGx5IG9uY2UgcGVyIGJyYW5jaDogcHJlLW1lcmdlZCBoZXJlIGZvclxuICAgICAgICAvLyB0aGUgYm9vbGVhbiBmb3JtICh2YWx1ZXMgd2luIG9uIGNvbGxpc2lvbik7IHRoZSBmdW5jdGlvbiBmb3JtIGFwcGxpZXNcbiAgICAgICAgLy8gdGhlbSBBRlRFUiB0aGUgY29uc3VtZXIncyBtYXBwZXIgaW5zaWRlIHdyaXRlVmFsdWVzLCBzbyB0aGUgbWFwcGVyXG4gICAgICAgIC8vIG5ldmVyIHNlZXMgZm9yZWlnbiBrZXlzIGluIGl0cyBpbnB1dC5cbiAgICAgICAgY29uc3Qgc2hvdWxkUHJlTWVyZ2UgPSB0eXBlb2Ygc3luY1RvVXJsICE9PSAnZnVuY3Rpb24nICYmIGV4dHJhVXJsUGFyYW1zO1xuICAgICAgICB3cml0ZVZhbHVlcyhzaG91bGRQcmVNZXJnZSA/IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZXh0cmFVcmxQYXJhbXMpLCBmaW5hbFZhbHVlcykgOiBmaW5hbFZhbHVlcyk7XG4gICAgfSk7XG4gICAgY29uc3Qgb25VcmxTeW5jUmVzZXQgPSB1c2VNZW1vaXplZEZuKCgpID0+IHtcbiAgICAgICAgaWYgKCFzeW5jVG9VcmwgfHwgIWlzV3JpdGFibGUoKSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgLy8gQ2xlYXIgZXZlcnkgbWFuYWdlZCBrZXksIHRoZW4gcmUtd3JpdGUgZXh0cmFVcmxQYXJhbXMgKHRoZXkgcGVyc2lzdCkuXG4gICAgICAgIG1hbmFnZWRLZXlzUmVmLmN1cnJlbnQgPSBzZXRVcmxQYXJhbXMoT2JqZWN0LmFzc2lnbih7fSwgZXh0cmFVcmxQYXJhbXMpLCBtYW5hZ2VkS2V5c1JlZi5jdXJyZW50KTtcbiAgICB9KTtcbiAgICAvLyBLZWVwIGV4dHJhVXJsUGFyYW1zIGluIHRoZSBVUkwgYXMgdGhleSBjaGFuZ2UgKHZhbHVlLWNvbXBhcmVkKS4gVGhlXG4gICAgLy8gcHJldmlvdXNseS13cml0dGVuIGV4dHJhIGtleXMgYXJlIHRyYWNrZWQgc28gYSBrZXkgUkVNT1ZFRCBmcm9tXG4gICAgLy8gZXh0cmFVcmxQYXJhbXMgaXMgYWxzbyByZW1vdmVkIGZyb20gdGhlIFVSTCDigJQgbm90IGp1c3Qgb3ZlcndyaXR0ZW4uXG4gICAgY29uc3QgZXh0cmFLZXlzUmVmID0gdXNlUmVmKG5ldyBTZXQoKSk7XG4gICAgY29uc3Qgc2VyaWFsaXplZEV4dHJhID0gc3luY1RvVXJsID8gc3RhYmxlU2VyaWFsaXplKGV4dHJhVXJsUGFyYW1zKSA6ICcnO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghc3luY1RvVXJsIHx8ICFpc1dyaXRhYmxlKCkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IG5leHQgPSBleHRyYVVybFBhcmFtcyAhPT0gbnVsbCAmJiBleHRyYVVybFBhcmFtcyAhPT0gdm9pZCAwID8gZXh0cmFVcmxQYXJhbXMgOiB7fTtcbiAgICAgICAgaWYgKGV4dHJhS2V5c1JlZi5jdXJyZW50LnNpemUgPT09IDAgJiYgT2JqZWN0LmtleXMobmV4dCkubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCB3cml0dGVuID0gc2V0VXJsUGFyYW1zKE9iamVjdC5hc3NpZ24oe30sIG5leHQpLCBleHRyYUtleXNSZWYuY3VycmVudCk7XG4gICAgICAgIGNvbnN0IG1lcmdlZCA9IG5ldyBTZXQobWFuYWdlZEtleXNSZWYuY3VycmVudCk7XG4gICAgICAgIGV4dHJhS2V5c1JlZi5jdXJyZW50LmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgICAgaWYgKCF3cml0dGVuLmhhcyhrZXkpKVxuICAgICAgICAgICAgICAgIG1lcmdlZC5kZWxldGUoa2V5KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHdyaXR0ZW4uZm9yRWFjaCgoa2V5KSA9PiBtZXJnZWQuYWRkKGtleSkpO1xuICAgICAgICBtYW5hZ2VkS2V5c1JlZi5jdXJyZW50ID0gbWVyZ2VkO1xuICAgICAgICBleHRyYUtleXNSZWYuY3VycmVudCA9IHdyaXR0ZW47XG4gICAgfSwgW3NlcmlhbGl6ZWRFeHRyYV0pO1xuICAgIHJldHVybiB7XG4gICAgICAgIHVybEluaXRpYWxWYWx1ZXM6IHVybEluaXRpYWxWYWx1ZXNSZWYuY3VycmVudCxcbiAgICAgICAgb25VcmxTeW5jRmluaXNoLFxuICAgICAgICBvblVybFN5bmNSZXNldCxcbiAgICB9O1xufVxuZXhwb3J0IGRlZmF1bHQgdXNlVXJsU3luYzsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -1,32 +1,41 @@
|
|
|
1
|
+
import { ProForm as ProFormBase } from './ProForm';
|
|
1
2
|
import { ProFormItem } from './ProFormItem';
|
|
3
|
+
import { ProFormDependency } from './ProFormDependency';
|
|
4
|
+
import { ProFormList } from './ProFormList';
|
|
5
|
+
import { ProFormGroup } from './ProFormGroup';
|
|
6
|
+
import { SchemaForm } from './SchemaForm';
|
|
7
|
+
import { Submitter } from './Submitter';
|
|
8
|
+
import { ProFormText, ProFormPassword, ProFormTextArea, ProFormCheckbox, ProFormCheckboxGroup, ProFormSwitch, ProFormSelect, ProFormRadioGroup, ProFormSlider, ProFormDatePicker, ProFormUpload, ProFormFieldSet } from './fields';
|
|
2
9
|
import type { FormInstance, UseFormConfig } from './core/interface';
|
|
10
|
+
import { useProFormContext, useFormInstance, useFormWatch } from './context';
|
|
3
11
|
import './style';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
Submitter:
|
|
18
|
-
Text:
|
|
19
|
-
Password:
|
|
20
|
-
TextArea:
|
|
21
|
-
Checkbox:
|
|
22
|
-
CheckboxGroup:
|
|
23
|
-
Switch:
|
|
24
|
-
Select:
|
|
25
|
-
RadioGroup:
|
|
26
|
-
Slider:
|
|
27
|
-
DatePicker:
|
|
28
|
-
Upload:
|
|
12
|
+
/** Public hook — returns [FormInstance] for backward compatibility */
|
|
13
|
+
declare const useForm: <Values = Record<string, any>>(config?: UseFormConfig<Values>) => [FormInstance<Values>];
|
|
14
|
+
type ProFormStatic = typeof ProFormBase & {
|
|
15
|
+
Item: typeof ProFormItem;
|
|
16
|
+
useForm: typeof useForm;
|
|
17
|
+
useInstance: typeof useFormInstance;
|
|
18
|
+
useContext: typeof useProFormContext;
|
|
19
|
+
useWatch: typeof useFormWatch;
|
|
20
|
+
Dependency: typeof ProFormDependency;
|
|
21
|
+
List: typeof ProFormList;
|
|
22
|
+
Group: typeof ProFormGroup;
|
|
23
|
+
FieldSet: typeof ProFormFieldSet;
|
|
24
|
+
SchemaForm: typeof SchemaForm;
|
|
25
|
+
Submitter: typeof Submitter;
|
|
26
|
+
Text: typeof ProFormText;
|
|
27
|
+
Password: typeof ProFormPassword;
|
|
28
|
+
TextArea: typeof ProFormTextArea;
|
|
29
|
+
Checkbox: typeof ProFormCheckbox;
|
|
30
|
+
CheckboxGroup: typeof ProFormCheckboxGroup;
|
|
31
|
+
Switch: typeof ProFormSwitch;
|
|
32
|
+
Select: typeof ProFormSelect;
|
|
33
|
+
RadioGroup: typeof ProFormRadioGroup;
|
|
34
|
+
Slider: typeof ProFormSlider;
|
|
35
|
+
DatePicker: typeof ProFormDatePicker;
|
|
36
|
+
Upload: typeof ProFormUpload;
|
|
29
37
|
};
|
|
38
|
+
declare const ProForm: ProFormStatic;
|
|
30
39
|
export { ProForm, ProFormItem };
|
|
31
40
|
export default ProForm;
|
|
32
41
|
export { createProFormField, ProFormText, ProFormPassword, ProFormTextArea, ProFormCheckbox, ProFormCheckboxGroup, ProFormSwitch, ProFormSelect, ProFormRadioGroup, ProFormSlider, ProFormDatePicker, ProFormUpload, ProFormFieldSet, } from './fields';
|
|
@@ -39,7 +48,7 @@ export { DialogForm } from './layouts/DialogForm';
|
|
|
39
48
|
export { QueryFilter } from './layouts/QueryFilter';
|
|
40
49
|
export { useFormWatch } from './context';
|
|
41
50
|
export type { UseFormWatch } from './context';
|
|
42
|
-
export type { ProFormSyncToUrl, ProFormProps, ProFormItemProps, ProFormItemSharedProps, ProFormLayoutConfig, ProFormFieldProps, ProFormContextValue, ProFormStableContextValue, ProFormStateContextValue, ProFormFormInstance, ProFormValidateResult, ProFormFieldName, ProFormFieldTransformFn, ProFormFieldConvertValueFn, ProFormDateFormatter, ProFormValueEnumObj, ProFormRequestOption, ProFormValueType, FormListContextValue, ProFormColProps, ProFormFieldSetProps, ProFormGroupProps, SubmitterProps, ProFormDependencyProps, ProFormListProps, ProFormListAction, DrawerFormProps, DialogFormProps, QueryFilterProps, CreateProFormFieldConfig, ProFormSchemaColumn, ProFormSchemaValueType, SchemaFormProps, } from './interface';
|
|
51
|
+
export type { ProFormSyncToUrl, ProFormProps, ProFormItemProps, ProFormItemSharedProps, ProFormLayoutConfig, ProFormFieldProps, ProFormContextValue, ProFormStableContextValue, ProFormStateContextValue, ProFormFormInstance, ProFormValidateResult, ProFormFieldName, ProFormPathValue, ProFormFieldValueMap, ProFormRecursivePartial, ProFormValuesPatch, ProFormFieldTransformFn, ProFormFieldConvertValueFn, ProFormDateFormatter, ProFormValueEnumObj, ProFormFieldOptionValue, ProFormRequestOption, ProFormValueType, FormListContextValue, ProFormColProps, ProFormFieldSetProps, ProFormGroupProps, SubmitterProps, ProFormDependencyProps, ProFormListProps, ProFormListAction, DrawerFormProps, DialogFormProps, QueryFilterProps, CreateProFormFieldConfig, ProFormSchemaColumn, ProFormSchemaColumns, ProFormSchemaValueType, SchemaFormProps, } from './interface';
|
|
43
52
|
export { CSS_PREFIX, WIDTH_SIZE_MAP, DEFAULT_COL_SPAN, DEFAULT_TEXT, PROFORM_MODES } from './constants';
|
|
44
53
|
export type { ProFormMode } from './constants';
|
|
45
54
|
export type { FormInstance, FormCoreInstance, Rule, RuleType, FormRule, RuleContext, ValidateTriggerProp, ValidateTrigger, ValidateStatus, FormLayout, FormSize, LabelAlign, UseFormConfig, UseFormReturn, UseFormInternals, } from './core/interface';
|
|
@@ -227,4 +227,4 @@ var _default = exports["default"] = ProForm; // Named exports for fields
|
|
|
227
227
|
// Composition + layouts
|
|
228
228
|
// Rejection type of `validateFields` — lets consumers (and submit handlers)
|
|
229
229
|
// distinguish a validation failure from other errors via `instanceof`.
|
|
230
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
230
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9pbmRleC50cyIsImNvbXBvbmVudHMvUHJvRm9ybS9pbmRleC5qcyJdLCJuYW1lcyI6WyJfUHJvRm9ybSIsInJlcXVpcmUiLCJfUHJvRm9ybUl0ZW0iLCJfUHJvRm9ybURlcGVuZGVuY3kiLCJfUHJvRm9ybUxpc3QiLCJfUHJvRm9ybUdyb3VwIiwiX1NjaGVtYUZvcm0iLCJfU3VibWl0dGVyIiwiX2ZpZWxkcyIsIl91c2VGb3JtIiwiX2NvbnRleHQiLCJfRHJhd2VyRm9ybSIsIl9EaWFsb2dGb3JtIiwiX1F1ZXJ5RmlsdGVyIiwiX2NvbnN0YW50cyIsIl92YWxpZGF0aW9uRXJyb3IiLCJ1c2VGb3JtIiwiY29uZmlnIiwiX3VzZUZvcm1JbnRlcm5hbCIsInVzZUZvcm1JbnRlcm5hbCIsImZvcm1JbnN0YW5jZSIsIlByb0Zvcm0iLCJleHBvcnRzIiwiT2JqZWN0IiwiYXNzaWduIiwiUHJvRm9ybUJhc2UiLCJJdGVtIiwiUHJvRm9ybUl0ZW0iLCJ1c2VJbnN0YW5jZSIsInVzZUZvcm1JbnN0YW5jZSIsInVzZUNvbnRleHQiLCJ1c2VQcm9Gb3JtQ29udGV4dCIsInVzZVdhdGNoIiwidXNlRm9ybVdhdGNoIiwiRGVwZW5kZW5jeSIsIlByb0Zvcm1EZXBlbmRlbmN5IiwiTGlzdCIsIlByb0Zvcm1MaXN0IiwiR3JvdXAiLCJQcm9Gb3JtR3JvdXAiLCJGaWVsZFNldCIsIlByb0Zvcm1GaWVsZFNldCIsIlNjaGVtYUZvcm0iLCJTdWJtaXR0ZXIiLCJUZXh0IiwiUHJvRm9ybVRleHQiLCJQYXNzd29yZCIsIlByb0Zvcm1QYXNzd29yZCIsIlRleHRBcmVhIiwiUHJvRm9ybVRleHRBcmVhIiwiQ2hlY2tib3giLCJQcm9Gb3JtQ2hlY2tib3giLCJDaGVja2JveEdyb3VwIiwiUHJvRm9ybUNoZWNrYm94R3JvdXAiLCJTd2l0Y2giLCJQcm9Gb3JtU3dpdGNoIiwiU2VsZWN0IiwiUHJvRm9ybVNlbGVjdCIsIlJhZGlvR3JvdXAiLCJQcm9Gb3JtUmFkaW9Hcm91cCIsIlNsaWRlciIsIlByb0Zvcm1TbGlkZXIiLCJEYXRlUGlja2VyIiwiUHJvRm9ybURhdGVQaWNrZXIiLCJVcGxvYWQiLCJQcm9Gb3JtVXBsb2FkIiwiX2RlZmF1bHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxRQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxZQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxrQkFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsWUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksYUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssV0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sVUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sT0FBQSxHQUFBUCxPQUFBO0FBY0EsSUFBQVEsUUFBQSxHQUFBUixPQUFBO0FBRUEsSUFBQVMsUUFBQSxHQUFBVCxPQUFBO0FBQ0FBLE9BQUE7QUF5RkEsSUFBQVUsV0FBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsV0FBQSxHQUFBWCxPQUFBO0FBQ0EsSUFBQVksWUFBQSxHQUFBWixPQUFBO0FBK0NBLElBQUFhLFVBQUEsR0FBQWIsT0FBQTtBQXdCQSxJQUFBYyxnQkFBQSxHQUFBZCxPQUFBO0FBaEtBO0FBQ0EsSUFBTWUsT0FBTyxHQUFHLFNBQVZBLE9BQU9BLENBQ1hDLE1BQThCLEVBQ0o7RUFDMUIsSUFBQUMsZ0JBQUEsR0FBeUIsSUFBQUMsZ0JBQWUsRUFBU0YsTUFBTSxDQUFDO0lBQWhERyxZQUFZLEdBQUFGLGdCQUFBLENBQVpFLFlBQVk7RUFDcEIsT0FBTyxDQUFDQSxZQUFZLENBQUM7QUFDdkIsQ0FBQztBQTJCRDtBQUNBLElBQU1DLE9BQU8sR0FBQUMsT0FBQSxDQUFBRCxPQUFBLEdBQUdFLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDQyxnQkFBVyxFQUFFO0VBQ3pDO0VBQ0FDLElBQUksRUFBRUMsd0JBQVc7RUFDakJYLE9BQU8sRUFBUEEsT0FBTztFQUNQWSxXQUFXLEVBQUVDLHdCQUFlO0VBQzVCQyxVQUFVLEVBQUVDLDBCQUFpQjtFQUM3QkMsUUFBUSxFQUFFQyxxQkFBWTtFQUN0QjtFQUNBQyxVQUFVLEVBQUVDLG9DQUFpQjtFQUM3QkMsSUFBSSxFQUFFQyx3QkFBVztFQUNqQkMsS0FBSyxFQUFFQywwQkFBWTtFQUNuQkMsUUFBUSxFQUFFQyx1QkFBZTtFQUN6QkMsVUFBVSxFQUFWQSxzQkFBVTtFQUNWQyxTQUFTLEVBQVRBLG9CQUFTO0VBQ1Q7RUFDQUMsSUFBSSxFQUFFQyxtQkFBVztFQUNqQkMsUUFBUSxFQUFFQyx1QkFBZTtFQUN6QkMsUUFBUSxFQUFFQyx1QkFBZTtFQUN6QkMsUUFBUSxFQUFFQyx1QkFBZTtFQUN6QkMsYUFBYSxFQUFFQyw0QkFBb0I7RUFDbkNDLE1BQU0sRUFBRUMscUJBQWE7RUFDckJDLE1BQU0sRUFBRUMscUJBQWE7RUFDckJDLFVBQVUsRUFBRUMseUJBQWlCO0VBQzdCQyxNQUFNLEVBQUVDLHFCQUFhO0VBQ3JCQyxVQUFVLEVBQUVDLHlCQUFpQjtFQUM3QkMsTUFBTSxFQUFFQztBQzFDVixDRDJDQyxDQUFrQjtBQUFDLElBQUFDLFFBQUEsR0FBQTVDLE9BQUEsY0FHTEQsT0FBTyxFQUV0QjtBQWlCQTtBQTRFQTtBQUNBIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHsgUHJvRm9ybSBhcyBQcm9Gb3JtQmFzZSB9IGZyb20gJy4vUHJvRm9ybSc7XG5pbXBvcnQgeyBQcm9Gb3JtSXRlbSB9IGZyb20gJy4vUHJvRm9ybUl0ZW0nO1xuaW1wb3J0IHsgUHJvRm9ybURlcGVuZGVuY3kgfSBmcm9tICcuL1Byb0Zvcm1EZXBlbmRlbmN5JztcbmltcG9ydCB7IFByb0Zvcm1MaXN0IH0gZnJvbSAnLi9Qcm9Gb3JtTGlzdCc7XG5pbXBvcnQgeyBQcm9Gb3JtR3JvdXAgfSBmcm9tICcuL1Byb0Zvcm1Hcm91cCc7XG5pbXBvcnQgeyBTY2hlbWFGb3JtIH0gZnJvbSAnLi9TY2hlbWFGb3JtJztcbmltcG9ydCB7IFN1Ym1pdHRlciB9IGZyb20gJy4vU3VibWl0dGVyJztcbmltcG9ydCB7IFByb0Zvcm1UZXh0LCBQcm9Gb3JtUGFzc3dvcmQsIFByb0Zvcm1UZXh0QXJlYSwgUHJvRm9ybUNoZWNrYm94LCBQcm9Gb3JtQ2hlY2tib3hHcm91cCwgUHJvRm9ybVN3aXRjaCwgUHJvRm9ybVNlbGVjdCwgUHJvRm9ybVJhZGlvR3JvdXAsIFByb0Zvcm1TbGlkZXIsIFByb0Zvcm1EYXRlUGlja2VyLCBQcm9Gb3JtVXBsb2FkLCBQcm9Gb3JtRmllbGRTZXQsIH0gZnJvbSAnLi9maWVsZHMnO1xuaW1wb3J0IHsgdXNlRm9ybSBhcyB1c2VGb3JtSW50ZXJuYWwgfSBmcm9tICcuL2NvcmUvaG9va3MvdXNlRm9ybSc7XG5pbXBvcnQgeyB1c2VQcm9Gb3JtQ29udGV4dCwgdXNlRm9ybUluc3RhbmNlLCB1c2VGb3JtV2F0Y2ggfSBmcm9tICcuL2NvbnRleHQnO1xuaW1wb3J0ICcuL3N0eWxlJztcbi8qKiBQdWJsaWMgaG9vayDigJQgcmV0dXJucyBbRm9ybUluc3RhbmNlXSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqL1xuY29uc3QgdXNlRm9ybSA9IChjb25maWcpID0+IHtcbiAgICBjb25zdCB7IGZvcm1JbnN0YW5jZSB9ID0gdXNlRm9ybUludGVybmFsKGNvbmZpZyk7XG4gICAgcmV0dXJuIFtmb3JtSW5zdGFuY2VdO1xufTtcbi8vIENvbXBvc2UgUHJvRm9ybSB3aXRoIHN0YXRpYyBzdWItY29tcG9uZW50cyBhbmQgaG9va3NcbmNvbnN0IFByb0Zvcm0gPSBPYmplY3QuYXNzaWduKFByb0Zvcm1CYXNlLCB7XG4gICAgLy8gSXRlbSArIGNvcmUgaG9va3NcbiAgICBJdGVtOiBQcm9Gb3JtSXRlbSxcbiAgICB1c2VGb3JtLFxuICAgIHVzZUluc3RhbmNlOiB1c2VGb3JtSW5zdGFuY2UsXG4gICAgdXNlQ29udGV4dDogdXNlUHJvRm9ybUNvbnRleHQsXG4gICAgdXNlV2F0Y2g6IHVzZUZvcm1XYXRjaCxcbiAgICAvLyBDb21wb3NpdGlvblxuICAgIERlcGVuZGVuY3k6IFByb0Zvcm1EZXBlbmRlbmN5LFxuICAgIExpc3Q6IFByb0Zvcm1MaXN0LFxuICAgIEdyb3VwOiBQcm9Gb3JtR3JvdXAsXG4gICAgRmllbGRTZXQ6IFByb0Zvcm1GaWVsZFNldCxcbiAgICBTY2hlbWFGb3JtLFxuICAgIFN1Ym1pdHRlcixcbiAgICAvLyBGaWVsZHNcbiAgICBUZXh0OiBQcm9Gb3JtVGV4dCxcbiAgICBQYXNzd29yZDogUHJvRm9ybVBhc3N3b3JkLFxuICAgIFRleHRBcmVhOiBQcm9Gb3JtVGV4dEFyZWEsXG4gICAgQ2hlY2tib3g6IFByb0Zvcm1DaGVja2JveCxcbiAgICBDaGVja2JveEdyb3VwOiBQcm9Gb3JtQ2hlY2tib3hHcm91cCxcbiAgICBTd2l0Y2g6IFByb0Zvcm1Td2l0Y2gsXG4gICAgU2VsZWN0OiBQcm9Gb3JtU2VsZWN0LFxuICAgIFJhZGlvR3JvdXA6IFByb0Zvcm1SYWRpb0dyb3VwLFxuICAgIFNsaWRlcjogUHJvRm9ybVNsaWRlcixcbiAgICBEYXRlUGlja2VyOiBQcm9Gb3JtRGF0ZVBpY2tlcixcbiAgICBVcGxvYWQ6IFByb0Zvcm1VcGxvYWQsXG59KTtcbmV4cG9ydCB7IFByb0Zvcm0sIFByb0Zvcm1JdGVtIH07XG5leHBvcnQgZGVmYXVsdCBQcm9Gb3JtO1xuLy8gTmFtZWQgZXhwb3J0cyBmb3IgZmllbGRzXG5leHBvcnQgeyBjcmVhdGVQcm9Gb3JtRmllbGQsIFByb0Zvcm1UZXh0LCBQcm9Gb3JtUGFzc3dvcmQsIFByb0Zvcm1UZXh0QXJlYSwgUHJvRm9ybUNoZWNrYm94LCBQcm9Gb3JtQ2hlY2tib3hHcm91cCwgUHJvRm9ybVN3aXRjaCwgUHJvRm9ybVNlbGVjdCwgUHJvRm9ybVJhZGlvR3JvdXAsIFByb0Zvcm1TbGlkZXIsIFByb0Zvcm1EYXRlUGlja2VyLCBQcm9Gb3JtVXBsb2FkLCBQcm9Gb3JtRmllbGRTZXQsIH0gZnJvbSAnLi9maWVsZHMnO1xuLy8gQ29tcG9zaXRpb24gKyBsYXlvdXRzXG5leHBvcnQgeyBQcm9Gb3JtRGVwZW5kZW5jeSB9IGZyb20gJy4vUHJvRm9ybURlcGVuZGVuY3knO1xuZXhwb3J0IHsgUHJvRm9ybUxpc3QgfSBmcm9tICcuL1Byb0Zvcm1MaXN0JztcbmV4cG9ydCB7IFByb0Zvcm1Hcm91cCB9IGZyb20gJy4vUHJvRm9ybUdyb3VwJztcbmV4cG9ydCB7IFNjaGVtYUZvcm0gfSBmcm9tICcuL1NjaGVtYUZvcm0nO1xuZXhwb3J0IHsgRHJhd2VyRm9ybSB9IGZyb20gJy4vbGF5b3V0cy9EcmF3ZXJGb3JtJztcbmV4cG9ydCB7IERpYWxvZ0Zvcm0gfSBmcm9tICcuL2xheW91dHMvRGlhbG9nRm9ybSc7XG5leHBvcnQgeyBRdWVyeUZpbHRlciB9IGZyb20gJy4vbGF5b3V0cy9RdWVyeUZpbHRlcic7XG5leHBvcnQgeyB1c2VGb3JtV2F0Y2ggfSBmcm9tICcuL2NvbnRleHQnO1xuZXhwb3J0IHsgQ1NTX1BSRUZJWCwgV0lEVEhfU0laRV9NQVAsIERFRkFVTFRfQ09MX1NQQU4sIERFRkFVTFRfVEVYVCwgUFJPRk9STV9NT0RFUyB9IGZyb20gJy4vY29uc3RhbnRzJztcbi8vIFJlamVjdGlvbiB0eXBlIG9mIGB2YWxpZGF0ZUZpZWxkc2Ag4oCUIGxldHMgY29uc3VtZXJzIChhbmQgc3VibWl0IGhhbmRsZXJzKVxuLy8gZGlzdGluZ3Vpc2ggYSB2YWxpZGF0aW9uIGZhaWx1cmUgZnJvbSBvdGhlciBlcnJvcnMgdmlhIGBpbnN0YW5jZW9mYC5cbmV4cG9ydCB7IEZvcm1WYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuL2NvcmUvdmFsaWRhdGlvbkVycm9yJzsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|