@hartl-services/medusa-base 2.7.0 → 2.9.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.
Files changed (54) hide show
  1. package/.medusa/server/src/admin/admin-components/features/plugin-features/components/PluginSettingsForm.js +12 -9
  2. package/.medusa/server/src/admin/admin-components/features/plugin-features/hooks/usePluginFeatureEnabled.d.ts +5 -1
  3. package/.medusa/server/src/admin/admin-components/features/plugin-features/hooks/usePluginFeatures.d.ts +20 -4
  4. package/.medusa/server/src/admin/admin-components/features/plugin-features/hooks/usePluginSettingsForm.d.ts +5 -1
  5. package/.medusa/server/src/admin/admin-components/features/plugin-features/lib/plugin-features-admin-client.d.ts +20 -4
  6. package/.medusa/server/src/admin/admin-components/features/plugin-features/lib/plugin-view.d.ts +0 -5
  7. package/.medusa/server/src/admin/admin-components/features/plugin-features/lib/plugin-view.js +0 -5
  8. package/.medusa/server/src/admin/admin-components/features/plugin-features/lib/settings-layout.d.ts +4 -0
  9. package/.medusa/server/src/admin/admin-components/features/plugin-features/lib/settings-layout.js +4 -0
  10. package/.medusa/server/src/admin/admin-components/i18n/texts.d.ts +1 -2
  11. package/.medusa/server/src/admin/admin-components/i18n/texts.js +1 -2
  12. package/.medusa/server/src/admin/index.js +142 -87
  13. package/.medusa/server/src/admin/index.mjs +144 -89
  14. package/.medusa/server/src/api/admin/email/templates/[kind]/send-test/route.js +7 -1
  15. package/.medusa/server/src/customer-auth/plugin-features.js +10 -10
  16. package/.medusa/server/src/email/application/warn-credential-expiry.js +77 -0
  17. package/.medusa/server/src/email/config/index.js +8 -2
  18. package/.medusa/server/src/email/config/notification-module.js +28 -2
  19. package/.medusa/server/src/email/domain/business-keys.js +5 -2
  20. package/.medusa/server/src/email/domain/failure-classification.js +9 -1
  21. package/.medusa/server/src/email/plugin-features.js +123 -1
  22. package/.medusa/server/src/email/rendering/default-templates.js +16 -1
  23. package/.medusa/server/src/email/rendering/render-email.js +2 -1
  24. package/.medusa/server/src/email/types/email-kinds.js +2 -1
  25. package/.medusa/server/src/email/types/template-data.js +8 -1
  26. package/.medusa/server/src/jobs/email-credential-expiry.js +27 -0
  27. package/.medusa/server/src/modules/email/domain/message-state.js +3 -1
  28. package/.medusa/server/src/modules/email/migrations/Migration20261011120000.js +20 -0
  29. package/.medusa/server/src/modules/plugin-features/domain/plugin-settings.js +27 -6
  30. package/.medusa/server/src/modules/plugin-features/service.js +4 -3
  31. package/.medusa/server/src/providers/smtp/delivery-settings.js +75 -0
  32. package/.medusa/server/src/providers/smtp/graph-transport.js +150 -0
  33. package/.medusa/server/src/providers/smtp/service.js +105 -37
  34. package/.medusa/server/src/providers/smtp/types.js +7 -1
  35. package/.medusa/server/src/public/descriptor.js +24 -3
  36. package/.medusa/server/src/shared/lib/dates.js +8 -2
  37. package/.medusa/server/src/shop-config/build-food-shop-config.js +3 -5
  38. package/README.md +100 -65
  39. package/dist/customer-auth/plugin-features.js +9 -9
  40. package/dist/email/config/index.d.ts +6 -1
  41. package/dist/email/config/index.js +7 -1
  42. package/dist/email/config/notification-module.d.ts +25 -0
  43. package/dist/email/config/notification-module.js +27 -1
  44. package/dist/email/types/email-kinds.d.ts +2 -1
  45. package/dist/email/types/email-kinds.js +1 -0
  46. package/dist/email/types/template-data.d.ts +10 -0
  47. package/dist/email/types/template-data.js +7 -0
  48. package/dist/public/descriptor.js +23 -2
  49. package/dist/public/types.d.ts +14 -4
  50. package/dist/shared/lib/dates.d.ts +2 -0
  51. package/dist/shared/lib/dates.js +7 -1
  52. package/dist/shop-config/build-food-shop-config.d.ts +1 -1
  53. package/dist/shop-config/build-food-shop-config.js +2 -4
  54. package/package.json +2 -2
@@ -4,11 +4,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.SmtpNotificationService = exports.SMTP_TIMEOUTS = void 0;
7
+ const framework_1 = require("@medusajs/framework");
7
8
  const utils_1 = require("@medusajs/framework/utils");
8
9
  const nodemailer_1 = __importDefault(require("nodemailer"));
9
10
  const sender_1 = require("../../email/domain/sender");
11
+ const plugin_features_1 = require("../../email/plugin-features");
10
12
  const service_1 = require("../../modules/email/service");
13
+ const settings_1 = require("../../public/settings");
11
14
  const lib_1 = require("../../shared/lib");
15
+ const delivery_settings_1 = require("./delivery-settings");
16
+ const graph_transport_1 = require("./graph-transport");
12
17
  const types_1 = require("./types");
