@dbx-tools/email 0.4.1 → 0.5.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/index.ts +26 -26
- package/lib/index.d.ts +26 -26
- package/lib/index.js +1 -1
- package/lib/src/config.d.ts +1 -1
- package/lib/src/config.js +1 -1
- package/lib/src/email-html.d.ts +1 -1
- package/lib/src/email-html.js +1 -1
- package/lib/src/outbox.d.ts +1 -1
- package/lib/src/outbox.js +1 -1
- package/lib/src/plugin.d.ts +1 -1
- package/lib/src/plugin.js +1 -1
- package/lib/src/sender.d.ts +1 -1
- package/lib/src/sender.js +1 -1
- package/lib/src/tool.js +1 -1
- package/lib/src/transport.d.ts +2 -2
- package/lib/src/transport.js +1 -1
- package/package.json +3 -3
- package/src/config.ts +2 -2
- package/src/email-html.ts +2 -2
- package/src/outbox.ts +2 -2
- package/src/plugin.ts +5 -5
- package/src/sender.ts +1 -1
- package/src/tool.ts +2 -2
- package/src/transport.ts +5 -5
package/index.ts
CHANGED
|
@@ -2,29 +2,29 @@
|
|
|
2
2
|
// Regenerated from the exporting modules in ./src.
|
|
3
3
|
// Hand edits are overwritten on the next watch; this file is read-only.
|
|
4
4
|
|
|
5
|
-
export * as brand from "./src/brand";
|
|
6
|
-
export * as config from "./src/config";
|
|
7
|
-
export * as defaults from "./src/defaults";
|
|
8
|
-
export * as emailHtml from "./src/email-html";
|
|
9
|
-
export * as markdown from "./src/markdown";
|
|
10
|
-
export * as outbox from "./src/outbox";
|
|
11
|
-
export * as plugin from "./src/plugin";
|
|
12
|
-
export * as sender from "./src/sender";
|
|
13
|
-
export * as tool from "./src/tool";
|
|
14
|
-
export * as transport from "./src/transport";
|
|
15
|
-
export { emailBrandFromContext, defaultEmailBrand } from "./src/brand";
|
|
16
|
-
export type { EmailBrand } from "./src/brand";
|
|
17
|
-
export { DEFAULT_SMTP_PORT, IMPLICIT_TLS_SMTP_PORT, EMAIL_CONFIG_SCHEMA, resolveEmailConfig } from "./src/config";
|
|
18
|
-
export type { SenderPolicy, SmtpConfig, EmailPluginConfig, ResolvedSmtpConfig, ResolvedFileConfig, ResolvedEmailConfig } from "./src/config";
|
|
19
|
-
export { SEND_TIMEOUT_MS, VERIFY_TIMEOUT_MS, VERIFY_ATTEMPTS, MAX_ATTACHMENT_BYTES, MAX_ATTACHMENTS_TOTAL_BYTES, MAX_ATTACHMENT_COUNT, MAX_BODY_CHARS, EMAIL_SEND_SETTINGS, EMAIL_VERIFY_SETTINGS, EMAIL_SENDERS_SETTINGS } from "./src/defaults";
|
|
20
|
-
export type { EmailExecuteConfig, EmailExecutionSettings } from "./src/defaults";
|
|
21
|
-
export { escapeHtml, renderEmailHtml } from "./src/email-html";
|
|
22
|
-
export type { EmailHtmlOptions } from "./src/email-html";
|
|
23
|
-
export { normalizeMarkdown, markdownToHtml } from "./src/markdown";
|
|
24
|
-
export { writeOutboxEmail } from "./src/outbox";
|
|
25
|
-
export { EmailPlugin, email } from "./src/plugin";
|
|
26
|
-
export { deriveSenderAddress, parseAllowedSenders, isSenderAllowed, assertSenderAllowed, resolveSenderAddress, listSenderOptions } from "./src/sender";
|
|
27
|
-
export { SEND_EMAIL_DESCRIPTION, emailTool } from "./src/tool";
|
|
28
|
-
export type { EmailToolOptions } from "./src/tool";
|
|
29
|
-
export { getEmailRuntime, setEmailExecutor, resetEmailRuntime, executeWrite, verifyEmailTransport, sendEmail } from "./src/transport";
|
|
30
|
-
export type { EmailExecutor, EmailRuntime } from "./src/transport";
|
|
5
|
+
export * as brand from "./src/brand.ts";
|
|
6
|
+
export * as config from "./src/config.ts";
|
|
7
|
+
export * as defaults from "./src/defaults.ts";
|
|
8
|
+
export * as emailHtml from "./src/email-html.ts";
|
|
9
|
+
export * as markdown from "./src/markdown.ts";
|
|
10
|
+
export * as outbox from "./src/outbox.ts";
|
|
11
|
+
export * as plugin from "./src/plugin.ts";
|
|
12
|
+
export * as sender from "./src/sender.ts";
|
|
13
|
+
export * as tool from "./src/tool.ts";
|
|
14
|
+
export * as transport from "./src/transport.ts";
|
|
15
|
+
export { emailBrandFromContext, defaultEmailBrand } from "./src/brand.ts";
|
|
16
|
+
export type { EmailBrand } from "./src/brand.ts";
|
|
17
|
+
export { DEFAULT_SMTP_PORT, IMPLICIT_TLS_SMTP_PORT, EMAIL_CONFIG_SCHEMA, resolveEmailConfig } from "./src/config.ts";
|
|
18
|
+
export type { SenderPolicy, SmtpConfig, EmailPluginConfig, ResolvedSmtpConfig, ResolvedFileConfig, ResolvedEmailConfig } from "./src/config.ts";
|
|
19
|
+
export { SEND_TIMEOUT_MS, VERIFY_TIMEOUT_MS, VERIFY_ATTEMPTS, MAX_ATTACHMENT_BYTES, MAX_ATTACHMENTS_TOTAL_BYTES, MAX_ATTACHMENT_COUNT, MAX_BODY_CHARS, EMAIL_SEND_SETTINGS, EMAIL_VERIFY_SETTINGS, EMAIL_SENDERS_SETTINGS } from "./src/defaults.ts";
|
|
20
|
+
export type { EmailExecuteConfig, EmailExecutionSettings } from "./src/defaults.ts";
|
|
21
|
+
export { escapeHtml, renderEmailHtml } from "./src/email-html.ts";
|
|
22
|
+
export type { EmailHtmlOptions } from "./src/email-html.ts";
|
|
23
|
+
export { normalizeMarkdown, markdownToHtml } from "./src/markdown.ts";
|
|
24
|
+
export { writeOutboxEmail } from "./src/outbox.ts";
|
|
25
|
+
export { EmailPlugin, email } from "./src/plugin.ts";
|
|
26
|
+
export { deriveSenderAddress, parseAllowedSenders, isSenderAllowed, assertSenderAllowed, resolveSenderAddress, listSenderOptions } from "./src/sender.ts";
|
|
27
|
+
export { SEND_EMAIL_DESCRIPTION, emailTool } from "./src/tool.ts";
|
|
28
|
+
export type { EmailToolOptions } from "./src/tool.ts";
|
|
29
|
+
export { getEmailRuntime, setEmailExecutor, resetEmailRuntime, executeWrite, verifyEmailTransport, sendEmail } from "./src/transport.ts";
|
|
30
|
+
export type { EmailExecutor, EmailRuntime } from "./src/transport.ts";
|
package/lib/index.d.ts
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
export * as brand from "./src/brand.
|
|
2
|
-
export * as config from "./src/config.
|
|
3
|
-
export * as defaults from "./src/defaults.
|
|
4
|
-
export * as emailHtml from "./src/email-html.
|
|
5
|
-
export * as markdown from "./src/markdown.
|
|
6
|
-
export * as outbox from "./src/outbox.
|
|
7
|
-
export * as plugin from "./src/plugin.
|
|
8
|
-
export * as sender from "./src/sender.
|
|
9
|
-
export * as tool from "./src/tool.
|
|
10
|
-
export * as transport from "./src/transport.
|
|
11
|
-
export { emailBrandFromContext, defaultEmailBrand } from "./src/brand.
|
|
12
|
-
export type { EmailBrand } from "./src/brand.
|
|
13
|
-
export { DEFAULT_SMTP_PORT, IMPLICIT_TLS_SMTP_PORT, EMAIL_CONFIG_SCHEMA, resolveEmailConfig } from "./src/config.
|
|
14
|
-
export type { SenderPolicy, SmtpConfig, EmailPluginConfig, ResolvedSmtpConfig, ResolvedFileConfig, ResolvedEmailConfig } from "./src/config.
|
|
15
|
-
export { SEND_TIMEOUT_MS, VERIFY_TIMEOUT_MS, VERIFY_ATTEMPTS, MAX_ATTACHMENT_BYTES, MAX_ATTACHMENTS_TOTAL_BYTES, MAX_ATTACHMENT_COUNT, MAX_BODY_CHARS, EMAIL_SEND_SETTINGS, EMAIL_VERIFY_SETTINGS, EMAIL_SENDERS_SETTINGS } from "./src/defaults.
|
|
16
|
-
export type { EmailExecuteConfig, EmailExecutionSettings } from "./src/defaults.
|
|
17
|
-
export { escapeHtml, renderEmailHtml } from "./src/email-html.
|
|
18
|
-
export type { EmailHtmlOptions } from "./src/email-html.
|
|
19
|
-
export { normalizeMarkdown, markdownToHtml } from "./src/markdown.
|
|
20
|
-
export { writeOutboxEmail } from "./src/outbox.
|
|
21
|
-
export { EmailPlugin, email } from "./src/plugin.
|
|
22
|
-
export { deriveSenderAddress, parseAllowedSenders, isSenderAllowed, assertSenderAllowed, resolveSenderAddress, listSenderOptions } from "./src/sender.
|
|
23
|
-
export { SEND_EMAIL_DESCRIPTION, emailTool } from "./src/tool.
|
|
24
|
-
export type { EmailToolOptions } from "./src/tool.
|
|
25
|
-
export { getEmailRuntime, setEmailExecutor, resetEmailRuntime, executeWrite, verifyEmailTransport, sendEmail } from "./src/transport.
|
|
26
|
-
export type { EmailExecutor, EmailRuntime } from "./src/transport.
|
|
1
|
+
export * as brand from "./src/brand.ts";
|
|
2
|
+
export * as config from "./src/config.ts";
|
|
3
|
+
export * as defaults from "./src/defaults.ts";
|
|
4
|
+
export * as emailHtml from "./src/email-html.ts";
|
|
5
|
+
export * as markdown from "./src/markdown.ts";
|
|
6
|
+
export * as outbox from "./src/outbox.ts";
|
|
7
|
+
export * as plugin from "./src/plugin.ts";
|
|
8
|
+
export * as sender from "./src/sender.ts";
|
|
9
|
+
export * as tool from "./src/tool.ts";
|
|
10
|
+
export * as transport from "./src/transport.ts";
|
|
11
|
+
export { emailBrandFromContext, defaultEmailBrand } from "./src/brand.ts";
|
|
12
|
+
export type { EmailBrand } from "./src/brand.ts";
|
|
13
|
+
export { DEFAULT_SMTP_PORT, IMPLICIT_TLS_SMTP_PORT, EMAIL_CONFIG_SCHEMA, resolveEmailConfig } from "./src/config.ts";
|
|
14
|
+
export type { SenderPolicy, SmtpConfig, EmailPluginConfig, ResolvedSmtpConfig, ResolvedFileConfig, ResolvedEmailConfig } from "./src/config.ts";
|
|
15
|
+
export { SEND_TIMEOUT_MS, VERIFY_TIMEOUT_MS, VERIFY_ATTEMPTS, MAX_ATTACHMENT_BYTES, MAX_ATTACHMENTS_TOTAL_BYTES, MAX_ATTACHMENT_COUNT, MAX_BODY_CHARS, EMAIL_SEND_SETTINGS, EMAIL_VERIFY_SETTINGS, EMAIL_SENDERS_SETTINGS } from "./src/defaults.ts";
|
|
16
|
+
export type { EmailExecuteConfig, EmailExecutionSettings } from "./src/defaults.ts";
|
|
17
|
+
export { escapeHtml, renderEmailHtml } from "./src/email-html.ts";
|
|
18
|
+
export type { EmailHtmlOptions } from "./src/email-html.ts";
|
|
19
|
+
export { normalizeMarkdown, markdownToHtml } from "./src/markdown.ts";
|
|
20
|
+
export { writeOutboxEmail } from "./src/outbox.ts";
|
|
21
|
+
export { EmailPlugin, email } from "./src/plugin.ts";
|
|
22
|
+
export { deriveSenderAddress, parseAllowedSenders, isSenderAllowed, assertSenderAllowed, resolveSenderAddress, listSenderOptions } from "./src/sender.ts";
|
|
23
|
+
export { SEND_EMAIL_DESCRIPTION, emailTool } from "./src/tool.ts";
|
|
24
|
+
export type { EmailToolOptions } from "./src/tool.ts";
|
|
25
|
+
export { getEmailRuntime, setEmailExecutor, resetEmailRuntime, executeWrite, verifyEmailTransport, sendEmail } from "./src/transport.ts";
|
|
26
|
+
export type { EmailExecutor, EmailRuntime } from "./src/transport.ts";
|
package/lib/index.js
CHANGED
|
@@ -21,4 +21,4 @@ export { EmailPlugin, email } from "./src/plugin.js";
|
|
|
21
21
|
export { deriveSenderAddress, parseAllowedSenders, isSenderAllowed, assertSenderAllowed, resolveSenderAddress, listSenderOptions } from "./src/sender.js";
|
|
22
22
|
export { SEND_EMAIL_DESCRIPTION, emailTool } from "./src/tool.js";
|
|
23
23
|
export { getEmailRuntime, setEmailExecutor, resetEmailRuntime, executeWrite, verifyEmailTransport, sendEmail } from "./src/transport.js";
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxPQUFPLEtBQUssS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxNQUFNLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxLQUFLLFFBQVEsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEtBQUssU0FBUyxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxRQUFRLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEtBQUssTUFBTSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxNQUFNLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxLQUFLLElBQUksTUFBTSxlQUFlLENBQUM7QUFDdEMsT0FBTyxLQUFLLFNBQVMsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVySCxPQUFPLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSwyQkFBMkIsRUFBRSxvQkFBb0IsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVyUCxPQUFPLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxSixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gR0VORVJBVEVEIGJ5IHByb2plbiB3YXRjaCAtIERPIE5PVCBFRElULlxuLy8gUmVnZW5lcmF0ZWQgZnJvbSB0aGUgZXhwb3J0aW5nIG1vZHVsZXMgaW4gLi9zcmMuXG4vLyBIYW5kIGVkaXRzIGFyZSBvdmVyd3JpdHRlbiBvbiB0aGUgbmV4dCB3YXRjaDsgdGhpcyBmaWxlIGlzIHJlYWQtb25seS5cblxuZXhwb3J0ICogYXMgYnJhbmQgZnJvbSBcIi4vc3JjL2JyYW5kLnRzXCI7XG5leHBvcnQgKiBhcyBjb25maWcgZnJvbSBcIi4vc3JjL2NvbmZpZy50c1wiO1xuZXhwb3J0ICogYXMgZGVmYXVsdHMgZnJvbSBcIi4vc3JjL2RlZmF1bHRzLnRzXCI7XG5leHBvcnQgKiBhcyBlbWFpbEh0bWwgZnJvbSBcIi4vc3JjL2VtYWlsLWh0bWwudHNcIjtcbmV4cG9ydCAqIGFzIG1hcmtkb3duIGZyb20gXCIuL3NyYy9tYXJrZG93bi50c1wiO1xuZXhwb3J0ICogYXMgb3V0Ym94IGZyb20gXCIuL3NyYy9vdXRib3gudHNcIjtcbmV4cG9ydCAqIGFzIHBsdWdpbiBmcm9tIFwiLi9zcmMvcGx1Z2luLnRzXCI7XG5leHBvcnQgKiBhcyBzZW5kZXIgZnJvbSBcIi4vc3JjL3NlbmRlci50c1wiO1xuZXhwb3J0ICogYXMgdG9vbCBmcm9tIFwiLi9zcmMvdG9vbC50c1wiO1xuZXhwb3J0ICogYXMgdHJhbnNwb3J0IGZyb20gXCIuL3NyYy90cmFuc3BvcnQudHNcIjtcbmV4cG9ydCB7IGVtYWlsQnJhbmRGcm9tQ29udGV4dCwgZGVmYXVsdEVtYWlsQnJhbmQgfSBmcm9tIFwiLi9zcmMvYnJhbmQudHNcIjtcbmV4cG9ydCB0eXBlIHsgRW1haWxCcmFuZCB9IGZyb20gXCIuL3NyYy9icmFuZC50c1wiO1xuZXhwb3J0IHsgREVGQVVMVF9TTVRQX1BPUlQsIElNUExJQ0lUX1RMU19TTVRQX1BPUlQsIEVNQUlMX0NPTkZJR19TQ0hFTUEsIHJlc29sdmVFbWFpbENvbmZpZyB9IGZyb20gXCIuL3NyYy9jb25maWcudHNcIjtcbmV4cG9ydCB0eXBlIHsgU2VuZGVyUG9saWN5LCBTbXRwQ29uZmlnLCBFbWFpbFBsdWdpbkNvbmZpZywgUmVzb2x2ZWRTbXRwQ29uZmlnLCBSZXNvbHZlZEZpbGVDb25maWcsIFJlc29sdmVkRW1haWxDb25maWcgfSBmcm9tIFwiLi9zcmMvY29uZmlnLnRzXCI7XG5leHBvcnQgeyBTRU5EX1RJTUVPVVRfTVMsIFZFUklGWV9USU1FT1VUX01TLCBWRVJJRllfQVRURU1QVFMsIE1BWF9BVFRBQ0hNRU5UX0JZVEVTLCBNQVhfQVRUQUNITUVOVFNfVE9UQUxfQllURVMsIE1BWF9BVFRBQ0hNRU5UX0NPVU5ULCBNQVhfQk9EWV9DSEFSUywgRU1BSUxfU0VORF9TRVRUSU5HUywgRU1BSUxfVkVSSUZZX1NFVFRJTkdTLCBFTUFJTF9TRU5ERVJTX1NFVFRJTkdTIH0gZnJvbSBcIi4vc3JjL2RlZmF1bHRzLnRzXCI7XG5leHBvcnQgdHlwZSB7IEVtYWlsRXhlY3V0ZUNvbmZpZywgRW1haWxFeGVjdXRpb25TZXR0aW5ncyB9IGZyb20gXCIuL3NyYy9kZWZhdWx0cy50c1wiO1xuZXhwb3J0IHsgZXNjYXBlSHRtbCwgcmVuZGVyRW1haWxIdG1sIH0gZnJvbSBcIi4vc3JjL2VtYWlsLWh0bWwudHNcIjtcbmV4cG9ydCB0eXBlIHsgRW1haWxIdG1sT3B0aW9ucyB9IGZyb20gXCIuL3NyYy9lbWFpbC1odG1sLnRzXCI7XG5leHBvcnQgeyBub3JtYWxpemVNYXJrZG93biwgbWFya2Rvd25Ub0h0bWwgfSBmcm9tIFwiLi9zcmMvbWFya2Rvd24udHNcIjtcbmV4cG9ydCB7IHdyaXRlT3V0Ym94RW1haWwgfSBmcm9tIFwiLi9zcmMvb3V0Ym94LnRzXCI7XG5leHBvcnQgeyBFbWFpbFBsdWdpbiwgZW1haWwgfSBmcm9tIFwiLi9zcmMvcGx1Z2luLnRzXCI7XG5leHBvcnQgeyBkZXJpdmVTZW5kZXJBZGRyZXNzLCBwYXJzZUFsbG93ZWRTZW5kZXJzLCBpc1NlbmRlckFsbG93ZWQsIGFzc2VydFNlbmRlckFsbG93ZWQsIHJlc29sdmVTZW5kZXJBZGRyZXNzLCBsaXN0U2VuZGVyT3B0aW9ucyB9IGZyb20gXCIuL3NyYy9zZW5kZXIudHNcIjtcbmV4cG9ydCB7IFNFTkRfRU1BSUxfREVTQ1JJUFRJT04sIGVtYWlsVG9vbCB9IGZyb20gXCIuL3NyYy90b29sLnRzXCI7XG5leHBvcnQgdHlwZSB7IEVtYWlsVG9vbE9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvdG9vbC50c1wiO1xuZXhwb3J0IHsgZ2V0RW1haWxSdW50aW1lLCBzZXRFbWFpbEV4ZWN1dG9yLCByZXNldEVtYWlsUnVudGltZSwgZXhlY3V0ZVdyaXRlLCB2ZXJpZnlFbWFpbFRyYW5zcG9ydCwgc2VuZEVtYWlsIH0gZnJvbSBcIi4vc3JjL3RyYW5zcG9ydC50c1wiO1xuZXhwb3J0IHR5cGUgeyBFbWFpbEV4ZWN1dG9yLCBFbWFpbFJ1bnRpbWUgfSBmcm9tIFwiLi9zcmMvdHJhbnNwb3J0LnRzXCI7XG4iXX0=
|
package/lib/src/config.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type BasePluginConfig } from "@databricks/appkit";
|
|
2
2
|
import type { JSONSchema7 } from "json-schema";
|
|
3
|
-
import type { EmailBrand } from "./brand.
|
|
3
|
+
import type { EmailBrand } from "./brand.ts";
|
|
4
4
|
/** SMTP submission port used when none is configured. */
|
|
5
5
|
export declare const DEFAULT_SMTP_PORT = 587;
|
|
6
6
|
/** SMTP port that implies a TLS-on-connect socket rather than STARTTLS. */
|
package/lib/src/config.js
CHANGED
|
@@ -209,4 +209,4 @@ export function resolveEmailConfig(config = {}) {
|
|
|
209
209
|
const outDir = resolve(config.outDir ?? process.env.EMAIL_OUTBOX_DIR ?? resolve(process.cwd(), "tmp"));
|
|
210
210
|
return { mode: "file", outDir, ...sender };
|
|
211
211
|
}
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JHO0FBQ0gsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUF5QixNQUFNLG9CQUFvQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUdoRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFL0MseURBQXlEO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQztBQUVyQywyRUFBMkU7QUFDM0UsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsR0FBRyxDQUFDO0FBd0gxQywrREFBK0Q7QUFDL0QsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQWdCO0lBQzlDLElBQUksRUFBRSxRQUFRO0lBQ2QsVUFBVSxFQUFFO1FBQ1YsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7WUFDZCxXQUFXLEVBQUUsMERBQTBEO1lBQ3ZFLFVBQVUsRUFBRTtnQkFDVixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxtQ0FBbUMsRUFBRTtnQkFDMUUsSUFBSSxFQUFFO29CQUNKLElBQUksRUFBRSxRQUFRO29CQUNkLFdBQVcsRUFBRSw2Q0FBNkMsaUJBQWlCLEdBQUc7aUJBQy9FO2dCQUNELE1BQU0sRUFBRTtvQkFDTixJQUFJLEVBQUUsU0FBUztvQkFDZixXQUFXLEVBQUUsNkRBQTZELHNCQUFzQixHQUFHO2lCQUNwRztnQkFDRCxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxpQ0FBaUMsRUFBRTtnQkFDeEUsUUFBUSxFQUFFO29CQUNSLElB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bmZpZ3VyYXRpb24gZm9yIHRoZSBlbWFpbCBwbHVnaW46IHRoZSB0eXBlZFxuICoge0BsaW5rIEVtYWlsUGx1Z2luQ29uZmlnfSAodGhlIHBsdWdpbidzIHNsaWNlIG9mIEFwcEtpdCBjb25maWcpLCB0aGVcbiAqIEpTT04gU2NoZW1hIHRoZSBtYW5pZmVzdCBwdWJsaXNoZXMgZm9yIGl0LCBhbmQge0BsaW5rIHJlc29sdmVFbWFpbENvbmZpZ31cbiAqIHdoaWNoIGxheWVycyB0aGF0IGNvbmZpZyBvdmVyIGVudmlyb25tZW50IGRlZmF1bHRzIGludG8gdGhlIGNvbmNyZXRlXG4gKiB7QGxpbmsgUmVzb2x2ZWRFbWFpbENvbmZpZ30gdGhlIHJ1bnRpbWUgbmVlZHMuXG4gKlxuICogVHdvIG1vZGVzIGZhbGwgb3V0IG9mIHRoZSByZXNvbHV0aW9uLiBXaGVuIFNNVFAgY3JlZGVudGlhbHMgKGhvc3QgK1xuICogdXNlciArIHBhc3N3b3JkKSBhcmUgYWxsIHByZXNlbnQgaXQgcmVzb2x2ZXMgdG8gYG1vZGU6IFwic210cFwiYCBhbmRcbiAqIG1haWwgaXMgc2VudCBmb3IgcmVhbC4gV2hlbiB0aGV5IGFyZSBhYnNlbnQgYW5kIGBFTUFJTF9PVVRCT1hfTU9ERWBcbiAqIGlzIGV4cGxpY2l0bHkgZW5hYmxlZCBpdCByZXNvbHZlcyB0byBgbW9kZTogXCJmaWxlXCJgIChhbiBcIm91dGJveFwiKVxuICogYW5kIGVhY2ggbWVzc2FnZSBpcyB3cml0dGVuIHRvIGRpc2sgYXMgSFRNTCBpbnN0ZWFkIG9mIHNlbnQuIEFueVxuICogcGFydGlhbCBTTVRQIGNvbmZpZ3VyYXRpb24gb3IgYSBzZW5kIGF0dGVtcHQgd2l0aCBubyBjcmVkZW50aWFscyBhbmRcbiAqIG5vIG91dGJveCBvcHQtaW4gdGhyb3dzLlxuICpcbiAqIFByZWNlZGVuY2UgcGVyIGZpZWxkOiBleHBsaWNpdCBwbHVnaW4gY29uZmlnIHdpbnMsIHRoZW4gdGhlIG1hdGNoaW5nXG4gKiBlbnZpcm9ubWVudCB2YXJpYWJsZS4gRW52IG5hbWVzIGFyZSB1bnByZWZpeGVkIGJlY2F1c2UgdGhlIGFwcCB0YWxrc1xuICogdG8gYSBzaW5nbGUgU01UUCBzZXJ2ZXIgKGUuZy4gU01UUDJHTyk6IGBTTVRQX0hPU1RgLCBgU01UUF9QT1JUYCxcbiAqIGBTTVRQX1NFQ1VSRWAsIGBTTVRQX1VTRVJgLCBgU01UUF9QQVNTV09SRGAsIHBsdXMgYEVNQUlMX0RPTUFJTmAgZm9yXG4gKiB0aGUgZGVyaXZlZCBzZW5kZXIncyBkb21haW4sIGBFTUFJTF9GUk9NYCBmb3IgYW4gZXhwbGljaXQgb3ZlcnJpZGUsXG4gKiBgRU1BSUxfU0VOREVSX1BPTElDWWAgZm9yIHRoZSBzZW5kZXIgcmVzdHJpY3Rpb24gbW9kZSwgYW5kXG4gKiBgRU1BSUxfT1VUQk9YX0RJUmAgZm9yIHRoZSBvdXRib3ggZGlyZWN0b3J5LlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuaW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25FcnJvciwgVmFsaWRhdGlvbkVycm9yLCB0eXBlIEJhc2VQbHVnaW5Db25maWcgfSBmcm9tIFwiQGRhdGFicmlja3MvYXBwa2l0XCI7XG5pbXBvcnQgeyBvYmplY3QgfSBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtY29yZVwiO1xuaW1wb3J0IHR5cGUgeyBKU09OU2NoZW1hNyB9IGZyb20gXCJqc29uLXNjaGVtYVwiO1xuaW1wb3J0IHR5cGUgeyBFbWFpbEJyYW5kIH0gZnJvbSBcIi4vYnJhbmRcIjtcbmltcG9ydCB7IHBhcnNlQWxsb3dlZFNlbmRlcnMgfSBmcm9tIFwiLi9zZW5kZXJcIjtcblxuLyoqIFNNVFAgc3VibWlzc2lvbiBwb3J0IHVzZWQgd2hlbiBub25lIGlzIGNvbmZpZ3VyZWQuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9TTVRQX1BPUlQgPSA1ODc7XG5cbi8qKiBTTVRQIHBvcnQgdGhhdCBpbXBsaWVzIGEgVExTLW9uLWNvbm5lY3Qgc29ja2V0IHJhdGhlciB0aGFuIFNUQVJUVExTLiAqL1xuZXhwb3J0IGNvbnN0IElNUExJQ0lUX1RMU19TTVRQX1BPUlQgPSA0NjU7XG5cbi8qKlxuICogSG93IHRoZSBzZW5kZXIgKGBGcm9tYCkgYWRkcmVzcyBpcyByZXN0cmljdGVkLlxuICpcbiAqIGBcImFsbG93bGlzdFwiYCBpcyB0aGUgZGVmYXVsdCBhbmQgdGhlIGRlbnktYnktZGVmYXVsdCBwb3N0dXJlOiBhIHNlbmQgaXNcbiAqIHBlcm1pdHRlZCBvbmx5IGZyb20gYW4gYWRkcmVzcyB0aGUgY29uZmlndXJhdGlvbiBuYW1lcywgZWl0aGVyIHRocm91Z2hcbiAqIHtAbGluayBFbWFpbFBsdWdpbkNvbmZpZy5hbGxvd2VkU2VuZGVyc30gb3IsIHdoZW4gdGhhdCBpcyBlbXB0eSwgdGhyb3VnaFxuICogdGhlIGNvbmZpZ3VyZWQgc2VuZGVyIHNvdXJjZSAoe0BsaW5rIEVtYWlsUGx1Z2luQ29uZmlnLmZyb219IGFzIGFuIGV4YWN0XG4gKiBhZGRyZXNzLCB7QGxpbmsgRW1haWxQbHVnaW5Db25maWcuZG9tYWlufSBhcyBhIGAqQGRvbWFpbmAgd2lsZGNhcmQpLlxuICpcbiAqIGBcInVucmVzdHJpY3RlZFwiYCBpcyB0aGUgZXhwbGljaXQgb3B0LW91dDogYW55IGBGcm9tYCBhIGNhbGxlciBzdXBwbGllcyBpc1xuICogYWNjZXB0ZWQuIE9ubHkgcmVhY2ggZm9yIGl0IHdoZW4gYW4gdXBzdHJlYW0gc3lzdGVtIGFscmVhZHkgdmV0cyB0aGVcbiAqIHNlbmRlci5cbiAqL1xuZXhwb3J0IHR5cGUgU2VuZGVyUG9saWN5ID0gXCJhbGxvd2xpc3RcIiB8IFwidW5yZXN0cmljdGVkXCI7XG5cbi8qKiBTTVRQIGNvbm5lY3Rpb24gKyBjcmVkZW50aWFscy4gQWxsIGZpZWxkcyBmYWxsIGJhY2sgdG8gZW52IHdoZW4gdW5zZXQuICovXG5leHBvcnQgaW50ZXJmYWNlIFNtdHBDb25maWcge1xuICAvKiogU01UUCBzZXJ2ZXIgaG9zdG5hbWUgKGBTTVRQX0hPU1RgKS4gKi9cbiAgaG9zdD86IHN0cmluZztcbiAgLyoqIFNNVFAgc2VydmVyIHBvcnQgKGBTTVRQX1BPUlRgKS4gRGVmYXVsdHMgdG8ge0BsaW5rIERFRkFVTFRfU01UUF9QT1JUfS4gKi9cbiAgcG9ydD86IG51bWJlcjtcbiAgLyoqXG4gICAqIFVzZSBhIFRMUy1vbi1jb25uZWN0IHNvY2tldCAoYFNNVFBfU0VDVVJFYCkuIERlZmF1bHRzIHRvXG4gICAqIGBwb3J0ID09PSBgIHtAbGluayBJTVBMSUNJVF9UTFNfU01UUF9QT1JUfS5cbiAgICovXG4gIHNlY3VyZT86IGJvb2xlYW47XG4gIC8qKiBTTVRQIGF1dGggdXNlcm5hbWUgKGBTTVRQX1VTRVJgKS4gKi9cbiAgdXNlcj86IHN0cmluZztcbiAgLyoqIFNNVFAgYXV0aCBwYXNzd29yZCAvIEFQSSBrZXkgKGBTTVRQX1BBU1NXT1JEYCkuICovXG4gIHBhc3N3b3JkPzogc3RyaW5nO1xufVxuXG4vKiogQXBwS2l0IGNvbmZpZyBhY2NlcHRlZCBieSB0aGUgZW1haWwgcGx1Z2luLiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbWFpbFBsdWdpbkNvbmZpZyBleHRlbmRzIEJhc2VQbHVnaW5Db25maWcge1xuICAvKiogU01UUCBjb25uZWN0aW9uICsgY3JlZGVudGlhbHMuIE9taXQgdG8gcnVuIGluIGZpbGUvb3V0Ym94IG1vZGUuICovXG4gIHNtdHA/OiBTbXRwQ29uZmlnO1xuICAvKipcbiAgICogRG9tYWluIHVzZWQgdG8gYnVpbGQgdGhlIHNlbmRlciBhZGRyZXNzIGZyb20gdGhlIG9uLWJlaGFsZi1vZiB1c2VyXG4gICAqIChgPGxvY2FsLXBhcnQ+QDxkb21haW4+YCkuIEZhbGxzIGJhY2sgdG8gYEVNQUlMX0RPTUFJTmAuIFJlcXVpcmVkIGluXG4gICAqIFNNVFAgbW9kZSB1bmxlc3Mge0BsaW5rIGZyb219IGlzIHNldDsgb3B0aW9uYWwgaW4gZmlsZSBtb2RlICh0aGVcbiAgICogb3V0Ym94IGZhbGxzIGJhY2sgdG8gdGhlIHVzZXIncyBvd24gZW1haWwgYWRkcmVzcykuXG4gICAqL1xuICBkb21haW4/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFeHBsaWNpdCBgRnJvbWAgYWRkcmVzcy4gV2hlbiBzZXQsIHRoZSBzZW5kZXIgaXMgdXNlZCB2ZXJiYXRpbSBhbmRcbiAgICogdGhlIHBlci11c2VyIGRlcml2YXRpb24gaXMgc2tpcHBlZC4gRmFsbHMgYmFjayB0byBgRU1BSUxfRlJPTWAuXG4gICAqL1xuICBmcm9tPzogc3RyaW5nO1xuICAvKipcbiAgICogRGlyZWN0b3J5IGZvciB0aGUgZmlsZS9vdXRib3ggZmFsbGJhY2suIEZhbGxzIGJhY2sgdG9cbiAgICogYEVNQUlMX09VVEJPWF9ESVJgLCB0aGVuIGA8Y3dkPi90bXBgLiBPbmx5IHVzZWQgd2hlbiBTTVRQXG4gICAqIGNyZWRlbnRpYWxzIGFyZSBhYnNlbnQuXG4gICAqL1xuICBvdXREaXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbGxvdy1saXN0IHJlc3RyaWN0aW5nIHRoZSBzZW5kZXIgKGBGcm9tYCkgYWRkcmVzcy4gRWFjaCBlbnRyeSBpcyBhblxuICAgKiBleGFjdCBhZGRyZXNzIChgdXNlckBkb21haW4uY29tYCksIGEgZG9tYWluIHdpbGRjYXJkIChgKkBkb21haW4uY29tYFxuICAgKiBvciB0aGUgYmFyZSBgZG9tYWluLmNvbWAsIG1hdGNoaW5nIGFueSBsb2NhbCBwYXJ0IG9uIHRoYXQgZG9tYWluKSwgb3JcbiAgICogYCpgIChhbnkpLiBBIHJlc29sdmVkIC8gY2hvc2VuIHNlbmRlciB0aGF0IG1hdGNoZXMgbm8gZW50cnkgaXNcbiAgICogcmVqZWN0ZWQgYXQgc2VuZCB0aW1lLiBBY2NlcHRzIGEgYHN0cmluZ1tdYCBvciBhIHNpbmdsZSBjb21tYS0gL1xuICAgKiB3aGl0ZXNwYWNlLXNlcGFyYXRlZCBzdHJpbmc7IGZhbGxzIGJhY2sgdG8gYEVNQUlMX0FMTE9XRURfU0VOREVSU2AuXG4gICAqIFdoZW4gZW1wdHksIHRoZSB7QGxpbmsgc2VuZGVyUG9saWN5fSBkZWNpZGVzIHdoYXQgaXMgcGVybWl0dGVkLlxuICAgKi9cbiAgYWxsb3dlZFNlbmRlcnM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIEhvdyB0aGUgc2VuZGVyIGFkZHJlc3MgaXMgcmVzdHJpY3RlZCB3aGVuIHtAbGluayBhbGxvd2VkU2VuZGVyc30gaXNcbiAgICogZW1wdHkgKGBFTUFJTF9TRU5ERVJfUE9MSUNZYCkuIERlZmF1bHRzIHRvIGBcImFsbG93bGlzdFwiYCwgd2hpY2hcbiAgICogbmFycm93cyBzZW5kcyB0byB0aGUgY29uZmlndXJlZCBzZW5kZXIgc291cmNlLiBTZWVcbiAgICoge0BsaW5rIFNlbmRlclBvbGljeX0uXG4gICAqL1xuICBzZW5kZXJQb2xpY3k/OiBTZW5kZXJQb2xpY3k7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBicmFuZCBzdHlsaW5nIChhY2NlbnQsIGZvbnQsIGhlYWRlciBsb2dvKSBhcHBsaWVkIHRvIHRoZVxuICAgKiByZW5kZXJlZCBIVE1MIG9mIGV2ZXJ5IG1lc3NhZ2UuIE9taXQgZm9yIHRoZSBuZXV0cmFsIGRlZmF1bHQgbGF5b3V0LlxuICAgKiBQYXNzIHtAbGluayBlbWFpbEJyYW5kRnJvbUNvbnRleHR9IHRvIGRlcml2ZSBpdCBmcm9tIGEgc2hhcmVkXG4gICAqIGBCcmFuZENvbnRleHRgLlxuICAgKi9cbiAgYnJhbmQ/OiBFbWFpbEJyYW5kO1xufVxuXG4vKiogQ29uZmlnIHNoYXJlZCBieSBib3RoIHJlc29sdmVkIG1vZGVzLiAqL1xuaW50ZXJmYWNlIFJlc29sdmVkU2VuZGVyIHtcbiAgLyoqIFNlbmRlciBkb21haW47IHByZXNlbnQgd2hlbmV2ZXIge0BsaW5rIGZyb219IGlzIGFic2VudC4gKi9cbiAgZG9tYWluPzogc3RyaW5nO1xuICAvKiogRXhwbGljaXQgc2VuZGVyIG92ZXJyaWRlOyBwcmVzZW50IHNraXBzIHBlci11c2VyIGRlcml2YXRpb24uICovXG4gIGZyb20/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFZmZlY3RpdmUgc2VuZGVyIGFsbG93LWxpc3Q6IHRoZSBjb25maWd1cmVkIHBhdHRlcm5zIHdoZW4gYW55IHdlcmVcbiAgICogZ2l2ZW4sIGVsc2UgdGhlIHBhdHRlcm5zIGltcGxpZWQgYnkgdGhlIHNlbmRlciBzb3VyY2UgdW5kZXIgYW5cbiAgICogYFwiYWxsb3dsaXN0XCJgIHBvbGljeS4gRW1wdHkgbWVhbnMgdW5lbmZvcmNlYWJsZSAoYW4gYFwidW5yZXN0cmljdGVkXCJgXG4gICAqIHBvbGljeSwgb3IgYW4gb3V0Ym94IHdpdGggbm8gc2VuZGVyIHNvdXJjZSB0byBuYXJyb3cgdG8pLlxuICAgKi9cbiAgYWxsb3dlZFNlbmRlcnM6IHN0cmluZ1tdO1xuICAvKiogVGhlIHJlc3RyaWN0aW9uIG1vZGUgdGhlIGFsbG93LWxpc3Qgd2FzIHJlc29sdmVkIHVuZGVyLiAqL1xuICBzZW5kZXJQb2xpY3k6IFNlbmRlclBvbGljeTtcbiAgLyoqIEJyYW5kIHN0eWxpbmcgYXBwbGllZCB0byByZW5kZXJlZCBIVE1MOyBhYnNlbnQgZm9yIHRoZSBkZWZhdWx0IGxheW91dC4gKi9cbiAgYnJhbmQ/OiBFbWFpbEJyYW5kO1xufVxuXG4vKiogUmVzb2x2ZWQgY29uZmlnIGZvciByZWFsIFNNVFAgZGVsaXZlcnkuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVkU210cENvbmZpZyBleHRlbmRzIFJlc29sdmVkU2VuZGVyIHtcbiAgbW9kZTogXCJzbXRwXCI7XG4gIGhvc3Q6IHN0cmluZztcbiAgcG9ydDogbnVtYmVyO1xuICBzZWN1cmU6IGJvb2xlYW47XG4gIGF1dGg6IHsgdXNlcjogc3RyaW5nOyBwYXNzOiBzdHJpbmcgfTtcbn1cblxuLyoqIFJlc29sdmVkIGNvbmZpZyBmb3IgdGhlIGZpbGUvb3V0Ym94IGZhbGxiYWNrIChubyBTTVRQIGNyZWRlbnRpYWxzKS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZWRGaWxlQ29uZmlnIGV4dGVuZHMgUmVzb2x2ZWRTZW5kZXIge1xuICBtb2RlOiBcImZpbGVcIjtcbiAgLyoqIEFic29sdXRlIGRpcmVjdG9yeSBtZXNzYWdlcyBhcmUgd3JpdHRlbiB1bmRlci4gKi9cbiAgb3V0RGlyOiBzdHJpbmc7XG59XG5cbi8qKiBDb25jcmV0ZSwgdmFsaWRhdGVkIGNvbmZpZyB0aGUgcnVudGltZSBkaXNwYXRjaGVzIHRocm91Z2guICovXG5leHBvcnQgdHlwZSBSZXNvbHZlZEVtYWlsQ29uZmlnID0gUmVzb2x2ZWRTbXRwQ29uZmlnIHwgUmVzb2x2ZWRGaWxlQ29uZmlnO1xuXG4vKiogSlNPTiBTY2hlbWEgcHVibGlzaGVkIG9uIHRoZSBtYW5pZmVzdCdzIGBjb25maWcuc2NoZW1hYC4gKi9cbmV4cG9ydCBjb25zdCBFTUFJTF9DT05GSUdfU0NIRU1BOiBKU09OU2NoZW1hNyA9IHtcbiAgdHlwZTogXCJvYmplY3RcIixcbiAgcHJvcGVydGllczoge1xuICAgIHNtdHA6IHtcbiAgICAgIHR5cGU6IFwib2JqZWN0XCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJTTVRQIGNvbm5lY3Rpb24gYW5kIGNyZWRlbnRpYWxzIChlbnYgZmFsbGJhY2tzOiBTTVRQXyopLlwiLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBob3N0OiB7IHR5cGU6IFwic3RyaW5nXCIsIGRlc2NyaXB0aW9uOiBcIlNNVFAgc2VydmVyIGhvc3RuYW1lIChTTVRQX0hPU1QpLlwiIH0sXG4gICAgICAgIHBvcnQ6IHtcbiAgICAgICAgICB0eXBlOiBcIm51bWJlclwiLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBgU01UUCBzZXJ2ZXIgcG9ydCAoU01UUF9QT1JUKS4gRGVmYXVsdHMgdG8gJHtERUZBVUxUX1NNVFBfUE9SVH0uYCxcbiAgICAgICAgfSxcbiAgICAgICAgc2VjdXJlOiB7XG4gICAgICAgICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgICAgICAgZGVzY3JpcHRpb246IGBUTFMtb24tY29ubmVjdCBzb2NrZXQgKFNNVFBfU0VDVVJFKS4gRGVmYXVsdHMgdG8gcG9ydCA9PT0gJHtJTVBMSUNJVF9UTFNfU01UUF9QT1JUfS5gLFxuICAgICAgICB9LFxuICAgICAgICB1c2VyOiB7IHR5cGU6IFwic3RyaW5nXCIsIGRlc2NyaXB0aW9uOiBcIlNNVFAgYXV0aCB1c2VybmFtZSAoU01UUF9VU0VSKS5cIiB9LFxuICAgICAgICBwYXNzd29yZDoge1xuICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgZGVzY3JpcHRpb246IFwiU01UUCBhdXRoIHBhc3N3b3JkIC8gQVBJIGtleSAoU01UUF9QQVNTV09SRCkuXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgZG9tYWluOiB7XG4gICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiRG9tYWluIGZvciB0aGUgZGVyaXZlZCBzZW5kZXIgYWRkcmVzcyAoPHVzZXItbG9jYWwtcGFydD5APGRvbWFpbj4pLiBGYWxscyBiYWNrIHRvIEVNQUlMX0RPTUFJTi5cIixcbiAgICB9LFxuICAgIGZyb206IHtcbiAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJFeHBsaWNpdCBGcm9tIGFkZHJlc3M7IHNraXBzIHBlci11c2VyIGRlcml2YXRpb24uIEZhbGxzIGJhY2sgdG8gRU1BSUxfRlJPTS5cIixcbiAgICB9LFxuICAgIG91dERpcjoge1xuICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIkRpcmVjdG9yeSBmb3IgdGhlIGZpbGUvb3V0Ym94IGZhbGxiYWNrIHdoZW4gU01UUCBpcyB1bmNvbmZpZ3VyZWQuIEZhbGxzIGJhY2sgdG8gRU1BSUxfT1VUQk9YX0RJUiwgdGhlbiA8Y3dkPi90bXAuXCIsXG4gICAgfSxcbiAgICBhbGxvd2VkU2VuZGVyczoge1xuICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgaXRlbXM6IHsgdHlwZTogXCJzdHJpbmdcIiB9LFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdBbGxvdy1saXN0IG9mIHBlcm1pdHRlZCBzZW5kZXIgKEZyb20pIHBhdHRlcm5zOiBleGFjdCBhZGRyZXNzZXMgKFwidXNlckBkb21haW4uY29tXCIpLCBkb21haW4gd2lsZGNhcmRzIChcIipAZG9tYWluLmNvbVwiKSwgb3IgXCIqXCIuIEFsc28gYWNjZXB0cyBhIGNvbW1hL3NwYWNlLXNlcGFyYXRlZCBzdHJpbmcuIEZhbGxzIGJhY2sgdG8gRU1BSUxfQUxMT1dFRF9TRU5ERVJTLiBXaGVuIGVtcHR5LCBzZW5kZXJQb2xpY3kgZGVjaWRlcy4nLFxuICAgIH0sXG4gICAgc2VuZGVyUG9saWN5OiB7XG4gICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgZW51bTogW1wiYWxsb3dsaXN0XCIsIFwidW5yZXN0cmljdGVkXCJdLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdIb3cgdGhlIHNlbmRlciBpcyByZXN0cmljdGVkIHdoZW4gYWxsb3dlZFNlbmRlcnMgaXMgZW1wdHkgKEVNQUlMX1NFTkRFUl9QT0xJQ1kpLiBcImFsbG93bGlzdFwiIChkZWZhdWx0KSBuYXJyb3dzIHNlbmRzIHRvIHRoZSBjb25maWd1cmVkIHNlbmRlciBzb3VyY2U7IFwidW5yZXN0cmljdGVkXCIgYWNjZXB0cyBhbnkgRnJvbS4nLFxuICAgIH0sXG4gICAgYnJhbmQ6IHtcbiAgICAgIHR5cGU6IFwib2JqZWN0XCIsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJCcmFuZCBzdHlsaW5nIGlubGluZWQgaW50byBldmVyeSByZW5kZXJlZCBtZXNzYWdlLiBPbWl0IGZvciB0aGUgbmV1dHJhbCBkZWZhdWx0IGxheW91dC5cIixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgYWNjZW50OiB7XG4gICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ0hlYWRlci1iYW5kIGJhY2tncm91bmQgYW5kIGJvZHkgbGluayBjb2xvciAoZS5nLiBcIiNGRjM2MjFcIikuJyxcbiAgICAgICAgfSxcbiAgICAgICAgb25BY2NlbnQ6IHtcbiAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRleHQgYW5kIGxvZ28gY29sb3IgcmVuZGVyZWQgb24gdGhlIGFjY2VudCBiYW5kLiBEZWZhdWx0cyB0byB3aGl0ZS5cIixcbiAgICAgICAgfSxcbiAgICAgICAgZm9udEZhbWlseToge1xuICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgZGVzY3JpcHRpb246ICdCb2R5IGZvbnQgc3RhY2sgKGUuZy4gXCJJbnRlciwgdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmXCIpLicsXG4gICAgICAgIH0sXG4gICAgICAgIG5hbWU6IHtcbiAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlByb2R1Y3QgLyBkaXNwbGF5IG5hbWUgdXNlZCBhcyB0aGUgaGVhZGVyIHRleHQgYW5kIHRoZSBsb2dvIGFsdCB0ZXh0LlwiLFxuICAgICAgICB9LFxuICAgICAgICBsb2dvVXJsOiB7XG4gICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgIFwiTG9nbyBpbWFnZSBmb3IgdGhlIGhlYWRlciBiYW5kLiBPbmx5IGFuIGh0dHAocyk6IG9yIGRhdGE6IFVSTCByZW5kZXJzOyBvdGhlciB2YWx1ZXMgYXJlIGRyb3BwZWQgYmVjYXVzZSBhIG1haWwgY2xpZW50IGNhbm5vdCBsb2FkIHRoZW0uXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcmVxdWlyZWQ6IFtcImFjY2VudFwiLCBcImZvbnRGYW1pbHlcIl0sXG4gICAgfSxcbiAgfSxcbn07XG5cbi8qKiBQYXJzZSB0aGUgYFNNVFBfU0VDVVJFYCBlbnYgLyBjb25maWcgZmxhZywgZGVmYXVsdGluZyBieSBwb3J0LiAqL1xuZnVuY3Rpb24gcmVzb2x2ZVNlY3VyZShmbGFnOiBib29sZWFuIHwgdW5kZWZpbmVkLCBwb3J0OiBudW1iZXIpOiBib29sZWFuIHtcbiAgaWYgKHR5cGVvZiBmbGFnID09PSBcImJvb2xlYW5cIikgcmV0dXJuIGZsYWc7XG4gIHJldHVybiBvYmplY3QudG9Cb29sZWFuKHByb2Nlc3MuZW52LlNNVFBfU0VDVVJFKSA/PyBwb3J0ID09PSBJTVBMSUNJVF9UTFNfU01UUF9QT1JUO1xufVxuXG4vKiogUGFyc2UgdGhlIGBFTUFJTF9TRU5ERVJfUE9MSUNZYCBlbnYgLyBjb25maWcgdmFsdWUsIGRlZmF1bHRpbmcgdG8gZGVueS1ieS1kZWZhdWx0LiAqL1xuZnVuY3Rpb24gcmVzb2x2ZVNlbmRlclBvbGljeShwb2xpY3k6IFNlbmRlclBvbGljeSB8IHVuZGVmaW5lZCk6IFNlbmRlclBvbGljeSB7XG4gIGNvbnN0IHJhdyA9IHBvbGljeSA/PyBwcm9jZXNzLmVudi5FTUFJTF9TRU5ERVJfUE9MSUNZPy50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgaWYgKHJhdyA9PT0gXCJ1bnJlc3RyaWN0ZWRcIikgcmV0dXJuIFwidW5yZXN0cmljdGVkXCI7XG4gIGlmIChyYXcgPT09IHVuZGVmaW5lZCB8fCByYXcgPT09IFwiXCIgfHwgcmF3ID09PSBcImFsbG93bGlzdFwiKSByZXR1cm4gXCJhbGxvd2xpc3RcIjtcbiAgdGhyb3cgVmFsaWRhdGlvbkVycm9yLmludmFsaWRWYWx1ZShcInNlbmRlclBvbGljeVwiLCByYXcsICdcImFsbG93bGlzdFwiIG9yIFwidW5yZXN0cmljdGVkXCInKTtcbn1cblxuLyoqXG4gKiBFZmZlY3RpdmUgYWxsb3ctbGlzdCBmb3IgYW4gYFwiYWxsb3dsaXN0XCJgIHBvbGljeSB3aXRoIG5vIGV4cGxpY2l0IHBhdHRlcm5zOlxuICogdGhlIHNlbmRlciBzb3VyY2UgaXRzZWxmLCBzbyBhIGNvbmZpZ3VyZWQgZG9tYWluIG9yIGZpeGVkIGFkZHJlc3MgaXMgdGhlXG4gKiBib3VuZGFyeSByYXRoZXIgdGhhbiBcImFueXRoaW5nIGdvZXNcIi4gWWllbGRzIG5vdGhpbmcgd2hlbiBuZWl0aGVyIGlzIHNldCxcbiAqIHdoaWNoIG9ubHkgaGFwcGVucyBpbiBvdXRib3ggbW9kZSAod2hlcmUgdGhlIHNlbmRlciBmYWxscyBiYWNrIHRvIHRoZVxuICogb24tYmVoYWxmLW9mIHVzZXIncyBvd24gYWRkcmVzcyBhbmQgY2Fubm90IGJlIGVudW1lcmF0ZWQgdXAgZnJvbnQpLlxuICovXG5mdW5jdGlvbiBpbXBsaWVkU2VuZGVyUGF0dGVybnMoZG9tYWluOiBzdHJpbmcgfCB1bmRlZmluZWQsIGZyb206IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZ1tdIHtcbiAgY29uc3QgcGF0dGVybnM6IHN0cmluZ1tdID0gW107XG4gIGlmIChmcm9tKSBwYXR0ZXJucy5wdXNoKGZyb20udHJpbSgpLnRvTG93ZXJDYXNlKCkpO1xuICBpZiAoZG9tYWluKSBwYXR0ZXJucy5wdXNoKGAqQCR7ZG9tYWluLnRyaW0oKS50b0xvd2VyQ2FzZSgpfWApO1xuICByZXR1cm4gcGF0dGVybnM7XG59XG5cbi8qKiBXaGV0aGVyIGBFTUFJTF9PVVRCT1hfTU9ERWAgZXhwbGljaXRseSBvcHRzIGludG8gdGhlIGZpbGUvb3V0Ym94IGZhbGxiYWNrLiAqL1xuZnVuY3Rpb24gaXNPdXRib3hNb2RlRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgcmV0dXJuIG9iamVjdC50b0Jvb2xlYW4ocHJvY2Vzcy5lbnYuRU1BSUxfT1VUQk9YX01PREUpID8/IGZhbHNlO1xufVxuXG5jb25zdCBTTVRQX1JFUVVJUkVEX0ZJRUxEUyA9IFtcIlNNVFBfSE9TVFwiLCBcIlNNVFBfVVNFUlwiLCBcIlNNVFBfUEFTU1dPUkRcIl0gYXMgY29uc3Q7XG5cbi8qKiBMaXN0IGVudiBrZXlzIGZvciBTTVRQIGZpZWxkcyB0aGF0IGFyZSB1bnNldCBpbiB0aGUgcmVzb2x2ZWQgY3JlZGVudGlhbCBzZXQuICovXG5mdW5jdGlvbiBtaXNzaW5nU210cEZpZWxkcyhcbiAgaG9zdDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICB1c2VyOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIHBhc3M6IHN0cmluZyB8IHVuZGVmaW5lZCxcbik6IHN0cmluZ1tdIHtcbiAgY29uc3QgdmFsdWVzID0gW2hvc3QsIHVzZXIsIHBhc3NdIGFzIGNvbnN0O1xuICByZXR1cm4gU01UUF9SRVFVSVJFRF9GSUVMRFMuZmlsdGVyKChfLCBpbmRleCkgPT4gIXZhbHVlc1tpbmRleF0pO1xufVxuXG4vKipcbiAqIFJlc29sdmUgcGx1Z2luIGNvbmZpZyBvdmVyIGVudmlyb25tZW50IGRlZmF1bHRzLlxuICpcbiAqIFdoZW4gU01UUCBob3N0ICsgdXNlciArIHBhc3N3b3JkIGFyZSBhbGwgcHJlc2VudCwgcmV0dXJucyBgbW9kZTpcbiAqIFwic210cFwiYCBmb3IgcmVhbCBkZWxpdmVyeSAoYW5kIHRocm93cyBpZiBubyBzZW5kZXIgc291cmNlIC0gZG9tYWluIG9yXG4gKiBmcm9tIC0gaXMgY29uZmlndXJlZCwgc2luY2UgU01UUCBjYW4ndCBkZXJpdmUgb25lIGZyb20gbm90aGluZykuXG4gKiBXaGVuIGFsbCB0aHJlZSBhcmUgYWJzZW50IGFuZCBgRU1BSUxfT1VUQk9YX01PREVgIGlzIGVuYWJsZWQsIHJldHVybnNcbiAqIGBtb2RlOiBcImZpbGVcImAgc28gdGhlIHJ1bnRpbWUgd3JpdGVzIG1lc3NhZ2VzIHRvIHRoZSBvdXRib3ggZGlyZWN0b3J5XG4gKiBmb3IgbG9jYWwgdGVzdGluZzsgaW4gdGhhdCBtb2RlIGEgc2VuZGVyIHNvdXJjZSBpcyBvcHRpb25hbCAodGhlXG4gKiBvdXRib3ggZmFsbHMgYmFjayB0byB0aGUgT0JPIHVzZXIncyBvd24gYWRkcmVzcykuIFBhcnRpYWwgU01UUFxuICogY29uZmlndXJhdGlvbiBvciBhIHNlbmQgd2l0aCBubyBjcmVkZW50aWFscyBhbmQgbm8gb3V0Ym94IG9wdC1pblxuICogdGhyb3dzLlxuICpcbiAqIFRoZSBzZW5kZXIgYWxsb3ctbGlzdCBpcyByZXNvbHZlZCBoZXJlIHRvbzogdW5kZXIgdGhlIGRlZmF1bHRcbiAqIGBcImFsbG93bGlzdFwiYCBwb2xpY3kgYW4gZW1wdHkgbGlzdCBpcyBmaWxsZWQgaW4gZnJvbSB0aGUgc2VuZGVyIHNvdXJjZSxcbiAqIHNvIGEgZGVwbG95bWVudCB0aGF0IG9ubHkgc2V0cyBgRU1BSUxfRE9NQUlOYCBzdGlsbCByZWplY3RzIGEgYEZyb21gIG9uXG4gKiBhbnkgb3RoZXIgZG9tYWluLiBTZWUge0BsaW5rIFNlbmRlclBvbGljeX0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlRW1haWxDb25maWcoY29uZmlnOiBFbWFpbFBsdWdpbkNvbmZpZyA9IHt9KTogUmVzb2x2ZWRFbWFpbENvbmZpZyB7XG4gIGNvbnN0IHNtdHAgPSBjb25maWcuc210cCA/PyB7fTtcbiAgY29uc3QgaG9zdCA9IHNtdHAuaG9zdCA/PyBwcm9jZXNzLmVudi5TTVRQX0hPU1Q7XG4gIGNvbnN0IHVzZXIgPSBzbXRwLnVzZXIgPz8gcHJvY2Vzcy5lbnYuU01UUF9VU0VSO1xuICBjb25zdCBwYXNzID0gc210cC5wYXNzd29yZCA/PyBwcm9jZXNzLmVudi5TTVRQX1BBU1NXT1JEO1xuICBjb25zdCBkb21haW4gPSBjb25maWcuZG9tYWluID8/IHByb2Nlc3MuZW52LkVNQUlMX0RPTUFJTjtcbiAgY29uc3QgZnJvbSA9IGNvbmZpZy5mcm9tID8/IHByb2Nlc3MuZW52LkVNQUlMX0ZST007XG4gIGNvbnN0IHNlbmRlclBvbGljeSA9IHJlc29sdmVTZW5kZXJQb2xpY3koY29uZmlnLnNlbmRlclBvbGljeSk7XG4gIGNvbnN0IGNvbmZpZ3VyZWRTZW5kZXJzID0gcGFyc2VBbGxvd2VkU2VuZGVycyhcbiAgICBjb25maWcuYWxsb3dlZFNlbmRlcnMgPz8gcHJvY2Vzcy5lbnYuRU1BSUxfQUxMT1dFRF9TRU5ERVJTLFxuICApO1xuICBjb25zdCBhbGxvd2VkU2VuZGVycyA9XG4gICAgY29uZmlndXJlZFNlbmRlcnMubGVuZ3RoID4gMCB8fCBzZW5kZXJQb2xpY3kgPT09IFwidW5yZXN0cmljdGVkXCJcbiAgICAgID8gY29uZmlndXJlZFNlbmRlcnNcbiAgICAgIDogaW1wbGllZFNlbmRlclBhdHRlcm5zKGRvbWFpbiwgZnJvbSk7XG4gIGNvbnN0IHNlbmRlcjogUmVzb2x2ZWRTZW5kZXIgPSB7XG4gICAgLi4uKGRvbWFpbiA/IHsgZG9tYWluIH0gOiB7fSksXG4gICAgLi4uKGZyb20gPyB7IGZyb20gfSA6IHt9KSxcbiAgICBhbGxvd2VkU2VuZGVycyxcbiAgICBzZW5kZXJQb2xpY3ksXG4gICAgLi4uKGNvbmZpZy5icmFuZCA/IHsgYnJhbmQ6IGNvbmZpZy5icmFuZCB9IDoge30pLFxuICB9O1xuXG4gIGNvbnN0IGhhc0FsbFNtdHAgPSBCb29sZWFuKGhvc3QgJiYgdXNlciAmJiBwYXNzKTtcbiAgY29uc3QgaGFzQW55U210cCA9IEJvb2xlYW4oaG9zdCB8fCB1c2VyIHx8IHBhc3MpO1xuXG4gIGlmIChoYXNBbnlTbXRwICYmICFoYXNBbGxTbXRwKSB7XG4gICAgdGhyb3cgVmFsaWRhdGlvbkVycm9yLm1pc3NpbmdFbnZWYXJzKG1pc3NpbmdTbXRwRmllbGRzKGhvc3QsIHVzZXIsIHBhc3MpKTtcbiAgfVxuXG4gIGlmIChoYXNBbGxTbXRwKSB7XG4gICAgaWYgKCFkb21haW4gJiYgIWZyb20pIHtcbiAgICAgIHRocm93IENvbmZpZ3VyYXRpb25FcnJvci5yZXNvdXJjZU5vdEZvdW5kKFxuICAgICAgICBcIkVtYWlsIHNlbmRlciBzb3VyY2VcIixcbiAgICAgICAgXCJTZXQgRU1BSUxfRE9NQUlOIHRvIGRlcml2ZSA8dXNlci1sb2NhbC1wYXJ0PkA8ZG9tYWluPiwgb3IgRU1BSUxfRlJPTSBmb3IgYSBmaXhlZCBhZGRyZXNzLlwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3QgcG9ydFJhdyA9IHNtdHAucG9ydCA/PyBOdW1iZXIocHJvY2Vzcy5lbnYuU01UUF9QT1JUKTtcbiAgICBjb25zdCBwb3J0ID0gTnVtYmVyLmlzRmluaXRlKHBvcnRSYXcpICYmIHBvcnRSYXcgPyBOdW1iZXIocG9ydFJhdykgOiBERUZBVUxUX1NNVFBfUE9SVDtcbiAgICByZXR1cm4ge1xuICAgICAgbW9kZTogXCJzbXRwXCIsXG4gICAgICBob3N0OiBob3N0ISxcbiAgICAgIHBvcnQsXG4gICAgICBzZWN1cmU6IHJlc29sdmVTZWN1cmUoc210cC5zZWN1cmUsIHBvcnQpLFxuICAgICAgYXV0aDogeyB1c2VyOiB1c2VyISwgcGFzczogcGFzcyEgfSxcbiAgICAgIC4uLnNlbmRlcixcbiAgICB9O1xuICB9XG5cbiAgaWYgKCFpc091dGJveE1vZGVFbmFibGVkKCkpIHtcbiAgICB0aHJvdyBDb25maWd1cmF0aW9uRXJyb3IuaW52YWxpZENvbm5lY3Rpb24oXG4gICAgICBcIlNNVFBcIixcbiAgICAgIGBTZXQgJHtTTVRQX1JFUVVJUkVEX0ZJRUxEUy5qb2luKFwiLCBcIil9LCBvciBFTUFJTF9PVVRCT1hfTU9ERT0xIHRvIHdyaXRlIG1lc3NhZ2VzIHRvIGEgbG9jYWwgb3V0Ym94IGluc3RlYWQuYCxcbiAgICApO1xuICB9XG5cbiAgY29uc3Qgb3V0RGlyID0gcmVzb2x2ZShcbiAgICBjb25maWcub3V0RGlyID8/IHByb2Nlc3MuZW52LkVNQUlMX09VVEJPWF9ESVIgPz8gcmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBcInRtcFwiKSxcbiAgKTtcbiAgcmV0dXJuIHsgbW9kZTogXCJmaWxlXCIsIG91dERpciwgLi4uc2VuZGVyIH07XG59XG4iXX0=
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JHO0FBQ0gsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUF5QixNQUFNLG9CQUFvQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUdoRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEQseURBQXlEO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQztBQUVyQywyRUFBMkU7QUFDM0UsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsR0FBRyxDQUFDO0FBd0gxQywrREFBK0Q7QUFDL0QsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQWdCO0lBQzlDLElBQUksRUFBRSxRQUFRO0lBQ2QsVUFBVSxFQUFFO1FBQ1YsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLFFBQVE7WUFDZCxXQUFXLEVBQUUsMERBQTBEO1lBQ3ZFLFVBQVUsRUFBRTtnQkFDVixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxtQ0FBbUMsRUFBRTtnQkFDMUUsSUFBSSxFQUFFO29CQUNKLElBQUksRUFBRSxRQUFRO29CQUNkLFdBQVcsRUFBRSw2Q0FBNkMsaUJBQWlCLEdBQUc7aUJBQy9FO2dCQUNELE1BQU0sRUFBRTtvQkFDTixJQUFJLEVBQUUsU0FBUztvQkFDZixXQUFXLEVBQUUsNkRBQTZELHNCQUFzQixHQUFHO2lCQUNwRztnQkFDRCxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxpQ0FBaUMsRUFBRTtnQkFDeEUsUUFBUSxFQUFFO29CQUNSLElB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bmZpZ3VyYXRpb24gZm9yIHRoZSBlbWFpbCBwbHVnaW46IHRoZSB0eXBlZFxuICoge0BsaW5rIEVtYWlsUGx1Z2luQ29uZmlnfSAodGhlIHBsdWdpbidzIHNsaWNlIG9mIEFwcEtpdCBjb25maWcpLCB0aGVcbiAqIEpTT04gU2NoZW1hIHRoZSBtYW5pZmVzdCBwdWJsaXNoZXMgZm9yIGl0LCBhbmQge0BsaW5rIHJlc29sdmVFbWFpbENvbmZpZ31cbiAqIHdoaWNoIGxheWVycyB0aGF0IGNvbmZpZyBvdmVyIGVudmlyb25tZW50IGRlZmF1bHRzIGludG8gdGhlIGNvbmNyZXRlXG4gKiB7QGxpbmsgUmVzb2x2ZWRFbWFpbENvbmZpZ30gdGhlIHJ1bnRpbWUgbmVlZHMuXG4gKlxuICogVHdvIG1vZGVzIGZhbGwgb3V0IG9mIHRoZSByZXNvbHV0aW9uLiBXaGVuIFNNVFAgY3JlZGVudGlhbHMgKGhvc3QgK1xuICogdXNlciArIHBhc3N3b3JkKSBhcmUgYWxsIHByZXNlbnQgaXQgcmVzb2x2ZXMgdG8gYG1vZGU6IFwic210cFwiYCBhbmRcbiAqIG1haWwgaXMgc2VudCBmb3IgcmVhbC4gV2hlbiB0aGV5IGFyZSBhYnNlbnQgYW5kIGBFTUFJTF9PVVRCT1hfTU9ERWBcbiAqIGlzIGV4cGxpY2l0bHkgZW5hYmxlZCBpdCByZXNvbHZlcyB0byBgbW9kZTogXCJmaWxlXCJgIChhbiBcIm91dGJveFwiKVxuICogYW5kIGVhY2ggbWVzc2FnZSBpcyB3cml0dGVuIHRvIGRpc2sgYXMgSFRNTCBpbnN0ZWFkIG9mIHNlbnQuIEFueVxuICogcGFydGlhbCBTTVRQIGNvbmZpZ3VyYXRpb24gb3IgYSBzZW5kIGF0dGVtcHQgd2l0aCBubyBjcmVkZW50aWFscyBhbmRcbiAqIG5vIG91dGJveCBvcHQtaW4gdGhyb3dzLlxuICpcbiAqIFByZWNlZGVuY2UgcGVyIGZpZWxkOiBleHBsaWNpdCBwbHVnaW4gY29uZmlnIHdpbnMsIHRoZW4gdGhlIG1hdGNoaW5nXG4gKiBlbnZpcm9ubWVudCB2YXJpYWJsZS4gRW52IG5hbWVzIGFyZSB1bnByZWZpeGVkIGJlY2F1c2UgdGhlIGFwcCB0YWxrc1xuICogdG8gYSBzaW5nbGUgU01UUCBzZXJ2ZXIgKGUuZy4gU01UUDJHTyk6IGBTTVRQX0hPU1RgLCBgU01UUF9QT1JUYCxcbiAqIGBTTVRQX1NFQ1VSRWAsIGBTTVRQX1VTRVJgLCBgU01UUF9QQVNTV09SRGAsIHBsdXMgYEVNQUlMX0RPTUFJTmAgZm9yXG4gKiB0aGUgZGVyaXZlZCBzZW5kZXIncyBkb21haW4sIGBFTUFJTF9GUk9NYCBmb3IgYW4gZXhwbGljaXQgb3ZlcnJpZGUsXG4gKiBgRU1BSUxfU0VOREVSX1BPTElDWWAgZm9yIHRoZSBzZW5kZXIgcmVzdHJpY3Rpb24gbW9kZSwgYW5kXG4gKiBgRU1BSUxfT1VUQk9YX0RJUmAgZm9yIHRoZSBvdXRib3ggZGlyZWN0b3J5LlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuaW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25FcnJvciwgVmFsaWRhdGlvbkVycm9yLCB0eXBlIEJhc2VQbHVnaW5Db25maWcgfSBmcm9tIFwiQGRhdGFicmlja3MvYXBwa2l0XCI7XG5pbXBvcnQgeyBvYmplY3QgfSBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtY29yZVwiO1xuaW1wb3J0IHR5cGUgeyBKU09OU2NoZW1hNyB9IGZyb20gXCJqc29uLXNjaGVtYVwiO1xuaW1wb3J0IHR5cGUgeyBFbWFpbEJyYW5kIH0gZnJvbSBcIi4vYnJhbmQudHNcIjtcbmltcG9ydCB7IHBhcnNlQWxsb3dlZFNlbmRlcnMgfSBmcm9tIFwiLi9zZW5kZXIudHNcIjtcblxuLyoqIFNNVFAgc3VibWlzc2lvbiBwb3J0IHVzZWQgd2hlbiBub25lIGlzIGNvbmZpZ3VyZWQuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9TTVRQX1BPUlQgPSA1ODc7XG5cbi8qKiBTTVRQIHBvcnQgdGhhdCBpbXBsaWVzIGEgVExTLW9uLWNvbm5lY3Qgc29ja2V0IHJhdGhlciB0aGFuIFNUQVJUVExTLiAqL1xuZXhwb3J0IGNvbnN0IElNUExJQ0lUX1RMU19TTVRQX1BPUlQgPSA0NjU7XG5cbi8qKlxuICogSG93IHRoZSBzZW5kZXIgKGBGcm9tYCkgYWRkcmVzcyBpcyByZXN0cmljdGVkLlxuICpcbiAqIGBcImFsbG93bGlzdFwiYCBpcyB0aGUgZGVmYXVsdCBhbmQgdGhlIGRlbnktYnktZGVmYXVsdCBwb3N0dXJlOiBhIHNlbmQgaXNcbiAqIHBlcm1pdHRlZCBvbmx5IGZyb20gYW4gYWRkcmVzcyB0aGUgY29uZmlndXJhdGlvbiBuYW1lcywgZWl0aGVyIHRocm91Z2hcbiAqIHtAbGluayBFbWFpbFBsdWdpbkNvbmZpZy5hbGxvd2VkU2VuZGVyc30gb3IsIHdoZW4gdGhhdCBpcyBlbXB0eSwgdGhyb3VnaFxuICogdGhlIGNvbmZpZ3VyZWQgc2VuZGVyIHNvdXJjZSAoe0BsaW5rIEVtYWlsUGx1Z2luQ29uZmlnLmZyb219IGFzIGFuIGV4YWN0XG4gKiBhZGRyZXNzLCB7QGxpbmsgRW1haWxQbHVnaW5Db25maWcuZG9tYWlufSBhcyBhIGAqQGRvbWFpbmAgd2lsZGNhcmQpLlxuICpcbiAqIGBcInVucmVzdHJpY3RlZFwiYCBpcyB0aGUgZXhwbGljaXQgb3B0LW91dDogYW55IGBGcm9tYCBhIGNhbGxlciBzdXBwbGllcyBpc1xuICogYWNjZXB0ZWQuIE9ubHkgcmVhY2ggZm9yIGl0IHdoZW4gYW4gdXBzdHJlYW0gc3lzdGVtIGFscmVhZHkgdmV0cyB0aGVcbiAqIHNlbmRlci5cbiAqL1xuZXhwb3J0IHR5cGUgU2VuZGVyUG9saWN5ID0gXCJhbGxvd2xpc3RcIiB8IFwidW5yZXN0cmljdGVkXCI7XG5cbi8qKiBTTVRQIGNvbm5lY3Rpb24gKyBjcmVkZW50aWFscy4gQWxsIGZpZWxkcyBmYWxsIGJhY2sgdG8gZW52IHdoZW4gdW5zZXQuICovXG5leHBvcnQgaW50ZXJmYWNlIFNtdHBDb25maWcge1xuICAvKiogU01UUCBzZXJ2ZXIgaG9zdG5hbWUgKGBTTVRQX0hPU1RgKS4gKi9cbiAgaG9zdD86IHN0cmluZztcbiAgLyoqIFNNVFAgc2VydmVyIHBvcnQgKGBTTVRQX1BPUlRgKS4gRGVmYXVsdHMgdG8ge0BsaW5rIERFRkFVTFRfU01UUF9QT1JUfS4gKi9cbiAgcG9ydD86IG51bWJlcjtcbiAgLyoqXG4gICAqIFVzZSBhIFRMUy1vbi1jb25uZWN0IHNvY2tldCAoYFNNVFBfU0VDVVJFYCkuIERlZmF1bHRzIHRvXG4gICAqIGBwb3J0ID09PSBgIHtAbGluayBJTVBMSUNJVF9UTFNfU01UUF9QT1JUfS5cbiAgICovXG4gIHNlY3VyZT86IGJvb2xlYW47XG4gIC8qKiBTTVRQIGF1dGggdXNlcm5hbWUgKGBTTVRQX1VTRVJgKS4gKi9cbiAgdXNlcj86IHN0cmluZztcbiAgLyoqIFNNVFAgYXV0aCBwYXNzd29yZCAvIEFQSSBrZXkgKGBTTVRQX1BBU1NXT1JEYCkuICovXG4gIHBhc3N3b3JkPzogc3RyaW5nO1xufVxuXG4vKiogQXBwS2l0IGNvbmZpZyBhY2NlcHRlZCBieSB0aGUgZW1haWwgcGx1Z2luLiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbWFpbFBsdWdpbkNvbmZpZyBleHRlbmRzIEJhc2VQbHVnaW5Db25maWcge1xuICAvKiogU01UUCBjb25uZWN0aW9uICsgY3JlZGVudGlhbHMuIE9taXQgdG8gcnVuIGluIGZpbGUvb3V0Ym94IG1vZGUuICovXG4gIHNtdHA/OiBTbXRwQ29uZmlnO1xuICAvKipcbiAgICogRG9tYWluIHVzZWQgdG8gYnVpbGQgdGhlIHNlbmRlciBhZGRyZXNzIGZyb20gdGhlIG9uLWJlaGFsZi1vZiB1c2VyXG4gICAqIChgPGxvY2FsLXBhcnQ+QDxkb21haW4+YCkuIEZhbGxzIGJhY2sgdG8gYEVNQUlMX0RPTUFJTmAuIFJlcXVpcmVkIGluXG4gICAqIFNNVFAgbW9kZSB1bmxlc3Mge0BsaW5rIGZyb219IGlzIHNldDsgb3B0aW9uYWwgaW4gZmlsZSBtb2RlICh0aGVcbiAgICogb3V0Ym94IGZhbGxzIGJhY2sgdG8gdGhlIHVzZXIncyBvd24gZW1haWwgYWRkcmVzcykuXG4gICAqL1xuICBkb21haW4/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFeHBsaWNpdCBgRnJvbWAgYWRkcmVzcy4gV2hlbiBzZXQsIHRoZSBzZW5kZXIgaXMgdXNlZCB2ZXJiYXRpbSBhbmRcbiAgICogdGhlIHBlci11c2VyIGRlcml2YXRpb24gaXMgc2tpcHBlZC4gRmFsbHMgYmFjayB0byBgRU1BSUxfRlJPTWAuXG4gICAqL1xuICBmcm9tPzogc3RyaW5nO1xuICAvKipcbiAgICogRGlyZWN0b3J5IGZvciB0aGUgZmlsZS9vdXRib3ggZmFsbGJhY2suIEZhbGxzIGJhY2sgdG9cbiAgICogYEVNQUlMX09VVEJPWF9ESVJgLCB0aGVuIGA8Y3dkPi90bXBgLiBPbmx5IHVzZWQgd2hlbiBTTVRQXG4gICAqIGNyZWRlbnRpYWxzIGFyZSBhYnNlbnQuXG4gICAqL1xuICBvdXREaXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbGxvdy1saXN0IHJlc3RyaWN0aW5nIHRoZSBzZW5kZXIgKGBGcm9tYCkgYWRkcmVzcy4gRWFjaCBlbnRyeSBpcyBhblxuICAgKiBleGFjdCBhZGRyZXNzIChgdXNlckBkb21haW4uY29tYCksIGEgZG9tYWluIHdpbGRjYXJkIChgKkBkb21haW4uY29tYFxuICAgKiBvciB0aGUgYmFyZSBgZG9tYWluLmNvbWAsIG1hdGNoaW5nIGFueSBsb2NhbCBwYXJ0IG9uIHRoYXQgZG9tYWluKSwgb3JcbiAgICogYCpgIChhbnkpLiBBIHJlc29sdmVkIC8gY2hvc2VuIHNlbmRlciB0aGF0IG1hdGNoZXMgbm8gZW50cnkgaXNcbiAgICogcmVqZWN0ZWQgYXQgc2VuZCB0aW1lLiBBY2NlcHRzIGEgYHN0cmluZ1tdYCBvciBhIHNpbmdsZSBjb21tYS0gL1xuICAgKiB3aGl0ZXNwYWNlLXNlcGFyYXRlZCBzdHJpbmc7IGZhbGxzIGJhY2sgdG8gYEVNQUlMX0FMTE9XRURfU0VOREVSU2AuXG4gICAqIFdoZW4gZW1wdHksIHRoZSB7QGxpbmsgc2VuZGVyUG9saWN5fSBkZWNpZGVzIHdoYXQgaXMgcGVybWl0dGVkLlxuICAgKi9cbiAgYWxsb3dlZFNlbmRlcnM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIEhvdyB0aGUgc2VuZGVyIGFkZHJlc3MgaXMgcmVzdHJpY3RlZCB3aGVuIHtAbGluayBhbGxvd2VkU2VuZGVyc30gaXNcbiAgICogZW1wdHkgKGBFTUFJTF9TRU5ERVJfUE9MSUNZYCkuIERlZmF1bHRzIHRvIGBcImFsbG93bGlzdFwiYCwgd2hpY2hcbiAgICogbmFycm93cyBzZW5kcyB0byB0aGUgY29uZmlndXJlZCBzZW5kZXIgc291cmNlLiBTZWVcbiAgICoge0BsaW5rIFNlbmRlclBvbGljeX0uXG4gICAqL1xuICBzZW5kZXJQb2xpY3k/OiBTZW5kZXJQb2xpY3k7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBicmFuZCBzdHlsaW5nIChhY2NlbnQsIGZvbnQsIGhlYWRlciBsb2dvKSBhcHBsaWVkIHRvIHRoZVxuICAgKiByZW5kZXJlZCBIVE1MIG9mIGV2ZXJ5IG1lc3NhZ2UuIE9taXQgZm9yIHRoZSBuZXV0cmFsIGRlZmF1bHQgbGF5b3V0LlxuICAgKiBQYXNzIHtAbGluayBlbWFpbEJyYW5kRnJvbUNvbnRleHR9IHRvIGRlcml2ZSBpdCBmcm9tIGEgc2hhcmVkXG4gICAqIGBCcmFuZENvbnRleHRgLlxuICAgKi9cbiAgYnJhbmQ/OiBFbWFpbEJyYW5kO1xufVxuXG4vKiogQ29uZmlnIHNoYXJlZCBieSBib3RoIHJlc29sdmVkIG1vZGVzLiAqL1xuaW50ZXJmYWNlIFJlc29sdmVkU2VuZGVyIHtcbiAgLyoqIFNlbmRlciBkb21haW47IHByZXNlbnQgd2hlbmV2ZXIge0BsaW5rIGZyb219IGlzIGFic2VudC4gKi9cbiAgZG9tYWluPzogc3RyaW5nO1xuICAvKiogRXhwbGljaXQgc2VuZGVyIG92ZXJyaWRlOyBwcmVzZW50IHNraXBzIHBlci11c2VyIGRlcml2YXRpb24uICovXG4gIGZyb20/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFZmZlY3RpdmUgc2VuZGVyIGFsbG93LWxpc3Q6IHRoZSBjb25maWd1cmVkIHBhdHRlcm5zIHdoZW4gYW55IHdlcmVcbiAgICogZ2l2ZW4sIGVsc2UgdGhlIHBhdHRlcm5zIGltcGxpZWQgYnkgdGhlIHNlbmRlciBzb3VyY2UgdW5kZXIgYW5cbiAgICogYFwiYWxsb3dsaXN0XCJgIHBvbGljeS4gRW1wdHkgbWVhbnMgdW5lbmZvcmNlYWJsZSAoYW4gYFwidW5yZXN0cmljdGVkXCJgXG4gICAqIHBvbGljeSwgb3IgYW4gb3V0Ym94IHdpdGggbm8gc2VuZGVyIHNvdXJjZSB0byBuYXJyb3cgdG8pLlxuICAgKi9cbiAgYWxsb3dlZFNlbmRlcnM6IHN0cmluZ1tdO1xuICAvKiogVGhlIHJlc3RyaWN0aW9uIG1vZGUgdGhlIGFsbG93LWxpc3Qgd2FzIHJlc29sdmVkIHVuZGVyLiAqL1xuICBzZW5kZXJQb2xpY3k6IFNlbmRlclBvbGljeTtcbiAgLyoqIEJyYW5kIHN0eWxpbmcgYXBwbGllZCB0byByZW5kZXJlZCBIVE1MOyBhYnNlbnQgZm9yIHRoZSBkZWZhdWx0IGxheW91dC4gKi9cbiAgYnJhbmQ/OiBFbWFpbEJyYW5kO1xufVxuXG4vKiogUmVzb2x2ZWQgY29uZmlnIGZvciByZWFsIFNNVFAgZGVsaXZlcnkuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVkU210cENvbmZpZyBleHRlbmRzIFJlc29sdmVkU2VuZGVyIHtcbiAgbW9kZTogXCJzbXRwXCI7XG4gIGhvc3Q6IHN0cmluZztcbiAgcG9ydDogbnVtYmVyO1xuICBzZWN1cmU6IGJvb2xlYW47XG4gIGF1dGg6IHsgdXNlcjogc3RyaW5nOyBwYXNzOiBzdHJpbmcgfTtcbn1cblxuLyoqIFJlc29sdmVkIGNvbmZpZyBmb3IgdGhlIGZpbGUvb3V0Ym94IGZhbGxiYWNrIChubyBTTVRQIGNyZWRlbnRpYWxzKS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZWRGaWxlQ29uZmlnIGV4dGVuZHMgUmVzb2x2ZWRTZW5kZXIge1xuICBtb2RlOiBcImZpbGVcIjtcbiAgLyoqIEFic29sdXRlIGRpcmVjdG9yeSBtZXNzYWdlcyBhcmUgd3JpdHRlbiB1bmRlci4gKi9cbiAgb3V0RGlyOiBzdHJpbmc7XG59XG5cbi8qKiBDb25jcmV0ZSwgdmFsaWRhdGVkIGNvbmZpZyB0aGUgcnVudGltZSBkaXNwYXRjaGVzIHRocm91Z2guICovXG5leHBvcnQgdHlwZSBSZXNvbHZlZEVtYWlsQ29uZmlnID0gUmVzb2x2ZWRTbXRwQ29uZmlnIHwgUmVzb2x2ZWRGaWxlQ29uZmlnO1xuXG4vKiogSlNPTiBTY2hlbWEgcHVibGlzaGVkIG9uIHRoZSBtYW5pZmVzdCdzIGBjb25maWcuc2NoZW1hYC4gKi9cbmV4cG9ydCBjb25zdCBFTUFJTF9DT05GSUdfU0NIRU1BOiBKU09OU2NoZW1hNyA9IHtcbiAgdHlwZTogXCJvYmplY3RcIixcbiAgcHJvcGVydGllczoge1xuICAgIHNtdHA6IHtcbiAgICAgIHR5cGU6IFwib2JqZWN0XCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJTTVRQIGNvbm5lY3Rpb24gYW5kIGNyZWRlbnRpYWxzIChlbnYgZmFsbGJhY2tzOiBTTVRQXyopLlwiLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBob3N0OiB7IHR5cGU6IFwic3RyaW5nXCIsIGRlc2NyaXB0aW9uOiBcIlNNVFAgc2VydmVyIGhvc3RuYW1lIChTTVRQX0hPU1QpLlwiIH0sXG4gICAgICAgIHBvcnQ6IHtcbiAgICAgICAgICB0eXBlOiBcIm51bWJlclwiLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBgU01UUCBzZXJ2ZXIgcG9ydCAoU01UUF9QT1JUKS4gRGVmYXVsdHMgdG8gJHtERUZBVUxUX1NNVFBfUE9SVH0uYCxcbiAgICAgICAgfSxcbiAgICAgICAgc2VjdXJlOiB7XG4gICAgICAgICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgICAgICAgZGVzY3JpcHRpb246IGBUTFMtb24tY29ubmVjdCBzb2NrZXQgKFNNVFBfU0VDVVJFKS4gRGVmYXVsdHMgdG8gcG9ydCA9PT0gJHtJTVBMSUNJVF9UTFNfU01UUF9QT1JUfS5gLFxuICAgICAgICB9LFxuICAgICAgICB1c2VyOiB7IHR5cGU6IFwic3RyaW5nXCIsIGRlc2NyaXB0aW9uOiBcIlNNVFAgYXV0aCB1c2VybmFtZSAoU01UUF9VU0VSKS5cIiB9LFxuICAgICAgICBwYXNzd29yZDoge1xuICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgZGVzY3JpcHRpb246IFwiU01UUCBhdXRoIHBhc3N3b3JkIC8gQVBJIGtleSAoU01UUF9QQVNTV09SRCkuXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgZG9tYWluOiB7XG4gICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiRG9tYWluIGZvciB0aGUgZGVyaXZlZCBzZW5kZXIgYWRkcmVzcyAoPHVzZXItbG9jYWwtcGFydD5APGRvbWFpbj4pLiBGYWxscyBiYWNrIHRvIEVNQUlMX0RPTUFJTi5cIixcbiAgICB9LFxuICAgIGZyb206IHtcbiAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJFeHBsaWNpdCBGcm9tIGFkZHJlc3M7IHNraXBzIHBlci11c2VyIGRlcml2YXRpb24uIEZhbGxzIGJhY2sgdG8gRU1BSUxfRlJPTS5cIixcbiAgICB9LFxuICAgIG91dERpcjoge1xuICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIkRpcmVjdG9yeSBmb3IgdGhlIGZpbGUvb3V0Ym94IGZhbGxiYWNrIHdoZW4gU01UUCBpcyB1bmNvbmZpZ3VyZWQuIEZhbGxzIGJhY2sgdG8gRU1BSUxfT1VUQk9YX0RJUiwgdGhlbiA8Y3dkPi90bXAuXCIsXG4gICAgfSxcbiAgICBhbGxvd2VkU2VuZGVyczoge1xuICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgaXRlbXM6IHsgdHlwZTogXCJzdHJpbmdcIiB9LFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdBbGxvdy1saXN0IG9mIHBlcm1pdHRlZCBzZW5kZXIgKEZyb20pIHBhdHRlcm5zOiBleGFjdCBhZGRyZXNzZXMgKFwidXNlckBkb21haW4uY29tXCIpLCBkb21haW4gd2lsZGNhcmRzIChcIipAZG9tYWluLmNvbVwiKSwgb3IgXCIqXCIuIEFsc28gYWNjZXB0cyBhIGNvbW1hL3NwYWNlLXNlcGFyYXRlZCBzdHJpbmcuIEZhbGxzIGJhY2sgdG8gRU1BSUxfQUxMT1dFRF9TRU5ERVJTLiBXaGVuIGVtcHR5LCBzZW5kZXJQb2xpY3kgZGVjaWRlcy4nLFxuICAgIH0sXG4gICAgc2VuZGVyUG9saWN5OiB7XG4gICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgZW51bTogW1wiYWxsb3dsaXN0XCIsIFwidW5yZXN0cmljdGVkXCJdLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdIb3cgdGhlIHNlbmRlciBpcyByZXN0cmljdGVkIHdoZW4gYWxsb3dlZFNlbmRlcnMgaXMgZW1wdHkgKEVNQUlMX1NFTkRFUl9QT0xJQ1kpLiBcImFsbG93bGlzdFwiIChkZWZhdWx0KSBuYXJyb3dzIHNlbmRzIHRvIHRoZSBjb25maWd1cmVkIHNlbmRlciBzb3VyY2U7IFwidW5yZXN0cmljdGVkXCIgYWNjZXB0cyBhbnkgRnJvbS4nLFxuICAgIH0sXG4gICAgYnJhbmQ6IHtcbiAgICAgIHR5cGU6IFwib2JqZWN0XCIsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJCcmFuZCBzdHlsaW5nIGlubGluZWQgaW50byBldmVyeSByZW5kZXJlZCBtZXNzYWdlLiBPbWl0IGZvciB0aGUgbmV1dHJhbCBkZWZhdWx0IGxheW91dC5cIixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgYWNjZW50OiB7XG4gICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ0hlYWRlci1iYW5kIGJhY2tncm91bmQgYW5kIGJvZHkgbGluayBjb2xvciAoZS5nLiBcIiNGRjM2MjFcIikuJyxcbiAgICAgICAgfSxcbiAgICAgICAgb25BY2NlbnQ6IHtcbiAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRleHQgYW5kIGxvZ28gY29sb3IgcmVuZGVyZWQgb24gdGhlIGFjY2VudCBiYW5kLiBEZWZhdWx0cyB0byB3aGl0ZS5cIixcbiAgICAgICAgfSxcbiAgICAgICAgZm9udEZhbWlseToge1xuICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgZGVzY3JpcHRpb246ICdCb2R5IGZvbnQgc3RhY2sgKGUuZy4gXCJJbnRlciwgdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmXCIpLicsXG4gICAgICAgIH0sXG4gICAgICAgIG5hbWU6IHtcbiAgICAgICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlByb2R1Y3QgLyBkaXNwbGF5IG5hbWUgdXNlZCBhcyB0aGUgaGVhZGVyIHRleHQgYW5kIHRoZSBsb2dvIGFsdCB0ZXh0LlwiLFxuICAgICAgICB9LFxuICAgICAgICBsb2dvVXJsOiB7XG4gICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgIFwiTG9nbyBpbWFnZSBmb3IgdGhlIGhlYWRlciBiYW5kLiBPbmx5IGFuIGh0dHAocyk6IG9yIGRhdGE6IFVSTCByZW5kZXJzOyBvdGhlciB2YWx1ZXMgYXJlIGRyb3BwZWQgYmVjYXVzZSBhIG1haWwgY2xpZW50IGNhbm5vdCBsb2FkIHRoZW0uXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcmVxdWlyZWQ6IFtcImFjY2VudFwiLCBcImZvbnRGYW1pbHlcIl0sXG4gICAgfSxcbiAgfSxcbn07XG5cbi8qKiBQYXJzZSB0aGUgYFNNVFBfU0VDVVJFYCBlbnYgLyBjb25maWcgZmxhZywgZGVmYXVsdGluZyBieSBwb3J0LiAqL1xuZnVuY3Rpb24gcmVzb2x2ZVNlY3VyZShmbGFnOiBib29sZWFuIHwgdW5kZWZpbmVkLCBwb3J0OiBudW1iZXIpOiBib29sZWFuIHtcbiAgaWYgKHR5cGVvZiBmbGFnID09PSBcImJvb2xlYW5cIikgcmV0dXJuIGZsYWc7XG4gIHJldHVybiBvYmplY3QudG9Cb29sZWFuKHByb2Nlc3MuZW52LlNNVFBfU0VDVVJFKSA/PyBwb3J0ID09PSBJTVBMSUNJVF9UTFNfU01UUF9QT1JUO1xufVxuXG4vKiogUGFyc2UgdGhlIGBFTUFJTF9TRU5ERVJfUE9MSUNZYCBlbnYgLyBjb25maWcgdmFsdWUsIGRlZmF1bHRpbmcgdG8gZGVueS1ieS1kZWZhdWx0LiAqL1xuZnVuY3Rpb24gcmVzb2x2ZVNlbmRlclBvbGljeShwb2xpY3k6IFNlbmRlclBvbGljeSB8IHVuZGVmaW5lZCk6IFNlbmRlclBvbGljeSB7XG4gIGNvbnN0IHJhdyA9IHBvbGljeSA/PyBwcm9jZXNzLmVudi5FTUFJTF9TRU5ERVJfUE9MSUNZPy50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgaWYgKHJhdyA9PT0gXCJ1bnJlc3RyaWN0ZWRcIikgcmV0dXJuIFwidW5yZXN0cmljdGVkXCI7XG4gIGlmIChyYXcgPT09IHVuZGVmaW5lZCB8fCByYXcgPT09IFwiXCIgfHwgcmF3ID09PSBcImFsbG93bGlzdFwiKSByZXR1cm4gXCJhbGxvd2xpc3RcIjtcbiAgdGhyb3cgVmFsaWRhdGlvbkVycm9yLmludmFsaWRWYWx1ZShcInNlbmRlclBvbGljeVwiLCByYXcsICdcImFsbG93bGlzdFwiIG9yIFwidW5yZXN0cmljdGVkXCInKTtcbn1cblxuLyoqXG4gKiBFZmZlY3RpdmUgYWxsb3ctbGlzdCBmb3IgYW4gYFwiYWxsb3dsaXN0XCJgIHBvbGljeSB3aXRoIG5vIGV4cGxpY2l0IHBhdHRlcm5zOlxuICogdGhlIHNlbmRlciBzb3VyY2UgaXRzZWxmLCBzbyBhIGNvbmZpZ3VyZWQgZG9tYWluIG9yIGZpeGVkIGFkZHJlc3MgaXMgdGhlXG4gKiBib3VuZGFyeSByYXRoZXIgdGhhbiBcImFueXRoaW5nIGdvZXNcIi4gWWllbGRzIG5vdGhpbmcgd2hlbiBuZWl0aGVyIGlzIHNldCxcbiAqIHdoaWNoIG9ubHkgaGFwcGVucyBpbiBvdXRib3ggbW9kZSAod2hlcmUgdGhlIHNlbmRlciBmYWxscyBiYWNrIHRvIHRoZVxuICogb24tYmVoYWxmLW9mIHVzZXIncyBvd24gYWRkcmVzcyBhbmQgY2Fubm90IGJlIGVudW1lcmF0ZWQgdXAgZnJvbnQpLlxuICovXG5mdW5jdGlvbiBpbXBsaWVkU2VuZGVyUGF0dGVybnMoZG9tYWluOiBzdHJpbmcgfCB1bmRlZmluZWQsIGZyb206IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZ1tdIHtcbiAgY29uc3QgcGF0dGVybnM6IHN0cmluZ1tdID0gW107XG4gIGlmIChmcm9tKSBwYXR0ZXJucy5wdXNoKGZyb20udHJpbSgpLnRvTG93ZXJDYXNlKCkpO1xuICBpZiAoZG9tYWluKSBwYXR0ZXJucy5wdXNoKGAqQCR7ZG9tYWluLnRyaW0oKS50b0xvd2VyQ2FzZSgpfWApO1xuICByZXR1cm4gcGF0dGVybnM7XG59XG5cbi8qKiBXaGV0aGVyIGBFTUFJTF9PVVRCT1hfTU9ERWAgZXhwbGljaXRseSBvcHRzIGludG8gdGhlIGZpbGUvb3V0Ym94IGZhbGxiYWNrLiAqL1xuZnVuY3Rpb24gaXNPdXRib3hNb2RlRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgcmV0dXJuIG9iamVjdC50b0Jvb2xlYW4ocHJvY2Vzcy5lbnYuRU1BSUxfT1VUQk9YX01PREUpID8/IGZhbHNlO1xufVxuXG5jb25zdCBTTVRQX1JFUVVJUkVEX0ZJRUxEUyA9IFtcIlNNVFBfSE9TVFwiLCBcIlNNVFBfVVNFUlwiLCBcIlNNVFBfUEFTU1dPUkRcIl0gYXMgY29uc3Q7XG5cbi8qKiBMaXN0IGVudiBrZXlzIGZvciBTTVRQIGZpZWxkcyB0aGF0IGFyZSB1bnNldCBpbiB0aGUgcmVzb2x2ZWQgY3JlZGVudGlhbCBzZXQuICovXG5mdW5jdGlvbiBtaXNzaW5nU210cEZpZWxkcyhcbiAgaG9zdDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICB1c2VyOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIHBhc3M6IHN0cmluZyB8IHVuZGVmaW5lZCxcbik6IHN0cmluZ1tdIHtcbiAgY29uc3QgdmFsdWVzID0gW2hvc3QsIHVzZXIsIHBhc3NdIGFzIGNvbnN0O1xuICByZXR1cm4gU01UUF9SRVFVSVJFRF9GSUVMRFMuZmlsdGVyKChfLCBpbmRleCkgPT4gIXZhbHVlc1tpbmRleF0pO1xufVxuXG4vKipcbiAqIFJlc29sdmUgcGx1Z2luIGNvbmZpZyBvdmVyIGVudmlyb25tZW50IGRlZmF1bHRzLlxuICpcbiAqIFdoZW4gU01UUCBob3N0ICsgdXNlciArIHBhc3N3b3JkIGFyZSBhbGwgcHJlc2VudCwgcmV0dXJucyBgbW9kZTpcbiAqIFwic210cFwiYCBmb3IgcmVhbCBkZWxpdmVyeSAoYW5kIHRocm93cyBpZiBubyBzZW5kZXIgc291cmNlIC0gZG9tYWluIG9yXG4gKiBmcm9tIC0gaXMgY29uZmlndXJlZCwgc2luY2UgU01UUCBjYW4ndCBkZXJpdmUgb25lIGZyb20gbm90aGluZykuXG4gKiBXaGVuIGFsbCB0aHJlZSBhcmUgYWJzZW50IGFuZCBgRU1BSUxfT1VUQk9YX01PREVgIGlzIGVuYWJsZWQsIHJldHVybnNcbiAqIGBtb2RlOiBcImZpbGVcImAgc28gdGhlIHJ1bnRpbWUgd3JpdGVzIG1lc3NhZ2VzIHRvIHRoZSBvdXRib3ggZGlyZWN0b3J5XG4gKiBmb3IgbG9jYWwgdGVzdGluZzsgaW4gdGhhdCBtb2RlIGEgc2VuZGVyIHNvdXJjZSBpcyBvcHRpb25hbCAodGhlXG4gKiBvdXRib3ggZmFsbHMgYmFjayB0byB0aGUgT0JPIHVzZXIncyBvd24gYWRkcmVzcykuIFBhcnRpYWwgU01UUFxuICogY29uZmlndXJhdGlvbiBvciBhIHNlbmQgd2l0aCBubyBjcmVkZW50aWFscyBhbmQgbm8gb3V0Ym94IG9wdC1pblxuICogdGhyb3dzLlxuICpcbiAqIFRoZSBzZW5kZXIgYWxsb3ctbGlzdCBpcyByZXNvbHZlZCBoZXJlIHRvbzogdW5kZXIgdGhlIGRlZmF1bHRcbiAqIGBcImFsbG93bGlzdFwiYCBwb2xpY3kgYW4gZW1wdHkgbGlzdCBpcyBmaWxsZWQgaW4gZnJvbSB0aGUgc2VuZGVyIHNvdXJjZSxcbiAqIHNvIGEgZGVwbG95bWVudCB0aGF0IG9ubHkgc2V0cyBgRU1BSUxfRE9NQUlOYCBzdGlsbCByZWplY3RzIGEgYEZyb21gIG9uXG4gKiBhbnkgb3RoZXIgZG9tYWluLiBTZWUge0BsaW5rIFNlbmRlclBvbGljeX0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlRW1haWxDb25maWcoY29uZmlnOiBFbWFpbFBsdWdpbkNvbmZpZyA9IHt9KTogUmVzb2x2ZWRFbWFpbENvbmZpZyB7XG4gIGNvbnN0IHNtdHAgPSBjb25maWcuc210cCA/PyB7fTtcbiAgY29uc3QgaG9zdCA9IHNtdHAuaG9zdCA/PyBwcm9jZXNzLmVudi5TTVRQX0hPU1Q7XG4gIGNvbnN0IHVzZXIgPSBzbXRwLnVzZXIgPz8gcHJvY2Vzcy5lbnYuU01UUF9VU0VSO1xuICBjb25zdCBwYXNzID0gc210cC5wYXNzd29yZCA/PyBwcm9jZXNzLmVudi5TTVRQX1BBU1NXT1JEO1xuICBjb25zdCBkb21haW4gPSBjb25maWcuZG9tYWluID8/IHByb2Nlc3MuZW52LkVNQUlMX0RPTUFJTjtcbiAgY29uc3QgZnJvbSA9IGNvbmZpZy5mcm9tID8/IHByb2Nlc3MuZW52LkVNQUlMX0ZST007XG4gIGNvbnN0IHNlbmRlclBvbGljeSA9IHJlc29sdmVTZW5kZXJQb2xpY3koY29uZmlnLnNlbmRlclBvbGljeSk7XG4gIGNvbnN0IGNvbmZpZ3VyZWRTZW5kZXJzID0gcGFyc2VBbGxvd2VkU2VuZGVycyhcbiAgICBjb25maWcuYWxsb3dlZFNlbmRlcnMgPz8gcHJvY2Vzcy5lbnYuRU1BSUxfQUxMT1dFRF9TRU5ERVJTLFxuICApO1xuICBjb25zdCBhbGxvd2VkU2VuZGVycyA9XG4gICAgY29uZmlndXJlZFNlbmRlcnMubGVuZ3RoID4gMCB8fCBzZW5kZXJQb2xpY3kgPT09IFwidW5yZXN0cmljdGVkXCJcbiAgICAgID8gY29uZmlndXJlZFNlbmRlcnNcbiAgICAgIDogaW1wbGllZFNlbmRlclBhdHRlcm5zKGRvbWFpbiwgZnJvbSk7XG4gIGNvbnN0IHNlbmRlcjogUmVzb2x2ZWRTZW5kZXIgPSB7XG4gICAgLi4uKGRvbWFpbiA/IHsgZG9tYWluIH0gOiB7fSksXG4gICAgLi4uKGZyb20gPyB7IGZyb20gfSA6IHt9KSxcbiAgICBhbGxvd2VkU2VuZGVycyxcbiAgICBzZW5kZXJQb2xpY3ksXG4gICAgLi4uKGNvbmZpZy5icmFuZCA/IHsgYnJhbmQ6IGNvbmZpZy5icmFuZCB9IDoge30pLFxuICB9O1xuXG4gIGNvbnN0IGhhc0FsbFNtdHAgPSBCb29sZWFuKGhvc3QgJiYgdXNlciAmJiBwYXNzKTtcbiAgY29uc3QgaGFzQW55U210cCA9IEJvb2xlYW4oaG9zdCB8fCB1c2VyIHx8IHBhc3MpO1xuXG4gIGlmIChoYXNBbnlTbXRwICYmICFoYXNBbGxTbXRwKSB7XG4gICAgdGhyb3cgVmFsaWRhdGlvbkVycm9yLm1pc3NpbmdFbnZWYXJzKG1pc3NpbmdTbXRwRmllbGRzKGhvc3QsIHVzZXIsIHBhc3MpKTtcbiAgfVxuXG4gIGlmIChoYXNBbGxTbXRwKSB7XG4gICAgaWYgKCFkb21haW4gJiYgIWZyb20pIHtcbiAgICAgIHRocm93IENvbmZpZ3VyYXRpb25FcnJvci5yZXNvdXJjZU5vdEZvdW5kKFxuICAgICAgICBcIkVtYWlsIHNlbmRlciBzb3VyY2VcIixcbiAgICAgICAgXCJTZXQgRU1BSUxfRE9NQUlOIHRvIGRlcml2ZSA8dXNlci1sb2NhbC1wYXJ0PkA8ZG9tYWluPiwgb3IgRU1BSUxfRlJPTSBmb3IgYSBmaXhlZCBhZGRyZXNzLlwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3QgcG9ydFJhdyA9IHNtdHAucG9ydCA/PyBOdW1iZXIocHJvY2Vzcy5lbnYuU01UUF9QT1JUKTtcbiAgICBjb25zdCBwb3J0ID0gTnVtYmVyLmlzRmluaXRlKHBvcnRSYXcpICYmIHBvcnRSYXcgPyBOdW1iZXIocG9ydFJhdykgOiBERUZBVUxUX1NNVFBfUE9SVDtcbiAgICByZXR1cm4ge1xuICAgICAgbW9kZTogXCJzbXRwXCIsXG4gICAgICBob3N0OiBob3N0ISxcbiAgICAgIHBvcnQsXG4gICAgICBzZWN1cmU6IHJlc29sdmVTZWN1cmUoc210cC5zZWN1cmUsIHBvcnQpLFxuICAgICAgYXV0aDogeyB1c2VyOiB1c2VyISwgcGFzczogcGFzcyEgfSxcbiAgICAgIC4uLnNlbmRlcixcbiAgICB9O1xuICB9XG5cbiAgaWYgKCFpc091dGJveE1vZGVFbmFibGVkKCkpIHtcbiAgICB0aHJvdyBDb25maWd1cmF0aW9uRXJyb3IuaW52YWxpZENvbm5lY3Rpb24oXG4gICAgICBcIlNNVFBcIixcbiAgICAgIGBTZXQgJHtTTVRQX1JFUVVJUkVEX0ZJRUxEUy5qb2luKFwiLCBcIil9LCBvciBFTUFJTF9PVVRCT1hfTU9ERT0xIHRvIHdyaXRlIG1lc3NhZ2VzIHRvIGEgbG9jYWwgb3V0Ym94IGluc3RlYWQuYCxcbiAgICApO1xuICB9XG5cbiAgY29uc3Qgb3V0RGlyID0gcmVzb2x2ZShcbiAgICBjb25maWcub3V0RGlyID8/IHByb2Nlc3MuZW52LkVNQUlMX09VVEJPWF9ESVIgPz8gcmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBcInRtcFwiKSxcbiAgKTtcbiAgcmV0dXJuIHsgbW9kZTogXCJmaWxlXCIsIG91dERpciwgLi4uc2VuZGVyIH07XG59XG4iXX0=
|
package/lib/src/email-html.d.ts
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* @module
|
|
21
21
|
*/
|
|
22
22
|
import { string } from "@dbx-tools/shared-core";
|
|
23
|
-
import type { EmailBrand } from "./brand.
|
|
23
|
+
import type { EmailBrand } from "./brand.ts";
|
|
24
24
|
/** Escape HTML-significant characters (re-exported from `@dbx-tools/shared-core`). */
|
|
25
25
|
export declare const escapeHtml: typeof string.escapeHtml;
|
|
26
26
|
/** Options for {@link renderEmailHtml}. */
|
package/lib/src/email-html.js
CHANGED
|
@@ -143,4 +143,4 @@ export function renderEmailHtml(opts) {
|
|
|
143
143
|
`;
|
|
144
144
|
return juice(doc);
|
|
145
145
|
}
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtaHRtbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbWFpbC1odG1sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUVILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU1Qzs7O0dBR0c7QUFDSCxNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUM7QUFFMUIsMERBQTBEO0FBQzFELE1BQU0sYUFBYSxHQUFxRTtJQUN0RixNQUFNLEVBQUUsU0FBUztJQUNqQixRQUFRLEVBQUUsU0FBUztJQUNuQixVQUFVLEVBQUUsNkVBQTZFO0NBQzFGLENBQUM7QUFFRixzRkFBc0Y7QUFDdEYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7QUFFNUM7Ozs7OztHQU1HO0FBQ0gsU0FBUyxVQUFVLENBQUMsTUFBYztJQUNoQyxPQUFPOzs7NkJBR29CLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7O01BaUI3QixDQUFDO0FBQ1AsQ0FBQztBQXVCRCx1REFBdUQ7QUFDdkQsU0FBUyxTQUFTLENBQUMsT0FBb0M7SUFDckQsSUFBSSxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUM7UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNoRCxNQUFNLElBQUksR0FBRyxPQUFPO1NBQ2pCLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLFVBQVUsQ0FBQyxLQUFLLENBQUMsWUFBWSxVQUFVLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQztTQUM5RixJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDWixPQUFPLGtEQUFrRCxJQUFJLGtCQUFrQixDQUFDO0FBQ2xGLENBQUM7QUFFRCxzQ0FBc0M7QUFDdEMsU0FBUyxTQUFTLENBQUMsTUFBMEI7SUFDM0MsSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUN2QixPQUFPOzs7Z0JBR08sVUFBVSxDQUFDLE1BQU0sQ0FBQzs7Z0JBRWxCLENBQUM7QUFDakIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBUyxVQUFVLENBQUMsS0FBYSxFQUFFLEtBQWlCLEVBQUUsUUFBZ0I7SUFDcEUsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU87UUFDeEIsQ0FBQyxDQUFDLGFBQWEsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsYUFBYSxjQUFjLG9CQUFvQixjQUFjLDBEQUEwRDtRQUN4TSxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ1AsT0FBTyxHQUFHLElBQUksdUJBQXVCLFFBQVEsMkRBQTJELFVBQVUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO0FBQ3JJLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFzQjtJQUNwRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLFNBQVMsQ0FBQztJQUNoRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQzFELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDaEUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQUksYUFBYSxDQUFDLFVBQVUsQ0FBQztJQUN0RSxNQUFNLEtBQUssR0FBZSxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUN6RSxNQUFNLEdBQUcsR0FBRzs7Ozs7O2FBTUQsVUFBVSxDQUFDLEtBQUssQ0FBQzthQUNqQixVQUFVLENBQUMsTUFBTSxDQUFDOzs7Ozs7O2tRQU9tTyxVQUFVOztnRkFFNUwsTUFBTTtrQkFDcEUsVUFBVSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDOzs7OztrQkFLbEMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7MENBQ0MsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7O21CQUVoRCxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7Ozs7OztDQU94QyxDQUFDO0lBQ0EsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRW1haWwgSFRNTCBhc3NlbWJseTogcmVuZGVyIGEgbWFya2Rvd24gYm9keSBpbnRvIGEgYnJhbmRlZCwgcmVzcG9uc2l2ZVxuICogZW1haWwgbGF5b3V0IGFuZCBpbmxpbmUgdGhlIHN0eWxlc2hlZXQgd2l0aCBganVpY2VgLlxuICpcbiAqIFRoZSBsYXlvdXQgaXMgdGhlIGNsYXNzaWMgZW1haWwtc2FmZSBwYXR0ZXJuIChhIGNlbnRlcmVkIDYwMHB4XG4gKiB0YWJsZS1iYXNlZCBjb250YWluZXIgd2l0aCBhIGhlYWRlciBiYW5kLCBjb250ZW50IGNhcmQsIGFuZCBvcHRpb25hbFxuICogZm9vdGVyKSAtIHRoZSBzYW1lIHNoYXBlIE1KTUwgZW1pdHMsIGhhbmQtYnVpbHQgaGVyZSBiZWNhdXNlIE1KTUwnc1xuICogdG9vbGNoYWluIHB1bGxzIGZhc3QtbW92aW5nIGJyb3dzZXItZGF0YSBkZXBzIChjYW5pdXNlLWxpdGUsXG4gKiBiYXNlbGluZS1icm93c2VyLW1hcHBpbmcpIHRoYXQgYXJlIGF3a3dhcmQgdG8gaW5zdGFsbCBiZWhpbmQgYVxuICogbG9ja2VkLWRvd24gcmVnaXN0cnkuIElubGluaW5nIG1hdHRlcnMgYmVjYXVzZSByZWFsIGNsaWVudHMgKEdtYWlsLFxuICogT3V0bG9vaykgc3RyaXAgYDxzdHlsZT5gIGJsb2NrcyBhbmQgaWdub3JlIGNsYXNzIHNlbGVjdG9yczsgdGhlIHNhbWVcbiAqIHJlbmRlcmVyIGZlZWRzIGJvdGggdGhlIGxvY2FsIG91dGJveCBwcmV2aWV3IGFuZCB0aGUgU01UUCBIVE1MIHBhcnQsXG4gKiBzbyBhIGJyb3dzZXIgYW5kIGFuIGluYm94IHNob3cgdGhlIHNhbWUgdGhpbmcuXG4gKlxuICogQnJhbmQgc3R5bGluZyAoYWNjZW50IGNvbG9yLCBmb250LCBoZWFkZXIgbG9nbykgaXMgb3B0aW9uYWw6IHBhc3MgYW5cbiAqIHtAbGluayBFbWFpbEJyYW5kfSB0byBjb2xvciB0aGUgbGF5b3V0LCBvciBvbWl0IGl0IGZvciB0aGUgbmV1dHJhbFxuICogZGVmYXVsdC4gQnJhbmRpbmcgaXMgaW5saW5lZCBoZXJlIGJlY2F1c2UgdGhlIGJyb3dzZXIgVUkncyBgW2RhdGEtYnJhbmRdYFxuICogQ1NTIGJyaWRnZSBjYW4ndCByZWFjaCBhbiBpbmJveCAoc2VlIGAuL2JyYW5kYCkuXG4gKlxuICogQG1vZHVsZVxuICovXG5cbmltcG9ydCB7IHN0cmluZyB9IGZyb20gXCJAZGJ4LXRvb2xzL3NoYXJlZC1jb3JlXCI7XG5pbXBvcnQganVpY2UgZnJvbSBcImp1aWNlXCI7XG5pbXBvcnQgdHlwZSB7IEVtYWlsQnJhbmQgfSBmcm9tIFwiLi9icmFuZFwiO1xuaW1wb3J0IHsgbWFya2Rvd25Ub0h0bWwgfSBmcm9tIFwiLi9tYXJrZG93blwiO1xuXG4vKipcbiAqIFJlbmRlcmVkIGhlaWdodCBvZiB0aGUgaGVhZGVyIGxvZ28uIEZpeGVkIHJhdGhlciB0aGFuIGludHJpbnNpYyBiZWNhdXNlXG4gKiBtYWlsIGNsaWVudHMgaWdub3JlIENTUyBzaXppbmcgb24gYW4gaW1hZ2Ugd2l0aG91dCBhbiBgaGVpZ2h0YCBhdHRyaWJ1dGUuXG4gKi9cbmNvbnN0IExPR09fSEVJR0hUX1BYID0gMjg7XG5cbi8qKiBOZXV0cmFsIGZhbGxiYWNrIHN0eWxpbmcgd2hlbiBubyBicmFuZCBpcyBzdXBwbGllZC4gKi9cbmNvbnN0IERFRkFVTFRfQlJBTkQ6IFJlcXVpcmVkPFBpY2s8RW1haWxCcmFuZCwgXCJhY2NlbnRcIiB8IFwib25BY2NlbnRcIiB8IFwiZm9udEZhbWlseVwiPj4gPSB7XG4gIGFjY2VudDogXCIjMGI2YmNiXCIsXG4gIG9uQWNjZW50OiBcIiNmZmZmZmZcIixcbiAgZm9udEZhbWlseTogXCItYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWZcIixcbn07XG5cbi8qKiBFc2NhcGUgSFRNTC1zaWduaWZpY2FudCBjaGFyYWN0ZXJzIChyZS1leHBvcnRlZCBmcm9tIGBAZGJ4LXRvb2xzL3NoYXJlZC1jb3JlYCkuICovXG5leHBvcnQgY29uc3QgZXNjYXBlSHRtbCA9IHN0cmluZy5lc2NhcGVIdG1sO1xuXG4vKipcbiAqIENvbnRlbnQgc3R5bGVzaGVldCBpbmxpbmVkIG9udG8gdGhlIG1hcmtkb3duIGJvZHkgKGp1aWNlIG1hcHMgdGhlc2VcbiAqIG9udG8gZWxlbWVudHMpLiBPdXRlciBsYXlvdXQgc3R5bGluZyBpcyB3cml0dGVuIGlubGluZSBkaXJlY3RseSBzbyBpdFxuICogc3Vydml2ZXMgZXZlbiBpZiBpbmxpbmluZyBpcyBza2lwcGVkOyB0aGUgYEBtZWRpYWAgcnVsZSBpcyBwcmVzZXJ2ZWRcbiAqIGJ5IGp1aWNlIGZvciBjbGllbnRzIHRoYXQgaG9ub3IgaXQuIFBhcmFtZXRlcml6ZWQgYnkgdGhlIHJlc29sdmVkIGFjY2VudFxuICogc28gYm9keSBsaW5rcyBtYXRjaCB0aGUgYnJhbmQuXG4gKi9cbmZ1bmN0aW9uIGNvbnRlbnRDc3MoYWNjZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYFxuICAgIC5lbWFpbC1ib2R5IHsgZm9udC1zaXplOiAxNXB4OyBsaW5lLWhlaWdodDogMS41NTsgY29sb3I6ICMxYTFhMWE7IH1cbiAgICAuZW1haWwtYm9keSBwIHsgbWFyZ2luOiAwIDAgMXJlbTsgfVxuICAgIC5lbWFpbC1ib2R5IGEgeyBjb2xvcjogJHthY2NlbnR9OyB9XG4gICAgLmVtYWlsLWJvZHkgaDEsIC5lbWFpbC1ib2R5IGgyLCAuZW1haWwtYm9keSBoMyB7IG1hcmdpbjogMS40cmVtIDAgMC42cmVtOyBsaW5lLWhlaWdodDogMS4yNTsgfVxuICAgIC5lbWFpbC1ib2R5IHVsLCAuZW1haWwtYm9keSBvbCB7IG1hcmdpbjogMCAwIDFyZW07IHBhZGRpbmctbGVmdDogMS40cmVtOyB9XG4gICAgLmVtYWlsLWJvZHkgdGFibGUgeyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBtYXJnaW46IDFyZW0gMDsgd2lkdGg6IDEwMCU7IGZvbnQtc2l6ZTogMTRweDsgfVxuICAgIC5lbWFpbC1ib2R5IHRoLCAuZW1haWwtYm9keSB0ZCB7IGJvcmRlcjogMXB4IHNvbGlkICNkMGQ3ZGU7IHBhZGRpbmc6IDZweCAxMHB4OyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmVtYWlsLWJvZHkgdGggeyBiYWNrZ3JvdW5kOiAjZjZmOGZhOyBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLmVtYWlsLWJvZHkgY29kZSB7IGJhY2tncm91bmQ6ICNmMWYzZjU7IHBhZGRpbmc6IDJweCA1cHg7IGJvcmRlci1yYWRpdXM6IDRweDsgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMC45ZW07IH1cbiAgICAuZW1haWwtYm9keSBwcmUgeyBiYWNrZ3JvdW5kOiAjZjFmM2Y1OyBwYWRkaW5nOiAxMnB4OyBib3JkZXItcmFkaXVzOiA2cHg7IG92ZXJmbG93LXg6IGF1dG87IH1cbiAgICAuZW1haWwtYm9keSBwcmUgY29kZSB7IGJhY2tncm91bmQ6IG5vbmU7IHBhZGRpbmc6IDA7IH1cbiAgICAuZW1haWwtYm9keSBibG9ja3F1b3RlIHsgbWFyZ2luOiAxcmVtIDA7IHBhZGRpbmc6IDAgMXJlbTsgY29sb3I6ICM1NzYwNmE7IGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2QwZDdkZTsgfVxuICAgIC5lbWFpbC1ib2R5IGltZyB7IG1heC13aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLm1ldGEgeyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBmb250LXNpemU6IDEzcHg7IG1hcmdpbi1ib3R0b206IDRweDsgfVxuICAgIC5tZXRhIHRoIHsgdGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZzogMnB4IDEycHggMnB4IDA7IHZlcnRpY2FsLWFsaWduOiB0b3A7IGNvbG9yOiAjNmI3MjgwOyBmb250LXdlaWdodDogNjAwOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgLm1ldGEgdGQgeyBwYWRkaW5nOiAycHggMDsgY29sb3I6ICMzNzQxNTE7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyMHB4KSB7XG4gICAgICAuY29udGFpbmVyIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgICAgLmd1dHRlciB7IHBhZGRpbmctbGVmdDogMjBweCAhaW1wb3J0YW50OyBwYWRkaW5nLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7IH1cbiAgICB9YDtcbn1cblxuLyoqIE9wdGlvbnMgZm9yIHtAbGluayByZW5kZXJFbWFpbEh0bWx9LiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbWFpbEh0bWxPcHRpb25zIHtcbiAgLyoqIE1hcmtkb3duIGJvZHkuIFJlbmRlcmVkIHRvIEhUTUwsIHRoZW4gd3JhcHBlZCBpbiB0aGUgbGF5b3V0LiAqL1xuICBib2R5OiBzdHJpbmc7XG4gIC8qKiBIZWFkZXItYmFuZCB0aXRsZSBhbmQgZG9jdW1lbnQgYDx0aXRsZT5gLiBEZWZhdWx0cyB0byBcIk1lc3NhZ2VcIi4gKi9cbiAgc3ViamVjdD86IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGBbbGFiZWwsIHZhbHVlXWAgZW52ZWxvcGUgcm93cyBzaG93biBhYm92ZSB0aGUgYm9keSAodXNlZFxuICAgKiBieSB0aGUgb3V0Ym94IHByZXZpZXc7IG9taXR0ZWQgZm9yIFNNVFAgc2VuZHMsIHdoZXJlIHRoZSBtYWlsIGNsaWVudFxuICAgKiBzaG93cyB0aGUgZW52ZWxvcGUgaXRzZWxmKS5cbiAgICovXG4gIGhlYWRlcnM/OiBSZWFkb25seUFycmF5PHJlYWRvbmx5IFtzdHJpbmcsIHN0cmluZ10+O1xuICAvKiogT3B0aW9uYWwgc21hbGwtcHJpbnQgZm9vdGVyIGxpbmUuIE9taXR0ZWQgd2hlbiB1bnNldC4gKi9cbiAgZm9vdGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogT3B0aW9uYWwgYnJhbmQgc3R5bGluZyBmb3IgdGhlIGxheW91dCAoYWNjZW50LCBmb250LCBoZWFkZXIgbG9nbykuXG4gICAqIE9taXQgZm9yIHRoZSBuZXV0cmFsIGRlZmF1bHQgcGFsZXR0ZS5cbiAgICovXG4gIGJyYW5kPzogRW1haWxCcmFuZDtcbn1cblxuLyoqIFJlbmRlciB0aGUgb3B0aW9uYWwgZW52ZWxvcGUtaGVhZGVyIHRhYmxlIGJsb2NrLiAqL1xuZnVuY3Rpb24gbWV0YUJsb2NrKGhlYWRlcnM6IEVtYWlsSHRtbE9wdGlvbnNbXCJoZWFkZXJzXCJdKTogc3RyaW5nIHtcbiAgaWYgKCFoZWFkZXJzIHx8IGhlYWRlcnMubGVuZ3RoID09PSAwKSByZXR1cm4gXCJcIjtcbiAgY29uc3Qgcm93cyA9IGhlYWRlcnNcbiAgICAubWFwKChbbGFiZWwsIHZhbHVlXSkgPT4gYDx0cj48dGg+JHtlc2NhcGVIdG1sKGxhYmVsKX08L3RoPjx0ZD4ke2VzY2FwZUh0bWwodmFsdWUpfTwvdGQ+PC90cj5gKVxuICAgIC5qb2luKFwiXCIpO1xuICByZXR1cm4gYDx0YWJsZSByb2xlPVwicHJlc2VudGF0aW9uXCIgY2xhc3M9XCJtZXRhXCI+PHRib2R5PiR7cm93c308L3Rib2R5PjwvdGFibGU+YDtcbn1cblxuLyoqIFJlbmRlciB0aGUgb3B0aW9uYWwgZm9vdGVyIHJvdy4gKi9cbmZ1bmN0aW9uIGZvb3RlclJvdyhmb290ZXI6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gIGlmICghZm9vdGVyKSByZXR1cm4gXCJcIjtcbiAgcmV0dXJuIGBcbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJndXR0ZXJcIiBzdHlsZT1cInBhZGRpbmc6IDE2cHggMzJweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlYWVjZWY7IGNvbG9yOiAjOWFhMGE2OyBmb250LXNpemU6IDEycHg7IGxpbmUtaGVpZ2h0OiAxLjU7XCI+XG4gICAgICAgICAgICAgICR7ZXNjYXBlSHRtbChmb290ZXIpfVxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L3RyPmA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBoZWFkZXItYmFuZCBjb250ZW50OiB0aGUgYnJhbmQgbG9nbyAod2hlbiB0aGUgYnJhbmQgc3VwcGxpZXMgYVxuICogcmVuZGVyYWJsZSBpbWFnZSkgYWJvdmUgdGhlIHRpdGxlLCBvciBqdXN0IHRoZSB0aXRsZS4gVGhlIGxvZ28gaXMgY2FwcGVkXG4gKiBhdCB7QGxpbmsgTE9HT19IRUlHSFRfUFh9IGFuZCB0aW50ZWQgaW1wbGljaXRseSBieSBpdHMgb3duIGFydHdvcms7IHRoZVxuICogdGl0bGUgYWx3YXlzIHNob3dzIHNvIHRoZSBiYW5kIGlzIG5ldmVyIGVtcHR5LlxuICovXG5mdW5jdGlvbiBoZWFkZXJCYW5kKHRpdGxlOiBzdHJpbmcsIGJyYW5kOiBFbWFpbEJyYW5kLCBvbkFjY2VudDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgbG9nbyA9IGJyYW5kLmxvZ29VcmxcbiAgICA/IGA8aW1nIHNyYz1cIiR7ZXNjYXBlSHRtbChicmFuZC5sb2dvVXJsKX1cIiBhbHQ9XCIke2VzY2FwZUh0bWwoYnJhbmQubmFtZSA/PyB0aXRsZSl9XCIgaGVpZ2h0PVwiJHtMT0dPX0hFSUdIVF9QWH1cIiBzdHlsZT1cImhlaWdodDogJHtMT0dPX0hFSUdIVF9QWH1weDsgd2lkdGg6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tYm90dG9tOiA4cHg7XCIgLz5gXG4gICAgOiBcIlwiO1xuICByZXR1cm4gYCR7bG9nb308c3BhbiBzdHlsZT1cImNvbG9yOiAke29uQWNjZW50fTsgZm9udC1zaXplOiAxOHB4OyBmb250LXdlaWdodDogNzAwOyBsaW5lLWhlaWdodDogMS4zO1wiPiR7ZXNjYXBlSHRtbCh0aXRsZSl9PC9zcGFuPmA7XG59XG5cbi8qKlxuICogUmVuZGVyIGBib2R5YCAobWFya2Rvd24pIGludG8gYSBjb21wbGV0ZSwgc3R5bGUtaW5saW5lZCBlbWFpbCBkb2N1bWVudFxuICogdXNpbmcgdGhlIHJlc3BvbnNpdmUgbGF5b3V0LiBXaGVuIGBvcHRzLmJyYW5kYCBpcyBzZXQgaXRzIGFjY2VudCwgZm9udCxcbiAqIGFuZCBsb2dvIHN0eWxlIHRoZSBsYXlvdXQ7IG90aGVyd2lzZSBhIG5ldXRyYWwgZGVmYXVsdCBwYWxldHRlIGlzIHVzZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJFbWFpbEh0bWwob3B0czogRW1haWxIdG1sT3B0aW9ucyk6IHN0cmluZyB7XG4gIGNvbnN0IHRpdGxlID0gb3B0cy5zdWJqZWN0Py50cmltKCkgfHwgXCJNZXNzYWdlXCI7XG4gIGNvbnN0IGFjY2VudCA9IG9wdHMuYnJhbmQ/LmFjY2VudCA/PyBERUZBVUxUX0JSQU5ELmFjY2VudDtcbiAgY29uc3Qgb25BY2NlbnQgPSBvcHRzLmJyYW5kPy5vbkFjY2VudCA/PyBERUZBVUxUX0JSQU5ELm9uQWNjZW50O1xuICBjb25zdCBmb250RmFtaWx5ID0gb3B0cy5icmFuZD8uZm9udEZhbWlseSA/PyBERUZBVUxUX0JSQU5ELmZvbnRGYW1pbHk7XG4gIGNvbnN0IGJyYW5kOiBFbWFpbEJyYW5kID0gb3B0cy5icmFuZCA/PyB7IGFjY2VudCwgb25BY2NlbnQsIGZvbnRGYW1pbHkgfTtcbiAgY29uc3QgZG9jID0gYDwhZG9jdHlwZSBodG1sPlxuPGh0bWwgbGFuZz1cImVuXCI+XG4gIDxoZWFkPlxuICAgIDxtZXRhIGNoYXJzZXQ9XCJ1dGYtOFwiIC8+XG4gICAgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCIgY29udGVudD1cIndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xXCIgLz5cbiAgICA8bWV0YSBuYW1lPVwiY29sb3Itc2NoZW1lXCIgY29udGVudD1cImxpZ2h0IG9ubHlcIiAvPlxuICAgIDx0aXRsZT4ke2VzY2FwZUh0bWwodGl0bGUpfTwvdGl0bGU+XG4gICAgPHN0eWxlPiR7Y29udGVudENzcyhhY2NlbnQpfVxuICAgIDwvc3R5bGU+XG4gIDwvaGVhZD5cbiAgPGJvZHkgc3R5bGU9XCJtYXJnaW46IDA7IHBhZGRpbmc6IDA7IGJhY2tncm91bmQtY29sb3I6ICNmNGY1Zjc7IC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcIj5cbiAgICA8dGFibGUgcm9sZT1cInByZXNlbnRhdGlvblwiIHdpZHRoPVwiMTAwJVwiIGNlbGxwYWRkaW5nPVwiMFwiIGNlbGxzcGFjaW5nPVwiMFwiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjVmNztcIj5cbiAgICAgIDx0cj5cbiAgICAgICAgPHRkIGFsaWduPVwiY2VudGVyXCIgc3R5bGU9XCJwYWRkaW5nOiAyNHB4IDEycHg7XCI+XG4gICAgICAgICAgPHRhYmxlIHJvbGU9XCJwcmVzZW50YXRpb25cIiBjbGFzcz1cImNvbnRhaW5lclwiIHdpZHRoPVwiNjAwXCIgY2VsbHBhZGRpbmc9XCIwXCIgY2VsbHNwYWNpbmc9XCIwXCIgc3R5bGU9XCJ3aWR0aDogNjAwcHg7IG1heC13aWR0aDogMTAwJTsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgYm9yZGVyLXJhZGl1czogMTBweDsgb3ZlcmZsb3c6IGhpZGRlbjsgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwwLDAsMC4wOCk7IGZvbnQtZmFtaWx5OiAke2ZvbnRGYW1pbHl9O1wiPlxuICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJndXR0ZXJcIiBzdHlsZT1cInBhZGRpbmc6IDIwcHggMzJweDsgYmFja2dyb3VuZC1jb2xvcjogJHthY2NlbnR9O1wiPlxuICAgICAgICAgICAgICAgICR7aGVhZGVyQmFuZCh0aXRsZSwgYnJhbmQsIG9uQWNjZW50KX1cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImd1dHRlclwiIHN0eWxlPVwicGFkZGluZzogMjRweCAzMnB4IDhweDtcIj5cbiAgICAgICAgICAgICAgICAke21ldGFCbG9jayhvcHRzLmhlYWRlcnMpfVxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbWFpbC1ib2R5XCI+JHttYXJrZG93blRvSHRtbChvcHRzLmJvZHkpfTwvZGl2PlxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj4ke2Zvb3RlclJvdyhvcHRzLmZvb3Rlcil9XG4gICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC90YWJsZT5cbiAgPC9ib2R5PlxuPC9odG1sPlxuYDtcbiAgcmV0dXJuIGp1aWNlKGRvYyk7XG59XG4iXX0=
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtaHRtbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbWFpbC1odG1sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUVILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQzs7O0dBR0c7QUFDSCxNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUM7QUFFMUIsMERBQTBEO0FBQzFELE1BQU0sYUFBYSxHQUFxRTtJQUN0RixNQUFNLEVBQUUsU0FBUztJQUNqQixRQUFRLEVBQUUsU0FBUztJQUNuQixVQUFVLEVBQUUsNkVBQTZFO0NBQzFGLENBQUM7QUFFRixzRkFBc0Y7QUFDdEYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7QUFFNUM7Ozs7OztHQU1HO0FBQ0gsU0FBUyxVQUFVLENBQUMsTUFBYztJQUNoQyxPQUFPOzs7NkJBR29CLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7O01BaUI3QixDQUFDO0FBQ1AsQ0FBQztBQXVCRCx1REFBdUQ7QUFDdkQsU0FBUyxTQUFTLENBQUMsT0FBb0M7SUFDckQsSUFBSSxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUM7UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNoRCxNQUFNLElBQUksR0FBRyxPQUFPO1NBQ2pCLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLFVBQVUsQ0FBQyxLQUFLLENBQUMsWUFBWSxVQUFVLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQztTQUM5RixJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDWixPQUFPLGtEQUFrRCxJQUFJLGtCQUFrQixDQUFDO0FBQ2xGLENBQUM7QUFFRCxzQ0FBc0M7QUFDdEMsU0FBUyxTQUFTLENBQUMsTUFBMEI7SUFDM0MsSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUN2QixPQUFPOzs7Z0JBR08sVUFBVSxDQUFDLE1BQU0sQ0FBQzs7Z0JBRWxCLENBQUM7QUFDakIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBUyxVQUFVLENBQUMsS0FBYSxFQUFFLEtBQWlCLEVBQUUsUUFBZ0I7SUFDcEUsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU87UUFDeEIsQ0FBQyxDQUFDLGFBQWEsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsYUFBYSxjQUFjLG9CQUFvQixjQUFjLDBEQUEwRDtRQUN4TSxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ1AsT0FBTyxHQUFHLElBQUksdUJBQXVCLFFBQVEsMkRBQTJELFVBQVUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO0FBQ3JJLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFzQjtJQUNwRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLFNBQVMsQ0FBQztJQUNoRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQzFELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxJQUFJLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDaEUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLElBQUksYUFBYSxDQUFDLFVBQVUsQ0FBQztJQUN0RSxNQUFNLEtBQUssR0FBZSxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUN6RSxNQUFNLEdBQUcsR0FBRzs7Ozs7O2FBTUQsVUFBVSxDQUFDLEtBQUssQ0FBQzthQUNqQixVQUFVLENBQUMsTUFBTSxDQUFDOzs7Ozs7O2tRQU9tTyxVQUFVOztnRkFFNUwsTUFBTTtrQkFDcEUsVUFBVSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDOzs7OztrQkFLbEMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7MENBQ0MsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7O21CQUVoRCxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7Ozs7OztDQU94QyxDQUFDO0lBQ0EsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRW1haWwgSFRNTCBhc3NlbWJseTogcmVuZGVyIGEgbWFya2Rvd24gYm9keSBpbnRvIGEgYnJhbmRlZCwgcmVzcG9uc2l2ZVxuICogZW1haWwgbGF5b3V0IGFuZCBpbmxpbmUgdGhlIHN0eWxlc2hlZXQgd2l0aCBganVpY2VgLlxuICpcbiAqIFRoZSBsYXlvdXQgaXMgdGhlIGNsYXNzaWMgZW1haWwtc2FmZSBwYXR0ZXJuIChhIGNlbnRlcmVkIDYwMHB4XG4gKiB0YWJsZS1iYXNlZCBjb250YWluZXIgd2l0aCBhIGhlYWRlciBiYW5kLCBjb250ZW50IGNhcmQsIGFuZCBvcHRpb25hbFxuICogZm9vdGVyKSAtIHRoZSBzYW1lIHNoYXBlIE1KTUwgZW1pdHMsIGhhbmQtYnVpbHQgaGVyZSBiZWNhdXNlIE1KTUwnc1xuICogdG9vbGNoYWluIHB1bGxzIGZhc3QtbW92aW5nIGJyb3dzZXItZGF0YSBkZXBzIChjYW5pdXNlLWxpdGUsXG4gKiBiYXNlbGluZS1icm93c2VyLW1hcHBpbmcpIHRoYXQgYXJlIGF3a3dhcmQgdG8gaW5zdGFsbCBiZWhpbmQgYVxuICogbG9ja2VkLWRvd24gcmVnaXN0cnkuIElubGluaW5nIG1hdHRlcnMgYmVjYXVzZSByZWFsIGNsaWVudHMgKEdtYWlsLFxuICogT3V0bG9vaykgc3RyaXAgYDxzdHlsZT5gIGJsb2NrcyBhbmQgaWdub3JlIGNsYXNzIHNlbGVjdG9yczsgdGhlIHNhbWVcbiAqIHJlbmRlcmVyIGZlZWRzIGJvdGggdGhlIGxvY2FsIG91dGJveCBwcmV2aWV3IGFuZCB0aGUgU01UUCBIVE1MIHBhcnQsXG4gKiBzbyBhIGJyb3dzZXIgYW5kIGFuIGluYm94IHNob3cgdGhlIHNhbWUgdGhpbmcuXG4gKlxuICogQnJhbmQgc3R5bGluZyAoYWNjZW50IGNvbG9yLCBmb250LCBoZWFkZXIgbG9nbykgaXMgb3B0aW9uYWw6IHBhc3MgYW5cbiAqIHtAbGluayBFbWFpbEJyYW5kfSB0byBjb2xvciB0aGUgbGF5b3V0LCBvciBvbWl0IGl0IGZvciB0aGUgbmV1dHJhbFxuICogZGVmYXVsdC4gQnJhbmRpbmcgaXMgaW5saW5lZCBoZXJlIGJlY2F1c2UgdGhlIGJyb3dzZXIgVUkncyBgW2RhdGEtYnJhbmRdYFxuICogQ1NTIGJyaWRnZSBjYW4ndCByZWFjaCBhbiBpbmJveCAoc2VlIGAuL2JyYW5kYCkuXG4gKlxuICogQG1vZHVsZVxuICovXG5cbmltcG9ydCB7IHN0cmluZyB9IGZyb20gXCJAZGJ4LXRvb2xzL3NoYXJlZC1jb3JlXCI7XG5pbXBvcnQganVpY2UgZnJvbSBcImp1aWNlXCI7XG5pbXBvcnQgdHlwZSB7IEVtYWlsQnJhbmQgfSBmcm9tIFwiLi9icmFuZC50c1wiO1xuaW1wb3J0IHsgbWFya2Rvd25Ub0h0bWwgfSBmcm9tIFwiLi9tYXJrZG93bi50c1wiO1xuXG4vKipcbiAqIFJlbmRlcmVkIGhlaWdodCBvZiB0aGUgaGVhZGVyIGxvZ28uIEZpeGVkIHJhdGhlciB0aGFuIGludHJpbnNpYyBiZWNhdXNlXG4gKiBtYWlsIGNsaWVudHMgaWdub3JlIENTUyBzaXppbmcgb24gYW4gaW1hZ2Ugd2l0aG91dCBhbiBgaGVpZ2h0YCBhdHRyaWJ1dGUuXG4gKi9cbmNvbnN0IExPR09fSEVJR0hUX1BYID0gMjg7XG5cbi8qKiBOZXV0cmFsIGZhbGxiYWNrIHN0eWxpbmcgd2hlbiBubyBicmFuZCBpcyBzdXBwbGllZC4gKi9cbmNvbnN0IERFRkFVTFRfQlJBTkQ6IFJlcXVpcmVkPFBpY2s8RW1haWxCcmFuZCwgXCJhY2NlbnRcIiB8IFwib25BY2NlbnRcIiB8IFwiZm9udEZhbWlseVwiPj4gPSB7XG4gIGFjY2VudDogXCIjMGI2YmNiXCIsXG4gIG9uQWNjZW50OiBcIiNmZmZmZmZcIixcbiAgZm9udEZhbWlseTogXCItYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWZcIixcbn07XG5cbi8qKiBFc2NhcGUgSFRNTC1zaWduaWZpY2FudCBjaGFyYWN0ZXJzIChyZS1leHBvcnRlZCBmcm9tIGBAZGJ4LXRvb2xzL3NoYXJlZC1jb3JlYCkuICovXG5leHBvcnQgY29uc3QgZXNjYXBlSHRtbCA9IHN0cmluZy5lc2NhcGVIdG1sO1xuXG4vKipcbiAqIENvbnRlbnQgc3R5bGVzaGVldCBpbmxpbmVkIG9udG8gdGhlIG1hcmtkb3duIGJvZHkgKGp1aWNlIG1hcHMgdGhlc2VcbiAqIG9udG8gZWxlbWVudHMpLiBPdXRlciBsYXlvdXQgc3R5bGluZyBpcyB3cml0dGVuIGlubGluZSBkaXJlY3RseSBzbyBpdFxuICogc3Vydml2ZXMgZXZlbiBpZiBpbmxpbmluZyBpcyBza2lwcGVkOyB0aGUgYEBtZWRpYWAgcnVsZSBpcyBwcmVzZXJ2ZWRcbiAqIGJ5IGp1aWNlIGZvciBjbGllbnRzIHRoYXQgaG9ub3IgaXQuIFBhcmFtZXRlcml6ZWQgYnkgdGhlIHJlc29sdmVkIGFjY2VudFxuICogc28gYm9keSBsaW5rcyBtYXRjaCB0aGUgYnJhbmQuXG4gKi9cbmZ1bmN0aW9uIGNvbnRlbnRDc3MoYWNjZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYFxuICAgIC5lbWFpbC1ib2R5IHsgZm9udC1zaXplOiAxNXB4OyBsaW5lLWhlaWdodDogMS41NTsgY29sb3I6ICMxYTFhMWE7IH1cbiAgICAuZW1haWwtYm9keSBwIHsgbWFyZ2luOiAwIDAgMXJlbTsgfVxuICAgIC5lbWFpbC1ib2R5IGEgeyBjb2xvcjogJHthY2NlbnR9OyB9XG4gICAgLmVtYWlsLWJvZHkgaDEsIC5lbWFpbC1ib2R5IGgyLCAuZW1haWwtYm9keSBoMyB7IG1hcmdpbjogMS40cmVtIDAgMC42cmVtOyBsaW5lLWhlaWdodDogMS4yNTsgfVxuICAgIC5lbWFpbC1ib2R5IHVsLCAuZW1haWwtYm9keSBvbCB7IG1hcmdpbjogMCAwIDFyZW07IHBhZGRpbmctbGVmdDogMS40cmVtOyB9XG4gICAgLmVtYWlsLWJvZHkgdGFibGUgeyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBtYXJnaW46IDFyZW0gMDsgd2lkdGg6IDEwMCU7IGZvbnQtc2l6ZTogMTRweDsgfVxuICAgIC5lbWFpbC1ib2R5IHRoLCAuZW1haWwtYm9keSB0ZCB7IGJvcmRlcjogMXB4IHNvbGlkICNkMGQ3ZGU7IHBhZGRpbmc6IDZweCAxMHB4OyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmVtYWlsLWJvZHkgdGggeyBiYWNrZ3JvdW5kOiAjZjZmOGZhOyBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLmVtYWlsLWJvZHkgY29kZSB7IGJhY2tncm91bmQ6ICNmMWYzZjU7IHBhZGRpbmc6IDJweCA1cHg7IGJvcmRlci1yYWRpdXM6IDRweDsgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMC45ZW07IH1cbiAgICAuZW1haWwtYm9keSBwcmUgeyBiYWNrZ3JvdW5kOiAjZjFmM2Y1OyBwYWRkaW5nOiAxMnB4OyBib3JkZXItcmFkaXVzOiA2cHg7IG92ZXJmbG93LXg6IGF1dG87IH1cbiAgICAuZW1haWwtYm9keSBwcmUgY29kZSB7IGJhY2tncm91bmQ6IG5vbmU7IHBhZGRpbmc6IDA7IH1cbiAgICAuZW1haWwtYm9keSBibG9ja3F1b3RlIHsgbWFyZ2luOiAxcmVtIDA7IHBhZGRpbmc6IDAgMXJlbTsgY29sb3I6ICM1NzYwNmE7IGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2QwZDdkZTsgfVxuICAgIC5lbWFpbC1ib2R5IGltZyB7IG1heC13aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLm1ldGEgeyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBmb250LXNpemU6IDEzcHg7IG1hcmdpbi1ib3R0b206IDRweDsgfVxuICAgIC5tZXRhIHRoIHsgdGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZzogMnB4IDEycHggMnB4IDA7IHZlcnRpY2FsLWFsaWduOiB0b3A7IGNvbG9yOiAjNmI3MjgwOyBmb250LXdlaWdodDogNjAwOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgLm1ldGEgdGQgeyBwYWRkaW5nOiAycHggMDsgY29sb3I6ICMzNzQxNTE7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyMHB4KSB7XG4gICAgICAuY29udGFpbmVyIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgICAgLmd1dHRlciB7IHBhZGRpbmctbGVmdDogMjBweCAhaW1wb3J0YW50OyBwYWRkaW5nLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7IH1cbiAgICB9YDtcbn1cblxuLyoqIE9wdGlvbnMgZm9yIHtAbGluayByZW5kZXJFbWFpbEh0bWx9LiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbWFpbEh0bWxPcHRpb25zIHtcbiAgLyoqIE1hcmtkb3duIGJvZHkuIFJlbmRlcmVkIHRvIEhUTUwsIHRoZW4gd3JhcHBlZCBpbiB0aGUgbGF5b3V0LiAqL1xuICBib2R5OiBzdHJpbmc7XG4gIC8qKiBIZWFkZXItYmFuZCB0aXRsZSBhbmQgZG9jdW1lbnQgYDx0aXRsZT5gLiBEZWZhdWx0cyB0byBcIk1lc3NhZ2VcIi4gKi9cbiAgc3ViamVjdD86IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGBbbGFiZWwsIHZhbHVlXWAgZW52ZWxvcGUgcm93cyBzaG93biBhYm92ZSB0aGUgYm9keSAodXNlZFxuICAgKiBieSB0aGUgb3V0Ym94IHByZXZpZXc7IG9taXR0ZWQgZm9yIFNNVFAgc2VuZHMsIHdoZXJlIHRoZSBtYWlsIGNsaWVudFxuICAgKiBzaG93cyB0aGUgZW52ZWxvcGUgaXRzZWxmKS5cbiAgICovXG4gIGhlYWRlcnM/OiBSZWFkb25seUFycmF5PHJlYWRvbmx5IFtzdHJpbmcsIHN0cmluZ10+O1xuICAvKiogT3B0aW9uYWwgc21hbGwtcHJpbnQgZm9vdGVyIGxpbmUuIE9taXR0ZWQgd2hlbiB1bnNldC4gKi9cbiAgZm9vdGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogT3B0aW9uYWwgYnJhbmQgc3R5bGluZyBmb3IgdGhlIGxheW91dCAoYWNjZW50LCBmb250LCBoZWFkZXIgbG9nbykuXG4gICAqIE9taXQgZm9yIHRoZSBuZXV0cmFsIGRlZmF1bHQgcGFsZXR0ZS5cbiAgICovXG4gIGJyYW5kPzogRW1haWxCcmFuZDtcbn1cblxuLyoqIFJlbmRlciB0aGUgb3B0aW9uYWwgZW52ZWxvcGUtaGVhZGVyIHRhYmxlIGJsb2NrLiAqL1xuZnVuY3Rpb24gbWV0YUJsb2NrKGhlYWRlcnM6IEVtYWlsSHRtbE9wdGlvbnNbXCJoZWFkZXJzXCJdKTogc3RyaW5nIHtcbiAgaWYgKCFoZWFkZXJzIHx8IGhlYWRlcnMubGVuZ3RoID09PSAwKSByZXR1cm4gXCJcIjtcbiAgY29uc3Qgcm93cyA9IGhlYWRlcnNcbiAgICAubWFwKChbbGFiZWwsIHZhbHVlXSkgPT4gYDx0cj48dGg+JHtlc2NhcGVIdG1sKGxhYmVsKX08L3RoPjx0ZD4ke2VzY2FwZUh0bWwodmFsdWUpfTwvdGQ+PC90cj5gKVxuICAgIC5qb2luKFwiXCIpO1xuICByZXR1cm4gYDx0YWJsZSByb2xlPVwicHJlc2VudGF0aW9uXCIgY2xhc3M9XCJtZXRhXCI+PHRib2R5PiR7cm93c308L3Rib2R5PjwvdGFibGU+YDtcbn1cblxuLyoqIFJlbmRlciB0aGUgb3B0aW9uYWwgZm9vdGVyIHJvdy4gKi9cbmZ1bmN0aW9uIGZvb3RlclJvdyhmb290ZXI6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gIGlmICghZm9vdGVyKSByZXR1cm4gXCJcIjtcbiAgcmV0dXJuIGBcbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJndXR0ZXJcIiBzdHlsZT1cInBhZGRpbmc6IDE2cHggMzJweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlYWVjZWY7IGNvbG9yOiAjOWFhMGE2OyBmb250LXNpemU6IDEycHg7IGxpbmUtaGVpZ2h0OiAxLjU7XCI+XG4gICAgICAgICAgICAgICR7ZXNjYXBlSHRtbChmb290ZXIpfVxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L3RyPmA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBoZWFkZXItYmFuZCBjb250ZW50OiB0aGUgYnJhbmQgbG9nbyAod2hlbiB0aGUgYnJhbmQgc3VwcGxpZXMgYVxuICogcmVuZGVyYWJsZSBpbWFnZSkgYWJvdmUgdGhlIHRpdGxlLCBvciBqdXN0IHRoZSB0aXRsZS4gVGhlIGxvZ28gaXMgY2FwcGVkXG4gKiBhdCB7QGxpbmsgTE9HT19IRUlHSFRfUFh9IGFuZCB0aW50ZWQgaW1wbGljaXRseSBieSBpdHMgb3duIGFydHdvcms7IHRoZVxuICogdGl0bGUgYWx3YXlzIHNob3dzIHNvIHRoZSBiYW5kIGlzIG5ldmVyIGVtcHR5LlxuICovXG5mdW5jdGlvbiBoZWFkZXJCYW5kKHRpdGxlOiBzdHJpbmcsIGJyYW5kOiBFbWFpbEJyYW5kLCBvbkFjY2VudDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgbG9nbyA9IGJyYW5kLmxvZ29VcmxcbiAgICA/IGA8aW1nIHNyYz1cIiR7ZXNjYXBlSHRtbChicmFuZC5sb2dvVXJsKX1cIiBhbHQ9XCIke2VzY2FwZUh0bWwoYnJhbmQubmFtZSA/PyB0aXRsZSl9XCIgaGVpZ2h0PVwiJHtMT0dPX0hFSUdIVF9QWH1cIiBzdHlsZT1cImhlaWdodDogJHtMT0dPX0hFSUdIVF9QWH1weDsgd2lkdGg6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tYm90dG9tOiA4cHg7XCIgLz5gXG4gICAgOiBcIlwiO1xuICByZXR1cm4gYCR7bG9nb308c3BhbiBzdHlsZT1cImNvbG9yOiAke29uQWNjZW50fTsgZm9udC1zaXplOiAxOHB4OyBmb250LXdlaWdodDogNzAwOyBsaW5lLWhlaWdodDogMS4zO1wiPiR7ZXNjYXBlSHRtbCh0aXRsZSl9PC9zcGFuPmA7XG59XG5cbi8qKlxuICogUmVuZGVyIGBib2R5YCAobWFya2Rvd24pIGludG8gYSBjb21wbGV0ZSwgc3R5bGUtaW5saW5lZCBlbWFpbCBkb2N1bWVudFxuICogdXNpbmcgdGhlIHJlc3BvbnNpdmUgbGF5b3V0LiBXaGVuIGBvcHRzLmJyYW5kYCBpcyBzZXQgaXRzIGFjY2VudCwgZm9udCxcbiAqIGFuZCBsb2dvIHN0eWxlIHRoZSBsYXlvdXQ7IG90aGVyd2lzZSBhIG5ldXRyYWwgZGVmYXVsdCBwYWxldHRlIGlzIHVzZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJFbWFpbEh0bWwob3B0czogRW1haWxIdG1sT3B0aW9ucyk6IHN0cmluZyB7XG4gIGNvbnN0IHRpdGxlID0gb3B0cy5zdWJqZWN0Py50cmltKCkgfHwgXCJNZXNzYWdlXCI7XG4gIGNvbnN0IGFjY2VudCA9IG9wdHMuYnJhbmQ/LmFjY2VudCA/PyBERUZBVUxUX0JSQU5ELmFjY2VudDtcbiAgY29uc3Qgb25BY2NlbnQgPSBvcHRzLmJyYW5kPy5vbkFjY2VudCA/PyBERUZBVUxUX0JSQU5ELm9uQWNjZW50O1xuICBjb25zdCBmb250RmFtaWx5ID0gb3B0cy5icmFuZD8uZm9udEZhbWlseSA/PyBERUZBVUxUX0JSQU5ELmZvbnRGYW1pbHk7XG4gIGNvbnN0IGJyYW5kOiBFbWFpbEJyYW5kID0gb3B0cy5icmFuZCA/PyB7IGFjY2VudCwgb25BY2NlbnQsIGZvbnRGYW1pbHkgfTtcbiAgY29uc3QgZG9jID0gYDwhZG9jdHlwZSBodG1sPlxuPGh0bWwgbGFuZz1cImVuXCI+XG4gIDxoZWFkPlxuICAgIDxtZXRhIGNoYXJzZXQ9XCJ1dGYtOFwiIC8+XG4gICAgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCIgY29udGVudD1cIndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xXCIgLz5cbiAgICA8bWV0YSBuYW1lPVwiY29sb3Itc2NoZW1lXCIgY29udGVudD1cImxpZ2h0IG9ubHlcIiAvPlxuICAgIDx0aXRsZT4ke2VzY2FwZUh0bWwodGl0bGUpfTwvdGl0bGU+XG4gICAgPHN0eWxlPiR7Y29udGVudENzcyhhY2NlbnQpfVxuICAgIDwvc3R5bGU+XG4gIDwvaGVhZD5cbiAgPGJvZHkgc3R5bGU9XCJtYXJnaW46IDA7IHBhZGRpbmc6IDA7IGJhY2tncm91bmQtY29sb3I6ICNmNGY1Zjc7IC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcIj5cbiAgICA8dGFibGUgcm9sZT1cInByZXNlbnRhdGlvblwiIHdpZHRoPVwiMTAwJVwiIGNlbGxwYWRkaW5nPVwiMFwiIGNlbGxzcGFjaW5nPVwiMFwiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjVmNztcIj5cbiAgICAgIDx0cj5cbiAgICAgICAgPHRkIGFsaWduPVwiY2VudGVyXCIgc3R5bGU9XCJwYWRkaW5nOiAyNHB4IDEycHg7XCI+XG4gICAgICAgICAgPHRhYmxlIHJvbGU9XCJwcmVzZW50YXRpb25cIiBjbGFzcz1cImNvbnRhaW5lclwiIHdpZHRoPVwiNjAwXCIgY2VsbHBhZGRpbmc9XCIwXCIgY2VsbHNwYWNpbmc9XCIwXCIgc3R5bGU9XCJ3aWR0aDogNjAwcHg7IG1heC13aWR0aDogMTAwJTsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgYm9yZGVyLXJhZGl1czogMTBweDsgb3ZlcmZsb3c6IGhpZGRlbjsgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwwLDAsMC4wOCk7IGZvbnQtZmFtaWx5OiAke2ZvbnRGYW1pbHl9O1wiPlxuICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJndXR0ZXJcIiBzdHlsZT1cInBhZGRpbmc6IDIwcHggMzJweDsgYmFja2dyb3VuZC1jb2xvcjogJHthY2NlbnR9O1wiPlxuICAgICAgICAgICAgICAgICR7aGVhZGVyQmFuZCh0aXRsZSwgYnJhbmQsIG9uQWNjZW50KX1cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImd1dHRlclwiIHN0eWxlPVwicGFkZGluZzogMjRweCAzMnB4IDhweDtcIj5cbiAgICAgICAgICAgICAgICAke21ldGFCbG9jayhvcHRzLmhlYWRlcnMpfVxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbWFpbC1ib2R5XCI+JHttYXJrZG93blRvSHRtbChvcHRzLmJvZHkpfTwvZGl2PlxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj4ke2Zvb3RlclJvdyhvcHRzLmZvb3Rlcil9XG4gICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC90YWJsZT5cbiAgPC9ib2R5PlxuPC9odG1sPlxuYDtcbiAgcmV0dXJuIGp1aWNlKGRvYyk7XG59XG4iXX0=
|
package/lib/src/outbox.d.ts
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* @module
|
|
14
14
|
*/
|
|
15
15
|
import type { EmailMessage } from "@dbx-tools/shared-email";
|
|
16
|
-
import type { EmailBrand } from "./brand.
|
|
16
|
+
import type { EmailBrand } from "./brand.ts";
|
|
17
17
|
/**
|
|
18
18
|
* Write one message as HTML under `<dir>/<from>/` and return the
|
|
19
19
|
* absolute path. The per-sender folder mirrors the SMTP `From`, so test
|
package/lib/src/outbox.js
CHANGED
|
@@ -57,4 +57,4 @@ export async function writeOutboxEmail(message, from, dir, brand) {
|
|
|
57
57
|
await writeFile(path, html, "utf8");
|
|
58
58
|
return path;
|
|
59
59
|
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0Ym94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL291dGJveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztHQWFHO0FBRUgsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWxEOzs7R0FHRztBQUNILE1BQU0sdUJBQXVCLEdBQUcsRUFBRSxDQUFDO0FBRW5DLDZEQUE2RDtBQUM3RCxTQUFTLFdBQVcsQ0FBQyxPQUFlO0lBQ2xDLE9BQU8sTUFBTSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEVBQUUsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDO0FBQzlGLENBQUM7QUFFRCxrRUFBa0U7QUFDbEUsU0FBUyxVQUFVLENBQUMsT0FBcUIsRUFBRSxJQUFZO0lBQ3JELE1BQU0sSUFBSSxHQUFpRDtRQUN6RCxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7UUFDZCxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQzVCLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNFLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7S0FDbkMsQ0FBQztJQUNGLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBMkIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hFLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxnQkFBZ0IsQ0FDcEMsT0FBcUIsRUFDckIsSUFBWSxFQUNaLEdBQVcsRUFDWCxLQUFrQjtJQUVsQixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2xDLE1BQU0sS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEYsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDO1FBQzNCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztRQUN4QixPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7UUFDbEMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1FBQ2xCLE1BQU0sRUFBRSxvRkFBb0Y7UUFDNUYsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0tBQzVCLENBQUMsQ0FBQztJQUNILE1BQU0sU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEMsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBGaWxlc3lzdGVtIG91dGJveCBmb3IgdGhlIG5vLVNNVFAgZmFsbGJhY2s6IHtAbGluayB3cml0ZU91dGJveEVtYWlsfVxuICogcGVyc2lzdHMgb25lIGRyYWZ0ZWQgbWVzc2FnZSBhcyBhIHN0YW5kYWxvbmUgSFRNTCBmaWxlIHVuZGVyXG4gKiBgPGRpcj4vPGZyb20+Lzx0aW1lc3RhbXA+LTxzdWJqZWN0LXNsdWc+Lmh0bWxgIGluc3RlYWQgb2Ygc2VuZGluZyBpdC5cbiAqIFRoaXMgbGV0cyB0aGUgYXBwcm92YWwgZmxvdyBhbmQgYWdlbnRzIGJlIGV4ZXJjaXNlZCBlbmQtdG8tZW5kIHdpdGhcbiAqIHplcm8gZW1haWwgY29uZmlndXJhdGlvbiAtIG9wZW4gdGhlIGZpbGUgaW4gYSBicm93c2VyIHRvIHNlZSBleGFjdGx5XG4gKiB3aGF0IHdvdWxkIGhhdmUgZ29uZSBvdXQgKHRoZSBIVE1MIG1hdGNoZXMgdGhlIFNNVFAgc2VuZCwgaGVhZGVyc1xuICogdGFibGUgYXNpZGUpLiBUaGUgYm9keSBpcyByZW5kZXJlZCArIHN0eWxlLWlubGluZWQgYnlcbiAqIHtAbGluayByZW5kZXJFbWFpbEh0bWx9LiBBdHRhY2htZW50cyBhcmUgbGlzdGVkIGJ5IGZpbGVuYW1lIGluIHRoZVxuICogaGVhZGVyIHRhYmxlIGJ1dCBub3Qgd3JpdHRlbiB0byBkaXNrIC0gdGhlIG91dGJveCBwcmV2aWV3cyB0aGVcbiAqIGVudmVsb3BlLCBpdCBkb2Vzbid0IHJlcHJvZHVjZSB0aGUgd2lyZSBwYXlsb2FkLlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuXG5pbXBvcnQgeyBta2Rpciwgd3JpdGVGaWxlIH0gZnJvbSBcIm5vZGU6ZnMvcHJvbWlzZXNcIjtcbmltcG9ydCB7IGpvaW4sIHJlc29sdmUgfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBzdHJpbmcgfSBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtY29yZVwiO1xuaW1wb3J0IHR5cGUgeyBFbWFpbE1lc3NhZ2UgfSBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtZW1haWxcIjtcbmltcG9ydCB0eXBlIHsgRW1haWxCcmFuZCB9IGZyb20gXCIuL2JyYW5kLnRzXCI7XG5pbXBvcnQgeyByZW5kZXJFbWFpbEh0bWwgfSBmcm9tIFwiLi9lbWFpbC1odG1sLnRzXCI7XG5cbi8qKlxuICogTG9uZ2VzdCBzdWJqZWN0IHNsdWcga2VwdCBpbiBhbiBvdXRib3ggZmlsZSBuYW1lLCBsZWF2aW5nIHJvb20gZm9yIHRoZVxuICogdGltZXN0YW1wIHByZWZpeCBhbmQgZXh0ZW5zaW9uIGluc2lkZSBjb21tb24gZmlsZXN5c3RlbSBuYW1lIGxpbWl0cy5cbiAqL1xuY29uc3QgU1VCSkVDVF9TTFVHX01BWF9MRU5HVEggPSA0ODtcblxuLyoqIEZpbGVzeXN0ZW0tc2FmZSBzbHVnIG9mIHRoZSBzdWJqZWN0IGZvciB0aGUgZmlsZSBuYW1lLiAqL1xuZnVuY3Rpb24gc3ViamVjdFNsdWcoc3ViamVjdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0cmluZy50b1NsdWdXaXRoT3B0aW9ucyh7IG1heExlbmd0aDogU1VCSkVDVF9TTFVHX01BWF9MRU5HVEggfSwgc3ViamVjdCkgfHwgXCJlbWFpbFwiO1xufVxuXG4vKiogVGhlIGVudmVsb3BlIHJvd3Mgc2hvd24gYWJvdmUgdGhlIGJvZHkgaW4gdGhlIHByZXZpZXcgZmlsZS4gKi9cbmZ1bmN0aW9uIGhlYWRlclJvd3MobWVzc2FnZTogRW1haWxNZXNzYWdlLCBmcm9tOiBzdHJpbmcpOiBBcnJheTxyZWFkb25seSBbc3RyaW5nLCBzdHJpbmddPiB7XG4gIGNvbnN0IHJvd3M6IEFycmF5PHJlYWRvbmx5IFtzdHJpbmcsIHN0cmluZyB8IHVuZGVmaW5lZF0+ID0gW1xuICAgIFtcIkZyb21cIiwgZnJvbV0sXG4gICAgW1wiVG9cIiwgbWVzc2FnZS50by5qb2luKFwiLCBcIildLFxuICAgIFtcIkNjXCIsIG1lc3NhZ2UuY2M/LmpvaW4oXCIsIFwiKV0sXG4gICAgW1wiQmNjXCIsIG1lc3NhZ2UuYmNjPy5qb2luKFwiLCBcIildLFxuICAgIFtcIlN1YmplY3RcIiwgbWVzc2FnZS5zdWJqZWN0XSxcbiAgICBbXCJBdHRhY2htZW50c1wiLCBtZXNzYWdlLmF0dGFjaG1lbnRzPy5tYXAoKGF0dCkgPT4gYXR0LmZpbGVuYW1lKS5qb2luKFwiLCBcIildLFxuICAgIFtcIkRhdGVcIiwgbmV3IERhdGUoKS50b0lTT1N0cmluZygpXSxcbiAgXTtcbiAgcmV0dXJuIHJvd3MuZmlsdGVyKChyb3cpOiByb3cgaXMgW3N0cmluZywgc3RyaW5nXSA9PiBCb29sZWFuKHJvd1sxXSkpO1xufVxuXG4vKipcbiAqIFdyaXRlIG9uZSBtZXNzYWdlIGFzIEhUTUwgdW5kZXIgYDxkaXI+Lzxmcm9tPi9gIGFuZCByZXR1cm4gdGhlXG4gKiBhYnNvbHV0ZSBwYXRoLiBUaGUgcGVyLXNlbmRlciBmb2xkZXIgbWlycm9ycyB0aGUgU01UUCBgRnJvbWAsIHNvIHRlc3RcbiAqIG91dHB1dCBncm91cHMgYnkgd2hvIHRoZSBtZXNzYWdlIHdvdWxkIGhhdmUgYmVlbiBzZW50IGFzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd3JpdGVPdXRib3hFbWFpbChcbiAgbWVzc2FnZTogRW1haWxNZXNzYWdlLFxuICBmcm9tOiBzdHJpbmcsXG4gIGRpcjogc3RyaW5nLFxuICBicmFuZD86IEVtYWlsQnJhbmQsXG4pOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBmb2xkZXIgPSByZXNvbHZlKGRpciwgZnJvbSk7XG4gIGF3YWl0IG1rZGlyKGZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIGNvbnN0IHBhdGggPSBqb2luKGZvbGRlciwgYCR7RGF0ZS5ub3coKX0tJHtzdWJqZWN0U2x1ZyhtZXNzYWdlLnN1YmplY3QpfS5odG1sYCk7XG4gIGNvbnN0IGh0bWwgPSByZW5kZXJFbWFpbEh0bWwoe1xuICAgIHN1YmplY3Q6IG1lc3NhZ2Uuc3ViamVjdCxcbiAgICBoZWFkZXJzOiBoZWFkZXJSb3dzKG1lc3NhZ2UsIGZyb20pLFxuICAgIGJvZHk6IG1lc3NhZ2UuYm9keSxcbiAgICBmb290ZXI6IFwiTG9jYWwgb3V0Ym94IHByZXZpZXcgLSB3cml0dGVuIHRvIGRpc2ssIG5vdCBzZW50IChubyBTTVRQIGNyZWRlbnRpYWxzIGNvbmZpZ3VyZWQpLlwiLFxuICAgIC4uLihicmFuZCA/IHsgYnJhbmQgfSA6IHt9KSxcbiAgfSk7XG4gIGF3YWl0IHdyaXRlRmlsZShwYXRoLCBodG1sLCBcInV0ZjhcIik7XG4gIHJldHVybiBwYXRoO1xufVxuIl19
|
package/lib/src/plugin.d.ts
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
import { Plugin, type IAppRouter } from "@databricks/appkit";
|
|
26
26
|
import { type AgentToolDefinition, type ToolProvider } from "@databricks/appkit/beta";
|
|
27
27
|
import { type EmailMessage, type EmailResult, type EmailSenders } from "@dbx-tools/shared-email";
|
|
28
|
-
import { type EmailPluginConfig } from "./config.
|
|
28
|
+
import { type EmailPluginConfig } from "./config.ts";
|
|
29
29
|
/**
|
|
30
30
|
* AppKit plugin that configures and verifies the SMTP transport used by
|
|
31
31
|
* the `send_email` tool, and exposes sending as an AppKit agent tool.
|
package/lib/src/plugin.js
CHANGED
|
@@ -291,4 +291,4 @@ function unwrap(result) {
|
|
|
291
291
|
* ```
|
|
292
292
|
*/
|
|
293
293
|
export const email = toPlugin(EmailPlugin);
|
|
294
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFFSCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixNQUFNLEVBQ04sUUFBUSxFQUNSLGVBQWUsR0FLaEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQ0wsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixpQkFBaUIsR0FJbEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0MsT0FBTyxFQUNMLEtBQUssSUFBSSxTQUFTLEdBSW5CLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLG1CQUFtQixFQUEwQixNQUFNLFVBQVUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEQsT0FBTyxFQUNMLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGdCQUFnQixFQUNoQixvQkFBb0IsR0FDckIsTUFBTSxhQUFhLENBQUM7QUFFckIsK0VBQStFO0FBQy9FLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQztBQUVqQyw0RUFBNEU7QUFDNUUsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDO0FBRXpCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7QUFFbkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFD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QyxPQUFPLENBQUMsQ0FBQztJQUM1RCxJQUFJLE1BQU0sS0FBSyxHQUFHO1FBQUUsT0FBTyxJQUFJLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4RCxPQUFPLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3JDLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFTLE1BQU0sQ0FBSSxNQUEwQjtJQUMzQyxJQUFJLE1BQU0sQ0FBQyxFQUFFO1FBQUUsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2xDLE1BQU0sYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3JELENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFwcEtpdCBwbHVnaW4gKHJlZ2lzdGVyZWQgbmFtZTogYGVtYWlsYCkgdGhhdCBvd25zIHRoZSBTTVRQIHJ1bnRpbWVcbiAqIGZvciBvdXRib3VuZCBtYWlsLiBSZWdpc3RlcmluZyBpdCB2YWxpZGF0ZXMgdGhlIFNNVFAgY29uZmlndXJhdGlvblxuICogYW5kIHZlcmlmaWVzIGNvbm5lY3Rpdml0eSBhdCBzdGFydHVwLCBzbyBhIGJhZCBob3N0IC8gY3JlZGVudGlhbFxuICogc3VyZmFjZXMgaW4gdGhlIGJvb3QgbG9ncyBpbnN0ZWFkIG9mIG9uIHRoZSBmaXJzdCBhcHByb3ZlZCBzZW5kLCBhbmRcbiAqIGluc3RhbGxzIHRoaXMgcGx1Z2luJ3MgYGV4ZWN1dGUoKWAgYXMgdGhlIHJ1bnRpbWUncyBleGVjdXRvciBzbyBldmVyeVxuICogc2VuZCBwaWNrcyB1cCBBcHBLaXQncyByZXRyeSAvIHRpbWVvdXQgLyB0ZWxlbWV0cnkgY2hhaW4uXG4gKlxuICogVGhlIHBsdWdpbiBpcyBhbHNvIGEgYFRvb2xQcm92aWRlcmAsIHNvIGFuIEFwcEtpdCBhZ2VudCBjYW4gcmVhY2ggYW5cbiAqIGBlbWFpbC5zZW5kYCB0b29sIGRpcmVjdGx5OyB0aGUge0BsaW5rIGVtYWlsVG9vbH0gZXhwb3J0IGlzIHRoZSBzYW1lXG4gKiBjYXBhYmlsaXR5IGZvciBhIE1hc3RyYSBhZ2VudC4gQm90aCBzaGFyZSB0aGUgdHJhbnNwb3J0IHByaW1lZCBoZXJlLFxuICogYW5kIHtAbGluayBzZW5kRW1haWx9IGlzIGF2YWlsYWJsZSB0byBub24tYWdlbnQgY2FsbGVycy5cbiAqXG4gKiBDb25maWd1cmF0aW9uIGlzIHRoZSBtYW5pZmVzdC1wdWJsaXNoZWQge0BsaW5rIEVtYWlsUGx1Z2luQ29uZmlnfVxuICogKFNNVFAgaG9zdC9wb3J0L2NyZWRlbnRpYWxzLCBzZW5kZXIgZG9tYWluIG9yIGV4cGxpY2l0IGBmcm9tYCwgdGhlXG4gKiBzZW5kZXIgcG9saWN5LCBhbmQgYW4gb3B0aW9uYWwgYGFsbG93ZWRTZW5kZXJzYCByZXN0cmljdGlvbiksIHdpdGhcbiAqIHVucHJlZml4ZWQgYFNNVFBfKmAgLyBgRU1BSUxfKmAgZW52aXJvbm1lbnQgZmFsbGJhY2tzLlxuICpcbiAqIFRoZSBwbHVnaW4gbW91bnRzIG9uZSByb3V0ZSB1bmRlciBpdHMgYmFzZSBwYXRoIChgL2FwaS9lbWFpbGApOlxuICogYEdFVCAvc2VuZGVyc2AgcmV0dXJucyB0aGUgcGVybWl0dGVkIGBGcm9tYCBvcHRpb25zIGZvciB0aGUgY2FsbGluZ1xuICogdXNlciwgc28gYSBjb21wb3NlIFVJIGNhbiBvZmZlciB0aGVtIGluIGEgZHJvcGRvd24uXG4gKlxuICogQG1vZHVsZVxuICovXG5cbmltcG9ydCB7XG4gIEF1dGhlbnRpY2F0aW9uRXJyb3IsXG4gIENvbmZpZ3VyYXRpb25FcnJvcixcbiAgQ29ubmVjdGlvbkVycm9yLFxuICBFeGVjdXRpb25FcnJvcixcbiAgZ2V0RXhlY3V0aW9uQ29udGV4dCxcbiAgUGx1Z2luLFxuICB0b1BsdWdpbixcbiAgVmFsaWRhdGlvbkVycm9yLFxuICB0eXBlIEFwcEtpdEVycm9yLFxuICB0eXBlIEV4ZWN1dGlvblJlc3VsdCxcbiAgdHlwZSBJQXBwUm91dGVyLFxuICB0eXBlIFBsdWdpbk1hbmlmZXN0LFxufSBmcm9tIFwiQGRhdGFicmlja3MvYXBwa2l0XCI7XG5pbXBvcnQge1xuICBkZWZpbmVUb29sLFxuICBleGVjdXRlRnJvbVJlZ2lzdHJ5LFxuICB0b29sc0Zyb21SZWdpc3RyeSxcbiAgdHlwZSBBZ2VudFRvb2xEZWZpbml0aW9uLFxuICB0eXBlIFRvb2xQcm92aWRlcixcbiAgdHlwZSBUb29sUmVnaXN0cnksXG59IGZyb20gXCJAZGF0YWJyaWNrcy9hcHBraXQvYmV0YVwiO1xuaW1wb3J0IHsgbG9nIH0gZnJvbSBcIkBkYngtdG9vbHMvc2hhcmVkLWNvcmVcIjtcbmltcG9ydCB7XG4gIGVtYWlsIGFzIGVtYWlsV2lyZSxcbiAgdHlwZSBFbWFpbE1lc3NhZ2UsXG4gIHR5cGUgRW1haWxSZXN1bHQsXG4gIHR5cGUgRW1haWxTZW5kZXJzLFxufSBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtZW1haWxcIjtcbmltcG9ydCB7IEVNQUlMX0NPTkZJR19TQ0hFTUEsIHR5cGUgRW1haWxQbHVnaW5Db25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCB7IEVNQUlMX1NFTkRFUlNfU0VUVElOR1MsIEVNQUlMX1ZFUklGWV9TRVRUSU5HUyB9IGZyb20gXCIuL2RlZmF1bHRzXCI7XG5pbXBvcnQgeyBpc1NlbmRlckFsbG93ZWQsIGxpc3RTZW5kZXJPcHRpb25zLCByZXNvbHZlU2VuZGVyQWRkcmVzcyB9IGZyb20gXCIuL3NlbmRlclwiO1xuaW1wb3J0IHsgU0VORF9FTUFJTF9ERVNDUklQVElPTiB9IGZyb20gXCIuL3Rvb2xcIjtcbmltcG9ydCB7XG4gIGdldEVtYWlsUnVudGltZSxcbiAgcmVzZXRFbWFpbFJ1bnRpbWUsXG4gIHNlbmRFbWFpbCxcbiAgc2V0RW1haWxFeGVjdXRvcixcbiAgdmVyaWZ5RW1haWxUcmFuc3BvcnQsXG59IGZyb20gXCIuL3RyYW5zcG9ydFwiO1xuXG4vKiogTW91bnQtcmVsYXRpdmUgcm91dGUgKHVuZGVyIGAvYXBpL2VtYWlsYCkgZm9yIHRoZSBzZW5kZXItb3B0aW9ucyBsb29rdXAuICovXG5jb25zdCBTRU5ERVJTX1JPVVRFID0gXCIvc2VuZGVyc1wiO1xuXG4vKiogUmVnaXN0cnkga2V5IG9mIHRoZSBhZ2VudCB0b29sLCB3aGljaCBhZ2VudHMgYWRkcmVzcyBhcyBgZW1haWwuc2VuZGAuICovXG5jb25zdCBTRU5EX1RPT0wgPSBcInNlbmRcIjtcblxuY29uc3QgbG9nZ2VyID0gbG9nLmxvZ2dlcihcImVtYWlsXCIpO1xuXG4vKipcbiAqIEFwcEtpdCBwbHVnaW4gdGhhdCBjb25maWd1cmVzIGFuZCB2ZXJpZmllcyB0aGUgU01UUCB0cmFuc3BvcnQgdXNlZCBieVxuICogdGhlIGBzZW5kX2VtYWlsYCB0b29sLCBhbmQgZXhwb3NlcyBzZW5kaW5nIGFzIGFuIEFwcEtpdCBhZ2VudCB0b29sLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgY3JlYXRlQXBwLCBzZXJ2ZXIgfSBmcm9tIFwiQGRhdGFicmlja3MvYXBwa2l0XCI7XG4gKiBpbXBvcnQgeyBwbHVnaW4gYXMgZW1haWxQbHVnaW4gfSBmcm9tIFwiQGRieC10b29scy9lbWFpbFwiO1xuICpcbiAqIGF3YWl0IGNyZWF0ZUFwcCh7XG4gKiAgIHBsdWdpbnM6IFtcbiAqICAgICBzZXJ2ZXIoKSxcbiAqICAgICBlbWFpbFBsdWdpbi5lbWFpbCh7XG4gKiAgICAgICBzbXRwOiB7IGhvc3Q6IFwic210cC5leGFtcGxlLmNvbVwiLCB1c2VyOiBcImFwaWtleVwiLCBwYXNzd29yZDogcHJvY2Vzcy5lbnYuU01UUF9LRVkgfSxcbiAqICAgICAgIGRvbWFpbjogXCJtYWlsLmV4YW1wbGUuY29tXCIsXG4gKiAgICAgfSksXG4gKiAgIF0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgRW1haWxQbHVnaW4gZXh0ZW5kcyBQbHVnaW48RW1haWxQbHVnaW5Db25maWc+IGltcGxlbWVudHMgVG9vbFByb3ZpZGVyIHtcbiAgc3RhdGljIG1hbmlmZXN0ID0ge1xuICAgIG5hbWU6IFwiZW1haWxcIixcbiAgICBkaXNwbGF5TmFtZTogXCJFbWFpbFwiLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJTZW5kcyBhcHByb3ZhbC1nYXRlZCBlbWFpbCBvdmVyIFNNVFAsIHdpdGggdGhlIHNlbmRlciBkZXJpdmVkIGZyb20gXCIgK1xuICAgICAgXCJ0aGUgb24tYmVoYWxmLW9mIHVzZXIncyBhZGRyZXNzIG9uIGEgY29uZmlndXJlZCBkb21haW4uXCIsXG4gICAgc3RhYmlsaXR5OiBcImJldGFcIixcbiAgICByZXNvdXJjZXM6IHtcbiAgICAgIHJlcXVpcmVkOiBbXSxcbiAgICAgIG9wdGlvbmFsOiBbXSxcbiAgICB9LFxuICAgIGNvbmZpZzogeyBzY2hlbWE6IEVNQUlMX0NPTkZJR19TQ0hFTUEgfSxcbiAgfSBzYXRpc2ZpZXMgUGx1Z2luTWFuaWZlc3Q8XCJlbWFpbFwiPjtcblxuICAvKipcbiAgICogVGhlIHRvb2wgdGhpcyBwbHVnaW4gb2ZmZXJzIHRvIGFuIEFwcEtpdCBhZ2VudC5cbiAgICpcbiAgICogTm90IGBhdXRvSW5oZXJpdGFibGVgOiBhIHNlbmQgaXMgaXJyZXZlcnNpYmxlIGFuZCBsZWF2ZXMgdGhlIHdvcmtzcGFjZSxcbiAgICogc28gaXQgbXVzdCBvbmx5IGFwcGVhciBpbiBhbiBhZ2VudCB0aGF0IGFza2VkIGZvciBpdCBhbmQgYWNjZXB0ZWQgdGhlXG4gICAqIHNlbmRlciBwb2xpY3kgdGhhdCBjb21lcyB3aXRoIGl0LlxuICAgKlxuICAgKiBgZXhlY3V0ZWAgcmUtcGFyc2VzIGl0cyBhcmd1bWVudHMgd2l0aCB0aGUgbG9jYWwgc2NoZW1hOiBBcHBLaXQgdmFsaWRhdGVzXG4gICAqIGFnYWluc3QgdGhlIHNhbWUgc2NoZW1hIGZpcnN0LCBidXQgcmUtcGFyc2luZyBpcyB3aGF0IGdpdmVzIHRoZSBib2R5IHR5cGVkXG4gICAqIGFyZ3VtZW50cyBpbnN0ZWFkIG9mIGB1bmtub3duYC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgdG9vbHM6IFRvb2xSZWdpc3RyeSA9IHtcbiAgICBbU0VORF9UT09MXTogZGVmaW5lVG9vbCh7XG4gICAgICBkZXNjcmlwdGlvbjogU0VORF9FTUFJTF9ERVNDUklQVElPTixcbiAgICAgIHNjaGVtYTogZW1haWxXaXJlLmVtYWlsTWVzc2FnZVNjaGVtYSxcbiAgICAgIGFubm90YXRpb25zOiB7IGVmZmVjdDogXCJ3cml0ZVwiLCByZXF1aXJlc1VzZXJDb250ZXh0OiB0cnVlIH0sXG4gICAgICBhdXRvSW5oZXJpdGFibGU6IGZhbHNlLFxuICAgICAgZXhlY3V0ZTogYXN5bmMgKGFyZ3MsIHNpZ25hbCkgPT5cbiAgICAgICAgdGhpcy5zZW5kKGVtYWlsV2lyZS5lbWFpbE1lc3NhZ2VTY2hlbWEucGFyc2UoYXJncyksIHVuZGVmaW5lZCwgc2lnbmFsKSxcbiAgICB9KSxcbiAgfTtcblxuICAvKipcbiAgICogUHJpbWUgdGhlIHNoYXJlZCBydW50aW1lIGZyb20gdGhpcyBwbHVnaW4ncyBjb25maWcgKG92ZXIgZW52KSwgcm91dGUgdGhlXG4gICAqIHRvb2xzJyBzZW5kcyB0aHJvdWdoIHRoaXMgcGx1Z2luJ3MgaW50ZXJjZXB0b3IgY2hhaW4sIGFuZCBsb2cgdGhlXG4gICAqIGVmZmVjdGl2ZSBzZW5kZXIgcG9saWN5IHNvIGFuIGFjdGl2ZSByZXN0cmljdGlvbiBpcyBvYnZpb3VzIGF0IGJvb3QuIEluXG4gICAqIFNNVFAgbW9kZSwgZmFpbCBzZXR1cCB3aGVuIHRoZSB0cmFuc3BvcnQgY2Fubm90IGJlIHZlcmlmaWVkOiBhIGJhZCBob3N0XG4gICAqIG9yIGNyZWRlbnRpYWwgaXMgYSBkZXBsb3ktdGltZSBtaXN0YWtlIGFuZCBzaG91bGQgc3RvcCB0aGUgYXBwIHJhdGhlclxuICAgKiB0aGFuIHdhaXQgZm9yIGEgdXNlciB0byBhcHByb3ZlIGEgc2VuZCB0aGF0IGNhbm5vdCB3b3JrLiBXaXRoIG5vIFNNVFBcbiAgICogY3JlZGVudGlhbHMgdGhlIHJ1bnRpbWUgaXMgaW4gZmlsZS9vdXRib3ggbW9kZSAob25seSB3aGVuXG4gICAqIGBFTUFJTF9PVVRCT1hfTU9ERWAgaXMgc2V0KSwgbG9nZ2VkIGxvdWRseSBoZXJlIHNvIGl0IGlzIG9idmlvdXMgbWFpbFxuICAgKiBpcyBiZWluZyB3cml0dGVuIHRvIGRpc2sgcmF0aGVyIHRoYW4gc2VudC5cbiAgICovXG4gIG92ZXJyaWRlIGFzeW5jIHNldHVwKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgdHJhbnNwb3J0ZXIsIGNvbmZpZyB9ID0gZ2V0RW1haWxSdW50aW1lKHRoaXMuY29uZmlnKTtcbiAgICBzZXRFbWFpbEV4ZWN1dG9yKChmbiwgc2V0dGluZ3MpID0+IHRoaXMuZXhlY3V0ZShmbiwgc2V0dGluZ3MpKTtcbiAgICBjb25zdCBwb2xpY3kgPSB7XG4gICAgICBtb2RlOiBjb25maWcubW9kZSxcbiAgICAgIHNlbmRlclBvbGljeTogY29uZmlnLnNlbmRlclBvbGljeSxcbiAgICAgIHJlc3RyaWN0ZWQ6IGNvbmZpZy5hbGxvd2VkU2VuZGVycy5sZW5ndGggPiAwLFxuICAgICAgLi4uKGNvbmZpZy5hbGxvd2VkU2VuZGVycy5sZW5ndGggPiAwID8geyBhbGxvd2VkU2VuZGVyczogY29uZmlnLmFsbG93ZWRTZW5kZXJzIH0gOiB7fSksXG4gICAgfTtcbiAgICBpZiAoY29uZmlnLm1vZGUgPT09IFwiZmlsZVwiKSB7XG4gICAgICBsb2dnZXIud2FybihcIm91dGJveDplbmFibGVkXCIsIHtcbiAgICAgICAgZGlyOiBjb25maWcub3V0RGlyLFxuICAgICAgICByZWFzb246IFwibm8gU01UUCBjcmVkZW50aWFscyBjb25maWd1cmVkOyBlbWFpbHMgYXJlIHdyaXR0ZW4gdG8gZGlzayBpbnN0ZWFkIG9mIHNlbnRcIixcbiAgICAgIH0pO1xuICAgICAgbG9nZ2VyLmluZm8oXCJyZWFkeVwiLCBwb2xpY3kpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB2ZXJpZmllZCA9IGF3YWl0IHRoaXMuZXhlY3V0ZShcbiAgICAgIGFzeW5jIChzaWduYWwpID0+IHZlcmlmeUVtYWlsVHJhbnNwb3J0KHRyYW5zcG9ydGVyLCBzaWduYWwpLFxuICAgICAgRU1BSUxfVkVSSUZZX1NFVFRJTkdTLFxuICAgICk7XG4gICAgaWYgKCF2ZXJpZmllZC5vaykge1xuICAgICAgbG9nZ2VyLmVycm9yKFwic210cDp1bnZlcmlmaWVkXCIsIHtcbiAgICAgICAgaG9zdDogY29uZmlnLmhvc3QsXG4gICAgICAgIHBvcnQ6IGNvbmZpZy5wb3J0LFxuICAgICAgICBzdGF0dXM6IHZlcmlmaWVkLnN0YXR1cyxcbiAgICAgICAgZXJyb3I6IHZlcmlmaWVkLm1lc3NhZ2UsXG4gICAgICB9KTtcbiAgICAgIHRocm93IENvbmZpZ3VyYXRpb25FcnJvci5pbnZhbGlkQ29ubmVjdGlvbihcbiAgICAgICAgXCJTTVRQXCIsXG4gICAgICAgIGBDb3VsZCBub3QgdmVyaWZ5ICR7Y29uZmlnLmhvc3R9OiR7Y29uZmlnLnBvcnR9LiBDaGVjayBTTVRQX0hPU1QsIFNNVFBfUE9SVCwgU01UUF9TRUNVUkUsIGFuZCB0aGUgY3JlZGVudGlhbHMsIG9yIHNldCBFTUFJTF9PVVRCT1hfTU9ERT0xIGZvciBsb2NhbCBvdXRib3ggdGVzdGluZy5gLFxuICAgICAgKTtcbiAgICB9XG4gICAgbG9nZ2VyLmluZm8oXCJyZWFkeVwiLCB7XG4gICAgICAuLi5wb2xpY3ksXG4gICAgICBob3N0OiBjb25maWcuaG9zdCxcbiAgICAgIHBvcnQ6IGNvbmZpZy5wb3J0LFxuICAgICAgc2VjdXJlOiBjb25maWcuc2VjdXJlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqIENsb3NlIHRoZSBTTVRQIGNvbm5lY3Rpb24gcG9vbC4gSWRlbXBvdGVudC4gKi9cbiAgYXN5bmMgc2h1dGRvd24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmVzZXRFbWFpbFJ1bnRpbWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBYm9ydCBpbi1mbGlnaHQgd29yay4gQXBwS2l0J3MgZ3JhY2VmdWwgc2h1dGRvd24gb25seSBpbnZva2VzIHRoaXMgaG9vayAtXG4gICAqIGl0IG5ldmVyIGNhbGxzIHtAbGluayBzaHV0ZG93bn0gLSBzbyB0aGUgU01UUCBwb29sIGlzIGNsb3NlZCBmcm9tIGhlcmUgb3JcbiAgICogaXQgbGVha3MgYXQgU0lHVEVSTS4gVGhlIHRlYXJkb3duIGlzIHN5bmNocm9ub3VzIGFuZCBpZGVtcG90ZW50LCBzbyB0aGVcbiAgICogdW4tYXdhaXRlZCBjYWxsIGNvc3RzIG5vdGhpbmcuXG4gICAqL1xuICBvdmVycmlkZSBhYm9ydEFjdGl2ZU9wZXJhdGlvbnMoKTogdm9pZCB7XG4gICAgc3VwZXIuYWJvcnRBY3RpdmVPcGVyYXRpb25zKCk7XG4gICAgdm9pZCB0aGlzLnNodXRkb3duKCk7XG4gIH1cblxuICAvKipcbiAgICogRXhwb3NlIHRoZSBzZW5kZXItb3B0aW9ucyBsb29rdXAgc28gVUkgY29tcG9zZSB2aWV3cyBjYW4gcG9wdWxhdGUgYVxuICAgKiBgRnJvbWAgZHJvcGRvd24gZnJvbSB0aGUgY29uZmlndXJlZCBhbGxvdy1saXN0LiBNb3VudGVkIHVuZGVyIHRoZVxuICAgKiBwbHVnaW4gYmFzZSBwYXRoLCBpLmUuIGBHRVQgL2FwaS9lbWFpbC9zZW5kZXJzYC4gUnVucyBpbiB0aGUgT0JPXG4gICAqIHVzZXIgc2NvcGUgc28gZG9tYWluIHdpbGRjYXJkcyByZXNvbHZlIGFnYWluc3QgdGhlIGNhbGxlcidzIG93blxuICAgKiBsb2NhbCBwYXJ0LlxuICAgKi9cbiAgb3ZlcnJpZGUgaW5qZWN0Um91dGVzKHJvdXRlcjogSUFwcFJvdXRlcik6IHZvaWQge1xuICAgIHRoaXMucm91dGUocm91dGVyLCB7XG4gICAgICBuYW1lOiBcImxpc3RTZW5kZXJzXCIsXG4gICAgICBtZXRob2Q6IFwiZ2V0XCIsXG4gICAgICBwYXRoOiBTRU5ERVJTX1JPVVRFLFxuICAgICAgaGFuZGxlcjogYXN5bmMgKHJlcSwgcmVzKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuYXNVc2VyKHJlcSkuZXhlY3V0ZUxpc3RTZW5kZXJzKCk7XG4gICAgICAgIGlmICghcmVzdWx0Lm9rKSB7XG4gICAgICAgICAgcmVzLnN0YXR1cyhyZXN1bHQuc3RhdHVzKS5qc29uKHsgZXJyb3I6IHJlc3VsdC5tZXNzYWdlIH0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICByZXMuanNvbihyZXN1bHQuZGF0YSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgZXhwb3J0cygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZW5kIGEgbWVzc2FnZSBpbW1lZGlhdGVseSBmcm9tIGBmcm9tYCB0aHJvdWdoIHRoZSBzaGFyZWRcbiAgICAgICAqIHRyYW5zcG9ydCwgYnlwYXNzaW5nIHRoZSBhcHByb3ZhbCBmbG93LiBGb3IgYWdlbnQtZHJpdmVuIHNlbmRzXG4gICAgICAgKiB1c2Uge0BsaW5rIGVtYWlsVG9vbH0gaW5zdGVhZC5cbiAgICAgICAqL1xuICAgICAgc2VuZEVtYWlsOiAoXG4gICAgICAgIG1lc3NhZ2U6IEVtYWlsTWVzc2FnZSxcbiAgICAgICAgZnJvbTogc3RyaW5nLFxuICAgICAgICBzaWduYWw/OiBBYm9ydFNpZ25hbCxcbiAgICAgICk6IFByb21pc2U8RW1haWxSZXN1bHQ+ID0+IHRoaXMuc2VuZChtZXNzYWdlLCBmcm9tLCBzaWduYWwpLFxuICAgICAgLyoqXG4gICAgICAgKiBTZW5kZXIgb3B0aW9ucyBmb3IgdGhlIGN1cnJlbnQgdXNlciAodGhlIGBHRVQgL3NlbmRlcnNgIHBheWxvYWQpLlxuICAgICAgICogQXBwS2l0IHdyYXBzIHRoaXMgd2l0aCBgYXNVc2VyKHJlcSlgIGZvciBPQk8gc2NvcGluZy5cbiAgICAgICAqL1xuICAgICAgbGlzdFNlbmRlcnM6IGFzeW5jICgpOiBQcm9taXNlPEVtYWlsU2VuZGVycz4gPT4gdW53cmFwKGF3YWl0IHRoaXMuZXhlY3V0ZUxpc3RTZW5kZXJzKCkpLFxuICAgIH07XG4gIH1cblxuICAvKiogQXBwS2l0IGBUb29sUHJvdmlkZXJgOiB0aGUgdG9vbCBkZWZpbml0aW9ucyBvZmZlcmVkIHRvIGFuIGFnZW50LiAqL1xuICBnZXRBZ2VudFRvb2xzKCk6IEFnZW50VG9vbERlZmluaXRpb25bXSB7XG4gICAgcmV0dXJuIHRvb2xzRnJvbVJlZ2lzdHJ5KHRoaXMudG9vbHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcEtpdCBgVG9vbFByb3ZpZGVyYDogcnVuIG9uZSB0b29sIGNhbGwuIEFyZ3VtZW50cyBhcmUgdmFsaWRhdGVkIGFnYWluc3RcbiAgICogdGhlIHRvb2wncyBzY2hlbWEgZmlyc3QsIGFuZCBhIHZhbGlkYXRpb24gZmFpbHVyZSBjb21lcyBiYWNrIGFzIGFuXG4gICAqIExMTS1mcmllbmRseSBzdHJpbmcgc28gdGhlIG1vZGVsIGNhbiBjb3JyZWN0IGl0c2VsZiBvbiB0aGUgbmV4dCB0dXJuLlxuICAgKi9cbiAgYXN5bmMgZXhlY3V0ZUFnZW50VG9vbChuYW1lOiBzdHJpbmcsIGFyZ3M6IHVua25vd24sIHNpZ25hbD86IEFib3J0U2lnbmFsKTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgcmV0dXJuIGV4ZWN1dGVGcm9tUmVnaXN0cnkodGhpcy50b29scywgbmFtZSwgYXJncywgc2lnbmFsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZW5kIG9uZSBtZXNzYWdlLCByZXNvbHZpbmcgdGhlIHNlbmRlciBmb3IgdGhlIGNhbGxlciBpbiBzY29wZSB3aGVuXG4gICAqIGBmcm9tYCBpcyBub3QgcGlubmVkLiBUaGUgaW50ZXJjZXB0b3IgY2hhaW4gaXMgYXBwbGllZCBpbnNpZGVcbiAgICoge0BsaW5rIHNlbmRFbWFpbH0gdGhyb3VnaCB0aGUgZXhlY3V0b3IgaW5zdGFsbGVkIGF0IHNldHVwLCBzbyB0aGlzIG11c3RcbiAgICogbm90IHdyYXAgaXQgYWdhaW4uXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIHNlbmQoXG4gICAgbWVzc2FnZTogRW1haWxNZXNzYWdlLFxuICAgIGZyb206IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBzaWduYWw/OiBBYm9ydFNpZ25hbCxcbiAgKTogUHJvbWlzZTxFbWFpbFJlc3VsdD4ge1xuICAgIHJldHVybiBzZW5kRW1haWwobWVzc2FnZSwgZnJvbSA/PyB0aGlzLnJlc29sdmVTZW5kZXIoKSwgc2lnbmFsKTtcbiAgfVxuXG4gIC8qKiBSdW4gdGhlIHNlbmRlci1vcHRpb25zIGxvb2t1cCB0aHJvdWdoIHRoZSBwbHVnaW4ncyBpbnRlcmNlcHRvciBjaGFpbi4gKi9cbiAgcHJpdmF0ZSBhc3luYyBleGVjdXRlTGlzdFNlbmRlcnMoKTogUHJvbWlzZTxFeGVjdXRpb25SZXN1bHQ8RW1haWxTZW5kZXJzPj4ge1xuICAgIHJldHVybiB0aGlzLmV4ZWN1dGUoYXN5bmMgKCkgPT4gdGhpcy5saXN0U2VuZGVycygpLCBFTUFJTF9TRU5ERVJTX1NFVFRJTkdTKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wdXRlIHRoZSBgRnJvbWAgb3B0aW9ucyBvZmZlcmVkIHRvIHRoZSBjdXJyZW50IHVzZXI6IHRoZSBjb25jcmV0ZVxuICAgKiBhZGRyZXNzZXMgdGhlIGVmZmVjdGl2ZSBhbGxvdy1saXN0IHBlcm1pdHMgKGRvbWFpbiB3aWxkY2FyZHMgZXhwYW5kZWRcbiAgICogYWdhaW5zdCB0aGUgT0JPIHVzZXIncyBsb2NhbCBwYXJ0KSwgdGhlIGRlZmF1bHQgYW1vbmcgdGhlbSwgYW5kXG4gICAqIHdoZXRoZXIgdGhlIGxpc3QgaXMgYW4gZW5mb3JjZWQgcmVzdHJpY3Rpb24uIFNlZVxuICAgKiB7QGxpbmsgbGlzdFNlbmRlck9wdGlvbnN9LlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBsaXN0U2VuZGVycygpOiBQcm9taXNlPEVtYWlsU2VuZGVycz4ge1xuICAgIGNvbnN0IHsgY29uZmlnIH0gPSBnZXRFbWFpbFJ1bnRpbWUoKTtcbiAgICBjb25zdCBzZW5kZXJzID0gbGlzdFNlbmRlck9wdGlvbnMoY29uZmlnLCBjdXJyZW50VXNlckVtYWlsKCkpO1xuICAgIC8vIFByZWZlciB0aGUgYWRkcmVzcyBhIHNlbmQgd291bGQgYWN0dWFsbHkgZGVmYXVsdCB0bzsgZmFsbCBiYWNrIHRvXG4gICAgLy8gdGhlIGZpcnN0IG9mZmVyZWQgb3B0aW9uIHdoZW4gdGhhdCBjYW4ndCBiZSByZXNvbHZlZCAvIHBlcm1pdHRlZC5cbiAgICBsZXQgZGVmYXVsdFNlbmRlciA9IHNlbmRlcnNbMF07XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc29sdmVkID0gdGhpcy5yZXNvbHZlU2VuZGVyKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgIGlmIChpc1NlbmRlckFsbG93ZWQocmVzb2x2ZWQsIGNvbmZpZy5hbGxvd2VkU2VuZGVycykpIGRlZmF1bHRTZW5kZXIgPSByZXNvbHZlZDtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIEtlZXAgdGhlIGZpcnN0IG9mZmVyZWQgb3B0aW9uIChvciBub25lKSBhcyB0aGUgZGVmYXVsdC5cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHNlbmRlcnMsXG4gICAgICAuLi4oZGVmYXVsdFNlbmRlciA/IHsgZGVmYXVsdFNlbmRlciB9IDoge30pLFxuICAgICAgcmVzdHJpY3RlZDogY29uZmlnLmFsbG93ZWRTZW5kZXJzLmxlbmd0aCA+IDAsXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBUaGUgYEZyb21gIGEgc2VuZCBkZWZhdWx0cyB0byBmb3IgdGhlIGNhbGxlciBpbiBzY29wZS4gKi9cbiAgcHJpdmF0ZSByZXNvbHZlU2VuZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHJlc29sdmVTZW5kZXJBZGRyZXNzKGdldEVtYWlsUnVudGltZSgpLmNvbmZpZywgY3VycmVudFVzZXJFbWFpbCgpKTtcbiAgfVxufVxuXG4vKiogVGhlIE9CTyB1c2VyJ3MgYWRkcmVzcywgb3IgdW5kZWZpbmVkIG91dHNpZGUgYSB1c2VyIGNvbnRleHQuICovXG5mdW5jdGlvbiBjdXJyZW50VXNlckVtYWlsKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGN0eCA9IGdldEV4ZWN1dGlvbkNvbnRleHQoKTtcbiAgcmV0dXJuIFwiaXNVc2VyQ29udGV4dFwiIGluIGN0eCA/IGN0eC51c2VyRW1haWwgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogUmUtcmFpc2UgYSBmYWlsZWQgZXhlY3V0aW9uIGFzIHRoZSBBcHBLaXQgZXJyb3IgY2xhc3MgdGhhdCBhbHJlYWR5IGNhcnJpZXNcbiAqIHRoZSBzdGF0dXMgQXBwS2l0IHJlc29sdmVkLCBzbyBhIHByb2dyYW1tYXRpYyBjYWxsZXIgc2VlcyB0aGUgc2FtZSA0MDAgL1xuICogNDAxIC8gNTAzIGFuIEhUVFAgY2FsbGVyIHdvdWxkLlxuICovXG5mdW5jdGlvbiB0b0FwcEtpdEVycm9yKHN0YXR1czogbnVtYmVyLCBtZXNzYWdlOiBzdHJpbmcpOiBBcHBLaXRFcnJvciB7XG4gIGlmIChzdGF0dXMgPT09IDQwMCkgcmV0dXJuIG5ldyBWYWxpZGF0aW9uRXJyb3IobWVzc2FnZSk7XG4gIGlmIChzdGF0dXMgPT09IDQwMSkgcmV0dXJuIG5ldyBBdXRoZW50aWNhdGlvbkVycm9yKG1lc3NhZ2UpO1xuICBpZiAoc3RhdHVzID09PSA1MDMpIHJldHVybiBuZXcgQ29ubmVjdGlvbkVycm9yKG1lc3NhZ2UpO1xuICByZXR1cm4gbmV3IEV4ZWN1dGlvbkVycm9yKG1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFN1cmZhY2UgYSBmYWlsZWQge0BsaW5rIEV4ZWN1dGlvblJlc3VsdH0gdG8gYSBwcm9ncmFtbWF0aWMgY2FsbGVyIGFzIGFcbiAqIHRocm93LiBIVFRQIGhhbmRsZXJzIG1hcCBgc3RhdHVzYCBvbnRvIHRoZSByZXNwb25zZSBpbnN0ZWFkLlxuICovXG5mdW5jdGlvbiB1bndyYXA8VD4ocmVzdWx0OiBFeGVjdXRpb25SZXN1bHQ8VD4pOiBUIHtcbiAgaWYgKHJlc3VsdC5vaykgcmV0dXJuIHJlc3VsdC5kYXRhO1xuICB0aHJvdyB0b0FwcEtpdEVycm9yKHJlc3VsdC5zdGF0dXMsIHJlc3VsdC5tZXNzYWdlKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlciB0aGUgZW1haWwgcGx1Z2luLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgY3JlYXRlQXBwLCBzZXJ2ZXIgfSBmcm9tIFwiQGRhdGFicmlja3MvYXBwa2l0XCI7XG4gKiBpbXBvcnQgeyBicmFuZCwgcGx1Z2luIGFzIGVtYWlsUGx1Z2luIH0gZnJvbSBcIkBkYngtdG9vbHMvZW1haWxcIjtcbiAqXG4gKiBhd2FpdCBjcmVhdGVBcHAoe1xuICogICBwbHVnaW5zOiBbXG4gKiAgICAgc2VydmVyKCksXG4gKiAgICAgZW1haWxQbHVnaW4uZW1haWwoe1xuICogICAgICAgZG9tYWluOiBcIm1haWwuZXhhbXBsZS5jb21cIixcbiAqICAgICAgIGFsbG93ZWRTZW5kZXJzOiBbXCIqQG1haWwuZXhhbXBsZS5jb21cIl0sXG4gKiAgICAgICBicmFuZDogYnJhbmQuZGVmYXVsdEVtYWlsQnJhbmQsXG4gKiAgICAgfSksXG4gKiAgIF0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgZW1haWwgPSB0b1BsdWdpbihFbWFpbFBsdWdpbik7XG4iXX0=
|
|
294
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFFSCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixNQUFNLEVBQ04sUUFBUSxFQUNSLGVBQWUsR0FLaEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQ0wsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixpQkFBaUIsR0FJbEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0MsT0FBTyxFQUNMLEtBQUssSUFBSSxTQUFTLEdBSW5CLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLG1CQUFtQixFQUEwQixNQUFNLGFBQWEsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkQsT0FBTyxFQUNMLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGdCQUFnQixFQUNoQixvQkFBb0IsR0FDckIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QiwrRUFBK0U7QUFDL0UsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDO0FBRWpDLDRFQUE0RTtBQUM1RSxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUM7QUFFekIsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUVuQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztB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QUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVELElBQUksTUFBTSxLQUFLLEdBQUc7UUFBRSxPQUFPLElBQUksZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELE9BQU8sSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDckMsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQVMsTUFBTSxDQUFJLE1BQTBCO0lBQzNDLElBQUksTUFBTSxDQUFDLEVBQUU7UUFBRSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDbEMsTUFBTSxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDckQsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQXBwS2l0IHBsdWdpbiAocmVnaXN0ZXJlZCBuYW1lOiBgZW1haWxgKSB0aGF0IG93bnMgdGhlIFNNVFAgcnVudGltZVxuICogZm9yIG91dGJvdW5kIG1haWwuIFJlZ2lzdGVyaW5nIGl0IHZhbGlkYXRlcyB0aGUgU01UUCBjb25maWd1cmF0aW9uXG4gKiBhbmQgdmVyaWZpZXMgY29ubmVjdGl2aXR5IGF0IHN0YXJ0dXAsIHNvIGEgYmFkIGhvc3QgLyBjcmVkZW50aWFsXG4gKiBzdXJmYWNlcyBpbiB0aGUgYm9vdCBsb2dzIGluc3RlYWQgb2Ygb24gdGhlIGZpcnN0IGFwcHJvdmVkIHNlbmQsIGFuZFxuICogaW5zdGFsbHMgdGhpcyBwbHVnaW4ncyBgZXhlY3V0ZSgpYCBhcyB0aGUgcnVudGltZSdzIGV4ZWN1dG9yIHNvIGV2ZXJ5XG4gKiBzZW5kIHBpY2tzIHVwIEFwcEtpdCdzIHJldHJ5IC8gdGltZW91dCAvIHRlbGVtZXRyeSBjaGFpbi5cbiAqXG4gKiBUaGUgcGx1Z2luIGlzIGFsc28gYSBgVG9vbFByb3ZpZGVyYCwgc28gYW4gQXBwS2l0IGFnZW50IGNhbiByZWFjaCBhblxuICogYGVtYWlsLnNlbmRgIHRvb2wgZGlyZWN0bHk7IHRoZSB7QGxpbmsgZW1haWxUb29sfSBleHBvcnQgaXMgdGhlIHNhbWVcbiAqIGNhcGFiaWxpdHkgZm9yIGEgTWFzdHJhIGFnZW50LiBCb3RoIHNoYXJlIHRoZSB0cmFuc3BvcnQgcHJpbWVkIGhlcmUsXG4gKiBhbmQge0BsaW5rIHNlbmRFbWFpbH0gaXMgYXZhaWxhYmxlIHRvIG5vbi1hZ2VudCBjYWxsZXJzLlxuICpcbiAqIENvbmZpZ3VyYXRpb24gaXMgdGhlIG1hbmlmZXN0LXB1Ymxpc2hlZCB7QGxpbmsgRW1haWxQbHVnaW5Db25maWd9XG4gKiAoU01UUCBob3N0L3BvcnQvY3JlZGVudGlhbHMsIHNlbmRlciBkb21haW4gb3IgZXhwbGljaXQgYGZyb21gLCB0aGVcbiAqIHNlbmRlciBwb2xpY3ksIGFuZCBhbiBvcHRpb25hbCBgYWxsb3dlZFNlbmRlcnNgIHJlc3RyaWN0aW9uKSwgd2l0aFxuICogdW5wcmVmaXhlZCBgU01UUF8qYCAvIGBFTUFJTF8qYCBlbnZpcm9ubWVudCBmYWxsYmFja3MuXG4gKlxuICogVGhlIHBsdWdpbiBtb3VudHMgb25lIHJvdXRlIHVuZGVyIGl0cyBiYXNlIHBhdGggKGAvYXBpL2VtYWlsYCk6XG4gKiBgR0VUIC9zZW5kZXJzYCByZXR1cm5zIHRoZSBwZXJtaXR0ZWQgYEZyb21gIG9wdGlvbnMgZm9yIHRoZSBjYWxsaW5nXG4gKiB1c2VyLCBzbyBhIGNvbXBvc2UgVUkgY2FuIG9mZmVyIHRoZW0gaW4gYSBkcm9wZG93bi5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuaW1wb3J0IHtcbiAgQXV0aGVudGljYXRpb25FcnJvcixcbiAgQ29uZmlndXJhdGlvbkVycm9yLFxuICBDb25uZWN0aW9uRXJyb3IsXG4gIEV4ZWN1dGlvbkVycm9yLFxuICBnZXRFeGVjdXRpb25Db250ZXh0LFxuICBQbHVnaW4sXG4gIHRvUGx1Z2luLFxuICBWYWxpZGF0aW9uRXJyb3IsXG4gIHR5cGUgQXBwS2l0RXJyb3IsXG4gIHR5cGUgRXhlY3V0aW9uUmVzdWx0LFxuICB0eXBlIElBcHBSb3V0ZXIsXG4gIHR5cGUgUGx1Z2luTWFuaWZlc3QsXG59IGZyb20gXCJAZGF0YWJyaWNrcy9hcHBraXRcIjtcbmltcG9ydCB7XG4gIGRlZmluZVRvb2wsXG4gIGV4ZWN1dGVGcm9tUmVnaXN0cnksXG4gIHRvb2xzRnJvbVJlZ2lzdHJ5LFxuICB0eXBlIEFnZW50VG9vbERlZmluaXRpb24sXG4gIHR5cGUgVG9vbFByb3ZpZGVyLFxuICB0eXBlIFRvb2xSZWdpc3RyeSxcbn0gZnJvbSBcIkBkYXRhYnJpY2tzL2FwcGtpdC9iZXRhXCI7XG5pbXBvcnQgeyBsb2cgfSBmcm9tIFwiQGRieC10b29scy9zaGFyZWQtY29yZVwiO1xuaW1wb3J0IHtcbiAgZW1haWwgYXMgZW1haWxXaXJlLFxuICB0eXBlIEVtYWlsTWVzc2FnZSxcbiAgdHlwZSBFbWFpbFJlc3VsdCxcbiAgdHlwZSBFbWFpbFNlbmRlcnMsXG59IGZyb20gXCJAZGJ4LXRvb2xzL3NoYXJlZC1lbWFpbFwiO1xuaW1wb3J0IHsgRU1BSUxfQ09ORklHX1NDSEVNQSwgdHlwZSBFbWFpbFBsdWdpbkNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZy50c1wiO1xuaW1wb3J0IHsgRU1BSUxfU0VOREVSU19TRVRUSU5HUywgRU1BSUxfVkVSSUZZX1NFVFRJTkdTIH0gZnJvbSBcIi4vZGVmYXVsdHMudHNcIjtcbmltcG9ydCB7IGlzU2VuZGVyQWxsb3dlZCwgbGlzdFNlbmRlck9wdGlvbnMsIHJlc29sdmVTZW5kZXJBZGRyZXNzIH0gZnJvbSBcIi4vc2VuZGVyLnRzXCI7XG5pbXBvcnQgeyBTRU5EX0VNQUlMX0RFU0NSSVBUSU9OIH0gZnJvbSBcIi4vdG9vbC50c1wiO1xuaW1wb3J0IHtcbiAgZ2V0RW1haWxSdW50aW1lLFxuICByZXNldEVtYWlsUnVudGltZSxcbiAgc2VuZEVtYWlsLFxuICBzZXRFbWFpbEV4ZWN1dG9yLFxuICB2ZXJpZnlFbWFpbFRyYW5zcG9ydCxcbn0gZnJvbSBcIi4vdHJhbnNwb3J0LnRzXCI7XG5cbi8qKiBNb3VudC1yZWxhdGl2ZSByb3V0ZSAodW5kZXIgYC9hcGkvZW1haWxgKSBmb3IgdGhlIHNlbmRlci1vcHRpb25zIGxvb2t1cC4gKi9cbmNvbnN0IFNFTkRFUlNfUk9VVEUgPSBcIi9zZW5kZXJzXCI7XG5cbi8qKiBSZWdpc3RyeSBrZXkgb2YgdGhlIGFnZW50IHRvb2wsIHdoaWNoIGFnZW50cyBhZGRyZXNzIGFzIGBlbWFpbC5zZW5kYC4gKi9cbmNvbnN0IFNFTkRfVE9PTCA9IFwic2VuZFwiO1xuXG5jb25zdCBsb2dnZXIgPSBsb2cubG9nZ2VyKFwiZW1haWxcIik7XG5cbi8qKlxuICogQXBwS2l0IHBsdWdpbiB0aGF0IGNvbmZpZ3VyZXMgYW5kIHZlcmlmaWVzIHRoZSBTTVRQIHRyYW5zcG9ydCB1c2VkIGJ5XG4gKiB0aGUgYHNlbmRfZW1haWxgIHRvb2wsIGFuZCBleHBvc2VzIHNlbmRpbmcgYXMgYW4gQXBwS2l0IGFnZW50IHRvb2wuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBjcmVhdGVBcHAsIHNlcnZlciB9IGZyb20gXCJAZGF0YWJyaWNrcy9hcHBraXRcIjtcbiAqIGltcG9ydCB7IHBsdWdpbiBhcyBlbWFpbFBsdWdpbiB9IGZyb20gXCJAZGJ4LXRvb2xzL2VtYWlsXCI7XG4gKlxuICogYXdhaXQgY3JlYXRlQXBwKHtcbiAqICAgcGx1Z2luczogW1xuICogICAgIHNlcnZlcigpLFxuICogICAgIGVtYWlsUGx1Z2luLmVtYWlsKHtcbiAqICAgICAgIHNtdHA6IHsgaG9zdDogXCJzbXRwLmV4YW1wbGUuY29tXCIsIHVzZXI6IFwiYXBpa2V5XCIsIHBhc3N3b3JkOiBwcm9jZXNzLmVudi5TTVRQX0tFWSB9LFxuICogICAgICAgZG9tYWluOiBcIm1haWwuZXhhbXBsZS5jb21cIixcbiAqICAgICB9KSxcbiAqICAgXSxcbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBFbWFpbFBsdWdpbiBleHRlbmRzIFBsdWdpbjxFbWFpbFBsdWdpbkNvbmZpZz4gaW1wbGVtZW50cyBUb29sUHJvdmlkZXIge1xuICBzdGF0aWMgbWFuaWZlc3QgPSB7XG4gICAgbmFtZTogXCJlbWFpbFwiLFxuICAgIGRpc3BsYXlOYW1lOiBcIkVtYWlsXCIsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlNlbmRzIGFwcHJvdmFsLWdhdGVkIGVtYWlsIG92ZXIgU01UUCwgd2l0aCB0aGUgc2VuZGVyIGRlcml2ZWQgZnJvbSBcIiArXG4gICAgICBcInRoZSBvbi1iZWhhbGYtb2YgdXNlcidzIGFkZHJlc3Mgb24gYSBjb25maWd1cmVkIGRvbWFpbi5cIixcbiAgICBzdGFiaWxpdHk6IFwiYmV0YVwiLFxuICAgIHJlc291cmNlczoge1xuICAgICAgcmVxdWlyZWQ6IFtdLFxuICAgICAgb3B0aW9uYWw6IFtdLFxuICAgIH0sXG4gICAgY29uZmlnOiB7IHNjaGVtYTogRU1BSUxfQ09ORklHX1NDSEVNQSB9LFxuICB9IHNhdGlzZmllcyBQbHVnaW5NYW5pZmVzdDxcImVtYWlsXCI+O1xuXG4gIC8qKlxuICAgKiBUaGUgdG9vbCB0aGlzIHBsdWdpbiBvZmZlcnMgdG8gYW4gQXBwS2l0IGFnZW50LlxuICAgKlxuICAgKiBOb3QgYGF1dG9Jbmhlcml0YWJsZWA6IGEgc2VuZCBpcyBpcnJldmVyc2libGUgYW5kIGxlYXZlcyB0aGUgd29ya3NwYWNlLFxuICAgKiBzbyBpdCBtdXN0IG9ubHkgYXBwZWFyIGluIGFuIGFnZW50IHRoYXQgYXNrZWQgZm9yIGl0IGFuZCBhY2NlcHRlZCB0aGVcbiAgICogc2VuZGVyIHBvbGljeSB0aGF0IGNvbWVzIHdpdGggaXQuXG4gICAqXG4gICAqIGBleGVjdXRlYCByZS1wYXJzZXMgaXRzIGFyZ3VtZW50cyB3aXRoIHRoZSBsb2NhbCBzY2hlbWE6IEFwcEtpdCB2YWxpZGF0ZXNcbiAgICogYWdhaW5zdCB0aGUgc2FtZSBzY2hlbWEgZmlyc3QsIGJ1dCByZS1wYXJzaW5nIGlzIHdoYXQgZ2l2ZXMgdGhlIGJvZHkgdHlwZWRcbiAgICogYXJndW1lbnRzIGluc3RlYWQgb2YgYHVua25vd25gLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSB0b29sczogVG9vbFJlZ2lzdHJ5ID0ge1xuICAgIFtTRU5EX1RPT0xdOiBkZWZpbmVUb29sKHtcbiAgICAgIGRlc2NyaXB0aW9uOiBTRU5EX0VNQUlMX0RFU0NSSVBUSU9OLFxuICAgICAgc2NoZW1hOiBlbWFpbFdpcmUuZW1haWxNZXNzYWdlU2NoZW1hLFxuICAgICAgYW5ub3RhdGlvbnM6IHsgZWZmZWN0OiBcIndyaXRlXCIsIHJlcXVpcmVzVXNlckNvbnRleHQ6IHRydWUgfSxcbiAgICAgIGF1dG9Jbmhlcml0YWJsZTogZmFsc2UsXG4gICAgICBleGVjdXRlOiBhc3luYyAoYXJncywgc2lnbmFsKSA9PlxuICAgICAgICB0aGlzLnNlbmQoZW1haWxXaXJlLmVtYWlsTWVzc2FnZVNjaGVtYS5wYXJzZShhcmdzKSwgdW5kZWZpbmVkLCBzaWduYWwpLFxuICAgIH0pLFxuICB9O1xuXG4gIC8qKlxuICAgKiBQcmltZSB0aGUgc2hhcmVkIHJ1bnRpbWUgZnJvbSB0aGlzIHBsdWdpbidzIGNvbmZpZyAob3ZlciBlbnYpLCByb3V0ZSB0aGVcbiAgICogdG9vbHMnIHNlbmRzIHRocm91Z2ggdGhpcyBwbHVnaW4ncyBpbnRlcmNlcHRvciBjaGFpbiwgYW5kIGxvZyB0aGVcbiAgICogZWZmZWN0aXZlIHNlbmRlciBwb2xpY3kgc28gYW4gYWN0aXZlIHJlc3RyaWN0aW9uIGlzIG9idmlvdXMgYXQgYm9vdC4gSW5cbiAgICogU01UUCBtb2RlLCBmYWlsIHNldHVwIHdoZW4gdGhlIHRyYW5zcG9ydCBjYW5ub3QgYmUgdmVyaWZpZWQ6IGEgYmFkIGhvc3RcbiAgICogb3IgY3JlZGVudGlhbCBpcyBhIGRlcGxveS10aW1lIG1pc3Rha2UgYW5kIHNob3VsZCBzdG9wIHRoZSBhcHAgcmF0aGVyXG4gICAqIHRoYW4gd2FpdCBmb3IgYSB1c2VyIHRvIGFwcHJvdmUgYSBzZW5kIHRoYXQgY2Fubm90IHdvcmsuIFdpdGggbm8gU01UUFxuICAgKiBjcmVkZW50aWFscyB0aGUgcnVudGltZSBpcyBpbiBmaWxlL291dGJveCBtb2RlIChvbmx5IHdoZW5cbiAgICogYEVNQUlMX09VVEJPWF9NT0RFYCBpcyBzZXQpLCBsb2dnZWQgbG91ZGx5IGhlcmUgc28gaXQgaXMgb2J2aW91cyBtYWlsXG4gICAqIGlzIGJlaW5nIHdyaXR0ZW4gdG8gZGlzayByYXRoZXIgdGhhbiBzZW50LlxuICAgKi9cbiAgb3ZlcnJpZGUgYXN5bmMgc2V0dXAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyB0cmFuc3BvcnRlciwgY29uZmlnIH0gPSBnZXRFbWFpbFJ1bnRpbWUodGhpcy5jb25maWcpO1xuICAgIHNldEVtYWlsRXhlY3V0b3IoKGZuLCBzZXR0aW5ncykgPT4gdGhpcy5leGVjdXRlKGZuLCBzZXR0aW5ncykpO1xuICAgIGNvbnN0IHBvbGljeSA9IHtcbiAgICAgIG1vZGU6IGNvbmZpZy5tb2RlLFxuICAgICAgc2VuZGVyUG9saWN5OiBjb25maWcuc2VuZGVyUG9saWN5LFxuICAgICAgcmVzdHJpY3RlZDogY29uZmlnLmFsbG93ZWRTZW5kZXJzLmxlbmd0aCA+IDAsXG4gICAgICAuLi4oY29uZmlnLmFsbG93ZWRTZW5kZXJzLmxlbmd0aCA+IDAgPyB7IGFsbG93ZWRTZW5kZXJzOiBjb25maWcuYWxsb3dlZFNlbmRlcnMgfSA6IHt9KSxcbiAgICB9O1xuICAgIGlmIChjb25maWcubW9kZSA9PT0gXCJmaWxlXCIpIHtcbiAgICAgIGxvZ2dlci53YXJuKFwib3V0Ym94OmVuYWJsZWRcIiwge1xuICAgICAgICBkaXI6IGNvbmZpZy5vdXREaXIsXG4gICAgICAgIHJlYXNvbjogXCJubyBTTVRQIGNyZWRlbnRpYWxzIGNvbmZpZ3VyZWQ7IGVtYWlscyBhcmUgd3JpdHRlbiB0byBkaXNrIGluc3RlYWQgb2Ygc2VudFwiLFxuICAgICAgfSk7XG4gICAgICBsb2dnZXIuaW5mbyhcInJlYWR5XCIsIHBvbGljeSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHZlcmlmaWVkID0gYXdhaXQgdGhpcy5leGVjdXRlKFxuICAgICAgYXN5bmMgKHNpZ25hbCkgPT4gdmVyaWZ5RW1haWxUcmFuc3BvcnQodHJhbnNwb3J0ZXIsIHNpZ25hbCksXG4gICAgICBFTUFJTF9WRVJJRllfU0VUVElOR1MsXG4gICAgKTtcbiAgICBpZiAoIXZlcmlmaWVkLm9rKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoXCJzbXRwOnVudmVyaWZpZWRcIiwge1xuICAgICAgICBob3N0OiBjb25maWcuaG9zdCxcbiAgICAgICAgcG9ydDogY29uZmlnLnBvcnQsXG4gICAgICAgIHN0YXR1czogdmVyaWZpZWQuc3RhdHVzLFxuICAgICAgICBlcnJvcjogdmVyaWZpZWQubWVzc2FnZSxcbiAgICAgIH0pO1xuICAgICAgdGhyb3cgQ29uZmlndXJhdGlvbkVycm9yLmludmFsaWRDb25uZWN0aW9uKFxuICAgICAgICBcIlNNVFBcIixcbiAgICAgICAgYENvdWxkIG5vdCB2ZXJpZnkgJHtjb25maWcuaG9zdH06JHtjb25maWcucG9ydH0uIENoZWNrIFNNVFBfSE9TVCwgU01UUF9QT1JULCBTTVRQX1NFQ1VSRSwgYW5kIHRoZSBjcmVkZW50aWFscywgb3Igc2V0IEVNQUlMX09VVEJPWF9NT0RFPTEgZm9yIGxvY2FsIG91dGJveCB0ZXN0aW5nLmAsXG4gICAgICApO1xuICAgIH1cbiAgICBsb2dnZXIuaW5mbyhcInJlYWR5XCIsIHtcbiAgICAgIC4uLnBvbGljeSxcbiAgICAgIGhvc3Q6IGNvbmZpZy5ob3N0LFxuICAgICAgcG9ydDogY29uZmlnLnBvcnQsXG4gICAgICBzZWN1cmU6IGNvbmZpZy5zZWN1cmUsXG4gICAgfSk7XG4gIH1cblxuICAvKiogQ2xvc2UgdGhlIFNNVFAgY29ubmVjdGlvbiBwb29sLiBJZGVtcG90ZW50LiAqL1xuICBhc3luYyBzaHV0ZG93bigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXNldEVtYWlsUnVudGltZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFib3J0IGluLWZsaWdodCB3b3JrLiBBcHBLaXQncyBncmFjZWZ1bCBzaHV0ZG93biBvbmx5IGludm9rZXMgdGhpcyBob29rIC1cbiAgICogaXQgbmV2ZXIgY2FsbHMge0BsaW5rIHNodXRkb3dufSAtIHNvIHRoZSBTTVRQIHBvb2wgaXMgY2xvc2VkIGZyb20gaGVyZSBvclxuICAgKiBpdCBsZWFrcyBhdCBTSUdURVJNLiBUaGUgdGVhcmRvd24gaXMgc3luY2hyb25vdXMgYW5kIGlkZW1wb3RlbnQsIHNvIHRoZVxuICAgKiB1bi1hd2FpdGVkIGNhbGwgY29zdHMgbm90aGluZy5cbiAgICovXG4gIG92ZXJyaWRlIGFib3J0QWN0aXZlT3BlcmF0aW9ucygpOiB2b2lkIHtcbiAgICBzdXBlci5hYm9ydEFjdGl2ZU9wZXJhdGlvbnMoKTtcbiAgICB2b2lkIHRoaXMuc2h1dGRvd24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHBvc2UgdGhlIHNlbmRlci1vcHRpb25zIGxvb2t1cCBzbyBVSSBjb21wb3NlIHZpZXdzIGNhbiBwb3B1bGF0ZSBhXG4gICAqIGBGcm9tYCBkcm9wZG93biBmcm9tIHRoZSBjb25maWd1cmVkIGFsbG93LWxpc3QuIE1vdW50ZWQgdW5kZXIgdGhlXG4gICAqIHBsdWdpbiBiYXNlIHBhdGgsIGkuZS4gYEdFVCAvYXBpL2VtYWlsL3NlbmRlcnNgLiBSdW5zIGluIHRoZSBPQk9cbiAgICogdXNlciBzY29wZSBzbyBkb21haW4gd2lsZGNhcmRzIHJlc29sdmUgYWdhaW5zdCB0aGUgY2FsbGVyJ3Mgb3duXG4gICAqIGxvY2FsIHBhcnQuXG4gICAqL1xuICBvdmVycmlkZSBpbmplY3RSb3V0ZXMocm91dGVyOiBJQXBwUm91dGVyKTogdm9pZCB7XG4gICAgdGhpcy5yb3V0ZShyb3V0ZXIsIHtcbiAgICAgIG5hbWU6IFwibGlzdFNlbmRlcnNcIixcbiAgICAgIG1ldGhvZDogXCJnZXRcIixcbiAgICAgIHBhdGg6IFNFTkRFUlNfUk9VVEUsXG4gICAgICBoYW5kbGVyOiBhc3luYyAocmVxLCByZXMpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5hc1VzZXIocmVxKS5leGVjdXRlTGlzdFNlbmRlcnMoKTtcbiAgICAgICAgaWYgKCFyZXN1bHQub2spIHtcbiAgICAgICAgICByZXMuc3RhdHVzKHJlc3VsdC5zdGF0dXMpLmpzb24oeyBlcnJvcjogcmVzdWx0Lm1lc3NhZ2UgfSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHJlcy5qc29uKHJlc3VsdC5kYXRhKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBleHBvcnRzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAvKipcbiAgICAgICAqIFNlbmQgYSBtZXNzYWdlIGltbWVkaWF0ZWx5IGZyb20gYGZyb21gIHRocm91Z2ggdGhlIHNoYXJlZFxuICAgICAgICogdHJhbnNwb3J0LCBieXBhc3NpbmcgdGhlIGFwcHJvdmFsIGZsb3cuIEZvciBhZ2VudC1kcml2ZW4gc2VuZHNcbiAgICAgICAqIHVzZSB7QGxpbmsgZW1haWxUb29sfSBpbnN0ZWFkLlxuICAgICAgICovXG4gICAgICBzZW5kRW1haWw6IChcbiAgICAgICAgbWVzc2FnZTogRW1haWxNZXNzYWdlLFxuICAgICAgICBmcm9tOiBzdHJpbmcsXG4gICAgICAgIHNpZ25hbD86IEFib3J0U2lnbmFsLFxuICAgICAgKTogUHJvbWlzZTxFbWFpbFJlc3VsdD4gPT4gdGhpcy5zZW5kKG1lc3NhZ2UsIGZyb20sIHNpZ25hbCksXG4gICAgICAvKipcbiAgICAgICAqIFNlbmRlciBvcHRpb25zIGZvciB0aGUgY3VycmVudCB1c2VyICh0aGUgYEdFVCAvc2VuZGVyc2AgcGF5bG9hZCkuXG4gICAgICAgKiBBcHBLaXQgd3JhcHMgdGhpcyB3aXRoIGBhc1VzZXIocmVxKWAgZm9yIE9CTyBzY29waW5nLlxuICAgICAgICovXG4gICAgICBsaXN0U2VuZGVyczogYXN5bmMgKCk6IFByb21pc2U8RW1haWxTZW5kZXJzPiA9PiB1bndyYXAoYXdhaXQgdGhpcy5leGVjdXRlTGlzdFNlbmRlcnMoKSksXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBBcHBLaXQgYFRvb2xQcm92aWRlcmA6IHRoZSB0b29sIGRlZmluaXRpb25zIG9mZmVyZWQgdG8gYW4gYWdlbnQuICovXG4gIGdldEFnZW50VG9vbHMoKTogQWdlbnRUb29sRGVmaW5pdGlvbltdIHtcbiAgICByZXR1cm4gdG9vbHNGcm9tUmVnaXN0cnkodGhpcy50b29scyk7XG4gIH1cblxuICAvKipcbiAgICogQXBwS2l0IGBUb29sUHJvdmlkZXJgOiBydW4gb25lIHRvb2wgY2FsbC4gQXJndW1lbnRzIGFyZSB2YWxpZGF0ZWQgYWdhaW5zdFxuICAgKiB0aGUgdG9vbCdzIHNjaGVtYSBmaXJzdCwgYW5kIGEgdmFsaWRhdGlvbiBmYWlsdXJlIGNvbWVzIGJhY2sgYXMgYW5cbiAgICogTExNLWZyaWVuZGx5IHN0cmluZyBzbyB0aGUgbW9kZWwgY2FuIGNvcnJlY3QgaXRzZWxmIG9uIHRoZSBuZXh0IHR1cm4uXG4gICAqL1xuICBhc3luYyBleGVjdXRlQWdlbnRUb29sKG5hbWU6IHN0cmluZywgYXJnczogdW5rbm93biwgc2lnbmFsPzogQWJvcnRTaWduYWwpOiBQcm9taXNlPHVua25vd24+IHtcbiAgICByZXR1cm4gZXhlY3V0ZUZyb21SZWdpc3RyeSh0aGlzLnRvb2xzLCBuYW1lLCBhcmdzLCBzaWduYWwpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbmQgb25lIG1lc3NhZ2UsIHJlc29sdmluZyB0aGUgc2VuZGVyIGZvciB0aGUgY2FsbGVyIGluIHNjb3BlIHdoZW5cbiAgICogYGZyb21gIGlzIG5vdCBwaW5uZWQuIFRoZSBpbnRlcmNlcHRvciBjaGFpbiBpcyBhcHBsaWVkIGluc2lkZVxuICAgKiB7QGxpbmsgc2VuZEVtYWlsfSB0aHJvdWdoIHRoZSBleGVjdXRvciBpbnN0YWxsZWQgYXQgc2V0dXAsIHNvIHRoaXMgbXVzdFxuICAgKiBub3Qgd3JhcCBpdCBhZ2Fpbi5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgc2VuZChcbiAgICBtZXNzYWdlOiBFbWFpbE1lc3NhZ2UsXG4gICAgZnJvbTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIHNpZ25hbD86IEFib3J0U2lnbmFsLFxuICApOiBQcm9taXNlPEVtYWlsUmVzdWx0PiB7XG4gICAgcmV0dXJuIHNlbmRFbWFpbChtZXNzYWdlLCBmcm9tID8/IHRoaXMucmVzb2x2ZVNlbmRlcigpLCBzaWduYWwpO1xuICB9XG5cbiAgLyoqIFJ1biB0aGUgc2VuZGVyLW9wdGlvbnMgbG9va3VwIHRocm91Z2ggdGhlIHBsdWdpbidzIGludGVyY2VwdG9yIGNoYWluLiAqL1xuICBwcml2YXRlIGFzeW5jIGV4ZWN1dGVMaXN0U2VuZGVycygpOiBQcm9taXNlPEV4ZWN1dGlvblJlc3VsdDxFbWFpbFNlbmRlcnM+PiB7XG4gICAgcmV0dXJuIHRoaXMuZXhlY3V0ZShhc3luYyAoKSA9PiB0aGlzLmxpc3RTZW5kZXJzKCksIEVNQUlMX1NFTkRFUlNfU0VUVElOR1MpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGUgdGhlIGBGcm9tYCBvcHRpb25zIG9mZmVyZWQgdG8gdGhlIGN1cnJlbnQgdXNlcjogdGhlIGNvbmNyZXRlXG4gICAqIGFkZHJlc3NlcyB0aGUgZWZmZWN0aXZlIGFsbG93LWxpc3QgcGVybWl0cyAoZG9tYWluIHdpbGRjYXJkcyBleHBhbmRlZFxuICAgKiBhZ2FpbnN0IHRoZSBPQk8gdXNlcidzIGxvY2FsIHBhcnQpLCB0aGUgZGVmYXVsdCBhbW9uZyB0aGVtLCBhbmRcbiAgICogd2hldGhlciB0aGUgbGlzdCBpcyBhbiBlbmZvcmNlZCByZXN0cmljdGlvbi4gU2VlXG4gICAqIHtAbGluayBsaXN0U2VuZGVyT3B0aW9uc30uXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGxpc3RTZW5kZXJzKCk6IFByb21pc2U8RW1haWxTZW5kZXJzPiB7XG4gICAgY29uc3QgeyBjb25maWcgfSA9IGdldEVtYWlsUnVudGltZSgpO1xuICAgIGNvbnN0IHNlbmRlcnMgPSBsaXN0U2VuZGVyT3B0aW9ucyhjb25maWcsIGN1cnJlbnRVc2VyRW1haWwoKSk7XG4gICAgLy8gUHJlZmVyIHRoZSBhZGRyZXNzIGEgc2VuZCB3b3VsZCBhY3R1YWxseSBkZWZhdWx0IHRvOyBmYWxsIGJhY2sgdG9cbiAgICAvLyB0aGUgZmlyc3Qgb2ZmZXJlZCBvcHRpb24gd2hlbiB0aGF0IGNhbid0IGJlIHJlc29sdmVkIC8gcGVybWl0dGVkLlxuICAgIGxldCBkZWZhdWx0U2VuZGVyID0gc2VuZGVyc1swXTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzb2x2ZWQgPSB0aGlzLnJlc29sdmVTZW5kZXIoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgaWYgKGlzU2VuZGVyQWxsb3dlZChyZXNvbHZlZCwgY29uZmlnLmFsbG93ZWRTZW5kZXJzKSkgZGVmYXVsdFNlbmRlciA9IHJlc29sdmVkO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gS2VlcCB0aGUgZmlyc3Qgb2ZmZXJlZCBvcHRpb24gKG9yIG5vbmUpIGFzIHRoZSBkZWZhdWx0LlxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgc2VuZGVycyxcbiAgICAgIC4uLihkZWZhdWx0U2VuZGVyID8geyBkZWZhdWx0U2VuZGVyIH0gOiB7fSksXG4gICAgICByZXN0cmljdGVkOiBjb25maWcuYWxsb3dlZFNlbmRlcnMubGVuZ3RoID4gMCxcbiAgICB9O1xuICB9XG5cbiAgLyoqIFRoZSBgRnJvbWAgYSBzZW5kIGRlZmF1bHRzIHRvIGZvciB0aGUgY2FsbGVyIGluIHNjb3BlLiAqL1xuICBwcml2YXRlIHJlc29sdmVTZW5kZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcmVzb2x2ZVNlbmRlckFkZHJlc3MoZ2V0RW1haWxSdW50aW1lKCkuY29uZmlnLCBjdXJyZW50VXNlckVtYWlsKCkpO1xuICB9XG59XG5cbi8qKiBUaGUgT0JPIHVzZXIncyBhZGRyZXNzLCBvciB1bmRlZmluZWQgb3V0c2lkZSBhIHVzZXIgY29udGV4dC4gKi9cbmZ1bmN0aW9uIGN1cnJlbnRVc2VyRW1haWwoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgY3R4ID0gZ2V0RXhlY3V0aW9uQ29udGV4dCgpO1xuICByZXR1cm4gXCJpc1VzZXJDb250ZXh0XCIgaW4gY3R4ID8gY3R4LnVzZXJFbWFpbCA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBSZS1yYWlzZSBhIGZhaWxlZCBleGVjdXRpb24gYXMgdGhlIEFwcEtpdCBlcnJvciBjbGFzcyB0aGF0IGFscmVhZHkgY2Fycmllc1xuICogdGhlIHN0YXR1cyBBcHBLaXQgcmVzb2x2ZWQsIHNvIGEgcHJvZ3JhbW1hdGljIGNhbGxlciBzZWVzIHRoZSBzYW1lIDQwMCAvXG4gKiA0MDEgLyA1MDMgYW4gSFRUUCBjYWxsZXIgd291bGQuXG4gKi9cbmZ1bmN0aW9uIHRvQXBwS2l0RXJyb3Ioc3RhdHVzOiBudW1iZXIsIG1lc3NhZ2U6IHN0cmluZyk6IEFwcEtpdEVycm9yIHtcbiAgaWYgKHN0YXR1cyA9PT0gNDAwKSByZXR1cm4gbmV3IFZhbGlkYXRpb25FcnJvcihtZXNzYWdlKTtcbiAgaWYgKHN0YXR1cyA9PT0gNDAxKSByZXR1cm4gbmV3IEF1dGhlbnRpY2F0aW9uRXJyb3IobWVzc2FnZSk7XG4gIGlmIChzdGF0dXMgPT09IDUwMykgcmV0dXJuIG5ldyBDb25uZWN0aW9uRXJyb3IobWVzc2FnZSk7XG4gIHJldHVybiBuZXcgRXhlY3V0aW9uRXJyb3IobWVzc2FnZSk7XG59XG5cbi8qKlxuICogU3VyZmFjZSBhIGZhaWxlZCB7QGxpbmsgRXhlY3V0aW9uUmVzdWx0fSB0byBhIHByb2dyYW1tYXRpYyBjYWxsZXIgYXMgYVxuICogdGhyb3cuIEhUVFAgaGFuZGxlcnMgbWFwIGBzdGF0dXNgIG9udG8gdGhlIHJlc3BvbnNlIGluc3RlYWQuXG4gKi9cbmZ1bmN0aW9uIHVud3JhcDxUPihyZXN1bHQ6IEV4ZWN1dGlvblJlc3VsdDxUPik6IFQge1xuICBpZiAocmVzdWx0Lm9rKSByZXR1cm4gcmVzdWx0LmRhdGE7XG4gIHRocm93IHRvQXBwS2l0RXJyb3IocmVzdWx0LnN0YXR1cywgcmVzdWx0Lm1lc3NhZ2UpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVyIHRoZSBlbWFpbCBwbHVnaW4uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBjcmVhdGVBcHAsIHNlcnZlciB9IGZyb20gXCJAZGF0YWJyaWNrcy9hcHBraXRcIjtcbiAqIGltcG9ydCB7IGJyYW5kLCBwbHVnaW4gYXMgZW1haWxQbHVnaW4gfSBmcm9tIFwiQGRieC10b29scy9lbWFpbFwiO1xuICpcbiAqIGF3YWl0IGNyZWF0ZUFwcCh7XG4gKiAgIHBsdWdpbnM6IFtcbiAqICAgICBzZXJ2ZXIoKSxcbiAqICAgICBlbWFpbFBsdWdpbi5lbWFpbCh7XG4gKiAgICAgICBkb21haW46IFwibWFpbC5leGFtcGxlLmNvbVwiLFxuICogICAgICAgYWxsb3dlZFNlbmRlcnM6IFtcIipAbWFpbC5leGFtcGxlLmNvbVwiXSxcbiAqICAgICAgIGJyYW5kOiBicmFuZC5kZWZhdWx0RW1haWxCcmFuZCxcbiAqICAgICB9KSxcbiAqICAgXSxcbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBlbWFpbCA9IHRvUGx1Z2luKEVtYWlsUGx1Z2luKTtcbiJdfQ==
|
package/lib/src/sender.d.ts
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
*
|
|
21
21
|
* @module
|
|
22
22
|
*/
|
|
23
|
-
import type { ResolvedEmailConfig } from "./config.
|
|
23
|
+
import type { ResolvedEmailConfig } from "./config.ts";
|
|
24
24
|
/**
|
|
25
25
|
* Re-home the OBO user's local part on `domain`. Throws when no usable
|
|
26
26
|
* local part is available (e.g. a service-context call with no user).
|
package/lib/src/sender.js
CHANGED
|
@@ -149,4 +149,4 @@ export function listSenderOptions(config, userEmail) {
|
|
|
149
149
|
}
|
|
150
150
|
return options;
|
|
151
151
|
}
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBRUgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJbEQsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUUxQzs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsU0FBNkIsRUFBRSxNQUFjO0lBQy9FLE1BQU0sS0FBSyxHQUFHLFNBQVMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDL0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsTUFBTSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FDdkMseUJBQXlCLEVBQ3pCLCtFQUErRSxDQUNoRixDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sR0FBRyxLQUFLLElBQUksTUFBTSxFQUFFLENBQUM7QUFDOUIsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUFDLEdBQWtDO0lBQ3BFLE9BQU8sR0FBRyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsZ0ZBQWdGO0FBQ2hGLFNBQVMsbUJBQW1CLENBQUMsT0FBZTtJQUMxQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQUUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM1RCxJQUFJLENBQUMsT0FBTyxDQUFDLFFB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RUFBRSxTQUFTLENBQUMsQ0FBQztRQUN6RCxJQUFJLGVBQWUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO1lBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCx1RUFBdUU7SUFDekUsQ0FBQztJQUVELEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7UUFDL0IsSUFBSSxPQUFPLEtBQUssR0FBRztZQUFFLFNBQVMsQ0FBQyx3Q0FBd0M7UUFDdkUsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3ZELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUNyRSxJQUFJLEtBQUs7Z0JBQUUsR0FBRyxDQUFDLEdBQUcsS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdkMsQ0FBQzthQUFNLENBQUM7WUFDTixHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTZW5kZXItYWRkcmVzcyBwb2xpY3k6IHR1cm4gdGhlIG9uLWJlaGFsZi1vZiB1c2VyJ3MgZW1haWwgaW50byBhblxuICogb3V0Ym91bmQgYEZyb21gLCBhbmQgKG9wdGlvbmFsbHkpIHJlc3RyaWN0IHdoaWNoIGFkZHJlc3NlcyBtYXkgc2VuZC5cbiAqXG4gKiBUaGUgZGVmYXVsdCBgRnJvbWAgcmUtaG9tZXMgdGhlIGxvY2FsIHBhcnQgKGV2ZXJ5dGhpbmcgYmVmb3JlIGBAYCkgb2ZcbiAqIHRoZSBPQk8gZW1haWwgb24gdGhlIGNvbmZpZ3VyZWQgc2VuZGluZyBkb21haW4sIHNvIGBhbGljZUBkYXRhYnJpY2tzLmNvbWBcbiAqIHRocm91Z2ggYSBkb21haW4gb2YgYG1haWwuZXhhbXBsZS5jb21gIGdvZXMgb3V0IGFzXG4gKiBgYWxpY2VAbWFpbC5leGFtcGxlLmNvbWAuIEFuIGV4cGxpY2l0IGBmcm9tYCBzaG9ydC1jaXJjdWl0cyB0aGF0OyB0aGVcbiAqIGZpbGUvb3V0Ym94IGZhbGxiYWNrIChubyBkb21haW4pIGtlZXBzIHRoZSB1c2VyJ3MgYWRkcmVzcyB2ZXJiYXRpbSBzb1xuICogdGVzdCBhcnRpZmFjdHMgbGFuZCB1bmRlciBhIHJlY29nbml6YWJsZSBmb2xkZXIuXG4gKlxuICogVGhlIHJlc29sdmVkIGBGcm9tYCBpcyB0aGVuIGNvbnN0cmFpbmVkIHRvIHRoZSBlZmZlY3RpdmUgYWxsb3ctbGlzdDogYVxuICogcGF0dGVybiBpcyBlaXRoZXIgYW4gZXhhY3QgYWRkcmVzcyAoYHVzZXJAZG9tYWluLmNvbWApLCBhIGRvbWFpbiB3aWxkY2FyZFxuICogKGAqQGRvbWFpbi5jb21gIG9yIHRoZSBiYXJlIGBkb21haW4uY29tYCwgbWF0Y2hpbmcgYW55IGxvY2FsIHBhcnQgb24gdGhhdFxuICogZG9tYWluKSwgb3IgYCpgIChhbnkpLiBUaGlzIG1vZHVsZSBvbmx5IG1hdGNoZXMgcGF0dGVybnM7IHdoaWNoIHBhdHRlcm5zXG4gKiBhcHBseSBpcyBkZWNpZGVkIGJ5IHRoZSBjb25maWd1cmVkIHNlbmRlciBwb2xpY3kgaW4gYC4vY29uZmlnYCwgd2hpY2hcbiAqIHVuZGVyIHRoZSBkZWZhdWx0IGBcImFsbG93bGlzdFwiYCBtb2RlIGZpbGxzIGFuIGVtcHR5IGxpc3QgaW4gZnJvbSB0aGVcbiAqIHNlbmRlciBzb3VyY2UuIHtAbGluayBsaXN0U2VuZGVyT3B0aW9uc30gZXhwYW5kcyB0aGUgZWZmZWN0aXZlIGxpc3QgaW50b1xuICogdGhlIGNvbmNyZXRlIGFkZHJlc3NlcyBhIFVJIGRyb3Bkb3duIGNhbiBvZmZlciBmb3IgdGhlIGN1cnJlbnQgdXNlci5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkVycm9yLCBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tIFwiQGRhdGFicmlja3MvYXBwa2l0XCI7XG5pbXBvcnQgeyBsb2csIG5ldCB9IGZyb20gXCJAZGJ4LXRvb2xzL3NoYXJlZC1jb3JlXCI7XG5cbmltcG9ydCB0eXBlIHsgUmVzb2x2ZWRFbWFpbENvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuXG5jb25zdCBsb2dnZXIgPSBsb2cubG9nZ2VyKFwiZW1haWwvc2VuZGVyXCIpO1xuXG4vKipcbiAqIFJlLWhvbWUgdGhlIE9CTyB1c2VyJ3MgbG9jYWwgcGFydCBvbiBgZG9tYWluYC4gVGhyb3dzIHdoZW4gbm8gdXNhYmxlXG4gKiBsb2NhbCBwYXJ0IGlzIGF2YWlsYWJsZSAoZS5nLiBhIHNlcnZpY2UtY29udGV4dCBjYWxsIHdpdGggbm8gdXNlcikuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXJpdmVTZW5kZXJBZGRyZXNzKHVzZXJFbWFpbDogc3RyaW5nIHwgdW5kZWZpbmVkLCBkb21haW46IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGxvY2FsID0gdXNlckVtYWlsPy5zcGxpdChcIkBcIilbMF0/LnRyaW0oKTtcbiAgaWYgKCFsb2NhbCkge1xuICAgIHRocm93IENvbmZpZ3VyYXRpb25FcnJvci5yZXNvdXJjZU5vdEZvdW5kKFxuICAgICAgXCJPbi1iZWhhbGYtb2YgdXNlciBlbWFpbFwiLFxuICAgICAgXCJTZXQgYGZyb21gIC8gRU1BSUxfRlJPTSB0byBzZW5kIGZyb20gYSBmaXhlZCBhZGRyZXNzIGluc3RlYWQgb2YgZGVyaXZpbmcgb25lLlwiLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIGAke2xvY2FsfUAke2RvbWFpbn1gO1xufVxuXG4vKipcbiAqIE5vcm1hbGl6ZSBhIHNlbmRlciBhbGxvdy1saXN0IGZyb20gY29uZmlnIChhIGBzdHJpbmdbXWApIG9yIGFuIGVudiB2YXJcbiAqIChhIENTViAvIHdoaXRlc3BhY2Utc2VwYXJhdGVkIHN0cmluZykuIERlbGVnYXRlcyB0byB0aGUgc2hhcmVkXG4gKiB7QGxpbmsgbmV0LnBhcnNlRW1haWxzfSBzbyBhbGxvdy1saXN0IHBhdHRlcm5zIGFyZSByZWFkIGV4YWN0bHlcbiAqIGxpa2UgcmVjaXBpZW50IGxpc3RzIGVsc2V3aGVyZTogZW50cmllcyBhcmUgdHJpbW1lZCwgbG93ZXItY2FzZWQgKHNvXG4gKiBtYXRjaGluZyBpbiB7QGxpbmsgaXNTZW5kZXJBbGxvd2VkfSBpcyBjYXNlLWluc2Vuc2l0aXZlKSwgYW5kXG4gKiBkZS1kdXBsaWNhdGVkOyBlbXB0aWVzIGFyZSBkcm9wcGVkLiBBbiBlbXB0eSByZXN1bHQgbWVhbnMgXCJub1xuICogcmVzdHJpY3Rpb25cIi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQWxsb3dlZFNlbmRlcnMocmF3OiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIG5ldC5wYXJzZUVtYWlscyhyYXcsIHsgbG93ZXJjYXNlOiB0cnVlIH0pO1xufVxuXG4vKiogVGhlIGBAZG9tYWluYCBzdWZmaXggYSB3aWxkY2FyZCAvIGJhcmUtZG9tYWluIHBhdHRlcm4gbWF0Y2hlcywgZWxzZSBudWxsLiAqL1xuZnVuY3Rpb24gcGF0dGVybkRvbWFpblN1ZmZpeChwYXR0ZXJuOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgaWYgKHBhdHRlcm4uc3RhcnRzV2l0aChcIipAXCIpKSByZXR1cm4gYEAke3BhdHRlcm4uc2xpY2UoMil9YDtcbiAgaWYgKCFwYXR0ZXJuLmluY2x1ZGVzKFwiQFwiKSkgcmV0dXJuIGBAJHtwYXR0ZXJufWA7XG4gIHJldHVybiBudWxsO1xufVxuXG4vKiogV2hldGhlciBgYWRkcmVzc2AgKGFscmVhZHkgbG93ZXItY2FzZWQpIHNhdGlzZmllcyBhIHNpbmdsZSBwYXR0ZXJuLiAqL1xuZnVuY3Rpb24gbWF0Y2hlc1BhdHRlcm4oYWRkcmVzczogc3RyaW5nLCBwYXR0ZXJuOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgaWYgKHBhdHRlcm4gPT09IFwiKlwiKSByZXR1cm4gdHJ1ZTtcbiAgY29uc3Qgc3VmZml4ID0gcGF0dGVybkRvbWFpblN1ZmZpeChwYXR0ZXJuKTtcbiAgaWYgKHN1ZmZpeCkgcmV0dXJuIGFkZHJlc3MubGVuZ3RoID4gc3VmZml4Lmxlbmd0aCAmJiBhZGRyZXNzLmVuZHNXaXRoKHN1ZmZpeCk7XG4gIHJldHVybiBhZGRyZXNzID09PSBwYXR0ZXJuO1xufVxuXG4vKipcbiAqIFdoZXRoZXIgYGZyb21gIGlzIHBlcm1pdHRlZCBieSB0aGUgYWxsb3ctbGlzdC4gQW4gZW1wdHkgKG9yIGFic2VudClcbiAqIGFsbG93LWxpc3QgcGVybWl0cyBldmVyeXRoaW5nOiB7QGxpbmsgcmVzb2x2ZUVtYWlsQ29uZmlnfSBpcyB3aGF0IHR1cm5zXG4gKiB0aGUgY29uZmlndXJlZCB7QGxpbmsgU2VuZGVyUG9saWN5fSBpbnRvIGNvbmNyZXRlIHBhdHRlcm5zLCBzbyBhbiBlbXB0eVxuICogbGlzdCBoZXJlIG1lYW5zIHRoZSBwb2xpY3kgaGFkIG5vdGhpbmcgdG8gbmFycm93IHRvLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTZW5kZXJBbGxvd2VkKGZyb206IHN0cmluZywgcGF0dGVybnM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gIGlmIChwYXR0ZXJucy5sZW5ndGggPT09IDApIHJldHVybiB0cnVlO1xuICBjb25zdCBhZGRyZXNzID0gZnJvbS50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgcmV0dXJuIHBhdHRlcm5zLnNvbWUoKHBhdHRlcm4pID0+IG1hdGNoZXNQYXR0ZXJuKGFkZHJlc3MsIHBhdHRlcm4pKTtcbn1cblxuLyoqXG4gKiBUaHJvdyB3aGVuIGBmcm9tYCBpcyBub3QgcGVybWl0dGVkIGJ5IHRoZSBhbGxvdy1saXN0LiBOby1vcCB3aGVuIHRoZVxuICogYWxsb3ctbGlzdCBpcyBlbXB0eS4gVGhlIHNpbmdsZSBlbmZvcmNlbWVudCBwb2ludCBmb3IgdGhlIHJlc3RyaWN0aW9uXG4gKiAoY2FsbGVkIGZyb20ge0BsaW5rIHNlbmRFbWFpbH0pLCBzbyBldmVyeSBzZW5kIHBhdGggaXMgY292ZXJlZCB3aGV0aGVyXG4gKiB0aGUgYWRkcmVzcyB3YXMgZGVyaXZlZCBzZXJ2ZXItc2lkZSBvciBjaG9zZW4gaW4gYSBVSS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydFNlbmRlckFsbG93ZWQoZnJvbTogc3RyaW5nLCBwYXR0ZXJuczogc3RyaW5nW10pOiB2b2lkIHtcbiAgaWYgKGlzU2VuZGVyQWxsb3dlZChmcm9tLCBwYXR0ZXJucykpIHJldHVybjtcbiAgLy8gVGhlIHRocm93biBtZXNzYWdlIG5hbWVzIHRoZSBmaWVsZCBvbmx5OyB0aGUgcGF0dGVybnMgYXJlIHBvbGljeSBkZXRhaWxcbiAgLy8gdGhhdCBiZWxvbmdzIGluIHRoZSBvcGVyYXRvcidzIGxvZ3MsIG5vdCBpbiBhIGNsaWVudCBvciBtb2RlbCByZXNwb25zZS5cbiAgbG9nZ2VyLndhcm4oXCJzZW5kZXI6ZGVuaWVkXCIsIHsgZnJvbSwgYWxsb3dlZFNlbmRlcnM6IHBhdHRlcm5zIH0pO1xuICB0aHJvdyBWYWxpZGF0aW9uRXJyb3IuaW52YWxpZFZhbHVlKFxuICAgIFwiZnJvbVwiLFxuICAgIGZyb20sXG4gICAgXCJhbiBhZGRyZXNzIHBlcm1pdHRlZCBieSB0aGUgY29uZmlndXJlZCBzZW5kZXIgYWxsb3ctbGlzdFwiLFxuICApO1xufVxuXG4vKipcbiAqIFJlc29sdmUgdGhlIGBGcm9tYCBhZGRyZXNzIGZvciBhIHNlbmQgZnJvbSB0aGUgcmVzb2x2ZWQgY29uZmlnIGFuZCB0aGVcbiAqIGN1cnJlbnQgT0JPIHVzZXI6IGV4cGxpY2l0IGBmcm9tYCB3aW5zLCB0aGVuIGA8bG9jYWw+QDxkb21haW4+YCwgdGhlblxuICogKGZpbGUvb3V0Ym94IG1vZGUgb25seSkgdGhlIHVzZXIncyBlbWFpbCB2ZXJiYXRpbS4gVGhyb3dzIHdoZW4gbm9uZSBvZlxuICogdGhvc2UgeWllbGQgYW4gYWRkcmVzcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVTZW5kZXJBZGRyZXNzKFxuICBjb25maWc6IFJlc29sdmVkRW1haWxDb25maWcsXG4gIHVzZXJFbWFpbDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuKTogc3RyaW5nIHtcbiAgaWYgKGNvbmZpZy5mcm9tKSByZXR1cm4gY29uZmlnLmZyb207XG4gIGlmIChjb25maWcuZG9tYWluKSByZXR1cm4gZGVyaXZlU2VuZGVyQWRkcmVzcyh1c2VyRW1haWwsIGNvbmZpZy5kb21haW4pO1xuICBjb25zdCBlbWFpbCA9IHVzZXJFbWFpbD8udHJpbSgpO1xuICBpZiAoIWVtYWlsKSB7XG4gICAgdGhyb3cgQ29uZmlndXJhdGlvbkVycm9yLnJlc291cmNlTm90Rm91bmQoXG4gICAgICBcIkVtYWlsIHNlbmRlciBhZGRyZXNzXCIsXG4gICAgICBcIlNldCBgZnJvbWAgLyBFTUFJTF9GUk9NLCBzZXQgYGRvbWFpbmAgLyBFTUFJTF9ET01BSU4sIG9yIHJ1biBvbiBiZWhhbGYgb2YgYSB1c2VyLlwiLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIGVtYWlsO1xufVxuXG4vKipcbiAqIEV4cGFuZCB0aGUgcmVzb2x2ZWQgY29uZmlnJ3MgYWxsb3ctbGlzdCBpbnRvIHRoZSBjb25jcmV0ZSBgRnJvbWBcbiAqIGFkZHJlc3NlcyBvZmZlcmVkIHRvIHRoZSBjdXJyZW50IHVzZXIgLSB0aGUgZGF0YSBhIFVJIHNlbmRlciBkcm9wZG93blxuICogcmVuZGVycy4gRXhhY3QtYWRkcmVzcyBwYXR0ZXJucyBwYXNzIHRocm91Z2g7IGRvbWFpbiB3aWxkY2FyZHNcbiAqIChgKkBkb21haW4uY29tYCAvIGJhcmUgYGRvbWFpbi5jb21gKSBhcmUgY29uY3JldGl6ZWQgYXNcbiAqIGA8dXNlci1sb2NhbD5APGRvbWFpbj5gIGFuZCBkcm9wcGVkIHdoZW4gbm8gT0JPIHVzZXIgbG9jYWwgcGFydCBpc1xuICogYXZhaWxhYmxlLiBXaGVuIG5vIGFsbG93LWxpc3QgaXMgY29uZmlndXJlZCwgdGhlIHNpbmdsZSBkZWZhdWx0IHNlbmRlclxuICogKHtAbGluayByZXNvbHZlU2VuZGVyQWRkcmVzc30pIGlzIHJldHVybmVkIHdoZW4gaXQgY2FuIGJlIHJlc29sdmVkLFxuICogZWxzZSBhbiBlbXB0eSBsaXN0LiBUaGUgZGVmYXVsdCByZXNvbHZlZCBzZW5kZXIsIHdoZW4gcGVybWl0dGVkLCBpc1xuICogb3JkZXJlZCBmaXJzdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxpc3RTZW5kZXJPcHRpb25zKFxuICBjb25maWc6IFJlc29sdmVkRW1haWxDb25maWcsXG4gIHVzZXJFbWFpbDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuKTogc3RyaW5nW10ge1xuICBjb25zdCBwYXR0ZXJucyA9IGNvbmZpZy5hbGxvd2VkU2VuZGVycyA/PyBbXTtcbiAgY29uc3QgbG9jYWwgPSB1c2VyRW1haWw/LnNwbGl0KFwiQFwiKVswXT8udHJpbSgpLnRvTG93ZXJDYXNlKCk7XG4gIGNvbnN0IG9wdGlvbnM6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IGFkZCA9IChhZGRyZXNzOiBzdHJpbmcgfCB1bmRlZmluZWQpOiB2b2lkID0+IHtcbiAgICBpZiAoYWRkcmVzcyAmJiAhb3B0aW9ucy5pbmNsdWRlcyhhZGRyZXNzKSkgb3B0aW9ucy5wdXNoKGFkZHJlc3MpO1xuICB9O1xuXG4gIC8vIFN1cmZhY2UgdGhlIGFkZHJlc3MgYSBzZW5kIHdvdWxkIHVzZSBieSBkZWZhdWx0IGZpcnN0LCB3aGVuIGl0IGNhblxuICAvLyBiZSByZXNvbHZlZCBhbmQgdGhlIGFsbG93LWxpc3QgKGlmIGFueSkgcGVybWl0cyBpdC5cbiAgdHJ5IHtcbiAgICBjb25zdCBmYWxsYmFjayA9IHJlc29sdmVTZW5kZXJBZGRyZXNzKGNvbmZpZywgdXNlckVtYWlsKTtcbiAgICBpZiAoaXNTZW5kZXJBbGxvd2VkKGZhbGxiYWNrLCBwYXR0ZXJucykpIGFkZChmYWxsYmFjay50b0xvd2VyQ2FzZSgpKTtcbiAgfSBjYXRjaCB7XG4gICAgLy8gTm8gZGVmYXVsdCByZXNvbHZhYmxlIChlLmcuIGZpbGUgbW9kZSB3aXRoIG5vIHVzZXIgLyBkb21haW4gLyBmcm9tKS5cbiAgfVxuXG4gIGZvciAoY29uc3QgcGF0dGVybiBvZiBwYXR0ZXJucykge1xuICAgIGlmIChwYXR0ZXJuID09PSBcIipcIikgY29udGludWU7IC8vIFwiYW55XCIgY2FuJ3QgYmUgZW51bWVyYXRlZCBhcyBhIGNob2ljZVxuICAgIGlmIChwYXR0ZXJuLnN0YXJ0c1dpdGgoXCIqQFwiKSB8fCAhcGF0dGVybi5pbmNsdWRlcyhcIkBcIikpIHtcbiAgICAgIGNvbnN0IGRvbWFpbiA9IHBhdHRlcm4uc3RhcnRzV2l0aChcIipAXCIpID8gcGF0dGVybi5zbGljZSgyKSA6IHBhdHRlcm47XG4gICAgICBpZiAobG9jYWwpIGFkZChgJHtsb2NhbH1AJHtkb21haW59YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFkZChwYXR0ZXJuKTsgLy8gZXhhY3QgYWRkcmVzc1xuICAgIH1cbiAgfVxuICByZXR1cm4gb3B0aW9ucztcbn1cbiJdfQ==
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBRUgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJbEQsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUUxQzs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsU0FBNkIsRUFBRSxNQUFjO0lBQy9FLE1BQU0sS0FBSyxHQUFHLFNBQVMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDL0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsTUFBTSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FDdkMseUJBQXlCLEVBQ3pCLCtFQUErRSxDQUNoRixDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sR0FBRyxLQUFLLElBQUksTUFBTSxFQUFFLENBQUM7QUFDOUIsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUFDLEdBQWtDO0lBQ3BFLE9BQU8sR0FBRyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsZ0ZBQWdGO0FBQ2hGLFNBQVMsbUJBQW1CLENBQUMsT0FBZTtJQUMxQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQUUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM1RCxJQUFJLENBQUMsT0FBTyxDQUFDLFFB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RUFBRSxTQUFTLENBQUMsQ0FBQztRQUN6RCxJQUFJLGVBQWUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO1lBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCx1RUFBdUU7SUFDekUsQ0FBQztJQUVELEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7UUFDL0IsSUFBSSxPQUFPLEtBQUssR0FBRztZQUFFLFNBQVMsQ0FBQyx3Q0FBd0M7UUFDdkUsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3ZELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUNyRSxJQUFJLEtBQUs7Z0JBQUUsR0FBRyxDQUFDLEdBQUcsS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdkMsQ0FBQzthQUFNLENBQUM7WUFDTixHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTZW5kZXItYWRkcmVzcyBwb2xpY3k6IHR1cm4gdGhlIG9uLWJlaGFsZi1vZiB1c2VyJ3MgZW1haWwgaW50byBhblxuICogb3V0Ym91bmQgYEZyb21gLCBhbmQgKG9wdGlvbmFsbHkpIHJlc3RyaWN0IHdoaWNoIGFkZHJlc3NlcyBtYXkgc2VuZC5cbiAqXG4gKiBUaGUgZGVmYXVsdCBgRnJvbWAgcmUtaG9tZXMgdGhlIGxvY2FsIHBhcnQgKGV2ZXJ5dGhpbmcgYmVmb3JlIGBAYCkgb2ZcbiAqIHRoZSBPQk8gZW1haWwgb24gdGhlIGNvbmZpZ3VyZWQgc2VuZGluZyBkb21haW4sIHNvIGBhbGljZUBkYXRhYnJpY2tzLmNvbWBcbiAqIHRocm91Z2ggYSBkb21haW4gb2YgYG1haWwuZXhhbXBsZS5jb21gIGdvZXMgb3V0IGFzXG4gKiBgYWxpY2VAbWFpbC5leGFtcGxlLmNvbWAuIEFuIGV4cGxpY2l0IGBmcm9tYCBzaG9ydC1jaXJjdWl0cyB0aGF0OyB0aGVcbiAqIGZpbGUvb3V0Ym94IGZhbGxiYWNrIChubyBkb21haW4pIGtlZXBzIHRoZSB1c2VyJ3MgYWRkcmVzcyB2ZXJiYXRpbSBzb1xuICogdGVzdCBhcnRpZmFjdHMgbGFuZCB1bmRlciBhIHJlY29nbml6YWJsZSBmb2xkZXIuXG4gKlxuICogVGhlIHJlc29sdmVkIGBGcm9tYCBpcyB0aGVuIGNvbnN0cmFpbmVkIHRvIHRoZSBlZmZlY3RpdmUgYWxsb3ctbGlzdDogYVxuICogcGF0dGVybiBpcyBlaXRoZXIgYW4gZXhhY3QgYWRkcmVzcyAoYHVzZXJAZG9tYWluLmNvbWApLCBhIGRvbWFpbiB3aWxkY2FyZFxuICogKGAqQGRvbWFpbi5jb21gIG9yIHRoZSBiYXJlIGBkb21haW4uY29tYCwgbWF0Y2hpbmcgYW55IGxvY2FsIHBhcnQgb24gdGhhdFxuICogZG9tYWluKSwgb3IgYCpgIChhbnkpLiBUaGlzIG1vZHVsZSBvbmx5IG1hdGNoZXMgcGF0dGVybnM7IHdoaWNoIHBhdHRlcm5zXG4gKiBhcHBseSBpcyBkZWNpZGVkIGJ5IHRoZSBjb25maWd1cmVkIHNlbmRlciBwb2xpY3kgaW4gYC4vY29uZmlnYCwgd2hpY2hcbiAqIHVuZGVyIHRoZSBkZWZhdWx0IGBcImFsbG93bGlzdFwiYCBtb2RlIGZpbGxzIGFuIGVtcHR5IGxpc3QgaW4gZnJvbSB0aGVcbiAqIHNlbmRlciBzb3VyY2UuIHtAbGluayBsaXN0U2VuZGVyT3B0aW9uc30gZXhwYW5kcyB0aGUgZWZmZWN0aXZlIGxpc3QgaW50b1xuICogdGhlIGNvbmNyZXRlIGFkZHJlc3NlcyBhIFVJIGRyb3Bkb3duIGNhbiBvZmZlciBmb3IgdGhlIGN1cnJlbnQgdXNlci5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkVycm9yLCBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tIFwiQGRhdGFicmlja3MvYXBwa2l0XCI7XG5pbXBvcnQgeyBsb2csIG5ldCB9IGZyb20gXCJAZGJ4LXRvb2xzL3NoYXJlZC1jb3JlXCI7XG5cbmltcG9ydCB0eXBlIHsgUmVzb2x2ZWRFbWFpbENvbmZpZyB9IGZyb20gXCIuL2NvbmZpZy50c1wiO1xuXG5jb25zdCBsb2dnZXIgPSBsb2cubG9nZ2VyKFwiZW1haWwvc2VuZGVyXCIpO1xuXG4vKipcbiAqIFJlLWhvbWUgdGhlIE9CTyB1c2VyJ3MgbG9jYWwgcGFydCBvbiBgZG9tYWluYC4gVGhyb3dzIHdoZW4gbm8gdXNhYmxlXG4gKiBsb2NhbCBwYXJ0IGlzIGF2YWlsYWJsZSAoZS5nLiBhIHNlcnZpY2UtY29udGV4dCBjYWxsIHdpdGggbm8gdXNlcikuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXJpdmVTZW5kZXJBZGRyZXNzKHVzZXJFbWFpbDogc3RyaW5nIHwgdW5kZWZpbmVkLCBkb21haW46IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGxvY2FsID0gdXNlckVtYWlsPy5zcGxpdChcIkBcIilbMF0/LnRyaW0oKTtcbiAgaWYgKCFsb2NhbCkge1xuICAgIHRocm93IENvbmZpZ3VyYXRpb25FcnJvci5yZXNvdXJjZU5vdEZvdW5kKFxuICAgICAgXCJPbi1iZWhhbGYtb2YgdXNlciBlbWFpbFwiLFxuICAgICAgXCJTZXQgYGZyb21gIC8gRU1BSUxfRlJPTSB0byBzZW5kIGZyb20gYSBmaXhlZCBhZGRyZXNzIGluc3RlYWQgb2YgZGVyaXZpbmcgb25lLlwiLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIGAke2xvY2FsfUAke2RvbWFpbn1gO1xufVxuXG4vKipcbiAqIE5vcm1hbGl6ZSBhIHNlbmRlciBhbGxvdy1saXN0IGZyb20gY29uZmlnIChhIGBzdHJpbmdbXWApIG9yIGFuIGVudiB2YXJcbiAqIChhIENTViAvIHdoaXRlc3BhY2Utc2VwYXJhdGVkIHN0cmluZykuIERlbGVnYXRlcyB0byB0aGUgc2hhcmVkXG4gKiB7QGxpbmsgbmV0LnBhcnNlRW1haWxzfSBzbyBhbGxvdy1saXN0IHBhdHRlcm5zIGFyZSByZWFkIGV4YWN0bHlcbiAqIGxpa2UgcmVjaXBpZW50IGxpc3RzIGVsc2V3aGVyZTogZW50cmllcyBhcmUgdHJpbW1lZCwgbG93ZXItY2FzZWQgKHNvXG4gKiBtYXRjaGluZyBpbiB7QGxpbmsgaXNTZW5kZXJBbGxvd2VkfSBpcyBjYXNlLWluc2Vuc2l0aXZlKSwgYW5kXG4gKiBkZS1kdXBsaWNhdGVkOyBlbXB0aWVzIGFyZSBkcm9wcGVkLiBBbiBlbXB0eSByZXN1bHQgbWVhbnMgXCJub1xuICogcmVzdHJpY3Rpb25cIi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQWxsb3dlZFNlbmRlcnMocmF3OiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIG5ldC5wYXJzZUVtYWlscyhyYXcsIHsgbG93ZXJjYXNlOiB0cnVlIH0pO1xufVxuXG4vKiogVGhlIGBAZG9tYWluYCBzdWZmaXggYSB3aWxkY2FyZCAvIGJhcmUtZG9tYWluIHBhdHRlcm4gbWF0Y2hlcywgZWxzZSBudWxsLiAqL1xuZnVuY3Rpb24gcGF0dGVybkRvbWFpblN1ZmZpeChwYXR0ZXJuOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgaWYgKHBhdHRlcm4uc3RhcnRzV2l0aChcIipAXCIpKSByZXR1cm4gYEAke3BhdHRlcm4uc2xpY2UoMil9YDtcbiAgaWYgKCFwYXR0ZXJuLmluY2x1ZGVzKFwiQFwiKSkgcmV0dXJuIGBAJHtwYXR0ZXJufWA7XG4gIHJldHVybiBudWxsO1xufVxuXG4vKiogV2hldGhlciBgYWRkcmVzc2AgKGFscmVhZHkgbG93ZXItY2FzZWQpIHNhdGlzZmllcyBhIHNpbmdsZSBwYXR0ZXJuLiAqL1xuZnVuY3Rpb24gbWF0Y2hlc1BhdHRlcm4oYWRkcmVzczogc3RyaW5nLCBwYXR0ZXJuOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgaWYgKHBhdHRlcm4gPT09IFwiKlwiKSByZXR1cm4gdHJ1ZTtcbiAgY29uc3Qgc3VmZml4ID0gcGF0dGVybkRvbWFpblN1ZmZpeChwYXR0ZXJuKTtcbiAgaWYgKHN1ZmZpeCkgcmV0dXJuIGFkZHJlc3MubGVuZ3RoID4gc3VmZml4Lmxlbmd0aCAmJiBhZGRyZXNzLmVuZHNXaXRoKHN1ZmZpeCk7XG4gIHJldHVybiBhZGRyZXNzID09PSBwYXR0ZXJuO1xufVxuXG4vKipcbiAqIFdoZXRoZXIgYGZyb21gIGlzIHBlcm1pdHRlZCBieSB0aGUgYWxsb3ctbGlzdC4gQW4gZW1wdHkgKG9yIGFic2VudClcbiAqIGFsbG93LWxpc3QgcGVybWl0cyBldmVyeXRoaW5nOiB7QGxpbmsgcmVzb2x2ZUVtYWlsQ29uZmlnfSBpcyB3aGF0IHR1cm5zXG4gKiB0aGUgY29uZmlndXJlZCB7QGxpbmsgU2VuZGVyUG9saWN5fSBpbnRvIGNvbmNyZXRlIHBhdHRlcm5zLCBzbyBhbiBlbXB0eVxuICogbGlzdCBoZXJlIG1lYW5zIHRoZSBwb2xpY3kgaGFkIG5vdGhpbmcgdG8gbmFycm93IHRvLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTZW5kZXJBbGxvd2VkKGZyb206IHN0cmluZywgcGF0dGVybnM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gIGlmIChwYXR0ZXJucy5sZW5ndGggPT09IDApIHJldHVybiB0cnVlO1xuICBjb25zdCBhZGRyZXNzID0gZnJvbS50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgcmV0dXJuIHBhdHRlcm5zLnNvbWUoKHBhdHRlcm4pID0+IG1hdGNoZXNQYXR0ZXJuKGFkZHJlc3MsIHBhdHRlcm4pKTtcbn1cblxuLyoqXG4gKiBUaHJvdyB3aGVuIGBmcm9tYCBpcyBub3QgcGVybWl0dGVkIGJ5IHRoZSBhbGxvdy1saXN0LiBOby1vcCB3aGVuIHRoZVxuICogYWxsb3ctbGlzdCBpcyBlbXB0eS4gVGhlIHNpbmdsZSBlbmZvcmNlbWVudCBwb2ludCBmb3IgdGhlIHJlc3RyaWN0aW9uXG4gKiAoY2FsbGVkIGZyb20ge0BsaW5rIHNlbmRFbWFpbH0pLCBzbyBldmVyeSBzZW5kIHBhdGggaXMgY292ZXJlZCB3aGV0aGVyXG4gKiB0aGUgYWRkcmVzcyB3YXMgZGVyaXZlZCBzZXJ2ZXItc2lkZSBvciBjaG9zZW4gaW4gYSBVSS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydFNlbmRlckFsbG93ZWQoZnJvbTogc3RyaW5nLCBwYXR0ZXJuczogc3RyaW5nW10pOiB2b2lkIHtcbiAgaWYgKGlzU2VuZGVyQWxsb3dlZChmcm9tLCBwYXR0ZXJucykpIHJldHVybjtcbiAgLy8gVGhlIHRocm93biBtZXNzYWdlIG5hbWVzIHRoZSBmaWVsZCBvbmx5OyB0aGUgcGF0dGVybnMgYXJlIHBvbGljeSBkZXRhaWxcbiAgLy8gdGhhdCBiZWxvbmdzIGluIHRoZSBvcGVyYXRvcidzIGxvZ3MsIG5vdCBpbiBhIGNsaWVudCBvciBtb2RlbCByZXNwb25zZS5cbiAgbG9nZ2VyLndhcm4oXCJzZW5kZXI6ZGVuaWVkXCIsIHsgZnJvbSwgYWxsb3dlZFNlbmRlcnM6IHBhdHRlcm5zIH0pO1xuICB0aHJvdyBWYWxpZGF0aW9uRXJyb3IuaW52YWxpZFZhbHVlKFxuICAgIFwiZnJvbVwiLFxuICAgIGZyb20sXG4gICAgXCJhbiBhZGRyZXNzIHBlcm1pdHRlZCBieSB0aGUgY29uZmlndXJlZCBzZW5kZXIgYWxsb3ctbGlzdFwiLFxuICApO1xufVxuXG4vKipcbiAqIFJlc29sdmUgdGhlIGBGcm9tYCBhZGRyZXNzIGZvciBhIHNlbmQgZnJvbSB0aGUgcmVzb2x2ZWQgY29uZmlnIGFuZCB0aGVcbiAqIGN1cnJlbnQgT0JPIHVzZXI6IGV4cGxpY2l0IGBmcm9tYCB3aW5zLCB0aGVuIGA8bG9jYWw+QDxkb21haW4+YCwgdGhlblxuICogKGZpbGUvb3V0Ym94IG1vZGUgb25seSkgdGhlIHVzZXIncyBlbWFpbCB2ZXJiYXRpbS4gVGhyb3dzIHdoZW4gbm9uZSBvZlxuICogdGhvc2UgeWllbGQgYW4gYWRkcmVzcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVTZW5kZXJBZGRyZXNzKFxuICBjb25maWc6IFJlc29sdmVkRW1haWxDb25maWcsXG4gIHVzZXJFbWFpbDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuKTogc3RyaW5nIHtcbiAgaWYgKGNvbmZpZy5mcm9tKSByZXR1cm4gY29uZmlnLmZyb207XG4gIGlmIChjb25maWcuZG9tYWluKSByZXR1cm4gZGVyaXZlU2VuZGVyQWRkcmVzcyh1c2VyRW1haWwsIGNvbmZpZy5kb21haW4pO1xuICBjb25zdCBlbWFpbCA9IHVzZXJFbWFpbD8udHJpbSgpO1xuICBpZiAoIWVtYWlsKSB7XG4gICAgdGhyb3cgQ29uZmlndXJhdGlvbkVycm9yLnJlc291cmNlTm90Rm91bmQoXG4gICAgICBcIkVtYWlsIHNlbmRlciBhZGRyZXNzXCIsXG4gICAgICBcIlNldCBgZnJvbWAgLyBFTUFJTF9GUk9NLCBzZXQgYGRvbWFpbmAgLyBFTUFJTF9ET01BSU4sIG9yIHJ1biBvbiBiZWhhbGYgb2YgYSB1c2VyLlwiLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIGVtYWlsO1xufVxuXG4vKipcbiAqIEV4cGFuZCB0aGUgcmVzb2x2ZWQgY29uZmlnJ3MgYWxsb3ctbGlzdCBpbnRvIHRoZSBjb25jcmV0ZSBgRnJvbWBcbiAqIGFkZHJlc3NlcyBvZmZlcmVkIHRvIHRoZSBjdXJyZW50IHVzZXIgLSB0aGUgZGF0YSBhIFVJIHNlbmRlciBkcm9wZG93blxuICogcmVuZGVycy4gRXhhY3QtYWRkcmVzcyBwYXR0ZXJucyBwYXNzIHRocm91Z2g7IGRvbWFpbiB3aWxkY2FyZHNcbiAqIChgKkBkb21haW4uY29tYCAvIGJhcmUgYGRvbWFpbi5jb21gKSBhcmUgY29uY3JldGl6ZWQgYXNcbiAqIGA8dXNlci1sb2NhbD5APGRvbWFpbj5gIGFuZCBkcm9wcGVkIHdoZW4gbm8gT0JPIHVzZXIgbG9jYWwgcGFydCBpc1xuICogYXZhaWxhYmxlLiBXaGVuIG5vIGFsbG93LWxpc3QgaXMgY29uZmlndXJlZCwgdGhlIHNpbmdsZSBkZWZhdWx0IHNlbmRlclxuICogKHtAbGluayByZXNvbHZlU2VuZGVyQWRkcmVzc30pIGlzIHJldHVybmVkIHdoZW4gaXQgY2FuIGJlIHJlc29sdmVkLFxuICogZWxzZSBhbiBlbXB0eSBsaXN0LiBUaGUgZGVmYXVsdCByZXNvbHZlZCBzZW5kZXIsIHdoZW4gcGVybWl0dGVkLCBpc1xuICogb3JkZXJlZCBmaXJzdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxpc3RTZW5kZXJPcHRpb25zKFxuICBjb25maWc6IFJlc29sdmVkRW1haWxDb25maWcsXG4gIHVzZXJFbWFpbDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuKTogc3RyaW5nW10ge1xuICBjb25zdCBwYXR0ZXJucyA9IGNvbmZpZy5hbGxvd2VkU2VuZGVycyA/PyBbXTtcbiAgY29uc3QgbG9jYWwgPSB1c2VyRW1haWw/LnNwbGl0KFwiQFwiKVswXT8udHJpbSgpLnRvTG93ZXJDYXNlKCk7XG4gIGNvbnN0IG9wdGlvbnM6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IGFkZCA9IChhZGRyZXNzOiBzdHJpbmcgfCB1bmRlZmluZWQpOiB2b2lkID0+IHtcbiAgICBpZiAoYWRkcmVzcyAmJiAhb3B0aW9ucy5pbmNsdWRlcyhhZGRyZXNzKSkgb3B0aW9ucy5wdXNoKGFkZHJlc3MpO1xuICB9O1xuXG4gIC8vIFN1cmZhY2UgdGhlIGFkZHJlc3MgYSBzZW5kIHdvdWxkIHVzZSBieSBkZWZhdWx0IGZpcnN0LCB3aGVuIGl0IGNhblxuICAvLyBiZSByZXNvbHZlZCBhbmQgdGhlIGFsbG93LWxpc3QgKGlmIGFueSkgcGVybWl0cyBpdC5cbiAgdHJ5IHtcbiAgICBjb25zdCBmYWxsYmFjayA9IHJlc29sdmVTZW5kZXJBZGRyZXNzKGNvbmZpZywgdXNlckVtYWlsKTtcbiAgICBpZiAoaXNTZW5kZXJBbGxvd2VkKGZhbGxiYWNrLCBwYXR0ZXJucykpIGFkZChmYWxsYmFjay50b0xvd2VyQ2FzZSgpKTtcbiAgfSBjYXRjaCB7XG4gICAgLy8gTm8gZGVmYXVsdCByZXNvbHZhYmxlIChlLmcuIGZpbGUgbW9kZSB3aXRoIG5vIHVzZXIgLyBkb21haW4gLyBmcm9tKS5cbiAgfVxuXG4gIGZvciAoY29uc3QgcGF0dGVybiBvZiBwYXR0ZXJucykge1xuICAgIGlmIChwYXR0ZXJuID09PSBcIipcIikgY29udGludWU7IC8vIFwiYW55XCIgY2FuJ3QgYmUgZW51bWVyYXRlZCBhcyBhIGNob2ljZVxuICAgIGlmIChwYXR0ZXJuLnN0YXJ0c1dpdGgoXCIqQFwiKSB8fCAhcGF0dGVybi5pbmNsdWRlcyhcIkBcIikpIHtcbiAgICAgIGNvbnN0IGRvbWFpbiA9IHBhdHRlcm4uc3RhcnRzV2l0aChcIipAXCIpID8gcGF0dGVybi5zbGljZSgyKSA6IHBhdHRlcm47XG4gICAgICBpZiAobG9jYWwpIGFkZChgJHtsb2NhbH1AJHtkb21haW59YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFkZChwYXR0ZXJuKTsgLy8gZXhhY3QgYWRkcmVzc1xuICAgIH1cbiAgfVxuICByZXR1cm4gb3B0aW9ucztcbn1cbiJdfQ==
|
package/lib/src/tool.js
CHANGED
|
@@ -79,4 +79,4 @@ export function emailTool(opts = {}) {
|
|
|
79
79
|
},
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUVILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RCxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFFbkQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7Ozs7Ozs7Ozs7O0NBVzFELENBQUMsQ0FBQztBQVlIOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQUMsT0FBeUIsRUFBRTtJQUNuRCxPQUFPLFVBQVUsQ0FBQztRQUNoQixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxZQUFZO1FBQzNCLFdBQVcsRUFBRSxzQkFBc0I7UUFDbkMsV0FBVyxFQUFFLEtBQUssQ0FBQyxrQkFBa0I7UUFDckMsWUFBWSxFQUFFLEtBQUssQ0FBQyxpQkFBaUI7UUFDckMsZUFBZSxFQUFFLElBQUk7UUFDckIsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDaEMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0RCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsZUFBZSxFQUFFLENBQUM7WUFDckMsTUFBTSxHQUFHLEdBQUcsbUJBQW1CLEVBQUUsQ0FBQztZQUNsQyxNQUFNLFNBQVMsR0FBRyxlQUFlLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDckUsTUFBTSxJQUFJLEdBQUcsb0JBQW9CLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3JELE1BQU0sTUFBTSxHQUFHLE1BQU0sU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQ3BFLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNsQixFQUFFLEVBQUUsTUFBTSxDQUFDLFNBQVM7Z0JBQ3BCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtnQkFDakIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQzdELENBQUMsQ0FBQztZQUNILE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGUgYHNlbmRfZW1haWxgIE1hc3RyYSB0b29sOiBhcHByb3ZhbC1nYXRlZCBzbyBhIG1vZGVsIGNhbiBkcmFmdCBhXG4gKiBtZXNzYWdlIGZyZWVseSBidXQgbm90aGluZyBsZWF2ZXMgdGhlIGJ1aWxkaW5nIHVudGlsIGEgaHVtYW4gY2xpY2tzXG4gKiBBcHByb3ZlIGluIHRoZSBjaGF0IFVJLiBPbiBhcHByb3ZhbCB0aGUgc2VuZGVyIGlzIHJlc29sdmVkIChleHBsaWNpdFxuICogYGZyb21gIGNvbmZpZywgZWxzZSBkZXJpdmVkIGZyb20gdGhlIG9uLWJlaGFsZi1vZiB1c2VyJ3MgZW1haWwpIGFuZFxuICogdGhlIG1lc3NhZ2UgaXMgZGlzcGF0Y2hlZCB0aHJvdWdoIHRoZSBzaGFyZWQgU01UUCB0cmFuc3BvcnQuXG4gKlxuICogVGhlIHNlbmRlciBkZXJpdmF0aW9uIHJ1bnMgaW5zaWRlIHRoZSBBcHBLaXQgdXNlciBzY29wZSwgc29cbiAqIGBnZXRFeGVjdXRpb25Db250ZXh0KClgIHJldHVybnMgdGhlIE9CTyB1c2VyIHdob3NlIGxvY2FsLXBhcnQgc2VlZHNcbiAqIHRoZSBhZGRyZXNzIChzZWUge0BsaW5rIGRlcml2ZVNlbmRlckFkZHJlc3N9KS5cbiAqXG4gKiBUaGUgZGlzcGF0Y2ggaXRzZWxmIGdvZXMgdGhyb3VnaCB0aGUgZXhlY3V0b3IgdGhlIHBsdWdpbiBpbnN0YWxscyBvbiB0aGVcbiAqIHNoYXJlZCBydW50aW1lLCBzbyBhIHNlbmQgZnJvbSB0aGlzIHRvb2wgcGlja3MgdXAgdGhlIHNhbWUgcmV0cnkgLyB0aW1lb3V0IC9cbiAqIHRlbGVtZXRyeSBjaGFpbiBhcyBvbmUgZnJvbSB0aGUgQXBwS2l0IHRvb2wuIEluIGEgTWFzdHJhIGFwcCB3aXRoIG5vIEFwcEtpdFxuICogcGx1Z2luIHJlZ2lzdGVyZWQgdGhlIHNlbmQgc3RpbGwgcnVucywganVzdCB3aXRob3V0IGludGVyY2VwdG9ycy5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuaW1wb3J0IHsgZ2V0RXhlY3V0aW9uQ29udGV4dCB9IGZyb20gXCJAZGF0YWJyaWNrcy9hcHBraXRcIjtcbmltcG9ydCB7IGxvZywgc3RyaW5nIH0gZnJvbSBcIkBkYngtdG9vbHMvc2hhcmVkLWNvcmVcIjtcbmltcG9ydCB7IGVtYWlsIH0gZnJvbSBcIkBkYngtdG9vbHMvc2hhcmVkLWVtYWlsXCI7XG5pbXBvcnQgeyBjcmVhdGVUb29sIH0gZnJvbSBcIkBtYXN0cmEvY29yZS90b29sc1wiO1xuaW1wb3J0IHsgcmVzb2x2ZVNlbmRlckFkZHJlc3MgfSBmcm9tIFwiLi9zZW5kZXIudHNcIjtcbmltcG9ydCB7IGdldEVtYWlsUnVudGltZSwgc2VuZEVtYWlsIH0gZnJvbSBcIi4vdHJhbnNwb3J0LnRzXCI7XG5cbmNvbnN0IGxvZ2dlciA9IGxvZy5sb2dnZXIoXCJlbWFpbC90b29sL3NlbmQtZW1haWxcIik7XG5cbi8qKlxuICogVGhlIG1vZGVsLWZhY2luZyBkZXNjcmlwdGlvbiBvZiB0aGUgc2VuZCBjYXBhYmlsaXR5LCBzaGFyZWQgYnkgdGhlIE1hc3RyYVxuICoge0BsaW5rIGVtYWlsVG9vbH0gYW5kIHRoZSBBcHBLaXQgYGVtYWlsLnNlbmRgIHRvb2wgc28gYm90aCBhZ2VudHMgZ2V0IHRoZVxuICogc2FtZSBndWlkYW5jZSBhYm91dCBhcHByb3ZhbCwgc2NvcGUsIGFuZCBib2R5IGZvcm1hdHRpbmcuXG4gKi9cbmV4cG9ydCBjb25zdCBTRU5EX0VNQUlMX0RFU0NSSVBUSU9OID0gc3RyaW5nLnRvRGVzY3JpcHRpb24oYFxuICBTZW5kIGFuIGVtYWlsIG9uIHRoZSB1c2VyJ3MgYmVoYWxmLiBQYXNzIG9uZSBvciBtb3JlIHJlY2lwaWVudFxuICBhZGRyZXNzZXMgKHdpdGggb3B0aW9uYWwgY2MgLyBiY2MgYW5kIGZpbGUgYXR0YWNobWVudHMpLCBhIHN1YmplY3QsXG4gIGFuZCBhIGJvZHk7IHRoZSB1c2VyIGlzIHByb21wdGVkIHRvIGFwcHJvdmUgdGhlIHNlbmQgYmVmb3JlIGl0IGdvZXNcbiAgb3V0ICh0aGlzIHRvb2wgaXMgYXBwcm92YWwtZ2F0ZWQpLiBVc2UgaXQgb25seSB3aGVuIHRoZSB1c2VyXG4gIGV4cGxpY2l0bHkgYXNrcyB0byBzZW5kIC8gZm9yd2FyZCAvIHNoYXJlIHNvbWV0aGluZyB2aWEgZW1haWwgLVxuICBuZXZlciBhdXRvbm9tb3VzbHkuIEtlZXAgc3ViamVjdHMgc2hvcnQgYW5kIGJvZGllcyBzZWxmLWNvbnRhaW5lZDpcbiAgdGhlIHJlY2lwaWVudCBoYXMgbm9uZSBvZiB0aGUgY2hhdCBjb250ZXh0LiBXcml0ZSB0aGUgYm9keSBpblxuICBHaXRIdWItRmxhdm9yZWQgTWFya2Rvd24gLSBoZWFkaW5ncywgbGlzdHMsIGFuZCByZWFsIE1hcmtkb3duXG4gIHRhYmxlcyAtIG5vdCBBU0NJSSBhcnQgKG5vIFwiPT09PT1cIiBkaXZpZGVycyBvciBzcGFjZS9waXBlLWRyYXduXG4gIHRhYmxlcyk7IGl0IGlzIHJlbmRlcmVkIHRvIEhUTUwgYmVmb3JlIHNlbmRpbmcuXG5gKTtcblxuLyoqIE9wdGlvbnMgYWNjZXB0ZWQgYnkge0BsaW5rIGVtYWlsVG9vbH0uICovXG5leHBvcnQgaW50ZXJmYWNlIEVtYWlsVG9vbE9wdGlvbnMge1xuICAvKipcbiAgICogT3ZlcnJpZGUgdGhlIHRvb2wgaWQuIERlZmF1bHRzIHRvIGBcInNlbmRfZW1haWxcImA7IHRoZSBjaGF0IFVJJ3NcbiAgICogYXBwcm92YWwgZ2F0ZSBrZXlzIG9mZiB0aGlzIGlkLCBzbyBrZWVwIGl0IHVubGVzcyB5b3UgYWxzbyB0ZWFjaFxuICAgKiB0aGUgY2xpZW50IGFib3V0IHRoZSBuZXcgbmFtZS5cbiAgICovXG4gIGlkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEJ1aWxkIHRoZSBhcHByb3ZhbC1nYXRlZCBgc2VuZF9lbWFpbGAgdG9vbC4gU3ByZWFkIGl0IGludG8gdGhlIGFnZW50c1xuICogdGhhdCBzaG91bGQgYmUgYWJsZSB0byBkcmFmdCBtYWlsOyBpdCBpcyBpbnRlbnRpb25hbGx5IG5vdCBpbnN0YWxsZWRcbiAqIGV2ZXJ5d2hlcmUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBlbWFpbFRvb2wgfSBmcm9tIFwiQGRieC10b29scy9lbWFpbFwiO1xuICogaW1wb3J0IHsgY3JlYXRlQWdlbnQgfSBmcm9tIFwiQGRieC10b29scy9hcHBraXQtbWFzdHJhXCI7XG4gKlxuICogY29uc3Qgc3VwcG9ydCA9IGNyZWF0ZUFnZW50KHtcbiAqICAgaW5zdHJ1Y3Rpb25zOiBcIi4uLlwiLFxuICogICB0b29sczogKCkgPT4gKHsgc2VuZF9lbWFpbDogZW1haWxUb29sKCkgfSksXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZW1haWxUb29sKG9wdHM6IEVtYWlsVG9vbE9wdGlvbnMgPSB7fSkge1xuICByZXR1cm4gY3JlYXRlVG9vbCh7XG4gICAgaWQ6IG9wdHMuaWQgPz8gXCJzZW5kX2VtYWlsXCIsXG4gICAgZGVzY3JpcHRpb246IFNFTkRfRU1BSUxfREVTQ1JJUFRJT04sXG4gICAgaW5wdXRTY2hlbWE6IGVtYWlsLmVtYWlsTWVzc2FnZVNjaGVtYSxcbiAgICBvdXRwdXRTY2hlbWE6IGVtYWlsLmVtYWlsUmVzdWx0U2NoZW1hLFxuICAgIHJlcXVpcmVBcHByb3ZhbDogdHJ1ZSxcbiAgICBleGVjdXRlOiBhc3luYyAoaW5wdXQsIGNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlbWFpbC5lbWFpbE1lc3NhZ2VTY2hlbWEucGFyc2UoaW5wdXQpO1xuICAgICAgY29uc3QgeyBjb25maWcgfSA9IGdldEVtYWlsUnVudGltZSgpO1xuICAgICAgY29uc3QgY3R4ID0gZ2V0RXhlY3V0aW9uQ29udGV4dCgpO1xuICAgICAgY29uc3QgdXNlckVtYWlsID0gXCJpc1VzZXJDb250ZXh0XCIgaW4gY3R4ID8gY3R4LnVzZXJFbWFpbCA6IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IGZyb20gPSByZXNvbHZlU2VuZGVyQWRkcmVzcyhjb25maWcsIHVzZXJFbWFpbCk7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBzZW5kRW1haWwobWVzc2FnZSwgZnJvbSwgY29udGV4dD8uYWJvcnRTaWduYWwpO1xuICAgICAgbG9nZ2VyLmluZm8oXCJzZW50XCIsIHtcbiAgICAgICAgdG86IHJlc3VsdC5yZWNpcGllbnQsXG4gICAgICAgIGZyb206IHJlc3VsdC5mcm9tLFxuICAgICAgICAuLi4ocmVzdWx0Lm1lc3NhZ2VJZCA/IHsgbWVzc2FnZUlkOiByZXN1bHQubWVzc2FnZUlkIH0gOiB7fSksXG4gICAgICB9KTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSxcbiAgfSk7XG59XG4iXX0=
|
package/lib/src/transport.d.ts
CHANGED
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
import { type ExecutionResult } from "@databricks/appkit";
|
|
25
25
|
import type { EmailMessage, EmailResult } from "@dbx-tools/shared-email";
|
|
26
26
|
import { type Transporter } from "nodemailer";
|
|
27
|
-
import { type EmailPluginConfig, type ResolvedEmailConfig } from "./config.
|
|
28
|
-
import { type EmailExecutionSettings } from "./defaults.
|
|
27
|
+
import { type EmailPluginConfig, type ResolvedEmailConfig } from "./config.ts";
|
|
28
|
+
import { type EmailExecutionSettings } from "./defaults.ts";
|
|
29
29
|
/**
|
|
30
30
|
* Runs one outbound send through AppKit's interceptor chain. Matches
|
|
31
31
|
* `Plugin.execute()`, which never throws: a failure comes back as
|
package/lib/src/transport.js
CHANGED
|
@@ -300,4 +300,4 @@ export async function sendEmail(message, from, signal) {
|
|
|
300
300
|
assertSenderAllowed(from, getEmailRuntime().config.allowedSenders);
|
|
301
301
|
return executeWrite("send", EMAIL_SEND_SETTINGS, (executeSignal) => dispatch(message, from, executeSignal), signal);
|
|
302
302
|
}
|
|
303
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNwb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyYW5zcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFDTCxXQUFXLEVBQ1gsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxlQUFlLEdBRWhCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFM0QsT0FBTyxVQUFzRCxNQUFNLFlBQVksQ0FBQztBQUNoRixPQUFPLEVBQUUsa0JBQWtCLEVBQW9ELE1BQU0sVUFBVSxDQUFDO0FBQ2hHLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQiwyQkFBMkIsRUFDM0IsY0FBYyxHQUVmLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUUvQyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFvQjdDOzs7O0dBSUc7QUFDSCxNQUFNLGFBQWEsR0FBa0IsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFO0lBQ2hELElBQUksQ0FBQztRQUNILE9BQU8sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDYixPQUFPO1lBQ0wsRUFBRSxFQUFFLEtBQUs7WUFDVCxNQUFNLEVBQUUsR0FBRyxZQUFZLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRztZQUN6RCxPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUM7U0FDakMsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixJQUFJLE9BQWlDLENBQUM7QUFFdEM7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLFNBQTZCO0lBQzNELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE1BQU0sTUFBTSxHQUFHLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdDLE9BQU8sR0FBRztZQUNSLE1BQU07WUFDTixPQUFPLEVBQUUsYUFBYTtZQUN0QixHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxNQUFNO2dCQUN4QixDQUFDLENBQUM7b0JBQ0UsV0FBVyxFQUFFLFVBQVUsQ0FBQyxlQUFlLENBQUM7d0JBQ3RDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTt3QkFDakIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO3dCQUNqQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07d0JBQ3JCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtxQkFDbEIsQ0FBQztpQkFDSDtnQkFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ1IsQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxPQUFzQjtJQUNyRCxlQUFlLEVBQUUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0FBQ3RDLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxpQkFBaUI7SUFDL0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUM5QixPQUFPLEdBQUcsU0FBUyxDQUFDO0FBQ3RCLENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFlBQVksQ0FDaEMsU0FBaUIsRUFDakIsUUFBZ0MsRUFDaEMsRUFBd0MsRUFDeEMsTUFBb0I7SUFFcEIsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLGVBQWUsRUFBRSxDQUFDO0lBQ3RDLE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUMxQixDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFDdkUsUUFBUSxDQUNULENBQUM7SUFDRixJQUFJLE1BQU0sQ0FBQyxFQUFFO1FBQUUsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2xDLG1FQUFtRTtJQUNuRSxJQUFJLE1BQU0sRUFBRSxPQUFPO1FBQUUsTUFBTSxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckQsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtRQUM5QixTQUFTO1FBQ1QsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1FBQ3JCLEtBQUssRUFBRSxNQUFNLENBQUMsT0FBTztLQUN0QixDQUFDLENBQUM7SUFDSCxNQUFNLElBQUksY0FBYyxDQUFDLFVBQVUsU0FBUyxTQUFTLEVBQUU7UUFDckQsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFO0tBQzlDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxvQkFBb0IsQ0FDeEMsV0FBb0MsRUFDcEMsTUFBb0I7SUFFcEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sa0JBQWtCLENBQUMsaUJBQWlCLENBQ3hDLE1BQU0sRUFDTiwwRUFBMEUsQ0FDM0UsQ0FBQztJQUNKLENBQUM7SUFDRCxNQUFNLFNBQVMsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDaEQsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFTLFNBQVMsQ0FBSSxPQUFtQixFQUFFLE1BQStCO0lBQ3hFLElBQUksQ0FBQyxNQUFNO1FBQUUsT0FBTyxPQUFPLENBQUM7SUFDNUIsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLDRFQUE0RTtJQUM1RSxvQ0FBb0M7SUFDcEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztJQUN2QyxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBUSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUMvQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDNUQsSUFBSSxFQUFFLElBQUk7WUFDVixNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07U0FDeEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7QUFDMUUsQ0FBQztBQUVELDRFQUE0RTtBQUM1RSxTQUFTLGFBQWEsQ0FBQyxFQUFZO0lBQ2pDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN2QixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0saUJBQWlCLEdBQXdCLElBQUksR0FBRyxDQUFDO0lBQ3JELE9BQU87SUFDUCxRQUFRO0lBQ1IsV0FBVztJQUNYLFFBQVE7SUFDUixLQUFLO0lBQ0wsUUFBUTtJQUNSLE1BQU07SUFDTixPQUFPO0lBQ1AsTUFBTTtJQUNOLE9BQU87SUFDUCxTQUFTO0lBQ1QsVUFBVTtDQUNYLENBQUMsQ0FBQztBQUVIOzs7O0dBSUc7QUFDSCxTQUFTLGVBQWUsQ0FBQyxVQUEyQjtJQUNsRCxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLFVBQVUsQ0FBQztJQUN6QyxJQUFJLE9BQU8sS0FBSyxTQUFTO1FBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEMsTUFBTSxRQUFRLEdBQUcsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3pDLE1BQU0sUUFBUSxHQUNaLFFBQVEsSUFBSSxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFFLFFBQTJCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN0RixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQVMsdUJBQXVCLENBQUMsT0FBcUI7SUFDcEQsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUN6QyxNQUFNLGVBQWUsQ0FBQyxZQUFZLENBQ2hDLE1BQU0sRUFDTixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFDbkIsV0FBVyxjQUFjLGFBQWEsQ0FDdkMsQ0FBQztJQUNKLENBQUM7SUFDRCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztJQUM5QyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsb0JBQW9CLEVBQUUsQ0FBQztRQUM5QyxNQUFNLGVBQWUsQ0FBQyxZQUFZLENBQ2hDLGFBQWEsRUFDYixXQUFXLENBQUMsTUFBTSxFQUNsQixXQUFXLG9CQUFvQixRQUFRLENBQ3hDLENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNyQyxNQUFNLEtBQUssR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUMsSUFBSSxLQUFLLEdBQUcsb0JBQW9CLEVBQUUsQ0FBQztZQUNqQyxNQUFNLGVBQWUsQ0FBQyxZQUFZLENBQ2hDLHVCQUF1QixFQUN2QixLQUFLLEVBQ0wsV0FBVyxvQkFBb0IsaUJBQWlCLENBQ2pELENBQUM7UUFDSixDQUFDO1FBQ0QsS0FBSyxJQUFJLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBQ0QsSUFBSSxLQUFLLEdBQUcsMkJBQTJCLEVBQUUsQ0FBQztRQUN4QyxNQUFNLGVBQWUsQ0FBQyxZQUFZLENBQ2hDLGFBQWEsRUFDYixLQUFLLEVBQ0wsV0FBVywyQkFBMkIseUJBQXlCLENBQ2hFLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQVMsaUJBQWlCLENBQ3hCLFdBQTBDO0lBRTFDLElBQUksQ0FBQyxXQUFXLElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFDL0QsT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUTtRQUN0QixHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzlELEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDakUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNyRCxHQUFHLENBQUMsR0FBRyxDQUFDLFdBQVcsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0tBQzNFLENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxLQUFLLFVBQVUsUUFBUSxDQUNyQixPQUFxQixFQUNyQixJQUFZLEVBQ1osTUFBb0I7SUFFcEIsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxlQUFlLEVBQUUsQ0FBQztJQUNsRCxNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sRUFBRSxjQUFjLEVBQUUsQ0FBQztJQUV6QixJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDM0IsTUFBTSxJQUFJLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hGLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakIsTUFBTSxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FDeEMsTUFBTSxFQUNOLHdEQUF3RCxDQUN6RCxDQUFDO0lBQ0osQ0FBQztJQUNELE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMzRCxNQUFNLElBQUksR0FBRyxNQUFNLFNBQVMsQ0FDMUIsV0FBVyxDQUFDLFFBQVEsQ0FBQztRQUNuQixJQUFJO1FBQ0osRUFBRSxFQUFFLE9BQU8sQ0FBQyxFQUFFO1FBQ2QsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1FBQ3hCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtRQUNsQixJQUFJLEVBQUUsZUFBZSxDQUFDO1lBQ3BCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztZQUN4QixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ2pELENBQUM7UUFDRixHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxPQUFPLENBQUMsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2xFLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdEUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0tBQ3hDLENBQUMsRUFDRixNQUFNLENBQ1AsQ0FBQztJQUNGLE9BQU87UUFDTCxJQUFJLEVBQUUsSUFBSTtRQUNWLFNBQVM7UUFDVCxJQUFJO1FBQ0osR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0tBQ3pELENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFNBQVMsQ0FDN0IsT0FBcUIsRUFDckIsSUFBWSxFQUNaLE1BQW9CO0lBRXBCLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDNUIsTUFBTSxlQUFlLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFDRCx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ25FLE9BQU8sWUFBWSxDQUNqQixNQUFNLEVBQ04sbUJBQW1CLEVBQ25CLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxhQUFhLENBQUMsRUFDekQsTUFBTSxDQUNQLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGUgZW1haWwgcnVudGltZTogYSBsYXppbHktYnVpbHQsIHByb2Nlc3Mtd2lkZSBkaXNwYXRjaGVyIHBsdXMgaXRzXG4gKiByZXNvbHZlZCBjb25maWcsIGFuZCB7QGxpbmsgc2VuZEVtYWlsfSB3aGljaCBzZW5kcyBvbmVcbiAqIHtAbGluayBFbWFpbE1lc3NhZ2V9IHRocm91Z2ggaXQuIEluIFNNVFAgbW9kZSB0aGUgcnVudGltZSBob2xkcyBhXG4gKiBtZW1vaXplZCBub2RlbWFpbGVyIHRyYW5zcG9ydCAoc2hhcmVkIGJ5IHRoZSBwbHVnaW4ncyBzZXR1cCBhbmQgdGhlXG4gKiBhZ2VudCB0b29sLCBzbyB0aGV5IHJldXNlIG9uZSBjb25uZWN0aW9uIHBvb2wpOyBpbiBmaWxlL291dGJveCBtb2RlIGl0XG4gKiBob2xkcyBubyB0cmFuc3BvcnQgYW5kIHtAbGluayBzZW5kRW1haWx9IHdyaXRlcyBIVE1MIHRvIGRpc2sgaW5zdGVhZC5cbiAqIFRoZSBmaXJzdCBjYWxsZXIgKG5vcm1hbGx5IHRoZSBwbHVnaW4gYXQgc2V0dXApIHByaW1lcyBpdCB3aXRoIHRoZVxuICogcGx1Z2luJ3MgY29uZmlnOyBsYXRlciBjYWxsZXJzIHJldXNlIGl0LlxuICpcbiAqIFRoZSBydW50aW1lIGFsc28gY2FycmllcyB0aGUge0BsaW5rIEVtYWlsRXhlY3V0b3J9IGV2ZXJ5IG91dGJvdW5kIHNlbmQgcnVuc1xuICogdGhyb3VnaC4gVGhlIHBsdWdpbiBpbnN0YWxscyBpdHMgb3duIGBleGVjdXRlKClgIHRoZXJlIGF0IHNldHVwLCB3aGljaCBpc1xuICogaG93IHRoZSBNYXN0cmEgdG9vbCAtIGEgcGxhaW4gZnVuY3Rpb24gd2l0aCBubyBwbHVnaW4gaW5zdGFuY2UgaW4gc2NvcGUgLVxuICogc3RpbGwgZ2V0cyBBcHBLaXQncyByZXRyeSAvIHRpbWVvdXQgLyB0ZWxlbWV0cnkgY2hhaW4uIFdpdGhvdXQgYSByZWdpc3RlcmVkXG4gKiBwbHVnaW4gKGEgZGlyZWN0IGNhbGwgZnJvbSBhIHNjcmlwdCBvciBhIHRlc3QpIHRoZSBzZW5kIHN0aWxsIHJ1bnMsIGp1c3RcbiAqIHdpdGhvdXQgaW50ZXJjZXB0b3JzLlxuICpcbiAqIEV2ZXJ5IGVudHJ5IHBvaW50IHRha2VzIGFuIG9wdGlvbmFsIHtAbGluayBBYm9ydFNpZ25hbH0gc28gdGhlIHBsdWdpbidzXG4gKiBgZXhlY3V0ZSgpYCB0aW1lb3V0IGFuZCBhIGNsaWVudCBkaXNjb25uZWN0IGJvdGggc3RvcCB0aGUgY2FsbGVyIHdhaXRpbmdcbiAqIG9uIFNNVFAuXG4gKlxuICogQG1vZHVsZVxuICovXG5cbmltcG9ydCB7XG4gIEFwcEtpdEVycm9yLFxuICBDb25maWd1cmF0aW9uRXJyb3IsXG4gIEV4ZWN1dGlvbkVycm9yLFxuICBWYWxpZGF0aW9uRXJyb3IsXG4gIHR5cGUgRXhlY3V0aW9uUmVzdWx0LFxufSBmcm9tIFwiQGRhdGFicmlja3MvYXBwa2l0XCI7XG5pbXBvcnQgeyBhc3luYywgZXJyb3IsIGxvZyB9IGZyb20gXCJAZGJ4LXRvb2xzL3NoYXJlZC1jb3JlXCI7XG5pbXBvcnQgdHlwZSB7IEVtYWlsQXR0YWNobWVudCwgRW1haWxNZXNzYWdlLCBFbWFpbFJlc3VsdCB9IGZyb20gXCJAZGJ4LXRvb2xzL3NoYXJlZC1lbWFpbFwiO1xuaW1wb3J0IG5vZGVtYWlsZXIsIHsgdHlwZSBTZW5kTWFpbE9wdGlvbnMsIHR5cGUgVHJhbnNwb3J0ZXIgfSBmcm9tIFwibm9kZW1haWxlclwiO1xuaW1wb3J0IHsgcmVzb2x2ZUVtYWlsQ29uZmlnLCB0eXBlIEVtYWlsUGx1Z2luQ29uZmlnLCB0eXBlIFJlc29sdmVkRW1haWxDb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCB7XG4gIEVNQUlMX1NFTkRfU0VUVElOR1MsXG4gIE1BWF9BVFRBQ0hNRU5UX0JZVEVTLFxuICBNQVhfQVRUQUNITUVOVF9DT1VOVCxcbiAgTUFYX0FUVEFDSE1FTlRTX1RPVEFMX0JZVEVTLFxuICBNQVhfQk9EWV9DSEFSUyxcbiAgdHlwZSBFbWFpbEV4ZWN1dGlvblNldHRpbmdzLFxufSBmcm9tIFwiLi9kZWZhdWx0c1wiO1xuaW1wb3J0IHsgcmVuZGVyRW1haWxIdG1sIH0gZnJvbSBcIi4vZW1haWwtaHRtbFwiO1xuaW1wb3J0IHsgd3JpdGVPdXRib3hFbWFpbCB9IGZyb20gXCIuL291dGJveFwiO1xuaW1wb3J0IHsgYXNzZXJ0U2VuZGVyQWxsb3dlZCB9IGZyb20gXCIuL3NlbmRlclwiO1xuXG5jb25zdCBsb2dnZXIgPSBsb2cubG9nZ2VyKFwiZW1haWwvdHJhbnNwb3J0XCIpO1xuXG4vKipcbiAqIFJ1bnMgb25lIG91dGJvdW5kIHNlbmQgdGhyb3VnaCBBcHBLaXQncyBpbnRlcmNlcHRvciBjaGFpbi4gTWF0Y2hlc1xuICogYFBsdWdpbi5leGVjdXRlKClgLCB3aGljaCBuZXZlciB0aHJvd3M6IGEgZmFpbHVyZSBjb21lcyBiYWNrIGFzXG4gKiBgeyBvazogZmFsc2UgfWAuXG4gKi9cbmV4cG9ydCB0eXBlIEVtYWlsRXhlY3V0b3IgPSA8VD4oXG4gIGZuOiAoc2lnbmFsPzogQWJvcnRTaWduYWwpID0+IFByb21pc2U8VD4sXG4gIHNldHRpbmdzOiBFbWFpbEV4ZWN1dGlvblNldHRpbmdzLFxuKSA9PiBQcm9taXNlPEV4ZWN1dGlvblJlc3VsdDxUPj47XG5cbi8qKiBUaGUgc2hhcmVkIGRpc3BhdGNoZXIsIGl0cyByZXNvbHZlZCBjb25maWcsIGFuZCB0aGUgc2VuZCBleGVjdXRvci4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW1haWxSdW50aW1lIHtcbiAgLyoqIFByZXNlbnQgb25seSBpbiBTTVRQIG1vZGUuICovXG4gIHRyYW5zcG9ydGVyPzogVHJhbnNwb3J0ZXI7XG4gIGNvbmZpZzogUmVzb2x2ZWRFbWFpbENvbmZpZztcbiAgZXhlY3V0ZTogRW1haWxFeGVjdXRvcjtcbn1cblxuLyoqXG4gKiBFeGVjdXRvciB1c2VkIHVudGlsIChvciB1bmxlc3MpIHRoZSBwbHVnaW4gaW5zdGFsbHMgaXRzIG93bjogcnVuIHRoZSBzZW5kXG4gKiBkaXJlY3RseSwgbWFwcGluZyBhIHRocm93IG9udG8gdGhlIHNhbWUge0BsaW5rIEV4ZWN1dGlvblJlc3VsdH0gc2hhcGUgc29cbiAqIGNhbGwgc2l0ZXMgYnJhbmNoIG9uIGBva2AgZWl0aGVyIHdheS5cbiAqL1xuY29uc3QgZGlyZWN0RXhlY3V0ZTogRW1haWxFeGVjdXRvciA9IGFzeW5jIChmbikgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiB7IG9rOiB0cnVlLCBkYXRhOiBhd2FpdCBmbigpIH07XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIHJldHVybiB7XG4gICAgICBvazogZmFsc2UsXG4gICAgICBzdGF0dXM6IGVyciBpbnN0YW5jZW9mIEFwcEtpdEVycm9yID8gZXJyLnN0YXR1c0NvZGUgOiA1MDAsXG4gICAgICBtZXNzYWdlOiBlcnJvci5lcnJvck1lc3NhZ2UoZXJyKSxcbiAgICB9O1xuICB9XG59O1xuXG5sZXQgcnVudGltZTogRW1haWxSdW50aW1lIHwgdW5kZWZpbmVkO1xuXG4vKipcbiAqIFJldHVybiB0aGUgc2hhcmVkIHJ1bnRpbWUsIGJ1aWxkaW5nIGl0IG9uIGZpcnN0IHVzZSBieSByZXNvbHZpbmdcbiAqIGBvdmVycmlkZXNgIG92ZXIgdGhlIGVudmlyb25tZW50IChgU01UUF9IT1NUYCwgYFNNVFBfUE9SVGAsXG4gKiBgU01UUF9TRUNVUkVgLCBgU01UUF9VU0VSYCwgYFNNVFBfUEFTU1dPUkRgLCBgRU1BSUxfRE9NQUlOYCxcbiAqIGBFTUFJTF9GUk9NYCwgYEVNQUlMX0FMTE9XRURfU0VOREVSU2AsIGBFTUFJTF9TRU5ERVJfUE9MSUNZYCxcbiAqIGBFTUFJTF9PVVRCT1hfTU9ERWAsIGBFTUFJTF9PVVRCT1hfRElSYCkgdGhyb3VnaFxuICoge0BsaW5rIHJlc29sdmVFbWFpbENvbmZpZ30uIFdpdGggU01UUCBjcmVkZW50aWFscyBwcmVzZW50IGl0IGhvbGRzIGFcbiAqIG5vZGVtYWlsZXIgdHJhbnNwb3J0IGFuZCBpdHMgY29ubmVjdGlvbiBwb29sOyBvdGhlcndpc2UgaXQgaXMgaW5cbiAqIGZpbGUvb3V0Ym94IG1vZGUgYW5kIGhvbGRzIG5vbmUuXG4gKlxuICogYG92ZXJyaWRlc2AgaXMgcmVhZCBvbmx5IG9uIHRoZSBjYWxsIHRoYXQgYnVpbGRzIHRoZSBydW50aW1lLCBzbyBwcmltZSBpdFxuICogZnJvbSB0aGUgcGx1Z2luJ3MgY29uZmlnIGF0IHNldHVwOyBsYXRlciBjYWxsZXJzICh0aGUgdG9vbCdzIGBleGVjdXRlYCxcbiAqIHRoZSBzZW5kZXItb3B0aW9ucyByb3V0ZSkgcGFzcyBub3RoaW5nIGFuZCBnZXQgdGhlIHNhbWUgaW5zdGFuY2UuIFRocm93c1xuICogd2hhdGV2ZXIge0BsaW5rIHJlc29sdmVFbWFpbENvbmZpZ30gdGhyb3dzIGZvciBhbiB1bnVzYWJsZSBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW1haWxSdW50aW1lKG92ZXJyaWRlcz86IEVtYWlsUGx1Z2luQ29uZmlnKTogRW1haWxSdW50aW1lIHtcbiAgaWYgKCFydW50aW1lKSB7XG4gICAgY29uc3QgY29uZmlnID0gcmVzb2x2ZUVtYWlsQ29uZmlnKG92ZXJyaWRlcyk7XG4gICAgcnVudGltZSA9IHtcbiAgICAgIGNvbmZpZyxcbiAgICAgIGV4ZWN1dGU6IGRpcmVjdEV4ZWN1dGUsXG4gICAgICAuLi4oY29uZmlnLm1vZGUgPT09IFwic210cFwiXG4gICAgICAgID8ge1xuICAgICAgICAgICAgdHJhbnNwb3J0ZXI6IG5vZGVtYWlsZXIuY3JlYXRlVHJhbnNwb3J0KHtcbiAgICAgICAgICAgICAgaG9zdDogY29uZmlnLmhvc3QsXG4gICAgICAgICAgICAgIHBvcnQ6IGNvbmZpZy5wb3J0LFxuICAgICAgICAgICAgICBzZWN1cmU6IGNvbmZpZy5zZWN1cmUsXG4gICAgICAgICAgICAgIGF1dGg6IGNvbmZpZy5hdXRoLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfVxuICAgICAgICA6IHt9KSxcbiAgICB9O1xuICB9XG4gIHJldHVybiBydW50aW1lO1xufVxuXG4vKipcbiAqIEluc3RhbGwgdGhlIGV4ZWN1dG9yIG91dGJvdW5kIHNlbmRzIHJ1biB0aHJvdWdoLiBUaGUgcGx1Z2luIGNhbGxzIHRoaXMgYXRcbiAqIHNldHVwIHdpdGggaXRzIG93biBgZXhlY3V0ZSgpYDsgYSBzZWNvbmQgY2FsbCByZXBsYWNlcyB0aGUgcHJldmlvdXMgb25lLCBzb1xuICogYSByZS1yZWdpc3RlcmVkIHBsdWdpbiBkb2VzIG5vdCBsZWF2ZSB0aGUgdG9vbHMgYm91bmQgdG8gYSBkZWFkIGluc3RhbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0RW1haWxFeGVjdXRvcihleGVjdXRlOiBFbWFpbEV4ZWN1dG9yKTogdm9pZCB7XG4gIGdldEVtYWlsUnVudGltZSgpLmV4ZWN1dGUgPSBleGVjdXRlO1xufVxuXG4vKipcbiAqIERyb3AgdGhlIG1lbW9pemVkIHJ1bnRpbWUsIGNsb3NpbmcgdGhlIFNNVFAgY29ubmVjdGlvbiBwb29sLCBzbyB0aGUgbmV4dFxuICoge0BsaW5rIGdldEVtYWlsUnVudGltZX0gcmVidWlsZHMgaXQgZnJvbSBmcmVzaCBjb25maWcgYW5kIHN0b3BzIGNhbGxpbmdcbiAqIHRocm91Z2ggYSB0b3JuLWRvd24gcGx1Z2luJ3MgYGV4ZWN1dGUoKWAuIElkZW1wb3RlbnQsIGFuZCB0aGUgcGx1Z2luJ3NcbiAqIGBzaHV0ZG93bigpYCBob29rLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRFbWFpbFJ1bnRpbWUoKTogdm9pZCB7XG4gIHJ1bnRpbWU/LnRyYW5zcG9ydGVyPy5jbG9zZSgpO1xuICBydW50aW1lID0gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIFJ1biBvbmUgbm9uLWlkZW1wb3RlbnQgd3JpdGUgdGhyb3VnaCB0aGUgc2hhcmVkIGV4ZWN1dG9yIGFuZCB1bndyYXAgaXQuXG4gKlxuICogYGV4ZWN1dGUoKWAgbmV2ZXIgdGhyb3dzLCBzbyBhIGZhaWxlZCBzZW5kIGFycml2ZXMgYXMgYHsgb2s6IGZhbHNlIH1gIHdpdGggYVxuICogc3RhdHVzIHRoZSBpbnRlcmNlcHRvcnMgYWxyZWFkeSBzYW5pdGl6ZWQ7IGl0IGlzIGxvZ2dlZCBoZXJlIGFuZCByZS1yYWlzZWRcbiAqIGFzIGEgc3RhYmxlIHtAbGluayBFeGVjdXRpb25FcnJvcn0gc28gYW4gdXBzdHJlYW0gbWVzc2FnZSBuZXZlciBiZWNvbWVzIHRoZVxuICogY2FsbGVyJ3MgZXJyb3IgdGV4dC4gYHNpZ25hbGAgaXMgdGhlIGNhbGxlcidzIG93biBjYW5jZWxsYXRpb24gKGFuIGFnZW50XG4gKiBydW4sIGEgcmVxdWVzdCB0ZWFyZG93bik7IGl0IGlzIG1lcmdlZCB3aXRoIHRoZSBzaWduYWwgdGhlIHRpbWVvdXRcbiAqIGludGVyY2VwdG9yIHN1cHBsaWVzIHNvIGVpdGhlciBvbmUgdW53aW5kcyB0aGUgSS9PLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZXhlY3V0ZVdyaXRlPFQ+KFxuICBvcGVyYXRpb246IHN0cmluZyxcbiAgc2V0dGluZ3M6IEVtYWlsRXhlY3V0aW9uU2V0dGluZ3MsXG4gIGZuOiAoc2lnbmFsPzogQWJvcnRTaWduYWwpID0+IFByb21pc2U8VD4sXG4gIHNpZ25hbD86IEFib3J0U2lnbmFsLFxuKTogUHJvbWlzZTxUPiB7XG4gIGNvbnN0IHsgZXhlY3V0ZSB9ID0gZ2V0RW1haWxSdW50aW1lKCk7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGV4ZWN1dGUoXG4gICAgKGV4ZWN1dGVTaWduYWwpID0+IGZuKGFzeW5jLmNvbWJpbmVBYm9ydFNpZ25hbHMoZXhlY3V0ZVNpZ25hbCwgc2lnbmFsKSksXG4gICAgc2V0dGluZ3MsXG4gICk7XG4gIGlmIChyZXN1bHQub2spIHJldHVybiByZXN1bHQuZGF0YTtcbiAgLy8gQSBjYWxsZXIgdGhhdCBjYW5jZWxsZWQgaXMgbm90IGEgZmFpbHVyZSB3b3J0aCByZXBvcnRpbmcgYXMgb25lLlxuICBpZiAoc2lnbmFsPy5hYm9ydGVkKSB0aHJvdyBFeGVjdXRpb25FcnJvci5jYW5jZWxlZCgpO1xuICBsb2dnZXIud2FybihcImV4ZWN1dGlvbi1mYWlsZWRcIiwge1xuICAgIG9wZXJhdGlvbixcbiAgICBzdGF0dXM6IHJlc3VsdC5zdGF0dXMsXG4gICAgZXJyb3I6IHJlc3VsdC5tZXNzYWdlLFxuICB9KTtcbiAgdGhyb3cgbmV3IEV4ZWN1dGlvbkVycm9yKGBlbWFpbDogJHtvcGVyYXRpb259IGZhaWxlZGAsIHtcbiAgICBjb250ZXh0OiB7IG9wZXJhdGlvbiwgc3RhdHVzOiByZXN1bHQuc3RhdHVzIH0sXG4gIH0pO1xufVxuXG4vKipcbiAqIE9wZW4gYW5kIHRlYXIgZG93biBvbmUgU01UUCBjb25uZWN0aW9uIHRvIHByb3ZlIHRoZSBob3N0LCBwb3J0LCBhbmRcbiAqIGNyZWRlbnRpYWxzIHdvcmsuIENhbGxlZCBhdCBwbHVnaW4gc2V0dXAgc28gYSBiYWQgcmVsYXkgc2hvd3MgdXAgaW4gdGhlXG4gKiBib290IGxvZ3MgcmF0aGVyIHRoYW4gb24gdGhlIGZpcnN0IGFwcHJvdmVkIHNlbmQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlFbWFpbFRyYW5zcG9ydChcbiAgdHJhbnNwb3J0ZXI6IFRyYW5zcG9ydGVyIHwgdW5kZWZpbmVkLFxuICBzaWduYWw/OiBBYm9ydFNpZ25hbCxcbik6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoIXRyYW5zcG9ydGVyKSB7XG4gICAgdGhyb3cgQ29uZmlndXJhdGlvbkVycm9yLmludmFsaWRDb25uZWN0aW9uKFxuICAgICAgXCJTTVRQXCIsXG4gICAgICBcIlRoZSBydW50aW1lIHJlc29sdmVkIHRvIG91dGJveCBtb2RlLCBzbyB0aGVyZSBpcyBubyB0cmFuc3BvcnQgdG8gdmVyaWZ5LlwiLFxuICAgICk7XG4gIH1cbiAgYXdhaXQgYWJvcnRhYmxlKHRyYW5zcG9ydGVyLnZlcmlmeSgpLCBzaWduYWwpO1xufVxuXG4vKipcbiAqIFN0b3AgYXdhaXRpbmcgYHByb21pc2VgIGFzIHNvb24gYXMgYHNpZ25hbGAgYWJvcnRzLiBub2RlbWFpbGVyIGV4cG9zZXMgbm9cbiAqIGNhbmNlbGxhdGlvbiBob29rLCBzbyB0aGUgU01UUCBjb252ZXJzYXRpb24gaXRzZWxmIGZpbmlzaGVzIG9uIGl0cyBvd25cbiAqIGNvbm5lY3Rpb247IHdoYXQgdW53aW5kcyBpcyB0aGUgY2FsbGVyIGFuZCBldmVyeXRoaW5nIGRvd25zdHJlYW0gb2YgaXQuXG4gKi9cbmZ1bmN0aW9uIGFib3J0YWJsZTxUPihwcm9taXNlOiBQcm9taXNlPFQ+LCBzaWduYWw6IEFib3J0U2lnbmFsIHwgdW5kZWZpbmVkKTogUHJvbWlzZTxUPiB7XG4gIGlmICghc2lnbmFsKSByZXR1cm4gcHJvbWlzZTtcbiAgc2lnbmFsLnRocm93SWZBYm9ydGVkKCk7XG4gIC8vIFRoZSBsaXN0ZW5lciBpcyBkZXRhY2hlZCBvbmNlIHRoZSByYWNlIHNldHRsZXMgc28gYSBsb25nLWxpdmVkIHJ1biBzaWduYWxcbiAgLy8gZG9lcyBub3QgYWNjdW11bGF0ZSBvbmUgcGVyIHNlbmQuXG4gIGNvbnN0IGxpc3RlbmVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICBjb25zdCBhYm9ydGVkID0gbmV3IFByb21pc2U8bmV2ZXI+KChfLCByZWplY3QpID0+IHtcbiAgICBzaWduYWwuYWRkRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsICgpID0+IHJlamVjdChzaWduYWwucmVhc29uKSwge1xuICAgICAgb25jZTogdHJ1ZSxcbiAgICAgIHNpZ25hbDogbGlzdGVuZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9KTtcbiAgcmV0dXJuIFByb21pc2UucmFjZShbcHJvbWlzZSwgYWJvcnRlZF0pLmZpbmFsbHkoKCkgPT4gbGlzdGVuZXIuYWJvcnQoKSk7XG59XG5cbi8qKiBUaGUgY29tbWEtam9pbmVkIHJlY2lwaWVudCBzdHJpbmcgZWNob2VkIGJhY2sgaW4ge0BsaW5rIEVtYWlsUmVzdWx0fS4gKi9cbmZ1bmN0aW9uIHJlY2lwaWVudEVjaG8odG86IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgcmV0dXJuIHRvLmpvaW4oXCIsIFwiKTtcbn1cblxuLyoqXG4gKiBOb2RlIGJ1ZmZlciBlbmNvZGluZ3MgYSB3aXJlIGF0dGFjaG1lbnQgbWF5IG5hbWUgZm9yIGl0cyBpbmxpbmUgYGNvbnRlbnRgLlxuICogQW55dGhpbmcgZWxzZSBpcyBtZWFzdXJlZCBhcyBVVEYtOCwgd2hpY2ggb3Zlci1jb3VudHMgcmF0aGVyIHRoYW4gbGV0dGluZ1xuICogYW4gdW5yZWNvZ25pemVkIGVuY29kaW5nIHNsaXAgcGFzdCB0aGUgc2l6ZSBjYXAuXG4gKi9cbmNvbnN0IENPTlRFTlRfRU5DT0RJTkdTOiBSZWFkb25seVNldDxzdHJpbmc+ID0gbmV3IFNldChbXG4gIFwiYXNjaWlcIixcbiAgXCJiYXNlNjRcIixcbiAgXCJiYXNlNjR1cmxcIixcbiAgXCJiaW5hcnlcIixcbiAgXCJoZXhcIixcbiAgXCJsYXRpbjFcIixcbiAgXCJ1Y3MyXCIsXG4gIFwidWNzLTJcIixcbiAgXCJ1dGY4XCIsXG4gIFwidXRmLThcIixcbiAgXCJ1dGYxNmxlXCIsXG4gIFwidXRmLTE2bGVcIixcbl0pO1xuXG4vKipcbiAqIERlY29kZWQgYnl0ZSBzaXplIG9mIG9uZSBhdHRhY2htZW50J3MgaW5saW5lIGNvbnRlbnQuIEEgYHBhdGhgIGF0dGFjaG1lbnRcbiAqIGNvbnRyaWJ1dGVzIG5vdGhpbmc6IG5vZGVtYWlsZXIgc3RyZWFtcyBpdCwgc28gaXRzIGJ5dGVzIG5ldmVyIHNpdCBpbiB0aGlzXG4gKiBwcm9jZXNzIGFuZCBjYW5ub3QgYmUgbWVhc3VyZWQgaGVyZS5cbiAqL1xuZnVuY3Rpb24gYXR0YWNobWVudEJ5dGVzKGF0dGFjaG1lbnQ6IEVtYWlsQXR0YWNobWVudCk6IG51bWJlciB7XG4gIGNvbnN0IHsgY29udGVudCwgZW5jb2RpbmcgfSA9IGF0dGFjaG1lbnQ7XG4gIGlmIChjb250ZW50ID09PSB1bmRlZmluZWQpIHJldHVybiAwO1xuICBjb25zdCBkZWNsYXJlZCA9IGVuY29kaW5nPy50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCByZXNvbHZlZCA9XG4gICAgZGVjbGFyZWQgJiYgQ09OVEVOVF9FTkNPRElOR1MuaGFzKGRlY2xhcmVkKSA/IChkZWNsYXJlZCBhcyBCdWZmZXJFbmNvZGluZykgOiBcInV0ZjhcIjtcbiAgcmV0dXJuIEJ1ZmZlci5ieXRlTGVuZ3RoKGNvbnRlbnQsIHJlc29sdmVkKTtcbn1cblxuLyoqXG4gKiBSZWplY3QgYSBtZXNzYWdlIHdob3NlIGJvZHkgb3IgYXR0YWNobWVudHMgZXhjZWVkIHRoZSBwbHVnaW4ncyBjYXBzLiBUaGVcbiAqIGJvZHkgYW5kIGF0dGFjaG1lbnQgbGlzdCBhcnJpdmUgZnJvbSBhIG1vZGVsLCBzbyB0aGV5IGFyZSB1bmJvdW5kZWQgdW50aWxcbiAqIHNvbWV0aGluZyBib3VuZHMgdGhlbTsgbW9zdCBTTVRQIHJlbGF5cyBhbHNvIHJlamVjdCBhbiBvdmVyc2l6ZWQgbWVzc2FnZVxuICogb25seSBhZnRlciB0aGUgd2hvbGUgcGF5bG9hZCBoYXMgYmVlbiB1cGxvYWRlZC5cbiAqL1xuZnVuY3Rpb24gYXNzZXJ0TWVzc2FnZVdpdGhpbkNhcHMobWVzc2FnZTogRW1haWxNZXNzYWdlKTogdm9pZCB7XG4gIGlmIChtZXNzYWdlLmJvZHkubGVuZ3RoID4gTUFYX0JPRFlfQ0hBUlMpIHtcbiAgICB0aHJvdyBWYWxpZGF0aW9uRXJyb3IuaW52YWxpZFZhbHVlKFxuICAgICAgXCJib2R5XCIsXG4gICAgICBtZXNzYWdlLmJvZHkubGVuZ3RoLFxuICAgICAgYGF0IG1vc3QgJHtNQVhfQk9EWV9DSEFSU30gY2hhcmFjdGVyc2AsXG4gICAgKTtcbiAgfVxuICBjb25zdCBhdHRhY2htZW50cyA9IG1lc3NhZ2UuYXR0YWNobWVudHMgPz8gW107XG4gIGlmIChhdHRhY2htZW50cy5sZW5ndGggPiBNQVhfQVRUQUNITUVOVF9DT1VOVCkge1xuICAgIHRocm93IFZhbGlkYXRpb25FcnJvci5pbnZhbGlkVmFsdWUoXG4gICAgICBcImF0dGFjaG1lbnRzXCIsXG4gICAgICBhdHRhY2htZW50cy5sZW5ndGgsXG4gICAgICBgYXQgbW9zdCAke01BWF9BVFRBQ0hNRU5UX0NPVU5UfSBmaWxlc2AsXG4gICAgKTtcbiAgfVxuICBsZXQgdG90YWwgPSAwO1xuICBmb3IgKGNvbnN0IGF0dGFjaG1lbnQgb2YgYXR0YWNobWVudHMpIHtcbiAgICBjb25zdCBieXRlcyA9IGF0dGFjaG1lbnRCeXRlcyhhdHRhY2htZW50KTtcbiAgICBpZiAoYnl0ZXMgPiBNQVhfQVRUQUNITUVOVF9CWVRFUykge1xuICAgICAgdGhyb3cgVmFsaWRhdGlvbkVycm9yLmludmFsaWRWYWx1ZShcbiAgICAgICAgXCJhdHRhY2htZW50c1tdLmNvbnRlbnRcIixcbiAgICAgICAgYnl0ZXMsXG4gICAgICAgIGBhdCBtb3N0ICR7TUFYX0FUVEFDSE1FTlRfQllURVN9IGJ5dGVzIHBlciBmaWxlYCxcbiAgICAgICk7XG4gICAgfVxuICAgIHRvdGFsICs9IGJ5dGVzO1xuICB9XG4gIGlmICh0b3RhbCA+IE1BWF9BVFRBQ0hNRU5UU19UT1RBTF9CWVRFUykge1xuICAgIHRocm93IFZhbGlkYXRpb25FcnJvci5pbnZhbGlkVmFsdWUoXG4gICAgICBcImF0dGFjaG1lbnRzXCIsXG4gICAgICB0b3RhbCxcbiAgICAgIGBhdCBtb3N0ICR7TUFYX0FUVEFDSE1FTlRTX1RPVEFMX0JZVEVTfSBieXRlcyBhY3Jvc3MgYWxsIGZpbGVzYCxcbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogTWFwIHRoZSB3aXJlLWZvcm1hdCB7QGxpbmsgRW1haWxBdHRhY2htZW50fXMgb250byBub2RlbWFpbGVyJ3NcbiAqIGF0dGFjaG1lbnQgc2hhcGUsIGRyb3BwaW5nIHVuc2V0IG9wdGlvbmFsIGtleXMgc28gbm9kZW1haWxlciBhcHBsaWVzXG4gKiBpdHMgb3duIGRlZmF1bHRzICh1dGYtOCBlbmNvZGluZywgZmlsZW5hbWUtaW5mZXJyZWQgY29udGVudCB0eXBlKS4gVGhlXG4gKiB3aXJlIGZpZWxkcyBhcmUgYSBkZWxpYmVyYXRlIHN1YnNldCBvZiBub2RlbWFpbGVyJ3MsIHNvIHRoaXMgaXMgYVxuICogc3RyYWlnaHQgc3RydWN0dXJhbCBwYXNzLXRocm91Z2guXG4gKi9cbmZ1bmN0aW9uIHRvTWFpbEF0dGFjaG1lbnRzKFxuICBhdHRhY2htZW50czogRW1haWxBdHRhY2htZW50W10gfCB1bmRlZmluZWQsXG4pOiBTZW5kTWFpbE9wdGlvbnNbXCJhdHRhY2htZW50c1wiXSB7XG4gIGlmICghYXR0YWNobWVudHMgfHwgYXR0YWNobWVudHMubGVuZ3RoID09PSAwKSByZXR1cm4gdW5kZWZpbmVkO1xuICByZXR1cm4gYXR0YWNobWVudHMubWFwKChhdHQpID0+ICh7XG4gICAgZmlsZW5hbWU6IGF0dC5maWxlbmFtZSxcbiAgICAuLi4oYXR0LmNvbnRlbnQgIT09IHVuZGVmaW5lZCA/IHsgY29udGVudDogYXR0LmNvbnRlbnQgfSA6IHt9KSxcbiAgICAuLi4oYXR0LmVuY29kaW5nICE9PSB1bmRlZmluZWQgPyB7IGVuY29kaW5nOiBhdHQuZW5jb2RpbmcgfSA6IHt9KSxcbiAgICAuLi4oYXR0LnBhdGggIT09IHVuZGVmaW5lZCA/IHsgcGF0aDogYXR0LnBhdGggfSA6IHt9KSxcbiAgICAuLi4oYXR0LmNvbnRlbnRUeXBlICE9PSB1bmRlZmluZWQgPyB7IGNvbnRlbnRUeXBlOiBhdHQuY29udGVudFR5cGUgfSA6IHt9KSxcbiAgfSkpO1xufVxuXG4vKipcbiAqIEhhbmQgb25lIGFscmVhZHktdmFsaWRhdGVkIG1lc3NhZ2UgdG8gU01UUCwgb3Igd3JpdGUgaXQgdG8gdGhlIG91dGJveCB3aGVuXG4gKiBubyBjcmVkZW50aWFscyBhcmUgY29uZmlndXJlZC4gVGhlIGhhbGYgb2YgYSBzZW5kIHRoYXQgcGVyZm9ybXMgSS9PLCBzbyBpdFxuICogaXMgd2hhdCBydW5zIGluc2lkZSB0aGUgaW50ZXJjZXB0b3IgY2hhaW4uXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGRpc3BhdGNoKFxuICBtZXNzYWdlOiBFbWFpbE1lc3NhZ2UsXG4gIGZyb206IHN0cmluZyxcbiAgc2lnbmFsPzogQWJvcnRTaWduYWwsXG4pOiBQcm9taXNlPEVtYWlsUmVzdWx0PiB7XG4gIGNvbnN0IHsgY29uZmlnLCB0cmFuc3BvcnRlciB9ID0gZ2V0RW1haWxSdW50aW1lKCk7XG4gIGNvbnN0IHJlY2lwaWVudCA9IHJlY2lwaWVudEVjaG8obWVzc2FnZS50byk7XG4gIHNpZ25hbD8udGhyb3dJZkFib3J0ZWQoKTtcblxuICBpZiAoY29uZmlnLm1vZGUgPT09IFwiZmlsZVwiKSB7XG4gICAgY29uc3QgcGF0aCA9IGF3YWl0IHdyaXRlT3V0Ym94RW1haWwobWVzc2FnZSwgZnJvbSwgY29uZmlnLm91dERpciwgY29uZmlnLmJyYW5kKTtcbiAgICByZXR1cm4geyBzZW50OiB0cnVlLCByZWNpcGllbnQsIGZyb20sIG1lc3NhZ2VJZDogcGF0aCB9O1xuICB9XG5cbiAgaWYgKCF0cmFuc3BvcnRlcikge1xuICAgIHRocm93IENvbmZpZ3VyYXRpb25FcnJvci5pbnZhbGlkQ29ubmVjdGlvbihcbiAgICAgIFwiU01UUFwiLFxuICAgICAgXCJObyB0cmFuc3BvcnQgd2FzIGJ1aWx0IGZvciB0aGUgcmVzb2x2ZWQgY29uZmlndXJhdGlvbi5cIixcbiAgICApO1xuICB9XG4gIGNvbnN0IGF0dGFjaG1lbnRzID0gdG9NYWlsQXR0YWNobWVudHMobWVzc2FnZS5hdHRhY2htZW50cyk7XG4gIGNvbnN0IGluZm8gPSBhd2FpdCBhYm9ydGFibGUoXG4gICAgdHJhbnNwb3J0ZXIuc2VuZE1haWwoe1xuICAgICAgZnJvbSxcbiAgICAgIHRvOiBtZXNzYWdlLnRvLFxuICAgICAgc3ViamVjdDogbWVzc2FnZS5zdWJqZWN0LFxuICAgICAgdGV4dDogbWVzc2FnZS5ib2R5LFxuICAgICAgaHRtbDogcmVuZGVyRW1haWxIdG1sKHtcbiAgICAgICAgc3ViamVjdDogbWVzc2FnZS5zdWJqZWN0LFxuICAgICAgICBib2R5OiBtZXNzYWdlLmJvZHksXG4gICAgICAgIC4uLihjb25maWcuYnJhbmQgPyB7IGJyYW5kOiBjb25maWcuYnJhbmQgfSA6IHt9KSxcbiAgICAgIH0pLFxuICAgICAgLi4uKG1lc3NhZ2UuY2MgJiYgbWVzc2FnZS5jYy5sZW5ndGggPiAwID8geyBjYzogbWVzc2FnZS5jYyB9IDoge30pLFxuICAgICAgLi4uKG1lc3NhZ2UuYmNjICYmIG1lc3NhZ2UuYmNjLmxlbmd0aCA+IDAgPyB7IGJjYzogbWVzc2FnZS5iY2MgfSA6IHt9KSxcbiAgICAgIC4uLihhdHRhY2htZW50cyA/IHsgYXR0YWNobWVudHMgfSA6IHt9KSxcbiAgICB9KSxcbiAgICBzaWduYWwsXG4gICk7XG4gIHJldHVybiB7XG4gICAgc2VudDogdHJ1ZSxcbiAgICByZWNpcGllbnQsXG4gICAgZnJvbSxcbiAgICAuLi4oaW5mby5tZXNzYWdlSWQgPyB7IG1lc3NhZ2VJZDogaW5mby5tZXNzYWdlSWQgfSA6IHt9KSxcbiAgfTtcbn1cblxuLyoqXG4gKiBTZW5kIChTTVRQIG1vZGUpIG9yIHBlcnNpc3QgKGZpbGUvb3V0Ym94IG1vZGUpIG9uZSBtZXNzYWdlIGZyb20gdGhlXG4gKiByZXNvbHZlZCBgZnJvbWAgYWRkcmVzcy4gYHRvYCAoYW5kIG9wdGlvbmFsIGBjY2AgLyBgYmNjYCkgZWFjaCBhY2NlcHRcbiAqIG9uZSBvciBtb3JlIGFkZHJlc3NlcywgYW5kIGBhdHRhY2htZW50c2AgYXJlIGZvcndhcmRlZCBhcyBmaWxlcy4gVGhlXG4gKiBib2R5IGlzIG1hcmtkb3duOiBTTVRQIHNlbmRzIGl0IGFzIGJvdGggYSBwbGFpbi10ZXh0IHBhcnQgKHRoZSByYXdcbiAqIHNvdXJjZSkgYW5kIGFuIEhUTUwgcGFydCAocmVuZGVyZWQpLCBhbmQgdGhlIG91dGJveCBlbWJlZHMgdGhlXG4gKiByZW5kZXJlZCBIVE1MIGluIGEgZG9jdW1lbnQuIEluIGZpbGUgbW9kZSB0aGUgcmV0dXJuZWQgYG1lc3NhZ2VJZGAgaXNcbiAqIHRoZSBwYXRoIHdyaXR0ZW4uIFRocm93cyB3aGVuIGB0b2AgY2FycmllcyBubyByZWNpcGllbnQsIHdoZW4gdGhlIGJvZHlcbiAqIG9yIGF0dGFjaG1lbnRzIGV4Y2VlZCB0aGUgcGx1Z2luJ3MgY2Fwcywgb3Igd2hlbiBgZnJvbWAgaXMgbm90IHBlcm1pdHRlZFxuICogYnkgdGhlIGVmZmVjdGl2ZSBzZW5kZXIgYWxsb3ctbGlzdC5cbiAqXG4gKiBUaGUgcmVjaXBpZW50LCBjYXAsIGFuZCBzZW5kZXIgY2hlY2tzIHJ1biBiZWZvcmUgdGhlIGludGVyY2VwdG9yIGNoYWluIHNvXG4gKiB0aGVpciBzcGVjaWZpYyBzdGF0dXMgYW5kIGFjdGlvbmFibGUgbWVzc2FnZSByZWFjaCB0aGUgY2FsbGVyIGluc3RlYWQgb2ZcbiAqIHRoZSBjaGFpbidzIHN0YWJsZSBmYWlsdXJlIHRleHQuIGBzaWduYWxgIGNhbmNlbHMgdGhlIHNlbmQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZW5kRW1haWwoXG4gIG1lc3NhZ2U6IEVtYWlsTWVzc2FnZSxcbiAgZnJvbTogc3RyaW5nLFxuICBzaWduYWw/OiBBYm9ydFNpZ25hbCxcbik6IFByb21pc2U8RW1haWxSZXN1bHQ+IHtcbiAgaWYgKG1lc3NhZ2UudG8ubGVuZ3RoID09PSAwKSB7XG4gICAgdGhyb3cgVmFsaWRhdGlvbkVycm9yLm1pc3NpbmdGaWVsZChcInRvXCIpO1xuICB9XG4gIGFzc2VydE1lc3NhZ2VXaXRoaW5DYXBzKG1lc3NhZ2UpO1xuICBhc3NlcnRTZW5kZXJBbGxvd2VkKGZyb20sIGdldEVtYWlsUnVudGltZSgpLmNvbmZpZy5hbGxvd2VkU2VuZGVycyk7XG4gIHJldHVybiBleGVjdXRlV3JpdGUoXG4gICAgXCJzZW5kXCIsXG4gICAgRU1BSUxfU0VORF9TRVRUSU5HUyxcbiAgICAoZXhlY3V0ZVNpZ25hbCkgPT4gZGlzcGF0Y2gobWVzc2FnZSwgZnJvbSwgZXhlY3V0ZVNpZ25hbCksXG4gICAgc2lnbmFsLFxuICApO1xufVxuIl19
|
|
303
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNwb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyYW5zcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFDTCxXQUFXLEVBQ1gsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxlQUFlLEdBRWhCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFM0QsT0FBTyxVQUFzRCxNQUFNLFlBQVksQ0FBQztBQUNoRixPQUFPLEVBQUUsa0JBQWtCLEVBQW9ELE1BQU0sYUFBYSxDQUFDO0FBQ25HLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQiwyQkFBMkIsRUFDM0IsY0FBYyxHQUVmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWxELE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQW9CN0M7Ozs7R0FJRztBQUNILE1BQU0sYUFBYSxHQUFrQixLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUU7SUFDaEQsSUFBSSxDQUFDO1FBQ0gsT0FBTyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLE9BQU87WUFDTCxFQUFFLEVBQUUsS0FBSztZQUNULE1BQU0sRUFBRSxHQUFHLFlBQVksV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFH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QUFlLEVBQUUsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbkUsT0FBTyxZQUFZLENBQ2pCLE1BQU0sRUFDTixtQkFBbUIsRUFDbkIsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGFBQWEsQ0FBQyxFQUN6RCxNQUFNLENBQ1AsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZSBlbWFpbCBydW50aW1lOiBhIGxhemlseS1idWlsdCwgcHJvY2Vzcy13aWRlIGRpc3BhdGNoZXIgcGx1cyBpdHNcbiAqIHJlc29sdmVkIGNvbmZpZywgYW5kIHtAbGluayBzZW5kRW1haWx9IHdoaWNoIHNlbmRzIG9uZVxuICoge0BsaW5rIEVtYWlsTWVzc2FnZX0gdGhyb3VnaCBpdC4gSW4gU01UUCBtb2RlIHRoZSBydW50aW1lIGhvbGRzIGFcbiAqIG1lbW9pemVkIG5vZGVtYWlsZXIgdHJhbnNwb3J0IChzaGFyZWQgYnkgdGhlIHBsdWdpbidzIHNldHVwIGFuZCB0aGVcbiAqIGFnZW50IHRvb2wsIHNvIHRoZXkgcmV1c2Ugb25lIGNvbm5lY3Rpb24gcG9vbCk7IGluIGZpbGUvb3V0Ym94IG1vZGUgaXRcbiAqIGhvbGRzIG5vIHRyYW5zcG9ydCBhbmQge0BsaW5rIHNlbmRFbWFpbH0gd3JpdGVzIEhUTUwgdG8gZGlzayBpbnN0ZWFkLlxuICogVGhlIGZpcnN0IGNhbGxlciAobm9ybWFsbHkgdGhlIHBsdWdpbiBhdCBzZXR1cCkgcHJpbWVzIGl0IHdpdGggdGhlXG4gKiBwbHVnaW4ncyBjb25maWc7IGxhdGVyIGNhbGxlcnMgcmV1c2UgaXQuXG4gKlxuICogVGhlIHJ1bnRpbWUgYWxzbyBjYXJyaWVzIHRoZSB7QGxpbmsgRW1haWxFeGVjdXRvcn0gZXZlcnkgb3V0Ym91bmQgc2VuZCBydW5zXG4gKiB0aHJvdWdoLiBUaGUgcGx1Z2luIGluc3RhbGxzIGl0cyBvd24gYGV4ZWN1dGUoKWAgdGhlcmUgYXQgc2V0dXAsIHdoaWNoIGlzXG4gKiBob3cgdGhlIE1hc3RyYSB0b29sIC0gYSBwbGFpbiBmdW5jdGlvbiB3aXRoIG5vIHBsdWdpbiBpbnN0YW5jZSBpbiBzY29wZSAtXG4gKiBzdGlsbCBnZXRzIEFwcEtpdCdzIHJldHJ5IC8gdGltZW91dCAvIHRlbGVtZXRyeSBjaGFpbi4gV2l0aG91dCBhIHJlZ2lzdGVyZWRcbiAqIHBsdWdpbiAoYSBkaXJlY3QgY2FsbCBmcm9tIGEgc2NyaXB0IG9yIGEgdGVzdCkgdGhlIHNlbmQgc3RpbGwgcnVucywganVzdFxuICogd2l0aG91dCBpbnRlcmNlcHRvcnMuXG4gKlxuICogRXZlcnkgZW50cnkgcG9pbnQgdGFrZXMgYW4gb3B0aW9uYWwge0BsaW5rIEFib3J0U2lnbmFsfSBzbyB0aGUgcGx1Z2luJ3NcbiAqIGBleGVjdXRlKClgIHRpbWVvdXQgYW5kIGEgY2xpZW50IGRpc2Nvbm5lY3QgYm90aCBzdG9wIHRoZSBjYWxsZXIgd2FpdGluZ1xuICogb24gU01UUC5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuaW1wb3J0IHtcbiAgQXBwS2l0RXJyb3IsXG4gIENvbmZpZ3VyYXRpb25FcnJvcixcbiAgRXhlY3V0aW9uRXJyb3IsXG4gIFZhbGlkYXRpb25FcnJvcixcbiAgdHlwZSBFeGVjdXRpb25SZXN1bHQsXG59IGZyb20gXCJAZGF0YWJyaWNrcy9hcHBraXRcIjtcbmltcG9ydCB7IGFzeW5jLCBlcnJvciwgbG9nIH0gZnJvbSBcIkBkYngtdG9vbHMvc2hhcmVkLWNvcmVcIjtcbmltcG9ydCB0eXBlIHsgRW1haWxBdHRhY2htZW50LCBFbWFpbE1lc3NhZ2UsIEVtYWlsUmVzdWx0IH0gZnJvbSBcIkBkYngtdG9vbHMvc2hhcmVkLWVtYWlsXCI7XG5pbXBvcnQgbm9kZW1haWxlciwgeyB0eXBlIFNlbmRNYWlsT3B0aW9ucywgdHlwZSBUcmFuc3BvcnRlciB9IGZyb20gXCJub2RlbWFpbGVyXCI7XG5pbXBvcnQgeyByZXNvbHZlRW1haWxDb25maWcsIHR5cGUgRW1haWxQbHVnaW5Db25maWcsIHR5cGUgUmVzb2x2ZWRFbWFpbENvbmZpZyB9IGZyb20gXCIuL2NvbmZpZy50c1wiO1xuaW1wb3J0IHtcbiAgRU1BSUxfU0VORF9TRVRUSU5HUyxcbiAgTUFYX0FUVEFDSE1FTlRfQllURVMsXG4gIE1BWF9BVFRBQ0hNRU5UX0NPVU5ULFxuICBNQVhfQVRUQUNITUVOVFNfVE9UQUxfQllURVMsXG4gIE1BWF9CT0RZX0NIQVJTLFxuICB0eXBlIEVtYWlsRXhlY3V0aW9uU2V0dGluZ3MsXG59IGZyb20gXCIuL2RlZmF1bHRzLnRzXCI7XG5pbXBvcnQgeyByZW5kZXJFbWFpbEh0bWwgfSBmcm9tIFwiLi9lbWFpbC1odG1sLnRzXCI7XG5pbXBvcnQgeyB3cml0ZU91dGJveEVtYWlsIH0gZnJvbSBcIi4vb3V0Ym94LnRzXCI7XG5pbXBvcnQgeyBhc3NlcnRTZW5kZXJBbGxvd2VkIH0gZnJvbSBcIi4vc2VuZGVyLnRzXCI7XG5cbmNvbnN0IGxvZ2dlciA9IGxvZy5sb2dnZXIoXCJlbWFpbC90cmFuc3BvcnRcIik7XG5cbi8qKlxuICogUnVucyBvbmUgb3V0Ym91bmQgc2VuZCB0aHJvdWdoIEFwcEtpdCdzIGludGVyY2VwdG9yIGNoYWluLiBNYXRjaGVzXG4gKiBgUGx1Z2luLmV4ZWN1dGUoKWAsIHdoaWNoIG5ldmVyIHRocm93czogYSBmYWlsdXJlIGNvbWVzIGJhY2sgYXNcbiAqIGB7IG9rOiBmYWxzZSB9YC5cbiAqL1xuZXhwb3J0IHR5cGUgRW1haWxFeGVjdXRvciA9IDxUPihcbiAgZm46IChzaWduYWw/OiBBYm9ydFNpZ25hbCkgPT4gUHJvbWlzZTxUPixcbiAgc2V0dGluZ3M6IEVtYWlsRXhlY3V0aW9uU2V0dGluZ3MsXG4pID0+IFByb21pc2U8RXhlY3V0aW9uUmVzdWx0PFQ+PjtcblxuLyoqIFRoZSBzaGFyZWQgZGlzcGF0Y2hlciwgaXRzIHJlc29sdmVkIGNvbmZpZywgYW5kIHRoZSBzZW5kIGV4ZWN1dG9yLiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbWFpbFJ1bnRpbWUge1xuICAvKiogUHJlc2VudCBvbmx5IGluIFNNVFAgbW9kZS4gKi9cbiAgdHJhbnNwb3J0ZXI/OiBUcmFuc3BvcnRlcjtcbiAgY29uZmlnOiBSZXNvbHZlZEVtYWlsQ29uZmlnO1xuICBleGVjdXRlOiBFbWFpbEV4ZWN1dG9yO1xufVxuXG4vKipcbiAqIEV4ZWN1dG9yIHVzZWQgdW50aWwgKG9yIHVubGVzcykgdGhlIHBsdWdpbiBpbnN0YWxscyBpdHMgb3duOiBydW4gdGhlIHNlbmRcbiAqIGRpcmVjdGx5LCBtYXBwaW5nIGEgdGhyb3cgb250byB0aGUgc2FtZSB7QGxpbmsgRXhlY3V0aW9uUmVzdWx0fSBzaGFwZSBzb1xuICogY2FsbCBzaXRlcyBicmFuY2ggb24gYG9rYCBlaXRoZXIgd2F5LlxuICovXG5jb25zdCBkaXJlY3RFeGVjdXRlOiBFbWFpbEV4ZWN1dG9yID0gYXN5bmMgKGZuKSA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHsgb2s6IHRydWUsIGRhdGE6IGF3YWl0IGZuKCkgfTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9rOiBmYWxzZSxcbiAgICAgIHN0YXR1czogZXJyIGluc3RhbmNlb2YgQXBwS2l0RXJyb3IgPyBlcnIuc3RhdHVzQ29kZSA6IDUwMCxcbiAgICAgIG1lc3NhZ2U6IGVycm9yLmVycm9yTWVzc2FnZShlcnIpLFxuICAgIH07XG4gIH1cbn07XG5cbmxldCBydW50aW1lOiBFbWFpbFJ1bnRpbWUgfCB1bmRlZmluZWQ7XG5cbi8qKlxuICogUmV0dXJuIHRoZSBzaGFyZWQgcnVudGltZSwgYnVpbGRpbmcgaXQgb24gZmlyc3QgdXNlIGJ5IHJlc29sdmluZ1xuICogYG92ZXJyaWRlc2Agb3ZlciB0aGUgZW52aXJvbm1lbnQgKGBTTVRQX0hPU1RgLCBgU01UUF9QT1JUYCxcbiAqIGBTTVRQX1NFQ1VSRWAsIGBTTVRQX1VTRVJgLCBgU01UUF9QQVNTV09SRGAsIGBFTUFJTF9ET01BSU5gLFxuICogYEVNQUlMX0ZST01gLCBgRU1BSUxfQUxMT1dFRF9TRU5ERVJTYCwgYEVNQUlMX1NFTkRFUl9QT0xJQ1lgLFxuICogYEVNQUlMX09VVEJPWF9NT0RFYCwgYEVNQUlMX09VVEJPWF9ESVJgKSB0aHJvdWdoXG4gKiB7QGxpbmsgcmVzb2x2ZUVtYWlsQ29uZmlnfS4gV2l0aCBTTVRQIGNyZWRlbnRpYWxzIHByZXNlbnQgaXQgaG9sZHMgYVxuICogbm9kZW1haWxlciB0cmFuc3BvcnQgYW5kIGl0cyBjb25uZWN0aW9uIHBvb2w7IG90aGVyd2lzZSBpdCBpcyBpblxuICogZmlsZS9vdXRib3ggbW9kZSBhbmQgaG9sZHMgbm9uZS5cbiAqXG4gKiBgb3ZlcnJpZGVzYCBpcyByZWFkIG9ubHkgb24gdGhlIGNhbGwgdGhhdCBidWlsZHMgdGhlIHJ1bnRpbWUsIHNvIHByaW1lIGl0XG4gKiBmcm9tIHRoZSBwbHVnaW4ncyBjb25maWcgYXQgc2V0dXA7IGxhdGVyIGNhbGxlcnMgKHRoZSB0b29sJ3MgYGV4ZWN1dGVgLFxuICogdGhlIHNlbmRlci1vcHRpb25zIHJvdXRlKSBwYXNzIG5vdGhpbmcgYW5kIGdldCB0aGUgc2FtZSBpbnN0YW5jZS4gVGhyb3dzXG4gKiB3aGF0ZXZlciB7QGxpbmsgcmVzb2x2ZUVtYWlsQ29uZmlnfSB0aHJvd3MgZm9yIGFuIHVudXNhYmxlIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbWFpbFJ1bnRpbWUob3ZlcnJpZGVzPzogRW1haWxQbHVnaW5Db25maWcpOiBFbWFpbFJ1bnRpbWUge1xuICBpZiAoIXJ1bnRpbWUpIHtcbiAgICBjb25zdCBjb25maWcgPSByZXNvbHZlRW1haWxDb25maWcob3ZlcnJpZGVzKTtcbiAgICBydW50aW1lID0ge1xuICAgICAgY29uZmlnLFxuICAgICAgZXhlY3V0ZTogZGlyZWN0RXhlY3V0ZSxcbiAgICAgIC4uLihjb25maWcubW9kZSA9PT0gXCJzbXRwXCJcbiAgICAgICAgPyB7XG4gICAgICAgICAgICB0cmFuc3BvcnRlcjogbm9kZW1haWxlci5jcmVhdGVUcmFuc3BvcnQoe1xuICAgICAgICAgICAgICBob3N0OiBjb25maWcuaG9zdCxcbiAgICAgICAgICAgICAgcG9ydDogY29uZmlnLnBvcnQsXG4gICAgICAgICAgICAgIHNlY3VyZTogY29uZmlnLnNlY3VyZSxcbiAgICAgICAgICAgICAgYXV0aDogY29uZmlnLmF1dGgsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9XG4gICAgICAgIDoge30pLFxuICAgIH07XG4gIH1cbiAgcmV0dXJuIHJ1bnRpbWU7XG59XG5cbi8qKlxuICogSW5zdGFsbCB0aGUgZXhlY3V0b3Igb3V0Ym91bmQgc2VuZHMgcnVuIHRocm91Z2guIFRoZSBwbHVnaW4gY2FsbHMgdGhpcyBhdFxuICogc2V0dXAgd2l0aCBpdHMgb3duIGBleGVjdXRlKClgOyBhIHNlY29uZCBjYWxsIHJlcGxhY2VzIHRoZSBwcmV2aW91cyBvbmUsIHNvXG4gKiBhIHJlLXJlZ2lzdGVyZWQgcGx1Z2luIGRvZXMgbm90IGxlYXZlIHRoZSB0b29scyBib3VuZCB0byBhIGRlYWQgaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRFbWFpbEV4ZWN1dG9yKGV4ZWN1dGU6IEVtYWlsRXhlY3V0b3IpOiB2b2lkIHtcbiAgZ2V0RW1haWxSdW50aW1lKCkuZXhlY3V0ZSA9IGV4ZWN1dGU7XG59XG5cbi8qKlxuICogRHJvcCB0aGUgbWVtb2l6ZWQgcnVudGltZSwgY2xvc2luZyB0aGUgU01UUCBjb25uZWN0aW9uIHBvb2wsIHNvIHRoZSBuZXh0XG4gKiB7QGxpbmsgZ2V0RW1haWxSdW50aW1lfSByZWJ1aWxkcyBpdCBmcm9tIGZyZXNoIGNvbmZpZyBhbmQgc3RvcHMgY2FsbGluZ1xuICogdGhyb3VnaCBhIHRvcm4tZG93biBwbHVnaW4ncyBgZXhlY3V0ZSgpYC4gSWRlbXBvdGVudCwgYW5kIHRoZSBwbHVnaW4nc1xuICogYHNodXRkb3duKClgIGhvb2suXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNldEVtYWlsUnVudGltZSgpOiB2b2lkIHtcbiAgcnVudGltZT8udHJhbnNwb3J0ZXI/LmNsb3NlKCk7XG4gIHJ1bnRpbWUgPSB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogUnVuIG9uZSBub24taWRlbXBvdGVudCB3cml0ZSB0aHJvdWdoIHRoZSBzaGFyZWQgZXhlY3V0b3IgYW5kIHVud3JhcCBpdC5cbiAqXG4gKiBgZXhlY3V0ZSgpYCBuZXZlciB0aHJvd3MsIHNvIGEgZmFpbGVkIHNlbmQgYXJyaXZlcyBhcyBgeyBvazogZmFsc2UgfWAgd2l0aCBhXG4gKiBzdGF0dXMgdGhlIGludGVyY2VwdG9ycyBhbHJlYWR5IHNhbml0aXplZDsgaXQgaXMgbG9nZ2VkIGhlcmUgYW5kIHJlLXJhaXNlZFxuICogYXMgYSBzdGFibGUge0BsaW5rIEV4ZWN1dGlvbkVycm9yfSBzbyBhbiB1cHN0cmVhbSBtZXNzYWdlIG5ldmVyIGJlY29tZXMgdGhlXG4gKiBjYWxsZXIncyBlcnJvciB0ZXh0LiBgc2lnbmFsYCBpcyB0aGUgY2FsbGVyJ3Mgb3duIGNhbmNlbGxhdGlvbiAoYW4gYWdlbnRcbiAqIHJ1biwgYSByZXF1ZXN0IHRlYXJkb3duKTsgaXQgaXMgbWVyZ2VkIHdpdGggdGhlIHNpZ25hbCB0aGUgdGltZW91dFxuICogaW50ZXJjZXB0b3Igc3VwcGxpZXMgc28gZWl0aGVyIG9uZSB1bndpbmRzIHRoZSBJL08uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBleGVjdXRlV3JpdGU8VD4oXG4gIG9wZXJhdGlvbjogc3RyaW5nLFxuICBzZXR0aW5nczogRW1haWxFeGVjdXRpb25TZXR0aW5ncyxcbiAgZm46IChzaWduYWw/OiBBYm9ydFNpZ25hbCkgPT4gUHJvbWlzZTxUPixcbiAgc2lnbmFsPzogQWJvcnRTaWduYWwsXG4pOiBQcm9taXNlPFQ+IHtcbiAgY29uc3QgeyBleGVjdXRlIH0gPSBnZXRFbWFpbFJ1bnRpbWUoKTtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZXhlY3V0ZShcbiAgICAoZXhlY3V0ZVNpZ25hbCkgPT4gZm4oYXN5bmMuY29tYmluZUFib3J0U2lnbmFscyhleGVjdXRlU2lnbmFsLCBzaWduYWwpKSxcbiAgICBzZXR0aW5ncyxcbiAgKTtcbiAgaWYgKHJlc3VsdC5vaykgcmV0dXJuIHJlc3VsdC5kYXRhO1xuICAvLyBBIGNhbGxlciB0aGF0IGNhbmNlbGxlZCBpcyBub3QgYSBmYWlsdXJlIHdvcnRoIHJlcG9ydGluZyBhcyBvbmUuXG4gIGlmIChzaWduYWw/LmFib3J0ZWQpIHRocm93IEV4ZWN1dGlvbkVycm9yLmNhbmNlbGVkKCk7XG4gIGxvZ2dlci53YXJuKFwiZXhlY3V0aW9uLWZhaWxlZFwiLCB7XG4gICAgb3BlcmF0aW9uLFxuICAgIHN0YXR1czogcmVzdWx0LnN0YXR1cyxcbiAgICBlcnJvcjogcmVzdWx0Lm1lc3NhZ2UsXG4gIH0pO1xuICB0aHJvdyBuZXcgRXhlY3V0aW9uRXJyb3IoYGVtYWlsOiAke29wZXJhdGlvbn0gZmFpbGVkYCwge1xuICAgIGNvbnRleHQ6IHsgb3BlcmF0aW9uLCBzdGF0dXM6IHJlc3VsdC5zdGF0dXMgfSxcbiAgfSk7XG59XG5cbi8qKlxuICogT3BlbiBhbmQgdGVhciBkb3duIG9uZSBTTVRQIGNvbm5lY3Rpb24gdG8gcHJvdmUgdGhlIGhvc3QsIHBvcnQsIGFuZFxuICogY3JlZGVudGlhbHMgd29yay4gQ2FsbGVkIGF0IHBsdWdpbiBzZXR1cCBzbyBhIGJhZCByZWxheSBzaG93cyB1cCBpbiB0aGVcbiAqIGJvb3QgbG9ncyByYXRoZXIgdGhhbiBvbiB0aGUgZmlyc3QgYXBwcm92ZWQgc2VuZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZlcmlmeUVtYWlsVHJhbnNwb3J0KFxuICB0cmFuc3BvcnRlcjogVHJhbnNwb3J0ZXIgfCB1bmRlZmluZWQsXG4gIHNpZ25hbD86IEFib3J0U2lnbmFsLFxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmICghdHJhbnNwb3J0ZXIpIHtcbiAgICB0aHJvdyBDb25maWd1cmF0aW9uRXJyb3IuaW52YWxpZENvbm5lY3Rpb24oXG4gICAgICBcIlNNVFBcIixcbiAgICAgIFwiVGhlIHJ1bnRpbWUgcmVzb2x2ZWQgdG8gb3V0Ym94IG1vZGUsIHNvIHRoZXJlIGlzIG5vIHRyYW5zcG9ydCB0byB2ZXJpZnkuXCIsXG4gICAgKTtcbiAgfVxuICBhd2FpdCBhYm9ydGFibGUodHJhbnNwb3J0ZXIudmVyaWZ5KCksIHNpZ25hbCk7XG59XG5cbi8qKlxuICogU3RvcCBhd2FpdGluZyBgcHJvbWlzZWAgYXMgc29vbiBhcyBgc2lnbmFsYCBhYm9ydHMuIG5vZGVtYWlsZXIgZXhwb3NlcyBub1xuICogY2FuY2VsbGF0aW9uIGhvb2ssIHNvIHRoZSBTTVRQIGNvbnZlcnNhdGlvbiBpdHNlbGYgZmluaXNoZXMgb24gaXRzIG93blxuICogY29ubmVjdGlvbjsgd2hhdCB1bndpbmRzIGlzIHRoZSBjYWxsZXIgYW5kIGV2ZXJ5dGhpbmcgZG93bnN0cmVhbSBvZiBpdC5cbiAqL1xuZnVuY3Rpb24gYWJvcnRhYmxlPFQ+KHByb21pc2U6IFByb21pc2U8VD4sIHNpZ25hbDogQWJvcnRTaWduYWwgfCB1bmRlZmluZWQpOiBQcm9taXNlPFQ+IHtcbiAgaWYgKCFzaWduYWwpIHJldHVybiBwcm9taXNlO1xuICBzaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcbiAgLy8gVGhlIGxpc3RlbmVyIGlzIGRldGFjaGVkIG9uY2UgdGhlIHJhY2Ugc2V0dGxlcyBzbyBhIGxvbmctbGl2ZWQgcnVuIHNpZ25hbFxuICAvLyBkb2VzIG5vdCBhY2N1bXVsYXRlIG9uZSBwZXIgc2VuZC5cbiAgY29uc3QgbGlzdGVuZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gIGNvbnN0IGFib3J0ZWQgPSBuZXcgUHJvbWlzZTxuZXZlcj4oKF8sIHJlamVjdCkgPT4ge1xuICAgIHNpZ25hbC5hZGRFdmVudExpc3RlbmVyKFwiYWJvcnRcIiwgKCkgPT4gcmVqZWN0KHNpZ25hbC5yZWFzb24pLCB7XG4gICAgICBvbmNlOiB0cnVlLFxuICAgICAgc2lnbmFsOiBsaXN0ZW5lci5zaWduYWwsXG4gICAgfSk7XG4gIH0pO1xuICByZXR1cm4gUHJvbWlzZS5yYWNlKFtwcm9taXNlLCBhYm9ydGVkXSkuZmluYWxseSgoKSA9PiBsaXN0ZW5lci5hYm9ydCgpKTtcbn1cblxuLyoqIFRoZSBjb21tYS1qb2luZWQgcmVjaXBpZW50IHN0cmluZyBlY2hvZWQgYmFjayBpbiB7QGxpbmsgRW1haWxSZXN1bHR9LiAqL1xuZnVuY3Rpb24gcmVjaXBpZW50RWNobyh0bzogc3RyaW5nW10pOiBzdHJpbmcge1xuICByZXR1cm4gdG8uam9pbihcIiwgXCIpO1xufVxuXG4vKipcbiAqIE5vZGUgYnVmZmVyIGVuY29kaW5ncyBhIHdpcmUgYXR0YWNobWVudCBtYXkgbmFtZSBmb3IgaXRzIGlubGluZSBgY29udGVudGAuXG4gKiBBbnl0aGluZyBlbHNlIGlzIG1lYXN1cmVkIGFzIFVURi04LCB3aGljaCBvdmVyLWNvdW50cyByYXRoZXIgdGhhbiBsZXR0aW5nXG4gKiBhbiB1bnJlY29nbml6ZWQgZW5jb2Rpbmcgc2xpcCBwYXN0IHRoZSBzaXplIGNhcC5cbiAqL1xuY29uc3QgQ09OVEVOVF9FTkNPRElOR1M6IFJlYWRvbmx5U2V0PHN0cmluZz4gPSBuZXcgU2V0KFtcbiAgXCJhc2NpaVwiLFxuICBcImJhc2U2NFwiLFxuICBcImJhc2U2NHVybFwiLFxuICBcImJpbmFyeVwiLFxuICBcImhleFwiLFxuICBcImxhdGluMVwiLFxuICBcInVjczJcIixcbiAgXCJ1Y3MtMlwiLFxuICBcInV0ZjhcIixcbiAgXCJ1dGYtOFwiLFxuICBcInV0ZjE2bGVcIixcbiAgXCJ1dGYtMTZsZVwiLFxuXSk7XG5cbi8qKlxuICogRGVjb2RlZCBieXRlIHNpemUgb2Ygb25lIGF0dGFjaG1lbnQncyBpbmxpbmUgY29udGVudC4gQSBgcGF0aGAgYXR0YWNobWVudFxuICogY29udHJpYnV0ZXMgbm90aGluZzogbm9kZW1haWxlciBzdHJlYW1zIGl0LCBzbyBpdHMgYnl0ZXMgbmV2ZXIgc2l0IGluIHRoaXNcbiAqIHByb2Nlc3MgYW5kIGNhbm5vdCBiZSBtZWFzdXJlZCBoZXJlLlxuICovXG5mdW5jdGlvbiBhdHRhY2htZW50Qnl0ZXMoYXR0YWNobWVudDogRW1haWxBdHRhY2htZW50KTogbnVtYmVyIHtcbiAgY29uc3QgeyBjb250ZW50LCBlbmNvZGluZyB9ID0gYXR0YWNobWVudDtcbiAgaWYgKGNvbnRlbnQgPT09IHVuZGVmaW5lZCkgcmV0dXJuIDA7XG4gIGNvbnN0IGRlY2xhcmVkID0gZW5jb2Rpbmc/LnRvTG93ZXJDYXNlKCk7XG4gIGNvbnN0IHJlc29sdmVkID1cbiAgICBkZWNsYXJlZCAmJiBDT05URU5UX0VOQ09ESU5HUy5oYXMoZGVjbGFyZWQpID8gKGRlY2xhcmVkIGFzIEJ1ZmZlckVuY29kaW5nKSA6IFwidXRmOFwiO1xuICByZXR1cm4gQnVmZmVyLmJ5dGVMZW5ndGgoY29udGVudCwgcmVzb2x2ZWQpO1xufVxuXG4vKipcbiAqIFJlamVjdCBhIG1lc3NhZ2Ugd2hvc2UgYm9keSBvciBhdHRhY2htZW50cyBleGNlZWQgdGhlIHBsdWdpbidzIGNhcHMuIFRoZVxuICogYm9keSBhbmQgYXR0YWNobWVudCBsaXN0IGFycml2ZSBmcm9tIGEgbW9kZWwsIHNvIHRoZXkgYXJlIHVuYm91bmRlZCB1bnRpbFxuICogc29tZXRoaW5nIGJvdW5kcyB0aGVtOyBtb3N0IFNNVFAgcmVsYXlzIGFsc28gcmVqZWN0IGFuIG92ZXJzaXplZCBtZXNzYWdlXG4gKiBvbmx5IGFmdGVyIHRoZSB3aG9sZSBwYXlsb2FkIGhhcyBiZWVuIHVwbG9hZGVkLlxuICovXG5mdW5jdGlvbiBhc3NlcnRNZXNzYWdlV2l0aGluQ2FwcyhtZXNzYWdlOiBFbWFpbE1lc3NhZ2UpOiB2b2lkIHtcbiAgaWYgKG1lc3NhZ2UuYm9keS5sZW5ndGggPiBNQVhfQk9EWV9DSEFSUykge1xuICAgIHRocm93IFZhbGlkYXRpb25FcnJvci5pbnZhbGlkVmFsdWUoXG4gICAgICBcImJvZHlcIixcbiAgICAgIG1lc3NhZ2UuYm9keS5sZW5ndGgsXG4gICAgICBgYXQgbW9zdCAke01BWF9CT0RZX0NIQVJTfSBjaGFyYWN0ZXJzYCxcbiAgICApO1xuICB9XG4gIGNvbnN0IGF0dGFjaG1lbnRzID0gbWVzc2FnZS5hdHRhY2htZW50cyA/PyBbXTtcbiAgaWYgKGF0dGFjaG1lbnRzLmxlbmd0aCA+IE1BWF9BVFRBQ0hNRU5UX0NPVU5UKSB7XG4gICAgdGhyb3cgVmFsaWRhdGlvbkVycm9yLmludmFsaWRWYWx1ZShcbiAgICAgIFwiYXR0YWNobWVudHNcIixcbiAgICAgIGF0dGFjaG1lbnRzLmxlbmd0aCxcbiAgICAgIGBhdCBtb3N0ICR7TUFYX0FUVEFDSE1FTlRfQ09VTlR9IGZpbGVzYCxcbiAgICApO1xuICB9XG4gIGxldCB0b3RhbCA9IDA7XG4gIGZvciAoY29uc3QgYXR0YWNobWVudCBvZiBhdHRhY2htZW50cykge1xuICAgIGNvbnN0IGJ5dGVzID0gYXR0YWNobWVudEJ5dGVzKGF0dGFjaG1lbnQpO1xuICAgIGlmIChieXRlcyA+IE1BWF9BVFRBQ0hNRU5UX0JZVEVTKSB7XG4gICAgICB0aHJvdyBWYWxpZGF0aW9uRXJyb3IuaW52YWxpZFZhbHVlKFxuICAgICAgICBcImF0dGFjaG1lbnRzW10uY29udGVudFwiLFxuICAgICAgICBieXRlcyxcbiAgICAgICAgYGF0IG1vc3QgJHtNQVhfQVRUQUNITUVOVF9CWVRFU30gYnl0ZXMgcGVyIGZpbGVgLFxuICAgICAgKTtcbiAgICB9XG4gICAgdG90YWwgKz0gYnl0ZXM7XG4gIH1cbiAgaWYgKHRvdGFsID4gTUFYX0FUVEFDSE1FTlRTX1RPVEFMX0JZVEVTKSB7XG4gICAgdGhyb3cgVmFsaWRhdGlvbkVycm9yLmludmFsaWRWYWx1ZShcbiAgICAgIFwiYXR0YWNobWVudHNcIixcbiAgICAgIHRvdGFsLFxuICAgICAgYGF0IG1vc3QgJHtNQVhfQVRUQUNITUVOVFNfVE9UQUxfQllURVN9IGJ5dGVzIGFjcm9zcyBhbGwgZmlsZXNgLFxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBNYXAgdGhlIHdpcmUtZm9ybWF0IHtAbGluayBFbWFpbEF0dGFjaG1lbnR9cyBvbnRvIG5vZGVtYWlsZXInc1xuICogYXR0YWNobWVudCBzaGFwZSwgZHJvcHBpbmcgdW5zZXQgb3B0aW9uYWwga2V5cyBzbyBub2RlbWFpbGVyIGFwcGxpZXNcbiAqIGl0cyBvd24gZGVmYXVsdHMgKHV0Zi04IGVuY29kaW5nLCBmaWxlbmFtZS1pbmZlcnJlZCBjb250ZW50IHR5cGUpLiBUaGVcbiAqIHdpcmUgZmllbGRzIGFyZSBhIGRlbGliZXJhdGUgc3Vic2V0IG9mIG5vZGVtYWlsZXIncywgc28gdGhpcyBpcyBhXG4gKiBzdHJhaWdodCBzdHJ1Y3R1cmFsIHBhc3MtdGhyb3VnaC5cbiAqL1xuZnVuY3Rpb24gdG9NYWlsQXR0YWNobWVudHMoXG4gIGF0dGFjaG1lbnRzOiBFbWFpbEF0dGFjaG1lbnRbXSB8IHVuZGVmaW5lZCxcbik6IFNlbmRNYWlsT3B0aW9uc1tcImF0dGFjaG1lbnRzXCJdIHtcbiAgaWYgKCFhdHRhY2htZW50cyB8fCBhdHRhY2htZW50cy5sZW5ndGggPT09IDApIHJldHVybiB1bmRlZmluZWQ7XG4gIHJldHVybiBhdHRhY2htZW50cy5tYXAoKGF0dCkgPT4gKHtcbiAgICBmaWxlbmFtZTogYXR0LmZpbGVuYW1lLFxuICAgIC4uLihhdHQuY29udGVudCAhPT0gdW5kZWZpbmVkID8geyBjb250ZW50OiBhdHQuY29udGVudCB9IDoge30pLFxuICAgIC4uLihhdHQuZW5jb2RpbmcgIT09IHVuZGVmaW5lZCA/IHsgZW5jb2Rpbmc6IGF0dC5lbmNvZGluZyB9IDoge30pLFxuICAgIC4uLihhdHQucGF0aCAhPT0gdW5kZWZpbmVkID8geyBwYXRoOiBhdHQucGF0aCB9IDoge30pLFxuICAgIC4uLihhdHQuY29udGVudFR5cGUgIT09IHVuZGVmaW5lZCA/IHsgY29udGVudFR5cGU6IGF0dC5jb250ZW50VHlwZSB9IDoge30pLFxuICB9KSk7XG59XG5cbi8qKlxuICogSGFuZCBvbmUgYWxyZWFkeS12YWxpZGF0ZWQgbWVzc2FnZSB0byBTTVRQLCBvciB3cml0ZSBpdCB0byB0aGUgb3V0Ym94IHdoZW5cbiAqIG5vIGNyZWRlbnRpYWxzIGFyZSBjb25maWd1cmVkLiBUaGUgaGFsZiBvZiBhIHNlbmQgdGhhdCBwZXJmb3JtcyBJL08sIHNvIGl0XG4gKiBpcyB3aGF0IHJ1bnMgaW5zaWRlIHRoZSBpbnRlcmNlcHRvciBjaGFpbi5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gZGlzcGF0Y2goXG4gIG1lc3NhZ2U6IEVtYWlsTWVzc2FnZSxcbiAgZnJvbTogc3RyaW5nLFxuICBzaWduYWw/OiBBYm9ydFNpZ25hbCxcbik6IFByb21pc2U8RW1haWxSZXN1bHQ+IHtcbiAgY29uc3QgeyBjb25maWcsIHRyYW5zcG9ydGVyIH0gPSBnZXRFbWFpbFJ1bnRpbWUoKTtcbiAgY29uc3QgcmVjaXBpZW50ID0gcmVjaXBpZW50RWNobyhtZXNzYWdlLnRvKTtcbiAgc2lnbmFsPy50aHJvd0lmQWJvcnRlZCgpO1xuXG4gIGlmIChjb25maWcubW9kZSA9PT0gXCJmaWxlXCIpIHtcbiAgICBjb25zdCBwYXRoID0gYXdhaXQgd3JpdGVPdXRib3hFbWFpbChtZXNzYWdlLCBmcm9tLCBjb25maWcub3V0RGlyLCBjb25maWcuYnJhbmQpO1xuICAgIHJldHVybiB7IHNlbnQ6IHRydWUsIHJlY2lwaWVudCwgZnJvbSwgbWVzc2FnZUlkOiBwYXRoIH07XG4gIH1cblxuICBpZiAoIXRyYW5zcG9ydGVyKSB7XG4gICAgdGhyb3cgQ29uZmlndXJhdGlvbkVycm9yLmludmFsaWRDb25uZWN0aW9uKFxuICAgICAgXCJTTVRQXCIsXG4gICAgICBcIk5vIHRyYW5zcG9ydCB3YXMgYnVpbHQgZm9yIHRoZSByZXNvbHZlZCBjb25maWd1cmF0aW9uLlwiLFxuICAgICk7XG4gIH1cbiAgY29uc3QgYXR0YWNobWVudHMgPSB0b01haWxBdHRhY2htZW50cyhtZXNzYWdlLmF0dGFjaG1lbnRzKTtcbiAgY29uc3QgaW5mbyA9IGF3YWl0IGFib3J0YWJsZShcbiAgICB0cmFuc3BvcnRlci5zZW5kTWFpbCh7XG4gICAgICBmcm9tLFxuICAgICAgdG86IG1lc3NhZ2UudG8sXG4gICAgICBzdWJqZWN0OiBtZXNzYWdlLnN1YmplY3QsXG4gICAgICB0ZXh0OiBtZXNzYWdlLmJvZHksXG4gICAgICBodG1sOiByZW5kZXJFbWFpbEh0bWwoe1xuICAgICAgICBzdWJqZWN0OiBtZXNzYWdlLnN1YmplY3QsXG4gICAgICAgIGJvZHk6IG1lc3NhZ2UuYm9keSxcbiAgICAgICAgLi4uKGNvbmZpZy5icmFuZCA/IHsgYnJhbmQ6IGNvbmZpZy5icmFuZCB9IDoge30pLFxuICAgICAgfSksXG4gICAgICAuLi4obWVzc2FnZS5jYyAmJiBtZXNzYWdlLmNjLmxlbmd0aCA+IDAgPyB7IGNjOiBtZXNzYWdlLmNjIH0gOiB7fSksXG4gICAgICAuLi4obWVzc2FnZS5iY2MgJiYgbWVzc2FnZS5iY2MubGVuZ3RoID4gMCA/IHsgYmNjOiBtZXNzYWdlLmJjYyB9IDoge30pLFxuICAgICAgLi4uKGF0dGFjaG1lbnRzID8geyBhdHRhY2htZW50cyB9IDoge30pLFxuICAgIH0pLFxuICAgIHNpZ25hbCxcbiAgKTtcbiAgcmV0dXJuIHtcbiAgICBzZW50OiB0cnVlLFxuICAgIHJlY2lwaWVudCxcbiAgICBmcm9tLFxuICAgIC4uLihpbmZvLm1lc3NhZ2VJZCA/IHsgbWVzc2FnZUlkOiBpbmZvLm1lc3NhZ2VJZCB9IDoge30pLFxuICB9O1xufVxuXG4vKipcbiAqIFNlbmQgKFNNVFAgbW9kZSkgb3IgcGVyc2lzdCAoZmlsZS9vdXRib3ggbW9kZSkgb25lIG1lc3NhZ2UgZnJvbSB0aGVcbiAqIHJlc29sdmVkIGBmcm9tYCBhZGRyZXNzLiBgdG9gIChhbmQgb3B0aW9uYWwgYGNjYCAvIGBiY2NgKSBlYWNoIGFjY2VwdFxuICogb25lIG9yIG1vcmUgYWRkcmVzc2VzLCBhbmQgYGF0dGFjaG1lbnRzYCBhcmUgZm9yd2FyZGVkIGFzIGZpbGVzLiBUaGVcbiAqIGJvZHkgaXMgbWFya2Rvd246IFNNVFAgc2VuZHMgaXQgYXMgYm90aCBhIHBsYWluLXRleHQgcGFydCAodGhlIHJhd1xuICogc291cmNlKSBhbmQgYW4gSFRNTCBwYXJ0IChyZW5kZXJlZCksIGFuZCB0aGUgb3V0Ym94IGVtYmVkcyB0aGVcbiAqIHJlbmRlcmVkIEhUTUwgaW4gYSBkb2N1bWVudC4gSW4gZmlsZSBtb2RlIHRoZSByZXR1cm5lZCBgbWVzc2FnZUlkYCBpc1xuICogdGhlIHBhdGggd3JpdHRlbi4gVGhyb3dzIHdoZW4gYHRvYCBjYXJyaWVzIG5vIHJlY2lwaWVudCwgd2hlbiB0aGUgYm9keVxuICogb3IgYXR0YWNobWVudHMgZXhjZWVkIHRoZSBwbHVnaW4ncyBjYXBzLCBvciB3aGVuIGBmcm9tYCBpcyBub3QgcGVybWl0dGVkXG4gKiBieSB0aGUgZWZmZWN0aXZlIHNlbmRlciBhbGxvdy1saXN0LlxuICpcbiAqIFRoZSByZWNpcGllbnQsIGNhcCwgYW5kIHNlbmRlciBjaGVja3MgcnVuIGJlZm9yZSB0aGUgaW50ZXJjZXB0b3IgY2hhaW4gc29cbiAqIHRoZWlyIHNwZWNpZmljIHN0YXR1cyBhbmQgYWN0aW9uYWJsZSBtZXNzYWdlIHJlYWNoIHRoZSBjYWxsZXIgaW5zdGVhZCBvZlxuICogdGhlIGNoYWluJ3Mgc3RhYmxlIGZhaWx1cmUgdGV4dC4gYHNpZ25hbGAgY2FuY2VscyB0aGUgc2VuZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNlbmRFbWFpbChcbiAgbWVzc2FnZTogRW1haWxNZXNzYWdlLFxuICBmcm9tOiBzdHJpbmcsXG4gIHNpZ25hbD86IEFib3J0U2lnbmFsLFxuKTogUHJvbWlzZTxFbWFpbFJlc3VsdD4ge1xuICBpZiAobWVzc2FnZS50by5sZW5ndGggPT09IDApIHtcbiAgICB0aHJvdyBWYWxpZGF0aW9uRXJyb3IubWlzc2luZ0ZpZWxkKFwidG9cIik7XG4gIH1cbiAgYXNzZXJ0TWVzc2FnZVdpdGhpbkNhcHMobWVzc2FnZSk7XG4gIGFzc2VydFNlbmRlckFsbG93ZWQoZnJvbSwgZ2V0RW1haWxSdW50aW1lKCkuY29uZmlnLmFsbG93ZWRTZW5kZXJzKTtcbiAgcmV0dXJuIGV4ZWN1dGVXcml0ZShcbiAgICBcInNlbmRcIixcbiAgICBFTUFJTF9TRU5EX1NFVFRJTkdTLFxuICAgIChleGVjdXRlU2lnbmFsKSA9PiBkaXNwYXRjaChtZXNzYWdlLCBmcm9tLCBleGVjdXRlU2lnbmFsKSxcbiAgICBzaWduYWwsXG4gICk7XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -19,15 +19,15 @@
|
|
|
19
19
|
"juice": "^12.1.1",
|
|
20
20
|
"marked": "^18.0.5",
|
|
21
21
|
"nodemailer": "^7.0.13",
|
|
22
|
-
"@dbx-tools/shared-core": "0.
|
|
23
|
-
"@dbx-tools/shared-email": "0.
|
|
22
|
+
"@dbx-tools/shared-core": "0.5.0",
|
|
23
|
+
"@dbx-tools/shared-email": "0.5.0"
|
|
24
24
|
},
|
|
25
25
|
"main": "./lib/index.js",
|
|
26
26
|
"license": "UNLICENSED",
|
|
27
27
|
"publishConfig": {
|
|
28
28
|
"access": "public"
|
|
29
29
|
},
|
|
30
|
-
"version": "0.
|
|
30
|
+
"version": "0.5.0",
|
|
31
31
|
"types": "./lib/index.d.ts",
|
|
32
32
|
"type": "module",
|
|
33
33
|
"exports": {
|
package/src/config.ts
CHANGED
|
@@ -27,8 +27,8 @@ import { resolve } from "node:path";
|
|
|
27
27
|
import { ConfigurationError, ValidationError, type BasePluginConfig } from "@databricks/appkit";
|
|
28
28
|
import { object } from "@dbx-tools/shared-core";
|
|
29
29
|
import type { JSONSchema7 } from "json-schema";
|
|
30
|
-
import type { EmailBrand } from "./brand";
|
|
31
|
-
import { parseAllowedSenders } from "./sender";
|
|
30
|
+
import type { EmailBrand } from "./brand.ts";
|
|
31
|
+
import { parseAllowedSenders } from "./sender.ts";
|
|
32
32
|
|
|
33
33
|
/** SMTP submission port used when none is configured. */
|
|
34
34
|
export const DEFAULT_SMTP_PORT = 587;
|
package/src/email-html.ts
CHANGED
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
|
|
23
23
|
import { string } from "@dbx-tools/shared-core";
|
|
24
24
|
import juice from "juice";
|
|
25
|
-
import type { EmailBrand } from "./brand";
|
|
26
|
-
import { markdownToHtml } from "./markdown";
|
|
25
|
+
import type { EmailBrand } from "./brand.ts";
|
|
26
|
+
import { markdownToHtml } from "./markdown.ts";
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
29
|
* Rendered height of the header logo. Fixed rather than intrinsic because
|
package/src/outbox.ts
CHANGED
|
@@ -17,8 +17,8 @@ import { mkdir, writeFile } from "node:fs/promises";
|
|
|
17
17
|
import { join, resolve } from "node:path";
|
|
18
18
|
import { string } from "@dbx-tools/shared-core";
|
|
19
19
|
import type { EmailMessage } from "@dbx-tools/shared-email";
|
|
20
|
-
import type { EmailBrand } from "./brand";
|
|
21
|
-
import { renderEmailHtml } from "./email-html";
|
|
20
|
+
import type { EmailBrand } from "./brand.ts";
|
|
21
|
+
import { renderEmailHtml } from "./email-html.ts";
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* Longest subject slug kept in an outbox file name, leaving room for the
|
package/src/plugin.ts
CHANGED
|
@@ -52,17 +52,17 @@ import {
|
|
|
52
52
|
type EmailResult,
|
|
53
53
|
type EmailSenders,
|
|
54
54
|
} from "@dbx-tools/shared-email";
|
|
55
|
-
import { EMAIL_CONFIG_SCHEMA, type EmailPluginConfig } from "./config";
|
|
56
|
-
import { EMAIL_SENDERS_SETTINGS, EMAIL_VERIFY_SETTINGS } from "./defaults";
|
|
57
|
-
import { isSenderAllowed, listSenderOptions, resolveSenderAddress } from "./sender";
|
|
58
|
-
import { SEND_EMAIL_DESCRIPTION } from "./tool";
|
|
55
|
+
import { EMAIL_CONFIG_SCHEMA, type EmailPluginConfig } from "./config.ts";
|
|
56
|
+
import { EMAIL_SENDERS_SETTINGS, EMAIL_VERIFY_SETTINGS } from "./defaults.ts";
|
|
57
|
+
import { isSenderAllowed, listSenderOptions, resolveSenderAddress } from "./sender.ts";
|
|
58
|
+
import { SEND_EMAIL_DESCRIPTION } from "./tool.ts";
|
|
59
59
|
import {
|
|
60
60
|
getEmailRuntime,
|
|
61
61
|
resetEmailRuntime,
|
|
62
62
|
sendEmail,
|
|
63
63
|
setEmailExecutor,
|
|
64
64
|
verifyEmailTransport,
|
|
65
|
-
} from "./transport";
|
|
65
|
+
} from "./transport.ts";
|
|
66
66
|
|
|
67
67
|
/** Mount-relative route (under `/api/email`) for the sender-options lookup. */
|
|
68
68
|
const SENDERS_ROUTE = "/senders";
|
package/src/sender.ts
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
import { ConfigurationError, ValidationError } from "@databricks/appkit";
|
|
25
25
|
import { log, net } from "@dbx-tools/shared-core";
|
|
26
26
|
|
|
27
|
-
import type { ResolvedEmailConfig } from "./config";
|
|
27
|
+
import type { ResolvedEmailConfig } from "./config.ts";
|
|
28
28
|
|
|
29
29
|
const logger = log.logger("email/sender");
|
|
30
30
|
|
package/src/tool.ts
CHANGED
|
@@ -21,8 +21,8 @@ import { getExecutionContext } from "@databricks/appkit";
|
|
|
21
21
|
import { log, string } from "@dbx-tools/shared-core";
|
|
22
22
|
import { email } from "@dbx-tools/shared-email";
|
|
23
23
|
import { createTool } from "@mastra/core/tools";
|
|
24
|
-
import { resolveSenderAddress } from "./sender";
|
|
25
|
-
import { getEmailRuntime, sendEmail } from "./transport";
|
|
24
|
+
import { resolveSenderAddress } from "./sender.ts";
|
|
25
|
+
import { getEmailRuntime, sendEmail } from "./transport.ts";
|
|
26
26
|
|
|
27
27
|
const logger = log.logger("email/tool/send-email");
|
|
28
28
|
|
package/src/transport.ts
CHANGED
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
import { async, error, log } from "@dbx-tools/shared-core";
|
|
33
33
|
import type { EmailAttachment, EmailMessage, EmailResult } from "@dbx-tools/shared-email";
|
|
34
34
|
import nodemailer, { type SendMailOptions, type Transporter } from "nodemailer";
|
|
35
|
-
import { resolveEmailConfig, type EmailPluginConfig, type ResolvedEmailConfig } from "./config";
|
|
35
|
+
import { resolveEmailConfig, type EmailPluginConfig, type ResolvedEmailConfig } from "./config.ts";
|
|
36
36
|
import {
|
|
37
37
|
EMAIL_SEND_SETTINGS,
|
|
38
38
|
MAX_ATTACHMENT_BYTES,
|
|
@@ -40,10 +40,10 @@ import {
|
|
|
40
40
|
MAX_ATTACHMENTS_TOTAL_BYTES,
|
|
41
41
|
MAX_BODY_CHARS,
|
|
42
42
|
type EmailExecutionSettings,
|
|
43
|
-
} from "./defaults";
|
|
44
|
-
import { renderEmailHtml } from "./email-html";
|
|
45
|
-
import { writeOutboxEmail } from "./outbox";
|
|
46
|
-
import { assertSenderAllowed } from "./sender";
|
|
43
|
+
} from "./defaults.ts";
|
|
44
|
+
import { renderEmailHtml } from "./email-html.ts";
|
|
45
|
+
import { writeOutboxEmail } from "./outbox.ts";
|
|
46
|
+
import { assertSenderAllowed } from "./sender.ts";
|
|
47
47
|
|
|
48
48
|
const logger = log.logger("email/transport");
|
|
49
49
|
|