@nlabs/reaktor 1.18.0 → 1.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -0
- package/docs/GENERATION.md +38 -16
- package/lib/actions/alfredFaq.js +1 -1
- package/lib/actions/analytics.js +1 -1
- package/lib/actions/apps.js +1 -1
- package/lib/actions/connections.js +1 -1
- package/lib/actions/content.js +1 -1
- package/lib/actions/contentGeneration.d.ts +3 -0
- package/lib/actions/contentGeneration.js +62 -9
- package/lib/actions/contentGenerationErrors.js +1 -1
- package/lib/actions/conversations.js +1 -1
- package/lib/actions/crm.js +1 -1
- package/lib/actions/crud.js +1 -1
- package/lib/actions/databaseAccounts.js +1 -1
- package/lib/actions/databaseProvisioningLease.js +1 -1
- package/lib/actions/dynamodb.js +1 -1
- package/lib/actions/email.js +1 -1
- package/lib/actions/files.js +1 -1
- package/lib/actions/flags.js +1 -1
- package/lib/actions/geminiVideo.js +1 -1
- package/lib/actions/groups.js +1 -1
- package/lib/actions/higgsfield.js +1 -1
- package/lib/actions/imageGeneration.js +1 -1
- package/lib/actions/images.js +1 -1
- package/lib/actions/index.js +1 -1
- package/lib/actions/ios.js +1 -1
- package/lib/actions/locations.js +1 -1
- package/lib/actions/messages.js +1 -1
- package/lib/actions/notifications.js +1 -1
- package/lib/actions/ollamaGeneration.js +1 -1
- package/lib/actions/openaiResponseSession.js +1 -1
- package/lib/actions/payments.js +1 -1
- package/lib/actions/personas.js +1 -1
- package/lib/actions/phoneSupport.js +1 -1
- package/lib/actions/posts.js +1 -1
- package/lib/actions/query.js +1 -1
- package/lib/actions/reactions.js +1 -1
- package/lib/actions/rum.js +1 -1
- package/lib/actions/s3.d.ts +10 -7
- package/lib/actions/s3.js +59 -14
- package/lib/actions/search.js +1 -1
- package/lib/actions/sms.js +1 -1
- package/lib/actions/statistics.js +1 -1
- package/lib/actions/subscriptions.js +1 -1
- package/lib/actions/tags.js +1 -1
- package/lib/actions/users.js +1 -1
- package/lib/actions/videoGeneration.js +1 -1
- package/lib/actions/videos.js +1 -1
- package/lib/adapters/arangoAdapter.js +1 -1
- package/lib/adapters/contentAdapter.js +1 -1
- package/lib/adapters/fileAdapter.js +1 -1
- package/lib/adapters/geminiGenerationAdapter.js +1 -1
- package/lib/adapters/higgsfieldAdapter.js +1 -1
- package/lib/adapters/higgsfieldModelCatalog.js +1 -1
- package/lib/adapters/higgsfieldModels.js +1 -1
- package/lib/adapters/imageAdapter.js +1 -1
- package/lib/adapters/imageGenerationAdapter.js +1 -1
- package/lib/adapters/index.js +1 -1
- package/lib/adapters/messageAdapter.js +1 -1
- package/lib/adapters/postAdapter.js +1 -1
- package/lib/adapters/reaktorAdapter.js +1 -1
- package/lib/adapters/tagAdapter.js +1 -1
- package/lib/adapters/userAdapter.js +1 -1
- package/lib/assistant/core.js +1 -1
- package/lib/assistant/faq.js +1 -1
- package/lib/assistant/faqCore.js +1 -1
- package/lib/assistant/index.js +1 -1
- package/lib/assistant/service.js +1 -1
- package/lib/config.js +1 -1
- package/lib/constants/collections.js +1 -1
- package/lib/durableChat/conversations.js +1 -1
- package/lib/durableChat/errors.js +1 -1
- package/lib/durableChat/events.js +1 -1
- package/lib/durableChat/index.js +1 -1
- package/lib/durableChat/membership.js +1 -1
- package/lib/durableChat/messageTypes.js +1 -1
- package/lib/durableChat/messages.js +1 -1
- package/lib/durableChat/transaction.js +1 -1
- package/lib/durableChat/types.js +1 -1
- package/lib/handlers/graphqlHandler.js +1 -1
- package/lib/index.js +1 -1
- package/lib/lambdas/actions/websockets.js +1 -1
- package/lib/lambdas/authorizer.js +1 -1
- package/lib/lambdas/connection.js +1 -1
- package/lib/lambdas/utils/message.js +1 -1
- package/lib/lambdas/utils/websocket.js +1 -1
- package/lib/mocks/conversation.js +1 -1
- package/lib/mocks/file.js +1 -1
- package/lib/mocks/group.js +1 -1
- package/lib/mocks/image.js +1 -1
- package/lib/mocks/post.js +1 -1
- package/lib/mocks/tag.js +1 -1
- package/lib/mocks/user.js +1 -1
- package/lib/mocks/video.js +1 -1
- package/lib/mutations/analytics/analytics.js +1 -1
- package/lib/mutations/content/content.js +1 -1
- package/lib/mutations/crm/crm.js +1 -1
- package/lib/mutations/events/events.js +1 -1
- package/lib/mutations/flags/flags.js +1 -1
- package/lib/mutations/groups/groups.js +1 -1
- package/lib/mutations/higgsfield/higgsfield.js +1 -1
- package/lib/mutations/images/images.js +1 -1
- package/lib/mutations/index.js +1 -1
- package/lib/mutations/locations/locations.js +1 -1
- package/lib/mutations/messages/messages.js +1 -1
- package/lib/mutations/personas/personas.js +1 -1
- package/lib/mutations/posts/posts.js +1 -1
- package/lib/mutations/reactions/reactions.js +1 -1
- package/lib/mutations/rum/rum.js +1 -1
- package/lib/mutations/statistics/statistics.js +1 -1
- package/lib/mutations/subscriptions/subscriptions.js +1 -1
- package/lib/mutations/tags/tags.js +1 -1
- package/lib/mutations/users/users.js +1 -1
- package/lib/mutations/videos/videos.js +1 -1
- package/lib/nativePush/graphql.js +1 -1
- package/lib/nativePush/index.js +1 -1
- package/lib/nativePush/migrations.js +1 -1
- package/lib/nativePush/nativePushContract.fixture.js +1 -1
- package/lib/nativePush/payload.js +1 -1
- package/lib/nativePush/repository.js +1 -1
- package/lib/nativePush/service.js +1 -1
- package/lib/nativePush/snsProvider.js +1 -1
- package/lib/nativePush/types.js +1 -1
- package/lib/objectTypes/analytics.js +1 -1
- package/lib/objectTypes/app.js +1 -1
- package/lib/objectTypes/bankAccount.js +1 -1
- package/lib/objectTypes/connection.js +1 -1
- package/lib/objectTypes/content.js +1 -1
- package/lib/objectTypes/contentGeneration.js +1 -1
- package/lib/objectTypes/conversation.js +1 -1
- package/lib/objectTypes/creditCard.js +1 -1
- package/lib/objectTypes/crm.js +1 -1
- package/lib/objectTypes/document.js +1 -1
- package/lib/objectTypes/error.js +1 -1
- package/lib/objectTypes/event.js +1 -1
- package/lib/objectTypes/external.js +1 -1
- package/lib/objectTypes/file.js +1 -1
- package/lib/objectTypes/filter.js +1 -1
- package/lib/objectTypes/flag.js +1 -1
- package/lib/objectTypes/group.js +1 -1
- package/lib/objectTypes/higgsfield.js +1 -1
- package/lib/objectTypes/iapSubscription.js +1 -1
- package/lib/objectTypes/image.js +1 -1
- package/lib/objectTypes/imageGeneration.js +1 -1
- package/lib/objectTypes/index.js +1 -1
- package/lib/objectTypes/location.js +1 -1
- package/lib/objectTypes/message.js +1 -1
- package/lib/objectTypes/passcode.js +1 -1
- package/lib/objectTypes/persona.js +1 -1
- package/lib/objectTypes/plan.js +1 -1
- package/lib/objectTypes/post.js +1 -1
- package/lib/objectTypes/query.js +1 -1
- package/lib/objectTypes/reaction.js +1 -1
- package/lib/objectTypes/relation.js +1 -1
- package/lib/objectTypes/rum.js +1 -1
- package/lib/objectTypes/search.js +1 -1
- package/lib/objectTypes/statistics.js +1 -1
- package/lib/objectTypes/subscription.js +1 -1
- package/lib/objectTypes/tag.js +1 -1
- package/lib/objectTypes/user.js +1 -1
- package/lib/objectTypes/video.js +1 -1
- package/lib/objectTypes/videoGeneration.js +1 -1
- package/lib/organizations/accountLifecycle.js +1 -1
- package/lib/organizations/authorization.js +1 -1
- package/lib/organizations/billing.js +1 -1
- package/lib/organizations/billingProvider.js +1 -1
- package/lib/organizations/billingUpdates.js +1 -1
- package/lib/organizations/index.js +1 -1
- package/lib/organizations/mail.js +1 -1
- package/lib/organizations/memberDirectory.js +1 -1
- package/lib/organizations/membership.js +1 -1
- package/lib/organizations/passwordRecovery.js +1 -1
- package/lib/organizations/plans.js +1 -1
- package/lib/organizations/providerPagination.js +1 -1
- package/lib/organizations/reconciliation.js +1 -1
- package/lib/organizations/signup.js +1 -1
- package/lib/organizations/store.js +1 -1
- package/lib/organizations/types.js +1 -1
- package/lib/organizations/verification.js +1 -1
- package/lib/queries/analytics/analytics.js +1 -1
- package/lib/queries/content/content.js +1 -1
- package/lib/queries/crm/crm.js +1 -1
- package/lib/queries/events/events.js +1 -1
- package/lib/queries/flags/flags.js +1 -1
- package/lib/queries/groups/groups.js +1 -1
- package/lib/queries/higgsfield/higgsfield.js +1 -1
- package/lib/queries/images/images.js +1 -1
- package/lib/queries/index.js +1 -1
- package/lib/queries/locations/locations.js +1 -1
- package/lib/queries/messages/messages.js +1 -1
- package/lib/queries/personas/personas.js +1 -1
- package/lib/queries/posts/posts.js +1 -1
- package/lib/queries/query/query.js +1 -1
- package/lib/queries/reactions/reactions.js +1 -1
- package/lib/queries/statistics/statistics.js +1 -1
- package/lib/queries/subscriptions/subscriptions.js +1 -1
- package/lib/queries/tags/tags.js +1 -1
- package/lib/queries/users/users.js +1 -1
- package/lib/queries/videos/videos.js +1 -1
- package/lib/templates/email/layout.js +1 -1
- package/lib/templates/email/passwordForgot.js +1 -1
- package/lib/templates/email/passwordRecovery.js +1 -1
- package/lib/templates/email/verifyEmail.js +1 -1
- package/lib/templates/email/welcome.js +1 -1
- package/lib/templates/sms/passwordForgot.js +1 -1
- package/lib/templates/sms/passwordRecovery.js +1 -1
- package/lib/templates/sms/verifyEmail.js +1 -1
- package/lib/templates/sms/verifyPhone.js +1 -1
- package/lib/templates/sms/welcome.js +1 -1
- package/lib/types/analytics.types.js +1 -1
- package/lib/types/apps.types.js +1 -1
- package/lib/types/arangodb.types.js +1 -1
- package/lib/types/auth.types.js +1 -1
- package/lib/types/connections.types.js +1 -1
- package/lib/types/content.types.js +1 -1
- package/lib/types/conversations.types.js +1 -1
- package/lib/types/crm.types.js +1 -1
- package/lib/types/databaseCredentials.types.js +1 -1
- package/lib/types/email.types.js +1 -1
- package/lib/types/error.types.js +1 -1
- package/lib/types/files.types.js +1 -1
- package/lib/types/flags.types.js +1 -1
- package/lib/types/google.types.js +1 -1
- package/lib/types/groups.types.js +1 -1
- package/lib/types/images.types.js +1 -1
- package/lib/types/index.js +1 -1
- package/lib/types/locations.types.js +1 -1
- package/lib/types/messages.types.js +1 -1
- package/lib/types/notifications.types.js +1 -1
- package/lib/types/payments.types.js +1 -1
- package/lib/types/personas.types.js +1 -1
- package/lib/types/posts.types.js +1 -1
- package/lib/types/rum.types.js +1 -1
- package/lib/types/statistics.types.js +1 -1
- package/lib/types/tags.types.js +1 -1
- package/lib/types/users.types.js +1 -1
- package/lib/types/videos.types.js +1 -1
- package/lib/types/websockets.types.js +1 -1
- package/lib/upload.js +1 -1
- package/lib/utils/adapterUtils.js +1 -1
- package/lib/utils/analyticsUtils.js +1 -1
- package/lib/utils/appContext.js +1 -1
- package/lib/utils/aqlHelpers.js +1 -1
- package/lib/utils/arangodbUtils.js +1 -1
- package/lib/utils/authUtils.js +1 -1
- package/lib/utils/awsUtils.js +1 -1
- package/lib/utils/collectionRegistry.js +1 -1
- package/lib/utils/contextUtils.js +1 -1
- package/lib/utils/databaseCredentials.js +1 -1
- package/lib/utils/dbI18n.example.js +1 -1
- package/lib/utils/dbI18n.js +1 -1
- package/lib/utils/generationCallback.js +1 -1
- package/lib/utils/googleTranslate.js +1 -1
- package/lib/utils/graphqlUtils.js +1 -1
- package/lib/utils/imageUtils.js +1 -1
- package/lib/utils/index.js +1 -1
- package/lib/utils/languageDetection.js +1 -1
- package/lib/utils/localeUtils.example.js +1 -1
- package/lib/utils/localeUtils.js +1 -1
- package/lib/utils/mediaAccess.js +1 -1
- package/lib/utils/middlewareUtils.js +1 -1
- package/lib/utils/nodeRealtime.js +1 -1
- package/lib/utils/opaqueToken.js +1 -1
- package/lib/utils/queryBuilder.js +1 -1
- package/lib/utils/schemaUtils.js +1 -1
- package/lib/utils/secretDatabase.js +1 -1
- package/lib/utils/sessionUtils.js +1 -1
- package/lib/utils/stripeUtils.js +1 -1
- package/lib/utils/stripeUtils.ts.bak +1 -1
- package/lib/utils/templateUtils.js +1 -1
- package/lib/utils/testUtils.js +1 -1
- package/lib/utils/translationQueue.example.js +1 -1
- package/lib/utils/translationQueue.js +1 -1
- package/lib/videoProcessing.js +1 -1
- package/package.json +1 -1
package/lib/actions/crud.js
CHANGED
|
@@ -435,4 +435,4 @@ const eventCategory = 'crud';
|
|
|
435
435
|
return count > 0;
|
|
436
436
|
};
|
|
437
437
|
|
|
438
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3IvcGFja2FnZXMvcmVha3Rvci9zcmMvYWN0aW9ucy9jcnVkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFVzZSBpcyBzdWJqZWN0IHRvIHRoZSBhY2NvbXBhbnlpbmcgY29tbWVyY2lhbCBMSUNFTlNFLlxuICovXG5pbXBvcnQge2FxbH0gZnJvbSAnYXJhbmdvanMnO1xuaW1wb3J0IHtsaXRlcmFsfSBmcm9tICdhcmFuZ29qcy9hcWwnO1xuXG5pbXBvcnQge29yZ2FuaXphdGlvbkFjY291bnRNdXRhdGlvbiwgb3JnYW5pemF0aW9uQWNjb3VudFdyaXRlR3VhcmR9IGZyb20gJy4uL29yZ2FuaXphdGlvbnMvYWNjb3VudExpZmVjeWNsZS5qcyc7XG5pbXBvcnQge0Vycm9yVHlwZXN9IGZyb20gJy4uL3R5cGVzL2Vycm9yLnR5cGVzLmpzJztcbmltcG9ydCB7bG9nRXJyb3J9IGZyb20gJy4uL3V0aWxzL2FuYWx5dGljc1V0aWxzLmpzJztcbmltcG9ydCB7YnVpbGRGaWx0ZXJDbGF1c2V9IGZyb20gJy4uL3V0aWxzL2FxbEhlbHBlcnMuanMnO1xuaW1wb3J0IHt1c2VEYn0gZnJvbSAnLi4vdXRpbHMvYXJhbmdvZGJVdGlscy5qcyc7XG5pbXBvcnQge3JlZ2lzdHJ5fSBmcm9tICcuLi91dGlscy9jb2xsZWN0aW9uUmVnaXN0cnkuanMnO1xuXG5pbXBvcnQgdHlwZSB7QXFsUXVlcnl9IGZyb20gJ2FyYW5nb2pzL2FxbCc7XG5pbXBvcnQgdHlwZSB7RmlsdGVyR3JvdXB9IGZyb20gJy4uL3R5cGVzL2FyYW5nb2RiLnR5cGVzLmpzJztcbmltcG9ydCB0eXBlIHtBcGlDb250ZXh0fSBmcm9tICcuLi90eXBlcy9hdXRoLnR5cGVzLmpzJztcblxuY29uc3QgZXZlbnRDYXRlZ29yeSA9ICdjcnVkJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciBDUlVEIG9wZXJhdGlvbnNcbiAqL1xuZXhwb3J0IHR5cGUgQ3J1ZE9wdGlvbnMgPSBSZWFkb25seTx7XG4gIHJlYWRvbmx5IHNvcnQ/OiBSZWFkb25seUFycmF5PHtyZWFkb25seSBmaWVsZDogc3RyaW5nOyByZWFkb25seSBkaXJlY3Rpb246ICdBU0MnIHwgJ0RFU0MnfT47XG4gIHJlYWRvbmx5IGxpbWl0Pzoge3JlYWRvbmx5IGZyb206IG51bWJlcjsgcmVhZG9ubHkgdG86IG51bWJlcn07XG4gIHJlYWRvbmx5IGZpZWxkcz86IFJlYWRvbmx5QXJyYXk8c3RyaW5nPjsgLy8gU2VsZWN0IHNwZWNpZmljIGZpZWxkc1xuICByZWFkb25seSBpbmNsdWRlRWRnZXM/OiBSZWFkb25seUFycmF5PHN0cmluZz47IC8vIEluY2x1ZGUgcmVsYXRlZCBkb2N1bWVudHMgdmlhIGVkZ2VzXG4gIHJlYWRvbmx5IHByaXZhY3k/OiBib29sZWFuOyAvLyBBcHBseSBwcml2YWN5IGNoZWNrcyAoZGVmYXVsdDogdHJ1ZSlcbiAgcmVhZG9ubHkgb3duZXJzaGlwPzogYm9vbGVhbjsgLy8gQXBwbHkgb3duZXJzaGlwIGNoZWNrcyAoZGVmYXVsdDogZmFsc2UpXG4gIHJlYWRvbmx5IGN1c3RvbVF1ZXJpZXM/OiBSZWFkb25seUFycmF5PHN0cmluZz47IC8vIEFkZGl0aW9uYWwgY3VzdG9tIHF1ZXJ5IHN0cmluZ3NcbiAgcmVhZG9ubHkgY3VzdG9tT2JqZWN0cz86IFJlYWRvbmx5QXJyYXk8c3RyaW5nPjsgLy8gQWRkaXRpb25hbCBjdXN0b20gb2JqZWN0IHNlbGVjdGlvbnNcbn0+O1xuXG4vKipcbiAqIEJ1aWxkIGZpbHRlciBjbGF1c2UgZnJvbSBmaWx0ZXJzIG9iamVjdCBvciBGaWx0ZXJHcm91cFxuICovXG5jb25zdCBidWlsZEZpbHRlcnMgPSAoXG4gIGZpbHRlcnM6IFJlY29yZDxzdHJpbmcsIGFueT4gfCBGaWx0ZXJHcm91cCxcbiAgdmFyTmFtZTogc3RyaW5nID0gJ2RvYydcbik6IHN0cmluZyA9PiB7XG4gIC8vIElmIGl0J3MgYSBGaWx0ZXJHcm91cCB3aXRoIGxvZ2ljIGFuZCBjb25kaXRpb25zXG4gIGlmKCdsb2dpYycgaW4gZmlsdGVycyAmJiAnY29uZGl0aW9ucycgaW4gZmlsdGVycykge1xuICAgIHJldHVybiBidWlsZEZpbHRlckNsYXVzZShmaWx0ZXJzIGFzIEZpbHRlckdyb3VwLCB2YXJOYW1lKTtcbiAgfVxuXG4gIC8vIFNpbXBsZSBvYmplY3QgZmlsdGVyc1xuICBjb25zdCBzaW1wbGVGaWx0ZXJzID0gZmlsdGVycyBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBjb25zdCBjb25kaXRpb25zOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGZvcihjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoc2ltcGxlRmlsdGVycykpIHtcbiAgICBpZih2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgY29uZGl0aW9ucy5wdXNoKGAke3Zhck5hbWV9LiR7a2V5fSA9PSBudWxsYCk7XG4gICAgfSBlbHNlIGlmKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbmRpdGlvbnMucHVzaChgJHt2YXJOYW1lfS4ke2tleX0gPT0gXCIke3ZhbHVlfVwiYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbmRpdGlvbnMucHVzaChgJHt2YXJOYW1lfS4ke2tleX0gPT0gJHtKU09OLnN0cmluZ2lmeSh2YWx1ZSl9YCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmRpdGlvbnMuam9pbignICYmICcpO1xufTtcblxuLyoqXG4gKiBCdWlsZCBzb3J0IGNsYXVzZVxuICovXG5jb25zdCBidWlsZFNvcnQgPSAoXG4gIHNvcnQ6IFJlYWRvbmx5QXJyYXk8e3JlYWRvbmx5IGZpZWxkOiBzdHJpbmc7IHJlYWRvbmx5IGRpcmVjdGlvbjogJ0FTQycgfCAnREVTQyd9PixcbiAgdmFyTmFtZTogc3RyaW5nID0gJ2RvYydcbik6IHN0cmluZyA9PiB7XG4gIGlmKCFzb3J0IHx8IHNvcnQubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgY29uc3Qgc29ydFBhcnRzID0gc29ydC5tYXAoKHtmaWVsZCwgZGlyZWN0aW9ufSkgPT4gYCR7dmFyTmFtZX0uJHtmaWVsZH0gJHtkaXJlY3Rpb259YCk7XG4gIHJldHVybiBgU09SVCAke3NvcnRQYXJ0cy5qb2luKCcsICcpfWA7XG59O1xuXG4vKipcbiAqIEJ1aWxkIGxpbWl0IGNsYXVzZVxuICovXG5jb25zdCBidWlsZExpbWl0ID0gKGxpbWl0Pzoge3JlYWRvbmx5IGZyb206IG51bWJlcjsgcmVhZG9ubHkgdG86IG51bWJlcn0pOiBzdHJpbmcgPT4ge1xuICBpZighbGltaXQpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBjb25zdCB7ZnJvbSwgdG99ID0gbGltaXQ7XG4gIGNvbnN0IGNvdW50ID0gdG8gLSBmcm9tO1xuICByZXR1cm4gYExJTUlUICR7ZnJvbX0sICR7Y291bnR9YDtcbn07XG5cbi8qKlxuICogQXBwbHkgcHJpdmFjeSBmaWx0ZXIgaWYgY29sbGVjdGlvbiBoYXMgcHJpdmFjeVxuICovXG5jb25zdCBhcHBseVByaXZhY3lGaWx0ZXIgPSAoXG4gIGNvbGxlY3Rpb246IHN0cmluZyxcbiAgc2Vzc2lvbklkOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIHZhck5hbWU6IHN0cmluZyA9ICdkb2MnXG4pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBjb25maWcgPSByZWdpc3RyeS5nZXQoY29sbGVjdGlvbik7XG5cbiAgaWYoIWNvbmZpZyB8fCAhY29uZmlnLmhhc1ByaXZhY3kpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICAvLyBJZiBubyBzZXNzaW9uLCBvbmx5IHJldHVybiBwdWJsaWMgaXRlbXNcbiAgaWYoIXNlc3Npb25JZCkge1xuICAgIHJldHVybiBgJHt2YXJOYW1lfS5wcml2YWN5ID09IFwicHVibGljXCJgO1xuICB9XG5cbiAgLy8gUmV0dXJuIGl0ZW1zIHRoYXQgYXJlIHB1YmxpYyBPUiBvd25lZCBieSB0aGUgdXNlclxuICByZXR1cm4gYCgke3Zhck5hbWV9LnByaXZhY3kgPT0gXCJwdWJsaWNcIiB8fCAke3Zhck5hbWV9LnVzZXJJZCA9PSBcIiR7c2Vzc2lvbklkfVwiKWA7XG59O1xuXG4vKipcbiAqIEFwcGx5IG93bmVyc2hpcCBmaWx0ZXJcbiAqL1xuY29uc3QgYXBwbHlPd25lcnNoaXBGaWx0ZXIgPSAoXG4gIHNlc3Npb25JZDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICB2YXJOYW1lOiBzdHJpbmcgPSAnZG9jJ1xuKTogc3RyaW5nID0+IHtcbiAgaWYoIXNlc3Npb25JZCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHJldHVybiBgJHt2YXJOYW1lfS51c2VySWQgPT0gXCIke3Nlc3Npb25JZH1cImA7XG59O1xuXG4vKipcbiAqIEdldCBhIHNpbmdsZSBpdGVtIGZyb20gYW55IGNvbGxlY3Rpb24gYnkgZmlsdGVyc1xuICovXG5leHBvcnQgY29uc3QgZ2V0SXRlbUJ5ID0gYXN5bmMgPFQgPSBhbnk+KFxuICBjb250ZXh0OiBBcGlDb250ZXh0LFxuICBjb2xsZWN0aW9uOiBzdHJpbmcsXG4gIGZpbHRlcnM6IFJlY29yZDxzdHJpbmcsIGFueT4gfCBGaWx0ZXJHcm91cCxcbiAgb3B0aW9uczogQ3J1ZE9wdGlvbnMgPSB7fVxuKTogUHJvbWlzZTxUIHwgbnVsbD4gPT4ge1xuICBjb25zdCBhY3Rpb24gPSAnZ2V0SXRlbUJ5JztcbiAgY29uc3Qge2RhdGFiYXNlTmFtZSwgc2Vzc2lvbjoge3VzZXJJZDogc2Vzc2lvbklkfSA9IHt9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IHtwcml2YWN5ID0gZmFsc2UsIG93bmVyc2hpcCA9IGZhbHNlLCBjdXN0b21RdWVyaWVzID0gW10sIGN1c3RvbU9iamVjdHMgPSBbXX0gPSBvcHRpb25zO1xuXG4gIHRyeSB7XG4gICAgY29uc3QgZGF0YWJhc2UgPSB1c2VEYihkYXRhYmFzZU5hbWUpO1xuICAgIGNvbnN0IGZpbHRlckNsYXVzZSA9IGJ1aWxkRmlsdGVycyhmaWx0ZXJzLCAnZG9jJyk7XG4gICAgY29uc3QgY29uZGl0aW9uczogc3RyaW5nW10gPSBbXTtcblxuICAgIGlmKGZpbHRlckNsYXVzZSkge1xuICAgICAgY29uZGl0aW9ucy5wdXNoKGZpbHRlckNsYXVzZSk7XG4gICAgfVxuXG4gICAgaWYocHJpdmFjeSkge1xuICAgICAgY29uc3QgcHJpdmFjeUZpbHRlciA9IGFwcGx5UHJpdmFjeUZpbHRlcihjb2xsZWN0aW9uLCBzZXNzaW9uSWQsICdkb2MnKTtcbiAgICAgIGlmKHByaXZhY3lGaWx0ZXIpIHtcbiAgICAgICAgY29uZGl0aW9ucy5wdXNoKHByaXZhY3lGaWx0ZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmKG93bmVyc2hpcCkge1xuICAgICAgY29uc3Qgb3duZXJzaGlwRmlsdGVyID0gYXBwbHlPd25lcnNoaXBGaWx0ZXIoc2Vzc2lvbklkLCAnZG9jJyk7XG4gICAgICBpZihvd25lcnNoaXBGaWx0ZXIpIHtcbiAgICAgICAgY29uZGl0aW9ucy5wdXNoKG93bmVyc2hpcEZpbHRlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgY29sbGVjdGlvbkxpdGVyYWwgPSBsaXRlcmFsKGNvbGxlY3Rpb24pO1xuICAgIGNvbnN0IHdoZXJlQ2xhdXNlID0gY29uZGl0aW9ucy5sZW5ndGggPiAwID8gbGl0ZXJhbChgRklMVEVSICR7Y29uZGl0aW9ucy5qb2luKCcgJiYgJyl9YCkgOiBsaXRlcmFsKCcnKTtcbiAgICBjb25zdCBjdXN0b21RdWVyaWVzTGl0ZXJhbCA9IGN1c3RvbVF1ZXJpZXMubGVuZ3RoID4gMCA/IGxpdGVyYWwoY3VzdG9tUXVlcmllcy5qb2luKCdcXG4nKSkgOiBsaXRlcmFsKCcnKTtcbiAgICBjb25zdCByZXR1cm5WYWx1ZSA9IGN1c3RvbU9iamVjdHMubGVuZ3RoID4gMFxuICAgICAgPyBsaXRlcmFsKGBNRVJHRShkb2MsIHske2N1c3RvbU9iamVjdHMuam9pbignLCAnKX19KWApXG4gICAgICA6IGxpdGVyYWwoJ2RvYycpO1xuXG4gICAgY29uc3QgYXFsUXVlcnk6IEFxbFF1ZXJ5ID0gYXFsYFxuICAgICAgRk9SIGRvYyBJTiAke2NvbGxlY3Rpb25MaXRlcmFsfVxuICAgICAgICAke3doZXJlQ2xhdXNlfVxuICAgICAgICAke2N1c3RvbVF1ZXJpZXNMaXRlcmFsfVxuICAgICAgICBMSU1JVCAxXG4gICAgICAgIFJFVFVSTiAke3JldHVyblZhbHVlfVxuICAgIGA7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBkYXRhYmFzZS5xdWVyeShhcWxRdWVyeSk7XG4gICAgY29uc3QgaXRlbSA9IGF3YWl0IHJlc3VsdC5uZXh0KCk7XG5cbiAgICByZXR1cm4gaXRlbSB8fCBudWxsO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgdGhyb3cgbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogRXJyb3JUeXBlcy5EQVRBQkFTRV9FUlJPUixcbiAgICAgIHBhcmFtczoge2NvbGxlY3Rpb24sIGZpbHRlcnN9XG4gICAgfSwgZXJyb3IgYXMgRXJyb3IsIGNvbnRleHQpO1xuICB9XG59O1xuXG4vKipcbiAqIEdldCBtdWx0aXBsZSBpdGVtcyBmcm9tIGFueSBjb2xsZWN0aW9uIGJ5IGZpbHRlcnNcbiAqL1xuZXhwb3J0IGNvbnN0IGdldExpc3RCeSA9IGFzeW5jIDxUID0gYW55PihcbiAgY29udGV4dDogQXBpQ29udGV4dCxcbiAgY29sbGVjdGlvbjogc3RyaW5nLFxuICBmaWx0ZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgRmlsdGVyR3JvdXAgPSB7fSxcbiAgb3B0aW9uczogQ3J1ZE9wdGlvbnMgPSB7fVxuKTogUHJvbWlzZTxUW10+ID0+IHtcbiAgY29uc3QgYWN0aW9uID0gJ2dldExpc3RCeSc7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWUsIHNlc3Npb246IHt1c2VySWQ6IHNlc3Npb25JZH0gPSB7fX0gPSBjb250ZXh0O1xuICBjb25zdCB7XG4gICAgcHJpdmFjeSA9IGZhbHNlLFxuICAgIG93bmVyc2hpcCA9IGZhbHNlLFxuICAgIHNvcnQsXG4gICAgbGltaXQsXG4gICAgY3VzdG9tUXVlcmllcyA9IFtdLFxuICAgIGN1c3RvbU9iamVjdHMgPSBbXVxuICB9ID0gb3B0aW9ucztcblxuICB0cnkge1xuICAgIGNvbnN0IGRhdGFiYXNlID0gdXNlRGIoZGF0YWJhc2VOYW1lKTtcbiAgICBjb25zdCBmaWx0ZXJDbGF1c2UgPSBidWlsZEZpbHRlcnMoZmlsdGVycywgJ2RvYycpO1xuICAgIGNvbnN0IGNvbmRpdGlvbnM6IHN0cmluZ1tdID0gW107XG5cbiAgICBpZihmaWx0ZXJDbGF1c2UpIHtcbiAgICAgIGNvbmRpdGlvbnMucHVzaChmaWx0ZXJDbGF1c2UpO1xuICAgIH1cblxuICAgIGlmKHByaXZhY3kpIHtcbiAgICAgIGNvbnN0IHByaXZhY3lGaWx0ZXIgPSBhcHBseVByaXZhY3lGaWx0ZXIoY29sbGVjdGlvbiwgc2Vzc2lvbklkLCAnZG9jJyk7XG4gICAgICBpZihwcml2YWN5RmlsdGVyKSB7XG4gICAgICAgIGNvbmRpdGlvbnMucHVzaChwcml2YWN5RmlsdGVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZihvd25lcnNoaXApIHtcbiAgICAgIGNvbnN0IG93bmVyc2hpcEZpbHRlciA9IGFwcGx5T3duZXJzaGlwRmlsdGVyKHNlc3Npb25JZCwgJ2RvYycpO1xuICAgICAgaWYob3duZXJzaGlwRmlsdGVyKSB7XG4gICAgICAgIGNvbmRpdGlvbnMucHVzaChvd25lcnNoaXBGaWx0ZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGNvbGxlY3Rpb25MaXRlcmFsID0gbGl0ZXJhbChjb2xsZWN0aW9uKTtcbiAgICBjb25zdCB3aGVyZUNsYXVzZSA9IGNvbmRpdGlvbnMubGVuZ3RoID4gMCA/IGxpdGVyYWwoYEZJTFRFUiAke2NvbmRpdGlvbnMuam9pbignICYmICcpfWApIDogbGl0ZXJhbCgnJyk7XG4gICAgY29uc3Qgc29ydENsYXVzZSA9IHNvcnQgPyBsaXRlcmFsKGJ1aWxkU29ydChzb3J0LCAnZG9jJykpIDogbGl0ZXJhbCgnJyk7XG4gICAgY29uc3QgbGltaXRDbGF1c2UgPSBsaW1pdCA/IGxpdGVyYWwoYnVpbGRMaW1pdChsaW1pdCkpIDogbGl0ZXJhbCgnJyk7XG4gICAgY29uc3QgY3VzdG9tUXVlcmllc0xpdGVyYWwgPSBjdXN0b21RdWVyaWVzLmxlbmd0aCA+IDAgPyBsaXRlcmFsKGN1c3RvbVF1ZXJpZXMuam9pbignXFxuJykpIDogbGl0ZXJhbCgnJyk7XG4gICAgY29uc3QgcmV0dXJuVmFsdWUgPSBjdXN0b21PYmplY3RzLmxlbmd0aCA+IDBcbiAgICAgID8gbGl0ZXJhbChgTUVSR0UoZG9jLCB7JHtjdXN0b21PYmplY3RzLmpvaW4oJywgJyl9fSlgKVxuICAgICAgOiBsaXRlcmFsKCdkb2MnKTtcblxuICAgIGNvbnN0IGFxbFF1ZXJ5OiBBcWxRdWVyeSA9IGFxbGBcbiAgICAgIEZPUiBkb2MgSU4gJHtjb2xsZWN0aW9uTGl0ZXJhbH1cbiAgICAgICAgJHt3aGVyZUNsYXVzZX1cbiAgICAgICAgJHtjdXN0b21RdWVyaWVzTGl0ZXJhbH1cbiAgICAgICAgJHtzb3J0Q2xhdXNlfVxuICAgICAgICAke2xpbWl0Q2xhdXNlfVxuICAgICAgICBSRVRVUk4gJHtyZXR1cm5WYWx1ZX1cbiAgICBgO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZGF0YWJhc2UucXVlcnkoYXFsUXVlcnkpO1xuICAgIHJldHVybiBhd2FpdCByZXN1bHQuYWxsKCkgYXMgVFtdO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgdGhyb3cgbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogRXJyb3JUeXBlcy5EQVRBQkFTRV9FUlJPUixcbiAgICAgIHBhcmFtczoge2NvbGxlY3Rpb24sIGZpbHRlcnN9XG4gICAgfSwgZXJyb3IgYXMgRXJyb3IsIGNvbnRleHQpO1xuICB9XG59O1xuXG4vKipcbiAqIEFkZCBhIG5ldyBpdGVtIHRvIGFueSBjb2xsZWN0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBhZGRJdGVtID0gYXN5bmMgPFQgPSBhbnk+KFxuICBjb250ZXh0OiBBcGlDb250ZXh0LFxuICBjb2xsZWN0aW9uOiBzdHJpbmcsXG4gIGRhdGE6IFBhcnRpYWw8VD4sXG4gIG9wdGlvbnM6IHtyZWFkb25seSBob29rcz86IGJvb2xlYW59ID0ge31cbik6IFByb21pc2U8VD4gPT4ge1xuICBjb25zdCBhY3Rpb24gPSAnYWRkSXRlbSc7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWV9ID0gY29udGV4dDtcbiAgY29uc3Qge2hvb2tzID0gZmFsc2V9ID0gb3B0aW9ucztcblxuICB0cnkge1xuICAgIGNvbnN0IGNvbmZpZyA9IHJlZ2lzdHJ5LmdldChjb2xsZWN0aW9uKTtcbiAgICBsZXQgaW5zZXJ0RGF0YTogYW55ID0gey4uLmRhdGF9O1xuXG4gICAgLy8gQXBwbHkgcGFyc2UgYWRhcHRlciBpZiBhdmFpbGFibGVcbiAgICBpZihjb25maWc/LmFkYXB0ZXJzPy5wYXJzZSkge1xuICAgICAgaW5zZXJ0RGF0YSA9IGNvbmZpZy5hZGFwdGVycy5wYXJzZShpbnNlcnREYXRhKTtcbiAgICB9XG5cbiAgICAvLyBDYWxsIGJlZm9yZUluc2VydCBob29rXG4gICAgaWYoaG9va3MgJiYgY29uZmlnPy5ob29rcz8uYmVmb3JlSW5zZXJ0KSB7XG4gICAgICBpbnNlcnREYXRhID0gYXdhaXQgY29uZmlnLmhvb2tzLmJlZm9yZUluc2VydChjb250ZXh0LCBpbnNlcnREYXRhKTtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGltZXN0YW1wcyAodHlwZS1zYWZlIGFwcHJvYWNoKVxuICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gICAgaWYoY29uZmlnPy50aW1lc3RhbXBzPy5jcmVhdGVkKSB7XG4gICAgICBpbnNlcnREYXRhID0gey4uLmluc2VydERhdGEsIFtjb25maWcudGltZXN0YW1wcy5jcmVhdGVkXTogbm93fTtcbiAgICB9XG4gICAgaWYoY29uZmlnPy50aW1lc3RhbXBzPy51cGRhdGVkKSB7XG4gICAgICBpbnNlcnREYXRhID0gey4uLmluc2VydERhdGEsIFtjb25maWcudGltZXN0YW1wcy51cGRhdGVkXTogbm93fTtcbiAgICB9XG5cbiAgICBjb25zdCBkYXRhYmFzZSA9IHVzZURiKGRhdGFiYXNlTmFtZSk7XG4gICAgY29uc3QgY29sbGVjdGlvblJlZiA9IGRhdGFiYXNlLmNvbGxlY3Rpb24oY29sbGVjdGlvbik7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY29sbGVjdGlvblJlZi5zYXZlKGluc2VydERhdGEgYXMgYW55LCB7cmV0dXJuTmV3OiB0cnVlfSk7XG4gICAgbGV0IGl0ZW0gPSByZXN1bHQubmV3IGFzIFQ7XG5cbiAgICAvLyBDYWxsIGFmdGVySW5zZXJ0IGhvb2tcbiAgICBpZihob29rcyAmJiBjb25maWc/Lmhvb2tzPy5hZnRlckluc2VydCkge1xuICAgICAgaXRlbSA9IGF3YWl0IGNvbmZpZy5ob29rcy5hZnRlckluc2VydChjb250ZXh0LCBpdGVtKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXRlbTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHRocm93IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1IsXG4gICAgICBwYXJhbXM6IHtjb2xsZWN0aW9ufVxuICAgIH0sIGVycm9yIGFzIEVycm9yLCBjb250ZXh0KTtcbiAgfVxufTtcblxuLyoqXG4gKiBVcGRhdGUgYW4gaXRlbSBpbiBhbnkgY29sbGVjdGlvblxuICovXG5leHBvcnQgY29uc3QgdXBkYXRlSXRlbSA9IGFzeW5jIDxUID0gYW55PihcbiAgY29udGV4dDogQXBpQ29udGV4dCxcbiAgY29sbGVjdGlvbjogc3RyaW5nLFxuICBpZDogc3RyaW5nLFxuICB1cGRhdGVzOiBQYXJ0aWFsPFQ+LFxuICBvcHRpb25zOiB7cmVhZG9ubHkgaG9va3M/OiBib29sZWFuOyByZWFkb25seSBvd25lcnNoaXA/OiBib29sZWFufSA9IHt9XG4pOiBQcm9taXNlPFQ+ID0+IHtcbiAgY29uc3QgYWN0aW9uID0gJ3VwZGF0ZUl0ZW0nO1xuICBjb25zdCB7ZGF0YWJhc2VOYW1lLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9ID0ge319ID0gY29udGV4dDtcbiAgY29uc3Qge2hvb2tzID0gZmFsc2UsIG93bmVyc2hpcCA9IGZhbHNlfSA9IG9wdGlvbnM7XG5cbiAgaWYoY29sbGVjdGlvbiA9PT0gJ3VzZXJzJykge1xuICAgIGNvbnN0IG1hbmFnZWQgPSBhd2FpdCBvcmdhbml6YXRpb25BY2NvdW50TXV0YXRpb24oY29udGV4dCwgaWQsICd1cGRhdGUnLCB1cGRhdGVzIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KTtcbiAgICBpZihtYW5hZ2VkKSB7XG4gICAgICByZXR1cm4gbWFuYWdlZCBhcyBUO1xuICAgIH1cbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3QgY29uZmlnID0gcmVnaXN0cnkuZ2V0KGNvbGxlY3Rpb24pO1xuICAgIGxldCB1cGRhdGVEYXRhOiBhbnkgPSB7Li4udXBkYXRlc307XG5cbiAgICAvLyBBcHBseSBwYXJzZSBhZGFwdGVyIGlmIGF2YWlsYWJsZVxuICAgIGlmKGNvbmZpZz8uYWRhcHRlcnM/LnBhcnNlKSB7XG4gICAgICB1cGRhdGVEYXRhID0gY29uZmlnLmFkYXB0ZXJzLnBhcnNlKHVwZGF0ZURhdGEpO1xuICAgIH1cblxuICAgIC8vIENhbGwgYmVmb3JlVXBkYXRlIGhvb2tcbiAgICBpZihob29rcyAmJiBjb25maWc/Lmhvb2tzPy5iZWZvcmVVcGRhdGUpIHtcbiAgICAgIHVwZGF0ZURhdGEgPSBhd2FpdCBjb25maWcuaG9va3MuYmVmb3JlVXBkYXRlKGNvbnRleHQsIGlkLCB1cGRhdGVEYXRhKTtcbiAgICB9XG5cbiAgICAvLyBBZGQgdXBkYXRlZCB0aW1lc3RhbXAgKHR5cGUtc2FmZSBhcHByb2FjaClcbiAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgIGlmKGNvbmZpZz8udGltZXN0YW1wcz8udXBkYXRlZCkge1xuICAgICAgdXBkYXRlRGF0YSA9IHsuLi51cGRhdGVEYXRhLCBbY29uZmlnLnRpbWVzdGFtcHMudXBkYXRlZF06IG5vd307XG4gICAgfVxuXG4gICAgY29uc3QgZGF0YWJhc2UgPSB1c2VEYihkYXRhYmFzZU5hbWUpO1xuICAgIGNvbnN0IGRvY0lkID0gaWQuaW5jbHVkZXMoJy8nKSA/IGlkIDogYCR7Y29sbGVjdGlvbn0vJHtpZH1gO1xuXG4gICAgLy8gQnVpbGQgcXVlcnkgd2l0aCBvd25lcnNoaXAgY2hlY2sgaWYgbmVlZGVkXG4gICAgbGV0IGFxbFF1ZXJ5OiBBcWxRdWVyeTtcbiAgICBjb25zdCBjb2xsZWN0aW9uTGl0ZXJhbCA9IGxpdGVyYWwoY29sbGVjdGlvbik7XG4gICAgY29uc3QgYWNjb3VudEd1YXJkID0gb3JnYW5pemF0aW9uQWNjb3VudFdyaXRlR3VhcmQoY29udGV4dCwgY29sbGVjdGlvbik7XG4gICAgaWYob3duZXJzaGlwICYmIHNlc3Npb25JZCkge1xuICAgICAgYXFsUXVlcnkgPSBhcWxgRk9SIGRvYyBJTiAke2NvbGxlY3Rpb25MaXRlcmFsfVxuICAgICAgICBGSUxURVIgZG9jLl9pZCA9PSAke2RvY0lkfSAmJiBkb2MudXNlcklkID09ICR7c2Vzc2lvbklkfVxuICAgICAgICBGSUxURVIgJHthY2NvdW50R3VhcmR9XG4gICAgICAgIExJTUlUIDFcbiAgICAgICAgVVBEQVRFIGRvYyBXSVRIICR7dXBkYXRlRGF0YX0gSU4gJHtjb2xsZWN0aW9uTGl0ZXJhbH1cbiAgICAgICAgUkVUVVJOIE5FV2A7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFxbFF1ZXJ5ID0gYXFsYEZPUiBkb2MgSU4gJHtjb2xsZWN0aW9uTGl0ZXJhbH1cbiAgICAgICAgRklMVEVSIGRvYy5faWQgPT0gJHtkb2NJZH1cbiAgICAgICAgRklMVEVSICR7YWNjb3VudEd1YXJkfVxuICAgICAgICBMSU1JVCAxXG4gICAgICAgIFVQREFURSBkb2MgV0lUSCAke3VwZGF0ZURhdGF9IElOICR7Y29sbGVjdGlvbkxpdGVyYWx9XG4gICAgICAgIFJFVFVSTiBORVdgO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGRhdGFiYXNlLnF1ZXJ5KGFxbFF1ZXJ5KTtcbiAgICBsZXQgaXRlbSA9IGF3YWl0IHJlc3VsdC5uZXh0KCk7XG5cbiAgICAvLyBDYWxsIGFmdGVyVXBkYXRlIGhvb2tcbiAgICBpZihob29rcyAmJiBjb25maWc/Lmhvb2tzPy5hZnRlclVwZGF0ZSkge1xuICAgICAgaXRlbSA9IGF3YWl0IGNvbmZpZy5ob29rcy5hZnRlclVwZGF0ZShjb250ZXh0LCBpdGVtKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXRlbTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHRocm93IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1IsXG4gICAgICBwYXJhbXM6IHtjb2xsZWN0aW9uLCBpZH1cbiAgICB9LCBlcnJvciBhcyBFcnJvciwgY29udGV4dCk7XG4gIH1cbn07XG5cbi8qKlxuICogRGVsZXRlIGFuIGl0ZW0gZnJvbSBhbnkgY29sbGVjdGlvblxuICovXG5leHBvcnQgY29uc3QgZGVsZXRlSXRlbSA9IGFzeW5jIDxUID0gYW55PihcbiAgY29udGV4dDogQXBpQ29udGV4dCxcbiAgY29sbGVjdGlvbjogc3RyaW5nLFxuICBpZDogc3RyaW5nLFxuICBvcHRpb25zOiB7XG4gICAgcmVhZG9ubHkgc29mdD86IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgY2FzY2FkZT86IFJlYWRvbmx5QXJyYXk8c3RyaW5nPjtcbiAgICByZWFkb25seSBvd25lcnNoaXA/OiBib29sZWFuO1xuICB9ID0ge31cbik6IFByb21pc2U8VCB8IG51bGw+ID0+IHtcbiAgY29uc3QgYWN0aW9uID0gJ2RlbGV0ZUl0ZW0nO1xuICBjb25zdCB7ZGF0YWJhc2VOYW1lLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9ID0ge319ID0gY29udGV4dDtcbiAgY29uc3Qge3NvZnQgPSBmYWxzZSwgY2FzY2FkZSA9IFtdLCBvd25lcnNoaXAgPSBmYWxzZX0gPSBvcHRpb25zO1xuXG4gIGlmKGNvbGxlY3Rpb24gPT09ICd1c2VycycpIHtcbiAgICBjb25zdCBtYW5hZ2VkID0gYXdhaXQgb3JnYW5pemF0aW9uQWNjb3VudE11dGF0aW9uKGNvbnRleHQsIGlkLCBzb2Z0ID8gJ2RlYWN0aXZhdGUnIDogJ2RlbGV0ZScsIHt9KTtcbiAgICBpZihtYW5hZ2VkKSB7XG4gICAgICByZXR1cm4gbWFuYWdlZCBhcyBUO1xuICAgIH1cbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3QgY29uZmlnID0gcmVnaXN0cnkuZ2V0KGNvbGxlY3Rpb24pO1xuICAgIGNvbnN0IGRhdGFiYXNlID0gdXNlRGIoZGF0YWJhc2VOYW1lKTtcbiAgICBjb25zdCBkb2NJZCA9IGlkLmluY2x1ZGVzKCcvJykgPyBpZCA6IGAke2NvbGxlY3Rpb259LyR7aWR9YDtcbiAgICBjb25zdCBkb2NLZXkgPSBpZC5pbmNsdWRlcygnLycpID8gaWQuc3BsaXQoJy8nKS5wb3AoKSB8fCAnJyA6IGlkO1xuICAgIGxldCBkZWxldGVkSXRlbTogVCB8IG51bGwgPSBudWxsO1xuXG4gICAgLy8gQ2FsbCBiZWZvcmVEZWxldGUgaG9va1xuICAgIGlmKGNvbmZpZz8uaG9va3M/LmJlZm9yZURlbGV0ZSkge1xuICAgICAgYXdhaXQgY29uZmlnLmhvb2tzLmJlZm9yZURlbGV0ZShjb250ZXh0LCBkb2NJZCk7XG4gICAgfVxuXG4gICAgLy8gU29mdCBkZWxldGVcbiAgICBpZihzb2Z0KSB7XG4gICAgICBjb25zdCB1cGRhdGUgPSB7ZGVsZXRlZDogdHJ1ZSwgZGVsZXRlZEF0OiBEYXRlLm5vdygpfTtcbiAgICAgIGNvbnN0IGNvbGxlY3Rpb25MaXRlcmFsID0gbGl0ZXJhbChjb2xsZWN0aW9uKTtcbiAgICAgIGNvbnN0IGFxbFF1ZXJ5OiBBcWxRdWVyeSA9IGFxbGBGT1IgZG9jIElOICR7Y29sbGVjdGlvbkxpdGVyYWx9XG4gICAgICAgIEZJTFRFUiBkb2MuX2lkID09ICR7ZG9jSWR9XG4gICAgICAgIEZJTFRFUiAke29yZ2FuaXphdGlvbkFjY291bnRXcml0ZUd1YXJkKGNvbnRleHQsIGNvbGxlY3Rpb24pfVxuICAgICAgICBMSU1JVCAxXG4gICAgICAgIFVQREFURSBkb2MgV0lUSCAke3VwZGF0ZX0gSU4gJHtjb2xsZWN0aW9uTGl0ZXJhbH1cbiAgICAgICAgUkVUVVJOIE5FV2A7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBkYXRhYmFzZS5xdWVyeShhcWxRdWVyeSk7XG4gICAgICBkZWxldGVkSXRlbSA9IGF3YWl0IHJlc3VsdC5uZXh0KCkgYXMgVCB8IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEhhcmQgZGVsZXRlIHdpdGggY2FzY2FkZVxuICAgICAgY29uc3QgZWRnZXNUb0Nhc2NhZGUgPSBjYXNjYWRlLmxlbmd0aCA+IDAgPyBjYXNjYWRlIDogKGNvbmZpZz8uY2FzY2FkZUVkZ2VzIHx8IFtdKTtcblxuICAgICAgLy8gRGVsZXRlIHRoZSBkb2N1bWVudFxuICAgICAgaWYob3duZXJzaGlwICYmIHNlc3Npb25JZCkge1xuICAgICAgICBjb25zdCBhcWxRdWVyeTogQXFsUXVlcnkgPSBhcWxgXG4gICAgICAgICAgRk9SIGRvYyBJTiAke2xpdGVyYWwoY29sbGVjdGlvbil9XG4gICAgICAgICAgICBGSUxURVIgZG9jLl9pZCA9PSAke2RvY0lkfSAmJiBkb2MudXNlcklkID09ICR7c2Vzc2lvbklkfVxuICAgICAgICAgICAgRklMVEVSICR7b3JnYW5pemF0aW9uQWNjb3VudFdyaXRlR3VhcmQoY29udGV4dCwgY29sbGVjdGlvbil9XG4gICAgICAgICAgICBSRU1PVkUgZG9jIElOICR7bGl0ZXJhbChjb2xsZWN0aW9uKX1cbiAgICAgICAgICAgIFJFVFVSTiBPTERcbiAgICAgICAgYDtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZGF0YWJhc2UucXVlcnkoYXFsUXVlcnkpO1xuICAgICAgICBkZWxldGVkSXRlbSA9IGF3YWl0IHJlc3VsdC5uZXh0KCkgYXMgVCB8IG51bGw7XG4gICAgICB9IGVsc2UgaWYoY29sbGVjdGlvbiA9PT0gJ3VzZXJzJyAmJiBkYXRhYmFzZU5hbWUgPT09IHByb2Nlc3MuZW52LkFSQU5HT0RCX0RBVEFCQVNFKSB7XG4gICAgICAgIGNvbnN0IGFxbFF1ZXJ5OiBBcWxRdWVyeSA9IGFxbGBGT1IgZG9jIElOIHVzZXJzXG4gICAgICAgICAgRklMVEVSIGRvYy5fa2V5ID09ICR7ZG9jS2V5fVxuICAgICAgICAgIEZJTFRFUiAke29yZ2FuaXphdGlvbkFjY291bnRXcml0ZUd1YXJkKGNvbnRleHQsIGNvbGxlY3Rpb24pfVxuICAgICAgICAgIFJFTU9WRSBkb2MgSU4gdXNlcnMgUkVUVVJOIE9MRGA7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGRhdGFiYXNlLnF1ZXJ5KGFxbFF1ZXJ5KTtcbiAgICAgICAgZGVsZXRlZEl0ZW0gPSBhd2FpdCByZXN1bHQubmV4dCgpIGFzIFQgfCBudWxsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgYXFsUXVlcnk6IEFxbFF1ZXJ5ID0gYXFsYFJFTU9WRSAke2RvY0tleX0gSU4gJHtsaXRlcmFsKGNvbGxlY3Rpb24pfSBSRVRVUk4gT0xEYDtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZGF0YWJhc2UucXVlcnkoYXFsUXVlcnkpO1xuICAgICAgICBkZWxldGVkSXRlbSA9IGF3YWl0IHJlc3VsdC5uZXh0KCkgYXMgVCB8IG51bGw7XG4gICAgICB9XG5cbiAgICAgIC8vIERlbGV0ZSByZWxhdGVkIGVkZ2VzIG9ubHkgYWZ0ZXIgdGhlIGRvY3VtZW50IGRlbGV0ZSBzdWNjZWVkcywgc28gb3duZXJzaGlwIGNoZWNrcyBwcm90ZWN0IGNhc2NhZGVzIHRvby5cbiAgICAgIGlmKGRlbGV0ZWRJdGVtKSB7XG4gICAgICAgIGZvcihjb25zdCBlZGdlVHlwZSBvZiBlZGdlc1RvQ2FzY2FkZSkge1xuICAgICAgICAgIC8vIFVzZSBzdHJpbmcgZm9yIGVkZ2UgY29sbGVjdGlvbiBuYW1lIChzYWZlKVxuICAgICAgICAgIGNvbnN0IGVkZ2VRdWVyeTogQXFsUXVlcnkgPSBhcWxgXG4gICAgICAgICAgICBGT1IgZSBJTiAke2xpdGVyYWwoZWRnZVR5cGUpfVxuICAgICAgICAgICAgICBGSUxURVIgZS5fdG8gPT0gJHtkb2NJZH0gfHwgZS5fZnJvbSA9PSAke2RvY0lkfVxuICAgICAgICAgICAgICBSRU1PVkUgZSBJTiAke2xpdGVyYWwoZWRnZVR5cGUpfVxuICAgICAgICAgIGA7XG4gICAgICAgICAgYXdhaXQgZGF0YWJhc2UucXVlcnkoZWRnZVF1ZXJ5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENhbGwgYWZ0ZXJEZWxldGUgaG9va1xuICAgIGlmKGNvbmZpZz8uaG9va3M/LmFmdGVyRGVsZXRlKSB7XG4gICAgICBhd2FpdCBjb25maWcuaG9va3MuYWZ0ZXJEZWxldGUoY29udGV4dCwgZG9jSWQpO1xuICAgIH1cblxuICAgIHJldHVybiBkZWxldGVkSXRlbTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHRocm93IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1IsXG4gICAgICBwYXJhbXM6IHtjb2xsZWN0aW9uLCBpZH1cbiAgICB9LCBlcnJvciBhcyBFcnJvciwgY29udGV4dCk7XG4gIH1cbn07XG5cbi8qKlxuICogQ291bnQgaXRlbXMgaW4gYW55IGNvbGxlY3Rpb25cbiAqL1xuZXhwb3J0IGNvbnN0IGNvdW50SXRlbXMgPSBhc3luYyAoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIGNvbGxlY3Rpb246IHN0cmluZyxcbiAgZmlsdGVyczogUmVjb3JkPHN0cmluZywgYW55PiB8IEZpbHRlckdyb3VwID0ge31cbik6IFByb21pc2U8bnVtYmVyPiA9PiB7XG4gIGNvbnN0IGFjdGlvbiA9ICdjb3VudEl0ZW1zJztcbiAgY29uc3Qge2RhdGFiYXNlTmFtZX0gPSBjb250ZXh0O1xuXG4gIHRyeSB7XG4gICAgY29uc3QgZGF0YWJhc2UgPSB1c2VEYihkYXRhYmFzZU5hbWUpO1xuICAgIGNvbnN0IGZpbHRlckNsYXVzZSA9IGJ1aWxkRmlsdGVycyhmaWx0ZXJzLCAnZG9jJyk7XG4gICAgY29uc3Qgd2hlcmVDbGF1c2UgPSBmaWx0ZXJDbGF1c2UgPyBsaXRlcmFsKGBGSUxURVIgJHtmaWx0ZXJDbGF1c2V9YCkgOiBsaXRlcmFsKCcnKTtcblxuICAgIGNvbnN0IGFxbFF1ZXJ5OiBBcWxRdWVyeSA9IGFxbGBcbiAgICAgIExFVCBpdGVtcyA9IChcbiAgICAgICAgRk9SIGRvYyBJTiAke2xpdGVyYWwoY29sbGVjdGlvbil9XG4gICAgICAgICAgJHt3aGVyZUNsYXVzZX1cbiAgICAgICAgICBSRVRVUk4gZG9jXG4gICAgICApXG4gICAgICBSRVRVUk4gTEVOR1RIKGl0ZW1zKVxuICAgIGA7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBkYXRhYmFzZS5xdWVyeShhcWxRdWVyeSk7XG4gICAgcmV0dXJuIGF3YWl0IHJlc3VsdC5uZXh0KCk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICB0aHJvdyBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SLFxuICAgICAgcGFyYW1zOiB7Y29sbGVjdGlvbiwgZmlsdGVyc31cbiAgICB9LCBlcnJvciBhcyBFcnJvciwgY29udGV4dCk7XG4gIH1cbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgaXRlbSBleGlzdHNcbiAqL1xuZXhwb3J0IGNvbnN0IGl0ZW1FeGlzdHMgPSBhc3luYyAoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIGNvbGxlY3Rpb246IHN0cmluZyxcbiAgZmlsdGVyczogUmVjb3JkPHN0cmluZywgYW55PiB8IEZpbHRlckdyb3VwXG4pOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgY29uc3QgY291bnQgPSBhd2FpdCBjb3VudEl0ZW1zKGNvbnRleHQsIGNvbGxlY3Rpb24sIGZpbHRlcnMpO1xuICByZXR1cm4gY291bnQgPiAwO1xufTtcbiJdLCJuYW1lcyI6WyJhcWwiLCJsaXRlcmFsIiwib3JnYW5pemF0aW9uQWNjb3VudE11dGF0aW9uIiwib3JnYW5pemF0aW9uQWNjb3VudFdyaXRlR3VhcmQiLCJFcnJvclR5cGVzIiwibG9nRXJyb3IiLCJidWlsZEZpbHRlckNsYXVzZSIsInVzZURiIiwicmVnaXN0cnkiLCJldmVudENhdGVnb3J5IiwiYnVpbGRGaWx0ZXJzIiwiZmlsdGVycyIsInZhck5hbWUiLCJzaW1wbGVGaWx0ZXJzIiwiY29uZGl0aW9ucyIsImtleSIsInZhbHVlIiwiT2JqZWN0IiwiZW50cmllcyIsInB1c2giLCJKU09OIiwic3RyaW5naWZ5Iiwiam9pbiIsImJ1aWxkU29ydCIsInNvcnQiLCJsZW5ndGgiLCJzb3J0UGFydHMiLCJtYXAiLCJmaWVsZCIsImRpcmVjdGlvbiIsImJ1aWxkTGltaXQiLCJsaW1pdCIsImZyb20iLCJ0byIsImNvdW50IiwiYXBwbHlQcml2YWN5RmlsdGVyIiwiY29sbGVjdGlvbiIsInNlc3Npb25JZCIsImNvbmZpZyIsImdldCIsImhhc1ByaXZhY3kiLCJhcHBseU93bmVyc2hpcEZpbHRlciIsImdldEl0ZW1CeSIsImNvbnRleHQiLCJvcHRpb25zIiwiYWN0aW9uIiwiZGF0YWJhc2VOYW1lIiwic2Vzc2lvbiIsInVzZXJJZCIsInByaXZhY3kiLCJvd25lcnNoaXAiLCJjdXN0b21RdWVyaWVzIiwiY3VzdG9tT2JqZWN0cyIsImRhdGFiYXNlIiwiZmlsdGVyQ2xhdXNlIiwicHJpdmFjeUZpbHRlciIsIm93bmVyc2hpcEZpbHRlciIsImNvbGxlY3Rpb25MaXRlcmFsIiwid2hlcmVDbGF1c2UiLCJjdXN0b21RdWVyaWVzTGl0ZXJhbCIsInJldHVyblZhbHVlIiwiYXFsUXVlcnkiLCJyZXN1bHQiLCJxdWVyeSIsIml0ZW0iLCJuZXh0IiwiZXJyb3IiLCJjYXRlZ29yeSIsImxhYmVsIiwiREFUQUJBU0VfRVJST1IiLCJwYXJhbXMiLCJnZXRMaXN0QnkiLCJzb3J0Q2xhdXNlIiwibGltaXRDbGF1c2UiLCJhbGwiLCJhZGRJdGVtIiwiZGF0YSIsImhvb2tzIiwiaW5zZXJ0RGF0YSIsImFkYXB0ZXJzIiwicGFyc2UiLCJiZWZvcmVJbnNlcnQiLCJub3ciLCJEYXRlIiwidGltZXN0YW1wcyIsImNyZWF0ZWQiLCJ1cGRhdGVkIiwiY29sbGVjdGlvblJlZiIsInNhdmUiLCJyZXR1cm5OZXciLCJuZXciLCJhZnRlckluc2VydCIsInVwZGF0ZUl0ZW0iLCJpZCIsInVwZGF0ZXMiLCJtYW5hZ2VkIiwidXBkYXRlRGF0YSIsImJlZm9yZVVwZGF0ZSIsImRvY0lkIiwiaW5jbHVkZXMiLCJhY2NvdW50R3VhcmQiLCJhZnRlclVwZGF0ZSIsImRlbGV0ZUl0ZW0iLCJzb2Z0IiwiY2FzY2FkZSIsImRvY0tleSIsInNwbGl0IiwicG9wIiwiZGVsZXRlZEl0ZW0iLCJiZWZvcmVEZWxldGUiLCJ1cGRhdGUiLCJkZWxldGVkIiwiZGVsZXRlZEF0IiwiZWRnZXNUb0Nhc2NhZGUiLCJjYXNjYWRlRWRnZXMiLCJwcm9jZXNzIiwiZW52IiwiQVJBTkdPREJfREFUQUJBU0UiLCJlZGdlVHlwZSIsImVkZ2VRdWVyeSIsImFmdGVyRGVsZXRlIiwiY291bnRJdGVtcyIsIml0ZW1FeGlzdHMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLEdBQUcsUUFBTyxXQUFXO0FBQzdCLFNBQVFDLE9BQU8sUUFBTyxlQUFlO0FBRXJDLFNBQVFDLDJCQUEy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
|
|
438
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3Ly5jb2RleC93b3JrdHJlZXMvdmF1bHQtczMtcmVsZWFzZS9yZWFrdG9yL3BhY2thZ2VzL3JlYWt0b3Ivc3JjL2FjdGlvbnMvY3J1ZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBVc2UgaXMgc3ViamVjdCB0byB0aGUgYWNjb21wYW55aW5nIGNvbW1lcmNpYWwgTElDRU5TRS5cbiAqL1xuaW1wb3J0IHthcWx9IGZyb20gJ2FyYW5nb2pzJztcbmltcG9ydCB7bGl0ZXJhbH0gZnJvbSAnYXJhbmdvanMvYXFsJztcblxuaW1wb3J0IHtvcmdhbml6YXRpb25BY2NvdW50TXV0YXRpb24sIG9yZ2FuaXphdGlvbkFjY291bnRXcml0ZUd1YXJkfSBmcm9tICcuLi9vcmdhbml6YXRpb25zL2FjY291bnRMaWZlY3ljbGUuanMnO1xuaW1wb3J0IHtFcnJvclR5cGVzfSBmcm9tICcuLi90eXBlcy9lcnJvci50eXBlcy5qcyc7XG5pbXBvcnQge2xvZ0Vycm9yfSBmcm9tICcuLi91dGlscy9hbmFseXRpY3NVdGlscy5qcyc7XG5pbXBvcnQge2J1aWxkRmlsdGVyQ2xhdXNlfSBmcm9tICcuLi91dGlscy9hcWxIZWxwZXJzLmpzJztcbmltcG9ydCB7dXNlRGJ9IGZyb20gJy4uL3V0aWxzL2FyYW5nb2RiVXRpbHMuanMnO1xuaW1wb3J0IHtyZWdpc3RyeX0gZnJvbSAnLi4vdXRpbHMvY29sbGVjdGlvblJlZ2lzdHJ5LmpzJztcblxuaW1wb3J0IHR5cGUge0FxbFF1ZXJ5fSBmcm9tICdhcmFuZ29qcy9hcWwnO1xuaW1wb3J0IHR5cGUge0ZpbHRlckdyb3VwfSBmcm9tICcuLi90eXBlcy9hcmFuZ29kYi50eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5cbmNvbnN0IGV2ZW50Q2F0ZWdvcnkgPSAnY3J1ZCc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgQ1JVRCBvcGVyYXRpb25zXG4gKi9cbmV4cG9ydCB0eXBlIENydWRPcHRpb25zID0gUmVhZG9ubHk8e1xuICByZWFkb25seSBzb3J0PzogUmVhZG9ubHlBcnJheTx7cmVhZG9ubHkgZmllbGQ6IHN0cmluZzsgcmVhZG9ubHkgZGlyZWN0aW9uOiAnQVNDJyB8ICdERVNDJ30+O1xuICByZWFkb25seSBsaW1pdD86IHtyZWFkb25seSBmcm9tOiBudW1iZXI7IHJlYWRvbmx5IHRvOiBudW1iZXJ9O1xuICByZWFkb25seSBmaWVsZHM/OiBSZWFkb25seUFycmF5PHN0cmluZz47IC8vIFNlbGVjdCBzcGVjaWZpYyBmaWVsZHNcbiAgcmVhZG9ubHkgaW5jbHVkZUVkZ2VzPzogUmVhZG9ubHlBcnJheTxzdHJpbmc+OyAvLyBJbmNsdWRlIHJlbGF0ZWQgZG9jdW1lbnRzIHZpYSBlZGdlc1xuICByZWFkb25seSBwcml2YWN5PzogYm9vbGVhbjsgLy8gQXBwbHkgcHJpdmFjeSBjaGVja3MgKGRlZmF1bHQ6IHRydWUpXG4gIHJlYWRvbmx5IG93bmVyc2hpcD86IGJvb2xlYW47IC8vIEFwcGx5IG93bmVyc2hpcCBjaGVja3MgKGRlZmF1bHQ6IGZhbHNlKVxuICByZWFkb25seSBjdXN0b21RdWVyaWVzPzogUmVhZG9ubHlBcnJheTxzdHJpbmc+OyAvLyBBZGRpdGlvbmFsIGN1c3RvbSBxdWVyeSBzdHJpbmdzXG4gIHJlYWRvbmx5IGN1c3RvbU9iamVjdHM/OiBSZWFkb25seUFycmF5PHN0cmluZz47IC8vIEFkZGl0aW9uYWwgY3VzdG9tIG9iamVjdCBzZWxlY3Rpb25zXG59PjtcblxuLyoqXG4gKiBCdWlsZCBmaWx0ZXIgY2xhdXNlIGZyb20gZmlsdGVycyBvYmplY3Qgb3IgRmlsdGVyR3JvdXBcbiAqL1xuY29uc3QgYnVpbGRGaWx0ZXJzID0gKFxuICBmaWx0ZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgRmlsdGVyR3JvdXAsXG4gIHZhck5hbWU6IHN0cmluZyA9ICdkb2MnXG4pOiBzdHJpbmcgPT4ge1xuICAvLyBJZiBpdCdzIGEgRmlsdGVyR3JvdXAgd2l0aCBsb2dpYyBhbmQgY29uZGl0aW9uc1xuICBpZignbG9naWMnIGluIGZpbHRlcnMgJiYgJ2NvbmRpdGlvbnMnIGluIGZpbHRlcnMpIHtcbiAgICByZXR1cm4gYnVpbGRGaWx0ZXJDbGF1c2UoZmlsdGVycyBhcyBGaWx0ZXJHcm91cCwgdmFyTmFtZSk7XG4gIH1cblxuICAvLyBTaW1wbGUgb2JqZWN0IGZpbHRlcnNcbiAgY29uc3Qgc2ltcGxlRmlsdGVycyA9IGZpbHRlcnMgYXMgUmVjb3JkPHN0cmluZywgYW55PjtcbiAgY29uc3QgY29uZGl0aW9uczogc3RyaW5nW10gPSBbXTtcblxuICBmb3IoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHNpbXBsZUZpbHRlcnMpKSB7XG4gICAgaWYodmFsdWUgPT09IG51bGwpIHtcbiAgICAgIGNvbmRpdGlvbnMucHVzaChgJHt2YXJOYW1lfS4ke2tleX0gPT0gbnVsbGApO1xuICAgIH0gZWxzZSBpZih0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25kaXRpb25zLnB1c2goYCR7dmFyTmFtZX0uJHtrZXl9ID09IFwiJHt2YWx1ZX1cImApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25kaXRpb25zLnB1c2goYCR7dmFyTmFtZX0uJHtrZXl9ID09ICR7SlNPTi5zdHJpbmdpZnkodmFsdWUpfWApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb25kaXRpb25zLmpvaW4oJyAmJiAnKTtcbn07XG5cbi8qKlxuICogQnVpbGQgc29ydCBjbGF1c2VcbiAqL1xuY29uc3QgYnVpbGRTb3J0ID0gKFxuICBzb3J0OiBSZWFkb25seUFycmF5PHtyZWFkb25seSBmaWVsZDogc3RyaW5nOyByZWFkb25seSBkaXJlY3Rpb246ICdBU0MnIHwgJ0RFU0MnfT4sXG4gIHZhck5hbWU6IHN0cmluZyA9ICdkb2MnXG4pOiBzdHJpbmcgPT4ge1xuICBpZighc29ydCB8fCBzb3J0Lmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGNvbnN0IHNvcnRQYXJ0cyA9IHNvcnQubWFwKCh7ZmllbGQsIGRpcmVjdGlvbn0pID0+IGAke3Zhck5hbWV9LiR7ZmllbGR9ICR7ZGlyZWN0aW9ufWApO1xuICByZXR1cm4gYFNPUlQgJHtzb3J0UGFydHMuam9pbignLCAnKX1gO1xufTtcblxuLyoqXG4gKiBCdWlsZCBsaW1pdCBjbGF1c2VcbiAqL1xuY29uc3QgYnVpbGRMaW1pdCA9IChsaW1pdD86IHtyZWFkb25seSBmcm9tOiBudW1iZXI7IHJlYWRvbmx5IHRvOiBudW1iZXJ9KTogc3RyaW5nID0+IHtcbiAgaWYoIWxpbWl0KSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgY29uc3Qge2Zyb20sIHRvfSA9IGxpbWl0O1xuICBjb25zdCBjb3VudCA9IHRvIC0gZnJvbTtcbiAgcmV0dXJuIGBMSU1JVCAke2Zyb219LCAke2NvdW50fWA7XG59O1xuXG4vKipcbiAqIEFwcGx5IHByaXZhY3kgZmlsdGVyIGlmIGNvbGxlY3Rpb24gaGFzIHByaXZhY3lcbiAqL1xuY29uc3QgYXBwbHlQcml2YWN5RmlsdGVyID0gKFxuICBjb2xsZWN0aW9uOiBzdHJpbmcsXG4gIHNlc3Npb25JZDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICB2YXJOYW1lOiBzdHJpbmcgPSAnZG9jJ1xuKTogc3RyaW5nID0+IHtcbiAgY29uc3QgY29uZmlnID0gcmVnaXN0cnkuZ2V0KGNvbGxlY3Rpb24pO1xuXG4gIGlmKCFjb25maWcgfHwgIWNvbmZpZy5oYXNQcml2YWN5KSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgLy8gSWYgbm8gc2Vzc2lvbiwgb25seSByZXR1cm4gcHVibGljIGl0ZW1zXG4gIGlmKCFzZXNzaW9uSWQpIHtcbiAgICByZXR1cm4gYCR7dmFyTmFtZX0ucHJpdmFjeSA9PSBcInB1YmxpY1wiYDtcbiAgfVxuXG4gIC8vIFJldHVybiBpdGVtcyB0aGF0IGFyZSBwdWJsaWMgT1Igb3duZWQgYnkgdGhlIHVzZXJcbiAgcmV0dXJuIGAoJHt2YXJOYW1lfS5wcml2YWN5ID09IFwicHVibGljXCIgfHwgJHt2YXJOYW1lfS51c2VySWQgPT0gXCIke3Nlc3Npb25JZH1cIilgO1xufTtcblxuLyoqXG4gKiBBcHBseSBvd25lcnNoaXAgZmlsdGVyXG4gKi9cbmNvbnN0IGFwcGx5T3duZXJzaGlwRmlsdGVyID0gKFxuICBzZXNzaW9uSWQ6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgdmFyTmFtZTogc3RyaW5nID0gJ2RvYydcbik6IHN0cmluZyA9PiB7XG4gIGlmKCFzZXNzaW9uSWQpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICByZXR1cm4gYCR7dmFyTmFtZX0udXNlcklkID09IFwiJHtzZXNzaW9uSWR9XCJgO1xufTtcblxuLyoqXG4gKiBHZXQgYSBzaW5nbGUgaXRlbSBmcm9tIGFueSBjb2xsZWN0aW9uIGJ5IGZpbHRlcnNcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEl0ZW1CeSA9IGFzeW5jIDxUID0gYW55PihcbiAgY29udGV4dDogQXBpQ29udGV4dCxcbiAgY29sbGVjdGlvbjogc3RyaW5nLFxuICBmaWx0ZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgRmlsdGVyR3JvdXAsXG4gIG9wdGlvbnM6IENydWRPcHRpb25zID0ge31cbik6IFByb21pc2U8VCB8IG51bGw+ID0+IHtcbiAgY29uc3QgYWN0aW9uID0gJ2dldEl0ZW1CeSc7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWUsIHNlc3Npb246IHt1c2VySWQ6IHNlc3Npb25JZH0gPSB7fX0gPSBjb250ZXh0O1xuICBjb25zdCB7cHJpdmFjeSA9IGZhbHNlLCBvd25lcnNoaXAgPSBmYWxzZSwgY3VzdG9tUXVlcmllcyA9IFtdLCBjdXN0b21PYmplY3RzID0gW119ID0gb3B0aW9ucztcblxuICB0cnkge1xuICAgIGNvbnN0IGRhdGFiYXNlID0gdXNlRGIoZGF0YWJhc2VOYW1lKTtcbiAgICBjb25zdCBmaWx0ZXJDbGF1c2UgPSBidWlsZEZpbHRlcnMoZmlsdGVycywgJ2RvYycpO1xuICAgIGNvbnN0IGNvbmRpdGlvbnM6IHN0cmluZ1tdID0gW107XG5cbiAgICBpZihmaWx0ZXJDbGF1c2UpIHtcbiAgICAgIGNvbmRpdGlvbnMucHVzaChmaWx0ZXJDbGF1c2UpO1xuICAgIH1cblxuICAgIGlmKHByaXZhY3kpIHtcbiAgICAgIGNvbnN0IHByaXZhY3lGaWx0ZXIgPSBhcHBseVByaXZhY3lGaWx0ZXIoY29sbGVjdGlvbiwgc2Vzc2lvbklkLCAnZG9jJyk7XG4gICAgICBpZihwcml2YWN5RmlsdGVyKSB7XG4gICAgICAgIGNvbmRpdGlvbnMucHVzaChwcml2YWN5RmlsdGVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZihvd25lcnNoaXApIHtcbiAgICAgIGNvbnN0IG93bmVyc2hpcEZpbHRlciA9IGFwcGx5T3duZXJzaGlwRmlsdGVyKHNlc3Npb25JZCwgJ2RvYycpO1xuICAgICAgaWYob3duZXJzaGlwRmlsdGVyKSB7XG4gICAgICAgIGNvbmRpdGlvbnMucHVzaChvd25lcnNoaXBGaWx0ZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGNvbGxlY3Rpb25MaXRlcmFsID0gbGl0ZXJhbChjb2xsZWN0aW9uKTtcbiAgICBjb25zdCB3aGVyZUNsYXVzZSA9IGNvbmRpdGlvbnMubGVuZ3RoID4gMCA/IGxpdGVyYWwoYEZJTFRFUiAke2NvbmRpdGlvbnMuam9pbignICYmICcpfWApIDogbGl0ZXJhbCgnJyk7XG4gICAgY29uc3QgY3VzdG9tUXVlcmllc0xpdGVyYWwgPSBjdXN0b21RdWVyaWVzLmxlbmd0aCA+IDAgPyBsaXRlcmFsKGN1c3RvbVF1ZXJpZXMuam9pbignXFxuJykpIDogbGl0ZXJhbCgnJyk7XG4gICAgY29uc3QgcmV0dXJuVmFsdWUgPSBjdXN0b21PYmplY3RzLmxlbmd0aCA+IDBcbiAgICAgID8gbGl0ZXJhbChgTUVSR0UoZG9jLCB7JHtjdXN0b21PYmplY3RzLmpvaW4oJywgJyl9fSlgKVxuICAgICAgOiBsaXRlcmFsKCdkb2MnKTtcblxuICAgIGNvbnN0IGFxbFF1ZXJ5OiBBcWxRdWVyeSA9IGFxbGBcbiAgICAgIEZPUiBkb2MgSU4gJHtjb2xsZWN0aW9uTGl0ZXJhbH1cbiAgICAgICAgJHt3aGVyZUNsYXVzZX1cbiAgICAgICAgJHtjdXN0b21RdWVyaWVzTGl0ZXJhbH1cbiAgICAgICAgTElNSVQgMVxuICAgICAgICBSRVRVUk4gJHtyZXR1cm5WYWx1ZX1cbiAgICBgO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZGF0YWJhc2UucXVlcnkoYXFsUXVlcnkpO1xuICAgIGNvbnN0IGl0ZW0gPSBhd2FpdCByZXN1bHQubmV4dCgpO1xuXG4gICAgcmV0dXJuIGl0ZW0gfHwgbnVsbDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHRocm93IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1IsXG4gICAgICBwYXJhbXM6IHtjb2xsZWN0aW9uLCBmaWx0ZXJzfVxuICAgIH0sIGVycm9yIGFzIEVycm9yLCBjb250ZXh0KTtcbiAgfVxufTtcblxuLyoqXG4gKiBHZXQgbXVsdGlwbGUgaXRlbXMgZnJvbSBhbnkgY29sbGVjdGlvbiBieSBmaWx0ZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRMaXN0QnkgPSBhc3luYyA8VCA9IGFueT4oXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIGNvbGxlY3Rpb246IHN0cmluZyxcbiAgZmlsdGVyczogUmVjb3JkPHN0cmluZywgYW55PiB8IEZpbHRlckdyb3VwID0ge30sXG4gIG9wdGlvbnM6IENydWRPcHRpb25zID0ge31cbik6IFByb21pc2U8VFtdPiA9PiB7XG4gIGNvbnN0IGFjdGlvbiA9ICdnZXRMaXN0QnknO1xuICBjb25zdCB7ZGF0YWJhc2VOYW1lLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9ID0ge319ID0gY29udGV4dDtcbiAgY29uc3Qge1xuICAgIHByaXZhY3kgPSBmYWxzZSxcbiAgICBvd25lcnNoaXAgPSBmYWxzZSxcbiAgICBzb3J0LFxuICAgIGxpbWl0LFxuICAgIGN1c3RvbVF1ZXJpZXMgPSBbXSxcbiAgICBjdXN0b21PYmplY3RzID0gW11cbiAgfSA9IG9wdGlvbnM7XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBkYXRhYmFzZSA9IHVzZURiKGRhdGFiYXNlTmFtZSk7XG4gICAgY29uc3QgZmlsdGVyQ2xhdXNlID0gYnVpbGRGaWx0ZXJzKGZpbHRlcnMsICdkb2MnKTtcbiAgICBjb25zdCBjb25kaXRpb25zOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgaWYoZmlsdGVyQ2xhdXNlKSB7XG4gICAgICBjb25kaXRpb25zLnB1c2goZmlsdGVyQ2xhdXNlKTtcbiAgICB9XG5cbiAgICBpZihwcml2YWN5KSB7XG4gICAgICBjb25zdCBwcml2YWN5RmlsdGVyID0gYXBwbHlQcml2YWN5RmlsdGVyKGNvbGxlY3Rpb24sIHNlc3Npb25JZCwgJ2RvYycpO1xuICAgICAgaWYocHJpdmFjeUZpbHRlcikge1xuICAgICAgICBjb25kaXRpb25zLnB1c2gocHJpdmFjeUZpbHRlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYob3duZXJzaGlwKSB7XG4gICAgICBjb25zdCBvd25lcnNoaXBGaWx0ZXIgPSBhcHBseU93bmVyc2hpcEZpbHRlcihzZXNzaW9uSWQsICdkb2MnKTtcbiAgICAgIGlmKG93bmVyc2hpcEZpbHRlcikge1xuICAgICAgICBjb25kaXRpb25zLnB1c2gob3duZXJzaGlwRmlsdGVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBjb2xsZWN0aW9uTGl0ZXJhbCA9IGxpdGVyYWwoY29sbGVjdGlvbik7XG4gICAgY29uc3Qgd2hlcmVDbGF1c2UgPSBjb25kaXRpb25zLmxlbmd0aCA+IDAgPyBsaXRlcmFsKGBGSUxURVIgJHtjb25kaXRpb25zLmpvaW4oJyAmJiAnKX1gKSA6IGxpdGVyYWwoJycpO1xuICAgIGNvbnN0IHNvcnRDbGF1c2UgPSBzb3J0ID8gbGl0ZXJhbChidWlsZFNvcnQoc29ydCwgJ2RvYycpKSA6IGxpdGVyYWwoJycpO1xuICAgIGNvbnN0IGxpbWl0Q2xhdXNlID0gbGltaXQgPyBsaXRlcmFsKGJ1aWxkTGltaXQobGltaXQpKSA6IGxpdGVyYWwoJycpO1xuICAgIGNvbnN0IGN1c3RvbVF1ZXJpZXNMaXRlcmFsID0gY3VzdG9tUXVlcmllcy5sZW5ndGggPiAwID8gbGl0ZXJhbChjdXN0b21RdWVyaWVzLmpvaW4oJ1xcbicpKSA6IGxpdGVyYWwoJycpO1xuICAgIGNvbnN0IHJldHVyblZhbHVlID0gY3VzdG9tT2JqZWN0cy5sZW5ndGggPiAwXG4gICAgICA/IGxpdGVyYWwoYE1FUkdFKGRvYywgeyR7Y3VzdG9tT2JqZWN0cy5qb2luKCcsICcpfX0pYClcbiAgICAgIDogbGl0ZXJhbCgnZG9jJyk7XG5cbiAgICBjb25zdCBhcWxRdWVyeTogQXFsUXVlcnkgPSBhcWxgXG4gICAgICBGT1IgZG9jIElOICR7Y29sbGVjdGlvbkxpdGVyYWx9XG4gICAgICAgICR7d2hlcmVDbGF1c2V9XG4gICAgICAgICR7Y3VzdG9tUXVlcmllc0xpdGVyYWx9XG4gICAgICAgICR7c29ydENsYXVzZX1cbiAgICAgICAgJHtsaW1pdENsYXVzZX1cbiAgICAgICAgUkVUVVJOICR7cmV0dXJuVmFsdWV9XG4gICAgYDtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGRhdGFiYXNlLnF1ZXJ5KGFxbFF1ZXJ5KTtcbiAgICByZXR1cm4gYXdhaXQgcmVzdWx0LmFsbCgpIGFzIFRbXTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHRocm93IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1IsXG4gICAgICBwYXJhbXM6IHtjb2xsZWN0aW9uLCBmaWx0ZXJzfVxuICAgIH0sIGVycm9yIGFzIEVycm9yLCBjb250ZXh0KTtcbiAgfVxufTtcblxuLyoqXG4gKiBBZGQgYSBuZXcgaXRlbSB0byBhbnkgY29sbGVjdGlvblxuICovXG5leHBvcnQgY29uc3QgYWRkSXRlbSA9IGFzeW5jIDxUID0gYW55PihcbiAgY29udGV4dDogQXBpQ29udGV4dCxcbiAgY29sbGVjdGlvbjogc3RyaW5nLFxuICBkYXRhOiBQYXJ0aWFsPFQ+LFxuICBvcHRpb25zOiB7cmVhZG9ubHkgaG9va3M/OiBib29sZWFufSA9IHt9XG4pOiBQcm9taXNlPFQ+ID0+IHtcbiAgY29uc3QgYWN0aW9uID0gJ2FkZEl0ZW0nO1xuICBjb25zdCB7ZGF0YWJhc2VOYW1lfSA9IGNvbnRleHQ7XG4gIGNvbnN0IHtob29rcyA9IGZhbHNlfSA9IG9wdGlvbnM7XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBjb25maWcgPSByZWdpc3RyeS5nZXQoY29sbGVjdGlvbik7XG4gICAgbGV0IGluc2VydERhdGE6IGFueSA9IHsuLi5kYXRhfTtcblxuICAgIC8vIEFwcGx5IHBhcnNlIGFkYXB0ZXIgaWYgYXZhaWxhYmxlXG4gICAgaWYoY29uZmlnPy5hZGFwdGVycz8ucGFyc2UpIHtcbiAgICAgIGluc2VydERhdGEgPSBjb25maWcuYWRhcHRlcnMucGFyc2UoaW5zZXJ0RGF0YSk7XG4gICAgfVxuXG4gICAgLy8gQ2FsbCBiZWZvcmVJbnNlcnQgaG9va1xuICAgIGlmKGhvb2tzICYmIGNvbmZpZz8uaG9va3M/LmJlZm9yZUluc2VydCkge1xuICAgICAgaW5zZXJ0RGF0YSA9IGF3YWl0IGNvbmZpZy5ob29rcy5iZWZvcmVJbnNlcnQoY29udGV4dCwgaW5zZXJ0RGF0YSk7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRpbWVzdGFtcHMgKHR5cGUtc2FmZSBhcHByb2FjaClcbiAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgIGlmKGNvbmZpZz8udGltZXN0YW1wcz8uY3JlYXRlZCkge1xuICAgICAgaW5zZXJ0RGF0YSA9IHsuLi5pbnNlcnREYXRhLCBbY29uZmlnLnRpbWVzdGFtcHMuY3JlYXRlZF06IG5vd307XG4gICAgfVxuICAgIGlmKGNvbmZpZz8udGltZXN0YW1wcz8udXBkYXRlZCkge1xuICAgICAgaW5zZXJ0RGF0YSA9IHsuLi5pbnNlcnREYXRhLCBbY29uZmlnLnRpbWVzdGFtcHMudXBkYXRlZF06IG5vd307XG4gICAgfVxuXG4gICAgY29uc3QgZGF0YWJhc2UgPSB1c2VEYihkYXRhYmFzZU5hbWUpO1xuICAgIGNvbnN0IGNvbGxlY3Rpb25SZWYgPSBkYXRhYmFzZS5jb2xsZWN0aW9uKGNvbGxlY3Rpb24pO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNvbGxlY3Rpb25SZWYuc2F2ZShpbnNlcnREYXRhIGFzIGFueSwge3JldHVybk5ldzogdHJ1ZX0pO1xuICAgIGxldCBpdGVtID0gcmVzdWx0Lm5ldyBhcyBUO1xuXG4gICAgLy8gQ2FsbCBhZnRlckluc2VydCBob29rXG4gICAgaWYoaG9va3MgJiYgY29uZmlnPy5ob29rcz8uYWZ0ZXJJbnNlcnQpIHtcbiAgICAgIGl0ZW0gPSBhd2FpdCBjb25maWcuaG9va3MuYWZ0ZXJJbnNlcnQoY29udGV4dCwgaXRlbSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGl0ZW07XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICB0aHJvdyBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SLFxuICAgICAgcGFyYW1zOiB7Y29sbGVjdGlvbn1cbiAgICB9LCBlcnJvciBhcyBFcnJvciwgY29udGV4dCk7XG4gIH1cbn07XG5cbi8qKlxuICogVXBkYXRlIGFuIGl0ZW0gaW4gYW55IGNvbGxlY3Rpb25cbiAqL1xuZXhwb3J0IGNvbnN0IHVwZGF0ZUl0ZW0gPSBhc3luYyA8VCA9IGFueT4oXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIGNvbGxlY3Rpb246IHN0cmluZyxcbiAgaWQ6IHN0cmluZyxcbiAgdXBkYXRlczogUGFydGlhbDxUPixcbiAgb3B0aW9uczoge3JlYWRvbmx5IGhvb2tzPzogYm9vbGVhbjsgcmVhZG9ubHkgb3duZXJzaGlwPzogYm9vbGVhbn0gPSB7fVxuKTogUHJvbWlzZTxUPiA9PiB7XG4gIGNvbnN0IGFjdGlvbiA9ICd1cGRhdGVJdGVtJztcbiAgY29uc3Qge2RhdGFiYXNlTmFtZSwgc2Vzc2lvbjoge3VzZXJJZDogc2Vzc2lvbklkfSA9IHt9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IHtob29rcyA9IGZhbHNlLCBvd25lcnNoaXAgPSBmYWxzZX0gPSBvcHRpb25zO1xuXG4gIGlmKGNvbGxlY3Rpb24gPT09ICd1c2VycycpIHtcbiAgICBjb25zdCBtYW5hZ2VkID0gYXdhaXQgb3JnYW5pemF0aW9uQWNjb3VudE11dGF0aW9uKGNvbnRleHQsIGlkLCAndXBkYXRlJywgdXBkYXRlcyBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik7XG4gICAgaWYobWFuYWdlZCkge1xuICAgICAgcmV0dXJuIG1hbmFnZWQgYXMgVDtcbiAgICB9XG4gIH1cblxuICB0cnkge1xuICAgIGNvbnN0IGNvbmZpZyA9IHJlZ2lzdHJ5LmdldChjb2xsZWN0aW9uKTtcbiAgICBsZXQgdXBkYXRlRGF0YTogYW55ID0gey4uLnVwZGF0ZXN9O1xuXG4gICAgLy8gQXBwbHkgcGFyc2UgYWRhcHRlciBpZiBhdmFpbGFibGVcbiAgICBpZihjb25maWc/LmFkYXB0ZXJzPy5wYXJzZSkge1xuICAgICAgdXBkYXRlRGF0YSA9IGNvbmZpZy5hZGFwdGVycy5wYXJzZSh1cGRhdGVEYXRhKTtcbiAgICB9XG5cbiAgICAvLyBDYWxsIGJlZm9yZVVwZGF0ZSBob29rXG4gICAgaWYoaG9va3MgJiYgY29uZmlnPy5ob29rcz8uYmVmb3JlVXBkYXRlKSB7XG4gICAgICB1cGRhdGVEYXRhID0gYXdhaXQgY29uZmlnLmhvb2tzLmJlZm9yZVVwZGF0ZShjb250ZXh0LCBpZCwgdXBkYXRlRGF0YSk7XG4gICAgfVxuXG4gICAgLy8gQWRkIHVwZGF0ZWQgdGltZXN0YW1wICh0eXBlLXNhZmUgYXBwcm9hY2gpXG4gICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgICBpZihjb25maWc/LnRpbWVzdGFtcHM/LnVwZGF0ZWQpIHtcbiAgICAgIHVwZGF0ZURhdGEgPSB7Li4udXBkYXRlRGF0YSwgW2NvbmZpZy50aW1lc3RhbXBzLnVwZGF0ZWRdOiBub3d9O1xuICAgIH1cblxuICAgIGNvbnN0IGRhdGFiYXNlID0gdXNlRGIoZGF0YWJhc2VOYW1lKTtcbiAgICBjb25zdCBkb2NJZCA9IGlkLmluY2x1ZGVzKCcvJykgPyBpZCA6IGAke2NvbGxlY3Rpb259LyR7aWR9YDtcblxuICAgIC8vIEJ1aWxkIHF1ZXJ5IHdpdGggb3duZXJzaGlwIGNoZWNrIGlmIG5lZWRlZFxuICAgIGxldCBhcWxRdWVyeTogQXFsUXVlcnk7XG4gICAgY29uc3QgY29sbGVjdGlvbkxpdGVyYWwgPSBsaXRlcmFsKGNvbGxlY3Rpb24pO1xuICAgIGNvbnN0IGFjY291bnRHdWFyZCA9IG9yZ2FuaXphdGlvbkFjY291bnRXcml0ZUd1YXJkKGNvbnRleHQsIGNvbGxlY3Rpb24pO1xuICAgIGlmKG93bmVyc2hpcCAmJiBzZXNzaW9uSWQpIHtcbiAgICAgIGFxbFF1ZXJ5ID0gYXFsYEZPUiBkb2MgSU4gJHtjb2xsZWN0aW9uTGl0ZXJhbH1cbiAgICAgICAgRklMVEVSIGRvYy5faWQgPT0gJHtkb2NJZH0gJiYgZG9jLnVzZXJJZCA9PSAke3Nlc3Npb25JZH1cbiAgICAgICAgRklMVEVSICR7YWNjb3VudEd1YXJkfVxuICAgICAgICBMSU1JVCAxXG4gICAgICAgIFVQREFURSBkb2MgV0lUSCAke3VwZGF0ZURhdGF9IElOICR7Y29sbGVjdGlvbkxpdGVyYWx9XG4gICAgICAgIFJFVFVSTiBORVdgO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcWxRdWVyeSA9IGFxbGBGT1IgZG9jIElOICR7Y29sbGVjdGlvbkxpdGVyYWx9XG4gICAgICAgIEZJTFRFUiBkb2MuX2lkID09ICR7ZG9jSWR9XG4gICAgICAgIEZJTFRFUiAke2FjY291bnRHdWFyZH1cbiAgICAgICAgTElNSVQgMVxuICAgICAgICBVUERBVEUgZG9jIFdJVEggJHt1cGRhdGVEYXRhfSBJTiAke2NvbGxlY3Rpb25MaXRlcmFsfVxuICAgICAgICBSRVRVUk4gTkVXYDtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBkYXRhYmFzZS5xdWVyeShhcWxRdWVyeSk7XG4gICAgbGV0IGl0ZW0gPSBhd2FpdCByZXN1bHQubmV4dCgpO1xuXG4gICAgLy8gQ2FsbCBhZnRlclVwZGF0ZSBob29rXG4gICAgaWYoaG9va3MgJiYgY29uZmlnPy5ob29rcz8uYWZ0ZXJVcGRhdGUpIHtcbiAgICAgIGl0ZW0gPSBhd2FpdCBjb25maWcuaG9va3MuYWZ0ZXJVcGRhdGUoY29udGV4dCwgaXRlbSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGl0ZW07XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICB0aHJvdyBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SLFxuICAgICAgcGFyYW1zOiB7Y29sbGVjdGlvbiwgaWR9XG4gICAgfSwgZXJyb3IgYXMgRXJyb3IsIGNvbnRleHQpO1xuICB9XG59O1xuXG4vKipcbiAqIERlbGV0ZSBhbiBpdGVtIGZyb20gYW55IGNvbGxlY3Rpb25cbiAqL1xuZXhwb3J0IGNvbnN0IGRlbGV0ZUl0ZW0gPSBhc3luYyA8VCA9IGFueT4oXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIGNvbGxlY3Rpb246IHN0cmluZyxcbiAgaWQ6IHN0cmluZyxcbiAgb3B0aW9uczoge1xuICAgIHJlYWRvbmx5IHNvZnQ/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5IGNhc2NhZGU/OiBSZWFkb25seUFycmF5PHN0cmluZz47XG4gICAgcmVhZG9ubHkgb3duZXJzaGlwPzogYm9vbGVhbjtcbiAgfSA9IHt9XG4pOiBQcm9taXNlPFQgfCBudWxsPiA9PiB7XG4gIGNvbnN0IGFjdGlvbiA9ICdkZWxldGVJdGVtJztcbiAgY29uc3Qge2RhdGFiYXNlTmFtZSwgc2Vzc2lvbjoge3VzZXJJZDogc2Vzc2lvbklkfSA9IHt9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IHtzb2Z0ID0gZmFsc2UsIGNhc2NhZGUgPSBbXSwgb3duZXJzaGlwID0gZmFsc2V9ID0gb3B0aW9ucztcblxuICBpZihjb2xsZWN0aW9uID09PSAndXNlcnMnKSB7XG4gICAgY29uc3QgbWFuYWdlZCA9IGF3YWl0IG9yZ2FuaXphdGlvbkFjY291bnRNdXRhdGlvbihjb250ZXh0LCBpZCwgc29mdCA/ICdkZWFjdGl2YXRlJyA6ICdkZWxldGUnLCB7fSk7XG4gICAgaWYobWFuYWdlZCkge1xuICAgICAgcmV0dXJuIG1hbmFnZWQgYXMgVDtcbiAgICB9XG4gIH1cblxuICB0cnkge1xuICAgIGNvbnN0IGNvbmZpZyA9IHJlZ2lzdHJ5LmdldChjb2xsZWN0aW9uKTtcbiAgICBjb25zdCBkYXRhYmFzZSA9IHVzZURiKGRhdGFiYXNlTmFtZSk7XG4gICAgY29uc3QgZG9jSWQgPSBpZC5pbmNsdWRlcygnLycpID8gaWQgOiBgJHtjb2xsZWN0aW9ufS8ke2lkfWA7XG4gICAgY29uc3QgZG9jS2V5ID0gaWQuaW5jbHVkZXMoJy8nKSA/IGlkLnNwbGl0KCcvJykucG9wKCkgfHwgJycgOiBpZDtcbiAgICBsZXQgZGVsZXRlZEl0ZW06IFQgfCBudWxsID0gbnVsbDtcblxuICAgIC8vIENhbGwgYmVmb3JlRGVsZXRlIGhvb2tcbiAgICBpZihjb25maWc/Lmhvb2tzPy5iZWZvcmVEZWxldGUpIHtcbiAgICAgIGF3YWl0IGNvbmZpZy5ob29rcy5iZWZvcmVEZWxldGUoY29udGV4dCwgZG9jSWQpO1xuICAgIH1cblxuICAgIC8vIFNvZnQgZGVsZXRlXG4gICAgaWYoc29mdCkge1xuICAgICAgY29uc3QgdXBkYXRlID0ge2RlbGV0ZWQ6IHRydWUsIGRlbGV0ZWRBdDogRGF0ZS5ub3coKX07XG4gICAgICBjb25zdCBjb2xsZWN0aW9uTGl0ZXJhbCA9IGxpdGVyYWwoY29sbGVjdGlvbik7XG4gICAgICBjb25zdCBhcWxRdWVyeTogQXFsUXVlcnkgPSBhcWxgRk9SIGRvYyBJTiAke2NvbGxlY3Rpb25MaXRlcmFsfVxuICAgICAgICBGSUxURVIgZG9jLl9pZCA9PSAke2RvY0lkfVxuICAgICAgICBGSUxURVIgJHtvcmdhbml6YXRpb25BY2NvdW50V3JpdGVHdWFyZChjb250ZXh0LCBjb2xsZWN0aW9uKX1cbiAgICAgICAgTElNSVQgMVxuICAgICAgICBVUERBVEUgZG9jIFdJVEggJHt1cGRhdGV9IElOICR7Y29sbGVjdGlvbkxpdGVyYWx9XG4gICAgICAgIFJFVFVSTiBORVdgO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZGF0YWJhc2UucXVlcnkoYXFsUXVlcnkpO1xuICAgICAgZGVsZXRlZEl0ZW0gPSBhd2FpdCByZXN1bHQubmV4dCgpIGFzIFQgfCBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBIYXJkIGRlbGV0ZSB3aXRoIGNhc2NhZGVcbiAgICAgIGNvbnN0IGVkZ2VzVG9DYXNjYWRlID0gY2FzY2FkZS5sZW5ndGggPiAwID8gY2FzY2FkZSA6IChjb25maWc/LmNhc2NhZGVFZGdlcyB8fCBbXSk7XG5cbiAgICAgIC8vIERlbGV0ZSB0aGUgZG9jdW1lbnRcbiAgICAgIGlmKG93bmVyc2hpcCAmJiBzZXNzaW9uSWQpIHtcbiAgICAgICAgY29uc3QgYXFsUXVlcnk6IEFxbFF1ZXJ5ID0gYXFsYFxuICAgICAgICAgIEZPUiBkb2MgSU4gJHtsaXRlcmFsKGNvbGxlY3Rpb24pfVxuICAgICAgICAgICAgRklMVEVSIGRvYy5faWQgPT0gJHtkb2NJZH0gJiYgZG9jLnVzZXJJZCA9PSAke3Nlc3Npb25JZH1cbiAgICAgICAgICAgIEZJTFRFUiAke29yZ2FuaXphdGlvbkFjY291bnRXcml0ZUd1YXJkKGNvbnRleHQsIGNvbGxlY3Rpb24pfVxuICAgICAgICAgICAgUkVNT1ZFIGRvYyBJTiAke2xpdGVyYWwoY29sbGVjdGlvbil9XG4gICAgICAgICAgICBSRVRVUk4gT0xEXG4gICAgICAgIGA7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGRhdGFiYXNlLnF1ZXJ5KGFxbFF1ZXJ5KTtcbiAgICAgICAgZGVsZXRlZEl0ZW0gPSBhd2FpdCByZXN1bHQubmV4dCgpIGFzIFQgfCBudWxsO1xuICAgICAgfSBlbHNlIGlmKGNvbGxlY3Rpb24gPT09ICd1c2VycycgJiYgZGF0YWJhc2VOYW1lID09PSBwcm9jZXNzLmVudi5BUkFOR09EQl9EQVRBQkFTRSkge1xuICAgICAgICBjb25zdCBhcWxRdWVyeTogQXFsUXVlcnkgPSBhcWxgRk9SIGRvYyBJTiB1c2Vyc1xuICAgICAgICAgIEZJTFRFUiBkb2MuX2tleSA9PSAke2RvY0tleX1cbiAgICAgICAgICBGSUxURVIgJHtvcmdhbml6YXRpb25BY2NvdW50V3JpdGVHdWFyZChjb250ZXh0LCBjb2xsZWN0aW9uKX1cbiAgICAgICAgICBSRU1PVkUgZG9jIElOIHVzZXJzIFJFVFVSTiBPTERgO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBkYXRhYmFzZS5xdWVyeShhcWxRdWVyeSk7XG4gICAgICAgIGRlbGV0ZWRJdGVtID0gYXdhaXQgcmVzdWx0Lm5leHQoKSBhcyBUIHwgbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGFxbFF1ZXJ5OiBBcWxRdWVyeSA9IGFxbGBSRU1PVkUgJHtkb2NLZXl9IElOICR7bGl0ZXJhbChjb2xsZWN0aW9uKX0gUkVUVVJOIE9MRGA7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGRhdGFiYXNlLnF1ZXJ5KGFxbFF1ZXJ5KTtcbiAgICAgICAgZGVsZXRlZEl0ZW0gPSBhd2FpdCByZXN1bHQubmV4dCgpIGFzIFQgfCBudWxsO1xuICAgICAgfVxuXG4gICAgICAvLyBEZWxldGUgcmVsYXRlZCBlZGdlcyBvbmx5IGFmdGVyIHRoZSBkb2N1bWVudCBkZWxldGUgc3VjY2VlZHMsIHNvIG93bmVyc2hpcCBjaGVja3MgcHJvdGVjdCBjYXNjYWRlcyB0b28uXG4gICAgICBpZihkZWxldGVkSXRlbSkge1xuICAgICAgICBmb3IoY29uc3QgZWRnZVR5cGUgb2YgZWRnZXNUb0Nhc2NhZGUpIHtcbiAgICAgICAgICAvLyBVc2Ugc3RyaW5nIGZvciBlZGdlIGNvbGxlY3Rpb24gbmFtZSAoc2FmZSlcbiAgICAgICAgICBjb25zdCBlZGdlUXVlcnk6IEFxbFF1ZXJ5ID0gYXFsYFxuICAgICAgICAgICAgRk9SIGUgSU4gJHtsaXRlcmFsKGVkZ2VUeXBlKX1cbiAgICAgICAgICAgICAgRklMVEVSIGUuX3RvID09ICR7ZG9jSWR9IHx8IGUuX2Zyb20gPT0gJHtkb2NJZH1cbiAgICAgICAgICAgICAgUkVNT1ZFIGUgSU4gJHtsaXRlcmFsKGVkZ2VUeXBlKX1cbiAgICAgICAgICBgO1xuICAgICAgICAgIGF3YWl0IGRhdGFiYXNlLnF1ZXJ5KGVkZ2VRdWVyeSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDYWxsIGFmdGVyRGVsZXRlIGhvb2tcbiAgICBpZihjb25maWc/Lmhvb2tzPy5hZnRlckRlbGV0ZSkge1xuICAgICAgYXdhaXQgY29uZmlnLmhvb2tzLmFmdGVyRGVsZXRlKGNvbnRleHQsIGRvY0lkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGVsZXRlZEl0ZW07XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICB0aHJvdyBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SLFxuICAgICAgcGFyYW1zOiB7Y29sbGVjdGlvbiwgaWR9XG4gICAgfSwgZXJyb3IgYXMgRXJyb3IsIGNvbnRleHQpO1xuICB9XG59O1xuXG4vKipcbiAqIENvdW50IGl0ZW1zIGluIGFueSBjb2xsZWN0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBjb3VudEl0ZW1zID0gYXN5bmMgKFxuICBjb250ZXh0OiBBcGlDb250ZXh0LFxuICBjb2xsZWN0aW9uOiBzdHJpbmcsXG4gIGZpbHRlcnM6IFJlY29yZDxzdHJpbmcsIGFueT4gfCBGaWx0ZXJHcm91cCA9IHt9XG4pOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICBjb25zdCBhY3Rpb24gPSAnY291bnRJdGVtcyc7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWV9ID0gY29udGV4dDtcblxuICB0cnkge1xuICAgIGNvbnN0IGRhdGFiYXNlID0gdXNlRGIoZGF0YWJhc2VOYW1lKTtcbiAgICBjb25zdCBmaWx0ZXJDbGF1c2UgPSBidWlsZEZpbHRlcnMoZmlsdGVycywgJ2RvYycpO1xuICAgIGNvbnN0IHdoZXJlQ2xhdXNlID0gZmlsdGVyQ2xhdXNlID8gbGl0ZXJhbChgRklMVEVSICR7ZmlsdGVyQ2xhdXNlfWApIDogbGl0ZXJhbCgnJyk7XG5cbiAgICBjb25zdCBhcWxRdWVyeTogQXFsUXVlcnkgPSBhcWxgXG4gICAgICBMRVQgaXRlbXMgPSAoXG4gICAgICAgIEZPUiBkb2MgSU4gJHtsaXRlcmFsKGNvbGxlY3Rpb24pfVxuICAgICAgICAgICR7d2hlcmVDbGF1c2V9XG4gICAgICAgICAgUkVUVVJOIGRvY1xuICAgICAgKVxuICAgICAgUkVUVVJOIExFTkdUSChpdGVtcylcbiAgICBgO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZGF0YWJhc2UucXVlcnkoYXFsUXVlcnkpO1xuICAgIHJldHVybiBhd2FpdCByZXN1bHQubmV4dCgpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgdGhyb3cgbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogRXJyb3JUeXBlcy5EQVRBQkFTRV9FUlJPUixcbiAgICAgIHBhcmFtczoge2NvbGxlY3Rpb24sIGZpbHRlcnN9XG4gICAgfSwgZXJyb3IgYXMgRXJyb3IsIGNvbnRleHQpO1xuICB9XG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGl0ZW0gZXhpc3RzXG4gKi9cbmV4cG9ydCBjb25zdCBpdGVtRXhpc3RzID0gYXN5bmMgKFxuICBjb250ZXh0OiBBcGlDb250ZXh0LFxuICBjb2xsZWN0aW9uOiBzdHJpbmcsXG4gIGZpbHRlcnM6IFJlY29yZDxzdHJpbmcsIGFueT4gfCBGaWx0ZXJHcm91cFxuKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gIGNvbnN0IGNvdW50ID0gYXdhaXQgY291bnRJdGVtcyhjb250ZXh0LCBjb2xsZWN0aW9uLCBmaWx0ZXJzKTtcbiAgcmV0dXJuIGNvdW50ID4gMDtcbn07XG4iXSwibmFtZXMiOlsiYXFsIiwibGl0ZXJhbCIsIm9yZ2FuaXphdGlvbkFjY291bnRNdXRhdGlvbiIsIm9yZ2FuaXphdGlvbkFjY291bnRXcml0ZUd1YXJkIiwiRXJyb3JUeXBlcyIsImxvZ0Vycm9yIiwiYnVpbGRGaWx0ZXJDbGF1c2UiLCJ1c2VEYiIsInJlZ2lzdHJ5IiwiZXZlbnRDYXRlZ29yeSIsImJ1aWxkRmlsdGVycyIsImZpbHRlcnMiLCJ2YXJOYW1lIiwic2ltcGxlRmlsdGVycyIsImNvbmRpdGlvbnMiLCJrZXkiLCJ2YWx1ZSIsIk9iamVjdCIsImVudHJpZXMiLCJwdXNoIiwiSlNPTiIsInN0cmluZ2lmeSIsImpvaW4iLCJidWlsZFNvcnQiLCJzb3J0IiwibGVuZ3RoIiwic29ydFBhcnRzIiwibWFwIiwiZmllbGQiLCJkaXJlY3Rpb24iLCJidWlsZExpbWl0IiwibGltaXQiLCJmcm9tIiwidG8iLCJjb3VudCIsImFwcGx5UHJpdmFjeUZpbHRlciIsImNvbGxlY3Rpb24iLCJzZXNzaW9uSWQiLCJjb25maWciLCJnZXQiLCJoYXNQcml2YWN5IiwiYXBwbHlPd25lcnNoaXBGaWx0ZXIiLCJnZXRJdGVtQnkiLCJjb250ZXh0Iiwib3B0aW9ucyIsImFjdGlvbiIsImRhdGFiYXNlTmFtZSIsInNlc3Npb24iLCJ1c2VySWQiLCJwcml2YWN5Iiwib3duZXJzaGlwIiwiY3VzdG9tUXVlcmllcyIsImN1c3RvbU9iamVjdHMiLCJkYXRhYmFzZSIsImZpbHRlckNsYXVzZSIsInByaXZhY3lGaWx0ZXIiLCJvd25lcnNoaXBGaWx0ZXIiLCJjb2xsZWN0aW9uTGl0ZXJhbCIsIndoZXJlQ2xhdXNlIiwiY3VzdG9tUXVlcmllc0xpdGVyYWwiLCJyZXR1cm5WYWx1ZSIsImFxbFF1ZXJ5IiwicmVzdWx0IiwicXVlcnkiLCJpdGVtIiwibmV4dCIsImVycm9yIiwiY2F0ZWdvcnkiLCJsYWJlbCIsIkRBVEFCQVNFX0VSUk9SIiwicGFyYW1zIiwiZ2V0TGlzdEJ5Iiwic29ydENsYXVzZSIsImxpbWl0Q2xhdXNlIiwiYWxsIiwiYWRkSXRlbSIsImRhdGEiLCJob29rcyIsImluc2VydERhdGEiLCJhZGFwdGVycyIsInBhcnNlIiwiYmVmb3JlSW5zZXJ0Iiwibm93IiwiRGF0ZSIsInRpbWVzdGFtcHMiLCJjcmVhdGVkIiwidXBkYXRlZCIsImNvbGxlY3Rpb25SZWYiLCJzYXZlIiwicmV0dXJuTmV3IiwibmV3IiwiYWZ0ZXJJbnNlcnQiLCJ1cGRhdGVJdGVtIiwiaWQiLCJ1cGRhdGVzIiwibWFuYWdlZCIsInVwZGF0ZURhdGEiLCJiZWZvcmVVcGRhdGUiLCJkb2NJZCIsImluY2x1ZGVzIiwiYWNjb3VudEd1YXJkIiwiYWZ0ZXJVcGRhdGUiLCJkZWxldGVJdGVtIiwic29mdCIsImNhc2NhZGUiLCJkb2NLZXkiLCJzcGxpdCIsInBvcCIsImRlbGV0ZWRJdGVtIiwiYmVmb3JlRGVsZXRlIiwidXBkYXRlIiwiZGVsZXRlZCIsImRlbGV0ZWRBdCIsImVkZ2VzVG9DYXNjYWRlIiwiY2FzY2FkZUVkZ2VzIiwicHJvY2VzcyIsImVudiIsIkFSQU5HT0RCX0RBVEFCQVNFIiwiZWRnZVR5cGUiLCJlZGdlUXVlcnkiLCJhZnRlckRlbGV0ZSIsImNvdW50SXRlbXMiLCJpdGVtRXhpc3RzIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxTQUFRQSxHQUFHLFFBQU8sV0FBVztBQUM3QixTQUFRQyxPQUFPLFFBQU8s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
|
|
@@ -208,4 +208,4 @@ export const verifyDatabaseAccount = async (secret)=>{
|
|
|
208
208
|
}
|
|
209
209
|
};
|
|
210
210
|
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3IvcGFja2FnZXMvcmVha3Rvci9zcmMvYWN0aW9ucy9kYXRhYmFzZUFjY291bnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGF0YWJhc2V9IGZyb20gJ2FyYW5nb2pzJztcblxuaW1wb3J0IHt1c2VEYn0gZnJvbSAnLi4vdXRpbHMvYXJhbmdvZGJVdGlscy5qcyc7XG5pbXBvcnQge2dldERhdGFiYXNlQ3JlZGVudGlhbElkZW50aXR5LCBwYXJzZURhdGFiYXNlQ3JlZGVudGlhbFNlY3JldH0gZnJvbSAnLi4vdXRpbHMvZGF0YWJhc2VDcmVkZW50aWFscy5qcyc7XG5cbmltcG9ydCB0eXBlIHtEYXRhYmFzZUNyZWRlbnRpYWxJZGVudGl0eSwgRGF0YWJhc2VDcmVkZW50aWFsU2VjcmV0fSBmcm9tICcuLi90eXBlcy9kYXRhYmFzZUNyZWRlbnRpYWxzLnR5cGVzLmpzJztcblxudHlwZSBBY2Nlc3MgPSAnbm9uZScgfCAncm8nIHwgJ3J3JztcbnR5cGUgQmVmb3JlV3JpdGUgPSAoKSA9PiBQcm9taXNlPHZvaWQ+O1xudHlwZSBBY2NvdW50ID0ge2dyYW50czogUmVhZG9ubHk8UmVjb3JkPHN0cmluZywgQWNjZXNzPj47IGlkZW50aXR5OiBEYXRhYmFzZUNyZWRlbnRpYWxJZGVudGl0eTsgbWFuYWdlZDogYm9vbGVhbn07XG5jb25zdCBtYW5hZ2VkQnkgPSAncmVha3Rvcic7XG5jb25zdCBvd25lcnNoaXBLZXlzID0gWydhcHBJZCcsICdkYXRhYmFzZU5hbWUnLCAnZW52aXJvbm1lbnQnLCAnc2VjcmV0TmFtZScsICd1c2VybmFtZSddIGFzIGNvbnN0O1xuXG4vLyBOZXZlciBwYXNzIHRoZSBjYXVnaHQgZXJyb3IncyByZXF1ZXN0L2JvZHkg4oCUIG9ubHkgaXRzIG1lc3NhZ2UgYW5kIEFyYW5nb0RCIGVycm9yIGNvZGUsIHdoaWNoIG5ldmVyIGNhcnJ5IHRoZSBwYXNzd29yZC5cbmNvbnN0IGxvZ0ZhaWx1cmUgPSAob3BlcmF0aW9uOiBzdHJpbmcsIGVycm9yOiB1bmtub3duLCBjb250ZXh0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IHZvaWQgPT4ge1xuICBjb25zdCB7ZXJyb3JOdW0sIG1lc3NhZ2UsIG5hbWV9ID0gZXJyb3IgYXMge2Vycm9yTnVtPzogdW5rbm93bjsgbWVzc2FnZT86IHVua25vd247IG5hbWU/OiB1bmtub3dufTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5lcnJvcihgJHtvcGVyYXRpb259IGZhaWxlZGAsIHsuLi5jb250ZXh0LCBlcnJvck51bSwgbWVzc2FnZSwgbmFtZX0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGluc3BlY3REYXRhYmFzZUFjY291bnQgPSBhc3luYyAoaWRlbnRpdHk6IERhdGFiYXNlQ3JlZGVudGlhbElkZW50aXR5KTogUHJvbWlzZTxBY2NvdW50IHwgdW5kZWZpbmVkPiA9PiB7XG4gIGNvbnN0IGRiID0gdXNlRGIoJ19zeXN0ZW0nKTtcbiAgdHJ5IHtcbiAgICBjb25zdCB1c2VyID0gYXdhaXQgZGIuZ2V0VXNlcihpZGVudGl0eS51c2VybmFtZSk7XG4gICAgY29uc3QgbWFuYWdlZCA9IHVzZXIuYWN0aXZlICYmIHVzZXIuZXh0cmE/Lm1hbmFnZWRCeSA9PT0gbWFuYWdlZEJ5XG4gICAgICAmJiBvd25lcnNoaXBLZXlzLmV2ZXJ5KChrZXkpID0+IHVzZXIuZXh0cmFba2V5XSA9PT0gaWRlbnRpdHlba2V5XSk7XG4gICAgY29uc3QgZ3JhbnRzID0gYXdhaXQgZGIuZ2V0VXNlckRhdGFiYXNlcyhpZGVudGl0eS51c2VybmFtZSk7XG4gICAgcmV0dXJuIHtncmFudHMsIGlkZW50aXR5OiBnZXREYXRhYmFzZUNyZWRlbnRpYWxJZGVudGl0eShpZGVudGl0eSksIG1hbmFnZWR9O1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoKGVycm9yIGFzIHtlcnJvck51bT86IG51bWJlcn0pPy5lcnJvck51bSA9PT0gMTcwMykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgbG9nRmFpbHVyZSgnaW5zcGVjdERhdGFiYXNlQWNjb3VudCcsIGVycm9yLCB7dXNlcm5hbWU6IGlkZW50aXR5LnVzZXJuYW1lfSk7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdkYXRhYmFzZV9hY2NvdW50X2luc3BlY3Rpb25fZmFpbGVkJyk7XG4gIH1cbn07XG5cbmNvbnN0IHJlcXVpcmVNYW5hZ2VkID0gYXN5bmMgKGlkZW50aXR5OiBEYXRhYmFzZUNyZWRlbnRpYWxJZGVudGl0eSk6IFByb21pc2U8dm9pZD4gPT4ge1xuICBpZighKGF3YWl0IGluc3BlY3REYXRhYmFzZUFjY291bnQoaWRlbnRpdHkpKT8ubWFuYWdlZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignZGF0YWJhc2VfYWNjb3VudF9jb25mbGljdCcpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTWFuYWdlZERhdGFiYXNlQWNjb3VudCA9IGFzeW5jIChcbiAgc2VjcmV0OiBEYXRhYmFzZUNyZWRlbnRpYWxTZWNyZXQsIGJlZm9yZVdyaXRlPzogQmVmb3JlV3JpdGVcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBwYXJzZURhdGFiYXNlQ3JlZGVudGlhbFNlY3JldChzZWNyZXQsIGdldERhdGFiYXNlQ3JlZGVudGlhbElkZW50aXR5KHNlY3JldCkpO1xuICBjb25zdCBleGlzdGluZyA9IGF3YWl0IGluc3BlY3REYXRhYmFzZUFjY291bnQoc2VjcmV0KTtcbiAgaWYoZXhpc3RpbmcpIHtcbiAgICBpZighZXhpc3RpbmcubWFuYWdlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdkYXRhYmFzZV9hY2NvdW50X2NvbmZsaWN0Jyk7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuICBhd2FpdCBiZWZvcmVXcml0ZT8uKCk7XG4gIHRyeSB7XG4gICAgYXdhaXQgdXNlRGIoJ19zeXN0ZW0nKS5jcmVhdGVVc2VyKHNlY3JldC51c2VybmFtZSwge1xuICAgICAgYWN0aXZlOiB0cnVlLFxuICAgICAgZXh0cmE6IE9iamVjdC5mcm9tRW50cmllcyhbWydtYW5hZ2VkQnknLCBtYW5hZ2VkQnldLCAuLi5vd25lcnNoaXBLZXlzLm1hcCgoa2V5KSA9PiBba2V5LCBzZWNyZXRba2V5XV0pXSksXG4gICAgICBwYXNzd2Q6IHNlY3JldC5wYXNzd29yZFxuICAgIH0pO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgLy8gQSBsb3N0IHJlc3BvbnNlIG9yIGNvbmN1cnJlbnQgY3JlYXRlIGlzIHNhZmUgb25seSB3aGVuIG93bmVyc2hpcCBzdGlsbCBtYXRjaGVzLlxuICAgIGlmKCEoYXdhaXQgaW5zcGVjdERhdGFiYXNlQWNjb3VudChzZWNyZXQpKT8ubWFuYWdlZCkge1xuICAgICAgbG9nRmFpbHVyZSgnY3JlYXRlTWFuYWdlZERhdGFiYXNlQWNjb3VudCcsIGVycm9yLCB7dXNlcm5hbWU6IHNlY3JldC51c2VybmFtZX0pO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdkYXRhYmFzZV9hY2NvdW50X2NvbmZsaWN0Jyk7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgcm90YXRlTWFuYWdlZERhdGFiYXNlQWNjb3VudFBhc3N3b3JkID0gYXN5bmMgKFxuICBzZWNyZXQ6IERhdGFiYXNlQ3JlZGVudGlhbFNlY3JldCwgYmVmb3JlV3JpdGU/OiBCZWZvcmVXcml0ZVxuKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIHBhcnNlRGF0YWJhc2VDcmVkZW50aWFsU2VjcmV0KHNlY3JldCwgZ2V0RGF0YWJhc2VDcmVkZW50aWFsSWRlbnRpdHkoc2VjcmV0KSk7XG4gIGF3YWl0IHJlcXVpcmVNYW5hZ2VkKHNlY3JldCk7XG4gIGF3YWl0IGJlZm9yZVdyaXRlPy4oKTtcbiAgdHJ5IHtcbiAgICBhd2FpdCB1c2VEYignX3N5c3RlbScpLnVwZGF0ZVVzZXIoc2VjcmV0LnVzZXJuYW1lLCBzZWNyZXQucGFzc3dvcmQpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgbG9nRmFpbHVyZSgncm90YXRlTWFuYWdlZERhdGFiYXNlQWNjb3VudFBhc3N3b3JkJywgZXJyb3IsIHt1c2VybmFtZTogc2VjcmV0LnVzZXJuYW1lfSk7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdkYXRhYmFzZV9hY2NvdW50X2dyYW50c19mYWlsZWQnKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHJlc3RyaWN0RGF0YWJhc2VBY2NvdW50ID0gYXN5bmMgKFxuICBzZWNyZXQ6IERhdGFiYXNlQ3JlZGVudGlhbFNlY3JldCwgYmVmb3JlV3JpdGU/OiBCZWZvcmVXcml0ZVxuKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIHBhcnNlRGF0YWJhc2VDcmVkZW50aWFsU2VjcmV0KHNlY3JldCwgZ2V0RGF0YWJhc2VDcmVkZW50aWFsSWRlbnRpdHkoc2VjcmV0KSk7XG4gIGF3YWl0IHJlcXVpcmVNYW5hZ2VkKHNlY3JldCk7XG4gIGNvbnN0IGRiID0gdXNlRGIoJ19zeXN0ZW0nKTtcbiAgbGV0IHBlcm1pc3Npb25zOiBBd2FpdGVkPFJldHVyblR5cGU8dHlwZW9mIGRiLmdldFVzZXJEYXRhYmFzZXM+PjtcbiAgbGV0IGRhdGFiYXNlczogc3RyaW5nW107XG4gIGxldCBjb2xsZWN0aW9uczoge25hbWU6IHN0cmluZ31bXTtcbiAgdHJ5IHtcbiAgICBwZXJtaXNzaW9ucyA9IGF3YWl0IGRiLmdldFVzZXJEYXRhYmFzZXMoc2VjcmV0LnVzZXJuYW1lLCB0cnVlKTtcbiAgICBkYXRhYmFzZXMgPSBhd2FpdCBkYi5saXN0RGF0YWJhc2VzKCk7XG4gICAgY29sbGVjdGlvbnMgPSBhd2FpdCB1c2VEYihzZWNyZXQuZGF0YWJhc2VOYW1lKS5saXN0Q29sbGVjdGlvbnMoKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGxvZ0ZhaWx1cmUoJ3Jlc3RyaWN0RGF0YWJhc2VBY2NvdW50OnJlYWQnLCBlcnJvciwge2RhdGFiYXNlTmFtZTogc2VjcmV0LmRhdGFiYXNlTmFtZSwgdXNlcm5hbWU6IHNlY3JldC51c2VybmFtZX0pO1xuICAgIHRocm93IG5ldyBFcnJvcignZGF0YWJhc2VfYWNjb3VudF9ncmFudHNfZmFpbGVkJyk7XG4gIH1cbiAgY29uc3Qgd3JpdGVHcmFudCA9IGFzeW5jIChkYXRhYmFzZTogc3RyaW5nLCBncmFudDogQWNjZXNzLCBjb2xsZWN0aW9uPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgYXdhaXQgYmVmb3JlV3JpdGU/LigpO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBkYi5zZXRVc2VyQWNjZXNzTGV2ZWwoc2VjcmV0LnVzZXJuYW1lLCB7Y29sbGVjdGlvbiwgZGF0YWJhc2V9LCBncmFudCk7XG4gICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgbG9nRmFpbHVyZSgncmVzdHJpY3REYXRhYmFzZUFjY291bnQ6d3JpdGVHcmFudCcsIGVycm9yLCB7Y29sbGVjdGlvbiwgZGF0YWJhc2UsIHVzZXJuYW1lOiBzZWNyZXQudXNlcm5hbWV9KTtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZGF0YWJhc2VfYWNjb3VudF9ncmFudHNfZmFpbGVkJyk7XG4gICAgfVxuICB9O1xuICAvLyBFeHBsaWNpdGx5IGRlbnkgb2xkIGdyYW50cyBhcyB3ZWxsIGFzIGN1cnJlbnQgZGF0YWJhc2VzLiBOZXZlciBpbmhlcml0IGZvcmVpZ24gcHJpdmlsZWdlcy5cbiAgZm9yKGNvbnN0IGRhdGFiYXNlIG9mIG5ldyBTZXQoWycqJywgJ19zeXN0ZW0nLCAuLi5PYmplY3Qua2V5cyhwZXJtaXNzaW9ucyksIC4uLmRhdGFiYXNlc10pKSB7XG4gICAgaWYoZGF0YWJhc2UgPT09IHNlY3JldC5kYXRhYmFzZU5hbWUpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYXdhaXQtaW4tbG9vcFxuICAgIGF3YWl0IHdyaXRlR3JhbnQoZGF0YWJhc2UsICdub25lJyk7XG4gICAgLy8gQXJhbmdvREIgcmVmdXNlcyBhbnkgcmlnaHRzIGNoYW5nZSBvbiBhIHN5c3RlbSBjb2xsZWN0aW9uIChlLmcuIGBfdXNlcnNgKSwgZXZlbiB0byBkZW55IGl0LlxuICAgIGZvcihjb25zdCBjb2xsZWN0aW9uIG9mIG5ldyBTZXQoWycqJywgLi4uT2JqZWN0LmtleXMocGVybWlzc2lvbnNbZGF0YWJhc2VdPy5jb2xsZWN0aW9ucyA/PyB7fSkuZmlsdGVyKChuYW1lKSA9PiAhbmFtZS5zdGFydHNXaXRoKCdfJykpXSkpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1hd2FpdC1pbi1sb29wXG4gICAgICBhd2FpdCB3cml0ZUdyYW50KGRhdGFiYXNlLCAnbm9uZScsIGNvbGxlY3Rpb24pO1xuICAgIH1cbiAgfVxuICBhd2FpdCB3cml0ZUdyYW50KHNlY3JldC5kYXRhYmFzZU5hbWUsICdydycpO1xuICBhd2FpdCB3cml0ZUdyYW50KHNlY3JldC5kYXRhYmFzZU5hbWUsICdub25lJywgJyonKTtcbiAgZm9yKGNvbnN0IGNvbGxlY3Rpb24gb2YgY29sbGVjdGlvbnMpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYXdhaXQtaW4tbG9vcFxuICAgIGF3YWl0IHdyaXRlR3JhbnQoc2VjcmV0LmRhdGFiYXNlTmFtZSwgJ3J3JywgY29sbGVjdGlvbi5uYW1lKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZlcmlmeURhdGFiYXNlQWNjb3VudCA9IGFzeW5jIChzZWNyZXQ6IERhdGFiYXNlQ3JlZGVudGlhbFNlY3JldCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICBhd2FpdCByZXF1aXJlTWFuYWdlZChzZWNyZXQpO1xuICBwYXJzZURhdGFiYXNlQ3JlZGVudGlhbFNlY3JldChzZWNyZXQsIGdldERhdGFiYXNlQ3JlZGVudGlhbElkZW50aXR5KHNlY3JldCkpO1xuICBjb25zdCBkYiA9IHVzZURiKCdfc3lzdGVtJyk7XG4gIGNvbnN0IGNsaWVudCA9IG5ldyBEYXRhYmFzZSh7XG4gICAgYXV0aDoge3Bhc3N3b3JkOiBzZWNyZXQucGFzc3dvcmQsIHVzZXJuYW1lOiBzZWNyZXQudXNlcm5hbWV9LFxuICAgIGRhdGFiYXNlTmFtZTogc2VjcmV0LmRhdGFiYXNlTmFtZSxcbiAgICB1cmw6IGAke3NlY3JldC5ob3N0fToke3NlY3JldC5wb3J0fWBcbiAgfSk7XG4gIHRyeSB7XG4gICAgY29uc3QgcGVybWlzc2lvbnMgPSBhd2FpdCBkYi5nZXRVc2VyRGF0YWJhc2VzKHNlY3JldC51c2VybmFtZSwgdHJ1ZSk7XG4gICAgY29uc3QgZGF0YWJhc2VzID0gYXdhaXQgZGIubGlzdERhdGFiYXNlcygpO1xuICAgIGZvcihjb25zdCBkYXRhYmFzZSBvZiBuZXcgU2V0KFsnKicsICdfc3lzdGVtJywgc2VjcmV0LmRhdGFiYXNlTmFtZSwgLi4uT2JqZWN0LmtleXMocGVybWlzc2lvbnMpLCAuLi5kYXRhYmFzZXNdKSkge1xuICAgICAgLy8gR0VUIHBlcm1pc3Npb24gZW5kcG9pbnRzIHJlc29sdmUgZWZmZWN0aXZlIGFjY2VzcywgdW5saWtlIHRoZSByYXcgZnVsbCBncmFudCBsaXN0aW5nLlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWF3YWl0LWluLWxvb3BcbiAgICAgIGNvbnN0IGFjY2VzcyA9IGF3YWl0IGRiLmdldFVzZXJBY2Nlc3NMZXZlbChzZWNyZXQudXNlcm5hbWUsIHtkYXRhYmFzZX0pO1xuICAgICAgaWYoYWNjZXNzICE9PSAoZGF0YWJhc2UgPT09IHNlY3JldC5kYXRhYmFzZU5hbWUgPyAncncnIDogJ25vbmUnKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZm9yKGNvbnN0IGNvbGxlY3Rpb24gb2YgYXdhaXQgdXNlRGIoc2VjcmV0LmRhdGFiYXNlTmFtZSkubGlzdENvbGxlY3Rpb25zKCkpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1hd2FpdC1pbi1sb29wXG4gICAgICBpZihhd2FpdCBkYi5nZXRVc2VyQWNjZXNzTGV2ZWwoc2VjcmV0LnVzZXJuYW1lLCB7Y29sbGVjdGlvbjogY29sbGVjdGlvbi5uYW1lLCBkYXRhYmFzZTogc2VjcmV0LmRhdGFiYXNlTmFtZX0pICE9PSAncncnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigpO1xuICAgICAgfVxuICAgIH1cbiAgICBhd2FpdCAoYXdhaXQgY2xpZW50LnF1ZXJ5KCdSRVRVUk4gMScpKS5hbGwoKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGxvZ0ZhaWx1cmUoJ3ZlcmlmeURhdGFiYXNlQWNjb3VudCcsIGVycm9yLCB7ZGF0YWJhc2VOYW1lOiBzZWNyZXQuZGF0YWJhc2VOYW1lLCB1c2VybmFtZTogc2VjcmV0LnVzZXJuYW1lfSk7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdkYXRhYmFzZV9hY2NvdW50X3ZlcmlmaWNhdGlvbl9mYWlsZWQnKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBjbGllbnQuY2xvc2UoKTtcbiAgfVxufTtcbiJdLCJuYW1lcyI6WyJEYXRhYmFzZSIsInVzZURiIiwiZ2V0RGF0YWJhc2VDcmVkZW50aWFsSWRlbnRpdHkiLCJwYXJzZURhdGFiYXNlQ3JlZGVudGlhbFNlY3JldCIsIm1hbmFnZWRCeSIsIm93bmVyc2hpcEtleXMiLCJsb2dGYWlsdXJlIiwib3BlcmF0aW9uIiwiZXJyb3IiLCJjb250ZXh0IiwiZXJyb3JOdW0iLCJtZXNzYWdlIiwibmFtZSIsImNvbnNvbGUiLCJpbnNwZWN0RGF0YWJhc2VBY2NvdW50IiwiaWRlbnRpdHkiLCJkYiIsInVzZXIiLCJnZXRVc2VyIiwidXNlcm5hbWUiLCJtYW5hZ2VkIiwiYWN0aXZlIiwiZXh0cmEiLCJldmVyeSIsImtleSIsImdyYW50cyIsImdldFVzZXJEYXRhYmFzZXMiLCJ1bmRlZmluZWQiLCJFcnJvciIsInJlcXVpcmVNYW5hZ2VkIiwiY3JlYXRlTWFuYWdlZERhdGFiYXNlQWNjb3VudCIsInNlY3JldCIsImJlZm9yZVdyaXRlIiwiZXhpc3RpbmciLCJjcmVhdGVVc2VyIiwiT2JqZWN0IiwiZnJvbUVudHJpZXMiLCJtYXAiLCJwYXNzd2QiLCJwYXNzd29yZCIsInJvdGF0ZU1hbmFnZWREYXRhYmFzZUFjY291bnRQYXNzd29yZCIsInVwZGF0ZVVzZXIiLCJyZXN0cmljdERhdGFiYXNlQWNjb3VudCIsInBlcm1pc3Npb25zIiwiZGF0YWJhc2VzIiwiY29sbGVjdGlvbnMiLCJsaXN0RGF0YWJhc2VzIiwiZGF0YWJhc2VOYW1lIiwibGlzdENvbGxlY3Rpb25zIiwid3JpdGVHcmFudCIsImRhdGFiYXNlIiwiZ3JhbnQiLCJjb2xsZWN0aW9uIiwic2V0VXNlckFjY2Vzc0xldmVsIiwiU2V0Iiwia2V5cyIsImZpbHRlciIsInN0YXJ0c1dpdGgiLCJ2ZXJpZnlEYXRhYmFzZUFjY291bnQiLCJjbGllbnQiLCJhdXRoIiwidXJsIiwiaG9zdCIsInBvcnQiLCJhY2Nlc3MiLCJnZXRVc2VyQWNjZXNzTGV2ZWwiLCJxdWVyeSIsImFsbCIsImNsb3NlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxRQUFRLFFBQU8sV0FBVztBQUVsQyxTQUFRQyxLQUFLLFFBQU8sNEJBQTRCO0FBQ2hELFNBQVFDLDZCQUE2QixFQUFFQyw2QkFBNkIsUUFBTyxrQ0FBa0M7QUFPN0csTUFBTUMsWUFBWTtBQUNsQixNQUFNQyxnQkFBZ0I7SUFBQztJQUFTO0lBQWdCO0lBQWU7SUFBYztDQUFXO0FBRXhGLHlIQUF5SDtBQUN6SCxNQUFNQyxhQUFhLENBQUNDLFdBQW1CQyxPQUFnQkM7SUFDckQsTUFBTSxFQUFDQyxRQUFRLEVBQUVDLE9BQU8sRUFBRUMsSUFBSSxFQUFDLEdBQUdKO0lBQ2xDLHNDQUFzQztJQUN0Q0ssUUFBUUwsS0FBSyxDQUFDLEdBQUdELFVBQVUsT0FBTyxDQUFDLEVBQUU7UUFBQyxHQUFHRSxPQUFPO1FBQUVDO1FBQVVDO1FBQVNDO0lBQUk7QUFDM0U7QUFFQSxPQUFPLE1BQU1FLHlCQUF5QixPQUFPQztJQUMzQyxNQUFNQyxLQUFLZixNQUFNO0lBQ2pCLElBQUk7UUFDRixNQUFNZ0IsT0FBTyxNQUFNRCxHQUFHRSxPQUFP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
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3Ly5jb2RleC93b3JrdHJlZXMvdmF1bHQtczMtcmVsZWFzZS9yZWFrdG9yL3BhY2thZ2VzL3JlYWt0b3Ivc3JjL2FjdGlvbnMvZGF0YWJhc2VBY2NvdW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RhdGFiYXNlfSBmcm9tICdhcmFuZ29qcyc7XG5cbmltcG9ydCB7dXNlRGJ9IGZyb20gJy4uL3V0aWxzL2FyYW5nb2RiVXRpbHMuanMnO1xuaW1wb3J0IHtnZXREYXRhYmFzZUNyZWRlbnRpYWxJZGVudGl0eSwgcGFyc2VEYXRhYmFzZUNyZWRlbnRpYWxTZWNyZXR9IGZyb20gJy4uL3V0aWxzL2RhdGFiYXNlQ3JlZGVudGlhbHMuanMnO1xuXG5pbXBvcnQgdHlwZSB7RGF0YWJhc2VDcmVkZW50aWFsSWRlbnRpdHksIERhdGFiYXNlQ3JlZGVudGlhbFNlY3JldH0gZnJvbSAnLi4vdHlwZXMvZGF0YWJhc2VDcmVkZW50aWFscy50eXBlcy5qcyc7XG5cbnR5cGUgQWNjZXNzID0gJ25vbmUnIHwgJ3JvJyB8ICdydyc7XG50eXBlIEJlZm9yZVdyaXRlID0gKCkgPT4gUHJvbWlzZTx2b2lkPjtcbnR5cGUgQWNjb3VudCA9IHtncmFudHM6IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIEFjY2Vzcz4+OyBpZGVudGl0eTogRGF0YWJhc2VDcmVkZW50aWFsSWRlbnRpdHk7IG1hbmFnZWQ6IGJvb2xlYW59O1xuY29uc3QgbWFuYWdlZEJ5ID0gJ3JlYWt0b3InO1xuY29uc3Qgb3duZXJzaGlwS2V5cyA9IFsnYXBwSWQnLCAnZGF0YWJhc2VOYW1lJywgJ2Vudmlyb25tZW50JywgJ3NlY3JldE5hbWUnLCAndXNlcm5hbWUnXSBhcyBjb25zdDtcblxuLy8gTmV2ZXIgcGFzcyB0aGUgY2F1Z2h0IGVycm9yJ3MgcmVxdWVzdC9ib2R5IOKAlCBvbmx5IGl0cyBtZXNzYWdlIGFuZCBBcmFuZ29EQiBlcnJvciBjb2RlLCB3aGljaCBuZXZlciBjYXJyeSB0aGUgcGFzc3dvcmQuXG5jb25zdCBsb2dGYWlsdXJlID0gKG9wZXJhdGlvbjogc3RyaW5nLCBlcnJvcjogdW5rbm93biwgY29udGV4dDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiB2b2lkID0+IHtcbiAgY29uc3Qge2Vycm9yTnVtLCBtZXNzYWdlLCBuYW1lfSA9IGVycm9yIGFzIHtlcnJvck51bT86IHVua25vd247IG1lc3NhZ2U/OiB1bmtub3duOyBuYW1lPzogdW5rbm93bn07XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGNvbnNvbGUuZXJyb3IoYCR7b3BlcmF0aW9ufSBmYWlsZWRgLCB7Li4uY29udGV4dCwgZXJyb3JOdW0sIG1lc3NhZ2UsIG5hbWV9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBpbnNwZWN0RGF0YWJhc2VBY2NvdW50ID0gYXN5bmMgKGlkZW50aXR5OiBEYXRhYmFzZUNyZWRlbnRpYWxJZGVudGl0eSk6IFByb21pc2U8QWNjb3VudCB8IHVuZGVmaW5lZD4gPT4ge1xuICBjb25zdCBkYiA9IHVzZURiKCdfc3lzdGVtJyk7XG4gIHRyeSB7XG4gICAgY29uc3QgdXNlciA9IGF3YWl0IGRiLmdldFVzZXIoaWRlbnRpdHkudXNlcm5hbWUpO1xuICAgIGNvbnN0IG1hbmFnZWQgPSB1c2VyLmFjdGl2ZSAmJiB1c2VyLmV4dHJhPy5tYW5hZ2VkQnkgPT09IG1hbmFnZWRCeVxuICAgICAgJiYgb3duZXJzaGlwS2V5cy5ldmVyeSgoa2V5KSA9PiB1c2VyLmV4dHJhW2tleV0gPT09IGlkZW50aXR5W2tleV0pO1xuICAgIGNvbnN0IGdyYW50cyA9IGF3YWl0IGRiLmdldFVzZXJEYXRhYmFzZXMoaWRlbnRpdHkudXNlcm5hbWUpO1xuICAgIHJldHVybiB7Z3JhbnRzLCBpZGVudGl0eTogZ2V0RGF0YWJhc2VDcmVkZW50aWFsSWRlbnRpdHkoaWRlbnRpdHkpLCBtYW5hZ2VkfTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKChlcnJvciBhcyB7ZXJyb3JOdW0/OiBudW1iZXJ9KT8uZXJyb3JOdW0gPT09IDE3MDMpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGxvZ0ZhaWx1cmUoJ2luc3BlY3REYXRhYmFzZUFjY291bnQnLCBlcnJvciwge3VzZXJuYW1lOiBpZGVudGl0eS51c2VybmFtZX0pO1xuICAgIHRocm93IG5ldyBFcnJvcignZGF0YWJhc2VfYWNjb3VudF9pbnNwZWN0aW9uX2ZhaWxlZCcpO1xuICB9XG59O1xuXG5jb25zdCByZXF1aXJlTWFuYWdlZCA9IGFzeW5jIChpZGVudGl0eTogRGF0YWJhc2VDcmVkZW50aWFsSWRlbnRpdHkpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgaWYoIShhd2FpdCBpbnNwZWN0RGF0YWJhc2VBY2NvdW50KGlkZW50aXR5KSk/Lm1hbmFnZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2RhdGFiYXNlX2FjY291bnRfY29uZmxpY3QnKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1hbmFnZWREYXRhYmFzZUFjY291bnQgPSBhc3luYyAoXG4gIHNlY3JldDogRGF0YWJhc2VDcmVkZW50aWFsU2VjcmV0LCBiZWZvcmVXcml0ZT86IEJlZm9yZVdyaXRlXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgcGFyc2VEYXRhYmFzZUNyZWRlbnRpYWxTZWNyZXQoc2VjcmV0LCBnZXREYXRhYmFzZUNyZWRlbnRpYWxJZGVudGl0eShzZWNyZXQpKTtcbiAgY29uc3QgZXhpc3RpbmcgPSBhd2FpdCBpbnNwZWN0RGF0YWJhc2VBY2NvdW50KHNlY3JldCk7XG4gIGlmKGV4aXN0aW5nKSB7XG4gICAgaWYoIWV4aXN0aW5nLm1hbmFnZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZGF0YWJhc2VfYWNjb3VudF9jb25mbGljdCcpO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cbiAgYXdhaXQgYmVmb3JlV3JpdGU/LigpO1xuICB0cnkge1xuICAgIGF3YWl0IHVzZURiKCdfc3lzdGVtJykuY3JlYXRlVXNlcihzZWNyZXQudXNlcm5hbWUsIHtcbiAgICAgIGFjdGl2ZTogdHJ1ZSxcbiAgICAgIGV4dHJhOiBPYmplY3QuZnJvbUVudHJpZXMoW1snbWFuYWdlZEJ5JywgbWFuYWdlZEJ5XSwgLi4ub3duZXJzaGlwS2V5cy5tYXAoKGtleSkgPT4gW2tleSwgc2VjcmV0W2tleV1dKV0pLFxuICAgICAgcGFzc3dkOiBzZWNyZXQucGFzc3dvcmRcbiAgICB9KTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIC8vIEEgbG9zdCByZXNwb25zZSBvciBjb25jdXJyZW50IGNyZWF0ZSBpcyBzYWZlIG9ubHkgd2hlbiBvd25lcnNoaXAgc3RpbGwgbWF0Y2hlcy5cbiAgICBpZighKGF3YWl0IGluc3BlY3REYXRhYmFzZUFjY291bnQoc2VjcmV0KSk/Lm1hbmFnZWQpIHtcbiAgICAgIGxvZ0ZhaWx1cmUoJ2NyZWF0ZU1hbmFnZWREYXRhYmFzZUFjY291bnQnLCBlcnJvciwge3VzZXJuYW1lOiBzZWNyZXQudXNlcm5hbWV9KTtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZGF0YWJhc2VfYWNjb3VudF9jb25mbGljdCcpO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHJvdGF0ZU1hbmFnZWREYXRhYmFzZUFjY291bnRQYXNzd29yZCA9IGFzeW5jIChcbiAgc2VjcmV0OiBEYXRhYmFzZUNyZWRlbnRpYWxTZWNyZXQsIGJlZm9yZVdyaXRlPzogQmVmb3JlV3JpdGVcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBwYXJzZURhdGFiYXNlQ3JlZGVudGlhbFNlY3JldChzZWNyZXQsIGdldERhdGFiYXNlQ3JlZGVudGlhbElkZW50aXR5KHNlY3JldCkpO1xuICBhd2FpdCByZXF1aXJlTWFuYWdlZChzZWNyZXQpO1xuICBhd2FpdCBiZWZvcmVXcml0ZT8uKCk7XG4gIHRyeSB7XG4gICAgYXdhaXQgdXNlRGIoJ19zeXN0ZW0nKS51cGRhdGVVc2VyKHNlY3JldC51c2VybmFtZSwgc2VjcmV0LnBhc3N3b3JkKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGxvZ0ZhaWx1cmUoJ3JvdGF0ZU1hbmFnZWREYXRhYmFzZUFjY291bnRQYXNzd29yZCcsIGVycm9yLCB7dXNlcm5hbWU6IHNlY3JldC51c2VybmFtZX0pO1xuICAgIHRocm93IG5ldyBFcnJvcignZGF0YWJhc2VfYWNjb3VudF9ncmFudHNfZmFpbGVkJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCByZXN0cmljdERhdGFiYXNlQWNjb3VudCA9IGFzeW5jIChcbiAgc2VjcmV0OiBEYXRhYmFzZUNyZWRlbnRpYWxTZWNyZXQsIGJlZm9yZVdyaXRlPzogQmVmb3JlV3JpdGVcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBwYXJzZURhdGFiYXNlQ3JlZGVudGlhbFNlY3JldChzZWNyZXQsIGdldERhdGFiYXNlQ3JlZGVudGlhbElkZW50aXR5KHNlY3JldCkpO1xuICBhd2FpdCByZXF1aXJlTWFuYWdlZChzZWNyZXQpO1xuICBjb25zdCBkYiA9IHVzZURiKCdfc3lzdGVtJyk7XG4gIGxldCBwZXJtaXNzaW9uczogQXdhaXRlZDxSZXR1cm5UeXBlPHR5cGVvZiBkYi5nZXRVc2VyRGF0YWJhc2VzPj47XG4gIGxldCBkYXRhYmFzZXM6IHN0cmluZ1tdO1xuICBsZXQgY29sbGVjdGlvbnM6IHtuYW1lOiBzdHJpbmd9W107XG4gIHRyeSB7XG4gICAgcGVybWlzc2lvbnMgPSBhd2FpdCBkYi5nZXRVc2VyRGF0YWJhc2VzKHNlY3JldC51c2VybmFtZSwgdHJ1ZSk7XG4gICAgZGF0YWJhc2VzID0gYXdhaXQgZGIubGlzdERhdGFiYXNlcygpO1xuICAgIGNvbGxlY3Rpb25zID0gYXdhaXQgdXNlRGIoc2VjcmV0LmRhdGFiYXNlTmFtZSkubGlzdENvbGxlY3Rpb25zKCk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBsb2dGYWlsdXJlKCdyZXN0cmljdERhdGFiYXNlQWNjb3VudDpyZWFkJywgZXJyb3IsIHtkYXRhYmFzZU5hbWU6IHNlY3JldC5kYXRhYmFzZU5hbWUsIHVzZXJuYW1lOiBzZWNyZXQudXNlcm5hbWV9KTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2RhdGFiYXNlX2FjY291bnRfZ3JhbnRzX2ZhaWxlZCcpO1xuICB9XG4gIGNvbnN0IHdyaXRlR3JhbnQgPSBhc3luYyAoZGF0YWJhc2U6IHN0cmluZywgZ3JhbnQ6IEFjY2VzcywgY29sbGVjdGlvbj86IHN0cmluZyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGF3YWl0IGJlZm9yZVdyaXRlPy4oKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgZGIuc2V0VXNlckFjY2Vzc0xldmVsKHNlY3JldC51c2VybmFtZSwge2NvbGxlY3Rpb24sIGRhdGFiYXNlfSwgZ3JhbnQpO1xuICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgIGxvZ0ZhaWx1cmUoJ3Jlc3RyaWN0RGF0YWJhc2VBY2NvdW50OndyaXRlR3JhbnQnLCBlcnJvciwge2NvbGxlY3Rpb24sIGRhdGFiYXNlLCB1c2VybmFtZTogc2VjcmV0LnVzZXJuYW1lfSk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2RhdGFiYXNlX2FjY291bnRfZ3JhbnRzX2ZhaWxlZCcpO1xuICAgIH1cbiAgfTtcbiAgLy8gRXhwbGljaXRseSBkZW55IG9sZCBncmFudHMgYXMgd2VsbCBhcyBjdXJyZW50IGRhdGFiYXNlcy4gTmV2ZXIgaW5oZXJpdCBmb3JlaWduIHByaXZpbGVnZXMuXG4gIGZvcihjb25zdCBkYXRhYmFzZSBvZiBuZXcgU2V0KFsnKicsICdfc3lzdGVtJywgLi4uT2JqZWN0LmtleXMocGVybWlzc2lvbnMpLCAuLi5kYXRhYmFzZXNdKSkge1xuICAgIGlmKGRhdGFiYXNlID09PSBzZWNyZXQuZGF0YWJhc2VOYW1lKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWF3YWl0LWluLWxvb3BcbiAgICBhd2FpdCB3cml0ZUdyYW50KGRhdGFiYXNlLCAnbm9uZScpO1xuICAgIC8vIEFyYW5nb0RCIHJlZnVzZXMgYW55IHJpZ2h0cyBjaGFuZ2Ugb24gYSBzeXN0ZW0gY29sbGVjdGlvbiAoZS5nLiBgX3VzZXJzYCksIGV2ZW4gdG8gZGVueSBpdC5cbiAgICBmb3IoY29uc3QgY29sbGVjdGlvbiBvZiBuZXcgU2V0KFsnKicsIC4uLk9iamVjdC5rZXlzKHBlcm1pc3Npb25zW2RhdGFiYXNlXT8uY29sbGVjdGlvbnMgPz8ge30pLmZpbHRlcigobmFtZSkgPT4gIW5hbWUuc3RhcnRzV2l0aCgnXycpKV0pKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYXdhaXQtaW4tbG9vcFxuICAgICAgYXdhaXQgd3JpdGVHcmFudChkYXRhYmFzZSwgJ25vbmUnLCBjb2xsZWN0aW9uKTtcbiAgICB9XG4gIH1cbiAgYXdhaXQgd3JpdGVHcmFudChzZWNyZXQuZGF0YWJhc2VOYW1lLCAncncnKTtcbiAgYXdhaXQgd3JpdGVHcmFudChzZWNyZXQuZGF0YWJhc2VOYW1lLCAnbm9uZScsICcqJyk7XG4gIGZvcihjb25zdCBjb2xsZWN0aW9uIG9mIGNvbGxlY3Rpb25zKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWF3YWl0LWluLWxvb3BcbiAgICBhd2FpdCB3cml0ZUdyYW50KHNlY3JldC5kYXRhYmFzZU5hbWUsICdydycsIGNvbGxlY3Rpb24ubmFtZSk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2ZXJpZnlEYXRhYmFzZUFjY291bnQgPSBhc3luYyAoc2VjcmV0OiBEYXRhYmFzZUNyZWRlbnRpYWxTZWNyZXQpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgYXdhaXQgcmVxdWlyZU1hbmFnZWQoc2VjcmV0KTtcbiAgcGFyc2VEYXRhYmFzZUNyZWRlbnRpYWxTZWNyZXQoc2VjcmV0LCBnZXREYXRhYmFzZUNyZWRlbnRpYWxJZGVudGl0eShzZWNyZXQpKTtcbiAgY29uc3QgZGIgPSB1c2VEYignX3N5c3RlbScpO1xuICBjb25zdCBjbGllbnQgPSBuZXcgRGF0YWJhc2Uoe1xuICAgIGF1dGg6IHtwYXNzd29yZDogc2VjcmV0LnBhc3N3b3JkLCB1c2VybmFtZTogc2VjcmV0LnVzZXJuYW1lfSxcbiAgICBkYXRhYmFzZU5hbWU6IHNlY3JldC5kYXRhYmFzZU5hbWUsXG4gICAgdXJsOiBgJHtzZWNyZXQuaG9zdH06JHtzZWNyZXQucG9ydH1gXG4gIH0pO1xuICB0cnkge1xuICAgIGNvbnN0IHBlcm1pc3Npb25zID0gYXdhaXQgZGIuZ2V0VXNlckRhdGFiYXNlcyhzZWNyZXQudXNlcm5hbWUsIHRydWUpO1xuICAgIGNvbnN0IGRhdGFiYXNlcyA9IGF3YWl0IGRiLmxpc3REYXRhYmFzZXMoKTtcbiAgICBmb3IoY29uc3QgZGF0YWJhc2Ugb2YgbmV3IFNldChbJyonLCAnX3N5c3RlbScsIHNlY3JldC5kYXRhYmFzZU5hbWUsIC4uLk9iamVjdC5rZXlzKHBlcm1pc3Npb25zKSwgLi4uZGF0YWJhc2VzXSkpIHtcbiAgICAgIC8vIEdFVCBwZXJtaXNzaW9uIGVuZHBvaW50cyByZXNvbHZlIGVmZmVjdGl2ZSBhY2Nlc3MsIHVubGlrZSB0aGUgcmF3IGZ1bGwgZ3JhbnQgbGlzdGluZy5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1hd2FpdC1pbi1sb29wXG4gICAgICBjb25zdCBhY2Nlc3MgPSBhd2FpdCBkYi5nZXRVc2VyQWNjZXNzTGV2ZWwoc2VjcmV0LnVzZXJuYW1lLCB7ZGF0YWJhc2V9KTtcbiAgICAgIGlmKGFjY2VzcyAhPT0gKGRhdGFiYXNlID09PSBzZWNyZXQuZGF0YWJhc2VOYW1lID8gJ3J3JyA6ICdub25lJykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCk7XG4gICAgICB9XG4gICAgfVxuICAgIGZvcihjb25zdCBjb2xsZWN0aW9uIG9mIGF3YWl0IHVzZURiKHNlY3JldC5kYXRhYmFzZU5hbWUpLmxpc3RDb2xsZWN0aW9ucygpKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYXdhaXQtaW4tbG9vcFxuICAgICAgaWYoYXdhaXQgZGIuZ2V0VXNlckFjY2Vzc0xldmVsKHNlY3JldC51c2VybmFtZSwge2NvbGxlY3Rpb246IGNvbGxlY3Rpb24ubmFtZSwgZGF0YWJhc2U6IHNlY3JldC5kYXRhYmFzZU5hbWV9KSAhPT0gJ3J3Jykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgYXdhaXQgKGF3YWl0IGNsaWVudC5xdWVyeSgnUkVUVVJOIDEnKSkuYWxsKCk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBsb2dGYWlsdXJlKCd2ZXJpZnlEYXRhYmFzZUFjY291bnQnLCBlcnJvciwge2RhdGFiYXNlTmFtZTogc2VjcmV0LmRhdGFiYXNlTmFtZSwgdXNlcm5hbWU6IHNlY3JldC51c2VybmFtZX0pO1xuICAgIHRocm93IG5ldyBFcnJvcignZGF0YWJhc2VfYWNjb3VudF92ZXJpZmljYXRpb25fZmFpbGVkJyk7XG4gIH0gZmluYWxseSB7XG4gICAgY2xpZW50LmNsb3NlKCk7XG4gIH1cbn07XG4iXSwibmFtZXMiOlsiRGF0YWJhc2UiLCJ1c2VEYiIsImdldERhdGFiYXNlQ3JlZGVudGlhbElkZW50aXR5IiwicGFyc2VEYXRhYmFzZUNyZWRlbnRpYWxTZWNyZXQiLCJtYW5hZ2VkQnkiLCJvd25lcnNoaXBLZXlzIiwibG9nRmFpbHVyZSIsIm9wZXJhdGlvbiIsImVycm9yIiwiY29udGV4dCIsImVycm9yTnVtIiwibWVzc2FnZSIsIm5hbWUiLCJjb25zb2xlIiwiaW5zcGVjdERhdGFiYXNlQWNjb3VudCIsImlkZW50aXR5IiwiZGIiLCJ1c2VyIiwiZ2V0VXNlciIsInVzZXJuYW1lIiwibWFuYWdlZCIsImFjdGl2ZSIsImV4dHJhIiwiZXZlcnkiLCJrZXkiLCJncmFudHMiLCJnZXRVc2VyRGF0YWJhc2VzIiwidW5kZWZpbmVkIiwiRXJyb3IiLCJyZXF1aXJlTWFuYWdlZCIsImNyZWF0ZU1hbmFnZWREYXRhYmFzZUFjY291bnQiLCJzZWNyZXQiLCJiZWZvcmVXcml0ZSIsImV4aXN0aW5nIiwiY3JlYXRlVXNlciIsIk9iamVjdCIsImZyb21FbnRyaWVzIiwibWFwIiwicGFzc3dkIiwicGFzc3dvcmQiLCJyb3RhdGVNYW5hZ2VkRGF0YWJhc2VBY2NvdW50UGFzc3dvcmQiLCJ1cGRhdGVVc2VyIiwicmVzdHJpY3REYXRhYmFzZUFjY291bnQiLCJwZXJtaXNzaW9ucyIsImRhdGFiYXNlcyIsImNvbGxlY3Rpb25zIiwibGlzdERhdGFiYXNlcyIsImRhdGFiYXNlTmFtZSIsImxpc3RDb2xsZWN0aW9ucyIsIndyaXRlR3JhbnQiLCJkYXRhYmFzZSIsImdyYW50IiwiY29sbGVjdGlvbiIsInNldFVzZXJBY2Nlc3NMZXZlbCIsIlNldCIsImtleXMiLCJmaWx0ZXIiLCJzdGFydHNXaXRoIiwidmVyaWZ5RGF0YWJhc2VBY2NvdW50IiwiY2xpZW50IiwiYXV0aCIsInVybCIsImhvc3QiLCJwb3J0IiwiYWNjZXNzIiwiZ2V0VXNlckFjY2Vzc0xldmVsIiwicXVlcnkiLCJhbGwiLCJjbG9zZSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsUUFBUSxRQUFPLFdBQVc7QUFFbEMsU0FBUUMsS0FBSyxRQUFPLDRCQUE0QjtBQUNoRCxTQUFRQyw2QkFBNkIsRUFBRUMsNkJBQTZCLFFBQU8sa0NBQWtDO0FBTzdHLE1BQU1DLFlBQVk7QUFDbEIsTUFBTUMsZ0JBQWdCO0lBQUM7SUFBUztJQUFnQjtJQUFlO0lBQWM7Q0FBVztBQUV4Rix5SEFBeUg7QUFDekgsTUFBTUMsYUFBYSxDQUFDQyxXQUFtQkMsT0FBZ0JDO0lBQ3JELE1BQU0sRUFBQ0MsUUFBUSxFQUFFQyxPQUFPLEVBQUVDLElBQUksRUFBQyxHQUFHSjtJQUNsQyxzQ0FBc0M7SUFDdENLLFFBQVFMLEtBQUssQ0FBQyxHQUFHRCxVQUFVLE9BQU8sQ0FBQyxFQUFFO1FBQUMsR0FBR0UsT0FBTztRQUFFQztRQUFVQztRQUFTQztJQUFJO0FBQzNFO0FBRUEsT0FBTyxNQUFNRSx5QkFBeUIsT0FBT0M7SUFDM0MsTUFBTUMsS0FBS2YsTUFBTTtJQUNqQixJQUFJO1FBQ0YsTUFBTWdC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
|
|
@@ -163,4 +163,4 @@ export const saveDatabaseProvisioningState = async (context, lease, metadata)=>{
|
|
|
163
163
|
}
|
|
164
164
|
};
|
|
165
165
|
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3IvcGFja2FnZXMvcmVha3Rvci9zcmMvYWN0aW9ucy9kYXRhYmFzZVByb3Zpc2lvbmluZ0xlYXNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7cmFuZG9tVVVJRH0gZnJvbSAnbm9kZTpjcnlwdG8nO1xuXG5pbXBvcnQge3VzZURifSBmcm9tICcuLi91dGlscy9hcmFuZ29kYlV0aWxzLmpzJztcblxuaW1wb3J0IHR5cGUge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzL2F1dGgudHlwZXMuanMnO1xuaW1wb3J0IHR5cGUge0RhdGFiYXNlQ29ubmVjdGlvbk1ldGFkYXRhLCBEYXRhYmFzZUNyZWRlbnRpYWxJZGVudGl0eSwgRGF0YWJhc2VQcm92aXNpb25pbmdMZWFzZX0gZnJvbSAnLi4vdHlwZXMvZGF0YWJhc2VDcmVkZW50aWFscy50eXBlcy5qcyc7XG5cbmNvbnN0IGNvbGxlY3Rpb25OYW1lID0gJ2RhdGFiYXNlUHJvdmlzaW9uaW5nTGVhc2VzJztcbmNvbnN0IHR0bE1zID0gMTIwXzAwMDtcbmNvbnN0IGNvbGxlY3Rpb25CaW5kID0geydAY29sbGVjdGlvbic6IGNvbGxlY3Rpb25OYW1lfTtcblxudHlwZSBMZWFzZVJvdyA9IHtfa2V5OiBzdHJpbmc7IG93bmVyOiBzdHJpbmc7IGV4cGlyZXNBdDogbnVtYmVyfTtcbnR5cGUgRGF0YWJhc2VFcnJvciA9IHtlcnJvck51bT86IG51bWJlcn07XG5cbmNvbnN0IGdldENvbnRyb2xEYiA9IChjb250ZXh0OiBBcGlDb250ZXh0KSA9PiB7XG4gIGlmKCFjb250ZXh0LmRhdGFiYXNlTmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignZGF0YWJhc2VfcHJvdmlzaW9uaW5nX2NvbnRyb2xfZGF0YWJhc2VfcmVxdWlyZWQnKTtcbiAgfVxuICByZXR1cm4gdXNlRGIoY29udGV4dC5kYXRhYmFzZU5hbWUpO1xufTtcblxuY29uc3QgaXNFcnJvck51bWJlciA9IChlcnJvcjogdW5rbm93biwgLi4uY29kZXM6IG51bWJlcltdKTogYm9vbGVhbiA9PlxuICBjb2Rlcy5pbmNsdWRlcygoZXJyb3IgYXMgRGF0YWJhc2VFcnJvciB8IG51bGwpPy5lcnJvck51bSA/PyAtMSk7XG5cbmNvbnN0IHRvTGVhc2UgPSAocm93OiBMZWFzZVJvdyk6IERhdGFiYXNlUHJvdmlzaW9uaW5nTGVhc2UgPT4gKHtcbiAgZXhwaXJlc0F0OiByb3cuZXhwaXJlc0F0LFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZXJzY29yZS1kYW5nbGVcbiAga2V5OiByb3cuX2tleSxcbiAgb3duZXI6IHJvdy5vd25lclxufSk7XG5cbmNvbnN0IHJ1blF1ZXJ5ID0gYXN5bmMgKGNvbnRleHQ6IEFwaUNvbnRleHQsIHF1ZXJ5OiBzdHJpbmcsIGJpbmRWYXJzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFByb21pc2U8TGVhc2VSb3dbXT4gPT4ge1xuICBjb25zdCBjdXJzb3IgPSBhd2FpdCBnZXRDb250cm9sRGIoY29udGV4dCkucXVlcnk8TGVhc2VSb3c+KHtiaW5kVmFyczogey4uLmNvbGxlY3Rpb25CaW5kLCAuLi5iaW5kVmFyc30sIHF1ZXJ5fSk7XG4gIHJldHVybiBjdXJzb3IuYWxsKCk7XG59O1xuXG5jb25zdCBmZW5jZWRRdWVyeSA9IGBcbiAgRk9SIGRvYyBJTiBAQGNvbGxlY3Rpb25cbiAgICBGSUxURVIgZG9jLl9rZXkgPT0gQGtleSBBTkQgZG9jLm93bmVyID09IEBvd25lciBBTkQgZG9jLmV4cGlyZXNBdCA+IERBVEVfTk9XKClcbiAgICBVUERBVEUge19rZXk6IGRvYy5fa2V5LCBfcmV2OiBkb2MuX3Jldn0gV0lUSCBgO1xuXG5leHBvcnQgY29uc3QgYWNxdWlyZURhdGFiYXNlUHJvdmlzaW9uaW5nTGVhc2UgPSBhc3luYyAoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIGlkZW50aXR5OiBEYXRhYmFzZUNyZWRlbnRpYWxJZGVudGl0eVxuKTogUHJvbWlzZTxEYXRhYmFzZVByb3Zpc2lvbmluZ0xlYXNlPiA9PiB7XG4gIGNvbnN0IGtleSA9IGAke2lkZW50aXR5LmFwcElkfS0ke2lkZW50aXR5LmVudmlyb25tZW50fWA7XG4gIGNvbnN0IG93bmVyID0gcmFuZG9tVVVJRCgpO1xuICBpZighY29udGV4dC5kYXRhYmFzZU5hbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2RhdGFiYXNlX3Byb3Zpc2lvbmluZ19jb250cm9sX2RhdGFiYXNlX3JlcXVpcmVkJyk7XG4gIH1cbiAgdHJ5IHtcbiAgICBhd2FpdCBnZXRDb250cm9sRGIoY29udGV4dCkuY29sbGVjdGlvbihjb2xsZWN0aW9uTmFtZSkuY3JlYXRlKCk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZighaXNFcnJvck51bWJlcihlcnJvciwgMTIwNykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZGF0YWJhc2VfcHJvdmlzaW9uaW5nX2Vycm9yJyk7XG4gICAgfVxuICB9XG4gIHRyeSB7XG4gICAgY29uc3Qgcm93cyA9IGF3YWl0IHJ1blF1ZXJ5KGNvbnRleHQsIGBcbiAgICAgIElOU0VSVCB7X2tleTogQGtleSwgb3duZXI6IEBvd25lciwgZXhwaXJlc0F0OiBEQVRFX05PVygpICsgQHR0bE1zfVxuICAgICAgSU5UTyBAQGNvbGxlY3Rpb24gUkVUVVJOIE5FV1xuICAgIGAsIHtrZXksIG93bmVyLCB0dGxNc30pO1xuICAgIHJldHVybiB0b0xlYXNlKHJvd3NbMF0pO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoIWlzRXJyb3JOdW1iZXIoZXJyb3IsIDEyMTApKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2RhdGFiYXNlX3Byb3Zpc2lvbmluZ19lcnJvcicpO1xuICAgIH1cbiAgfVxuICBmb3IobGV0IGF0dGVtcHQgPSAwOyBhdHRlbXB0IDwgMzsgYXR0ZW1wdCsrKSB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIEEgd3JpdGUgY29uZmxpY3QgbWVhbnMgYW5vdGhlciBvd25lciBtYXkgaGF2ZSB0YWtlbiBvdmVyOyByZXRyeSB0aGUgZmVuY2VkIHVwZGF0ZS5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1hd2FpdC1pbi1sb29wXG4gICAgICBjb25zdCByb3dzID0gYXdhaXQgcnVuUXVlcnkoY29udGV4dCwgYFxuICAgICAgICBGT1IgZG9jIElOIEBAY29sbGVjdGlvblxuICAgICAgICAgIEZJTFRFUiBkb2MuX2tleSA9PSBAa2V5IEFORCBkb2MuZXhwaXJlc0F0IDw9IERBVEVfTk9XKClcbiAgICAgICAgICBVUERBVEUge19rZXk6IGRvYy5fa2V5LCBfcmV2OiBkb2MuX3Jldn0gV0lUSFxuICAgICAgICAgICAge293bmVyOiBAb3duZXIsIGV4cGlyZXNBdDogREFURV9OT1coKSArIEB0dGxNc31cbiAgICAgICAgICBJTiBAQGNvbGxlY3Rpb24gT1BUSU9OUyB7aWdub3JlUmV2czogZmFsc2V9XG4gICAgICAgICAgUkVUVVJOIE5FV1xuICAgICAgYCwge2tleSwgb3duZXIsIHR0bE1zfSk7XG4gICAgICBpZihyb3dzWzBdKSB7XG4gICAgICAgIHJldHVybiB0b0xlYXNlKHJvd3NbMF0pO1xuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdkYXRhYmFzZV9wcm92aXNpb25pbmdfYnVzeScpO1xuICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgIGlmKGlzRXJyb3JOdW1iZXIoZXJyb3IsIDEyMDApICYmIGF0dGVtcHQgPCAyKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBFcnJvciAmJiBlcnJvci5tZXNzYWdlID09PSAnZGF0YWJhc2VfcHJvdmlzaW9uaW5nX2J1c3knKSB7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdkYXRhYmFzZV9wcm92aXNpb25pbmdfZXJyb3InKTtcbiAgICB9XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCdkYXRhYmFzZV9wcm92aXNpb25pbmdfYnVzeScpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbmV3RGF0YWJhc2VQcm92aXNpb25pbmdMZWFzZSA9IGFzeW5jIChcbiAgY29udGV4dDogQXBpQ29udGV4dCxcbiAgbGVhc2U6IERhdGFiYXNlUHJvdmlzaW9uaW5nTGVhc2Vcbik6IFByb21pc2U8RGF0YWJhc2VQcm92aXNpb25pbmdMZWFzZT4gPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHJvd3MgPSBhd2FpdCBydW5RdWVyeShjb250ZXh0LCBgJHtmZW5jZWRRdWVyeX1cbiAgICAgIHtleHBpcmVzQXQ6IERBVEVfTk9XKCkgKyBAdHRsTXN9XG4gICAgICBJTiBAQGNvbGxlY3Rpb24gT1BUSU9OUyB7aWdub3JlUmV2czogZmFsc2V9IFJFVFVSTiBORVdcbiAgICBgLCB7a2V5OiBsZWFzZS5rZXksIG93bmVyOiBsZWFzZS5vd25lciwgdHRsTXN9KTtcbiAgICBpZighcm93c1swXSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdkYXRhYmFzZV9wcm92aXNpb25pbmdfbGVhc2VfbG9zdCcpO1xuICAgIH1cbiAgICByZXR1cm4gdG9MZWFzZShyb3dzWzBdKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2YgRXJyb3IgJiYgZXJyb3IubWVzc2FnZSA9PT0gJ2RhdGFiYXNlX3Byb3Zpc2lvbmluZ19sZWFzZV9sb3N0Jykge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcignZGF0YWJhc2VfcHJvdmlzaW9uaW5nX2Vycm9yJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCByZWxlYXNlRGF0YWJhc2VQcm92aXNpb25pbmdMZWFzZSA9IGFzeW5jIChcbiAgY29udGV4dDogQXBpQ29udGV4dCxcbiAgbGVhc2U6IERhdGFiYXNlUHJvdmlzaW9uaW5nTGVhc2Vcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHJvd3MgPSBhd2FpdCBydW5RdWVyeShjb250ZXh0LCBgJHtmZW5jZWRRdWVyeX1cbiAgICAgIHtvd25lcjogbnVsbCwgZXhwaXJlc0F0OiAwfVxuICAgICAgSU4gQEBjb2xsZWN0aW9uIE9QVElPTlMge2lnbm9yZVJldnM6IGZhbHNlfSBSRVRVUk4gTkVXXG4gICAgYCwge2tleTogbGVhc2Uua2V5LCBvd25lcjogbGVhc2Uub3duZXJ9KTtcbiAgICBpZighcm93c1swXSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdkYXRhYmFzZV9wcm92aXNpb25pbmdfbGVhc2VfbG9zdCcpO1xuICAgIH1cbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2YgRXJyb3IgJiYgZXJyb3IubWVzc2FnZSA9PT0gJ2RhdGFiYXNlX3Byb3Zpc2lvbmluZ19sZWFzZV9sb3N0Jykge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcignZGF0YWJhc2VfcHJvdmlzaW9uaW5nX2Vycm9yJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBzYXZlRGF0YWJhc2VQcm92aXNpb25pbmdTdGF0ZSA9IGFzeW5jIChcbiAgY29udGV4dDogQXBpQ29udGV4dCxcbiAgbGVhc2U6IERhdGFiYXNlUHJvdmlzaW9uaW5nTGVhc2UsXG4gIG1ldGFkYXRhOiBEYXRhYmFzZUNvbm5lY3Rpb25NZXRhZGF0YVxuKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGNvbnN0IHNhZmVNZXRhZGF0YSA9IHtcbiAgICBhcHBJZDogbWV0YWRhdGEuYXBwSWQsXG4gICAgZGF0YWJhc2VOYW1lOiBtZXRhZGF0YS5kYXRhYmFzZU5hbWUsXG4gICAgZW52aXJvbm1lbnQ6IG1ldGFkYXRhLmVudmlyb25tZW50LFxuICAgIGhvc3Q6IG1ldGFkYXRhLmhvc3QsXG4gICAgcG9ydDogbWV0YWRhdGEucG9ydCxcbiAgICBzZWNyZXRBcm46IG1ldGFkYXRhLnNlY3JldEFybixcbiAgICBzZWNyZXROYW1lOiBtZXRhZGF0YS5zZWNyZXROYW1lLFxuICAgIHN0YXR1czogbWV0YWRhdGEuc3RhdHVzLFxuICAgIHVzZXJuYW1lOiBtZXRhZGF0YS51c2VybmFtZVxuICB9O1xuICB0cnkge1xuICAgIGNvbnN0IHJvd3MgPSBhd2FpdCBydW5RdWVyeShjb250ZXh0LCBgJHtmZW5jZWRRdWVyeX1cbiAgICAgIEBtZXRhZGF0YSBJTiBAQGNvbGxlY3Rpb24gT1BUSU9OUyB7aWdub3JlUmV2czogZmFsc2V9IFJFVFVSTiBORVdcbiAgICBgLCB7a2V5OiBsZWFzZS5rZXksIG1ldGFkYXRhOiBzYWZlTWV0YWRhdGEsIG93bmVyOiBsZWFzZS5vd25lcn0pO1xuICAgIGlmKCFyb3dzWzBdKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2RhdGFiYXNlX3Byb3Zpc2lvbmluZ19sZWFzZV9sb3N0Jyk7XG4gICAgfVxuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBFcnJvciAmJiBlcnJvci5tZXNzYWdlID09PSAnZGF0YWJhc2VfcHJvdmlzaW9uaW5nX2xlYXNlX2xvc3QnKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKCdkYXRhYmFzZV9wcm92aXNpb25pbmdfZXJyb3InKTtcbiAgfVxufTtcbiJdLCJuYW1lcyI6WyJyYW5kb21VVUlEIiwidXNlRGIiLCJjb2xsZWN0aW9uTmFtZSIsInR0bE1zIiwiY29sbGVjdGlvbkJpbmQiLCJnZXRDb250cm9sRGIiLCJjb250ZXh0IiwiZGF0YWJhc2VOYW1lIiwiRXJyb3IiLCJpc0Vycm9yTnVtYmVyIiwiZXJyb3IiLCJjb2RlcyIsImluY2x1ZGVzIiwiZXJyb3JOdW0iLCJ0b0xlYXNlIiwicm93IiwiZXhwaXJlc0F0Iiwia2V5IiwiX2tleSIsIm93bmVyIiwicnVuUXVlcnkiLCJxdWVyeSIsImJpbmRWYXJzIiwiY3Vyc29yIiwiYWxsIiwiZmVuY2VkUXVlcnkiLCJhY3F1aXJlRGF0YWJhc2VQcm92aXNpb25pbmdMZWFzZSIsImlkZW50aXR5IiwiYXBwSWQiLCJlbnZpcm9ubWVudCIsImNvbGxlY3Rpb24iLCJjcmVhdGUiLCJyb3dzIiwiYXR0ZW1wdCIsIm1lc3NhZ2UiLCJyZW5ld0RhdGFiYXNlUHJvdmlzaW9uaW5nTGVhc2UiLCJsZWFzZSIsInJlbGVhc2VEYXRhYmFzZVByb3Zpc2lvbmluZ0xlYXNlIiwic2F2ZURhdGFiYXNlUHJvdmlzaW9uaW5nU3RhdGUiLCJtZXRhZGF0YSIsInNhZmVNZXRhZGF0YSIsImhvc3QiLCJwb3J0Iiwic2VjcmV0QXJuIiwic2VjcmV0TmFtZSIsInN0YXR1cyIsInVzZXJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxVQUFVLFFBQU8sY0FBYztBQUV2QyxTQUFRQyxLQUFLLFFBQU8sNEJBQTRCO0FBS2hELE1BQU1DLGlCQUFpQjtBQUN2QixNQUFNQyxRQUFRO0FBQ2QsTUFBTUMsaUJBQWlCO0lBQUMsZUFBZUY7QUFBYztBQUtyRCxNQUFNRyxlQUFlLENBQUNDO0lBQ3BCLElBQUcsQ0FBQ0EsUUFBUUMsWUFBWSxFQUFFO1FBQ3hCLE1BQU0sSUFBSUMsTUFBTTtJQUNsQjtJQUNBLE9BQU9QLE1BQU1LLFFBQVFDLFlBQVk7QUFDbkM7QUFFQSxNQUFNRSxnQkFBZ0IsQ0FBQ0MsT0FBZ0IsR0FBR0MsUUFDeENBLE1BQU1DLFFBQVEsQ0FBQyxBQUFDRixPQUFnQ0csWUFBWSxDQUFDO0FBRS9ELE1BQU1DLFVBQVUsQ0FBQ0MsTUFBOEMsQ0FBQTtRQUM3REMsV0FBV0QsSUFBSUMsU0FBUztRQUN4QixnREFBZ0Q7UUFDaERDLEtBQUtGLElBQUlHLElBQUk7UUFDYkMsT0FBT0osSUFBSUksS0FBSztJQUNsQixDQUFBO0FBRUEsTUFBTUMsV0FBVyxPQUFPZCxTQUFxQmUsT0FBZUM7SUFDMUQsTUFBTUMsU0FBUyxNQUFNbEIsYUFBYUMsU0FBU2UsS0FBSyxDQUFXO1FBQUNDLFVBQVU7WUFBQyxHQUFHbEIsY0FBYztZQUFFLEdBQUdrQixRQUFRO1FBQUE7UUFBR0Q7SUFBSztJQUM3RyxPQUFPRSxP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
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3Ly5jb2RleC93b3JrdHJlZXMvdmF1bHQtczMtcmVsZWFzZS9yZWFrdG9yL3BhY2thZ2VzL3JlYWt0b3Ivc3JjL2FjdGlvbnMvZGF0YWJhc2VQcm92aXNpb25pbmdMZWFzZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3JhbmRvbVVVSUR9IGZyb20gJ25vZGU6Y3J5cHRvJztcblxuaW1wb3J0IHt1c2VEYn0gZnJvbSAnLi4vdXRpbHMvYXJhbmdvZGJVdGlscy5qcyc7XG5cbmltcG9ydCB0eXBlIHtBcGlDb250ZXh0fSBmcm9tICcuLi90eXBlcy9hdXRoLnR5cGVzLmpzJztcbmltcG9ydCB0eXBlIHtEYXRhYmFzZUNvbm5lY3Rpb25NZXRhZGF0YSwgRGF0YWJhc2VDcmVkZW50aWFsSWRlbnRpdHksIERhdGFiYXNlUHJvdmlzaW9uaW5nTGVhc2V9IGZyb20gJy4uL3R5cGVzL2RhdGFiYXNlQ3JlZGVudGlhbHMudHlwZXMuanMnO1xuXG5jb25zdCBjb2xsZWN0aW9uTmFtZSA9ICdkYXRhYmFzZVByb3Zpc2lvbmluZ0xlYXNlcyc7XG5jb25zdCB0dGxNcyA9IDEyMF8wMDA7XG5jb25zdCBjb2xsZWN0aW9uQmluZCA9IHsnQGNvbGxlY3Rpb24nOiBjb2xsZWN0aW9uTmFtZX07XG5cbnR5cGUgTGVhc2VSb3cgPSB7X2tleTogc3RyaW5nOyBvd25lcjogc3RyaW5nOyBleHBpcmVzQXQ6IG51bWJlcn07XG50eXBlIERhdGFiYXNlRXJyb3IgPSB7ZXJyb3JOdW0/OiBudW1iZXJ9O1xuXG5jb25zdCBnZXRDb250cm9sRGIgPSAoY29udGV4dDogQXBpQ29udGV4dCkgPT4ge1xuICBpZighY29udGV4dC5kYXRhYmFzZU5hbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2RhdGFiYXNlX3Byb3Zpc2lvbmluZ19jb250cm9sX2RhdGFiYXNlX3JlcXVpcmVkJyk7XG4gIH1cbiAgcmV0dXJuIHVzZURiKGNvbnRleHQuZGF0YWJhc2VOYW1lKTtcbn07XG5cbmNvbnN0IGlzRXJyb3JOdW1iZXIgPSAoZXJyb3I6IHVua25vd24sIC4uLmNvZGVzOiBudW1iZXJbXSk6IGJvb2xlYW4gPT5cbiAgY29kZXMuaW5jbHVkZXMoKGVycm9yIGFzIERhdGFiYXNlRXJyb3IgfCBudWxsKT8uZXJyb3JOdW0gPz8gLTEpO1xuXG5jb25zdCB0b0xlYXNlID0gKHJvdzogTGVhc2VSb3cpOiBEYXRhYmFzZVByb3Zpc2lvbmluZ0xlYXNlID0+ICh7XG4gIGV4cGlyZXNBdDogcm93LmV4cGlyZXNBdCxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG4gIGtleTogcm93Ll9rZXksXG4gIG93bmVyOiByb3cub3duZXJcbn0pO1xuXG5jb25zdCBydW5RdWVyeSA9IGFzeW5jIChjb250ZXh0OiBBcGlDb250ZXh0LCBxdWVyeTogc3RyaW5nLCBiaW5kVmFyczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBQcm9taXNlPExlYXNlUm93W10+ID0+IHtcbiAgY29uc3QgY3Vyc29yID0gYXdhaXQgZ2V0Q29udHJvbERiKGNvbnRleHQpLnF1ZXJ5PExlYXNlUm93Pih7YmluZFZhcnM6IHsuLi5jb2xsZWN0aW9uQmluZCwgLi4uYmluZFZhcnN9LCBxdWVyeX0pO1xuICByZXR1cm4gY3Vyc29yLmFsbCgpO1xufTtcblxuY29uc3QgZmVuY2VkUXVlcnkgPSBgXG4gIEZPUiBkb2MgSU4gQEBjb2xsZWN0aW9uXG4gICAgRklMVEVSIGRvYy5fa2V5ID09IEBrZXkgQU5EIGRvYy5vd25lciA9PSBAb3duZXIgQU5EIGRvYy5leHBpcmVzQXQgPiBEQVRFX05PVygpXG4gICAgVVBEQVRFIHtfa2V5OiBkb2MuX2tleSwgX3JldjogZG9jLl9yZXZ9IFdJVEggYDtcblxuZXhwb3J0IGNvbnN0IGFjcXVpcmVEYXRhYmFzZVByb3Zpc2lvbmluZ0xlYXNlID0gYXN5bmMgKFxuICBjb250ZXh0OiBBcGlDb250ZXh0LFxuICBpZGVudGl0eTogRGF0YWJhc2VDcmVkZW50aWFsSWRlbnRpdHlcbik6IFByb21pc2U8RGF0YWJhc2VQcm92aXNpb25pbmdMZWFzZT4gPT4ge1xuICBjb25zdCBrZXkgPSBgJHtpZGVudGl0eS5hcHBJZH0tJHtpZGVudGl0eS5lbnZpcm9ubWVudH1gO1xuICBjb25zdCBvd25lciA9IHJhbmRvbVVVSUQoKTtcbiAgaWYoIWNvbnRleHQuZGF0YWJhc2VOYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdkYXRhYmFzZV9wcm92aXNpb25pbmdfY29udHJvbF9kYXRhYmFzZV9yZXF1aXJlZCcpO1xuICB9XG4gIHRyeSB7XG4gICAgYXdhaXQgZ2V0Q29udHJvbERiKGNvbnRleHQpLmNvbGxlY3Rpb24oY29sbGVjdGlvbk5hbWUpLmNyZWF0ZSgpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoIWlzRXJyb3JOdW1iZXIoZXJyb3IsIDEyMDcpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2RhdGFiYXNlX3Byb3Zpc2lvbmluZ19lcnJvcicpO1xuICAgIH1cbiAgfVxuICB0cnkge1xuICAgIGNvbnN0IHJvd3MgPSBhd2FpdCBydW5RdWVyeShjb250ZXh0LCBgXG4gICAgICBJTlNFUlQge19rZXk6IEBrZXksIG93bmVyOiBAb3duZXIsIGV4cGlyZXNBdDogREFURV9OT1coKSArIEB0dGxNc31cbiAgICAgIElOVE8gQEBjb2xsZWN0aW9uIFJFVFVSTiBORVdcbiAgICBgLCB7a2V5LCBvd25lciwgdHRsTXN9KTtcbiAgICByZXR1cm4gdG9MZWFzZShyb3dzWzBdKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKCFpc0Vycm9yTnVtYmVyKGVycm9yLCAxMjEwKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdkYXRhYmFzZV9wcm92aXNpb25pbmdfZXJyb3InKTtcbiAgICB9XG4gIH1cbiAgZm9yKGxldCBhdHRlbXB0ID0gMDsgYXR0ZW1wdCA8IDM7IGF0dGVtcHQrKykge1xuICAgIHRyeSB7XG4gICAgICAvLyBBIHdyaXRlIGNvbmZsaWN0IG1lYW5zIGFub3RoZXIgb3duZXIgbWF5IGhhdmUgdGFrZW4gb3ZlcjsgcmV0cnkgdGhlIGZlbmNlZCB1cGRhdGUuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYXdhaXQtaW4tbG9vcFxuICAgICAgY29uc3Qgcm93cyA9IGF3YWl0IHJ1blF1ZXJ5KGNvbnRleHQsIGBcbiAgICAgICAgRk9SIGRvYyBJTiBAQGNvbGxlY3Rpb25cbiAgICAgICAgICBGSUxURVIgZG9jLl9rZXkgPT0gQGtleSBBTkQgZG9jLmV4cGlyZXNBdCA8PSBEQVRFX05PVygpXG4gICAgICAgICAgVVBEQVRFIHtfa2V5OiBkb2MuX2tleSwgX3JldjogZG9jLl9yZXZ9IFdJVEhcbiAgICAgICAgICAgIHtvd25lcjogQG93bmVyLCBleHBpcmVzQXQ6IERBVEVfTk9XKCkgKyBAdHRsTXN9XG4gICAgICAgICAgSU4gQEBjb2xsZWN0aW9uIE9QVElPTlMge2lnbm9yZVJldnM6IGZhbHNlfVxuICAgICAgICAgIFJFVFVSTiBORVdcbiAgICAgIGAsIHtrZXksIG93bmVyLCB0dGxNc30pO1xuICAgICAgaWYocm93c1swXSkge1xuICAgICAgICByZXR1cm4gdG9MZWFzZShyb3dzWzBdKTtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFcnJvcignZGF0YWJhc2VfcHJvdmlzaW9uaW5nX2J1c3knKTtcbiAgICB9IGNhdGNoKGVycm9yKSB7XG4gICAgICBpZihpc0Vycm9yTnVtYmVyKGVycm9yLCAxMjAwKSAmJiBhdHRlbXB0IDwgMikge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmKGVycm9yIGluc3RhbmNlb2YgRXJyb3IgJiYgZXJyb3IubWVzc2FnZSA9PT0gJ2RhdGFiYXNlX3Byb3Zpc2lvbmluZ19idXN5Jykge1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFcnJvcignZGF0YWJhc2VfcHJvdmlzaW9uaW5nX2Vycm9yJyk7XG4gICAgfVxuICB9XG4gIHRocm93IG5ldyBFcnJvcignZGF0YWJhc2VfcHJvdmlzaW9uaW5nX2J1c3knKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZW5ld0RhdGFiYXNlUHJvdmlzaW9uaW5nTGVhc2UgPSBhc3luYyAoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIGxlYXNlOiBEYXRhYmFzZVByb3Zpc2lvbmluZ0xlYXNlXG4pOiBQcm9taXNlPERhdGFiYXNlUHJvdmlzaW9uaW5nTGVhc2U+ID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCByb3dzID0gYXdhaXQgcnVuUXVlcnkoY29udGV4dCwgYCR7ZmVuY2VkUXVlcnl9XG4gICAgICB7ZXhwaXJlc0F0OiBEQVRFX05PVygpICsgQHR0bE1zfVxuICAgICAgSU4gQEBjb2xsZWN0aW9uIE9QVElPTlMge2lnbm9yZVJldnM6IGZhbHNlfSBSRVRVUk4gTkVXXG4gICAgYCwge2tleTogbGVhc2Uua2V5LCBvd25lcjogbGVhc2Uub3duZXIsIHR0bE1zfSk7XG4gICAgaWYoIXJvd3NbMF0pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZGF0YWJhc2VfcHJvdmlzaW9uaW5nX2xlYXNlX2xvc3QnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRvTGVhc2Uocm93c1swXSk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIEVycm9yICYmIGVycm9yLm1lc3NhZ2UgPT09ICdkYXRhYmFzZV9wcm92aXNpb25pbmdfbGVhc2VfbG9zdCcpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2RhdGFiYXNlX3Byb3Zpc2lvbmluZ19lcnJvcicpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcmVsZWFzZURhdGFiYXNlUHJvdmlzaW9uaW5nTGVhc2UgPSBhc3luYyAoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIGxlYXNlOiBEYXRhYmFzZVByb3Zpc2lvbmluZ0xlYXNlXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCByb3dzID0gYXdhaXQgcnVuUXVlcnkoY29udGV4dCwgYCR7ZmVuY2VkUXVlcnl9XG4gICAgICB7b3duZXI6IG51bGwsIGV4cGlyZXNBdDogMH1cbiAgICAgIElOIEBAY29sbGVjdGlvbiBPUFRJT05TIHtpZ25vcmVSZXZzOiBmYWxzZX0gUkVUVVJOIE5FV1xuICAgIGAsIHtrZXk6IGxlYXNlLmtleSwgb3duZXI6IGxlYXNlLm93bmVyfSk7XG4gICAgaWYoIXJvd3NbMF0pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZGF0YWJhc2VfcHJvdmlzaW9uaW5nX2xlYXNlX2xvc3QnKTtcbiAgICB9XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIEVycm9yICYmIGVycm9yLm1lc3NhZ2UgPT09ICdkYXRhYmFzZV9wcm92aXNpb25pbmdfbGVhc2VfbG9zdCcpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2RhdGFiYXNlX3Byb3Zpc2lvbmluZ19lcnJvcicpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgc2F2ZURhdGFiYXNlUHJvdmlzaW9uaW5nU3RhdGUgPSBhc3luYyAoXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIGxlYXNlOiBEYXRhYmFzZVByb3Zpc2lvbmluZ0xlYXNlLFxuICBtZXRhZGF0YTogRGF0YWJhc2VDb25uZWN0aW9uTWV0YWRhdGFcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCBzYWZlTWV0YWRhdGEgPSB7XG4gICAgYXBwSWQ6IG1ldGFkYXRhLmFwcElkLFxuICAgIGRhdGFiYXNlTmFtZTogbWV0YWRhdGEuZGF0YWJhc2VOYW1lLFxuICAgIGVudmlyb25tZW50OiBtZXRhZGF0YS5lbnZpcm9ubWVudCxcbiAgICBob3N0OiBtZXRhZGF0YS5ob3N0LFxuICAgIHBvcnQ6IG1ldGFkYXRhLnBvcnQsXG4gICAgc2VjcmV0QXJuOiBtZXRhZGF0YS5zZWNyZXRBcm4sXG4gICAgc2VjcmV0TmFtZTogbWV0YWRhdGEuc2VjcmV0TmFtZSxcbiAgICBzdGF0dXM6IG1ldGFkYXRhLnN0YXR1cyxcbiAgICB1c2VybmFtZTogbWV0YWRhdGEudXNlcm5hbWVcbiAgfTtcbiAgdHJ5IHtcbiAgICBjb25zdCByb3dzID0gYXdhaXQgcnVuUXVlcnkoY29udGV4dCwgYCR7ZmVuY2VkUXVlcnl9XG4gICAgICBAbWV0YWRhdGEgSU4gQEBjb2xsZWN0aW9uIE9QVElPTlMge2lnbm9yZVJldnM6IGZhbHNlfSBSRVRVUk4gTkVXXG4gICAgYCwge2tleTogbGVhc2Uua2V5LCBtZXRhZGF0YTogc2FmZU1ldGFkYXRhLCBvd25lcjogbGVhc2Uub3duZXJ9KTtcbiAgICBpZighcm93c1swXSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdkYXRhYmFzZV9wcm92aXNpb25pbmdfbGVhc2VfbG9zdCcpO1xuICAgIH1cbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2YgRXJyb3IgJiYgZXJyb3IubWVzc2FnZSA9PT0gJ2RhdGFiYXNlX3Byb3Zpc2lvbmluZ19sZWFzZV9sb3N0Jykge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcignZGF0YWJhc2VfcHJvdmlzaW9uaW5nX2Vycm9yJyk7XG4gIH1cbn07XG4iXSwibmFtZXMiOlsicmFuZG9tVVVJRCIsInVzZURiIiwiY29sbGVjdGlvbk5hbWUiLCJ0dGxNcyIsImNvbGxlY3Rpb25CaW5kIiwiZ2V0Q29udHJvbERiIiwiY29udGV4dCIsImRhdGFiYXNlTmFtZSIsIkVycm9yIiwiaXNFcnJvck51bWJlciIsImVycm9yIiwiY29kZXMiLCJpbmNsdWRlcyIsImVycm9yTnVtIiwidG9MZWFzZSIsInJvdyIsImV4cGlyZXNBdCIsImtleSIsIl9rZXkiLCJvd25lciIsInJ1blF1ZXJ5IiwicXVlcnkiLCJiaW5kVmFycyIsImN1cnNvciIsImFsbCIsImZlbmNlZFF1ZXJ5IiwiYWNxdWlyZURhdGFiYXNlUHJvdmlzaW9uaW5nTGVhc2UiLCJpZGVudGl0eSIsImFwcElkIiwiZW52aXJvbm1lbnQiLCJjb2xsZWN0aW9uIiwiY3JlYXRlIiwicm93cyIsImF0dGVtcHQiLCJtZXNzYWdlIiwicmVuZXdEYXRhYmFzZVByb3Zpc2lvbmluZ0xlYXNlIiwibGVhc2UiLCJyZWxlYXNlRGF0YWJhc2VQcm92aXNpb25pbmdMZWFzZSIsInNhdmVEYXRhYmFzZVByb3Zpc2lvbmluZ1N0YXRlIiwibWV0YWRhdGEiLCJzYWZlTWV0YWRhdGEiLCJob3N0IiwicG9ydCIsInNlY3JldEFybiIsInNlY3JldE5hbWUiLCJzdGF0dXMiLCJ1c2VybmFtZSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsVUFBVSxRQUFPLGNBQWM7QUFFdkMsU0FBUUMsS0FBSyxRQUFPLDRCQUE0QjtBQUtoRCxNQUFNQyxpQkFBaUI7QUFDdkIsTUFBTUMsUUFBUTtBQUNkLE1BQU1DLGlCQUFpQjtJQUFDLGVBQWVGO0FBQWM7QUFLckQsTUFBTUcsZUFBZSxDQUFDQztJQUNwQixJQUFHLENBQUNBLFFBQVFDLFlBQVksRUFBRTtRQUN4QixNQUFNLElBQUlDLE1BQU07SUFDbEI7SUFDQSxPQUFPUCxNQUFNSyxRQUFRQyxZQUFZO0FBQ25DO0FBRUEsTUFBTUUsZ0JBQWdCLENBQUNDLE9BQWdCLEdBQUdDLFFBQ3hDQSxNQUFNQyxRQUFRLENBQUMsQUFBQ0YsT0FBZ0NHLFlBQVksQ0FBQztBQUUvRCxNQUFNQyxVQUFVLENBQUNDLE1BQThDLENBQUE7UUFDN0RDLFdBQVdELElBQUlDLFNBQVM7UUFDeEIsZ0RBQWdEO1FBQ2hEQyxLQUFLRixJQUFJRyxJQUFJO1FBQ2JDLE9BQU9KLElBQUlJLEtBQUs7SUFDbEIsQ0FBQTtBQUVBLE1BQU1DLFdBQVcsT0FBT2QsU0FBcUJlLE9BQWVDO0lBQzFELE1BQU1DLFNBQVMsTUFBTWxCLGFBQWFDLFNBQVNlLEtBQUssQ0FBVztRQUFDQyxVQUFVO1lBQUMsR0FBR2xCLGNBQWM7WUFBRSxHQUFHa0IsUUFBUTtRQUFBO1FB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
|
package/lib/actions/dynamodb.js
CHANGED
|
@@ -116,4 +116,4 @@ export const dynamoDel = (params)=>new Promise((resolve, reject)=>{
|
|
|
116
116
|
});
|
|
117
117
|
});
|
|
118
118
|
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3IvcGFja2FnZXMvcmVha3Rvci9zcmMvYWN0aW9ucy9keW5hbW9kYi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBVc2UgaXMgc3ViamVjdCB0byB0aGUgYWNjb21wYW55aW5nIGNvbW1lcmNpYWwgTElDRU5TRS5cbiAqL1xuaW1wb3J0IHtcbiAgQmF0Y2hXcml0ZUl0ZW1Db21tYW5kSW5wdXQsXG4gIEJhdGNoV3JpdGVJdGVtQ29tbWFuZE91dHB1dCxcbiAgRGVsZXRlSXRlbUNvbW1hbmRJbnB1dCxcbiAgRGVsZXRlSXRlbUNvbW1hbmRPdXRwdXQsXG4gIER5bmFtb0RCLFxuICBHZXRJdGVtQ29tbWFuZElucHV0LFxuICBHZXRJdGVtQ29tbWFuZE91dHB1dCxcbiAgUHV0SXRlbUNvbW1hbmRJbnB1dCxcbiAgUHV0SXRlbUNvbW1hbmRPdXRwdXQsXG4gIFF1ZXJ5Q29tbWFuZElucHV0LFxuICBRdWVyeUNvbW1hbmRPdXRwdXQsXG4gIFVwZGF0ZUl0ZW1Db21tYW5kSW5wdXQsXG4gIFVwZGF0ZUl0ZW1Db21tYW5kT3V0cHV0XG59IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1keW5hbW9kYic7XG5cbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuLi9jb25maWcuanMnO1xuXG4vLyBjb25zdCBldmVudENhdGVnb3J5ID0gJ2R5bmFtb2RiJztcbmV4cG9ydCBjb25zdCBkeW5hbW9HZXQgPSAocGFyYW1zOiBHZXRJdGVtQ29tbWFuZElucHV0KTogUHJvbWlzZTxHZXRJdGVtQ29tbWFuZE91dHB1dD4gPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGR5bmFtb2RiID0gbmV3IER5bmFtb0RCKHtcbiAgICAgIGNyZWRlbnRpYWxzOiBDb25maWcuZ2V0KCdhd3MuY3JlZGVudGlhbHMnKSxcbiAgICAgIHJlZ2lvbjogQ29uZmlnLmdldCgnYXdzLnJlZ2lvbicpXG4gICAgfSk7XG4gICAgcGFyYW1zLkNvbnNpc3RlbnRSZWFkID0gZmFsc2U7XG5cbiAgICBkeW5hbW9kYi5nZXRJdGVtKHBhcmFtcywgKGVycm9yOiBFcnJvciwgcmVzdWx0czogR2V0SXRlbUNvbW1hbmRPdXRwdXQpID0+IHtcbiAgICAgIGlmKGVycm9yKSB7XG4gICAgICAgIHJldHVybiByZWplY3QoZXJyb3IpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzb2x2ZShyZXN1bHRzKTtcbiAgICB9KTtcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBwYXJzZUR5bmFtb0xpc3QgPSAocmVzdWx0czogUXVlcnlDb21tYW5kT3V0cHV0KTogYW55W10gPT4ge1xuICBjb25zdCB7SXRlbXM6IGl0ZW1zID0gW119ID0gcmVzdWx0cztcbiAgY29uc3QgZGF0YTogYW55W10gPSBbXTtcblxuXG4gIGZvcihsZXQgaWR4ID0gMCwgbGVuID0gaXRlbXMubGVuZ3RoOyBpZHggPCBsZW47IGlkeCsrKSB7XG4gICAgY29uc3QgdG1wID0gaXRlbXNbaWR4XTtcbiAgICBjb25zdCBvYmogPSB7fTtcbiAgICBsZXQga2V5O1xuXG4gICAgZm9yKGtleSBpbiB0bXApIHtcbiAgICAgIGlmKHRtcC5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgIGlmKHRtcFtrZXldLlMpIHtcbiAgICAgICAgICBvYmpba2V5XSA9IHRtcFtrZXldLlMudG9TdHJpbmcoKTtcbiAgICAgICAgfSBlbHNlIGlmKHRtcFtrZXldLk4pIHtcbiAgICAgICAgICBvYmpba2V5XSA9IHBhcnNlRmxvYXQodG1wW2tleV0uTik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb2JqW2tleV0gPSB0bXBba2V5XS5CO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGF0YS5wdXNoKG9iaik7XG4gIH1cblxuICByZXR1cm4gZGF0YTtcbn07XG5cbmV4cG9ydCBjb25zdCBkeW5hbW9HZXRMaXN0ID0gKHBhcmFtczogUXVlcnlDb21tYW5kSW5wdXQsIHN0YXJ0SXRlbT8pOiBQcm9taXNlPEdldEl0ZW1Db21tYW5kT3V0cHV0W10+ID0+XG4gIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBkeW5hbW9kYiA9IG5ldyBEeW5hbW9EQih7XG4gICAgICBjcmVkZW50aWFsczogQ29uZmlnLmdldCgnYXdzLmNyZWRlbnRpYWxzJyksXG4gICAgICByZWdpb246IENvbmZpZy5nZXQoJ2F3cy5yZWdpb24nKVxuICAgIH0pO1xuICAgIGNvbnN0IHtDb25zaXN0ZW50UmVhZDogY29uc2lzdGVudFJlYWR9ID0gcGFyYW1zO1xuICAgIGNvbnN0IHVwZGF0ZWRQYXJhbXMgPSB7Li4ucGFyYW1zfTtcblxuICAgIGlmKHN0YXJ0SXRlbSkge1xuICAgICAgdXBkYXRlZFBhcmFtcy5FeGNsdXNpdmVTdGFydEtleSA9IHN0YXJ0SXRlbTtcbiAgICB9XG5cbiAgICBpZighY29uc2lzdGVudFJlYWQpIHtcbiAgICAgIHVwZGF0ZWRQYXJhbXMuQ29uc2lzdGVudFJlYWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBsaXN0ID0gW107XG5cbiAgICBkeW5hbW9kYi5xdWVyeSh1cGRhdGVkUGFyYW1zLCAoZXJyb3I6IEVycm9yLCBvdXRwdXQ6IFF1ZXJ5Q29tbWFuZE91dHB1dCkgPT4ge1xuICAgICAgaWYoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvcik7XG4gICAgICB9XG5cbiAgICAgIGxpc3QucHVzaCguLi4ocGFyc2VEeW5hbW9MaXN0KG91dHB1dCkgfHwgW10pKTtcblxuICAgICAgY29uc3Qge0xhc3RFdmFsdWF0ZWRLZXk6IGxhc3RLZXl9ID0gb3V0cHV0O1xuXG4gICAgICBpZihsYXN0S2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGR5bmFtb0dldExpc3QocGFyYW1zLCBsYXN0S2V5KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc29sdmUobGlzdCk7XG4gICAgfSk7XG4gIH0pO1xuXG5leHBvcnQgY29uc3QgZHluYW1vUHV0ID0gKHBhcmFtczogUHV0SXRlbUNvbW1hbmRJbnB1dCk6IFByb21pc2U8UHV0SXRlbUNvbW1hbmRPdXRwdXQ+ID0+XG4gIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBkeW5hbW9kYiA9IG5ldyBEeW5hbW9EQih7XG4gICAgICBjcmVkZW50aWFsczogQ29uZmlnLmdldCgnYXdzLmNyZWRlbnRpYWxzJyksXG4gICAgICByZWdpb246IENvbmZpZy5nZXQoJ2F3cy5yZWdpb24nKVxuICAgIH0pO1xuXG4gICAgZHluYW1vZGIucHV0SXRlbShwYXJhbXMsIChlcnJvciwgb3V0cHV0OiBQdXRJdGVtQ29tbWFuZE91dHB1dCkgPT4ge1xuICAgICAgaWYoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvcik7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzb2x2ZShvdXRwdXQpO1xuICAgIH0pO1xuICB9KTtcblxuZXhwb3J0IGNvbnN0IGR5bmFtb1VwZGF0ZSA9IChwYXJhbXM6IFVwZGF0ZUl0ZW1Db21tYW5kSW5wdXQpOiBQcm9taXNlPFVwZGF0ZUl0ZW1Db21tYW5kT3V0cHV0PiA9PlxuICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgZHluYW1vZGIgPSBuZXcgRHluYW1vREIoe1xuICAgICAgY3JlZGVudGlhbHM6IENvbmZpZy5nZXQoJ2F3cy5jcmVkZW50aWFscycpLFxuICAgICAgcmVnaW9uOiBDb25maWcuZ2V0KCdhd3MucmVnaW9uJylcbiAgICB9KTtcblxuICAgIGR5bmFtb2RiLnVwZGF0ZUl0ZW0ocGFyYW1zLCAoZXJyb3I6IEVycm9yLCBvdXRwdXQ6IFVwZGF0ZUl0ZW1Db21tYW5kT3V0cHV0KSA9PiB7XG4gICAgICBpZihlcnJvcikge1xuICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9yKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXNvbHZlKG91dHB1dCk7XG4gICAgfSk7XG4gIH0pO1xuXG5leHBvcnQgY29uc3QgZHluYW1vUHV0TGlzdCA9IChwYXJhbXM6IEJhdGNoV3JpdGVJdGVtQ29tbWFuZElucHV0KTogUHJvbWlzZTxCYXRjaFdyaXRlSXRlbUNvbW1hbmRPdXRwdXQ+ID0+XG4gIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBkeW5hbW9kYiA9IG5ldyBEeW5hbW9EQih7XG4gICAgICBjcmVkZW50aWFsczogQ29uZmlnLmdldCgnYXdzLmNyZWRlbnRpYWxzJyksXG4gICAgICByZWdpb246IENvbmZpZy5nZXQoJ2F3cy5yZWdpb24nKVxuICAgIH0pO1xuXG4gICAgZHluYW1vZGIuYmF0Y2hXcml0ZUl0ZW0ocGFyYW1zLCAoZXJyb3I6IEVycm9yLCBvdXRwdXQ6IEJhdGNoV3JpdGVJdGVtQ29tbWFuZE91dHB1dCkgPT4ge1xuICAgICAgaWYoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvcik7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzb2x2ZShvdXRwdXQpO1xuICAgIH0pO1xuICB9KTtcblxuZXhwb3J0IGNvbnN0IGR5bmFtb0RlbCA9IChwYXJhbXM6IERlbGV0ZUl0ZW1Db21tYW5kSW5wdXQpOiBQcm9taXNlPERlbGV0ZUl0ZW1Db21tYW5kT3V0cHV0PiA9PlxuICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgZHluYW1vZGIgPSBuZXcgRHluYW1vREIoe1xuICAgICAgY3JlZGVudGlhbHM6IENvbmZpZy5nZXQoJ2F3cy5jcmVkZW50aWFscycpLFxuICAgICAgcmVnaW9uOiBDb25maWcuZ2V0KCdhd3MucmVnaW9uJylcbiAgICB9KTtcblxuICAgIGR5bmFtb2RiLmRlbGV0ZUl0ZW0ocGFyYW1zLCAoZXJyb3IsIG91dHB1dDogRGVsZXRlSXRlbUNvbW1hbmRPdXRwdXQpID0+IHtcbiAgICAgIGlmKGVycm9yKSB7XG4gICAgICAgIHJldHVybiByZWplY3QoZXJyb3IpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc29sdmUob3V0cHV0KTtcbiAgICB9KTtcbiAgfSk7XG4iXSwibmFtZXMiOlsiRHluYW1vREIiLCJDb25maWciLCJkeW5hbW9HZXQiLCJwYXJhbXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImR5bmFtb2RiIiwiY3JlZGVudGlhbHMiLCJnZXQiLCJyZWdpb24iLCJDb25zaXN0ZW50UmVhZCIsImdldEl0ZW0iLCJlcnJvciIsInJlc3VsdHMiLCJwYXJzZUR5bmFtb0xpc3QiLCJJdGVtcyIsIml0ZW1zIiwiZGF0YSIsImlkeCIsImxlbiIsImxlbmd0aCIsInRtcCIsIm9iaiIsImtleSIsImhhc093blByb3BlcnR5IiwiUyIsInRvU3RyaW5nIiwiTiIsInBhcnNlRmxvYXQiLCJCIiwicHVzaCIsImR5bmFtb0dldExpc3QiLCJzdGFydEl0ZW0iLCJjb25zaXN0ZW50UmVhZCIsInVwZGF0ZWRQYXJhbXMiLCJFeGNsdXNpdmVTdGFydEtleSIsImxpc3QiLCJxdWVyeSIsIm91dHB1dCIsIkxhc3RFdmFsdWF0ZWRLZXkiLCJsYXN0S2V5IiwidW5kZWZpbmVkIiwiZHluYW1vUHV0IiwicHV0SXRlbSIsImR5bmFtb1VwZGF0ZSIsInVwZGF0ZUl0ZW0iLCJkeW5hbW9QdXRMaXN0IiwiYmF0Y2hXcml0ZUl0ZW0iLCJkeW5hbW9EZWwiLCJkZWxldGVJdGVtIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxTQUtFQSxRQUFRLFFBU0gsMkJBQTJCO0FBRWxDLFNBQVFDLE1BQU0sUUFBTyxlQUFlO0FBRXBDLG9DQUFvQztBQUNwQyxPQUFPLE1BQU1DLFlBQVksQ0FBQ0MsU0FDeEIsSUFBSUMsUUFBUSxDQUFDQyxTQUFTQztRQUNwQixNQUFNQyxXQUFXLElBQUlQLFNBQVM7WUFDNUJRLGFBQWFQLE9BQU9RLEdBQUcsQ0FBQztZQUN4QkMsUUFBUVQsT0FBT1EsR0FBRyxDQUFDO1FBQ3JCO1FBQ0FOLE9BQU9RLGNBQWMsR0FBRztRQUV4QkosU0FBU0ssT0FBTyxDQUFDVCxRQUFRLENBQUNVLE9BQWNDO1lBQ3RDLElBQUdELE9BQU87Z0JBQ1IsT0FBT1AsT0FBT087WUFDaEI7WUFFQSxPQUFPUixRQUFRUztRQUNqQjtJQUNGLEdBQUc7QUFFTCxPQUFPLE1BQU1DLGtCQUFrQixDQUFDRDtJQUM5QixNQUFNLEVBQUNFLE9BQU9DLFFBQVEsRUFBRSxFQUFDLEdBQUdIO0lBQzVCLE1BQU1JLE9BQWMsRUFBRTtJQUd0QixJQUFJLElBQUlDLE1BQU0sR0FBR0MsTUFBTUgsTUFBTUksTUFBTSxFQUFFRixNQUFNQyxLQUFLRCxNQUFPO1FBQ3JELE1BQU1HLE1BQU1MLEtBQUssQ0FBQ0UsSUFBSTtRQUN0QixNQUFNSSxNQUFNLENBQUM7UUFDYixJQUFJQztRQUVKLElBQUlBLE9BQU9GLElBQUs7WUFDZCxJQUFHQSxJQUFJRyxjQUFjLENBQUNELE1BQU07Z0JBQzFCLElBQUdGLEdBQUcsQ0FBQ0UsSUFBSSxDQUFDRSxDQUFDLEVBQUU7b0JBQ2JILEdBQUcsQ0FBQ0MsSUFBSSxHQUFHRixHQUFHLENBQUNFLElBQUksQ0FBQ0UsQ0FBQyxDQUFDQyxRQUFRO2dCQUNoQyxPQUFPLElBQUdMLEdBQUcsQ0FBQ0UsSUFBSSxDQUFDSSxDQUFDLEVBQUU7b0JBQ3BCTCxHQUFHLENBQUNDLElBQUksR0FBR0ssV0FBV1AsR0FBRyxDQUFDRSxJQUFJLENBQUNJLENBQUM7Z0JBQ2xDLE9BQU87b0JBQ0xMLEdBQUcsQ0FBQ0MsSUFBSSxHQUFHRixHQUFHLENBQUNFLElBQUksQ0FBQ00sQ0FBQztnQkFDdkI7WUFDRjtRQUNGO1FBRUFaLEtBQUthLElBQUksQ0FBQ1I7SUFDWjtJQUVBLE9BQU9MO0FBQ1QsRUFBRTtBQUVGLE9BQU8sTUFBTWMsZ0JBQWdCLENBQUM3QixRQUEyQjhCLFlBQ3ZELElBQUk3QixRQUFRLENBQUNDLFNBQVNDO1FBQ3BCLE1BQU1DLFdBQVcsSUFBSVAsU0FBUztZQUM1QlEsYUFBYVAsT0FBT1EsR0FBRyxDQUFDO1lBQ3hCQyxRQUFRVCxPQUFPUSxHQUFHLENBQUM7UUFDckI7UUFDQSxNQUFNLEVBQUNFLGdCQUFnQnVCLGNBQWMsRUFBQyxHQUFHL0I7UUFDekMsTUFBTWdDLGdCQUFnQjtZQUFDLEdBQUdoQyxNQUFNO1FBQUE7UUFFaEMsSUFBRzhCLFdBQVc7WUFDWkUsY0FBY0MsaUJBQWlCLEdBQUdIO1FBQ3BDO1FBRUEsSUFBRyxDQUFDQyxnQkFBZ0I7WUFDbEJDLGNBQWN4QixjQUFjLEdBQUc7UUFDakM7UUFFQSxNQUFNMEIsT0FBTyxFQUFFO1FBRWY5QixTQUFTK0IsS0FBSyxDQUFDSCxlQUFlLENBQUN0QixPQUFjMEI7WUFDM0MsSUFBRzFCLE9BQU87Z0JBQ1IsT0FBT1AsT0FBT087WUFDaEI7WUFFQXdCLEtBQUtOLElBQUksSUFBS2hCLGdCQUFnQndCLFdBQVcsRUFBRTtZQUUzQyxNQUFNLEVBQUNDLGtCQUFrQkMsT0FBTyxFQUFDLEdBQUdGO1lBRXBDLElBQUdFLFlBQVlDLFdBQVc7Z0JBQ3hCLE9BQU9WLGNBQWM3QixRQUFRc0M7WUFDL0I7WUFFQSxPQUFPcEMsUUFBUWdDO1FBQ2pCO0lBQ0YsR0FBRztBQUVMLE9BQU8sTUFBTU0sWUFBWSxDQUFDeEMsU0FDeEIsSUFBSUMsUUFBUSxDQUFDQyxTQUFTQztRQUNwQixNQUFNQyxXQUFXLElBQUlQLFNBQVM7WUFDNUJRLGFBQWFQLE9BQU9RLEdBQUcsQ0FBQztZQUN4QkMsUUFBUVQsT0FBT1EsR0FBRyxDQUFDO1FBQ3JCO1FBRUFGLFNBQVNxQyxPQUFPLENBQUN6QyxRQUFRLENBQUNVLE9BQU8wQjtZQUMvQixJQUFHMUIsT0FBTztnQkFDUixPQUFPUCxPQUFPTztZQUNoQjtZQUNBLE9BQU9SLFFBQVFrQztRQUNqQjtJQUNGLEdBQUc7QUFFTCxPQUFPLE1BQU1NLGVBQWUsQ0FBQzFDLFNBQzNCLElBQUlDLFFBQVEsQ0FBQ0MsU0FBU0M7UUFDcEIsTUFBTUMsV0FBVyxJQUFJUCxTQUFTO1lBQzVCUSxhQUFhUCxPQUFPUSxHQUFHLENBQUM7WUFDeEJDLFFBQVFULE9BQU9RLEdBQUcsQ0FBQztRQUNyQjtRQUVBRixTQUFTdUMsVUFBVSxDQUFDM0MsUUFBUSxDQUFDVSxPQUFjMEI7WUFDekMsSUFBRzFCLE9BQU87Z0JBQ1IsT0FBT1AsT0FBT087WUFDaEI7WUFDQSxPQUFPUixRQUFRa0M7UUFDakI7SUFDRixHQUFHO0FBRUwsT0FBTyxNQUFNUSxnQkFBZ0IsQ0FBQzVDLFNBQzVCLElBQUlDLFFBQVEsQ0FBQ0MsU0FBU0M7UUFDcEIsTUFBTUMsV0FBVyxJQUFJUCxTQUFTO1lBQzVCUSxhQUFhUCxPQUFPUSxHQUFHLENBQUM7WUFDeEJDLFFBQVFULE9BQU9RLEdBQUcsQ0FBQztRQUNyQjtRQUVBRixTQUFTeUMsY0FBYyxDQUFDN0MsUUFBUSxDQUFDVSxPQUFjMEI7WUFDN0MsSUFBRzFCLE9BQU87Z0JBQ1IsT0FBT1AsT0FBT087WUFDaEI7WUFDQSxPQUFPUixRQUFRa0M7UUFDakI7SUFDRixHQUFHO0FBRUwsT0FBTyxNQUFNVSxZQUFZLENBQUM5QyxTQUN4QixJQUFJQyxRQUFRLENBQUNDLFNBQVNDO1FBQ3BCLE1BQU1DLFdBQVcsSUFBSVAsU0FBUztZQUM1QlEsYUFBYVAsT0FBT1EsR0FBRyxDQUFDO1lBQ3hCQyxRQUFRVCxPQUFPUSxHQUFHLENBQUM7UUFDckI7UUFFQUYsU0FBUzJDLFVBQVUsQ0FBQy9DLFFBQVEsQ0FBQ1UsT0FBTzBCO1lBQ2xDLElBQUcxQixPQUFPO2dCQUNSLE9BQU9QLE9BQU9PO1lBQ2hCO1lBQ0EsT0FBT1IsUUFBUWtDO1FBQ2pCO0lBQ0YsR0FBRyJ9
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3Ly5jb2RleC93b3JrdHJlZXMvdmF1bHQtczMtcmVsZWFzZS9yZWFrdG9yL3BhY2thZ2VzL3JlYWt0b3Ivc3JjL2FjdGlvbnMvZHluYW1vZGIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVXNlIGlzIHN1YmplY3QgdG8gdGhlIGFjY29tcGFueWluZyBjb21tZXJjaWFsIExJQ0VOU0UuXG4gKi9cbmltcG9ydCB7XG4gIEJhdGNoV3JpdGVJdGVtQ29tbWFuZElucHV0LFxuICBCYXRjaFdyaXRlSXRlbUNvbW1hbmRPdXRwdXQsXG4gIERlbGV0ZUl0ZW1Db21tYW5kSW5wdXQsXG4gIERlbGV0ZUl0ZW1Db21tYW5kT3V0cHV0LFxuICBEeW5hbW9EQixcbiAgR2V0SXRlbUNvbW1hbmRJbnB1dCxcbiAgR2V0SXRlbUNvbW1hbmRPdXRwdXQsXG4gIFB1dEl0ZW1Db21tYW5kSW5wdXQsXG4gIFB1dEl0ZW1Db21tYW5kT3V0cHV0LFxuICBRdWVyeUNvbW1hbmRJbnB1dCxcbiAgUXVlcnlDb21tYW5kT3V0cHV0LFxuICBVcGRhdGVJdGVtQ29tbWFuZElucHV0LFxuICBVcGRhdGVJdGVtQ29tbWFuZE91dHB1dFxufSBmcm9tICdAYXdzLXNkay9jbGllbnQtZHluYW1vZGInO1xuXG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnLmpzJztcblxuLy8gY29uc3QgZXZlbnRDYXRlZ29yeSA9ICdkeW5hbW9kYic7XG5leHBvcnQgY29uc3QgZHluYW1vR2V0ID0gKHBhcmFtczogR2V0SXRlbUNvbW1hbmRJbnB1dCk6IFByb21pc2U8R2V0SXRlbUNvbW1hbmRPdXRwdXQ+ID0+XG4gIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBkeW5hbW9kYiA9IG5ldyBEeW5hbW9EQih7XG4gICAgICBjcmVkZW50aWFsczogQ29uZmlnLmdldCgnYXdzLmNyZWRlbnRpYWxzJyksXG4gICAgICByZWdpb246IENvbmZpZy5nZXQoJ2F3cy5yZWdpb24nKVxuICAgIH0pO1xuICAgIHBhcmFtcy5Db25zaXN0ZW50UmVhZCA9IGZhbHNlO1xuXG4gICAgZHluYW1vZGIuZ2V0SXRlbShwYXJhbXMsIChlcnJvcjogRXJyb3IsIHJlc3VsdHM6IEdldEl0ZW1Db21tYW5kT3V0cHV0KSA9PiB7XG4gICAgICBpZihlcnJvcikge1xuICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9yKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc29sdmUocmVzdWx0cyk7XG4gICAgfSk7XG4gIH0pO1xuXG5leHBvcnQgY29uc3QgcGFyc2VEeW5hbW9MaXN0ID0gKHJlc3VsdHM6IFF1ZXJ5Q29tbWFuZE91dHB1dCk6IGFueVtdID0+IHtcbiAgY29uc3Qge0l0ZW1zOiBpdGVtcyA9IFtdfSA9IHJlc3VsdHM7XG4gIGNvbnN0IGRhdGE6IGFueVtdID0gW107XG5cblxuICBmb3IobGV0IGlkeCA9IDAsIGxlbiA9IGl0ZW1zLmxlbmd0aDsgaWR4IDwgbGVuOyBpZHgrKykge1xuICAgIGNvbnN0IHRtcCA9IGl0ZW1zW2lkeF07XG4gICAgY29uc3Qgb2JqID0ge307XG4gICAgbGV0IGtleTtcblxuICAgIGZvcihrZXkgaW4gdG1wKSB7XG4gICAgICBpZih0bXAuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICBpZih0bXBba2V5XS5TKSB7XG4gICAgICAgICAgb2JqW2tleV0gPSB0bXBba2V5XS5TLnRvU3RyaW5nKCk7XG4gICAgICAgIH0gZWxzZSBpZih0bXBba2V5XS5OKSB7XG4gICAgICAgICAgb2JqW2tleV0gPSBwYXJzZUZsb2F0KHRtcFtrZXldLk4pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9ialtrZXldID0gdG1wW2tleV0uQjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGRhdGEucHVzaChvYmopO1xuICB9XG5cbiAgcmV0dXJuIGRhdGE7XG59O1xuXG5leHBvcnQgY29uc3QgZHluYW1vR2V0TGlzdCA9IChwYXJhbXM6IFF1ZXJ5Q29tbWFuZElucHV0LCBzdGFydEl0ZW0/KTogUHJvbWlzZTxHZXRJdGVtQ29tbWFuZE91dHB1dFtdPiA9PlxuICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgZHluYW1vZGIgPSBuZXcgRHluYW1vREIoe1xuICAgICAgY3JlZGVudGlhbHM6IENvbmZpZy5nZXQoJ2F3cy5jcmVkZW50aWFscycpLFxuICAgICAgcmVnaW9uOiBDb25maWcuZ2V0KCdhd3MucmVnaW9uJylcbiAgICB9KTtcbiAgICBjb25zdCB7Q29uc2lzdGVudFJlYWQ6IGNvbnNpc3RlbnRSZWFkfSA9IHBhcmFtcztcbiAgICBjb25zdCB1cGRhdGVkUGFyYW1zID0gey4uLnBhcmFtc307XG5cbiAgICBpZihzdGFydEl0ZW0pIHtcbiAgICAgIHVwZGF0ZWRQYXJhbXMuRXhjbHVzaXZlU3RhcnRLZXkgPSBzdGFydEl0ZW07XG4gICAgfVxuXG4gICAgaWYoIWNvbnNpc3RlbnRSZWFkKSB7XG4gICAgICB1cGRhdGVkUGFyYW1zLkNvbnNpc3RlbnRSZWFkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgbGlzdCA9IFtdO1xuXG4gICAgZHluYW1vZGIucXVlcnkodXBkYXRlZFBhcmFtcywgKGVycm9yOiBFcnJvciwgb3V0cHV0OiBRdWVyeUNvbW1hbmRPdXRwdXQpID0+IHtcbiAgICAgIGlmKGVycm9yKSB7XG4gICAgICAgIHJldHVybiByZWplY3QoZXJyb3IpO1xuICAgICAgfVxuXG4gICAgICBsaXN0LnB1c2goLi4uKHBhcnNlRHluYW1vTGlzdChvdXRwdXQpIHx8IFtdKSk7XG5cbiAgICAgIGNvbnN0IHtMYXN0RXZhbHVhdGVkS2V5OiBsYXN0S2V5fSA9IG91dHB1dDtcblxuICAgICAgaWYobGFzdEtleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBkeW5hbW9HZXRMaXN0KHBhcmFtcywgbGFzdEtleSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXNvbHZlKGxpc3QpO1xuICAgIH0pO1xuICB9KTtcblxuZXhwb3J0IGNvbnN0IGR5bmFtb1B1dCA9IChwYXJhbXM6IFB1dEl0ZW1Db21tYW5kSW5wdXQpOiBQcm9taXNlPFB1dEl0ZW1Db21tYW5kT3V0cHV0PiA9PlxuICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgZHluYW1vZGIgPSBuZXcgRHluYW1vREIoe1xuICAgICAgY3JlZGVudGlhbHM6IENvbmZpZy5nZXQoJ2F3cy5jcmVkZW50aWFscycpLFxuICAgICAgcmVnaW9uOiBDb25maWcuZ2V0KCdhd3MucmVnaW9uJylcbiAgICB9KTtcblxuICAgIGR5bmFtb2RiLnB1dEl0ZW0ocGFyYW1zLCAoZXJyb3IsIG91dHB1dDogUHV0SXRlbUNvbW1hbmRPdXRwdXQpID0+IHtcbiAgICAgIGlmKGVycm9yKSB7XG4gICAgICAgIHJldHVybiByZWplY3QoZXJyb3IpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc29sdmUob3V0cHV0KTtcbiAgICB9KTtcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBkeW5hbW9VcGRhdGUgPSAocGFyYW1zOiBVcGRhdGVJdGVtQ29tbWFuZElucHV0KTogUHJvbWlzZTxVcGRhdGVJdGVtQ29tbWFuZE91dHB1dD4gPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGR5bmFtb2RiID0gbmV3IER5bmFtb0RCKHtcbiAgICAgIGNyZWRlbnRpYWxzOiBDb25maWcuZ2V0KCdhd3MuY3JlZGVudGlhbHMnKSxcbiAgICAgIHJlZ2lvbjogQ29uZmlnLmdldCgnYXdzLnJlZ2lvbicpXG4gICAgfSk7XG5cbiAgICBkeW5hbW9kYi51cGRhdGVJdGVtKHBhcmFtcywgKGVycm9yOiBFcnJvciwgb3V0cHV0OiBVcGRhdGVJdGVtQ29tbWFuZE91dHB1dCkgPT4ge1xuICAgICAgaWYoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvcik7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzb2x2ZShvdXRwdXQpO1xuICAgIH0pO1xuICB9KTtcblxuZXhwb3J0IGNvbnN0IGR5bmFtb1B1dExpc3QgPSAocGFyYW1zOiBCYXRjaFdyaXRlSXRlbUNvbW1hbmRJbnB1dCk6IFByb21pc2U8QmF0Y2hXcml0ZUl0ZW1Db21tYW5kT3V0cHV0PiA9PlxuICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgZHluYW1vZGIgPSBuZXcgRHluYW1vREIoe1xuICAgICAgY3JlZGVudGlhbHM6IENvbmZpZy5nZXQoJ2F3cy5jcmVkZW50aWFscycpLFxuICAgICAgcmVnaW9uOiBDb25maWcuZ2V0KCdhd3MucmVnaW9uJylcbiAgICB9KTtcblxuICAgIGR5bmFtb2RiLmJhdGNoV3JpdGVJdGVtKHBhcmFtcywgKGVycm9yOiBFcnJvciwgb3V0cHV0OiBCYXRjaFdyaXRlSXRlbUNvbW1hbmRPdXRwdXQpID0+IHtcbiAgICAgIGlmKGVycm9yKSB7XG4gICAgICAgIHJldHVybiByZWplY3QoZXJyb3IpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc29sdmUob3V0cHV0KTtcbiAgICB9KTtcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBkeW5hbW9EZWwgPSAocGFyYW1zOiBEZWxldGVJdGVtQ29tbWFuZElucHV0KTogUHJvbWlzZTxEZWxldGVJdGVtQ29tbWFuZE91dHB1dD4gPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGR5bmFtb2RiID0gbmV3IER5bmFtb0RCKHtcbiAgICAgIGNyZWRlbnRpYWxzOiBDb25maWcuZ2V0KCdhd3MuY3JlZGVudGlhbHMnKSxcbiAgICAgIHJlZ2lvbjogQ29uZmlnLmdldCgnYXdzLnJlZ2lvbicpXG4gICAgfSk7XG5cbiAgICBkeW5hbW9kYi5kZWxldGVJdGVtKHBhcmFtcywgKGVycm9yLCBvdXRwdXQ6IERlbGV0ZUl0ZW1Db21tYW5kT3V0cHV0KSA9PiB7XG4gICAgICBpZihlcnJvcikge1xuICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9yKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXNvbHZlKG91dHB1dCk7XG4gICAgfSk7XG4gIH0pO1xuIl0sIm5hbWVzIjpbIkR5bmFtb0RCIiwiQ29uZmlnIiwiZHluYW1vR2V0IiwicGFyYW1zIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJkeW5hbW9kYiIsImNyZWRlbnRpYWxzIiwiZ2V0IiwicmVnaW9uIiwiQ29uc2lzdGVudFJlYWQiLCJnZXRJdGVtIiwiZXJyb3IiLCJyZXN1bHRzIiwicGFyc2VEeW5hbW9MaXN0IiwiSXRlbXMiLCJpdGVtcyIsImRhdGEiLCJpZHgiLCJsZW4iLCJsZW5ndGgiLCJ0bXAiLCJvYmoiLCJrZXkiLCJoYXNPd25Qcm9wZXJ0eSIsIlMiLCJ0b1N0cmluZyIsIk4iLCJwYXJzZUZsb2F0IiwiQiIsInB1c2giLCJkeW5hbW9HZXRMaXN0Iiwic3RhcnRJdGVtIiwiY29uc2lzdGVudFJlYWQiLCJ1cGRhdGVkUGFyYW1zIiwiRXhjbHVzaXZlU3RhcnRLZXkiLCJsaXN0IiwicXVlcnkiLCJvdXRwdXQiLCJMYXN0RXZhbHVhdGVkS2V5IiwibGFzdEtleSIsInVuZGVmaW5lZCIsImR5bmFtb1B1dCIsInB1dEl0ZW0iLCJkeW5hbW9VcGRhdGUiLCJ1cGRhdGVJdGVtIiwiZHluYW1vUHV0TGlzdCIsImJhdGNoV3JpdGVJdGVtIiwiZHluYW1vRGVsIiwiZGVsZXRlSXRlbSJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsU0FLRUEsUUFBUSxRQVNILDJCQUEyQjtBQUVsQyxTQUFRQyxNQUFNLFFBQU8sZUFBZTtBQUVwQyxvQ0FBb0M7QUFDcEMsT0FBTyxNQUFNQyxZQUFZLENBQUNDLFNBQ3hCLElBQUlDLFFBQVEsQ0FBQ0MsU0FBU0M7UUFDcEIsTUFBTUMsV0FBVyxJQUFJ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
|
package/lib/actions/email.js
CHANGED
|
@@ -66,4 +66,4 @@ export const sendEmail = (params)=>{
|
|
|
66
66
|
});
|
|
67
67
|
};
|
|
68
68
|
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3Ly5jb2RleC93b3JrdHJlZXMvdmF1bHQtczMtcmVsZWFzZS9yZWFrdG9yL3BhY2thZ2VzL3JlYWt0b3Ivc3JjL2FjdGlvbnMvZW1haWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVXNlIGlzIHN1YmplY3QgdG8gdGhlIGFjY29tcGFueWluZyBjb21tZXJjaWFsIExJQ0VOU0UuXG4gKi9cbmltcG9ydCB7U2VuZEVtYWlsQ29tbWFuZElucHV0LCBTZW5kRW1haWxDb21tYW5kT3V0cHV0LCBTRVN9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1zZXMnO1xuXG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnLmpzJztcbmltcG9ydCB7RW1haWxUeXBlfSBmcm9tICcuLi90eXBlcy9lbWFpbC50eXBlcy5qcyc7XG5pbXBvcnQge2xvZ0Vycm9yfSBmcm9tICcuLi91dGlscy9hbmFseXRpY3NVdGlscy5qcyc7XG5cbmNvbnN0IGV2ZW50Q2F0ZWdvcnkgPSAnZW1haWwnO1xuXG5leHBvcnQgY29uc3Qgc2VzU2VuZCA9IChwYXJhbXM6IFNlbmRFbWFpbENvbW1hbmRJbnB1dCk6IFByb21pc2U8U2VuZEVtYWlsQ29tbWFuZE91dHB1dD4gPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGFjY2Vzc0tleUlkID0gQ29uZmlnLmdldCgnYXdzLmNyZWRlbnRpYWxzLmFjY2Vzc0tleUlkJyk7XG4gICAgY29uc3Qgc2VjcmV0QWNjZXNzS2V5ID0gQ29uZmlnLmdldCgnYXdzLmNyZWRlbnRpYWxzLnNlY3JldEFjY2Vzc0tleScpO1xuICAgIGNvbnN0IHNlc3Npb25Ub2tlbiA9IENvbmZpZy5nZXQoJ2F3cy5jcmVkZW50aWFscy5zZXNzaW9uVG9rZW4nKTtcbiAgICBjb25zdCBjcmVkZW50aWFscyA9IGFjY2Vzc0tleUlkICYmIHNlY3JldEFjY2Vzc0tleSA/IHtcbiAgICAgIGFjY2Vzc0tleUlkLFxuICAgICAgc2VjcmV0QWNjZXNzS2V5LFxuICAgICAgLi4uKHNlc3Npb25Ub2tlbiA/IHtzZXNzaW9uVG9rZW59IDoge30pXG4gICAgfSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBzZXMgPSBuZXcgU0VTKHtcbiAgICAgIC4uLihjcmVkZW50aWFscyA/IHtjcmVkZW50aWFsc30gOiB7fSksXG4gICAgICByZWdpb246IENvbmZpZy5nZXQoJ2F3cy5yZWdpb24nKVxuICAgIH0pO1xuXG4gICAgc2VzLnNlbmRFbWFpbChwYXJhbXMsIChlcnJvcjogRXJyb3IsIHJlc3BvbnNlOiBTZW5kRW1haWxDb21tYW5kT3V0cHV0KSA9PiB7XG4gICAgICBpZihlcnJvcikge1xuICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9yKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc29sdmUocmVzcG9uc2UpO1xuICAgIH0pO1xuICB9KTtcblxuZXhwb3J0IGNvbnN0IHNlbmRFbWFpbCA9IChwYXJhbXM6IEVtYWlsVHlwZSk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICBjb25zdCB7XG4gICAgY29udGV4dCxcbiAgICBodG1sLFxuICAgIHN1YmplY3QsXG4gICAgdGV4dCxcbiAgICB1c2VyXG4gIH0gPSBwYXJhbXM7XG5cbiAgY29uc3QgdG8gPSBbdXNlci5lbWFpbF07XG4gIGNvbnN0IGVtYWlsUGFyYW1zOiBTZW5kRW1haWxDb21tYW5kSW5wdXQgPSB7XG4gICAgRGVzdGluYXRpb246IHtUb0FkZHJlc3NlczogdG99LFxuICAgIE1lc3NhZ2U6IHtcbiAgICAgIEJvZHk6IHtcbiAgICAgICAgSHRtbDoge0RhdGE6IGh0bWx9LFxuICAgICAgICBUZXh0OiB7RGF0YTogdGV4dH1cbiAgICAgIH0sXG4gICAgICBTdWJqZWN0OiB7RGF0YTogc3ViamVjdH1cbiAgICB9LFxuICAgIFNvdXJjZTogYFwiJHtjb250ZXh0LmNvbmZpZy5kZXRhaWxzLnN1cHBvcnROYW1lfVwiIDwke2NvbnRleHQuY29uZmlnLmRldGFpbHMuc3VwcG9ydEVtYWlsfT5gXG4gIH07XG5cbiAgcmV0dXJuIHNlc1NlbmQoZW1haWxQYXJhbXMpXG4gICAgLnRoZW4oKCkgPT4gdHJ1ZSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgbG9nRXJyb3IoXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWN0aW9uOiAnc2VuZEVtYWlsJyxcbiAgICAgICAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5XG4gICAgICAgICAgfSxcbiAgICAgICAgICBlcnJvcixcbiAgICAgICAgICBjb250ZXh0XG4gICAgICAgICk7XG4gICAgICB9IGNhdGNoKF9sb2dFcnJvcikge1xuICAgICAgICAvLyBsb2dFcnJvciByZXBvcnRzIHRoZSBTRVMgZmFpbHVyZSwgdGhlbiB0aHJvd3MgYnkgZGVzaWduLlxuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG59O1xuIl0sIm5hbWVzIjpbIlNFUyIsIkNvbmZpZyIsImxvZ0Vycm9yIiwiZXZlbnRDYXRlZ29yeSIsInNlc1NlbmQiLCJwYXJhbXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImFjY2Vzc0tleUlkIiwiZ2V0Iiwic2VjcmV0QWNjZXNzS2V5Iiwic2Vzc2lvblRva2VuIiwiY3JlZGVudGlhbHMiLCJ1bmRlZmluZWQiLCJzZXMiLCJyZWdpb24iLCJzZW5kRW1haWwiLCJlcnJvciIsInJlc3BvbnNlIiwiY29udGV4dCIsImh0bWwiLCJzdWJqZWN0IiwidGV4dCIsInVzZXIiLCJ0byIsImVtYWlsIiwiZW1haWxQYXJhbXMiLCJEZXN0aW5hdGlvbiIsIlRvQWRkcmVzc2VzIiwiTWVzc2FnZSIsIkJvZHkiLCJIdG1sIiwiRGF0YSIsIlRleHQiLCJTdWJqZWN0IiwiU291cmNlIiwiY29uZmlnIiwiZGV0YWlscyIsInN1cHBvcnROYW1lIiwic3VwcG9ydEVtYWlsIiwidGhlbiIsImNhdGNoIiwiYWN0aW9uIiwiY2F0ZWdvcnkiLCJfbG9nRXJyb3IiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQXVEQSxHQUFHLFFBQU8sc0JBQXNCO0FBRXZGLFNBQVFDLE1BQU0sUUFBTyxlQUFlO0FBRXBDLFNBQVFDLFFBQVEsUUFBTyw2QkFBNkI7QUFFcEQsTUFBTUMsZ0JBQWdCO0FBRXRCLE9BQU8sTUFBTUMsVUFBVSxDQUFDQyxTQUN0QixJQUFJQyxRQUFRLENBQUNDLFNBQVNDO1FBQ3BCLE1BQU1DLGNBQWNSLE9BQU9TLEdBQUcsQ0FBQztRQUMvQixNQUFNQyxrQkFBa0JWLE9BQU9TLEdBQUcsQ0FBQztRQUNuQyxNQUFNRSxlQUFlWCxPQUFPUyxHQUFHLENBQUM7UUFDaEMsTUFBTUcsY0FBY0osZUFBZUUsa0JBQWtCO1lBQ25ERjtZQUNBRTtZQUNBLEdBQUlDLGVBQWU7Z0JBQUNBO1lBQVksSUFBSSxDQUFDLENBQUM7UUFDeEMsSUFBSUU7UUFDSixNQUFNQyxNQUFNLElBQUlmLElBQUk7WUFDbEIsR0FBSWEsY0FBYztnQkFBQ0E7WUFBVyxJQUFJLENBQUMsQ0FBQztZQUNwQ0csUUFBUWYsT0FBT1MsR0FBRyxDQUFDO1FBQ3JCO1FBRUFLLElBQUlFLFNBQVMsQ0FBQ1osUUFBUSxDQUFDYSxPQUFjQztZQUNuQyxJQUFHRCxPQUFPO2dCQUNSLE9BQU9WLE9BQU9VO1lBQ2hCO1lBRUEsT0FBT1gsUUFBUVk7UUFDakI7SUFDRixHQUFHO0FBRUwsT0FBTyxNQUFNRixZQUFZLENBQUNaO0lBQ3hCLE1BQU0sRUFDSmUsT0FBTyxFQUNQQyxJQUFJLEVBQ0pDLE9BQU8sRUFDUEMsSUFBSSxFQUNKQyxJQUFJLEVBQ0wsR0FBR25CO0lBRUosTUFBTW9CLEtBQUs7UUFBQ0QsS0FBS0UsS0FBSztLQUFDO0lBQ3ZCLE1BQU1DLGNBQXFDO1FBQ3pDQyxhQUFhO1lBQUNDLGFBQWFKO1FBQUU7UUFDN0JLLFNBQVM7WUFDUEMsTUFBTTtnQkFDSkMsTUFBTTtvQkFBQ0MsTUFBTVo7Z0JBQUk7Z0JBQ2pCYSxNQUFNO29CQUFDRCxNQUFNVjtnQkFBSTtZQUNuQjtZQUNBWSxTQUFTO2dCQUFDRixNQUFNWDtZQUFPO1FBQ3pCO1FBQ0FjLFFBQVEsQ0FBQyxDQUFDLEVBQUVoQixRQUFRaUIsTUFBTSxDQUFDQyxPQUFPLENBQUNDLFdBQVcsQ0FBQyxHQUFHLEVBQUVuQixRQUFRaUIsTUFBTSxDQUFDQyxPQUFPLENBQUNFLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDNUY7SUFFQSxPQUFPcEMsUUFBUXVCLGFBQ1pjLElBQUksQ0FBQyxJQUFNLE1BQ1hDLEtBQUssQ0FBQyxDQUFDeEI7UUFDTixJQUFJO1lBQ0ZoQixTQUNFO2dCQUNFeUMsUUFBUTtnQkFDUkMsVUFBVXpDO1lBQ1osR0FDQWUsT0FDQUU7UUFFSixFQUFFLE9BQU15QixXQUFXO1FBQ2pCLDJEQUEyRDtRQUM3RDtRQUVBLE9BQU87SUFDVDtBQUNKLEVBQUUifQ==
|
package/lib/actions/files.js
CHANGED
|
@@ -228,4 +228,4 @@ export const decodeBase64 = (dataString)=>{
|
|
|
228
228
|
};
|
|
229
229
|
};
|
|
230
230
|
|
|
231
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3IvcGFja2FnZXMvcmVha3Rvci9zcmMvYWN0aW9ucy9maWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBVc2UgaXMgc3ViamVjdCB0byB0aGUgYWNjb21wYW55aW5nIGNvbW1lcmNpYWwgTElDRU5TRS5cbiAqL1xuaW1wb3J0IHtnZXQgYXMgaHR0cEdldH0gZnJvbSAnQG5sYWJzL3JpcC1odW50ZXInO1xuaW1wb3J0IHtjcmVhdGVIYXNofSBmcm9tICdAbmxhYnMvdXRpbHMvcGFyc2Vycy9zdHJpbmdzJztcbmltcG9ydCB7YXFsfSBmcm9tICdhcmFuZ29qcyc7XG5pbXBvcnQge0FxbFF1ZXJ5fSBmcm9tICdhcmFuZ29qcy9hcWwnO1xuXG5pbXBvcnQge3BhcnNlRmlsZX0gZnJvbSAnLi4vYWRhcHRlcnMvZmlsZUFkYXB0ZXIuanMnO1xuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZy5qcyc7XG5pbXBvcnQge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzL2F1dGgudHlwZXMuanMnO1xuaW1wb3J0IHtFcnJvclR5cGVzfSBmcm9tICcuLi90eXBlcy9lcnJvci50eXBlcy5qcyc7XG5pbXBvcnQge0ZpbGVUeXBlfSBmcm9tICcuLi90eXBlcy9maWxlcy50eXBlcy5qcyc7XG5pbXBvcnQge0ltYWdlVHlwZX0gZnJvbSAnLi4vdHlwZXMvaW1hZ2VzLnR5cGVzLmpzJztcbmltcG9ydCB7bG9nRXJyb3J9IGZyb20gJy4uL3V0aWxzL2FuYWx5dGljc1V0aWxzLmpzJztcbmltcG9ydCB7dXNlRGJ9IGZyb20gJy4uL3V0aWxzL2FyYW5nb2RiVXRpbHMuanMnO1xuaW1wb3J0IHthZGRJdGVtfSBmcm9tICcuL2NydWQuanMnO1xuaW1wb3J0IHtyZXNpemVBbmRTYXZlSW1hZ2V9IGZyb20gJy4vaW1hZ2VzLmpzJztcbmltcG9ydCB7Y3JlYXRlUG9zdEVkZ2V9IGZyb20gJy4vcG9zdHMuanMnO1xuXG5pbXBvcnQgdHlwZSB7RWRnZUNvbGxlY3Rpb259IGZyb20gJ2FyYW5nb2pzL2NvbGxlY3Rpb25zJztcblxuY29uc3QgZXZlbnRDYXRlZ29yeSA9ICdmaWxlcyc7XG5cbmV4cG9ydCBjb25zdCBHSVBIWV9VUkwgPSAnaHR0cDovL2FwaS5naXBoeS5jb20vdjEvZ2lmcyc7XG5leHBvcnQgY29uc3QgWU9VVFVCRV9VUkwgPSAnaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20veW91dHViZS92Myc7XG5cbnR5cGUgWW91VHViZUxpc3RSZXNwb25zZSA9IFJlYWRvbmx5PHtcbiAgcmVhZG9ubHkgaXRlbXM/OiBBcnJheTx7XG4gICAgcmVhZG9ubHkgaWQ/OiBzdHJpbmcgfCB7cmVhZG9ubHkgdmlkZW9JZD86IHN0cmluZ307XG4gICAgcmVhZG9ubHkgc25pcHBldD86IHtyZWFkb25seSB0aHVtYm5haWxzPzoge3JlYWRvbmx5IGhpZ2g/OiB7cmVhZG9ubHkgdXJsPzogc3RyaW5nfX19O1xuICB9Pjtcbn0+O1xuXG50eXBlIFlvdVR1YmVMaXN0Q2FsbGJhY2sgPSAoZXJyb3I/OiBFcnJvciwgZGF0YT86IFlvdVR1YmVMaXN0UmVzcG9uc2UpID0+IHZvaWQ7XG5cbmNvbnN0IGNyZWF0ZVlvdVR1YmVMaXN0ID0gKHJlc291cmNlOiAnc2VhcmNoJyB8ICd2aWRlb3MnKSA9PiAoXG4gIG9wdGlvbnM6IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IHJlYWRvbmx5IHN0cmluZ1tdPj4sXG4gIGNhbGxiYWNrOiBZb3VUdWJlTGlzdENhbGxiYWNrXG4pOiB2b2lkID0+IHtcbiAgY29uc3QgdXJsID0gbmV3IFVSTChgJHtZT1VUVUJFX1VSTH0vJHtyZXNvdXJjZX1gKTtcbiAgdXJsLnNlYXJjaFBhcmFtcy5zZXQoJ2tleScsIENvbmZpZy5nZXQoJ2dvb2dsZS5rZXknKSk7XG5cbiAgZm9yKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhvcHRpb25zKSkge1xuICAgIHVybC5zZWFyY2hQYXJhbXMuc2V0KGtleSwgQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZS5qb2luKCcsJykgOiBTdHJpbmcodmFsdWUpKTtcbiAgfVxuXG4gIHZvaWQgaHR0cEdldCh1cmwudG9TdHJpbmcoKSlcbiAgICAudGhlbigocmVzcG9uc2U6IFJlc3BvbnNlKSA9PiByZXNwb25zZS5qc29uKCkpXG4gICAgLnRoZW4oKGRhdGE6IFlvdVR1YmVMaXN0UmVzcG9uc2UpID0+IGNhbGxiYWNrKHVuZGVmaW5lZCwgZGF0YSkpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGNhbGxiYWNrKGVycm9yKSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0WW91VHViZSA9ICgpID0+ICh7XG4gIHNlYXJjaDoge2xpc3Q6IGNyZWF0ZVlvdVR1YmVMaXN0KCdzZWFyY2gnKX0sXG4gIHZpZGVvczoge2xpc3Q6IGNyZWF0ZVlvdVR1YmVMaXN0KCd2aWRlb3MnKX1cbn0pO1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0RmlsZSA9IChjb250ZXh0OiBBcGlDb250ZXh0LCBmaWxlOiBGaWxlVHlwZSkgPT4ge1xuICBjb25zdCBmb3JtYXR0ZWRGaWxlID0gcGFyc2VGaWxlKGZpbGUpO1xuICByZXR1cm4gYWRkSXRlbTxGaWxlVHlwZT4oY29udGV4dCwgJ2ZpbGVzJywgZm9ybWF0dGVkRmlsZSk7XG59O1xuXG5leHBvcnQgY29uc3QgdXBzZXJ0RmlsZSA9IChjb250ZXh0OiBBcGlDb250ZXh0LCBmaWxlOiBGaWxlVHlwZSk6IFByb21pc2U8RmlsZVR5cGU+ID0+IHtcbiAgY29uc3QgYWN0aW9uID0gJ3Vwc2VydEZpbGUnO1xuICBjb25zdCB7ZGF0YWJhc2VOYW1lfSA9IGNvbnRleHQ7XG4gIGNvbnN0IGZvcm1hdHRlZEZpbGUgPSBwYXJzZUZpbGUoZmlsZSk7XG4gIGNvbnN0IHtmaWxlSWR9ID0gZm9ybWF0dGVkRmlsZTtcbiAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgY29uc3QgaW5zZXJ0OiBhbnkgPSB7XG4gICAgLi4uZm9ybWF0dGVkRmlsZSxcbiAgICBfa2V5OiBmaWxlSWQsXG4gICAgYWRkZWQ6IG5vdyxcbiAgICBtb2RpZmllZDogbm93XG4gIH07XG4gIGNvbnN0IHVwZGF0ZTogYW55ID0ge1xuICAgIC4uLmZvcm1hdHRlZEZpbGUsXG4gICAgX2tleTogZmlsZUlkLFxuICAgIG1vZGlmaWVkOiBub3dcbiAgfTtcblxuICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYFVQU0VSVCB7X2tleTogJHtmaWxlSWR9fVxuICAgIElOU0VSVCAke2luc2VydH1cbiAgICBVUERBVEUgJHt1cGRhdGV9XG4gICAgSU4gZmlsZXMgUkVUVVJOIE5FV2A7XG5cbiAgcmV0dXJuIHVzZURiKGRhdGFiYXNlTmFtZSkucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgLnRoZW4oKHVwZGF0ZWRGaWxlOiBGaWxlVHlwZSkgPT4gdXBkYXRlZEZpbGUpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICB9LCBlcnJvciwgY29udGV4dCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwbG9hZEZpbGUgPSAoY29udGV4dCwgZmlsZTogRmlsZVR5cGUsIGJ1ZmZlcjogQnVmZmVyKSA9PiB7XG4gIGNvbnN0IHtzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IGZvcm1hdHRlZEZpbGUgPSBwYXJzZUZpbGUoZmlsZSk7XG4gIGNvbnN0IHtcbiAgICBkZXNjcmlwdGlvbixcbiAgICBmaWxlSWQsXG4gICAgZmlsZVR5cGUsXG4gICAgbmFtZSxcbiAgICB1cmxcbiAgfSA9IGZvcm1hdHRlZEZpbGU7XG4gIGNvbnN0IGZvcm1hdEZpbGVJZCA9IGZpbGVJZCB8fCBjcmVhdGVIYXNoKGBmaWxlLSR7c2Vzc2lvbklkfWApO1xuICBsZXQgdXBkYXRlZE5hbWUgPSBuYW1lO1xuXG4gIGlmKCF1cGRhdGVkTmFtZSAmJiAhIXVybCkge1xuICAgIHVwZGF0ZWROYW1lID0gdXJsLnN1YnN0cmluZyh1cmwubGFzdEluZGV4T2YoJy8nKSArIDEpO1xuICB9XG5cbiAgaWYoZmlsZVR5cGUgPT09ICdpbWFnZS9qcGVnJyB8fCBmaWxlVHlwZSA9PT0gJ2ltYWdlL3BuZycpIHtcbiAgICByZXR1cm4gcmVzaXplQW5kU2F2ZUltYWdlKGNvbnRleHQsIGZvcm1hdEZpbGVJZCwgYnVmZmVyLCBmaWxlVHlwZSlcbiAgICAgIC50aGVuKChyZXNpemVkSW1hZ2U6IEZpbGVUeXBlKSA9PiBpbnNlcnRGaWxlKGNvbnRleHQsIHtcbiAgICAgICAgLi4ucmVzaXplZEltYWdlLFxuICAgICAgICBfa2V5OiBmb3JtYXRGaWxlSWQsXG4gICAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgICBuYW1lOiB1cGRhdGVkTmFtZSxcbiAgICAgICAgdXNlcklkOiBzZXNzaW9uSWRcbiAgICAgIH0pKTtcbiAgfVxuXG4gIHJldHVybiBpbnNlcnRGaWxlKGNvbnRleHQsIHtcbiAgICAuLi5mb3JtYXR0ZWRGaWxlLFxuICAgIHVzZXJJZDogc2Vzc2lvbklkXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGFkZEZpbGUgPSAoY29udGV4dDogQXBpQ29udGV4dCwgZmlsZTogRmlsZVR5cGUpOiBQcm9taXNlPEZpbGVUeXBlPiA9PiB7XG4gIGNvbnN0IGFjdGlvbiA9ICdhZGRGaWxlJztcbiAgY29uc3Qge2Jhc2U2NCwgdXJsfSA9IGZpbGU7XG5cbiAgaWYoISF1cmwpIHtcbiAgICByZXR1cm4gaHR0cEdldCh1cmwpXG4gICAgICAudGhlbigoYm9keSkgPT4gdXBsb2FkRmlsZShjb250ZXh0LCBmaWxlLCBCdWZmZXIuZnJvbShib2R5LCAnYmluYXJ5JykpKVxuICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgICAgYWN0aW9uLFxuICAgICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgICAgbGFiZWw6IEVycm9yVHlwZXMuRklMRV9SRVFVRVNUXG4gICAgICB9LCBlcnJvciwgY29udGV4dCkpO1xuICB9IGVsc2UgaWYoISFiYXNlNjQpIHtcbiAgICBjb25zdCBidWZmZXI6IEJ1ZmZlciA9IEJ1ZmZlci5mcm9tKGJhc2U2NCk7XG4gICAgcmV0dXJuIHVwbG9hZEZpbGUoY29udGV4dCwgZmlsZSwgYnVmZmVyKTtcbiAgfVxuXG4gIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoRXJyb3JUeXBlcy5GSUxFX1JFUVVJUkVEKSk7XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VHaXBoeUl0ZW0gPSAoZ2lmSW1hZ2U6IGFueSk6IEltYWdlVHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBpZCxcbiAgICBpbWFnZXM6IHtcbiAgICAgIG9yaWdpbmFsOiB7dXJsID0gJyd9ID0ge30sXG4gICAgICBmaXhlZF9oZWlnaHRfc21hbGw6IHt1cmw6IHRodW1iID0gJyd9ID0ge31cbiAgICB9ID0ge31cbiAgfSA9IGdpZkltYWdlO1xuXG4gIGlmKCFpZCB8fCAhdXJsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGlkLFxuICAgIHRodW1iLFxuICAgIHR5cGU6ICdnaXBoeScsXG4gICAgdXJsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0R2lwaHlUcmVuZHMgPSAobGltaXQ6IG51bWJlciA9IDMwKTogUHJvbWlzZTxJbWFnZVR5cGVbXT4gPT4ge1xuICBjb25zdCBnaWZVcmwgPSBgJHtHSVBIWV9VUkx9L3RyZW5kaW5nP2FwaV9rZXk9JHtDb25maWcuZ2V0KCdnaXBoeS5rZXknKX0mbGltaXQ9JHtsaW1pdH1gO1xuXG4gIHJldHVybiBodHRwR2V0KGdpZlVybClcbiAgICAudGhlbigocmVzOiBSZXNwb25zZSkgPT4gcmVzLmpzb24oKSlcbiAgICAudGhlbigoanNvbjogYW55KSA9PiBqc29uPy5kYXRhPy5tYXAocGFyc2VHaXBoeUl0ZW0pLmZpbHRlcigoaXRlbSkgPT4gISFpdGVtKSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0R2lwaHlTZWFyY2ggPSAocXVlcnk6IHN0cmluZywgbGltaXQ6IG51bWJlciA9IDMwKTogUHJvbWlzZTxJbWFnZVR5cGVbXT4gPT4ge1xuICBjb25zdCBmb3JtYXRRdWVyeSA9IGVuY29kZVVSSShxdWVyeSk7XG4gIGNvbnN0IGdpZlVybCA9IGAke0dJUEhZX1VSTH0vc2VhcmNoP3E9JHtmb3JtYXRRdWVyeX0mYXBpX2tleT0ke0NvbmZpZy5nZXQoJ2dpcGh5LmtleScpfSZsaW1pdD0ke2xpbWl0fWA7XG5cbiAgcmV0dXJuIGh0dHBHZXQoZ2lmVXJsKVxuICAgIC50aGVuKChyZXM6IFJlc3BvbnNlKSA9PiByZXMuanNvbigpKVxuICAgIC50aGVuKChqc29uOiBhbnkpID0+IGpzb24/LmRhdGE/Lm1hcChwYXJzZUdpcGh5SXRlbSkuZmlsdGVyKChpdGVtKSA9PiAhIWl0ZW0pKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRZb3VUdWJlVHJlbmRzID0gKGxpbWl0OiBudW1iZXIgPSAzMCk6IFByb21pc2U8YW55W10+ID0+IHtcbiAgLy8gY29uc3QgYWN0aW9uID0gJ2dldFlvdVR1YmVUcmVuZHMnO1xuICBjb25zdCB5b3V0dWJlID0gZ2V0WW91VHViZSgpO1xuXG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgeW91dHViZS52aWRlb3MubGlzdCh7XG4gICAgICBjaGFydDogJ21vc3RQb3B1bGFyJyxcbiAgICAgIG1heFJlc3VsdHM6IGxpbWl0LFxuICAgICAgcGFydDogWydzbmlwcGV0J10sXG4gICAgICByZWdpb25Db2RlOiAnVVMnXG4gICAgfSwgKGVycm9yOiBFcnJvciwgZGF0YTogYW55KSA9PiB7XG4gICAgICBpZihlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihFcnJvclR5cGVzLllPVVRVQkVfRVJST1IpKTtcbiAgICAgIH0gZWxzZSBpZihkYXRhKSB7XG4gICAgICAgIGNvbnN0IGxpc3QgPSBkYXRhLml0ZW1zLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgICAgICBpZDogaXRlbS5pZCxcbiAgICAgICAgICB0aHVtYjogaXRlbS5zbmlwcGV0LnRodW1ibmFpbHMuaGlnaC51cmwsXG4gICAgICAgICAgdHlwZTogJ3lvdXR1YmUnLFxuICAgICAgICAgIHVybDogYGh0dHA6Ly93d3cueW91dHViZS5jb20vZW1iZWQvJHtpdGVtLmlkfWBcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHJlc29sdmUobGlzdCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFlvdVR1YmVTZWFyY2ggPSAocXVlcnk6IHN0cmluZywgbGltaXQ6IG51bWJlciA9IDMwKTogUHJvbWlzZTxhbnlbXT4gPT4ge1xuICAvLyBjb25zdCBhY3Rpb24gPSAnZ2V0WW91VHViZVNlYXJjaCc7XG4gIGNvbnN0IHlvdXR1YmUgPSBnZXRZb3VUdWJlKCk7XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICB5b3V0dWJlLnNlYXJjaC5saXN0KHtcbiAgICAgIG1heFJlc3VsdHM6IGxpbWl0LFxuICAgICAgcGFydDogWydzbmlwcGV0J10sXG4gICAgICBxOiBxdWVyeSxcbiAgICAgIHJlZ2lvbkNvZGU6ICdVUydcbiAgICB9LCAoZXJyb3I6IEVycm9yLCBkYXRhOiBhbnkpID0+IHtcbiAgICAgIGlmKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICByZWplY3QobmV3IEVycm9yKEVycm9yVHlwZXMuWU9VVFVCRV9FUlJPUikpO1xuICAgICAgfSBlbHNlIGlmKGRhdGEpIHtcbiAgICAgICAgY29uc3Qge2l0ZW1zfSA9IGRhdGE7XG4gICAgICAgIGNvbnN0IGxpc3QgPSBpdGVtcy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICBjb25zdCBpZCA9IHR5cGVvZiBpdGVtLmlkID09PSAnc3RyaW5nJyA/IGl0ZW0uaWQgOiBpdGVtLmlkPy52aWRlb0lkO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIHRodW1iOiBpdGVtLnNuaXBwZXQudGh1bWJuYWlscy5oaWdoLnVybCxcbiAgICAgICAgICAgIHR5cGU6ICd5b3V0dWJlJyxcbiAgICAgICAgICAgIHVybDogYGh0dHA6Ly93d3cueW91dHViZS5jb20vZW1iZWQvJHtpZH1gXG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmVzb2x2ZShsaXN0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UGF0aFVzZXJGaWxlcyA9ICh1c2VySWQ6IHN0cmluZywgZmlsZW5hbWU6IHN0cmluZyk6IHN0cmluZyA9PiBgdXNlcnMvJHt1c2VySWR9L2ZpbGVzLyR7ZmlsZW5hbWV9YDtcblxuZXhwb3J0IGNvbnN0IGxpbmtGaWxlcyA9IChjb250ZXh0OiBBcGlDb250ZXh0LCBwb3N0RG9jSWQ6IHN0cmluZywgZmlsZXM6IEZpbGVUeXBlW10pOiBQcm9taXNlPGFueT4gPT5cbiAgUHJvbWlzZS5hbGwoXG4gICAgZmlsZXMubWFwKChmaWxlOiBGaWxlVHlwZSkgPT4gdXBzZXJ0RmlsZShjb250ZXh0LCBmaWxlKVxuICAgICAgLnRoZW4oKGZpbGU6IEZpbGVUeXBlKSA9PiBjcmVhdGVQb3N0RWRnZShjb250ZXh0LCBwb3N0RG9jSWQsIGZpbGUuaWQsICdpc1Bvc3RlZCcsIHt0eXBlOiBmaWxlLmZpbGVUeXBlfSkpKVxuICApO1xuXG5leHBvcnQgY29uc3QgdXBkYXRlRmlsZXMgPSAoY29udGV4dDogQXBpQ29udGV4dCwgcG9zdERvY0lkOiBzdHJpbmcsIGZpbGVzOiBGaWxlVHlwZVtdKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgY29uc3QgYWN0aW9uID0gJ3VwZGF0ZUZpbGVzJztcbiAgY29uc3Qge2RhdGFiYXNlTmFtZX0gPSBjb250ZXh0O1xuICBjb25zdCBlZGdlQ29sbGVjdGlvbjogRWRnZUNvbGxlY3Rpb24gPSB1c2VEYihkYXRhYmFzZU5hbWUpLmNvbGxlY3Rpb24oJ2lzUG9zdGVkJyk7XG5cbiAgcmV0dXJuIGVkZ2VDb2xsZWN0aW9uLmluRWRnZXMocG9zdERvY0lkLCB7fSlcbiAgICAudGhlbigoZWRnZXM6IGFueSkgPT4ge1xuICAgICAgaWYoZWRnZXMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLmFsbChcbiAgICAgICAgICBlZGdlcy5tYXAoKGVkZ2UpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHtfa2V5OiBlZGdlS2V5fSA9IGVkZ2U7XG4gICAgICAgICAgICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYFJFTU9WRSB7X2tleToke2VkZ2VLZXl9fSBJTiBpc1Bvc3RlZGA7XG5cbiAgICAgICAgICAgIHJldHVybiB1c2VEYihkYXRhYmFzZU5hbWUpLnF1ZXJ5KGFxbFFyeSlcbiAgICAgICAgICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSkpXG4gICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgaWYoZmlsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHJldHVybiBsaW5rRmlsZXMoY29udGV4dCwgcG9zdERvY0lkLCBmaWxlcykudGhlbigoKSA9PiBmaWxlcyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZihmaWxlcy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIGxpbmtGaWxlcyhjb250ZXh0LCBwb3N0RG9jSWQsIGZpbGVzKVxuICAgICAgICAgIC50aGVuKCgpID0+IGZpbGVzKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZpbGVzO1xuICAgIH0pXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICB9LCBlcnJvciwgY29udGV4dCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGVuY29kZUJhc2U2NCA9IChidWZmZXI6IEJ1ZmZlcik6IHN0cmluZyA9PiBCdWZmZXIuZnJvbShidWZmZXIpLnRvU3RyaW5nKCdiYXNlNjQnKTtcblxuZXhwb3J0IGNvbnN0IGRlY29kZUJhc2U2NCA9IChkYXRhU3RyaW5nOiBzdHJpbmcpOiBhbnkgPT4ge1xuICAvLyBjb25zdCBhY3Rpb24gPSAnZGVjb2RlQmFzZTY0JztcbiAgY29uc3QgZ2V0RGF0YSA9IChzdHI6IHN0cmluZykgPT4gc3RyLm1hdGNoKC9eZGF0YTooW0EtWmEtei0rL10rKTtiYXNlNjQsKC4rKSQvKSB8fCBbXTtcbiAgbGV0IG1hdGNoZXMgPSBnZXREYXRhKGRhdGFTdHJpbmcpO1xuXG4gIGlmKG1hdGNoZXMubGVuZ3RoICE9PSAzKSB7XG4gICAgbWF0Y2hlcyA9IGdldERhdGEoZGVjb2RlVVJJQ29tcG9uZW50KGRhdGFTdHJpbmcpKTtcblxuICAgIGlmKG1hdGNoZXMubGVuZ3RoICE9PSAzKSB7XG4gICAgICB0aHJvdyBFcnJvcihFcnJvclR5cGVzLklOVkFMSURfSU5QVVQpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZGF0YTogQnVmZmVyLmZyb20obWF0Y2hlc1syXSwgJ2Jhc2U2NCcpLFxuICAgIHR5cGU6IG1hdGNoZXNbMV1cbiAgfTtcbn07XG4iXSwibmFtZXMiOlsiZ2V0IiwiaHR0cEdldCIsImNyZWF0ZUhhc2giLCJhcWwiLCJwYXJzZUZpbGUiLCJDb25maWciLCJFcnJvclR5cGVzIiwibG9nRXJyb3IiLCJ1c2VEYiIsImFkZEl0ZW0iLCJyZXNpemVBbmRTYXZlSW1hZ2UiLCJjcmVhdGVQb3N0RWRnZSIsImV2ZW50Q2F0ZWdvcnkiLCJHSVBIWV9VUkwiLCJZT1VUVUJFX1VSTCIsImNyZWF0ZVlvdVR1YmVMaXN0IiwicmVzb3VyY2UiLCJvcHRpb25zIiwiY2FsbGJhY2siLCJ1cmwiLCJVUkwiLCJzZWFyY2hQYXJhbXMiLCJzZXQiLCJrZXkiLCJ2YWx1ZSIsIk9iamVjdCIsImVudHJpZXMiLCJBcnJheSIsImlzQXJyYXkiLCJqb2luIiwiU3RyaW5nIiwidG9TdHJpbmciLCJ0aGVuIiwicmVzcG9uc2UiLCJqc29uIiwiZGF0YSIsInVuZGVmaW5lZCIsImNhdGNoIiwiZXJyb3IiLCJnZXRZb3VUdWJlIiwic2VhcmNoIiwibGlzdCIsInZpZGVvcyIsImluc2VydEZpbGUiLCJjb250ZXh0IiwiZmlsZSIsImZvcm1hdHRlZEZpbGUiLCJ1cHNlcnRGaWxlIiwiYWN0aW9uIiwiZGF0YWJhc2VOYW1lIiwiZmlsZUlkIiwibm93IiwiRGF0ZSIsImluc2VydCIsIl9rZXkiLCJhZGRlZCIsIm1vZGlmaWVkIiwidXBkYXRlIiwiYXFsUXJ5IiwicXVlcnkiLCJjdXJzb3IiLCJuZXh0IiwidXBkYXRlZEZpbGUiLCJjYXRlZ29yeSIsImxhYmVsIiwiREFUQUJBU0VfRVJST1IiLCJ1cGxvYWRGaWxlIiwiYnVmZmVyIiwic2Vzc2lvbiIsInVzZXJJZCIsInNlc3Npb25JZCIsImRlc2NyaXB0aW9uIiwiZmlsZVR5cGUiLCJuYW1lIiwiZm9ybWF0RmlsZUlkIiwidXBkYXRlZE5hbWUiLCJzdWJzdHJpbmciLCJsYXN0SW5kZXhPZiIsInJlc2l6ZWRJbWFnZSIsImFkZEZpbGUiLCJiYXNlNjQiLCJib2R5IiwiQnVmZmVyIiwiZnJvbSIsIkZJTEVfUkVRVUVTVCIsIlByb21pc2UiLCJyZWplY3QiLCJFcnJvciIsIkZJTEVfUkVRVUlSRUQiLCJwYXJzZUdpcGh5SXRlbSIsImdpZkltYWdlIiwiaWQiLCJpbWFnZXMiLCJvcmlnaW5hbCIsImZpeGVkX2hlaWdodF9zbWFsbCIsInRodW1iIiwidHlwZSIsImdldEdpcGh5VHJlbmRzIiwibGltaXQiLCJnaWZVcmwiLCJyZXMiLCJtYXAiLCJmaWx0ZXIiLCJpdGVtIiwiZ2V0R2lwaHlTZWFyY2giLCJmb3JtYXRRdWVyeSIsImVuY29kZVVSSSIsImdldFlvdVR1YmVUcmVuZHMiLCJ5b3V0dWJlIiwicmVzb2x2ZSIsImNoYXJ0IiwibWF4UmVzdWx0cyIsInBhcnQiLCJyZWdpb25Db2RlIiwiY29uc29sZSIsIllPVVRVQkVfRVJST1IiLCJpdGVtcyIsInNuaXBwZXQiLCJ0aHVtYm5haWxzIiwiaGlnaCIsImdldFlvdVR1YmVTZWFyY2giLCJxIiwidmlkZW9JZCIsImdldFBhdGhVc2VyRmlsZXMiLCJmaWxlbmFtZSIsImxpbmtGaWxlcyIsInBvc3REb2NJZCIsImZpbGVzIiwiYWxsIiwidXBkYXRlRmlsZXMiLCJlZGdlQ29sbGVjdGlvbiIsImNvbGxlY3Rpb24iLCJpbkVkZ2VzIiwiZWRnZXMiLCJsZW5ndGgiLCJlZGdlIiwiZWRnZUtleSIsImVuY29kZUJhc2U2NCIsImRlY29kZUJhc2U2NCIsImRhdGFTdHJpbmciLCJnZXREYXRhIiwic3RyIiwibWF0Y2giLCJtYXRjaGVzIiwiZGVjb2RlVVJJQ29tcG9uZW50IiwiSU5WQUxJRF9JTlBVVCJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsU0FBUUEsT0FBT0MsT0FBTyxRQUFPLG9CQUFvQjtBQUNqRCxTQUFRQyxVQUFVLFFBQU8sK0JBQStCO0FBQ3hELFNBQVFDLEdBQUcsUUFBTyxXQUFXO0FBRzdCLFNBQVFDLFNBQVMsUUFBTyw2QkFBNkI7QUFDckQsU0FBUUMsTUFBTSxRQUFPLGVBQWU7QUFFcEMsU0FBUUMsVUFBVSxRQUFPLDBCQUEwQjtBQUduRCxTQUFRQyxRQUFR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
|
|
231
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3Ly5jb2RleC93b3JrdHJlZXMvdmF1bHQtczMtcmVsZWFzZS9yZWFrdG9yL3BhY2thZ2VzL3JlYWt0b3Ivc3JjL2FjdGlvbnMvZmlsZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVXNlIGlzIHN1YmplY3QgdG8gdGhlIGFjY29tcGFueWluZyBjb21tZXJjaWFsIExJQ0VOU0UuXG4gKi9cbmltcG9ydCB7Z2V0IGFzIGh0dHBHZXR9IGZyb20gJ0BubGFicy9yaXAtaHVudGVyJztcbmltcG9ydCB7Y3JlYXRlSGFzaH0gZnJvbSAnQG5sYWJzL3V0aWxzL3BhcnNlcnMvc3RyaW5ncyc7XG5pbXBvcnQge2FxbH0gZnJvbSAnYXJhbmdvanMnO1xuaW1wb3J0IHtBcWxRdWVyeX0gZnJvbSAnYXJhbmdvanMvYXFsJztcblxuaW1wb3J0IHtwYXJzZUZpbGV9IGZyb20gJy4uL2FkYXB0ZXJzL2ZpbGVBZGFwdGVyLmpzJztcbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuLi9jb25maWcuanMnO1xuaW1wb3J0IHtBcGlDb250ZXh0fSBmcm9tICcuLi90eXBlcy9hdXRoLnR5cGVzLmpzJztcbmltcG9ydCB7RXJyb3JUeXBlc30gZnJvbSAnLi4vdHlwZXMvZXJyb3IudHlwZXMuanMnO1xuaW1wb3J0IHtGaWxlVHlwZX0gZnJvbSAnLi4vdHlwZXMvZmlsZXMudHlwZXMuanMnO1xuaW1wb3J0IHtJbWFnZVR5cGV9IGZyb20gJy4uL3R5cGVzL2ltYWdlcy50eXBlcy5qcyc7XG5pbXBvcnQge2xvZ0Vycm9yfSBmcm9tICcuLi91dGlscy9hbmFseXRpY3NVdGlscy5qcyc7XG5pbXBvcnQge3VzZURifSBmcm9tICcuLi91dGlscy9hcmFuZ29kYlV0aWxzLmpzJztcbmltcG9ydCB7YWRkSXRlbX0gZnJvbSAnLi9jcnVkLmpzJztcbmltcG9ydCB7cmVzaXplQW5kU2F2ZUltYWdlfSBmcm9tICcuL2ltYWdlcy5qcyc7XG5pbXBvcnQge2NyZWF0ZVBvc3RFZGdlfSBmcm9tICcuL3Bvc3RzLmpzJztcblxuaW1wb3J0IHR5cGUge0VkZ2VDb2xsZWN0aW9ufSBmcm9tICdhcmFuZ29qcy9jb2xsZWN0aW9ucyc7XG5cbmNvbnN0IGV2ZW50Q2F0ZWdvcnkgPSAnZmlsZXMnO1xuXG5leHBvcnQgY29uc3QgR0lQSFlfVVJMID0gJ2h0dHA6Ly9hcGkuZ2lwaHkuY29tL3YxL2dpZnMnO1xuZXhwb3J0IGNvbnN0IFlPVVRVQkVfVVJMID0gJ2h0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3lvdXR1YmUvdjMnO1xuXG50eXBlIFlvdVR1YmVMaXN0UmVzcG9uc2UgPSBSZWFkb25seTx7XG4gIHJlYWRvbmx5IGl0ZW1zPzogQXJyYXk8e1xuICAgIHJlYWRvbmx5IGlkPzogc3RyaW5nIHwge3JlYWRvbmx5IHZpZGVvSWQ/OiBzdHJpbmd9O1xuICAgIHJlYWRvbmx5IHNuaXBwZXQ/OiB7cmVhZG9ubHkgdGh1bWJuYWlscz86IHtyZWFkb25seSBoaWdoPzoge3JlYWRvbmx5IHVybD86IHN0cmluZ319fTtcbiAgfT47XG59PjtcblxudHlwZSBZb3VUdWJlTGlzdENhbGxiYWNrID0gKGVycm9yPzogRXJyb3IsIGRhdGE/OiBZb3VUdWJlTGlzdFJlc3BvbnNlKSA9PiB2b2lkO1xuXG5jb25zdCBjcmVhdGVZb3VUdWJlTGlzdCA9IChyZXNvdXJjZTogJ3NlYXJjaCcgfCAndmlkZW9zJykgPT4gKFxuICBvcHRpb25zOiBSZWFkb25seTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCByZWFkb25seSBzdHJpbmdbXT4+LFxuICBjYWxsYmFjazogWW91VHViZUxpc3RDYWxsYmFja1xuKTogdm9pZCA9PiB7XG4gIGNvbnN0IHVybCA9IG5ldyBVUkwoYCR7WU9VVFVCRV9VUkx9LyR7cmVzb3VyY2V9YCk7XG4gIHVybC5zZWFyY2hQYXJhbXMuc2V0KCdrZXknLCBDb25maWcuZ2V0KCdnb29nbGUua2V5JykpO1xuXG4gIGZvcihjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMob3B0aW9ucykpIHtcbiAgICB1cmwuc2VhcmNoUGFyYW1zLnNldChrZXksIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUuam9pbignLCcpIDogU3RyaW5nKHZhbHVlKSk7XG4gIH1cblxuICB2b2lkIGh0dHBHZXQodXJsLnRvU3RyaW5nKCkpXG4gICAgLnRoZW4oKHJlc3BvbnNlOiBSZXNwb25zZSkgPT4gcmVzcG9uc2UuanNvbigpKVxuICAgIC50aGVuKChkYXRhOiBZb3VUdWJlTGlzdFJlc3BvbnNlKSA9PiBjYWxsYmFjayh1bmRlZmluZWQsIGRhdGEpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiBjYWxsYmFjayhlcnJvcikpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFlvdVR1YmUgPSAoKSA9PiAoe1xuICBzZWFyY2g6IHtsaXN0OiBjcmVhdGVZb3VUdWJlTGlzdCgnc2VhcmNoJyl9LFxuICB2aWRlb3M6IHtsaXN0OiBjcmVhdGVZb3VUdWJlTGlzdCgndmlkZW9zJyl9XG59KTtcblxuZXhwb3J0IGNvbnN0IGluc2VydEZpbGUgPSAoY29udGV4dDogQXBpQ29udGV4dCwgZmlsZTogRmlsZVR5cGUpID0+IHtcbiAgY29uc3QgZm9ybWF0dGVkRmlsZSA9IHBhcnNlRmlsZShmaWxlKTtcbiAgcmV0dXJuIGFkZEl0ZW08RmlsZVR5cGU+KGNvbnRleHQsICdmaWxlcycsIGZvcm1hdHRlZEZpbGUpO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwc2VydEZpbGUgPSAoY29udGV4dDogQXBpQ29udGV4dCwgZmlsZTogRmlsZVR5cGUpOiBQcm9taXNlPEZpbGVUeXBlPiA9PiB7XG4gIGNvbnN0IGFjdGlvbiA9ICd1cHNlcnRGaWxlJztcbiAgY29uc3Qge2RhdGFiYXNlTmFtZX0gPSBjb250ZXh0O1xuICBjb25zdCBmb3JtYXR0ZWRGaWxlID0gcGFyc2VGaWxlKGZpbGUpO1xuICBjb25zdCB7ZmlsZUlkfSA9IGZvcm1hdHRlZEZpbGU7XG4gIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gIGNvbnN0IGluc2VydDogYW55ID0ge1xuICAgIC4uLmZvcm1hdHRlZEZpbGUsXG4gICAgX2tleTogZmlsZUlkLFxuICAgIGFkZGVkOiBub3csXG4gICAgbW9kaWZpZWQ6IG5vd1xuICB9O1xuICBjb25zdCB1cGRhdGU6IGFueSA9IHtcbiAgICAuLi5mb3JtYXR0ZWRGaWxlLFxuICAgIF9rZXk6IGZpbGVJZCxcbiAgICBtb2RpZmllZDogbm93XG4gIH07XG5cbiAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBVUFNFUlQge19rZXk6ICR7ZmlsZUlkfX1cbiAgICBJTlNFUlQgJHtpbnNlcnR9XG4gICAgVVBEQVRFICR7dXBkYXRlfVxuICAgIElOIGZpbGVzIFJFVFVSTiBORVdgO1xuXG4gIHJldHVybiB1c2VEYihkYXRhYmFzZU5hbWUpLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC50aGVuKCh1cGRhdGVkRmlsZTogRmlsZVR5cGUpID0+IHVwZGF0ZWRGaWxlKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SXG4gICAgfSwgZXJyb3IsIGNvbnRleHQpKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1cGxvYWRGaWxlID0gKGNvbnRleHQsIGZpbGU6IEZpbGVUeXBlLCBidWZmZXI6IEJ1ZmZlcikgPT4ge1xuICBjb25zdCB7c2Vzc2lvbjoge3VzZXJJZDogc2Vzc2lvbklkfX0gPSBjb250ZXh0O1xuICBjb25zdCBmb3JtYXR0ZWRGaWxlID0gcGFyc2VGaWxlKGZpbGUpO1xuICBjb25zdCB7XG4gICAgZGVzY3JpcHRpb24sXG4gICAgZmlsZUlkLFxuICAgIGZpbGVUeXBlLFxuICAgIG5hbWUsXG4gICAgdXJsXG4gIH0gPSBmb3JtYXR0ZWRGaWxlO1xuICBjb25zdCBmb3JtYXRGaWxlSWQgPSBmaWxlSWQgfHwgY3JlYXRlSGFzaChgZmlsZS0ke3Nlc3Npb25JZH1gKTtcbiAgbGV0IHVwZGF0ZWROYW1lID0gbmFtZTtcblxuICBpZighdXBkYXRlZE5hbWUgJiYgISF1cmwpIHtcbiAgICB1cGRhdGVkTmFtZSA9IHVybC5zdWJzdHJpbmcodXJsLmxhc3RJbmRleE9mKCcvJykgKyAxKTtcbiAgfVxuXG4gIGlmKGZpbGVUeXBlID09PSAnaW1hZ2UvanBlZycgfHwgZmlsZVR5cGUgPT09ICdpbWFnZS9wbmcnKSB7XG4gICAgcmV0dXJuIHJlc2l6ZUFuZFNhdmVJbWFnZShjb250ZXh0LCBmb3JtYXRGaWxlSWQsIGJ1ZmZlciwgZmlsZVR5cGUpXG4gICAgICAudGhlbigocmVzaXplZEltYWdlOiBGaWxlVHlwZSkgPT4gaW5zZXJ0RmlsZShjb250ZXh0LCB7XG4gICAgICAgIC4uLnJlc2l6ZWRJbWFnZSxcbiAgICAgICAgX2tleTogZm9ybWF0RmlsZUlkLFxuICAgICAgICBkZXNjcmlwdGlvbixcbiAgICAgICAgbmFtZTogdXBkYXRlZE5hbWUsXG4gICAgICAgIHVzZXJJZDogc2Vzc2lvbklkXG4gICAgICB9KSk7XG4gIH1cblxuICByZXR1cm4gaW5zZXJ0RmlsZShjb250ZXh0LCB7XG4gICAgLi4uZm9ybWF0dGVkRmlsZSxcbiAgICB1c2VySWQ6IHNlc3Npb25JZFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBhZGRGaWxlID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGZpbGU6IEZpbGVUeXBlKTogUHJvbWlzZTxGaWxlVHlwZT4gPT4ge1xuICBjb25zdCBhY3Rpb24gPSAnYWRkRmlsZSc7XG4gIGNvbnN0IHtiYXNlNjQsIHVybH0gPSBmaWxlO1xuXG4gIGlmKCEhdXJsKSB7XG4gICAgcmV0dXJuIGh0dHBHZXQodXJsKVxuICAgICAgLnRoZW4oKGJvZHkpID0+IHVwbG9hZEZpbGUoY29udGV4dCwgZmlsZSwgQnVmZmVyLmZyb20oYm9keSwgJ2JpbmFyeScpKSlcbiAgICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4gICAgICAgIGFjdGlvbixcbiAgICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICAgIGxhYmVsOiBFcnJvclR5cGVzLkZJTEVfUkVRVUVTVFxuICAgICAgfSwgZXJyb3IsIGNvbnRleHQpKTtcbiAgfSBlbHNlIGlmKCEhYmFzZTY0KSB7XG4gICAgY29uc3QgYnVmZmVyOiBCdWZmZXIgPSBCdWZmZXIuZnJvbShiYXNlNjQpO1xuICAgIHJldHVybiB1cGxvYWRGaWxlKGNvbnRleHQsIGZpbGUsIGJ1ZmZlcik7XG4gIH1cblxuICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKEVycm9yVHlwZXMuRklMRV9SRVFVSVJFRCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlR2lwaHlJdGVtID0gKGdpZkltYWdlOiBhbnkpOiBJbWFnZVR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgaWQsXG4gICAgaW1hZ2VzOiB7XG4gICAgICBvcmlnaW5hbDoge3VybCA9ICcnfSA9IHt9LFxuICAgICAgZml4ZWRfaGVpZ2h0X3NtYWxsOiB7dXJsOiB0aHVtYiA9ICcnfSA9IHt9XG4gICAgfSA9IHt9XG4gIH0gPSBnaWZJbWFnZTtcblxuICBpZighaWQgfHwgIXVybCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBpZCxcbiAgICB0aHVtYixcbiAgICB0eXBlOiAnZ2lwaHknLFxuICAgIHVybFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEdpcGh5VHJlbmRzID0gKGxpbWl0OiBudW1iZXIgPSAzMCk6IFByb21pc2U8SW1hZ2VUeXBlW10+ID0+IHtcbiAgY29uc3QgZ2lmVXJsID0gYCR7R0lQSFlfVVJMfS90cmVuZGluZz9hcGlfa2V5PSR7Q29uZmlnLmdldCgnZ2lwaHkua2V5Jyl9JmxpbWl0PSR7bGltaXR9YDtcblxuICByZXR1cm4gaHR0cEdldChnaWZVcmwpXG4gICAgLnRoZW4oKHJlczogUmVzcG9uc2UpID0+IHJlcy5qc29uKCkpXG4gICAgLnRoZW4oKGpzb246IGFueSkgPT4ganNvbj8uZGF0YT8ubWFwKHBhcnNlR2lwaHlJdGVtKS5maWx0ZXIoKGl0ZW0pID0+ICEhaXRlbSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEdpcGh5U2VhcmNoID0gKHF1ZXJ5OiBzdHJpbmcsIGxpbWl0OiBudW1iZXIgPSAzMCk6IFByb21pc2U8SW1hZ2VUeXBlW10+ID0+IHtcbiAgY29uc3QgZm9ybWF0UXVlcnkgPSBlbmNvZGVVUkkocXVlcnkpO1xuICBjb25zdCBnaWZVcmwgPSBgJHtHSVBIWV9VUkx9L3NlYXJjaD9xPSR7Zm9ybWF0UXVlcnl9JmFwaV9rZXk9JHtDb25maWcuZ2V0KCdnaXBoeS5rZXknKX0mbGltaXQ9JHtsaW1pdH1gO1xuXG4gIHJldHVybiBodHRwR2V0KGdpZlVybClcbiAgICAudGhlbigocmVzOiBSZXNwb25zZSkgPT4gcmVzLmpzb24oKSlcbiAgICAudGhlbigoanNvbjogYW55KSA9PiBqc29uPy5kYXRhPy5tYXAocGFyc2VHaXBoeUl0ZW0pLmZpbHRlcigoaXRlbSkgPT4gISFpdGVtKSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0WW91VHViZVRyZW5kcyA9IChsaW1pdDogbnVtYmVyID0gMzApOiBQcm9taXNlPGFueVtdPiA9PiB7XG4gIC8vIGNvbnN0IGFjdGlvbiA9ICdnZXRZb3VUdWJlVHJlbmRzJztcbiAgY29uc3QgeW91dHViZSA9IGdldFlvdVR1YmUoKTtcblxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIHlvdXR1YmUudmlkZW9zLmxpc3Qoe1xuICAgICAgY2hhcnQ6ICdtb3N0UG9wdWxhcicsXG4gICAgICBtYXhSZXN1bHRzOiBsaW1pdCxcbiAgICAgIHBhcnQ6IFsnc25pcHBldCddLFxuICAgICAgcmVnaW9uQ29kZTogJ1VTJ1xuICAgIH0sIChlcnJvcjogRXJyb3IsIGRhdGE6IGFueSkgPT4ge1xuICAgICAgaWYoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgIHJlamVjdChuZXcgRXJyb3IoRXJyb3JUeXBlcy5ZT1VUVUJFX0VSUk9SKSk7XG4gICAgICB9IGVsc2UgaWYoZGF0YSkge1xuICAgICAgICBjb25zdCBsaXN0ID0gZGF0YS5pdGVtcy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgdGh1bWI6IGl0ZW0uc25pcHBldC50aHVtYm5haWxzLmhpZ2gudXJsLFxuICAgICAgICAgIHR5cGU6ICd5b3V0dWJlJyxcbiAgICAgICAgICB1cmw6IGBodHRwOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLyR7aXRlbS5pZH1gXG4gICAgICAgIH0pKTtcblxuICAgICAgICByZXNvbHZlKGxpc3QpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRZb3VUdWJlU2VhcmNoID0gKHF1ZXJ5OiBzdHJpbmcsIGxpbWl0OiBudW1iZXIgPSAzMCk6IFByb21pc2U8YW55W10+ID0+IHtcbiAgLy8gY29uc3QgYWN0aW9uID0gJ2dldFlvdVR1YmVTZWFyY2gnO1xuICBjb25zdCB5b3V0dWJlID0gZ2V0WW91VHViZSgpO1xuXG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgeW91dHViZS5zZWFyY2gubGlzdCh7XG4gICAgICBtYXhSZXN1bHRzOiBsaW1pdCxcbiAgICAgIHBhcnQ6IFsnc25pcHBldCddLFxuICAgICAgcTogcXVlcnksXG4gICAgICByZWdpb25Db2RlOiAnVVMnXG4gICAgfSwgKGVycm9yOiBFcnJvciwgZGF0YTogYW55KSA9PiB7XG4gICAgICBpZihlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihFcnJvclR5cGVzLllPVVRVQkVfRVJST1IpKTtcbiAgICAgIH0gZWxzZSBpZihkYXRhKSB7XG4gICAgICAgIGNvbnN0IHtpdGVtc30gPSBkYXRhO1xuICAgICAgICBjb25zdCBsaXN0ID0gaXRlbXMubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgY29uc3QgaWQgPSB0eXBlb2YgaXRlbS5pZCA9PT0gJ3N0cmluZycgPyBpdGVtLmlkIDogaXRlbS5pZD8udmlkZW9JZDtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICB0aHVtYjogaXRlbS5zbmlwcGV0LnRodW1ibmFpbHMuaGlnaC51cmwsXG4gICAgICAgICAgICB0eXBlOiAneW91dHViZScsXG4gICAgICAgICAgICB1cmw6IGBodHRwOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLyR7aWR9YFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJlc29sdmUobGlzdCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFBhdGhVc2VyRmlsZXMgPSAodXNlcklkOiBzdHJpbmcsIGZpbGVuYW1lOiBzdHJpbmcpOiBzdHJpbmcgPT4gYHVzZXJzLyR7dXNlcklkfS9maWxlcy8ke2ZpbGVuYW1lfWA7XG5cbmV4cG9ydCBjb25zdCBsaW5rRmlsZXMgPSAoY29udGV4dDogQXBpQ29udGV4dCwgcG9zdERvY0lkOiBzdHJpbmcsIGZpbGVzOiBGaWxlVHlwZVtdKTogUHJvbWlzZTxhbnk+ID0+XG4gIFByb21pc2UuYWxsKFxuICAgIGZpbGVzLm1hcCgoZmlsZTogRmlsZVR5cGUpID0+IHVwc2VydEZpbGUoY29udGV4dCwgZmlsZSlcbiAgICAgIC50aGVuKChmaWxlOiBGaWxlVHlwZSkgPT4gY3JlYXRlUG9zdEVkZ2UoY29udGV4dCwgcG9zdERvY0lkLCBmaWxlLmlkLCAnaXNQb3N0ZWQnLCB7dHlwZTogZmlsZS5maWxlVHlwZX0pKSlcbiAgKTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZUZpbGVzID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIHBvc3REb2NJZDogc3RyaW5nLCBmaWxlczogRmlsZVR5cGVbXSk6IFByb21pc2U8YW55PiA9PiB7XG4gIGNvbnN0IGFjdGlvbiA9ICd1cGRhdGVGaWxlcyc7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWV9ID0gY29udGV4dDtcbiAgY29uc3QgZWRnZUNvbGxlY3Rpb246IEVkZ2VDb2xsZWN0aW9uID0gdXNlRGIoZGF0YWJhc2VOYW1lKS5jb2xsZWN0aW9uKCdpc1Bvc3RlZCcpO1xuXG4gIHJldHVybiBlZGdlQ29sbGVjdGlvbi5pbkVkZ2VzKHBvc3REb2NJZCwge30pXG4gICAgLnRoZW4oKGVkZ2VzOiBhbnkpID0+IHtcbiAgICAgIGlmKGVkZ2VzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgICAgICAgZWRnZXMubWFwKChlZGdlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7X2tleTogZWRnZUtleX0gPSBlZGdlO1xuICAgICAgICAgICAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBSRU1PVkUge19rZXk6JHtlZGdlS2V5fX0gSU4gaXNQb3N0ZWRgO1xuXG4gICAgICAgICAgICByZXR1cm4gdXNlRGIoZGF0YWJhc2VOYW1lKS5xdWVyeShhcWxRcnkpXG4gICAgICAgICAgICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pKVxuICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGlmKGZpbGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICByZXR1cm4gbGlua0ZpbGVzKGNvbnRleHQsIHBvc3REb2NJZCwgZmlsZXMpLnRoZW4oKCkgPT4gZmlsZXMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYoZmlsZXMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBsaW5rRmlsZXMoY29udGV4dCwgcG9zdERvY0lkLCBmaWxlcylcbiAgICAgICAgICAudGhlbigoKSA9PiBmaWxlcyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaWxlcztcbiAgICB9KVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SXG4gICAgfSwgZXJyb3IsIGNvbnRleHQpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBlbmNvZGVCYXNlNjQgPSAoYnVmZmVyOiBCdWZmZXIpOiBzdHJpbmcgPT4gQnVmZmVyLmZyb20oYnVmZmVyKS50b1N0cmluZygnYmFzZTY0Jyk7XG5cbmV4cG9ydCBjb25zdCBkZWNvZGVCYXNlNjQgPSAoZGF0YVN0cmluZzogc3RyaW5nKTogYW55ID0+IHtcbiAgLy8gY29uc3QgYWN0aW9uID0gJ2RlY29kZUJhc2U2NCc7XG4gIGNvbnN0IGdldERhdGEgPSAoc3RyOiBzdHJpbmcpID0+IHN0ci5tYXRjaCgvXmRhdGE6KFtBLVphLXotKy9dKyk7YmFzZTY0LCguKykkLykgfHwgW107XG4gIGxldCBtYXRjaGVzID0gZ2V0RGF0YShkYXRhU3RyaW5nKTtcblxuICBpZihtYXRjaGVzLmxlbmd0aCAhPT0gMykge1xuICAgIG1hdGNoZXMgPSBnZXREYXRhKGRlY29kZVVSSUNvbXBvbmVudChkYXRhU3RyaW5nKSk7XG5cbiAgICBpZihtYXRjaGVzLmxlbmd0aCAhPT0gMykge1xuICAgICAgdGhyb3cgRXJyb3IoRXJyb3JUeXBlcy5JTlZBTElEX0lOUFVUKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGRhdGE6IEJ1ZmZlci5mcm9tKG1hdGNoZXNbMl0sICdiYXNlNjQnKSxcbiAgICB0eXBlOiBtYXRjaGVzWzFdXG4gIH07XG59O1xuIl0sIm5hbWVzIjpbImdldCIsImh0dHBHZXQiLCJjcmVhdGVIYXNoIiwiYXFsIiwicGFyc2VGaWxlIiwiQ29uZmlnIiwiRXJyb3JUeXBlcyIsImxvZ0Vycm9yIiwidXNlRGIiLCJhZGRJdGVtIiwicmVzaXplQW5kU2F2ZUltYWdlIiwiY3JlYXRlUG9zdEVkZ2UiLCJldmVudENhdGVnb3J5IiwiR0lQSFlfVVJMIiwiWU9VVFVCRV9VUkwiLCJjcmVhdGVZb3VUdWJlTGlzdCIsInJlc291cmNlIiwib3B0aW9ucyIsImNhbGxiYWNrIiwidXJsIiwiVVJMIiwic2VhcmNoUGFyYW1zIiwic2V0Iiwia2V5IiwidmFsdWUiLCJPYmplY3QiLCJlbnRyaWVzIiwiQXJyYXkiLCJpc0FycmF5Iiwiam9pbiIsIlN0cmluZyIsInRvU3RyaW5nIiwidGhlbiIsInJlc3BvbnNlIiwianNvbiIsImRhdGEiLCJ1bmRlZmluZWQiLCJjYXRjaCIsImVycm9yIiwiZ2V0WW91VHViZSIsInNlYXJjaCIsImxpc3QiLCJ2aWRlb3MiLCJpbnNlcnRGaWxlIiwiY29udGV4dCIsImZpbGUiLCJmb3JtYXR0ZWRGaWxlIiwidXBzZXJ0RmlsZSIsImFjdGlvbiIsImRhdGFiYXNlTmFtZSIsImZpbGVJZCIsIm5vdyIsIkRhdGUiLCJpbnNlcnQiLCJfa2V5IiwiYWRkZWQiLCJtb2RpZmllZCIsInVwZGF0ZSIsImFxbFFyeSIsInF1ZXJ5IiwiY3Vyc29yIiwibmV4dCIsInVwZGF0ZWRGaWxlIiwiY2F0ZWdvcnkiLCJsYWJlbCIsIkRBVEFCQVNFX0VSUk9SIiwidXBsb2FkRmlsZSIsImJ1ZmZlciIsInNlc3Npb24iLCJ1c2VySWQiLCJzZXNzaW9uSWQiLCJkZXNjcmlwdGlvbiIsImZpbGVUeXBlIiwibmFtZSIsImZvcm1hdEZpbGVJZCIsInVwZGF0ZWROYW1lIiwic3Vic3RyaW5nIiwibGFzdEluZGV4T2YiLCJyZXNpemVkSW1hZ2UiLCJhZGRGaWxlIiwiYmFzZTY0IiwiYm9keSIsIkJ1ZmZlciIsImZyb20iLCJGSUxFX1JFUVVFU1QiLCJQcm9taXNlIiwicmVqZWN0IiwiRXJyb3IiLCJGSUxFX1JFUVVJUkVEIiwicGFyc2VHaXBoeUl0ZW0iLCJnaWZJbWFnZSIsImlkIiwiaW1hZ2VzIiwib3JpZ2luYWwiLCJmaXhlZF9oZWlnaHRfc21hbGwiLCJ0aHVtYiIsInR5cGUiLCJnZXRHaXBoeVRyZW5kcyIsImxpbWl0IiwiZ2lmVXJsIiwicmVzIiwibWFwIiwiZmlsdGVyIiwiaXRlbSIsImdldEdpcGh5U2VhcmNoIiwiZm9ybWF0UXVlcnkiLCJlbmNvZGVVUkkiLCJnZXRZb3VUdWJlVHJlbmRzIiwieW91dHViZSIsInJlc29sdmUiLCJjaGFydCIsIm1heFJlc3VsdHMiLCJwYXJ0IiwicmVnaW9uQ29kZSIsImNvbnNvbGUiLCJZT1VUVUJFX0VSUk9SIiwiaXRlbXMiLCJzbmlwcGV0IiwidGh1bWJuYWlscyIsImhpZ2giLCJnZXRZb3VUdWJlU2VhcmNoIiwicSIsInZpZGVvSWQiLCJnZXRQYXRoVXNlckZpbGVzIiwiZmlsZW5hbWUiLCJsaW5rRmlsZXMiLCJwb3N0RG9jSWQiLCJmaWxlcyIsImFsbCIsInVwZGF0ZUZpbGVzIiwiZWRnZUNvbGxlY3Rpb24iLCJjb2xsZWN0aW9uIiwiaW5FZGdlcyIsImVkZ2VzIiwibGVuZ3RoIiwiZWRnZSIsImVkZ2VLZXkiLCJlbmNvZGVCYXNlNjQiLCJkZWNvZGVCYXNlNjQiLCJkYXRhU3RyaW5nIiwiZ2V0RGF0YSIsInN0ciIsIm1hdGNoIiwibWF0Y2hlcyIsImRlY29kZVVSSUNvbXBvbmVudCIsIklOVkFMSURfSU5QVVQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLE9BQU9DLE9BQU8sUUFBTyxvQkFBb0I7QUFDakQsU0FBUUMsVUFBVSxRQUFPLCtCQUErQjtBQUN4RCxTQUFRQyxHQUFHLFFBQU8sV0FBVztBQUc3QixTQUFRQyxTQUFTLFFBQU8sNkJBQTZCO0FBQ3JELFNBQVFDLE1BQU0sUUFBTyxlQUFlO0FBRXBDLFNBQVFDLFVBQVUsUUFBTyww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
|