13
18
  exports.SMTP_TIMEOUTS = {
14
19
  connection: 10_000,
@@ -45,6 +50,9 @@ const classifySmtpFailure = (error) => {
45
50
  return types_1.SMTP_FAILURE_SENTINELS.outcomeUnknown;
46
51
  }
47
52
  const smtpError = error;
53
+ if (smtpError.code === "EAUTH") {
54
+ return types_1.SMTP_FAILURE_SENTINELS.authFailed;
55
+ }
48
56
  const responseCode = Number(smtpError.responseCode);
49
57
  if (responseCode >= 400 && responseCode < 500) {
50
58
  return types_1.SMTP_FAILURE_SENTINELS.transientRejection;
@@ -68,45 +76,51 @@ const classifySmtpFailure = (error) => {
68
76
  const throwSentinel = (sentinel) => {
69
77
  throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, sentinel);
70
78
  };
79
+ const smtpTransportFor = (smtp) => {
80
+ const transport = nodemailer_1.default.createTransport({
81
+ auth: smtp.user ? { pass: smtp.password, user: smtp.user } : undefined,
82
+ connectionTimeout: exports.SMTP_TIMEOUTS.connection,
83
+ greetingTimeout: exports.SMTP_TIMEOUTS.greeting,
84
+ host: smtp.host,
85
+ port: smtp.port,
86
+ requireTLS: smtp.requireTls,
87
+ secure: smtp.secure,
88
+ socketTimeout: exports.SMTP_TIMEOUTS.socket,
89
+ });
90
+ return { sendMail: (message) => transport.sendMail(message) };
91
+ };
92
+ /**
93
+ * The shop's mail provider (id `smtp`). Which service it sends through, SMTP
94
+ * or Microsoft 365 (Graph), and the credentials come from the E-Mail plugin's
95
+ * settings ("Versand"), read on every send; nothing is read at boot.
96
+ */
71
97
  class SmtpNotificationService extends utils_1.AbstractNotificationProviderService {
72
98
  constructor(dependencies, options) {
73
99
  super();
100
+ this.smtpTransport_ = null;
74
101
  this.logger_ = dependencies.logger;
75
102
  this.options_ = options;
76
103
  this.pgConnection_ = dependencies[utils_1.ContainerRegistrationKeys.PG_CONNECTION];
77
- if (options.transport) {
78
- this.transport_ = options.transport;
79
- return;
80
- }
81
- const transport = nodemailer_1.default.createTransport({
82
- auth: {
83
- pass: options.smtp.password,
84
- user: options.smtp.user,
85
- },
86
- connectionTimeout: exports.SMTP_TIMEOUTS.connection,
87
- greetingTimeout: exports.SMTP_TIMEOUTS.greeting,
88
- host: options.smtp.host,
89
- port: options.smtp.port,
90
- requireTLS: options.smtp.requireTls,
91
- secure: options.smtp.secure,
92
- socketTimeout: exports.SMTP_TIMEOUTS.socket,
93
- });
94
- this.transport_ = {
95
- sendMail: (message) => transport.sendMail(message),
96
- };
104
+ this.graph_ = new graph_transport_1.GraphTransport(options.graphFetch ??
105
+ ((url, init) => fetch(url, init)));
97
106
  }
98
107
  static validateOptions(options) {
99
108
  if (!options || typeof options !== "object" || Array.isArray(options)) {
100
109
  invalidOptions();
101
110
  }
102
111
  const channels = options.channels;
103
- const smtp = options.smtp;
104
112
  if (!Array.isArray(channels) ||
105
113
  channels.length !== 1 ||
106
114
  channels[0] !== "email" ||
107
- typeof smtp !== "object" ||
108
- smtp === null ||
109
- Array.isArray(smtp)) {
115
+ (options.allowInsecure !== undefined &&
116
+ typeof options.allowInsecure !== "boolean")) {
117
+ invalidOptions();
118
+ }
119
+ const smtp = options.smtp;
120
+ if (smtp === undefined) {
121
+ return;
122
+ }
123
+ if (typeof smtp !== "object" || smtp === null || Array.isArray(smtp)) {
110
124
  invalidOptions();
111
125
  }
112
126
  const configuration = smtp;
@@ -123,6 +137,33 @@ class SmtpNotificationService extends utils_1.AbstractNotificationProviderServic
123
137
  invalidOptions();
124
138
  }
125
139
  }
140
+ /** The settings of "Versand"; a read failure counts as unreachable. */
141
+ async deliverySettings() {
142
+ let settings;
143
+ try {
144
+ settings = await (this.options_.loadSettings
145
+ ? this.options_.loadSettings()
146
+ : (0, settings_1.getPluginSettings)(framework_1.container, plugin_features_1.emailPluginFeatures, (0, delivery_settings_1.smtpSettingsFallback)(this.options_.smtp)));
147
+ }
148
+ catch {
149
+ this.logger_.error(`smtp: settings unavailable (${types_1.SMTP_FAILURE_SENTINELS.connectionFailed})`);
150
+ return throwSentinel(types_1.SMTP_FAILURE_SENTINELS.connectionFailed);
151
+ }
152
+ const allowInsecure = this.options_.allowInsecure === true ||
153
+ // A deprecated medusa-config SMTP value was already checked there.
154
+ Boolean(this.options_.smtp);
155
+ return (0, delivery_settings_1.toDeliverySettings)(settings, allowInsecure);
156
+ }
157
+ smtpTransport(smtp) {
158
+ if (this.options_.transport) {
159
+ return this.options_.transport;
160
+ }
161
+ const key = JSON.stringify(smtp);
162
+ if (this.smtpTransport_?.key !== key) {
163
+ this.smtpTransport_ = { key, transport: smtpTransportFor(smtp) };
164
+ }
165
+ return this.smtpTransport_.transport;
166
+ }
126
167
  async send(notification) {
127
168
  const content = notification.content;
128
169
  const html = content?.html;
@@ -145,22 +186,47 @@ class SmtpNotificationService extends utils_1.AbstractNotificationProviderServic
145
186
  filename: attachment.filename,
146
187
  };
147
188
  });
148
- const from = notification.from && (0, sender_1.parseEmailSender)(notification.from)
149
- ? notification.from
150
- : this.options_.smtp.from;
151
189
  const identity = deliveryIdentity(notification);
190
+ // Settings and the Graph token are read before the delivery fence, so
191
+ // the fenced transaction holds only the send itself.
192
+ const settings = await this.deliverySettings();
193
+ if (settings.kind === "not_configured") {
194
+ this.logger_.warn(`smtp: delivery not configured (${settings.reason}); set it up under E-Mail > Versand`);
195
+ return throwSentinel(types_1.SMTP_FAILURE_SENTINELS.notConfigured);
196
+ }
197
+ if (settings.kind === "microsoft365") {
198
+ try {
199
+ await this.graph_.prepare(settings.graph);
200
+ }
201
+ catch (error) {
202
+ const sentinel = error instanceof graph_transport_1.GraphDeliveryError
203
+ ? error.sentinel
204
+ : types_1.SMTP_FAILURE_SENTINELS.outcomeUnknown;
205
+ this.logger_.error(`smtp: send failed (${sentinel})`);
206
+ return throwSentinel(sentinel);
207
+ }
208
+ }
209
+ const message = {
210
+ attachments,
211
+ from: settings.kind === "smtp"
212
+ ? notification.from && (0, sender_1.parseEmailSender)(notification.from)
213
+ ? notification.from
214
+ : settings.smtp.from
215
+ : settings.graph.mailbox,
216
+ html,
217
+ subject,
218
+ text,
219
+ to: notification.to,
220
+ };
152
221
  const sendMail = async () => {
153
222
  try {
223
+ if (settings.kind === "microsoft365") {
224
+ await this.graph_.send(settings.graph, message);
225
+ return { outcome: "sent", result: {} };
226
+ }
154
227
  return {
155
228
  outcome: "sent",
156
- result: await this.transport_.sendMail({
157
- attachments,
158
- from,
159
- html,
160
- subject,
161
- text,
162
- to: notification.to,
163
- }),
229
+ result: await this.smtpTransport(settings.smtp).sendMail(message),
164
230
  };
165
231
  }
166
232
  catch (error) {
@@ -226,11 +292,13 @@ class SmtpNotificationService extends utils_1.AbstractNotificationProviderServic
226
292
  if (delivery.outcome === "sent") {
227
293
  return delivery.result.messageId ? { id: delivery.result.messageId } : {};
228
294
  }
229
- const sentinel = classifySmtpFailure(delivery.error);
295
+ const sentinel = delivery.error instanceof graph_transport_1.GraphDeliveryError
296
+ ? delivery.error.sentinel
297
+ : classifySmtpFailure(delivery.error);
230
298
  this.logger_.error(`smtp: send failed (${sentinel})`);
231
299
  return throwSentinel(sentinel);
232
300
  }
233
301
  }
234
302
  exports.SmtpNotificationService = SmtpNotificationService;
235
303
  SmtpNotificationService.identifier = "smtp";
