@nlabs/reaktor 1.6.3 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +74 -201
- package/README.md +48 -16
- package/lib/actions/analytics.d.ts +10 -0
- package/lib/actions/analytics.js +539 -0
- package/lib/actions/apps.js +2 -2
- package/lib/actions/connections.js +1 -1
- package/lib/actions/content.js +2 -2
- package/lib/actions/conversations.js +2 -2
- package/lib/actions/crm.d.ts +11 -1
- package/lib/actions/crm.js +443 -13
- package/lib/actions/crud.js +2 -2
- package/lib/actions/dynamodb.d.ts +1 -1
- package/lib/actions/dynamodb.js +2 -2
- package/lib/actions/email.d.ts +1 -1
- package/lib/actions/email.js +2 -2
- package/lib/actions/files.js +2 -2
- package/lib/actions/flags.d.ts +6 -0
- package/lib/actions/flags.js +147 -0
- package/lib/actions/groups.js +2 -2
- package/lib/actions/images.d.ts +1 -1
- package/lib/actions/images.js +2 -2
- package/lib/actions/index.d.ts +3 -2
- package/lib/actions/index.js +4 -3
- package/lib/actions/ios.js +1 -1
- package/lib/actions/locations.js +2 -2
- package/lib/actions/messages.js +2 -2
- package/lib/actions/notifications.d.ts +1 -1
- package/lib/actions/notifications.js +2 -2
- package/lib/actions/payments.d.ts +3 -3
- package/lib/actions/payments.js +144 -189
- package/lib/actions/personas.js +1 -1
- package/lib/actions/posts.d.ts +0 -4
- package/lib/actions/posts.js +2 -4
- package/lib/actions/query.js +2 -2
- package/lib/actions/reactions.js +2 -2
- package/lib/actions/rum.js +148 -45
- package/lib/actions/s3.d.ts +1 -1
- package/lib/actions/s3.js +2 -2
- package/lib/actions/search.js +2 -2
- package/lib/actions/sms.js +2 -2
- package/lib/actions/statistics.js +2 -2
- package/lib/actions/subscriptions.js +2 -2
- package/lib/actions/tags.js +2 -2
- package/lib/actions/users.d.ts +4 -1
- package/lib/actions/users.js +85 -11
- package/lib/actions/videos.js +2 -2
- package/lib/adapters/arangoAdapter.js +1 -1
- package/lib/adapters/contentAdapter.js +2 -2
- package/lib/adapters/fileAdapter.js +1 -1
- package/lib/adapters/imageAdapter.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.d.ts +0 -1
- package/lib/adapters/tagAdapter.js +1 -2
- package/lib/adapters/userAdapter.d.ts +0 -1
- package/lib/adapters/userAdapter.js +1 -2
- package/lib/config.js +8 -2
- package/lib/constants/collections.d.ts +17 -1
- package/lib/constants/collections.js +18 -2
- package/lib/handlers/graphqlHandler.d.ts +2 -2
- package/lib/handlers/graphqlHandler.js +2 -19
- package/lib/index.d.ts +4 -2
- package/lib/index.js +4 -3
- package/lib/lambdas/actions/websockets.js +2 -2
- package/lib/lambdas/authorizer.js +2 -2
- package/lib/lambdas/connection.js +2 -2
- package/lib/lambdas/utils/message.js +2 -2
- package/lib/lambdas/utils/websocket.d.ts +1 -1
- package/lib/lambdas/utils/websocket.js +2 -2
- 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.d.ts +1 -0
- package/lib/mutations/analytics/analytics.js +35 -0
- package/lib/mutations/content/content.js +2 -2
- package/lib/mutations/crm/crm.js +57 -11
- package/lib/mutations/events/events.js +2 -2
- package/lib/mutations/flags/flags.d.ts +1 -0
- package/lib/mutations/flags/flags.js +33 -0
- package/lib/mutations/groups/groups.js +2 -2
- package/lib/mutations/images/images.js +2 -2
- package/lib/mutations/index.d.ts +3 -1
- package/lib/mutations/index.js +13 -3
- package/lib/mutations/locations/locations.js +2 -2
- package/lib/mutations/messages/messages.js +2 -2
- package/lib/mutations/personas/personas.js +2 -2
- package/lib/mutations/posts/posts.js +2 -2
- package/lib/mutations/reactions/reactions.js +2 -2
- package/lib/mutations/rum/rum.js +2 -2
- package/lib/mutations/statistics/statistics.js +2 -2
- package/lib/mutations/subscriptions/subscriptions.js +2 -2
- package/lib/mutations/tags/tags.js +2 -2
- package/lib/mutations/users/users.js +30 -17
- package/lib/mutations/videos/videos.js +2 -2
- package/lib/objectTypes/analytics.d.ts +8 -0
- package/lib/objectTypes/analytics.js +147 -0
- package/lib/objectTypes/app.js +2 -2
- package/lib/objectTypes/bankAccount.js +2 -2
- package/lib/objectTypes/connection.js +2 -2
- package/lib/objectTypes/content.js +2 -2
- package/lib/objectTypes/conversation.js +2 -2
- package/lib/objectTypes/creditCard.js +2 -2
- package/lib/objectTypes/crm.d.ts +5 -0
- package/lib/objectTypes/crm.js +68 -2
- package/lib/objectTypes/document.js +1 -1
- package/lib/objectTypes/error.js +2 -2
- package/lib/objectTypes/event.js +2 -2
- package/lib/objectTypes/external.js +2 -2
- package/lib/objectTypes/file.js +2 -2
- package/lib/objectTypes/filter.js +2 -2
- package/lib/objectTypes/flag.d.ts +1 -0
- package/lib/objectTypes/flag.js +35 -0
- package/lib/objectTypes/group.js +2 -2
- package/lib/objectTypes/iapSubscription.js +2 -2
- package/lib/objectTypes/image.d.ts +1 -1
- package/lib/objectTypes/image.js +2 -2
- package/lib/objectTypes/index.d.ts +2 -0
- package/lib/objectTypes/index.js +3 -1
- package/lib/objectTypes/location.js +2 -2
- package/lib/objectTypes/message.js +2 -2
- package/lib/objectTypes/passcode.js +2 -2
- package/lib/objectTypes/persona.js +2 -2
- package/lib/objectTypes/plan.js +2 -2
- package/lib/objectTypes/post.js +2 -2
- package/lib/objectTypes/query.js +2 -2
- package/lib/objectTypes/reaction.js +2 -2
- package/lib/objectTypes/relation.js +2 -2
- package/lib/objectTypes/rum.js +4 -4
- package/lib/objectTypes/search.js +2 -2
- package/lib/objectTypes/statistics.js +2 -2
- package/lib/objectTypes/subscription.js +2 -2
- package/lib/objectTypes/tag.js +2 -2
- package/lib/objectTypes/user.js +10 -2
- package/lib/objectTypes/video.d.ts +1 -1
- package/lib/objectTypes/video.js +2 -2
- package/lib/queries/analytics/analytics.d.ts +1 -0
- package/lib/queries/analytics/analytics.js +41 -0
- package/lib/queries/content/content.js +2 -2
- package/lib/queries/crm/crm.js +52 -13
- package/lib/queries/events/events.js +2 -2
- package/lib/queries/flags/flags.d.ts +1 -0
- package/lib/queries/flags/flags.js +16 -0
- package/lib/queries/groups/groups.js +2 -2
- package/lib/queries/images/images.js +2 -2
- package/lib/queries/index.d.ts +3 -1
- package/lib/queries/index.js +13 -3
- package/lib/queries/locations/locations.js +2 -2
- package/lib/queries/messages/messages.js +1 -1
- package/lib/queries/personas/personas.js +2 -2
- package/lib/queries/posts/posts.js +2 -2
- package/lib/queries/query/query.js +2 -2
- package/lib/queries/reactions/reactions.js +2 -2
- package/lib/queries/statistics/statistics.js +2 -2
- package/lib/queries/subscriptions/subscriptions.js +1 -1
- package/lib/queries/tags/tags.js +2 -2
- package/lib/queries/users/users.js +2 -2
- package/lib/queries/videos/videos.js +2 -2
- 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.d.ts +92 -0
- package/lib/types/analytics.types.js +6 -0
- package/lib/types/apps.types.d.ts +1 -1
- package/lib/types/apps.types.js +2 -2
- package/lib/types/arangodb.types.d.ts +2 -2
- package/lib/types/arangodb.types.js +2 -2
- package/lib/types/auth.types.d.ts +4 -1
- package/lib/types/auth.types.js +2 -2
- package/lib/types/connections.types.d.ts +1 -1
- package/lib/types/connections.types.js +2 -2
- package/lib/types/content.types.d.ts +1 -1
- package/lib/types/content.types.js +2 -2
- package/lib/types/conversations.types.d.ts +1 -1
- package/lib/types/conversations.types.js +2 -2
- package/lib/types/crm.types.d.ts +58 -2
- package/lib/types/crm.types.js +2 -2
- package/lib/types/email.types.d.ts +1 -1
- package/lib/types/email.types.js +2 -2
- package/lib/types/error.types.js +1 -1
- package/lib/types/files.types.d.ts +1 -1
- package/lib/types/files.types.js +2 -2
- package/lib/types/flags.types.d.ts +28 -0
- package/lib/types/flags.types.js +3 -0
- package/lib/types/google.types.d.ts +1 -1
- package/lib/types/google.types.js +2 -2
- package/lib/types/groups.types.d.ts +1 -1
- package/lib/types/groups.types.js +2 -2
- package/lib/types/images.types.d.ts +1 -1
- package/lib/types/images.types.js +2 -2
- package/lib/types/index.d.ts +3 -1
- package/lib/types/index.js +4 -2
- package/lib/types/locations.types.d.ts +1 -1
- package/lib/types/locations.types.js +2 -2
- package/lib/types/messages.types.d.ts +1 -1
- package/lib/types/messages.types.js +2 -2
- package/lib/types/notifications.types.d.ts +1 -1
- package/lib/types/notifications.types.js +2 -2
- package/lib/types/payments.types.d.ts +4 -1
- package/lib/types/payments.types.js +2 -2
- package/lib/types/personas.types.js +1 -1
- package/lib/types/posts.types.d.ts +1 -1
- package/lib/types/posts.types.js +2 -2
- package/lib/types/rum.types.d.ts +3 -3
- package/lib/types/rum.types.js +2 -2
- package/lib/types/statistics.types.js +1 -1
- package/lib/types/tags.types.d.ts +1 -1
- package/lib/types/tags.types.js +2 -2
- package/lib/types/users.types.d.ts +2 -1
- package/lib/types/users.types.js +2 -2
- package/lib/types/videos.types.d.ts +1 -1
- package/lib/types/videos.types.js +2 -2
- package/lib/types/websockets.types.d.ts +1 -1
- package/lib/types/websockets.types.js +2 -2
- package/lib/upload.js +4 -9
- package/lib/utils/adapterUtils.d.ts +1 -1
- package/lib/utils/adapterUtils.js +2 -2
- package/lib/utils/analyticsUtils.d.ts +1 -1
- package/lib/utils/analyticsUtils.js +2 -2
- package/lib/utils/appContext.d.ts +2 -0
- package/lib/utils/appContext.js +10 -0
- package/lib/utils/aqlHelpers.d.ts +1 -1
- package/lib/utils/aqlHelpers.js +2 -2
- package/lib/utils/arangodbUtils.d.ts +9 -1
- package/lib/utils/arangodbUtils.js +10 -2
- package/lib/utils/authUtils.js +2 -2
- package/lib/utils/awsUtils.js +2 -2
- package/lib/utils/collectionRegistry.d.ts +1 -1
- package/lib/utils/collectionRegistry.js +17 -2
- package/lib/utils/contextUtils.d.ts +2 -2
- package/lib/utils/contextUtils.js +2 -2
- package/lib/utils/dbI18n.example.d.ts +1 -1
- package/lib/utils/dbI18n.example.js +2 -2
- package/lib/utils/dbI18n.js +2 -2
- package/lib/utils/googleTranslate.d.ts +1 -1
- package/lib/utils/googleTranslate.js +2 -2
- package/lib/utils/graphqlUtils.d.ts +2 -0
- package/lib/utils/graphqlUtils.js +1 -1
- package/lib/utils/imageUtils.js +1 -1
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/index.js +2 -2
- package/lib/utils/languageDetection.js +1 -1
- package/lib/utils/localeUtils.d.ts +1 -1
- package/lib/utils/localeUtils.example.d.ts +1 -1
- package/lib/utils/localeUtils.example.js +2 -2
- package/lib/utils/localeUtils.js +2 -2
- package/lib/utils/middlewareUtils.js +1 -1
- package/lib/utils/queryBuilder.d.ts +1 -1
- package/lib/utils/queryBuilder.js +2 -2
- package/lib/utils/schemaUtils.js +1 -1
- package/lib/utils/sessionUtils.d.ts +4 -0
- package/lib/utils/sessionUtils.js +2 -2
- package/lib/utils/stripeUtils.d.ts +1 -1
- package/lib/utils/stripeUtils.js +2 -2
- package/lib/utils/templateUtils.js +1 -1
- package/lib/utils/testUtils.js +2 -2
- package/lib/utils/translationQueue.d.ts +1 -1
- package/lib/utils/translationQueue.example.d.ts +1 -1
- package/lib/utils/translationQueue.example.js +2 -2
- package/lib/utils/translationQueue.js +2 -2
- package/lib/videoProcessing.js +1 -1
- package/package.json +49 -86
- package/lib/actions/websockets.d.ts +0 -20
- package/lib/actions/websockets.js +0 -164
- package/lib/mocks/nlabs.png +0 -0
|
@@ -1,25 +1,37 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2019-Present, Nitrogen Labs, Inc.
|
|
3
|
-
*
|
|
3
|
+
* All rights reserved. Use is subject to the accompanying commercial LICENSE.
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
6
|
* ArangoDB Collection Names
|
|
7
7
|
* Centralized constants for all database collections
|
|
8
8
|
*/
|
|
9
9
|
export declare const COLLECTIONS: {
|
|
10
|
+
readonly ANALYTICS: 'analytics';
|
|
10
11
|
readonly APPS: 'apps';
|
|
11
12
|
readonly CONVERSATIONS: 'conversations';
|
|
13
|
+
readonly CONTENT: 'content';
|
|
14
|
+
readonly CRM_CAMPAIGNS: 'crmCampaigns';
|
|
15
|
+
readonly CRM_FORM_SUBMISSIONS: 'crmFormSubmissions';
|
|
12
16
|
readonly CUSTOMER_NOTIFICATIONS: 'customerNotifications';
|
|
13
17
|
readonly CUSTOMER_ORDERS: 'customerOrders';
|
|
14
18
|
readonly FILES: 'files';
|
|
19
|
+
readonly FLAGS: 'flags';
|
|
15
20
|
readonly GROUPS: 'groups';
|
|
16
21
|
readonly IMAGES: 'images';
|
|
22
|
+
readonly LOCATIONS: 'locations';
|
|
23
|
+
readonly LOGS: 'logs';
|
|
17
24
|
readonly MAILING_LISTS: 'mailingLists';
|
|
18
25
|
readonly MESSAGES: 'messages';
|
|
26
|
+
readonly NOTIFICATIONS: 'notifications';
|
|
27
|
+
readonly PAYMENTS: 'payments';
|
|
19
28
|
readonly PERSONAS: 'personas';
|
|
29
|
+
readonly PLANS: 'plans';
|
|
20
30
|
readonly POSTS: 'posts';
|
|
31
|
+
readonly REACTIONS: 'reactions';
|
|
21
32
|
readonly SHOPIFY_PRODUCTS: 'shopifyProducts';
|
|
22
33
|
readonly SHOPIFY_WEBHOOK_EVENTS: 'shopifyWebhookEvents';
|
|
34
|
+
readonly SUBSCRIPTIONS: 'subscriptions';
|
|
23
35
|
readonly SUPPORT_TICKET_EVENTS: 'supportTicketEvents';
|
|
24
36
|
readonly SUPPORT_TICKET_MESSAGES: 'supportTicketMessages';
|
|
25
37
|
readonly SUPPORT_TICKETS: 'supportTickets';
|
|
@@ -37,8 +49,10 @@ export declare const EDGES: {
|
|
|
37
49
|
readonly HAS_CUSTOMER_NOTIFICATION: 'hasCustomerNotification';
|
|
38
50
|
readonly HAS_CUSTOMER_ORDER: 'hasCustomerOrder';
|
|
39
51
|
readonly HAS_FILE: 'hasFile';
|
|
52
|
+
readonly HAS_LOCATION: 'hasLocation';
|
|
40
53
|
readonly HAS_MEDIA: 'hasMedia';
|
|
41
54
|
readonly HAS_MAILING_LIST: 'hasMailingList';
|
|
55
|
+
readonly HAS_PAYMENT: 'hasPayment';
|
|
42
56
|
readonly HAS_PERSONA: 'hasPersona';
|
|
43
57
|
readonly HAS_PURCHASED_PRODUCT: 'hasPurchasedProduct';
|
|
44
58
|
readonly HAS_REACTION: 'hasReaction';
|
|
@@ -48,6 +62,8 @@ export declare const EDGES: {
|
|
|
48
62
|
readonly IS_POSTED: 'isPosted';
|
|
49
63
|
readonly IS_TAGGED: 'isTagged';
|
|
50
64
|
};
|
|
65
|
+
export declare const DEFAULT_DOCUMENT_COLLECTIONS: readonly ("analytics" | "apps" | "content" | "conversations" | "crmCampaigns" | "crmFormSubmissions" | "customerNotifications" | "customerOrders" | "files" | "flags" | "groups" | "images" | "locations" | "logs" | "mailingLists" | "messages" | "notifications" | "payments" | "personas" | "plans" | "posts" | "reactions" | "shopifyProducts" | "shopifyWebhookEvents" | "subscriptions" | "supportTicketEvents" | "supportTicketMessages" | "supportTickets" | "tags" | "users" | "videos")[];
|
|
66
|
+
export declare const DEFAULT_EDGE_COLLECTIONS: readonly ("hasConnection" | "hasConversation" | "hasCustomerNotification" | "hasCustomerOrder" | "hasFile" | "hasLocation" | "hasMailingList" | "hasMedia" | "hasPayment" | "hasPersona" | "hasPurchasedProduct" | "hasReaction" | "hasSupportTicket" | "hasSupportTicketEvent" | "hasSupportTicketMessage" | "isPosted" | "isTagged")[];
|
|
51
67
|
/**
|
|
52
68
|
* Privacy Level Constants
|
|
53
69
|
* Used across posts, groups, and other content types
|
|
@@ -1,23 +1,35 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2019-Present, Nitrogen Labs, Inc.
|
|
3
|
-
*
|
|
3
|
+
* All rights reserved. Use is subject to the accompanying commercial LICENSE.
|
|
4
4
|
*/ /**
|
|
5
5
|
* ArangoDB Collection Names
|
|
6
6
|
* Centralized constants for all database collections
|
|
7
7
|
*/ export const COLLECTIONS = {
|
|
8
|
+
ANALYTICS: 'analytics',
|
|
8
9
|
APPS: 'apps',
|
|
9
10
|
CONVERSATIONS: 'conversations',
|
|
11
|
+
CONTENT: 'content',
|
|
12
|
+
CRM_CAMPAIGNS: 'crmCampaigns',
|
|
13
|
+
CRM_FORM_SUBMISSIONS: 'crmFormSubmissions',
|
|
10
14
|
CUSTOMER_NOTIFICATIONS: 'customerNotifications',
|
|
11
15
|
CUSTOMER_ORDERS: 'customerOrders',
|
|
12
16
|
FILES: 'files',
|
|
17
|
+
FLAGS: 'flags',
|
|
13
18
|
GROUPS: 'groups',
|
|
14
19
|
IMAGES: 'images',
|
|
20
|
+
LOCATIONS: 'locations',
|
|
21
|
+
LOGS: 'logs',
|
|
15
22
|
MAILING_LISTS: 'mailingLists',
|
|
16
23
|
MESSAGES: 'messages',
|
|
24
|
+
NOTIFICATIONS: 'notifications',
|
|
25
|
+
PAYMENTS: 'payments',
|
|
17
26
|
PERSONAS: 'personas',
|
|
27
|
+
PLANS: 'plans',
|
|
18
28
|
POSTS: 'posts',
|
|
29
|
+
REACTIONS: 'reactions',
|
|
19
30
|
SHOPIFY_PRODUCTS: 'shopifyProducts',
|
|
20
31
|
SHOPIFY_WEBHOOK_EVENTS: 'shopifyWebhookEvents',
|
|
32
|
+
SUBSCRIPTIONS: 'subscriptions',
|
|
21
33
|
SUPPORT_TICKET_EVENTS: 'supportTicketEvents',
|
|
22
34
|
SUPPORT_TICKET_MESSAGES: 'supportTicketMessages',
|
|
23
35
|
SUPPORT_TICKETS: 'supportTickets',
|
|
@@ -34,8 +46,10 @@
|
|
|
34
46
|
HAS_CUSTOMER_NOTIFICATION: 'hasCustomerNotification',
|
|
35
47
|
HAS_CUSTOMER_ORDER: 'hasCustomerOrder',
|
|
36
48
|
HAS_FILE: 'hasFile',
|
|
49
|
+
HAS_LOCATION: 'hasLocation',
|
|
37
50
|
HAS_MEDIA: 'hasMedia',
|
|
38
51
|
HAS_MAILING_LIST: 'hasMailingList',
|
|
52
|
+
HAS_PAYMENT: 'hasPayment',
|
|
39
53
|
HAS_PERSONA: 'hasPersona',
|
|
40
54
|
HAS_PURCHASED_PRODUCT: 'hasPurchasedProduct',
|
|
41
55
|
HAS_REACTION: 'hasReaction',
|
|
@@ -45,6 +59,8 @@
|
|
|
45
59
|
IS_POSTED: 'isPosted',
|
|
46
60
|
IS_TAGGED: 'isTagged'
|
|
47
61
|
};
|
|
62
|
+
export const DEFAULT_DOCUMENT_COLLECTIONS = Object.freeze(Object.values(COLLECTIONS).sort());
|
|
63
|
+
export const DEFAULT_EDGE_COLLECTIONS = Object.freeze(Object.values(EDGES).sort());
|
|
48
64
|
/**
|
|
49
65
|
* Privacy Level Constants
|
|
50
66
|
* Used across posts, groups, and other content types
|
|
@@ -75,4 +91,4 @@
|
|
|
75
91
|
BLOCKED: 'blocked'
|
|
76
92
|
};
|
|
77
93
|
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3JlYWt0b3IvcmVha3Rvci9wYWNrYWdlcy9yZWFrdG9yL3NyYy9jb25zdGFudHMvY29sbGVjdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVXNlIGlzIHN1YmplY3QgdG8gdGhlIGFjY29tcGFueWluZyBjb21tZXJjaWFsIExJQ0VOU0UuXG4gKi9cblxuLyoqXG4gKiBBcmFuZ29EQiBDb2xsZWN0aW9uIE5hbWVzXG4gKiBDZW50cmFsaXplZCBjb25zdGFudHMgZm9yIGFsbCBkYXRhYmFzZSBjb2xsZWN0aW9uc1xuICovXG5leHBvcnQgY29uc3QgQ09MTEVDVElPTlMgPSB7XG4gIEFOQUxZVElDUzogJ2FuYWx5dGljcycsXG4gIEFQUFM6ICdhcHBzJyxcbiAgQ09OVkVSU0FUSU9OUzogJ2NvbnZlcnNhdGlvbnMnLFxuICBDT05URU5UOiAnY29udGVudCcsXG4gIENSTV9DQU1QQUlHTlM6ICdjcm1DYW1wYWlnbnMnLFxuICBDUk1fRk9STV9TVUJNSVNTSU9OUzogJ2NybUZvcm1TdWJtaXNzaW9ucycsXG4gIENVU1RPTUVSX05PVElGSUNBVElPTlM6ICdjdXN0b21lck5vdGlmaWNhdGlvbnMnLFxuICBDVVNUT01FUl9PUkRFUlM6ICdjdXN0b21lck9yZGVycycsXG4gIEZJTEVTOiAnZmlsZXMnLFxuICBGTEFHUzogJ2ZsYWdzJyxcbiAgR1JPVVBTOiAnZ3JvdXBzJyxcbiAgSU1BR0VTOiAnaW1hZ2VzJyxcbiAgTE9DQVRJT05TOiAnbG9jYXRpb25zJyxcbiAgTE9HUzogJ2xvZ3MnLFxuICBNQUlMSU5HX0xJU1RTOiAnbWFpbGluZ0xpc3RzJyxcbiAgTUVTU0FHRVM6ICdtZXNzYWdlcycsXG4gIE5PVElGSUNBVElPTlM6ICdub3RpZmljYXRpb25zJyxcbiAgUEFZTUVOVFM6ICdwYXltZW50cycsXG4gIFBFUlNPTkFTOiAncGVyc29uYXMnLFxuICBQTEFOUzogJ3BsYW5zJyxcbiAgUE9TVFM6ICdwb3N0cycsXG4gIFJFQUNUSU9OUzogJ3JlYWN0aW9ucycsXG4gIFNIT1BJRllfUFJPRFVDVFM6ICdzaG9waWZ5UHJvZHVjdHMnLFxuICBTSE9QSUZZX1dFQkhPT0tfRVZFTlRTOiAnc2hvcGlmeVdlYmhvb2tFdmVudHMnLFxuICBTVUJTQ1JJUFRJT05TOiAnc3Vic2NyaXB0aW9ucycsXG4gIFNVUFBPUlRfVElDS0VUX0VWRU5UUzogJ3N1cHBvcnRUaWNrZXRFdmVudHMnLFxuICBTVVBQT1JUX1RJQ0tFVF9NRVNTQUdFUzogJ3N1cHBvcnRUaWNrZXRNZXNzYWdlcycsXG4gIFNVUFBPUlRfVElDS0VUUzogJ3N1cHBvcnRUaWNrZXRzJyxcbiAgVEFHUzogJ3RhZ3MnLFxuICBVU0VSUzogJ3VzZXJzJyxcbiAgVklERU9TOiAndmlkZW9zJ1xufSBhcyBjb25zdDtcblxuLyoqXG4gKiBBcmFuZ29EQiBFZGdlIENvbGxlY3Rpb24gTmFtZXNcbiAqIENlbnRyYWxpemVkIGNvbnN0YW50cyBmb3IgYWxsIGVkZ2UgY29sbGVjdGlvbnNcbiAqL1xuZXhwb3J0IGNvbnN0IEVER0VTID0ge1xuICBIQVNfQ09OTkVDVElPTjogJ2hhc0Nvbm5lY3Rpb24nLFxuICBIQVNfQ09OVkVSU0FUSU9OOiAnaGFzQ29udmVyc2F0aW9uJyxcbiAgSEFTX0NVU1RPTUVSX05PVElGSUNBVElPTjogJ2hhc0N1c3RvbWVyTm90aWZpY2F0aW9uJyxcbiAgSEFTX0NVU1RPTUVSX09SREVSOiAnaGFzQ3VzdG9tZXJPcmRlcicsXG4gIEhBU19GSUxFOiAnaGFzRmlsZScsXG4gIEhBU19MT0NBVElPTjogJ2hhc0xvY2F0aW9uJyxcbiAgSEFTX01FRElBOiAnaGFzTWVkaWEnLFxuICBIQVNfTUFJTElOR19MSVNUOiAnaGFzTWFpbGluZ0xpc3QnLFxuICBIQVNfUEFZTUVOVDogJ2hhc1BheW1lbnQnLFxuICBIQVNfUEVSU09OQTogJ2hhc1BlcnNvbmEnLFxuICBIQVNfUFVSQ0hBU0VEX1BST0RVQ1Q6ICdoYXNQdXJjaGFzZWRQcm9kdWN0JyxcbiAgSEFTX1JFQUNUSU9OOiAnaGFzUmVhY3Rpb24nLFxuICBIQVNfU1VQUE9SVF9USUNLRVQ6ICdoYXNTdXBwb3J0VGlja2V0JyxcbiAgSEFTX1NVUFBPUlRfVElDS0VUX0VWRU5UOiAnaGFzU3VwcG9ydFRpY2tldEV2ZW50JyxcbiAgSEFTX1NVUFBPUlRfVElDS0VUX01FU1NBR0U6ICdoYXNTdXBwb3J0VGlja2V0TWVzc2FnZScsXG4gIElTX1BPU1RFRDogJ2lzUG9zdGVkJyxcbiAgSVNfVEFHR0VEOiAnaXNUYWdnZWQnXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9ET0NVTUVOVF9DT0xMRUNUSU9OUyA9IE9iamVjdC5mcmVlemUoT2JqZWN0LnZhbHVlcyhDT0xMRUNUSU9OUykuc29ydCgpKTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0VER0VfQ09MTEVDVElPTlMgPSBPYmplY3QuZnJlZXplKE9iamVjdC52YWx1ZXMoRURHRVMpLnNvcnQoKSk7XG5cbi8qKlxuICogUHJpdmFjeSBMZXZlbCBDb25zdGFudHNcbiAqIFVzZWQgYWNyb3NzIHBvc3RzLCBncm91cHMsIGFuZCBvdGhlciBjb250ZW50IHR5cGVzXG4gKi9cbmV4cG9ydCBjb25zdCBQcml2YWN5TGV2ZWwgPSB7XG4gIFBVQkxJQzogJ3B1YmxpYycsXG4gIFBSSVZBVEU6ICdwcml2YXRlJyxcbiAgR1JPVVA6ICdncm91cCcsXG4gIERFRkFVTFQ6ICdkZWZhdWx0J1xufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgUHJpdmFjeUxldmVsVHlwZSA9IHR5cGVvZiBQcml2YWN5TGV2ZWxba2V5b2YgdHlwZW9mIFByaXZhY3lMZXZlbF07XG5cbi8qKlxuICogUmVhY3Rpb24gVHlwZSBDb25zdGFudHNcbiAqIFN0YW5kYXJkIHJlYWN0aW9uIHR5cGVzIHVzZWQgdGhyb3VnaG91dCB0aGUgYXBwbGljYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IFJlYWN0aW9uVHlwZSA9IHtcbiAgTElLRTogJ2xpa2UnLFxuICBSU1ZQOiAncnN2cCcsXG4gIFBJTjogJ3BpbicsXG4gIFZJRVc6ICd2aWV3JyxcbiAgRElTTElLRTogJ2Rpc2xpa2UnXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBSZWFjdGlvblR5cGVUeXBlID0gdHlwZW9mIFJlYWN0aW9uVHlwZVtrZXlvZiB0eXBlb2YgUmVhY3Rpb25UeXBlXTtcblxuLyoqXG4gKiBDb25uZWN0aW9uIFR5cGUgQ29uc3RhbnRzXG4gKiBUeXBlcyBvZiBjb25uZWN0aW9ucyBiZXR3ZWVuIHVzZXJzIGFuZCBncm91cHNcbiAqL1xuZXhwb3J0IGNvbnN0IENvbm5lY3Rpb25UeXBlID0ge1xuICBBRE1JTjogJ2FkbWluJyxcbiAgTUVNQkVSOiAnbWVtYmVyJyxcbiAgRk9MTE9XRVI6ICdmb2xsb3dlcicsXG4gIEZPTExPV0lORzogJ2ZvbGxvd2luZycsXG4gIEJMT0NLRUQ6ICdibG9ja2VkJ1xufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgQ29ubmVjdGlvblR5cGVUeXBlID0gdHlwZW9mIENvbm5lY3Rpb25UeXBlW2tleW9mIHR5cGVvZiBDb25uZWN0aW9uVHlwZV07XG4iXSwibmFtZXMiOlsiQ09MTEVDVElPTlMiLCJBTkFMWVRJQ1MiLCJBUFBTIiwiQ09OVkVSU0FUSU9OUyIsIkNPTlRFTlQiLCJDUk1fQ0FNUEFJR05TIiwiQ1JNX0ZPUk1fU1VCTUlTU0lPTlMiLCJDVVNUT01FUl9OT1RJRklDQVRJT05TIiwiQ1VTVE9NRVJfT1JERVJTIiwiRklMRVMiLCJGTEFHUyIsIkdST1VQUyIsIklNQUdFUyIsIkxPQ0FUSU9OUyIsIkxPR1MiLCJNQUlMSU5HX0xJU1RTIiwiTUVTU0FHRVMiLCJOT1RJRklDQVRJT05TIiwiUEFZTUVOVFMiLCJQRVJTT05BUyIsIlBMQU5TIiwiUE9TVFMiLCJSRUFDVElPTlMiLCJTSE9QSUZZX1BST0RVQ1RTIiwiU0hPUElGWV9XRUJIT09LX0VWRU5UUyIsIlNVQlNDUklQVElPTlMiLCJTVVBQT1JUX1RJQ0tFVF9FVkVOVFMiLCJTVVBQT1JUX1RJQ0tFVF9NRVNTQUdFUyIsIlNVUFBPUlRfVElDS0VUUyIsIlRBR1MiLCJVU0VSUyIsIlZJREVPUyIsIkVER0VTIiwiSEFTX0NPTk5FQ1RJT04iLCJIQVNfQ09OVkVSU0FUSU9OIiwiSEFTX0NVU1RPTUVSX05PVElGSUNBVElPTiIsIkhBU19DVVNUT01FUl9PUkRFUiIsIkhBU19GSUxFIiwiSEFTX0xPQ0FUSU9OIiwiSEFTX01FRElBIiwiSEFTX01BSUxJTkdfTElTVCIsIkhBU19QQVlNRU5UIiwiSEFTX1BFUlNPTkEiLCJIQVNfUFVSQ0hBU0VEX1BST0RVQ1QiLCJIQVNfUkVBQ1RJT04iLCJIQVNfU1VQUE9SVF9USUNLRVQiLCJIQVNfU1VQUE9SVF9USUNLRVRfRVZFTlQiLCJIQVNfU1VQUE9SVF9USUNLRVRfTUVTU0FHRSIsIklTX1BPU1RFRCIsIklTX1RBR0dFRCIsIkRFRkFVTFRfRE9DVU1FTlRfQ09MTEVDVElPTlMiLCJPYmplY3QiLCJmcmVlemUiLCJ2YWx1ZXMiLCJzb3J0IiwiREVGQVVMVF9FREdFX0NPTExFQ1RJT05TIiwiUHJpdmFjeUxldmVsIiwiUFVCTElDIiwiUFJJVkFURSIsIkdST1VQIiwiREVGQVVMVCIsIlJlYWN0aW9uVHlwZSIsIkxJS0UiLCJSU1ZQIiwiUElOIiwiVklFVyIsIkRJU0xJS0UiLCJDb25uZWN0aW9uVHlwZSIsIkFETUlOIiwiTUVNQkVSIiwiRk9MTE9XRVIiLCJGT0xMT1dJTkciLCJCTE9DS0VEIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FFRDs7O0NBR0MsR0FDRCxPQUFPLE1BQU1BLGNBQWM7SUFDekJDLFdBQVc7SUFDWEMsTUFBTTtJQUNOQyxlQUFlO0lBQ2ZDLFNBQVM7SUFDVEMsZUFBZTtJQUNmQyxzQkFBc0I7SUFDdEJDLHdCQUF3QjtJQUN4QkMsaUJBQWlCO0lBQ2pCQyxPQUFPO0lBQ1BDLE9BQU87SUFDUEMsUUFBUTtJQUNSQyxRQUFRO0lBQ1JDLFdBQVc7SUFDWEMsTUFBTTtJQUNOQyxlQUFlO0lBQ2ZDLFVBQVU7SUFDVkMsZUFBZTtJQUNmQyxVQUFVO0lBQ1ZDLFVBQVU7SUFDVkMsT0FBTztJQUNQQyxPQUFPO0lBQ1BDLFdBQVc7SUFDWEMsa0JBQWtCO0lBQ2xCQyx3QkFBd0I7SUFDeEJDLGVBQWU7SUFDZkMsdUJBQXVCO0lBQ3ZCQyx5QkFBeUI7SUFDekJDLGlCQUFpQjtJQUNqQkMsTUFBTTtJQUNOQyxPQUFPO0lBQ1BDLFFBQVE7QUFDVixFQUFXO0FBRVg7OztDQUdDLEdBQ0QsT0FBTyxNQUFNQyxRQUFRO0lBQ25CQyxnQkFBZ0I7SUFDaEJDLGtCQUFrQjtJQUNsQkMsMkJBQTJCO0lBQzNCQyxvQkFBb0I7SUFDcEJDLFVBQVU7SUFDVkMsY0FBYztJQUNkQyxXQUFXO0lBQ1hDLGtCQUFrQjtJQUNsQkMsYUFBYTtJQUNiQyxhQUFhO0lBQ2JDLHVCQUF1QjtJQUN2QkMsY0FBYztJQUNkQyxvQkFBb0I7SUFDcEJDLDBCQUEwQjtJQUMxQkMsNEJBQTRCO0lBQzVCQyxXQUFXO0lBQ1hDLFdBQVc7QUFDYixFQUFXO0FBRVgsT0FBTyxNQUFNQywrQkFBK0JDLE9BQU9DLE1BQU0sQ0FBQ0QsT0FBT0UsTUFBTSxDQUFDckQsYUFBYXNELElBQUksSUFBSTtBQUM3RixPQUFPLE1BQU1DLDJCQUEyQkosT0FBT0MsTUFBTSxDQUFDRCxPQUFPRSxNQUFNLENBQUNyQixPQUFPc0IsSUFBSSxJQUFJO0FBRW5GOzs7Q0FHQyxHQUNELE9BQU8sTUFBTUUsZUFBZTtJQUMxQkMsUUFBUTtJQUNSQyxTQUFTO0lBQ1RDLE9BQU87SUFDUEMsU0FBUztBQUNYLEVBQVc7QUFJWDs7O0NBR0MsR0FDRCxPQUFPLE1BQU1DLGVBQWU7SUFDMUJDLE1BQU07SUFDTkMsTUFBTTtJQUNOQyxLQUFLO0lBQ0xDLE1BQU07SUFDTkMsU0FBUztBQUNYLEVBQVc7QUFJWDs7O0NBR0MsR0FDRCxPQUFPLE1BQU1DLGlCQUFpQjtJQUM1QkMsT0FBTztJQUNQQyxRQUFRO0lBQ1JDLFVBQVU7SUFDVkMsV0FBVztJQUNYQyxTQUFTO0FBQ1gsRUFBVyJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SchemaComposer } from 'graphql-compose';
|
|
2
|
-
import type {
|
|
2
|
+
import type { APIGatewayProxyEventV2 } from 'aws-lambda';
|
|
3
3
|
import type { ExecutionResult } from 'graphql';
|
|
4
4
|
import type { ApiContext } from '../types/auth.types.js';
|
|
5
5
|
export type GraphqlResolverMiddleware = (resolve: (source: unknown, args: unknown, context: ApiContext, info: unknown) => Promise<unknown> | unknown, source: unknown, args: unknown, context: ApiContext, info: unknown) => Promise<unknown> | unknown;
|
|
@@ -31,5 +31,5 @@ export type GraphqlHandlerOptions = {
|
|
|
31
31
|
*
|
|
32
32
|
* See README: "GraphQL Handler Usage" for integration examples.
|
|
33
33
|
*/
|
|
34
|
-
export declare const createGraphqlHandler: (
|
|
34
|
+
export declare const createGraphqlHandler: (options?: GraphqlHandlerOptions) => (event: APIGatewayProxyEventV2) => Promise<ExecutionResult | Record<string, unknown>>;
|
|
35
35
|
export {};
|
|
@@ -19,20 +19,6 @@ const addMissingFields = (tc, fields)=>{
|
|
|
19
19
|
}
|
|
20
20
|
});
|
|
21
21
|
};
|
|
22
|
-
const isGraphqlHandlerOptions = (value)=>{
|
|
23
|
-
if (!value || typeof value !== 'object') {
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
const valueObj = value;
|
|
27
|
-
return [
|
|
28
|
-
'composer',
|
|
29
|
-
'context',
|
|
30
|
-
'extraMutations',
|
|
31
|
-
'extraQueries',
|
|
32
|
-
'includeDefaults',
|
|
33
|
-
'middleware'
|
|
34
|
-
].some((key)=>key in valueObj);
|
|
35
|
-
};
|
|
36
22
|
const applyMiddleware = (tc, middlewares)=>{
|
|
37
23
|
if (middlewares.length === 0) {
|
|
38
24
|
return;
|
|
@@ -65,10 +51,7 @@ const applyMiddleware = (tc, middlewares)=>{
|
|
|
65
51
|
* - Returns `500` only for handler/runtime failures.
|
|
66
52
|
*
|
|
67
53
|
* See README: "GraphQL Handler Usage" for integration examples.
|
|
68
|
-
*/ export const createGraphqlHandler = (
|
|
69
|
-
const options = isGraphqlHandlerOptions(input) ? input : {
|
|
70
|
-
context: input
|
|
71
|
-
};
|
|
54
|
+
*/ export const createGraphqlHandler = (options = {})=>{
|
|
72
55
|
const composer = options.composer || schemaComposer;
|
|
73
56
|
const initialContext = options.context || {};
|
|
74
57
|
const shouldIncludeDefaults = options.includeDefaults !== false;
|
|
@@ -183,4 +166,4 @@ const applyMiddleware = (tc, middlewares)=>{
|
|
|
183
166
|
};
|
|
184
167
|
};
|
|
185
168
|
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2hhbmRsZXJzL2dyYXBocWxIYW5kbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Z3JhcGhxbH0gZnJvbSAnZ3JhcGhxbCc7XG5pbXBvcnQge3NjaGVtYUNvbXBvc2VyfSBmcm9tICdncmFwaHFsLWNvbXBvc2UnO1xuaW1wb3J0IHR5cGUge09iamVjdFR5cGVDb21wb3NlciwgU2NoZW1hQ29tcG9zZXJ9IGZyb20gJ2dyYXBocWwtY29tcG9zZSc7XG5cbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuLi9jb25maWcuanMnO1xuaW1wb3J0IHtyZWdpc3RlckRlZmF1bHRNdXRhdGlvbnN9IGZyb20gJy4uL211dGF0aW9ucy9pbmRleC5qcyc7XG5pbXBvcnQge3JlZ2lzdGVyRGVmYXVsdFF1ZXJpZXN9IGZyb20gJy4uL3F1ZXJpZXMvaW5kZXguanMnO1xuaW1wb3J0IHtleHRyYWN0TGFuZ3VhZ2VDb250ZXh0fSBmcm9tICcuLi91dGlscy9jb250ZXh0VXRpbHMuanMnO1xuaW1wb3J0IHtjcmVhdGVDb250ZXh0LCBnZXRHcWxGaWVsZHMsIGdldExhbWJkYURhdGEsIHR5cGUgTGFtYmRhRGF0YX0gZnJvbSAnLi4vdXRpbHMvaW5kZXguanMnO1xuXG5pbXBvcnQgdHlwZSB7QVBJR2F0ZXdheUV2ZW50fSBmcm9tICdhd3MtbGFtYmRhJztcbmltcG9ydCB0eXBlIHtFeGVjdXRpb25SZXN1bHR9IGZyb20gJ2dyYXBocWwnO1xuaW1wb3J0IHR5cGUge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzL2F1dGgudHlwZXMuanMnO1xuXG5leHBvcnQgdHlwZSBHcmFwaHFsUmVzb2x2ZXJNaWRkbGV3YXJlID0gKFxuICByZXNvbHZlOiAoc291cmNlOiB1bmtub3duLCBhcmdzOiB1bmtub3duLCBjb250ZXh0OiBBcGlDb250ZXh0LCBpbmZvOiB1bmtub3duKSA9PiBQcm9taXNlPHVua25vd24+IHwgdW5rbm93bixcbiAgc291cmNlOiB1bmtub3duLFxuICBhcmdzOiB1bmtub3duLFxuICBjb250ZXh0OiBBcGlDb250ZXh0LFxuICBpbmZvOiB1bmtub3duXG4pID0+IFByb21pc2U8dW5rbm93bj4gfCB1bmtub3duO1xuXG50eXBlIEdyYXBocWxGaWVsZENvbmZpZ01hcCA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG5leHBvcnQgdHlwZSBHcmFwaHFsSGFuZGxlck9wdGlvbnMgPSB7XG4gIGNvbXBvc2VyPzogU2NoZW1hQ29tcG9zZXI8YW55PjtcbiAgY29udGV4dD86IEFwaUNvbnRleHQ7XG4gIGV4dHJhTXV0YXRpb25zPzogR3JhcGhxbEZpZWxkQ29uZmlnTWFwO1xuICBleHRyYVF1ZXJpZXM/OiBHcmFwaHFsRmllbGRDb25maWdNYXA7XG4gIGluY2x1ZGVEZWZhdWx0cz86IGJvb2xlYW47XG4gIG1pZGRsZXdhcmU/OiBHcmFwaHFsUmVzb2x2ZXJNaWRkbGV3YXJlIHwgR3JhcGhxbFJlc29sdmVyTWlkZGxld2FyZVtdO1xufTtcblxuY29uc3QgYWRkRmllbGRzTWlkZGxld2FyZTogR3JhcGhxbFJlc29sdmVyTWlkZGxld2FyZSA9IChyZXNvbHZlLCBzb3VyY2UsIGFyZ3MsIGNvbnRleHQ6IEFwaUNvbnRleHQsIGluZm8pID0+IHtcbiAgY29uc3QgZW5oYW5jZWRDb250ZXh0ID0ge1xuICAgIC4uLmNvbnRleHQsXG4gICAgZmllbGRzOiBnZXRHcWxGaWVsZHMoaW5mbylcbiAgfTtcblxuICByZXR1cm4gcmVzb2x2ZShzb3VyY2UsIGFyZ3MsIGVuaGFuY2VkQ29udGV4dCwgaW5mbyk7XG59O1xuXG5jb25zdCBhZGRNaXNzaW5nRmllbGRzID0gKHRjOiBPYmplY3RUeXBlQ29tcG9zZXI8dW5rbm93biwgdW5rbm93bj4sIGZpZWxkczogR3JhcGhxbEZpZWxkQ29uZmlnTWFwKTogdm9pZCA9PiB7XG4gIE9iamVjdC5lbnRyaWVzKGZpZWxkcykuZm9yRWFjaCgoW2ZpZWxkTmFtZSwgZmllbGRDb25maWddKSA9PiB7XG4gICAgaWYoIXRjLmhhc0ZpZWxkKGZpZWxkTmFtZSkpIHtcbiAgICAgIHRjLnNldEZpZWxkKGZpZWxkTmFtZSwgZmllbGRDb25maWcgYXMgYW55KTtcbiAgICB9XG4gIH0pO1xufTtcblxuY29uc3QgaXNHcmFwaHFsSGFuZGxlck9wdGlvbnMgPSAodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBHcmFwaHFsSGFuZGxlck9wdGlvbnMgPT4ge1xuICBpZighdmFsdWUgfHwgdHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IHZhbHVlT2JqID0gdmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIHJldHVybiBbXG4gICAgJ2NvbXBvc2VyJyxcbiAgICAnY29udGV4dCcsXG4gICAgJ2V4dHJhTXV0YXRpb25zJyxcbiAgICAnZXh0cmFRdWVyaWVzJyxcbiAgICAnaW5jbHVkZURlZmF1bHRzJyxcbiAgICAnbWlkZGxld2FyZSdcbiAgXS5zb21lKChrZXkpID0+IGtleSBpbiB2YWx1ZU9iaik7XG59O1xuXG5jb25zdCBhcHBseU1pZGRsZXdhcmUgPSAoXG4gIHRjOiBPYmplY3RUeXBlQ29tcG9zZXI8dW5rbm93biwgdW5rbm93bj4sXG4gIG1pZGRsZXdhcmVzOiBHcmFwaHFsUmVzb2x2ZXJNaWRkbGV3YXJlW11cbik6IHZvaWQgPT4ge1xuICBpZihtaWRkbGV3YXJlcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBPYmplY3Qua2V5cyh0Yy5nZXRGaWVsZHMoKSkuZm9yRWFjaCgoZmllbGROYW1lKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmKHRjLmhhc1Jlc29sdmVyKGZpZWxkTmFtZSkpIHtcbiAgICAgICAgbWlkZGxld2FyZXMuZm9yRWFjaCgobWlkZGxld2FyZSkgPT4gdGMud3JhcFJlc29sdmVyKGZpZWxkTmFtZSwgbWlkZGxld2FyZSBhcyBhbnkpKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoKGVycm9yOiBhbnkpIHtcbiAgICAgIGNvbnNvbGUud2FybihgU2tpcHBpbmcgZmllbGQgJHtmaWVsZE5hbWV9IC0gbm90IGEgcmVzb2x2ZXI6YCwgZXJyb3IubWVzc2FnZSk7XG4gICAgfVxuICB9KTtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBBUEkgR2F0ZXdheS1jb21wYXRpYmxlIEdyYXBoUUwgaGFuZGxlciBmb3IgUmVha3Rvci5cbiAqXG4gKiBSZXF1ZXN0IGV4cGVjdGF0aW9uczpcbiAqIC0gYGV2ZW50LmJvZHkucXVlcnlgIGlzIGEgR3JhcGhRTCBvcGVyYXRpb24gc3RyaW5nLlxuICogLSBgZXZlbnQuYm9keS52YXJpYWJsZXNgIGlzIG9wdGlvbmFsIG9wZXJhdGlvbiB2YXJpYWJsZXMuXG4gKlxuICogUnVudGltZSBiZWhhdmlvcjpcbiAqIC0gQnVpbGRzIHBlci1yZXF1ZXN0IGNvbnRleHQgKGBjb25maWdgLCBhdXRoL3Nlc3Npb24gY29udGV4dCwgbGFuZ3VhZ2UgY29udGV4dCwgcmVxdWVzdCkuXG4gKiAtIEFwcGxpZXMgcmVzb2x2ZXIgbWlkZGxld2FyZSB0byBleHBvc2Ugc2VsZWN0ZWQgR3JhcGhRTCBmaWVsZHMgb24gYGNvbnRleHQuZmllbGRzYC5cbiAqIC0gRXhlY3V0ZXMgb3BlcmF0aW9uIHVzaW5nIHRoZSBjb21wb3NlZCBzY2hlbWEuXG4gKlxuICogUmVzcG9uc2UgY29udHJhY3Q6XG4gKiAtIFJldHVybnMgYHtzdGF0dXNDb2RlLCBoZWFkZXJzLCBib2R5fWAgd2l0aCBKU09OIGJvZHkuXG4gKiAtIFJldHVybnMgYDIwMGAgZm9yIEdyYXBoUUwgcmVzcG9uc2VzIChpbmNsdWRpbmcgR3JhcGhRTCBlcnJvcnMgaW4gYGVycm9yc2ApLlxuICogLSBSZXR1cm5zIGA1MDBgIG9ubHkgZm9yIGhhbmRsZXIvcnVudGltZSBmYWlsdXJlcy5cbiAqXG4gKiBTZWUgUkVBRE1FOiBcIkdyYXBoUUwgSGFuZGxlciBVc2FnZVwiIGZvciBpbnRlZ3JhdGlvbiBleGFtcGxlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IGNyZWF0ZUdyYXBocWxIYW5kbGVyID0gKGlucHV0OiBBcGlDb250ZXh0IHwgR3JhcGhxbEhhbmRsZXJPcHRpb25zID0ge30pID0+IHtcbiAgY29uc3Qgb3B0aW9ucyA9IGlzR3JhcGhxbEhhbmRsZXJPcHRpb25zKGlucHV0KVxuICAgID8gaW5wdXRcbiAgICA6IHtjb250ZXh0OiBpbnB1dCBhcyBBcGlDb250ZXh0fTtcblxuICBjb25zdCBjb21wb3NlciA9IG9wdGlvbnMuY29tcG9zZXIgfHwgc2NoZW1hQ29tcG9zZXI7XG4gIGNvbnN0IGluaXRpYWxDb250ZXh0ID0gKG9wdGlvbnMuY29udGV4dCB8fCB7fSkgYXMgQXBpQ29udGV4dDtcbiAgY29uc3Qgc2hvdWxkSW5jbHVkZURlZmF1bHRzID0gb3B0aW9ucy5pbmNsdWRlRGVmYXVsdHMgIT09IGZhbHNlO1xuICBjb25zdCBtaWRkbGV3YXJlTGlzdCA9IFtcbiAgICBhZGRGaWVsZHNNaWRkbGV3YXJlLFxuICAgIC4uLihBcnJheS5pc0FycmF5KG9wdGlvbnMubWlkZGxld2FyZSlcbiAgICAgID8gb3B0aW9ucy5taWRkbGV3YXJlXG4gICAgICA6IG9wdGlvbnMubWlkZGxld2FyZSA/IFtvcHRpb25zLm1pZGRsZXdhcmVdIDogW10pXG4gIF07XG5cbiAgaWYoc2hvdWxkSW5jbHVkZURlZmF1bHRzKSB7XG4gICAgcmVnaXN0ZXJEZWZhdWx0UXVlcmllcyhjb21wb3Nlcik7XG4gICAgcmVnaXN0ZXJEZWZhdWx0TXV0YXRpb25zKGNvbXBvc2VyKTtcbiAgfVxuXG4gIGlmKG9wdGlvbnMuZXh0cmFRdWVyaWVzKSB7XG4gICAgYWRkTWlzc2luZ0ZpZWxkcyhjb21wb3Nlci5RdWVyeSwgb3B0aW9ucy5leHRyYVF1ZXJpZXMpO1xuICB9XG5cbiAgaWYob3B0aW9ucy5leHRyYU11dGF0aW9ucykge1xuICAgIGFkZE1pc3NpbmdGaWVsZHMoY29tcG9zZXIuTXV0YXRpb24sIG9wdGlvbnMuZXh0cmFNdXRhdGlvbnMpO1xuICB9XG5cbiAgYXBwbHlNaWRkbGV3YXJlKGNvbXBvc2VyLlF1ZXJ5LCBtaWRkbGV3YXJlTGlzdCk7XG4gIGFwcGx5TWlkZGxld2FyZShjb21wb3Nlci5NdXRhdGlvbiwgbWlkZGxld2FyZUxpc3QpO1xuXG4gIGNvbnN0IHNjaGVtYSA9IGNvbXBvc2VyLmJ1aWxkU2NoZW1hKCk7XG5cbiAgcmV0dXJuIGFzeW5jIChldmVudDogQVBJR2F0ZXdheUV2ZW50KTogUHJvbWlzZTxFeGVjdXRpb25SZXN1bHQgfCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4gPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB1cGRhdGVkQ29udGV4dDogQXBpQ29udGV4dCA9IGF3YWl0IGNyZWF0ZUNvbnRleHQoaW5pdGlhbENvbnRleHQsIGV2ZW50KTtcbiAgICAgIGNvbnN0IGxhbmd1YWdlQ29udGV4dCA9IGV4dHJhY3RMYW5ndWFnZUNvbnRleHQoZXZlbnQpO1xuXG4gICAgICBjb25zdCBjb250ZXh0V2l0aExhbmd1YWdlID0ge1xuICAgICAgICBjb25maWc6IENvbmZpZy5nZXQoKSxcbiAgICAgICAgLi4udXBkYXRlZENvbnRleHQsXG4gICAgICAgIGxhbmd1YWdlQ29udGV4dCxcbiAgICAgICAgcmVxdWVzdDogZXZlbnRcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHBhcnNlRGF0YSA9IGdldExhbWJkYURhdGEoZXZlbnQgYXMgdW5rbm93biBhcyBMYW1iZGFEYXRhKTtcbiAgICAgIGNvbnN0IHtib2R5fSA9IHBhcnNlRGF0YTtcblxuICAgICAgaWYoIWJvZHk/LnF1ZXJ5KSB7XG4gICAgICAgIGNvbnNvbGUud2FybignTm8gR3JhcGhRTCBxdWVyeSBmb3VuZCBpbiByZXF1ZXN0IGJvZHknKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIGRhdGE6IG51bGwsXG4gICAgICAgICAgICBlcnJvcnM6IFt7XG4gICAgICAgICAgICAgIG1lc3NhZ2U6ICdObyBHcmFwaFFMIHF1ZXJ5IGZvdW5kIGluIHJlcXVlc3QgYm9keSdcbiAgICAgICAgICAgIH1dXG4gICAgICAgICAgfSksXG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc3RhdHVzQ29kZTogMjAwXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFByb21pc2UucmVzb2x2ZShncmFwaHFsKHtcbiAgICAgICAgICBjb250ZXh0VmFsdWU6IGNvbnRleHRXaXRoTGFuZ3VhZ2UsXG4gICAgICAgICAgc2NoZW1hLFxuICAgICAgICAgIHNvdXJjZTogYm9keS5xdWVyeSxcbiAgICAgICAgICB2YXJpYWJsZVZhbHVlczogYm9keS52YXJpYWJsZXNcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIGlmKHJlc3VsdC5lcnJvcnMgJiYgcmVzdWx0LmVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignR3JhcGhRTCBleGVjdXRpb24gZXJyb3JzOicsIHJlc3VsdC5lcnJvcnMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShyZXN1bHQpLFxuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgICB9LFxuICAgICAgICAgIHN0YXR1c0NvZGU6IDIwMFxuICAgICAgICB9O1xuICAgICAgfSBjYXRjaChncmFwaHFsRXJyb3I6IHVua25vd24pIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZHVyaW5nIEdyYXBoUUwgZXhlY3V0aW9uOicsIGdyYXBocWxFcnJvcik7XG5cbiAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gZ3JhcGhxbEVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBncmFwaHFsRXJyb3IubWVzc2FnZSA6ICdHcmFwaFFMIGV4ZWN1dGlvbiBlcnJvcic7XG4gICAgICAgIGNvbnN0IGVycm9yU3RhY2sgPSBncmFwaHFsRXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGdyYXBocWxFcnJvci5zdGFjayA6IHVuZGVmaW5lZDtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIGRhdGE6IG51bGwsXG4gICAgICAgICAgICBlcnJvcnM6IFt7XG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnID8gZXJyb3JTdGFjayA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfV1cbiAgICAgICAgICB9KSxcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdGF0dXNDb2RlOiA1MDBcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9IGNhdGNoKGVycjogdW5rbm93bikge1xuICAgICAgY29uc29sZS5lcnJvcignSGFuZGxlciBlcnJvcjonLCB7XG4gICAgICAgIG1lc3NhZ2U6IGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcicsXG4gICAgICAgIHN0YWNrOiBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5zdGFjayA6IHVuZGVmaW5lZFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiAnQW4gdW5rbm93biBlcnJvciBvY2N1cnJlZCBpbiB0aGUgaGFuZGxlcic7XG4gICAgICBjb25zdCBlcnJvclN0YWNrID0gZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIuc3RhY2sgOiB1bmRlZmluZWQ7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICBkYXRhOiBudWxsLFxuICAgICAgICAgIGVycm9yczogW3tcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgICAgIHN0YWNrOiBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50JyA/IGVycm9yU3RhY2sgOiB1bmRlZmluZWRcbiAgICAgICAgICB9XVxuICAgICAgICB9KSxcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgfSxcbiAgICAgICAgc3RhdHVzQ29kZTogNTAwXG4gICAgICB9O1xuICAgIH1cbiAgfTtcbn07XG4iXSwibmFtZXMiOlsiZ3JhcGhxbCIsInNjaGVtYUNvbXBvc2VyIiwiQ29uZmlnIiwicmVnaXN0ZXJEZWZhdWx0TXV0YXRpb25zIiwicmVnaXN0ZXJEZWZhdWx0UXVlcmllcyIsImV4dHJhY3RMYW5ndWFnZUNvbnRleHQiLCJjcmVhdGVDb250ZXh0IiwiZ2V0R3FsRmllbGRzIiwiZ2V0TGFtYmRhRGF0YSIsImFkZEZpZWxkc01pZGRsZXdhcmUiLCJyZXNvbHZlIiwic291cmNlIiwiYXJncyIsImNvbnRleHQiLCJpbmZvIiwiZW5oYW5jZWRDb250ZXh0IiwiZmllbGRzIiwiYWRkTWlzc2luZ0ZpZWxkcyIsInRjIiwiT2JqZWN0IiwiZW50cmllcyIsImZvckVhY2giLCJmaWVsZE5hbWUiLCJmaWVsZENvbmZpZyIsImhhc0ZpZWxkIiwic2V0RmllbGQiLCJpc0dyYXBocWxIYW5kbGVyT3B0aW9ucyIsInZhbHVlIiwidmFsdWVPYmoiLCJzb21lIiwia2V5IiwiYXBwbHlNaWRkbGV3YXJlIiwibWlkZGxld2FyZXMiLCJsZW5ndGgiLCJrZXlzIiwiZ2V0RmllbGRzIiwiaGFzUmVzb2x2ZXIiLCJtaWRkbGV3YXJlIiwid3JhcFJlc29sdmVyIiwiZXJyb3IiLCJjb25zb2xlIiwid2FybiIsIm1lc3NhZ2UiLCJjcmVhdGVHcmFwaHFsSGFuZGxlciIsImlucHV0Iiwib3B0aW9ucyIsImNvbXBvc2VyIiwiaW5pdGlhbENvbnRleHQiLCJzaG91bGRJbmNsdWRlRGVmYXVsdHMiLCJpbmNsdWRlRGVmYXVsdHMiLCJtaWRkbGV3YXJlTGlzdCIsIkFycmF5IiwiaXNBcnJheSIsImV4dHJhUXVlcmllcyIsIlF1ZXJ5IiwiZXh0cmFNdXRhdGlvbnMiLCJNdXRhdGlvbiIsInNjaGVtYSIsImJ1aWxkU2NoZW1hIiwiZXZlbnQiLCJ1cGRhdGVkQ29udGV4dCIsImxhbmd1YWdlQ29udGV4dCIsImNvbnRleHRXaXRoTGFuZ3VhZ2UiLCJjb25maWciLCJnZXQiLCJyZXF1ZXN0IiwicGFyc2VEYXRhIiwiYm9keSIsInF1ZXJ5IiwiSlNPTiIsInN0cmluZ2lmeSIsImRhdGEiLCJlcnJvcnMiLCJoZWFkZXJzIiwic3RhdHVzQ29kZSIsInJlc3VsdCIsIlByb21pc2UiLCJjb250ZXh0VmFsdWUiLCJ2YXJpYWJsZVZhbHVlcyIsInZhcmlhYmxlcyIsImdyYXBocWxFcnJvciIsImVycm9yTWVzc2FnZSIsIkVycm9yIiwiZXJyb3JTdGFjayIsInN0YWNrIiwidW5kZWZpbmVkIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiZXJyIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxPQUFPLFFBQU8sVUFBVTtBQUNoQyxTQUFRQyxjQUFjLFFBQU8sa0JBQWtCO0FBRy9DLFNBQVFDLE1BQU0sUUFBTyxlQUFlO0FBQ3BDLFNBQVFDLHdCQUF3QixRQUFPLHdCQUF3QjtBQUMvRCxTQUFRQyxzQkFBc0IsUUFBTyxzQkFBc0I7QUFDM0QsU0FBUUMsc0JBQXNCLFFBQU8sMkJBQTJCO0FBQ2hFLFNBQVFDLGFBQWEsRUFBRUMsWUFBWSxFQUFFQyxhQUFhLFFBQXdCLG9CQUFvQjtBQXlCOUYsTUFB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
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3JlYWt0b3IvcmVha3Rvci9wYWNrYWdlcy9yZWFrdG9yL3NyYy9oYW5kbGVycy9ncmFwaHFsSGFuZGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2dyYXBocWx9IGZyb20gJ2dyYXBocWwnO1xuaW1wb3J0IHtzY2hlbWFDb21wb3Nlcn0gZnJvbSAnZ3JhcGhxbC1jb21wb3NlJztcbmltcG9ydCB0eXBlIHtPYmplY3RUeXBlQ29tcG9zZXIsIFNjaGVtYUNvbXBvc2VyfSBmcm9tICdncmFwaHFsLWNvbXBvc2UnO1xuXG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnLmpzJztcbmltcG9ydCB7cmVnaXN0ZXJEZWZhdWx0TXV0YXRpb25zfSBmcm9tICcuLi9tdXRhdGlvbnMvaW5kZXguanMnO1xuaW1wb3J0IHtyZWdpc3RlckRlZmF1bHRRdWVyaWVzfSBmcm9tICcuLi9xdWVyaWVzL2luZGV4LmpzJztcbmltcG9ydCB7ZXh0cmFjdExhbmd1YWdlQ29udGV4dH0gZnJvbSAnLi4vdXRpbHMvY29udGV4dFV0aWxzLmpzJztcbmltcG9ydCB7Y3JlYXRlQ29udGV4dCwgZ2V0R3FsRmllbGRzLCBnZXRMYW1iZGFEYXRhLCB0eXBlIExhbWJkYURhdGF9IGZyb20gJy4uL3V0aWxzL2luZGV4LmpzJztcblxuaW1wb3J0IHR5cGUge0FQSUdhdGV3YXlQcm94eUV2ZW50VjJ9IGZyb20gJ2F3cy1sYW1iZGEnO1xuaW1wb3J0IHR5cGUge0V4ZWN1dGlvblJlc3VsdH0gZnJvbSAnZ3JhcGhxbCc7XG5pbXBvcnQgdHlwZSB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5cbmV4cG9ydCB0eXBlIEdyYXBocWxSZXNvbHZlck1pZGRsZXdhcmUgPSAoXG4gIHJlc29sdmU6IChzb3VyY2U6IHVua25vd24sIGFyZ3M6IHVua25vd24sIGNvbnRleHQ6IEFwaUNvbnRleHQsIGluZm86IHVua25vd24pID0+IFByb21pc2U8dW5rbm93bj4gfCB1bmtub3duLFxuICBzb3VyY2U6IHVua25vd24sXG4gIGFyZ3M6IHVua25vd24sXG4gIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4gIGluZm86IHVua25vd25cbikgPT4gUHJvbWlzZTx1bmtub3duPiB8IHVua25vd247XG5cbnR5cGUgR3JhcGhxbEZpZWxkQ29uZmlnTWFwID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbmV4cG9ydCB0eXBlIEdyYXBocWxIYW5kbGVyT3B0aW9ucyA9IHtcbiAgY29tcG9zZXI/OiBTY2hlbWFDb21wb3Nlcjxhbnk+O1xuICBjb250ZXh0PzogQXBpQ29udGV4dDtcbiAgZXh0cmFNdXRhdGlvbnM/OiBHcmFwaHFsRmllbGRDb25maWdNYXA7XG4gIGV4dHJhUXVlcmllcz86IEdyYXBocWxGaWVsZENvbmZpZ01hcDtcbiAgaW5jbHVkZURlZmF1bHRzPzogYm9vbGVhbjtcbiAgbWlkZGxld2FyZT86IEdyYXBocWxSZXNvbHZlck1pZGRsZXdhcmUgfCBHcmFwaHFsUmVzb2x2ZXJNaWRkbGV3YXJlW107XG59O1xuXG5jb25zdCBhZGRGaWVsZHNNaWRkbGV3YXJlOiBHcmFwaHFsUmVzb2x2ZXJNaWRkbGV3YXJlID0gKHJlc29sdmUsIHNvdXJjZSwgYXJncywgY29udGV4dDogQXBpQ29udGV4dCwgaW5mbykgPT4ge1xuICBjb25zdCBlbmhhbmNlZENvbnRleHQgPSB7XG4gICAgLi4uY29udGV4dCxcbiAgICBmaWVsZHM6IGdldEdxbEZpZWxkcyhpbmZvKVxuICB9O1xuXG4gIHJldHVybiByZXNvbHZlKHNvdXJjZSwgYXJncywgZW5oYW5jZWRDb250ZXh0LCBpbmZvKTtcbn07XG5cbmNvbnN0IGFkZE1pc3NpbmdGaWVsZHMgPSAodGM6IE9iamVjdFR5cGVDb21wb3Nlcjx1bmtub3duLCB1bmtub3duPiwgZmllbGRzOiBHcmFwaHFsRmllbGRDb25maWdNYXApOiB2b2lkID0+IHtcbiAgT2JqZWN0LmVudHJpZXMoZmllbGRzKS5mb3JFYWNoKChbZmllbGROYW1lLCBmaWVsZENvbmZpZ10pID0+IHtcbiAgICBpZighdGMuaGFzRmllbGQoZmllbGROYW1lKSkge1xuICAgICAgdGMuc2V0RmllbGQoZmllbGROYW1lLCBmaWVsZENvbmZpZyBhcyBhbnkpO1xuICAgIH1cbiAgfSk7XG59O1xuXG5jb25zdCBhcHBseU1pZGRsZXdhcmUgPSAoXG4gIHRjOiBPYmplY3RUeXBlQ29tcG9zZXI8dW5rbm93biwgdW5rbm93bj4sXG4gIG1pZGRsZXdhcmVzOiBHcmFwaHFsUmVzb2x2ZXJNaWRkbGV3YXJlW11cbik6IHZvaWQgPT4ge1xuICBpZihtaWRkbGV3YXJlcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBPYmplY3Qua2V5cyh0Yy5nZXRGaWVsZHMoKSkuZm9yRWFjaCgoZmllbGROYW1lKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmKHRjLmhhc1Jlc29sdmVyKGZpZWxkTmFtZSkpIHtcbiAgICAgICAgbWlkZGxld2FyZXMuZm9yRWFjaCgobWlkZGxld2FyZSkgPT4gdGMud3JhcFJlc29sdmVyKGZpZWxkTmFtZSwgbWlkZGxld2FyZSBhcyBhbnkpKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoKGVycm9yOiBhbnkpIHtcbiAgICAgIGNvbnNvbGUud2FybihgU2tpcHBpbmcgZmllbGQgJHtmaWVsZE5hbWV9IC0gbm90IGEgcmVzb2x2ZXI6YCwgZXJyb3IubWVzc2FnZSk7XG4gICAgfVxuICB9KTtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBBUEkgR2F0ZXdheS1jb21wYXRpYmxlIEdyYXBoUUwgaGFuZGxlciBmb3IgUmVha3Rvci5cbiAqXG4gKiBSZXF1ZXN0IGV4cGVjdGF0aW9uczpcbiAqIC0gYGV2ZW50LmJvZHkucXVlcnlgIGlzIGEgR3JhcGhRTCBvcGVyYXRpb24gc3RyaW5nLlxuICogLSBgZXZlbnQuYm9keS52YXJpYWJsZXNgIGlzIG9wdGlvbmFsIG9wZXJhdGlvbiB2YXJpYWJsZXMuXG4gKlxuICogUnVudGltZSBiZWhhdmlvcjpcbiAqIC0gQnVpbGRzIHBlci1yZXF1ZXN0IGNvbnRleHQgKGBjb25maWdgLCBhdXRoL3Nlc3Npb24gY29udGV4dCwgbGFuZ3VhZ2UgY29udGV4dCwgcmVxdWVzdCkuXG4gKiAtIEFwcGxpZXMgcmVzb2x2ZXIgbWlkZGxld2FyZSB0byBleHBvc2Ugc2VsZWN0ZWQgR3JhcGhRTCBmaWVsZHMgb24gYGNvbnRleHQuZmllbGRzYC5cbiAqIC0gRXhlY3V0ZXMgb3BlcmF0aW9uIHVzaW5nIHRoZSBjb21wb3NlZCBzY2hlbWEuXG4gKlxuICogUmVzcG9uc2UgY29udHJhY3Q6XG4gKiAtIFJldHVybnMgYHtzdGF0dXNDb2RlLCBoZWFkZXJzLCBib2R5fWAgd2l0aCBKU09OIGJvZHkuXG4gKiAtIFJldHVybnMgYDIwMGAgZm9yIEdyYXBoUUwgcmVzcG9uc2VzIChpbmNsdWRpbmcgR3JhcGhRTCBlcnJvcnMgaW4gYGVycm9yc2ApLlxuICogLSBSZXR1cm5zIGA1MDBgIG9ubHkgZm9yIGhhbmRsZXIvcnVudGltZSBmYWlsdXJlcy5cbiAqXG4gKiBTZWUgUkVBRE1FOiBcIkdyYXBoUUwgSGFuZGxlciBVc2FnZVwiIGZvciBpbnRlZ3JhdGlvbiBleGFtcGxlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IGNyZWF0ZUdyYXBocWxIYW5kbGVyID0gKG9wdGlvbnM6IEdyYXBocWxIYW5kbGVyT3B0aW9ucyA9IHt9KSA9PiB7XG4gIGNvbnN0IGNvbXBvc2VyID0gb3B0aW9ucy5jb21wb3NlciB8fCBzY2hlbWFDb21wb3NlcjtcbiAgY29uc3QgaW5pdGlhbENvbnRleHQgPSAob3B0aW9ucy5jb250ZXh0IHx8IHt9KSBhcyBBcGlDb250ZXh0O1xuICBjb25zdCBzaG91bGRJbmNsdWRlRGVmYXVsdHMgPSBvcHRpb25zLmluY2x1ZGVEZWZhdWx0cyAhPT0gZmFsc2U7XG4gIGNvbnN0IG1pZGRsZXdhcmVMaXN0ID0gW1xuICAgIGFkZEZpZWxkc01pZGRsZXdhcmUsXG4gICAgLi4uKEFycmF5LmlzQXJyYXkob3B0aW9ucy5taWRkbGV3YXJlKVxuICAgICAgPyBvcHRpb25zLm1pZGRsZXdhcmVcbiAgICAgIDogb3B0aW9ucy5taWRkbGV3YXJlID8gW29wdGlvbnMubWlkZGxld2FyZV0gOiBbXSlcbiAgXTtcblxuICBpZihzaG91bGRJbmNsdWRlRGVmYXVsdHMpIHtcbiAgICByZWdpc3RlckRlZmF1bHRRdWVyaWVzKGNvbXBvc2VyKTtcbiAgICByZWdpc3RlckRlZmF1bHRNdXRhdGlvbnMoY29tcG9zZXIpO1xuICB9XG5cbiAgaWYob3B0aW9ucy5leHRyYVF1ZXJpZXMpIHtcbiAgICBhZGRNaXNzaW5nRmllbGRzKGNvbXBvc2VyLlF1ZXJ5LCBvcHRpb25zLmV4dHJhUXVlcmllcyk7XG4gIH1cblxuICBpZihvcHRpb25zLmV4dHJhTXV0YXRpb25zKSB7XG4gICAgYWRkTWlzc2luZ0ZpZWxkcyhjb21wb3Nlci5NdXRhdGlvbiwgb3B0aW9ucy5leHRyYU11dGF0aW9ucyk7XG4gIH1cblxuICBhcHBseU1pZGRsZXdhcmUoY29tcG9zZXIuUXVlcnksIG1pZGRsZXdhcmVMaXN0KTtcbiAgYXBwbHlNaWRkbGV3YXJlKGNvbXBvc2VyLk11dGF0aW9uLCBtaWRkbGV3YXJlTGlzdCk7XG5cbiAgY29uc3Qgc2NoZW1hID0gY29tcG9zZXIuYnVpbGRTY2hlbWEoKTtcblxuICByZXR1cm4gYXN5bmMgKGV2ZW50OiBBUElHYXRld2F5UHJveHlFdmVudFYyKTogUHJvbWlzZTxFeGVjdXRpb25SZXN1bHQgfCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4gPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB1cGRhdGVkQ29udGV4dDogQXBpQ29udGV4dCA9IGF3YWl0IGNyZWF0ZUNvbnRleHQoaW5pdGlhbENvbnRleHQsIGV2ZW50KTtcbiAgICAgIGNvbnN0IGxhbmd1YWdlQ29udGV4dCA9IGV4dHJhY3RMYW5ndWFnZUNvbnRleHQoZXZlbnQpO1xuXG4gICAgICBjb25zdCBjb250ZXh0V2l0aExhbmd1YWdlID0ge1xuICAgICAgICBjb25maWc6IENvbmZpZy5nZXQoKSxcbiAgICAgICAgLi4udXBkYXRlZENvbnRleHQsXG4gICAgICAgIGxhbmd1YWdlQ29udGV4dCxcbiAgICAgICAgcmVxdWVzdDogZXZlbnRcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHBhcnNlRGF0YSA9IGdldExhbWJkYURhdGEoZXZlbnQgYXMgdW5rbm93biBhcyBMYW1iZGFEYXRhKTtcbiAgICAgIGNvbnN0IHtib2R5fSA9IHBhcnNlRGF0YTtcblxuICAgICAgaWYoIWJvZHk/LnF1ZXJ5KSB7XG4gICAgICAgIGNvbnNvbGUud2FybignTm8gR3JhcGhRTCBxdWVyeSBmb3VuZCBpbiByZXF1ZXN0IGJvZHknKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIGRhdGE6IG51bGwsXG4gICAgICAgICAgICBlcnJvcnM6IFt7XG4gICAgICAgICAgICAgIG1lc3NhZ2U6ICdObyBHcmFwaFFMIHF1ZXJ5IGZvdW5kIGluIHJlcXVlc3QgYm9keSdcbiAgICAgICAgICAgIH1dXG4gICAgICAgICAgfSksXG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc3RhdHVzQ29kZTogMjAwXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFByb21pc2UucmVzb2x2ZShncmFwaHFsKHtcbiAgICAgICAgICBjb250ZXh0VmFsdWU6IGNvbnRleHRXaXRoTGFuZ3VhZ2UsXG4gICAgICAgICAgc2NoZW1hLFxuICAgICAgICAgIHNvdXJjZTogYm9keS5xdWVyeSxcbiAgICAgICAgICB2YXJpYWJsZVZhbHVlczogYm9keS52YXJpYWJsZXNcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIGlmKHJlc3VsdC5lcnJvcnMgJiYgcmVzdWx0LmVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignR3JhcGhRTCBleGVjdXRpb24gZXJyb3JzOicsIHJlc3VsdC5lcnJvcnMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShyZXN1bHQpLFxuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgICB9LFxuICAgICAgICAgIHN0YXR1c0NvZGU6IDIwMFxuICAgICAgICB9O1xuICAgICAgfSBjYXRjaChncmFwaHFsRXJyb3I6IHVua25vd24pIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZHVyaW5nIEdyYXBoUUwgZXhlY3V0aW9uOicsIGdyYXBocWxFcnJvcik7XG5cbiAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gZ3JhcGhxbEVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBncmFwaHFsRXJyb3IubWVzc2FnZSA6ICdHcmFwaFFMIGV4ZWN1dGlvbiBlcnJvcic7XG4gICAgICAgIGNvbnN0IGVycm9yU3RhY2sgPSBncmFwaHFsRXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGdyYXBocWxFcnJvci5zdGFjayA6IHVuZGVmaW5lZDtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIGRhdGE6IG51bGwsXG4gICAgICAgICAgICBlcnJvcnM6IFt7XG4gICAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgICAgICAgc3RhY2s6IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnID8gZXJyb3JTdGFjayA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfV1cbiAgICAgICAgICB9KSxcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdGF0dXNDb2RlOiA1MDBcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9IGNhdGNoKGVycjogdW5rbm93bikge1xuICAgICAgY29uc29sZS5lcnJvcignSGFuZGxlciBlcnJvcjonLCB7XG4gICAgICAgIG1lc3NhZ2U6IGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcicsXG4gICAgICAgIHN0YWNrOiBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5zdGFjayA6IHVuZGVmaW5lZFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiAnQW4gdW5rbm93biBlcnJvciBvY2N1cnJlZCBpbiB0aGUgaGFuZGxlcic7XG4gICAgICBjb25zdCBlcnJvclN0YWNrID0gZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIuc3RhY2sgOiB1bmRlZmluZWQ7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICBkYXRhOiBudWxsLFxuICAgICAgICAgIGVycm9yczogW3tcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgICAgIHN0YWNrOiBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50JyA/IGVycm9yU3RhY2sgOiB1bmRlZmluZWRcbiAgICAgICAgICB9XVxuICAgICAgICB9KSxcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgfSxcbiAgICAgICAgc3RhdHVzQ29kZTogNTAwXG4gICAgICB9O1xuICAgIH1cbiAgfTtcbn07XG4iXSwibmFtZXMiOlsiZ3JhcGhxbCIsInNjaGVtYUNvbXBvc2VyIiwiQ29uZmlnIiwicmVnaXN0ZXJEZWZhdWx0TXV0YXRpb25zIiwicmVnaXN0ZXJEZWZhdWx0UXVlcmllcyIsImV4dHJhY3RMYW5ndWFnZUNvbnRleHQiLCJjcmVhdGVDb250ZXh0IiwiZ2V0R3FsRmllbGRzIiwiZ2V0TGFtYmRhRGF0YSIsImFkZEZpZWxkc01pZGRsZXdhcmUiLCJyZXNvbHZlIiwic291cmNlIiwiYXJncyIsImNvbnRleHQiLCJpbmZvIiwiZW5oYW5jZWRDb250ZXh0IiwiZmllbGRzIiwiYWRkTWlzc2luZ0ZpZWxkcyIsInRjIiwiT2JqZWN0IiwiZW50cmllcyIsImZvckVhY2giLCJmaWVsZE5hbWUiLCJmaWVsZENvbmZpZyIsImhhc0ZpZWxkIiwic2V0RmllbGQiLCJhcHBseU1pZGRsZXdhcmUiLCJtaWRkbGV3YXJlcyIsImxlbmd0aCIsImtleXMiLCJnZXRGaWVsZHMiLCJoYXNSZXNvbHZlciIsIm1pZGRsZXdhcmUiLCJ3cmFwUmVzb2x2ZXIiLCJlcnJvciIsImNvbnNvbGUiLCJ3YXJuIiwibWVzc2FnZSIsImNyZWF0ZUdyYXBocWxIYW5kbGVyIiwib3B0aW9ucyIsImNvbXBvc2VyIiwiaW5pdGlhbENvbnRleHQiLCJzaG91bGRJbmNsdWRlRGVmYXVsdHMiLCJpbmNsdWRlRGVmYXVsdHMiLCJtaWRkbGV3YXJlTGlzdCIsIkFycmF5IiwiaXNBcnJheSIsImV4dHJhUXVlcmllcyIsIlF1ZXJ5IiwiZXh0cmFNdXRhdGlvbnMiLCJNdXRhdGlvbiIsInNjaGVtYSIsImJ1aWxkU2NoZW1hIiwiZXZlbnQiLCJ1cGRhdGVkQ29udGV4dCIsImxhbmd1YWdlQ29udGV4dCIsImNvbnRleHRXaXRoTGFuZ3VhZ2UiLCJjb25maWciLCJnZXQiLCJyZXF1ZXN0IiwicGFyc2VEYXRhIiwiYm9keSIsInF1ZXJ5IiwiSlNPTiIsInN0cmluZ2lmeSIsImRhdGEiLCJlcnJvcnMiLCJoZWFkZXJzIiwic3RhdHVzQ29kZSIsInJlc3VsdCIsIlByb21pc2UiLCJjb250ZXh0VmFsdWUiLCJ2YXJpYWJsZVZhbHVlcyIsInZhcmlhYmxlcyIsImdyYXBocWxFcnJvciIsImVycm9yTWVzc2FnZSIsIkVycm9yIiwiZXJyb3JTdGFjayIsInN0YWNrIiwidW5kZWZpbmVkIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiZXJyIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxPQUFPLFFBQU8sVUFBVTtBQUNoQyxTQUFRQyxjQUFjLFFBQU8sa0JBQWtCO0FBRy9DLFNBQVFDLE1BQU0sUUFBTyxlQUFlO0FBQ3BDLFNBQVFDLHdCQUF3QixRQUFPLHdCQUF3QjtBQUMvRCxTQUFRQyxzQkFBc0IsUUFBTyxzQkFBc0I7QUFDM0QsU0FBUUMsc0JBQXNCLFFBQU8sMkJBQTJCO0FBQ2hFLFNBQVFDLGFBQWEsRUFBRUMsWUFBWSxFQUFFQyxhQUFhLFFBQXdCLG9CQUFvQjtBQXlCOUYsTUFBTUMsc0JBQWlELENBQUNDLFNBQVNDLFFBQVFDLE1BQU1DLFNBQXFCQztJQUNsRyxNQUFNQyxrQkFBa0I7UUFDdEIsR0FBR0YsT0FBTztRQUNWRyxRQUFRVCxhQUFhTztJQUN2QjtJQUVBLE9BQU9KLFFBQVFDLFFBQVFDLE1BQU1HLGlCQUFpQkQ7QUFDaEQ7QUFFQSxNQUFNRyxtQkFBbUIsQ0FBQ0MsSUFBMENGO0lBQ2xFRyxPQUFPQyxPQUFPLENBQUNKLFFBQVFLLE9BQU8sQ0FBQyxDQUFDLENBQUNDLFdBQVdDLFlBQVk7UUFDdEQsSUFBRyxDQUFDTCxHQUFHTSxRQUFRLENBQUNGLFlBQVk7WUFDMUJKLEdBQUdPLFFBQVEsQ0FBQ0gsV0FBV0M7UUFDekI7SUFDRjtBQUNGO0FBRUEsTUFBTUcsa0JBQWtCLENBQ3RCUixJQUNBUztJQUVBLElBQUdBLFlBQVlDLE1BQU0sS0FBSyxHQUFHO1FBQzNCO0lBQ0Y7SUFFQVQsT0FBT1UsSUFBSSxDQUFDWCxHQUFHWSxTQUFTLElBQUlULE9BQU8sQ0FBQyxDQUFDQztRQUNuQyxJQUFJO1lBQ0YsSUFBR0osR0FBR2EsV0FBVyxDQUFDVCxZQUFZO2dCQUM1QkssWUFBWU4sT0FBTyxDQUFDLENBQUNXLGFBQWVkLEdBQUdlLFlBQVksQ0FBQ1gsV0FBV1U7WUFDakU7UUFDRixFQUFFLE9BQU1FLE9BQVk7WUFDbEJDLFFBQVFDLElBQUksQ0FBQyxDQUFDLGVBQWUsRUFBRWQsVUFBVSxrQkFBa0IsQ0FBQyxFQUFFWSxNQUFNRyxPQUFPO1FBQzdFO0lBQ0Y7QUFDRjtBQUVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FrQkMsR0FDRCxPQUFPLE1BQU1DLHVCQUF1QixDQUFDQyxVQUFpQyxDQUFDLENBQUM7SUFDdEUsTUFBTUMsV0FBV0QsUUFBUUMsUUFBUSxJQUFJdkM7SUFDckMsTUFBTXdDLGlCQUFrQkYsUUFBUTFCLE9BQU8sSUFBSSxDQUFDO0lBQzVDLE1BQU02Qix3QkFBd0JILFFBQVFJLGVBQWUsS0FBSztJQUMxRCxNQUFNQyxpQkFBaUI7UUFDckJuQztXQUNJb0MsTUFBTUMsT0FBTyxDQUFDUCxRQUFRUCxVQUFVLElBQ2hDTyxRQUFRUCxVQUFVLEdBQ2xCTyxRQUFRUCxVQUFVLEdBQUc7WUFBQ08sUUFBUVAsVUFBVTtTQUFDLEdBQUcsRUFBRTtLQUNuRDtJQUVELElBQUdVLHVCQUF1QjtRQUN4QnRDLHVCQUF1Qm9DO1FBQ3ZCckMseUJBQXlCcUM7SUFDM0I7SUFFQSxJQUFHRCxRQUFRUSxZQUFZLEVBQUU7UUFDdkI5QixpQkFBaUJ1QixTQUFTUSxLQUFLLEVBQUVULFFBQVFRLFlBQVk7SUFDdkQ7SUFFQSxJQUFHUixRQUFRVSxjQUFjLEVBQUU7UUFDekJoQyxpQkFBaUJ1QixTQUFTVSxRQUFRLEVBQUVYLFFBQVFVLGNBQWM7SUFDNUQ7SUFFQXZCLGdCQUFnQmMsU0FBU1EsS0FBSyxFQUFFSjtJQUNoQ2xCLGdCQUFnQmMsU0FBU1UsUUFBUSxFQUFFTjtJQUVuQyxNQUFNTyxTQUFTWCxTQUFTWSxXQUFXO0lBRW5DLE9BQU8sT0FBT0M7UUFDWixJQUFJO1lBQ0YsTUFBTUMsaUJBQTZCLE1BQU1oRCxjQUFjbUMsZ0JBQWdCWTtZQUN2RSxNQUFNRSxrQkFBa0JsRCx1QkFBdUJnRDtZQUUvQyxNQUFNRyxzQkFBc0I7Z0JBQzFCQyxRQUFRdkQsT0FBT3dELEdBQUc7Z0JBQ2xCLEdBQUdKLGNBQWM7Z0JBQ2pCQztnQkFDQUksU0FBU047WUFDWDtZQUVBLE1BQU1PLFlBQVlwRCxjQUFjNkM7WUFDaEMsTUFBTSxFQUFDUSxJQUFJLEVBQUMsR0FBR0Q7WUFFZixJQUFHLENBQUNDLE1BQU1DLE9BQU87Z0JBQ2YzQixRQUFRQyxJQUFJLENBQUM7Z0JBRWIsT0FBTztvQkFDTHlCLE1BQU1FLEtBQUtDLFNBQVMsQ0FBQzt3QkFDbkJDLE1BQU07d0JBQ05DLFFBQVE7NEJBQUM7Z0NBQ1A3QixTQUFTOzRCQUNYO3lCQUFFO29CQUNKO29CQUNBOEIsU0FBUzt3QkFDUCxnQkFBZ0I7b0JBQ2xCO29CQUNBQyxZQUFZO2dCQUNkO1lBQ0Y7WUFFQSxJQUFJO2dCQUNGLE1BQU1DLFNBQVMsTUFBTUMsUUFBUTVELE9BQU8sQ0FBQ1YsUUFBUTtvQkFDM0N1RSxjQUFjZjtvQkFDZEw7b0JBQ0F4QyxRQUFRa0QsS0FBS0MsS0FBSztvQkFDbEJVLGdCQUFnQlgsS0FBS1ksU0FBUztnQkFDaEM7Z0JBRUEsSUFBR0osT0FBT0gsTUFBTSxJQUFJRyxPQUFPSCxNQUFNLENBQUN0QyxNQUFNLEdBQUcsR0FBRztvQkFDNUNPLFFBQVFELEtBQUssQ0FBQyw2QkFBNkJtQyxPQUFPSCxNQUFNO2dCQUMxRDtnQkFFQSxPQUFPO29CQUNMTCxNQUFNRSxLQUFLQyxTQUFTLENBQUNLO29CQUNyQkYsU0FBUzt3QkFDUCxnQkFBZ0I7b0JBQ2xCO29CQUNBQyxZQUFZO2dCQUNkO1lBQ0YsRUFBRSxPQUFNTSxjQUF1QjtnQkFDN0J2QyxRQUFRRCxLQUFLLENBQUMsbUNBQW1Dd0M7Z0JBRWpELE1BQU1DLGVBQWVELHdCQUF3QkUsUUFBUUYsYUFBYXJDLE9BQU8sR0FBRztnQkFDNUUsTUFBTXdDLGFBQWFILHdCQUF3QkUsUUFBUUYsYUFBYUksS0FBSyxHQUFHQztnQkFFeEUsT0FBTztvQkFDTGxCLE1BQU1FLEtBQUtDLFNBQVMsQ0FBQzt3QkFDbkJDLE1BQU07d0JBQ05DLFFBQVE7NEJBQUM7Z0NBQ1A3QixTQUFTc0M7Z0NBQ1RHLE9BQU9FLFFBQVFDLEdBQUcsQ0FBQ0MsUUFBUSxLQUFLLGdCQUFnQkwsYUFBYUU7NEJBQy9EO3lCQUFFO29CQUNKO29CQUNBWixTQUFTO3dCQUNQLGdCQUFnQjtvQkFDbEI7b0JBQ0FDLFlBQVk7Z0JBQ2Q7WUFDRjtRQUNGLEVBQUUsT0FBTWUsS0FBYztZQUNwQmhELFFBQVFELEtBQUssQ0FBQyxrQkFBa0I7Z0JBQzlCRyxTQUFTOEMsZUFBZVAsUUFBUU8sSUFBSTlDLE9BQU8sR0FBRztnQkFDOUN5QyxPQUFPSyxlQUFlUCxRQUFRTyxJQUFJTCxLQUFLLEdBQUdDO1lBQzVDO1lBRUEsTUFBTUosZUFBZVEsZUFBZVAsUUFBUU8sSUFBSTlDLE9BQU8sR0FBRztZQUMxRCxNQUFNd0MsYUFBYU0sZUFBZVAsUUFBUU8sSUFBSUwsS0FBSyxHQUFHQztZQUV0RCxPQUFPO2dCQUNMbEIsTUFBTUUsS0FBS0MsU0FBUyxDQUFDO29CQUNuQkMsTUFBTTtvQkFDTkMsUUFBUTt3QkFBQzs0QkFDUDdCLFNBQVNzQzs0QkFDVEcsT0FBT0UsUUFBUUMsR0FBRyxDQUFDQyxRQUFRLEtBQUssZ0JBQWdCTCxhQUFhRTt3QkFDL0Q7cUJBQUU7Z0JBQ0o7Z0JBQ0FaLFNBQVM7b0JBQ1AsZ0JBQWdCO2dCQUNsQjtnQkFDQUMsWUFBWTtZQUNkO1FBQ0Y7SUFDRjtBQUNGLEVBQUUifQ==
|
package/lib/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2019-Present, Nitrogen Labs, Inc.
|
|
3
|
-
*
|
|
3
|
+
* All rights reserved. Use is subject to the accompanying commercial LICENSE.
|
|
4
4
|
*/
|
|
5
5
|
export { graphql, GraphQLBoolean, GraphQLFloat, GraphQLID, GraphQLInt, GraphQLList, GraphQLNonNull, GraphQLObjectType, GraphQLString, graphqlSync, printSchema } from 'graphql';
|
|
6
6
|
export type { ExecutionResult } from 'graphql';
|
|
@@ -9,6 +9,8 @@ export { schemaComposer } from 'graphql-compose';
|
|
|
9
9
|
export * from './actions/index.js';
|
|
10
10
|
export * from './adapters/index.js';
|
|
11
11
|
export * from './config.js';
|
|
12
|
+
export { COLLECTIONS, ConnectionType as ConnectionTypes, DEFAULT_DOCUMENT_COLLECTIONS, DEFAULT_EDGE_COLLECTIONS, EDGES, PrivacyLevel, ReactionType } from './constants/collections.js';
|
|
13
|
+
export type { ConnectionTypeType as ConnectionTypeValue, PrivacyLevelType, ReactionTypeType } from './constants/collections.js';
|
|
12
14
|
export * from './handlers/graphqlHandler.js';
|
|
13
15
|
export * from './lambdas/authorizer.js';
|
|
14
16
|
export * from './lambdas/connection.js';
|
|
@@ -16,8 +18,8 @@ export * from './mutations/index.js';
|
|
|
16
18
|
export * from './objectTypes/index.js';
|
|
17
19
|
export * from './queries/index.js';
|
|
18
20
|
export * from './types/index.js';
|
|
21
|
+
export * from './upload.js';
|
|
19
22
|
export * from './utils/index.js';
|
|
20
23
|
export * from './videoProcessing.js';
|
|
21
|
-
export * from './upload.js';
|
|
22
24
|
export declare const reaktorSchema = "";
|
|
23
25
|
export declare const reaktorResolvers: import("graphql-compose/lib/SchemaComposer.js").GraphQLToolsResolveMethods<any>;
|
package/lib/index.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2019-Present, Nitrogen Labs, Inc.
|
|
3
|
-
*
|
|
3
|
+
* All rights reserved. Use is subject to the accompanying commercial LICENSE.
|
|
4
4
|
*/ export { graphql, GraphQLBoolean, GraphQLFloat, GraphQLID, GraphQLInt, GraphQLList, GraphQLNonNull, GraphQLObjectType, GraphQLString, graphqlSync, printSchema } from 'graphql';
|
|
5
5
|
import { schemaComposer } from 'graphql-compose';
|
|
6
6
|
export { schemaComposer } from 'graphql-compose';
|
|
7
7
|
export * from './actions/index.js';
|
|
8
8
|
export * from './adapters/index.js';
|
|
9
9
|
export * from './config.js';
|
|
10
|
+
export { COLLECTIONS, ConnectionType as ConnectionTypes, DEFAULT_DOCUMENT_COLLECTIONS, DEFAULT_EDGE_COLLECTIONS, EDGES, PrivacyLevel, ReactionType } from './constants/collections.js';
|
|
10
11
|
export * from './handlers/graphqlHandler.js';
|
|
11
12
|
export * from './lambdas/authorizer.js';
|
|
12
13
|
export * from './lambdas/connection.js';
|
|
@@ -14,10 +15,10 @@ export * from './mutations/index.js';
|
|
|
14
15
|
export * from './objectTypes/index.js';
|
|
15
16
|
export * from './queries/index.js';
|
|
16
17
|
export * from './types/index.js';
|
|
18
|
+
export * from './upload.js';
|
|
17
19
|
export * from './utils/index.js';
|
|
18
20
|
export * from './videoProcessing.js';
|
|
19
|
-
export * from './upload.js';
|
|
20
21
|
export const reaktorSchema = ''; // printSchema(schemaComposer.buildSchema());
|
|
21
22
|
export const reaktorResolvers = schemaComposer.getResolveMethods();
|
|
22
23
|
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3JlYWt0b3IvcmVha3Rvci9wYWNrYWdlcy9yZWFrdG9yL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBVc2UgaXMgc3ViamVjdCB0byB0aGUgYWNjb21wYW55aW5nIGNvbW1lcmNpYWwgTElDRU5TRS5cbiAqL1xuZXhwb3J0IHtcbiAgZ3JhcGhxbCwgR3JhcGhRTEJvb2xlYW4sXG4gIEdyYXBoUUxGbG9hdCxcbiAgR3JhcGhRTElELFxuICBHcmFwaFFMSW50LFxuICBHcmFwaFFMTGlzdCwgR3JhcGhRTE5vbk51bGwsIEdyYXBoUUxPYmplY3RUeXBlLCBHcmFwaFFMU3RyaW5nLCBncmFwaHFsU3luYyxcbiAgcHJpbnRTY2hlbWFcbn0gZnJvbSAnZ3JhcGhxbCc7XG5pbXBvcnQge3NjaGVtYUNvbXBvc2VyfSBmcm9tICdncmFwaHFsLWNvbXBvc2UnO1xuXG5cbmV4cG9ydCB0eXBlIHtFeGVjdXRpb25SZXN1bHR9IGZyb20gJ2dyYXBocWwnO1xuZXhwb3J0IHR5cGUge0lucHV0VHlwZUNvbXBvc2VyLCBPYmplY3RUeXBlQ29tcG9zZXJ9IGZyb20gJ2dyYXBocWwtY29tcG9zZSc7XG5cbmV4cG9ydCB7c2NoZW1hQ29tcG9zZXJ9IGZyb20gJ2dyYXBocWwtY29tcG9zZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbnMvaW5kZXguanMnO1xuZXhwb3J0ICogZnJvbSAnLi9hZGFwdGVycy9pbmRleC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZy5qcyc7XG5leHBvcnQge1xuICBDT0xMRUNUSU9OUyxcbiAgQ29ubmVjdGlvblR5cGUgYXMgQ29ubmVjdGlvblR5cGVzLFxuICBERUZBVUxUX0RPQ1VNRU5UX0NPTExFQ1RJT05TLFxuICBERUZBVUxUX0VER0VfQ09MTEVDVElPTlMsXG4gIEVER0VTLFxuICBQcml2YWN5TGV2ZWwsXG4gIFJlYWN0aW9uVHlwZVxufSBmcm9tICcuL2NvbnN0YW50cy9jb2xsZWN0aW9ucy5qcyc7XG5leHBvcnQgdHlwZSB7XG4gIENvbm5lY3Rpb25UeXBlVHlwZSBhcyBDb25uZWN0aW9uVHlwZVZhbHVlLFxuICBQcml2YWN5TGV2ZWxUeXBlLFxuICBSZWFjdGlvblR5cGVUeXBlXG59IGZyb20gJy4vY29uc3RhbnRzL2NvbGxlY3Rpb25zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vaGFuZGxlcnMvZ3JhcGhxbEhhbmRsZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9sYW1iZGFzL2F1dGhvcml6ZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9sYW1iZGFzL2Nvbm5lY3Rpb24uanMnO1xuZXhwb3J0ICogZnJvbSAnLi9tdXRhdGlvbnMvaW5kZXguanMnO1xuZXhwb3J0ICogZnJvbSAnLi9vYmplY3RUeXBlcy9pbmRleC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJpZXMvaW5kZXguanMnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9pbmRleC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3VwbG9hZC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2luZGV4LmpzJztcbmV4cG9ydCAqIGZyb20gJy4vdmlkZW9Qcm9jZXNzaW5nLmpzJztcblxuZXhwb3J0IGNvbnN0IHJlYWt0b3JTY2hlbWEgPSAnJzsvLyBwcmludFNjaGVtYShzY2hlbWFDb21wb3Nlci5idWlsZFNjaGVtYSgpKTtcbmV4cG9ydCBjb25zdCByZWFrdG9yUmVzb2x2ZXJzID0gc2NoZW1hQ29tcG9zZXIuZ2V0UmVzb2x2ZU1ldGhvZHMoKTtcbiJdLCJuYW1lcyI6WyJncmFwaHFsIiwiR3JhcGhRTEJvb2xlYW4iLCJHcmFwaFFMRmxvYXQiLCJHcmFwaFFMSUQiLCJHcmFwaFFMSW50IiwiR3JhcGhRTExpc3QiLCJHcmFwaFFMTm9uTnVsbCIsIkdyYXBoUUxPYmplY3RUeXBlIiwiR3JhcGhRTFN0cmluZyIsImdyYXBocWxTeW5jIiwicHJpbnRTY2hlbWEiLCJzY2hlbWFDb21wb3NlciIsIkNPTExFQ1RJT05TIiwiQ29ubmVjdGlvblR5cGUiLCJDb25uZWN0aW9uVHlwZXMiLCJERUZBVUxUX0RPQ1VNRU5UX0NPTExFQ1RJT05TIiwiREVGQVVMVF9FREdFX0NPTExFQ1RJT05TIiwiRURHRVMiLCJQcml2YWN5TGV2ZWwiLCJSZWFjdGlvblR5cGUiLCJyZWFrdG9yU2NoZW1hIiwicmVha3RvclJlc29sdmVycyIsImdldFJlc29sdmVNZXRob2RzIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxTQUNFQSxPQUFPLEVBQUVDLGNBQWMsRUFDdkJDLFlBQVksRUFDWkMsU0FBUyxFQUNUQyxVQUFVLEVBQ1ZDLFdBQVcsRUFBRUMsY0FBYyxFQUFFQyxpQkFBaUIsRUFBRUMsYUFBYSxFQUFFQyxXQUFXLEVBQzFFQyxXQUFXLFFBQ04sVUFBVTtBQUNqQixTQUFRQyxjQUFjLFFBQU8sa0JBQWtCO0FBTS9DLFNBQVFBLGNBQWMsUUFBTyxrQkFBa0I7QUFDL0MsY0FBYyxxQkFBcUI7QUFDbkMsY0FBYyxzQkFBc0I7QUFDcEMsY0FBYyxjQUFjO0FBQzVCLFNBQ0VDLFdBQVcsRUFDWEMsa0JBQWtCQyxlQUFlLEVBQ2pDQyw0QkFBNEIsRUFDNUJDLHdCQUF3QixFQUN4QkMsS0FBSyxFQUNMQyxZQUFZLEVBQ1pDLFlBQVksUUFDUCw2QkFBNkI7QUFNcEMsY0FBYywrQkFBK0I7QUFDN0MsY0FBYywwQkFBMEI7QUFDeEMsY0FBYywwQkFBMEI7QUFDeEMsY0FBYyx1QkFBdUI7QUFDckMsY0FBYyx5QkFBeUI7QUFDdkMsY0FBYyxxQkFBcUI7QUFDbkMsY0FBYyxtQkFBbUI7QUFDakMsY0FBYyxjQUFjO0FBQzVCLGNBQWMsbUJBQW1CO0FBQ2pDLGNBQWMsdUJBQXVCO0FBRXJDLE9BQU8sTUFBTUMsZ0JBQWdCLEdBQUcsQ0FBQSw2Q0FBNkM7QUFDN0UsT0FBTyxNQUFNQyxtQkFBbUJWLGVBQWVXLGlCQUFpQixHQUFHIn0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2021-Present, Nitrogen Labs, Inc.
|
|
3
|
-
*
|
|
3
|
+
* All rights reserved. Use is subject to the accompanying commercial LICENSE.
|
|
4
4
|
*/ import { aql } from 'arangojs';
|
|
5
5
|
import { createHash, parseId, parseString } from '@nlabs/utils/parsers/strings';
|
|
6
6
|
import { useDb } from '../../utils/arangodbUtils.js';
|
|
@@ -122,4 +122,4 @@ export const removeConnection = (connectionId)=>{
|
|
|
122
122
|
});
|
|
123
123
|
};
|
|
124
124
|
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2xhbWJkYXMvYWN0aW9ucy93ZWJzb2NrZXRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDIxLVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2FxbCwgRGF0YWJhc2V9IGZyb20gJ2FyYW5nb2pzJztcblxuaW1wb3J0IHtjcmVhdGVIYXNoLCBwYXJzZUlkLCBwYXJzZVN0cmluZ30gZnJvbSAnQG5sYWJzL3V0aWxzL3BhcnNlcnMvc3RyaW5ncyc7XG5pbXBvcnQge3VzZURifSBmcm9tICcuLi8uLi91dGlscy9hcmFuZ29kYlV0aWxzLmpzJztcblxuaW1wb3J0IHR5cGUge0FxbFF1ZXJ5fSBmcm9tICdhcmFuZ29qcy9hcWwnO1xuaW1wb3J0IHR5cGUge0FwaUNvbnRleHR9IGZyb20gJy4uLy4uL3R5cGVzL2F1dGgudHlwZXMuanMnO1xuaW1wb3J0IHR5cGUge1dlYnNvY2tldENvbm5lY3Rpb259IGZyb20gJy4uLy4uL3R5cGVzL3dlYnNvY2tldHMudHlwZXMuanMnO1xuXG5jb25zdCB7QVJBTkdPREJfREFUQUJBU0U6IGRhdGFiYXNlTmFtZX0gPSBwcm9jZXNzLmVudjtcblxuZXhwb3J0IGNvbnN0IGFkZENvbm5lY3Rpb24gPSAoXG4gIGNvbm5lY3Rpb25JZDogc3RyaW5nLFxuICB1c2VySWQ6IHN0cmluZyxcbiAgcGVyc29uYUlkID0gJycsXG4gIGNsaWVudElkID0gJydcbik6IFByb21pc2U8V2Vic29ja2V0Q29ubmVjdGlvbj4gPT4ge1xuICBjb25zdCBmb3JtYXRDbGllbnRJZCA9IHBhcnNlU3RyaW5nKGNsaWVudElkLCA2NCk7XG4gIGNvbnN0IGZvcm1hdENvbm5JZCA9IHBhcnNlU3RyaW5nKGNvbm5lY3Rpb25JZCwgMzIpO1xuICBjb25zdCBmb3JtYXRVc2VySWQgPSBwYXJzZUlkKHVzZXJJZCk7XG4gIGNvbnN0IGZvcm1hdFBlcnNvbmFJZCA9IHBhcnNlSWQocGVyc29uYUlkKTtcbiAgY29uc3QgZGI6IERhdGFiYXNlID0gdXNlRGIoZGF0YWJhc2VOYW1lKTtcbiAgY29uc3QgdGltZXN0YW1wID0gRGF0ZS5ub3coKTtcbiAgY29uc3QgdXBzZXJ0ID0gZm9ybWF0Q2xpZW50SWRcbiAgICA/IHtjbGllbnRJZDogZm9ybWF0Q2xpZW50SWR9XG4gICAgOiB7Y29ubmVjdGlvbklkOiBmb3JtYXRDb25uSWR9O1xuICBjb25zdCBpbnNlcnQgPSB7XG4gICAgX2tleTogY3JlYXRlSGFzaChgY29ubmVjdGlvbi0ke2Zvcm1hdENsaWVudElkIHx8IGZvcm1hdENvbm5JZH1gKSxcbiAgICAuLi4oZm9ybWF0Q2xpZW50SWQgJiYge2NsaWVudElkOiBmb3JtYXRDbGllbnRJZH0pLFxuICAgIGNvbm5lY3Rpb25JZDogZm9ybWF0Q29ubklkLFxuICAgIG1vZGlmaWVkOiB0aW1lc3RhbXAsXG4gICAgLi4uKGZvcm1hdFBlcnNvbmFJZCAmJiB7cGVyc29uYUlkOiBmb3JtYXRQZXJzb25hSWR9KSxcbiAgICB1c2VySWQ6IGZvcm1hdFVzZXJJZFxuICB9O1xuICBjb25zdCB1cGRhdGUgPSB7XG4gICAgLi4uKGZvcm1hdENsaWVudElkICYmIHtjbGllbnRJZDogZm9ybWF0Q2xpZW50SWR9KSxcbiAgICAuLi4oZm9ybWF0UGVyc29uYUlkICYmIHtwZXJzb25hSWQ6IGZvcm1hdFBlcnNvbmFJZH0pLFxuICAgIGNvbm5lY3Rpb25JZDogZm9ybWF0Q29ubklkLFxuICAgIG1vZGlmaWVkOiB0aW1lc3RhbXAsXG4gICAgdXNlcklkOiBmb3JtYXRVc2VySWRcbiAgfTtcbiAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBVUFNFUlQgJHt1cHNlcnR9XG4gICAgSU5TRVJUICR7aW5zZXJ0fVxuICAgIFVQREFURSAke3VwZGF0ZX0gSU4gY29ubmVjdGlvbnNcbiAgICBSRVRVUk4gTkVXYDtcblxuICByZXR1cm4gZGIucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENvbm5lY3Rpb25zQnlVc2VyID0gKHVzZXJJZDogc3RyaW5nKTogUHJvbWlzZTxXZWJzb2NrZXRDb25uZWN0aW9uW10+ID0+IHtcbiAgY29uc3QgZm9ybWF0VXNlcklkID0gcGFyc2VJZCh1c2VySWQpO1xuICBjb25zdCBkYjogRGF0YWJhc2UgPSB1c2VEYihkYXRhYmFzZU5hbWUpO1xuICBjb25zdCBhcWxRcnkgPSBhcWxgRk9SIGMgSU4gY29ubmVjdGlvbnNcbiAgICBGSUxURVIgYy51c2VySWQgPT0gJHtmb3JtYXRVc2VySWR9XG4gICAgUkVUVVJOIGNgO1xuXG4gIHJldHVybiBkYi5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLmFsbCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDb25uZWN0aW9uc0J5UGVyc29uYSA9IChwZXJzb25hSWQ6IHN0cmluZyk6IFByb21pc2U8V2Vic29ja2V0Q29ubmVjdGlvbltdPiA9PiB7XG4gIGNvbnN0IGZvcm1hdFBlcnNvbmFJZCA9IHBhcnNlSWQocGVyc29uYUlkKTtcbiAgY29uc3QgZGI6IERhdGFiYXNlID0gdXNlRGIoZGF0YWJhc2VOYW1lKTtcbiAgY29uc3QgYXFsUXJ5ID0gYXFsYEZPUiBjIElOIGNvbm5lY3Rpb25zXG4gICAgRklMVEVSIGMucGVyc29uYUlkID09ICR7Zm9ybWF0UGVyc29uYUlkfVxuICAgIFJFVFVSTiBjYDtcblxuICByZXR1cm4gZGIucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5hbGwoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29ubmVjdGlvbkJ5VXNlcklkID0gKHVzZXJJZCA9ICcnKTogUHJvbWlzZTxXZWJzb2NrZXRDb25uZWN0aW9uIHwgbnVsbD4gPT4ge1xuICBjb25zdCBmb3JtYXRVc2VySWQgPSBwYXJzZUlkKHVzZXJJZCk7XG4gIGNvbnN0IGRiOiBEYXRhYmFzZSA9IHVzZURiKGRhdGFiYXNlTmFtZSk7XG4gIGNvbnN0IGFxbFFyeSA9IGFxbGBGT1IgYyBJTiBjb25uZWN0aW9uc1xuICAgIEZJTFRFUiBjLnVzZXJJZCA9PSAke2Zvcm1hdFVzZXJJZH1cbiAgICBMSU1JVCAxXG4gICAgUkVUVVJOIGNgO1xuXG4gIHJldHVybiBkYi5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29ubmVjdGlvbkJ5SWQgPSAoY29ubmVjdGlvbklkOiBzdHJpbmcpOiBQcm9taXNlPFdlYnNvY2tldENvbm5lY3Rpb24gfCBudWxsPiA9PiB7XG4gIGNvbnN0IGZvcm1hdENvbm5JZCA9IHBhcnNlU3RyaW5nKGNvbm5lY3Rpb25JZCwgMzIpO1xuICBjb25zdCBkYjogRGF0YWJhc2UgPSB1c2VEYihkYXRhYmFzZU5hbWUpO1xuICBjb25zdCBhcWxRcnkgPSBhcWxgRk9SIGMgSU4gY29ubmVjdGlvbnNcbiAgICBGSUxURVIgYy5jb25uZWN0aW9uSWQgPT0gJHtmb3JtYXRDb25uSWR9XG4gICAgTElNSVQgMVxuICAgIFJFVFVSTiBjYDtcblxuICByZXR1cm4gZGIucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENvbm5lY3Rpb25CeUNvbnZlcnNhdGlvbiA9IChjb250ZXh0OiBBcGlDb250ZXh0LCBjb252ZXJzYXRpb25JZDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmdbXVtdPiA9PiB7XG4gIGNvbnN0IHtzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWQgPSAnJ30gPSB7fX0gPSBjb250ZXh0O1xuICBjb25zdCBzZXNzaW9uRG9jSWQgPSBgdXNlcnMvJHtwYXJzZUlkKHNlc3Npb25JZCl9YDtcbiAgY29uc3QgY29udmVyc2F0aW9uRG9jSWQgPSBgY29udmVyc2F0aW9ucy8ke3BhcnNlSWQoY29udmVyc2F0aW9uSWQpfWA7XG4gIGNvbnN0IGRiOiBEYXRhYmFzZSA9IHVzZURiKGRhdGFiYXNlTmFtZSk7XG4gIGNvbnN0IGFxbFFyeSA9IGFxbGBGT1IgYywgZSBJTiAxLi4xIE9VVEJPVU5EICR7c2Vzc2lvbkRvY0lkfSBoYXNDb252ZXJzYXRpb25cbiAgICBGSUxURVIgYy5faWQgPT0gJHtjb252ZXJzYXRpb25Eb2NJZH1cbiAgICBMSU1JVCAxXG4gICAgTEVUIHUgPSAoXG4gICAgICBGT1IgaW5Vc2VyLCBpbkVkZ2UgSU4gMS4uMSBJTkJPVU5EICR7Y29udmVyc2F0aW9uRG9jSWR9IGhhc0NvbnZlcnNhdGlvblxuICAgICAgICBGT1IgbiBJTiBjb25uZWN0aW9uc1xuICAgICAgICAgIEZJTFRFUiBpblVzZXIudXNlcklkID09IG4udXNlcklkXG4gICAgICAgICAgUkVUVVJOIG4uY29ubmVjdGlvbklkXG4gICAgKVxuICAgIFJFVFVSTiB1YDtcblxuICByZXR1cm4gZGIucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5hbGwoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlQ29ubmVjdGlvbiA9IChjb25uZWN0aW9uSWQ6IHN0cmluZyk6IFByb21pc2U8V2Vic29ja2V0Q29ubmVjdGlvbiB8IG51bGw+ID0+IHtcbiAgY29uc3QgZm9ybWF0Q29ubklkID0gcGFyc2VTdHJpbmcoY29ubmVjdGlvbklkLCAzMik7XG4gIGNvbnN0IGRiOiBEYXRhYmFzZSA9IHVzZURiKGRhdGFiYXNlTmFtZSk7XG4gIGNvbnN0IGFxbFFyeSA9IGFxbGBGT1IgYyBJTiBjb25uZWN0aW9uc1xuICAgIEZJTFRFUiBjLmNvbm5lY3Rpb25JZCA9PSAke2Zvcm1hdENvbm5JZH1cbiAgICBMSU1JVCAxXG4gICAgUkVNT1ZFIGMgSU4gY29ubmVjdGlvbnNcbiAgICBSRVRVUk4gT0xEYDtcblxuICByZXR1cm4gZGIucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xufTtcbiJdLCJuYW1lcyI6WyJhcWwiLCJjcmVhdGVIYXNoIiwicGFyc2VJZCIsInBhcnNlU3RyaW5nIiwidXNlRGIiLCJBUkFOR09EQl9EQVRBQkFTRSIsImRhdGFiYXNlTmFtZSIsInByb2Nlc3MiLCJlbnYiLCJhZGRDb25uZWN0aW9uIiwiY29ubmVjdGlvbklkIiwidXNlcklkIiwicGVyc29uYUlkIiwiY2xpZW50SWQiLCJmb3JtYXRDbGllbnRJZCIsImZvcm1hdENvbm5JZCIsImZvcm1hdFVzZXJJZCIsImZvcm1hdFBlcnNvbmFJZCIsImRiIiwidGltZXN0YW1wIiwiRGF0ZSIsIm5vdyIsInVwc2VydCIsImluc2VydCIsIl9rZXkiLCJtb2RpZmllZCIsInVwZGF0ZSIsImFxbFFyeSIsInF1ZXJ5IiwidGhlbiIsImN1cnNvciIsIm5leHQiLCJjYXRjaCIsImVycm9yIiwiZ2V0Q29ubmVjdGlvbnNCeVVzZXIiLCJhbGwiLCJnZXRDb25uZWN0aW9uc0J5UGVyc29uYSIsImdldENvbm5lY3Rpb25CeVVzZXJJZCIsImdldENvbm5lY3Rpb25CeUlkIiwiZ2V0Q29ubmVjdGlvbkJ5Q29udmVyc2F0aW9uIiwiY29udGV4dCIsImNvbnZlcnNhdGlvbklkIiwic2Vzc2lvbiIsInNlc3Npb25JZCIsInNlc3Npb25Eb2NJZCIsImNvbnZlcnNhdGlvbkRvY0lkIiwicmVtb3ZlQ29ubmVjdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsU0FBUUEsR0FBRyxRQUFpQixXQUFXO0FBRXZDLFNBQVFDLFVBQVUsRUFBRUMsT0FBTyxFQUFFQyxXQUFXLFFBQU8sK0JBQStCO0FBQzlFLFNBQVFDLEtBQUssUUFBTywrQkFBK0I7QUFNbkQsTUFBTSxFQUFDQyxtQkFBbUJDLFlBQVksRUFBQyxHQUFHQyxRQUFRQyxHQUFHO0FBRXJELE9BQU8sTUFBTUMsZ0JBQWdCLENBQzNCQyxjQUNBQyxRQUNBQyxZQUFZLEVBQUUsRUFDZEMsV0FBVyxFQUFFO0lBRWIsTUFBTUMsaUJBQWlCWCxZQUFZVSxVQUFVO0lBQzdDLE1BQU1FLGVBQWVaLFlBQVlPLGNBQWM7SUFDL0MsTUFBTU0sZUFBZWQsUUFBUVM7SUFDN0IsTUFBTU0sa0JBQWtCZixRQUFRVTtJQUNoQyxNQUFNTSxLQUFlZCxNQUFNRTtJQUMzQixNQUFNYSxZQUFZQyxLQUFLQyxHQUFHO0lBQzFCLE1BQU1DLFNBQVNSLGlCQUNYO1FBQUNELFVBQVVDO0lBQWMsSUFDekI7UUFBQ0osY0FBY0s7SUFBWTtJQUMvQixNQUFNUSxTQUFTO1FBQ2JDLE1BQU12QixXQUFXLENBQUMsV0FBVyxFQUFFYSxrQkFBa0JDLGNBQWM7UUFDL0QsR0FBSUQsa0JBQWtCO1lBQUNELFVBQVVDO1FBQWMsQ0FBQztRQUNoREosY0FBY0s7UUFDZFUsVUFBVU47UUFDVixHQUFJRixtQkFBbUI7WUFBQ0wsV0FBV0s7UUFBZSxDQUFDO1FBQ25ETixRQUFRSztJ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
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3JlYWt0b3IvcmVha3Rvci9wYWNrYWdlcy9yZWFrdG9yL3NyYy9sYW1iZGFzL2FjdGlvbnMvd2Vic29ja2V0cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBVc2UgaXMgc3ViamVjdCB0byB0aGUgYWNjb21wYW55aW5nIGNvbW1lcmNpYWwgTElDRU5TRS5cbiAqL1xuaW1wb3J0IHthcWwsIERhdGFiYXNlfSBmcm9tICdhcmFuZ29qcyc7XG5cbmltcG9ydCB7Y3JlYXRlSGFzaCwgcGFyc2VJZCwgcGFyc2VTdHJpbmd9IGZyb20gJ0BubGFicy91dGlscy9wYXJzZXJzL3N0cmluZ3MnO1xuaW1wb3J0IHt1c2VEYn0gZnJvbSAnLi4vLi4vdXRpbHMvYXJhbmdvZGJVdGlscy5qcyc7XG5cbmltcG9ydCB0eXBlIHtBcWxRdWVyeX0gZnJvbSAnYXJhbmdvanMvYXFsJztcbmltcG9ydCB0eXBlIHtBcGlDb250ZXh0fSBmcm9tICcuLi8uLi90eXBlcy9hdXRoLnR5cGVzLmpzJztcbmltcG9ydCB0eXBlIHtXZWJzb2NrZXRDb25uZWN0aW9ufSBmcm9tICcuLi8uLi90eXBlcy93ZWJzb2NrZXRzLnR5cGVzLmpzJztcblxuY29uc3Qge0FSQU5HT0RCX0RBVEFCQVNFOiBkYXRhYmFzZU5hbWV9ID0gcHJvY2Vzcy5lbnY7XG5cbmV4cG9ydCBjb25zdCBhZGRDb25uZWN0aW9uID0gKFxuICBjb25uZWN0aW9uSWQ6IHN0cmluZyxcbiAgdXNlcklkOiBzdHJpbmcsXG4gIHBlcnNvbmFJZCA9ICcnLFxuICBjbGllbnRJZCA9ICcnXG4pOiBQcm9taXNlPFdlYnNvY2tldENvbm5lY3Rpb24+ID0+IHtcbiAgY29uc3QgZm9ybWF0Q2xpZW50SWQgPSBwYXJzZVN0cmluZyhjbGllbnRJZCwgNjQpO1xuICBjb25zdCBmb3JtYXRDb25uSWQgPSBwYXJzZVN0cmluZyhjb25uZWN0aW9uSWQsIDMyKTtcbiAgY29uc3QgZm9ybWF0VXNlcklkID0gcGFyc2VJZCh1c2VySWQpO1xuICBjb25zdCBmb3JtYXRQZXJzb25hSWQgPSBwYXJzZUlkKHBlcnNvbmFJZCk7XG4gIGNvbnN0IGRiOiBEYXRhYmFzZSA9IHVzZURiKGRhdGFiYXNlTmFtZSk7XG4gIGNvbnN0IHRpbWVzdGFtcCA9IERhdGUubm93KCk7XG4gIGNvbnN0IHVwc2VydCA9IGZvcm1hdENsaWVudElkXG4gICAgPyB7Y2xpZW50SWQ6IGZvcm1hdENsaWVudElkfVxuICAgIDoge2Nvbm5lY3Rpb25JZDogZm9ybWF0Q29ubklkfTtcbiAgY29uc3QgaW5zZXJ0ID0ge1xuICAgIF9rZXk6IGNyZWF0ZUhhc2goYGNvbm5lY3Rpb24tJHtmb3JtYXRDbGllbnRJZCB8fCBmb3JtYXRDb25uSWR9YCksXG4gICAgLi4uKGZvcm1hdENsaWVudElkICYmIHtjbGllbnRJZDogZm9ybWF0Q2xpZW50SWR9KSxcbiAgICBjb25uZWN0aW9uSWQ6IGZvcm1hdENvbm5JZCxcbiAgICBtb2RpZmllZDogdGltZXN0YW1wLFxuICAgIC4uLihmb3JtYXRQZXJzb25hSWQgJiYge3BlcnNvbmFJZDogZm9ybWF0UGVyc29uYUlkfSksXG4gICAgdXNlcklkOiBmb3JtYXRVc2VySWRcbiAgfTtcbiAgY29uc3QgdXBkYXRlID0ge1xuICAgIC4uLihmb3JtYXRDbGllbnRJZCAmJiB7Y2xpZW50SWQ6IGZvcm1hdENsaWVudElkfSksXG4gICAgLi4uKGZvcm1hdFBlcnNvbmFJZCAmJiB7cGVyc29uYUlkOiBmb3JtYXRQZXJzb25hSWR9KSxcbiAgICBjb25uZWN0aW9uSWQ6IGZvcm1hdENvbm5JZCxcbiAgICBtb2RpZmllZDogdGltZXN0YW1wLFxuICAgIHVzZXJJZDogZm9ybWF0VXNlcklkXG4gIH07XG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgVVBTRVJUICR7dXBzZXJ0fVxuICAgIElOU0VSVCAke2luc2VydH1cbiAgICBVUERBVEUgJHt1cGRhdGV9IElOIGNvbm5lY3Rpb25zXG4gICAgUkVUVVJOIE5FV2A7XG5cbiAgcmV0dXJuIGRiLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDb25uZWN0aW9uc0J5VXNlciA9ICh1c2VySWQ6IHN0cmluZyk6IFByb21pc2U8V2Vic29ja2V0Q29ubmVjdGlvbltdPiA9PiB7XG4gIGNvbnN0IGZvcm1hdFVzZXJJZCA9IHBhcnNlSWQodXNlcklkKTtcbiAgY29uc3QgZGI6IERhdGFiYXNlID0gdXNlRGIoZGF0YWJhc2VOYW1lKTtcbiAgY29uc3QgYXFsUXJ5ID0gYXFsYEZPUiBjIElOIGNvbm5lY3Rpb25zXG4gICAgRklMVEVSIGMudXNlcklkID09ICR7Zm9ybWF0VXNlcklkfVxuICAgIFJFVFVSTiBjYDtcblxuICByZXR1cm4gZGIucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5hbGwoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29ubmVjdGlvbnNCeVBlcnNvbmEgPSAocGVyc29uYUlkOiBzdHJpbmcpOiBQcm9taXNlPFdlYnNvY2tldENvbm5lY3Rpb25bXT4gPT4ge1xuICBjb25zdCBmb3JtYXRQZXJzb25hSWQgPSBwYXJzZUlkKHBlcnNvbmFJZCk7XG4gIGNvbnN0IGRiOiBEYXRhYmFzZSA9IHVzZURiKGRhdGFiYXNlTmFtZSk7XG4gIGNvbnN0IGFxbFFyeSA9IGFxbGBGT1IgYyBJTiBjb25uZWN0aW9uc1xuICAgIEZJTFRFUiBjLnBlcnNvbmFJZCA9PSAke2Zvcm1hdFBlcnNvbmFJZH1cbiAgICBSRVRVUk4gY2A7XG5cbiAgcmV0dXJuIGRiLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IuYWxsKCkpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENvbm5lY3Rpb25CeVVzZXJJZCA9ICh1c2VySWQgPSAnJyk6IFByb21pc2U8V2Vic29ja2V0Q29ubmVjdGlvbiB8IG51bGw+ID0+IHtcbiAgY29uc3QgZm9ybWF0VXNlcklkID0gcGFyc2VJZCh1c2VySWQpO1xuICBjb25zdCBkYjogRGF0YWJhc2UgPSB1c2VEYihkYXRhYmFzZU5hbWUpO1xuICBjb25zdCBhcWxRcnkgPSBhcWxgRk9SIGMgSU4gY29ubmVjdGlvbnNcbiAgICBGSUxURVIgYy51c2VySWQgPT0gJHtmb3JtYXRVc2VySWR9XG4gICAgTElNSVQgMVxuICAgIFJFVFVSTiBjYDtcblxuICByZXR1cm4gZGIucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENvbm5lY3Rpb25CeUlkID0gKGNvbm5lY3Rpb25JZDogc3RyaW5nKTogUHJvbWlzZTxXZWJzb2NrZXRDb25uZWN0aW9uIHwgbnVsbD4gPT4ge1xuICBjb25zdCBmb3JtYXRDb25uSWQgPSBwYXJzZVN0cmluZyhjb25uZWN0aW9uSWQsIDMyKTtcbiAgY29uc3QgZGI6IERhdGFiYXNlID0gdXNlRGIoZGF0YWJhc2VOYW1lKTtcbiAgY29uc3QgYXFsUXJ5ID0gYXFsYEZPUiBjIElOIGNvbm5lY3Rpb25zXG4gICAgRklMVEVSIGMuY29ubmVjdGlvbklkID09ICR7Zm9ybWF0Q29ubklkfVxuICAgIExJTUlUIDFcbiAgICBSRVRVUk4gY2A7XG5cbiAgcmV0dXJuIGRiLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDb25uZWN0aW9uQnlDb252ZXJzYXRpb24gPSAoY29udGV4dDogQXBpQ29udGV4dCwgY29udmVyc2F0aW9uSWQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW11bXT4gPT4ge1xuICBjb25zdCB7c2Vzc2lvbjoge3VzZXJJZDogc2Vzc2lvbklkID0gJyd9ID0ge319ID0gY29udGV4dDtcbiAgY29uc3Qgc2Vzc2lvbkRvY0lkID0gYHVzZXJzLyR7cGFyc2VJZChzZXNzaW9uSWQpfWA7XG4gIGNvbnN0IGNvbnZlcnNhdGlvbkRvY0lkID0gYGNvbnZlcnNhdGlvbnMvJHtwYXJzZUlkKGNvbnZlcnNhdGlvbklkKX1gO1xuICBjb25zdCBkYjogRGF0YWJhc2UgPSB1c2VEYihkYXRhYmFzZU5hbWUpO1xuICBjb25zdCBhcWxRcnkgPSBhcWxgRk9SIGMsIGUgSU4gMS4uMSBPVVRCT1VORCAke3Nlc3Npb25Eb2NJZH0gaGFzQ29udmVyc2F0aW9uXG4gICAgRklMVEVSIGMuX2lkID09ICR7Y29udmVyc2F0aW9uRG9jSWR9XG4gICAgTElNSVQgMVxuICAgIExFVCB1ID0gKFxuICAgICAgRk9SIGluVXNlciwgaW5FZGdlIElOIDEuLjEgSU5CT1VORCAke2NvbnZlcnNhdGlvbkRvY0lkfSBoYXNDb252ZXJzYXRpb25cbiAgICAgICAgRk9SIG4gSU4gY29ubmVjdGlvbnNcbiAgICAgICAgICBGSUxURVIgaW5Vc2VyLnVzZXJJZCA9PSBuLnVzZXJJZFxuICAgICAgICAgIFJFVFVSTiBuLmNvbm5lY3Rpb25JZFxuICAgIClcbiAgICBSRVRVUk4gdWA7XG5cbiAgcmV0dXJuIGRiLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IuYWxsKCkpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUNvbm5lY3Rpb24gPSAoY29ubmVjdGlvbklkOiBzdHJpbmcpOiBQcm9taXNlPFdlYnNvY2tldENvbm5lY3Rpb24gfCBudWxsPiA9PiB7XG4gIGNvbnN0IGZvcm1hdENvbm5JZCA9IHBhcnNlU3RyaW5nKGNvbm5lY3Rpb25JZCwgMzIpO1xuICBjb25zdCBkYjogRGF0YWJhc2UgPSB1c2VEYihkYXRhYmFzZU5hbWUpO1xuICBjb25zdCBhcWxRcnkgPSBhcWxgRk9SIGMgSU4gY29ubmVjdGlvbnNcbiAgICBGSUxURVIgYy5jb25uZWN0aW9uSWQgPT0gJHtmb3JtYXRDb25uSWR9XG4gICAgTElNSVQgMVxuICAgIFJFTU9WRSBjIElOIGNvbm5lY3Rpb25zXG4gICAgUkVUVVJOIE9MRGA7XG5cbiAgcmV0dXJuIGRiLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbn07XG4iXSwibmFtZXMiOlsiYXFsIiwiY3JlYXRlSGFzaCIsInBhcnNlSWQiLCJwYXJzZVN0cmluZyIsInVzZURiIiwiQVJBTkdPREJfREFUQUJBU0UiLCJkYXRhYmFzZU5hbWUiLCJwcm9jZXNzIiwiZW52IiwiYWRkQ29ubmVjdGlvbiIsImNvbm5lY3Rpb25JZCIsInVzZXJJZCIsInBlcnNvbmFJZCIsImNsaWVudElkIiwiZm9ybWF0Q2xpZW50SWQiLCJmb3JtYXRDb25uSWQiLCJmb3JtYXRVc2VySWQiLCJmb3JtYXRQZXJzb25hSWQiLCJkYiIsInRpbWVzdGFtcCIsIkRhdGUiLCJub3ciLCJ1cHNlcnQiLCJpbnNlcnQiLCJfa2V5IiwibW9kaWZpZWQiLCJ1cGRhdGUiLCJhcWxRcnkiLCJxdWVyeSIsInRoZW4iLCJjdXJzb3IiLCJuZXh0IiwiY2F0Y2giLCJlcnJvciIsImdldENvbm5lY3Rpb25zQnlVc2VyIiwiYWxsIiwiZ2V0Q29ubmVjdGlvbnNCeVBlcnNvbmEiLCJnZXRDb25uZWN0aW9uQnlVc2VySWQiLCJnZXRDb25uZWN0aW9uQnlJZCIsImdldENvbm5lY3Rpb25CeUNvbnZlcnNhdGlvbiIsImNvbnRleHQiLCJjb252ZXJzYXRpb25JZCIsInNlc3Npb24iLCJzZXNzaW9uSWQiLCJzZXNzaW9uRG9jSWQiLCJjb252ZXJzYXRpb25Eb2NJZCIsInJlbW92ZUNvbm5lY3Rpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLEdBQUcsUUFBaUIsV0FBVztBQUV2QyxTQUFRQyxVQUFVLEVBQUVDLE9BQU8sRUFBRUMsV0FBVyxRQUFPLCtCQUErQjtBQUM5RSxTQUFRQyxLQUFLLFFBQU8sK0JBQStCO0FBTW5ELE1BQU0sRUFBQ0MsbUJBQW1CQyxZQUFZLEVBQUMsR0FBR0MsUUFBUUMsR0FBRztBQUVyRCxPQUFPLE1BQU1DLGdCQUFnQixDQUMzQkMsY0FDQUMsUUFDQUMsWUFBWSxFQUFFLEVBQ2RDLFdBQVcsRUFBRTtJQUViLE1BQU1DLGlCQUFpQlgsWUFBWVUsVUFBVTtJQUM3QyxNQUFNRSxlQUFlWixZQUFZTyxjQUFjO0lBQy9DLE1BQU1NLGVBQWVkLFFBQVFTO0lBQzdCLE1BQU1NLGtCQUFrQmYsUUFBUVU7SUFDaEMsTUFBTU0sS0FBZWQsTUFBTUU7SUFDM0IsTUFBTWEsWUFBWUMsS0FBS0MsR0FBRztJQUMxQixNQUFNQyxTQUFTUixpQkFDWDtRQUFDRCxVQUFVQztJQUFjLElBQ3pCO1FBQUNKLGNBQWNLO0lBQVk7SUFDL0IsTUFBTVEsU0FBUztRQUNiQyxNQUFNdkIsV0FBVyxDQUFDLFdBQVcsRUFBRWEsa0JBQWtCQyxjQUFjO1FBQy9ELEdBQUlELGtCQUFrQjtZQUFDRCxVQUFVQztRQUFjLENBQUM7UUFDaERKLGNBQWNLO1FBQ2RVLFVBQVVOO1FBQ1YsR0FBSUYsbUJBQW1CO1lBQUNMLFdBQVdLO1FBQWUsQ0FBQztRQUNuRE4sUUFB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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2021-Present, Nitrogen Labs, Inc.
|
|
3
|
-
*
|
|
3
|
+
* All rights reserved. Use is subject to the accompanying commercial LICENSE.
|
|
4
4
|
*/ import { getSession } from '../utils/sessionUtils.js';
|
|
5
5
|
export const generatePolicyDocument = (effect, methodArn)=>{
|
|
6
6
|
if (!effect || !methodArn) {
|
|
@@ -80,4 +80,4 @@ export const authorizer = (event = {}, _context, callback)=>{
|
|
|
80
80
|
}
|
|
81
81
|
};
|
|
82
82
|
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3JlYWt0b3IvcmVha3Rvci9wYWNrYWdlcy9yZWFrdG9yL3NyYy9sYW1iZGFzL2F1dGhvcml6ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjEtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVXNlIGlzIHN1YmplY3QgdG8gdGhlIGFjY29tcGFueWluZyBjb21tZXJjaWFsIExJQ0VOU0UuXG4gKi9cbmltcG9ydCB7Z2V0U2Vzc2lvbn0gZnJvbSAnLi4vdXRpbHMvc2Vzc2lvblV0aWxzLmpzJztcblxudHlwZSBBdXRob3JpemVyRXZlbnQgPSB7XG4gIHJlYWRvbmx5IGF1dGhvcml6YXRpb25Ub2tlbj86IHN0cmluZztcbiAgcmVhZG9ubHkgaGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHVuZGVmaW5lZD47XG4gIHJlYWRvbmx5IGlkZW50aXR5U291cmNlPzogc3RyaW5nW107XG4gIHJlYWRvbmx5IG1ldGhvZEFybj86IHN0cmluZztcbiAgcmVhZG9ubHkgdmVyc2lvbj86IHN0cmluZztcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZVBvbGljeURvY3VtZW50ID0gKGVmZmVjdCwgbWV0aG9kQXJuKSA9PiB7XG4gIGlmKCFlZmZlY3QgfHwgIW1ldGhvZEFybikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgcG9saWN5RG9jdW1lbnQgPSB7XG4gICAgVmVyc2lvbjogJzIwMTItMTAtMTcnLFxuICAgIFN0YXRlbWVudDogW1xuICAgICAge1xuICAgICAgICBBY3Rpb246ICdleGVjdXRlLWFwaTpJbnZva2UnLFxuICAgICAgICBFZmZlY3Q6IGVmZmVjdCxcbiAgICAgICAgUmVzb3VyY2U6IG1ldGhvZEFyblxuICAgICAgfVxuICAgIF1cbiAgfTtcblxuICByZXR1cm4gcG9saWN5RG9jdW1lbnQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVBdXRoUmVzcG9uc2UgPSAocHJpbmNpcGFsSWQsIGVmZmVjdCwgbWV0aG9kQXJuKSA9PiB7XG4gIGNvbnN0IHBvbGljeURvY3VtZW50ID0gZ2VuZXJhdGVQb2xpY3lEb2N1bWVudChlZmZlY3QsIG1ldGhvZEFybik7XG5cbiAgcmV0dXJuIHtcbiAgICBwcmluY2lwYWxJZCxcbiAgICBwb2xpY3lEb2N1bWVudFxuICB9O1xufTtcblxuY29uc3QgZ2V0QXV0aG9yaXphdGlvbkhlYWRlciA9IChldmVudDogQXV0aG9yaXplckV2ZW50KTogc3RyaW5nID0+IHtcbiAgY29uc3QgaGVhZGVycyA9IGV2ZW50LmhlYWRlcnMgfHwge307XG4gIGNvbnN0IGhlYWRlcktleSA9IE9iamVjdC5rZXlzKGhlYWRlcnMpLmZpbmQoKGtleSkgPT4ga2V5LnRvTG93ZXJDYXNlKCkgPT09ICdhdXRob3JpemF0aW9uJyk7XG4gIGNvbnN0IGhlYWRlclZhbHVlID0gaGVhZGVyS2V5ID8gaGVhZGVyc1toZWFkZXJLZXldIDogJyc7XG5cbiAgcmV0dXJuIFN0cmluZyhldmVudC5hdXRob3JpemF0aW9uVG9rZW4gfHwgaGVhZGVyVmFsdWUgfHwgZXZlbnQuaWRlbnRpdHlTb3VyY2U/LlswXSB8fCAnJyk7XG59O1xuXG5jb25zdCBnZXRCZWFyZXJUb2tlbiA9IChhdXRob3JpemF0aW9uSGVhZGVyOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBpZighYXV0aG9yaXphdGlvbkhlYWRlcikge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGNvbnN0IFtzY2hlbWUsIC4uLnBhcnRzXSA9IGF1dGhvcml6YXRpb25IZWFkZXIudHJpbSgpLnNwbGl0KC9cXHMrLyk7XG5cbiAgaWYoc2NoZW1lPy50b0xvd2VyQ2FzZSgpID09PSAnYmVhcmVyJyAmJiBwYXJ0cy5sZW5ndGgpIHtcbiAgICByZXR1cm4gcGFydHMuam9pbignICcpLnRyaW0oKTtcbiAgfVxuXG4gIHJldHVybiBhdXRob3JpemF0aW9uSGVhZGVyLnRyaW0oKTtcbn07XG5cbmNvbnN0IGlzSHR0cEFwaVNpbXBsZUF1dGhvcml6ZXIgPSAoZXZlbnQ6IEF1dGhvcml6ZXJFdmVudCk6IGJvb2xlYW4gPT4gKFxuICBldmVudC52ZXJzaW9uID09PSAnMi4wJyB8fCBBcnJheS5pc0FycmF5KGV2ZW50LmlkZW50aXR5U291cmNlKVxuKTtcblxuY29uc3QgY29tcGxldGUgPSAoY2FsbGJhY2ssIHJlc3BvbnNlKSA9PiB7XG4gIGlmKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBjYWxsYmFjayhudWxsLCByZXNwb25zZSk7XG4gIH1cblxuICByZXR1cm4gcmVzcG9uc2U7XG59O1xuXG5leHBvcnQgY29uc3QgYXV0aG9yaXplciA9IChldmVudDogQXV0aG9yaXplckV2ZW50ID0ge30sIF9jb250ZXh0PywgY2FsbGJhY2s/KSA9PiB7XG4gIGNvbnN0IHRva2VuID0gZ2V0QmVhcmVyVG9rZW4oZ2V0QXV0aG9yaXphdGlvbkhlYWRlcihldmVudCkpO1xuICBjb25zdCBzaW1wbGVBdXRob3JpemVyID0gaXNIdHRwQXBpU2ltcGxlQXV0aG9yaXplcihldmVudCk7XG5cbiAgaWYoIXRva2VuIHx8ICghZXZlbnQubWV0aG9kQXJuICYmICFzaW1wbGVBdXRob3JpemVyKSkge1xuICAgIHJldHVybiBjb21wbGV0ZShjYWxsYmFjaywgc2ltcGxlQXV0aG9yaXplciA/IHtpc0F1dGhvcml6ZWQ6IGZhbHNlfSA6ICdVbmF1dGhvcml6ZWQnKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3Qgc2Vzc2lvbiA9IGdldFNlc3Npb24odG9rZW4pO1xuXG4gICAgaWYoc2ltcGxlQXV0aG9yaXplcikge1xuICAgICAgcmV0dXJuIGNvbXBsZXRlKGNhbGxiYWNrLCB7XG4gICAgICAgIGNvbnRleHQ6IHNlc3Npb24/LnVzZXJJZCA/IHtcbiAgICAgICAgICB1c2VyQWNjZXNzOiBOdW1iZXIoc2Vzc2lvbi51c2VyQWNjZXNzIHx8IDApLFxuICAgICAgICAgIHVzZXJJZDogc2Vzc2lvbi51c2VySWQsXG4gICAgICAgICAgdXNlcm5hbWU6IHNlc3Npb24udXNlcm5hbWUgfHwgJydcbiAgICAgICAgfSA6IHVuZGVmaW5lZCxcbiAgICAgICAgaXNBdXRob3JpemVkOiAhIXNlc3Npb24/LnVzZXJJZFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYoc2Vzc2lvbj8udXNlcklkKSB7XG4gICAgICByZXR1cm4gY29tcGxldGUoY2FsbGJhY2ssIGdlbmVyYXRlQXV0aFJlc3BvbnNlKHNlc3Npb24udXNlcklkLCAnQWxsb3cnLCBldmVudC5tZXRob2RBcm4pKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tcGxldGUoY2FsbGJhY2ssIGdlbmVyYXRlQXV0aFJlc3BvbnNlKHNlc3Npb24/LnVzZXJJZCwgJ0RlbnknLCBldmVudC5tZXRob2RBcm4pKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoJ0F1dGhvcml6YXRpb24gZmFpbGVkOicsIGVycm9yKTtcbiAgICByZXR1cm4gY29tcGxldGUoY2FsbGJhY2ssIHNpbXBsZUF1dGhvcml6ZXIgPyB7aXNBdXRob3JpemVkOiBmYWxzZX0gOiAnVW5hdXRob3JpemVkJyk7XG4gIH1cbn07XG4iXSwibmFtZXMiOlsiZ2V0U2Vzc2lvbiIsImdlbmVyYXRlUG9saWN5RG9jdW1lbnQiLCJlZmZlY3QiLCJtZXRob2RBcm4iLCJwb2xpY3lEb2N1bWVudCIsIlZlcnNpb24iLCJTdGF0ZW1lbnQiLCJBY3Rpb24iLCJFZmZlY3QiLCJSZXNvdXJjZSIsImdlbmVyYXRlQXV0aFJlc3BvbnNlIiwicHJpbmNpcGFsSWQiLCJnZXRBdXRob3JpemF0aW9uSGVhZGVyIiwiZXZlbnQiLCJoZWFkZXJzIiwiaGVhZGVyS2V5IiwiT2JqZWN0Iiwia2V5cyIsImZpbmQiLCJrZXkiLCJ0b0xvd2VyQ2FzZSIsImhlYWRlclZhbHVlIiwiU3RyaW5nIiwiYXV0aG9yaXphdGlvblRva2VuIiwiaWRlbnRpdHlTb3VyY2UiLCJnZXRCZWFyZXJUb2tlbiIsImF1dGhvcml6YXRpb25IZWFkZXIiLCJzY2hlbWUiLCJwYXJ0cyIsInRyaW0iLCJzcGxpdCIsImxlbmd0aCIsImpvaW4iLCJpc0h0dHBBcGlTaW1wbGVBdXRob3JpemVyIiwidmVyc2lvbiIsIkFycmF5IiwiaXNBcnJheSIsImNvbXBsZXRlIiwiY2FsbGJhY2siLCJyZXNwb25zZSIsImF1dGhvcml6ZXIiLCJfY29udGV4dCIsInRva2VuIiwic2ltcGxlQXV0aG9yaXplciIsImlzQXV0aG9yaXplZCIsInNlc3Npb24iLCJjb250ZXh0IiwidXNlcklkIiwidXNlckFjY2VzcyIsIk51bWJlciIsInVzZXJuYW1lIiwidW5kZWZpbmVkIiwiZXJyb3IiLCJjb25zb2xlIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxTQUFRQSxVQUFVLFFBQU8sMkJBQTJCO0FBVXBELE9BQU8sTUFBTUMseUJBQXlCLENBQUNDLFFBQVFDO0lBQzdDLElBQUcsQ0FBQ0QsVUFBVSxDQUFDQyxXQUFXO1FBQ3hCLE9BQU87SUFDVDtJQUVBLE1BQU1DLGlCQUFpQjtRQUNyQkMsU0FBUztRQUNUQyxXQUFXO1lBQ1Q7Z0JBQ0VDLFFBQVE7Z0JBQ1JDLFFBQVFOO2dCQUNSTyxVQUFVTjtZQUNaO1NBQ0Q7SUFDSDtJQUVBLE9BQU9DO0FBQ1QsRUFBRTtBQUVGLE9BQU8sTUFBTU0sdUJBQXVCLENBQUNDLGFBQWFULFFBQVFDO0lBQ3hELE1BQU1DLGlCQUFpQkgsdUJBQXVCQyxRQUFRQztJQUV0RCxPQUFPO1FBQ0xRO1FBQ0FQO0lBQ0Y7QUFDRixFQUFFO0FBRUYsTUFBTVEseUJBQXlCLENBQUNDO0lBQzlCLE1BQU1DLFVBQVVELE1BQU1DLE9BQU8sSUFBSSxDQUFDO0lBQ2xDLE1BQU1DLFlBQVlDLE9BQU9DLElBQUksQ0FBQ0gsU0FBU0ksSUFBSSxDQUFDLENBQUNDLE1BQVFBLElBQUlDLFdBQVcsT0FBTztJQUMzRSxNQUFNQyxjQUFjTixZQUFZRCxPQUFPLENBQUNDLFVBQVUsR0FBRztJQUVyRCxPQUFPTyxPQUFPVCxNQUFNVSxrQkFBa0IsSUFBSUYsZUFBZVIsTUFBTVcsY0FBYyxFQUFFLENBQUMsRUFBRSxJQUFJO0FBQ3hGO0FBRUEsTUFBTUMsaUJBQWlCLENBQUNDO0lBQ3RCLElBQUcsQ0FBQ0EscUJBQXFCO1FBQ3ZCLE9BQU87SUFDVDtJQUVBLE1BQU0sQ0FBQ0MsUUFBUSxHQUFHQyxNQUFNLEdBQUdGLG9CQUFvQkcsSUFBSSxHQUFHQyxLQUFLLENBQUM7SUFFNUQsSUFBR0gsUUFBUVAsa0JBQWtCLFlBQVlRLE1BQU1HLE1BQU0sRUFBRTtRQUNyRCxPQUFPSCxNQUFNSSxJQUFJLENBQUMsS0FBS0gsSUFBSTtJQUM3QjtJQUVBLE9BQU9ILG9CQUFvQkcsSUFBSTtBQUNqQztBQUVBLE1BQU1JLDRCQUE0QixDQUFDcEIsUUFDakNBLE1BQU1xQixPQUFPLEtBQUssU0FBU0MsTUFBTUMsT0FBTyxDQUFDdkIsTUFBTVcsY0FBYztBQUcvRCxNQUFNYSxXQUFXLENBQUNDLFVBQVVDO0lBQzFCLElBQUcsT0FBT0QsYUFBYSxZQUFZO1FBQ2pDLE9BQU9BLFNBQVMsTUFBTUM7SUFDeEI7SUFFQSxPQUFPQTtBQUNUO0FBRUEsT0FBTyxNQUFNQyxhQUFhLENBQUMzQixRQUF5QixDQUFDLENBQUMsRUFBRTRCLFVBQVdIO0lBQ2pFLE1BQU1JLFFBQVFqQixlQUFlYix1QkFBdUJDO0lBQ3BELE1BQU04QixtQkFBbUJWLDBCQUEwQnBCO0lBRW5ELElBQUcsQ0FBQzZCLFNBQVUsQ0FBQzdCLE1BQU1WLFNBQVMsSUFBSSxDQUFDd0Msa0JBQW1CO1FBQ3BELE9BQU9OLFNBQVNDLFVBQVVLLG1CQUFtQjtZQUFDQyxjQUFjO1FBQUssSUFBSTtJQUN2RTtJQUVBLElBQUk7UUFDRixNQUFNQyxVQUFVN0MsV0FBVzBDO1FBRTNCLElBQUdDLGtCQUFrQjtZQUNuQixPQUFPTixTQUFTQyxVQUFVO2dCQUN4QlEsU0FBU0QsU0FBU0UsU0FBUztvQkFDekJDLFlBQVlDLE9BQU9KLFFBQVFHLFVBQVUsSUFBSTtvQkFDekNELFFBQVFGLFFBQVFFLE1BQU07b0JBQ3RCRyxVQUFVTCxRQUFRSyxRQUFRLElBQUk7Z0JBQ2hDLElBQUlDO2dCQUNKUCxjQUFjLENBQUMsQ0FBQ0MsU0FBU0U7WUFDM0I7UUFDRjtRQUVBLElBQUdGLFNBQVNFLFFBQVE7WUFDbEIsT0FBT1YsU0FBU0MsVUFBVTVCLHFCQUFxQm1DLFFBQVFFLE1BQU0sRUFBRSxTQUFTbEMsTUFBTVYsU0FBUztRQUN6RjtRQUVBLE9BQU9rQyxTQUFTQyxVQUFVNUIscUJBQXFCbUMsU0FBU0UsUUFBUSxRQUFRbEMsTUFBTVYsU0FBUztJQUN6RixFQUFFLE9BQU1pRCxPQUFPO1FBQ2JDLFFBQVFELEtBQUssQ0FBQyx5QkFBeUJBO1FBQ3ZDLE9BQU9mLFNBQVNDLFVBQVVLLG1CQUFtQjtZQUFDQyxjQUFjO1FBQUssSUFBSTtJQUN2RTtBQUNGLEVBQUUifQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Copyright (c) 2021-Present, Nitrogen Labs, Inc.
|
|
3
|
-
*
|
|
3
|
+
* All rights reserved. Use is subject to the accompanying commercial LICENSE.
|
|
4
4
|
*/ import { getConversationById } from '../actions/conversations.js';
|
|
5
5
|
import { Config } from '../config.js';
|
|
6
6
|
import { getSession } from '../utils/sessionUtils.js';
|
|
@@ -299,4 +299,4 @@ export const typingHandler = async (event)=>{
|
|
|
299
299
|
return successStatus;
|
|
300
300
|
};
|
|
301
301
|
|
|
302
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2xhbWJkYXMvY29ubmVjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtnZXRDb252ZXJzYXRpb25CeUlkfSBmcm9tICcuLi9hY3Rpb25zL2NvbnZlcnNhdGlvbnMuanMnO1xuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZy5qcyc7XG5pbXBvcnQge2dldFNlc3Npb259IGZyb20gJy4uL3V0aWxzL3Nlc3Npb25VdGlscy5qcyc7XG5pbXBvcnQge1xuICBhZGRDb25uZWN0aW9uLFxuICBnZXRDb25uZWN0aW9uQnlJZCxcbiAgZ2V0Q29ubmVjdGlvbnNCeVBlcnNvbmEsXG4gIGdldENvbm5lY3Rpb25zQnlVc2VyLFxuICByZW1vdmVDb25uZWN0aW9uXG59IGZyb20gJy4vYWN0aW9ucy93ZWJzb2NrZXRzLmpzJztcbmltcG9ydCB7cGFyc2VNZXNzYWdlfSBmcm9tICcuL3V0aWxzL21lc3NhZ2UuanMnO1xuaW1wb3J0IHt3c0NsaWVudH0gZnJvbSAnLi91dGlscy93ZWJzb2NrZXQuanMnO1xuXG5pbXBvcnQgdHlwZSB7Q29udGV4dH0gZnJvbSAnYXdzLWxhbWJkYSc7XG5pbXBvcnQgdHlwZSB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7Q29udmVyc2F0aW9uVHlwZX0gZnJvbSAnLi4vdHlwZXMvY29udmVyc2F0aW9ucy50eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7TWVzc2FnZVR5cGV9IGZyb20gJy4uL3R5cGVzL21lc3NhZ2VzLnR5cGVzLmpzJztcbmltcG9ydCB0eXBlIHtVc2VyVHlwZX0gZnJvbSAnLi4vdHlwZXMvdXNlcnMudHlwZXMuanMnO1xuaW1wb3J0IHR5cGUge1dlYnNvY2tldFR5cGluZ1R5cGV9IGZyb20gJy4uL3R5cGVzL3dlYnNvY2tldHMudHlwZXMuanMnO1xuXG5pbnRlcmZhY2UgV2Vic29ja2V0RXZlbnQge1xuICByZWFkb25seSBib2R5Pzogc3RyaW5nIHwgbnVsbDtcbiAgcmVhZG9ubHkgbXVsdGlWYWx1ZVF1ZXJ5U3RyaW5nUGFyYW1ldGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdIHwgdW5kZWZpbmVkPiB8IG51bGw7XG4gIHJlYWRvbmx5IHF1ZXJ5U3RyaW5nUGFyYW1ldGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHVuZGVmaW5lZD4gfCBudWxsO1xuICByZWFkb25seSByZXF1ZXN0Q29udGV4dDoge1xuICAgIHJlYWRvbmx5IGNvbm5lY3Rpb25JZDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGV2ZW50VHlwZTogc3RyaW5nO1xuICB9O1xufVxuXG5jb25zdCBzdWNjZXNzU3RhdHVzID0ge3N0YXR1c0NvZGU6IDIwMH07XG5jb25zdCBlcnJvclN0YXR1cyA9IHtzdGF0dXNDb2RlOiA1MDB9O1xuY29uc3Qge0FSQU5HT0RCX0RBVEFCQVNFOiBkYXRhYmFzZU5hbWV9ID0gcHJvY2Vzcy5lbnY7XG5jb25zdCBnZXRCYXNpY0NvbnRleHQgPSAodXNlcklkOiBzdHJpbmcpOiBBcGlDb250ZXh0ID0+ICh7XG4gIGNvbmZpZzogQ29uZmlnLmdldCgpLFxuICBkYXRhYmFzZU5hbWUsXG4gIHNlc3Npb246IHt1c2VySWR9XG59KTtcblxuY29uc3QgcmVzb2x2ZVNlc3Npb25JZGVudGl0eSA9ICh7XG4gIHBlcnNvbmFJZCxcbiAgdG9rZW4sXG4gIHVzZXJJZFxufToge1xuICByZWFkb25seSBwZXJzb25hSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRva2VuPzogc3RyaW5nO1xuICByZWFkb25seSB1c2VySWQ/OiBzdHJpbmc7XG59KToge3BlcnNvbmFJZD86IHN0cmluZzsgdXNlcklkPzogc3RyaW5nfSA9PiB7XG4gIGlmKHRva2VuKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNlc3Npb24gPSBnZXRTZXNzaW9uKHRva2VuKSB8fCB7fTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGVyc29uYUlkOiBTdHJpbmcocGVyc29uYUlkIHx8IChzZXNzaW9uIGFzIGFueSk/LnBlcnNvbmFJZCB8fCAnJykgfHwgdW5kZWZpbmVkLFxuICAgICAgICB1c2VySWQ6IFN0cmluZygoc2Vzc2lvbiBhcyBhbnkpPy51c2VySWQgfHwgJycpIHx8IHVuZGVmaW5lZFxuICAgICAgfTtcbiAgICB9IGNhdGNoKGVycm9yOiB1bmtub3duKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnaW52YWxpZF9zZXNzaW9uJztcblxuICAgICAgY29uc29sZS53YXJuKCdyZXNvbHZlU2Vzc2lvbklkZW50aXR5OjppbnZhbGlkVG9rZW4nLCB7bWVzc2FnZX0pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGVyc29uYUlkOiBTdHJpbmcocGVyc29uYUlkIHx8ICcnKSB8fCB1bmRlZmluZWQsXG4gICAgICAgIHVzZXJJZFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHBlcnNvbmFJZDogU3RyaW5nKHBlcnNvbmFJZCB8fCAnJykgfHwgdW5kZWZpbmVkLFxuICAgIHVzZXJJZFxuICB9O1xufTtcblxuY29uc3QgcmVnaXN0ZXJDb25uZWN0aW9uID0gYXN5bmMgKHtcbiAgY2xpZW50SWQsXG4gIGNvbm5lY3Rpb25JZCxcbiAgcGVyc29uYUlkLFxuICB0b2tlbixcbiAgdXNlcklkXG59OiB7XG4gIHJlYWRvbmx5IGNsaWVudElkPzogc3RyaW5nO1xuICByZWFkb25seSBjb25uZWN0aW9uSWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgcGVyc29uYUlkPzogc3RyaW5nO1xuICByZWFkb25seSB0b2tlbj86IHN0cmluZztcbiAgcmVhZG9ubHkgdXNlcklkPzogc3RyaW5nO1xufSkgPT4ge1xuICBjb25zdCB7cGVyc29uYUlkOiBuZXh0UGVyc29uYUlkLCB1c2VySWQ6IG5leHRVc2VySWR9ID0gcmVzb2x2ZVNlc3Npb25JZGVudGl0eSh7cGVyc29uYUlkLCB0b2tlbiwgdXNlcklkfSk7XG5cbiAgaWYoIW5leHRVc2VySWQpIHtcbiAgICBjb25zb2xlLmxvZygnd2Vic29ja2V0OjpyZWdpc3RlckNvbm5lY3Rpb246Om1pc3NpbmdVc2VyJywge2Nvbm5lY3Rpb25JZCwgbmV4dFBlcnNvbmFJZH0pO1xuICAgIHJldHVybiBzdWNjZXNzU3RhdHVzO1xuICB9XG5cbiAgY29uc29sZS5sb2coJ3dlYnNvY2tldDo6cmVnaXN0ZXJDb25uZWN0aW9uJywge1xuICAgIGNsaWVudElkLFxuICAgIGNvbm5lY3Rpb25JZCxcbiAgICBwZXJzb25hSWQ6IG5leHRQZXJzb25hSWQsXG4gICAgdXNlcklkOiBuZXh0VXNlcklkXG4gIH0pO1xuICBhd2FpdCBhZGRDb25uZWN0aW9uKGNvbm5lY3Rpb25JZCwgbmV4dFVzZXJJZCwgbmV4dFBlcnNvbmFJZCB8fCAnJywgU3RyaW5nKGNsaWVudElkIHx8ICcnKSk7XG4gIHJldHVybiBzdWNjZXNzU3RhdHVzO1xufTtcblxuY29uc3QgZ2V0Q29ubmVjdGlvbklkZW50aXR5ID0gYXN5bmMgKGNvbm5lY3Rpb25JZDogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IGNvbm5lY3Rpb24gPSBhd2FpdCBnZXRDb25uZWN0aW9uQnlJZChjb25uZWN0aW9uSWQpO1xuICBjb25zdCB1c2VySWQgPSBjb25uZWN0aW9uPy51c2VySWQ7XG5cbiAgaWYoIXVzZXJJZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignQ29ubmVjdGlvbiBub3QgZm91bmQnKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgcGVyc29uYUlkOiBTdHJpbmcoY29ubmVjdGlvbj8ucGVyc29uYUlkIHx8ICcnKSxcbiAgICB1c2VySWRcbiAgfTtcbn07XG5cbmNvbnN0IGdldENvbnZlcnNhdGlvblVzZXJzID0gYXN5bmMgKGNvbm5lY3Rpb25JZDogc3RyaW5nLCBjb252ZXJzYXRpb25JZDogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IHtwZXJzb25hSWQsIHVzZXJJZH0gPSBhd2FpdCBnZXRDb25uZWN0aW9uSWRlbnRpdHkoY29ubmVjdGlvbklkKTtcbiAgY29uc3QgYXV0aENvbnRleHQgPSBnZXRCYXNpY0NvbnRleHQodXNlcklkKTtcbiAgY29uc3QgY29udmVyc2F0aW9uID0gYXdhaXQgZ2V0Q29udmVyc2F0aW9uQnlJZChhdXRoQ29udGV4dCwgY29udmVyc2F0aW9uSWQpO1xuXG4gIHJldHVybiB7XG4gICAgY29udmVyc2F0aW9uLFxuICAgIHBlcnNvbmFJZCxcbiAgICB1c2VySWRcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb25uZWN0SGFuZGxlciA9IGFzeW5jIChldmVudDogV2Vic29ja2V0RXZlbnQsIGNvbnRleHQ6IENvbnRleHQpID0+IHtcbiAgY29uc29sZS5sb2coJ2Nvbm5lY3RIYW5kbGVyOjpldmVudCcsIGV2ZW50KTtcbiAgY29uc29sZS5sb2coJ2Nvbm5lY3RIYW5kbGVyOjpjb250ZXh0JywgY29udGV4dCk7XG4gIGF3YWl0IHdzQ2xpZW50LnNldHVwQ2xpZW50KGV2ZW50KTtcbiAgY29uc3Qge3JlcXVlc3RDb250ZXh0fSA9IGV2ZW50O1xuICBjb25zdCB7Y29ubmVjdGlvbklkLCBldmVudFR5cGV9ID0gcmVxdWVzdENvbnRleHQ7XG4gIGNvbnN0IGNsaWVudElkID0gZXZlbnQucXVlcnlTdHJpbmdQYXJhbWV0ZXJzPy5jbGllbnRJZCB8fCBldmVudC5tdWx0aVZhbHVlUXVlcnlTdHJpbmdQYXJhbWV0ZXJzPy5jbGllbnRJZD8uWzBdO1xuICBjb25zdCBwZXJzb25hSWQgPSBldmVudC5xdWVyeVN0cmluZ1BhcmFtZXRlcnM/LnBlcnNvbmFJZCB8fCBldmVudC5tdWx0aVZhbHVlUXVlcnlTdHJpbmdQYXJhbWV0ZXJzPy5wZXJzb25hSWQ/LlswXTtcbiAgY29uc3QgdG9rZW4gPSBldmVudC5xdWVyeVN0cmluZ1BhcmFtZXRlcnM/LnRva2VuIHx8IGV2ZW50Lm11bHRpVmFsdWVRdWVyeVN0cmluZ1BhcmFtZXRlcnM/LnRva2VuPy5bMF07XG4gIGNvbnN0IHVzZXJJZCA9IGV2ZW50LnF1ZXJ5U3RyaW5nUGFyYW1ldGVycz8udXNlcklkIHx8IGV2ZW50Lm11bHRpVmFsdWVRdWVyeVN0cmluZ1BhcmFtZXRlcnM/LnVzZXJJZD8uWzBdO1xuXG4gIHRyeSB7XG4gICAgaWYoZXZlbnRUeXBlID09PSAnQ09OTkVDVCcpIHtcbiAgICAgIHJldHVybiByZWdpc3RlckNvbm5lY3Rpb24oe2NsaWVudElkLCBjb25uZWN0aW9uSWQsIHBlcnNvbmFJZCwgdG9rZW4sIHVzZXJJZH0pO1xuICAgIH0gZWxzZSBpZihldmVudFR5cGUgPT09ICdESVNDT05ORUNUJykge1xuICAgICAgYXdhaXQgcmVtb3ZlQ29ubmVjdGlvbihjb25uZWN0aW9uSWQpO1xuICAgICAgcmV0dXJuIHN1Y2Nlc3NTdGF0dXM7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsuLi5lcnJvclN0YXR1cywgbWVzc2FnZTogJ1Vua25vd24gdHlwZSd9O1xuICB9IGNhdGNoKGVycm9yOiB1bmtub3duKSB7XG4gICAgcmV0dXJuIHsuLi5lcnJvclN0YXR1cywgbWVzc2FnZTogZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJIYW5kbGVyID0gYXN5bmMgKGV2ZW50OiBXZWJzb2NrZXRFdmVudCkgPT4ge1xuICBhd2FpdCB3c0NsaWVudC5zZXR1cENsaWVudChldmVudCk7XG4gIGNvbnN0IHtib2R5LCByZXF1ZXN0Q29udGV4dH0gPSBldmVudDtcbiAgY29uc3Qge2Nvbm5lY3Rpb25JZH0gPSByZXF1ZXN0Q29udGV4dDtcbiAgY29uc3QgbWVzc2FnZUJvZHkgPSB0eXBlb2YgYm9keSA9PT0gJ3N0cmluZycgPyBKU09OLnBhcnNlKGJvZHkpIDogYm9keTtcbiAgY29uc3QgY2xpZW50SWQgPSBTdHJpbmcobWVzc2FnZUJvZHk/LmRhdGE/LmNsaWVudElkIHx8IG1lc3NhZ2VCb2R5Py5jbGllbnRJZCB8fCAnJyk7XG4gIGNvbnN0IHBlcnNvbmFJZCA9IFN0cmluZyhtZXNzYWdlQm9keT8uZGF0YT8ucGVyc29uYUlkIHx8IG1lc3NhZ2VCb2R5Py5wZXJzb25hSWQgfHwgJycpO1xuICBjb25zdCB0b2tlbiA9IFN0cmluZyhtZXNzYWdlQm9keT8uZGF0YT8udG9rZW4gfHwgbWVzc2FnZUJvZHk/LnRva2VuIHx8ICcnKTtcbiAgY29uc3QgdXNlcklkID0gU3RyaW5nKG1lc3NhZ2VCb2R5Py5kYXRhPy51c2VySWQgfHwgbWVzc2FnZUJvZHk/LnVzZXJJZCB8fCAnJyk7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gYXdhaXQgcmVnaXN0ZXJDb25uZWN0aW9uKHtcbiAgICAgIGNsaWVudElkOiBjbGllbnRJZCB8fCB1bmRlZmluZWQsXG4gICAgICBjb25uZWN0aW9uSWQsXG4gICAgICBwZXJzb25hSWQ6IHBlcnNvbmFJZCB8fCB1bmRlZmluZWQsXG4gICAgICB0b2tlbjogdG9rZW4gfHwgdW5kZWZpbmVkLFxuICAgICAgdXNlcklkOiB1c2VySWQgfHwgdW5kZWZpbmVkXG4gICAgfSk7XG4gIH0gY2F0Y2goZXJyb3I6IHVua25vd24pIHtcbiAgICByZXR1cm4gey4uLmVycm9yU3RhdHVzLCBtZXNzYWdlOiBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ307XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0SGFuZGxlciA9IGFzeW5jIChldmVudDogV2Vic29ja2V0RXZlbnQpID0+IHtcbiAgYXdhaXQgd3NDbGllbnQuc2V0dXBDbGllbnQoZXZlbnQpO1xuICBhd2FpdCB3c0NsaWVudC5zZW5kKGV2ZW50LCB7XG4gICAgZXZlbnQ6ICdlcnJvcicsXG4gICAgbWVzc2FnZTogJ2ludmFsaWQgYWN0aW9uIHR5cGUnXG4gIH0pO1xuXG4gIHJldHVybiBzdWNjZXNzU3RhdHVzO1xufTtcblxuZXhwb3J0IGNvbnN0IG1lc3NhZ2VIYW5kbGVyID0gYXN5bmMgKGV2ZW50OiBXZWJzb2NrZXRFdmVudCkgPT4ge1xuICBhd2FpdCB3c0NsaWVudC5zZXR1cENsaWVudChldmVudCk7XG4gIGNvbnN0IHtib2R5LCByZXF1ZXN0Q29udGV4dH0gPSBldmVudDtcbiAgY29uc3Qge2Nvbm5lY3Rpb25JZH0gPSByZXF1ZXN0Q29udGV4dDtcbiAgY29uc3QgbWVzc2FnZUJvZHkgPSB0eXBlb2YgYm9keSA9PT0gJ3N0cmluZycgPyBKU09OLnBhcnNlKGJvZHkpIDogYm9keTtcbiAgY29uc3QgbWVzc2FnZTogTWVzc2FnZVR5cGUgPSBtZXNzYWdlQm9keT8uZGF0YTtcbiAgY29uc3QgY29udmVyc2F0aW9uSWQgPSBTdHJpbmcobWVzc2FnZT8uY29udmVyc2F0aW9uSWQgfHwgJycpO1xuICBjb25zdCB7Y29udGVudH0gPSBtZXNzYWdlO1xuICBjb25zdCBmb3JtYXRDb250ZW50ID0gcGFyc2VNZXNzYWdlKGNvbnRlbnQgfHwgJycpO1xuXG4gIGlmKCFjb252ZXJzYXRpb25JZCkge1xuICAgIHJldHVybiB7Li4uZXJyb3JTdGF0dXMsIG1lc3NhZ2U6ICdNaXNzaW5nIGNvbnZlcnNhdGlvbiBJRCd9O1xuICB9XG5cbiAgbGV0IHVzZXJJZCA9ICcnO1xuICBsZXQgdXNlcnM6IEFycmF5PFVzZXJUeXBlPiA9IFtdO1xuICBsZXQgY3VycmVudFVzZXI6IFVzZXJUeXBlIHwgdW5kZWZpbmVkO1xuICBsZXQgY3VycmVudFBlcnNvbmFJZCA9ICcnO1xuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IGdldENvbnZlcnNhdGlvblVzZXJzKGNvbm5lY3Rpb25JZCwgY29udmVyc2F0aW9uSWQpO1xuICAgIHVzZXJJZCA9IFN0cmluZyhyZXN1bHRzLnVzZXJJZCB8fCAnJyk7XG4gICAgY3VycmVudFBlcnNvbmFJZCA9IFN0cmluZyhyZXN1bHRzLnBlcnNvbmFJZCB8fCAnJyk7XG4gICAgdXNlcnMgPSBBcnJheS5pc0FycmF5KHJlc3VsdHMuY29udmVyc2F0aW9uPy51c2VycykgPyByZXN1bHRzLmNvbnZlcnNhdGlvbi51c2VycyA6IFtdO1xuICAgIGN1cnJlbnRVc2VyID0gdXNlcnMuZmluZCgodXNlcikgPT4ge1xuICAgICAgY29uc3QgbmV4dFVzZXJJZCA9IFN0cmluZyh1c2VyPy51c2VySWQgfHwgdXNlcj8uX2tleSB8fCAnJyk7XG4gICAgICBjb25zdCBuZXh0UGVyc29uYUlkID0gU3RyaW5nKHVzZXI/LnBlcnNvbmFJZCB8fCAnJyk7XG5cbiAgICAgIGlmKGN1cnJlbnRQZXJzb25hSWQgJiYgbmV4dFBlcnNvbmFJZCkge1xuICAgICAgICByZXR1cm4gbmV4dFVzZXJJZCA9PT0gdXNlcklkICYmIG5leHRQZXJzb25hSWQgPT09IGN1cnJlbnRQZXJzb25hSWQ7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBuZXh0VXNlcklkID09PSB1c2VySWQ7XG4gICAgfSk7XG4gIH0gY2F0Y2goZXJyb3I6IHVua25vd24pIHtcbiAgICByZXR1cm4gey4uLmVycm9yU3RhdHVzLCBtZXNzYWdlOiBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdDb25uZWN0aW9uIG5vdCBmb3VuZCd9O1xuICB9XG5cbiAgYXdhaXQgUHJvbWlzZS5hbGwodXNlcnMubWFwKGFzeW5jICh1c2VyKSA9PiB7XG4gICAgY29uc3QgbmV4dFVzZXJJZCA9IFN0cmluZyh1c2VyPy5fa2V5IHx8IHVzZXI/LnVzZXJJZCB8fCAnJyk7XG4gICAgY29uc3QgbmV4dFBlcnNvbmFJZCA9IFN0cmluZyh1c2VyPy5wZXJzb25hSWQgfHwgJycpO1xuICAgIGNvbnN0IGNvbm5lY3Rpb25SZWNvcmRzID0gbmV4dFBlcnNvbmFJZFxuICAgICAgPyBhd2FpdCBnZXRDb25uZWN0aW9uc0J5UGVyc29uYShuZXh0UGVyc29uYUlkKVxuICAgICAgOiAobmV4dFVzZXJJZCA/IGF3YWl0IGdldENvbm5lY3Rpb25zQnlVc2VyKG5leHRVc2VySWQpIDogW10pO1xuXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoY29ubmVjdGlvblJlY29yZHMubWFwKGFzeW5jIChjb25uZWN0aW9uUmVjb3JkKSA9PiB7XG4gICAgICBjb25zdCBzb2NrZXRJZCA9IGNvbm5lY3Rpb25SZWNvcmQ/LnNvY2tldElkIHx8IGNvbm5lY3Rpb25SZWNvcmQ/LmNvbm5lY3Rpb25JZDtcblxuICAgICAgaWYoc29ja2V0SWQpIHtcbiAgICAgICAgYXdhaXQgd3NDbGllbnQuc2VuZChzb2NrZXRJZCwge1xuICAgICAgICAgIGFjdGlvbjogJ21lc3NhZ2UuY3JlYXRlZCcsXG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgbWVzc2FnZToge1xuICAgICAgICAgICAgICBhZGRlZDogRGF0ZS5ub3coKSxcbiAgICAgICAgICAgICAgY29udGVudDogZm9ybWF0Q29udGVudCxcbiAgICAgICAgICAgICAgY29udmVyc2F0aW9uSWQsXG4gICAgICAgICAgICAgIG1vZGlmaWVkOiBEYXRlLm5vdygpLFxuICAgICAgICAgICAgICB1c2VyOiB7XG4gICAgICAgICAgICAgICAgaW1hZ2VVcmw6IFN0cmluZyhjdXJyZW50VXNlcj8uaW1hZ2VVcmwgfHwgJycpLFxuICAgICAgICAgICAgICAgIG5hbWU6IFN0cmluZyhjdXJyZW50VXNlcj8ubmFtZSB8fCAnJyksXG4gICAgICAgICAgICAgICAgcGVyc29uYUlkOiBTdHJpbmcoY3VycmVudFVzZXI/LnBlcnNvbmFJZCB8fCAnJyksXG4gICAgICAgICAgICAgICAgdGh1bWJVcmw6IFN0cmluZyhjdXJyZW50VXNlcj8udGh1bWJVcmwgfHwgJycpLFxuICAgICAgICAgICAgICAgIHVzZXJJZCxcbiAgICAgICAgICAgICAgICB1c2VybmFtZTogU3RyaW5nKGN1cnJlbnRVc2VyPy51c2VybmFtZSB8fCAnJylcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgdXNlcklkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KSk7XG4gIH0pKTtcblxuICByZXR1cm4gc3VjY2Vzc1N0YXR1cztcbn07XG5cbmV4cG9ydCBjb25zdCB0eXBpbmdIYW5kbGVyID0gYXN5bmMgKGV2ZW50OiBXZWJzb2NrZXRFdmVudCkgPT4ge1xuICBhd2FpdCB3c0NsaWVudC5zZXR1cENsaWVudChldmVudCk7XG4gIGNvbnN0IHtib2R5LCByZXF1ZXN0Q29udGV4dH0gPSBldmVudDtcbiAgY29uc3Qge2Nvbm5lY3Rpb25JZH0gPSByZXF1ZXN0Q29udGV4dDtcbiAgY29uc3QgbWVzc2FnZUJvZHkgPSB0eXBlb2YgYm9keSA9PT0gJ3N0cmluZycgPyBKU09OLnBhcnNlKGJvZHkpIDogYm9keTtcbiAgY29uc3QgdHlwaW5nOiBXZWJzb2NrZXRUeXBpbmdUeXBlID0gbWVzc2FnZUJvZHk/LmRhdGEgfHwge307XG4gIGNvbnN0IGNvbnZlcnNhdGlvbklkID0gU3RyaW5nKHR5cGluZz8uY29udmVyc2F0aW9uSWQgfHwgJycpO1xuICBjb25zdCBpc1R5cGluZyA9IEJvb2xlYW4odHlwaW5nPy5pc1R5cGluZyk7XG4gIGxldCB1c2VyczogQXJyYXk8VXNlclR5cGU+ID0gW107XG5cbiAgaWYoIWNvbnZlcnNhdGlvbklkKSB7XG4gICAgcmV0dXJuIHsuLi5lcnJvclN0YXR1cywgbWVzc2FnZTogJ01pc3NpbmcgY29udmVyc2F0aW9uIElEJ307XG4gIH1cblxuICBsZXQgdXNlcklkID0gJyc7XG4gIGxldCBjdXJyZW50VXNlcjogVXNlclR5cGUgfCB1bmRlZmluZWQ7XG4gIGxldCBjdXJyZW50UGVyc29uYUlkID0gJyc7XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBjb25uZWN0aW9uSWRlbnRpdHkgPSBhd2FpdCBnZXRDb25uZWN0aW9uSWRlbnRpdHkoY29ubmVjdGlvbklkKTtcbiAgICBjb25zdCBjb252ZXJzYXRpb25SZXN1bHRzID0gYXdhaXQgZ2V0Q29udmVyc2F0aW9uVXNlcnMoY29ubmVjdGlvbklkLCBjb252ZXJzYXRpb25JZCk7XG4gICAgdXNlcnMgPSBBcnJheS5pc0FycmF5KChjb252ZXJzYXRpb25SZXN1bHRzLmNvbnZlcnNhdGlvbiBhcyBDb252ZXJzYXRpb25UeXBlKT8udXNlcnMpXG4gICAgICA/ICgoY29udmVyc2F0aW9uUmVzdWx0cy5jb252ZXJzYXRpb24gYXMgQ29udmVyc2F0aW9uVHlwZSkudXNlcnMgfHwgW10pIGFzIFVzZXJUeXBlW11cbiAgICAgIDogW107XG4gICAgdXNlcklkID0gU3RyaW5nKGNvbm5lY3Rpb25JZGVudGl0eS51c2VySWQgfHwgJycpO1xuICAgIGN1cnJlbnRQZXJzb25hSWQgPSBTdHJpbmcoY29ubmVjdGlvbklkZW50aXR5LnBlcnNvbmFJZCB8fCB0eXBpbmc/LnBlcnNvbmFJZCB8fCAnJyk7XG4gICAgY3VycmVudFVzZXIgPSB1c2Vycy5maW5kKCh1c2VyKSA9PiB7XG4gICAgICBjb25zdCBuZXh0VXNlcklkID0gU3RyaW5nKHVzZXI/LnVzZXJJZCB8fCB1c2VyPy5fa2V5IHx8ICcnKTtcbiAgICAgIGNvbnN0IG5leHRQZXJzb25hSWQgPSBTdHJpbmcodXNlcj8ucGVyc29uYUlkIHx8ICcnKTtcblxuICAgICAgaWYoY3VycmVudFBlcnNvbmFJZCAmJiBuZXh0UGVyc29uYUlkKSB7XG4gICAgICAgIHJldHVybiBuZXh0VXNlcklkID09PSB1c2VySWQgJiYgbmV4dFBlcnNvbmFJZCA9PT0gY3VycmVudFBlcnNvbmFJZDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5leHRVc2VySWQgPT09IHVzZXJJZDtcbiAgICB9KTtcbiAgICBjdXJyZW50UGVyc29uYUlkID0gU3RyaW5nKGN1cnJlbnRQZXJzb25hSWQgfHwgY3VycmVudFVzZXI/LnBlcnNvbmFJZCB8fCAnJyk7XG4gIH0gY2F0Y2goZXJyb3I6IHVua25vd24pIHtcbiAgICByZXR1cm4gey4uLmVycm9yU3RhdHVzLCBtZXNzYWdlOiBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdDb25uZWN0aW9uIG5vdCBmb3VuZCd9O1xuICB9XG5cbiAgYXdhaXQgUHJvbWlzZS5hbGwodXNlcnMubWFwKGFzeW5jICh1c2VyKSA9PiB7XG4gICAgY29uc3QgbmV4dFVzZXJJZCA9IFN0cmluZyh1c2VyPy5fa2V5IHx8IHVzZXI/LnVzZXJJZCB8fCAnJyk7XG4gICAgY29uc3QgbmV4dFBlcnNvbmFJZCA9IFN0cmluZyh1c2VyPy5wZXJzb25hSWQgfHwgJycpO1xuXG4gICAgaWYoIW5leHRVc2VySWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZihjdXJyZW50UGVyc29uYUlkICYmIG5leHRQZXJzb25hSWQgJiYgbmV4dFBlcnNvbmFJZCA9PT0gY3VycmVudFBlcnNvbmFJZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmKCFjdXJyZW50UGVyc29uYUlkICYmIG5leHRVc2VySWQgPT09IHVzZXJJZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbm5lY3Rpb25SZWNvcmRzID0gbmV4dFBlcnNvbmFJZFxuICAgICAgPyBhd2FpdCBnZXRDb25uZWN0aW9uc0J5UGVyc29uYShuZXh0UGVyc29uYUlkKVxuICAgICAgOiBhd2FpdCBnZXRDb25uZWN0aW9uc0J5VXNlcihuZXh0VXNlcklkKTtcblxuICAgIGF3YWl0IFByb21pc2UuYWxsKGNvbm5lY3Rpb25SZWNvcmRzLm1hcChhc3luYyAoY29ubmVjdGlvblJlY29yZCkgPT4ge1xuICAgICAgY29uc3Qgc29ja2V0SWQgPSBjb25uZWN0aW9uUmVjb3JkPy5zb2NrZXRJZCB8fCBjb25uZWN0aW9uUmVjb3JkPy5jb25uZWN0aW9uSWQ7XG5cbiAgICAgIGlmKHNvY2tldElkKSB7XG4gICAgICAgIGF3YWl0IHdzQ2xpZW50LnNlbmQoc29ja2V0SWQsIHtcbiAgICAgICAgICBhY3Rpb246ICdtZXNzYWdlLnR5cGluZycsXG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgdHlwaW5nOiB7XG4gICAgICAgICAgICAgIGNvbnZlcnNhdGlvbklkLFxuICAgICAgICAgICAgICBpc1R5cGluZyxcbiAgICAgICAgICAgICAgbmFtZTogU3RyaW5nKHR5cGluZz8ubmFtZSB8fCBjdXJyZW50VXNlcj8ubmFtZSB8fCAnJyksXG4gICAgICAgICAgICAgIHBlcnNvbmFJZDogY3VycmVudFBlcnNvbmFJZCxcbiAgICAgICAgICAgICAgdXBkYXRlZEF0OiBEYXRlLm5vdygpLFxuICAgICAgICAgICAgICB1c2VySWQsXG4gICAgICAgICAgICAgIHVzZXJuYW1lOiBTdHJpbmcodHlwaW5nPy51c2VybmFtZSB8fCBjdXJyZW50VXNlcj8udXNlcm5hbWUgfHwgJycpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KSk7XG4gIH0pKTtcblxuICByZXR1cm4gc3VjY2Vzc1N0YXR1cztcbn07XG4iXSwibmFtZXMiOlsiZ2V0Q29udmVyc2F0aW9uQnlJZCIsIkNvbmZpZyIsImdldFNlc3Npb24iLCJhZGRDb25uZWN0aW9uIiwiZ2V0Q29ubmVjdGlvbkJ5SWQiLCJnZXRDb25uZWN0aW9uc0J5UGVyc29uYSIsImdldENvbm5lY3Rpb25zQnlVc2VyIiwicmVtb3ZlQ29ubmVjdGlvbiIsInBhcnNlTWVzc2FnZSIsIndzQ2xpZW50Iiwic3VjY2Vzc1N0YXR1cyIsInN0YXR1c0NvZGUiLCJlcnJvclN0YXR1cyIsIkFSQU5HT0RCX0RBVEFCQVNFIiwiZGF0YWJhc2VOYW1lIiwicHJvY2VzcyIsImVudiIsImdldEJhc2ljQ29udGV4dCIsInVzZXJJZCIsImNvbmZpZyIsImdldCIsInNlc3Npb24iLCJyZXNvbHZlU2Vzc2lvbklkZW50aXR5IiwicGVyc29uYUlkIiwidG9rZW4iLCJTdHJpbmciLCJ1bmRlZmluZWQiLCJlcnJvciIsIm1lc3NhZ2UiLCJFcnJvciIsImNvbnNvbGUiLCJ3YXJuIiwicmVnaXN0ZXJDb25uZWN0aW9uIiwiY2xpZW50SWQiLCJjb25uZWN0aW9uSWQiLCJuZXh0UGVyc29uYUlkIiwibmV4dFVzZXJJZCIsImxvZyIsImdldENvbm5lY3Rpb25JZGVudGl0eSIsImNvbm5lY3Rpb24iLCJnZXRDb252ZXJzYXRpb25Vc2VycyIsImNvbnZlcnNhdGlvbklkIiwiYXV0aENvbnRleHQiLCJjb252ZXJzYXRpb24iLCJjb25uZWN0SGFuZGxlciIsImV2ZW50IiwiY29udGV4dCIsInNldHVwQ2xpZW50IiwicmVxdWVzdENvbnRleHQiLCJldmVudFR5cGUiLCJxdWVyeVN0cmluZ1BhcmFtZXRlcnMiLCJtdWx0aVZhbHVlUXVlcnlTdHJpbmdQYXJhbWV0ZXJzIiwicmVnaXN0ZXJIYW5kbGVyIiwiYm9keSIsIm1lc3NhZ2VCb2R5IiwiSlNPTiIsInBhcnNlIiwiZGF0YSIsImRlZmF1bHRIYW5kbGVyIiwic2VuZCIsIm1lc3NhZ2VIYW5kbGVyIiwiY29udGVudCIsImZvcm1hdENvbnRlbnQiLCJ1c2VycyIsImN1cnJlbnRVc2VyIiwiY3VycmVudFBlcnNvbmFJZCIsInJlc3VsdHMiLCJBcnJheSIsImlzQXJyYXkiLCJmaW5kIiwidXNlciIsIl9rZXkiLCJQcm9taXNlIiwiYWxsIiwibWFwIiwiY29ubmVjdGlvblJlY29yZHMiLCJjb25uZWN0aW9uUmVjb3JkIiwic29ja2V0SWQiLCJhY3Rpb24iLCJhZGRlZCIsIkRhdGUiLCJub3ciLCJtb2RpZmllZCIsImltYWdlVXJsIiwibmFtZSIsInRodW1iVXJsIiwidXNlcm5hbWUiLCJ0eXBpbmdIYW5kbGVyIiwidHlwaW5nIiwiaXNUeXBpbmciLCJCb29sZWFuIiwiY29ubmVjdGlvbklkZW50aXR5IiwiY29udmVyc2F0aW9uUmVzdWx0cyIsInVwZGF0ZWRBdCJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsU0FBUUEsbUJBQW1CLFFBQU8sOEJBQThCO0FB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
|
|
302
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3JlYWt0b3IvcmVha3Rvci9wYWNrYWdlcy9yZWFrdG9yL3NyYy9sYW1iZGFzL2Nvbm5lY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjEtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVXNlIGlzIHN1YmplY3QgdG8gdGhlIGFjY29tcGFueWluZyBjb21tZXJjaWFsIExJQ0VOU0UuXG4gKi9cbmltcG9ydCB7Z2V0Q29udmVyc2F0aW9uQnlJZH0gZnJvbSAnLi4vYWN0aW9ucy9jb252ZXJzYXRpb25zLmpzJztcbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuLi9jb25maWcuanMnO1xuaW1wb3J0IHtnZXRTZXNzaW9ufSBmcm9tICcuLi91dGlscy9zZXNzaW9uVXRpbHMuanMnO1xuaW1wb3J0IHtcbiAgYWRkQ29ubmVjdGlvbixcbiAgZ2V0Q29ubmVjdGlvbkJ5SWQsXG4gIGdldENvbm5lY3Rpb25zQnlQZXJzb25hLFxuICBnZXRDb25uZWN0aW9uc0J5VXNlcixcbiAgcmVtb3ZlQ29ubmVjdGlvblxufSBmcm9tICcuL2FjdGlvbnMvd2Vic29ja2V0cy5qcyc7XG5pbXBvcnQge3BhcnNlTWVzc2FnZX0gZnJvbSAnLi91dGlscy9tZXNzYWdlLmpzJztcbmltcG9ydCB7d3NDbGllbnR9IGZyb20gJy4vdXRpbHMvd2Vic29ja2V0LmpzJztcblxuaW1wb3J0IHR5cGUge0NvbnRleHR9IGZyb20gJ2F3cy1sYW1iZGEnO1xuaW1wb3J0IHR5cGUge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzL2F1dGgudHlwZXMuanMnO1xuaW1wb3J0IHR5cGUge0NvbnZlcnNhdGlvblR5cGV9IGZyb20gJy4uL3R5cGVzL2NvbnZlcnNhdGlvbnMudHlwZXMuanMnO1xuaW1wb3J0IHR5cGUge01lc3NhZ2VUeXBlfSBmcm9tICcuLi90eXBlcy9tZXNzYWdlcy50eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7VXNlclR5cGV9IGZyb20gJy4uL3R5cGVzL3VzZXJzLnR5cGVzLmpzJztcbmltcG9ydCB0eXBlIHtXZWJzb2NrZXRUeXBpbmdUeXBlfSBmcm9tICcuLi90eXBlcy93ZWJzb2NrZXRzLnR5cGVzLmpzJztcblxuaW50ZXJmYWNlIFdlYnNvY2tldEV2ZW50IHtcbiAgcmVhZG9ubHkgYm9keT86IHN0cmluZyB8IG51bGw7XG4gIHJlYWRvbmx5IG11bHRpVmFsdWVRdWVyeVN0cmluZ1BhcmFtZXRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXSB8IHVuZGVmaW5lZD4gfCBudWxsO1xuICByZWFkb25seSBxdWVyeVN0cmluZ1BhcmFtZXRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+IHwgbnVsbDtcbiAgcmVhZG9ubHkgcmVxdWVzdENvbnRleHQ6IHtcbiAgICByZWFkb25seSBjb25uZWN0aW9uSWQ6IHN0cmluZztcbiAgICByZWFkb25seSBldmVudFR5cGU6IHN0cmluZztcbiAgfTtcbn1cblxuY29uc3Qgc3VjY2Vzc1N0YXR1cyA9IHtzdGF0dXNDb2RlOiAyMDB9O1xuY29uc3QgZXJyb3JTdGF0dXMgPSB7c3RhdHVzQ29kZTogNTAwfTtcbmNvbnN0IHtBUkFOR09EQl9EQVRBQkFTRTogZGF0YWJhc2VOYW1lfSA9IHByb2Nlc3MuZW52O1xuY29uc3QgZ2V0QmFzaWNDb250ZXh0ID0gKHVzZXJJZDogc3RyaW5nKTogQXBpQ29udGV4dCA9PiAoe1xuICBjb25maWc6IENvbmZpZy5nZXQoKSxcbiAgZGF0YWJhc2VOYW1lLFxuICBzZXNzaW9uOiB7dXNlcklkfVxufSk7XG5cbmNvbnN0IHJlc29sdmVTZXNzaW9uSWRlbnRpdHkgPSAoe1xuICBwZXJzb25hSWQsXG4gIHRva2VuLFxuICB1c2VySWRcbn06IHtcbiAgcmVhZG9ubHkgcGVyc29uYUlkPzogc3RyaW5nO1xuICByZWFkb25seSB0b2tlbj86IHN0cmluZztcbiAgcmVhZG9ubHkgdXNlcklkPzogc3RyaW5nO1xufSk6IHtwZXJzb25hSWQ/OiBzdHJpbmc7IHVzZXJJZD86IHN0cmluZ30gPT4ge1xuICBpZih0b2tlbikge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzZXNzaW9uID0gZ2V0U2Vzc2lvbih0b2tlbikgfHwge307XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBlcnNvbmFJZDogU3RyaW5nKHBlcnNvbmFJZCB8fCAoc2Vzc2lvbiBhcyBhbnkpPy5wZXJzb25hSWQgfHwgJycpIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgdXNlcklkOiBTdHJpbmcoKHNlc3Npb24gYXMgYW55KT8udXNlcklkIHx8ICcnKSB8fCB1bmRlZmluZWRcbiAgICAgIH07XG4gICAgfSBjYXRjaChlcnJvcjogdW5rbm93bikge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ2ludmFsaWRfc2Vzc2lvbic7XG5cbiAgICAgIGNvbnNvbGUud2FybigncmVzb2x2ZVNlc3Npb25JZGVudGl0eTo6aW52YWxpZFRva2VuJywge21lc3NhZ2V9KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBlcnNvbmFJZDogU3RyaW5nKHBlcnNvbmFJZCB8fCAnJykgfHwgdW5kZWZpbmVkLFxuICAgICAgICB1c2VySWRcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBwZXJzb25hSWQ6IFN0cmluZyhwZXJzb25hSWQgfHwgJycpIHx8IHVuZGVmaW5lZCxcbiAgICB1c2VySWRcbiAgfTtcbn07XG5cbmNvbnN0IHJlZ2lzdGVyQ29ubmVjdGlvbiA9IGFzeW5jICh7XG4gIGNsaWVudElkLFxuICBjb25uZWN0aW9uSWQsXG4gIHBlcnNvbmFJZCxcbiAgdG9rZW4sXG4gIHVzZXJJZFxufToge1xuICByZWFkb25seSBjbGllbnRJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgY29ubmVjdGlvbklkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBlcnNvbmFJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgdG9rZW4/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVzZXJJZD86IHN0cmluZztcbn0pID0+IHtcbiAgY29uc3Qge3BlcnNvbmFJZDogbmV4dFBlcnNvbmFJZCwgdXNlcklkOiBuZXh0VXNlcklkfSA9IHJlc29sdmVTZXNzaW9uSWRlbnRpdHkoe3BlcnNvbmFJZCwgdG9rZW4sIHVzZXJJZH0pO1xuXG4gIGlmKCFuZXh0VXNlcklkKSB7XG4gICAgY29uc29sZS5sb2coJ3dlYnNvY2tldDo6cmVnaXN0ZXJDb25uZWN0aW9uOjptaXNzaW5nVXNlcicsIHtjb25uZWN0aW9uSWQsIG5leHRQZXJzb25hSWR9KTtcbiAgICByZXR1cm4gc3VjY2Vzc1N0YXR1cztcbiAgfVxuXG4gIGNvbnNvbGUubG9nKCd3ZWJzb2NrZXQ6OnJlZ2lzdGVyQ29ubmVjdGlvbicsIHtcbiAgICBjbGllbnRJZCxcbiAgICBjb25uZWN0aW9uSWQsXG4gICAgcGVyc29uYUlkOiBuZXh0UGVyc29uYUlkLFxuICAgIHVzZXJJZDogbmV4dFVzZXJJZFxuICB9KTtcbiAgYXdhaXQgYWRkQ29ubmVjdGlvbihjb25uZWN0aW9uSWQsIG5leHRVc2VySWQsIG5leHRQZXJzb25hSWQgfHwgJycsIFN0cmluZyhjbGllbnRJZCB8fCAnJykpO1xuICByZXR1cm4gc3VjY2Vzc1N0YXR1cztcbn07XG5cbmNvbnN0IGdldENvbm5lY3Rpb25JZGVudGl0eSA9IGFzeW5jIChjb25uZWN0aW9uSWQ6IHN0cmluZykgPT4ge1xuICBjb25zdCBjb25uZWN0aW9uID0gYXdhaXQgZ2V0Q29ubmVjdGlvbkJ5SWQoY29ubmVjdGlvbklkKTtcbiAgY29uc3QgdXNlcklkID0gY29ubmVjdGlvbj8udXNlcklkO1xuXG4gIGlmKCF1c2VySWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nvbm5lY3Rpb24gbm90IGZvdW5kJyk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHBlcnNvbmFJZDogU3RyaW5nKGNvbm5lY3Rpb24/LnBlcnNvbmFJZCB8fCAnJyksXG4gICAgdXNlcklkXG4gIH07XG59O1xuXG5jb25zdCBnZXRDb252ZXJzYXRpb25Vc2VycyA9IGFzeW5jIChjb25uZWN0aW9uSWQ6IHN0cmluZywgY29udmVyc2F0aW9uSWQ6IHN0cmluZykgPT4ge1xuICBjb25zdCB7cGVyc29uYUlkLCB1c2VySWR9ID0gYXdhaXQgZ2V0Q29ubmVjdGlvbklkZW50aXR5KGNvbm5lY3Rpb25JZCk7XG4gIGNvbnN0IGF1dGhDb250ZXh0ID0gZ2V0QmFzaWNDb250ZXh0KHVzZXJJZCk7XG4gIGNvbnN0IGNvbnZlcnNhdGlvbiA9IGF3YWl0IGdldENvbnZlcnNhdGlvbkJ5SWQoYXV0aENvbnRleHQsIGNvbnZlcnNhdGlvbklkKTtcblxuICByZXR1cm4ge1xuICAgIGNvbnZlcnNhdGlvbixcbiAgICBwZXJzb25hSWQsXG4gICAgdXNlcklkXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgY29ubmVjdEhhbmRsZXIgPSBhc3luYyAoZXZlbnQ6IFdlYnNvY2tldEV2ZW50LCBjb250ZXh0OiBDb250ZXh0KSA9PiB7XG4gIGNvbnNvbGUubG9nKCdjb25uZWN0SGFuZGxlcjo6ZXZlbnQnLCBldmVudCk7XG4gIGNvbnNvbGUubG9nKCdjb25uZWN0SGFuZGxlcjo6Y29udGV4dCcsIGNvbnRleHQpO1xuICBhd2FpdCB3c0NsaWVudC5zZXR1cENsaWVudChldmVudCk7XG4gIGNvbnN0IHtyZXF1ZXN0Q29udGV4dH0gPSBldmVudDtcbiAgY29uc3Qge2Nvbm5lY3Rpb25JZCwgZXZlbnRUeXBlfSA9IHJlcXVlc3RDb250ZXh0O1xuICBjb25zdCBjbGllbnRJZCA9IGV2ZW50LnF1ZXJ5U3RyaW5nUGFyYW1ldGVycz8uY2xpZW50SWQgfHwgZXZlbnQubXVsdGlWYWx1ZVF1ZXJ5U3RyaW5nUGFyYW1ldGVycz8uY2xpZW50SWQ/LlswXTtcbiAgY29uc3QgcGVyc29uYUlkID0gZXZlbnQucXVlcnlTdHJpbmdQYXJhbWV0ZXJzPy5wZXJzb25hSWQgfHwgZXZlbnQubXVsdGlWYWx1ZVF1ZXJ5U3RyaW5nUGFyYW1ldGVycz8ucGVyc29uYUlkPy5bMF07XG4gIGNvbnN0IHRva2VuID0gZXZlbnQucXVlcnlTdHJpbmdQYXJhbWV0ZXJzPy50b2tlbiB8fCBldmVudC5tdWx0aVZhbHVlUXVlcnlTdHJpbmdQYXJhbWV0ZXJzPy50b2tlbj8uWzBdO1xuICBjb25zdCB1c2VySWQgPSBldmVudC5xdWVyeVN0cmluZ1BhcmFtZXRlcnM/LnVzZXJJZCB8fCBldmVudC5tdWx0aVZhbHVlUXVlcnlTdHJpbmdQYXJhbWV0ZXJzPy51c2VySWQ/LlswXTtcblxuICB0cnkge1xuICAgIGlmKGV2ZW50VHlwZSA9PT0gJ0NPTk5FQ1QnKSB7XG4gICAgICByZXR1cm4gcmVnaXN0ZXJDb25uZWN0aW9uKHtjbGllbnRJZCwgY29ubmVjdGlvbklkLCBwZXJzb25hSWQsIHRva2VuLCB1c2VySWR9KTtcbiAgICB9IGVsc2UgaWYoZXZlbnRUeXBlID09PSAnRElTQ09OTkVDVCcpIHtcbiAgICAgIGF3YWl0IHJlbW92ZUNvbm5lY3Rpb24oY29ubmVjdGlvbklkKTtcbiAgICAgIHJldHVybiBzdWNjZXNzU3RhdHVzO1xuICAgIH1cblxuICAgIHJldHVybiB7Li4uZXJyb3JTdGF0dXMsIG1lc3NhZ2U6ICdVbmtub3duIHR5cGUnfTtcbiAgfSBjYXRjaChlcnJvcjogdW5rbm93bikge1xuICAgIHJldHVybiB7Li4uZXJyb3JTdGF0dXMsIG1lc3NhZ2U6IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHJlZ2lzdGVySGFuZGxlciA9IGFzeW5jIChldmVudDogV2Vic29ja2V0RXZlbnQpID0+IHtcbiAgYXdhaXQgd3NDbGllbnQuc2V0dXBDbGllbnQoZXZlbnQpO1xuICBjb25zdCB7Ym9keSwgcmVxdWVzdENvbnRleHR9ID0gZXZlbnQ7XG4gIGNvbnN0IHtjb25uZWN0aW9uSWR9ID0gcmVxdWVzdENvbnRleHQ7XG4gIGNvbnN0IG1lc3NhZ2VCb2R5ID0gdHlwZW9mIGJvZHkgPT09ICdzdHJpbmcnID8gSlNPTi5wYXJzZShib2R5KSA6IGJvZHk7XG4gIGNvbnN0IGNsaWVudElkID0gU3RyaW5nKG1lc3NhZ2VCb2R5Py5kYXRhPy5jbGllbnRJZCB8fCBtZXNzYWdlQm9keT8uY2xpZW50SWQgfHwgJycpO1xuICBjb25zdCBwZXJzb25hSWQgPSBTdHJpbmcobWVzc2FnZUJvZHk/LmRhdGE/LnBlcnNvbmFJZCB8fCBtZXNzYWdlQm9keT8ucGVyc29uYUlkIHx8ICcnKTtcbiAgY29uc3QgdG9rZW4gPSBTdHJpbmcobWVzc2FnZUJvZHk/LmRhdGE/LnRva2VuIHx8IG1lc3NhZ2VCb2R5Py50b2tlbiB8fCAnJyk7XG4gIGNvbnN0IHVzZXJJZCA9IFN0cmluZyhtZXNzYWdlQm9keT8uZGF0YT8udXNlcklkIHx8IG1lc3NhZ2VCb2R5Py51c2VySWQgfHwgJycpO1xuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGF3YWl0IHJlZ2lzdGVyQ29ubmVjdGlvbih7XG4gICAgICBjbGllbnRJZDogY2xpZW50SWQgfHwgdW5kZWZpbmVkLFxuICAgICAgY29ubmVjdGlvbklkLFxuICAgICAgcGVyc29uYUlkOiBwZXJzb25hSWQgfHwgdW5kZWZpbmVkLFxuICAgICAgdG9rZW46IHRva2VuIHx8IHVuZGVmaW5lZCxcbiAgICAgIHVzZXJJZDogdXNlcklkIHx8IHVuZGVmaW5lZFxuICAgIH0pO1xuICB9IGNhdGNoKGVycm9yOiB1bmtub3duKSB7XG4gICAgcmV0dXJuIHsuLi5lcnJvclN0YXR1cywgbWVzc2FnZTogZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEhhbmRsZXIgPSBhc3luYyAoZXZlbnQ6IFdlYnNvY2tldEV2ZW50KSA9PiB7XG4gIGF3YWl0IHdzQ2xpZW50LnNldHVwQ2xpZW50KGV2ZW50KTtcbiAgYXdhaXQgd3NDbGllbnQuc2VuZChldmVudCwge1xuICAgIGV2ZW50OiAnZXJyb3InLFxuICAgIG1lc3NhZ2U6ICdpbnZhbGlkIGFjdGlvbiB0eXBlJ1xuICB9KTtcblxuICByZXR1cm4gc3VjY2Vzc1N0YXR1cztcbn07XG5cbmV4cG9ydCBjb25zdCBtZXNzYWdlSGFuZGxlciA9IGFzeW5jIChldmVudDogV2Vic29ja2V0RXZlbnQpID0+IHtcbiAgYXdhaXQgd3NDbGllbnQuc2V0dXBDbGllbnQoZXZlbnQpO1xuICBjb25zdCB7Ym9keSwgcmVxdWVzdENvbnRleHR9ID0gZXZlbnQ7XG4gIGNvbnN0IHtjb25uZWN0aW9uSWR9ID0gcmVxdWVzdENvbnRleHQ7XG4gIGNvbnN0IG1lc3NhZ2VCb2R5ID0gdHlwZW9mIGJvZHkgPT09ICdzdHJpbmcnID8gSlNPTi5wYXJzZShib2R5KSA6IGJvZHk7XG4gIGNvbnN0IG1lc3NhZ2U6IE1lc3NhZ2VUeXBlID0gbWVzc2FnZUJvZHk/LmRhdGE7XG4gIGNvbnN0IGNvbnZlcnNhdGlvbklkID0gU3RyaW5nKG1lc3NhZ2U/LmNvbnZlcnNhdGlvbklkIHx8ICcnKTtcbiAgY29uc3Qge2NvbnRlbnR9ID0gbWVzc2FnZTtcbiAgY29uc3QgZm9ybWF0Q29udGVudCA9IHBhcnNlTWVzc2FnZShjb250ZW50IHx8ICcnKTtcblxuICBpZighY29udmVyc2F0aW9uSWQpIHtcbiAgICByZXR1cm4gey4uLmVycm9yU3RhdHVzLCBtZXNzYWdlOiAnTWlzc2luZyBjb252ZXJzYXRpb24gSUQnfTtcbiAgfVxuXG4gIGxldCB1c2VySWQgPSAnJztcbiAgbGV0IHVzZXJzOiBBcnJheTxVc2VyVHlwZT4gPSBbXTtcbiAgbGV0IGN1cnJlbnRVc2VyOiBVc2VyVHlwZSB8IHVuZGVmaW5lZDtcbiAgbGV0IGN1cnJlbnRQZXJzb25hSWQgPSAnJztcblxuICB0cnkge1xuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBnZXRDb252ZXJzYXRpb25Vc2Vycyhjb25uZWN0aW9uSWQsIGNvbnZlcnNhdGlvbklkKTtcbiAgICB1c2VySWQgPSBTdHJpbmcocmVzdWx0cy51c2VySWQgfHwgJycpO1xuICAgIGN1cnJlbnRQZXJzb25hSWQgPSBTdHJpbmcocmVzdWx0cy5wZXJzb25hSWQgfHwgJycpO1xuICAgIHVzZXJzID0gQXJyYXkuaXNBcnJheShyZXN1bHRzLmNvbnZlcnNhdGlvbj8udXNlcnMpID8gcmVzdWx0cy5jb252ZXJzYXRpb24udXNlcnMgOiBbXTtcbiAgICBjdXJyZW50VXNlciA9IHVzZXJzLmZpbmQoKHVzZXIpID0+IHtcbiAgICAgIGNvbnN0IG5leHRVc2VySWQgPSBTdHJpbmcodXNlcj8udXNlcklkIHx8IHVzZXI/Ll9rZXkgfHwgJycpO1xuICAgICAgY29uc3QgbmV4dFBlcnNvbmFJZCA9IFN0cmluZyh1c2VyPy5wZXJzb25hSWQgfHwgJycpO1xuXG4gICAgICBpZihjdXJyZW50UGVyc29uYUlkICYmIG5leHRQZXJzb25hSWQpIHtcbiAgICAgICAgcmV0dXJuIG5leHRVc2VySWQgPT09IHVzZXJJZCAmJiBuZXh0UGVyc29uYUlkID09PSBjdXJyZW50UGVyc29uYUlkO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbmV4dFVzZXJJZCA9PT0gdXNlcklkO1xuICAgIH0pO1xuICB9IGNhdGNoKGVycm9yOiB1bmtub3duKSB7XG4gICAgcmV0dXJuIHsuLi5lcnJvclN0YXR1cywgbWVzc2FnZTogZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnQ29ubmVjdGlvbiBub3QgZm91bmQnfTtcbiAgfVxuXG4gIGF3YWl0IFByb21pc2UuYWxsKHVzZXJzLm1hcChhc3luYyAodXNlcikgPT4ge1xuICAgIGNvbnN0IG5leHRVc2VySWQgPSBTdHJpbmcodXNlcj8uX2tleSB8fCB1c2VyPy51c2VySWQgfHwgJycpO1xuICAgIGNvbnN0IG5leHRQZXJzb25hSWQgPSBTdHJpbmcodXNlcj8ucGVyc29uYUlkIHx8ICcnKTtcbiAgICBjb25zdCBjb25uZWN0aW9uUmVjb3JkcyA9IG5leHRQZXJzb25hSWRcbiAgICAgID8gYXdhaXQgZ2V0Q29ubmVjdGlvbnNCeVBlcnNvbmEobmV4dFBlcnNvbmFJZClcbiAgICAgIDogKG5leHRVc2VySWQgPyBhd2FpdCBnZXRDb25uZWN0aW9uc0J5VXNlcihuZXh0VXNlcklkKSA6IFtdKTtcblxuICAgIGF3YWl0IFByb21pc2UuYWxsKGNvbm5lY3Rpb25SZWNvcmRzLm1hcChhc3luYyAoY29ubmVjdGlvblJlY29yZCkgPT4ge1xuICAgICAgY29uc3Qgc29ja2V0SWQgPSBjb25uZWN0aW9uUmVjb3JkPy5zb2NrZXRJZCB8fCBjb25uZWN0aW9uUmVjb3JkPy5jb25uZWN0aW9uSWQ7XG5cbiAgICAgIGlmKHNvY2tldElkKSB7XG4gICAgICAgIGF3YWl0IHdzQ2xpZW50LnNlbmQoc29ja2V0SWQsIHtcbiAgICAgICAgICBhY3Rpb246ICdtZXNzYWdlLmNyZWF0ZWQnLFxuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIG1lc3NhZ2U6IHtcbiAgICAgICAgICAgICAgYWRkZWQ6IERhdGUubm93KCksXG4gICAgICAgICAgICAgIGNvbnRlbnQ6IGZvcm1hdENvbnRlbnQsXG4gICAgICAgICAgICAgIGNvbnZlcnNhdGlvbklkLFxuICAgICAgICAgICAgICBtb2RpZmllZDogRGF0ZS5ub3coKSxcbiAgICAgICAgICAgICAgdXNlcjoge1xuICAgICAgICAgICAgICAgIGltYWdlVXJsOiBTdHJpbmcoY3VycmVudFVzZXI/LmltYWdlVXJsIHx8ICcnKSxcbiAgICAgICAgICAgICAgICBuYW1lOiBTdHJpbmcoY3VycmVudFVzZXI/Lm5hbWUgfHwgJycpLFxuICAgICAgICAgICAgICAgIHBlcnNvbmFJZDogU3RyaW5nKGN1cnJlbnRVc2VyPy5wZXJzb25hSWQgfHwgJycpLFxuICAgICAgICAgICAgICAgIHRodW1iVXJsOiBTdHJpbmcoY3VycmVudFVzZXI/LnRodW1iVXJsIHx8ICcnKSxcbiAgICAgICAgICAgICAgICB1c2VySWQsXG4gICAgICAgICAgICAgICAgdXNlcm5hbWU6IFN0cmluZyhjdXJyZW50VXNlcj8udXNlcm5hbWUgfHwgJycpXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHVzZXJJZFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSkpO1xuICB9KSk7XG5cbiAgcmV0dXJuIHN1Y2Nlc3NTdGF0dXM7XG59O1xuXG5leHBvcnQgY29uc3QgdHlwaW5nSGFuZGxlciA9IGFzeW5jIChldmVudDogV2Vic29ja2V0RXZlbnQpID0+IHtcbiAgYXdhaXQgd3NDbGllbnQuc2V0dXBDbGllbnQoZXZlbnQpO1xuICBjb25zdCB7Ym9keSwgcmVxdWVzdENvbnRleHR9ID0gZXZlbnQ7XG4gIGNvbnN0IHtjb25uZWN0aW9uSWR9ID0gcmVxdWVzdENvbnRleHQ7XG4gIGNvbnN0IG1lc3NhZ2VCb2R5ID0gdHlwZW9mIGJvZHkgPT09ICdzdHJpbmcnID8gSlNPTi5wYXJzZShib2R5KSA6IGJvZHk7XG4gIGNvbnN0IHR5cGluZzogV2Vic29ja2V0VHlwaW5nVHlwZSA9IG1lc3NhZ2VCb2R5Py5kYXRhIHx8IHt9O1xuICBjb25zdCBjb252ZXJzYXRpb25JZCA9IFN0cmluZyh0eXBpbmc/LmNvbnZlcnNhdGlvbklkIHx8ICcnKTtcbiAgY29uc3QgaXNUeXBpbmcgPSBCb29sZWFuKHR5cGluZz8uaXNUeXBpbmcpO1xuICBsZXQgdXNlcnM6IEFycmF5PFVzZXJUeXBlPiA9IFtdO1xuXG4gIGlmKCFjb252ZXJzYXRpb25JZCkge1xuICAgIHJldHVybiB7Li4uZXJyb3JTdGF0dXMsIG1lc3NhZ2U6ICdNaXNzaW5nIGNvbnZlcnNhdGlvbiBJRCd9O1xuICB9XG5cbiAgbGV0IHVzZXJJZCA9ICcnO1xuICBsZXQgY3VycmVudFVzZXI6IFVzZXJUeXBlIHwgdW5kZWZpbmVkO1xuICBsZXQgY3VycmVudFBlcnNvbmFJZCA9ICcnO1xuXG4gIHRyeSB7XG4gICAgY29uc3QgY29ubmVjdGlvbklkZW50aXR5ID0gYXdhaXQgZ2V0Q29ubmVjdGlvbklkZW50aXR5KGNvbm5lY3Rpb25JZCk7XG4gICAgY29uc3QgY29udmVyc2F0aW9uUmVzdWx0cyA9IGF3YWl0IGdldENvbnZlcnNhdGlvblVzZXJzKGNvbm5lY3Rpb25JZCwgY29udmVyc2F0aW9uSWQpO1xuICAgIHVzZXJzID0gQXJyYXkuaXNBcnJheSgoY29udmVyc2F0aW9uUmVzdWx0cy5jb252ZXJzYXRpb24gYXMgQ29udmVyc2F0aW9uVHlwZSk/LnVzZXJzKVxuICAgICAgPyAoKGNvbnZlcnNhdGlvblJlc3VsdHMuY29udmVyc2F0aW9uIGFzIENvbnZlcnNhdGlvblR5cGUpLnVzZXJzIHx8IFtdKSBhcyBVc2VyVHlwZVtdXG4gICAgICA6IFtdO1xuICAgIHVzZXJJZCA9IFN0cmluZyhjb25uZWN0aW9uSWRlbnRpdHkudXNlcklkIHx8ICcnKTtcbiAgICBjdXJyZW50UGVyc29uYUlkID0gU3RyaW5nKGNvbm5lY3Rpb25JZGVudGl0eS5wZXJzb25hSWQgfHwgdHlwaW5nPy5wZXJzb25hSWQgfHwgJycpO1xuICAgIGN1cnJlbnRVc2VyID0gdXNlcnMuZmluZCgodXNlcikgPT4ge1xuICAgICAgY29uc3QgbmV4dFVzZXJJZCA9IFN0cmluZyh1c2VyPy51c2VySWQgfHwgdXNlcj8uX2tleSB8fCAnJyk7XG4gICAgICBjb25zdCBuZXh0UGVyc29uYUlkID0gU3RyaW5nKHVzZXI/LnBlcnNvbmFJZCB8fCAnJyk7XG5cbiAgICAgIGlmKGN1cnJlbnRQZXJzb25hSWQgJiYgbmV4dFBlcnNvbmFJZCkge1xuICAgICAgICByZXR1cm4gbmV4dFVzZXJJZCA9PT0gdXNlcklkICYmIG5leHRQZXJzb25hSWQgPT09IGN1cnJlbnRQZXJzb25hSWQ7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBuZXh0VXNlcklkID09PSB1c2VySWQ7XG4gICAgfSk7XG4gICAgY3VycmVudFBlcnNvbmFJZCA9IFN0cmluZyhjdXJyZW50UGVyc29uYUlkIHx8IGN1cnJlbnRVc2VyPy5wZXJzb25hSWQgfHwgJycpO1xuICB9IGNhdGNoKGVycm9yOiB1bmtub3duKSB7XG4gICAgcmV0dXJuIHsuLi5lcnJvclN0YXR1cywgbWVzc2FnZTogZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnQ29ubmVjdGlvbiBub3QgZm91bmQnfTtcbiAgfVxuXG4gIGF3YWl0IFByb21pc2UuYWxsKHVzZXJzLm1hcChhc3luYyAodXNlcikgPT4ge1xuICAgIGNvbnN0IG5leHRVc2VySWQgPSBTdHJpbmcodXNlcj8uX2tleSB8fCB1c2VyPy51c2VySWQgfHwgJycpO1xuICAgIGNvbnN0IG5leHRQZXJzb25hSWQgPSBTdHJpbmcodXNlcj8ucGVyc29uYUlkIHx8ICcnKTtcblxuICAgIGlmKCFuZXh0VXNlcklkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYoY3VycmVudFBlcnNvbmFJZCAmJiBuZXh0UGVyc29uYUlkICYmIG5leHRQZXJzb25hSWQgPT09IGN1cnJlbnRQZXJzb25hSWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZighY3VycmVudFBlcnNvbmFJZCAmJiBuZXh0VXNlcklkID09PSB1c2VySWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb25uZWN0aW9uUmVjb3JkcyA9IG5leHRQZXJzb25hSWRcbiAgICAgID8gYXdhaXQgZ2V0Q29ubmVjdGlvbnNCeVBlcnNvbmEobmV4dFBlcnNvbmFJZClcbiAgICAgIDogYXdhaXQgZ2V0Q29ubmVjdGlvbnNCeVVzZXIobmV4dFVzZXJJZCk7XG5cbiAgICBhd2FpdCBQcm9taXNlLmFsbChjb25uZWN0aW9uUmVjb3Jkcy5tYXAoYXN5bmMgKGNvbm5lY3Rpb25SZWNvcmQpID0+IHtcbiAgICAgIGNvbnN0IHNvY2tldElkID0gY29ubmVjdGlvblJlY29yZD8uc29ja2V0SWQgfHwgY29ubmVjdGlvblJlY29yZD8uY29ubmVjdGlvbklkO1xuXG4gICAgICBpZihzb2NrZXRJZCkge1xuICAgICAgICBhd2FpdCB3c0NsaWVudC5zZW5kKHNvY2tldElkLCB7XG4gICAgICAgICAgYWN0aW9uOiAnbWVzc2FnZS50eXBpbmcnLFxuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIHR5cGluZzoge1xuICAgICAgICAgICAgICBjb252ZXJzYXRpb25JZCxcbiAgICAgICAgICAgICAgaXNUeXBpbmcsXG4gICAgICAgICAgICAgIG5hbWU6IFN0cmluZyh0eXBpbmc/Lm5hbWUgfHwgY3VycmVudFVzZXI/Lm5hbWUgfHwgJycpLFxuICAgICAgICAgICAgICBwZXJzb25hSWQ6IGN1cnJlbnRQZXJzb25hSWQsXG4gICAgICAgICAgICAgIHVwZGF0ZWRBdDogRGF0ZS5ub3coKSxcbiAgICAgICAgICAgICAgdXNlcklkLFxuICAgICAgICAgICAgICB1c2VybmFtZTogU3RyaW5nKHR5cGluZz8udXNlcm5hbWUgfHwgY3VycmVudFVzZXI/LnVzZXJuYW1lIHx8ICcnKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSkpO1xuICB9KSk7XG5cbiAgcmV0dXJuIHN1Y2Nlc3NTdGF0dXM7XG59O1xuIl0sIm5hbWVzIjpbImdldENvbnZlcnNhdGlvbkJ5SWQiLCJDb25maWciLCJnZXRTZXNzaW9uIiwiYWRkQ29ubmVjdGlvbiIsImdldENvbm5lY3Rpb25CeUlkIiwiZ2V0Q29ubmVjdGlvbnNCeVBlcnNvbmEiLCJnZXRDb25uZWN0aW9uc0J5VXNlciIsInJlbW92ZUNvbm5lY3Rpb24iLCJwYXJzZU1lc3NhZ2UiLCJ3c0NsaWVudCIsInN1Y2Nlc3NTdGF0dXMiLCJzdGF0dXNDb2RlIiwiZXJyb3JTdGF0dXMiLCJBUkFOR09EQl9EQVRBQkFTRSIsImRhdGFiYXNlTmFtZSIsInByb2Nlc3MiLCJlbnYiLCJnZXRCYXNpY0NvbnRleHQiLCJ1c2VySWQiLCJjb25maWciLCJnZXQiLCJzZXNzaW9uIiwicmVzb2x2ZVNlc3Npb25JZGVudGl0eSIsInBlcnNvbmFJZCIsInRva2VuIiwiU3RyaW5nIiwidW5kZWZpbmVkIiwiZXJyb3IiLCJtZXNzYWdlIiwiRXJyb3IiLCJjb25zb2xlIiwid2FybiIsInJlZ2lzdGVyQ29ubmVjdGlvbiIsImNsaWVudElkIiwiY29ubmVjdGlvbklkIiwibmV4dFBlcnNvbmFJZCIsIm5leHRVc2VySWQiLCJsb2ciLCJnZXRDb25uZWN0aW9uSWRlbnRpdHkiLCJjb25uZWN0aW9uIiwiZ2V0Q29udmVyc2F0aW9uVXNlcnMiLCJjb252ZXJzYXRpb25JZCIsImF1dGhDb250ZXh0IiwiY29udmVyc2F0aW9uIiwiY29ubmVjdEhhbmRsZXIiLCJldmVudCIsImNvbnRleHQiLCJzZXR1cENsaWVudCIsInJlcXVlc3RDb250ZXh0IiwiZXZlbnRUeXBlIiwicXVlcnlTdHJpbmdQYXJhbWV0ZXJzIiwibXVsdGlWYWx1ZVF1ZXJ5U3RyaW5nUGFyYW1ldGVycyIsInJlZ2lzdGVySGFuZGxlciIsImJvZHkiLCJtZXNzYWdlQm9keSIsIkpTT04iLCJwYXJzZSIsImRhdGEiLCJkZWZhdWx0SGFuZGxlciIsInNlbmQiLCJtZXNzYWdlSGFuZGxlciIsImNvbnRlbnQiLCJmb3JtYXRDb250ZW50IiwidXNlcnMiLCJjdXJyZW50VXNlciIsImN1cnJlbnRQZXJzb25hSWQiLCJyZXN1bHRzIiwiQXJyYXkiLCJpc0FycmF5IiwiZmluZCIsInVzZXIiLCJfa2V5IiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImNvbm5lY3Rpb25SZWNvcmRzIiwiY29ubmVjdGlvblJlY29yZCIsInNvY2tldElkIiwiYWN0aW9uIiwiYWRkZWQiLCJEYXRlIiwibm93IiwibW9kaWZpZWQiLCJpbWFnZVVybCIsIm5hbWUiLCJ0aHVtYlVybCIsInVzZXJuYW1lIiwidHlwaW5nSGFuZGxlciIsInR5cGluZyIsImlzVHlwaW5nIiwiQm9vbGVhbiIsImNvbm5lY3Rpb25JZGVudGl0eSIsImNvbnZlcnNhdGlvblJlc3VsdHMiLCJ1cGRhdGVkQXQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLG1CQUFtQixRQUFPLDhCQUE4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
|