payload 2.0.15 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -4
- package/components/hooks.d.ts +1 -0
- package/components/hooks.js +5 -1
- package/dist/admin/components/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/admin/components/elements/DocumentControls/index.js +6 -4
- package/dist/admin/components/elements/EditUpload/index.d.ts.map +1 -1
- package/dist/admin/components/elements/EditUpload/index.js +15 -7
- package/dist/admin/components/elements/EditUpload/index.scss +5 -0
- package/dist/admin/components/elements/FileDetails/index.js +2 -2
- package/dist/admin/components/elements/Localizer/LocalizerLabel/index.d.ts +1 -1
- package/dist/admin/components/elements/Localizer/LocalizerLabel/index.d.ts.map +1 -1
- package/dist/admin/components/elements/Localizer/LocalizerLabel/index.js +8 -6
- package/dist/admin/components/elements/Localizer/index.d.ts.map +1 -1
- package/dist/admin/components/elements/Localizer/index.js +8 -3
- package/dist/admin/components/elements/PreviewSizes/index.d.ts +1 -1
- package/dist/admin/components/elements/PreviewSizes/index.d.ts.map +1 -1
- package/dist/admin/components/elements/PreviewSizes/index.js +58 -32
- package/dist/admin/components/elements/PreviewSizes/index.scss +0 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Date/index.js +3 -2
- package/dist/admin/components/elements/WhereBuilder/Condition/Date/types.d.ts +1 -0
- package/dist/admin/components/elements/WhereBuilder/Condition/Date/types.d.ts.map +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Number/index.d.ts.map +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Number/index.js +3 -2
- package/dist/admin/components/elements/WhereBuilder/Condition/Number/types.d.ts +1 -0
- package/dist/admin/components/elements/WhereBuilder/Condition/Number/types.d.ts.map +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/index.js +3 -2
- package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/types.d.ts +1 -0
- package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/types.d.ts.map +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Select/index.d.ts.map +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Select/index.js +3 -2
- package/dist/admin/components/elements/WhereBuilder/Condition/Select/types.d.ts +1 -0
- package/dist/admin/components/elements/WhereBuilder/Condition/Select/types.d.ts.map +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Text/index.d.ts.map +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/Text/index.js +3 -2
- package/dist/admin/components/elements/WhereBuilder/Condition/Text/types.d.ts +1 -0
- package/dist/admin/components/elements/WhereBuilder/Condition/Text/types.d.ts.map +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
- package/dist/admin/components/elements/WhereBuilder/Condition/index.js +27 -17
- package/dist/admin/components/elements/WhereBuilder/reducer.js +6 -6
- package/dist/admin/components/forms/Form/buildStateFromSchema/addFieldStatePromise.js +2 -2
- package/dist/admin/components/forms/field-types/Checkbox/Input.d.ts +4 -0
- package/dist/admin/components/forms/field-types/Checkbox/Input.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Checkbox/Input.js +6 -5
- package/dist/admin/components/forms/field-types/Checkbox/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Checkbox/index.js +7 -3
- package/dist/admin/components/forms/field-types/Code/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Code/index.js +6 -4
- package/dist/admin/components/forms/field-types/DateTime/Input.d.ts +6 -0
- package/dist/admin/components/forms/field-types/DateTime/Input.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/DateTime/Input.js +8 -6
- package/dist/admin/components/forms/field-types/DateTime/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/DateTime/index.js +3 -2
- package/dist/admin/components/forms/field-types/Email/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Email/index.js +10 -6
- package/dist/admin/components/forms/field-types/JSON/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/JSON/index.js +6 -4
- package/dist/admin/components/forms/field-types/Number/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Number/index.js +10 -6
- package/dist/admin/components/forms/field-types/Point/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Point/index.js +14 -8
- package/dist/admin/components/forms/field-types/RadioGroup/Input.d.ts +2 -0
- package/dist/admin/components/forms/field-types/RadioGroup/Input.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/RadioGroup/Input.js +6 -4
- package/dist/admin/components/forms/field-types/RadioGroup/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/RadioGroup/index.js +5 -3
- package/dist/admin/components/forms/field-types/Relationship/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Relationship/index.js +7 -5
- package/dist/admin/components/forms/field-types/Select/Input.d.ts +2 -0
- package/dist/admin/components/forms/field-types/Select/Input.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Select/Input.js +6 -4
- package/dist/admin/components/forms/field-types/Select/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Select/index.js +5 -3
- package/dist/admin/components/forms/field-types/Text/Input.d.ts +4 -0
- package/dist/admin/components/forms/field-types/Text/Input.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Text/Input.js +10 -6
- package/dist/admin/components/forms/field-types/Text/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Text/index.js +7 -3
- package/dist/admin/components/forms/field-types/Textarea/Input.d.ts +4 -0
- package/dist/admin/components/forms/field-types/Textarea/Input.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Textarea/Input.js +8 -6
- package/dist/admin/components/forms/field-types/Textarea/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Textarea/index.js +7 -3
- package/dist/admin/components/forms/field-types/Upload/Input.d.ts +2 -0
- package/dist/admin/components/forms/field-types/Upload/Input.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Upload/Input.js +6 -4
- package/dist/admin/components/forms/field-types/Upload/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Upload/index.js +5 -3
- package/dist/admin/components/forms/useField/index.d.ts.map +1 -1
- package/dist/admin/components/forms/useField/index.js +31 -25
- package/dist/admin/components/utilities/Auth/index.d.ts +1 -3
- package/dist/admin/components/utilities/Auth/index.d.ts.map +1 -1
- package/dist/admin/components/utilities/Auth/index.js +1 -1
- package/dist/admin/components/views/API/index.d.ts.map +1 -1
- package/dist/admin/components/views/API/index.js +6 -6
- package/dist/admin/components/views/LivePreview/Context/index.d.ts.map +1 -1
- package/dist/admin/components/views/LivePreview/Context/index.js +1 -1
- package/dist/admin/components/views/LivePreview/index.d.ts.map +1 -1
- package/dist/admin/components/views/LivePreview/index.js +1 -1
- package/dist/admin/components/views/collections/Edit/Upload/index.js +2 -2
- package/dist/auth/graphql/resolvers/access.d.ts.map +1 -1
- package/dist/auth/graphql/resolvers/access.js +4 -2
- package/dist/auth/graphql/resolvers/forgotPassword.d.ts.map +1 -1
- package/dist/auth/graphql/resolvers/forgotPassword.js +4 -2
- package/dist/auth/graphql/resolvers/init.d.ts.map +1 -1
- package/dist/auth/graphql/resolvers/init.js +4 -2
- package/dist/auth/graphql/resolvers/login.d.ts.map +1 -1
- package/dist/auth/graphql/resolvers/login.js +4 -2
- package/dist/auth/graphql/resolvers/logout.d.ts.map +1 -1
- package/dist/auth/graphql/resolvers/logout.js +4 -2
- package/dist/auth/graphql/resolvers/me.d.ts.map +1 -1
- package/dist/auth/graphql/resolvers/me.js +4 -2
- package/dist/auth/graphql/resolvers/refresh.d.ts.map +1 -1
- package/dist/auth/graphql/resolvers/refresh.js +4 -2
- package/dist/auth/graphql/resolvers/resetPassword.d.ts.map +1 -1
- package/dist/auth/graphql/resolvers/resetPassword.js +4 -2
- package/dist/auth/graphql/resolvers/unlock.d.ts.map +1 -1
- package/dist/auth/graphql/resolvers/unlock.js +4 -2
- package/dist/auth/graphql/resolvers/verifyEmail.d.ts.map +1 -1
- package/dist/auth/graphql/resolvers/verifyEmail.js +4 -2
- package/dist/auth/operations/refresh.js +2 -2
- package/dist/collections/graphql/resolvers/create.js +4 -2
- package/dist/collections/graphql/resolvers/delete.js +4 -2
- package/dist/collections/graphql/resolvers/docAccess.js +4 -2
- package/dist/collections/graphql/resolvers/find.js +4 -2
- package/dist/collections/graphql/resolvers/findVersionByID.js +4 -2
- package/dist/collections/graphql/resolvers/findVersions.js +4 -2
- package/dist/collections/graphql/resolvers/restoreVersion.js +4 -2
- package/dist/collections/graphql/resolvers/update.js +4 -2
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +4 -2
- package/dist/config/types.d.ts +2 -2
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +1 -1
- package/dist/exports/components/hooks.d.ts +1 -0
- package/dist/exports/components/hooks.d.ts.map +1 -1
- package/dist/exports/components/hooks.js +5 -1
- package/dist/fields/config/schema.d.ts.map +1 -1
- package/dist/fields/config/schema.js +90 -10
- package/dist/fields/config/types.d.ts +67 -0
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js +1 -1
- package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/promise.js +2 -1
- package/dist/fields/validations.d.ts +4 -0
- package/dist/fields/validations.d.ts.map +1 -1
- package/dist/fields/validations.js +3 -2
- package/dist/globals/graphql/resolvers/docAccess.js +4 -2
- package/dist/globals/graphql/resolvers/findOne.d.ts.map +1 -1
- package/dist/globals/graphql/resolvers/findOne.js +4 -2
- package/dist/globals/graphql/resolvers/findVersionByID.js +4 -2
- package/dist/globals/graphql/resolvers/findVersions.js +4 -2
- package/dist/globals/graphql/resolvers/restoreVersion.js +4 -2
- package/dist/globals/graphql/resolvers/update.js +4 -2
- package/dist/uploads/generateFileData.js +4 -4
- package/dist/uploads/getFileByPath.d.ts.map +1 -1
- package/dist/uploads/getFileByPath.js +7 -2
- package/dist/uploads/imageResizer.d.ts.map +1 -1
- package/dist/uploads/imageResizer.js +87 -55
- package/dist/uploads/types.d.ts +11 -1
- package/dist/uploads/types.d.ts.map +1 -1
- package/dist/uploads/types.js +1 -1
- package/dist/utilities/fieldSchemaToJSON.d.ts.map +1 -1
- package/dist/utilities/fieldSchemaToJSON.js +21 -3
- package/dist/utilities/getEntityPolicies.d.ts.map +1 -1
- package/dist/utilities/getEntityPolicies.js +4 -2
- package/package.json +2 -2
|
@@ -226,7 +226,7 @@ const richText = async (value, options)=>{
|
|
|
226
226
|
const editor = options?.editor;
|
|
227
227
|
return await editor.validate(value, options);
|
|
228
228
|
};
|
|
229
|
-
const validateFilterOptions = async (value, { id, data, filterOptions, payload, relationTo, siblingData, t, user })=>{
|
|
229
|
+
const validateFilterOptions = async (value, { id, data, filterOptions, payload, relationTo, siblingData, t, user, req })=>{
|
|
230
230
|
if (!_canUseDOM.default && typeof filterOptions !== 'undefined' && value) {
|
|
231
231
|
const options = {};
|
|
232
232
|
const collections = typeof relationTo === 'string' ? [
|
|
@@ -268,6 +268,7 @@ const validateFilterOptions = async (value, { id, data, filterOptions, payload,
|
|
|
268
268
|
depth: 0,
|
|
269
269
|
limit: 0,
|
|
270
270
|
pagination: false,
|
|
271
|
+
req,
|
|
271
272
|
where: findWhere
|
|
272
273
|
});
|
|
273
274
|
options[collection] = result.docs.map((doc)=>doc.id);
|
|
@@ -461,4 +462,4 @@ const _default = {
|
|
|
461
462
|
upload
|
|
462
463
|
};
|
|
463
464
|
|
|
464
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvdmFsaWRhdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICcuLi9leHBvcnRzL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBBcnJheUZpZWxkLFxuICBCbG9ja0ZpZWxkLFxuICBDaGVja2JveEZpZWxkLFxuICBDb2RlRmllbGQsXG4gIERhdGVGaWVsZCxcbiAgRW1haWxGaWVsZCxcbiAgSlNPTkZpZWxkLFxuICBOdW1iZXJGaWVsZCxcbiAgUG9pbnRGaWVsZCxcbiAgUmFkaW9GaWVsZCxcbiAgUmVsYXRpb25zaGlwRmllbGQsXG4gIFJlbGF0aW9uc2hpcFZhbHVlLFxuICBSaWNoVGV4dEZpZWxkLFxuICBTZWxlY3RGaWVsZCxcbiAgVGV4dEZpZWxkLFxuICBUZXh0YXJlYUZpZWxkLFxuICBVcGxvYWRGaWVsZCxcbiAgVmFsaWRhdGUsXG59IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgY2FuVXNlRE9NIGZyb20gJy4uL3V0aWxpdGllcy9jYW5Vc2VET00nXG5pbXBvcnQgeyBnZXRJRFR5cGUgfSBmcm9tICcuLi91dGlsaXRpZXMvZ2V0SURUeXBlJ1xuaW1wb3J0IHsgaXNWYWxpZElEIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2lzVmFsaWRJRCdcbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICcuL2NvbmZpZy90eXBlcydcblxuZXhwb3J0IGNvbnN0IG51bWJlcjogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgTnVtYmVyRmllbGQ+ID0gKFxuICB2YWx1ZTogbnVtYmVyIHwgbnVtYmVyW10sXG4gIHsgaGFzTWFueSwgbWF4LCBtYXhSb3dzLCBtaW4sIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgY29uc3QgdG9WYWxpZGF0ZTogbnVtYmVyW10gPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLXN5bnRheFxuICBmb3IgKGNvbnN0IHZhbHVlVG9WYWxpZGF0ZSBvZiB0b1ZhbGlkYXRlKSB7XG4gICAgY29uc3QgZmxvYXRWYWx1ZSA9IHBhcnNlRmxvYXQodmFsdWVUb1ZhbGlkYXRlIGFzIHVua25vd24gYXMgc3RyaW5nKVxuICAgIGlmIChcbiAgICAgICh2YWx1ZSAmJiB0eXBlb2YgZmxvYXRWYWx1ZSAhPT0gJ251bWJlcicpIHx8XG4gICAgICAocmVxdWlyZWQgJiYgTnVtYmVyLmlzTmFOKGZsb2F0VmFsdWUpKSB8fFxuICAgICAgKHZhbHVlICYmIE51bWJlci5pc05hTihmbG9hdFZhbHVlKSlcbiAgICApIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmVudGVyTnVtYmVyJylcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG1heCA9PT0gJ251bWJlcicgJiYgZmxvYXRWYWx1ZSA+IG1heCkge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246Z3JlYXRlclRoYW5NYXgnLCB7IGxhYmVsOiB0KCd2YWx1ZScpLCBtYXgsIHZhbHVlIH0pXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBtaW4gPT09ICdudW1iZXInICYmIGZsb2F0VmFsdWUgPCBtaW4pIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmxlc3NUaGFuTWluJywgeyBsYWJlbDogdCgndmFsdWUnKSwgbWluLCB2YWx1ZSB9KVxuICAgIH1cblxuICAgIGlmIChyZXF1aXJlZCAmJiB0eXBlb2YgZmxvYXRWYWx1ZSAhPT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgICB9XG4gIH1cblxuICBpZiAocmVxdWlyZWQgJiYgdG9WYWxpZGF0ZS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICBpZiAoaGFzTWFueSA9PT0gdHJ1ZSkge1xuICAgIGlmIChtaW5Sb3dzICYmIHRvVmFsaWRhdGUubGVuZ3RoIDwgbWluUm93cykge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bGVzc1RoYW5NaW4nLCB7XG4gICAgICAgIGxhYmVsOiB0KCdyb3dzJyksXG4gICAgICAgIG1pbjogbWluUm93cyxcbiAgICAgICAgdmFsdWU6IHRvVmFsaWRhdGUubGVuZ3RoLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAobWF4Um93cyAmJiB0b1ZhbGlkYXRlLmxlbmd0aCA+IG1heFJvd3MpIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmdyZWF0ZXJUaGFuTWF4Jywge1xuICAgICAgICBsYWJlbDogdCgncm93cycpLFxuICAgICAgICBtYXg6IG1heFJvd3MsXG4gICAgICAgIHZhbHVlOiB0b1ZhbGlkYXRlLmxlbmd0aCxcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHRleHQ6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFRleHRGaWVsZD4gPSAoXG4gIHZhbHVlOiBzdHJpbmcsXG4gIHsgY29uZmlnLCBtYXhMZW5ndGg6IGZpZWxkTWF4TGVuZ3RoLCBtaW5MZW5ndGgsIHBheWxvYWQsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgbGV0IG1heExlbmd0aDogbnVtYmVyXG5cbiAgaWYgKHR5cGVvZiBjb25maWc/LmRlZmF1bHRNYXhUZXh0TGVuZ3RoID09PSAnbnVtYmVyJykgbWF4TGVuZ3RoID0gY29uZmlnLmRlZmF1bHRNYXhUZXh0TGVuZ3RoXG4gIGlmICh0eXBlb2YgZmllbGRNYXhMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBmaWVsZE1heExlbmd0aFxuICBpZiAodmFsdWUgJiYgbWF4TGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnNob3J0ZXJUaGFuTWF4JywgeyBtYXhMZW5ndGggfSlcbiAgfVxuXG4gIGlmICh2YWx1ZSAmJiBtaW5MZW5ndGggJiYgdmFsdWU/Lmxlbmd0aCA8IG1pbkxlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmxvbmdlclRoYW5NaW4nLCB7IG1pbkxlbmd0aCB9KVxuICB9XG5cbiAgaWYgKHJlcXVpcmVkKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycgfHwgdmFsdWU/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBwYXNzd29yZDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgVGV4dEZpZWxkPiA9IChcbiAgdmFsdWU6IHN0cmluZyxcbiAgeyBjb25maWcsIG1heExlbmd0aDogZmllbGRNYXhMZW5ndGgsIG1pbkxlbmd0aCwgcGF5bG9hZCwgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBsZXQgbWF4TGVuZ3RoOiBudW1iZXJcblxuICBpZiAodHlwZW9mIGNvbmZpZz8uZGVmYXVsdE1heFRleHRMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBjb25maWcuZGVmYXVsdE1heFRleHRMZW5ndGhcbiAgaWYgKHR5cGVvZiBmaWVsZE1heExlbmd0aCA9PT0gJ251bWJlcicpIG1heExlbmd0aCA9IGZpZWxkTWF4TGVuZ3RoXG5cbiAgaWYgKHZhbHVlICYmIG1heExlbmd0aCAmJiB2YWx1ZS5sZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpzaG9ydGVyVGhhbk1heCcsIHsgbWF4TGVuZ3RoIH0pXG4gIH1cblxuICBpZiAodmFsdWUgJiYgbWluTGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA8IG1pbkxlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmxvbmdlclRoYW5NaW4nLCB7IG1pbkxlbmd0aCB9KVxuICB9XG5cbiAgaWYgKHJlcXVpcmVkICYmICF2YWx1ZSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBlbWFpbDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgRW1haWxGaWVsZD4gPSAodmFsdWU6IHN0cmluZywgeyByZXF1aXJlZCwgdCB9KSA9PiB7XG4gIGlmICgodmFsdWUgJiYgIS9cXFNbXlxcc0BdKkBcXFMrXFwuXFxTKy8udGVzdCh2YWx1ZSkpIHx8ICghdmFsdWUgJiYgcmVxdWlyZWQpKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246ZW1haWxBZGRyZXNzJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCB0ZXh0YXJlYTogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgVGV4dGFyZWFGaWVsZD4gPSAoXG4gIHZhbHVlOiBzdHJpbmcsXG4gIHsgY29uZmlnLCBtYXhMZW5ndGg6IGZpZWxkTWF4TGVuZ3RoLCBtaW5MZW5ndGgsIHBheWxvYWQsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgbGV0IG1heExlbmd0aDogbnVtYmVyXG5cbiAgaWYgKHR5cGVvZiBjb25maWc/LmRlZmF1bHRNYXhUZXh0TGVuZ3RoID09PSAnbnVtYmVyJykgbWF4TGVuZ3RoID0gY29uZmlnLmRlZmF1bHRNYXhUZXh0TGVuZ3RoXG4gIGlmICh0eXBlb2YgZmllbGRNYXhMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBmaWVsZE1heExlbmd0aFxuICBpZiAodmFsdWUgJiYgbWF4TGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnNob3J0ZXJUaGFuTWF4JywgeyBtYXhMZW5ndGggfSlcbiAgfVxuXG4gIGlmICh2YWx1ZSAmJiBtaW5MZW5ndGggJiYgdmFsdWUubGVuZ3RoIDwgbWluTGVuZ3RoKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bG9uZ2VyVGhhbk1pbicsIHsgbWluTGVuZ3RoIH0pXG4gIH1cblxuICBpZiAocmVxdWlyZWQgJiYgIXZhbHVlKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGNvZGU6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIENvZGVGaWVsZD4gPSAodmFsdWU6IHN0cmluZywgeyByZXF1aXJlZCwgdCB9KSA9PiB7XG4gIGlmIChyZXF1aXJlZCAmJiB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGpzb246IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIEpTT05GaWVsZCAmIHsganNvbkVycm9yPzogc3RyaW5nIH0+ID0gKFxuICB2YWx1ZTogc3RyaW5nLFxuICB7IGpzb25FcnJvciwgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBpZiAocmVxdWlyZWQgJiYgIXZhbHVlKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgaWYgKGpzb25FcnJvciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246aW52YWxpZElucHV0JylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBjaGVja2JveDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgQ2hlY2tib3hGaWVsZD4gPSAoXG4gIHZhbHVlOiBib29sZWFuLFxuICB7IHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgaWYgKCh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgIT09ICdib29sZWFuJykgfHwgKHJlcXVpcmVkICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nKSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnRydWVPckZhbHNlJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBkYXRlOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBEYXRlRmllbGQ+ID0gKHZhbHVlLCB7IHJlcXVpcmVkLCB0IH0pID0+IHtcbiAgaWYgKHZhbHVlICYmICFpc05hTihEYXRlLnBhcnNlKHZhbHVlLnRvU3RyaW5nKCkpKSkge1xuICAgIC8qIGVzbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgaWYgKHZhbHVlKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bm90VmFsaWREYXRlJywgeyB2YWx1ZSB9KVxuICB9XG5cbiAgaWYgKHJlcXVpcmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHJpY2hUZXh0OiBWYWxpZGF0ZTxvYmplY3QsIHVua25vd24sIFJpY2hUZXh0RmllbGQsIFJpY2hUZXh0RmllbGQ+ID0gYXN5bmMgKFxuICB2YWx1ZSxcbiAgb3B0aW9ucyxcbikgPT4ge1xuICBjb25zdCBlZGl0b3I6IFJpY2hUZXh0QWRhcHRlciA9IG9wdGlvbnM/LmVkaXRvclxuXG4gIHJldHVybiBhd2FpdCBlZGl0b3IudmFsaWRhdGUodmFsdWUsIG9wdGlvbnMpXG59XG5cbmNvbnN0IHZhbGlkYXRlRmlsdGVyT3B0aW9uczogVmFsaWRhdGUgPSBhc3luYyAoXG4gIHZhbHVlLFxuICB7IGlkLCBkYXRhLCBmaWx0ZXJPcHRpb25zLCBwYXlsb2FkLCByZWxhdGlvblRvLCBzaWJsaW5nRGF0YSwgdCwgdXNlciB9LFxuKSA9PiB7XG4gIGlmICghY2FuVXNlRE9NICYmIHR5cGVvZiBmaWx0ZXJPcHRpb25zICE9PSAndW5kZWZpbmVkJyAmJiB2YWx1ZSkge1xuICAgIGNvbnN0IG9wdGlvbnM6IHtcbiAgICAgIFtjb2xsZWN0aW9uOiBzdHJpbmddOiAobnVtYmVyIHwgc3RyaW5nKVtdXG4gICAgfSA9IHt9XG5cbiAgICBjb25zdCBjb2xsZWN0aW9ucyA9IHR5cGVvZiByZWxhdGlvblRvID09PSAnc3RyaW5nJyA/IFtyZWxhdGlvblRvXSA6IHJlbGF0aW9uVG9cbiAgICBjb25zdCB2YWx1ZXMgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXVxuXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBjb2xsZWN0aW9ucy5tYXAoYXN5bmMgKGNvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3Qgb3B0aW9uRmlsdGVyID1cbiAgICAgICAgICB0eXBlb2YgZmlsdGVyT3B0aW9ucyA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgPyBhd2FpdCBmaWx0ZXJPcHRpb25zKHtcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uVG86IGNvbGxlY3Rpb24sXG4gICAgICAgICAgICAgICAgc2libGluZ0RhdGEsXG4gICAgICAgICAgICAgICAgdXNlcixcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIDogZmlsdGVyT3B0aW9uc1xuXG4gICAgICAgIGNvbnN0IHZhbHVlSURzOiAobnVtYmVyIHwgc3RyaW5nKVtdID0gW11cblxuICAgICAgICB2YWx1ZXMuZm9yRWFjaCgodmFsKSA9PiB7XG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdvYmplY3QnICYmIHZhbD8udmFsdWUpIHtcbiAgICAgICAgICAgIHZhbHVlSURzLnB1c2godmFsLnZhbHVlKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgdmFsdWVJRHMucHVzaCh2YWwpXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gICAgICAgIGlmICh2YWx1ZUlEcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY29uc3QgZmluZFdoZXJlID0ge1xuICAgICAgICAgICAgYW5kOiBbeyBpZDogeyBpbjogdmFsdWVJRHMgfSB9XSxcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAob3B0aW9uRmlsdGVyKSBmaW5kV2hlcmUuYW5kLnB1c2gob3B0aW9uRmlsdGVyKVxuXG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcGF5bG9hZC5maW5kKHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgICAgIGxpbWl0OiAwLFxuICAgICAgICAgICAgcGFnaW5hdGlvbjogZmFsc2UsXG4gICAgICAgICAgICB3aGVyZTogZmluZFdoZXJlLFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBvcHRpb25zW2NvbGxlY3Rpb25dID0gcmVzdWx0LmRvY3MubWFwKChkb2MpID0+IGRvYy5pZClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvcHRpb25zW2NvbGxlY3Rpb25dID0gW11cbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgKVxuXG4gICAgY29uc3QgaW52YWxpZFJlbGF0aW9uc2hpcHMgPSB2YWx1ZXMuZmlsdGVyKCh2YWwpID0+IHtcbiAgICAgIGxldCBjb2xsZWN0aW9uOiBzdHJpbmdcbiAgICAgIGxldCByZXF1ZXN0ZWRJRDogbnVtYmVyIHwgc3RyaW5nXG5cbiAgICAgIGlmICh0eXBlb2YgcmVsYXRpb25UbyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29sbGVjdGlvbiA9IHJlbGF0aW9uVG9cblxuICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICByZXF1ZXN0ZWRJRCA9IHZhbFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlbGF0aW9uVG8pICYmIHR5cGVvZiB2YWwgPT09ICdvYmplY3QnICYmIHZhbD8ucmVsYXRpb25Ubykge1xuICAgICAgICBjb2xsZWN0aW9uID0gdmFsLnJlbGF0aW9uVG9cbiAgICAgICAgcmVxdWVzdGVkSUQgPSB2YWwudmFsdWVcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG9wdGlvbnNbY29sbGVjdGlvbl0uaW5kZXhPZihyZXF1ZXN0ZWRJRCkgPT09IC0xXG4gICAgfSlcblxuICAgIGlmIChpbnZhbGlkUmVsYXRpb25zaGlwcy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gaW52YWxpZFJlbGF0aW9uc2hpcHMucmVkdWNlKChlcnIsIGludmFsaWQsIGkpID0+IHtcbiAgICAgICAgcmV0dXJuIGAke2Vycn0gJHtKU09OLnN0cmluZ2lmeShpbnZhbGlkKX0ke1xuICAgICAgICAgIGludmFsaWRSZWxhdGlvbnNoaXBzLmxlbmd0aCA9PT0gaSArIDEgPyAnLCcgOiAnJ1xuICAgICAgICB9IGBcbiAgICAgIH0sIHQoJ3ZhbGlkYXRpb246aW52YWxpZFNlbGVjdGlvbnMnKSkgYXMgc3RyaW5nXG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCB1cGxvYWQ6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFVwbG9hZEZpZWxkPiA9ICh2YWx1ZTogc3RyaW5nLCBvcHRpb25zKSA9PiB7XG4gIGlmICghdmFsdWUgJiYgb3B0aW9ucy5yZXF1aXJlZCkge1xuICAgIHJldHVybiBvcHRpb25zLnQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgaWYgKCFjYW5Vc2VET00gJiYgdHlwZW9mIHZhbHVlICE9PSAndW5kZWZpbmVkJyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGlkRmllbGQgPSBvcHRpb25zPy5jb25maWc/LmNvbGxlY3Rpb25zXG4gICAgICA/LmZpbmQoKGNvbGxlY3Rpb24pID0+IGNvbGxlY3Rpb24uc2x1ZyA9PT0gb3B0aW9ucy5yZWxhdGlvblRvKVxuICAgICAgPy5maWVsZHM/LmZpbmQoKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKVxuXG4gICAgY29uc3QgdHlwZSA9IGdldElEVHlwZShpZEZpZWxkLCBvcHRpb25zPy5wYXlsb2FkPy5kYj8uZGVmYXVsdElEVHlwZSlcblxuICAgIGlmICghaXNWYWxpZElEKHZhbHVlLCB0eXBlKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbnMudCgndmFsaWRhdGlvbjp2YWxpZFVwbG9hZElEJylcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmFsaWRhdGVGaWx0ZXJPcHRpb25zKHZhbHVlLCBvcHRpb25zKVxufVxuXG5leHBvcnQgY29uc3QgcmVsYXRpb25zaGlwOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBSZWxhdGlvbnNoaXBGaWVsZD4gPSBhc3luYyAoXG4gIHZhbHVlOiBSZWxhdGlvbnNoaXBWYWx1ZSxcbiAgb3B0aW9ucyxcbikgPT4ge1xuICBjb25zdCB7IGNvbmZpZywgbWF4Um93cywgbWluUm93cywgcGF5bG9hZCwgcmVsYXRpb25UbywgcmVxdWlyZWQsIHQgfSA9IG9wdGlvbnNcblxuICBpZiAoKCF2YWx1ZSB8fCAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID09PSAwKSkgJiYgcmVxdWlyZWQpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICBpZiAobWluUm93cyAmJiB2YWx1ZS5sZW5ndGggPCBtaW5Sb3dzKSB7XG4gICAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpsZXNzVGhhbk1pbicsIHsgbGFiZWw6IHQoJ3Jvd3MnKSwgbWluOiBtaW5Sb3dzLCB2YWx1ZTogdmFsdWUubGVuZ3RoIH0pXG4gICAgfVxuXG4gICAgaWYgKG1heFJvd3MgJiYgdmFsdWUubGVuZ3RoID4gbWF4Um93cykge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246Z3JlYXRlclRoYW5NYXgnLCB7IGxhYmVsOiB0KCdyb3dzJyksIG1heDogbWF4Um93cywgdmFsdWU6IHZhbHVlLmxlbmd0aCB9KVxuICAgIH1cbiAgfVxuXG4gIGlmICghY2FuVXNlRE9NICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICBjb25zdCB2YWx1ZXMgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXVxuXG4gICAgY29uc3QgaW52YWxpZFJlbGF0aW9uc2hpcHMgPSB2YWx1ZXMuZmlsdGVyKCh2YWwpID0+IHtcbiAgICAgIGxldCBjb2xsZWN0aW9uU2x1Zzogc3RyaW5nXG4gICAgICBsZXQgcmVxdWVzdGVkSURcblxuICAgICAgaWYgKHR5cGVvZiByZWxhdGlvblRvID09PSAnc3RyaW5nJykge1xuICAgICAgICBjb2xsZWN0aW9uU2x1ZyA9IHJlbGF0aW9uVG9cblxuICAgICAgICAvLyBjdXN0b20gaWRcbiAgICAgICAgaWYgKHZhbCkge1xuICAgICAgICAgIHJlcXVlc3RlZElEID0gdmFsXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVsYXRpb25UbykgJiYgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgdmFsPy5yZWxhdGlvblRvKSB7XG4gICAgICAgIGNvbGxlY3Rpb25TbHVnID0gdmFsLnJlbGF0aW9uVG9cbiAgICAgICAgcmVxdWVzdGVkSUQgPSB2YWwudmFsdWVcbiAgICAgIH1cblxuICAgICAgaWYgKHJlcXVlc3RlZElEID09PSBudWxsKSByZXR1cm4gZmFsc2VcblxuICAgICAgY29uc3QgaWRGaWVsZCA9IGNvbmZpZz8uY29sbGVjdGlvbnNcbiAgICAgICAgPy5maW5kKChjb2xsZWN0aW9uKSA9PiBjb2xsZWN0aW9uLnNsdWcgPT09IGNvbGxlY3Rpb25TbHVnKVxuICAgICAgICA/LmZpZWxkcz8uZmluZCgoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcpXG5cbiAgICAgIGNvbnN0IHR5cGUgPSBnZXRJRFR5cGUoaWRGaWVsZCwgcGF5bG9hZD8uZGI/LmRlZmF1bHRJRFR5cGUpXG5cbiAgICAgIHJldHVybiAhaXNWYWxpZElEKHJlcXVlc3RlZElELCB0eXBlKVxuICAgIH0pXG5cbiAgICBpZiAoaW52YWxpZFJlbGF0aW9uc2hpcHMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGBUaGlzIHJlbGF0aW9uc2hpcCBmaWVsZCBoYXMgdGhlIGZvbGxvd2luZyBpbnZhbGlkIHJlbGF0aW9uc2hpcHM6ICR7aW52YWxpZFJlbGF0aW9uc2hpcHNcbiAgICAgICAgLm1hcCgoZXJyLCBpbnZhbGlkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAke2Vycn0gJHtKU09OLnN0cmluZ2lmeShpbnZhbGlkKX1gXG4gICAgICAgIH0pXG4gICAgICAgIC5qb2luKCcsICcpfWBcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmFsaWRhdGVGaWx0ZXJPcHRpb25zKHZhbHVlLCBvcHRpb25zKVxufVxuXG5leHBvcnQgY29uc3QgYXJyYXk6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIEFycmF5RmllbGQ+ID0gKFxuICB2YWx1ZSxcbiAgeyBtYXhSb3dzLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIGNvbnN0IGFycmF5TGVuZ3RoID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZS5sZW5ndGggOiAwXG5cbiAgaWYgKG1pblJvd3MgJiYgYXJyYXlMZW5ndGggPCBtaW5Sb3dzKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZXNBdExlYXN0JywgeyBjb3VudDogbWluUm93cywgbGFiZWw6IHQoJ3Jvd3MnKSB9KVxuICB9XG5cbiAgaWYgKG1heFJvd3MgJiYgYXJyYXlMZW5ndGggPiBtYXhSb3dzKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZXNOb01vcmVUaGFuJywgeyBjb3VudDogbWF4Um93cywgbGFiZWw6IHQoJ3Jvd3MnKSB9KVxuICB9XG5cbiAgaWYgKCFhcnJheUxlbmd0aCAmJiByZXF1aXJlZCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVzQXRMZWFzdCcsIHsgY291bnQ6IDEsIGxhYmVsOiB0KCdyb3cnKSB9KVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHNlbGVjdDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgU2VsZWN0RmllbGQ+ID0gKFxuICB2YWx1ZSxcbiAgeyBoYXNNYW55LCBvcHRpb25zLCByZXF1aXJlZCwgdCB9LFxuKSA9PiB7XG4gIGlmIChcbiAgICBBcnJheS5pc0FycmF5KHZhbHVlKSAmJlxuICAgIHZhbHVlLnNvbWUoXG4gICAgICAoaW5wdXQpID0+XG4gICAgICAgICFvcHRpb25zLnNvbWUoXG4gICAgICAgICAgKG9wdGlvbikgPT4gb3B0aW9uID09PSBpbnB1dCB8fCAodHlwZW9mIG9wdGlvbiAhPT0gJ3N0cmluZycgJiYgb3B0aW9uPy52YWx1ZSA9PT0gaW5wdXQpLFxuICAgICAgICApLFxuICAgIClcbiAgKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246aW52YWxpZFNlbGVjdGlvbicpXG4gIH1cblxuICBpZiAoXG4gICAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJlxuICAgICFvcHRpb25zLnNvbWUoXG4gICAgICAob3B0aW9uKSA9PiBvcHRpb24gPT09IHZhbHVlIHx8ICh0eXBlb2Ygb3B0aW9uICE9PSAnc3RyaW5nJyAmJiBvcHRpb24udmFsdWUgPT09IHZhbHVlKSxcbiAgICApXG4gICkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmludmFsaWRTZWxlY3Rpb24nKVxuICB9XG5cbiAgaWYgKFxuICAgIHJlcXVpcmVkICYmXG4gICAgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgfHxcbiAgICAgIHZhbHVlID09PSBudWxsIHx8XG4gICAgICAoaGFzTWFueSAmJiBBcnJheS5pc0FycmF5KHZhbHVlKSAmJiAodmFsdWUgYXMgW10pPy5sZW5ndGggPT09IDApKVxuICApIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgcmFkaW86IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFJhZGlvRmllbGQ+ID0gKHZhbHVlLCB7IG9wdGlvbnMsIHJlcXVpcmVkLCB0IH0pID0+IHtcbiAgaWYgKHZhbHVlKSB7XG4gICAgY29uc3QgdmFsdWVNYXRjaGVzT3B0aW9uID0gb3B0aW9ucy5zb21lKFxuICAgICAgKG9wdGlvbikgPT4gb3B0aW9uID09PSB2YWx1ZSB8fCAodHlwZW9mIG9wdGlvbiAhPT0gJ3N0cmluZycgJiYgb3B0aW9uLnZhbHVlID09PSB2YWx1ZSksXG4gICAgKVxuICAgIHJldHVybiB2YWx1ZU1hdGNoZXNPcHRpb24gfHwgdCgndmFsaWRhdGlvbjppbnZhbGlkU2VsZWN0aW9uJylcbiAgfVxuXG4gIHJldHVybiByZXF1aXJlZCA/IHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKSA6IHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGJsb2NrczogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgQmxvY2tGaWVsZD4gPSAoXG4gIHZhbHVlLFxuICB7IG1heFJvd3MsIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgY29uc3QgYXJyYXlMZW5ndGggPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlLmxlbmd0aCA6IDBcblxuICBpZiAobWluUm93cyAmJiBhcnJheUxlbmd0aCA8IG1pblJvd3MpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc0F0TGVhc3QnLCB7IGNvdW50OiBtaW5Sb3dzLCBsYWJlbDogdCgncm93cycpIH0pXG4gIH1cblxuICBpZiAobWF4Um93cyAmJiBhcnJheUxlbmd0aCA+IG1heFJvd3MpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc05vTW9yZVRoYW4nLCB7IGNvdW50OiBtYXhSb3dzLCBsYWJlbDogdCgncm93cycpIH0pXG4gIH1cblxuICBpZiAoIWFycmF5TGVuZ3RoICYmIHJlcXVpcmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZXNBdExlYXN0JywgeyBjb3VudDogMSwgbGFiZWw6IHQoJ3JvdycpIH0pXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgcG9pbnQ6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFBvaW50RmllbGQ+ID0gKFxuICB2YWx1ZTogW251bWJlciB8IHN0cmluZywgbnVtYmVyIHwgc3RyaW5nXSA9IFsnJywgJyddLFxuICB7IHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgY29uc3QgbG5nID0gcGFyc2VGbG9hdChTdHJpbmcodmFsdWVbMF0pKVxuICBjb25zdCBsYXQgPSBwYXJzZUZsb2F0KFN0cmluZyh2YWx1ZVsxXSkpXG4gIGlmIChcbiAgICByZXF1aXJlZCAmJlxuICAgICgodmFsdWVbMF0gJiYgdmFsdWVbMV0gJiYgdHlwZW9mIGxuZyAhPT0gJ251bWJlcicgJiYgdHlwZW9mIGxhdCAhPT0gJ251bWJlcicpIHx8XG4gICAgICBOdW1iZXIuaXNOYU4obG5nKSB8fFxuICAgICAgTnVtYmVyLmlzTmFOKGxhdCkgfHxcbiAgICAgIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggIT09IDIpKVxuICApIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc1R3b051bWJlcnMnKVxuICB9XG5cbiAgaWYgKCh2YWx1ZVsxXSAmJiBOdW1iZXIuaXNOYU4obG5nKSkgfHwgKHZhbHVlWzBdICYmIE51bWJlci5pc05hTihsYXQpKSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmludmFsaWRJbnB1dCcpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGFycmF5LFxuICBibG9ja3MsXG4gIGNoZWNrYm94LFxuICBjb2RlLFxuICBkYXRlLFxuICBlbWFpbCxcbiAganNvbixcbiAgbnVtYmVyLFxuICBwYXNzd29yZCxcbiAgcG9pbnQsXG4gIHJhZGlvLFxuICByZWxhdGlvbnNoaXAsXG4gIHJpY2hUZXh0LFxuICBzZWxlY3QsXG4gIHRleHQsXG4gIHRleHRhcmVhLFxuICB1cGxvYWQsXG59XG4iXSwibmFtZXMiOlsibnVtYmVyIiwidGV4dCIsInBhc3N3b3JkIiwiZW1haWwiLCJ0ZXh0YXJlYSIsImNvZGUiLCJqc29uIiwiY2hlY2tib3giLCJkYXRlIiwicmljaFRleHQiLCJ1cGxvYWQiLCJyZWxhdGlvbnNoaXAiLCJhcnJheSIsInNlbGVjdCIsInJhZGlvIiwiYmxvY2tzIiwicG9pbnQiLCJ2YWx1ZSIsImhhc01hbnkiLCJtYXgiLCJtYXhSb3dzIiwibWluIiwibWluUm93cyIsInJlcXVpcmVkIiwidCIsInRvVmFsaWRhdGUiLCJBcnJheSIsImlzQXJyYXkiLCJ2YWx1ZVRvVmFsaWRhdGUiLCJmbG9hdFZhbHVlIiwicGFyc2VGbG9hdCIsIk51bWJlciIsImlzTmFOIiwibGFiZWwiLCJsZW5ndGgiLCJjb25maWciLCJtYXhMZW5ndGgiLCJmaWVsZE1heExlbmd0aCIsIm1pbkxlbmd0aCIsInBheWxvYWQiLCJkZWZhdWx0TWF4VGV4dExlbmd0aCIsInRlc3QiLCJ1bmRlZmluZWQiLCJqc29uRXJyb3IiLCJEYXRlIiwicGFyc2UiLCJ0b1N0cmluZyIsIm9wdGlvbnMiLCJlZGl0b3IiLCJ2YWxpZGF0ZSIsInZhbGlkYXRlRmlsdGVyT3B0aW9ucyIsImlkIiwiZGF0YSIsImZpbHRlck9wdGlvbnMiLCJyZWxhdGlvblRvIiwic2libGluZ0RhdGEiLCJ1c2VyIiwiY2FuVXNlRE9NIiwiY29sbGVjdGlvbnMiLCJ2YWx1ZXMiLCJQcm9taXNlIiwiYWxsIiwibWFwIiwiY29sbGVjdGlvbiIsIm9wdGlvbkZpbHRlciIsInZhbHVlSURzIiwiZm9yRWFjaCIsInZhbCIsInB1c2giLCJmaW5kV2hlcmUiLCJhbmQiLCJpbiIsInJlc3VsdCIsImZpbmQiLCJkZXB0aCIsImxpbWl0IiwicGFnaW5hdGlvbiIsIndoZXJlIiwiZG9jcyIsImRvYyIsImludmFsaWRSZWxhdGlvbnNoaXBzIiwiZmlsdGVyIiwicmVxdWVzdGVkSUQiLCJpbmRleE9mIiwicmVkdWNlIiwiZXJyIiwiaW52YWxpZCIsImkiLCJKU09OIiwic3RyaW5naWZ5IiwiaWRGaWVsZCIsInNsdWciLCJmaWVsZHMiLCJmaWVsZCIsImZpZWxkQWZmZWN0c0RhdGEiLCJuYW1lIiwidHlwZSIsImdldElEVHlwZSIsImRiIiwiZGVmYXVsdElEVHlwZSIsImlzVmFsaWRJRCIsImNvbGxlY3Rpb25TbHVnIiwiam9pbiIsImFycmF5TGVuZ3RoIiwiY291bnQiLCJzb21lIiwiaW5wdXQiLCJvcHRpb24iLCJ2YWx1ZU1hdGNoZXNPcHRpb24iLCJsbmciLCJTdHJpbmciLCJsYXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBMkJhQSxNQUFNO2VBQU5BOztJQXVEQUMsSUFBSTtlQUFKQTs7SUF5QkFDLFFBQVE7ZUFBUkE7O0lBd0JBQyxLQUFLO2VBQUxBOztJQVFBQyxRQUFRO2VBQVJBOztJQXVCQUMsSUFBSTtlQUFKQTs7SUFRQUMsSUFBSTtlQUFKQTs7SUFlQUMsUUFBUTtlQUFSQTs7SUFXQUMsSUFBSTtlQUFKQTs7SUFpQkFDLFFBQVE7ZUFBUkE7O0lBc0dBQyxNQUFNO2VBQU5BOztJQW9CQUMsWUFBWTtlQUFaQTs7SUFnRUFDLEtBQUs7ZUFBTEE7O0lBcUJBQyxNQUFNO2VBQU5BOztJQXFDQUMsS0FBSztlQUFMQTs7SUFXQUMsTUFBTTtlQUFOQTs7SUFxQkFDLEtBQUs7ZUFBTEE7O0lBdUJiLE9Ba0JDO2VBbEJEOzs7a0VBMWVzQjsyQkFDSTsyQkFDQTt1QkFDTzs7Ozs7O0FBRTFCLE1BQU1oQixTQUFrRCxDQUM3RGlCLE9BQ0EsRUFBRUMsT0FBTyxFQUFFQyxHQUFHLEVBQUVDLE9BQU8sRUFBRUMsR0FBRyxFQUFFQyxPQUFPLEVB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
|
|
465
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvdmFsaWRhdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIgfSBmcm9tICcuLi9leHBvcnRzL3R5cGVzJ1xuaW1wb3J0IHR5cGUge1xuICBBcnJheUZpZWxkLFxuICBCbG9ja0ZpZWxkLFxuICBDaGVja2JveEZpZWxkLFxuICBDb2RlRmllbGQsXG4gIERhdGVGaWVsZCxcbiAgRW1haWxGaWVsZCxcbiAgSlNPTkZpZWxkLFxuICBOdW1iZXJGaWVsZCxcbiAgUG9pbnRGaWVsZCxcbiAgUmFkaW9GaWVsZCxcbiAgUmVsYXRpb25zaGlwRmllbGQsXG4gIFJlbGF0aW9uc2hpcFZhbHVlLFxuICBSaWNoVGV4dEZpZWxkLFxuICBTZWxlY3RGaWVsZCxcbiAgVGV4dEZpZWxkLFxuICBUZXh0YXJlYUZpZWxkLFxuICBVcGxvYWRGaWVsZCxcbiAgVmFsaWRhdGUsXG59IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgY2FuVXNlRE9NIGZyb20gJy4uL3V0aWxpdGllcy9jYW5Vc2VET00nXG5pbXBvcnQgeyBnZXRJRFR5cGUgfSBmcm9tICcuLi91dGlsaXRpZXMvZ2V0SURUeXBlJ1xuaW1wb3J0IHsgaXNWYWxpZElEIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2lzVmFsaWRJRCdcbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICcuL2NvbmZpZy90eXBlcydcblxuZXhwb3J0IGNvbnN0IG51bWJlcjogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgTnVtYmVyRmllbGQ+ID0gKFxuICB2YWx1ZTogbnVtYmVyIHwgbnVtYmVyW10sXG4gIHsgaGFzTWFueSwgbWF4LCBtYXhSb3dzLCBtaW4sIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgY29uc3QgdG9WYWxpZGF0ZTogbnVtYmVyW10gPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLXN5bnRheFxuICBmb3IgKGNvbnN0IHZhbHVlVG9WYWxpZGF0ZSBvZiB0b1ZhbGlkYXRlKSB7XG4gICAgY29uc3QgZmxvYXRWYWx1ZSA9IHBhcnNlRmxvYXQodmFsdWVUb1ZhbGlkYXRlIGFzIHVua25vd24gYXMgc3RyaW5nKVxuICAgIGlmIChcbiAgICAgICh2YWx1ZSAmJiB0eXBlb2YgZmxvYXRWYWx1ZSAhPT0gJ251bWJlcicpIHx8XG4gICAgICAocmVxdWlyZWQgJiYgTnVtYmVyLmlzTmFOKGZsb2F0VmFsdWUpKSB8fFxuICAgICAgKHZhbHVlICYmIE51bWJlci5pc05hTihmbG9hdFZhbHVlKSlcbiAgICApIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmVudGVyTnVtYmVyJylcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG1heCA9PT0gJ251bWJlcicgJiYgZmxvYXRWYWx1ZSA+IG1heCkge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246Z3JlYXRlclRoYW5NYXgnLCB7IGxhYmVsOiB0KCd2YWx1ZScpLCBtYXgsIHZhbHVlIH0pXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBtaW4gPT09ICdudW1iZXInICYmIGZsb2F0VmFsdWUgPCBtaW4pIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmxlc3NUaGFuTWluJywgeyBsYWJlbDogdCgndmFsdWUnKSwgbWluLCB2YWx1ZSB9KVxuICAgIH1cblxuICAgIGlmIChyZXF1aXJlZCAmJiB0eXBlb2YgZmxvYXRWYWx1ZSAhPT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgICB9XG4gIH1cblxuICBpZiAocmVxdWlyZWQgJiYgdG9WYWxpZGF0ZS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICBpZiAoaGFzTWFueSA9PT0gdHJ1ZSkge1xuICAgIGlmIChtaW5Sb3dzICYmIHRvVmFsaWRhdGUubGVuZ3RoIDwgbWluUm93cykge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bGVzc1RoYW5NaW4nLCB7XG4gICAgICAgIGxhYmVsOiB0KCdyb3dzJyksXG4gICAgICAgIG1pbjogbWluUm93cyxcbiAgICAgICAgdmFsdWU6IHRvVmFsaWRhdGUubGVuZ3RoLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAobWF4Um93cyAmJiB0b1ZhbGlkYXRlLmxlbmd0aCA+IG1heFJvd3MpIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmdyZWF0ZXJUaGFuTWF4Jywge1xuICAgICAgICBsYWJlbDogdCgncm93cycpLFxuICAgICAgICBtYXg6IG1heFJvd3MsXG4gICAgICAgIHZhbHVlOiB0b1ZhbGlkYXRlLmxlbmd0aCxcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHRleHQ6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFRleHRGaWVsZD4gPSAoXG4gIHZhbHVlOiBzdHJpbmcsXG4gIHsgY29uZmlnLCBtYXhMZW5ndGg6IGZpZWxkTWF4TGVuZ3RoLCBtaW5MZW5ndGgsIHBheWxvYWQsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgbGV0IG1heExlbmd0aDogbnVtYmVyXG5cbiAgaWYgKHR5cGVvZiBjb25maWc/LmRlZmF1bHRNYXhUZXh0TGVuZ3RoID09PSAnbnVtYmVyJykgbWF4TGVuZ3RoID0gY29uZmlnLmRlZmF1bHRNYXhUZXh0TGVuZ3RoXG4gIGlmICh0eXBlb2YgZmllbGRNYXhMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBmaWVsZE1heExlbmd0aFxuICBpZiAodmFsdWUgJiYgbWF4TGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnNob3J0ZXJUaGFuTWF4JywgeyBtYXhMZW5ndGggfSlcbiAgfVxuXG4gIGlmICh2YWx1ZSAmJiBtaW5MZW5ndGggJiYgdmFsdWU/Lmxlbmd0aCA8IG1pbkxlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmxvbmdlclRoYW5NaW4nLCB7IG1pbkxlbmd0aCB9KVxuICB9XG5cbiAgaWYgKHJlcXVpcmVkKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycgfHwgdmFsdWU/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBwYXNzd29yZDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgVGV4dEZpZWxkPiA9IChcbiAgdmFsdWU6IHN0cmluZyxcbiAgeyBjb25maWcsIG1heExlbmd0aDogZmllbGRNYXhMZW5ndGgsIG1pbkxlbmd0aCwgcGF5bG9hZCwgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBsZXQgbWF4TGVuZ3RoOiBudW1iZXJcblxuICBpZiAodHlwZW9mIGNvbmZpZz8uZGVmYXVsdE1heFRleHRMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBjb25maWcuZGVmYXVsdE1heFRleHRMZW5ndGhcbiAgaWYgKHR5cGVvZiBmaWVsZE1heExlbmd0aCA9PT0gJ251bWJlcicpIG1heExlbmd0aCA9IGZpZWxkTWF4TGVuZ3RoXG5cbiAgaWYgKHZhbHVlICYmIG1heExlbmd0aCAmJiB2YWx1ZS5sZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpzaG9ydGVyVGhhbk1heCcsIHsgbWF4TGVuZ3RoIH0pXG4gIH1cblxuICBpZiAodmFsdWUgJiYgbWluTGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA8IG1pbkxlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmxvbmdlclRoYW5NaW4nLCB7IG1pbkxlbmd0aCB9KVxuICB9XG5cbiAgaWYgKHJlcXVpcmVkICYmICF2YWx1ZSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBlbWFpbDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgRW1haWxGaWVsZD4gPSAodmFsdWU6IHN0cmluZywgeyByZXF1aXJlZCwgdCB9KSA9PiB7XG4gIGlmICgodmFsdWUgJiYgIS9cXFNbXlxcc0BdKkBcXFMrXFwuXFxTKy8udGVzdCh2YWx1ZSkpIHx8ICghdmFsdWUgJiYgcmVxdWlyZWQpKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246ZW1haWxBZGRyZXNzJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCB0ZXh0YXJlYTogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgVGV4dGFyZWFGaWVsZD4gPSAoXG4gIHZhbHVlOiBzdHJpbmcsXG4gIHsgY29uZmlnLCBtYXhMZW5ndGg6IGZpZWxkTWF4TGVuZ3RoLCBtaW5MZW5ndGgsIHBheWxvYWQsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgbGV0IG1heExlbmd0aDogbnVtYmVyXG5cbiAgaWYgKHR5cGVvZiBjb25maWc/LmRlZmF1bHRNYXhUZXh0TGVuZ3RoID09PSAnbnVtYmVyJykgbWF4TGVuZ3RoID0gY29uZmlnLmRlZmF1bHRNYXhUZXh0TGVuZ3RoXG4gIGlmICh0eXBlb2YgZmllbGRNYXhMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBmaWVsZE1heExlbmd0aFxuICBpZiAodmFsdWUgJiYgbWF4TGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnNob3J0ZXJUaGFuTWF4JywgeyBtYXhMZW5ndGggfSlcbiAgfVxuXG4gIGlmICh2YWx1ZSAmJiBtaW5MZW5ndGggJiYgdmFsdWUubGVuZ3RoIDwgbWluTGVuZ3RoKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bG9uZ2VyVGhhbk1pbicsIHsgbWluTGVuZ3RoIH0pXG4gIH1cblxuICBpZiAocmVxdWlyZWQgJiYgIXZhbHVlKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGNvZGU6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIENvZGVGaWVsZD4gPSAodmFsdWU6IHN0cmluZywgeyByZXF1aXJlZCwgdCB9KSA9PiB7XG4gIGlmIChyZXF1aXJlZCAmJiB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGpzb246IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIEpTT05GaWVsZCAmIHsganNvbkVycm9yPzogc3RyaW5nIH0+ID0gKFxuICB2YWx1ZTogc3RyaW5nLFxuICB7IGpzb25FcnJvciwgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBpZiAocmVxdWlyZWQgJiYgIXZhbHVlKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgaWYgKGpzb25FcnJvciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246aW52YWxpZElucHV0JylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBjaGVja2JveDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgQ2hlY2tib3hGaWVsZD4gPSAoXG4gIHZhbHVlOiBib29sZWFuLFxuICB7IHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgaWYgKCh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgIT09ICdib29sZWFuJykgfHwgKHJlcXVpcmVkICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nKSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnRydWVPckZhbHNlJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBkYXRlOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBEYXRlRmllbGQ+ID0gKHZhbHVlLCB7IHJlcXVpcmVkLCB0IH0pID0+IHtcbiAgaWYgKHZhbHVlICYmICFpc05hTihEYXRlLnBhcnNlKHZhbHVlLnRvU3RyaW5nKCkpKSkge1xuICAgIC8qIGVzbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgaWYgKHZhbHVlKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bm90VmFsaWREYXRlJywgeyB2YWx1ZSB9KVxuICB9XG5cbiAgaWYgKHJlcXVpcmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHJpY2hUZXh0OiBWYWxpZGF0ZTxvYmplY3QsIHVua25vd24sIFJpY2hUZXh0RmllbGQsIFJpY2hUZXh0RmllbGQ+ID0gYXN5bmMgKFxuICB2YWx1ZSxcbiAgb3B0aW9ucyxcbikgPT4ge1xuICBjb25zdCBlZGl0b3I6IFJpY2hUZXh0QWRhcHRlciA9IG9wdGlvbnM/LmVkaXRvclxuXG4gIHJldHVybiBhd2FpdCBlZGl0b3IudmFsaWRhdGUodmFsdWUsIG9wdGlvbnMpXG59XG5cbmNvbnN0IHZhbGlkYXRlRmlsdGVyT3B0aW9uczogVmFsaWRhdGUgPSBhc3luYyAoXG4gIHZhbHVlLFxuICB7IGlkLCBkYXRhLCBmaWx0ZXJPcHRpb25zLCBwYXlsb2FkLCByZWxhdGlvblRvLCBzaWJsaW5nRGF0YSwgdCwgdXNlciwgcmVxIH0sXG4pID0+IHtcbiAgaWYgKCFjYW5Vc2VET00gJiYgdHlwZW9mIGZpbHRlck9wdGlvbnMgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlKSB7XG4gICAgY29uc3Qgb3B0aW9uczoge1xuICAgICAgW2NvbGxlY3Rpb246IHN0cmluZ106IChudW1iZXIgfCBzdHJpbmcpW11cbiAgICB9ID0ge31cblxuICAgIGNvbnN0IGNvbGxlY3Rpb25zID0gdHlwZW9mIHJlbGF0aW9uVG8gPT09ICdzdHJpbmcnID8gW3JlbGF0aW9uVG9dIDogcmVsYXRpb25Ub1xuICAgIGNvbnN0IHZhbHVlcyA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdXG5cbiAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIGNvbGxlY3Rpb25zLm1hcChhc3luYyAoY29sbGVjdGlvbikgPT4ge1xuICAgICAgICBjb25zdCBvcHRpb25GaWx0ZXIgPVxuICAgICAgICAgIHR5cGVvZiBmaWx0ZXJPcHRpb25zID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICA/IGF3YWl0IGZpbHRlck9wdGlvbnMoe1xuICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgICAgcmVsYXRpb25UbzogY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgICBzaWJsaW5nRGF0YSxcbiAgICAgICAgICAgICAgICB1c2VyLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgOiBmaWx0ZXJPcHRpb25zXG5cbiAgICAgICAgY29uc3QgdmFsdWVJRHM6IChudW1iZXIgfCBzdHJpbmcpW10gPSBbXVxuXG4gICAgICAgIHZhbHVlcy5mb3JFYWNoKCh2YWwpID0+IHtcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgdmFsPy52YWx1ZSkge1xuICAgICAgICAgICAgdmFsdWVJRHMucHVzaCh2YWwudmFsdWUpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICB2YWx1ZUlEcy5wdXNoKHZhbClcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKHZhbHVlSURzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBjb25zdCBmaW5kV2hlcmUgPSB7XG4gICAgICAgICAgICBhbmQ6IFt7IGlkOiB7IGluOiB2YWx1ZUlEcyB9IH1dLFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChvcHRpb25GaWx0ZXIpIGZpbmRXaGVyZS5hbmQucHVzaChvcHRpb25GaWx0ZXIpXG5cbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwYXlsb2FkLmZpbmQoe1xuICAgICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICAgIGRlcHRoOiAwLFxuICAgICAgICAgICAgbGltaXQ6IDAsXG4gICAgICAgICAgICBwYWdpbmF0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgIHdoZXJlOiBmaW5kV2hlcmUsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIG9wdGlvbnNbY29sbGVjdGlvbl0gPSByZXN1bHQuZG9jcy5tYXAoKGRvYykgPT4gZG9jLmlkKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9wdGlvbnNbY29sbGVjdGlvbl0gPSBbXVxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICApXG5cbiAgICBjb25zdCBpbnZhbGlkUmVsYXRpb25zaGlwcyA9IHZhbHVlcy5maWx0ZXIoKHZhbCkgPT4ge1xuICAgICAgbGV0IGNvbGxlY3Rpb246IHN0cmluZ1xuICAgICAgbGV0IHJlcXVlc3RlZElEOiBudW1iZXIgfCBzdHJpbmdcblxuICAgICAgaWYgKHR5cGVvZiByZWxhdGlvblRvID09PSAnc3RyaW5nJykge1xuICAgICAgICBjb2xsZWN0aW9uID0gcmVsYXRpb25Ub1xuXG4gICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIHJlcXVlc3RlZElEID0gdmFsXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVsYXRpb25UbykgJiYgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgdmFsPy5yZWxhdGlvblRvKSB7XG4gICAgICAgIGNvbGxlY3Rpb24gPSB2YWwucmVsYXRpb25Ub1xuICAgICAgICByZXF1ZXN0ZWRJRCA9IHZhbC52YWx1ZVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gb3B0aW9uc1tjb2xsZWN0aW9uXS5pbmRleE9mKHJlcXVlc3RlZElEKSA9PT0gLTFcbiAgICB9KVxuXG4gICAgaWYgKGludmFsaWRSZWxhdGlvbnNoaXBzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBpbnZhbGlkUmVsYXRpb25zaGlwcy5yZWR1Y2UoKGVyciwgaW52YWxpZCwgaSkgPT4ge1xuICAgICAgICByZXR1cm4gYCR7ZXJyfSAke0pTT04uc3RyaW5naWZ5KGludmFsaWQpfSR7XG4gICAgICAgICAgaW52YWxpZFJlbGF0aW9uc2hpcHMubGVuZ3RoID09PSBpICsgMSA/ICcsJyA6ICcnXG4gICAgICAgIH0gYFxuICAgICAgfSwgdCgndmFsaWRhdGlvbjppbnZhbGlkU2VsZWN0aW9ucycpKSBhcyBzdHJpbmdcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHVwbG9hZDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgVXBsb2FkRmllbGQ+ID0gKHZhbHVlOiBzdHJpbmcsIG9wdGlvbnMpID0+IHtcbiAgaWYgKCF2YWx1ZSAmJiBvcHRpb25zLnJlcXVpcmVkKSB7XG4gICAgcmV0dXJuIG9wdGlvbnMudCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICBpZiAoIWNhblVzZURPTSAmJiB0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgY29uc3QgaWRGaWVsZCA9IG9wdGlvbnM/LmNvbmZpZz8uY29sbGVjdGlvbnNcbiAgICAgID8uZmluZCgoY29sbGVjdGlvbikgPT4gY29sbGVjdGlvbi5zbHVnID09PSBvcHRpb25zLnJlbGF0aW9uVG8pXG4gICAgICA/LmZpZWxkcz8uZmluZCgoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcpXG5cbiAgICBjb25zdCB0eXBlID0gZ2V0SURUeXBlKGlkRmllbGQsIG9wdGlvbnM/LnBheWxvYWQ/LmRiPy5kZWZhdWx0SURUeXBlKVxuXG4gICAgaWYgKCFpc1ZhbGlkSUQodmFsdWUsIHR5cGUpKSB7XG4gICAgICByZXR1cm4gb3B0aW9ucy50KCd2YWxpZGF0aW9uOnZhbGlkVXBsb2FkSUQnKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB2YWxpZGF0ZUZpbHRlck9wdGlvbnModmFsdWUsIG9wdGlvbnMpXG59XG5cbmV4cG9ydCBjb25zdCByZWxhdGlvbnNoaXA6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIFJlbGF0aW9uc2hpcEZpZWxkPiA9IGFzeW5jIChcbiAgdmFsdWU6IFJlbGF0aW9uc2hpcFZhbHVlLFxuICBvcHRpb25zLFxuKSA9PiB7XG4gIGNvbnN0IHsgY29uZmlnLCBtYXhSb3dzLCBtaW5Sb3dzLCBwYXlsb2FkLCByZWxhdGlvblRvLCByZXF1aXJlZCwgdCB9ID0gb3B0aW9uc1xuXG4gIGlmICgoIXZhbHVlIHx8IChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPT09IDApKSAmJiByZXF1aXJlZCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIGlmIChtaW5Sb3dzICYmIHZhbHVlLmxlbmd0aCA8IG1pblJvd3MpIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmxlc3NUaGFuTWluJywgeyBsYWJlbDogdCgncm93cycpLCBtaW46IG1pblJvd3MsIHZhbHVlOiB2YWx1ZS5sZW5ndGggfSlcbiAgICB9XG5cbiAgICBpZiAobWF4Um93cyAmJiB2YWx1ZS5sZW5ndGggPiBtYXhSb3dzKSB7XG4gICAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpncmVhdGVyVGhhbk1heCcsIHsgbGFiZWw6IHQoJ3Jvd3MnKSwgbWF4OiBtYXhSb3dzLCB2YWx1ZTogdmFsdWUubGVuZ3RoIH0pXG4gICAgfVxuICB9XG5cbiAgaWYgKCFjYW5Vc2VET00gJiYgdHlwZW9mIHZhbHVlICE9PSAndW5kZWZpbmVkJyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHZhbHVlcyA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdXG5cbiAgICBjb25zdCBpbnZhbGlkUmVsYXRpb25zaGlwcyA9IHZhbHVlcy5maWx0ZXIoKHZhbCkgPT4ge1xuICAgICAgbGV0IGNvbGxlY3Rpb25TbHVnOiBzdHJpbmdcbiAgICAgIGxldCByZXF1ZXN0ZWRJRFxuXG4gICAgICBpZiAodHlwZW9mIHJlbGF0aW9uVG8gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbGxlY3Rpb25TbHVnID0gcmVsYXRpb25Ub1xuXG4gICAgICAgIC8vIGN1c3RvbSBpZFxuICAgICAgICBpZiAodmFsKSB7XG4gICAgICAgICAgcmVxdWVzdGVkSUQgPSB2YWxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyZWxhdGlvblRvKSAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0JyAmJiB2YWw/LnJlbGF0aW9uVG8pIHtcbiAgICAgICAgY29sbGVjdGlvblNsdWcgPSB2YWwucmVsYXRpb25Ub1xuICAgICAgICByZXF1ZXN0ZWRJRCA9IHZhbC52YWx1ZVxuICAgICAgfVxuXG4gICAgICBpZiAocmVxdWVzdGVkSUQgPT09IG51bGwpIHJldHVybiBmYWxzZVxuXG4gICAgICBjb25zdCBpZEZpZWxkID0gY29uZmlnPy5jb2xsZWN0aW9uc1xuICAgICAgICA/LmZpbmQoKGNvbGxlY3Rpb24pID0+IGNvbGxlY3Rpb24uc2x1ZyA9PT0gY29sbGVjdGlvblNsdWcpXG4gICAgICAgID8uZmllbGRzPy5maW5kKChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJylcblxuICAgICAgY29uc3QgdHlwZSA9IGdldElEVHlwZShpZEZpZWxkLCBwYXlsb2FkPy5kYj8uZGVmYXVsdElEVHlwZSlcblxuICAgICAgcmV0dXJuICFpc1ZhbGlkSUQocmVxdWVzdGVkSUQsIHR5cGUpXG4gICAgfSlcblxuICAgIGlmIChpbnZhbGlkUmVsYXRpb25zaGlwcy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gYFRoaXMgcmVsYXRpb25zaGlwIGZpZWxkIGhhcyB0aGUgZm9sbG93aW5nIGludmFsaWQgcmVsYXRpb25zaGlwczogJHtpbnZhbGlkUmVsYXRpb25zaGlwc1xuICAgICAgICAubWFwKChlcnIsIGludmFsaWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYCR7ZXJyfSAke0pTT04uc3RyaW5naWZ5KGludmFsaWQpfWBcbiAgICAgICAgfSlcbiAgICAgICAgLmpvaW4oJywgJyl9YFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB2YWxpZGF0ZUZpbHRlck9wdGlvbnModmFsdWUsIG9wdGlvbnMpXG59XG5cbmV4cG9ydCBjb25zdCBhcnJheTogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgQXJyYXlGaWVsZD4gPSAoXG4gIHZhbHVlLFxuICB7IG1heFJvd3MsIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgY29uc3QgYXJyYXlMZW5ndGggPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlLmxlbmd0aCA6IDBcblxuICBpZiAobWluUm93cyAmJiBhcnJheUxlbmd0aCA8IG1pblJvd3MpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc0F0TGVhc3QnLCB7IGNvdW50OiBtaW5Sb3dzLCBsYWJlbDogdCgncm93cycpIH0pXG4gIH1cblxuICBpZiAobWF4Um93cyAmJiBhcnJheUxlbmd0aCA+IG1heFJvd3MpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc05vTW9yZVRoYW4nLCB7IGNvdW50OiBtYXhSb3dzLCBsYWJlbDogdCgncm93cycpIH0pXG4gIH1cblxuICBpZiAoIWFycmF5TGVuZ3RoICYmIHJlcXVpcmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZXNBdExlYXN0JywgeyBjb3VudDogMSwgbGFiZWw6IHQoJ3JvdycpIH0pXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3Qgc2VsZWN0OiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBTZWxlY3RGaWVsZD4gPSAoXG4gIHZhbHVlLFxuICB7IGhhc01hbnksIG9wdGlvbnMsIHJlcXVpcmVkLCB0IH0sXG4pID0+IHtcbiAgaWYgKFxuICAgIEFycmF5LmlzQXJyYXkodmFsdWUpICYmXG4gICAgdmFsdWUuc29tZShcbiAgICAgIChpbnB1dCkgPT5cbiAgICAgICAgIW9wdGlvbnMuc29tZShcbiAgICAgICAgICAob3B0aW9uKSA9PiBvcHRpb24gPT09IGlucHV0IHx8ICh0eXBlb2Ygb3B0aW9uICE9PSAnc3RyaW5nJyAmJiBvcHRpb24/LnZhbHVlID09PSBpbnB1dCksXG4gICAgICAgICksXG4gICAgKVxuICApIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjppbnZhbGlkU2VsZWN0aW9uJylcbiAgfVxuXG4gIGlmIChcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmXG4gICAgIW9wdGlvbnMuc29tZShcbiAgICAgIChvcHRpb24pID0+IG9wdGlvbiA9PT0gdmFsdWUgfHwgKHR5cGVvZiBvcHRpb24gIT09ICdzdHJpbmcnICYmIG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpLFxuICAgIClcbiAgKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246aW52YWxpZFNlbGVjdGlvbicpXG4gIH1cblxuICBpZiAoXG4gICAgcmVxdWlyZWQgJiZcbiAgICAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJyB8fFxuICAgICAgdmFsdWUgPT09IG51bGwgfHxcbiAgICAgIChoYXNNYW55ICYmIEFycmF5LmlzQXJyYXkodmFsdWUpICYmICh2YWx1ZSBhcyBbXSk/Lmxlbmd0aCA9PT0gMCkpXG4gICkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCByYWRpbzogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgUmFkaW9GaWVsZD4gPSAodmFsdWUsIHsgb3B0aW9ucywgcmVxdWlyZWQsIHQgfSkgPT4ge1xuICBpZiAodmFsdWUpIHtcbiAgICBjb25zdCB2YWx1ZU1hdGNoZXNPcHRpb24gPSBvcHRpb25zLnNvbWUoXG4gICAgICAob3B0aW9uKSA9PiBvcHRpb24gPT09IHZhbHVlIHx8ICh0eXBlb2Ygb3B0aW9uICE9PSAnc3RyaW5nJyAmJiBvcHRpb24udmFsdWUgPT09IHZhbHVlKSxcbiAgICApXG4gICAgcmV0dXJuIHZhbHVlTWF0Y2hlc09wdGlvbiB8fCB0KCd2YWxpZGF0aW9uOmludmFsaWRTZWxlY3Rpb24nKVxuICB9XG5cbiAgcmV0dXJuIHJlcXVpcmVkID8gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpIDogdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgYmxvY2tzOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCBCbG9ja0ZpZWxkPiA9IChcbiAgdmFsdWUsXG4gIHsgbWF4Um93cywgbWluUm93cywgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUubGVuZ3RoIDogMFxuXG4gIGlmIChtaW5Sb3dzICYmIGFycmF5TGVuZ3RoIDwgbWluUm93cykge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVzQXRMZWFzdCcsIHsgY291bnQ6IG1pblJvd3MsIGxhYmVsOiB0KCdyb3dzJykgfSlcbiAgfVxuXG4gIGlmIChtYXhSb3dzICYmIGFycmF5TGVuZ3RoID4gbWF4Um93cykge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVzTm9Nb3JlVGhhbicsIHsgY291bnQ6IG1heFJvd3MsIGxhYmVsOiB0KCdyb3dzJykgfSlcbiAgfVxuXG4gIGlmICghYXJyYXlMZW5ndGggJiYgcmVxdWlyZWQpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc0F0TGVhc3QnLCB7IGNvdW50OiAxLCBsYWJlbDogdCgncm93JykgfSlcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBwb2ludDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgUG9pbnRGaWVsZD4gPSAoXG4gIHZhbHVlOiBbbnVtYmVyIHwgc3RyaW5nLCBudW1iZXIgfCBzdHJpbmddID0gWycnLCAnJ10sXG4gIHsgcmVxdWlyZWQsIHQgfSxcbikgPT4ge1xuICBjb25zdCBsbmcgPSBwYXJzZUZsb2F0KFN0cmluZyh2YWx1ZVswXSkpXG4gIGNvbnN0IGxhdCA9IHBhcnNlRmxvYXQoU3RyaW5nKHZhbHVlWzFdKSlcbiAgaWYgKFxuICAgIHJlcXVpcmVkICYmXG4gICAgKCh2YWx1ZVswXSAmJiB2YWx1ZVsxXSAmJiB0eXBlb2YgbG5nICE9PSAnbnVtYmVyJyAmJiB0eXBlb2YgbGF0ICE9PSAnbnVtYmVyJykgfHxcbiAgICAgIE51bWJlci5pc05hTihsbmcpIHx8XG4gICAgICBOdW1iZXIuaXNOYU4obGF0KSB8fFxuICAgICAgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCAhPT0gMikpXG4gICkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVzVHdvTnVtYmVycycpXG4gIH1cblxuICBpZiAoKHZhbHVlWzFdICYmIE51bWJlci5pc05hTihsbmcpKSB8fCAodmFsdWVbMF0gJiYgTnVtYmVyLmlzTmFOKGxhdCkpKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246aW52YWxpZElucHV0JylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgYXJyYXksXG4gIGJsb2NrcyxcbiAgY2hlY2tib3gsXG4gIGNvZGUsXG4gIGRhdGUsXG4gIGVtYWlsLFxuICBqc29uLFxuICBudW1iZXIsXG4gIHBhc3N3b3JkLFxuICBwb2ludCxcbiAgcmFkaW8sXG4gIHJlbGF0aW9uc2hpcCxcbiAgcmljaFRleHQsXG4gIHNlbGVjdCxcbiAgdGV4dCxcbiAgdGV4dGFyZWEsXG4gIHVwbG9hZCxcbn1cbiJdLCJuYW1lcyI6WyJudW1iZXIiLCJ0ZXh0IiwicGFzc3dvcmQiLCJlbWFpbCIsInRleHRhcmVhIiwiY29kZSIsImpzb24iLCJjaGVja2JveCIsImRhdGUiLCJyaWNoVGV4dCIsInVwbG9hZCIsInJlbGF0aW9uc2hpcCIsImFycmF5Iiwic2VsZWN0IiwicmFkaW8iLCJibG9ja3MiLCJwb2ludCIsInZhbHVlIiwiaGFzTWFueSIsIm1heCIsIm1heFJvd3MiLCJtaW4iLCJtaW5Sb3dzIiwicmVxdWlyZWQiLCJ0IiwidG9WYWxpZGF0ZSIsIkFycmF5IiwiaXNBcnJheSIsInZhbHVlVG9WYWxpZGF0ZSIsImZsb2F0VmFsdWUiLCJwYXJzZUZsb2F0IiwiTnVtYmVyIiwiaXNOYU4iLCJsYWJlbCIsImxlbmd0aCIsImNvbmZpZyIsIm1heExlbmd0aCIsImZpZWxkTWF4TGVuZ3RoIiwibWluTGVuZ3RoIiwicGF5bG9hZCIsImRlZmF1bHRNYXhUZXh0TGVuZ3RoIiwidGVzdCIsInVuZGVmaW5lZCIsImpzb25FcnJvciIsIkRhdGUiLCJwYXJzZSIsInRvU3RyaW5nIiwib3B0aW9ucyIsImVkaXRvciIsInZhbGlkYXRlIiwidmFsaWRhdGVGaWx0ZXJPcHRpb25zIiwiaWQiLCJkYXRhIiwiZmlsdGVyT3B0aW9ucyIsInJlbGF0aW9uVG8iLCJzaWJsaW5nRGF0YSIsInVzZXIiLCJyZXEiLCJjYW5Vc2VET00iLCJjb2xsZWN0aW9ucyIsInZhbHVlcyIsIlByb21pc2UiLCJhbGwiLCJtYXAiLCJjb2xsZWN0aW9uIiwib3B0aW9uRmlsdGVyIiwidmFsdWVJRHMiLCJmb3JFYWNoIiwidmFsIiwicHVzaCIsImZpbmRXaGVyZSIsImFuZCIsImluIiwicmVzdWx0IiwiZmluZCIsImRlcHRoIiwibGltaXQiLCJwYWdpbmF0aW9uIiwid2hlcmUiLCJkb2NzIiwiZG9jIiwiaW52YWxpZFJlbGF0aW9uc2hpcHMiLCJmaWx0ZXIiLCJyZXF1ZXN0ZWRJRCIsImluZGV4T2YiLCJyZWR1Y2UiLCJlcnIiLCJpbnZhbGlkIiwiaSIsIkpTT04iLCJzdHJpbmdpZnkiLCJpZEZpZWxkIiwic2x1ZyIsImZpZWxkcyIsImZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiLCJ0eXBlIiwiZ2V0SURUeXBlIiwiZGIiLCJkZWZhdWx0SURUeXBlIiwiaXNWYWxpZElEIiwiY29sbGVjdGlvblNsdWciLCJqb2luIiwiYXJyYXlMZW5ndGgiLCJjb3VudCIsInNvbWUiLCJpbnB1dCIsIm9wdGlvbiIsInZhbHVlTWF0Y2hlc09wdGlvbiIsImxuZyIsIlN0cmluZyIsImxhdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUEyQmFBLE1BQU07ZUFBTkE7O0lBdURBQyxJQUFJO2VBQUpBOztJQXlCQUMsUUFBUTtlQUFSQTs7SUF3QkFDLEtBQUs7ZUFBTEE7O0lBUUFDLFFBQVE7ZUFBUkE7O0lBdUJBQyxJQUFJO2VBQUpBOztJQVFBQyxJQUFJO2VBQUpBOztJQWVBQyxRQUFRO2VBQVJBOztJQVdBQyxJQUFJO2VBQUpBOztJQWlCQUMsUUFBUTtlQUFSQTs7SUF1R0FDLE1BQU07ZUFBTkE7O0lBb0JBQyxZQUFZO2VBQVpBOztJQWdFQUMsS0FBSztlQUFMQTs7SUFxQkFDLE1BQU07ZUFBTkE7O0lBcUNBQyxLQUFLO2VBQUxBOztJQVdBQyxNQUFNO2VBQU5BOztJQXFCQUMsS0FBSztlQUFMQTs7SUF1QmIsT0FrQkM7ZUFsQkQ7OztrRUEzZXNCOzJCQUNJOzJCQUNBO3VCQUNPOzs7Ozs7QUFFMUIsTUFBTWhCLFNBQWtELENBQzdEaUIsT0FDQSxFQUFFQyxPQUFPLEVBQUVDLEdBQUcsRUFBRUMsT0FBTyxFQUFFQyxHQUFHLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFQyxDQUFDLEVBQUU7SUFFcEQsTUFBTUMsYUFBdUJDLE1BQU1DLE9BQU8sQ0FBQ1YsU0FBU0EsUUFBUTtRQUFDQTtLQUFNO0lBRW5FLGdEQUFnRDtJQUNoRCxLQUFLLE1BQU1XLG1CQUFtQkgsV0FBWTtRQUN4QyxNQUFNSSxhQUFhQyxXQUFXRjtRQUM5QixJQUNFLEFBQUNYLFNBQVMsT0FBT1ksZUFBZSxZQUMvQk4sWUFBWVEsT0FBT0MsS0FBSyxDQUFDSCxlQUN6QlosU0FBU2MsT0FBT0MsS0FBSyxDQUFDSCxhQUN2QjtZQUNBLE9BQU9MLEVBQUU7UUFDWDtRQUVBLElBQUksT0FBT0wsUUFBUSxZQUFZVSxhQUFhVixLQUFLO1lBQy9DLE9BQU9LLEVBQUUsNkJBQTZCO2dCQUFFUyxPQUFPVCxFQUFFO2dCQUFVTDtnQkFBS0Y7WUFBTTtRQUN4RTtRQUVBLElBQUksT0FBT0ksUUFBUSxZQUFZUSxhQUFhUixLQUFLO1lBQy9DLE9BQU9HLEVBQUUsMEJBQTBCO2dCQUFFUyxPQUFPVCxFQUFFO2dCQUFVSDtnQkFBS0o7WUFBTTtRQUNyRTtRQUVBLElBQUlNLFlBQVksT0FBT00sZUFBZSxVQUFVO1lBQzlDLE9BQU9MLEVBQUU7UUFDWDtJQUNGO0lBRUEsSUFBSUQsWUFBWUUsV0FBV1MsTUFBTSxLQUFLLEdBQUc7UUFDdkMsT0FBT1YsRUFBRTtJQUNYO0lBRUEsSUFBSU4sWUFBWSxNQUFNO1FBQ3BCLElBQUlJLFdBQVdHLFdBQVdTLE1BQU0sR0FBR1osU0FBUztZQUMxQyxPQUFPRSxFQUFFLDBCQUEwQjtnQkFDakNTLE9BQU9ULEVBQUU7Z0JBQ1RILEtBQUtDO2dCQUNMTCxPQUFPUSxXQUFXUyxNQUFNO1lBQzFCO1FBQ0Y7UUFFQSxJQUFJZCxXQUFXSyxXQUFXUyxNQUFNLEdBQUdkLFNBQVM7WUFDMUMsT0FBT0ksRUFBRSw2QkFBNkI7Z0JBQ3BDUyxPQUFPVCxFQUFFO2dCQUNUTCxLQUFLQztnQkFDTEgsT0FBT1EsV0FBV1MsTUFBTTtZQUMxQjtRQUNGO0lBQ0Y7SUFFQSxPQUFPO0FBQ1Q7QUFFTyxNQUFNakMsT0FBOEMsQ0FDekRnQixPQUNBLEVBQUVrQixNQUFNLEVBQUVDLFdBQVdDLGNBQWMsRUFBRUMsU0FBUyxFQUFFQyxPQUFPLEVBQUVoQixRQUFRLEVBQUVDLENBQUMsRUFBRTtJQUV0RSxJQUFJWTtJQUVKLElBQUksT0FBT0QsUUFBUUsseUJBQXlCLFVBQVVKLFlBQVlELE9BQU9LLG9CQUFvQjtJQUM3RixJQUFJLE9BQU9ILG1CQUFtQixVQUFVRCxZQUFZQztJQUNwRCxJQUFJcEIsU0FBU21CLGFBQWFuQixNQUFNaUIsTUFBTSxHQUFHRSxXQUFXO1FBQ2xELE9BQU9aLEVBQUUsNkJBQTZCO1lBQUVZO1FBQVU7SUFDcEQ7SUFFQSxJQUFJbkIsU0FBU3FCLGFBQWFyQixPQUFPaUIsU0FBU0ksV0FBVztRQUNuRCxPQUFPZCxFQUFFLDRCQUE0QjtZQUFFYztRQUFVO0lBQ25EO0lBRUEsSUFBSWYsVUFBVTtRQUNaLElBQUksT0FBT04sVUFBVSxZQUFZQSxPQUFPaUIsV0FBVyxHQUFHO1lBQ3BELE9BQU9WLEVBQUU7UUFDWDtJQUNGO0lBRUEsT0FBTztBQUNUO0FBRU8sTUFBTXRCLFdBQWtELENBQzdEZSxPQUNBLEVBQUVrQixNQUFNLEVBQUVDLFdBQVdDLGNBQWMsRUFBRUMsU0FBUyxFQUFFQyxPQUFPLEVBQUVoQixRQUFRLEVBQUVDLENBQUMsRUFBRTtJQUV0RSxJQUFJWTtJQUVKLElBQUksT0FBT0QsUUFBUUsseUJBQXlCLFVBQVVKLFlBQVlELE9BQU9LLG9CQUFvQjtJQUM3RixJQUFJLE9BQU9ILG1CQUFtQixVQUFVRCxZQUFZQztJQUVwRCxJQUFJcEIsU0FBU21CLGFBQWFuQixNQUFNaUIsTUFBTSxHQUFHRSxXQUFXO1FBQ2xELE9BQU9aLEVBQUUsNkJBQTZCO1lBQUVZO1FBQVU7SUFDcEQ7SUFFQSxJQUFJbkIsU0FBU3FCLGFBQWFyQixNQUFNaUIsTUFBTSxHQUFHSSxXQUFXO1FBQ2xELE9BQU9kLEVBQUUsNEJBQTRCO1lBQUVjO1FBQVU7SUFDbkQ7SUFFQSxJQUFJZixZQUFZLENBQUNOLE9BQU87UUFDdEIsT0FBT08sRUFBRTtJQUNYO0lBRUEsT0FBTztBQUNUO0FBRU8sTUFBTXJCLFFBQWdELENBQUNjLE9BQWUsRUFBRU0sUUFBUSxFQUFFQyxDQUFDLEVBQUU7SUFDMUYsSUFBSSxBQUFDUCxTQUFTLENBQUMscUJBQXFCd0IsSUFBSSxDQUFDeEIsVUFBWSxDQUFDQSxTQUFTTSxVQUFXO1FBQ3hFLE9BQU9DLEVBQUU7SUFDWDtJQUVBLE9BQU87QUFDVDtBQUVPLE1BQU1wQixXQUFzRCxDQUNqRWEsT0FDQSxFQUFFa0IsTUFBTSxFQUFFQyxXQUFXQyxjQUFjLEVBQUVDLFNBQVMsRUFBRUMsT0FBTyxFQUFFaEIsUUFBUSxFQUFFQyxDQUFDLEVBQUU7SUFFdEUsSUFBSVk7SUFFSixJQUFJLE9BQU9ELFFBQVFLLHlCQUF5QixVQUFVSixZQUFZRCxPQUFPSyxvQkFBb0I7SUFDN0YsSUFBSSxPQUFPSCxtQkFBbUIsVUFBVUQsWUFBWUM7SUFDcEQsSUFBSXBCLFNBQVNtQixhQUFhbkIsTUFBTWlCLE1BQU0sR0FBR0UsV0FBVztRQUNsRCxPQUFPWixFQUFFLDZCQUE2QjtZQUFFWTtRQUFVO0lBQ3BEO0lBRUEsSUFBSW5CLFNBQVNxQixhQUFhckIsTUFBTWlCLE1BQU0sR0FBR0ksV0FBVztRQUNsRCxPQUFPZCxFQUFFLDRCQUE0QjtZQUFFYztRQUFVO0lBQ25EO0lBRUEsSUFBSWYsWUFBWSxDQUFDTixPQUFPO1FBQ3RCLE9BQU9PLEVBQUU7SUFDWDtJQUVBLE9BQU87QUFDVDtBQUVPLE1BQU1uQixPQUE4QyxDQUFDWSxPQUFlLEVBQUVNLFFBQVEsRUFBRUMsQ0FBQyxFQUFFO0lBQ3hGLElBQUlELFlBQVlOLFVBQVV5QixXQUFXO1FBQ25DLE9BQU9sQixFQUFFO0lBQ1g7SUFFQSxPQUFPO0FBQ1Q7QUFFTyxNQUFNbEIsT0FBdUUsQ0FDbEZXLE9BQ0EsRUFBRTBCLFNBQVMsRUFBRXBCLFFBQVEsRUFBRUMsQ0FBQyxFQUFFO0lBRTFCLElBQUlELFlBQVksQ0FBQ04sT0FBTztRQUN0QixPQUFPTyxFQUFFO0lBQ1g7SUFFQSxJQUFJbUIsY0FBY0QsV0FBVztRQUMzQixPQUFPbEIsRUFBRTtJQUNYO0lBRUEsT0FBTztBQUNUO0FBRU8sTUFBTWpCLFdBQXNELENBQ2pFVSxPQUNBLEVBQUVNLFFBQVEsRUFBRUMsQ0FBQyxFQUFFO0lBRWYsSUFBSSxBQUFDUCxTQUFTLE9BQU9BLFVBQVUsYUFBZU0sWUFBWSxPQUFPTixVQUFVLFdBQVk7UUFDckYsT0FBT08sRUFBRTtJQUNYO0lBRUEsT0FBTztBQUNUO0FBRU8sTUFBTWhCLE9BQThDLENBQUNTLE9BQU8sRUFBRU0sUUFBUSxFQUFFQyxDQUFDLEVBQUU7SUFDaEYsSUFBSVAsU0FBUyxDQUFDZSxNQUFNWSxLQUFLQyxLQUFLLENBQUM1QixNQUFNNkIsUUFBUSxNQUFNO1FBQ2pELHVCQUF1QixHQUN2QixPQUFPO0lBQ1Q7SUFFQSxJQUFJN0IsT0FBTztRQUNULE9BQU9PLEVBQUUsMkJBQTJCO1lBQUVQO1FBQU07SUFDOUM7SUFFQSxJQUFJTSxVQUFVO1FBQ1osT0FBT0MsRUFBRTtJQUNYO0lBRUEsT0FBTztBQUNUO0FBRU8sTUFBTWYsV0FBb0UsT0FDL0VRLE9BQ0E4QjtJQUVBLE1BQU1DLFNBQTBCRCxTQUFTQztJQUV6QyxPQUFPLE1BQU1BLE9BQU9DLFFBQVEsQ0FBQ2hDLE9BQU84QjtBQUN0QztBQUVBLE1BQU1HLHdCQUFrQyxPQUN0Q2pDLE9BQ0EsRUFBRWtDLEVBQUUsRUFBRUMsSUFBSSxFQUFFQyxhQUFhLEVBQUVkLE9BQU8sRUFBRWUsVUFBVSxFQUFFQyxXQUFXLEVBQUUvQixDQUFDLEVBQUVnQyxJQUFJLEVBQUVDLEdBQUcsRUFBRTtJQUUzRSxJQUFJLENBQUNDLGtCQUFTLElBQUksT0FBT0wsa0JBQWtCLGVBQWVwQyxPQUFPO1FBQy9ELE1BQU04QixVQUVGLENBQUM7UUFFTCxNQUFNWSxjQUFjLE9BQU9MLGVBQWUsV0FBVztZQUFDQTtTQUFXLEdBQUdBO1FBQ3BFLE1BQU1NLFNBQVNsQyxNQUFNQyxPQUFPLENBQUNWLFNBQVNBLFFBQVE7WUFBQ0E7U0FBTTtRQUVyRCxNQUFNNEMsUUFBUUMsR0FBRyxDQUNmSCxZQUFZSSxHQUFHLENBQUMsT0FBT0M7WUFDckIsTUFBTUMsZUFDSixPQUFPWixrQkFBa0IsYUFDckIsTUFBTUEsY0FBYztnQkFDbEJGO2dCQUNBQztnQkFDQUUsWUFBWVU7Z0JBQ1pUO2dCQUNBQztZQUNGLEtBQ0FIO1lBRU4sTUFBTWEsV0FBZ0MsRUFBRTtZQUV4Q04sT0FBT08sT0FBTyxDQUFDLENBQUNDO2dCQUNkLElBQUksT0FBT0EsUUFBUSxZQUFZQSxLQUFLbkQsT0FBTztvQkFDekNpRCxTQUFTRyxJQUFJLENBQUNELElBQUluRCxLQUFLO2dCQUN6QjtnQkFFQSxJQUFJLE9BQU9tRCxRQUFRLFlBQVksT0FBT0EsUUFBUSxVQUFVO29CQUN0REYsU0FBU0csSUFBSSxDQUFDRDtnQkFDaEI7WUFDRjtZQUVBLElBQUlGLFNBQVNoQyxNQUFNLEdBQUcsR0FBRztnQkFDdkIsTUFBTW9DLFlBQVk7b0JBQ2hCQyxLQUFLO3dCQUFDOzRCQUFFcEIsSUFBSTtnQ0FBRXFCLElBQUlOOzRCQUFTO3dCQUFFO3FCQUFFO2dCQUNqQztnQkFFQSxJQUFJRCxjQUFjSyxVQUFVQyxHQUFHLENBQUNGLElBQUksQ0FBQ0o7Z0JBRXJDLE1BQU1RLFNBQVMsTUFBTWxDLFFBQVFtQyxJQUFJLENBQUM7b0JBQ2hDVjtvQkFDQVcsT0FBTztvQkFDUEMsT0FBTztvQkFDUEMsWUFBWTtvQkFDWnBCO29CQUNBcUIsT0FBT1I7Z0JBQ1Q7Z0JBRUF2QixPQUFPLENBQUNpQixXQUFXLEdBQUdTLE9BQU9NLElBQUksQ0FBQ2hCLEdBQUcsQ0FBQyxDQUFDaUIsTUFBUUEsSUFBSTdCLEVBQUU7WUFDdkQsT0FBTztnQkFDTEosT0FBTyxDQUFDaUIsV0FBVyxHQUFHLEVBQUU7WUFDMUI7UUFDRjtRQUdGLE1BQU1pQix1QkFBdUJyQixPQUFPc0IsTUFBTSxDQUFDLENBQUNkO1lBQzFDLElBQUlKO1lBQ0osSUFBSW1CO1lBRUosSUFBSSxPQUFPN0IsZUFBZSxVQUFVO2dCQUNsQ1UsYUFBYVY7Z0JBRWIsSUFBSSxPQUFPYyxRQUFRLFlBQVksT0FBT0EsUUFBUSxVQUFVO29CQUN0RGUsY0FBY2Y7Z0JBQ2hCO1lBQ0Y7WUFFQSxJQUFJMUMsTUFBTUMsT0FBTyxDQUFDMkIsZUFBZSxPQUFPYyxRQUFRLFlBQVlBLEtBQUtkLFlBQVk7Z0JBQzNFVSxhQUFhSSxJQUFJZCxVQUFVO2dCQUMzQjZCLGNBQWNmLElBQUluRCxLQUFLO1lBQ3pCO1lBRUEsT0FBTzhCLE9BQU8sQ0FBQ2lCLFdBQVcsQ0FBQ29CLE9BQU8sQ0FBQ0QsaUJBQWlCLENBQUM7UUFDdkQ7UUFFQSxJQUFJRixxQkFBcUIvQyxNQUFNLEdBQUcsR0FBRztZQUNuQyxPQUFPK0MscUJBQXFCSSxNQUFNLENBQUMsQ0FBQ0MsS0FBS0MsU0FBU0M7Z0JBQ2hELE9BQU8sQ0FBQyxFQUFFRixJQUFJLENBQUMsRUFBRUcsS0FBS0MsU0FBUyxDQUFDSCxTQUFTLEVBQ3ZDTixxQkFBcUIvQyxNQUFNLEtBQUtzRCxJQUFJLElBQUksTUFBTSxHQUMvQyxDQUFDLENBQUM7WUFDTCxHQUFHaEUsRUFBRTtRQUNQO1FBRUEsT0FBTztJQUNUO0lBRUEsT0FBTztBQUNUO0FBRU8sTUFBTWQsU0FBa0QsQ0FBQ08sT0FBZThCO0lBQzdFLElBQUksQ0FBQzlCLFNBQVM4QixRQUFReEIsUUFBUSxFQUFFO1FBQzlCLE9BQU93QixRQUFRdkIsQ0FBQyxDQUFDO0lBQ25CO0lBRUEsSUFBSSxDQUFDa0Msa0JBQVMsSUFBSSxPQUFPekMsVUFBVSxlQUFlQSxVQUFVLE1BQU07UUFDaEUsTUFBTTBFLFVBQVU1QyxTQUFTWixRQUFRd0IsYUFDN0JlLEtBQUssQ0FBQ1YsYUFBZUEsV0FBVzRCLElBQUksS0FBSzdDLFFBQVFPLFVBQVUsR0FDM0R1QyxRQUFRbkIsS0FBSyxDQUFDb0IsUUFBVUMsSUFBQUEsdUJBQWdCLEVBQUNELFVBQVVBLE1BQU1FLElBQUksS0FBSztRQUV0RSxNQUFNQyxPQUFPQyxJQUFBQSxvQkFBUyxFQUFDUCxTQUFTNUMsU0FBU1IsU0FBUzRELElBQUlDO1FBRXRELElBQUksQ0FBQ0MsSUFBQUEsb0JBQVMsRUFBQ3BGLE9BQU9nRixPQUFPO1lBQzNCLE9BQU9sRCxRQUFRdkIsQ0FBQyxDQUFDO1FBQ25CO0lBQ0Y7SUFFQSxPQUFPMEIsc0JBQXNCakMsT0FBTzhCO0FBQ3RDO0FBRU8sTUFBTXBDLGVBQThELE9BQ3pFTSxPQUNBOEI7SUFFQSxNQUFNLEVBQUVaLE1BQU0sRUFBRWYsT0FBTyxFQUFFRSxPQUFPLEVBQUVpQixPQUFPLEVBQUVlLFVBQVUsRUFBRS9CLFFBQVEsRUFBRUMsQ0FBQyxFQUFFLEdBQUd1QjtJQUV2RSxJQUFJLEFBQUMsQ0FBQSxDQUFDOUIsU0FBVVMsTUFBTUMsT0FBTyxDQUFDVixVQUFVQSxNQUFNaUIsTUFBTSxLQUFLLENBQUMsS0FBTVgsVUFBVTtRQUN4RSxPQUFPQyxFQUFFO0lBQ1g7SUFFQSxJQUFJRSxNQUFNQyxPQUFPLENBQUNWLFFBQVE7UUFDeEIsSUFBSUssV0FBV0wsTUFBTWlCLE1BQU0sR0FBR1osU0FBUztZQUNyQyxPQUFPRSxFQUFFLDBCQUEwQjtnQkFBRVMsT0FBT1QsRUFBRTtnQkFBU0gsS0FBS0M7Z0JBQVNMLE9BQU9BLE1BQU1pQixNQUFNO1lBQUM7UUFDM0Y7UUFFQSxJQUFJZCxXQUFXSCxNQUFNaUIsTUFBTSxHQUFHZCxTQUFTO1lBQ3JDLE9BQU9JLEVBQUUsNkJBQTZCO2dCQUFFUyxPQUFPVCxFQUFFO2dCQUFTTCxLQUFLQztnQkFBU0gsT0FBT0EsTUFBTWlCLE1BQU07WUFBQztRQUM5RjtJQUNGO0lBRUEsSUFBSSxDQUFDd0Isa0JBQVMsSUFBSSxPQUFPekMsVUFBVSxlQUFlQSxVQUFVLE1BQU07UUFDaEUsTUFBTTJDLFNBQVNsQyxNQUFNQyxPQUFPLENBQUNWLFNBQVNBLFFBQVE7WUFBQ0E7U0FBTTtRQUVyRCxNQUFNZ0UsdUJBQXVCckIsT0FBT3NCLE1BQU0sQ0FBQyxDQUFDZDtZQUMxQyxJQUFJa0M7WUFDSixJQUFJbkI7WUFFSixJQUFJLE9BQU83QixlQUFlLFVBQVU7Z0JBQ2xDZ0QsaUJBQWlCaEQ7Z0JBRWpCLFlBQVk7Z0JBQ1osSUFBSWMsS0FBSztvQkFDUGUsY0FBY2Y7Z0JBQ2hCO1lBQ0Y7WUFFQSxJQUFJMUMsTUFBTUMsT0FBTyxDQUFDMkIsZUFBZSxPQUFPYyxRQUFRLFlBQVlBLEtBQUtkLFlBQVk7Z0JBQzNFZ0QsaUJBQWlCbEMsSUFBSWQsVUFBVTtnQkFDL0I2QixjQUFjZixJQUFJbkQsS0FBSztZQUN6QjtZQUVBLElBQUlrRSxnQkFBZ0IsTUFBTSxPQUFPO1lBRWpDLE1BQU1RLFVBQVV4RCxRQUFRd0IsYUFDcEJlLEtBQUssQ0FBQ1YsYUFBZUEsV0FBVzRCLElBQUksS0FBS1UsaUJBQ3pDVCxRQUFRbkIsS0FBSyxDQUFDb0IsUUFBVUMsSUFBQUEsdUJBQWdCLEVBQUNELFVBQVVBLE1BQU1FLElBQUksS0FBSztZQUV0RSxNQUFNQyxPQUFPQyxJQUFBQSxvQkFBUyxFQUFDUCxTQUFTcEQsU0FBUzRELElBQUlDO1lBRTdDLE9BQU8sQ0FBQ0MsSUFBQUEsb0JBQVMsRUFBQ2xCLGFBQWFjO1FBQ2pDO1FBRUEsSUFBSWhCLHFCQUFxQi9DLE1BQU0sR0FBRyxHQUFHO1lBQ25DLE9BQU8sQ0FBQyxpRUFBaUUsRUFBRStDLHFCQUN4RWxCLEdBQUcsQ0FBQyxDQUFDdUIsS0FBS0M7Z0JBQ1QsT0FBTyxDQUFDLEVBQUVELElBQUksQ0FBQyxFQUFFRyxLQUFLQyxTQUFTLENBQUNILFNBQVMsQ0FBQztZQUM1QyxHQUNDZ0IsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNqQjtJQUNGO0lBRUEsT0FBT3JELHNCQUFzQmpDLE9BQU84QjtBQUN0QztBQUVPLE1BQU1uQyxRQUFnRCxDQUMzREssT0FDQSxFQUFFRyxPQUFPLEVBQUVFLE9BQU8sRUFBRUMsUUFBUSxFQUFFQyxDQUFDLEVBQUU7SUFFakMsTUFBTWdGLGNBQWM5RSxNQUFNQyxPQUFPLENBQUNWLFNBQVNBLE1BQU1pQixNQUFNLEdBQUc7SUFFMUQsSUFBSVosV0FBV2tGLGNBQWNsRixTQUFTO1FBQ3BDLE9BQU9FLEVBQUUsOEJBQThCO1lBQUVpRixPQUFPbkY7WUFBU1csT0FBT1QsRUFBRTtRQUFRO0lBQzVFO0lBRUEsSUFBSUosV0FBV29GLGNBQWNwRixTQUFTO1FBQ3BDLE9BQU9JLEVBQUUsaUNBQWlDO1lBQUVpRixPQUFPckY7WUFBU2EsT0FBT1QsRUFBRTtRQUFRO0lBQy9FO0lBRUEsSUFBSSxDQUFDZ0YsZUFBZWpGLFVBQVU7UUFDNUIsT0FBT0MsRUFBRSw4QkFBOEI7WUFBRWlGLE9BQU87WUFBR3hFLE9BQU9ULEVBQUU7UUFBTztJQUNyRTtJQUVBLE9BQU87QUFDVDtBQUVPLE1BQU1YLFNBQWtELENBQzdESSxPQUNBLEVBQUVDLE9BQU8sRUFBRTZCLE9BQU8sRUFBRXhCLFFBQVEsRUFBRUMsQ0FBQyxFQUFFO0lBRWpDLElBQ0VFLE1BQU1DLE9BQU8sQ0FBQ1YsVUFDZEEsTUFBTXlGLElBQUksQ0FDUixDQUFDQyxRQUNDLENBQUM1RCxRQUFRMkQsSUFBSSxDQUNYLENBQUNFLFNBQVdBLFdBQVdELFNBQVUsT0FBT0MsV0FBVyxZQUFZQSxRQUFRM0YsVUFBVTBGLFNBR3ZGO1FBQ0EsT0FBT25GLEVBQUU7SUFDWDtJQUVBLElBQ0UsT0FBT1AsVUFBVSxZQUNqQixDQUFDOEIsUUFBUTJELElBQUksQ0FDWCxDQUFDRSxTQUFXQSxXQUFXM0YsU0FBVSxPQUFPMkYsV0FBVyxZQUFZQSxPQUFPM0YsS0FBSyxLQUFLQSxRQUVsRjtRQUNBLE9BQU9PLEVBQUU7SUFDWDtJQUVBLElBQ0VELFlBQ0MsQ0FBQSxPQUFPTixVQUFVLGVBQ2hCQSxVQUFVLFFBQ1RDLFdBQVdRLE1BQU1DLE9BQU8sQ0FBQ1YsVUFBVSxBQUFDQSxPQUFjaUIsV0FBVyxDQUFDLEdBQ2pFO1FBQ0EsT0FBT1YsRUFBRTtJQUNYO0lBRUEsT0FBTztBQUNUO0FBRU8sTUFBTVYsUUFBZ0QsQ0FBQ0csT0FBTyxFQUFFOEIsT0FBTyxFQUFFeEIsUUFBUSxFQUFFQyxDQUFDLEVBQUU7SUFDM0YsSUFBSVAsT0FBTztRQUNULE1BQU00RixxQkFBcUI5RCxRQUFRMkQsSUFBSSxDQUNyQyxDQUFDRSxTQUFXQSxXQUFXM0YsU0FBVSxPQUFPMkYsV0FBVyxZQUFZQSxPQUFPM0YsS0FBSyxLQUFLQTtRQUVsRixPQUFPNEYsc0JBQXNCckYsRUFBRTtJQUNqQztJQUVBLE9BQU9ELFdBQVdDLEVBQUUseUJBQXlCO0FBQy9DO0FBRU8sTUFBTVQsU0FBaUQsQ0FDNURFLE9BQ0EsRUFBRUcsT0FBTyxFQUFFRSxPQUFPLEVBQUVDLFFBQVEsRUFBRUMsQ0FBQyxFQUFFO0lBRWpDLE1BQU1nRixjQUFjOUUsTUFBTUMsT0FBTyxDQUFDVixTQUFTQSxNQUFNaUIsTUFBTSxHQUFHO0lBRTFELElBQUlaLFdBQVdrRixjQUFjbEYsU0FBUztRQUNwQyxPQUFPRSxFQUFFLDhCQUE4QjtZQUFFaUYsT0FBT25GO1lBQVNXLE9BQU9ULEVBQUU7UUFBUTtJQUM1RTtJQUVBLElBQUlKLFdBQVdvRixjQUFjcEYsU0FBUztRQUNwQyxPQUFPSSxFQUFFLGlDQUFpQztZQUFFaUYsT0FBT3JGO1lBQVNhLE9BQU9ULEVBQUU7UUFBUTtJQUMvRTtJQUVBLElBQUksQ0FBQ2dGLGVBQWVqRixVQUFVO1FBQzVCLE9BQU9DLEVBQUUsOEJBQThCO1lBQUVpRixPQUFPO1lBQUd4RSxPQUFPVCxFQUFFO1FBQU87SUFDckU7SUFFQSxPQUFPO0FBQ1Q7QUFFTyxNQUFNUixRQUFnRCxDQUMzREMsUUFBNEM7SUFBQztJQUFJO0NBQUcsRUFDcEQsRUFBRU0sUUFBUSxFQUFFQyxDQUFDLEVBQUU7SUFFZixNQUFNc0YsTUFBTWhGLFdBQVdpRixPQUFPOUYsS0FBSyxDQUFDLEVBQUU7SUFDdEMsTUFBTStGLE1BQU1sRixXQUFXaUYsT0FBTzlGLEtBQUssQ0FBQyxFQUFFO0lBQ3RDLElBQ0VNLFlBQ0MsQ0FBQSxBQUFDTixLQUFLLENBQUMsRUFBRSxJQUFJQSxLQUFLLENBQUMsRUFBRSxJQUFJLE9BQU82RixRQUFRLFlBQVksT0FBT0UsUUFBUSxZQUNsRWpGLE9BQU9DLEtBQUssQ0FBQzhFLFFBQ2IvRSxPQUFPQyxLQUFLLENBQUNnRixRQUNadEYsTUFBTUMsT0FBTyxDQUFDVixVQUFVQSxNQUFNaUIsTUFBTSxLQUFLLENBQUMsR0FDN0M7UUFDQSxPQUFPVixFQUFFO0lBQ1g7SUFFQSxJQUFJLEFBQUNQLEtBQUssQ0FBQyxFQUFFLElBQUljLE9BQU9DLEtBQUssQ0FBQzhFLFFBQVU3RixLQUFLLENBQUMsRUFBRSxJQUFJYyxPQUFPQyxLQUFLLENBQUNnRixNQUFPO1FBQ3RFLE9BQU94RixFQUFFO0lBQ1g7SUFFQSxPQUFPO0FBQ1Q7TUFFQSxXQUFlO0lBQ2JaO0lBQ0FHO0lBQ0FSO0lBQ0FGO0lBQ0FHO0lBQ0FMO0lBQ0FHO0lBQ0FOO0lBQ0FFO0lBQ0FjO0lBQ0FGO0lBQ0FIO0lBQ0FGO0lBQ0FJO0lBQ0FaO0lBQ0FHO0lBQ0FNO0FBQ0YifQ==
|
|
@@ -13,10 +13,12 @@ function docAccessResolver(global) {
|
|
|
13
13
|
async function resolver(_, context) {
|
|
14
14
|
return (0, _docAccess.docAccess)({
|
|
15
15
|
globalConfig: global,
|
|
16
|
-
req:
|
|
16
|
+
req: {
|
|
17
|
+
...context.req
|
|
18
|
+
}
|
|
17
19
|
});
|
|
18
20
|
}
|
|
19
21
|
return resolver;
|
|
20
22
|
}
|
|
21
23
|
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9nbG9iYWxzL2dyYXBocWwvcmVzb2x2ZXJzL2RvY0FjY2Vzcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25QZXJtaXNzaW9uLCBHbG9iYWxQZXJtaXNzaW9uIH0gZnJvbSAnLi4vLi4vLi4vYXV0aCdcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9leHByZXNzL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCB7IGRvY0FjY2VzcyB9IGZyb20gJy4uLy4uL29wZXJhdGlvbnMvZG9jQWNjZXNzJ1xuXG5leHBvcnQgdHlwZSBSZXNvbHZlciA9IChcbiAgXzogdW5rbm93bixcbiAgY29udGV4dDoge1xuICAgIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgICByZXM6IFJlc3BvbnNlXG4gIH0sXG4pID0+
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9nbG9iYWxzL2dyYXBocWwvcmVzb2x2ZXJzL2RvY0FjY2Vzcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbGxlY3Rpb25QZXJtaXNzaW9uLCBHbG9iYWxQZXJtaXNzaW9uIH0gZnJvbSAnLi4vLi4vLi4vYXV0aCdcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9leHByZXNzL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCB7IGRvY0FjY2VzcyB9IGZyb20gJy4uLy4uL29wZXJhdGlvbnMvZG9jQWNjZXNzJ1xuXG5leHBvcnQgdHlwZSBSZXNvbHZlciA9IChcbiAgXzogdW5rbm93bixcbiAgY29udGV4dDoge1xuICAgIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgICByZXM6IFJlc3BvbnNlXG4gIH0sXG4pID0+IFByb21pc2U8Q29sbGVjdGlvblBlcm1pc3Npb24gfCBHbG9iYWxQZXJtaXNzaW9uPlxuXG5leHBvcnQgZnVuY3Rpb24gZG9jQWNjZXNzUmVzb2x2ZXIoZ2xvYmFsOiBTYW5pdGl6ZWRHbG9iYWxDb25maWcpOiBSZXNvbHZlciB7XG4gIGFzeW5jIGZ1bmN0aW9uIHJlc29sdmVyKF8sIGNvbnRleHQpIHtcbiAgICByZXR1cm4gZG9jQWNjZXNzKHtcbiAgICAgIGdsb2JhbENvbmZpZzogZ2xvYmFsLFxuICAgICAgcmVxOiB7IC4uLmNvbnRleHQucmVxIH0gYXMgUGF5bG9hZFJlcXVlc3QsXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiByZXNvbHZlclxufVxuIl0sIm5hbWVzIjpbImRvY0FjY2Vzc1Jlc29sdmVyIiwiZ2xvYmFsIiwicmVzb2x2ZXIiLCJfIiwiY29udGV4dCIsImRvY0FjY2VzcyIsImdsb2JhbENvbmZpZyIsInJlcSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFjZ0JBOzs7ZUFBQUE7OzsyQkFWVTtBQVVuQixTQUFTQSxrQkFBa0JDLE1BQTZCO0lBQzdELGVBQWVDLFNBQVNDLENBQUMsRUFBRUMsT0FBTztRQUNoQyxPQUFPQyxJQUFBQSxvQkFBUyxFQUFDO1lBQ2ZDLGNBQWNMO1lBQ2RNLEtBQUs7Z0JBQUUsR0FBR0gsUUFBUUcsR0FBRztZQUFDO1FBQ3hCO0lBQ0Y7SUFFQSxPQUFPTDtBQUNUIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findOne.d.ts","sourceRoot":"","sources":["../../../../src/globals/graphql/resolvers/findOne.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"findOne.d.ts","sourceRoot":"","sources":["../../../../src/globals/graphql/resolvers/findOne.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,gBAAgB,CAAA;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAI/D,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,YAAY,EAAE,qBAAqB,GAAG,QAAQ,CAkBrF"}
|
|
@@ -23,7 +23,9 @@ function findOneResolver(globalConfig) {
|
|
|
23
23
|
depth: 0,
|
|
24
24
|
draft: args.draft,
|
|
25
25
|
globalConfig,
|
|
26
|
-
req:
|
|
26
|
+
req: {
|
|
27
|
+
...context.req
|
|
28
|
+
},
|
|
27
29
|
slug
|
|
28
30
|
};
|
|
29
31
|
const result = await (0, _findOne.default)(options);
|
|
@@ -31,4 +33,4 @@ function findOneResolver(globalConfig) {
|
|
|
31
33
|
};
|
|
32
34
|
}
|
|
33
35
|
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9nbG9iYWxzL2dyYXBocWwvcmVzb2x2ZXJzL2ZpbmRPbmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cblxuaW1wb3J0IHR5cGUgeyBEb2N1bWVudCwgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgZmluZE9uZSBmcm9tICcuLi8uLi9vcGVyYXRpb25zL2ZpbmRPbmUnXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGZpbmRPbmVSZXNvbHZlcihnbG9iYWxDb25maWc6IFNhbml0aXplZEdsb2JhbENvbmZpZyk6IERvY3VtZW50IHtcbiAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIHJlc29sdmVyKF8sIGFyZ3MsIGNvbnRleHQpIHtcbiAgICBpZiAoYXJncy5sb2NhbGUpIGNvbnRleHQucmVxLmxvY2FsZSA9IGFyZ3MubG9jYWxlXG4gICAgaWYgKGFyZ3MuZmFsbGJhY2tMb2NhbGUpIGNvbnRleHQucmVxLmZhbGxiYWNrTG9jYWxlID0gYXJncy5mYWxsYmFja0xvY2FsZVxuXG4gICAgY29uc3QgeyBzbHVnIH0gPSBnbG9iYWxDb25maWdcblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBkZXB0aDogMCxcbiAgICAgIGRyYWZ0OiBhcmdzLmRyYWZ0LFxuICAgICAgZ2xvYmFsQ29uZmlnLFxuICAgICAgcmVxOiB7IC4uLmNvbnRleHQucmVxIH0gYXMgUGF5bG9hZFJlcXVlc3QsXG4gICAgICBzbHVnLFxuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZpbmRPbmUob3B0aW9ucylcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJmaW5kT25lUmVzb2x2ZXIiLCJnbG9iYWxDb25maWciLCJyZXNvbHZlciIsIl8iLCJhcmdzIiwiY29udGV4dCIsImxvY2FsZSIsInJlcSIsImZhbGxiYWNrTG9jYWxlIiwic2x1ZyIsIm9wdGlvbnMiLCJkZXB0aCIsImRyYWZ0IiwicmVzdWx0IiwiZmluZE9uZSJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQU9wQzs7O2VBQXdCQTs7O2dFQUZKOzs7Ozs7QUFFTCxTQUFTQSxnQkFBZ0JDLFlBQW1DO0lBQ3pFLE9BQU8sZUFBZUMsU0FBU0MsQ0FBQyxFQUFFQyxJQUFJLEVBQUVDLE9BQU87UUFDN0MsSUFBSUQsS0FBS0UsTUFBTSxFQUFFRCxRQUFRRSxHQUFHLENBQUNELE1BQU0sR0FBR0YsS0FBS0UsTUFBTTtRQUNqRCxJQUFJRixLQUFLSSxjQUFjLEVBQUVILFFBQVFFLEdBQUcsQ0FBQ0MsY0FBYyxHQUFHSixLQUFLSSxjQUFjO1FBRXpFLE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUdSO1FBRWpCLE1BQU1TLFVBQVU7WUFDZEMsT0FBTztZQUNQQyxPQUFPUixLQUFLUSxLQUFLO1lBQ2pCWDtZQUNBTSxLQUFLO2dCQUFFLEdBQUdGLFFBQVFFLEdBQUc7WUFBQztZQUN0QkU7UUFDRjtRQUVBLE1BQU1JLFNBQVMsTUFBTUMsSUFBQUEsZ0JBQU8sRUFBQ0o7UUFDN0IsT0FBT0c7SUFDVDtBQUNGIn0=
|
|
@@ -23,11 +23,13 @@ function findVersionByIDResolver(globalConfig) {
|
|
|
23
23
|
depth: 0,
|
|
24
24
|
draft: args.draft,
|
|
25
25
|
globalConfig,
|
|
26
|
-
req:
|
|
26
|
+
req: {
|
|
27
|
+
...context.req
|
|
28
|
+
}
|
|
27
29
|
};
|
|
28
30
|
const result = await (0, _findVersionByID.default)(options);
|
|
29
31
|
return result;
|
|
30
32
|
};
|
|
31
33
|
}
|
|
32
34
|
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9nbG9iYWxzL2dyYXBocWwvcmVzb2x2ZXJzL2ZpbmRWZXJzaW9uQnlJRC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuaW1wb3J0IHR5cGUgeyBSZXNwb25zZSB9IGZyb20gJ2V4cHJlc3MnXG5cbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9leHByZXNzL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBEb2N1bWVudCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCBmaW5kVmVyc2lvbkJ5SUQgZnJvbSAnLi4vLi4vb3BlcmF0aW9ucy9maW5kVmVyc2lvbkJ5SUQnXG5cbmV4cG9ydCB0eXBlIFJlc29sdmVyID0gKFxuICBfOiB1bmtub3duLFxuICBhcmdzOiB7XG4gICAgZHJhZnQ/OiBib29sZWFuXG4gICAgZmFsbGJhY2tMb2NhbGU/
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9nbG9iYWxzL2dyYXBocWwvcmVzb2x2ZXJzL2ZpbmRWZXJzaW9uQnlJRC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuaW1wb3J0IHR5cGUgeyBSZXNwb25zZSB9IGZyb20gJ2V4cHJlc3MnXG5cbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9leHByZXNzL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBEb2N1bWVudCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCBmaW5kVmVyc2lvbkJ5SUQgZnJvbSAnLi4vLi4vb3BlcmF0aW9ucy9maW5kVmVyc2lvbkJ5SUQnXG5cbmV4cG9ydCB0eXBlIFJlc29sdmVyID0gKFxuICBfOiB1bmtub3duLFxuICBhcmdzOiB7XG4gICAgZHJhZnQ/OiBib29sZWFuXG4gICAgZmFsbGJhY2tMb2NhbGU/OiBzdHJpbmdcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gICAgbG9jYWxlPzogc3RyaW5nXG4gIH0sXG4gIGNvbnRleHQ6IHtcbiAgICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gICAgcmVzOiBSZXNwb25zZVxuICB9LFxuKSA9PiBQcm9taXNlPERvY3VtZW50PlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBmaW5kVmVyc2lvbkJ5SURSZXNvbHZlcihnbG9iYWxDb25maWc6IFNhbml0aXplZEdsb2JhbENvbmZpZyk6IFJlc29sdmVyIHtcbiAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIHJlc29sdmVyKF8sIGFyZ3MsIGNvbnRleHQpIHtcbiAgICBpZiAoYXJncy5sb2NhbGUpIGNvbnRleHQucmVxLmxvY2FsZSA9IGFyZ3MubG9jYWxlXG4gICAgaWYgKGFyZ3MuZmFsbGJhY2tMb2NhbGUpIGNvbnRleHQucmVxLmZhbGxiYWNrTG9jYWxlID0gYXJncy5mYWxsYmFja0xvY2FsZVxuXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIGlkOiBhcmdzLmlkLFxuICAgICAgZGVwdGg6IDAsXG4gICAgICBkcmFmdDogYXJncy5kcmFmdCxcbiAgICAgIGdsb2JhbENvbmZpZyxcbiAgICAgIHJlcTogeyAuLi5jb250ZXh0LnJlcSB9IGFzIFBheWxvYWRSZXF1ZXN0LFxuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZpbmRWZXJzaW9uQnlJRChvcHRpb25zKVxuICAgIHJldHVybiByZXN1bHRcbiAgfVxufVxuIl0sIm5hbWVzIjpbImZpbmRWZXJzaW9uQnlJRFJlc29sdmVyIiwiZ2xvYmFsQ29uZmlnIiwicmVzb2x2ZXIiLCJfIiwiYXJncyIsImNvbnRleHQiLCJsb2NhbGUiLCJyZXEiLCJmYWxsYmFja0xvY2FsZSIsIm9wdGlvbnMiLCJpZCIsImRlcHRoIiwiZHJhZnQiLCJyZXN1bHQiLCJmaW5kVmVyc2lvbkJ5SUQiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkF1QnBDOzs7ZUFBd0JBOzs7d0VBaEJJOzs7Ozs7QUFnQmIsU0FBU0Esd0JBQXdCQyxZQUFtQztJQUNqRixPQUFPLGVBQWVDLFNBQVNDLENBQUMsRUFBRUMsSUFBSSxFQUFFQyxPQUFPO1FBQzdDLElBQUlELEtBQUtFLE1BQU0sRUFBRUQsUUFBUUUsR0FBRyxDQUFDRCxNQUFNLEdBQUdGLEtBQUtFLE1BQU07UUFDakQsSUFBSUYsS0FBS0ksY0FBYyxFQUFFSCxRQUFRRSxHQUFHLENBQUNDLGNBQWMsR0FBR0osS0FBS0ksY0FBYztRQUV6RSxNQUFNQyxVQUFVO1lBQ2RDLElBQUlOLEtBQUtNLEVBQUU7WUFDWEMsT0FBTztZQUNQQyxPQUFPUixLQUFLUSxLQUFLO1lBQ2pCWDtZQUNBTSxLQUFLO2dCQUFFLEdBQUdGLFFBQVFFLEdBQUc7WUFBQztRQUN4QjtRQUVBLE1BQU1NLFNBQVMsTUFBTUMsSUFBQUEsd0JBQWUsRUFBQ0w7UUFDckMsT0FBT0k7SUFDVDtBQUNGIn0=
|
|
@@ -21,7 +21,9 @@ function findVersionsResolver(globalConfig) {
|
|
|
21
21
|
globalConfig,
|
|
22
22
|
limit: args.limit,
|
|
23
23
|
page: args.page,
|
|
24
|
-
req:
|
|
24
|
+
req: {
|
|
25
|
+
...context.req
|
|
26
|
+
},
|
|
25
27
|
sort: args.sort,
|
|
26
28
|
where: args.where
|
|
27
29
|
};
|
|
@@ -30,4 +32,4 @@ function findVersionsResolver(globalConfig) {
|
|
|
30
32
|
};
|
|
31
33
|
}
|
|
32
34
|
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9nbG9iYWxzL2dyYXBocWwvcmVzb2x2ZXJzL2ZpbmRWZXJzaW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlc3BvbnNlIH0gZnJvbSAnZXhwcmVzcydcblxuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2V4cHJlc3MvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IERvY3VtZW50LCBXaGVyZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCBmaW5kVmVyc2lvbnMgZnJvbSAnLi4vLi4vb3BlcmF0aW9ucy9maW5kVmVyc2lvbnMnXG5cbmV4cG9ydCB0eXBlIFJlc29sdmVyID0gKFxuICBfOiB1bmtub3duLFxuICBhcmdzOiB7XG4gICAgZmFsbGJhY2tMb2NhbGU/OiBzdHJpbmdcbiAgICBsaW1pdD86IG51bWJlclxuICAgIGxvY2FsZT86IHN0cmluZ1xuICAgIHBhZ2U/
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9nbG9iYWxzL2dyYXBocWwvcmVzb2x2ZXJzL2ZpbmRWZXJzaW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlc3BvbnNlIH0gZnJvbSAnZXhwcmVzcydcblxuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2V4cHJlc3MvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IERvY3VtZW50LCBXaGVyZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCBmaW5kVmVyc2lvbnMgZnJvbSAnLi4vLi4vb3BlcmF0aW9ucy9maW5kVmVyc2lvbnMnXG5cbmV4cG9ydCB0eXBlIFJlc29sdmVyID0gKFxuICBfOiB1bmtub3duLFxuICBhcmdzOiB7XG4gICAgZmFsbGJhY2tMb2NhbGU/OiBzdHJpbmdcbiAgICBsaW1pdD86IG51bWJlclxuICAgIGxvY2FsZT86IHN0cmluZ1xuICAgIHBhZ2U/OiBudW1iZXJcbiAgICBzb3J0Pzogc3RyaW5nXG4gICAgd2hlcmU6IFdoZXJlXG4gIH0sXG4gIGNvbnRleHQ6IHtcbiAgICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gICAgcmVzOiBSZXNwb25zZVxuICB9LFxuKSA9PiBQcm9taXNlPERvY3VtZW50PlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBmaW5kVmVyc2lvbnNSZXNvbHZlcihnbG9iYWxDb25maWc6IFNhbml0aXplZEdsb2JhbENvbmZpZyk6IFJlc29sdmVyIHtcbiAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIHJlc29sdmVyKF8sIGFyZ3MsIGNvbnRleHQpIHtcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgZGVwdGg6IDAsXG4gICAgICBnbG9iYWxDb25maWcsXG4gICAgICBsaW1pdDogYXJncy5saW1pdCxcbiAgICAgIHBhZ2U6IGFyZ3MucGFnZSxcbiAgICAgIHJlcTogeyAuLi5jb250ZXh0LnJlcSB9IGFzIFBheWxvYWRSZXF1ZXN0LFxuICAgICAgc29ydDogYXJncy5zb3J0LFxuICAgICAgd2hlcmU6IGFyZ3Mud2hlcmUsXG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZmluZFZlcnNpb25zKG9wdGlvbnMpXG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJmaW5kVmVyc2lvbnNSZXNvbHZlciIsImdsb2JhbENvbmZpZyIsInJlc29sdmVyIiwiXyIsImFyZ3MiLCJjb250ZXh0Iiwib3B0aW9ucyIsImRlcHRoIiwibGltaXQiLCJwYWdlIiwicmVxIiwic29ydCIsIndoZXJlIiwicmVzdWx0IiwiZmluZFZlcnNpb25zIl0sIm1hcHBpbmdzIjoiOzs7OytCQXdCQTs7O2VBQXdCQTs7O3FFQWxCQzs7Ozs7O0FBa0JWLFNBQVNBLHFCQUFxQkMsWUFBbUM7SUFDOUUsT0FBTyxlQUFlQyxTQUFTQyxDQUFDLEVBQUVDLElBQUksRUFBRUMsT0FBTztRQUM3QyxNQUFNQyxVQUFVO1lBQ2RDLE9BQU87WUFDUE47WUFDQU8sT0FBT0osS0FBS0ksS0FBSztZQUNqQkMsTUFBTUwsS0FBS0ssSUFBSTtZQUNmQyxLQUFLO2dCQUFFLEdBQUdMLFFBQVFLLEdBQUc7WUFBQztZQUN0QkMsTUFBTVAsS0FBS08sSUFBSTtZQUNmQyxPQUFPUixLQUFLUSxLQUFLO1FBQ25CO1FBRUEsTUFBTUMsU0FBUyxNQUFNQyxJQUFBQSxxQkFBWSxFQUFDUjtRQUVsQyxPQUFPTztJQUNUO0FBQ0YifQ==
|
|
@@ -20,11 +20,13 @@ function restoreVersionResolver(globalConfig) {
|
|
|
20
20
|
id: args.id,
|
|
21
21
|
depth: 0,
|
|
22
22
|
globalConfig,
|
|
23
|
-
req:
|
|
23
|
+
req: {
|
|
24
|
+
...context.req
|
|
25
|
+
}
|
|
24
26
|
};
|
|
25
27
|
const result = await (0, _restoreVersion.default)(options);
|
|
26
28
|
return result;
|
|
27
29
|
};
|
|
28
30
|
}
|
|
29
31
|
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9nbG9iYWxzL2dyYXBocWwvcmVzb2x2ZXJzL3Jlc3RvcmVWZXJzaW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5cbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9leHByZXNzL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBEb2N1bWVudCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCByZXN0b3JlVmVyc2lvbiBmcm9tICcuLi8uLi9vcGVyYXRpb25zL3Jlc3RvcmVWZXJzaW9uJ1xuXG50eXBlIFJlc29sdmVyID0gKFxuICBfOiB1bmtub3duLFxuICBhcmdzOiB7XG4gICAgaWQ6IG51bWJlciB8IHN0cmluZ1xuICB9LFxuICBjb250ZXh0OiB7XG4gICAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICAgIHJlczogUmVzcG9uc2VcbiAgfSxcbikgPT4gUHJvbWlzZTxEb2N1bWVudD5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHJlc3RvcmVWZXJzaW9uUmVzb2x2ZXIoZ2xvYmFsQ29uZmlnOiBTYW5pdGl6ZWRHbG9iYWxDb25maWcpOiBSZXNvbHZlciB7XG4gIHJldHVybiBhc3luYyBmdW5jdGlvbiByZXNvbHZlcihfLCBhcmdzLCBjb250ZXh0KSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIGlkOiBhcmdzLmlkLFxuICAgICAgZGVwdGg6IDAsXG4gICAgICBnbG9iYWxDb25maWcsXG4gICAgICByZXE6IHsgLi4uY29udGV4dC5yZXEgfSBhcyBQYXlsb2FkUmVxdWVzdCxcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZXN0b3JlVmVyc2lvbihvcHRpb25zKVxuICAgIHJldHVybiByZXN1bHRcbiAgfVxufVxuIl0sIm5hbWVzIjpbInJlc3RvcmVWZXJzaW9uUmVzb2x2ZXIiLCJnbG9iYWxDb25maWciLCJyZXNvbHZlciIsIl8iLCJhcmdzIiwiY29udGV4dCIsIm9wdGlvbnMiLCJpZCIsImRlcHRoIiwicmVxIiwicmVzdWx0IiwicmVzdG9yZVZlcnNpb24iXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkFrQnBDOzs7ZUFBd0JBOzs7dUVBWkc7Ozs7OztBQVlaLFNBQVNBLHVCQUF1QkMsWUFBbUM7SUFDaEYsT0FBTyxlQUFlQyxTQUFTQyxDQUFDLEVBQUVDLElBQUksRUFBRUMsT0FBTztRQUM3QyxNQUFNQyxVQUFVO1lBQ2RDLElBQUlILEtBQUtHLEVBQUU7WUFDWEMsT0FBTztZQUNQUDtZQUNBUSxLQUFLO2dCQUFFLEdBQUdKLFFBQVFJLEdBQUc7WUFBQztRQUN4QjtRQUVBLE1BQU1DLFNBQVMsTUFBTUMsSUFBQUEsdUJBQWMsRUFBQ0w7UUFDcEMsT0FBT0k7SUFDVDtBQUNGIn0=
|
|
@@ -24,7 +24,9 @@ function updateResolver(globalConfig) {
|
|
|
24
24
|
depth: 0,
|
|
25
25
|
draft: args.draft,
|
|
26
26
|
globalConfig,
|
|
27
|
-
req:
|
|
27
|
+
req: {
|
|
28
|
+
...context.req
|
|
29
|
+
},
|
|
28
30
|
slug
|
|
29
31
|
};
|
|
30
32
|
const result = await (0, _update.default)(options);
|
|
@@ -32,4 +34,4 @@ function updateResolver(globalConfig) {
|
|
|
32
34
|
};
|
|
33
35
|
}
|
|
34
36
|
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9nbG9iYWxzL2dyYXBocWwvcmVzb2x2ZXJzL3VwZGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuaW1wb3J0IHR5cGUgeyBEZWVwUGFydGlhbCB9IGZyb20gJ3RzLWVzc2VudGlhbHMnXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJhdGVkVHlwZXMgfSBmcm9tICcuLi8uLi8uLi8nXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgdXBkYXRlIGZyb20gJy4uLy4uL29wZXJhdGlvbnMvdXBkYXRlJ1xuXG50eXBlIFJlc29sdmVyPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4gPSAoXG4gIF86IHVua25vd24sXG4gIGFyZ3M6IHtcbiAgICBkYXRhPzogRGVlcFBhcnRpYWw8T21pdDxHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddW1RTbHVnXSwgJ2lkJz4+XG4gICAgZHJhZnQ/OiBib29sZWFuXG4gICAgZmFsbGJhY2tMb2NhbGU/OiBzdHJpbmdcbiAgICBsb2NhbGU/OiBzdHJpbmdcbiAgfSxcbiAgY29udGV4dDoge1xuICAgIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgICByZXM6IFJlc3BvbnNlXG4gIH0sXG4pID0+IFByb21pc2U8R2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXVtUU2x1Z10+XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVwZGF0ZVJlc29sdmVyPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4oXG4gIGdsb2JhbENvbmZpZzogU2FuaXRpemVkR2xvYmFsQ29uZmlnLFxuKTogUmVzb2x2ZXI8VFNsdWc+
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9nbG9iYWxzL2dyYXBocWwvcmVzb2x2ZXJzL3VwZGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuaW1wb3J0IHR5cGUgeyBEZWVwUGFydGlhbCB9IGZyb20gJ3RzLWVzc2VudGlhbHMnXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJhdGVkVHlwZXMgfSBmcm9tICcuLi8uLi8uLi8nXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgdXBkYXRlIGZyb20gJy4uLy4uL29wZXJhdGlvbnMvdXBkYXRlJ1xuXG50eXBlIFJlc29sdmVyPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4gPSAoXG4gIF86IHVua25vd24sXG4gIGFyZ3M6IHtcbiAgICBkYXRhPzogRGVlcFBhcnRpYWw8T21pdDxHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddW1RTbHVnXSwgJ2lkJz4+XG4gICAgZHJhZnQ/OiBib29sZWFuXG4gICAgZmFsbGJhY2tMb2NhbGU/OiBzdHJpbmdcbiAgICBsb2NhbGU/OiBzdHJpbmdcbiAgfSxcbiAgY29udGV4dDoge1xuICAgIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgICByZXM6IFJlc3BvbnNlXG4gIH0sXG4pID0+IFByb21pc2U8R2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXVtUU2x1Z10+XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVwZGF0ZVJlc29sdmVyPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4oXG4gIGdsb2JhbENvbmZpZzogU2FuaXRpemVkR2xvYmFsQ29uZmlnLFxuKTogUmVzb2x2ZXI8VFNsdWc+IHtcbiAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIHJlc29sdmVyKF8sIGFyZ3MsIGNvbnRleHQpIHtcbiAgICBpZiAoYXJncy5sb2NhbGUpIGNvbnRleHQucmVxLmxvY2FsZSA9IGFyZ3MubG9jYWxlXG4gICAgaWYgKGFyZ3MuZmFsbGJhY2tMb2NhbGUpIGNvbnRleHQucmVxLmZhbGxiYWNrTG9jYWxlID0gYXJncy5mYWxsYmFja0xvY2FsZVxuXG4gICAgY29uc3QgeyBzbHVnIH0gPSBnbG9iYWxDb25maWdcblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBkYXRhOiBhcmdzLmRhdGEsXG4gICAgICBkZXB0aDogMCxcbiAgICAgIGRyYWZ0OiBhcmdzLmRyYWZ0LFxuICAgICAgZ2xvYmFsQ29uZmlnLFxuICAgICAgcmVxOiB7IC4uLmNvbnRleHQucmVxIH0gYXMgUGF5bG9hZFJlcXVlc3QsXG4gICAgICBzbHVnLFxuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHVwZGF0ZTxUU2x1Zz4ob3B0aW9ucylcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJ1cGRhdGVSZXNvbHZlciIsImdsb2JhbENvbmZpZyIsInJlc29sdmVyIiwiXyIsImFyZ3MiLCJjb250ZXh0IiwibG9jYWxlIiwicmVxIiwiZmFsbGJhY2tMb2NhbGUiLCJzbHVnIiwib3B0aW9ucyIsImRhdGEiLCJkZXB0aCIsImRyYWZ0IiwicmVzdWx0IiwidXBkYXRlIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBdUJwQzs7O2VBQXdCQTs7OytEQWhCTDs7Ozs7O0FBZ0JKLFNBQVNBLGVBQ3RCQyxZQUFtQztJQUVuQyxPQUFPLGVBQWVDLFNBQVNDLENBQUMsRUFBRUMsSUFBSSxFQUFFQyxPQUFPO1FBQzdDLElBQUlELEtBQUtFLE1BQU0sRUFBRUQsUUFBUUUsR0FBRyxDQUFDRCxNQUFNLEdBQUdGLEtBQUtFLE1BQU07UUFDakQsSUFBSUYsS0FBS0ksY0FBYyxFQUFFSCxRQUFRRSxHQUFHLENBQUNDLGNBQWMsR0FBR0osS0FBS0ksY0FBYztRQUV6RSxNQUFNLEVBQUVDLElBQUksRUFBRSxHQUFHUjtRQUVqQixNQUFNUyxVQUFVO1lBQ2RDLE1BQU1QLEtBQUtPLElBQUk7WUFDZkMsT0FBTztZQUNQQyxPQUFPVCxLQUFLUyxLQUFLO1lBQ2pCWjtZQUNBTSxLQUFLO2dCQUFFLEdBQUdGLFFBQVFFLEdBQUc7WUFBQztZQUN0QkU7UUFDRjtRQUVBLE1BQU1LLFNBQVMsTUFBTUMsSUFBQUEsZUFBTSxFQUFRTDtRQUNuQyxPQUFPSTtJQUNUO0FBQ0YifQ==
|
|
@@ -71,10 +71,10 @@ const generateFileData = async ({ collection: { config: collectionConfig }, conf
|
|
|
71
71
|
let fileBuffer;
|
|
72
72
|
let ext;
|
|
73
73
|
let mime;
|
|
74
|
-
const
|
|
74
|
+
const fileHasAdjustments = fileSupportsResize && Boolean(resizeOptions || formatOptions || trimOptions || file.tempFilePath);
|
|
75
75
|
const sharpOptions = {};
|
|
76
76
|
if (fileIsAnimated) sharpOptions.animated = true;
|
|
77
|
-
if (
|
|
77
|
+
if (fileHasAdjustments) {
|
|
78
78
|
if (file.tempFilePath) {
|
|
79
79
|
sharpFile = (0, _sharp.default)(file.tempFilePath, sharpOptions).rotate() // pass rotate() to auto-rotate based on EXIF data. https://github.com/payloadcms/payload/pull/3081
|
|
80
80
|
;
|
|
@@ -136,7 +136,7 @@ const generateFileData = async ({ collection: { config: collectionConfig }, conf
|
|
|
136
136
|
}
|
|
137
137
|
fileData.filename = fsSafeName;
|
|
138
138
|
let fileForResize = file;
|
|
139
|
-
if (
|
|
139
|
+
if (cropData) {
|
|
140
140
|
const { data: croppedImage, info } = await (0, _cropImage.default)({
|
|
141
141
|
cropData,
|
|
142
142
|
dimensions,
|
|
@@ -207,4 +207,4 @@ const generateFileData = async ({ collection: { config: collectionConfig }, conf
|
|
|
207
207
|
};
|
|
208
208
|
};
|
|
209
209
|
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2dlbmVyYXRlRmlsZURhdGEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVcGxvYWRlZEZpbGUgfSBmcm9tICdleHByZXNzLWZpbGV1cGxvYWQnXG5pbXBvcnQgdHlwZSB7IE91dHB1dEluZm8sIFNoYXJwLCBTaGFycE9wdGlvbnMgfSBmcm9tICdzaGFycCdcblxuaW1wb3J0IHsgZnJvbUJ1ZmZlciB9IGZyb20gJ2ZpbGUtdHlwZSdcbmltcG9ydCBmcyBmcm9tICdmcydcbmltcG9ydCBta2RpcnAgZnJvbSAnbWtkaXJwJ1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcbmltcG9ydCBzYW5pdGl6ZSBmcm9tICdzYW5pdGl6ZS1maWxlbmFtZSdcbmltcG9ydCBzaGFycCBmcm9tICdzaGFycCdcblxuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICcuLi9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgRmlsZURhdGEsIEZpbGVUb1NhdmUsIFByb2JlZEltYWdlU2l6ZSB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IEZpbGVVcGxvYWRFcnJvciwgTWlzc2luZ0ZpbGUgfSBmcm9tICcuLi9lcnJvcnMnXG5pbXBvcnQgY2FuUmVzaXplSW1hZ2UgZnJvbSAnLi9jYW5SZXNpemVJbWFnZSdcbmltcG9ydCBjcm9wSW1hZ2UgZnJvbSAnLi9jcm9wSW1hZ2UnXG5pbXBvcnQgZ2V0RmlsZUJ5UGF0aCBmcm9tICcuL2dldEZpbGVCeVBhdGgnXG5pbXBvcnQgZ2V0SW1hZ2VTaXplIGZyb20gJy4vZ2V0SW1hZ2VTaXplJ1xuaW1wb3J0IGdldFNhZmVGaWxlTmFtZSBmcm9tICcuL2dldFNhZmVGaWxlbmFtZSdcbmltcG9ydCByZXNpemVBbmRUcmFuc2Zvcm1JbWFnZVNpemVzIGZyb20gJy4vaW1hZ2VSZXNpemVyJ1xuaW1wb3J0IGlzSW1hZ2UgZnJvbSAnLi9pc0ltYWdlJ1xuXG50eXBlIEFyZ3M8VD4gPSB7XG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25cbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcbiAgZGF0YTogVFxuICBvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzPzogYm9vbGVhblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHRocm93T25NaXNzaW5nRmlsZT86IGJvb2xlYW5cbn1cblxudHlwZSBSZXN1bHQ8VD4gPSBQcm9taXNlPHtcbiAgZGF0YTogVFxuICBmaWxlczogRmlsZVRvU2F2ZVtdXG59PlxuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVGaWxlRGF0YSA9IGFzeW5jIDxUPih7XG4gIGNvbGxlY3Rpb246IHsgY29uZmlnOiBjb2xsZWN0aW9uQ29uZmlnIH0sXG4gIGNvbmZpZyxcbiAgZGF0YSxcbiAgb3ZlcndyaXRlRXhpc3RpbmdGaWxlcyxcbiAgcmVxLFxuICB0aHJvd09uTWlzc2luZ0ZpbGUsXG59OiBBcmdzPFQ+KTogUmVzdWx0PFQ+ID0+IHtcbiAgaWYgKCFjb2xsZWN0aW9uQ29uZmlnLnVwbG9hZCkge1xuICAgIHJldHVybiB7XG4gICAgICBkYXRhLFxuICAgICAgZmlsZXM6IFtdLFxuICAgIH1cbiAgfVxuXG4gIGxldCBmaWxlID0gcmVxLmZpbGVzPy5maWxlIHx8IHVuZGVmaW5lZFxuICBjb25zdCB7IHVwbG9hZEVkaXRzIH0gPSByZXEucXVlcnkgfHwge31cblxuICBjb25zdCB7IGRpc2FibGVMb2NhbFN0b3JhZ2UsIGZvcm1hdE9wdGlvbnMsIGltYWdlU2l6ZXMsIHJlc2l6ZU9wdGlvbnMsIHN0YXRpY0RpciwgdHJpbU9wdGlvbnMgfSA9XG4gICAgY29sbGVjdGlvbkNvbmZpZy51cGxvYWRcblxuICBsZXQgc3RhdGljUGF0aCA9IHN0YXRpY0RpclxuICBpZiAoc3RhdGljRGlyLmluZGV4T2YoJy8nKSAhPT0gMCkge1xuICAgIHN0YXRpY1BhdGggPSBwYXRoLnJlc29sdmUoY29uZmlnLnBhdGhzLmNvbmZpZ0Rpciwgc3RhdGljRGlyKVxuICB9XG5cbiAgaWYgKCFmaWxlICYmIHVwbG9hZEVkaXRzICYmIGRhdGEpIHtcbiAgICBjb25zdCB7IGZpbGVuYW1lIH0gPSBkYXRhIGFzIEZpbGVEYXRhXG4gICAgY29uc3QgZmlsZVBhdGggPSBgJHtzdGF0aWNQYXRofS8ke2ZpbGVuYW1lfWBcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGdldEZpbGVCeVBhdGgoZmlsZVBhdGgpXG5cbiAgICBvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzID0gdHJ1ZVxuICAgIGZpbGUgPSByZXNwb25zZSBhcyBVcGxvYWRlZEZpbGVcbiAgfVxuXG4gIGlmICghZmlsZSkge1xuICAgIGlmICh0aHJvd09uTWlzc2luZ0ZpbGUpIHRocm93IG5ldyBNaXNzaW5nRmlsZShyZXEudClcblxuICAgIHJldHVybiB7XG4gICAgICBkYXRhLFxuICAgICAgZmlsZXM6IFtdLFxuICAgIH1cbiAgfVxuXG4gIGlmICghZGlzYWJsZUxvY2FsU3RvcmFnZSkge1xuICAgIG1rZGlycC5zeW5jKHN0YXRpY1BhdGgpXG4gIH1cblxuICBsZXQgbmV3RGF0YSA9IGRhdGFcbiAgY29uc3QgZmlsZXNUb1NhdmU6IEZpbGVUb1NhdmVbXSA9IFtdXG4gIGNvbnN0IGZpbGVEYXRhOiBQYXJ0aWFsPEZpbGVEYXRhPiA9IHt9XG4gIGNvbnN0IGZpbGVJc0FuaW1hdGVkID0gZmlsZS5taW1ldHlwZSA9PT0gJ2ltYWdlL2dpZicgfHwgZmlsZS5taW1ldHlwZSA9PT0gJ2ltYWdlL3dlYnAnXG4gIGNvbnN0IGNyb3BEYXRhID1cbiAgICB0eXBlb2YgdXBsb2FkRWRpdHMgPT09ICdvYmplY3QnICYmICdjcm9wJyBpbiB1cGxvYWRFZGl0cyA/IHVwbG9hZEVkaXRzLmNyb3AgOiB1bmRlZmluZWRcblxuICB0cnkge1xuICAgIGNvbnN0IGZpbGVTdXBwb3J0c1Jlc2l6ZSA9IGNhblJlc2l6ZUltYWdlKGZpbGUubWltZXR5cGUpXG4gICAgbGV0IGZzU2FmZU5hbWU6IHN0cmluZ1xuICAgIGxldCBzaGFycEZpbGU6IFNoYXJwIHwgdW5kZWZpbmVkXG4gICAgbGV0IGRpbWVuc2lvbnM6IFByb2JlZEltYWdlU2l6ZSB8IHVuZGVmaW5lZFxuICAgIGxldCBmaWxlQnVmZmVyOiB7IGRhdGE6IEJ1ZmZlcjsgaW5mbzogT3V0cHV0SW5mbyB9XG4gICAgbGV0IGV4dFxuICAgIGxldCBtaW1lOiBzdHJpbmdcbiAgICBjb25zdCBpc1NoYXJwUmVxdWlyZWQgPVxuICAgICAgZmlsZVN1cHBvcnRzUmVzaXplICYmXG4gICAgICBCb29sZWFuKHJlc2l6ZU9wdGlvbnMgfHwgZm9ybWF0T3B0aW9ucyB8fCB0cmltT3B0aW9ucyB8fCBmaWxlLnRlbXBGaWxlUGF0aClcblxuICAgIGNvbnN0IHNoYXJwT3B0aW9uczogU2hhcnBPcHRpb25zID0ge31cblxuICAgIGlmIChmaWxlSXNBbmltYXRlZCkgc2hhcnBPcHRpb25zLmFuaW1hdGVkID0gdHJ1ZVxuXG4gICAgaWYgKGlzU2hhcnBSZXF1aXJlZCkge1xuICAgICAgaWYgKGZpbGUudGVtcEZpbGVQYXRoKSB7XG4gICAgICAgIHNoYXJwRmlsZSA9IHNoYXJwKGZpbGUudGVtcEZpbGVQYXRoLCBzaGFycE9wdGlvbnMpLnJvdGF0ZSgpIC8vIHBhc3Mgcm90YXRlKCkgdG8gYXV0by1yb3RhdGUgYmFzZWQgb24gRVhJRiBkYXRhLiBodHRwczovL2dpdGh1Yi5jb20vcGF5bG9hZGNtcy9wYXlsb2FkL3B1bGwvMzA4MVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2hhcnBGaWxlID0gc2hhcnAoZmlsZS5kYXRhLCBzaGFycE9wdGlvbnMpLnJvdGF0ZSgpIC8vIHBhc3Mgcm90YXRlKCkgdG8gYXV0by1yb3RhdGUgYmFzZWQgb24gRVhJRiBkYXRhLiBodHRwczovL2dpdGh1Yi5jb20vcGF5bG9hZGNtcy9wYXlsb2FkL3B1bGwvMzA4MVxuICAgICAgfVxuXG4gICAgICBpZiAocmVzaXplT3B0aW9ucykge1xuICAgICAgICBzaGFycEZpbGUgPSBzaGFycEZpbGUucmVzaXplKHJlc2l6ZU9wdGlvbnMpXG4gICAgICB9XG4gICAgICBpZiAoZm9ybWF0T3B0aW9ucykge1xuICAgICAgICBzaGFycEZpbGUgPSBzaGFycEZpbGUudG9Gb3JtYXQoZm9ybWF0T3B0aW9ucy5mb3JtYXQsIGZvcm1hdE9wdGlvbnMub3B0aW9ucylcbiAgICAgIH1cbiAgICAgIGlmICh0cmltT3B0aW9ucykge1xuICAgICAgICBzaGFycEZpbGUgPSBzaGFycEZpbGUudHJpbSh0cmltT3B0aW9ucylcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaXNJbWFnZShmaWxlLm1pbWV0eXBlKSkge1xuICAgICAgZGltZW5zaW9ucyA9IGF3YWl0IGdldEltYWdlU2l6ZShmaWxlKVxuICAgICAgZmlsZURhdGEud2lkdGggPSBkaW1lbnNpb25zLndpZHRoXG4gICAgICBmaWxlRGF0YS5oZWlnaHQgPSBkaW1lbnNpb25zLmhlaWdodFxuICAgIH1cblxuICAgIGlmIChzaGFycEZpbGUpIHtcbiAgICAgIGNvbnN0IG1ldGFkYXRhID0gYXdhaXQgc2hhcnBGaWxlLm1ldGFkYXRhKClcbiAgICAgIGZpbGVCdWZmZXIgPSBhd2FpdCBzaGFycEZpbGUudG9CdWZmZXIoeyByZXNvbHZlV2l0aE9iamVjdDogdHJ1ZSB9KVxuICAgICAgOyh7IGV4dCwgbWltZSB9ID0gYXdhaXQgZnJvbUJ1ZmZlcihmaWxlQnVmZmVyLmRhdGEpKSAvLyBUaGlzIGlzIGdldHRpbmcgYW4gaW5jb3JyZWN0IGdpZiBoZWlnaHQgYmFjay5cbiAgICAgIGZpbGVEYXRhLndpZHRoID0gZmlsZUJ1ZmZlci5pbmZvLndpZHRoXG4gICAgICBmaWxlRGF0YS5oZWlnaHQgPSBmaWxlQnVmZmVyLmluZm8uaGVpZ2h0XG4gICAgICBmaWxlRGF0YS5maWxlc2l6ZSA9IGZpbGVCdWZmZXIuaW5mby5zaXplXG5cbiAgICAgIC8vIEFuaW1hdGVkIEdJRnMgKyBXZWJQIGFnZ3JlZ2F0ZSB0aGUgaGVpZ2h0IGZyb20gZXZlcnkgZnJhbWUsIHNvIHdlIG5lZWQgdG8gdXNlIGRpdmlkZSBieSBudW1iZXIgb2YgcGFnZXNcbiAgICAgIGlmIChtZXRhZGF0YS5wYWdlcykge1xuICAgICAgICBmaWxlRGF0YS5oZWlnaHQgPSBmaWxlQnVmZmVyLmluZm8uaGVpZ2h0IC8gbWV0YWRhdGEucGFnZXNcbiAgICAgICAgZmlsZURhdGEuZmlsZXNpemUgPSBmaWxlQnVmZmVyLmRhdGEubGVuZ3RoXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG1pbWUgPSBmaWxlLm1pbWV0eXBlXG4gICAgICBmaWxlRGF0YS5maWxlc2l6ZSA9IGZpbGUuc2l6ZVxuXG4gICAgICBpZiAoZmlsZS5uYW1lLmluY2x1ZGVzKCcuJykpIHtcbiAgICAgICAgZXh0ID0gZmlsZS5uYW1lLnNwbGl0KCcuJykucG9wKClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGV4dCA9ICcnXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWR1c3QgU1ZHIG1pbWUgdHlwZS4gZnJvbUJ1ZmZlciBtb2RpZmllcyBpdC5cbiAgICBpZiAobWltZSA9PT0gJ2FwcGxpY2F0aW9uL3htbCcgJiYgZXh0ID09PSAnc3ZnJykgbWltZSA9ICdpbWFnZS9zdmcreG1sJ1xuICAgIGZpbGVEYXRhLm1pbWVUeXBlID0gbWltZVxuXG4gICAgY29uc3QgYmFzZUZpbGVuYW1lID0gc2FuaXRpemUoZmlsZS5uYW1lLnN1YnN0cmluZygwLCBmaWxlLm5hbWUubGFzdEluZGV4T2YoJy4nKSkgfHwgZmlsZS5uYW1lKVxuICAgIGZzU2FmZU5hbWUgPSBgJHtiYXNlRmlsZW5hbWV9JHtleHQgPyBgLiR7ZXh0fWAgOiAnJ31gXG5cbiAgICBpZiAoIW92ZXJ3cml0ZUV4aXN0aW5nRmlsZXMpIHtcbiAgICAgIGZzU2FmZU5hbWUgPSBhd2FpdCBnZXRTYWZlRmlsZU5hbWUoe1xuICAgICAgICBjb2xsZWN0aW9uU2x1ZzogY29sbGVjdGlvbkNvbmZpZy5zbHVnLFxuICAgICAgICBkZXNpcmVkRmlsZW5hbWU6IGZzU2FmZU5hbWUsXG4gICAgICAgIHJlcSxcbiAgICAgICAgc3RhdGljUGF0aCxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgZmlsZURhdGEuZmlsZW5hbWUgPSBmc1NhZmVOYW1lXG4gICAgbGV0IGZpbGVGb3JSZXNpemUgPSBmaWxlXG5cbiAgICBpZiAoaXNTaGFycFJlcXVpcmVkICYmIGNyb3BEYXRhKSB7XG4gICAgICBjb25zdCB7IGRhdGE6IGNyb3BwZWRJbWFnZSwgaW5mbyB9ID0gYXdhaXQgY3JvcEltYWdlKHsgY3JvcERhdGEsIGRpbWVuc2lvbnMsIGZpbGUgfSlcblxuICAgICAgZmlsZXNUb1NhdmUucHVzaCh7XG4gICAgICAgIGJ1ZmZlcjogY3JvcHBlZEltYWdlLFxuICAgICAgICBwYXRoOiBgJHtzdGF0aWNQYXRofS8ke2ZzU2FmZU5hbWV9YCxcbiAgICAgIH0pXG5cbiAgICAgIGZpbGVGb3JSZXNpemUgPSB7XG4gICAgICAgIC4uLmZpbGUsXG4gICAgICAgIGRhdGE6IGNyb3BwZWRJbWFnZSxcbiAgICAgICAgc2l6ZTogaW5mby5zaXplLFxuICAgICAgfVxuICAgICAgZmlsZURhdGEud2lkdGggPSBpbmZvLndpZHRoXG4gICAgICBmaWxlRGF0YS5oZWlnaHQgPSBpbmZvLmhlaWdodFxuICAgICAgZmlsZURhdGEuZmlsZXNpemUgPSBpbmZvLnNpemVcbiAgICAgIHJlcS5maWxlcy5maWxlID0gZmlsZUZvclJlc2l6ZVxuICAgIH0gZWxzZSB7XG4gICAgICBmaWxlc1RvU2F2ZS5wdXNoKHtcbiAgICAgICAgYnVmZmVyOiBmaWxlQnVmZmVyPy5kYXRhIHx8IGZpbGUuZGF0YSxcbiAgICAgICAgcGF0aDogYCR7c3RhdGljUGF0aH0vJHtmc1NhZmVOYW1lfWAsXG4gICAgICB9KVxuXG4gICAgICAvLyBJZiB1c2luZyB0ZW1wIGZpbGVzIGFuZCB0aGUgaW1hZ2UgaXMgYmVpbmcgcmVzaXplZCwgd3JpdGUgdGhlIGZpbGUgdG8gdGhlIHRlbXAgcGF0aFxuICAgICAgaWYgKGZpbGVCdWZmZXI/LmRhdGEgfHwgZmlsZS5kYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgICAgaWYgKGZpbGUudGVtcEZpbGVQYXRoKSB7XG4gICAgICAgICAgYXdhaXQgZnMucHJvbWlzZXMud3JpdGVGaWxlKGZpbGUudGVtcEZpbGVQYXRoLCBmaWxlQnVmZmVyPy5kYXRhIHx8IGZpbGUuZGF0YSkgLy8gd3JpdGUgZmlsZUJ1ZmZlciB0byB0aGUgdGVtcCBwYXRoXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gQXNzaWduIHRoZSBfcG9zc2libHkgbW9kaWZpZWRfIGZpbGUgdG8gdGhlIHJlcXVlc3Qgb2JqZWN0XG4gICAgICAgICAgcmVxLmZpbGVzLmZpbGUgPSB7XG4gICAgICAgICAgICAuLi5maWxlLFxuICAgICAgICAgICAgZGF0YTogZmlsZUJ1ZmZlcj8uZGF0YSB8fCBmaWxlLmRhdGEsXG4gICAgICAgICAgICBzaXplOiBmaWxlQnVmZmVyPy5pbmZvLnNpemUsXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoaW1hZ2VTaXplcykgJiYgZmlsZVN1cHBvcnRzUmVzaXplKSB7XG4gICAgICByZXEucGF5bG9hZFVwbG9hZFNpemVzID0ge31cbiAgICAgIGNvbnN0IHsgc2l6ZURhdGEsIHNpemVzVG9TYXZlIH0gPSBhd2FpdCByZXNpemVBbmRUcmFuc2Zvcm1JbWFnZVNpemVzKHtcbiAgICAgICAgY29uZmlnOiBjb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICBkaW1lbnNpb25zOiAhY3JvcERhdGFcbiAgICAgICAgICA/IGRpbWVuc2lvbnNcbiAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgLi4uZGltZW5zaW9ucyxcbiAgICAgICAgICAgICAgaGVpZ2h0OiBmaWxlRGF0YS5oZWlnaHQsXG4gICAgICAgICAgICAgIHdpZHRoOiBmaWxlRGF0YS53aWR0aCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIGZpbGU6IGZpbGVGb3JSZXNpemUsXG4gICAgICAgIG1pbWVUeXBlOiBmaWxlRGF0YS5taW1lVHlwZSxcbiAgICAgICAgcmVxLFxuICAgICAgICBzYXZlZEZpbGVuYW1lOiBmc1NhZmVOYW1lIHx8IGZpbGUubmFtZSxcbiAgICAgICAgc3RhdGljUGF0aCxcbiAgICAgIH0pXG5cbiAgICAgIGZpbGVEYXRhLnNpemVzID0gc2l6ZURhdGFcbiAgICAgIGZpbGVzVG9TYXZlLnB1c2goLi4uc2l6ZXNUb1NhdmUpXG4gICAgfVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICBjb25zb2xlLmVycm9yKGVycilcbiAgICB0aHJvdyBuZXcgRmlsZVVwbG9hZEVycm9yKHJlcS50KVxuICB9XG5cbiAgbmV3RGF0YSA9IHtcbiAgICAuLi5uZXdEYXRhLFxuICAgIC4uLmZpbGVEYXRhLFxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBkYXRhOiBuZXdEYXRhLFxuICAgIGZpbGVzOiBmaWxlc1RvU2F2ZSxcbiAgfVxufVxuIl0sIm5hbWVzIjpbImdlbmVyYXRlRmlsZURhdGEiLCJjb2xsZWN0aW9uIiwiY29uZmlnIiwiY29sbGVjdGlvbkNvbmZpZyIsImRhdGEiLCJvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzIiwicmVxIiwidGhyb3dPbk1pc3NpbmdGaWxlIiwidXBsb2FkIiwiZmlsZXMiLCJmaWxlIiwidW5kZWZpbmVkIiwidXBsb2FkRWRpdHMiLCJxdWVyeSIsImRpc2FibGVMb2NhbFN0b3JhZ2UiLCJmb3JtYXRPcHRpb25zIiwiaW1hZ2VTaXplcyIsInJlc2l6ZU9wdGlvbnMiLCJzdGF0aWNEaXIiLCJ0cmltT3B0aW9ucyIsInN0YXRpY1BhdGgiLCJpbmRleE9mIiwicGF0aCIsInJlc29sdmUiLCJwYXRocyIsImNvbmZpZ0RpciIsImZpbGVuYW1lIiwiZmlsZVBhdGgiLCJyZXNwb25zZSIsImdldEZpbGVCeVBhdGgiLCJNaXNzaW5nRmlsZSIsInQiLCJta2RpcnAiLCJzeW5jIiwibmV3RGF0YSIsImZpbGVzVG9TYXZlIiwiZmlsZURhdGEiLCJmaWxlSXNBbmltYXRlZCIsIm1pbWV0eXBlIiwiY3JvcERhdGEiLCJjcm9wIiwiZmlsZVN1cHBvcnRzUmVzaXplIiwiY2FuUmVzaXplSW1hZ2UiLCJmc1NhZmVOYW1lIiwic2hhcnBGaWxlIiwiZGltZW5zaW9ucyIsImZpbGVCdWZmZXIiLCJleHQiLCJtaW1lIiwiaXNTaGFycFJlcXVpcmVkIiwiQm9vbGVhbiIsInRlbXBGaWxlUGF0aCIsInNoYXJwT3B0aW9ucyIsImFuaW1hdGVkIiwic2hhcnAiLCJyb3RhdGUiLCJyZXNpemUiLCJ0b0Zvcm1hdCIsImZvcm1hdCIsIm9wdGlvbnMiLCJ0cmltIiwiaXNJbWFnZSIsImdldEltYWdlU2l6ZSIsIndpZHRoIiwiaGVpZ2h0IiwibWV0YWRhdGEiLCJ0b0J1ZmZlciIsInJlc29sdmVXaXRoT2JqZWN0IiwiZnJvbUJ1ZmZlciIsImluZm8iLCJmaWxlc2l6ZSIsInNpemUiLCJwYWdlcyIsImxlbmd0aCIsIm5hbWUiLCJpbmNsdWRlcyIsInNwbGl0IiwicG9wIiwibWltZVR5cGUiLCJiYXNlRmlsZW5hbWUiLCJzYW5pdGl6ZSIsInN1YnN0cmluZyIsImxhc3RJbmRleE9mIiwiZ2V0U2FmZUZpbGVOYW1lIiwiY29sbGVjdGlvblNsdWciLCJzbHVnIiwiZGVzaXJlZEZpbGVuYW1lIiwiZmlsZUZvclJlc2l6ZSIsImNyb3BwZWRJbWFnZSIsImNyb3BJbWFnZSIsInB1c2giLCJidWZmZXIiLCJmcyIsInByb21pc2VzIiwid3JpdGVGaWxlIiwiQXJyYXkiLCJpc0FycmF5IiwicGF5bG9hZFVwbG9hZFNpemVzIiwic2l6ZURhdGEiLCJzaXplc1RvU2F2ZSIsInJlc2l6ZUFuZFRyYW5zZm9ybUltYWdlU2l6ZXMiLCJzYXZlZEZpbGVuYW1lIiwic2l6ZXMiLCJlcnIiLCJjb25zb2xlIiwiZXJyb3IiLCJGaWxlVXBsb2FkRXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7K0JBc0NhQTs7O2VBQUFB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
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2dlbmVyYXRlRmlsZURhdGEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVcGxvYWRlZEZpbGUgfSBmcm9tICdleHByZXNzLWZpbGV1cGxvYWQnXG5pbXBvcnQgdHlwZSB7IE91dHB1dEluZm8sIFNoYXJwLCBTaGFycE9wdGlvbnMgfSBmcm9tICdzaGFycCdcblxuaW1wb3J0IHsgZnJvbUJ1ZmZlciB9IGZyb20gJ2ZpbGUtdHlwZSdcbmltcG9ydCBmcyBmcm9tICdmcydcbmltcG9ydCBta2RpcnAgZnJvbSAnbWtkaXJwJ1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcbmltcG9ydCBzYW5pdGl6ZSBmcm9tICdzYW5pdGl6ZS1maWxlbmFtZSdcbmltcG9ydCBzaGFycCBmcm9tICdzaGFycCdcblxuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICcuLi9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgRmlsZURhdGEsIEZpbGVUb1NhdmUsIFByb2JlZEltYWdlU2l6ZSB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IEZpbGVVcGxvYWRFcnJvciwgTWlzc2luZ0ZpbGUgfSBmcm9tICcuLi9lcnJvcnMnXG5pbXBvcnQgY2FuUmVzaXplSW1hZ2UgZnJvbSAnLi9jYW5SZXNpemVJbWFnZSdcbmltcG9ydCBjcm9wSW1hZ2UgZnJvbSAnLi9jcm9wSW1hZ2UnXG5pbXBvcnQgZ2V0RmlsZUJ5UGF0aCBmcm9tICcuL2dldEZpbGVCeVBhdGgnXG5pbXBvcnQgZ2V0SW1hZ2VTaXplIGZyb20gJy4vZ2V0SW1hZ2VTaXplJ1xuaW1wb3J0IGdldFNhZmVGaWxlTmFtZSBmcm9tICcuL2dldFNhZmVGaWxlbmFtZSdcbmltcG9ydCByZXNpemVBbmRUcmFuc2Zvcm1JbWFnZVNpemVzIGZyb20gJy4vaW1hZ2VSZXNpemVyJ1xuaW1wb3J0IGlzSW1hZ2UgZnJvbSAnLi9pc0ltYWdlJ1xuXG50eXBlIEFyZ3M8VD4gPSB7XG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25cbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcbiAgZGF0YTogVFxuICBvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzPzogYm9vbGVhblxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gIHRocm93T25NaXNzaW5nRmlsZT86IGJvb2xlYW5cbn1cblxudHlwZSBSZXN1bHQ8VD4gPSBQcm9taXNlPHtcbiAgZGF0YTogVFxuICBmaWxlczogRmlsZVRvU2F2ZVtdXG59PlxuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVGaWxlRGF0YSA9IGFzeW5jIDxUPih7XG4gIGNvbGxlY3Rpb246IHsgY29uZmlnOiBjb2xsZWN0aW9uQ29uZmlnIH0sXG4gIGNvbmZpZyxcbiAgZGF0YSxcbiAgb3ZlcndyaXRlRXhpc3RpbmdGaWxlcyxcbiAgcmVxLFxuICB0aHJvd09uTWlzc2luZ0ZpbGUsXG59OiBBcmdzPFQ+KTogUmVzdWx0PFQ+ID0+IHtcbiAgaWYgKCFjb2xsZWN0aW9uQ29uZmlnLnVwbG9hZCkge1xuICAgIHJldHVybiB7XG4gICAgICBkYXRhLFxuICAgICAgZmlsZXM6IFtdLFxuICAgIH1cbiAgfVxuXG4gIGxldCBmaWxlID0gcmVxLmZpbGVzPy5maWxlIHx8IHVuZGVmaW5lZFxuICBjb25zdCB7IHVwbG9hZEVkaXRzIH0gPSByZXEucXVlcnkgfHwge31cblxuICBjb25zdCB7IGRpc2FibGVMb2NhbFN0b3JhZ2UsIGZvcm1hdE9wdGlvbnMsIGltYWdlU2l6ZXMsIHJlc2l6ZU9wdGlvbnMsIHN0YXRpY0RpciwgdHJpbU9wdGlvbnMgfSA9XG4gICAgY29sbGVjdGlvbkNvbmZpZy51cGxvYWRcblxuICBsZXQgc3RhdGljUGF0aCA9IHN0YXRpY0RpclxuICBpZiAoc3RhdGljRGlyLmluZGV4T2YoJy8nKSAhPT0gMCkge1xuICAgIHN0YXRpY1BhdGggPSBwYXRoLnJlc29sdmUoY29uZmlnLnBhdGhzLmNvbmZpZ0Rpciwgc3RhdGljRGlyKVxuICB9XG5cbiAgaWYgKCFmaWxlICYmIHVwbG9hZEVkaXRzICYmIGRhdGEpIHtcbiAgICBjb25zdCB7IGZpbGVuYW1lIH0gPSBkYXRhIGFzIEZpbGVEYXRhXG4gICAgY29uc3QgZmlsZVBhdGggPSBgJHtzdGF0aWNQYXRofS8ke2ZpbGVuYW1lfWBcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGdldEZpbGVCeVBhdGgoZmlsZVBhdGgpXG5cbiAgICBvdmVyd3JpdGVFeGlzdGluZ0ZpbGVzID0gdHJ1ZVxuICAgIGZpbGUgPSByZXNwb25zZSBhcyBVcGxvYWRlZEZpbGVcbiAgfVxuXG4gIGlmICghZmlsZSkge1xuICAgIGlmICh0aHJvd09uTWlzc2luZ0ZpbGUpIHRocm93IG5ldyBNaXNzaW5nRmlsZShyZXEudClcblxuICAgIHJldHVybiB7XG4gICAgICBkYXRhLFxuICAgICAgZmlsZXM6IFtdLFxuICAgIH1cbiAgfVxuXG4gIGlmICghZGlzYWJsZUxvY2FsU3RvcmFnZSkge1xuICAgIG1rZGlycC5zeW5jKHN0YXRpY1BhdGgpXG4gIH1cblxuICBsZXQgbmV3RGF0YSA9IGRhdGFcbiAgY29uc3QgZmlsZXNUb1NhdmU6IEZpbGVUb1NhdmVbXSA9IFtdXG4gIGNvbnN0IGZpbGVEYXRhOiBQYXJ0aWFsPEZpbGVEYXRhPiA9IHt9XG4gIGNvbnN0IGZpbGVJc0FuaW1hdGVkID0gZmlsZS5taW1ldHlwZSA9PT0gJ2ltYWdlL2dpZicgfHwgZmlsZS5taW1ldHlwZSA9PT0gJ2ltYWdlL3dlYnAnXG4gIGNvbnN0IGNyb3BEYXRhID1cbiAgICB0eXBlb2YgdXBsb2FkRWRpdHMgPT09ICdvYmplY3QnICYmICdjcm9wJyBpbiB1cGxvYWRFZGl0cyA/IHVwbG9hZEVkaXRzLmNyb3AgOiB1bmRlZmluZWRcblxuICB0cnkge1xuICAgIGNvbnN0IGZpbGVTdXBwb3J0c1Jlc2l6ZSA9IGNhblJlc2l6ZUltYWdlKGZpbGUubWltZXR5cGUpXG4gICAgbGV0IGZzU2FmZU5hbWU6IHN0cmluZ1xuICAgIGxldCBzaGFycEZpbGU6IFNoYXJwIHwgdW5kZWZpbmVkXG4gICAgbGV0IGRpbWVuc2lvbnM6IFByb2JlZEltYWdlU2l6ZSB8IHVuZGVmaW5lZFxuICAgIGxldCBmaWxlQnVmZmVyOiB7IGRhdGE6IEJ1ZmZlcjsgaW5mbzogT3V0cHV0SW5mbyB9XG4gICAgbGV0IGV4dFxuICAgIGxldCBtaW1lOiBzdHJpbmdcbiAgICBjb25zdCBmaWxlSGFzQWRqdXN0bWVudHMgPVxuICAgICAgZmlsZVN1cHBvcnRzUmVzaXplICYmXG4gICAgICBCb29sZWFuKHJlc2l6ZU9wdGlvbnMgfHwgZm9ybWF0T3B0aW9ucyB8fCB0cmltT3B0aW9ucyB8fCBmaWxlLnRlbXBGaWxlUGF0aClcblxuICAgIGNvbnN0IHNoYXJwT3B0aW9uczogU2hhcnBPcHRpb25zID0ge31cblxuICAgIGlmIChmaWxlSXNBbmltYXRlZCkgc2hhcnBPcHRpb25zLmFuaW1hdGVkID0gdHJ1ZVxuXG4gICAgaWYgKGZpbGVIYXNBZGp1c3RtZW50cykge1xuICAgICAgaWYgKGZpbGUudGVtcEZpbGVQYXRoKSB7XG4gICAgICAgIHNoYXJwRmlsZSA9IHNoYXJwKGZpbGUudGVtcEZpbGVQYXRoLCBzaGFycE9wdGlvbnMpLnJvdGF0ZSgpIC8vIHBhc3Mgcm90YXRlKCkgdG8gYXV0by1yb3RhdGUgYmFzZWQgb24gRVhJRiBkYXRhLiBodHRwczovL2dpdGh1Yi5jb20vcGF5bG9hZGNtcy9wYXlsb2FkL3B1bGwvMzA4MVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2hhcnBGaWxlID0gc2hhcnAoZmlsZS5kYXRhLCBzaGFycE9wdGlvbnMpLnJvdGF0ZSgpIC8vIHBhc3Mgcm90YXRlKCkgdG8gYXV0by1yb3RhdGUgYmFzZWQgb24gRVhJRiBkYXRhLiBodHRwczovL2dpdGh1Yi5jb20vcGF5bG9hZGNtcy9wYXlsb2FkL3B1bGwvMzA4MVxuICAgICAgfVxuXG4gICAgICBpZiAocmVzaXplT3B0aW9ucykge1xuICAgICAgICBzaGFycEZpbGUgPSBzaGFycEZpbGUucmVzaXplKHJlc2l6ZU9wdGlvbnMpXG4gICAgICB9XG4gICAgICBpZiAoZm9ybWF0T3B0aW9ucykge1xuICAgICAgICBzaGFycEZpbGUgPSBzaGFycEZpbGUudG9Gb3JtYXQoZm9ybWF0T3B0aW9ucy5mb3JtYXQsIGZvcm1hdE9wdGlvbnMub3B0aW9ucylcbiAgICAgIH1cbiAgICAgIGlmICh0cmltT3B0aW9ucykge1xuICAgICAgICBzaGFycEZpbGUgPSBzaGFycEZpbGUudHJpbSh0cmltT3B0aW9ucylcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaXNJbWFnZShmaWxlLm1pbWV0eXBlKSkge1xuICAgICAgZGltZW5zaW9ucyA9IGF3YWl0IGdldEltYWdlU2l6ZShmaWxlKVxuICAgICAgZmlsZURhdGEud2lkdGggPSBkaW1lbnNpb25zLndpZHRoXG4gICAgICBmaWxlRGF0YS5oZWlnaHQgPSBkaW1lbnNpb25zLmhlaWdodFxuICAgIH1cblxuICAgIGlmIChzaGFycEZpbGUpIHtcbiAgICAgIGNvbnN0IG1ldGFkYXRhID0gYXdhaXQgc2hhcnBGaWxlLm1ldGFkYXRhKClcbiAgICAgIGZpbGVCdWZmZXIgPSBhd2FpdCBzaGFycEZpbGUudG9CdWZmZXIoeyByZXNvbHZlV2l0aE9iamVjdDogdHJ1ZSB9KVxuICAgICAgOyh7IGV4dCwgbWltZSB9ID0gYXdhaXQgZnJvbUJ1ZmZlcihmaWxlQnVmZmVyLmRhdGEpKSAvLyBUaGlzIGlzIGdldHRpbmcgYW4gaW5jb3JyZWN0IGdpZiBoZWlnaHQgYmFjay5cbiAgICAgIGZpbGVEYXRhLndpZHRoID0gZmlsZUJ1ZmZlci5pbmZvLndpZHRoXG4gICAgICBmaWxlRGF0YS5oZWlnaHQgPSBmaWxlQnVmZmVyLmluZm8uaGVpZ2h0XG4gICAgICBmaWxlRGF0YS5maWxlc2l6ZSA9IGZpbGVCdWZmZXIuaW5mby5zaXplXG5cbiAgICAgIC8vIEFuaW1hdGVkIEdJRnMgKyBXZWJQIGFnZ3JlZ2F0ZSB0aGUgaGVpZ2h0IGZyb20gZXZlcnkgZnJhbWUsIHNvIHdlIG5lZWQgdG8gdXNlIGRpdmlkZSBieSBudW1iZXIgb2YgcGFnZXNcbiAgICAgIGlmIChtZXRhZGF0YS5wYWdlcykge1xuICAgICAgICBmaWxlRGF0YS5oZWlnaHQgPSBmaWxlQnVmZmVyLmluZm8uaGVpZ2h0IC8gbWV0YWRhdGEucGFnZXNcbiAgICAgICAgZmlsZURhdGEuZmlsZXNpemUgPSBmaWxlQnVmZmVyLmRhdGEubGVuZ3RoXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG1pbWUgPSBmaWxlLm1pbWV0eXBlXG4gICAgICBmaWxlRGF0YS5maWxlc2l6ZSA9IGZpbGUuc2l6ZVxuXG4gICAgICBpZiAoZmlsZS5uYW1lLmluY2x1ZGVzKCcuJykpIHtcbiAgICAgICAgZXh0ID0gZmlsZS5uYW1lLnNwbGl0KCcuJykucG9wKClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGV4dCA9ICcnXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWR1c3QgU1ZHIG1pbWUgdHlwZS4gZnJvbUJ1ZmZlciBtb2RpZmllcyBpdC5cbiAgICBpZiAobWltZSA9PT0gJ2FwcGxpY2F0aW9uL3htbCcgJiYgZXh0ID09PSAnc3ZnJykgbWltZSA9ICdpbWFnZS9zdmcreG1sJ1xuICAgIGZpbGVEYXRhLm1pbWVUeXBlID0gbWltZVxuXG4gICAgY29uc3QgYmFzZUZpbGVuYW1lID0gc2FuaXRpemUoZmlsZS5uYW1lLnN1YnN0cmluZygwLCBmaWxlLm5hbWUubGFzdEluZGV4T2YoJy4nKSkgfHwgZmlsZS5uYW1lKVxuICAgIGZzU2FmZU5hbWUgPSBgJHtiYXNlRmlsZW5hbWV9JHtleHQgPyBgLiR7ZXh0fWAgOiAnJ31gXG5cbiAgICBpZiAoIW92ZXJ3cml0ZUV4aXN0aW5nRmlsZXMpIHtcbiAgICAgIGZzU2FmZU5hbWUgPSBhd2FpdCBnZXRTYWZlRmlsZU5hbWUoe1xuICAgICAgICBjb2xsZWN0aW9uU2x1ZzogY29sbGVjdGlvbkNvbmZpZy5zbHVnLFxuICAgICAgICBkZXNpcmVkRmlsZW5hbWU6IGZzU2FmZU5hbWUsXG4gICAgICAgIHJlcSxcbiAgICAgICAgc3RhdGljUGF0aCxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgZmlsZURhdGEuZmlsZW5hbWUgPSBmc1NhZmVOYW1lXG4gICAgbGV0IGZpbGVGb3JSZXNpemUgPSBmaWxlXG5cbiAgICBpZiAoY3JvcERhdGEpIHtcbiAgICAgIGNvbnN0IHsgZGF0YTogY3JvcHBlZEltYWdlLCBpbmZvIH0gPSBhd2FpdCBjcm9wSW1hZ2UoeyBjcm9wRGF0YSwgZGltZW5zaW9ucywgZmlsZSB9KVxuXG4gICAgICBmaWxlc1RvU2F2ZS5wdXNoKHtcbiAgICAgICAgYnVmZmVyOiBjcm9wcGVkSW1hZ2UsXG4gICAgICAgIHBhdGg6IGAke3N0YXRpY1BhdGh9LyR7ZnNTYWZlTmFtZX1gLFxuICAgICAgfSlcblxuICAgICAgZmlsZUZvclJlc2l6ZSA9IHtcbiAgICAgICAgLi4uZmlsZSxcbiAgICAgICAgZGF0YTogY3JvcHBlZEltYWdlLFxuICAgICAgICBzaXplOiBpbmZvLnNpemUsXG4gICAgICB9XG4gICAgICBmaWxlRGF0YS53aWR0aCA9IGluZm8ud2lkdGhcbiAgICAgIGZpbGVEYXRhLmhlaWdodCA9IGluZm8uaGVpZ2h0XG4gICAgICBmaWxlRGF0YS5maWxlc2l6ZSA9IGluZm8uc2l6ZVxuICAgICAgcmVxLmZpbGVzLmZpbGUgPSBmaWxlRm9yUmVzaXplXG4gICAgfSBlbHNlIHtcbiAgICAgIGZpbGVzVG9TYXZlLnB1c2goe1xuICAgICAgICBidWZmZXI6IGZpbGVCdWZmZXI/LmRhdGEgfHwgZmlsZS5kYXRhLFxuICAgICAgICBwYXRoOiBgJHtzdGF0aWNQYXRofS8ke2ZzU2FmZU5hbWV9YCxcbiAgICAgIH0pXG5cbiAgICAgIC8vIElmIHVzaW5nIHRlbXAgZmlsZXMgYW5kIHRoZSBpbWFnZSBpcyBiZWluZyByZXNpemVkLCB3cml0ZSB0aGUgZmlsZSB0byB0aGUgdGVtcCBwYXRoXG4gICAgICBpZiAoZmlsZUJ1ZmZlcj8uZGF0YSB8fCBmaWxlLmRhdGEubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAoZmlsZS50ZW1wRmlsZVBhdGgpIHtcbiAgICAgICAgICBhd2FpdCBmcy5wcm9taXNlcy53cml0ZUZpbGUoZmlsZS50ZW1wRmlsZVBhdGgsIGZpbGVCdWZmZXI/LmRhdGEgfHwgZmlsZS5kYXRhKSAvLyB3cml0ZSBmaWxlQnVmZmVyIHRvIHRoZSB0ZW1wIHBhdGhcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBBc3NpZ24gdGhlIF9wb3NzaWJseSBtb2RpZmllZF8gZmlsZSB0byB0aGUgcmVxdWVzdCBvYmplY3RcbiAgICAgICAgICByZXEuZmlsZXMuZmlsZSA9IHtcbiAgICAgICAgICAgIC4uLmZpbGUsXG4gICAgICAgICAgICBkYXRhOiBmaWxlQnVmZmVyPy5kYXRhIHx8IGZpbGUuZGF0YSxcbiAgICAgICAgICAgIHNpemU6IGZpbGVCdWZmZXI/LmluZm8uc2l6ZSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShpbWFnZVNpemVzKSAmJiBmaWxlU3VwcG9ydHNSZXNpemUpIHtcbiAgICAgIHJlcS5wYXlsb2FkVXBsb2FkU2l6ZXMgPSB7fVxuICAgICAgY29uc3QgeyBzaXplRGF0YSwgc2l6ZXNUb1NhdmUgfSA9IGF3YWl0IHJlc2l6ZUFuZFRyYW5zZm9ybUltYWdlU2l6ZXMoe1xuICAgICAgICBjb25maWc6IGNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgIGRpbWVuc2lvbnM6ICFjcm9wRGF0YVxuICAgICAgICAgID8gZGltZW5zaW9uc1xuICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAuLi5kaW1lbnNpb25zLFxuICAgICAgICAgICAgICBoZWlnaHQ6IGZpbGVEYXRhLmhlaWdodCxcbiAgICAgICAgICAgICAgd2lkdGg6IGZpbGVEYXRhLndpZHRoLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgZmlsZTogZmlsZUZvclJlc2l6ZSxcbiAgICAgICAgbWltZVR5cGU6IGZpbGVEYXRhLm1pbWVUeXBlLFxuICAgICAgICByZXEsXG4gICAgICAgIHNhdmVkRmlsZW5hbWU6IGZzU2FmZU5hbWUgfHwgZmlsZS5uYW1lLFxuICAgICAgICBzdGF0aWNQYXRoLFxuICAgICAgfSlcblxuICAgICAgZmlsZURhdGEuc2l6ZXMgPSBzaXplRGF0YVxuICAgICAgZmlsZXNUb1NhdmUucHVzaCguLi5zaXplc1RvU2F2ZSlcbiAgICB9XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGNvbnNvbGUuZXJyb3IoZXJyKVxuICAgIHRocm93IG5ldyBGaWxlVXBsb2FkRXJyb3IocmVxLnQpXG4gIH1cblxuICBuZXdEYXRhID0ge1xuICAgIC4uLm5ld0RhdGEsXG4gICAgLi4uZmlsZURhdGEsXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGRhdGE6IG5ld0RhdGEsXG4gICAgZmlsZXM6IGZpbGVzVG9TYXZlLFxuICB9XG59XG4iXSwibmFtZXMiOlsiZ2VuZXJhdGVGaWxlRGF0YSIsImNvbGxlY3Rpb24iLCJjb25maWciLCJjb2xsZWN0aW9uQ29uZmlnIiwiZGF0YSIsIm92ZXJ3cml0ZUV4aXN0aW5nRmlsZXMiLCJyZXEiLCJ0aHJvd09uTWlzc2luZ0ZpbGUiLCJ1cGxvYWQiLCJmaWxlcyIsImZpbGUiLCJ1bmRlZmluZWQiLCJ1cGxvYWRFZGl0cyIsInF1ZXJ5IiwiZGlzYWJsZUxvY2FsU3RvcmFnZSIsImZvcm1hdE9wdGlvbnMiLCJpbWFnZVNpemVzIiwicmVzaXplT3B0aW9ucyIsInN0YXRpY0RpciIsInRyaW1PcHRpb25zIiwic3RhdGljUGF0aCIsImluZGV4T2YiLCJwYXRoIiwicmVzb2x2ZSIsInBhdGhzIiwiY29uZmlnRGlyIiwiZmlsZW5hbWUiLCJmaWxlUGF0aCIsInJlc3BvbnNlIiwiZ2V0RmlsZUJ5UGF0aCIsIk1pc3NpbmdGaWxlIiwidCIsIm1rZGlycCIsInN5bmMiLCJuZXdEYXRhIiwiZmlsZXNUb1NhdmUiLCJmaWxlRGF0YSIsImZpbGVJc0FuaW1hdGVkIiwibWltZXR5cGUiLCJjcm9wRGF0YSIsImNyb3AiLCJmaWxlU3VwcG9ydHNSZXNpemUiLCJjYW5SZXNpemVJbWFnZSIsImZzU2FmZU5hbWUiLCJzaGFycEZpbGUiLCJkaW1lbnNpb25zIiwiZmlsZUJ1ZmZlciIsImV4dCIsIm1pbWUiLCJmaWxlSGFzQWRqdXN0bWVudHMiLCJCb29sZWFuIiwidGVtcEZpbGVQYXRoIiwic2hhcnBPcHRpb25zIiwiYW5pbWF0ZWQiLCJzaGFycCIsInJvdGF0ZSIsInJlc2l6ZSIsInRvRm9ybWF0IiwiZm9ybWF0Iiwib3B0aW9ucyIsInRyaW0iLCJpc0ltYWdlIiwiZ2V0SW1hZ2VTaXplIiwid2lkdGgiLCJoZWlnaHQiLCJtZXRhZGF0YSIsInRvQnVmZmVyIiwicmVzb2x2ZVdpdGhPYmplY3QiLCJmcm9tQnVmZmVyIiwiaW5mbyIsImZpbGVzaXplIiwic2l6ZSIsInBhZ2VzIiwibGVuZ3RoIiwibmFtZSIsImluY2x1ZGVzIiwic3BsaXQiLCJwb3AiLCJtaW1lVHlwZSIsImJhc2VGaWxlbmFtZSIsInNhbml0aXplIiwic3Vic3RyaW5nIiwibGFzdEluZGV4T2YiLCJnZXRTYWZlRmlsZU5hbWUiLCJjb2xsZWN0aW9uU2x1ZyIsInNsdWciLCJkZXNpcmVkRmlsZW5hbWUiLCJmaWxlRm9yUmVzaXplIiwiY3JvcHBlZEltYWdlIiwiY3JvcEltYWdlIiwicHVzaCIsImJ1ZmZlciIsImZzIiwicHJvbWlzZXMiLCJ3cml0ZUZpbGUiLCJBcnJheSIsImlzQXJyYXkiLCJwYXlsb2FkVXBsb2FkU2l6ZXMiLCJzaXplRGF0YSIsInNpemVzVG9TYXZlIiwicmVzaXplQW5kVHJhbnNmb3JtSW1hZ2VTaXplcyIsInNhdmVkRmlsZW5hbWUiLCJzaXplcyIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsIkZpbGVVcGxvYWRFcnJvciJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFzQ2FBOzs7ZUFBQUE7OzswQkFuQ2M7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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFileByPath.d.ts","sourceRoot":"","sources":["../../src/uploads/getFileByPath.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"getFileByPath.d.ts","sourceRoot":"","sources":["../../src/uploads/getFileByPath.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAMnC,QAAA,MAAM,aAAa,aAAoB,MAAM,KAAG,QAAQ,IAAI,CAoB3D,CAAA;AAED,eAAe,aAAa,CAAA"}
|
|
@@ -16,16 +16,21 @@ function _interop_require_default(obj) {
|
|
|
16
16
|
default: obj
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
+
const mimeTypeEstimate = {
|
|
20
|
+
svg: 'image/svg+xml'
|
|
21
|
+
};
|
|
19
22
|
const getFileByPath = async (filePath)=>{
|
|
20
23
|
if (typeof filePath === 'string') {
|
|
21
24
|
const data = _fs.default.readFileSync(filePath);
|
|
22
25
|
const mimetype = (0, _filetype.fromFile)(filePath);
|
|
23
26
|
const { size } = _fs.default.statSync(filePath);
|
|
24
27
|
const name = _path.default.basename(filePath);
|
|
28
|
+
const ext = _path.default.extname(filePath).slice(1);
|
|
29
|
+
const mime = (await mimetype)?.mime || mimeTypeEstimate[ext];
|
|
25
30
|
return {
|
|
26
31
|
name,
|
|
27
32
|
data,
|
|
28
|
-
mimetype:
|
|
33
|
+
mimetype: mime,
|
|
29
34
|
size
|
|
30
35
|
};
|
|
31
36
|
}
|
|
@@ -33,4 +38,4 @@ const getFileByPath = async (filePath)=>{
|
|
|
33
38
|
};
|
|
34
39
|
const _default = getFileByPath;
|
|
35
40
|
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2dldEZpbGVCeVBhdGgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbUZpbGUgfSBmcm9tICdmaWxlLXR5cGUnXG5pbXBvcnQgZnMgZnJvbSAnZnMnXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuXG5pbXBvcnQgdHlwZSB7IEZpbGUgfSBmcm9tICcuL3R5cGVzJ1xuXG5jb25zdCBtaW1lVHlwZUVzdGltYXRlID0ge1xuICBzdmc6ICdpbWFnZS9zdmcreG1sJyxcbn1cblxuY29uc3QgZ2V0RmlsZUJ5UGF0aCA9IGFzeW5jIChmaWxlUGF0aDogc3RyaW5nKTogUHJvbWlzZTxGaWxlPiA9PiB7XG4gIGlmICh0eXBlb2YgZmlsZVBhdGggPT09ICdzdHJpbmcnKSB7XG4gICAgY29uc3QgZGF0YSA9IGZzLnJlYWRGaWxlU3luYyhmaWxlUGF0aClcbiAgICBjb25zdCBtaW1ldHlwZSA9IGZyb21GaWxlKGZpbGVQYXRoKVxuICAgIGNvbnN0IHsgc2l6ZSB9ID0gZnMuc3RhdFN5bmMoZmlsZVBhdGgpXG5cbiAgICBjb25zdCBuYW1lID0gcGF0aC5iYXNlbmFtZShmaWxlUGF0aClcbiAgICBjb25zdCBleHQgPSBwYXRoLmV4dG5hbWUoZmlsZVBhdGgpLnNsaWNlKDEpXG5cbiAgICBjb25zdCBtaW1lID0gKGF3YWl0IG1pbWV0eXBlKT8ubWltZSB8fCBtaW1lVHlwZUVzdGltYXRlW2V4dF1cblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lLFxuICAgICAgZGF0YSxcbiAgICAgIG1pbWV0eXBlOiBtaW1lLFxuICAgICAgc2l6ZSxcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkXG59XG5cbmV4cG9ydCBkZWZhdWx0IGdldEZpbGVCeVBhdGhcbiJdLCJuYW1lcyI6WyJtaW1lVHlwZUVzdGltYXRlIiwic3ZnIiwiZ2V0RmlsZUJ5UGF0aCIsImZpbGVQYXRoIiwiZGF0YSIsImZzIiwicmVhZEZpbGVTeW5jIiwibWltZXR5cGUiLCJmcm9tRmlsZSIsInNpemUiLCJzdGF0U3luYyIsIm5hbWUiLCJwYXRoIiwiYmFzZW5hbWUiLCJleHQiLCJleHRuYW1lIiwic2xpY2UiLCJtaW1lIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7OytCQWdDQTs7O2VBQUE7OzswQkFoQ3lCOzJEQUNWOzZEQUNFOzs7Ozs7QUFJakIsTUFBTUEsbUJBQW1CO0lBQ3ZCQyxLQUFLO0FBQ1A7QUFFQSxNQUFNQyxnQkFBZ0IsT0FBT0M7SUFDM0IsSUFBSSxPQUFPQSxhQUFhLFVBQVU7UUFDaEMsTUFBTUMsT0FBT0MsV0FBRSxDQUFDQyxZQUFZLENBQUNIO1FBQzdCLE1BQU1JLFdBQVdDLElBQUFBLGtCQUFRLEVBQUNMO1FBQzFCLE1BQU0sRUFBRU0sSUFBSSxFQUFFLEdBQUdKLFdBQUUsQ0FBQ0ssUUFBUSxDQUFDUDtRQUU3QixNQUFNUSxPQUFPQyxhQUFJLENBQUNDLFFBQVEsQ0FBQ1Y7UUFDM0IsTUFBTVcsTUFBTUYsYUFBSSxDQUFDRyxPQUFPLENBQUNaLFVBQVVhLEtBQUssQ0FBQztRQUV6QyxNQUFNQyxPQUFPLEFBQUMsQ0FBQSxNQUFNVixRQUFPLEdBQUlVLFFBQVFqQixnQkFBZ0IsQ0FBQ2MsSUFBSTtRQUU1RCxPQUFPO1lBQ0xIO1lBQ0FQO1lBQ0FHLFVBQVVVO1lBQ1ZSO1FBQ0Y7SUFDRjtJQUVBLE9BQU9TO0FBQ1Q7TUFFQSxXQUFlaEIifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imageResizer.d.ts","sourceRoot":"","sources":["../../src/uploads/imageResizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAQtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAA;AACnF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAY,SAAS,EAAE,UAAU,EAAa,eAAe,EAAE,MAAM,SAAS,CAAA;AAK1F,KAAK,UAAU,GAAG;IAChB,MAAM,EAAE,yBAAyB,CAAA;IACjC,UAAU,EAAE,eAAe,CAAA;IAC3B,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,cAAc,GAAG;QACpB,KAAK,CAAC,EAAE;YACN,WAAW,CAAC,EAAE,WAAW,CAAA;SAC1B,CAAA;KACF,CAAA;IACD,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,sEAAsE;AACtE,KAAK,gBAAgB,GAAG;IACtB,QAAQ,EAAE,SAAS,CAAA;IACnB,WAAW,EAAE,UAAU,EAAE,CAAA;CAC1B,CAAA;
|
|
1
|
+
{"version":3,"file":"imageResizer.d.ts","sourceRoot":"","sources":["../../src/uploads/imageResizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAQtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAA;AACnF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EAAY,SAAS,EAAE,UAAU,EAAa,eAAe,EAAE,MAAM,SAAS,CAAA;AAK1F,KAAK,UAAU,GAAG;IAChB,MAAM,EAAE,yBAAyB,CAAA;IACjC,UAAU,EAAE,eAAe,CAAA;IAC3B,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,cAAc,GAAG;QACpB,KAAK,CAAC,EAAE;YACN,WAAW,CAAC,EAAE,WAAW,CAAA;SAC1B,CAAA;KACF,CAAA;IACD,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,sEAAsE;AACtE,KAAK,gBAAgB,GAAG;IACtB,QAAQ,EAAE,SAAS,CAAA;IACnB,WAAW,EAAE,UAAU,EAAE,CAAA;CAC1B,CAAA;AAgKD;;;;;;;;;;;;;GAaG;AACH,wBAA8B,4BAA4B,CAAC,EACzD,MAAM,EACN,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,GAAG,EACH,aAAa,EACb,UAAU,GACX,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkIxC"}
|