236
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvc210cC9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLHFEQUltQztBQUNuQyw0REFBb0M7QUFFcEMsc0RBQTZEO0FBQzdELHlEQUFxRTtBQUNyRSwwQ0FBb0Q7QUFDcEQsbUNBTWlCO0FBa0NKLFFBQUEsYUFBYSxHQUFHO0lBQzNCLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLE1BQU0sRUFBRSxNQUFNO0NBQ04sQ0FBQztBQUVYLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUVqRSxNQUFNLGNBQWMsR0FBRyxHQUFVLEVBQUU7SUFDakMsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsNkNBQTZDLENBQzlDLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUFHLENBQ3ZCLFlBQTJELEVBQ2xDLEVBQUU7SUFDM0IsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQztJQUNoRCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsWUFBWSxJQUFJLFlBQVksSUFBSSxZQUFZLENBQUMsQ0FBQztJQUMxRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsTUFBTSxjQUFjLEdBQUksWUFBaUMsQ0FBQyxFQUFFLENBQUM7SUFDN0QsSUFDRSxDQUFDLFlBQVk7UUFDYixDQUFDLElBQUEsc0JBQWdCLEVBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQztRQUMxQyxDQUFDLElBQUEsc0JBQWdCLEVBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztRQUNwQyxDQUFDLElBQUEsc0JBQWdCLEVB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
304
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvc210cC9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1EQUFzRTtBQUV0RSxxREFJbUM7QUFDbkMsNERBQW9DO0FBRXBDLHNEQUE2RDtBQUM3RCxpRUFBa0U7QUFFbEUseURBQXFFO0FBQ3JFLG9EQUEwRDtBQUMxRCwwQ0FBb0Q7QUFDcEQsMkRBSTZCO0FBQzdCLHVEQUF1RTtBQUN2RSxtQ0FPaUI7QUFrQ0osUUFBQSxhQUFhLEdBQUc7SUFDM0IsVUFBVSxFQUFFLE1BQU07SUFDbEIsUUFBUSxFQUFFLE1BQU07SUFDaEIsTUFBTSxFQUFFLE1BQU07Q0FDTixDQUFDO0FBRVgsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBRWpFLE1BQU0sY0FBYyxHQUFHLEdBQVUsRUFBRTtJQUNqQyxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5Qiw2Q0FBNkMsQ0FDOUMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sZ0JBQWdCLEdBQUcsQ0FDdkIsWUFBMkQsRUFDbEMsRUFBRTtJQUMzQixNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDO0lBQ2hELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxZQUFZLElBQUksWUFBWSxJQUFJLFlBQVksQ0FBQyxDQUFDO0lBQzFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxNQUFNLGNBQWMsR0FBSSxZQUFpQyxDQUFDLEVBQUUsQ0FBQztJQUM3RCxJQUNFLENBQUMsWUFBWTtRQUNiLENBQUMsSUFBQSxzQkFBZ0IsRUFBQyxZQUFZLENBQUMsVUFBVSxDQUFDO1FBQzFDLENB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
@@ -1,11 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SMTP_FAILURE_SENTINELS = void 0;
4
+ /**
5
+ * The only failure texts the provider throws (one line each, so the dispatch
6
+ * can classify them); the SMTP names are kept for the Graph transport too.
7
+ */
4
8
  exports.SMTP_FAILURE_SENTINELS = {
9
+ authFailed: "EMAIL_PROVIDER_AUTH_FAILED",
5
10
  connectionFailed: "EMAIL_SMTP_CONNECTION_FAILED",
6
11
  invalidContent: "EMAIL_SMTP_INVALID_CONTENT",
12
+ notConfigured: "EMAIL_PROVIDER_NOT_CONFIGURED",
7
13
  outcomeUnknown: "EMAIL_SMTP_OUTCOME_UNKNOWN",
8
14
  permanentRejection: "EMAIL_SMTP_PERMANENT_REJECTION",
9
15
  transientRejection: "EMAIL_SMTP_TRANSIENT_REJECTION",
10
16
  };
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3NtdHAvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRWEsUUFBQSxzQkFBc0IsR0FBRztJQUNwQyxnQkFBZ0IsRUFBRSw4QkFBOEI7SUFDaEQsY0FBYyxFQUFFLDRCQUE0QjtJQUM1QyxjQUFjLEVBQUUsNEJBQTRCO0lBQzVDLGtCQUFrQixFQUFFLGdDQUFnQztJQUNwRCxrQkFBa0IsRUFBRSxnQ0FBZ0M7Q0FDNUMsQ0FBQyJ9
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3NtdHAvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0E7OztHQUdHO0FBQ1UsUUFBQSxzQkFBc0IsR0FBRztJQUNwQyxVQUFVLEVBQUUsNEJBQTRCO0lBQ3hDLGdCQUFnQixFQUFFLDhCQUE4QjtJQUNoRCxjQUFjLEVBQUUsNEJBQTRCO0lBQzVDLGFBQWEsRUFBRSwrQkFBK0I7SUFDOUMsY0FBYyxFQUFFLDRCQUE0QjtJQUM1QyxrQkFBa0IsRUFBRSxnQ0FBZ0M7SUFDcEQsa0JBQWtCLEVBQUUsZ0NBQWdDO0NBQzVDLENBQUMifQ==
@@ -15,6 +15,7 @@ const SETTING_TYPES = new Set([
15
15
  "select",
16
16
  "image",
17
17
  "color",
18
+ "date",
18
19
  ]);
19
20
  const HEX_COLOR_PATTERN = /^#[0-9a-f]{6}$/;
20
21
  const ACTION_MODES = new Set(["sync", "background"]);
@@ -24,7 +25,7 @@ const ADMIN_PAGE_PATTERN = /^\/settings\/hartl-services(\/[a-z0-9][a-z0-9_-]*)+$
24
25
  const ICON_NAMES = new Set(plugin_icons_1.PLUGIN_ICON_NAMES);
25
26
  const SETTING_WIDTHS = new Set(["full", "half"]);
26
27
  /** Types an input placeholder makes no sense for. */
