studiokit-scaffolding-js 7.7.2 → 7.7.3
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/LICENSE +21 -21
- package/README.md +141 -141
- package/lib/components/AccessibilityStatement.js +1 -1
- package/lib/components/AccessibleOverlayTrigger.js +3 -3
- package/lib/components/ActionList.js +1 -1
- package/lib/components/AlertDialog.js +1 -1
- package/lib/components/AlertWithIcon.js +1 -1
- package/lib/components/Buttons/PopoverButton.js +1 -1
- package/lib/components/ConnectedModal.js +3 -3
- package/lib/components/Downtime.js +1 -1
- package/lib/components/Dropdowns/GroupsDropdown.js +1 -1
- package/lib/components/Dropdowns/ManagedNavDropdown.js +4 -4
- package/lib/components/Dropdowns/UserDropdown.js +1 -1
- package/lib/components/Dropdowns/index.js +1 -1
- package/lib/components/EmptyCoursesMessage.js +1 -1
- package/lib/components/EntityOwnerList.js +1 -1
- package/lib/components/Error.js +1 -1
- package/lib/components/ErrorBoundary.js +1 -1
- package/lib/components/ErrorMessage.js +1 -1
- package/lib/components/ExpiringSoonAlert.js +1 -1
- package/lib/components/Footer/index.css +59 -59
- package/lib/components/Footer/index.js +1 -1
- package/lib/components/Forms/DateField.js +1 -1
- package/lib/components/Forms/TimeField.js +1 -1
- package/lib/components/Forms/index.js +1 -1
- package/lib/components/FullscreenHeader.js +1 -1
- package/lib/components/Groups/CreateEditCopySaveButtons.js +1 -1
- package/lib/components/Groups/ExternalGroups/Attach.js +1 -1
- package/lib/components/Groups/ExternalGroups/Table.js +1 -1
- package/lib/components/Groups/GroupCreateOrEditCommonProps.js +1 -1
- package/lib/components/Groups/RosterSyncInfo.js +1 -1
- package/lib/components/HOC/AccessibleAppComponent.js +6 -6
- package/lib/components/HOC/ActivityRequiredComponent.js +50 -50
- package/lib/components/HOC/AsyncComponent.js +1 -1
- package/lib/components/HOC/AuthenticatedComponent.js +1 -1
- package/lib/components/HOC/CollectionComponent.js +11 -11
- package/lib/components/HOC/CollectionFirstItemComponent.js +4 -4
- package/lib/components/HOC/CollectionItemComponent.js +11 -11
- package/lib/components/HOC/ConnectedModalComponent.js +15 -15
- package/lib/components/HOC/DataDependentComponent.js +1 -1
- package/lib/components/HOC/EntityComponent.js +12 -12
- package/lib/components/HOC/FullscreenModalComponent.js +15 -15
- package/lib/components/HOC/GroupActivityRequiredComponent.js +19 -19
- package/lib/components/HOC/GuidComponent.js +5 -5
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +7 -7
- package/lib/components/HOC/ModelErrorRedirectComponent.js +12 -12
- package/lib/components/HOC/SearchPersistorComponent.js +43 -43
- package/lib/components/HOC/UnauthenticatedComponent.js +1 -1
- package/lib/components/HOC/UserComponent.js +1 -1
- package/lib/components/Icons/IconAlphaList.js +1 -1
- package/lib/components/Icons/IconExternalUser.js +1 -1
- package/lib/components/Icons/IconImpersonation.js +1 -1
- package/lib/components/Icons/IconSheriff.js +2 -2
- package/lib/components/Icons/IconStopImpersonating.js +1 -1
- package/lib/components/Icons/IconTable.js +1 -1
- package/lib/components/Icons/IconTableDeleteCol.js +1 -1
- package/lib/components/Icons/IconTableDeleteRow.js +1 -1
- package/lib/components/Icons/IconTableInsertCol.js +1 -1
- package/lib/components/Icons/IconTableInsertRow.js +1 -1
- package/lib/components/Impersonation/Button.js +1 -1
- package/lib/components/Impersonation/Link.js +1 -1
- package/lib/components/Impersonation/UserDetail.css +24 -24
- package/lib/components/Impersonation/UserDetail.js +3 -3
- package/lib/components/LoadErrorAlert.js +1 -1
- package/lib/components/Loading.js +1 -1
- package/lib/components/LockDownBrowser/Check.js +1 -1
- package/lib/components/LockDownBrowser/ExitButton.js +1 -1
- package/lib/components/LockDownBrowser/Launch.js +1 -1
- package/lib/components/Lti/Confirm.d.ts +10 -1
- package/lib/components/Lti/Confirm.js +139 -87
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +1 -1
- package/lib/components/Lti/Launch.d.ts +3 -0
- package/lib/components/Lti/Launch.js +21 -18
- package/lib/components/Lti/LaunchGroup.d.ts +3 -0
- package/lib/components/Lti/LaunchGroup.js +36 -33
- package/lib/components/ManageTable.js +1 -1
- package/lib/components/ManageTableNoDataComponent.js +1 -1
- package/lib/components/NewVersionAlert.js +1 -1
- package/lib/components/NotFound.js +1 -1
- package/lib/components/Notifications.js +1 -1
- package/lib/components/PaginationNextButton.js +1 -1
- package/lib/components/PaginationPreviousButton.js +1 -1
- package/lib/components/Quill/CustomToolbar.js +1 -1
- package/lib/components/Quill/Formats/Image.js +5 -5
- package/lib/components/Quill/Formats/List.js +3 -3
- package/lib/components/Quill/Formats/Video.js +3 -3
- package/lib/components/Quill/ImageDropModule.js +17 -17
- package/lib/components/Quill/ImageWarning.js +1 -1
- package/lib/components/Quill/ImageWithAltTextModal.js +1 -1
- package/lib/components/Quill/Specs/CustomImageSpec.js +7 -7
- package/lib/components/Quill/Specs/CustomVideoSpec.js +9 -9
- package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +8 -8
- package/lib/components/Quill/TableModule/Blots/TableBlot.js +1 -1
- package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +1 -1
- package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +1 -1
- package/lib/components/Quill/TableModule/Blots/TableContainer.js +1 -1
- package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +1 -1
- package/lib/components/Quill/TableModule/constants.js +1 -1
- package/lib/components/Quill/TableModule/index.css +171 -171
- package/lib/components/Quill/TableModule/index.js +1 -1
- package/lib/components/Quill/TableModule/utils.js +1 -1
- package/lib/components/Quill/accessibilityFix.js +14 -14
- package/lib/components/Quill/index.js +1 -1
- package/lib/components/RefreshIndicator/Bordered.js +1 -1
- package/lib/components/RefreshIndicator/Inline.js +1 -1
- package/lib/components/RefreshIndicator/index.js +1 -1
- package/lib/components/SearchControls.js +1 -1
- package/lib/components/SentryRoute.js +1 -1
- package/lib/components/Tables/RoleFilter.js +1 -1
- package/lib/components/Tables/TextFilter.js +1 -1
- package/lib/components/TimeZoneInfo.js +1 -1
- package/lib/components/UserRoles/Add.js +1 -1
- package/lib/components/UserRoles/Context.js +4 -4
- package/lib/components/UserRoles/RoleCell.js +1 -1
- package/lib/components/UserRoles/Select.js +1 -1
- package/lib/components/UserRoles/Table.js +1 -1
- package/lib/components/UserRoles/index.js +3 -3
- package/lib/config/eslint/index.js +1 -1
- package/lib/config/eslint/lib/order.js +1 -1
- package/lib/config/eslint/lib/typescript.js +1 -1
- package/lib/config/eslint/react.js +1 -1
- package/lib/config/eslint/rules/accessibleOverlayTrigger.js +1 -1
- package/lib/config/eslint/studiokit.js +1 -1
- package/lib/constants/baseActivity.js +1 -1
- package/lib/constants/baseRole.js +1 -1
- package/lib/constants/configuration.js +1 -1
- package/lib/constants/externalProviderType.js +1 -1
- package/lib/constants/fetchErrorData.js +1 -1
- package/lib/constants/fetchStatus.js +1 -1
- package/lib/constants/index.js +1 -1
- package/lib/constants/lockDownBrowser.js +1 -1
- package/lib/constants/mockData.js +3 -3
- package/lib/constants/modelStatus.js +1 -1
- package/lib/constants/notificationType.js +1 -1
- package/lib/constants/number.js +1 -1
- package/lib/constants/operatingSystem.js +1 -1
- package/lib/constants/shard.js +1 -1
- package/lib/constants/slot.js +1 -1
- package/lib/constants/svgMock.js +1 -1
- package/lib/constants/table.js +1 -1
- package/lib/constants/tier.js +1 -1
- package/lib/constants/userRole.js +1 -1
- package/lib/css/base/_base.css +98 -98
- package/lib/css/base/_print.css +66 -66
- package/lib/css/base/_typography.css +130 -130
- package/lib/css/components/_actionList.css +70 -70
- package/lib/css/components/_alert.css +86 -86
- package/lib/css/components/_bootstrap-grid.css +27 -27
- package/lib/css/components/_buttons.css +435 -435
- package/lib/css/components/_forms.css +157 -157
- package/lib/css/components/_menu.css +55 -55
- package/lib/css/components/_modals.css +132 -132
- package/lib/css/components/_quill.css +329 -329
- package/lib/css/components/_tables.css +506 -506
- package/lib/css/components/_tags.css +12 -12
- package/lib/css/index-with-variables.css +15 -15
- package/lib/css/index.css +14 -14
- package/lib/css/utils/_border.css +463 -463
- package/lib/css/utils/_color.css +317 -317
- package/lib/css/utils/_display.css +307 -307
- package/lib/css/utils/_focus.css +12 -12
- package/lib/css/utils/_general.css +50 -50
- package/lib/css/utils/_icon.css +35 -35
- package/lib/css/utils/_text.css +25 -25
- package/lib/css/utils/_width.css +60 -60
- package/lib/css/variables.css +100 -100
- package/lib/endpointMappings.js +1 -1
- package/lib/hooks/useCollection.js +1 -1
- package/lib/hooks/useCollectionConfiguration.js +7 -7
- package/lib/hooks/useCollectionItem.js +1 -1
- package/lib/hooks/useEventCallback.js +13 -13
- package/lib/hooks/useFetchData.js +9 -9
- package/lib/hooks/useGuid.js +3 -3
- package/lib/hooks/usePeriodicallyUpdatingState.js +7 -7
- package/lib/hooks/usePrevious.js +23 -23
- package/lib/index.js +1 -1
- package/lib/redux/actionCreator.js +1 -1
- package/lib/redux/actions/AuthAction.js +9 -9
- package/lib/redux/actions/ModalAction.js +1 -1
- package/lib/redux/actions/ModelAction.js +19 -19
- package/lib/redux/actions/NotificationAction.js +1 -1
- package/lib/redux/actions/SearchAction.js +1 -1
- package/lib/redux/actions/index.js +1 -1
- package/lib/redux/configureReducers.js +7 -7
- package/lib/redux/configureStore.js +1 -1
- package/lib/redux/helpers.js +1 -1
- package/lib/redux/reducers/authReducer.js +3 -3
- package/lib/redux/reducers/index.js +1 -1
- package/lib/redux/reducers/modalsReducer.js +1 -1
- package/lib/redux/reducers/modelsReducer.js +48 -48
- package/lib/redux/reducers/notificationsReducer.js +1 -1
- package/lib/redux/reducers/searchReducer.js +9 -9
- package/lib/redux/sagas/appInsightsSaga.js +1 -1
- package/lib/redux/sagas/authSaga.js +1 -1
- package/lib/redux/sagas/caliperSaga.js +16 -16
- package/lib/redux/sagas/clockOffsetSaga.js +9 -9
- package/lib/redux/sagas/configurationSaga.js +1 -1
- package/lib/redux/sagas/downtimeApiErrorSaga.js +1 -1
- package/lib/redux/sagas/errorSaga.js +1 -1
- package/lib/redux/sagas/googleAnalyticsSaga.js +1 -1
- package/lib/redux/sagas/identityProviderSaga.js +1 -1
- package/lib/redux/sagas/initialDataLoadSaga.js +1 -1
- package/lib/redux/sagas/lockDownBrowserErrorSaga.js +1 -1
- package/lib/redux/sagas/modelFetchSaga.js +46 -46
- package/lib/redux/sagas/noStoreSaga.js +1 -1
- package/lib/redux/sagas/postLoginDataSaga.js +6 -6
- package/lib/redux/sagas/postLoginRedirectSaga.js +4 -4
- package/lib/redux/sagas/rootSaga.js +5 -5
- package/lib/redux/sagas/sentrySaga.js +1 -1
- package/lib/redux/sagas/userIdSaga.js +1 -1
- package/lib/services/codeProviderService.js +1 -1
- package/lib/services/documentService.js +4 -4
- package/lib/services/fetchService.js +26 -26
- package/lib/services/mockAuthPersistenceService.js +1 -1
- package/lib/services/persistenceService.js +1 -1
- package/lib/services/ticketProviderService.js +1 -1
- package/lib/services/userActivityService.js +1 -1
- package/lib/services/windowService.js +1 -1
- package/lib/startup.js +18 -18
- package/lib/types/AppConfiguration.js +1 -1
- package/lib/types/Artifact.js +1 -1
- package/lib/types/BaseReduxState.js +1 -1
- package/lib/types/Client.js +1 -1
- package/lib/types/Collection.js +1 -1
- package/lib/types/Configuration.js +1 -1
- package/lib/types/DeepLinkingResponseRequest.js +1 -1
- package/lib/types/DeletableModel.js +1 -1
- package/lib/types/Event.js +1 -1
- package/lib/types/ExternalGroup.js +1 -1
- package/lib/types/ExternalProvider.js +1 -1
- package/lib/types/ExternalTerm.js +1 -1
- package/lib/types/Group.js +1 -1
- package/lib/types/IdentityProvider.js +1 -1
- package/lib/types/LtiLaunch.js +1 -1
- package/lib/types/NameOnlyEntity.js +1 -1
- package/lib/types/Notification.js +1 -1
- package/lib/types/OptionalRecord.js +1 -1
- package/lib/types/OwnerSchedule.js +1 -1
- package/lib/types/PropertyOfType.js +1 -1
- package/lib/types/Quill.js +1 -1
- package/lib/types/RoleDescription.js +1 -1
- package/lib/types/Search.js +1 -1
- package/lib/types/SimpleLocation.js +1 -1
- package/lib/types/UniTime.js +1 -1
- package/lib/types/User.js +1 -1
- package/lib/types/UserRole.js +1 -1
- package/lib/types/auth/AuthPersistenceService.js +1 -1
- package/lib/types/auth/AuthState.js +1 -1
- package/lib/types/auth/CasV1LoginRequestBody.js +1 -1
- package/lib/types/auth/ClientCredentials.js +1 -1
- package/lib/types/auth/CodeProviderService.js +1 -1
- package/lib/types/auth/LocalLoginRequestBody.js +1 -1
- package/lib/types/auth/TicketProviderService.js +1 -1
- package/lib/types/auth/index.js +1 -1
- package/lib/types/externals.d.js +1 -1
- package/lib/types/index.js +1 -1
- package/lib/types/net/EndpointConfig.js +1 -1
- package/lib/types/net/EndpointMapping.js +1 -1
- package/lib/types/net/EndpointMappings.js +1 -1
- package/lib/types/net/ErrorHandler.js +1 -1
- package/lib/types/net/FetchCancelledData.js +1 -1
- package/lib/types/net/FetchConfig.js +1 -1
- package/lib/types/net/FetchErrorData.js +1 -1
- package/lib/types/net/FetchResult.js +1 -1
- package/lib/types/net/HTTPMethod.js +1 -1
- package/lib/types/net/HTTPStatusCode.js +1 -1
- package/lib/types/net/Metadata.js +1 -1
- package/lib/types/net/Model.js +1 -1
- package/lib/types/net/ModelCollection.js +1 -1
- package/lib/types/net/ModelsState.js +1 -1
- package/lib/types/net/OAuthToken.js +1 -1
- package/lib/types/net/OAuthTokenResponse.js +1 -1
- package/lib/types/net/TokenAccessFunction.js +1 -1
- package/lib/types/net/index.js +1 -1
- package/lib/utils/auth.js +5 -5
- package/lib/utils/baseActivity.js +87 -87
- package/lib/utils/baseRole.js +1 -1
- package/lib/utils/collection.js +20 -20
- package/lib/utils/cookies.js +1 -1
- package/lib/utils/date.js +111 -111
- package/lib/utils/dom.js +42 -42
- package/lib/utils/domainIdentifier.js +1 -1
- package/lib/utils/entityUserRole.js +1 -1
- package/lib/utils/error.js +1 -1
- package/lib/utils/events.js +4 -4
- package/lib/utils/externalGroup.js +1 -1
- package/lib/utils/externalProviders.js +1 -1
- package/lib/utils/externalTerms.js +1 -1
- package/lib/utils/fetch.js +10 -10
- package/lib/utils/group.js +1 -1
- package/lib/utils/groupDates.js +1 -1
- package/lib/utils/groupRoles.js +1 -1
- package/lib/utils/lockDownBrowser.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/lti.js +1 -1
- package/lib/utils/model.js +5 -5
- package/lib/utils/number.js +11 -11
- package/lib/utils/promise.js +1 -1
- package/lib/utils/quill.js +16 -16
- package/lib/utils/route.js +1 -1
- package/lib/utils/search.js +1 -1
- package/lib/utils/serviceWorker.js +1 -1
- package/lib/utils/shard.js +9 -9
- package/lib/utils/sort.js +1 -1
- package/lib/utils/string.js +1 -1
- package/lib/utils/table.js +4 -4
- package/lib/utils/timer.js +26 -26
- package/lib/utils/timezone.js +1 -1
- package/lib/utils/url.js +26 -26
- package/lib/utils/user.js +1 -1
- package/lib/utils/userActivity.js +6 -6
- package/lib/utils/userAgent.js +1 -1
- package/lib/utils/userRole.js +16 -16
- package/package.json +204 -204
|
@@ -30,14 +30,14 @@ const configureActivityRequiredComponent = WrappedComponent => {
|
|
|
30
30
|
};
|
|
31
31
|
};
|
|
32
32
|
|
|
33
|
-
/**
|
|
34
|
-
* Return `mapStateToProps` function. Add a `hasAccess` boolean property to the component's props
|
|
35
|
-
* checking whether the user has the passed `requiredActivity`.
|
|
36
|
-
*
|
|
37
|
-
* @param accessPredicate A predicate accepting a required activity and an optional entity and/or userInfo object
|
|
38
|
-
* @param requiredActivity The required activity which is passed to the predicate for evaluation
|
|
39
|
-
* @param modelsProperty (Optional) The property used to locate the entity or entities needed for entity-level activity grants
|
|
40
|
-
* @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
|
|
33
|
+
/**
|
|
34
|
+
* Return `mapStateToProps` function. Add a `hasAccess` boolean property to the component's props
|
|
35
|
+
* checking whether the user has the passed `requiredActivity`.
|
|
36
|
+
*
|
|
37
|
+
* @param accessPredicate A predicate accepting a required activity and an optional entity and/or userInfo object
|
|
38
|
+
* @param requiredActivity The required activity which is passed to the predicate for evaluation
|
|
39
|
+
* @param modelsProperty (Optional) The property used to locate the entity or entities needed for entity-level activity grants
|
|
40
|
+
* @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
|
|
41
41
|
*/
|
|
42
42
|
exports.configureActivityRequiredComponent = configureActivityRequiredComponent;
|
|
43
43
|
const configureMapStateToProps = (accessPredicate, requiredActivity, modelsProperty, redirectPath) => (state, ownProps) => {
|
|
@@ -48,51 +48,51 @@ const configureMapStateToProps = (accessPredicate, requiredActivity, modelsPrope
|
|
|
48
48
|
};
|
|
49
49
|
};
|
|
50
50
|
|
|
51
|
-
/**
|
|
52
|
-
* This HOC ensures that the wrapped component is only rendered if the predicate provided is satisfied.
|
|
53
|
-
*
|
|
54
|
-
* Typically this component is used by passing one of the functions in utils/activities as the
|
|
55
|
-
* `accessPredicate` and a constant from "constants/activities" as the `requiredActivity`.
|
|
56
|
-
*
|
|
57
|
-
* If a lambda is passed as the predicate, it is passed (but may or may not opt to utilize) the `requiredActivity`
|
|
58
|
-
* parameter. It can be ignored if not needed by the lambda.
|
|
59
|
-
*
|
|
60
|
-
* @param WrappedComponent The component which requires activity/activities in order to render
|
|
61
|
-
* @param accessPredicate A predicate accepting a required activity and an optional entity and/or userInfo object
|
|
62
|
-
* @param requiredActivity The required activity which is passed to the predicate for evaluation
|
|
63
|
-
* @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
|
|
51
|
+
/**
|
|
52
|
+
* This HOC ensures that the wrapped component is only rendered if the predicate provided is satisfied.
|
|
53
|
+
*
|
|
54
|
+
* Typically this component is used by passing one of the functions in utils/activities as the
|
|
55
|
+
* `accessPredicate` and a constant from "constants/activities" as the `requiredActivity`.
|
|
56
|
+
*
|
|
57
|
+
* If a lambda is passed as the predicate, it is passed (but may or may not opt to utilize) the `requiredActivity`
|
|
58
|
+
* parameter. It can be ignored if not needed by the lambda.
|
|
59
|
+
*
|
|
60
|
+
* @param WrappedComponent The component which requires activity/activities in order to render
|
|
61
|
+
* @param accessPredicate A predicate accepting a required activity and an optional entity and/or userInfo object
|
|
62
|
+
* @param requiredActivity The required activity which is passed to the predicate for evaluation
|
|
63
|
+
* @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
|
|
64
64
|
*/
|
|
65
65
|
|
|
66
|
-
/**
|
|
67
|
-
* This HOC ensures that the wrapped component is rendered if the predicate provided is satisfied.
|
|
68
|
-
*
|
|
69
|
-
* Typically this component is used by passing one of the functions in utils/activities as the
|
|
70
|
-
* `accessPredicate` and a constant from "constants/activities" as the `requiredActivity`.
|
|
71
|
-
*
|
|
72
|
-
* If a lambda is passed as the predicate, it is passed (but may or may not opt to utilize) the `requiredActivity`
|
|
73
|
-
* and `modelsProperty` parameters. They can be ignored if not needed by the lambda.
|
|
74
|
-
*
|
|
75
|
-
* @param WrappedComponent The component which requires activity/activities in order to render
|
|
76
|
-
* @param accessPredicate A predicate accepting a required activity and an optional entity and/or userInfo object
|
|
77
|
-
* @param requiredActivity The required activity which is passed to the predicate for evaluation
|
|
78
|
-
* @param modelsProperty The property used to locate the entity or entities needed for entity-level activity grants
|
|
79
|
-
* @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
|
|
66
|
+
/**
|
|
67
|
+
* This HOC ensures that the wrapped component is rendered if the predicate provided is satisfied.
|
|
68
|
+
*
|
|
69
|
+
* Typically this component is used by passing one of the functions in utils/activities as the
|
|
70
|
+
* `accessPredicate` and a constant from "constants/activities" as the `requiredActivity`.
|
|
71
|
+
*
|
|
72
|
+
* If a lambda is passed as the predicate, it is passed (but may or may not opt to utilize) the `requiredActivity`
|
|
73
|
+
* and `modelsProperty` parameters. They can be ignored if not needed by the lambda.
|
|
74
|
+
*
|
|
75
|
+
* @param WrappedComponent The component which requires activity/activities in order to render
|
|
76
|
+
* @param accessPredicate A predicate accepting a required activity and an optional entity and/or userInfo object
|
|
77
|
+
* @param requiredActivity The required activity which is passed to the predicate for evaluation
|
|
78
|
+
* @param modelsProperty The property used to locate the entity or entities needed for entity-level activity grants
|
|
79
|
+
* @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
|
|
80
80
|
*/
|
|
81
81
|
exports.configureMapStateToProps = configureMapStateToProps;
|
|
82
|
-
/**
|
|
83
|
-
* This HOC ensures that the wrapped component is rendered if the predicate provided is satisfied.
|
|
84
|
-
*
|
|
85
|
-
* Typically this component is used by passing one of the functions in utils/activities as the
|
|
86
|
-
* `accessPredicate` and a constant from "constants/activities" as the `requiredActivity`.
|
|
87
|
-
*
|
|
88
|
-
* If a lambda is passed as the predicate, it is passed (but may or may not opt to utilize) the `requiredActivity`
|
|
89
|
-
* and `modelsProperty` parameters. They can be ignored if not needed by the lambda.
|
|
90
|
-
*
|
|
91
|
-
* @param WrappedComponent The component which requires activity/activities in order to render
|
|
92
|
-
* @param accessPredicate A predicate accepting a required activity and an optional entity and/or userInfo object
|
|
93
|
-
* @param requiredActivity The required activity which is passed to the predicate for evaluation
|
|
94
|
-
* @param modelsProperty The property used to locate the entity or entities needed for entity-level activity grants
|
|
95
|
-
* @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
|
|
82
|
+
/**
|
|
83
|
+
* This HOC ensures that the wrapped component is rendered if the predicate provided is satisfied.
|
|
84
|
+
*
|
|
85
|
+
* Typically this component is used by passing one of the functions in utils/activities as the
|
|
86
|
+
* `accessPredicate` and a constant from "constants/activities" as the `requiredActivity`.
|
|
87
|
+
*
|
|
88
|
+
* If a lambda is passed as the predicate, it is passed (but may or may not opt to utilize) the `requiredActivity`
|
|
89
|
+
* and `modelsProperty` parameters. They can be ignored if not needed by the lambda.
|
|
90
|
+
*
|
|
91
|
+
* @param WrappedComponent The component which requires activity/activities in order to render
|
|
92
|
+
* @param accessPredicate A predicate accepting a required activity and an optional entity and/or userInfo object
|
|
93
|
+
* @param requiredActivity The required activity which is passed to the predicate for evaluation
|
|
94
|
+
* @param modelsProperty The property used to locate the entity or entities needed for entity-level activity grants
|
|
95
|
+
* @param redirectPath (Optional) A string or function that provides the redirect path for when `accessPredicate` is false. Defaults to '/'.
|
|
96
96
|
*/
|
|
97
97
|
function activityRequiredComponent(WrappedComponent, accessPredicate, requiredActivity, modelsProperty, redirectPath) {
|
|
98
98
|
const ActivityRequiredComponent = configureActivityRequiredComponent(WrappedComponent);
|
|
@@ -100,4 +100,4 @@ function activityRequiredComponent(WrappedComponent, accessPredicate, requiredAc
|
|
|
100
100
|
// @ts-ignore: could not match inferred type from the `connect` HOC
|
|
101
101
|
return (0, _reactRedux.connect)(mapStateToProps)(ActivityRequiredComponent);
|
|
102
102
|
}
|
|
103
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3JlYWN0UmVkdXgiLCJfcmVhY3RSb3V0ZXJEb20iLCJfYmFzZUFjdGl2aXR5IiwiX2pzeFJ1bnRpbWUiLCJjb25maWd1cmVBY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50IiwiV3JhcHBlZENvbXBvbmVudCIsIkFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQiLCJDb21wb25lbnQiLCJyZW5kZXIiLCJoYXNBY2Nlc3MiLCJyZWRpcmVjdFBhdGgiLCJyZXN0IiwicHJvcHMiLCJqc3giLCJSZWRpcmVjdCIsInRvIiwiZXhwb3J0cyIsImNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyIsImFjY2Vzc1ByZWRpY2F0ZSIsInJlcXVpcmVkQWN0aXZpdHkiLCJtb2RlbHNQcm9wZXJ0eSIsInN0YXRlIiwib3duUHJvcHMiLCJvcHRpb25zIiwiZGVmYXVsdE9wdGlvbnMiLCJhY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50IiwibWFwU3RhdGVUb1Byb3BzIiwiY29ubmVjdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0hPQy9BY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudENsYXNzLCBDb21wb25lbnRUeXBlIH0gZnJvbSAncmVhY3QnXHJcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICdyZWFjdC1yZWR1eCdcclxuaW1wb3J0IHsgUmVkaXJlY3QgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJ1xyXG5pbXBvcnQgeyBCYXNlUmVkdXhTdGF0ZSwgTW9kZWwsIE9wdGlvbmFsUmVjb3JkIH0gZnJvbSAnLi4vLi4vdHlwZXMnXHJcbmltcG9ydCB7IEFjdGl2aXR5T3B0aW9ucywgZGVmYXVsdE9wdGlvbnMgfSBmcm9tICcuLi8uLi91dGlscy9iYXNlQWN0aXZpdHknXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2aXR5UmVxdWlyZWRTdGF0ZVByb3BzIHtcclxuXHRoYXNBY2Nlc3M6IGJvb2xlYW5cclxuXHRyZWRpcmVjdFBhdGg6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgY29uZmlndXJlQWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudCA9IDxUT3duUHJvcHMgZXh0ZW5kcyBvYmplY3Q+KFxyXG5cdFdyYXBwZWRDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzPlxyXG4pID0+IHtcclxuXHRyZXR1cm4gY2xhc3MgQWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudDxUT3duUHJvcHMgJiBBY3Rpdml0eVJlcXVpcmVkU3RhdGVQcm9wcz4ge1xyXG5cdFx0cHVibGljIHJlbmRlcigpIHtcclxuXHRcdFx0Y29uc3QgeyBoYXNBY2Nlc3MsIHJlZGlyZWN0UGF0aCwgLi4ucmVzdCB9ID0gdGhpcy5wcm9wc1xyXG5cdFx0XHRpZiAoIWhhc0FjY2Vzcykge1xyXG5cdFx0XHRcdHJldHVybiA8UmVkaXJlY3QgdG89e3JlZGlyZWN0UGF0aH0gLz5cclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm4gPFdyYXBwZWRDb21wb25lbnQgey4uLihyZXN0IGFzIFRPd25Qcm9wcyl9IC8+XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIGBtYXBTdGF0ZVRvUHJvcHNgIGZ1bmN0aW9uLiBBZGQgYSBgaGFzQWNjZXNzYCBib29sZWFuIHByb3BlcnR5IHRvIHRoZSBjb21wb25lbnQncyBwcm9wc1xyXG4gKiBjaGVja2luZyB3aGV0aGVyIHRoZSB1c2VyIGhhcyB0aGUgcGFzc2VkIGByZXF1aXJlZEFjdGl2aXR5YC5cclxuICpcclxuICogQHBhcmFtIGFjY2Vzc1ByZWRpY2F0ZSBBIHByZWRpY2F0ZSBhY2NlcHRpbmcgYSByZXF1aXJlZCBhY3Rpdml0eSBhbmQgYW4gb3B0aW9uYWwgZW50aXR5IGFuZC9vciB1c2VySW5mbyBvYmplY3RcclxuICogQHBhcmFtIHJlcXVpcmVkQWN0aXZpdHkgVGhlIHJlcXVpcmVkIGFjdGl2aXR5IHdoaWNoIGlzIHBhc3NlZCB0byB0aGUgcHJlZGljYXRlIGZvciBldmFsdWF0aW9uXHJcbiAqIEBwYXJhbSBtb2RlbHNQcm9wZXJ0eSAoT3B0aW9uYWwpIFRoZSBwcm9wZXJ0eSB1c2VkIHRvIGxvY2F0ZSB0aGUgZW50aXR5IG9yIGVudGl0aWVzIG5lZWRlZCBmb3IgZW50aXR5LWxldmVsIGFjdGl2aXR5IGdyYW50c1xyXG4gKiBAcGFyYW0gcmVkaXJlY3RQYXRoIChPcHRpb25hbCkgQSBzdHJpbmcgb3IgZnVuY3Rpb24gdGhhdCBwcm92aWRlcyB0aGUgcmVkaXJlY3QgcGF0aCBmb3Igd2hlbiBgYWNjZXNzUHJlZGljYXRlYCBpcyBmYWxzZS4gRGVmYXVsdHMgdG8gJy8nLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyA9XHJcblx0KFxyXG5cdFx0YWNjZXNzUHJlZGljYXRlOiAocmVxdWlyZWRBY3Rpdml0eTogc3RyaW5nLCBvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IGJvb2xlYW4sXHJcblx0XHRyZXF1aXJlZEFjdGl2aXR5OiBzdHJpbmcsXHJcblx0XHRtb2RlbHNQcm9wZXJ0eT86IHN0cmluZyxcclxuXHRcdHJlZGlyZWN0UGF0aD86IHN0cmluZyB8ICgob3B0aW9uczogQWN0aXZpdHlPcHRpb25zKSA9PiBzdHJpbmcgfCB1bmRlZmluZWQpXHJcblx0KSA9PlxyXG5cdChzdGF0ZTogQmFzZVJlZHV4U3RhdGUsIG93blByb3BzPzogb2JqZWN0KTogQWN0aXZpdHlSZXF1aXJlZFN0YXRlUHJvcHMgPT4ge1xyXG5cdFx0Y29uc3Qgb3B0aW9ucyA9IGRlZmF1bHRPcHRpb25zKHN0YXRlLCBvd25Qcm9wcywgbW9kZWxzUHJvcGVydHkpXHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHRoYXNBY2Nlc3M6IGFjY2Vzc1ByZWRpY2F0ZShyZXF1aXJlZEFjdGl2aXR5LCBvcHRpb25zKSxcclxuXHRcdFx0cmVkaXJlY3RQYXRoOiAodHlwZW9mIHJlZGlyZWN0UGF0aCA9PT0gJ2Z1bmN0aW9uJyA/IHJlZGlyZWN0UGF0aChvcHRpb25zKSA6IHJlZGlyZWN0UGF0aCkgfHwgJy8nXHJcblx0XHR9XHJcblx0fVxyXG5cclxuLyoqXHJcbiAqIFRoaXMgSE9DIGVuc3VyZXMgdGhhdCB0aGUgd3JhcHBlZCBjb21wb25lbnQgaXMgb25seSByZW5kZXJlZCBpZiB0aGUgcHJlZGljYXRlIHByb3ZpZGVkIGlzIHNhdGlzZmllZC5cclxuICpcclxuICogVHlwaWNhbGx5IHRoaXMgY29tcG9uZW50IGlzIHVzZWQgYnkgcGFzc2luZyBvbmUgb2YgdGhlIGZ1bmN0aW9ucyBpbiB1dGlscy9hY3Rpdml0aWVzIGFzIHRoZVxyXG4gKiBgYWNjZXNzUHJlZGljYXRlYCBhbmQgYSBjb25zdGFudCBmcm9tIFwiY29uc3RhbnRzL2FjdGl2aXRpZXNcIiBhcyB0aGUgYHJlcXVpcmVkQWN0aXZpdHlgLlxyXG4gKlxyXG4gKiBJZiBhIGxhbWJkYSBpcyBwYXNzZWQgYXMgdGhlIHByZWRpY2F0ZSwgaXQgaXMgcGFzc2VkIChidXQgbWF5IG9yIG1heSBub3Qgb3B0IHRvIHV0aWxpemUpIHRoZSBgcmVxdWlyZWRBY3Rpdml0eWBcclxuICogcGFyYW1ldGVyLiBJdCBjYW4gYmUgaWdub3JlZCBpZiBub3QgbmVlZGVkIGJ5IHRoZSBsYW1iZGEuXHJcbiAqXHJcbiAqIEBwYXJhbSBXcmFwcGVkQ29tcG9uZW50IFRoZSBjb21wb25lbnQgd2hpY2ggcmVxdWlyZXMgYWN0aXZpdHkvYWN0aXZpdGllcyBpbiBvcmRlciB0byByZW5kZXJcclxuICogQHBhcmFtIGFjY2Vzc1ByZWRpY2F0ZSBBIHByZWRpY2F0ZSBhY2NlcHRpbmcgYSByZXF1aXJlZCBhY3Rpdml0eSBhbmQgYW4gb3B0aW9uYWwgZW50aXR5IGFuZC9vciB1c2VySW5mbyBvYmplY3RcclxuICogQHBhcmFtIHJlcXVpcmVkQWN0aXZpdHkgVGhlIHJlcXVpcmVkIGFjdGl2aXR5IHdoaWNoIGlzIHBhc3NlZCB0byB0aGUgcHJlZGljYXRlIGZvciBldmFsdWF0aW9uXHJcbiAqIEBwYXJhbSByZWRpcmVjdFBhdGggKE9wdGlvbmFsKSBBIHN0cmluZyBvciBmdW5jdGlvbiB0aGF0IHByb3ZpZGVzIHRoZSByZWRpcmVjdCBwYXRoIGZvciB3aGVuIGBhY2Nlc3NQcmVkaWNhdGVgIGlzIGZhbHNlLiBEZWZhdWx0cyB0byAnLycuXHJcbiAqL1xyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50PFRPd25Qcm9wcyBleHRlbmRzIG9iamVjdD4oXHJcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHM+LFxyXG5cdGFjY2Vzc1ByZWRpY2F0ZTogKHJlcXVpcmVkQWN0aXZpdHk6IHN0cmluZywgb3B0aW9uczogQWN0aXZpdHlPcHRpb25zKSA9PiBib29sZWFuLFxyXG5cdHJlcXVpcmVkQWN0aXZpdHk6IHN0cmluZyxcclxuXHRyZWRpcmVjdFBhdGg/OiBzdHJpbmcgfCAoKG9wdGlvbnM6IEFjdGl2aXR5T3B0aW9ucykgPT4gc3RyaW5nIHwgdW5kZWZpbmVkKVxyXG4pOiBDb21wb25lbnRDbGFzczxUT3duUHJvcHM+XHJcbi8qKlxyXG4gKiBUaGlzIEhPQyBlbnN1cmVzIHRoYXQgdGhlIHdyYXBwZWQgY29tcG9uZW50IGlzIHJlbmRlcmVkIGlmIHRoZSBwcmVkaWNhdGUgcHJvdmlkZWQgaXMgc2F0aXNmaWVkLlxyXG4gKlxyXG4gKiBUeXBpY2FsbHkgdGhpcyBjb21wb25lbnQgaXMgdXNlZCBieSBwYXNzaW5nIG9uZSBvZiB0aGUgZnVuY3Rpb25zIGluIHV0aWxzL2FjdGl2aXRpZXMgYXMgdGhlXHJcbiAqIGBhY2Nlc3NQcmVkaWNhdGVgIGFuZCBhIGNvbnN0YW50IGZyb20gXCJjb25zdGFudHMvYWN0aXZpdGllc1wiIGFzIHRoZSBgcmVxdWlyZWRBY3Rpdml0eWAuXHJcbiAqXHJcbiAqIElmIGEgbGFtYmRhIGlzIHBhc3NlZCBhcyB0aGUgcHJlZGljYXRlLCBpdCBpcyBwYXNzZWQgKGJ1dCBtYXkgb3IgbWF5IG5vdCBvcHQgdG8gdXRpbGl6ZSkgdGhlIGByZXF1aXJlZEFjdGl2aXR5YFxyXG4gKiBhbmQgYG1vZGVsc1Byb3BlcnR5YCBwYXJhbWV0ZXJzLiBUaGV5IGNhbiBiZSBpZ25vcmVkIGlmIG5vdCBuZWVkZWQgYnkgdGhlIGxhbWJkYS5cclxuICpcclxuICogQHBhcmFtIFdyYXBwZWRDb21wb25lbnQgVGhlIGNvbXBvbmVudCB3aGljaCByZXF1aXJlcyBhY3Rpdml0eS9hY3Rpdml0aWVzIGluIG9yZGVyIHRvIHJlbmRlclxyXG4gKiBAcGFyYW0gYWNjZXNzUHJlZGljYXRlIEEgcHJlZGljYXRlIGFjY2VwdGluZyBhIHJlcXVpcmVkIGFjdGl2aXR5IGFuZCBhbiBvcHRpb25hbCBlbnRpdHkgYW5kL29yIHVzZXJJbmZvIG9iamVjdFxyXG4gKiBAcGFyYW0gcmVxdWlyZWRBY3Rpdml0eSBUaGUgcmVxdWlyZWQgYWN0aXZpdHkgd2hpY2ggaXMgcGFzc2VkIHRvIHRoZSBwcmVkaWNhdGUgZm9yIGV2YWx1YXRpb25cclxuICogQHBhcmFtIG1vZGVsc1Byb3BlcnR5IFRoZSBwcm9wZXJ0eSB1c2VkIHRvIGxvY2F0ZSB0aGUgZW50aXR5IG9yIGVudGl0aWVzIG5lZWRlZCBmb3IgZW50aXR5LWxldmVsIGFjdGl2aXR5IGdyYW50c1xyXG4gKiBAcGFyYW0gcmVkaXJlY3RQYXRoIChPcHRpb25hbCkgQSBzdHJpbmcgb3IgZnVuY3Rpb24gdGhhdCBwcm92aWRlcyB0aGUgcmVkaXJlY3QgcGF0aCBmb3Igd2hlbiBgYWNjZXNzUHJlZGljYXRlYCBpcyBmYWxzZS4gRGVmYXVsdHMgdG8gJy8nLlxyXG4gKi9cclxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudDxUT3duUHJvcHMgZXh0ZW5kcyBvYmplY3QsIFRQcm9wTmFtZSBleHRlbmRzIHN0cmluZz4oXHJcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHM+LFxyXG5cdGFjY2Vzc1ByZWRpY2F0ZTogKHJlcXVpcmVkQWN0aXZpdHk6IHN0cmluZywgb3B0aW9uczogQWN0aXZpdHlPcHRpb25zKSA9PiBib29sZWFuLFxyXG5cdHJlcXVpcmVkQWN0aXZpdHk6IHN0cmluZyxcclxuXHRtb2RlbHNQcm9wZXJ0eTogVFByb3BOYW1lLFxyXG5cdHJlZGlyZWN0UGF0aD86IHN0cmluZyB8ICgob3B0aW9uczogQWN0aXZpdHlPcHRpb25zKSA9PiBzdHJpbmcgfCB1bmRlZmluZWQpXHJcbik6IENvbXBvbmVudENsYXNzPFRPd25Qcm9wcyAmIE9wdGlvbmFsUmVjb3JkPFRQcm9wTmFtZSwgTW9kZWw+PlxyXG4vKipcclxuICogVGhpcyBIT0MgZW5zdXJlcyB0aGF0IHRoZSB3cmFwcGVkIGNvbXBvbmVudCBpcyByZW5kZXJlZCBpZiB0aGUgcHJlZGljYXRlIHByb3ZpZGVkIGlzIHNhdGlzZmllZC5cclxuICpcclxuICogVHlwaWNhbGx5IHRoaXMgY29tcG9uZW50IGlzIHVzZWQgYnkgcGFzc2luZyBvbmUgb2YgdGhlIGZ1bmN0aW9ucyBpbiB1dGlscy9hY3Rpdml0aWVzIGFzIHRoZVxyXG4gKiBgYWNjZXNzUHJlZGljYXRlYCBhbmQgYSBjb25zdGFudCBmcm9tIFwiY29uc3RhbnRzL2FjdGl2aXRpZXNcIiBhcyB0aGUgYHJlcXVpcmVkQWN0aXZpdHlgLlxyXG4gKlxyXG4gKiBJZiBhIGxhbWJkYSBpcyBwYXNzZWQgYXMgdGhlIHByZWRpY2F0ZSwgaXQgaXMgcGFzc2VkIChidXQgbWF5IG9yIG1heSBub3Qgb3B0IHRvIHV0aWxpemUpIHRoZSBgcmVxdWlyZWRBY3Rpdml0eWBcclxuICogYW5kIGBtb2RlbHNQcm9wZXJ0eWAgcGFyYW1ldGVycy4gVGhleSBjYW4gYmUgaWdub3JlZCBpZiBub3QgbmVlZGVkIGJ5IHRoZSBsYW1iZGEuXHJcbiAqXHJcbiAqIEBwYXJhbSBXcmFwcGVkQ29tcG9uZW50IFRoZSBjb21wb25lbnQgd2hpY2ggcmVxdWlyZXMgYWN0aXZpdHkvYWN0aXZpdGllcyBpbiBvcmRlciB0byByZW5kZXJcclxuICogQHBhcmFtIGFjY2Vzc1ByZWRpY2F0ZSBBIHByZWRpY2F0ZSBhY2NlcHRpbmcgYSByZXF1aXJlZCBhY3Rpdml0eSBhbmQgYW4gb3B0aW9uYWwgZW50aXR5IGFuZC9vciB1c2VySW5mbyBvYmplY3RcclxuICogQHBhcmFtIHJlcXVpcmVkQWN0aXZpdHkgVGhlIHJlcXVpcmVkIGFjdGl2aXR5IHdoaWNoIGlzIHBhc3NlZCB0byB0aGUgcHJlZGljYXRlIGZvciBldmFsdWF0aW9uXHJcbiAqIEBwYXJhbSBtb2RlbHNQcm9wZXJ0eSBUaGUgcHJvcGVydHkgdXNlZCB0byBsb2NhdGUgdGhlIGVudGl0eSBvciBlbnRpdGllcyBuZWVkZWQgZm9yIGVudGl0eS1sZXZlbCBhY3Rpdml0eSBncmFudHNcclxuICogQHBhcmFtIHJlZGlyZWN0UGF0aCAoT3B0aW9uYWwpIEEgc3RyaW5nIG9yIGZ1bmN0aW9uIHRoYXQgcHJvdmlkZXMgdGhlIHJlZGlyZWN0IHBhdGggZm9yIHdoZW4gYGFjY2Vzc1ByZWRpY2F0ZWAgaXMgZmFsc2UuIERlZmF1bHRzIHRvICcvJy5cclxuICovXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQ8VE93blByb3BzIGV4dGVuZHMgb2JqZWN0LCBUUHJvcE5hbWUgZXh0ZW5kcyBzdHJpbmc+KFxyXG5cdFdyYXBwZWRDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzPixcclxuXHRhY2Nlc3NQcmVkaWNhdGU6IChyZXF1aXJlZEFjdGl2aXR5OiBzdHJpbmcsIG9wdGlvbnM6IEFjdGl2aXR5T3B0aW9ucykgPT4gYm9vbGVhbixcclxuXHRyZXF1aXJlZEFjdGl2aXR5OiBzdHJpbmcsXHJcblx0bW9kZWxzUHJvcGVydHk/OiBUUHJvcE5hbWUsXHJcblx0cmVkaXJlY3RQYXRoPzogc3RyaW5nIHwgKChvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IHN0cmluZyB8IHVuZGVmaW5lZClcclxuKTogQ29tcG9uZW50Q2xhc3M8VE93blByb3BzICYgT3B0aW9uYWxSZWNvcmQ8VFByb3BOYW1lLCBNb2RlbD4+IHtcclxuXHRjb25zdCBBY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50ID0gY29uZmlndXJlQWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudChXcmFwcGVkQ29tcG9uZW50KVxyXG5cdGNvbnN0IG1hcFN0YXRlVG9Qcm9wcyA9IGNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyhhY2Nlc3NQcmVkaWNhdGUsIHJlcXVpcmVkQWN0aXZpdHksIG1vZGVsc1Byb3BlcnR5LCByZWRpcmVjdFBhdGgpXHJcblx0Ly8gQHRzLWlnbm9yZTogY291bGQgbm90IG1hdGNoIGluZmVycmVkIHR5cGUgZnJvbSB0aGUgYGNvbm5lY3RgIEhPQ1xyXG5cdHJldHVybiBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcykoQWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudClcclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxlQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxhQUFBLEdBQUFILE9BQUE7QUFBMEUsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBT25FLE1BQU1LLGtDQUFrQyxHQUM5Q0MsZ0JBQTBDLElBQ3RDO0VBQ0osT0FBTyxNQUFNQyx5QkFBeUIsU0FBU0MsZ0JBQVMsQ0FBeUM7SUFDekZDLE1BQU1BLENBQUEsRUFBRztNQUNmLE1BQU07UUFBRUMsU0FBUztRQUFFQyxZQUFZO1FBQUUsR0FBR0M7TUFBSyxDQUFDLEdBQUcsSUFBSSxDQUFDQyxLQUFLO01BQ3ZELElBQUksQ0FBQ0gsU0FBUyxFQUFFO1FBQ2Ysb0JBQU8sSUFBQU4sV0FBQSxDQUFBVSxHQUFBLEVBQUNaLGVBQUEsQ0FBQWEsUUFBUTtVQUFDQyxFQUFFLEVBQUVMO1FBQWEsQ0FBRSxDQUFDO01BQ3RDO01BQ0Esb0JBQU8sSUFBQVAsV0FBQSxDQUFBVSxHQUFBLEVBQUNSLGdCQUFnQjtRQUFBLEdBQU1NO01BQUksQ0FBaUIsQ0FBQztJQUNyRDtFQUNELENBQUM7QUFDRixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVJBSyxPQUFBLENBQUFaLGtDQUFBLEdBQUFBLGtDQUFBO0FBU08sTUFBTWEsd0JBQXdCLEdBQ3BDQSxDQUNDQyxlQUFnRixFQUNoRkMsZ0JBQXdCLEVBQ3hCQyxjQUF1QixFQUN2QlYsWUFBMEUsS0FFM0UsQ0FBQ1csS0FBcUIsRUFBRUMsUUFBaUIsS0FBaUM7RUFDekUsTUFBTUMsT0FBTyxHQUFHLElBQUFDLDRCQUFjLEVBQUNILEtBQUssRUFBRUMsUUFBUSxFQUFFRixjQUFjLENBQUM7RUFDL0QsT0FBTztJQUNOWCxTQUFTLEVBQUVTLGVBQWUsQ0FBQ0MsZ0JBQWdCLEVBQUVJLE9BQU8sQ0FBQztJQUNyRGIsWUFBWSxFQUFFLENBQUMsT0FBT0EsWUFBWSxLQUFLLFVBQVUsR0FBR0EsWUFBWSxDQUFDYSxPQUFPLENBQUMsR0FBR2IsWUFBWSxLQUFLO0VBQzlGLENBQUM7QUFDRixDQUFDOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZEFNLE9BQUEsQ0FBQUMsd0JBQUEsR0FBQUEsd0JBQUE7QUFzQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsU0FBU1EseUJBQXlCQSxDQUNoRHBCLGdCQUEwQyxFQUMxQ2EsZUFBZ0YsRUFDaEZDLGdCQUF3QixFQUN4QkMsY0FBMEIsRUFDMUJWLFlBQTBFLEVBQ1g7RUFDL0QsTUFBTUoseUJBQXlCLEdBQUdGLGtDQUFrQyxDQUFDQyxnQkFBZ0IsQ0FBQztFQUN0RixNQUFNcUIsZUFBZSxHQUFHVCx3QkFBd0IsQ0FBQ0MsZUFBZSxFQUFFQyxnQkFBZ0IsRUFBRUMsY0FBYyxFQUFFVixZQUFZLENBQUM7RUFDakg7RUFDQSxPQUFPLElBQUFpQixtQkFBTyxFQUFDRCxlQUFlLENBQUMsQ0FBQ3BCLHlCQUF5QixDQUFDO0FBQzNEIiwiaWdub3JlTGlzdCI6W119
|
|
103
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3JlYWN0UmVkdXgiLCJfcmVhY3RSb3V0ZXJEb20iLCJfYmFzZUFjdGl2aXR5IiwiX2pzeFJ1bnRpbWUiLCJjb25maWd1cmVBY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50IiwiV3JhcHBlZENvbXBvbmVudCIsIkFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQiLCJDb21wb25lbnQiLCJyZW5kZXIiLCJoYXNBY2Nlc3MiLCJyZWRpcmVjdFBhdGgiLCJyZXN0IiwicHJvcHMiLCJqc3giLCJSZWRpcmVjdCIsInRvIiwiZXhwb3J0cyIsImNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyIsImFjY2Vzc1ByZWRpY2F0ZSIsInJlcXVpcmVkQWN0aXZpdHkiLCJtb2RlbHNQcm9wZXJ0eSIsInN0YXRlIiwib3duUHJvcHMiLCJvcHRpb25zIiwiZGVmYXVsdE9wdGlvbnMiLCJhY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50IiwibWFwU3RhdGVUb1Byb3BzIiwiY29ubmVjdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0hPQy9BY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudENsYXNzLCBDb21wb25lbnRUeXBlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjb25uZWN0IH0gZnJvbSAncmVhY3QtcmVkdXgnXG5pbXBvcnQgeyBSZWRpcmVjdCB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nXG5pbXBvcnQgeyBCYXNlUmVkdXhTdGF0ZSwgTW9kZWwsIE9wdGlvbmFsUmVjb3JkIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgeyBBY3Rpdml0eU9wdGlvbnMsIGRlZmF1bHRPcHRpb25zIH0gZnJvbSAnLi4vLi4vdXRpbHMvYmFzZUFjdGl2aXR5J1xuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2aXR5UmVxdWlyZWRTdGF0ZVByb3BzIHtcblx0aGFzQWNjZXNzOiBib29sZWFuXG5cdHJlZGlyZWN0UGF0aDogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCBjb25maWd1cmVBY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50ID0gPFRPd25Qcm9wcyBleHRlbmRzIG9iamVjdD4oXG5cdFdyYXBwZWRDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzPlxuKSA9PiB7XG5cdHJldHVybiBjbGFzcyBBY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50PFRPd25Qcm9wcyAmIEFjdGl2aXR5UmVxdWlyZWRTdGF0ZVByb3BzPiB7XG5cdFx0cHVibGljIHJlbmRlcigpIHtcblx0XHRcdGNvbnN0IHsgaGFzQWNjZXNzLCByZWRpcmVjdFBhdGgsIC4uLnJlc3QgfSA9IHRoaXMucHJvcHNcblx0XHRcdGlmICghaGFzQWNjZXNzKSB7XG5cdFx0XHRcdHJldHVybiA8UmVkaXJlY3QgdG89e3JlZGlyZWN0UGF0aH0gLz5cblx0XHRcdH1cblx0XHRcdHJldHVybiA8V3JhcHBlZENvbXBvbmVudCB7Li4uKHJlc3QgYXMgVE93blByb3BzKX0gLz5cblx0XHR9XG5cdH1cbn1cblxuLyoqXG4gKiBSZXR1cm4gYG1hcFN0YXRlVG9Qcm9wc2AgZnVuY3Rpb24uIEFkZCBhIGBoYXNBY2Nlc3NgIGJvb2xlYW4gcHJvcGVydHkgdG8gdGhlIGNvbXBvbmVudCdzIHByb3BzXG4gKiBjaGVja2luZyB3aGV0aGVyIHRoZSB1c2VyIGhhcyB0aGUgcGFzc2VkIGByZXF1aXJlZEFjdGl2aXR5YC5cbiAqXG4gKiBAcGFyYW0gYWNjZXNzUHJlZGljYXRlIEEgcHJlZGljYXRlIGFjY2VwdGluZyBhIHJlcXVpcmVkIGFjdGl2aXR5IGFuZCBhbiBvcHRpb25hbCBlbnRpdHkgYW5kL29yIHVzZXJJbmZvIG9iamVjdFxuICogQHBhcmFtIHJlcXVpcmVkQWN0aXZpdHkgVGhlIHJlcXVpcmVkIGFjdGl2aXR5IHdoaWNoIGlzIHBhc3NlZCB0byB0aGUgcHJlZGljYXRlIGZvciBldmFsdWF0aW9uXG4gKiBAcGFyYW0gbW9kZWxzUHJvcGVydHkgKE9wdGlvbmFsKSBUaGUgcHJvcGVydHkgdXNlZCB0byBsb2NhdGUgdGhlIGVudGl0eSBvciBlbnRpdGllcyBuZWVkZWQgZm9yIGVudGl0eS1sZXZlbCBhY3Rpdml0eSBncmFudHNcbiAqIEBwYXJhbSByZWRpcmVjdFBhdGggKE9wdGlvbmFsKSBBIHN0cmluZyBvciBmdW5jdGlvbiB0aGF0IHByb3ZpZGVzIHRoZSByZWRpcmVjdCBwYXRoIGZvciB3aGVuIGBhY2Nlc3NQcmVkaWNhdGVgIGlzIGZhbHNlLiBEZWZhdWx0cyB0byAnLycuXG4gKi9cbmV4cG9ydCBjb25zdCBjb25maWd1cmVNYXBTdGF0ZVRvUHJvcHMgPVxuXHQoXG5cdFx0YWNjZXNzUHJlZGljYXRlOiAocmVxdWlyZWRBY3Rpdml0eTogc3RyaW5nLCBvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IGJvb2xlYW4sXG5cdFx0cmVxdWlyZWRBY3Rpdml0eTogc3RyaW5nLFxuXHRcdG1vZGVsc1Byb3BlcnR5Pzogc3RyaW5nLFxuXHRcdHJlZGlyZWN0UGF0aD86IHN0cmluZyB8ICgob3B0aW9uczogQWN0aXZpdHlPcHRpb25zKSA9PiBzdHJpbmcgfCB1bmRlZmluZWQpXG5cdCkgPT5cblx0KHN0YXRlOiBCYXNlUmVkdXhTdGF0ZSwgb3duUHJvcHM/OiBvYmplY3QpOiBBY3Rpdml0eVJlcXVpcmVkU3RhdGVQcm9wcyA9PiB7XG5cdFx0Y29uc3Qgb3B0aW9ucyA9IGRlZmF1bHRPcHRpb25zKHN0YXRlLCBvd25Qcm9wcywgbW9kZWxzUHJvcGVydHkpXG5cdFx0cmV0dXJuIHtcblx0XHRcdGhhc0FjY2VzczogYWNjZXNzUHJlZGljYXRlKHJlcXVpcmVkQWN0aXZpdHksIG9wdGlvbnMpLFxuXHRcdFx0cmVkaXJlY3RQYXRoOiAodHlwZW9mIHJlZGlyZWN0UGF0aCA9PT0gJ2Z1bmN0aW9uJyA/IHJlZGlyZWN0UGF0aChvcHRpb25zKSA6IHJlZGlyZWN0UGF0aCkgfHwgJy8nXG5cdFx0fVxuXHR9XG5cbi8qKlxuICogVGhpcyBIT0MgZW5zdXJlcyB0aGF0IHRoZSB3cmFwcGVkIGNvbXBvbmVudCBpcyBvbmx5IHJlbmRlcmVkIGlmIHRoZSBwcmVkaWNhdGUgcHJvdmlkZWQgaXMgc2F0aXNmaWVkLlxuICpcbiAqIFR5cGljYWxseSB0aGlzIGNvbXBvbmVudCBpcyB1c2VkIGJ5IHBhc3Npbmcgb25lIG9mIHRoZSBmdW5jdGlvbnMgaW4gdXRpbHMvYWN0aXZpdGllcyBhcyB0aGVcbiAqIGBhY2Nlc3NQcmVkaWNhdGVgIGFuZCBhIGNvbnN0YW50IGZyb20gXCJjb25zdGFudHMvYWN0aXZpdGllc1wiIGFzIHRoZSBgcmVxdWlyZWRBY3Rpdml0eWAuXG4gKlxuICogSWYgYSBsYW1iZGEgaXMgcGFzc2VkIGFzIHRoZSBwcmVkaWNhdGUsIGl0IGlzIHBhc3NlZCAoYnV0IG1heSBvciBtYXkgbm90IG9wdCB0byB1dGlsaXplKSB0aGUgYHJlcXVpcmVkQWN0aXZpdHlgXG4gKiBwYXJhbWV0ZXIuIEl0IGNhbiBiZSBpZ25vcmVkIGlmIG5vdCBuZWVkZWQgYnkgdGhlIGxhbWJkYS5cbiAqXG4gKiBAcGFyYW0gV3JhcHBlZENvbXBvbmVudCBUaGUgY29tcG9uZW50IHdoaWNoIHJlcXVpcmVzIGFjdGl2aXR5L2FjdGl2aXRpZXMgaW4gb3JkZXIgdG8gcmVuZGVyXG4gKiBAcGFyYW0gYWNjZXNzUHJlZGljYXRlIEEgcHJlZGljYXRlIGFjY2VwdGluZyBhIHJlcXVpcmVkIGFjdGl2aXR5IGFuZCBhbiBvcHRpb25hbCBlbnRpdHkgYW5kL29yIHVzZXJJbmZvIG9iamVjdFxuICogQHBhcmFtIHJlcXVpcmVkQWN0aXZpdHkgVGhlIHJlcXVpcmVkIGFjdGl2aXR5IHdoaWNoIGlzIHBhc3NlZCB0byB0aGUgcHJlZGljYXRlIGZvciBldmFsdWF0aW9uXG4gKiBAcGFyYW0gcmVkaXJlY3RQYXRoIChPcHRpb25hbCkgQSBzdHJpbmcgb3IgZnVuY3Rpb24gdGhhdCBwcm92aWRlcyB0aGUgcmVkaXJlY3QgcGF0aCBmb3Igd2hlbiBgYWNjZXNzUHJlZGljYXRlYCBpcyBmYWxzZS4gRGVmYXVsdHMgdG8gJy8nLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50PFRPd25Qcm9wcyBleHRlbmRzIG9iamVjdD4oXG5cdFdyYXBwZWRDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzPixcblx0YWNjZXNzUHJlZGljYXRlOiAocmVxdWlyZWRBY3Rpdml0eTogc3RyaW5nLCBvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IGJvb2xlYW4sXG5cdHJlcXVpcmVkQWN0aXZpdHk6IHN0cmluZyxcblx0cmVkaXJlY3RQYXRoPzogc3RyaW5nIHwgKChvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IHN0cmluZyB8IHVuZGVmaW5lZClcbik6IENvbXBvbmVudENsYXNzPFRPd25Qcm9wcz5cbi8qKlxuICogVGhpcyBIT0MgZW5zdXJlcyB0aGF0IHRoZSB3cmFwcGVkIGNvbXBvbmVudCBpcyByZW5kZXJlZCBpZiB0aGUgcHJlZGljYXRlIHByb3ZpZGVkIGlzIHNhdGlzZmllZC5cbiAqXG4gKiBUeXBpY2FsbHkgdGhpcyBjb21wb25lbnQgaXMgdXNlZCBieSBwYXNzaW5nIG9uZSBvZiB0aGUgZnVuY3Rpb25zIGluIHV0aWxzL2FjdGl2aXRpZXMgYXMgdGhlXG4gKiBgYWNjZXNzUHJlZGljYXRlYCBhbmQgYSBjb25zdGFudCBmcm9tIFwiY29uc3RhbnRzL2FjdGl2aXRpZXNcIiBhcyB0aGUgYHJlcXVpcmVkQWN0aXZpdHlgLlxuICpcbiAqIElmIGEgbGFtYmRhIGlzIHBhc3NlZCBhcyB0aGUgcHJlZGljYXRlLCBpdCBpcyBwYXNzZWQgKGJ1dCBtYXkgb3IgbWF5IG5vdCBvcHQgdG8gdXRpbGl6ZSkgdGhlIGByZXF1aXJlZEFjdGl2aXR5YFxuICogYW5kIGBtb2RlbHNQcm9wZXJ0eWAgcGFyYW1ldGVycy4gVGhleSBjYW4gYmUgaWdub3JlZCBpZiBub3QgbmVlZGVkIGJ5IHRoZSBsYW1iZGEuXG4gKlxuICogQHBhcmFtIFdyYXBwZWRDb21wb25lbnQgVGhlIGNvbXBvbmVudCB3aGljaCByZXF1aXJlcyBhY3Rpdml0eS9hY3Rpdml0aWVzIGluIG9yZGVyIHRvIHJlbmRlclxuICogQHBhcmFtIGFjY2Vzc1ByZWRpY2F0ZSBBIHByZWRpY2F0ZSBhY2NlcHRpbmcgYSByZXF1aXJlZCBhY3Rpdml0eSBhbmQgYW4gb3B0aW9uYWwgZW50aXR5IGFuZC9vciB1c2VySW5mbyBvYmplY3RcbiAqIEBwYXJhbSByZXF1aXJlZEFjdGl2aXR5IFRoZSByZXF1aXJlZCBhY3Rpdml0eSB3aGljaCBpcyBwYXNzZWQgdG8gdGhlIHByZWRpY2F0ZSBmb3IgZXZhbHVhdGlvblxuICogQHBhcmFtIG1vZGVsc1Byb3BlcnR5IFRoZSBwcm9wZXJ0eSB1c2VkIHRvIGxvY2F0ZSB0aGUgZW50aXR5IG9yIGVudGl0aWVzIG5lZWRlZCBmb3IgZW50aXR5LWxldmVsIGFjdGl2aXR5IGdyYW50c1xuICogQHBhcmFtIHJlZGlyZWN0UGF0aCAoT3B0aW9uYWwpIEEgc3RyaW5nIG9yIGZ1bmN0aW9uIHRoYXQgcHJvdmlkZXMgdGhlIHJlZGlyZWN0IHBhdGggZm9yIHdoZW4gYGFjY2Vzc1ByZWRpY2F0ZWAgaXMgZmFsc2UuIERlZmF1bHRzIHRvICcvJy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYWN0aXZpdHlSZXF1aXJlZENvbXBvbmVudDxUT3duUHJvcHMgZXh0ZW5kcyBvYmplY3QsIFRQcm9wTmFtZSBleHRlbmRzIHN0cmluZz4oXG5cdFdyYXBwZWRDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzPixcblx0YWNjZXNzUHJlZGljYXRlOiAocmVxdWlyZWRBY3Rpdml0eTogc3RyaW5nLCBvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IGJvb2xlYW4sXG5cdHJlcXVpcmVkQWN0aXZpdHk6IHN0cmluZyxcblx0bW9kZWxzUHJvcGVydHk6IFRQcm9wTmFtZSxcblx0cmVkaXJlY3RQYXRoPzogc3RyaW5nIHwgKChvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IHN0cmluZyB8IHVuZGVmaW5lZClcbik6IENvbXBvbmVudENsYXNzPFRPd25Qcm9wcyAmIE9wdGlvbmFsUmVjb3JkPFRQcm9wTmFtZSwgTW9kZWw+PlxuLyoqXG4gKiBUaGlzIEhPQyBlbnN1cmVzIHRoYXQgdGhlIHdyYXBwZWQgY29tcG9uZW50IGlzIHJlbmRlcmVkIGlmIHRoZSBwcmVkaWNhdGUgcHJvdmlkZWQgaXMgc2F0aXNmaWVkLlxuICpcbiAqIFR5cGljYWxseSB0aGlzIGNvbXBvbmVudCBpcyB1c2VkIGJ5IHBhc3Npbmcgb25lIG9mIHRoZSBmdW5jdGlvbnMgaW4gdXRpbHMvYWN0aXZpdGllcyBhcyB0aGVcbiAqIGBhY2Nlc3NQcmVkaWNhdGVgIGFuZCBhIGNvbnN0YW50IGZyb20gXCJjb25zdGFudHMvYWN0aXZpdGllc1wiIGFzIHRoZSBgcmVxdWlyZWRBY3Rpdml0eWAuXG4gKlxuICogSWYgYSBsYW1iZGEgaXMgcGFzc2VkIGFzIHRoZSBwcmVkaWNhdGUsIGl0IGlzIHBhc3NlZCAoYnV0IG1heSBvciBtYXkgbm90IG9wdCB0byB1dGlsaXplKSB0aGUgYHJlcXVpcmVkQWN0aXZpdHlgXG4gKiBhbmQgYG1vZGVsc1Byb3BlcnR5YCBwYXJhbWV0ZXJzLiBUaGV5IGNhbiBiZSBpZ25vcmVkIGlmIG5vdCBuZWVkZWQgYnkgdGhlIGxhbWJkYS5cbiAqXG4gKiBAcGFyYW0gV3JhcHBlZENvbXBvbmVudCBUaGUgY29tcG9uZW50IHdoaWNoIHJlcXVpcmVzIGFjdGl2aXR5L2FjdGl2aXRpZXMgaW4gb3JkZXIgdG8gcmVuZGVyXG4gKiBAcGFyYW0gYWNjZXNzUHJlZGljYXRlIEEgcHJlZGljYXRlIGFjY2VwdGluZyBhIHJlcXVpcmVkIGFjdGl2aXR5IGFuZCBhbiBvcHRpb25hbCBlbnRpdHkgYW5kL29yIHVzZXJJbmZvIG9iamVjdFxuICogQHBhcmFtIHJlcXVpcmVkQWN0aXZpdHkgVGhlIHJlcXVpcmVkIGFjdGl2aXR5IHdoaWNoIGlzIHBhc3NlZCB0byB0aGUgcHJlZGljYXRlIGZvciBldmFsdWF0aW9uXG4gKiBAcGFyYW0gbW9kZWxzUHJvcGVydHkgVGhlIHByb3BlcnR5IHVzZWQgdG8gbG9jYXRlIHRoZSBlbnRpdHkgb3IgZW50aXRpZXMgbmVlZGVkIGZvciBlbnRpdHktbGV2ZWwgYWN0aXZpdHkgZ3JhbnRzXG4gKiBAcGFyYW0gcmVkaXJlY3RQYXRoIChPcHRpb25hbCkgQSBzdHJpbmcgb3IgZnVuY3Rpb24gdGhhdCBwcm92aWRlcyB0aGUgcmVkaXJlY3QgcGF0aCBmb3Igd2hlbiBgYWNjZXNzUHJlZGljYXRlYCBpcyBmYWxzZS4gRGVmYXVsdHMgdG8gJy8nLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50PFRPd25Qcm9wcyBleHRlbmRzIG9iamVjdCwgVFByb3BOYW1lIGV4dGVuZHMgc3RyaW5nPihcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHM+LFxuXHRhY2Nlc3NQcmVkaWNhdGU6IChyZXF1aXJlZEFjdGl2aXR5OiBzdHJpbmcsIG9wdGlvbnM6IEFjdGl2aXR5T3B0aW9ucykgPT4gYm9vbGVhbixcblx0cmVxdWlyZWRBY3Rpdml0eTogc3RyaW5nLFxuXHRtb2RlbHNQcm9wZXJ0eT86IFRQcm9wTmFtZSxcblx0cmVkaXJlY3RQYXRoPzogc3RyaW5nIHwgKChvcHRpb25zOiBBY3Rpdml0eU9wdGlvbnMpID0+IHN0cmluZyB8IHVuZGVmaW5lZClcbik6IENvbXBvbmVudENsYXNzPFRPd25Qcm9wcyAmIE9wdGlvbmFsUmVjb3JkPFRQcm9wTmFtZSwgTW9kZWw+PiB7XG5cdGNvbnN0IEFjdGl2aXR5UmVxdWlyZWRDb21wb25lbnQgPSBjb25maWd1cmVBY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50KFdyYXBwZWRDb21wb25lbnQpXG5cdGNvbnN0IG1hcFN0YXRlVG9Qcm9wcyA9IGNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyhhY2Nlc3NQcmVkaWNhdGUsIHJlcXVpcmVkQWN0aXZpdHksIG1vZGVsc1Byb3BlcnR5LCByZWRpcmVjdFBhdGgpXG5cdC8vIEB0cy1pZ25vcmU6IGNvdWxkIG5vdCBtYXRjaCBpbmZlcnJlZCB0eXBlIGZyb20gdGhlIGBjb25uZWN0YCBIT0Ncblx0cmV0dXJuIGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKShBY3Rpdml0eVJlcXVpcmVkQ29tcG9uZW50KVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsZUFBQSxHQUFBRixPQUFBO0FBRUEsSUFBQUcsYUFBQSxHQUFBSCxPQUFBO0FBQTBFLElBQUFJLFdBQUEsR0FBQUosT0FBQTtBQU9uRSxNQUFNSyxrQ0FBa0MsR0FDOUNDLGdCQUEwQyxJQUN0QztFQUNKLE9BQU8sTUFBTUMseUJBQXlCLFNBQVNDLGdCQUFTLENBQXlDO0lBQ3pGQyxNQUFNQSxDQUFBLEVBQUc7TUFDZixNQUFNO1FBQUVDLFNBQVM7UUFBRUMsWUFBWTtRQUFFLEdBQUdDO01BQUssQ0FBQyxHQUFHLElBQUksQ0FBQ0MsS0FBSztNQUN2RCxJQUFJLENBQUNILFNBQVMsRUFBRTtRQUNmLG9CQUFPLElBQUFOLFdBQUEsQ0FBQVUsR0FBQSxFQUFDWixlQUFBLENBQUFhLFFBQVE7VUFBQ0MsRUFBRSxFQUFFTDtRQUFhLENBQUUsQ0FBQztNQUN0QztNQUNBLG9CQUFPLElBQUFQLFdBQUEsQ0FBQVUsR0FBQSxFQUFDUixnQkFBZ0I7UUFBQSxHQUFNTTtNQUFJLENBQWlCLENBQUM7SUFDckQ7RUFDRCxDQUFDO0FBQ0YsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFSQUssT0FBQSxDQUFBWixrQ0FBQSxHQUFBQSxrQ0FBQTtBQVNPLE1BQU1hLHdCQUF3QixHQUNwQ0EsQ0FDQ0MsZUFBZ0YsRUFDaEZDLGdCQUF3QixFQUN4QkMsY0FBdUIsRUFDdkJWLFlBQTBFLEtBRTNFLENBQUNXLEtBQXFCLEVBQUVDLFFBQWlCLEtBQWlDO0VBQ3pFLE1BQU1DLE9BQU8sR0FBRyxJQUFBQyw0QkFBYyxFQUFDSCxLQUFLLEVBQUVDLFFBQVEsRUFBRUYsY0FBYyxDQUFDO0VBQy9ELE9BQU87SUFDTlgsU0FBUyxFQUFFUyxlQUFlLENBQUNDLGdCQUFnQixFQUFFSSxPQUFPLENBQUM7SUFDckRiLFlBQVksRUFBRSxDQUFDLE9BQU9BLFlBQVksS0FBSyxVQUFVLEdBQUdBLFlBQVksQ0FBQ2EsT0FBTyxDQUFDLEdBQUdiLFlBQVksS0FBSztFQUM5RixDQUFDO0FBQ0YsQ0FBQzs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWRBTSxPQUFBLENBQUFDLHdCQUFBLEdBQUFBLHdCQUFBO0FBc0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNlLFNBQVNRLHlCQUF5QkEsQ0FDaERwQixnQkFBMEMsRUFDMUNhLGVBQWdGLEVBQ2hGQyxnQkFBd0IsRUFDeEJDLGNBQTBCLEVBQzFCVixZQUEwRSxFQUNYO0VBQy9ELE1BQU1KLHlCQUF5QixHQUFHRixrQ0FBa0MsQ0FBQ0MsZ0JBQWdCLENBQUM7RUFDdEYsTUFBTXFCLGVBQWUsR0FBR1Qsd0JBQXdCLENBQUNDLGVBQWUsRUFBRUMsZ0JBQWdCLEVBQUVDLGNBQWMsRUFBRVYsWUFBWSxDQUFDO0VBQ2pIO0VBQ0EsT0FBTyxJQUFBaUIsbUJBQU8sRUFBQ0QsZUFBZSxDQUFDLENBQUNwQix5QkFBeUIsQ0FBQztBQUMzRCIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -54,4 +54,4 @@ function asyncComponent(importComponent) {
|
|
|
54
54
|
}
|
|
55
55
|
};
|
|
56
56
|
}
|
|
57
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX0Vycm9yQm91bmRhcnkiLCJfTG9hZGluZyIsIl9qc3hSdW50aW1lIiwiYXN5bmNDb21wb25lbnQiLCJpbXBvcnRDb21wb25lbnQiLCJzaG93TG9hZGVyIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiQXN5bmNDb21wb25lbnQiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiX2RlZmluZVByb3BlcnR5MiIsImRlZmF1bHQiLCJzdGF0ZSIsImNvbXBvbmVudCIsImNvbXBvbmVudERpZE1vdW50IiwiX2lzTW91bnRlZCIsInNldFN0YXRlIiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJyZW5kZXIiLCJJbXBvcnRlZENvbXBvbmVudCIsImpzeCIsIkxvYWRpbmciLCJFcnJvckJvdW5kYXJ5IiwiY2hpbGRyZW4iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9IT0MvQXN5bmNDb21wb25lbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29tcG9uZW50VHlwZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgRXJyb3JCb3VuZGFyeSB9IGZyb20gJy4uL0Vycm9yQm91bmRhcnknXG5pbXBvcnQgeyBMb2FkaW5nIH0gZnJvbSAnLi4vTG9hZGluZydcblxuaW50ZXJmYWNlIEFzeW5jQ29tcG9uZW50U3RhdGU8VE93blByb3BzIGV4dGVuZHMgb2JqZWN0PiB7XG5cdGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHM+IHwgdW5kZWZpbmVkXG59XG5cbmV4cG9ydCB0eXBlIEFzeW5jV3JhcHBlZENvbXBvbmVudDxUT3duUHJvcHMgZXh0ZW5kcyBvYmplY3Q+ID0gKCkgPT4gUHJvbWlzZTx7XG5cdGRlZmF1bHQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzPlxufT5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYXN5bmNDb21wb25lbnQ8VE93blByb3BzIGV4dGVuZHMgb2JqZWN0Pihcblx0aW1wb3J0Q29tcG9uZW50OiBBc3luY1dyYXBwZWRDb21wb25lbnQ8VE93blByb3BzPixcblx0c2hvd0xvYWRlciA9IHRydWVcbikge1xuXHRyZXR1cm4gY2xhc3MgQXN5bmNDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ8VE93blByb3BzLCBBc3luY0NvbXBvbmVudFN0YXRlPFRPd25Qcm9wcz4+IHtcblx0XHQvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IHZhcmlhYmxlLW5hbWVcblx0XHRfaXNNb3VudGVkID0gZmFsc2Vcblx0XHRjb25zdHJ1Y3Rvcihwcm9wczogVE93blByb3BzKSB7XG5cdFx0XHRzdXBlcihwcm9wcylcblx0XHRcdHRoaXMuc3RhdGUgPSB7XG5cdFx0XHRcdGNvbXBvbmVudDogdW5kZWZpbmVkXG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1taXN1c2VkLXByb21pc2VzXG5cdFx0YXN5bmMgY29tcG9uZW50RGlkTW91bnQoKSB7XG5cdFx0XHR0aGlzLl9pc01vdW50ZWQgPSB0cnVlXG5cdFx0XHRjb25zdCB7IGRlZmF1bHQ6IGNvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0Q29tcG9uZW50KClcblx0XHRcdC8vIGNvbXBvbmVudCBtYXkgaGF2ZSB1bm1vdW50ZWQgd2hpbGUgYXdhaXRpbmcgaW1wb3J0Q29tcG9uZW50KClcblx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uXG5cdFx0XHRpZiAodGhpcy5faXNNb3VudGVkKSB7XG5cdFx0XHRcdHRoaXMuc2V0U3RhdGUoeyBjb21wb25lbnQgfSlcblx0XHRcdH1cblx0XHR9XG5cblx0XHRjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcblx0XHRcdHRoaXMuX2lzTW91bnRlZCA9IGZhbHNlXG5cdFx0fVxuXG5cdFx0cmVuZGVyKCkge1xuXHRcdFx0Y29uc3QgeyBjb21wb25lbnQ6IEltcG9ydGVkQ29tcG9uZW50IH0gPSB0aGlzLnN0YXRlXG5cblx0XHRcdGlmICghSW1wb3J0ZWRDb21wb25lbnQpIHtcblx0XHRcdFx0cmV0dXJuIHNob3dMb2FkZXIgPyA8TG9hZGluZyAvPiA6IG51bGxcblx0XHRcdH1cblx0XHRcdHJldHVybiAoXG5cdFx0XHRcdDxFcnJvckJvdW5kYXJ5PlxuXHRcdFx0XHRcdDxJbXBvcnRlZENvbXBvbmVudCB7Li4udGhpcy5wcm9wc30gLz5cblx0XHRcdFx0PC9FcnJvckJvdW5kYXJ5PlxuXHRcdFx0KVxuXHRcdH1cblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGNBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtBQUFvQyxJQUFBRyxXQUFBLEdBQUFILE9BQUE7QUFVckIsU0FBU0ksY0FBY0EsQ0FDckNDLGVBQWlELEVBRWhEO0VBQUEsSUFEREMsVUFBVSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBRyxJQUFJO0VBRWpCLE9BQU8sTUFBTUcsY0FBYyxTQUFTQyxnQkFBUyxDQUE0QztJQUd4RkMsV0FBV0EsQ0FBQ0MsS0FBZ0IsRUFBRTtNQUM3QixLQUFLLENBQUNBLEtBQUssQ0FBQztNQUhiO01BQUEsSUFBQUMsZ0JBQUEsQ0FBQUMsT0FBQSxzQkFDYSxLQUFLO01BR2pCLElBQUksQ0FBQ0MsS0FBSyxHQUFHO1FBQ1pDLFNBQVMsRUFBRVI7TUFDWixDQUFDO0lBQ0Y7O0lBRUE7SUFDQSxNQUFNUyxpQkFBaUJBLENBQUEsRUFBRztNQUN6QixJQUFJLENBQUNDLFVBQVUsR0FBRyxJQUFJO01BQ3RCLE1BQU07UUFBRUosT0FBTyxFQUFFRTtNQUFVLENBQUMsR0FBRyxNQUFNWixlQUFlLENBQUMsQ0FBQztNQUN0RDtNQUNBO01BQ0EsSUFBSSxJQUFJLENBQUNjLFVBQVUsRUFBRTtRQUNwQixJQUFJLENBQUNDLFFBQVEsQ0FBQztVQUFFSDtRQUFVLENBQUMsQ0FBQztNQUM3QjtJQUNEO0lBRUFJLG9CQUFvQkEsQ0FBQSxFQUFHO01BQ3RCLElBQUksQ0FBQ0YsVUFBVSxHQUFHLEtBQUs7SUFDeEI7SUFFQUcsTUFBTUEsQ0FBQSxFQUFHO01BQ1IsTUFBTTtRQUFFTCxTQUFTLEVBQUVNO01BQWtCLENBQUMsR0FBRyxJQUFJLENBQUNQLEtBQUs7TUFFbkQsSUFBSSxDQUFDTyxpQkFBaUIsRUFBRTtRQUN2QixPQUFPakIsVUFBVSxnQkFBRyxJQUFBSCxXQUFBLENBQUFxQixHQUFBLEVBQUN0QixRQUFBLENBQUF1QixPQUFPLElBQUUsQ0FBQyxHQUFHLElBQUk7TUFDdkM7TUFDQSxvQkFDQyxJQUFBdEIsV0FBQSxDQUFBcUIsR0FBQSxFQUFDdkIsY0FBQSxDQUFBeUIsYUFBYTtRQUFBQyxRQUFBLGVBQ2IsSUFBQXhCLFdBQUEsQ0FBQXFCLEdBQUEsRUFBQ0QsaUJBQWlCO1VBQUEsR0FBSyxJQUFJLENBQUNWO1FBQUssQ0FBRztNQUFDLENBQ3ZCLENBQUM7SUFFbEI7RUFDRCxDQUFDO0FBQ0YiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -64,4 +64,4 @@ function authenticatedComponent(WrappedComponent) {
|
|
|
64
64
|
// @ts-ignore: could not match inferred type from the `connect` HOC
|
|
65
65
|
return (0, _reactRouterDom.withRouter)((0, _reactRedux.connect)(mapStateToProps)(AuthenticatedComponent));
|
|
66
66
|
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3JlYWN0UmVkdXgiLCJfcmVhY3RSb3V0ZXJEb20iLCJfcGVyc2lzdGVuY2VTZXJ2aWNlIiwiX2pzeFJ1bnRpbWUiLCJjb25maWd1cmVBdXRoZW50aWNhdGVkQ29tcG9uZW50IiwiV3JhcHBlZENvbXBvbmVudCIsIkF1dGhlbnRpY2F0ZWRDb21wb25lbnQiLCJDb21wb25lbnQiLCJpc05vdEF1dGhlbnRpY2F0ZWQiLCJpc0F1dGhlbnRpY2F0aW5nIiwiaXNBdXRoZW50aWNhdGVkIiwicHJvcHMiLCJwZXJzaXN0UmV0dXJuVXJsSWZOZWVkZWQiLCJwYXRobmFtZSIsImxvY2F0aW9uIiwicmV0dXJuVXJsIiwicGVyc2lzdGVuY2VTZXJ2aWNlIiwiZ2V0SXRlbSIsInJldHVyblVybEtleSIsInNldEl0ZW0iLCJyZW5kZXIiLCJoaXN0b3J5IiwibWF0Y2giLCJzdGF0aWNDb250ZXh0IiwicmVzdCIsImpzeCIsIlJlZGlyZWN0IiwidG8iLCJleHBvcnRzIiwiY29uZmlndXJlTWFwU3RhdGVUb1Byb3BzIiwic3RhdGUiLCJhdXRoIiwiYXV0aGVudGljYXRlZENvbXBvbmVudCIsIm1hcFN0YXRlVG9Qcm9wcyIsIndpdGhSb3V0ZXIiLCJjb25uZWN0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvSE9DL0F1dGhlbnRpY2F0ZWRDb21wb25lbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29tcG9uZW50Q2xhc3MsIENvbXBvbmVudFR5cGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICdyZWFjdC1yZWR1eCdcbmltcG9ydCB7IFJlZGlyZWN0LCBSb3V0ZUNvbXBvbmVudFByb3BzLCB3aXRoUm91dGVyIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSdcbmltcG9ydCB7IHBlcnNpc3RlbmNlU2VydmljZSwgcmV0dXJuVXJsS2V5IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGVyc2lzdGVuY2VTZXJ2aWNlJ1xuaW1wb3J0IHsgQXV0aFN0YXRlLCBCYXNlUmVkdXhTdGF0ZSB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG5leHBvcnQgdHlwZSBBdXRoZW50aWNhdGVkQ29tcG9uZW50U3RhdGVQcm9wcyA9IFBpY2s8QXV0aFN0YXRlLCAnaXNBdXRoZW50aWNhdGluZycgfCAnaXNBdXRoZW50aWNhdGVkJz5cblxuZXhwb3J0IGludGVyZmFjZSBBdXRoZW50aWNhdGVkQ29tcG9uZW50UHJvcHMgZXh0ZW5kcyBBdXRoZW50aWNhdGVkQ29tcG9uZW50U3RhdGVQcm9wcywgUm91dGVDb21wb25lbnRQcm9wcyB7fVxuXG5leHBvcnQgY29uc3QgY29uZmlndXJlQXV0aGVudGljYXRlZENvbXBvbmVudCA9IDxUT3duUHJvcHMgZXh0ZW5kcyBvYmplY3Q+KFxuXHRXcmFwcGVkQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPFRPd25Qcm9wcz5cbik6IENvbXBvbmVudFR5cGU8VE93blByb3BzICYgQXV0aGVudGljYXRlZENvbXBvbmVudFByb3BzPiA9PiB7XG5cdHJldHVybiBjbGFzcyBBdXRoZW50aWNhdGVkQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50PFxuXHRcdFRPd25Qcm9wcyAmIEF1dGhlbnRpY2F0ZWRDb21wb25lbnRTdGF0ZVByb3BzICYgUm91dGVDb21wb25lbnRQcm9wc1xuXHQ+IHtcblx0XHRpc05vdEF1dGhlbnRpY2F0ZWQoKSB7XG5cdFx0XHRjb25zdCB7IGlzQXV0aGVudGljYXRpbmcsIGlzQXV0aGVudGljYXRlZCB9ID0gdGhpcy5wcm9wc1xuXHRcdFx0cmV0dXJuICFpc0F1dGhlbnRpY2F0aW5nICYmICFpc0F1dGhlbnRpY2F0ZWRcblx0XHR9XG5cblx0XHRwZXJzaXN0UmV0dXJuVXJsSWZOZWVkZWQoKSB7XG5cdFx0XHRjb25zdCB7IHBhdGhuYW1lIH0gPSB0aGlzLnByb3BzLmxvY2F0aW9uXG5cdFx0XHRjb25zdCByZXR1cm5VcmwgPSBwZXJzaXN0ZW5jZVNlcnZpY2UuZ2V0SXRlbShyZXR1cm5VcmxLZXkpXG5cdFx0XHRpZiAoIXJldHVyblVybCkge1xuXHRcdFx0XHRwZXJzaXN0ZW5jZVNlcnZpY2Uuc2V0SXRlbShyZXR1cm5VcmxLZXksIHBhdGhuYW1lKVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJlbmRlcigpIHtcblx0XHRcdGNvbnN0IHsgaXNBdXRoZW50aWNhdGluZywgaXNBdXRoZW50aWNhdGVkLCBoaXN0b3J5LCBsb2NhdGlvbiwgbWF0Y2gsIHN0YXRpY0NvbnRleHQsIC4uLnJlc3QgfSA9IHRoaXMucHJvcHNcblx0XHRcdGlmICh0aGlzLmlzTm90QXV0aGVudGljYXRlZCgpKSB7XG5cdFx0XHRcdHRoaXMucGVyc2lzdFJldHVyblVybElmTmVlZGVkKClcblx0XHRcdFx0cmV0dXJuIDxSZWRpcmVjdCB0bz1cIi9sb2dpblwiIC8+XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gPFdyYXBwZWRDb21wb25lbnQgey4uLihyZXN0IGFzIFRPd25Qcm9wcyl9IC8+XG5cdFx0fVxuXHR9XG59XG5cbmV4cG9ydCBjb25zdCBjb25maWd1cmVNYXBTdGF0ZVRvUHJvcHMgPVxuXHQoKSA9PlxuXHQoc3RhdGU6IEJhc2VSZWR1eFN0YXRlKTogQXV0aGVudGljYXRlZENvbXBvbmVudFN0YXRlUHJvcHMgPT4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRpc0F1dGhlbnRpY2F0aW5nOiAhc3RhdGUuYXV0aC5pc0F1dGhlbnRpY2F0ZWQgJiYgc3RhdGUuYXV0aC5pc0F1dGhlbnRpY2F0aW5nLFxuXHRcdFx0aXNBdXRoZW50aWNhdGVkOiBzdGF0ZS5hdXRoLmlzQXV0aGVudGljYXRlZFxuXHRcdH1cblx0fVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBhdXRoZW50aWNhdGVkQ29tcG9uZW50PFRPd25Qcm9wcyBleHRlbmRzIG9iamVjdD4oXG5cdFdyYXBwZWRDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzPlxuKTogQ29tcG9uZW50Q2xhc3M8VE93blByb3BzPiB7XG5cdGNvbnN0IEF1dGhlbnRpY2F0ZWRDb21wb25lbnQgPSBjb25maWd1cmVBdXRoZW50aWNhdGVkQ29tcG9uZW50KFdyYXBwZWRDb21wb25lbnQpXG5cdGNvbnN0IG1hcFN0YXRlVG9Qcm9wcyA9IGNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcygpXG5cdC8vIEB0cy1pZ25vcmU6IGNvdWxkIG5vdCBtYXRjaCBpbmZlcnJlZCB0eXBlIGZyb20gdGhlIGBjb25uZWN0YCBIT0Ncblx0cmV0dXJuIHdpdGhSb3V0ZXIoY29ubmVjdChtYXBTdGF0ZVRvUHJvcHMpKEF1dGhlbnRpY2F0ZWRDb21wb25lbnQpKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsZUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsbUJBQUEsR0FBQUgsT0FBQTtBQUFvRixJQUFBSSxXQUFBLEdBQUFKLE9BQUE7QUFPN0UsTUFBTUssK0JBQStCLEdBQzNDQyxnQkFBMEMsSUFDa0I7RUFDNUQsT0FBTyxNQUFNQyxzQkFBc0IsU0FBU0MsZ0JBQVMsQ0FFbkQ7SUFDREMsa0JBQWtCQSxDQUFBLEVBQUc7TUFDcEIsTUFBTTtRQUFFQyxnQkFBZ0I7UUFBRUM7TUFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQ0MsS0FBSztNQUN4RCxPQUFPLENBQUNGLGdCQUFnQixJQUFJLENBQUNDLGVBQWU7SUFDN0M7SUFFQUUsd0JBQXdCQSxDQUFBLEVBQUc7TUFDMUIsTUFBTTtRQUFFQztNQUFTLENBQUMsR0FBRyxJQUFJLENBQUNGLEtBQUssQ0FBQ0csUUFBUTtNQUN4QyxNQUFNQyxTQUFTLEdBQUdDLHNDQUFrQixDQUFDQyxPQUFPLENBQUNDLGdDQUFZLENBQUM7TUFDMUQsSUFBSSxDQUFDSCxTQUFTLEVBQUU7UUFDZkMsc0NBQWtCLENBQUNHLE9BQU8sQ0FBQ0QsZ0NBQVksRUFBRUwsUUFBUSxDQUFDO01BQ25EO0lBQ0Q7SUFFQU8sTUFBTUEsQ0FBQSxFQUFHO01BQ1IsTUFBTTtRQUFFWCxnQkFBZ0I7UUFBRUMsZUFBZTtRQUFFVyxPQUFPO1FBQUVQLFFBQVE7UUFBRVEsS0FBSztRQUFFQyxhQUFhO1FBQUUsR0FBR0M7TUFBSyxDQUFDLEdBQUcsSUFBSSxDQUFDYixLQUFLO01BQzFHLElBQUksSUFBSSxDQUFDSCxrQkFBa0IsQ0FBQyxDQUFDLEVBQUU7UUFDOUIsSUFBSSxDQUFDSSx3QkFBd0IsQ0FBQyxDQUFDO1FBQy9CLG9CQUFPLElBQUFULFdBQUEsQ0FBQXNCLEdBQUEsRUFBQ3hCLGVBQUEsQ0FBQXlCLFFBQVE7VUFBQ0MsRUFBRSxFQUFDO1FBQVEsQ0FBRSxDQUFDO01BQ2hDO01BQ0Esb0JBQU8sSUFBQXhCLFdBQUEsQ0FBQXNCLEdBQUEsRUFBQ3BCLGdCQUFnQjtRQUFBLEdBQU1tQjtNQUFJLENBQWlCLENBQUM7SUFDckQ7RUFDRCxDQUFDO0FBQ0YsQ0FBQztBQUFBSSxPQUFBLENBQUF4QiwrQkFBQSxHQUFBQSwrQkFBQTtBQUVNLE1BQU15Qix3QkFBd0IsR0FDcENBLENBQUEsS0FDQ0MsS0FBcUIsSUFBdUM7RUFDNUQsT0FBTztJQUNOckIsZ0JBQWdCLEVBQUUsQ0FBQ3FCLEtBQUssQ0FBQ0MsSUFBSSxDQUFDckIsZUFBZSxJQUFJb0IsS0FBSyxDQUFDQyxJQUFJLENBQUN0QixnQkFBZ0I7SUFDNUVDLGVBQWUsRUFBRW9CLEtBQUssQ0FBQ0MsSUFBSSxDQUFDckI7RUFDN0IsQ0FBQztBQUNGLENBQUM7QUFBQWtCLE9BQUEsQ0FBQUMsd0JBQUEsR0FBQUEsd0JBQUE7QUFFYSxTQUFTRyxzQkFBc0JBLENBQzdDM0IsZ0JBQTBDLEVBQ2Q7RUFDNUIsTUFBTUMsc0JBQXNCLEdBQUdGLCtCQUErQixDQUFDQyxnQkFBZ0IsQ0FBQztFQUNoRixNQUFNNEIsZUFBZSxHQUFHSix3QkFBd0IsQ0FBQyxDQUFDO0VBQ2xEO0VBQ0EsT0FBTyxJQUFBSywwQkFBVSxFQUFDLElBQUFDLG1CQUFPLEVBQUNGLGVBQWUsQ0FBQyxDQUFDM0Isc0JBQXNCLENBQUMsQ0FBQztBQUNwRSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -157,16 +157,16 @@ const configureMapStateToProps = modelName => (state, ownProps) => {
|
|
|
157
157
|
});
|
|
158
158
|
};
|
|
159
159
|
|
|
160
|
-
/**
|
|
161
|
-
* HOC that provides "collection" related functionality, using redux `connect()`, react-router-dom `withRouter()`, and `GuidComponent`.
|
|
162
|
-
*
|
|
163
|
-
* @template T The type of model that is in this collection.
|
|
164
|
-
*
|
|
165
|
-
* @param WrappedComponent The component to wrap.
|
|
166
|
-
* @param modelName The generic path (no Ids) to where the collection is stored in redux.
|
|
167
|
-
* A path relating to an item in defined in `constants/configuration/getEndpointMappings()` (levels separated by a '.').
|
|
168
|
-
* Can override at render time, e.g. `<C modelName="otherModel" />`.
|
|
169
|
-
* @param LoaderComponent Component to use as the Loader. Defaults to `<Loading />`.
|
|
160
|
+
/**
|
|
161
|
+
* HOC that provides "collection" related functionality, using redux `connect()`, react-router-dom `withRouter()`, and `GuidComponent`.
|
|
162
|
+
*
|
|
163
|
+
* @template T The type of model that is in this collection.
|
|
164
|
+
*
|
|
165
|
+
* @param WrappedComponent The component to wrap.
|
|
166
|
+
* @param modelName The generic path (no Ids) to where the collection is stored in redux.
|
|
167
|
+
* A path relating to an item in defined in `constants/configuration/getEndpointMappings()` (levels separated by a '.').
|
|
168
|
+
* Can override at render time, e.g. `<C modelName="otherModel" />`.
|
|
169
|
+
* @param LoaderComponent Component to use as the Loader. Defaults to `<Loading />`.
|
|
170
170
|
*/
|
|
171
171
|
exports.configureMapStateToProps = configureMapStateToProps;
|
|
172
172
|
function collectionComponent(WrappedComponent, modelName, LoaderComponent) {
|
|
@@ -175,4 +175,4 @@ function collectionComponent(WrappedComponent, modelName, LoaderComponent) {
|
|
|
175
175
|
// @ts-ignore: could not match inferred type from the `connect` HOC
|
|
176
176
|
return (0, _reactRouter.withRouter)((0, _GuidComponent.guidComponent)((0, _reactRedux.connect)(mapStateToProps)(CollectionComponent)));
|
|
177
177
|
}
|
|
178
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWVtb2l6ZU9uZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfcmVhY3RSb3V0ZXIiLCJfbW9kZWxTdGF0dXMiLCJfY29sbGVjdGlvbiIsIl9tb2RlbCIsIl9Mb2FkaW5nIiwiX0d1aWRDb21wb25lbnQiLCJfanN4UnVudGltZSIsImNvbmZpZ3VyZUNvbGxlY3Rpb25Db21wb25lbnQiLCJXcmFwcGVkQ29tcG9uZW50IiwiTG9hZGVyQ29tcG9uZW50IiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiTG9hZGluZyIsIkNvbGxlY3Rpb25Db21wb25lbnQiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiX3RoaXMiLCJ0aGlzIiwiX2RlZmluZVByb3BlcnR5MiIsImRlZmF1bHQiLCJuZXdNb2RlbFN0YXR1cyIsImZldGNoaW5nSWQiLCJzZXRTdGF0ZSIsInByZXZTdGF0ZSIsInByZXZpb3VzTW9kZWxTdGF0dXMiLCJtb2RlbFN0YXR1cyIsImd1aWQiLCJtb2RlbE5hbWUiLCJwYXRoUGFyYW1zIiwicXVlcnlQYXJhbXMiLCJkaXNhYmxlQXV0b0xvYWQiLCJzdGF0ZSIsImNvbGxlY3Rpb25NZXRob2RDb25maWciLCJpc0luaXRpYWxpemVkIiwiTU9ERUxfU1RBVFVTIiwiVU5JTklUSUFMSVpFRCIsImNoYW5nZU1vZGVsU3RhdHVzIiwicGFyYW1zIiwibG9hZENvbGxlY3Rpb24iLCJnZXRDb2xsZWN0aW9uTWV0aG9kQ29uZmlnIiwidGFza0lkIiwic3RvcENvbGxlY3Rpb25QZXJpb2RpY0xvYWQiLCJjcmVhdGVJdGVtSW5Db2xsZWN0aW9uIiwidXBkYXRlSXRlbUluQ29sbGVjdGlvbiIsImRlbGV0ZUl0ZW1Gcm9tQ29sbGVjdGlvbiIsIm1lbW9pemVPbmUiLCJtb2RlbCIsImdldE1vZGVsQXJyYXkiLCJjb21wb25lbnREaWRNb3VudCIsImluaXRpYWxpemVDb2xsZWN0aW9uIiwibG9hZCIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZXZQcm9wcyIsInByZXZNb2RlbCIsInByZXZNb2RlbE5hbWUiLCJwcmV2UGF0aFBhcmFtcyIsInByZXZRdWVyeVBhcmFtcyIsImRpc2FibGVBdXRvTG9hZE9uUGFyYW1zQ2hhbmdlIiwiaGFuZGxlTW9kZWxGZXRjaEZpbmlzaCIsImhhbmRsZUNvbGxlY3Rpb25QYXJhbXNDaGFuZ2UiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsImNsZWFudXBDb2xsZWN0aW9uR3VpZEtleSIsInJlbmRlciIsImhpc3RvcnkiLCJtYXRjaCIsImxvY2F0aW9uIiwic3RhdGljQ29udGV4dCIsIm90aGVyUHJvcHMiLCJqc3giLCJtb2RlbEFycmF5Iiwic3RvcFBlcmlvZGljTG9hZCIsImNyZWF0ZSIsInVwZGF0ZSIsImRlbGV0ZSIsImNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyIsIm93blByb3BzIiwic2VsZWN0Q29sbGVjdGlvbkZyb21TdGF0ZSIsInJvdXRlTWF0Y2hQYXJhbXMiLCJleHBvcnRzIiwiY29sbGVjdGlvbkNvbXBvbmVudCIsIm1hcFN0YXRlVG9Qcm9wcyIsIndpdGhSb3V0ZXIiLCJndWlkQ29tcG9uZW50IiwiY29ubmVjdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0hPQy9Db2xsZWN0aW9uQ29tcG9uZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbWVtb2l6ZU9uZSBmcm9tICdtZW1vaXplLW9uZSdcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBDb21wb25lbnRDbGFzcywgQ29tcG9uZW50VHlwZSB9IGZyb20gJ3JlYWN0J1xyXG5pbXBvcnQgeyBjb25uZWN0IH0gZnJvbSAncmVhY3QtcmVkdXgnXHJcbmltcG9ydCB7IFJvdXRlQ29tcG9uZW50UHJvcHMsIHdpdGhSb3V0ZXIgfSBmcm9tICdyZWFjdC1yb3V0ZXInXHJcbmltcG9ydCB7IE1PREVMX1NUQVRVUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9tb2RlbFN0YXR1cydcclxuaW1wb3J0IHsgQmFzZVJlZHV4U3RhdGUsIENvbGxlY3Rpb25TZWxlY3Rvck1ldGhvZFJlc3BvbnNlLCBNb2RlbCwgTW9kZWxDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMnXHJcbmltcG9ydCB7XHJcblx0Q29sbGVjdGlvbkNvbW1vblByb3BzLFxyXG5cdENvbGxlY3Rpb25Db21tb25TdGF0ZSxcclxuXHRDb2xsZWN0aW9uQ3JlYXRlUGFyYW1zLFxyXG5cdENvbGxlY3Rpb25EZWxldGVQYXJhbXMsXHJcblx0Q29sbGVjdGlvbkRlcml2ZWRQcm9wcyxcclxuXHRDb2xsZWN0aW9uTG9hZFBhcmFtcyxcclxuXHRDb2xsZWN0aW9uTWV0aG9kQ29uZmlndXJhdGlvbixcclxuXHRDb2xsZWN0aW9uTWV0aG9kcyxcclxuXHRDb2xsZWN0aW9uUmVkdXhSZXNwb25zZSxcclxuXHRDb2xsZWN0aW9uVXBkYXRlUGFyYW1zXHJcbn0gZnJvbSAnLi4vLi4vdHlwZXMvQ29sbGVjdGlvbidcclxuaW1wb3J0IHtcclxuXHRjbGVhbnVwQ29sbGVjdGlvbkd1aWRLZXksXHJcblx0Y3JlYXRlSXRlbUluQ29sbGVjdGlvbixcclxuXHRkZWxldGVJdGVtRnJvbUNvbGxlY3Rpb24sXHJcblx0aGFuZGxlQ29sbGVjdGlvblBhcmFtc0NoYW5nZSxcclxuXHRpbml0aWFsaXplQ29sbGVjdGlvbixcclxuXHRsb2FkQ29sbGVjdGlvbixcclxuXHRzZWxlY3RDb2xsZWN0aW9uRnJvbVN0YXRlLFxyXG5cdHN0b3BDb2xsZWN0aW9uUGVyaW9kaWNMb2FkLFxyXG5cdHVwZGF0ZUl0ZW1JbkNvbGxlY3Rpb25cclxufSBmcm9tICcuLi8uLi91dGlscy9jb2xsZWN0aW9uJ1xyXG5pbXBvcnQgeyBnZXRNb2RlbEFycmF5LCBoYW5kbGVNb2RlbEZldGNoRmluaXNoIH0gZnJvbSAnLi4vLi4vdXRpbHMvbW9kZWwnXHJcbmltcG9ydCB7IExvYWRpbmcgfSBmcm9tICcuLi9Mb2FkaW5nJ1xyXG5pbXBvcnQgeyBndWlkQ29tcG9uZW50LCBHdWlkQ29tcG9uZW50V3JhcHBlZFByb3BzIH0gZnJvbSAnLi9HdWlkQ29tcG9uZW50J1xyXG5cclxuLyoqIFRoZSBwcm9wcyBwYXNzZWQgaW50byBgQ29sbGVjdGlvbkNvbXBvbmVudGAgZnJvbSB0aGUgdXNlciBhbmQgb3RoZXIgSE9Dcy4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uQ29tcG9uZW50UHJvcHM8VE1vZGVsIGV4dGVuZHMgTW9kZWw+XHJcblx0ZXh0ZW5kcyBDb2xsZWN0aW9uQ29tbW9uUHJvcHMsIEd1aWRDb21wb25lbnRXcmFwcGVkUHJvcHMsIFJvdXRlQ29tcG9uZW50UHJvcHMsIENvbGxlY3Rpb25SZWR1eFJlc3BvbnNlPFRNb2RlbD4ge31cclxuXHJcbi8qKiBUaGUgcHJvcHMgcGFzc2VkIGRvd24gdG8gdGhlIGBXcmFwcGVkQ29tcG9uZW50YC4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uQ29tcG9uZW50V3JhcHBlZFByb3BzPFRNb2RlbCBleHRlbmRzIE1vZGVsPlxyXG5cdGV4dGVuZHNcclxuXHRcdE9taXQ8Q29sbGVjdGlvbkNvbXBvbmVudFByb3BzPFRNb2RlbD4sIGtleW9mIFJvdXRlQ29tcG9uZW50UHJvcHM+LFxyXG5cdFx0Q29sbGVjdGlvbkRlcml2ZWRQcm9wczxUTW9kZWw+LFxyXG5cdFx0Q29sbGVjdGlvbk1ldGhvZHMsXHJcblx0XHRDb2xsZWN0aW9uQ29tbW9uU3RhdGUge31cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjb25maWd1cmVDb2xsZWN0aW9uQ29tcG9uZW50PFRNb2RlbCBleHRlbmRzIE1vZGVsLCBUT3duUHJvcHMgZXh0ZW5kcyBvYmplY3Q+KFxyXG5cdFdyYXBwZWRDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzICYgQ29sbGVjdGlvbkNvbXBvbmVudFdyYXBwZWRQcm9wczxUTW9kZWw+PixcclxuXHRMb2FkZXJDb21wb25lbnQ6IENvbXBvbmVudFR5cGUgPSBMb2FkaW5nXHJcbikge1xyXG5cdHR5cGUgSG9jUHJvcHMgPSBUT3duUHJvcHMgJiBDb2xsZWN0aW9uQ29tcG9uZW50UHJvcHM8VE1vZGVsPlxyXG5cclxuXHRyZXR1cm4gY2xhc3MgQ29sbGVjdGlvbkNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudDxIb2NQcm9wcywgQ29sbGVjdGlvbkNvbW1vblN0YXRlPiBpbXBsZW1lbnRzIENvbGxlY3Rpb25NZXRob2RzIHtcclxuXHRcdGNvbnN0cnVjdG9yKHByb3BzOiBIb2NQcm9wcykge1xyXG5cdFx0XHRzdXBlcihwcm9wcylcclxuXHRcdFx0dGhpcy5zdGF0ZSA9IHtcclxuXHRcdFx0XHQvLyBpbml0aWFsaXppbmcgdW50aWwgbW9kZWwgaXMgbG9hZGVkXHJcblx0XHRcdFx0bW9kZWxTdGF0dXM6IE1PREVMX1NUQVRVUy5VTklOSVRJQUxJWkVELFxyXG5cdFx0XHRcdHByZXZpb3VzTW9kZWxTdGF0dXM6IE1PREVMX1NUQVRVUy5VTklOSVRJQUxJWkVELFxyXG5cdFx0XHRcdGZldGNoaW5nSWQ6IHVuZGVmaW5lZFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Y29tcG9uZW50RGlkTW91bnQoKSB7XHJcblx0XHRcdGNvbnN0IHsgbW9kZWwgfSA9IHRoaXMucHJvcHNcclxuXHRcdFx0aW5pdGlhbGl6ZUNvbGxlY3Rpb24obW9kZWwsIHRoaXMubG9hZCwgdGhpcy5nZXRDb2xsZWN0aW9uTWV0aG9kQ29uZmlnKCkpXHJcblx0XHR9XHJcblxyXG5cdFx0Y29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wczogSG9jUHJvcHMpIHtcclxuXHRcdFx0Y29uc3Qge1xyXG5cdFx0XHRcdG1vZGVsOiBwcmV2TW9kZWwsXHJcblx0XHRcdFx0bW9kZWxOYW1lOiBwcmV2TW9kZWxOYW1lLFxyXG5cdFx0XHRcdHBhdGhQYXJhbXM6IHByZXZQYXRoUGFyYW1zLFxyXG5cdFx0XHRcdHF1ZXJ5UGFyYW1zOiBwcmV2UXVlcnlQYXJhbXNcclxuXHRcdFx0fSA9IHByZXZQcm9wc1xyXG5cdFx0XHRjb25zdCB7IG1vZGVsLCBtb2RlbE5hbWUsIHBhdGhQYXJhbXMsIHF1ZXJ5UGFyYW1zLCBkaXNhYmxlQXV0b0xvYWRPblBhcmFtc0NoYW5nZSB9ID0gdGhpcy5wcm9wc1xyXG5cdFx0XHRjb25zdCB7IGZldGNoaW5nSWQgfSA9IHRoaXMuc3RhdGVcclxuXHRcdFx0aGFuZGxlTW9kZWxGZXRjaEZpbmlzaChtb2RlbCwgcHJldk1vZGVsLCBmZXRjaGluZ0lkLCB0aGlzLmNoYW5nZU1vZGVsU3RhdHVzKVxyXG5cdFx0XHRpZiAoIWRpc2FibGVBdXRvTG9hZE9uUGFyYW1zQ2hhbmdlKSB7XHJcblx0XHRcdFx0aGFuZGxlQ29sbGVjdGlvblBhcmFtc0NoYW5nZShcclxuXHRcdFx0XHRcdG1vZGVsTmFtZSxcclxuXHRcdFx0XHRcdHByZXZNb2RlbE5hbWUsXHJcblx0XHRcdFx0XHRwYXRoUGFyYW1zLFxyXG5cdFx0XHRcdFx0cHJldlBhdGhQYXJhbXMsXHJcblx0XHRcdFx0XHRxdWVyeVBhcmFtcyxcclxuXHRcdFx0XHRcdHByZXZRdWVyeVBhcmFtcyxcclxuXHRcdFx0XHRcdHRoaXMubG9hZFxyXG5cdFx0XHRcdClcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xyXG5cdFx0XHRjb25zdCB7IG1vZGVsIH0gPSB0aGlzLnByb3BzXHJcblx0XHRcdGNsZWFudXBDb2xsZWN0aW9uR3VpZEtleShtb2RlbCwgdGhpcy5nZXRDb2xsZWN0aW9uTWV0aG9kQ29uZmlnKCkpXHJcblx0XHR9XHJcblxyXG5cdFx0Y2hhbmdlTW9kZWxTdGF0dXMgPSAobmV3TW9kZWxTdGF0dXM6IE1PREVMX1NUQVRVUywgZmV0Y2hpbmdJZD86IHN0cmluZyB8IG51bWJlcikgPT4ge1xyXG5cdFx0XHR0aGlzLnNldFN0YXRlKHByZXZTdGF0ZSA9PiAoe1xyXG5cdFx0XHRcdGZldGNoaW5nSWQsXHJcblx0XHRcdFx0cHJldmlvdXNNb2RlbFN0YXR1czogcHJldlN0YXRlLm1vZGVsU3RhdHVzLFxyXG5cdFx0XHRcdG1vZGVsU3RhdHVzOiBuZXdNb2RlbFN0YXR1c1xyXG5cdFx0XHR9KSlcclxuXHRcdH1cclxuXHJcblx0XHRnZXRDb2xsZWN0aW9uTWV0aG9kQ29uZmlnID0gKCkgPT4ge1xyXG5cdFx0XHRjb25zdCB7IGd1aWQsIG1vZGVsTmFtZSwgcGF0aFBhcmFtcywgcXVlcnlQYXJhbXMsIGRpc2FibGVBdXRvTG9hZCB9ID0gdGhpcy5wcm9wc1xyXG5cdFx0XHRjb25zdCB7IG1vZGVsU3RhdHVzIH0gPSB0aGlzLnN0YXRlXHJcblx0XHRcdGNvbnN0IGNvbGxlY3Rpb25NZXRob2RDb25maWc6IENvbGxlY3Rpb25NZXRob2RDb25maWd1cmF0aW9uID0ge1xyXG5cdFx0XHRcdG1vZGVsTmFtZSxcclxuXHRcdFx0XHRwYXRoUGFyYW1zLFxyXG5cdFx0XHRcdHF1ZXJ5UGFyYW1zLFxyXG5cdFx0XHRcdGRpc2FibGVBdXRvTG9hZCxcclxuXHRcdFx0XHRndWlkLFxyXG5cdFx0XHRcdGlzSW5pdGlhbGl6ZWQ6IG1vZGVsU3RhdHVzICE9PSBNT0RFTF9TVEFUVVMuVU5JTklUSUFMSVpFRCxcclxuXHRcdFx0XHRjaGFuZ2VNb2RlbFN0YXR1czogdGhpcy5jaGFuZ2VNb2RlbFN0YXR1c1xyXG5cdFx0XHR9XHJcblx0XHRcdHJldHVybiBjb2xsZWN0aW9uTWV0aG9kQ29uZmlnXHJcblx0XHR9XHJcblxyXG5cdFx0bG9hZCA9IChwYXJhbXM6IENvbGxlY3Rpb25Mb2FkUGFyYW1zID0ge30pID0+IHtcclxuXHRcdFx0bG9hZENvbGxlY3Rpb24odGhpcy5nZXRDb2xsZWN0aW9uTWV0aG9kQ29uZmlnKCksIHBhcmFtcylcclxuXHRcdH1cclxuXHJcblx0XHRzdG9wUGVyaW9kaWNMb2FkID0gKHRhc2tJZDogc3RyaW5nKSA9PiB7XHJcblx0XHRcdHN0b3BDb2xsZWN0aW9uUGVyaW9kaWNMb2FkKHRhc2tJZClcclxuXHRcdH1cclxuXHJcblx0XHRjcmVhdGUgPSAocGFyYW1zOiBDb2xsZWN0aW9uQ3JlYXRlUGFyYW1zKSA9PiB7XHJcblx0XHRcdGNyZWF0ZUl0ZW1JbkNvbGxlY3Rpb24odGhpcy5nZXRDb2xsZWN0aW9uTWV0aG9kQ29uZmlnKCksIHBhcmFtcylcclxuXHRcdH1cclxuXHJcblx0XHR1cGRhdGUgPSAocGFyYW1zOiBDb2xsZWN0aW9uVXBkYXRlUGFyYW1zKSA9PiB7XHJcblx0XHRcdHVwZGF0ZUl0ZW1JbkNvbGxlY3Rpb24odGhpcy5nZXRDb2xsZWN0aW9uTWV0aG9kQ29uZmlnKCksIHBhcmFtcylcclxuXHRcdH1cclxuXHJcblx0XHRkZWxldGUgPSAocGFyYW1zOiBDb2xsZWN0aW9uRGVsZXRlUGFyYW1zKSA9PiB7XHJcblx0XHRcdGRlbGV0ZUl0ZW1Gcm9tQ29sbGVjdGlvbih0aGlzLmdldENvbGxlY3Rpb25NZXRob2RDb25maWcoKSwgcGFyYW1zKVxyXG5cdFx0fVxyXG5cclxuXHRcdGdldE1vZGVsQXJyYXkgPSBtZW1vaXplT25lKChtb2RlbDogTW9kZWxDb2xsZWN0aW9uPFRNb2RlbD4sIGd1aWQ/OiBzdHJpbmcpID0+IGdldE1vZGVsQXJyYXkobW9kZWwsIGd1aWQpKVxyXG5cclxuXHRcdHJlbmRlcigpIHtcclxuXHRcdFx0Y29uc3QgeyBoaXN0b3J5LCBtYXRjaCwgbG9jYXRpb24sIHN0YXRpY0NvbnRleHQsIC4uLm90aGVyUHJvcHMgfSA9IHRoaXMucHJvcHNcclxuXHRcdFx0Y29uc3QgeyBtb2RlbFN0YXR1cywgcHJldmlvdXNNb2RlbFN0YXR1cywgZmV0Y2hpbmdJZCB9ID0gdGhpcy5zdGF0ZVxyXG5cclxuXHRcdFx0aWYgKG1vZGVsU3RhdHVzID09PSBNT0RFTF9TVEFUVVMuVU5JTklUSUFMSVpFRCkge1xyXG5cdFx0XHRcdHJldHVybiA8TG9hZGVyQ29tcG9uZW50IC8+XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHJldHVybiAoXHJcblx0XHRcdFx0PFdyYXBwZWRDb21wb25lbnRcclxuXHRcdFx0XHRcdHsuLi4ob3RoZXJQcm9wcyBhcyBUT3duUHJvcHMgJiBPbWl0PENvbGxlY3Rpb25Db21wb25lbnRQcm9wczxUTW9kZWw+LCBrZXlvZiBSb3V0ZUNvbXBvbmVudFByb3BzPil9XHJcblx0XHRcdFx0XHRtb2RlbEFycmF5PXt0aGlzLmdldE1vZGVsQXJyYXkodGhpcy5wcm9wcy5tb2RlbCwgdGhpcy5wcm9wcy5ndWlkKX1cclxuXHRcdFx0XHRcdG1vZGVsU3RhdHVzPXttb2RlbFN0YXR1c31cclxuXHRcdFx0XHRcdHByZXZpb3VzTW9kZWxTdGF0dXM9e3ByZXZpb3VzTW9kZWxTdGF0dXN9XHJcblx0XHRcdFx0XHRmZXRjaGluZ0lkPXtmZXRjaGluZ0lkfVxyXG5cdFx0XHRcdFx0bG9hZD17dGhpcy5sb2FkfVxyXG5cdFx0XHRcdFx0c3RvcFBlcmlvZGljTG9hZD17dGhpcy5zdG9wUGVyaW9kaWNMb2FkfVxyXG5cdFx0XHRcdFx0Y3JlYXRlPXt0aGlzLmNyZWF0ZX1cclxuXHRcdFx0XHRcdHVwZGF0ZT17dGhpcy51cGRhdGV9XHJcblx0XHRcdFx0XHRkZWxldGU9e3RoaXMuZGVsZXRlfVxyXG5cdFx0XHRcdC8+XHJcblx0XHRcdClcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBjb25maWd1cmVNYXBTdGF0ZVRvUHJvcHMgPVxyXG5cdDxUTW9kZWwgZXh0ZW5kcyBNb2RlbD4obW9kZWxOYW1lOiBzdHJpbmcpID0+XHJcblx0KFxyXG5cdFx0c3RhdGU6IEJhc2VSZWR1eFN0YXRlLFxyXG5cdFx0b3duUHJvcHM6IE9taXQ8Q29sbGVjdGlvbkNvbXBvbmVudFByb3BzPFRNb2RlbD4sIGtleW9mIENvbGxlY3Rpb25TZWxlY3Rvck1ldGhvZFJlc3BvbnNlPFRNb2RlbD4+ICZcclxuXHRcdFx0UGFydGlhbDxDb2xsZWN0aW9uQ29tbW9uUHJvcHM+XHJcblx0KSA9PiB7XHJcblx0XHRyZXR1cm4gc2VsZWN0Q29sbGVjdGlvbkZyb21TdGF0ZSh7XHJcblx0XHRcdGd1aWQ6IG93blByb3BzLmd1aWQsXHJcblx0XHRcdG1vZGVsTmFtZTogb3duUHJvcHMubW9kZWxOYW1lIHx8IG1vZGVsTmFtZSxcclxuXHRcdFx0cGF0aFBhcmFtczogb3duUHJvcHMucGF0aFBhcmFtcyxcclxuXHRcdFx0cm91dGVNYXRjaFBhcmFtczogb3duUHJvcHMubWF0Y2gucGFyYW1zLFxyXG5cdFx0XHRzdGF0ZVxyXG5cdFx0fSlcclxuXHR9XHJcblxyXG4vKipcclxuICogSE9DIHRoYXQgcHJvdmlkZXMgXCJjb2xsZWN0aW9uXCIgcmVsYXRlZCBmdW5jdGlvbmFsaXR5LCB1c2luZyByZWR1eCBgY29ubmVjdCgpYCwgcmVhY3Qtcm91dGVyLWRvbSBgd2l0aFJvdXRlcigpYCwgYW5kIGBHdWlkQ29tcG9uZW50YC5cclxuICpcclxuICogQHRlbXBsYXRlIFQgVGhlIHR5cGUgb2YgbW9kZWwgdGhhdCBpcyBpbiB0aGlzIGNvbGxlY3Rpb24uXHJcbiAqXHJcbiAqIEBwYXJhbSBXcmFwcGVkQ29tcG9uZW50IFRoZSBjb21wb25lbnQgdG8gd3JhcC5cclxuICogQHBhcmFtIG1vZGVsTmFtZSBUaGUgZ2VuZXJpYyBwYXRoIChubyBJZHMpIHRvIHdoZXJlIHRoZSBjb2xsZWN0aW9uIGlzIHN0b3JlZCBpbiByZWR1eC5cclxuICogQSBwYXRoIHJlbGF0aW5nIHRvIGFuIGl0ZW0gaW4gZGVmaW5lZCBpbiBgY29uc3RhbnRzL2NvbmZpZ3VyYXRpb24vZ2V0RW5kcG9pbnRNYXBwaW5ncygpYCAobGV2ZWxzIHNlcGFyYXRlZCBieSBhICcuJykuXHJcbiAqIENhbiBvdmVycmlkZSBhdCByZW5kZXIgdGltZSwgZS5nLiBgPEMgbW9kZWxOYW1lPVwib3RoZXJNb2RlbFwiIC8+YC5cclxuICogQHBhcmFtIExvYWRlckNvbXBvbmVudCBDb21wb25lbnQgdG8gdXNlIGFzIHRoZSBMb2FkZXIuIERlZmF1bHRzIHRvIGA8TG9hZGluZyAvPmAuXHJcbiAqL1xyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjb2xsZWN0aW9uQ29tcG9uZW50PFxyXG5cdFRNb2RlbCBleHRlbmRzIE1vZGVsLFxyXG5cdFRPd25Qcm9wcyBleHRlbmRzIENvbGxlY3Rpb25Db21wb25lbnRXcmFwcGVkUHJvcHM8VE1vZGVsPlxyXG4+KFxyXG5cdFdyYXBwZWRDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzPixcclxuXHRtb2RlbE5hbWU6IHN0cmluZyxcclxuXHRMb2FkZXJDb21wb25lbnQ/OiBDb21wb25lbnRUeXBlXHJcbik6IENvbXBvbmVudENsYXNzPE9taXQ8VE93blByb3BzLCBrZXlvZiBDb2xsZWN0aW9uQ29tcG9uZW50V3JhcHBlZFByb3BzPFRNb2RlbD4+ICYgUGFydGlhbDxDb2xsZWN0aW9uQ29tbW9uUHJvcHM+PiB7XHJcblx0Y29uc3QgQ29sbGVjdGlvbkNvbXBvbmVudCA9IGNvbmZpZ3VyZUNvbGxlY3Rpb25Db21wb25lbnQoV3JhcHBlZENvbXBvbmVudCwgTG9hZGVyQ29tcG9uZW50KVxyXG5cdGNvbnN0IG1hcFN0YXRlVG9Qcm9wcyA9IGNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyhtb2RlbE5hbWUpXHJcblx0Ly8gQHRzLWlnbm9yZTogY291bGQgbm90IG1hdGNoIGluZmVycmVkIHR5cGUgZnJvbSB0aGUgYGNvbm5lY3RgIEhPQ1xyXG5cdHJldHVybiB3aXRoUm91dGVyKGd1aWRDb21wb25lbnQoY29ubmVjdChtYXBTdGF0ZVRvUHJvcHMpKENvbGxlY3Rpb25Db21wb25lbnQpKSlcclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxXQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxZQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxZQUFBLEdBQUFKLE9BQUE7QUFjQSxJQUFBSyxXQUFBLEdBQUFMLE9BQUE7QUFXQSxJQUFBTSxNQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxRQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxjQUFBLEdBQUFSLE9BQUE7QUFBMEUsSUFBQVMsV0FBQSxHQUFBVCxPQUFBO0FBRTFFOztBQUlBOztBQVFPLFNBQVNVLDRCQUE0QkEsQ0FDM0NDLGdCQUFvRixFQUVuRjtFQUFBLElBRERDLGVBQThCLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHRyxnQkFBTztFQUl4QyxPQUFPLE1BQU1DLG1CQUFtQixTQUFTQyxnQkFBUyxDQUErRDtJQUNoSEMsV0FBV0EsQ0FBQ0MsS0FBZSxFQUFFO01BQUEsSUFBQUMsS0FBQTtNQUM1QixLQUFLLENBQUNELEtBQUssQ0FBQztNQUFBQyxLQUFBLEdBQUFDLElBQUE7TUFBQSxJQUFBQyxnQkFBQSxDQUFBQyxPQUFBLDZCQTBDTyxDQUFDQyxjQUE0QixFQUFFQyxVQUE0QixLQUFLO1FBQ25GLElBQUksQ0FBQ0MsUUFBUSxDQUFDQyxTQUFTLEtBQUs7VUFDM0JGLFVBQVU7VUFDVkcsbUJBQW1CLEVBQUVELFNBQVMsQ0FBQ0UsV0FBVztVQUMxQ0EsV0FBVyxFQUFFTDtRQUNkLENBQUMsQ0FBQyxDQUFDO01BQ0osQ0FBQztNQUFBLElBQUFGLGdCQUFBLENBQUFDLE9BQUEscUNBRTJCLE1BQU07UUFDakMsTUFBTTtVQUFFTyxJQUFJO1VBQUVDLFNBQVM7VUFBRUMsVUFBVTtVQUFFQyxXQUFXO1VBQUVDO1FBQWdCLENBQUMsR0FBRyxJQUFJLENBQUNmLEtBQUs7UUFDaEYsTUFBTTtVQUFFVTtRQUFZLENBQUMsR0FBRyxJQUFJLENBQUNNLEtBQUs7UUFDbEMsTUFBTUMsc0JBQXFELEdBQUc7VUFDN0RMLFNBQVM7VUFDVEMsVUFBVTtVQUNWQyxXQUFXO1VBQ1hDLGVBQWU7VUFDZkosSUFBSTtVQUNKTyxhQUFhLEVBQUVSLFdBQVcsS0FBS1MseUJBQVksQ0FBQ0MsYUFBYTtVQUN6REMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDQTtRQUN6QixDQUFDO1FBQ0QsT0FBT0osc0JBQXNCO01BQzlCLENBQUM7TUFBQSxJQUFBZCxnQkFBQSxDQUFBQyxPQUFBLGdCQUVNLFlBQXVDO1FBQUEsSUFBdENrQixNQUE0QixHQUFBN0IsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUcsQ0FBQyxDQUFDO1FBQ3hDLElBQUE4QiwwQkFBYyxFQUFDdEIsS0FBSSxDQUFDdUIseUJBQXlCLENBQUMsQ0FBQyxFQUFFRixNQUFNLENBQUM7TUFDekQsQ0FBQztNQUFBLElBQUFuQixnQkFBQSxDQUFBQyxPQUFBLDRCQUVtQnFCLE1BQWMsSUFBSztRQUN0QyxJQUFBQyxzQ0FBMEIsRUFBQ0QsTUFBTSxDQUFDO01BQ25DLENBQUM7TUFBQSxJQUFBdEIsZ0JBQUEsQ0FBQUMsT0FBQSxrQkFFU2tCLE1BQThCLElBQUs7UUFDNUMsSUFBQUssa0NBQXNCLEVBQUMsSUFBSSxDQUFDSCx5QkFBeUIsQ0FBQyxDQUFDLEVBQUVGLE1BQU0sQ0FBQztNQUNqRSxDQUFDO01BQUEsSUFBQW5CLGdCQUFBLENBQUFDLE9BQUEsa0JBRVNrQixNQUE4QixJQUFLO1FBQzVDLElBQUFNLGtDQUFzQixFQUFDLElBQUksQ0FBQ0oseUJBQXlCLENBQUMsQ0FBQyxFQUFFRixNQUFNLENBQUM7TUFDakUsQ0FBQztNQUFBLElBQUFuQixnQkFBQSxDQUFBQyxPQUFBLGtCQUVTa0IsTUFBOEIsSUFBSztRQUM1QyxJQUFBTyxvQ0FBd0IsRUFBQyxJQUFJLENBQUNMLHlCQUF5QixDQUFDLENBQUMsRUFBRUYsTUFBTSxDQUFDO01BQ25FLENBQUM7TUFBQSxJQUFBbkIsZ0JBQUEsQ0FBQUMsT0FBQSx5QkFFZSxJQUFBMEIsbUJBQVUsRUFBQyxDQUFDQyxLQUE4QixFQUFFcEIsSUFBYSxLQUFLLElBQUFxQixvQkFBYSxFQUFDRCxLQUFLLEVBQUVwQixJQUFJLENBQUMsQ0FBQztNQXBGeEcsSUFBSSxDQUFDSyxLQUFLLEdBQUc7UUFDWjtRQUNBTixXQUFXLEVBQUVTLHlCQUFZLENBQUNDLGFBQWE7UUFDdkNYLG1CQUFtQixFQUFFVSx5QkFBWSxDQUFDQyxhQUFhO1FBQy9DZCxVQUFVLEVBQUVYO01BQ2IsQ0FBQztJQUNGO0lBRUFzQyxpQkFBaUJBLENBQUEsRUFBRztNQUNuQixNQUFNO1FBQUVGO01BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQy9CLEtBQUs7TUFDNUIsSUFBQWtDLGdDQUFvQixFQUFDSCxLQUFLLEVBQUUsSUFBSSxDQUFDSSxJQUFJLEVBQUUsSUFBSSxDQUFDWCx5QkFBeUIsQ0FBQyxDQUFDLENBQUM7SUFDekU7SUFFQVksa0JBQWtCQSxDQUFDQyxTQUFtQixFQUFFO01BQ3ZDLE1BQU07UUFDTE4sS0FBSyxFQUFFTyxTQUFTO1FBQ2hCMUIsU0FBUyxFQUFFMkIsYUFBYTtRQUN4QjFCLFVBQVUsRUFBRTJCLGNBQWM7UUFDMUIxQixXQUFXLEVBQUUyQjtNQUNkLENBQUMsR0FBR0osU0FBUztNQUNiLE1BQU07UUFBRU4sS0FBSztRQUFFbkIsU0FBUztRQUFFQyxVQUFVO1FBQUVDLFdBQVc7UUFBRTRCO01BQThCLENBQUMsR0FBRyxJQUFJLENBQUMxQyxLQUFLO01BQy9GLE1BQU07UUFBRU07TUFBVyxDQUFDLEdBQUcsSUFBSSxDQUFDVSxLQUFLO01BQ2pDLElBQUEyQiw2QkFBc0IsRUFBQ1osS0FBSyxFQUFFTyxTQUFTLEVBQUVoQyxVQUFVLEVBQUUsSUFBSSxDQUFDZSxpQkFBaUIsQ0FBQztNQUM1RSxJQUFJLENBQUNxQiw2QkFBNkIsRUFBRTtRQUNuQyxJQUFBRSx3Q0FBNEIsRUFDM0JoQyxTQUFTLEVBQ1QyQixhQUFhLEVBQ2IxQixVQUFVLEVBQ1YyQixjQUFjLEVBQ2QxQixXQUFXLEVBQ1gyQixlQUFlLEVBQ2YsSUFBSSxDQUFDTixJQUNOLENBQUM7TUFDRjtJQUNEO0lBRUFVLG9CQUFvQkEsQ0FBQSxFQUFHO01BQ3RCLE1BQU07UUFBRWQ7TUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDL0IsS0FBSztNQUM1QixJQUFBOEMsb0NBQXdCLEVBQUNmLEtBQUssRUFBRSxJQUFJLENBQUNQLHlCQUF5QixDQUFDLENBQUMsQ0FBQztJQUNsRTtJQStDQXVCLE1BQU1BLENBQUEsRUFBRztNQUNSLE1BQU07UUFBRUMsT0FBTztRQUFFQyxLQUFLO1FBQUVDLFFBQVE7UUFBRUMsYUFBYTtRQUFFLEdBQUdDO01BQVcsQ0FBQyxHQUFHLElBQUksQ0FBQ3BELEtBQUs7TUFDN0UsTUFBTTtRQUFFVSxXQUFXO1FBQUVELG1CQUFtQjtRQUFFSDtNQUFXLENBQUMsR0FBRyxJQUFJLENBQUNVLEtBQUs7TUFFbkUsSUFBSU4sV0FBVyxLQUFLUyx5QkFBWSxDQUFDQyxhQUFhLEVBQUU7UUFDL0Msb0JBQU8sSUFBQS9CLFdBQUEsQ0FBQWdFLEdBQUEsRUFBQzdELGVBQWUsSUFBRSxDQUFDO01BQzNCO01BRUEsb0JBQ0MsSUFBQUgsV0FBQSxDQUFBZ0UsR0FBQSxFQUFDOUQsZ0JBQWdCO1FBQUEsR0FDWDZELFVBQVU7UUFDZkUsVUFBVSxFQUFFLElBQUksQ0FBQ3RCLGFBQWEsQ0FBQyxJQUFJLENBQUNoQyxLQUFLLENBQUMrQixLQUFLLEVBQUUsSUFBSSxDQUFDL0IsS0FBSyxDQUFDVyxJQUFJLENBQUU7UUFDbEVELFdBQVcsRUFBRUEsV0FBWTtRQUN6QkQsbUJBQW1CLEVBQUVBLG1CQUFvQjtRQUN6Q0gsVUFBVSxFQUFFQSxVQUFXO1FBQ3ZCNkIsSUFBSSxFQUFFLElBQUksQ0FBQ0EsSUFBSztRQUNoQm9CLGdCQUFnQixFQUFFLElBQUksQ0FBQ0EsZ0JBQWlCO1FBQ3hDQyxNQUFNLEVBQUUsSUFBSSxDQUFDQSxNQUFPO1FBQ3BCQyxNQUFNLEVBQUUsSUFBSSxDQUFDQSxNQUFPO1FBQ3BCQyxNQUFNLEVBQUUsSUFBSSxDQUFDQTtNQUFPLENBQ3BCLENBQUM7SUFFSjtFQUNELENBQUM7QUFDRjtBQUVPLE1BQU1DLHdCQUF3QixHQUNiL0MsU0FBaUIsSUFDeEMsQ0FDQ0ksS0FBcUIsRUFDckI0QyxRQUMrQixLQUMzQjtFQUNKLE9BQU8sSUFBQUMscUNBQXlCLEVBQUM7SUFDaENsRCxJQUFJLEVBQUVpRCxRQUFRLENBQUNqRCxJQUFJO0lBQ25CQyxTQUFTLEVBQUVnRCxRQUFRLENBQUNoRCxTQUFTLElBQUlBLFNBQVM7SUFDMUNDLFVBQVUsRUFBRStDLFFBQVEsQ0FBQy9DLFVBQVU7SUFDL0JpRCxnQkFBZ0IsRUFBRUYsUUFBUSxDQUFDWCxLQUFLLENBQUMzQixNQUFNO0lBQ3ZDTjtFQUNELENBQUMsQ0FBQztBQUNILENBQUM7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVZBK0MsT0FBQSxDQUFBSix3QkFBQSxHQUFBQSx3QkFBQTtBQVdlLFNBQVNLLG1CQUFtQkEsQ0FJMUN6RSxnQkFBMEMsRUFDMUNxQixTQUFpQixFQUNqQnBCLGVBQStCLEVBQ21GO0VBQ2xILE1BQU1LLG1CQUFtQixHQUFHUCw0QkFBNEIsQ0FBQ0MsZ0JBQWdCLEVBQUVDLGVBQWUsQ0FBQztFQUMzRixNQUFNeUUsZUFBZSxHQUFHTix3QkFBd0IsQ0FBQy9DLFNBQVMsQ0FBQztFQUMzRDtFQUNBLE9BQU8sSUFBQXNELHVCQUFVLEVBQUMsSUFBQUMsNEJBQWEsRUFBQyxJQUFBQyxtQkFBTyxFQUFDSCxlQUFlLENBQUMsQ0FBQ3BFLG1CQUFtQixDQUFDLENBQUMsQ0FBQztBQUNoRiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
178
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWVtb2l6ZU9uZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfcmVhY3RSb3V0ZXIiLCJfbW9kZWxTdGF0dXMiLCJfY29sbGVjdGlvbiIsIl9tb2RlbCIsIl9Mb2FkaW5nIiwiX0d1aWRDb21wb25lbnQiLCJfanN4UnVudGltZSIsImNvbmZpZ3VyZUNvbGxlY3Rpb25Db21wb25lbnQiLCJXcmFwcGVkQ29tcG9uZW50IiwiTG9hZGVyQ29tcG9uZW50IiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiTG9hZGluZyIsIkNvbGxlY3Rpb25Db21wb25lbnQiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiX3RoaXMiLCJ0aGlzIiwiX2RlZmluZVByb3BlcnR5MiIsImRlZmF1bHQiLCJuZXdNb2RlbFN0YXR1cyIsImZldGNoaW5nSWQiLCJzZXRTdGF0ZSIsInByZXZTdGF0ZSIsInByZXZpb3VzTW9kZWxTdGF0dXMiLCJtb2RlbFN0YXR1cyIsImd1aWQiLCJtb2RlbE5hbWUiLCJwYXRoUGFyYW1zIiwicXVlcnlQYXJhbXMiLCJkaXNhYmxlQXV0b0xvYWQiLCJzdGF0ZSIsImNvbGxlY3Rpb25NZXRob2RDb25maWciLCJpc0luaXRpYWxpemVkIiwiTU9ERUxfU1RBVFVTIiwiVU5JTklUSUFMSVpFRCIsImNoYW5nZU1vZGVsU3RhdHVzIiwicGFyYW1zIiwibG9hZENvbGxlY3Rpb24iLCJnZXRDb2xsZWN0aW9uTWV0aG9kQ29uZmlnIiwidGFza0lkIiwic3RvcENvbGxlY3Rpb25QZXJpb2RpY0xvYWQiLCJjcmVhdGVJdGVtSW5Db2xsZWN0aW9uIiwidXBkYXRlSXRlbUluQ29sbGVjdGlvbiIsImRlbGV0ZUl0ZW1Gcm9tQ29sbGVjdGlvbiIsIm1lbW9pemVPbmUiLCJtb2RlbCIsImdldE1vZGVsQXJyYXkiLCJjb21wb25lbnREaWRNb3VudCIsImluaXRpYWxpemVDb2xsZWN0aW9uIiwibG9hZCIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZXZQcm9wcyIsInByZXZNb2RlbCIsInByZXZNb2RlbE5hbWUiLCJwcmV2UGF0aFBhcmFtcyIsInByZXZRdWVyeVBhcmFtcyIsImRpc2FibGVBdXRvTG9hZE9uUGFyYW1zQ2hhbmdlIiwiaGFuZGxlTW9kZWxGZXRjaEZpbmlzaCIsImhhbmRsZUNvbGxlY3Rpb25QYXJhbXNDaGFuZ2UiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsImNsZWFudXBDb2xsZWN0aW9uR3VpZEtleSIsInJlbmRlciIsImhpc3RvcnkiLCJtYXRjaCIsImxvY2F0aW9uIiwic3RhdGljQ29udGV4dCIsIm90aGVyUHJvcHMiLCJqc3giLCJtb2RlbEFycmF5Iiwic3RvcFBlcmlvZGljTG9hZCIsImNyZWF0ZSIsInVwZGF0ZSIsImRlbGV0ZSIsImNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyIsIm93blByb3BzIiwic2VsZWN0Q29sbGVjdGlvbkZyb21TdGF0ZSIsInJvdXRlTWF0Y2hQYXJhbXMiLCJleHBvcnRzIiwiY29sbGVjdGlvbkNvbXBvbmVudCIsIm1hcFN0YXRlVG9Qcm9wcyIsIndpdGhSb3V0ZXIiLCJndWlkQ29tcG9uZW50IiwiY29ubmVjdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0hPQy9Db2xsZWN0aW9uQ29tcG9uZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbWVtb2l6ZU9uZSBmcm9tICdtZW1vaXplLW9uZSdcbmltcG9ydCB7IENvbXBvbmVudCwgQ29tcG9uZW50Q2xhc3MsIENvbXBvbmVudFR5cGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICdyZWFjdC1yZWR1eCdcbmltcG9ydCB7IFJvdXRlQ29tcG9uZW50UHJvcHMsIHdpdGhSb3V0ZXIgfSBmcm9tICdyZWFjdC1yb3V0ZXInXG5pbXBvcnQgeyBNT0RFTF9TVEFUVVMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvbW9kZWxTdGF0dXMnXG5pbXBvcnQgeyBCYXNlUmVkdXhTdGF0ZSwgQ29sbGVjdGlvblNlbGVjdG9yTWV0aG9kUmVzcG9uc2UsIE1vZGVsLCBNb2RlbENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB7XG5cdENvbGxlY3Rpb25Db21tb25Qcm9wcyxcblx0Q29sbGVjdGlvbkNvbW1vblN0YXRlLFxuXHRDb2xsZWN0aW9uQ3JlYXRlUGFyYW1zLFxuXHRDb2xsZWN0aW9uRGVsZXRlUGFyYW1zLFxuXHRDb2xsZWN0aW9uRGVyaXZlZFByb3BzLFxuXHRDb2xsZWN0aW9uTG9hZFBhcmFtcyxcblx0Q29sbGVjdGlvbk1ldGhvZENvbmZpZ3VyYXRpb24sXG5cdENvbGxlY3Rpb25NZXRob2RzLFxuXHRDb2xsZWN0aW9uUmVkdXhSZXNwb25zZSxcblx0Q29sbGVjdGlvblVwZGF0ZVBhcmFtc1xufSBmcm9tICcuLi8uLi90eXBlcy9Db2xsZWN0aW9uJ1xuaW1wb3J0IHtcblx0Y2xlYW51cENvbGxlY3Rpb25HdWlkS2V5LFxuXHRjcmVhdGVJdGVtSW5Db2xsZWN0aW9uLFxuXHRkZWxldGVJdGVtRnJvbUNvbGxlY3Rpb24sXG5cdGhhbmRsZUNvbGxlY3Rpb25QYXJhbXNDaGFuZ2UsXG5cdGluaXRpYWxpemVDb2xsZWN0aW9uLFxuXHRsb2FkQ29sbGVjdGlvbixcblx0c2VsZWN0Q29sbGVjdGlvbkZyb21TdGF0ZSxcblx0c3RvcENvbGxlY3Rpb25QZXJpb2RpY0xvYWQsXG5cdHVwZGF0ZUl0ZW1JbkNvbGxlY3Rpb25cbn0gZnJvbSAnLi4vLi4vdXRpbHMvY29sbGVjdGlvbidcbmltcG9ydCB7IGdldE1vZGVsQXJyYXksIGhhbmRsZU1vZGVsRmV0Y2hGaW5pc2ggfSBmcm9tICcuLi8uLi91dGlscy9tb2RlbCdcbmltcG9ydCB7IExvYWRpbmcgfSBmcm9tICcuLi9Mb2FkaW5nJ1xuaW1wb3J0IHsgZ3VpZENvbXBvbmVudCwgR3VpZENvbXBvbmVudFdyYXBwZWRQcm9wcyB9IGZyb20gJy4vR3VpZENvbXBvbmVudCdcblxuLyoqIFRoZSBwcm9wcyBwYXNzZWQgaW50byBgQ29sbGVjdGlvbkNvbXBvbmVudGAgZnJvbSB0aGUgdXNlciBhbmQgb3RoZXIgSE9Dcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvbkNvbXBvbmVudFByb3BzPFRNb2RlbCBleHRlbmRzIE1vZGVsPlxuXHRleHRlbmRzIENvbGxlY3Rpb25Db21tb25Qcm9wcywgR3VpZENvbXBvbmVudFdyYXBwZWRQcm9wcywgUm91dGVDb21wb25lbnRQcm9wcywgQ29sbGVjdGlvblJlZHV4UmVzcG9uc2U8VE1vZGVsPiB7fVxuXG4vKiogVGhlIHByb3BzIHBhc3NlZCBkb3duIHRvIHRoZSBgV3JhcHBlZENvbXBvbmVudGAuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb25Db21wb25lbnRXcmFwcGVkUHJvcHM8VE1vZGVsIGV4dGVuZHMgTW9kZWw+XG5cdGV4dGVuZHNcblx0XHRPbWl0PENvbGxlY3Rpb25Db21wb25lbnRQcm9wczxUTW9kZWw+LCBrZXlvZiBSb3V0ZUNvbXBvbmVudFByb3BzPixcblx0XHRDb2xsZWN0aW9uRGVyaXZlZFByb3BzPFRNb2RlbD4sXG5cdFx0Q29sbGVjdGlvbk1ldGhvZHMsXG5cdFx0Q29sbGVjdGlvbkNvbW1vblN0YXRlIHt9XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25maWd1cmVDb2xsZWN0aW9uQ29tcG9uZW50PFRNb2RlbCBleHRlbmRzIE1vZGVsLCBUT3duUHJvcHMgZXh0ZW5kcyBvYmplY3Q+KFxuXHRXcmFwcGVkQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPFRPd25Qcm9wcyAmIENvbGxlY3Rpb25Db21wb25lbnRXcmFwcGVkUHJvcHM8VE1vZGVsPj4sXG5cdExvYWRlckNvbXBvbmVudDogQ29tcG9uZW50VHlwZSA9IExvYWRpbmdcbikge1xuXHR0eXBlIEhvY1Byb3BzID0gVE93blByb3BzICYgQ29sbGVjdGlvbkNvbXBvbmVudFByb3BzPFRNb2RlbD5cblxuXHRyZXR1cm4gY2xhc3MgQ29sbGVjdGlvbkNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudDxIb2NQcm9wcywgQ29sbGVjdGlvbkNvbW1vblN0YXRlPiBpbXBsZW1lbnRzIENvbGxlY3Rpb25NZXRob2RzIHtcblx0XHRjb25zdHJ1Y3Rvcihwcm9wczogSG9jUHJvcHMpIHtcblx0XHRcdHN1cGVyKHByb3BzKVxuXHRcdFx0dGhpcy5zdGF0ZSA9IHtcblx0XHRcdFx0Ly8gaW5pdGlhbGl6aW5nIHVudGlsIG1vZGVsIGlzIGxvYWRlZFxuXHRcdFx0XHRtb2RlbFN0YXR1czogTU9ERUxfU1RBVFVTLlVOSU5JVElBTElaRUQsXG5cdFx0XHRcdHByZXZpb3VzTW9kZWxTdGF0dXM6IE1PREVMX1NUQVRVUy5VTklOSVRJQUxJWkVELFxuXHRcdFx0XHRmZXRjaGluZ0lkOiB1bmRlZmluZWRcblx0XHRcdH1cblx0XHR9XG5cblx0XHRjb21wb25lbnREaWRNb3VudCgpIHtcblx0XHRcdGNvbnN0IHsgbW9kZWwgfSA9IHRoaXMucHJvcHNcblx0XHRcdGluaXRpYWxpemVDb2xsZWN0aW9uKG1vZGVsLCB0aGlzLmxvYWQsIHRoaXMuZ2V0Q29sbGVjdGlvbk1ldGhvZENvbmZpZygpKVxuXHRcdH1cblxuXHRcdGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHM6IEhvY1Byb3BzKSB7XG5cdFx0XHRjb25zdCB7XG5cdFx0XHRcdG1vZGVsOiBwcmV2TW9kZWwsXG5cdFx0XHRcdG1vZGVsTmFtZTogcHJldk1vZGVsTmFtZSxcblx0XHRcdFx0cGF0aFBhcmFtczogcHJldlBhdGhQYXJhbXMsXG5cdFx0XHRcdHF1ZXJ5UGFyYW1zOiBwcmV2UXVlcnlQYXJhbXNcblx0XHRcdH0gPSBwcmV2UHJvcHNcblx0XHRcdGNvbnN0IHsgbW9kZWwsIG1vZGVsTmFtZSwgcGF0aFBhcmFtcywgcXVlcnlQYXJhbXMsIGRpc2FibGVBdXRvTG9hZE9uUGFyYW1zQ2hhbmdlIH0gPSB0aGlzLnByb3BzXG5cdFx0XHRjb25zdCB7IGZldGNoaW5nSWQgfSA9IHRoaXMuc3RhdGVcblx0XHRcdGhhbmRsZU1vZGVsRmV0Y2hGaW5pc2gobW9kZWwsIHByZXZNb2RlbCwgZmV0Y2hpbmdJZCwgdGhpcy5jaGFuZ2VNb2RlbFN0YXR1cylcblx0XHRcdGlmICghZGlzYWJsZUF1dG9Mb2FkT25QYXJhbXNDaGFuZ2UpIHtcblx0XHRcdFx0aGFuZGxlQ29sbGVjdGlvblBhcmFtc0NoYW5nZShcblx0XHRcdFx0XHRtb2RlbE5hbWUsXG5cdFx0XHRcdFx0cHJldk1vZGVsTmFtZSxcblx0XHRcdFx0XHRwYXRoUGFyYW1zLFxuXHRcdFx0XHRcdHByZXZQYXRoUGFyYW1zLFxuXHRcdFx0XHRcdHF1ZXJ5UGFyYW1zLFxuXHRcdFx0XHRcdHByZXZRdWVyeVBhcmFtcyxcblx0XHRcdFx0XHR0aGlzLmxvYWRcblx0XHRcdFx0KVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuXHRcdFx0Y29uc3QgeyBtb2RlbCB9ID0gdGhpcy5wcm9wc1xuXHRcdFx0Y2xlYW51cENvbGxlY3Rpb25HdWlkS2V5KG1vZGVsLCB0aGlzLmdldENvbGxlY3Rpb25NZXRob2RDb25maWcoKSlcblx0XHR9XG5cblx0XHRjaGFuZ2VNb2RlbFN0YXR1cyA9IChuZXdNb2RlbFN0YXR1czogTU9ERUxfU1RBVFVTLCBmZXRjaGluZ0lkPzogc3RyaW5nIHwgbnVtYmVyKSA9PiB7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHByZXZTdGF0ZSA9PiAoe1xuXHRcdFx0XHRmZXRjaGluZ0lkLFxuXHRcdFx0XHRwcmV2aW91c01vZGVsU3RhdHVzOiBwcmV2U3RhdGUubW9kZWxTdGF0dXMsXG5cdFx0XHRcdG1vZGVsU3RhdHVzOiBuZXdNb2RlbFN0YXR1c1xuXHRcdFx0fSkpXG5cdFx0fVxuXG5cdFx0Z2V0Q29sbGVjdGlvbk1ldGhvZENvbmZpZyA9ICgpID0+IHtcblx0XHRcdGNvbnN0IHsgZ3VpZCwgbW9kZWxOYW1lLCBwYXRoUGFyYW1zLCBxdWVyeVBhcmFtcywgZGlzYWJsZUF1dG9Mb2FkIH0gPSB0aGlzLnByb3BzXG5cdFx0XHRjb25zdCB7IG1vZGVsU3RhdHVzIH0gPSB0aGlzLnN0YXRlXG5cdFx0XHRjb25zdCBjb2xsZWN0aW9uTWV0aG9kQ29uZmlnOiBDb2xsZWN0aW9uTWV0aG9kQ29uZmlndXJhdGlvbiA9IHtcblx0XHRcdFx0bW9kZWxOYW1lLFxuXHRcdFx0XHRwYXRoUGFyYW1zLFxuXHRcdFx0XHRxdWVyeVBhcmFtcyxcblx0XHRcdFx0ZGlzYWJsZUF1dG9Mb2FkLFxuXHRcdFx0XHRndWlkLFxuXHRcdFx0XHRpc0luaXRpYWxpemVkOiBtb2RlbFN0YXR1cyAhPT0gTU9ERUxfU1RBVFVTLlVOSU5JVElBTElaRUQsXG5cdFx0XHRcdGNoYW5nZU1vZGVsU3RhdHVzOiB0aGlzLmNoYW5nZU1vZGVsU3RhdHVzXG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gY29sbGVjdGlvbk1ldGhvZENvbmZpZ1xuXHRcdH1cblxuXHRcdGxvYWQgPSAocGFyYW1zOiBDb2xsZWN0aW9uTG9hZFBhcmFtcyA9IHt9KSA9PiB7XG5cdFx0XHRsb2FkQ29sbGVjdGlvbih0aGlzLmdldENvbGxlY3Rpb25NZXRob2RDb25maWcoKSwgcGFyYW1zKVxuXHRcdH1cblxuXHRcdHN0b3BQZXJpb2RpY0xvYWQgPSAodGFza0lkOiBzdHJpbmcpID0+IHtcblx0XHRcdHN0b3BDb2xsZWN0aW9uUGVyaW9kaWNMb2FkKHRhc2tJZClcblx0XHR9XG5cblx0XHRjcmVhdGUgPSAocGFyYW1zOiBDb2xsZWN0aW9uQ3JlYXRlUGFyYW1zKSA9PiB7XG5cdFx0XHRjcmVhdGVJdGVtSW5Db2xsZWN0aW9uKHRoaXMuZ2V0Q29sbGVjdGlvbk1ldGhvZENvbmZpZygpLCBwYXJhbXMpXG5cdFx0fVxuXG5cdFx0dXBkYXRlID0gKHBhcmFtczogQ29sbGVjdGlvblVwZGF0ZVBhcmFtcykgPT4ge1xuXHRcdFx0dXBkYXRlSXRlbUluQ29sbGVjdGlvbih0aGlzLmdldENvbGxlY3Rpb25NZXRob2RDb25maWcoKSwgcGFyYW1zKVxuXHRcdH1cblxuXHRcdGRlbGV0ZSA9IChwYXJhbXM6IENvbGxlY3Rpb25EZWxldGVQYXJhbXMpID0+IHtcblx0XHRcdGRlbGV0ZUl0ZW1Gcm9tQ29sbGVjdGlvbih0aGlzLmdldENvbGxlY3Rpb25NZXRob2RDb25maWcoKSwgcGFyYW1zKVxuXHRcdH1cblxuXHRcdGdldE1vZGVsQXJyYXkgPSBtZW1vaXplT25lKChtb2RlbDogTW9kZWxDb2xsZWN0aW9uPFRNb2RlbD4sIGd1aWQ/OiBzdHJpbmcpID0+IGdldE1vZGVsQXJyYXkobW9kZWwsIGd1aWQpKVxuXG5cdFx0cmVuZGVyKCkge1xuXHRcdFx0Y29uc3QgeyBoaXN0b3J5LCBtYXRjaCwgbG9jYXRpb24sIHN0YXRpY0NvbnRleHQsIC4uLm90aGVyUHJvcHMgfSA9IHRoaXMucHJvcHNcblx0XHRcdGNvbnN0IHsgbW9kZWxTdGF0dXMsIHByZXZpb3VzTW9kZWxTdGF0dXMsIGZldGNoaW5nSWQgfSA9IHRoaXMuc3RhdGVcblxuXHRcdFx0aWYgKG1vZGVsU3RhdHVzID09PSBNT0RFTF9TVEFUVVMuVU5JTklUSUFMSVpFRCkge1xuXHRcdFx0XHRyZXR1cm4gPExvYWRlckNvbXBvbmVudCAvPlxuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHQ8V3JhcHBlZENvbXBvbmVudFxuXHRcdFx0XHRcdHsuLi4ob3RoZXJQcm9wcyBhcyBUT3duUHJvcHMgJiBPbWl0PENvbGxlY3Rpb25Db21wb25lbnRQcm9wczxUTW9kZWw+LCBrZXlvZiBSb3V0ZUNvbXBvbmVudFByb3BzPil9XG5cdFx0XHRcdFx0bW9kZWxBcnJheT17dGhpcy5nZXRNb2RlbEFycmF5KHRoaXMucHJvcHMubW9kZWwsIHRoaXMucHJvcHMuZ3VpZCl9XG5cdFx0XHRcdFx0bW9kZWxTdGF0dXM9e21vZGVsU3RhdHVzfVxuXHRcdFx0XHRcdHByZXZpb3VzTW9kZWxTdGF0dXM9e3ByZXZpb3VzTW9kZWxTdGF0dXN9XG5cdFx0XHRcdFx0ZmV0Y2hpbmdJZD17ZmV0Y2hpbmdJZH1cblx0XHRcdFx0XHRsb2FkPXt0aGlzLmxvYWR9XG5cdFx0XHRcdFx0c3RvcFBlcmlvZGljTG9hZD17dGhpcy5zdG9wUGVyaW9kaWNMb2FkfVxuXHRcdFx0XHRcdGNyZWF0ZT17dGhpcy5jcmVhdGV9XG5cdFx0XHRcdFx0dXBkYXRlPXt0aGlzLnVwZGF0ZX1cblx0XHRcdFx0XHRkZWxldGU9e3RoaXMuZGVsZXRlfVxuXHRcdFx0XHQvPlxuXHRcdFx0KVxuXHRcdH1cblx0fVxufVxuXG5leHBvcnQgY29uc3QgY29uZmlndXJlTWFwU3RhdGVUb1Byb3BzID1cblx0PFRNb2RlbCBleHRlbmRzIE1vZGVsPihtb2RlbE5hbWU6IHN0cmluZykgPT5cblx0KFxuXHRcdHN0YXRlOiBCYXNlUmVkdXhTdGF0ZSxcblx0XHRvd25Qcm9wczogT21pdDxDb2xsZWN0aW9uQ29tcG9uZW50UHJvcHM8VE1vZGVsPiwga2V5b2YgQ29sbGVjdGlvblNlbGVjdG9yTWV0aG9kUmVzcG9uc2U8VE1vZGVsPj4gJlxuXHRcdFx0UGFydGlhbDxDb2xsZWN0aW9uQ29tbW9uUHJvcHM+XG5cdCkgPT4ge1xuXHRcdHJldHVybiBzZWxlY3RDb2xsZWN0aW9uRnJvbVN0YXRlKHtcblx0XHRcdGd1aWQ6IG93blByb3BzLmd1aWQsXG5cdFx0XHRtb2RlbE5hbWU6IG93blByb3BzLm1vZGVsTmFtZSB8fCBtb2RlbE5hbWUsXG5cdFx0XHRwYXRoUGFyYW1zOiBvd25Qcm9wcy5wYXRoUGFyYW1zLFxuXHRcdFx0cm91dGVNYXRjaFBhcmFtczogb3duUHJvcHMubWF0Y2gucGFyYW1zLFxuXHRcdFx0c3RhdGVcblx0XHR9KVxuXHR9XG5cbi8qKlxuICogSE9DIHRoYXQgcHJvdmlkZXMgXCJjb2xsZWN0aW9uXCIgcmVsYXRlZCBmdW5jdGlvbmFsaXR5LCB1c2luZyByZWR1eCBgY29ubmVjdCgpYCwgcmVhY3Qtcm91dGVyLWRvbSBgd2l0aFJvdXRlcigpYCwgYW5kIGBHdWlkQ29tcG9uZW50YC5cbiAqXG4gKiBAdGVtcGxhdGUgVCBUaGUgdHlwZSBvZiBtb2RlbCB0aGF0IGlzIGluIHRoaXMgY29sbGVjdGlvbi5cbiAqXG4gKiBAcGFyYW0gV3JhcHBlZENvbXBvbmVudCBUaGUgY29tcG9uZW50IHRvIHdyYXAuXG4gKiBAcGFyYW0gbW9kZWxOYW1lIFRoZSBnZW5lcmljIHBhdGggKG5vIElkcykgdG8gd2hlcmUgdGhlIGNvbGxlY3Rpb24gaXMgc3RvcmVkIGluIHJlZHV4LlxuICogQSBwYXRoIHJlbGF0aW5nIHRvIGFuIGl0ZW0gaW4gZGVmaW5lZCBpbiBgY29uc3RhbnRzL2NvbmZpZ3VyYXRpb24vZ2V0RW5kcG9pbnRNYXBwaW5ncygpYCAobGV2ZWxzIHNlcGFyYXRlZCBieSBhICcuJykuXG4gKiBDYW4gb3ZlcnJpZGUgYXQgcmVuZGVyIHRpbWUsIGUuZy4gYDxDIG1vZGVsTmFtZT1cIm90aGVyTW9kZWxcIiAvPmAuXG4gKiBAcGFyYW0gTG9hZGVyQ29tcG9uZW50IENvbXBvbmVudCB0byB1c2UgYXMgdGhlIExvYWRlci4gRGVmYXVsdHMgdG8gYDxMb2FkaW5nIC8+YC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY29sbGVjdGlvbkNvbXBvbmVudDxcblx0VE1vZGVsIGV4dGVuZHMgTW9kZWwsXG5cdFRPd25Qcm9wcyBleHRlbmRzIENvbGxlY3Rpb25Db21wb25lbnRXcmFwcGVkUHJvcHM8VE1vZGVsPlxuPihcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHM+LFxuXHRtb2RlbE5hbWU6IHN0cmluZyxcblx0TG9hZGVyQ29tcG9uZW50PzogQ29tcG9uZW50VHlwZVxuKTogQ29tcG9uZW50Q2xhc3M8T21pdDxUT3duUHJvcHMsIGtleW9mIENvbGxlY3Rpb25Db21wb25lbnRXcmFwcGVkUHJvcHM8VE1vZGVsPj4gJiBQYXJ0aWFsPENvbGxlY3Rpb25Db21tb25Qcm9wcz4+IHtcblx0Y29uc3QgQ29sbGVjdGlvbkNvbXBvbmVudCA9IGNvbmZpZ3VyZUNvbGxlY3Rpb25Db21wb25lbnQoV3JhcHBlZENvbXBvbmVudCwgTG9hZGVyQ29tcG9uZW50KVxuXHRjb25zdCBtYXBTdGF0ZVRvUHJvcHMgPSBjb25maWd1cmVNYXBTdGF0ZVRvUHJvcHMobW9kZWxOYW1lKVxuXHQvLyBAdHMtaWdub3JlOiBjb3VsZCBub3QgbWF0Y2ggaW5mZXJyZWQgdHlwZSBmcm9tIHRoZSBgY29ubmVjdGAgSE9DXG5cdHJldHVybiB3aXRoUm91dGVyKGd1aWRDb21wb25lbnQoY29ubmVjdChtYXBTdGF0ZVRvUHJvcHMpKENvbGxlY3Rpb25Db21wb25lbnQpKSlcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFlBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFlBQUEsR0FBQUosT0FBQTtBQWNBLElBQUFLLFdBQUEsR0FBQUwsT0FBQTtBQVdBLElBQUFNLE1BQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFFBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLGNBQUEsR0FBQVIsT0FBQTtBQUEwRSxJQUFBUyxXQUFBLEdBQUFULE9BQUE7QUFFMUU7O0FBSUE7O0FBUU8sU0FBU1UsNEJBQTRCQSxDQUMzQ0MsZ0JBQW9GLEVBRW5GO0VBQUEsSUFEREMsZUFBOEIsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUdHLGdCQUFPO0VBSXhDLE9BQU8sTUFBTUMsbUJBQW1CLFNBQVNDLGdCQUFTLENBQStEO0lBQ2hIQyxXQUFXQSxDQUFDQyxLQUFlLEVBQUU7TUFBQSxJQUFBQyxLQUFBO01BQzVCLEtBQUssQ0FBQ0QsS0FBSyxDQUFDO01BQUFDLEtBQUEsR0FBQUMsSUFBQTtNQUFBLElBQUFDLGdCQUFBLENBQUFDLE9BQUEsNkJBMENPLENBQUNDLGNBQTRCLEVBQUVDLFVBQTRCLEtBQUs7UUFDbkYsSUFBSSxDQUFDQyxRQUFRLENBQUNDLFNBQVMsS0FBSztVQUMzQkYsVUFBVTtVQUNWRyxtQkFBbUIs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
|
|
@@ -13,9 +13,9 @@ var _model = require("../../utils/model");
|
|
|
13
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
14
|
/** The props passed into `WrappedComponent`. */
|
|
15
15
|
|
|
16
|
-
/**
|
|
17
|
-
* HOC meant to pass the first collection item to the wrapped component as its model.
|
|
18
|
-
* Should be wrapped in `CollectionComponent`.
|
|
16
|
+
/**
|
|
17
|
+
* HOC meant to pass the first collection item to the wrapped component as its model.
|
|
18
|
+
* Should be wrapped in `CollectionComponent`.
|
|
19
19
|
*/
|
|
20
20
|
function configureCollectionFirstItemComponent(WrappedComponent) {
|
|
21
21
|
return class CollectionFirstItemComponent extends _react.Component {
|
|
@@ -56,4 +56,4 @@ function collectionFirstItemComponent(wrappedComponent) {
|
|
|
56
56
|
// @ts-ignore: Could not match inferred type from HOC
|
|
57
57
|
return configureCollectionFirstItemComponent(wrappedComponent);
|
|
58
58
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWVtb2l6ZU9uZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX21vZGVsIiwiX2pzeFJ1bnRpbWUiLCJjb25maWd1cmVDb2xsZWN0aW9uRmlyc3RJdGVtQ29tcG9uZW50IiwiV3JhcHBlZENvbXBvbmVudCIsIkNvbGxlY3Rpb25GaXJzdEl0ZW1Db21wb25lbnQiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsImFyZ3VtZW50cyIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJkZWZhdWx0IiwibWVtb2l6ZU9uZSIsIm1vZGVsIiwiZ3VpZCIsImdldE1vZGVsQXJyYXkiLCJnZXRNb2RlbE1pbnVzUmVsYXRpb25zIiwicHJvcHMiLCJtb2RlbEFycmF5Iiwic2luZ2xlSXRlbSIsImxlbmd0aCIsInJlbmRlciIsInBhdGhQYXJhbXMiLCJmaXJzdEl0ZW0iLCJnZXRGaXJzdEl0ZW0iLCJtb2RlbE1pbnVzUmVsYXRpb25zIiwicCIsImlkIiwicHVzaCIsImpzeCIsImNvbGxlY3Rpb25GaXJzdEl0ZW1Db21wb25lbnQiLCJ3cmFwcGVkQ29tcG9uZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvSE9DL0NvbGxlY3Rpb25GaXJzdEl0ZW1Db21wb25lbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtZW1vaXplT25lIGZyb20gJ21lbW9pemUtb25lJ1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDb21wb25lbnRDbGFzcywgQ29tcG9uZW50VHlwZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQ29sbGVjdGlvbkl0ZW1EZXJpdmVkUHJvcHMsIENvbGxlY3Rpb25JdGVtUmVkdXhSZXNwb25zZSwgTW9kZWwsIE1vZGVsQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHsgZ2V0TW9kZWxBcnJheSwgZ2V0TW9kZWxNaW51c1JlbGF0aW9ucyB9IGZyb20gJy4uLy4uL3V0aWxzL21vZGVsJ1xuaW1wb3J0IHsgQ29sbGVjdGlvbkNvbXBvbmVudFdyYXBwZWRQcm9wcyB9IGZyb20gJy4vQ29sbGVjdGlvbkNvbXBvbmVudCdcblxuLyoqIFRoZSBwcm9wcyBwYXNzZWQgaW50byBgV3JhcHBlZENvbXBvbmVudGAuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb25GaXJzdEl0ZW1Db21wb25lbnRXcmFwcGVkUHJvcHM8VE1vZGVsIGV4dGVuZHMgTW9kZWw+XG5cdGV4dGVuZHNcblx0XHRPbWl0PENvbGxlY3Rpb25Db21wb25lbnRXcmFwcGVkUHJvcHM8VE1vZGVsPiwgJ21vZGVsJz4sXG5cdFx0Q29sbGVjdGlvbkl0ZW1SZWR1eFJlc3BvbnNlPFRNb2RlbD4sXG5cdFx0Q29sbGVjdGlvbkl0ZW1EZXJpdmVkUHJvcHM8VE1vZGVsPiB7fVxuXG4vKipcbiAqIEhPQyBtZWFudCB0byBwYXNzIHRoZSBmaXJzdCBjb2xsZWN0aW9uIGl0ZW0gdG8gdGhlIHdyYXBwZWQgY29tcG9uZW50IGFzIGl0cyBtb2RlbC5cbiAqIFNob3VsZCBiZSB3cmFwcGVkIGluIGBDb2xsZWN0aW9uQ29tcG9uZW50YC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ3VyZUNvbGxlY3Rpb25GaXJzdEl0ZW1Db21wb25lbnQ8VE1vZGVsIGV4dGVuZHMgTW9kZWwsIFRPd25Qcm9wcyBleHRlbmRzIG9iamVjdD4oXG5cdFdyYXBwZWRDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzICYgQ29sbGVjdGlvbkZpcnN0SXRlbUNvbXBvbmVudFdyYXBwZWRQcm9wczxUTW9kZWw+PlxuKSB7XG5cdHJldHVybiBjbGFzcyBDb2xsZWN0aW9uRmlyc3RJdGVtQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50PFRPd25Qcm9wcyAmIENvbGxlY3Rpb25Db21wb25lbnRXcmFwcGVkUHJvcHM8VE1vZGVsPj4ge1xuXHRcdGdldE1vZGVsQXJyYXkgPSBtZW1vaXplT25lKChtb2RlbDogTW9kZWxDb2xsZWN0aW9uPFRNb2RlbD4sIGd1aWQ/OiBzdHJpbmcpID0+IGdldE1vZGVsQXJyYXkobW9kZWwsIGd1aWQpKVxuXG5cdFx0Z2V0TW9kZWxNaW51c1JlbGF0aW9ucyA9IG1lbW9pemVPbmUoKG1vZGVsOiBUTW9kZWwpID0+IGdldE1vZGVsTWludXNSZWxhdGlvbnMobW9kZWwpKVxuXG5cdFx0Z2V0Rmlyc3RJdGVtID0gKCkgPT4ge1xuXHRcdFx0Y29uc3QgeyBtb2RlbCwgZ3VpZCB9ID0gdGhpcy5wcm9wc1xuXHRcdFx0Y29uc3QgbW9kZWxBcnJheSA9IHRoaXMuZ2V0TW9kZWxBcnJheShtb2RlbCwgZ3VpZClcblx0XHRcdGNvbnN0IHNpbmdsZUl0ZW0gPVxuXHRcdFx0XHRtb2RlbEFycmF5Lmxlbmd0aCA+IDBcblx0XHRcdFx0XHQ/IG1vZGVsQXJyYXlbMF1cblx0XHRcdFx0XHQ6IG1vZGVsW2d1aWRdXG5cdFx0XHRcdFx0XHQ/IChtb2RlbFtndWlkXSBhcyB1bmtub3duIGFzIFRNb2RlbClcblx0XHRcdFx0XHRcdDogKHt9IGFzIFRNb2RlbClcblx0XHRcdHJldHVybiBzaW5nbGVJdGVtXG5cdFx0fVxuXG5cdFx0cmVuZGVyKCkge1xuXHRcdFx0Y29uc3QgeyBwYXRoUGFyYW1zIH0gPSB0aGlzLnByb3BzXG5cdFx0XHRjb25zdCBmaXJzdEl0ZW0gPSB0aGlzLmdldEZpcnN0SXRlbSgpXG5cdFx0XHRjb25zdCBtb2RlbE1pbnVzUmVsYXRpb25zID0gdGhpcy5nZXRNb2RlbE1pbnVzUmVsYXRpb25zKGZpcnN0SXRlbSlcblx0XHRcdGNvbnN0IHA6IEFycmF5PHN0cmluZyB8IG51bWJlcj4gPSBbLi4ucGF0aFBhcmFtc11cblx0XHRcdGlmIChmaXJzdEl0ZW0uaWQpIHtcblx0XHRcdFx0cC5wdXNoKGZpcnN0SXRlbS5pZClcblx0XHRcdH1cblx0XHRcdHJldHVybiAoXG5cdFx0XHRcdDxXcmFwcGVkQ29tcG9uZW50XG5cdFx0XHRcdFx0ey4uLnRoaXMucHJvcHN9XG5cdFx0XHRcdFx0cGF0aFBhcmFtcz17cH1cblx0XHRcdFx0XHRtb2RlbD17Zmlyc3RJdGVtfVxuXHRcdFx0XHRcdG1vZGVsTWludXNSZWxhdGlvbnM9e21vZGVsTWludXNSZWxhdGlvbnN9XG5cdFx0XHRcdC8+XG5cdFx0XHQpXG5cdFx0fVxuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNvbGxlY3Rpb25GaXJzdEl0ZW1Db21wb25lbnQ8XG5cdFRNb2RlbCBleHRlbmRzIE1vZGVsLFxuXHRUT3duUHJvcHMgZXh0ZW5kcyBDb2xsZWN0aW9uRmlyc3RJdGVtQ29tcG9uZW50V3JhcHBlZFByb3BzPFRNb2RlbD5cbj4oXG5cdHdyYXBwZWRDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzPlxuKTogQ29tcG9uZW50Q2xhc3M8XG5cdE9taXQ8VE93blByb3BzLCBrZXlvZiBDb2xsZWN0aW9uRmlyc3RJdGVtQ29tcG9uZW50V3JhcHBlZFByb3BzPFRNb2RlbD4+ICYgQ29sbGVjdGlvbkNvbXBvbmVudFdyYXBwZWRQcm9wczxUTW9kZWw+XG4+IHtcblx0Ly8gQHRzLWlnbm9yZTogQ291bGQgbm90IG1hdGNoIGluZmVycmVkIHR5cGUgZnJvbSBIT0Ncblx0cmV0dXJuIGNvbmZpZ3VyZUNvbGxlY3Rpb25GaXJzdEl0ZW1Db21wb25lbnQod3JhcHBlZENvbXBvbmVudClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQXlFLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQUd6RTs7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVNJLHFDQUFxQ0EsQ0FDcERDLGdCQUE2RixFQUM1RjtFQUNELE9BQU8sTUFBTUMsNEJBQTRCLFNBQVNDLGdCQUFTLENBQXNEO0lBQUFDLFlBQUE7TUFBQSxTQUFBQyxTQUFBO01BQUEsSUFBQUMsZ0JBQUEsQ0FBQUMsT0FBQSx5QkFDaEcsSUFBQUMsbUJBQVUsRUFBQyxDQUFDQyxLQUE4QixFQUFFQyxJQUFhLEtBQUssSUFBQUMsb0JBQWEsRUFBQ0YsS0FBSyxFQUFFQyxJQUFJLENBQUMsQ0FBQztNQUFBLElBQUFKLGdCQUFBLENBQUFDLE9BQUEsa0NBRWhGLElBQUFDLG1CQUFVLEVBQUVDLEtBQWEsSUFBSyxJQUFBRyw2QkFBc0IsRUFBQ0gsS0FBSyxDQUFDLENBQUM7TUFBQSxJQUFBSCxnQkFBQSxDQUFBQyxPQUFBLHdCQUV0RSxNQUFNO1FBQ3BCLE1BQU07VUFBRUUsS0FBSztVQUFFQztRQUFLLENBQUMsR0FBRyxJQUFJLENBQUNHLEtBQUs7UUFDbEMsTUFBTUMsVUFBVSxHQUFHLElBQUksQ0FBQ0gsYUFBYSxDQUFDRixLQUFLLEVBQUVDLElBQUksQ0FBQztRQUNsRCxNQUFNSyxVQUFVLEdBQ2ZELFVBQVUsQ0FBQ0UsTUFBTSxHQUFHLENBQUMsR0FDbEJGLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FDYkwsS0FBSyxDQUFDQyxJQUFJLENBQUMsR0FDVEQsS0FBSyxDQUFDQyxJQUFJLENBQUMsR0FDWCxDQUFDLENBQVk7UUFDbkIsT0FBT0ssVUFBVTtNQUNsQixDQUFDO0lBQUE7SUFFREUsTUFBTUEsQ0FBQSxFQUFHO01BQ1IsTUFBTTtRQUFFQztNQUFXLENBQUMsR0FBRyxJQUFJLENBQUNMLEtBQUs7TUFDakMsTUFBTU0sU0FBUyxHQUFHLElBQUksQ0FBQ0MsWUFBWSxDQUFDLENBQUM7TUFDckMsTUFBTUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDVCxzQkFBc0IsQ0FBQ08sU0FBUyxDQUFDO01BQ2xFLE1BQU1HLENBQXlCLEdBQUcsQ0FBQyxHQUFHSixVQUFVLENBQUM7TUFDakQsSUFBSUMsU0FBUyxDQUFDSSxFQUFFLEVBQUU7UUFDakJELENBQUMsQ0FBQ0UsSUFBSSxDQUFDTCxTQUFTLENBQUNJLEVBQUUsQ0FBQztNQUNyQjtNQUNBLG9CQUNDLElBQUF4QixXQUFBLENBQUEwQixHQUFBLEVBQUN4QixnQkFBZ0I7UUFBQSxHQUNaLElBQUksQ0FBQ1ksS0FBSztRQUNkSyxVQUFVLEVBQUVJLENBQUU7UUFDZGIsS0FBSyxFQUFFVSxTQUFVO1FBQ2pCRSxtQkFBbUIsRUFBRUE7TUFBb0IsQ0FDekMsQ0FBQztJQUVKO0VBQ0QsQ0FBQztBQUNGO0FBRWUsU0FBU0ssNEJBQTRCQSxDQUluREMsZ0JBQTBDLEVBR3pDO0VBQ0Q7RUFDQSxPQUFPM0IscUNBQXFDLENBQUMyQixnQkFBZ0IsQ0FBQztBQUMvRCIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -155,16 +155,16 @@ const configureMapStateToProps = modelName => (state, ownProps) => {
|
|
|
155
155
|
});
|
|
156
156
|
};
|
|
157
157
|
|
|
158
|
-
/**
|
|
159
|
-
* HOC that provides "collection" related functionality for a single item in a collection, using redux `connect()`, react-router-dom `withRouter()`, and `GuidComponent`.
|
|
160
|
-
*
|
|
161
|
-
* @template T The type of model.
|
|
162
|
-
*
|
|
163
|
-
* @param WrappedComponent The component to wrap.
|
|
164
|
-
* @param modelName The generic path (no Ids) to where the collection item is stored in redux.
|
|
165
|
-
* A path relating to an item in defined in `constants/configuration/getEndpointMappings()` (levels separated by a '.').
|
|
166
|
-
* Can override at render time, e.g. `<C modelName="otherModel" />`.
|
|
167
|
-
* @param LoaderComponent Component to use as the Loader. Defaults to `<Loading />`.
|
|
158
|
+
/**
|
|
159
|
+
* HOC that provides "collection" related functionality for a single item in a collection, using redux `connect()`, react-router-dom `withRouter()`, and `GuidComponent`.
|
|
160
|
+
*
|
|
161
|
+
* @template T The type of model.
|
|
162
|
+
*
|
|
163
|
+
* @param WrappedComponent The component to wrap.
|
|
164
|
+
* @param modelName The generic path (no Ids) to where the collection item is stored in redux.
|
|
165
|
+
* A path relating to an item in defined in `constants/configuration/getEndpointMappings()` (levels separated by a '.').
|
|
166
|
+
* Can override at render time, e.g. `<C modelName="otherModel" />`.
|
|
167
|
+
* @param LoaderComponent Component to use as the Loader. Defaults to `<Loading />`.
|
|
168
168
|
*/
|
|
169
169
|
exports.configureMapStateToProps = configureMapStateToProps;
|
|
170
170
|
function collectionItemComponent(WrappedComponent, modelName, LoaderComponent) {
|
|
@@ -173,4 +173,4 @@ function collectionItemComponent(WrappedComponent, modelName, LoaderComponent) {
|
|
|
173
173
|
// @ts-ignore: could not match inferred type from the `connect` HOC
|
|
174
174
|
return (0, _reactRouter.withRouter)((0, _GuidComponent.guidComponent)((0, _reactRedux.connect)(mapStateToProps)(CollectionItemComponent)));
|
|
175
175
|
}
|
|
176
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWVtb2l6ZU9uZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfcmVhY3RSb3V0ZXIiLCJfbW9kZWxTdGF0dXMiLCJfY29sbGVjdGlvbiIsIl9tb2RlbCIsIl9Mb2FkaW5nIiwiX0d1aWRDb21wb25lbnQiLCJfanN4UnVudGltZSIsImNvbmZpZ3VyZUNvbGxlY3Rpb25JdGVtQ29tcG9uZW50IiwiV3JhcHBlZENvbXBvbmVudCIsIkxvYWRlckNvbXBvbmVudCIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIkxvYWRpbmciLCJDb2xsZWN0aW9uSXRlbUNvbXBvbmVudCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfdGhpcyIsInRoaXMiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsIm5ld01vZGVsU3RhdHVzIiwic2V0U3RhdGUiLCJwcmV2U3RhdGUiLCJwcmV2aW91c01vZGVsU3RhdHVzIiwibW9kZWxTdGF0dXMiLCJndWlkIiwibW9kZWxOYW1lIiwicGF0aFBhcmFtcyIsInF1ZXJ5UGFyYW1zIiwiZGlzYWJsZUF1dG9Mb2FkIiwic3RhdGUiLCJjb2xsZWN0aW9uTWV0aG9kQ29uZmlnIiwiaXNJbml0aWFsaXplZCIsIk1PREVMX1NUQVRVUyIsIlVOSU5JVElBTElaRUQiLCJjaGFuZ2VNb2RlbFN0YXR1cyIsInNldE1vZGVsU3RhdHVzIiwicGFyYW1zIiwibG9hZENvbGxlY3Rpb25JdGVtIiwiZ2V0Q29sbGVjdGlvbk1ldGhvZENvbmZpZyIsInRhc2tJZCIsInN0b3BDb2xsZWN0aW9uUGVyaW9kaWNMb2FkIiwibW9kZWwiLCJjcmVhdGVDb2xsZWN0aW9uSXRlbSIsInVwZGF0ZUNvbGxlY3Rpb25JdGVtIiwiZGVsZXRlQ29sbGVjdGlvbkl0ZW0iLCJtZW1vaXplT25lIiwiZ2V0TW9kZWxNaW51c1JlbGF0aW9ucyIsImNvbXBvbmVudERpZE1vdW50IiwiaW5pdGlhbGl6ZUNvbGxlY3Rpb25JdGVtIiwibG9hZCIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZXZQcm9wcyIsInByZXZNb2RlbCIsInByZXZNb2RlbE5hbWUiLCJwcmV2UGF0aFBhcmFtcyIsInByZXZRdWVyeVBhcmFtcyIsImRpc2FibGVBdXRvTG9hZE9uUGFyYW1zQ2hhbmdlIiwiaGFuZGxlTW9kZWxGZXRjaEZpbmlzaCIsImhhbmRsZUNvbGxlY3Rpb25JdGVtUGFyYW1zQ2hhbmdlIiwicmVuZGVyIiwiaGlzdG9yeSIsIm1hdGNoIiwibG9jYXRpb24iLCJzdGF0aWNDb250ZXh0Iiwib3RoZXJQcm9wcyIsImpzeCIsIm1vZGVsTWludXNSZWxhdGlvbnMiLCJzdG9wUGVyaW9kaWNMb2FkIiwiY3JlYXRlIiwidXBkYXRlIiwiZGVsZXRlIiwiY29uZmlndXJlTWFwU3RhdGVUb1Byb3BzIiwib3duUHJvcHMiLCJzZWxlY3RDb2xsZWN0aW9uSXRlbUZyb21TdGF0ZSIsInJvdXRlTWF0Y2hQYXJhbXMiLCJleHBvcnRzIiwiY29sbGVjdGlvbkl0ZW1Db21wb25lbnQiLCJtYXBTdGF0ZVRvUHJvcHMiLCJ3aXRoUm91dGVyIiwiZ3VpZENvbXBvbmVudCIsImNvbm5lY3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9IT0MvQ29sbGVjdGlvbkl0ZW1Db21wb25lbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtZW1vaXplT25lIGZyb20gJ21lbW9pemUtb25lJ1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudENsYXNzLCBDb21wb25lbnRUeXBlIH0gZnJvbSAncmVhY3QnXHJcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICdyZWFjdC1yZWR1eCdcclxuaW1wb3J0IHsgUm91dGVDb21wb25lbnRQcm9wcywgd2l0aFJvdXRlciB9IGZyb20gJ3JlYWN0LXJvdXRlcidcclxuaW1wb3J0IHsgTU9ERUxfU1RBVFVTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL21vZGVsU3RhdHVzJ1xyXG5pbXBvcnQge1xyXG5cdEJhc2VSZWR1eFN0YXRlLFxyXG5cdENvbGxlY3Rpb25Db21tb25Qcm9wcyxcclxuXHRDb2xsZWN0aW9uQ29tbW9uU3RhdGUsXHJcblx0Q29sbGVjdGlvbkNyZWF0ZVBhcmFtcyxcclxuXHRDb2xsZWN0aW9uSXRlbURlbGV0ZVBhcmFtcyxcclxuXHRDb2xsZWN0aW9uSXRlbURlcml2ZWRQcm9wcyxcclxuXHRDb2xsZWN0aW9uSXRlbUxvYWRQYXJhbXMsXHJcblx0Q29sbGVjdGlvbkl0ZW1NZXRob2RzLFxyXG5cdENvbGxlY3Rpb25JdGVtUmVkdXhSZXNwb25zZSxcclxuXHRDb2xsZWN0aW9uSXRlbVVwZGF0ZVBhcmFtcyxcclxuXHRDb2xsZWN0aW9uTWV0aG9kQ29uZmlndXJhdGlvbixcclxuXHRNb2RlbFxyXG59IGZyb20gJy4uLy4uL3R5cGVzJ1xyXG5pbXBvcnQge1xyXG5cdGNyZWF0ZUNvbGxlY3Rpb25JdGVtLFxyXG5cdGRlbGV0ZUNvbGxlY3Rpb25JdGVtLFxyXG5cdGhhbmRsZUNvbGxlY3Rpb25JdGVtUGFyYW1zQ2hhbmdlLFxyXG5cdGluaXRpYWxpemVDb2xsZWN0aW9uSXRlbSxcclxuXHRsb2FkQ29sbGVjdGlvbkl0ZW0sXHJcblx0c2VsZWN0Q29sbGVjdGlvbkl0ZW1Gcm9tU3RhdGUsXHJcblx0c3RvcENvbGxlY3Rpb25QZXJpb2RpY0xvYWQsXHJcblx0dXBkYXRlQ29sbGVjdGlvbkl0ZW1cclxufSBmcm9tICcuLi8uLi91dGlscy9jb2xsZWN0aW9uJ1xyXG5pbXBvcnQgeyBnZXRNb2RlbE1pbnVzUmVsYXRpb25zLCBoYW5kbGVNb2RlbEZldGNoRmluaXNoIH0gZnJvbSAnLi4vLi4vdXRpbHMvbW9kZWwnXHJcbmltcG9ydCB7IExvYWRpbmcgfSBmcm9tICcuLi9Mb2FkaW5nJ1xyXG5pbXBvcnQgeyBndWlkQ29tcG9uZW50LCBHdWlkQ29tcG9uZW50V3JhcHBlZFByb3BzIH0gZnJvbSAnLi9HdWlkQ29tcG9uZW50J1xyXG5cclxuLyoqIFRoZSBwcm9wcyBwYXNzZWQgaW50byBgQ29sbGVjdGlvbkl0ZW1Db21wb25lbnRgIGZyb20gdGhlIHVzZXIgYW5kIG90aGVyIEhPQ3MuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvbkl0ZW1Db21wb25lbnRQcm9wczxUTW9kZWwgZXh0ZW5kcyBNb2RlbD5cclxuXHRleHRlbmRzXHJcblx0XHRDb2xsZWN0aW9uQ29tbW9uUHJvcHMsXHJcblx0XHRHdWlkQ29tcG9uZW50V3JhcHBlZFByb3BzLFxyXG5cdFx0Um91dGVDb21wb25lbnRQcm9wcyxcclxuXHRcdENvbGxlY3Rpb25JdGVtUmVkdXhSZXNwb25zZTxUTW9kZWw+IHt9XHJcblxyXG4vKiogVGhlIHByb3BzIHBhc3NlZCBkb3duIHRvIHRoZSBgV3JhcHBlZENvbXBvbmVudGAuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvbkl0ZW1Db21wb25lbnRXcmFwcGVkUHJvcHM8VE1vZGVsIGV4dGVuZHMgTW9kZWw+XHJcblx0ZXh0ZW5kc1xyXG5cdFx0T21pdDxDb2xsZWN0aW9uSXRlbUNvbXBvbmVudFByb3BzPFRNb2RlbD4sIGtleW9mIFJvdXRlQ29tcG9uZW50UHJvcHM+LFxyXG5cdFx0Q29sbGVjdGlvbkl0ZW1EZXJpdmVkUHJvcHM8VE1vZGVsPixcclxuXHRcdENvbGxlY3Rpb25JdGVtTWV0aG9kcyxcclxuXHRcdENvbGxlY3Rpb25Db21tb25TdGF0ZSB7fVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ3VyZUNvbGxlY3Rpb25JdGVtQ29tcG9uZW50PFRNb2RlbCBleHRlbmRzIE1vZGVsLCBUT3duUHJvcHMgZXh0ZW5kcyBvYmplY3Q+KFxyXG5cdFdyYXBwZWRDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzICYgQ29sbGVjdGlvbkl0ZW1Db21wb25lbnRXcmFwcGVkUHJvcHM8VE1vZGVsPj4sXHJcblx0TG9hZGVyQ29tcG9uZW50OiBDb21wb25lbnRUeXBlID0gTG9hZGluZ1xyXG4pIHtcclxuXHR0eXBlIEhvY1Byb3BzID0gVE93blByb3BzICYgQ29sbGVjdGlvbkl0ZW1Db21wb25lbnRQcm9wczxUTW9kZWw+XHJcblxyXG5cdHJldHVybiBjbGFzcyBDb2xsZWN0aW9uSXRlbUNvbXBvbmVudFxyXG5cdFx0ZXh0ZW5kcyBDb21wb25lbnQ8SG9jUHJvcHMsIENvbGxlY3Rpb25Db21tb25TdGF0ZT5cclxuXHRcdGltcGxlbWVudHMgQ29sbGVjdGlvbkl0ZW1NZXRob2RzXHJcblx0e1xyXG5cdFx0Y29uc3RydWN0b3IocHJvcHM6IEhvY1Byb3BzKSB7XHJcblx0XHRcdHN1cGVyKHByb3BzKVxyXG5cdFx0XHR0aGlzLnN0YXRlID0ge1xyXG5cdFx0XHRcdC8vIGluaXRpYWxpemluZyB1bnRpbCBtb2RlbCBpcyBsb2FkZWQsIG9yIGlmIG5vIG1vZGVsXHJcblx0XHRcdFx0bW9kZWxTdGF0dXM6IE1PREVMX1NUQVRVUy5VTklOSVRJQUxJWkVELFxyXG5cdFx0XHRcdHByZXZpb3VzTW9kZWxTdGF0dXM6IE1PREVMX1NUQVRVUy5VTklOSVRJQUxJWkVEXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRjb21wb25lbnREaWRNb3VudCgpIHtcclxuXHRcdFx0Y29uc3QgeyBtb2RlbCB9ID0gdGhpcy5wcm9wc1xyXG5cdFx0XHRpbml0aWFsaXplQ29sbGVjdGlvbkl0ZW0obW9kZWwsIHRoaXMubG9hZCwgdGhpcy5nZXRDb2xsZWN0aW9uTWV0aG9kQ29uZmlnKCkpXHJcblx0XHR9XHJcblxyXG5cdFx0Y29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wczogSG9jUHJvcHMpIHtcclxuXHRcdFx0Y29uc3Qge1xyXG5cdFx0XHRcdG1vZGVsOiBwcmV2TW9kZWwsXHJcblx0XHRcdFx0bW9kZWxOYW1lOiBwcmV2TW9kZWxOYW1lLFxyXG5cdFx0XHRcdHBhdGhQYXJhbXM6IHByZXZQYXRoUGFyYW1zLFxyXG5cdFx0XHRcdHF1ZXJ5UGFyYW1zOiBwcmV2UXVlcnlQYXJhbXNcclxuXHRcdFx0fSA9IHByZXZQcm9wc1xyXG5cdFx0XHRjb25zdCB7IG1vZGVsTmFtZSwgbW9kZWwsIHBhdGhQYXJhbXMsIHF1ZXJ5UGFyYW1zLCBkaXNhYmxlQXV0b0xvYWRPblBhcmFtc0NoYW5nZSB9ID0gdGhpcy5wcm9wc1xyXG5cdFx0XHRoYW5kbGVNb2RlbEZldGNoRmluaXNoKG1vZGVsLCBwcmV2TW9kZWwsIHVuZGVmaW5lZCwgdGhpcy5zZXRNb2RlbFN0YXR1cylcclxuXHRcdFx0aWYgKCFkaXNhYmxlQXV0b0xvYWRPblBhcmFtc0NoYW5nZSkge1xyXG5cdFx0XHRcdGhhbmRsZUNvbGxlY3Rpb25JdGVtUGFyYW1zQ2hhbmdlKFxyXG5cdFx0XHRcdFx0bW9kZWxOYW1lLFxyXG5cdFx0XHRcdFx0cHJldk1vZGVsTmFtZSxcclxuXHRcdFx0XHRcdHBhdGhQYXJhbXMsXHJcblx0XHRcdFx0XHRwcmV2UGF0aFBhcmFtcyxcclxuXHRcdFx0XHRcdHF1ZXJ5UGFyYW1zLFxyXG5cdFx0XHRcdFx0cHJldlF1ZXJ5UGFyYW1zLFxyXG5cdFx0XHRcdFx0dGhpcy5sb2FkXHJcblx0XHRcdFx0KVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0c2V0TW9kZWxTdGF0dXMgPSAobmV3TW9kZWxTdGF0dXM6IE1PREVMX1NUQVRVUykgPT4ge1xyXG5cdFx0XHR0aGlzLnNldFN0YXRlKHByZXZTdGF0ZSA9PiAoe1xyXG5cdFx0XHRcdHByZXZpb3VzTW9kZWxTdGF0dXM6IHByZXZTdGF0ZS5tb2RlbFN0YXR1cyxcclxuXHRcdFx0XHRtb2RlbFN0YXR1czogbmV3TW9kZWxTdGF0dXNcclxuXHRcdFx0fSkpXHJcblx0XHR9XHJcblxyXG5cdFx0Z2V0Q29sbGVjdGlvbk1ldGhvZENvbmZpZyA9ICgpID0+IHtcclxuXHRcdFx0Y29uc3QgeyBndWlkLCBtb2RlbE5hbWUsIHBhdGhQYXJhbXMsIHF1ZXJ5UGFyYW1zLCBkaXNhYmxlQXV0b0xvYWQgfSA9IHRoaXMucHJvcHNcclxuXHRcdFx0Y29uc3QgeyBtb2RlbFN0YXR1cyB9ID0gdGhpcy5zdGF0ZVxyXG5cdFx0XHRjb25zdCBjb2xsZWN0aW9uTWV0aG9kQ29uZmlnOiBDb2xsZWN0aW9uTWV0aG9kQ29uZmlndXJhdGlvbiA9IHtcclxuXHRcdFx0XHRtb2RlbE5hbWUsXHJcblx0XHRcdFx0cGF0aFBhcmFtcyxcclxuXHRcdFx0XHRxdWVyeVBhcmFtcyxcclxuXHRcdFx0XHRkaXNhYmxlQXV0b0xvYWQsXHJcblx0XHRcdFx0Z3VpZCxcclxuXHRcdFx0XHRpc0luaXRpYWxpemVkOiBtb2RlbFN0YXR1cyAhPT0gTU9ERUxfU1RBVFVTLlVOSU5JVElBTElaRUQsXHJcblx0XHRcdFx0Y2hhbmdlTW9kZWxTdGF0dXM6IHRoaXMuc2V0TW9kZWxTdGF0dXNcclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm4gY29sbGVjdGlvbk1ldGhvZENvbmZpZ1xyXG5cdFx0fVxyXG5cclxuXHRcdGxvYWQgPSAocGFyYW1zOiBDb2xsZWN0aW9uSXRlbUxvYWRQYXJhbXMgPSB7fSkgPT4ge1xyXG5cdFx0XHRsb2FkQ29sbGVjdGlvbkl0ZW0odGhpcy5nZXRDb2xsZWN0aW9uTWV0aG9kQ29uZmlnKCksIHBhcmFtcylcclxuXHRcdH1cclxuXHJcblx0XHRzdG9wUGVyaW9kaWNMb2FkID0gKHRhc2tJZDogc3RyaW5nKSA9PiB7XHJcblx0XHRcdHN0b3BDb2xsZWN0aW9uUGVyaW9kaWNMb2FkKHRhc2tJZClcclxuXHRcdH1cclxuXHJcblx0XHRjcmVhdGUgPSAocGFyYW1zOiBDb2xsZWN0aW9uQ3JlYXRlUGFyYW1zKSA9PiB7XHJcblx0XHRcdGNvbnN0IHsgbW9kZWwgfSA9IHRoaXMucHJvcHNcclxuXHRcdFx0Y3JlYXRlQ29sbGVjdGlvbkl0ZW0obW9kZWwsIHRoaXMuZ2V0Q29sbGVjdGlvbk1ldGhvZENvbmZpZygpLCBwYXJhbXMpXHJcblx0XHR9XHJcblxyXG5cdFx0dXBkYXRlID0gKHBhcmFtczogQ29sbGVjdGlvbkl0ZW1VcGRhdGVQYXJhbXMpID0+IHtcclxuXHRcdFx0Y29uc3QgeyBtb2RlbCB9ID0gdGhpcy5wcm9wc1xyXG5cdFx0XHR1cGRhdGVDb2xsZWN0aW9uSXRlbShtb2RlbCwgdGhpcy5nZXRDb2xsZWN0aW9uTWV0aG9kQ29uZmlnKCksIHBhcmFtcylcclxuXHRcdH1cclxuXHJcblx0XHRkZWxldGUgPSAocGFyYW1zOiBDb2xsZWN0aW9uSXRlbURlbGV0ZVBhcmFtcyA9IHt9KSA9PiB7XHJcblx0XHRcdGNvbnN0IHsgbW9kZWwgfSA9IHRoaXMucHJvcHNcclxuXHRcdFx0ZGVsZXRlQ29sbGVjdGlvbkl0ZW0obW9kZWwsIHRoaXMuZ2V0Q29sbGVjdGlvbk1ldGhvZENvbmZpZygpLCBwYXJhbXMpXHJcblx0XHR9XHJcblxyXG5cdFx0Z2V0TW9kZWxNaW51c1JlbGF0aW9ucyA9IG1lbW9pemVPbmUoKG1vZGVsOiBUTW9kZWwpID0+IGdldE1vZGVsTWludXNSZWxhdGlvbnMobW9kZWwpKVxyXG5cclxuXHRcdHJlbmRlcigpIHtcclxuXHRcdFx0Y29uc3QgeyBoaXN0b3J5LCBtYXRjaCwgbG9jYXRpb24sIHN0YXRpY0NvbnRleHQsIC4uLm90aGVyUHJvcHMgfSA9IHRoaXMucHJvcHNcclxuXHRcdFx0Y29uc3QgeyBtb2RlbFN0YXR1cywgcHJldmlvdXNNb2RlbFN0YXR1cyB9ID0gdGhpcy5zdGF0ZVxyXG5cclxuXHRcdFx0aWYgKG1vZGVsU3RhdHVzID09PSBNT0RFTF9TVEFUVVMuVU5JTklUSUFMSVpFRCkge1xyXG5cdFx0XHRcdHJldHVybiA8TG9hZGVyQ29tcG9uZW50IC8+XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHJldHVybiAoXHJcblx0XHRcdFx0PFdyYXBwZWRDb21wb25lbnRcclxuXHRcdFx0XHRcdHsuLi4ob3RoZXJQcm9wcyBhcyBUT3duUHJvcHMgJlxyXG5cdFx0XHRcdFx0XHRPbWl0PENvbGxlY3Rpb25JdGVtQ29tcG9uZW50UHJvcHM8VE1vZGVsPiwga2V5b2YgUm91dGVDb21wb25lbnRQcm9wcz4pfVxyXG5cdFx0XHRcdFx0bW9kZWw9e3RoaXMucHJvcHMubW9kZWx9XHJcblx0XHRcdFx0XHRtb2RlbE1pbnVzUmVsYXRpb25zPXt0aGlzLmdldE1vZGVsTWludXNSZWxhdGlvbnModGhpcy5wcm9wcy5tb2RlbCl9XHJcblx0XHRcdFx0XHRtb2RlbFN0YXR1cz17bW9kZWxTdGF0dXN9XHJcblx0XHRcdFx0XHRwcmV2aW91c01vZGVsU3RhdHVzPXtwcmV2aW91c01vZGVsU3RhdHVzfVxyXG5cdFx0XHRcdFx0bG9hZD17dGhpcy5sb2FkfVxyXG5cdFx0XHRcdFx0c3RvcFBlcmlvZGljTG9hZD17dGhpcy5zdG9wUGVyaW9kaWNMb2FkfVxyXG5cdFx0XHRcdFx0Y3JlYXRlPXt0aGlzLmNyZWF0ZX1cclxuXHRcdFx0XHRcdHVwZGF0ZT17dGhpcy51cGRhdGV9XHJcblx0XHRcdFx0XHRkZWxldGU9e3RoaXMuZGVsZXRlfVxyXG5cdFx0XHRcdC8+XHJcblx0XHRcdClcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBjb25maWd1cmVNYXBTdGF0ZVRvUHJvcHMgPVxyXG5cdDxUTW9kZWwgZXh0ZW5kcyBNb2RlbD4obW9kZWxOYW1lOiBzdHJpbmcpID0+XHJcblx0KFxyXG5cdFx0c3RhdGU6IEJhc2VSZWR1eFN0YXRlLFxyXG5cdFx0b3duUHJvcHM6IE9taXQ8Q29sbGVjdGlvbkl0ZW1Db21wb25lbnRQcm9wczxUTW9kZWw+LCBrZXlvZiBDb2xsZWN0aW9uSXRlbVJlZHV4UmVzcG9uc2U8VE1vZGVsPj5cclxuXHQpID0+IHtcclxuXHRcdHJldHVybiBzZWxlY3RDb2xsZWN0aW9uSXRlbUZyb21TdGF0ZSh7XHJcblx0XHRcdGd1aWQ6IG93blByb3BzLmd1aWQsXHJcblx0XHRcdG1vZGVsTmFtZTogb3duUHJvcHMubW9kZWxOYW1lIHx8IG1vZGVsTmFtZSxcclxuXHRcdFx0cGF0aFBhcmFtczogb3duUHJvcHMucGF0aFBhcmFtcyxcclxuXHRcdFx0cm91dGVNYXRjaFBhcmFtczogb3duUHJvcHMubWF0Y2gucGFyYW1zLFxyXG5cdFx0XHRzdGF0ZVxyXG5cdFx0fSlcclxuXHR9XHJcblxyXG4vKipcclxuICogSE9DIHRoYXQgcHJvdmlkZXMgXCJjb2xsZWN0aW9uXCIgcmVsYXRlZCBmdW5jdGlvbmFsaXR5IGZvciBhIHNpbmdsZSBpdGVtIGluIGEgY29sbGVjdGlvbiwgdXNpbmcgcmVkdXggYGNvbm5lY3QoKWAsIHJlYWN0LXJvdXRlci1kb20gYHdpdGhSb3V0ZXIoKWAsIGFuZCBgR3VpZENvbXBvbmVudGAuXHJcbiAqXHJcbiAqIEB0ZW1wbGF0ZSBUIFRoZSB0eXBlIG9mIG1vZGVsLlxyXG4gKlxyXG4gKiBAcGFyYW0gV3JhcHBlZENvbXBvbmVudCBUaGUgY29tcG9uZW50IHRvIHdyYXAuXHJcbiAqIEBwYXJhbSBtb2RlbE5hbWUgVGhlIGdlbmVyaWMgcGF0aCAobm8gSWRzKSB0byB3aGVyZSB0aGUgY29sbGVjdGlvbiBpdGVtIGlzIHN0b3JlZCBpbiByZWR1eC5cclxuICogQSBwYXRoIHJlbGF0aW5nIHRvIGFuIGl0ZW0gaW4gZGVmaW5lZCBpbiBgY29uc3RhbnRzL2NvbmZpZ3VyYXRpb24vZ2V0RW5kcG9pbnRNYXBwaW5ncygpYCAobGV2ZWxzIHNlcGFyYXRlZCBieSBhICcuJykuXHJcbiAqIENhbiBvdmVycmlkZSBhdCByZW5kZXIgdGltZSwgZS5nLiBgPEMgbW9kZWxOYW1lPVwib3RoZXJNb2RlbFwiIC8+YC5cclxuICogQHBhcmFtIExvYWRlckNvbXBvbmVudCBDb21wb25lbnQgdG8gdXNlIGFzIHRoZSBMb2FkZXIuIERlZmF1bHRzIHRvIGA8TG9hZGluZyAvPmAuXHJcbiAqL1xyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjb2xsZWN0aW9uSXRlbUNvbXBvbmVudDxcclxuXHRUTW9kZWwgZXh0ZW5kcyBNb2RlbCxcclxuXHRUT3duUHJvcHMgZXh0ZW5kcyBDb2xsZWN0aW9uSXRlbUNvbXBvbmVudFdyYXBwZWRQcm9wczxUTW9kZWw+XHJcbj4oXHJcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHM+LFxyXG5cdG1vZGVsTmFtZTogc3RyaW5nLFxyXG5cdExvYWRlckNvbXBvbmVudD86IENvbXBvbmVudFR5cGVcclxuKTogQ29tcG9uZW50Q2xhc3M8T21pdDxUT3duUHJvcHMsIGtleW9mIENvbGxlY3Rpb25JdGVtQ29tcG9uZW50V3JhcHBlZFByb3BzPFRNb2RlbD4+ICYgUGFydGlhbDxDb2xsZWN0aW9uQ29tbW9uUHJvcHM+PiB7XHJcblx0Y29uc3QgQ29sbGVjdGlvbkl0ZW1Db21wb25lbnQgPSBjb25maWd1cmVDb2xsZWN0aW9uSXRlbUNvbXBvbmVudDxUTW9kZWwsIFRPd25Qcm9wcz4oXHJcblx0XHRXcmFwcGVkQ29tcG9uZW50LFxyXG5cdFx0TG9hZGVyQ29tcG9uZW50XHJcblx0KVxyXG5cdGNvbnN0IG1hcFN0YXRlVG9Qcm9wcyA9IGNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyhtb2RlbE5hbWUpXHJcblx0Ly8gQHRzLWlnbm9yZTogY291bGQgbm90IG1hdGNoIGluZmVycmVkIHR5cGUgZnJvbSB0aGUgYGNvbm5lY3RgIEhPQ1xyXG5cdHJldHVybiB3aXRoUm91dGVyKGd1aWRDb21wb25lbnQoY29ubmVjdChtYXBTdGF0ZVRvUHJvcHMpKENvbGxlY3Rpb25JdGVtQ29tcG9uZW50KSkpXHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsV0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsWUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksWUFBQSxHQUFBSixPQUFBO0FBZUEsSUFBQUssV0FBQSxHQUFBTCxPQUFBO0FBVUEsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sUUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsY0FBQSxHQUFBUixPQUFBO0FBQTBFLElBQUFTLFdBQUEsR0FBQVQsT0FBQTtBQUUxRTs7QUFRQTs7QUFRTyxTQUFTVSxnQ0FBZ0NBLENBQy9DQyxnQkFBd0YsRUFFdkY7RUFBQSxJQUREQyxlQUE4QixH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
|
|
176
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWVtb2l6ZU9uZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfcmVhY3RSb3V0ZXIiLCJfbW9kZWxTdGF0dXMiLCJfY29sbGVjdGlvbiIsIl9tb2RlbCIsIl9Mb2FkaW5nIiwiX0d1aWRDb21wb25lbnQiLCJfanN4UnVudGltZSIsImNvbmZpZ3VyZUNvbGxlY3Rpb25JdGVtQ29tcG9uZW50IiwiV3JhcHBlZENvbXBvbmVudCIsIkxvYWRlckNvbXBvbmVudCIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIkxvYWRpbmciLCJDb2xsZWN0aW9uSXRlbUNvbXBvbmVudCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfdGhpcyIsInRoaXMiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsIm5ld01vZGVsU3RhdHVzIiwic2V0U3RhdGUiLCJwcmV2U3RhdGUiLCJwcmV2aW91c01vZGVsU3RhdHVzIiwibW9kZWxTdGF0dXMiLCJndWlkIiwibW9kZWxOYW1lIiwicGF0aFBhcmFtcyIsInF1ZXJ5UGFyYW1zIiwiZGlzYWJsZUF1dG9Mb2FkIiwic3RhdGUiLCJjb2xsZWN0aW9uTWV0aG9kQ29uZmlnIiwiaXNJbml0aWFsaXplZCIsIk1PREVMX1NUQVRVUyIsIlVOSU5JVElBTElaRUQiLCJjaGFuZ2VNb2RlbFN0YXR1cyIsInNldE1vZGVsU3RhdHVzIiwicGFyYW1zIiwibG9hZENvbGxlY3Rpb25JdGVtIiwiZ2V0Q29sbGVjdGlvbk1ldGhvZENvbmZpZyIsInRhc2tJZCIsInN0b3BDb2xsZWN0aW9uUGVyaW9kaWNMb2FkIiwibW9kZWwiLCJjcmVhdGVDb2xsZWN0aW9uSXRlbSIsInVwZGF0ZUNvbGxlY3Rpb25JdGVtIiwiZGVsZXRlQ29sbGVjdGlvbkl0ZW0iLCJtZW1vaXplT25lIiwiZ2V0TW9kZWxNaW51c1JlbGF0aW9ucyIsImNvbXBvbmVudERpZE1vdW50IiwiaW5pdGlhbGl6ZUNvbGxlY3Rpb25JdGVtIiwibG9hZCIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZXZQcm9wcyIsInByZXZNb2RlbCIsInByZXZNb2RlbE5hbWUiLCJwcmV2UGF0aFBhcmFtcyIsInByZXZRdWVyeVBhcmFtcyIsImRpc2FibGVBdXRvTG9hZE9uUGFyYW1zQ2hhbmdlIiwiaGFuZGxlTW9kZWxGZXRjaEZpbmlzaCIsImhhbmRsZUNvbGxlY3Rpb25JdGVtUGFyYW1zQ2hhbmdlIiwicmVuZGVyIiwiaGlzdG9yeSIsIm1hdGNoIiwibG9jYXRpb24iLCJzdGF0aWNDb250ZXh0Iiwib3RoZXJQcm9wcyIsImpzeCIsIm1vZGVsTWludXNSZWxhdGlvbnMiLCJzdG9wUGVyaW9kaWNMb2FkIiwiY3JlYXRlIiwidXBkYXRlIiwiZGVsZXRlIiwiY29uZmlndXJlTWFwU3RhdGVUb1Byb3BzIiwib3duUHJvcHMiLCJzZWxlY3RDb2xsZWN0aW9uSXRlbUZyb21TdGF0ZSIsInJvdXRlTWF0Y2hQYXJhbXMiLCJleHBvcnRzIiwiY29sbGVjdGlvbkl0ZW1Db21wb25lbnQiLCJtYXBTdGF0ZVRvUHJvcHMiLCJ3aXRoUm91dGVyIiwiZ3VpZENvbXBvbmVudCIsImNvbm5lY3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9IT0MvQ29sbGVjdGlvbkl0ZW1Db21wb25lbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtZW1vaXplT25lIGZyb20gJ21lbW9pemUtb25lJ1xuaW1wb3J0IHsgQ29tcG9uZW50LCBDb21wb25lbnRDbGFzcywgQ29tcG9uZW50VHlwZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4J1xuaW1wb3J0IHsgUm91dGVDb21wb25lbnRQcm9wcywgd2l0aFJvdXRlciB9IGZyb20gJ3JlYWN0LXJvdXRlcidcbmltcG9ydCB7IE1PREVMX1NUQVRVUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9tb2RlbFN0YXR1cydcbmltcG9ydCB7XG5cdEJhc2VSZWR1eFN0YXRlLFxuXHRDb2xsZWN0aW9uQ29tbW9uUHJvcHMsXG5cdENvbGxlY3Rpb25Db21tb25TdGF0ZSxcblx0Q29sbGVjdGlvbkNyZWF0ZVBhcmFtcyxcblx0Q29sbGVjdGlvbkl0ZW1EZWxldGVQYXJhbXMsXG5cdENvbGxlY3Rpb25JdGVtRGVyaXZlZFByb3BzLFxuXHRDb2xsZWN0aW9uSXRlbUxvYWRQYXJhbXMsXG5cdENvbGxlY3Rpb25JdGVtTWV0aG9kcyxcblx0Q29sbGVjdGlvbkl0ZW1SZWR1eFJlc3BvbnNlLFxuXHRDb2xsZWN0aW9uSXRlbVVwZGF0ZVBhcmFtcyxcblx0Q29sbGVjdGlvbk1ldGhvZENvbmZpZ3VyYXRpb24sXG5cdE1vZGVsXG59IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHtcblx0Y3JlYXRlQ29sbGVjdGlvbkl0ZW0sXG5cdGRlbGV0ZUNvbGxlY3Rpb25JdGVtLFxuXHRoYW5kbGVDb2xsZWN0aW9uSXRlbVBhcmFtc0NoYW5nZSxcblx0aW5pdGlhbGl6ZUNvbGxlY3Rpb25JdGVtLFxuXHRsb2FkQ29sbGVjdGlvbkl0ZW0sXG5cdHNlbGVjdENvbGxlY3Rpb25JdGVtRnJvbVN0YXRlLFxuXHRzdG9wQ29sbGVjdGlvblBlcmlvZGljTG9hZCxcblx0dXBkYXRlQ29sbGVjdGlvbkl0ZW1cbn0gZnJvbSAnLi4vLi4vdXRpbHMvY29sbGVjdGlvbidcbmltcG9ydCB7IGdldE1vZGVsTWludXNSZWxhdGlvbnMsIGhhbmRsZU1vZGVsRmV0Y2hGaW5pc2ggfSBmcm9tICcuLi8uLi91dGlscy9tb2RlbCdcbmltcG9ydCB7IExvYWRpbmcgfSBmcm9tICcuLi9Mb2FkaW5nJ1xuaW1wb3J0IHsgZ3VpZENvbXBvbmVudCwgR3VpZENvbXBvbmVudFdyYXBwZWRQcm9wcyB9IGZyb20gJy4vR3VpZENvbXBvbmVudCdcblxuLyoqIFRoZSBwcm9wcyBwYXNzZWQgaW50byBgQ29sbGVjdGlvbkl0ZW1Db21wb25lbnRgIGZyb20gdGhlIHVzZXIgYW5kIG90aGVyIEhPQ3MuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb25JdGVtQ29tcG9uZW50UHJvcHM8VE1vZGVsIGV4dGVuZHMgTW9kZWw+XG5cdGV4dGVuZHNcblx0XHRDb2xsZWN0aW9uQ29tbW9uUHJvcHMsXG5cdFx0R3VpZENvbXBvbmVudFdyYXBwZWRQcm9wcyxcblx0XHRSb3V0ZUNvbXBvbmVudFByb3BzLFxuXHRcdENvbGxlY3Rpb25JdGVtUmVkdXhSZXNwb25zZTxUTW9kZWw+IHt9XG5cbi8qKiBUaGUgcHJvcHMgcGFzc2VkIGRvd24gdG8gdGhlIGBXcmFwcGVkQ29tcG9uZW50YC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29sbGVjdGlvbkl0ZW1Db21wb25lbnRXcmFwcGVkUHJvcHM8VE1vZGVsIGV4dGVuZHMgTW9kZWw+XG5cdGV4dGVuZHNcblx0XHRPbWl0PENvbGxlY3Rpb25JdGVtQ29tcG9uZW50UHJvcHM8VE1vZGVsPiwga2V5b2YgUm91dGVDb21wb25lbnRQcm9wcz4sXG5cdFx0Q29sbGVjdGlvbkl0ZW1EZXJpdmVkUHJvcHM8VE1vZGVsPixcblx0XHRDb2xsZWN0aW9uSXRlbU1ldGhvZHMsXG5cdFx0Q29sbGVjdGlvbkNvbW1vblN0YXRlIHt9XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25maWd1cmVDb2xsZWN0aW9uSXRlbUNvbXBvbmVudDxUTW9kZWwgZXh0ZW5kcyBNb2RlbCwgVE93blByb3BzIGV4dGVuZHMgb2JqZWN0Pihcblx0V3JhcHBlZENvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUT3duUHJvcHMgJiBDb2xsZWN0aW9uSXRlbUNvbXBvbmVudFdyYXBwZWRQcm9wczxUTW9kZWw+Pixcblx0TG9hZGVyQ29tcG9uZW50OiBDb21wb25lbnRUeXBlID0gTG9hZGluZ1xuKSB7XG5cdHR5cGUgSG9jUHJvcHMgPSBUT3duUHJvcHMgJiBDb2xsZWN0aW9uSXRlbUNvbXBvbmVudFByb3BzPFRNb2RlbD5cblxuXHRyZXR1cm4gY2xhc3MgQ29sbGVjdGlvbkl0ZW1Db21wb25lbnRcblx0XHRleHRlbmRzIENvbXBvbmVudDxIb2NQcm9wcywgQ29sbGVjdGlvbkNvbW1vblN0YXRlPlxuXHRcdGltcGxlbWVudHMgQ29sbGVjdGlvbkl0ZW1NZXRob2RzXG5cdHtcblx0XHRjb25zdHJ1Y3Rvcihwcm9wczogSG9jUHJvcHMpIHtcblx0XHRcdHN1cGVyKHByb3BzKVxuXHRcdFx0dGhpcy5zdGF0ZSA9IHtcblx0XHRcdFx0Ly8gaW5pdGlhbGl6aW5nIHVudGlsIG1vZGVsIGlzIGxvYWRlZCwgb3IgaWYgbm8gbW9kZWxcblx0XHRcdFx0bW9kZWxTdGF0dXM6IE1PREVMX1NUQVRVUy5VTklOSVRJQUxJWkVELFxuXHRcdFx0XHRwcmV2aW91c01vZGVsU3RhdHVzOiBNT0RFTF9TVEFUVVMuVU5JTklUSUFMSVpFRFxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGNvbXBvbmVudERpZE1vdW50KCkge1xuXHRcdFx0Y29uc3QgeyBtb2RlbCB9ID0gdGhpcy5wcm9wc1xuXHRcdFx0aW5pdGlhbGl6ZUNvbGxlY3Rpb25JdGVtKG1vZGVsLCB0aGlzLmxvYWQsIHRoaXMuZ2V0Q29sbGVjdGlvbk1ldGhvZENvbmZpZygpKVxuXHRcdH1cblxuXHRcdGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHM6IEhvY1Byb3BzKSB7XG5cdFx0XHRjb25zdCB7XG5cdFx0XHRcdG1vZGVsOiBwcmV2TW9kZWwsXG5cdFx0XHRcdG1vZGVsTmFtZTogcHJldk1vZGVsTmFtZSxcblx0XHRcdFx0cGF0aFBhcmFtczogcHJldlBhdGhQYXJhbXMsXG5cdFx0XHRcdHF1ZXJ5UGFyYW1zOiBwcmV2UXVlcnlQYXJhbXNcblx0XHRcdH0gPSBwcmV2UHJvcHNcblx0XHRcdGNvbnN0IHsgbW9kZWxOYW1lLCBtb2RlbCwgcGF0aFBhcmFtcywgcXVlcnlQYXJhbXMsIGRpc2FibGVBdXRvTG9hZE9uUGFyYW1zQ2hhbmdlIH0gPSB0aGlzLnByb3BzXG5cdFx0XHRoYW5kbGVNb2RlbEZldGNoRmluaXNoKG1vZGVsLCBwcmV2TW9kZWwsIHVuZGVmaW5lZCwgdGhpcy5zZXRNb2RlbFN0YXR1cylcblx0XHRcdGlmICghZGlzYWJsZUF1dG9Mb2FkT25QYXJhbXNDaGFuZ2UpIHtcblx0XHRcdFx0aGFuZGxlQ29sbGVjdGlvbkl0ZW1QYXJhbXNDaGFuZ2UoXG5cdFx0XHRcdFx0bW9kZWxOYW1lLFxuXHRcdFx0XHRcdHByZXZNb2RlbE5hbWUsXG5cdFx0XHRcdFx0cGF0aFBhcmFtcyxcblx0XHRcdFx0XHRwcmV2UGF0aFBhcmFtcyxcblx0XHRcdFx0XHRxdWVyeVBhcmFtcyxcblx0XHRcdFx0XHRwcmV2UXVlcnlQYXJhbXMsXG5cdFx0XHRcdFx0dGhpcy5sb2FkXG5cdFx0XHRcdClcblx0XHRcdH1cblx0XHR9XG5cblx0XHRzZXRNb2RlbFN0YXR1cyA9IChuZXdNb2RlbFN0YXR1czogTU9ERUxfU1RBVFVTKSA9PiB7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHByZXZTdGF0ZSA9PiAoe1xuXHRcdFx0XHRwcmV2aW91c01vZGVsU3RhdHVzOiBwcmV2U3RhdGUubW9kZWxTdGF0dXMsXG5cdFx0XHRcdG1vZGVsU3RhdHVzOiBuZXdNb2RlbFN0YXR1c1xuXHRcdFx0fSkpXG5cdFx0fVxuXG5cdFx0Z2V0Q29sbGVjdGlvbk1ldGhvZENvbmZpZyA9ICgpID0+IHtcblx0XHRcdGNvbnN0IHsgZ3VpZCwgbW9kZWxOYW1lLCBwYXRoUGFyYW1zLCBxdWVyeVBhcmFtcywgZGlzYWJsZUF1dG9Mb2FkIH0gPSB0aGlzLnByb3BzXG5cdFx0XHRjb25zdCB7IG1vZGVsU3RhdHVzIH0gPSB0aGlzLnN0YXRlXG5cdFx0XHRjb25zdCBjb2xsZWN0aW9uTWV0aG9kQ29uZmlnOiBDb2xsZWN0aW9uTWV0aG9kQ29uZmlndXJhdGlvbiA9IHtcblx0XHRcdFx0bW9kZWxOYW1lLFxuXHRcdFx0XHRwYXRoUGFyYW1zLFxuXHRcdFx0XHRxdWVyeVBhcmFtcyxcblx0XHRcdFx0ZGlzYWJsZUF1dG9Mb2FkLFxuXHRcdFx0XHRndWlkLFxuXHRcdFx0XHRpc0luaXRpYWxpemVkOiBtb2RlbFN0YXR1cyAhPT0gTU9ERUxfU1RBVFVTLlVOSU5JVElBTElaRUQsXG5cdFx0XHRcdGNoYW5nZU1vZGVsU3RhdHVzOiB0aGlzLnNldE1vZGVsU3RhdHVzXG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gY29sbGVjdGlvbk1ldGhvZENvbmZpZ1xuXHRcdH1cblxuXHRcdGxvYWQgPSAocGFyYW1zOiBDb2xsZWN0aW9uSXRlbUxvYWRQYXJhbXMgPSB7fSkgPT4ge1xuXHRcdFx0bG9hZENvbGxlY3Rpb25JdGVtKHRoaXMuZ2V0Q29sbGVjdGlvbk1ldGhvZENvbmZpZygpLCBwYXJhbXMpXG5cdFx0fVxuXG5cdFx0c3RvcFBlcmlvZGljTG9hZCA9ICh0YXNrSWQ6IHN0cmluZykgPT4ge1xuXHRcdFx0c3RvcENvbGxlY3Rpb25QZXJpb2RpY0xvYWQodGFza0lkKVxuXHRcdH1cblxuXHRcdGNyZWF0ZSA9IChwYXJhbXM6IENvbGxlY3Rpb25DcmVhdGVQYXJhbXMpID0+IHtcblx0XHRcdGNvbnN0IHsgbW9kZWwgfSA9IHRoaXMucHJvcHNcblx0XHRcdGNyZWF0ZUNvbGxlY3Rpb25JdGVtKG1vZGVsLCB0aGlzLmdldENvbGxlY3Rpb25NZXRob2RDb25maWcoKSwgcGFyYW1zKVxuXHRcdH1cblxuXHRcdHVwZGF0ZSA9IChwYXJhbXM6IENvbGxlY3Rpb25JdGVtVXBkYXRlUGFyYW1zKSA9PiB7XG5cdFx0XHRjb25zdCB7IG1vZGVsIH0gPSB0aGlzLnByb3BzXG5cdFx0XHR1cGRhdGVDb2xsZWN0aW9uSXRlbShtb2RlbCwgdGhpcy5nZXRDb2xsZWN0aW9uTWV0aG9kQ29uZmlnKCksIHBhcmFtcylcblx0XHR9XG5cblx0XHRkZWxldGUgPSAocGFyYW1zOiBDb2xsZWN0aW9uSXRlbURlbGV0ZVBhcmFtcyA9IHt9KSA9PiB7XG5cdFx0XHRjb25zdCB7IG1vZGVsIH0gPSB0aGlzLnByb3BzXG5cdFx0XHRkZWxldGVDb2xsZWN0aW9uSXRlbShtb2RlbCwgdGhpcy5nZXRDb2xsZWN0aW9uTWV0aG9kQ29uZmlnKCksIHBhcmFtcylcblx0XHR9XG5cblx0XHRnZXRNb2RlbE1pbnVzUmVsYXRpb25zID0gbWVtb2l6ZU9uZSgobW9kZWw6IFRNb2RlbCkgPT4gZ2V0TW9kZWxNaW51c1JlbGF0aW9ucyhtb2RlbCkpXG5cblx0XHRyZW5kZXIoKSB7XG5cdFx0XHRjb25zdCB7IGhpc3RvcnksIG1hdGNoLCBsb2NhdGlvbiwgc3RhdGljQ29udGV4dCwgLi4ub3RoZXJQcm9wcyB9ID0gdGhpcy5wcm9wc1xuXHRcdFx0Y29uc3QgeyBtb2RlbFN0YXR1cywgcHJldmlvdXNNb2RlbFN0YXR1cyB9ID0gdGhpcy5zdGF0ZVxuXG5cdFx0XHRpZiAobW9kZWxTdGF0dXMgPT09IE1PREVMX1NUQVRVUy5VTklOSVRJQUxJWkVEKSB7XG5cdFx0XHRcdHJldHVybiA8TG9hZGVyQ29tcG9uZW50IC8+XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiAoXG5cdFx0XHRcdDxXcmFwcGVkQ29tcG9uZW50XG5cdFx0XHRcdFx0ey4uLihvdGhlclByb3BzIGFzIFRPd25Qcm9wcyAmXG5cdFx0XHRcdFx0XHRPbWl0PENvbGxlY3Rpb25JdGVtQ29tcG9uZW50UHJvcHM8VE1vZGVsPiwga2V5b2YgUm91dGVDb21wb25lbnRQcm9wcz4pfVxuXHRcdFx0XHRcdG1vZGVsPXt0aGlzLnByb3BzLm1vZGVsfVxuXHRcdFx0XHRcdG1vZGVsTWludXNSZWxhdGlvbnM9e3RoaXMuZ2V0TW9kZWxNaW51c1JlbGF0aW9ucyh0aGlzLnByb3BzLm1vZGVsKX1cblx0XHRcdFx0XHRtb2RlbFN0YXR1cz17bW9kZWxTdGF0dXN9XG5cdFx0XHRcdFx0cHJldmlvdXNNb2RlbFN0YXR1cz17cHJldmlvdXNNb2RlbFN0YXR1c31cblx0XHRcdFx0XHRsb2FkPXt0aGlzLmxvYWR9XG5cdFx0XHRcdFx0c3RvcFBlcmlvZGljTG9hZD17dGhpcy5zdG9wUGVyaW9kaWNMb2FkfVxuXHRcdFx0XHRcdGNyZWF0ZT17dGhpcy5jcmVhdGV9XG5cdFx0XHRcdFx0dXBkYXRlPXt0aGlzLnVwZGF0ZX1cblx0XHRcdFx0XHRkZWxldGU9e3RoaXMuZGVsZXRlfVxuXHRcdFx0XHQvPlxuXHRcdFx0KVxuXHRcdH1cblx0fVxufVxuXG5leHBvcnQgY29uc3QgY29uZmlndXJlTWFwU3RhdGVUb1Byb3BzID1cblx0PFRNb2RlbCBleHRlbmRzIE1vZGVsPihtb2RlbE5hbWU6IHN0cmluZykgPT5cblx0KFxuXHRcdHN0YXRlOiBCYXNlUmVkdXhTdGF0ZSxcblx0XHRvd25Qcm9wczogT21pdDxDb2xsZWN0aW9uSXRlbUNvbXBvbmVudFByb3BzPFRNb2RlbD4sIGtleW9mIENvbGxlY3Rpb25JdGVtUmVkdXhSZXNwb25zZTxUTW9kZWw+PlxuXHQpID0+IHtcblx0XHRyZXR1cm4gc2VsZWN0Q29sbGVjdGlvbkl0ZW1Gcm9tU3RhdGUoe1xuXHRcdFx0Z3VpZDogb3duUHJvcHMuZ3VpZCxcblx0XHRcdG1vZGVsTmFtZTogb3duUHJvcHMubW9kZWxOYW1lIHx8IG1vZGVsTmFtZSxcblx0XHRcdHBhdGhQYXJhbXM6IG93blByb3BzLnBhdGhQYXJhbXMsXG5cdFx0XHRyb3V0ZU1hdGNoUGFyYW1zOiBvd25Qcm9wcy5tYXRjaC5wYXJhbXMsXG5cdFx0XHRzdGF0ZVxuXHRcdH0pXG5cdH1cblxuLyoqXG4gKiBIT0MgdGhhdCBwcm92aWRlcyBcImNvbGxlY3Rpb25cIiByZWxhdGVkIGZ1bmN0aW9uYWxpdHkgZm9yIGEgc2luZ2xlIGl0ZW0gaW4gYSBjb2xsZWN0aW9uLCB1c2luZyByZWR1eCBgY29ubmVjdCgpYCwgcmVhY3Qtcm91dGVyLWRvbSBgd2l0aFJvdXRlcigpYCwgYW5kIGBHdWlkQ29tcG9uZW50YC5cbiAqXG4gKiBAdGVtcGxhdGUgVCBUaGUgdHlwZSBvZiBtb2RlbC5cbiAqXG4gKiBAcGFyYW0gV3JhcHBlZENvbXBvbmVudCBUaGUgY29tcG9uZW50IHRvIHdyYXAuXG4gKiBAcGFyYW0gbW9kZWxOYW1lIFRoZSBnZW5lcmljIHBhdGggKG5vIElkcykgdG8gd2hlcmUgdGhlIGNvbGxlY3Rpb24gaXRlbSBpcyBzdG9yZWQgaW4gcmVkdXguXG4gKiBBIHBhdGggcmVsYXRpbmcgdG8gYW4gaXRlbSBpbiBkZWZpbmVkIGluIGBjb25zdGFudHMvY29uZmlndXJhdGlvbi9nZXRFbmRwb2ludE1hcHBpbmdzKClgIChsZXZlbHMgc2VwYXJhdGVkIGJ5IGEgJy4nKS5cbiAqIENhbiBvdmVycmlkZSBhdCByZW5kZXIgdGltZSwgZS5nLiBgPEMgbW9kZWxOYW1lPVwib3RoZXJNb2RlbFwiIC8+YC5cbiAqIEBwYXJhbSBMb2FkZXJDb21wb25lbnQgQ29tcG9uZW50IHRvIHVzZSBhcyB0aGUgTG9hZGVyLiBEZWZhdWx0cyB0byBgPExvYWRpbmcgLz5gLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjb2xsZWN0aW9uSXRlbUNvbXBvbmVudDxcblx0VE1vZGVsIGV4dGVuZHMgTW9kZWwsXG5cdFRPd25Qcm9wcyBleHRlbmRzIENvbGxlY3Rpb25JdGVtQ29tcG9uZW50V3JhcHBlZFByb3BzPFRNb2RlbD5cbj4oXG5cdFdyYXBwZWRDb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VE93blByb3BzPixcblx0bW9kZWxOYW1lOiBzdHJpbmcsXG5cdExvYWRlckNvbXBvbmVudD86IENvbXBvbmVudFR5cGVcbik6IENvbXBvbmVudENsYXNzPE9taXQ8VE93blByb3BzLCBrZXlvZiBDb2xsZWN0aW9uSXRlbUNvbXBvbmVudFdyYXBwZWRQcm9wczxUTW9kZWw+PiAmIFBhcnRpYWw8Q29sbGVjdGlvbkNvbW1vblByb3BzPj4ge1xuXHRjb25zdCBDb2xsZWN0aW9uSXRlbUNvbXBvbmVudCA9IGNvbmZpZ3VyZUNvbGxlY3Rpb25JdGVtQ29tcG9uZW50PFRNb2RlbCwgVE93blByb3BzPihcblx0XHRXcmFwcGVkQ29tcG9uZW50LFxuXHRcdExvYWRlckNvbXBvbmVudFxuXHQpXG5cdGNvbnN0IG1hcFN0YXRlVG9Qcm9wcyA9IGNvbmZpZ3VyZU1hcFN0YXRlVG9Qcm9wcyhtb2RlbE5hbWUpXG5cdC8vIEB0cy1pZ25vcmU6IGNvdWxkIG5vdCBtYXRjaCBpbmZlcnJlZCB0eXBlIGZyb20gdGhlIGBjb25uZWN0YCBIT0Ncblx0cmV0dXJuIHdpdGhSb3V0ZXIoZ3VpZENvbXBvbmVudChjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcykoQ29sbGVjdGlvbkl0ZW1Db21wb25lbnQpKSlcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFlBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFlBQUEsR0FBQUosT0FBQTtBQWVBLElBQUFLLFdBQUEsR0FBQUwsT0FBQTtBQVVBLElBQUFNLE1BQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFFBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLGNBQUEsR0FBQVIsT0FBQTtBQUEwRSxJQUFBUyxXQUFBLEdBQUFULE9BQUE7QUFFMUU7O0FBUUE7O0FBUU8sU0FBU1UsZ0NBQWdDQSxDQUMvQ0MsZ0JBQXdGLEVBRXZGO0VBQUEsSUFEREMsZUFBOEIsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUdHLGdCQUFPO0VBSXhDLE9BQU8sTUFBTUMsdUJBQXVCLFNBQzNCQyxnQkFBUyxDQUVsQjtJQUNDQyxXQUFXQSxDQUFDQyxLQUFlLEVBQUU7TUFBQSxJQUFBQyxLQUFBO01BQzVCLEtBQUssQ0FBQ0QsS0FBSyxDQUFDO01BQUFDLEtBQUEsR0FBQUMsSUFBQTtNQUFBLElBQUFDLGdCQUFBLENBQUFDLE9BQUEsMEJBbUNLQyxjQUE0QixJQUFLO1FBQ2xELElBQUksQ0FBQ0MsUUFBUSxDQUFDQyxTQUFTLEtBQUs7VUFDM0JDLG1CQUFtQixFQUFFRCxTQUFTLENBQUNFLFdBQVc7VUFDMUNBLFdBQVcsRUFBRUo7UUFDZCxDQUFDLENBQUMsQ0FBQztNQUNKLENBQUM7TUFBQSxJQUFBRixnQkFBQSxDQUFBQyxPQUFBLHFDQUUyQixNQUFNO1FBQ2pDLE1BQU07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
|