27
- const NO_PLACEHOLDER_TYPES = new Set(["boolean", "select", "image", "color"]);
28
+ const NO_PLACEHOLDER_TYPES = new Set(["boolean", "select", "image", "color", "date"]);
28
29
  const invalid = (pluginKey, message) => new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Ungültige Funktionsschalter für Plugin "${pluginKey}": ${message}`);
29
30
  const defaultMatchesType = (setting) => {
30
31
  const value = setting.default;
@@ -36,6 +37,8 @@ const defaultMatchesType = (setting) => {
36
37
  return typeof value === "string" && (0, lib_1.isHttpUrl)(value);
37
38
  case "color":
38
39
  return typeof value === "string" && HEX_COLOR_PATTERN.test(value);
40
+ case "date":
41
+ return typeof value === "string" && (0, lib_1.isCalendarDate)(value);
39
42
  case "number":
40
43
  return (typeof value === "number" &&
41
44
  Number.isFinite(value) &&
@@ -222,9 +225,26 @@ const validateAdminPage = (pluginKey, path) => {
222
225
  throw invalid(pluginKey, `admin_page "${String(path)}" muss unter "${ADMIN_PAGE_PREFIX}<plugin>" liegen und darf nicht mit "${BASE_PAGE_PREFIX}" beginnen.`);
223
226
  }
224
227
  };
228
+ /**
229
+ * `visible_when` points at a select or boolean setting outside the group and
230
+ * `equals` is one of its possible values.
231
+ */
232
+ const validateVisibleWhen = (pluginKey, groupName, condition, settings) => {
233
+ if (condition === undefined) {
234
+ return;
235
+ }
236
+ const { setting: key, equals } = (condition ?? {});
237
+ const target = settings.find((setting) => setting.key === key);
238
+ const fits = target?.type === "select"
239
+ ? (target.options ?? []).some((option) => option.value === equals)
240
+ : target?.type === "boolean" && typeof equals === "boolean";
241
+ if (!target || target.group === groupName || !fits) {
242
+ throw invalid(pluginKey, `Einstellungsgruppe "${groupName}": visible_when muss auf eine Auswahl oder einen Schalter außerhalb der Gruppe mit einem ihrer Werte zeigen.`);
243
+ }
244
+ };
225
245
  /**
226
246
  * Metadata per settings group: unique names, each used by a setting's
227
- * `group`, `requires_feature` a declared feature key.
247
+ * `group`, `requires_feature` a declared feature key, `visible_when` valid.
228
248
  */
229
249
  const validateSettingGroups = (pluginKey, groups, settings, featureKeys) => {
230
250
  if (groups === undefined) {
@@ -255,6 +275,7 @@ const validateSettingGroups = (pluginKey, groups, settings, featureKeys) => {
255
275
  !featureKeys.has(group.requires_feature)) {
256
276
  throw invalid(pluginKey, `Einstellungsgruppe "${group.name}": requires_feature "${String(group.requires_feature)}" ist kein Feature dieses Plugins.`);
257
277
  }
278
+ validateVisibleWhen(pluginKey, group.name, group.visible_when, settings);
258
279
  }
259
280
  };
260
281
  /** Optional texts and icon of the plugin's Admin page. */
@@ -360,4 +381,4 @@ function definePluginFeatures(descriptor) {
360
381
  validatePluginFeatureDescriptor(descriptor);
361
382
  return descriptor;
362
383
  }
363
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wdWJsaWMvZGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQStaQSwwRUFnRkM7QUFNRCxvREFTQztBQTlmRCxxREFBdUQ7QUFFdkQsdUNBQTJEO0FBRTNELGlEQUFrRDtBQVFsRCxNQUFNLFdBQVcsR0FBRyx3QkFBd0IsQ0FBQTtBQUM1QyxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUM1QixRQUFRO0lBQ1IsS0FBSztJQUNMLFFBQVE7SUFDUixTQUFTO0lBQ1QsUUFBUTtJQUNSLFFBQVE7SUFDUixPQUFPO0lBQ1AsT0FBTztDQUNSLENBQUMsQ0FBQTtBQUNGLE1BQU0saUJBQWlCLEdBQUcsZ0JBQWdCLENBQUE7QUFDMUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQTtBQUNwRCxNQUFNLGlCQUFpQixHQUFHLDJCQUEyQixDQUFBO0FBQ3JELE1BQU0sZ0JBQWdCLEdBQUcsa0NBQWtDLENBQUE7QUFDM0QsTUFBTSxrQkFBa0IsR0FBRyxzREFBc0QsQ0FBQTtBQUNqRixNQUFNLFVBQVUsR0FBd0IsSUFBSSxHQUFHLENBQUMsZ0NBQWlCLENBQUMsQ0FBQTtBQUNsRSxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO0FBQ2hELHFEQUFxRDtBQUNyRCxNQUFNLG9CQUFvQixHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQTtBQUU3RSxNQUFNLE9BQU8sR0FBRyxDQUFDLFNBQWlCLEVBQUUsT0FBZSxFQUFlLEVBQUUsQ0FDbEUsSUFBSSxtQkFBVyxDQUNiLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFD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
384
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wdWJsaWMvZGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWljQSwwRUFnRkM7QUFNRCxvREFTQztBQWhpQkQscURBQXVEO0FBRXZELHVDQUEyRTtBQUUzRSxpREFBa0Q7QUFRbEQsTUFBTSxXQUFXLEdBQUcsd0JBQXdCLENBQUE7QUFDNUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDNUIsUUFBUTtJQUNSLEtBQUs7SUFDTCxRQUFRO0lBQ1IsU0FBUztJQUNULFFBQVE7SUFDUixRQUFRO0lBQ1IsT0FBTztJQUNQLE9BQU87SUFDUCxNQUFNO0NBQ1AsQ0FBQyxDQUFBO0FBQ0YsTUFBTSxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQTtBQUMxQyxNQUFNLFlBQVksR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFBO0FBQ3BELE1BQU0saUJBQWlCLEdBQUcsMkJBQTJCLENBQUE7QUFDckQsTUFBTSxnQkFBZ0IsR0FBRyxrQ0FBa0MsQ0FBQTtBQUMzRCxNQUFNLGtCQUFrQixHQUFHLHNEQUFzRCxDQUFBO0FBQ2pGLE1BQU0sVUFBVSxHQUF3QixJQUFJLEdBQUcsQ0FBQyxnQ0FBaUIsQ0FBQyxDQUFBO0FBQ2xFLE1BQU0sY0FBYyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUE7QUFDaEQscURBQXFEO0FBQ3JELE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQTtBQUVyRixNQUFNLE9BQU8sR0FBRyxDQUFDLFNBQWlCLEVBQUUsT0FBZSxFQUFlLEVBQUUsQ0FDbEUsSUFBSSxtQkFBVyxDQUNiLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsMkNBQTJDLFNBQVMsTUFBTSxPQUFPLEVBQUUsQ0FDcEUsQ0FBQTtBQUVILE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxPQUFnQyxFQUFXLEVBQUU7SUFDdkUsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQTtJQUM3QixRQUFRLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixLQUFLLFFBQVE7WUFDWCxPQUFPLElBQUEsc0JBQWdCLEVBQUMsS0FBSyxDQUFDLENBQUE7UUFDaEMsS0FBSyxLQUFLLENBQUM7UUFDWCxLQUFLLE9BQU87WUFDVixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxJQUFBLGVBQVMsRUFBQyxLQUFLLENBQUMsQ0FBQTtRQUN0RCxLQUFLLE9BQU87WUFDVixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDbkUsS0FBSyxNQUFNO1lBQ1QsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksSUFBQSxvQkFBYyxFQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzNELEtBQUssUUFBUTtZQUNYLE9BQU8sQ0FDTCxPQUFPLEtBQUssS0FBSyxRQUFRO2dCQUN6QixNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztnQkFDdEIsQ0FBQyxPQUFPLENBQUMsT0FBTyxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ3RELENBQUE7UUFDSCxLQUFLLFNBQVM7WUFDWixPQUFPLE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FBQTtRQUNuQyxLQUFLLFFBQVE7WUFDWCxPQUFPLENBQ0wsT0FBTyxLQUFLLEtBQUssUUFBUTtnQkFDekIsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FDakUsQ0FBQTtRQUNIO1lBQ0UsT0FBTyxLQUFLLENBQUE7SUFDaEIsQ0FBQztBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sWUFBWSxHQUFHLENBQUMsT0FBZ0MsRUFBVyxFQUFFLENBQ2pFLE9BQU8sT0FBTyxDQUFDLE9BQU8sS0FBSyxRQUFRO0lBQ25DLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDNUQsQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0FBRWxFLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBYyxFQUFtQixFQUFFLENBQ3pELE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBRXJEOzs7R0FHRztBQUNILE1BQU0sa0JBQWtCLEdBQUcsQ0FDekIsU0FBaUIsRUFDakIsT0FBZ0MsRUFDMUIsRUFBRTtJQUNSLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFBO1FBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEQsTUFBTSxPQUFPLENBQUMsU0FBUyxFQUFFLFlBQVksT0FBTyxDQUFDLEdBQUcsbUNBQW1DLENBQUMsQ0FBQTtRQUN0RixDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQTtRQUNoQyxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxJQUFBLHNCQUFnQixFQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUEsc0JBQWdCLEVBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3pFLE1BQU0sT0FBTyxDQUNYLFNBQVMsRUFDVCxZQUFZLE9BQU8sQ0FBQyxHQUFHLDBDQUEwQyxDQUNsRSxDQUFBO1lBQ0gsQ0FBQztZQUNELElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDN0IsTUFBTSxPQUFPLENBQ1gsU0FBUyxFQUNULFlBQVksT0FBTyxDQUFDLEdBQUcscUJBQXFCLE1BQU0sQ0FBQyxLQUFLLFlBQVksQ0FDckUsQ0FBQTtZQUNILENBQUM7WUFDRCxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUMxQixDQUFDO0lBQ0gsQ0FBQztTQUFNLElBQUksT0FBTyxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN6QyxNQUFNLE9BQU8sQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLE9BQU8sQ0FBQyxHQUFHLHNDQUFzQyxDQUFDLENBQUE7SUFDN0YsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QixJQUNFLE9BQU8sQ0FBQyxHQUFHLEtBQUssU0FBUztZQUN6QixPQUFPLENBQUMsR0FBRyxLQUFLLFNBQVM7WUFDekIsT0FBTyxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQzdCLENBQUM7WUFDRCxNQUFNLE9BQU8sQ0FDWCxTQUFTLEVBQ1QsZ0JBQWdCLE9BQU8sQ0FBQyxHQUFHLDhDQUE4QyxDQUMxRSxDQUFBO1FBQ0gsQ0FBQztRQUNELE9BQU07SUFDUixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsT0FBTyxLQUFLLFNBQVMsSUFBSSxPQUFPLE9BQU8sQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDMUUsTUFBTSxPQUFPLENBQUMsU0FBUyxFQUFFLGdCQUFnQixPQUFPLENBQUMsR0FBRywrQkFBK0IsQ0FBQyxDQUFBO0lBQ3RGLENBQUM7SUFDRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7UUFDMUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUNwQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDO0tBQ1osRUFBRSxDQUFDO1FBQ1gsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEQsTUFBTSxPQUFPLENBQUMsU0FBUyxFQUFFLGdCQUFnQixPQUFPLENBQUMsR0FBRyxNQUFNLElBQUksZ0NBQWdDLENBQUMsQ0FBQTtRQUNqRyxDQUFDO0lBQ0gsQ0FBQztJQUNELElBQ0UsT0FBTyxDQUFDLEdBQUcsS0FBSyxTQUFTO1FBQ3pCLE9BQU8sQ0FBQyxHQUFHLEtBQUssU0FBUztRQUN6QixPQUFPLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQ3pCLENBQUM7UUFDRCxNQUFNLE9BQU8sQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLE9BQU8sQ0FBQyxHQUFHLDRCQUE0QixDQUFDLENBQUE7SUFDbkYsQ0FBQztBQUNILENBQUMsQ0FBQTtBQUVEOzs7R0FHRztBQUNILE1BQU0sbUJBQW1CLEdBQUcsQ0FDMUIsU0FBaUIsRUFDakIsT0FBZ0MsRUFDaEMsUUFBNEMsRUFDdEMsRUFBRTtJQUNSLE1BQU0sV0FBVyxHQUFZLE9BQU8sQ0FBQyxXQUFXLENBQUE7SUFDaEQsSUFBSSxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDOUIsT0FBTTtJQUNSLENBQUM7SUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzVELE1BQU0sT0FBTyxDQUNYLFNBQVMsRUFDVCxnQkFBZ0IsT0FBTyxDQUFDLEdBQUcsa0RBQWtELENBQzlFLENBQUE7SUFDSCxDQUFDO0lBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQTtJQUM5QixLQUFLLE1BQU0sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQzlCLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUE7UUFDbEUsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNuRSxNQUFNLE9BQU8sQ0FDWCxTQUFTLEVBQ1QsZ0JBQWdCLE9BQU8sQ0FBQyxHQUFHLHlCQUF5QixNQUFNLENBQUMsR0FBRyxDQUFDLHNEQUFzRCxDQUN0SCxDQUFBO1FBQ0gsQ0FBQztRQUNELElBQUksR0FBRyxLQUFLLE9BQU8sQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sT0FBTyxDQUNYLFNBQVMsRUFDVCxnQkFBZ0IsT0FBTyxDQUFDLEdBQUcseUJBQXlCLEdBQUcsNkJBQTZCLENBQ3JGLENBQUE7UUFDSCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNmLENBQUM7QUFDSCxDQUFDLENBQUE7QUFFRCxtRUFBbUU7QUFDbkUsTUFBTSxxQkFBcUIsR0FBRyxDQUM1QixTQUFpQixFQUNqQixPQUFnQyxFQUMxQixFQUFFO0lBQ1IsS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsU0FBUyxDQUFVLEVBQUUsQ0FBQztRQUMvRCxNQUFNLEtBQUssR0FBWSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDcEMsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLENBQUMsSUFBQSxzQkFBZ0IsRUFBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3BELE1BQU0sT0FBTyxDQUNYLFNBQVMsRUFDVCxnQkFBZ0IsT0FBTyxDQUFDLEdBQUcsTUFBTSxJQUFJLG1DQUFtQyxDQUN6RSxDQUFBO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssU0FBUyxJQUFJLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNoRixNQUFNLE9BQU8sQ0FDWCxTQUFTLEVBQ1QsZ0JBQWdCLE9BQU8sQ0FBQyxHQUFHLHFDQUFxQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQ2pGLENBQUE7SUFDSCxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQVksT0FBTyxDQUFDLEtBQUssQ0FBQTtJQUNwQyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN4QixPQUFNO0lBQ1IsQ0FBQztJQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzVELE1BQU0sT0FBTyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsT0FBTyxDQUFDLEdBQUcsd0NBQXdDLENBQUMsQ0FBQTtJQUMvRixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQy9CLE1BQU0sT0FBTyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsT0FBTyxDQUFDLEdBQUcsdUNBQXVDLENBQUMsQ0FBQTtJQUM5RixDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxDQUN2QixTQUFpQixFQUNqQixRQUE0QyxFQUN0QyxFQUFFO0lBQ1IsTUFBTSxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQTtJQUM5QixLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ25DLE1BQU0sT0FBTyxDQUFDLFNBQVMsRUFBRSxxQkFBcUIsT0FBTyxDQUFDLEdBQUcsOEJBQThCLENBQUMsQ0FBQTtRQUMxRixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzFCLE1BQU0sT0FBTyxDQUFDLFNBQVMsRUFBRSxxQkFBcUIsT0FBTyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQTtRQUM1RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDckIsSUFBSSxDQUFDLElBQUEsc0JBQWdCLEVBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckMsTUFBTSxPQUFPLENBQUMsU0FBUyxFQUFFLGdCQUFnQixPQUFPLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxDQUFBO1FBQzFFLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLENBQUMsSUFBQSxzQkFBZ0IsRUFBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwRSxNQUFNLE9BQU8sQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLE9BQU8sQ0FBQyxHQUFHLDJDQUEyQyxDQUFDLENBQUE7UUFDbEcsQ0FBQztRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sT0FBTyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsT0FBTyxDQUFDLEdBQUcsOEJBQThCLENBQUMsQ0FBQTtRQUNyRixDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLFNBQVMsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUUsTUFBTSxPQUFPLENBQUMsU0FBUyxFQUFFLGdCQUFnQixPQUFPLENBQUMsR0FBRyxnQ0FBZ0MsQ0FBQyxDQUFBO1FBQ3ZGLENBQUM7UUFDRCxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDdEMscUJBQXFCLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQ3pDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFDakQsSUFBSSxPQUFPLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2xDLFNBQVE7UUFDVixDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzlCLE1BQU0sT0FBTyxDQUFDLFNBQVMsRUFBRSx3QkFBd0IsT0FBTyxDQUFDLEdBQUcsbUNBQW1DLENBQUMsQ0FBQTtRQUNsRyxDQUFDO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDakMsTUFBTSxPQUFPLENBQ1gsU0FBUyxFQUNULGlDQUFpQyxPQUFPLENBQUMsR0FBRywwQkFBMEIsT0FBTyxDQUFDLElBQUksSUFBSSxDQUN2RixDQUFBO1FBQ0gsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLE9BQU8sQ0FDWCxTQUFTLEVBQ1QsaUNBQWlDLE9BQU8sQ0FBQyxHQUFHLGdDQUFnQyxDQUM3RSxDQUFBO1FBQ0gsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDLENBQUE7QUFFRCxNQUFNLGVBQWUsR0FBRyxDQUN0QixTQUFpQixFQUNqQixPQUEwQyxFQUNwQyxFQUFFO0lBQ1IsTUFBTSxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQTtJQUM5QixLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sT0FBTyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsTUFBTSxDQUFDLEdBQUcsOEJBQThCLENBQUMsQ0FBQTtRQUNwRixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sT0FBTyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsTUFBTSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQTtRQUN0RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDcEIsSUFBSSxDQUFDLElBQUEsc0JBQWdCLEVBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEMsTUFBTSxPQUFPLENBQUMsU0FBUyxFQUFFLFdBQVcsTUFBTSxDQUFDLEdBQUcsbUJBQW1CLENBQUMsQ0FBQTtRQUNwRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUEsc0JBQWdCLEVBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDMUMsTUFBTSxPQUFPLENBQUMsU0FBUyxFQUFFLFdBQVcsTUFBTSxDQUFDLEdBQUcsMEJBQTBCLENBQUMsQ0FBQTtRQUMzRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbkMsTUFBTSxPQUFPLENBQUMsU0FBUyxFQUFFLFdBQVcsTUFBTSxDQUFDLEdBQUcsZ0NBQWdDLENBQUMsQ0FBQTtRQUNqRixDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLFNBQVMsSUFBSSxDQUFDLElBQUEsc0JBQWdCLEVBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDdEUsTUFBTSxPQUFPLENBQUMsU0FBUyxFQUFFLFdBQVcsTUFBTSxDQUFDLEdBQUcsc0JBQXNCLENBQUMsQ0FBQTtRQUN2RSxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxTQUFpQixFQUFFLElBQWEsRUFBUSxFQUFFO0lBQ25FLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3ZCLE9BQU07SUFDUixDQUFDO0lBQ0QsSUFDRSxPQUFPLElBQUksS0FBSyxRQUFRO1FBQ3hCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQztRQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDO1FBQ2pDLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUM5QixDQUFDO1FBQ0QsTUFBTSxPQUFPLENBQ1gsU0FBUyxFQUNULGVBQWUsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsaUJBQWlCLHdDQUF3QyxnQkFBZ0IsYUFBYSxDQUNuSSxDQUFBO0lBQ0gsQ0FBQztBQUNILENBQUMsQ0FBQTtBQUVEOzs7R0FHRztBQUNILE1BQU0sbUJBQW1CLEdBQUcsQ0FDMUIsU0FBaUIsRUFDakIsU0FBaUIsRUFDakIsU0FBa0IsRUFDbEIsUUFBNEMsRUFDdEMsRUFBRTtJQUNSLElBQUksU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzVCLE9BQU07SUFDUixDQUFDO0lBQ0QsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUdoRCxDQUFBO0lBQ0QsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQTtJQUM5RCxNQUFNLElBQUksR0FDUixNQUFNLEVBQUUsSUFBSSxLQUFLLFFBQVE7UUFDdkIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxLQUFLLFNBQVMsSUFBSSxPQUFPLE1BQU0sS0FBSyxTQUFTLENBQUE7SUFDL0QsSUFBSSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25ELE1BQU0sT0FBTyxDQUNYLFNBQVMsRUFDVCx1QkFBdUIsU0FBUyw4R0FBOEcsQ0FDL0ksQ0FBQTtJQUNILENBQUM7QUFDSCxDQUFDLENBQUE7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLHFCQUFxQixHQUFHLENBQzVCLFNBQWlCLEVBQ2pCLE1BQWUsRUFDZixRQUE0QyxFQUM1QyxXQUFnQyxFQUMxQixFQUFFO0lBQ1IsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDekIsT0FBTTtJQUNSLENBQUM7SUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQzNCLE1BQU0sT0FBTyxDQUFDLFNBQVMsRUFBRSxzQ0FBc0MsQ0FBQyxDQUFBO0lBQ2xFLENBQUM7SUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtJQUNwRSxNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFBO0lBQzlCLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUEsc0JBQWdCLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbkMsTUFBTSxPQUFPLENBQUMsU0FBUyxFQUFFLDBDQUEwQyxDQUFDLENBQUE7UUFDdEUsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN6QixNQUFNLE9BQU8sQ0FBQyxTQUFTLEVBQUUsdUJBQXVCLEtBQUssQ0FBQyxJQUFJLGdCQUFnQixDQUFDLENBQUE7UUFDN0UsQ0FBQztRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sT0FBTyxDQUNYLFNBQVMsRUFDVCx1QkFBdUIsS0FBSyxDQUFDLElBQUksMENBQTBDLENBQzVFLENBQUE7UUFDSCxDQUFDO1FBQ0QsS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQVUsRUFBRSxDQUFDO1lBQ3BELElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLFNBQVMsSUFBSSxDQUFDLElBQUEsc0JBQWdCLEVBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDaEUsTUFBTSxPQUFPLENBQ1gsU0FBUyxFQUNULHVCQUF1QixLQUFLLENBQUMsSUFBSSxNQUFNLElBQUksbUNBQW1DLENBQy9FLENBQUE7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELElBQ0UsS0FBSyxDQUFDLGdCQUFnQixLQUFLLFNBQVM7WUFDcEMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxFQUN4QyxDQUFDO1lBQ0QsTUFBTSxPQUFPLENBQ1gsU0FBUyxFQUNULHVCQUF1QixLQUFLLENBQUMsSUFBSSx3QkFBd0IsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxvQ0FBb0MsQ0FDNUgsQ0FBQTtRQUNILENBQUM7UUFDRCxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQzFFLENBQUM7QUFDSCxDQUFDLENBQUE7QUFFRCwwREFBMEQ7QUFDMUQsTUFBTSxvQkFBb0IsR0FBRyxDQUMzQixTQUFpQixFQUNqQixVQUFtQyxFQUM3QixFQUFFO0lBQ1IsTUFBTSxJQUFJLEdBQVksVUFBVSxDQUFDLElBQUksQ0FBQTtJQUNyQyxJQUFJLElBQUksS0FBSyxTQUFTLElBQUksQ0FBQyxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5RSxNQUFNLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxNQUFNLENBQUMsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLENBQUE7SUFDbEYsQ0FBQztJQUNELEtBQUssTUFBTSxJQUFJLElBQUk7UUFDakIsU0FBUztRQUNULGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGVBQWU7UUFDZixpQkFBaUI7S0FDVCxFQUFFLENBQUM7UUFDWCxNQUFNLEtBQUssR0FBWSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDdkMsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLENBQUMsSUFBQSxzQkFBZ0IsRUFBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3BELE1BQU0sT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLElBQUksbUNBQW1DLENBQUMsQ0FBQTtRQUN0RSxDQUFDO0lBQ0gsQ0FBQztJQUNELElBQ0UsVUFBVSxDQUFDLFVBQVUsS0FBSyxLQUFLO1FBQy9CLENBQUMsVUFBVSxDQUFDLFlBQVksS0FBSyxTQUFTO1lBQ3BDLFVBQVUsQ0FBQyxlQUFlLEtBQUssU0FBUyxDQUFDLEVBQzNDLENBQUM7UUFDRCxNQUFNLE9BQU8sQ0FDWCxTQUFTLEVBQ1QseUVBQXlFLENBQzFFLENBQUE7SUFDSCxDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsZUFBZSxLQUFLLFNBQVMsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNqRixNQUFNLE9BQU8sQ0FBQyxTQUFTLEVBQUUsaURBQWlELENBQUMsQ0FBQTtJQUM3RSxDQUFDO0lBQ0QsTUFBTSxjQUFjLEdBQVksVUFBVSxDQUFDLHVCQUF1QixDQUFBO0lBQ2xFLElBQUksY0FBYyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ2pDLElBQUksY0FBYyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzVCLE1BQU0sT0FBTyxDQUFDLFNBQVMsRUFBRSx5Q0FBeUMsQ0FBQyxDQUFBO1FBQ3JFLENBQUM7UUFDRCxJQUNFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3ZCLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxLQUFLLFNBQVMsSUFBSSxPQUFPLENBQUMsZUFBZSxDQUN6RSxFQUNELENBQUM7WUFDRCxNQUFNLE9BQU8sQ0FDWCxTQUFTLEVBQ1QsbUdBQW1HLENBQ3BHLENBQUE7UUFDSCxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMsQ0FBQTtBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQiwrQkFBK0IsQ0FDN0MsVUFBbUM7SUFFbkMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUUvQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sT0FBTyxDQUFDLFNBQVMsRUFBRSx1Q0FBdUMsQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFDRCxJQUFJLE9BQU8sVUFBVSxDQUFDLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7UUFDckUsTUFBTSxPQUFPLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFBO0lBQzFDLENBQUM7SUFFRCxJQUNFLFVBQVUsQ0FBQyxVQUFVLEtBQUssU0FBUztRQUNuQyxPQUFPLFVBQVUsQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUMxQyxDQUFDO1FBQ0QsTUFBTSxPQUFPLENBQUMsU0FBUyxFQUFFLCtCQUErQixDQUFDLENBQUE7SUFDM0QsQ0FBQztJQUNELElBQ0UsVUFBVSxDQUFDLGVBQWUsS0FBSyxTQUFTO1FBQ3hDLE9BQU8sVUFBVSxDQUFDLGVBQWUsS0FBSyxTQUFTLEVBQy9DLENBQUM7UUFDRCxNQUFNLE9BQU8sQ0FBQyxTQUFTLEVBQUUsb0NBQW9DLENBQUMsQ0FBQTtJQUNoRSxDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsVUFBVSxLQUFLLEtBQUssSUFBSSxVQUFVLENBQUMsZUFBZSxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQzVFLE1BQU0sT0FBTyxDQUNYLFNBQVMsRUFDVCw2RkFBNkYsQ0FDOUYsQ0FBQTtJQUNILENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBdUQsQ0FBQTtJQUM1RSxLQUFLLE1BQU0sT0FBTyxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxNQUFNLE9BQU8sQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLE9BQU8sQ0FBQyxHQUFHLDhCQUE4QixDQUFDLENBQUE7UUFDckYsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLE9BQU8sQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLE9BQU8sQ0FBQyxHQUFHLGdCQUFnQixDQUFDLENBQUE7UUFDdkUsQ0FBQztRQUNELElBQUksT0FBTyxPQUFPLENBQUMsS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUMvRCxNQUFNLE9BQU8sQ0FBQyxTQUFTLEVBQUUsWUFBWSxPQUFPLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxDQUFBO1FBQ3RFLENBQUM7UUFDRCxJQUFJLE9BQU8sT0FBTyxDQUFDLGVBQWUsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqRCxNQUFNLE9BQU8sQ0FDWCxTQUFTLEVBQ1QsWUFBWSxPQUFPLENBQUMsR0FBRyx1Q0FBdUMsQ0FDL0QsQ0FBQTtRQUNILENBQUM7UUFDRCxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDakMsQ0FBQztJQUVELEtBQUssTUFBTSxPQUFPLElBQUksVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzFDLElBQUksT0FBTyxDQUFDLFVBQVUsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNyQyxTQUFRO1FBQ1YsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQzVDLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLEdBQUcsS0FBSyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDMUMsTUFBTSxPQUFPLENBQ1gsU0FBUyxFQUNULFdBQVcsT0FBTyxDQUFDLFVBQVUsa0JBQWtCLE9BQU8sQ0FBQyxHQUFHLG9CQUFvQixDQUMvRSxDQUFBO1FBQ0gsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLFVBQVUsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNwQyxNQUFNLE9BQU8sQ0FDWCxTQUFTLEVBQ1QsWUFBWSxPQUFPLENBQUMsR0FBRyxzREFBc0QsQ0FDOUUsQ0FBQTtRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFBO0lBQzNDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQ3RELHFCQUFxQixDQUNuQixTQUFTLEVBQ1QsVUFBVSxDQUFDLGNBQWMsRUFDekIsVUFBVSxDQUFDLFFBQVEsSUFBSSxFQUFFLEVBQ3pCLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUN0QixDQUFBO0lBQ0QsZUFBZSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQ3BELGlCQUFpQixDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUE7QUFDckQsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLG9CQUFvQixDQUtsQyxVQUE0QztJQUU1QywrQkFBK0IsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUMzQyxPQUFPLFVBQVUsQ0FBQTtBQUNuQixDQUFDIn0=
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isValidTimeZone = exports.toOptionalWireDate = exports.toWireDate = exports.toIsoDate = exports.startOfUtcDate = exports.toValidDate = void 0;
3
+ exports.isCalendarDate = exports.isValidTimeZone = exports.toOptionalWireDate = exports.toWireDate = exports.toIsoDate = exports.startOfUtcDate = exports.toValidDate = void 0;
4
4
  const utils_1 = require("@medusajs/framework/utils");
5
5
  /** A valid `Date`; throws `INVALID_DATA` for an unparsable value. */
6
6
  const toValidDate = (value, message = "Invalid date.") => {
@@ -40,4 +40,10 @@ const isValidTimeZone = (value) => {
40
40
  }
41
41
  };
42
42
  exports.isValidTimeZone = isValidTimeZone;
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9kYXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBdUQ7QUFFdkQscUVBQXFFO0FBQzlELE1BQU0sV0FBVyxHQUFHLENBQ3pCLEtBQTZCLEVBQzdCLE9BQU8sR0FBRyxlQUFlLEVBQ25CLEVBQUU7SUFDUixNQUFNLElBQUksR0FBRyxLQUFLLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzVELElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxtQkFBVyxDQUFDLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUNoRSxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDLENBQUE7QUFUWSxRQUFBLFdBQVcsZUFTdkI7QUFFRCxvREFBb0Q7QUFDN0MsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUE2QixFQUFRLEVBQUU7SUFDcEUsTUFBTSxJQUFJLEdBQUcsSUFBQSxtQkFBVyxFQUFDLEtBQUssQ0FBQyxDQUFBO0lBQy9CLE9BQU8sSUFBSSxJQUFJLENBQ2IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUN2RSxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBTFksUUFBQSxjQUFjLGtCQUsxQjtBQUVELGdGQUFnRjtBQUN6RSxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQTZCLEVBQVUsRUFBRSxDQUNqRSxJQUFBLG1CQUFXLEVBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQURsQyxRQUFBLFNBQVMsYUFDeUI7QUFFL0MseUVBQXlFO0FBQ2xFLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBb0IsRUFBVSxFQUFFLENBQ3pELElBQUEsbUJBQVcsRUFBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtBQURyQixRQUFBLFVBQVUsY0FDVztBQUVsQywwREFBMEQ7QUFDbkQsTUFBTSxrQkFBa0IsR0FBRyxDQUNoQyxLQUF1QyxFQUN4QixFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUEsa0JBQVUsRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0FBRmpELFFBQUEsa0JBQWtCLHNCQUUrQjtBQUU5RCxtRkFBbUY7QUFDNUUsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFjLEVBQW1CLEVBQUU7SUFDakUsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUMvQyxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFDRCxJQUFJLENBQUM7UUFDSCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7UUFDbEQsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBVlksUUFBQSxlQUFlLG1CQVUzQiJ9
43
+ /** Whether the value is an existing calendar day written `yyyy-mm-dd`. */
44
+ const isCalendarDate = (value) => typeof value === "string" &&
45
+ /^\d{4}-\d{2}-\d{2}$/.test(value) &&
46
+ !Number.isNaN(Date.parse(`${value}T00:00:00Z`)) &&
47
+ new Date(`${value}T00:00:00Z`).toISOString().slice(0, 10) === value;
48
+ exports.isCalendarDate = isCalendarDate;
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2hhcmVkL2xpYi9kYXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBdUQ7QUFFdkQscUVBQXFFO0FBQzlELE1BQU0sV0FBVyxHQUFHLENBQ3pCLEtBQTZCLEVBQzdCLE9BQU8sR0FBRyxlQUFlLEVBQ25CLEVBQUU7SUFDUixNQUFNLElBQUksR0FBRyxLQUFLLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzVELElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxtQkFBVyxDQUFDLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUNoRSxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDLENBQUE7QUFUWSxRQUFBLFdBQVcsZUFTdkI7QUFFRCxvREFBb0Q7QUFDN0MsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUE2QixFQUFRLEVBQUU7SUFDcEUsTUFBTSxJQUFJLEdBQUcsSUFBQSxtQkFBVyxFQUFDLEtBQUssQ0FBQyxDQUFBO0lBQy9CLE9BQU8sSUFBSSxJQUFJLENBQ2IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUN2RSxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBTFksUUFBQSxjQUFjLGtCQUsxQjtBQUVELGdGQUFnRjtBQUN6RSxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQTZCLEVBQVUsRUFBRSxDQUNqRSxJQUFBLG1CQUFXLEVBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQURsQyxRQUFBLFNBQVMsYUFDeUI7QUFFL0MseUVBQXlFO0FBQ2xFLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBb0IsRUFBVSxFQUFFLENBQ3pELElBQUEsbUJBQVcsRUFBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtBQURyQixRQUFBLFVBQVUsY0FDVztBQUVsQywwREFBMEQ7QUFDbkQsTUFBTSxrQkFBa0IsR0FBRyxDQUNoQyxLQUF1QyxFQUN4QixFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUEsa0JBQVUsRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0FBRmpELFFBQUEsa0JBQWtCLHNCQUUrQjtBQUU5RCxtRkFBbUY7QUFDNUUsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFjLEVBQW1CLEVBQUU7SUFDakUsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUMvQyxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFDRCxJQUFJLENBQUM7UUFDSCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7UUFDbEQsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBVlksUUFBQSxlQUFlLG1CQVUzQjtBQUVELDBFQUEwRTtBQUNuRSxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWMsRUFBbUIsRUFBRSxDQUNoRSxPQUFPLEtBQUssS0FBSyxRQUFRO0lBQ3pCLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDakMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLFlBQVksQ0FBQyxDQUFDO0lBQy9DLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxZQUFZLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssQ0FBQTtBQUp4RCxRQUFBLGNBQWMsa0JBSTBDIn0=
@@ -12,7 +12,7 @@ const sentry_logger_1 = require("../public/sentry-logger");
12
12
  const options_1 = require("./options");
13
13
  /**
14
14
  * Builds the plain `medusa-config.ts` input of a food shop: Medusa core
15
- * settings, the Redis event bus, SMTP notifications, S3 file storage, tax and
15
+ * settings, the Redis event bus, the mail provider (set up in the Admin), S3 file storage, tax and
16
16
  * Stripe payment providers, and the Hartl Services plugins (the base plugin
17
17
  * with its E-Mail, Documents and file storage modules plus five feature
18
18
  * plugins). Deployment
@@ -35,7 +35,6 @@ function buildFoodShopConfig(options, environment = process.env) {
35
35
  "COOKIE_SECRET",
36
36
  "MEDUSA_BACKEND_URL",
37
37
  "STOREFRONT_URL",
38
- ...config_1.SMTP_ENVIRONMENT_VARIABLES,
39
38
  "STRIPE_API_KEY",
40
39
  "STRIPE_WEBHOOK_SECRET",
41
40
  "S3_CACHE_STORAGE_BUCKET",
@@ -43,7 +42,6 @@ function buildFoodShopConfig(options, environment = process.env) {
43
42
  "DOCUMENT_PDF_EXECUTABLE",
44
43
  ], phase, {
45
44
  ...config_1.MEDUSA_BUILD_PLACEHOLDERS,
46
- ...config_1.SMTP_BUILD_PLACEHOLDERS,
47
45
  ...config_1.S3_BUILD_PLACEHOLDERS,
48
46
  ...config_1.DOCUMENTS_BUILD_PLACEHOLDERS,
49
47
  });
@@ -101,7 +99,7 @@ function buildFoodShopConfig(options, environment = process.env) {
101
99
  },
102
100
  ]
103
101
  : []),
104
- (0, config_1.createSmtpNotificationModuleConfig)((0, config_1.resolveSmtp)(env, allowInsecure)),
102
+ (0, config_1.createEmailNotificationModuleConfig)({ allowInsecure }),
105
103
  s3CacheStorage.fileModule,
106
104
  {
107
105
  // Replaces Medusa's default auth entry (same module key): the same
@@ -299,4 +297,4 @@ function buildFoodShopConfig(options, environment = process.env) {
299
297
  function defineFoodShopConfig(options, environment = process.env) {
300
298
  return (0, utils_1.defineConfig)(buildFoodShopConfig(options, environment));
301
299
  }
302
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtZm9vZC1zaG9wLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zaG9wLWNvbmZpZy9idWlsZC1mb29kLXNob3AtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBNEVBLGtEQW1WQztBQUdELG9EQUtDO0FBdmFELHVEQUFvRDtBQUNwRCwyR0FBa0g7QUFDbEgscURBQTJFO0FBRTNFLDZDQW9CMEI7QUFDMUIsb0dBQXNGO0FBQ3RGLDRGQUFxRjtBQUNyRiwyREFBbUU7QUFFbkUsdUNBR21CO0FBbUNuQjs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLG1CQUFtQixDQUNqQyxPQUE4QixFQUM5QixjQUFpQyxPQUFPLENBQUMsR0FBRztJQUU1QyxJQUFBLHFDQUEyQixFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXJDLElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUNsQyxJQUFBLGVBQU8sRUFBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsSUFBSSxhQUFhLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxrQkFBa0IsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzlFLE1BQU0sYUFBYSxHQUFHLElBQUEsb0NBQTJCLEVBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRXRFLE1BQU0sR0FBRyxHQUFHLElBQUEsMkJBQWtCLEVBQzVCLFdBQVcsRUFDWDtRQUNFLGNBQWM7UUFDZCxZQUFZO1FBQ1osWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZO1FBQ1osZUFBZTtRQUNmLG9CQUFvQjtRQUNwQixnQkFBZ0I7UUFDaEIsR0FBRyxtQ0FBMEI7UUFDN0IsZ0JBQWdCO1FBQ2hCLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIs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
300
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtZm9vZC1zaG9wLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zaG9wLWNvbmZpZy9idWlsZC1mb29kLXNob3AtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBeUVBLGtEQWlWQztBQUdELG9EQUtDO0FBbGFELHVEQUFvRDtBQUNwRCwyR0FBa0g7QUFDbEgscURBQTJFO0FBRTNFLDZDQWlCMEI7QUFDMUIsb0dBQXNGO0FBQ3RGLDRGQUFxRjtBQUNyRiwyREFBbUU7QUFFbkUsdUNBR21CO0FBbUNuQjs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLG1CQUFtQixDQUNqQyxPQUE4QixFQUM5QixjQUFpQyxPQUFPLENBQUMsR0FBRztJQUU1QyxJQUFBLHFDQUEyQixFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXJDLElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUNsQyxJQUFBLGVBQU8sRUFBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsSUFBSSxhQUFhLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxrQkFBa0IsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzlFLE1BQU0sYUFBYSxHQUFHLElBQUEsb0NBQTJCLEVBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRXRFLE1BQU0sR0FBRyxHQUFHLElBQUEsMkJBQWtCLEVBQzVCLFdBQVcsRUFDWDtRQUNFLGNBQWM7UUFDZCxZQUFZO1FBQ1osWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZO1FBQ1osZUFBZTtRQUNmLG9CQUFvQjtRQUNwQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIseUJBQXlCO1FBQ3pCLHlCQUF5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