@dereekb/model 10.0.5 → 10.0.7

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 (76) hide show
  1. package/index.cjs.d.ts +1 -0
  2. package/index.cjs.js +2781 -0
  3. package/index.esm.js +3992 -0
  4. package/package.json +17 -3
  5. package/src/lib/data/address/address.d.ts +1 -1
  6. package/src/lib/data/website/link.d.ts +1 -1
  7. package/src/lib/data/website/link.file.d.ts +2 -2
  8. package/src/lib/data/website/link.website.d.ts +2 -2
  9. package/src/lib/service/loader/model.loader.d.ts +1 -1
  10. package/src/lib/service/permission/permission.d.ts +2 -2
  11. package/src/lib/service/permission/permission.service.d.ts +4 -4
  12. package/src/lib/service/permission/role.d.ts +1 -1
  13. package/src/lib/transform/transform.d.ts +3 -3
  14. package/src/lib/transform/transform.function.d.ts +3 -3
  15. package/src/lib/transform/transform.result.d.ts +2 -2
  16. package/src/lib/transform/type.annotation.d.ts +1 -1
  17. package/src/lib/transform/type.d.ts +2 -2
  18. package/src/lib/validator/date.d.ts +2 -2
  19. package/src/lib/validator/phone.d.ts +2 -2
  20. package/src/lib/validator/url.d.ts +2 -2
  21. package/CHANGELOG.md +0 -1382
  22. package/src/index.js +0 -5
  23. package/src/index.js.map +0 -1
  24. package/src/lib/data/address/address.js +0 -73
  25. package/src/lib/data/address/address.js.map +0 -1
  26. package/src/lib/data/address/index.js +0 -5
  27. package/src/lib/data/address/index.js.map +0 -1
  28. package/src/lib/data/index.js +0 -6
  29. package/src/lib/data/index.js.map +0 -1
  30. package/src/lib/data/website/index.js +0 -7
  31. package/src/lib/data/website/index.js.map +0 -1
  32. package/src/lib/data/website/link.file.js +0 -104
  33. package/src/lib/data/website/link.file.js.map +0 -1
  34. package/src/lib/data/website/link.js +0 -48
  35. package/src/lib/data/website/link.js.map +0 -1
  36. package/src/lib/data/website/link.website.js +0 -228
  37. package/src/lib/data/website/link.website.js.map +0 -1
  38. package/src/lib/index.js +0 -8
  39. package/src/lib/index.js.map +0 -1
  40. package/src/lib/service/context.d.ts +0 -0
  41. package/src/lib/service/context.js +0 -2
  42. package/src/lib/service/context.js.map +0 -1
  43. package/src/lib/service/index.js +0 -6
  44. package/src/lib/service/index.js.map +0 -1
  45. package/src/lib/service/loader/index.js +0 -5
  46. package/src/lib/service/loader/index.js.map +0 -1
  47. package/src/lib/service/loader/model.loader.js +0 -3
  48. package/src/lib/service/loader/model.loader.js.map +0 -1
  49. package/src/lib/service/permission/index.js +0 -7
  50. package/src/lib/service/permission/index.js.map +0 -1
  51. package/src/lib/service/permission/permission.js +0 -21
  52. package/src/lib/service/permission/permission.js.map +0 -1
  53. package/src/lib/service/permission/permission.service.js +0 -50
  54. package/src/lib/service/permission/permission.service.js.map +0 -1
  55. package/src/lib/service/permission/role.js +0 -119
  56. package/src/lib/service/permission/role.js.map +0 -1
  57. package/src/lib/transform/index.js +0 -9
  58. package/src/lib/transform/index.js.map +0 -1
  59. package/src/lib/transform/transform.function.js +0 -28
  60. package/src/lib/transform/transform.function.js.map +0 -1
  61. package/src/lib/transform/transform.js +0 -70
  62. package/src/lib/transform/transform.js.map +0 -1
  63. package/src/lib/transform/transform.result.js +0 -17
  64. package/src/lib/transform/transform.result.js.map +0 -1
  65. package/src/lib/transform/type.annotation.js +0 -17
  66. package/src/lib/transform/type.annotation.js.map +0 -1
  67. package/src/lib/transform/type.js +0 -44
  68. package/src/lib/transform/type.js.map +0 -1
  69. package/src/lib/validator/date.js +0 -26
  70. package/src/lib/validator/date.js.map +0 -1
  71. package/src/lib/validator/index.js +0 -7
  72. package/src/lib/validator/index.js.map +0 -1
  73. package/src/lib/validator/phone.js +0 -72
  74. package/src/lib/validator/phone.js.map +0 -1
  75. package/src/lib/validator/url.js +0 -46
  76. package/src/lib/validator/url.js.map +0 -1
package/index.esm.js ADDED
@@ -0,0 +1,3992 @@
1
+ import { ZIP_CODE_STRING_REGEX, US_STATE_CODE_STRING_REGEX, splitJoinRemainder, filterFalsyAndEmptyValues, isolateWebsitePathFunction, toRelativeSlashPathStartType, addPrefix, hasWebsiteDomain, toAbsoluteSlashPathStartType, removeHttpFromUrl, forEachKeyValue, iterableToArray, arrayToObject, splitCommaSeparatedString, mapPromiseOrValue, isISO8601DayString, isE164PhoneNumber, isE164PhoneNumberWithExtension, isWebsiteUrl, isWebsiteUrlWithPrefix } from '@dereekb/util';
2
+ import { Expose, Transform, plainToInstance } from 'class-transformer';
3
+ import { IsString, IsNotEmpty, MaxLength, IsOptional, Matches, MinLength, validate, registerDecorator } from 'class-validator';
4
+
5
+ function _initializerDefineProperty(target, property, descriptor, context) {
6
+ if (!descriptor) return;
7
+ Object.defineProperty(target, property, {
8
+ enumerable: descriptor.enumerable,
9
+ configurable: descriptor.configurable,
10
+ writable: descriptor.writable,
11
+ value: descriptor.initializer ? descriptor.initializer.call(context) : void 0
12
+ });
13
+ }
14
+ function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {
15
+ var desc = {};
16
+ Object.keys(descriptor).forEach(function (key) {
17
+ desc[key] = descriptor[key];
18
+ });
19
+ desc.enumerable = !!desc.enumerable;
20
+ desc.configurable = !!desc.configurable;
21
+ if ('value' in desc || desc.initializer) {
22
+ desc.writable = true;
23
+ }
24
+ desc = decorators.slice().reverse().reduce(function (desc, decorator) {
25
+ return decorator(target, property, desc) || desc;
26
+ }, desc);
27
+ if (context && desc.initializer !== void 0) {
28
+ desc.value = desc.initializer ? desc.initializer.call(context) : void 0;
29
+ desc.initializer = undefined;
30
+ }
31
+ if (desc.initializer === void 0) {
32
+ Object.defineProperty(target, property, desc);
33
+ desc = null;
34
+ }
35
+ return desc;
36
+ }
37
+
38
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
39
+
40
+ var fails$g = function (exec) {
41
+ try {
42
+ return !!exec();
43
+ } catch (error) {
44
+ return true;
45
+ }
46
+ };
47
+
48
+ var fails$f = fails$g;
49
+
50
+ var functionBindNative = !fails$f(function () {
51
+ // eslint-disable-next-line es/no-function-prototype-bind -- safe
52
+ var test = (function () { /* empty */ }).bind();
53
+ // eslint-disable-next-line no-prototype-builtins -- safe
54
+ return typeof test != 'function' || test.hasOwnProperty('prototype');
55
+ });
56
+
57
+ var NATIVE_BIND$3 = functionBindNative;
58
+
59
+ var FunctionPrototype$2 = Function.prototype;
60
+ var call$e = FunctionPrototype$2.call;
61
+ var uncurryThisWithBind = NATIVE_BIND$3 && FunctionPrototype$2.bind.bind(call$e, call$e);
62
+
63
+ var functionUncurryThis = NATIVE_BIND$3 ? uncurryThisWithBind : function (fn) {
64
+ return function () {
65
+ return call$e.apply(fn, arguments);
66
+ };
67
+ };
68
+
69
+ var uncurryThis$f = functionUncurryThis;
70
+
71
+ var toString$3 = uncurryThis$f({}.toString);
72
+ var stringSlice$2 = uncurryThis$f(''.slice);
73
+
74
+ var classofRaw$2 = function (it) {
75
+ return stringSlice$2(toString$3(it), 8, -1);
76
+ };
77
+
78
+ var uncurryThis$e = functionUncurryThis;
79
+ var fails$e = fails$g;
80
+ var classof$5 = classofRaw$2;
81
+
82
+ var $Object$4 = Object;
83
+ var split = uncurryThis$e(''.split);
84
+
85
+ // fallback for non-array-like ES3 and non-enumerable old V8 strings
86
+ var indexedObject = fails$e(function () {
87
+ // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
88
+ // eslint-disable-next-line no-prototype-builtins -- safe
89
+ return !$Object$4('z').propertyIsEnumerable(0);
90
+ }) ? function (it) {
91
+ return classof$5(it) === 'String' ? split(it, '') : $Object$4(it);
92
+ } : $Object$4;
93
+
94
+ // we can't use just `it == null` since of `document.all` special case
95
+ // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec
96
+ var isNullOrUndefined$4 = function (it) {
97
+ return it === null || it === undefined;
98
+ };
99
+
100
+ var isNullOrUndefined$3 = isNullOrUndefined$4;
101
+
102
+ var $TypeError$c = TypeError;
103
+
104
+ // `RequireObjectCoercible` abstract operation
105
+ // https://tc39.es/ecma262/#sec-requireobjectcoercible
106
+ var requireObjectCoercible$2 = function (it) {
107
+ if (isNullOrUndefined$3(it)) throw new $TypeError$c("Can't call method on " + it);
108
+ return it;
109
+ };
110
+
111
+ // toObject with fallback for non-array-like ES3 strings
112
+ var IndexedObject$1 = indexedObject;
113
+ var requireObjectCoercible$1 = requireObjectCoercible$2;
114
+
115
+ var toIndexedObject$5 = function (it) {
116
+ return IndexedObject$1(requireObjectCoercible$1(it));
117
+ };
118
+
119
+ var check = function (it) {
120
+ return it && it.Math === Math && it;
121
+ };
122
+
123
+ // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
124
+ var global$m =
125
+ // eslint-disable-next-line es/no-global-this -- safe
126
+ check(typeof globalThis == 'object' && globalThis) ||
127
+ check(typeof window == 'object' && window) ||
128
+ // eslint-disable-next-line no-restricted-globals -- safe
129
+ check(typeof self == 'object' && self) ||
130
+ check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
131
+ check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
132
+ // eslint-disable-next-line no-new-func -- fallback
133
+ (function () { return this; })() || Function('return this')();
134
+
135
+ var shared$4 = {exports: {}};
136
+
137
+ var global$l = global$m;
138
+
139
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
140
+ var defineProperty$6 = Object.defineProperty;
141
+
142
+ var defineGlobalProperty$3 = function (key, value) {
143
+ try {
144
+ defineProperty$6(global$l, key, { value: value, configurable: true, writable: true });
145
+ } catch (error) {
146
+ global$l[key] = value;
147
+ } return value;
148
+ };
149
+
150
+ var global$k = global$m;
151
+ var defineGlobalProperty$2 = defineGlobalProperty$3;
152
+
153
+ var SHARED = '__core-js_shared__';
154
+ var store$3 = global$k[SHARED] || defineGlobalProperty$2(SHARED, {});
155
+
156
+ var sharedStore = store$3;
157
+
158
+ var store$2 = sharedStore;
159
+
160
+ (shared$4.exports = function (key, value) {
161
+ return store$2[key] || (store$2[key] = value !== undefined ? value : {});
162
+ })('versions', []).push({
163
+ version: '3.35.0',
164
+ mode: 'global',
165
+ copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',
166
+ license: 'https://github.com/zloirock/core-js/blob/v3.35.0/LICENSE',
167
+ source: 'https://github.com/zloirock/core-js'
168
+ });
169
+
170
+ var requireObjectCoercible = requireObjectCoercible$2;
171
+
172
+ var $Object$3 = Object;
173
+
174
+ // `ToObject` abstract operation
175
+ // https://tc39.es/ecma262/#sec-toobject
176
+ var toObject$3 = function (argument) {
177
+ return $Object$3(requireObjectCoercible(argument));
178
+ };
179
+
180
+ var uncurryThis$d = functionUncurryThis;
181
+ var toObject$2 = toObject$3;
182
+
183
+ var hasOwnProperty = uncurryThis$d({}.hasOwnProperty);
184
+
185
+ // `HasOwnProperty` abstract operation
186
+ // https://tc39.es/ecma262/#sec-hasownproperty
187
+ // eslint-disable-next-line es/no-object-hasown -- safe
188
+ var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
189
+ return hasOwnProperty(toObject$2(it), key);
190
+ };
191
+
192
+ var uncurryThis$c = functionUncurryThis;
193
+
194
+ var id = 0;
195
+ var postfix = Math.random();
196
+ var toString$2 = uncurryThis$c(1.0.toString);
197
+
198
+ var uid$2 = function (key) {
199
+ return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$2(++id + postfix, 36);
200
+ };
201
+
202
+ var engineUserAgent = typeof navigator != 'undefined' && String(navigator.userAgent) || '';
203
+
204
+ var global$j = global$m;
205
+ var userAgent$3 = engineUserAgent;
206
+
207
+ var process$3 = global$j.process;
208
+ var Deno$1 = global$j.Deno;
209
+ var versions = process$3 && process$3.versions || Deno$1 && Deno$1.version;
210
+ var v8 = versions && versions.v8;
211
+ var match, version;
212
+
213
+ if (v8) {
214
+ match = v8.split('.');
215
+ // in old Chrome, versions of V8 isn't V8 = Chrome / 10
216
+ // but their correct versions are not interesting for us
217
+ version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
218
+ }
219
+
220
+ // BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`
221
+ // so check `userAgent` even if `.v8` exists, but 0
222
+ if (!version && userAgent$3) {
223
+ match = userAgent$3.match(/Edge\/(\d+)/);
224
+ if (!match || match[1] >= 74) {
225
+ match = userAgent$3.match(/Chrome\/(\d+)/);
226
+ if (match) version = +match[1];
227
+ }
228
+ }
229
+
230
+ var engineV8Version = version;
231
+
232
+ /* eslint-disable es/no-symbol -- required for testing */
233
+ var V8_VERSION$1 = engineV8Version;
234
+ var fails$d = fails$g;
235
+ var global$i = global$m;
236
+
237
+ var $String$5 = global$i.String;
238
+
239
+ // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
240
+ var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$d(function () {
241
+ var symbol = Symbol('symbol detection');
242
+ // Chrome 38 Symbol has incorrect toString conversion
243
+ // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
244
+ // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,
245
+ // of course, fail.
246
+ return !$String$5(symbol) || !(Object(symbol) instanceof Symbol) ||
247
+ // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
248
+ !Symbol.sham && V8_VERSION$1 && V8_VERSION$1 < 41;
249
+ });
250
+
251
+ /* eslint-disable es/no-symbol -- required for testing */
252
+ var NATIVE_SYMBOL$1 = symbolConstructorDetection;
253
+
254
+ var useSymbolAsUid = NATIVE_SYMBOL$1
255
+ && !Symbol.sham
256
+ && typeof Symbol.iterator == 'symbol';
257
+
258
+ var global$h = global$m;
259
+ var shared$3 = shared$4.exports;
260
+ var hasOwn$9 = hasOwnProperty_1;
261
+ var uid$1 = uid$2;
262
+ var NATIVE_SYMBOL = symbolConstructorDetection;
263
+ var USE_SYMBOL_AS_UID$1 = useSymbolAsUid;
264
+
265
+ var Symbol$1 = global$h.Symbol;
266
+ var WellKnownSymbolsStore = shared$3('wks');
267
+ var createWellKnownSymbol = USE_SYMBOL_AS_UID$1 ? Symbol$1['for'] || Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1;
268
+
269
+ var wellKnownSymbol$e = function (name) {
270
+ if (!hasOwn$9(WellKnownSymbolsStore, name)) {
271
+ WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn$9(Symbol$1, name)
272
+ ? Symbol$1[name]
273
+ : createWellKnownSymbol('Symbol.' + name);
274
+ } return WellKnownSymbolsStore[name];
275
+ };
276
+
277
+ // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot
278
+ var documentAll = typeof document == 'object' && document.all;
279
+
280
+ // `IsCallable` abstract operation
281
+ // https://tc39.es/ecma262/#sec-iscallable
282
+ // eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing
283
+ var isCallable$j = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {
284
+ return typeof argument == 'function' || argument === documentAll;
285
+ } : function (argument) {
286
+ return typeof argument == 'function';
287
+ };
288
+
289
+ var isCallable$i = isCallable$j;
290
+
291
+ var isObject$9 = function (it) {
292
+ return typeof it == 'object' ? it !== null : isCallable$i(it);
293
+ };
294
+
295
+ var isObject$8 = isObject$9;
296
+
297
+ var $String$4 = String;
298
+ var $TypeError$b = TypeError;
299
+
300
+ // `Assert: Type(argument) is Object`
301
+ var anObject$b = function (argument) {
302
+ if (isObject$8(argument)) return argument;
303
+ throw new $TypeError$b($String$4(argument) + ' is not an object');
304
+ };
305
+
306
+ var objectDefineProperties = {};
307
+
308
+ var fails$c = fails$g;
309
+
310
+ // Detect IE8's incomplete defineProperty implementation
311
+ var descriptors = !fails$c(function () {
312
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
313
+ return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;
314
+ });
315
+
316
+ var DESCRIPTORS$b = descriptors;
317
+ var fails$b = fails$g;
318
+
319
+ // V8 ~ Chrome 36-
320
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3334
321
+ var v8PrototypeDefineBug = DESCRIPTORS$b && fails$b(function () {
322
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
323
+ return Object.defineProperty(function () { /* empty */ }, 'prototype', {
324
+ value: 42,
325
+ writable: false
326
+ }).prototype !== 42;
327
+ });
328
+
329
+ var objectDefineProperty = {};
330
+
331
+ var global$g = global$m;
332
+ var isObject$7 = isObject$9;
333
+
334
+ var document$3 = global$g.document;
335
+ // typeof document.createElement is 'object' in old IE
336
+ var EXISTS$1 = isObject$7(document$3) && isObject$7(document$3.createElement);
337
+
338
+ var documentCreateElement$2 = function (it) {
339
+ return EXISTS$1 ? document$3.createElement(it) : {};
340
+ };
341
+
342
+ var DESCRIPTORS$a = descriptors;
343
+ var fails$a = fails$g;
344
+ var createElement$1 = documentCreateElement$2;
345
+
346
+ // Thanks to IE8 for its funny defineProperty
347
+ var ie8DomDefine = !DESCRIPTORS$a && !fails$a(function () {
348
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
349
+ return Object.defineProperty(createElement$1('div'), 'a', {
350
+ get: function () { return 7; }
351
+ }).a !== 7;
352
+ });
353
+
354
+ var NATIVE_BIND$2 = functionBindNative;
355
+
356
+ var call$d = Function.prototype.call;
357
+
358
+ var functionCall = NATIVE_BIND$2 ? call$d.bind(call$d) : function () {
359
+ return call$d.apply(call$d, arguments);
360
+ };
361
+
362
+ var global$f = global$m;
363
+ var isCallable$h = isCallable$j;
364
+
365
+ var aFunction = function (argument) {
366
+ return isCallable$h(argument) ? argument : undefined;
367
+ };
368
+
369
+ var getBuiltIn$7 = function (namespace, method) {
370
+ return arguments.length < 2 ? aFunction(global$f[namespace]) : global$f[namespace] && global$f[namespace][method];
371
+ };
372
+
373
+ var uncurryThis$b = functionUncurryThis;
374
+
375
+ var objectIsPrototypeOf = uncurryThis$b({}.isPrototypeOf);
376
+
377
+ var getBuiltIn$6 = getBuiltIn$7;
378
+ var isCallable$g = isCallable$j;
379
+ var isPrototypeOf$2 = objectIsPrototypeOf;
380
+ var USE_SYMBOL_AS_UID = useSymbolAsUid;
381
+
382
+ var $Object$2 = Object;
383
+
384
+ var isSymbol$2 = USE_SYMBOL_AS_UID ? function (it) {
385
+ return typeof it == 'symbol';
386
+ } : function (it) {
387
+ var $Symbol = getBuiltIn$6('Symbol');
388
+ return isCallable$g($Symbol) && isPrototypeOf$2($Symbol.prototype, $Object$2(it));
389
+ };
390
+
391
+ var $String$3 = String;
392
+
393
+ var tryToString$4 = function (argument) {
394
+ try {
395
+ return $String$3(argument);
396
+ } catch (error) {
397
+ return 'Object';
398
+ }
399
+ };
400
+
401
+ var isCallable$f = isCallable$j;
402
+ var tryToString$3 = tryToString$4;
403
+
404
+ var $TypeError$a = TypeError;
405
+
406
+ // `Assert: IsCallable(argument) is true`
407
+ var aCallable$8 = function (argument) {
408
+ if (isCallable$f(argument)) return argument;
409
+ throw new $TypeError$a(tryToString$3(argument) + ' is not a function');
410
+ };
411
+
412
+ var aCallable$7 = aCallable$8;
413
+ var isNullOrUndefined$2 = isNullOrUndefined$4;
414
+
415
+ // `GetMethod` abstract operation
416
+ // https://tc39.es/ecma262/#sec-getmethod
417
+ var getMethod$3 = function (V, P) {
418
+ var func = V[P];
419
+ return isNullOrUndefined$2(func) ? undefined : aCallable$7(func);
420
+ };
421
+
422
+ var call$c = functionCall;
423
+ var isCallable$e = isCallable$j;
424
+ var isObject$6 = isObject$9;
425
+
426
+ var $TypeError$9 = TypeError;
427
+
428
+ // `OrdinaryToPrimitive` abstract operation
429
+ // https://tc39.es/ecma262/#sec-ordinarytoprimitive
430
+ var ordinaryToPrimitive$1 = function (input, pref) {
431
+ var fn, val;
432
+ if (pref === 'string' && isCallable$e(fn = input.toString) && !isObject$6(val = call$c(fn, input))) return val;
433
+ if (isCallable$e(fn = input.valueOf) && !isObject$6(val = call$c(fn, input))) return val;
434
+ if (pref !== 'string' && isCallable$e(fn = input.toString) && !isObject$6(val = call$c(fn, input))) return val;
435
+ throw new $TypeError$9("Can't convert object to primitive value");
436
+ };
437
+
438
+ var call$b = functionCall;
439
+ var isObject$5 = isObject$9;
440
+ var isSymbol$1 = isSymbol$2;
441
+ var getMethod$2 = getMethod$3;
442
+ var ordinaryToPrimitive = ordinaryToPrimitive$1;
443
+ var wellKnownSymbol$d = wellKnownSymbol$e;
444
+
445
+ var $TypeError$8 = TypeError;
446
+ var TO_PRIMITIVE = wellKnownSymbol$d('toPrimitive');
447
+
448
+ // `ToPrimitive` abstract operation
449
+ // https://tc39.es/ecma262/#sec-toprimitive
450
+ var toPrimitive$1 = function (input, pref) {
451
+ if (!isObject$5(input) || isSymbol$1(input)) return input;
452
+ var exoticToPrim = getMethod$2(input, TO_PRIMITIVE);
453
+ var result;
454
+ if (exoticToPrim) {
455
+ if (pref === undefined) pref = 'default';
456
+ result = call$b(exoticToPrim, input, pref);
457
+ if (!isObject$5(result) || isSymbol$1(result)) return result;
458
+ throw new $TypeError$8("Can't convert object to primitive value");
459
+ }
460
+ if (pref === undefined) pref = 'number';
461
+ return ordinaryToPrimitive(input, pref);
462
+ };
463
+
464
+ var toPrimitive = toPrimitive$1;
465
+ var isSymbol = isSymbol$2;
466
+
467
+ // `ToPropertyKey` abstract operation
468
+ // https://tc39.es/ecma262/#sec-topropertykey
469
+ var toPropertyKey$2 = function (argument) {
470
+ var key = toPrimitive(argument, 'string');
471
+ return isSymbol(key) ? key : key + '';
472
+ };
473
+
474
+ var DESCRIPTORS$9 = descriptors;
475
+ var IE8_DOM_DEFINE$1 = ie8DomDefine;
476
+ var V8_PROTOTYPE_DEFINE_BUG$1 = v8PrototypeDefineBug;
477
+ var anObject$a = anObject$b;
478
+ var toPropertyKey$1 = toPropertyKey$2;
479
+
480
+ var $TypeError$7 = TypeError;
481
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
482
+ var $defineProperty = Object.defineProperty;
483
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
484
+ var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
485
+ var ENUMERABLE = 'enumerable';
486
+ var CONFIGURABLE$1 = 'configurable';
487
+ var WRITABLE = 'writable';
488
+
489
+ // `Object.defineProperty` method
490
+ // https://tc39.es/ecma262/#sec-object.defineproperty
491
+ objectDefineProperty.f = DESCRIPTORS$9 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function defineProperty(O, P, Attributes) {
492
+ anObject$a(O);
493
+ P = toPropertyKey$1(P);
494
+ anObject$a(Attributes);
495
+ if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
496
+ var current = $getOwnPropertyDescriptor$1(O, P);
497
+ if (current && current[WRITABLE]) {
498
+ O[P] = Attributes.value;
499
+ Attributes = {
500
+ configurable: CONFIGURABLE$1 in Attributes ? Attributes[CONFIGURABLE$1] : current[CONFIGURABLE$1],
501
+ enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
502
+ writable: false
503
+ };
504
+ }
505
+ } return $defineProperty(O, P, Attributes);
506
+ } : $defineProperty : function defineProperty(O, P, Attributes) {
507
+ anObject$a(O);
508
+ P = toPropertyKey$1(P);
509
+ anObject$a(Attributes);
510
+ if (IE8_DOM_DEFINE$1) try {
511
+ return $defineProperty(O, P, Attributes);
512
+ } catch (error) { /* empty */ }
513
+ if ('get' in Attributes || 'set' in Attributes) throw new $TypeError$7('Accessors not supported');
514
+ if ('value' in Attributes) O[P] = Attributes.value;
515
+ return O;
516
+ };
517
+
518
+ var ceil = Math.ceil;
519
+ var floor = Math.floor;
520
+
521
+ // `Math.trunc` method
522
+ // https://tc39.es/ecma262/#sec-math.trunc
523
+ // eslint-disable-next-line es/no-math-trunc -- safe
524
+ var mathTrunc = Math.trunc || function trunc(x) {
525
+ var n = +x;
526
+ return (n > 0 ? floor : ceil)(n);
527
+ };
528
+
529
+ var trunc = mathTrunc;
530
+
531
+ // `ToIntegerOrInfinity` abstract operation
532
+ // https://tc39.es/ecma262/#sec-tointegerorinfinity
533
+ var toIntegerOrInfinity$2 = function (argument) {
534
+ var number = +argument;
535
+ // eslint-disable-next-line no-self-compare -- NaN check
536
+ return number !== number || number === 0 ? 0 : trunc(number);
537
+ };
538
+
539
+ var toIntegerOrInfinity$1 = toIntegerOrInfinity$2;
540
+
541
+ var max = Math.max;
542
+ var min$1 = Math.min;
543
+
544
+ // Helper for a popular repeating case of the spec:
545
+ // Let integer be ? ToInteger(index).
546
+ // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
547
+ var toAbsoluteIndex$1 = function (index, length) {
548
+ var integer = toIntegerOrInfinity$1(index);
549
+ return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
550
+ };
551
+
552
+ var toIntegerOrInfinity = toIntegerOrInfinity$2;
553
+
554
+ var min = Math.min;
555
+
556
+ // `ToLength` abstract operation
557
+ // https://tc39.es/ecma262/#sec-tolength
558
+ var toLength$1 = function (argument) {
559
+ return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
560
+ };
561
+
562
+ var toLength = toLength$1;
563
+
564
+ // `LengthOfArrayLike` abstract operation
565
+ // https://tc39.es/ecma262/#sec-lengthofarraylike
566
+ var lengthOfArrayLike$2 = function (obj) {
567
+ return toLength(obj.length);
568
+ };
569
+
570
+ var toIndexedObject$4 = toIndexedObject$5;
571
+ var toAbsoluteIndex = toAbsoluteIndex$1;
572
+ var lengthOfArrayLike$1 = lengthOfArrayLike$2;
573
+
574
+ // `Array.prototype.{ indexOf, includes }` methods implementation
575
+ var createMethod = function (IS_INCLUDES) {
576
+ return function ($this, el, fromIndex) {
577
+ var O = toIndexedObject$4($this);
578
+ var length = lengthOfArrayLike$1(O);
579
+ var index = toAbsoluteIndex(fromIndex, length);
580
+ var value;
581
+ // Array#includes uses SameValueZero equality algorithm
582
+ // eslint-disable-next-line no-self-compare -- NaN check
583
+ if (IS_INCLUDES && el !== el) while (length > index) {
584
+ value = O[index++];
585
+ // eslint-disable-next-line no-self-compare -- NaN check
586
+ if (value !== value) return true;
587
+ // Array#indexOf ignores holes, Array#includes - not
588
+ } else for (;length > index; index++) {
589
+ if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
590
+ } return !IS_INCLUDES && -1;
591
+ };
592
+ };
593
+
594
+ var arrayIncludes = {
595
+ // `Array.prototype.includes` method
596
+ // https://tc39.es/ecma262/#sec-array.prototype.includes
597
+ includes: createMethod(true),
598
+ // `Array.prototype.indexOf` method
599
+ // https://tc39.es/ecma262/#sec-array.prototype.indexof
600
+ indexOf: createMethod(false)
601
+ };
602
+
603
+ var hiddenKeys$4 = {};
604
+
605
+ var uncurryThis$a = functionUncurryThis;
606
+ var hasOwn$8 = hasOwnProperty_1;
607
+ var toIndexedObject$3 = toIndexedObject$5;
608
+ var indexOf$1 = arrayIncludes.indexOf;
609
+ var hiddenKeys$3 = hiddenKeys$4;
610
+
611
+ var push = uncurryThis$a([].push);
612
+
613
+ var objectKeysInternal = function (object, names) {
614
+ var O = toIndexedObject$3(object);
615
+ var i = 0;
616
+ var result = [];
617
+ var key;
618
+ for (key in O) !hasOwn$8(hiddenKeys$3, key) && hasOwn$8(O, key) && push(result, key);
619
+ // Don't enum bug & hidden keys
620
+ while (names.length > i) if (hasOwn$8(O, key = names[i++])) {
621
+ ~indexOf$1(result, key) || push(result, key);
622
+ }
623
+ return result;
624
+ };
625
+
626
+ // IE8- don't enum bug keys
627
+ var enumBugKeys$3 = [
628
+ 'constructor',
629
+ 'hasOwnProperty',
630
+ 'isPrototypeOf',
631
+ 'propertyIsEnumerable',
632
+ 'toLocaleString',
633
+ 'toString',
634
+ 'valueOf'
635
+ ];
636
+
637
+ var internalObjectKeys$1 = objectKeysInternal;
638
+ var enumBugKeys$2 = enumBugKeys$3;
639
+
640
+ // `Object.keys` method
641
+ // https://tc39.es/ecma262/#sec-object.keys
642
+ // eslint-disable-next-line es/no-object-keys -- safe
643
+ var objectKeys$2 = Object.keys || function keys(O) {
644
+ return internalObjectKeys$1(O, enumBugKeys$2);
645
+ };
646
+
647
+ var DESCRIPTORS$8 = descriptors;
648
+ var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;
649
+ var definePropertyModule$3 = objectDefineProperty;
650
+ var anObject$9 = anObject$b;
651
+ var toIndexedObject$2 = toIndexedObject$5;
652
+ var objectKeys$1 = objectKeys$2;
653
+
654
+ // `Object.defineProperties` method
655
+ // https://tc39.es/ecma262/#sec-object.defineproperties
656
+ // eslint-disable-next-line es/no-object-defineproperties -- safe
657
+ objectDefineProperties.f = DESCRIPTORS$8 && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
658
+ anObject$9(O);
659
+ var props = toIndexedObject$2(Properties);
660
+ var keys = objectKeys$1(Properties);
661
+ var length = keys.length;
662
+ var index = 0;
663
+ var key;
664
+ while (length > index) definePropertyModule$3.f(O, key = keys[index++], props[key]);
665
+ return O;
666
+ };
667
+
668
+ var getBuiltIn$5 = getBuiltIn$7;
669
+
670
+ var html$2 = getBuiltIn$5('document', 'documentElement');
671
+
672
+ var shared$2 = shared$4.exports;
673
+ var uid = uid$2;
674
+
675
+ var keys = shared$2('keys');
676
+
677
+ var sharedKey$3 = function (key) {
678
+ return keys[key] || (keys[key] = uid(key));
679
+ };
680
+
681
+ /* global ActiveXObject -- old IE, WSH */
682
+ var anObject$8 = anObject$b;
683
+ var definePropertiesModule = objectDefineProperties;
684
+ var enumBugKeys$1 = enumBugKeys$3;
685
+ var hiddenKeys$2 = hiddenKeys$4;
686
+ var html$1 = html$2;
687
+ var documentCreateElement$1 = documentCreateElement$2;
688
+ var sharedKey$2 = sharedKey$3;
689
+
690
+ var GT = '>';
691
+ var LT = '<';
692
+ var PROTOTYPE = 'prototype';
693
+ var SCRIPT = 'script';
694
+ var IE_PROTO$1 = sharedKey$2('IE_PROTO');
695
+
696
+ var EmptyConstructor = function () { /* empty */ };
697
+
698
+ var scriptTag = function (content) {
699
+ return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
700
+ };
701
+
702
+ // Create object with fake `null` prototype: use ActiveX Object with cleared prototype
703
+ var NullProtoObjectViaActiveX = function (activeXDocument) {
704
+ activeXDocument.write(scriptTag(''));
705
+ activeXDocument.close();
706
+ var temp = activeXDocument.parentWindow.Object;
707
+ activeXDocument = null; // avoid memory leak
708
+ return temp;
709
+ };
710
+
711
+ // Create object with fake `null` prototype: use iframe Object with cleared prototype
712
+ var NullProtoObjectViaIFrame = function () {
713
+ // Thrash, waste and sodomy: IE GC bug
714
+ var iframe = documentCreateElement$1('iframe');
715
+ var JS = 'java' + SCRIPT + ':';
716
+ var iframeDocument;
717
+ iframe.style.display = 'none';
718
+ html$1.appendChild(iframe);
719
+ // https://github.com/zloirock/core-js/issues/475
720
+ iframe.src = String(JS);
721
+ iframeDocument = iframe.contentWindow.document;
722
+ iframeDocument.open();
723
+ iframeDocument.write(scriptTag('document.F=Object'));
724
+ iframeDocument.close();
725
+ return iframeDocument.F;
726
+ };
727
+
728
+ // Check for document.domain and active x support
729
+ // No need to use active x approach when document.domain is not set
730
+ // see https://github.com/es-shims/es5-shim/issues/150
731
+ // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
732
+ // avoid IE GC bug
733
+ var activeXDocument;
734
+ var NullProtoObject = function () {
735
+ try {
736
+ activeXDocument = new ActiveXObject('htmlfile');
737
+ } catch (error) { /* ignore */ }
738
+ NullProtoObject = typeof document != 'undefined'
739
+ ? document.domain && activeXDocument
740
+ ? NullProtoObjectViaActiveX(activeXDocument) // old IE
741
+ : NullProtoObjectViaIFrame()
742
+ : NullProtoObjectViaActiveX(activeXDocument); // WSH
743
+ var length = enumBugKeys$1.length;
744
+ while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys$1[length]];
745
+ return NullProtoObject();
746
+ };
747
+
748
+ hiddenKeys$2[IE_PROTO$1] = true;
749
+
750
+ // `Object.create` method
751
+ // https://tc39.es/ecma262/#sec-object.create
752
+ // eslint-disable-next-line es/no-object-create -- safe
753
+ var objectCreate = Object.create || function create(O, Properties) {
754
+ var result;
755
+ if (O !== null) {
756
+ EmptyConstructor[PROTOTYPE] = anObject$8(O);
757
+ result = new EmptyConstructor();
758
+ EmptyConstructor[PROTOTYPE] = null;
759
+ // add "__proto__" for Object.getPrototypeOf polyfill
760
+ result[IE_PROTO$1] = O;
761
+ } else result = NullProtoObject();
762
+ return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
763
+ };
764
+
765
+ var wellKnownSymbol$c = wellKnownSymbol$e;
766
+ var create$2 = objectCreate;
767
+ var defineProperty$5 = objectDefineProperty.f;
768
+
769
+ var UNSCOPABLES = wellKnownSymbol$c('unscopables');
770
+ var ArrayPrototype$1 = Array.prototype;
771
+
772
+ // Array.prototype[@@unscopables]
773
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
774
+ if (ArrayPrototype$1[UNSCOPABLES] === undefined) {
775
+ defineProperty$5(ArrayPrototype$1, UNSCOPABLES, {
776
+ configurable: true,
777
+ value: create$2(null)
778
+ });
779
+ }
780
+
781
+ // add a key to Array.prototype[@@unscopables]
782
+ var addToUnscopables$1 = function (key) {
783
+ ArrayPrototype$1[UNSCOPABLES][key] = true;
784
+ };
785
+
786
+ var iterators = {};
787
+
788
+ var global$e = global$m;
789
+ var isCallable$d = isCallable$j;
790
+
791
+ var WeakMap$1 = global$e.WeakMap;
792
+
793
+ var weakMapBasicDetection = isCallable$d(WeakMap$1) && /native code/.test(String(WeakMap$1));
794
+
795
+ var createPropertyDescriptor$3 = function (bitmap, value) {
796
+ return {
797
+ enumerable: !(bitmap & 1),
798
+ configurable: !(bitmap & 2),
799
+ writable: !(bitmap & 4),
800
+ value: value
801
+ };
802
+ };
803
+
804
+ var DESCRIPTORS$7 = descriptors;
805
+ var definePropertyModule$2 = objectDefineProperty;
806
+ var createPropertyDescriptor$2 = createPropertyDescriptor$3;
807
+
808
+ var createNonEnumerableProperty$4 = DESCRIPTORS$7 ? function (object, key, value) {
809
+ return definePropertyModule$2.f(object, key, createPropertyDescriptor$2(1, value));
810
+ } : function (object, key, value) {
811
+ object[key] = value;
812
+ return object;
813
+ };
814
+
815
+ var NATIVE_WEAK_MAP = weakMapBasicDetection;
816
+ var global$d = global$m;
817
+ var isObject$4 = isObject$9;
818
+ var createNonEnumerableProperty$3 = createNonEnumerableProperty$4;
819
+ var hasOwn$7 = hasOwnProperty_1;
820
+ var shared$1 = sharedStore;
821
+ var sharedKey$1 = sharedKey$3;
822
+ var hiddenKeys$1 = hiddenKeys$4;
823
+
824
+ var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
825
+ var TypeError$2 = global$d.TypeError;
826
+ var WeakMap = global$d.WeakMap;
827
+ var set$1, get, has;
828
+
829
+ var enforce = function (it) {
830
+ return has(it) ? get(it) : set$1(it, {});
831
+ };
832
+
833
+ var getterFor = function (TYPE) {
834
+ return function (it) {
835
+ var state;
836
+ if (!isObject$4(it) || (state = get(it)).type !== TYPE) {
837
+ throw new TypeError$2('Incompatible receiver, ' + TYPE + ' required');
838
+ } return state;
839
+ };
840
+ };
841
+
842
+ if (NATIVE_WEAK_MAP || shared$1.state) {
843
+ var store$1 = shared$1.state || (shared$1.state = new WeakMap());
844
+ /* eslint-disable no-self-assign -- prototype methods protection */
845
+ store$1.get = store$1.get;
846
+ store$1.has = store$1.has;
847
+ store$1.set = store$1.set;
848
+ /* eslint-enable no-self-assign -- prototype methods protection */
849
+ set$1 = function (it, metadata) {
850
+ if (store$1.has(it)) throw new TypeError$2(OBJECT_ALREADY_INITIALIZED);
851
+ metadata.facade = it;
852
+ store$1.set(it, metadata);
853
+ return metadata;
854
+ };
855
+ get = function (it) {
856
+ return store$1.get(it) || {};
857
+ };
858
+ has = function (it) {
859
+ return store$1.has(it);
860
+ };
861
+ } else {
862
+ var STATE = sharedKey$1('state');
863
+ hiddenKeys$1[STATE] = true;
864
+ set$1 = function (it, metadata) {
865
+ if (hasOwn$7(it, STATE)) throw new TypeError$2(OBJECT_ALREADY_INITIALIZED);
866
+ metadata.facade = it;
867
+ createNonEnumerableProperty$3(it, STATE, metadata);
868
+ return metadata;
869
+ };
870
+ get = function (it) {
871
+ return hasOwn$7(it, STATE) ? it[STATE] : {};
872
+ };
873
+ has = function (it) {
874
+ return hasOwn$7(it, STATE);
875
+ };
876
+ }
877
+
878
+ var internalState = {
879
+ set: set$1,
880
+ get: get,
881
+ has: has,
882
+ enforce: enforce,
883
+ getterFor: getterFor
884
+ };
885
+
886
+ var objectGetOwnPropertyDescriptor = {};
887
+
888
+ var objectPropertyIsEnumerable = {};
889
+
890
+ var $propertyIsEnumerable = {}.propertyIsEnumerable;
891
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
892
+ var getOwnPropertyDescriptor$2 = Object.getOwnPropertyDescriptor;
893
+
894
+ // Nashorn ~ JDK8 bug
895
+ var NASHORN_BUG = getOwnPropertyDescriptor$2 && !$propertyIsEnumerable.call({ 1: 2 }, 1);
896
+
897
+ // `Object.prototype.propertyIsEnumerable` method implementation
898
+ // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
899
+ objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
900
+ var descriptor = getOwnPropertyDescriptor$2(this, V);
901
+ return !!descriptor && descriptor.enumerable;
902
+ } : $propertyIsEnumerable;
903
+
904
+ var DESCRIPTORS$6 = descriptors;
905
+ var call$a = functionCall;
906
+ var propertyIsEnumerableModule$1 = objectPropertyIsEnumerable;
907
+ var createPropertyDescriptor$1 = createPropertyDescriptor$3;
908
+ var toIndexedObject$1 = toIndexedObject$5;
909
+ var toPropertyKey = toPropertyKey$2;
910
+ var hasOwn$6 = hasOwnProperty_1;
911
+ var IE8_DOM_DEFINE = ie8DomDefine;
912
+
913
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
914
+ var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
915
+
916
+ // `Object.getOwnPropertyDescriptor` method
917
+ // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
918
+ objectGetOwnPropertyDescriptor.f = DESCRIPTORS$6 ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
919
+ O = toIndexedObject$1(O);
920
+ P = toPropertyKey(P);
921
+ if (IE8_DOM_DEFINE) try {
922
+ return $getOwnPropertyDescriptor(O, P);
923
+ } catch (error) { /* empty */ }
924
+ if (hasOwn$6(O, P)) return createPropertyDescriptor$1(!call$a(propertyIsEnumerableModule$1.f, O, P), O[P]);
925
+ };
926
+
927
+ var makeBuiltIn$3 = {exports: {}};
928
+
929
+ var DESCRIPTORS$5 = descriptors;
930
+ var hasOwn$5 = hasOwnProperty_1;
931
+
932
+ var FunctionPrototype$1 = Function.prototype;
933
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
934
+ var getDescriptor = DESCRIPTORS$5 && Object.getOwnPropertyDescriptor;
935
+
936
+ var EXISTS = hasOwn$5(FunctionPrototype$1, 'name');
937
+ // additional protection from minified / mangled / dropped function names
938
+ var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
939
+ var CONFIGURABLE = EXISTS && (!DESCRIPTORS$5 || (DESCRIPTORS$5 && getDescriptor(FunctionPrototype$1, 'name').configurable));
940
+
941
+ var functionName = {
942
+ EXISTS: EXISTS,
943
+ PROPER: PROPER,
944
+ CONFIGURABLE: CONFIGURABLE
945
+ };
946
+
947
+ var uncurryThis$9 = functionUncurryThis;
948
+ var isCallable$c = isCallable$j;
949
+ var store = sharedStore;
950
+
951
+ var functionToString = uncurryThis$9(Function.toString);
952
+
953
+ // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
954
+ if (!isCallable$c(store.inspectSource)) {
955
+ store.inspectSource = function (it) {
956
+ return functionToString(it);
957
+ };
958
+ }
959
+
960
+ var inspectSource$3 = store.inspectSource;
961
+
962
+ var uncurryThis$8 = functionUncurryThis;
963
+ var fails$9 = fails$g;
964
+ var isCallable$b = isCallable$j;
965
+ var hasOwn$4 = hasOwnProperty_1;
966
+ var DESCRIPTORS$4 = descriptors;
967
+ var CONFIGURABLE_FUNCTION_NAME$1 = functionName.CONFIGURABLE;
968
+ var inspectSource$2 = inspectSource$3;
969
+ var InternalStateModule$2 = internalState;
970
+
971
+ var enforceInternalState = InternalStateModule$2.enforce;
972
+ var getInternalState$2 = InternalStateModule$2.get;
973
+ var $String$2 = String;
974
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
975
+ var defineProperty$4 = Object.defineProperty;
976
+ var stringSlice$1 = uncurryThis$8(''.slice);
977
+ var replace$1 = uncurryThis$8(''.replace);
978
+ var join = uncurryThis$8([].join);
979
+
980
+ var CONFIGURABLE_LENGTH = DESCRIPTORS$4 && !fails$9(function () {
981
+ return defineProperty$4(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;
982
+ });
983
+
984
+ var TEMPLATE = String(String).split('String');
985
+
986
+ var makeBuiltIn$2 = makeBuiltIn$3.exports = function (value, name, options) {
987
+ if (stringSlice$1($String$2(name), 0, 7) === 'Symbol(') {
988
+ name = '[' + replace$1($String$2(name), /^Symbol\(([^)]*)\)/, '$1') + ']';
989
+ }
990
+ if (options && options.getter) name = 'get ' + name;
991
+ if (options && options.setter) name = 'set ' + name;
992
+ if (!hasOwn$4(value, 'name') || (CONFIGURABLE_FUNCTION_NAME$1 && value.name !== name)) {
993
+ if (DESCRIPTORS$4) defineProperty$4(value, 'name', { value: name, configurable: true });
994
+ else value.name = name;
995
+ }
996
+ if (CONFIGURABLE_LENGTH && options && hasOwn$4(options, 'arity') && value.length !== options.arity) {
997
+ defineProperty$4(value, 'length', { value: options.arity });
998
+ }
999
+ try {
1000
+ if (options && hasOwn$4(options, 'constructor') && options.constructor) {
1001
+ if (DESCRIPTORS$4) defineProperty$4(value, 'prototype', { writable: false });
1002
+ // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable
1003
+ } else if (value.prototype) value.prototype = undefined;
1004
+ } catch (error) { /* empty */ }
1005
+ var state = enforceInternalState(value);
1006
+ if (!hasOwn$4(state, 'source')) {
1007
+ state.source = join(TEMPLATE, typeof name == 'string' ? name : '');
1008
+ } return value;
1009
+ };
1010
+
1011
+ // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
1012
+ // eslint-disable-next-line no-extend-native -- required
1013
+ Function.prototype.toString = makeBuiltIn$2(function toString() {
1014
+ return isCallable$b(this) && getInternalState$2(this).source || inspectSource$2(this);
1015
+ }, 'toString');
1016
+
1017
+ var isCallable$a = isCallable$j;
1018
+ var definePropertyModule$1 = objectDefineProperty;
1019
+ var makeBuiltIn$1 = makeBuiltIn$3.exports;
1020
+ var defineGlobalProperty$1 = defineGlobalProperty$3;
1021
+
1022
+ var defineBuiltIn$5 = function (O, key, value, options) {
1023
+ if (!options) options = {};
1024
+ var simple = options.enumerable;
1025
+ var name = options.name !== undefined ? options.name : key;
1026
+ if (isCallable$a(value)) makeBuiltIn$1(value, name, options);
1027
+ if (options.global) {
1028
+ if (simple) O[key] = value;
1029
+ else defineGlobalProperty$1(key, value);
1030
+ } else {
1031
+ try {
1032
+ if (!options.unsafe) delete O[key];
1033
+ else if (O[key]) simple = true;
1034
+ } catch (error) { /* empty */ }
1035
+ if (simple) O[key] = value;
1036
+ else definePropertyModule$1.f(O, key, {
1037
+ value: value,
1038
+ enumerable: false,
1039
+ configurable: !options.nonConfigurable,
1040
+ writable: !options.nonWritable
1041
+ });
1042
+ } return O;
1043
+ };
1044
+
1045
+ var objectGetOwnPropertyNames = {};
1046
+
1047
+ var internalObjectKeys = objectKeysInternal;
1048
+ var enumBugKeys = enumBugKeys$3;
1049
+
1050
+ var hiddenKeys = enumBugKeys.concat('length', 'prototype');
1051
+
1052
+ // `Object.getOwnPropertyNames` method
1053
+ // https://tc39.es/ecma262/#sec-object.getownpropertynames
1054
+ // eslint-disable-next-line es/no-object-getownpropertynames -- safe
1055
+ objectGetOwnPropertyNames.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
1056
+ return internalObjectKeys(O, hiddenKeys);
1057
+ };
1058
+
1059
+ var objectGetOwnPropertySymbols = {};
1060
+
1061
+ // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
1062
+ objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;
1063
+
1064
+ var getBuiltIn$4 = getBuiltIn$7;
1065
+ var uncurryThis$7 = functionUncurryThis;
1066
+ var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
1067
+ var getOwnPropertySymbolsModule$1 = objectGetOwnPropertySymbols;
1068
+ var anObject$7 = anObject$b;
1069
+
1070
+ var concat$1 = uncurryThis$7([].concat);
1071
+
1072
+ // all object keys, includes non-enumerable and symbols
1073
+ var ownKeys$1 = getBuiltIn$4('Reflect', 'ownKeys') || function ownKeys(it) {
1074
+ var keys = getOwnPropertyNamesModule.f(anObject$7(it));
1075
+ var getOwnPropertySymbols = getOwnPropertySymbolsModule$1.f;
1076
+ return getOwnPropertySymbols ? concat$1(keys, getOwnPropertySymbols(it)) : keys;
1077
+ };
1078
+
1079
+ var hasOwn$3 = hasOwnProperty_1;
1080
+ var ownKeys = ownKeys$1;
1081
+ var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor;
1082
+ var definePropertyModule = objectDefineProperty;
1083
+
1084
+ var copyConstructorProperties$1 = function (target, source, exceptions) {
1085
+ var keys = ownKeys(source);
1086
+ var defineProperty = definePropertyModule.f;
1087
+ var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
1088
+ for (var i = 0; i < keys.length; i++) {
1089
+ var key = keys[i];
1090
+ if (!hasOwn$3(target, key) && !(exceptions && hasOwn$3(exceptions, key))) {
1091
+ defineProperty(target, key, getOwnPropertyDescriptor(source, key));
1092
+ }
1093
+ }
1094
+ };
1095
+
1096
+ var fails$8 = fails$g;
1097
+ var isCallable$9 = isCallable$j;
1098
+
1099
+ var replacement = /#|\.prototype\./;
1100
+
1101
+ var isForced$2 = function (feature, detection) {
1102
+ var value = data[normalize(feature)];
1103
+ return value === POLYFILL ? true
1104
+ : value === NATIVE ? false
1105
+ : isCallable$9(detection) ? fails$8(detection)
1106
+ : !!detection;
1107
+ };
1108
+
1109
+ var normalize = isForced$2.normalize = function (string) {
1110
+ return String(string).replace(replacement, '.').toLowerCase();
1111
+ };
1112
+
1113
+ var data = isForced$2.data = {};
1114
+ var NATIVE = isForced$2.NATIVE = 'N';
1115
+ var POLYFILL = isForced$2.POLYFILL = 'P';
1116
+
1117
+ var isForced_1 = isForced$2;
1118
+
1119
+ var global$c = global$m;
1120
+ var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
1121
+ var createNonEnumerableProperty$2 = createNonEnumerableProperty$4;
1122
+ var defineBuiltIn$4 = defineBuiltIn$5;
1123
+ var defineGlobalProperty = defineGlobalProperty$3;
1124
+ var copyConstructorProperties = copyConstructorProperties$1;
1125
+ var isForced$1 = isForced_1;
1126
+
1127
+ /*
1128
+ options.target - name of the target object
1129
+ options.global - target is the global object
1130
+ options.stat - export as static methods of target
1131
+ options.proto - export as prototype methods of target
1132
+ options.real - real prototype method for the `pure` version
1133
+ options.forced - export even if the native feature is available
1134
+ options.bind - bind methods to the target, required for the `pure` version
1135
+ options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
1136
+ options.unsafe - use the simple assignment of property instead of delete + defineProperty
1137
+ options.sham - add a flag to not completely full polyfills
1138
+ options.enumerable - export as enumerable property
1139
+ options.dontCallGetSet - prevent calling a getter on target
1140
+ options.name - the .name of the function if it does not match the key
1141
+ */
1142
+ var _export = function (options, source) {
1143
+ var TARGET = options.target;
1144
+ var GLOBAL = options.global;
1145
+ var STATIC = options.stat;
1146
+ var FORCED, target, key, targetProperty, sourceProperty, descriptor;
1147
+ if (GLOBAL) {
1148
+ target = global$c;
1149
+ } else if (STATIC) {
1150
+ target = global$c[TARGET] || defineGlobalProperty(TARGET, {});
1151
+ } else {
1152
+ target = (global$c[TARGET] || {}).prototype;
1153
+ }
1154
+ if (target) for (key in source) {
1155
+ sourceProperty = source[key];
1156
+ if (options.dontCallGetSet) {
1157
+ descriptor = getOwnPropertyDescriptor$1(target, key);
1158
+ targetProperty = descriptor && descriptor.value;
1159
+ } else targetProperty = target[key];
1160
+ FORCED = isForced$1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
1161
+ // contained in target
1162
+ if (!FORCED && targetProperty !== undefined) {
1163
+ if (typeof sourceProperty == typeof targetProperty) continue;
1164
+ copyConstructorProperties(sourceProperty, targetProperty);
1165
+ }
1166
+ // add a flag to not completely full polyfills
1167
+ if (options.sham || (targetProperty && targetProperty.sham)) {
1168
+ createNonEnumerableProperty$2(sourceProperty, 'sham', true);
1169
+ }
1170
+ defineBuiltIn$4(target, key, sourceProperty, options);
1171
+ }
1172
+ };
1173
+
1174
+ var fails$7 = fails$g;
1175
+
1176
+ var correctPrototypeGetter = !fails$7(function () {
1177
+ function F() { /* empty */ }
1178
+ F.prototype.constructor = null;
1179
+ // eslint-disable-next-line es/no-object-getprototypeof -- required for testing
1180
+ return Object.getPrototypeOf(new F()) !== F.prototype;
1181
+ });
1182
+
1183
+ var hasOwn$2 = hasOwnProperty_1;
1184
+ var isCallable$8 = isCallable$j;
1185
+ var toObject$1 = toObject$3;
1186
+ var sharedKey = sharedKey$3;
1187
+ var CORRECT_PROTOTYPE_GETTER = correctPrototypeGetter;
1188
+
1189
+ var IE_PROTO = sharedKey('IE_PROTO');
1190
+ var $Object$1 = Object;
1191
+ var ObjectPrototype = $Object$1.prototype;
1192
+
1193
+ // `Object.getPrototypeOf` method
1194
+ // https://tc39.es/ecma262/#sec-object.getprototypeof
1195
+ // eslint-disable-next-line es/no-object-getprototypeof -- safe
1196
+ var objectGetPrototypeOf = CORRECT_PROTOTYPE_GETTER ? $Object$1.getPrototypeOf : function (O) {
1197
+ var object = toObject$1(O);
1198
+ if (hasOwn$2(object, IE_PROTO)) return object[IE_PROTO];
1199
+ var constructor = object.constructor;
1200
+ if (isCallable$8(constructor) && object instanceof constructor) {
1201
+ return constructor.prototype;
1202
+ } return object instanceof $Object$1 ? ObjectPrototype : null;
1203
+ };
1204
+
1205
+ var fails$6 = fails$g;
1206
+ var isCallable$7 = isCallable$j;
1207
+ var isObject$3 = isObject$9;
1208
+ var getPrototypeOf$1 = objectGetPrototypeOf;
1209
+ var defineBuiltIn$3 = defineBuiltIn$5;
1210
+ var wellKnownSymbol$b = wellKnownSymbol$e;
1211
+
1212
+ var ITERATOR$5 = wellKnownSymbol$b('iterator');
1213
+ var BUGGY_SAFARI_ITERATORS$1 = false;
1214
+
1215
+ // `%IteratorPrototype%` object
1216
+ // https://tc39.es/ecma262/#sec-%iteratorprototype%-object
1217
+ var IteratorPrototype$2, PrototypeOfArrayIteratorPrototype, arrayIterator;
1218
+
1219
+ /* eslint-disable es/no-array-prototype-keys -- safe */
1220
+ if ([].keys) {
1221
+ arrayIterator = [].keys();
1222
+ // Safari 8 has buggy iterators w/o `next`
1223
+ if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS$1 = true;
1224
+ else {
1225
+ PrototypeOfArrayIteratorPrototype = getPrototypeOf$1(getPrototypeOf$1(arrayIterator));
1226
+ if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype$2 = PrototypeOfArrayIteratorPrototype;
1227
+ }
1228
+ }
1229
+
1230
+ var NEW_ITERATOR_PROTOTYPE = !isObject$3(IteratorPrototype$2) || fails$6(function () {
1231
+ var test = {};
1232
+ // FF44- legacy iterators case
1233
+ return IteratorPrototype$2[ITERATOR$5].call(test) !== test;
1234
+ });
1235
+
1236
+ if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype$2 = {};
1237
+
1238
+ // `%IteratorPrototype%[@@iterator]()` method
1239
+ // https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator
1240
+ if (!isCallable$7(IteratorPrototype$2[ITERATOR$5])) {
1241
+ defineBuiltIn$3(IteratorPrototype$2, ITERATOR$5, function () {
1242
+ return this;
1243
+ });
1244
+ }
1245
+
1246
+ var iteratorsCore = {
1247
+ IteratorPrototype: IteratorPrototype$2,
1248
+ BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS$1
1249
+ };
1250
+
1251
+ var defineProperty$3 = objectDefineProperty.f;
1252
+ var hasOwn$1 = hasOwnProperty_1;
1253
+ var wellKnownSymbol$a = wellKnownSymbol$e;
1254
+
1255
+ var TO_STRING_TAG$2 = wellKnownSymbol$a('toStringTag');
1256
+
1257
+ var setToStringTag$4 = function (target, TAG, STATIC) {
1258
+ if (target && !STATIC) target = target.prototype;
1259
+ if (target && !hasOwn$1(target, TO_STRING_TAG$2)) {
1260
+ defineProperty$3(target, TO_STRING_TAG$2, { configurable: true, value: TAG });
1261
+ }
1262
+ };
1263
+
1264
+ var IteratorPrototype$1 = iteratorsCore.IteratorPrototype;
1265
+ var create$1 = objectCreate;
1266
+ var createPropertyDescriptor = createPropertyDescriptor$3;
1267
+ var setToStringTag$3 = setToStringTag$4;
1268
+ var Iterators$4 = iterators;
1269
+
1270
+ var returnThis$1 = function () { return this; };
1271
+
1272
+ var iteratorCreateConstructor = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {
1273
+ var TO_STRING_TAG = NAME + ' Iterator';
1274
+ IteratorConstructor.prototype = create$1(IteratorPrototype$1, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });
1275
+ setToStringTag$3(IteratorConstructor, TO_STRING_TAG, false);
1276
+ Iterators$4[TO_STRING_TAG] = returnThis$1;
1277
+ return IteratorConstructor;
1278
+ };
1279
+
1280
+ var uncurryThis$6 = functionUncurryThis;
1281
+ var aCallable$6 = aCallable$8;
1282
+
1283
+ var functionUncurryThisAccessor = function (object, key, method) {
1284
+ try {
1285
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
1286
+ return uncurryThis$6(aCallable$6(Object.getOwnPropertyDescriptor(object, key)[method]));
1287
+ } catch (error) { /* empty */ }
1288
+ };
1289
+
1290
+ var isObject$2 = isObject$9;
1291
+
1292
+ var isPossiblePrototype$1 = function (argument) {
1293
+ return isObject$2(argument) || argument === null;
1294
+ };
1295
+
1296
+ var isPossiblePrototype = isPossiblePrototype$1;
1297
+
1298
+ var $String$1 = String;
1299
+ var $TypeError$6 = TypeError;
1300
+
1301
+ var aPossiblePrototype$1 = function (argument) {
1302
+ if (isPossiblePrototype(argument)) return argument;
1303
+ throw new $TypeError$6("Can't set " + $String$1(argument) + ' as a prototype');
1304
+ };
1305
+
1306
+ /* eslint-disable no-proto -- safe */
1307
+ var uncurryThisAccessor = functionUncurryThisAccessor;
1308
+ var anObject$6 = anObject$b;
1309
+ var aPossiblePrototype = aPossiblePrototype$1;
1310
+
1311
+ // `Object.setPrototypeOf` method
1312
+ // https://tc39.es/ecma262/#sec-object.setprototypeof
1313
+ // Works with __proto__ only. Old v8 can't work with null proto objects.
1314
+ // eslint-disable-next-line es/no-object-setprototypeof -- safe
1315
+ var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {
1316
+ var CORRECT_SETTER = false;
1317
+ var test = {};
1318
+ var setter;
1319
+ try {
1320
+ setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');
1321
+ setter(test, []);
1322
+ CORRECT_SETTER = test instanceof Array;
1323
+ } catch (error) { /* empty */ }
1324
+ return function setPrototypeOf(O, proto) {
1325
+ anObject$6(O);
1326
+ aPossiblePrototype(proto);
1327
+ if (CORRECT_SETTER) setter(O, proto);
1328
+ else O.__proto__ = proto;
1329
+ return O;
1330
+ };
1331
+ }() : undefined);
1332
+
1333
+ var $$8 = _export;
1334
+ var call$9 = functionCall;
1335
+ var FunctionName = functionName;
1336
+ var isCallable$6 = isCallable$j;
1337
+ var createIteratorConstructor = iteratorCreateConstructor;
1338
+ var getPrototypeOf = objectGetPrototypeOf;
1339
+ var setPrototypeOf$1 = objectSetPrototypeOf;
1340
+ var setToStringTag$2 = setToStringTag$4;
1341
+ var createNonEnumerableProperty$1 = createNonEnumerableProperty$4;
1342
+ var defineBuiltIn$2 = defineBuiltIn$5;
1343
+ var wellKnownSymbol$9 = wellKnownSymbol$e;
1344
+ var Iterators$3 = iterators;
1345
+ var IteratorsCore = iteratorsCore;
1346
+
1347
+ var PROPER_FUNCTION_NAME = FunctionName.PROPER;
1348
+ var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;
1349
+ var IteratorPrototype = IteratorsCore.IteratorPrototype;
1350
+ var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
1351
+ var ITERATOR$4 = wellKnownSymbol$9('iterator');
1352
+ var KEYS = 'keys';
1353
+ var VALUES = 'values';
1354
+ var ENTRIES = 'entries';
1355
+
1356
+ var returnThis = function () { return this; };
1357
+
1358
+ var iteratorDefine = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
1359
+ createIteratorConstructor(IteratorConstructor, NAME, next);
1360
+
1361
+ var getIterationMethod = function (KIND) {
1362
+ if (KIND === DEFAULT && defaultIterator) return defaultIterator;
1363
+ if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];
1364
+
1365
+ switch (KIND) {
1366
+ case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
1367
+ case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
1368
+ case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
1369
+ }
1370
+
1371
+ return function () { return new IteratorConstructor(this); };
1372
+ };
1373
+
1374
+ var TO_STRING_TAG = NAME + ' Iterator';
1375
+ var INCORRECT_VALUES_NAME = false;
1376
+ var IterablePrototype = Iterable.prototype;
1377
+ var nativeIterator = IterablePrototype[ITERATOR$4]
1378
+ || IterablePrototype['@@iterator']
1379
+ || DEFAULT && IterablePrototype[DEFAULT];
1380
+ var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
1381
+ var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
1382
+ var CurrentIteratorPrototype, methods, KEY;
1383
+
1384
+ // fix native
1385
+ if (anyNativeIterator) {
1386
+ CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
1387
+ if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
1388
+ if (getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
1389
+ if (setPrototypeOf$1) {
1390
+ setPrototypeOf$1(CurrentIteratorPrototype, IteratorPrototype);
1391
+ } else if (!isCallable$6(CurrentIteratorPrototype[ITERATOR$4])) {
1392
+ defineBuiltIn$2(CurrentIteratorPrototype, ITERATOR$4, returnThis);
1393
+ }
1394
+ }
1395
+ // Set @@toStringTag to native iterators
1396
+ setToStringTag$2(CurrentIteratorPrototype, TO_STRING_TAG, true);
1397
+ }
1398
+ }
1399
+
1400
+ // fix Array.prototype.{ values, @@iterator }.name in V8 / FF
1401
+ if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {
1402
+ if (CONFIGURABLE_FUNCTION_NAME) {
1403
+ createNonEnumerableProperty$1(IterablePrototype, 'name', VALUES);
1404
+ } else {
1405
+ INCORRECT_VALUES_NAME = true;
1406
+ defaultIterator = function values() { return call$9(nativeIterator, this); };
1407
+ }
1408
+ }
1409
+
1410
+ // export additional methods
1411
+ if (DEFAULT) {
1412
+ methods = {
1413
+ values: getIterationMethod(VALUES),
1414
+ keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
1415
+ entries: getIterationMethod(ENTRIES)
1416
+ };
1417
+ if (FORCED) for (KEY in methods) {
1418
+ if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
1419
+ defineBuiltIn$2(IterablePrototype, KEY, methods[KEY]);
1420
+ }
1421
+ } else $$8({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
1422
+ }
1423
+
1424
+ // define iterator
1425
+ if (IterablePrototype[ITERATOR$4] !== defaultIterator) {
1426
+ defineBuiltIn$2(IterablePrototype, ITERATOR$4, defaultIterator, { name: DEFAULT });
1427
+ }
1428
+ Iterators$3[NAME] = defaultIterator;
1429
+
1430
+ return methods;
1431
+ };
1432
+
1433
+ // `CreateIterResultObject` abstract operation
1434
+ // https://tc39.es/ecma262/#sec-createiterresultobject
1435
+ var createIterResultObject$1 = function (value, done) {
1436
+ return { value: value, done: done };
1437
+ };
1438
+
1439
+ var toIndexedObject = toIndexedObject$5;
1440
+ var addToUnscopables = addToUnscopables$1;
1441
+ var Iterators$2 = iterators;
1442
+ var InternalStateModule$1 = internalState;
1443
+ var defineProperty$2 = objectDefineProperty.f;
1444
+ var defineIterator = iteratorDefine;
1445
+ var createIterResultObject = createIterResultObject$1;
1446
+ var DESCRIPTORS$3 = descriptors;
1447
+
1448
+ var ARRAY_ITERATOR = 'Array Iterator';
1449
+ var setInternalState$1 = InternalStateModule$1.set;
1450
+ var getInternalState$1 = InternalStateModule$1.getterFor(ARRAY_ITERATOR);
1451
+
1452
+ // `Array.prototype.entries` method
1453
+ // https://tc39.es/ecma262/#sec-array.prototype.entries
1454
+ // `Array.prototype.keys` method
1455
+ // https://tc39.es/ecma262/#sec-array.prototype.keys
1456
+ // `Array.prototype.values` method
1457
+ // https://tc39.es/ecma262/#sec-array.prototype.values
1458
+ // `Array.prototype[@@iterator]` method
1459
+ // https://tc39.es/ecma262/#sec-array.prototype-@@iterator
1460
+ // `CreateArrayIterator` internal method
1461
+ // https://tc39.es/ecma262/#sec-createarrayiterator
1462
+ var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind) {
1463
+ setInternalState$1(this, {
1464
+ type: ARRAY_ITERATOR,
1465
+ target: toIndexedObject(iterated), // target
1466
+ index: 0, // next index
1467
+ kind: kind // kind
1468
+ });
1469
+ // `%ArrayIteratorPrototype%.next` method
1470
+ // https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next
1471
+ }, function () {
1472
+ var state = getInternalState$1(this);
1473
+ var target = state.target;
1474
+ var index = state.index++;
1475
+ if (!target || index >= target.length) {
1476
+ state.target = undefined;
1477
+ return createIterResultObject(undefined, true);
1478
+ }
1479
+ switch (state.kind) {
1480
+ case 'keys': return createIterResultObject(index, false);
1481
+ case 'values': return createIterResultObject(target[index], false);
1482
+ } return createIterResultObject([index, target[index]], false);
1483
+ }, 'values');
1484
+
1485
+ // argumentsList[@@iterator] is %ArrayProto_values%
1486
+ // https://tc39.es/ecma262/#sec-createunmappedargumentsobject
1487
+ // https://tc39.es/ecma262/#sec-createmappedargumentsobject
1488
+ var values = Iterators$2.Arguments = Iterators$2.Array;
1489
+
1490
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
1491
+ addToUnscopables('keys');
1492
+ addToUnscopables('values');
1493
+ addToUnscopables('entries');
1494
+
1495
+ // V8 ~ Chrome 45- bug
1496
+ if (DESCRIPTORS$3 && values.name !== 'values') try {
1497
+ defineProperty$2(values, 'name', { value: 'values' });
1498
+ } catch (error) { /* empty */ }
1499
+
1500
+ // iterable DOM collections
1501
+ // flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
1502
+ var domIterables = {
1503
+ CSSRuleList: 0,
1504
+ CSSStyleDeclaration: 0,
1505
+ CSSValueList: 0,
1506
+ ClientRectList: 0,
1507
+ DOMRectList: 0,
1508
+ DOMStringList: 0,
1509
+ DOMTokenList: 1,
1510
+ DataTransferItemList: 0,
1511
+ FileList: 0,
1512
+ HTMLAllCollection: 0,
1513
+ HTMLCollection: 0,
1514
+ HTMLFormElement: 0,
1515
+ HTMLSelectElement: 0,
1516
+ MediaList: 0,
1517
+ MimeTypeArray: 0,
1518
+ NamedNodeMap: 0,
1519
+ NodeList: 1,
1520
+ PaintRequestList: 0,
1521
+ Plugin: 0,
1522
+ PluginArray: 0,
1523
+ SVGLengthList: 0,
1524
+ SVGNumberList: 0,
1525
+ SVGPathSegList: 0,
1526
+ SVGPointList: 0,
1527
+ SVGStringList: 0,
1528
+ SVGTransformList: 0,
1529
+ SourceBufferList: 0,
1530
+ StyleSheetList: 0,
1531
+ TextTrackCueList: 0,
1532
+ TextTrackList: 0,
1533
+ TouchList: 0
1534
+ };
1535
+
1536
+ // in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`
1537
+ var documentCreateElement = documentCreateElement$2;
1538
+
1539
+ var classList = documentCreateElement('span').classList;
1540
+ var DOMTokenListPrototype$1 = classList && classList.constructor && classList.constructor.prototype;
1541
+
1542
+ var domTokenListPrototype = DOMTokenListPrototype$1 === Object.prototype ? undefined : DOMTokenListPrototype$1;
1543
+
1544
+ var global$b = global$m;
1545
+ var DOMIterables = domIterables;
1546
+ var DOMTokenListPrototype = domTokenListPrototype;
1547
+ var ArrayIteratorMethods = es_array_iterator;
1548
+ var createNonEnumerableProperty = createNonEnumerableProperty$4;
1549
+ var setToStringTag$1 = setToStringTag$4;
1550
+ var wellKnownSymbol$8 = wellKnownSymbol$e;
1551
+
1552
+ var ITERATOR$3 = wellKnownSymbol$8('iterator');
1553
+ var ArrayValues = ArrayIteratorMethods.values;
1554
+
1555
+ var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {
1556
+ if (CollectionPrototype) {
1557
+ // some Chrome versions have non-configurable methods on DOMTokenList
1558
+ if (CollectionPrototype[ITERATOR$3] !== ArrayValues) try {
1559
+ createNonEnumerableProperty(CollectionPrototype, ITERATOR$3, ArrayValues);
1560
+ } catch (error) {
1561
+ CollectionPrototype[ITERATOR$3] = ArrayValues;
1562
+ }
1563
+ setToStringTag$1(CollectionPrototype, COLLECTION_NAME, true);
1564
+ if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {
1565
+ // some Chrome versions have non-configurable methods on DOMTokenList
1566
+ if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {
1567
+ createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
1568
+ } catch (error) {
1569
+ CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
1570
+ }
1571
+ }
1572
+ }
1573
+ };
1574
+
1575
+ for (var COLLECTION_NAME in DOMIterables) {
1576
+ handlePrototype(global$b[COLLECTION_NAME] && global$b[COLLECTION_NAME].prototype, COLLECTION_NAME);
1577
+ }
1578
+
1579
+ handlePrototype(DOMTokenListPrototype, 'DOMTokenList');
1580
+
1581
+ var _dec$2, _dec2$2, _dec3$2, _dec4$2, _dec5$2, _dec6$2, _dec7$2, _dec8$2, _dec9$2, _dec10$2, _dec11$2, _dec12$1, _dec13$1, _dec14$1, _dec15$1, _dec16$1, _dec17$1, _dec18$1, _dec19$1, _dec20$1, _dec21$1, _class$2, _descriptor$2, _descriptor2$2, _descriptor3$1, _descriptor4$1, _dec22$1, _dec23, _dec24, _dec25, _dec26, _dec27, _class3, _descriptor5, _dec28, _dec29, _dec30, _dec31, _dec32, _class5, _descriptor6;
1582
+ const ADDRESS_LINE_MAX_LENGTH = 50;
1583
+ const ADDRESS_CITY_MAX_LENGTH = 80;
1584
+ const ADDRESS_STATE_MAX_LENGTH = 30;
1585
+ const ADDRESS_STATE_CODE_MAX_LENGTH = 2;
1586
+ const ADDRESS_ZIP_MAX_LENGTH = 11;
1587
+ const ADDRESS_COUNTRY_MAX_LENGTH = 80;
1588
+ let AbstractUnitedStatesAddressWithoutStateParams = (_dec$2 = Expose(), _dec2$2 = IsString(), _dec3$2 = IsNotEmpty(), _dec4$2 = MaxLength(ADDRESS_LINE_MAX_LENGTH), _dec5$2 = Reflect.metadata("design:type", typeof AddressLineString === "undefined" ? Object : AddressLineString), _dec6$2 = Expose(), _dec7$2 = IsOptional(), _dec8$2 = IsString(), _dec9$2 = MaxLength(ADDRESS_LINE_MAX_LENGTH), _dec10$2 = Reflect.metadata("design:type", typeof AddressLineString === "undefined" ? Object : AddressLineString), _dec11$2 = Expose(), _dec12$1 = IsString(), _dec13$1 = IsNotEmpty(), _dec14$1 = MaxLength(ADDRESS_CITY_MAX_LENGTH), _dec15$1 = Reflect.metadata("design:type", typeof CityString === "undefined" ? Object : CityString), _dec16$1 = Expose(), _dec17$1 = IsString(), _dec18$1 = IsNotEmpty(), _dec19$1 = Matches(ZIP_CODE_STRING_REGEX), _dec20$1 = MaxLength(ADDRESS_ZIP_MAX_LENGTH), _dec21$1 = Reflect.metadata("design:type", typeof ZipCodeString === "undefined" ? Object : ZipCodeString), (_class$2 = class AbstractUnitedStatesAddressWithoutStateParams {
1589
+ constructor() {
1590
+ _initializerDefineProperty(this, "line1", _descriptor$2, this);
1591
+ _initializerDefineProperty(this, "line2", _descriptor2$2, this);
1592
+ _initializerDefineProperty(this, "city", _descriptor3$1, this);
1593
+ _initializerDefineProperty(this, "zip", _descriptor4$1, this);
1594
+ }
1595
+ }, (_descriptor$2 = _applyDecoratedDescriptor(_class$2.prototype, "line1", [_dec$2, _dec2$2, _dec3$2, _dec4$2, _dec5$2], {
1596
+ configurable: true,
1597
+ enumerable: true,
1598
+ writable: true,
1599
+ initializer: null
1600
+ }), _descriptor2$2 = _applyDecoratedDescriptor(_class$2.prototype, "line2", [_dec6$2, _dec7$2, _dec8$2, _dec9$2, _dec10$2], {
1601
+ configurable: true,
1602
+ enumerable: true,
1603
+ writable: true,
1604
+ initializer: null
1605
+ }), _descriptor3$1 = _applyDecoratedDescriptor(_class$2.prototype, "city", [_dec11$2, _dec12$1, _dec13$1, _dec14$1, _dec15$1], {
1606
+ configurable: true,
1607
+ enumerable: true,
1608
+ writable: true,
1609
+ initializer: null
1610
+ }), _descriptor4$1 = _applyDecoratedDescriptor(_class$2.prototype, "zip", [_dec16$1, _dec17$1, _dec18$1, _dec19$1, _dec20$1, _dec21$1], {
1611
+ configurable: true,
1612
+ enumerable: true,
1613
+ writable: true,
1614
+ initializer: null
1615
+ })), _class$2));
1616
+
1617
+ /**
1618
+ * UnitedStatesAddress that enforces a StateCode for the state value.
1619
+ */
1620
+ let UnitedStatesAddressWithStateCodeParams = (_dec22$1 = Expose(), _dec23 = IsString(), _dec24 = Matches(US_STATE_CODE_STRING_REGEX), _dec25 = MinLength(ADDRESS_STATE_CODE_MAX_LENGTH), _dec26 = MaxLength(ADDRESS_STATE_CODE_MAX_LENGTH), _dec27 = Reflect.metadata("design:type", typeof StateCodeString === "undefined" ? Object : StateCodeString), (_class3 = class UnitedStatesAddressWithStateCodeParams extends AbstractUnitedStatesAddressWithoutStateParams {
1621
+ constructor(...args) {
1622
+ super(...args);
1623
+ _initializerDefineProperty(this, "state", _descriptor5, this);
1624
+ }
1625
+ }, (_descriptor5 = _applyDecoratedDescriptor(_class3.prototype, "state", [_dec22$1, _dec23, _dec24, _dec25, _dec26, _dec27], {
1626
+ configurable: true,
1627
+ enumerable: true,
1628
+ writable: true,
1629
+ initializer: null
1630
+ })), _class3));
1631
+
1632
+ /**
1633
+ * UnitedStatesAddress that enforces a State for the state value.
1634
+ */
1635
+ let UnitedStatesAddressWithStateStringParams = (_dec28 = Expose(), _dec29 = IsString(), _dec30 = IsNotEmpty(), _dec31 = MaxLength(ADDRESS_STATE_MAX_LENGTH), _dec32 = Reflect.metadata("design:type", typeof StateString === "undefined" ? Object : StateString), (_class5 = class UnitedStatesAddressWithStateStringParams extends AbstractUnitedStatesAddressWithoutStateParams {
1636
+ constructor(...args) {
1637
+ super(...args);
1638
+ _initializerDefineProperty(this, "state", _descriptor6, this);
1639
+ }
1640
+ }, (_descriptor6 = _applyDecoratedDescriptor(_class5.prototype, "state", [_dec28, _dec29, _dec30, _dec31, _dec32], {
1641
+ configurable: true,
1642
+ enumerable: true,
1643
+ writable: true,
1644
+ initializer: null
1645
+ })), _class5));
1646
+
1647
+ var wellKnownSymbol$7 = wellKnownSymbol$e;
1648
+
1649
+ var TO_STRING_TAG$1 = wellKnownSymbol$7('toStringTag');
1650
+ var test = {};
1651
+
1652
+ test[TO_STRING_TAG$1] = 'z';
1653
+
1654
+ var toStringTagSupport = String(test) === '[object z]';
1655
+
1656
+ var TO_STRING_TAG_SUPPORT = toStringTagSupport;
1657
+ var isCallable$5 = isCallable$j;
1658
+ var classofRaw$1 = classofRaw$2;
1659
+ var wellKnownSymbol$6 = wellKnownSymbol$e;
1660
+
1661
+ var TO_STRING_TAG = wellKnownSymbol$6('toStringTag');
1662
+ var $Object = Object;
1663
+
1664
+ // ES3 wrong here
1665
+ var CORRECT_ARGUMENTS = classofRaw$1(function () { return arguments; }()) === 'Arguments';
1666
+
1667
+ // fallback for IE11 Script Access Denied error
1668
+ var tryGet = function (it, key) {
1669
+ try {
1670
+ return it[key];
1671
+ } catch (error) { /* empty */ }
1672
+ };
1673
+
1674
+ // getting tag from ES6+ `Object.prototype.toString`
1675
+ var classof$4 = TO_STRING_TAG_SUPPORT ? classofRaw$1 : function (it) {
1676
+ var O, tag, result;
1677
+ return it === undefined ? 'Undefined' : it === null ? 'Null'
1678
+ // @@toStringTag case
1679
+ : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag
1680
+ // builtinTag case
1681
+ : CORRECT_ARGUMENTS ? classofRaw$1(O)
1682
+ // ES3 arguments fallback
1683
+ : (result = classofRaw$1(O)) === 'Object' && isCallable$5(O.callee) ? 'Arguments' : result;
1684
+ };
1685
+
1686
+ var classof$3 = classof$4;
1687
+
1688
+ var $String = String;
1689
+
1690
+ var toString$1 = function (argument) {
1691
+ if (classof$3(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');
1692
+ return $String(argument);
1693
+ };
1694
+
1695
+ var anObject$5 = anObject$b;
1696
+
1697
+ // `RegExp.prototype.flags` getter implementation
1698
+ // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
1699
+ var regexpFlags$1 = function () {
1700
+ var that = anObject$5(this);
1701
+ var result = '';
1702
+ if (that.hasIndices) result += 'd';
1703
+ if (that.global) result += 'g';
1704
+ if (that.ignoreCase) result += 'i';
1705
+ if (that.multiline) result += 'm';
1706
+ if (that.dotAll) result += 's';
1707
+ if (that.unicode) result += 'u';
1708
+ if (that.unicodeSets) result += 'v';
1709
+ if (that.sticky) result += 'y';
1710
+ return result;
1711
+ };
1712
+
1713
+ var fails$5 = fails$g;
1714
+ var global$a = global$m;
1715
+
1716
+ // babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
1717
+ var $RegExp$2 = global$a.RegExp;
1718
+
1719
+ var UNSUPPORTED_Y$1 = fails$5(function () {
1720
+ var re = $RegExp$2('a', 'y');
1721
+ re.lastIndex = 2;
1722
+ return re.exec('abcd') !== null;
1723
+ });
1724
+
1725
+ // UC Browser bug
1726
+ // https://github.com/zloirock/core-js/issues/1008
1727
+ var MISSED_STICKY = UNSUPPORTED_Y$1 || fails$5(function () {
1728
+ return !$RegExp$2('a', 'y').sticky;
1729
+ });
1730
+
1731
+ var BROKEN_CARET = UNSUPPORTED_Y$1 || fails$5(function () {
1732
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
1733
+ var re = $RegExp$2('^r', 'gy');
1734
+ re.lastIndex = 2;
1735
+ return re.exec('str') !== null;
1736
+ });
1737
+
1738
+ var regexpStickyHelpers = {
1739
+ BROKEN_CARET: BROKEN_CARET,
1740
+ MISSED_STICKY: MISSED_STICKY,
1741
+ UNSUPPORTED_Y: UNSUPPORTED_Y$1
1742
+ };
1743
+
1744
+ var fails$4 = fails$g;
1745
+ var global$9 = global$m;
1746
+
1747
+ // babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError
1748
+ var $RegExp$1 = global$9.RegExp;
1749
+
1750
+ var regexpUnsupportedDotAll = fails$4(function () {
1751
+ var re = $RegExp$1('.', 's');
1752
+ return !(re.dotAll && re.test('\n') && re.flags === 's');
1753
+ });
1754
+
1755
+ var fails$3 = fails$g;
1756
+ var global$8 = global$m;
1757
+
1758
+ // babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError
1759
+ var $RegExp = global$8.RegExp;
1760
+
1761
+ var regexpUnsupportedNcg = fails$3(function () {
1762
+ var re = $RegExp('(?<a>b)', 'g');
1763
+ return re.exec('b').groups.a !== 'b' ||
1764
+ 'b'.replace(re, '$<a>c') !== 'bc';
1765
+ });
1766
+
1767
+ /* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */
1768
+ /* eslint-disable regexp/no-useless-quantifier -- testing */
1769
+ var call$8 = functionCall;
1770
+ var uncurryThis$5 = functionUncurryThis;
1771
+ var toString = toString$1;
1772
+ var regexpFlags = regexpFlags$1;
1773
+ var stickyHelpers = regexpStickyHelpers;
1774
+ var shared = shared$4.exports;
1775
+ var create = objectCreate;
1776
+ var getInternalState = internalState.get;
1777
+ var UNSUPPORTED_DOT_ALL = regexpUnsupportedDotAll;
1778
+ var UNSUPPORTED_NCG = regexpUnsupportedNcg;
1779
+
1780
+ var nativeReplace = shared('native-string-replace', String.prototype.replace);
1781
+ var nativeExec = RegExp.prototype.exec;
1782
+ var patchedExec = nativeExec;
1783
+ var charAt = uncurryThis$5(''.charAt);
1784
+ var indexOf = uncurryThis$5(''.indexOf);
1785
+ var replace = uncurryThis$5(''.replace);
1786
+ var stringSlice = uncurryThis$5(''.slice);
1787
+
1788
+ var UPDATES_LAST_INDEX_WRONG = (function () {
1789
+ var re1 = /a/;
1790
+ var re2 = /b*/g;
1791
+ call$8(nativeExec, re1, 'a');
1792
+ call$8(nativeExec, re2, 'a');
1793
+ return re1.lastIndex !== 0 || re2.lastIndex !== 0;
1794
+ })();
1795
+
1796
+ var UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;
1797
+
1798
+ // nonparticipating capturing group, copied from es5-shim's String#split patch.
1799
+ var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
1800
+
1801
+ var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;
1802
+
1803
+ if (PATCH) {
1804
+ patchedExec = function exec(string) {
1805
+ var re = this;
1806
+ var state = getInternalState(re);
1807
+ var str = toString(string);
1808
+ var raw = state.raw;
1809
+ var result, reCopy, lastIndex, match, i, object, group;
1810
+
1811
+ if (raw) {
1812
+ raw.lastIndex = re.lastIndex;
1813
+ result = call$8(patchedExec, raw, str);
1814
+ re.lastIndex = raw.lastIndex;
1815
+ return result;
1816
+ }
1817
+
1818
+ var groups = state.groups;
1819
+ var sticky = UNSUPPORTED_Y && re.sticky;
1820
+ var flags = call$8(regexpFlags, re);
1821
+ var source = re.source;
1822
+ var charsAdded = 0;
1823
+ var strCopy = str;
1824
+
1825
+ if (sticky) {
1826
+ flags = replace(flags, 'y', '');
1827
+ if (indexOf(flags, 'g') === -1) {
1828
+ flags += 'g';
1829
+ }
1830
+
1831
+ strCopy = stringSlice(str, re.lastIndex);
1832
+ // Support anchored sticky behavior.
1833
+ if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\n')) {
1834
+ source = '(?: ' + source + ')';
1835
+ strCopy = ' ' + strCopy;
1836
+ charsAdded++;
1837
+ }
1838
+ // ^(? + rx + ) is needed, in combination with some str slicing, to
1839
+ // simulate the 'y' flag.
1840
+ reCopy = new RegExp('^(?:' + source + ')', flags);
1841
+ }
1842
+
1843
+ if (NPCG_INCLUDED) {
1844
+ reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
1845
+ }
1846
+ if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
1847
+
1848
+ match = call$8(nativeExec, sticky ? reCopy : re, strCopy);
1849
+
1850
+ if (sticky) {
1851
+ if (match) {
1852
+ match.input = stringSlice(match.input, charsAdded);
1853
+ match[0] = stringSlice(match[0], charsAdded);
1854
+ match.index = re.lastIndex;
1855
+ re.lastIndex += match[0].length;
1856
+ } else re.lastIndex = 0;
1857
+ } else if (UPDATES_LAST_INDEX_WRONG && match) {
1858
+ re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
1859
+ }
1860
+ if (NPCG_INCLUDED && match && match.length > 1) {
1861
+ // Fix browsers whose `exec` methods don't consistently return `undefined`
1862
+ // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/
1863
+ call$8(nativeReplace, match[0], reCopy, function () {
1864
+ for (i = 1; i < arguments.length - 2; i++) {
1865
+ if (arguments[i] === undefined) match[i] = undefined;
1866
+ }
1867
+ });
1868
+ }
1869
+
1870
+ if (match && groups) {
1871
+ match.groups = object = create(null);
1872
+ for (i = 0; i < groups.length; i++) {
1873
+ group = groups[i];
1874
+ object[group[0]] = match[group[1]];
1875
+ }
1876
+ }
1877
+
1878
+ return match;
1879
+ };
1880
+ }
1881
+
1882
+ var regexpExec = patchedExec;
1883
+
1884
+ var $$7 = _export;
1885
+ var exec$1 = regexpExec;
1886
+
1887
+ // `RegExp.prototype.exec` method
1888
+ // https://tc39.es/ecma262/#sec-regexp.prototype.exec
1889
+ $$7({ target: 'RegExp', proto: true, forced: /./.exec !== exec$1 }, {
1890
+ exec: exec$1
1891
+ });
1892
+
1893
+ var _dec$1, _dec2$1, _dec3$1, _dec4$1, _dec5$1, _dec6$1, _dec7$1, _dec8$1, _dec9$1, _dec10$1, _dec11$1, _class$1, _descriptor$1, _descriptor2$1;
1894
+ const UNKNOWN_WEBSITE_LINK_TYPE = 'u';
1895
+
1896
+ /**
1897
+ * Max length of WebsiteLink's data type.
1898
+ */
1899
+ const WEBSITE_LINK_TYPE_MAX_LENGTH = 32;
1900
+
1901
+ /**
1902
+ * Alpha-numeric type between 1 and 32 characters only allowed.
1903
+ */
1904
+ const WEBSITE_LINK_TYPE_REGEX = /^[a-zA-Z0-9]{1,32}$/;
1905
+ function isValidWebsiteLinkType(input) {
1906
+ return WEBSITE_LINK_TYPE_REGEX.test(input);
1907
+ }
1908
+ /**
1909
+ * Default max length of WebsiteLink's data string.
1910
+ */
1911
+ const WEBSITE_LINK_ENCODED_DATA_MAX_LENGTH = 1000;
1912
+ let WebsiteLink = (_dec$1 = Expose(), _dec2$1 = IsString(), _dec3$1 = IsNotEmpty(), _dec4$1 = Matches(WEBSITE_LINK_TYPE_REGEX), _dec5$1 = MaxLength(WEBSITE_LINK_TYPE_MAX_LENGTH), _dec6$1 = Reflect.metadata("design:type", typeof WebsiteLinkType === "undefined" ? Object : WebsiteLinkType), _dec7$1 = Expose(), _dec8$1 = IsString(), _dec9$1 = IsNotEmpty(), _dec10$1 = MaxLength(WEBSITE_LINK_ENCODED_DATA_MAX_LENGTH), _dec11$1 = Reflect.metadata("design:type", typeof WebsiteLinkEncodedData === "undefined" ? Object : WebsiteLinkEncodedData), (_class$1 = class WebsiteLink {
1913
+ constructor(template) {
1914
+ _initializerDefineProperty(this, "t", _descriptor$1, this);
1915
+ _initializerDefineProperty(this, "d", _descriptor2$1, this);
1916
+ if (template != null) {
1917
+ this.t = template.t;
1918
+ this.d = template.d;
1919
+ }
1920
+ }
1921
+ }, (_descriptor$1 = _applyDecoratedDescriptor(_class$1.prototype, "t", [_dec$1, _dec2$1, _dec3$1, _dec4$1, _dec5$1, _dec6$1], {
1922
+ configurable: true,
1923
+ enumerable: true,
1924
+ writable: true,
1925
+ initializer: null
1926
+ }), _descriptor2$1 = _applyDecoratedDescriptor(_class$1.prototype, "d", [_dec7$1, _dec8$1, _dec9$1, _dec10$1, _dec11$1], {
1927
+ configurable: true,
1928
+ enumerable: true,
1929
+ writable: true,
1930
+ initializer: null
1931
+ })), _class$1));
1932
+
1933
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _dec21, _dec22, _class, _descriptor, _descriptor2, _descriptor3, _descriptor4;
1934
+
1935
+ /**
1936
+ * Arbitrary file link type.
1937
+ */
1938
+
1939
+ /**
1940
+ * Max length of WebsiteLink's data type.
1941
+ */
1942
+ const WEBSITE_FILE_LINK_TYPE_MAX_LENGTH = WEBSITE_LINK_TYPE_MAX_LENGTH;
1943
+
1944
+ /**
1945
+ * Has the same regex as WebsiteLinkType
1946
+ */
1947
+ const WEBSITE_FILE_LINK_TYPE_REGEX = WEBSITE_LINK_TYPE_REGEX;
1948
+
1949
+ /**
1950
+ * WebsiteFileLink's mime type.
1951
+ */
1952
+
1953
+ /**
1954
+ * Max length of WebsiteLink's data type.
1955
+ */
1956
+ const WEBSITE_FILE_LINK_MIME_TYPE_MAX_LENGTH = 128;
1957
+
1958
+ /**
1959
+ * Default max length of WebsiteLink's data string.
1960
+ */
1961
+ const WEBSITE_FILE_LINK_MIME_TYPE_REGEX = /^\w+\/[-+.\w]+$/;
1962
+
1963
+ /**
1964
+ * Arbitrary name. Has no pattern restriction, but must be 128 characters or less.
1965
+ */
1966
+
1967
+ /**
1968
+ * Max length of WebsiteLink's data type.
1969
+ */
1970
+ const WEBSITE_FILE_LINK_NAME_MAX_LENGTH = 128;
1971
+
1972
+ /**
1973
+ * WebsiteFileLink data. Typically a URL.
1974
+ */
1975
+
1976
+ /**
1977
+ * Max length of WebsiteLink's data type.
1978
+ */
1979
+ const WEBSITE_FILE_LINK_DATA_MAX_LENGTH = WEBSITE_LINK_ENCODED_DATA_MAX_LENGTH - 3 - WEBSITE_FILE_LINK_TYPE_MAX_LENGTH - WEBSITE_FILE_LINK_MIME_TYPE_MAX_LENGTH - WEBSITE_FILE_LINK_NAME_MAX_LENGTH;
1980
+ const WEBSITE_FILE_LINK_DATA_REGEX = /^[^|]+$/;
1981
+
1982
+ /**
1983
+ * A decoded WebsiteLink that points to a file somewhere.
1984
+ */
1985
+
1986
+ let WebsiteFileLink = (_dec = Expose(), _dec2 = IsOptional(), _dec3 = IsString(), _dec4 = Matches(WEBSITE_FILE_LINK_TYPE_REGEX), _dec5 = MaxLength(WEBSITE_LINK_TYPE_MAX_LENGTH), _dec6 = Reflect.metadata("design:type", typeof WebsiteFileLinkType === "undefined" ? Object : WebsiteFileLinkType), _dec7 = Expose(), _dec8 = IsOptional(), _dec9 = IsString(), _dec10 = Matches(WEBSITE_FILE_LINK_MIME_TYPE_REGEX), _dec11 = MaxLength(WEBSITE_FILE_LINK_MIME_TYPE_MAX_LENGTH), _dec12 = Reflect.metadata("design:type", typeof WebsiteFileLinkType === "undefined" ? Object : WebsiteFileLinkType), _dec13 = Expose(), _dec14 = IsOptional(), _dec15 = IsString(), _dec16 = MaxLength(WEBSITE_FILE_LINK_NAME_MAX_LENGTH), _dec17 = Reflect.metadata("design:type", typeof WebsiteFileLinkName === "undefined" ? Object : WebsiteFileLinkName), _dec18 = IsString(), _dec19 = IsNotEmpty(), _dec20 = Matches(WEBSITE_FILE_LINK_DATA_REGEX), _dec21 = MaxLength(WEBSITE_FILE_LINK_DATA_MAX_LENGTH), _dec22 = Reflect.metadata("design:type", typeof WebsiteFileLinkData === "undefined" ? Object : WebsiteFileLinkData), (_class = class WebsiteFileLink {
1987
+ constructor(template) {
1988
+ _initializerDefineProperty(this, "type", _descriptor, this);
1989
+ _initializerDefineProperty(this, "mime", _descriptor2, this);
1990
+ _initializerDefineProperty(this, "name", _descriptor3, this);
1991
+ _initializerDefineProperty(this, "data", _descriptor4, this);
1992
+ if (template != null) {
1993
+ this.type = template.type;
1994
+ this.mime = template.mime;
1995
+ this.name = template.name;
1996
+ this.data = template.data;
1997
+ }
1998
+ }
1999
+ }, (_descriptor = _applyDecoratedDescriptor(_class.prototype, "type", [_dec, _dec2, _dec3, _dec4, _dec5, _dec6], {
2000
+ configurable: true,
2001
+ enumerable: true,
2002
+ writable: true,
2003
+ initializer: null
2004
+ }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, "mime", [_dec7, _dec8, _dec9, _dec10, _dec11, _dec12], {
2005
+ configurable: true,
2006
+ enumerable: true,
2007
+ writable: true,
2008
+ initializer: null
2009
+ }), _descriptor3 = _applyDecoratedDescriptor(_class.prototype, "name", [_dec13, _dec14, _dec15, _dec16, _dec17], {
2010
+ configurable: true,
2011
+ enumerable: true,
2012
+ writable: true,
2013
+ initializer: null
2014
+ }), _descriptor4 = _applyDecoratedDescriptor(_class.prototype, "data", [_dec18, _dec19, _dec20, _dec21, _dec22], {
2015
+ configurable: true,
2016
+ enumerable: true,
2017
+ writable: true,
2018
+ initializer: null
2019
+ })), _class));
2020
+ const WEBSITE_FILE_LINK_WEBSITE_LINK_TYPE = 'f';
2021
+ function websiteFileLinkToWebsiteLink(input) {
2022
+ return {
2023
+ t: WEBSITE_FILE_LINK_WEBSITE_LINK_TYPE,
2024
+ d: encodeWebsiteFileLinkToWebsiteLinkEncodedData(input)
2025
+ };
2026
+ }
2027
+ function websiteLinkToWebsiteLinkFile(input) {
2028
+ const encodedData = input.d;
2029
+ return decodeWebsiteLinkEncodedDataToWebsiteFileLink(encodedData);
2030
+ }
2031
+ const WEBSITE_FILE_LINK_ENCODE_SEPARATOR = '|';
2032
+ function encodeWebsiteFileLinkToWebsiteLinkEncodedData(input) {
2033
+ const encoded = [input.type, input.mime, input.data, input.name].map(x => x || '').join(WEBSITE_FILE_LINK_ENCODE_SEPARATOR);
2034
+ return encoded;
2035
+ }
2036
+ function decodeWebsiteLinkEncodedDataToWebsiteFileLink(input) {
2037
+ const [type, mime, data, name] = splitJoinRemainder(input, WEBSITE_FILE_LINK_ENCODE_SEPARATOR, 4);
2038
+ return filterFalsyAndEmptyValues({
2039
+ type,
2040
+ mime,
2041
+ name,
2042
+ data
2043
+ });
2044
+ }
2045
+
2046
+ /**
2047
+ * Used for isolating a username from a website that has the username as the base url.
2048
+ *
2049
+ * Example:
2050
+ * - https://facebook.com/facebook
2051
+ */
2052
+ const WEBSITE_LINK_ISOLATE_BASE_URL_PROFILE_ID = isolateWebsitePathFunction({
2053
+ isolatePathComponents: 0,
2054
+ removeTrailingSlash: true,
2055
+ removeQueryParameters: true
2056
+ });
2057
+ function usernameFromUsernameOrWebsiteWithBaseUrlUsername(input, prefix) {
2058
+ const username = toRelativeSlashPathStartType(WEBSITE_LINK_ISOLATE_BASE_URL_PROFILE_ID(usernameOrWebsiteUrlToWebsiteUrl(input)));
2059
+ if (prefix) {
2060
+ return addPrefix(prefix, username);
2061
+ } else {
2062
+ return username;
2063
+ }
2064
+ }
2065
+ function usernameFromUsernameOrWebsiteWithOneOffBaseUrlUsername(input, isolateFn) {
2066
+ return toRelativeSlashPathStartType(isolateFn(usernameOrWebsiteUrlToWebsiteUrl(input)));
2067
+ }
2068
+ function usernameOrWebsiteUrlToWebsiteUrl(input) {
2069
+ return hasWebsiteDomain(input) ? input : toAbsoluteSlashPathStartType(removeHttpFromUrl(input));
2070
+ }
2071
+
2072
+ // MARK: Website
2073
+ const WEBSITE_URL_WEBSITE_LINK_TYPE = 'w';
2074
+ function websiteUrlToWebsiteLink(input) {
2075
+ return {
2076
+ t: WEBSITE_URL_WEBSITE_LINK_TYPE,
2077
+ d: removeHttpFromUrl(input) // website urls are stored as-is without http/https
2078
+ };
2079
+ }
2080
+
2081
+ // MARK: Email
2082
+ const EMAIL_URL_WEBSITE_LINK_TYPE = 'e';
2083
+ function emailAddressToWebsiteLink(input) {
2084
+ return {
2085
+ t: EMAIL_URL_WEBSITE_LINK_TYPE,
2086
+ d: input
2087
+ };
2088
+ }
2089
+
2090
+ // MARK: Phone
2091
+ const PHONE_URL_WEBSITE_LINK_TYPE = 'p';
2092
+ function phoneNumberToWebsiteLink(input) {
2093
+ return {
2094
+ t: PHONE_URL_WEBSITE_LINK_TYPE,
2095
+ d: input
2096
+ };
2097
+ }
2098
+
2099
+ // MARK: Facebook
2100
+ const FACEBOOK_BASE_URL = `https://www.facebook.com`;
2101
+ const FACEBOOK_WEBSITE_LINK_TYPE = 'fb';
2102
+ function facebookProfileUrlToWebsiteLink(input) {
2103
+ return {
2104
+ t: FACEBOOK_WEBSITE_LINK_TYPE,
2105
+ d: usernameFromUsernameOrWebsiteWithBaseUrlUsername(input)
2106
+ };
2107
+ }
2108
+ function facebookProfileUrl(profileId) {
2109
+ return `${FACEBOOK_BASE_URL}/${profileId}`;
2110
+ }
2111
+
2112
+ // MARK: Instagram
2113
+ const INSTAGRAM_BASE_URL = `https://www.instagram.com`;
2114
+ const INSTAGRAM_WEBSITE_LINK_TYPE = 'ig';
2115
+ function instagramProfileUrlToWebsiteLink(input) {
2116
+ return {
2117
+ t: INSTAGRAM_WEBSITE_LINK_TYPE,
2118
+ d: usernameFromUsernameOrWebsiteWithBaseUrlUsername(input)
2119
+ };
2120
+ }
2121
+ function instagramProfileUrl(profileId) {
2122
+ return `${INSTAGRAM_BASE_URL}/${profileId}`;
2123
+ }
2124
+
2125
+ // MARK: Twitter
2126
+ const TWITTER_BASE_URL = `https://www.twitter.com`;
2127
+ const TWITTER_WEBSITE_LINK_TYPE = 'tw';
2128
+ function twitterProfileUrlToWebsiteLink(input) {
2129
+ return {
2130
+ t: TWITTER_WEBSITE_LINK_TYPE,
2131
+ d: usernameFromUsernameOrWebsiteWithBaseUrlUsername(input)
2132
+ };
2133
+ }
2134
+ function twitterProfileUrl(profileId) {
2135
+ return `${TWITTER_BASE_URL}/${profileId}`;
2136
+ }
2137
+
2138
+ // MARK: Tiktok
2139
+ const TIKTOK_BASE_URL = `https://tiktok.com`;
2140
+ const TIKTOK_USERNAME_PREFIX = '@';
2141
+ const TIKTOK_WEBSITE_LINK_TYPE = 'tt';
2142
+ function tiktokProfileUrlToWebsiteLink(input) {
2143
+ return {
2144
+ t: TIKTOK_WEBSITE_LINK_TYPE,
2145
+ d: usernameFromUsernameOrWebsiteWithBaseUrlUsername(input, TIKTOK_USERNAME_PREFIX)
2146
+ };
2147
+ }
2148
+ function tiktokProfileUrl(profileId) {
2149
+ return `${TIKTOK_BASE_URL}/@${profileId}`;
2150
+ }
2151
+
2152
+ // MARK: Snapchat
2153
+ const SNAPCHAT_BASE_URL = `https://snapchat.com`;
2154
+ const SNAPCHAT_WEBSITE_LINK_TYPE = 'sc';
2155
+ const SNAPCHAT_WEBSITE_LINK_ISOLATE_PROFILE_ID = isolateWebsitePathFunction({
2156
+ ignoredBasePath: 'add',
2157
+ isolatePathComponents: 0,
2158
+ removeTrailingSlash: true,
2159
+ removeQueryParameters: true
2160
+ });
2161
+ function snapchatProfileUrlToWebsiteLink(input) {
2162
+ return {
2163
+ t: SNAPCHAT_WEBSITE_LINK_TYPE,
2164
+ d: usernameFromUsernameOrWebsiteWithOneOffBaseUrlUsername(input, SNAPCHAT_WEBSITE_LINK_ISOLATE_PROFILE_ID)
2165
+ };
2166
+ }
2167
+ function snapchatProfileUrl(profileId) {
2168
+ return `${SNAPCHAT_BASE_URL}/add/${profileId}`;
2169
+ }
2170
+
2171
+ // MARK: YouTube
2172
+ const YOUTUBE_BASE_URL = `https://youtube.com`;
2173
+ const YOUTUBE_WEBSITE_LINK_TYPE = 'yt';
2174
+ const YOUTUBE_WEBSITE_LINK_ISOLATE_PROFILE_ID = isolateWebsitePathFunction({
2175
+ ignoredBasePath: 'c',
2176
+ isolatePathComponents: 0,
2177
+ removeTrailingSlash: true,
2178
+ removeQueryParameters: true
2179
+ });
2180
+ function youtubeProfileUrlToWebsiteLink(input) {
2181
+ return {
2182
+ t: YOUTUBE_WEBSITE_LINK_TYPE,
2183
+ d: usernameFromUsernameOrWebsiteWithOneOffBaseUrlUsername(input, YOUTUBE_WEBSITE_LINK_ISOLATE_PROFILE_ID)
2184
+ };
2185
+ }
2186
+ function youtubeProfileUrl(profileId) {
2187
+ return `${YOUTUBE_BASE_URL}/c/${profileId}`;
2188
+ }
2189
+
2190
+ // MARK: PayPal
2191
+ const PAYPAL_BASE_URL = `https://paypal.me`;
2192
+ const PAYPAL_WEBSITE_LINK_TYPE = 'pp';
2193
+ function paypalProfileUrlToWebsiteLink(input) {
2194
+ return {
2195
+ t: PAYPAL_WEBSITE_LINK_TYPE,
2196
+ d: usernameFromUsernameOrWebsiteWithBaseUrlUsername(input)
2197
+ };
2198
+ }
2199
+ function paypalProfileUrl(profileId) {
2200
+ return `${PAYPAL_BASE_URL}/${profileId}`;
2201
+ }
2202
+
2203
+ // MARK: Cashapp
2204
+ const CASHAPP_BASE_URL = `https://cash.app`;
2205
+ const CASHAPP_USERNAME_PREFIX = '$';
2206
+ const CASHAPP_WEBSITE_LINK_TYPE = 'ca';
2207
+ function cashappProfileUrlToWebsiteLink(input) {
2208
+ return {
2209
+ t: CASHAPP_WEBSITE_LINK_TYPE,
2210
+ d: usernameFromUsernameOrWebsiteWithBaseUrlUsername(input, CASHAPP_USERNAME_PREFIX)
2211
+ };
2212
+ }
2213
+ function cashappProfileUrl(profileId) {
2214
+ return `${CASHAPP_BASE_URL}/$${profileId}`;
2215
+ }
2216
+
2217
+ // MARK: Venmo
2218
+ const VENMO_BASE_URL = `https://account.venmo.com`;
2219
+ const VENMO_WEBSITE_LINK_TYPE = 'vn';
2220
+ const VENMO_WEBSITE_LINK_ISOLATE_PROFILE_ID = isolateWebsitePathFunction({
2221
+ ignoredBasePath: 'u',
2222
+ isolatePathComponents: 0,
2223
+ removeTrailingSlash: true,
2224
+ removeQueryParameters: true
2225
+ });
2226
+ function venmoProfileUrlToWebsiteLink(input) {
2227
+ return {
2228
+ t: VENMO_WEBSITE_LINK_TYPE,
2229
+ d: usernameFromUsernameOrWebsiteWithOneOffBaseUrlUsername(input, VENMO_WEBSITE_LINK_ISOLATE_PROFILE_ID)
2230
+ };
2231
+ }
2232
+ function venmoProfileUrl(profileId) {
2233
+ return `${VENMO_BASE_URL}/u/${profileId}`;
2234
+ }
2235
+
2236
+ // MARK: Spotify
2237
+ const SPOTIFY_BASE_URL = `https://open.spotify.com/`;
2238
+ const SPOTIFY_WEBSITE_LINK_TYPE = 'sp';
2239
+ const SPOTIFY_WEBSITE_LINK_ISOLATE_PROFILE_ID = isolateWebsitePathFunction({
2240
+ ignoredBasePath: 'user',
2241
+ isolatePathComponents: 0,
2242
+ removeTrailingSlash: true,
2243
+ removeQueryParameters: true
2244
+ });
2245
+ function spotifyProfileUrlToWebsiteLink(input) {
2246
+ return {
2247
+ t: SPOTIFY_WEBSITE_LINK_TYPE,
2248
+ d: usernameFromUsernameOrWebsiteWithOneOffBaseUrlUsername(input, SPOTIFY_WEBSITE_LINK_ISOLATE_PROFILE_ID)
2249
+ };
2250
+ }
2251
+ function spotifyProfileUrl(profileId) {
2252
+ return `${SPOTIFY_BASE_URL}/user/${profileId}`;
2253
+ }
2254
+
2255
+ /**
2256
+ * A granted role for a model.
2257
+ */
2258
+
2259
+ /**
2260
+ * Communicates that the current context is a system admin.
2261
+ */
2262
+
2263
+ const GRANTED_SYS_ADMIN_ROLE_KEY = 'sysadmin';
2264
+
2265
+ /**
2266
+ * Communicates that the current context is an admin/owner.
2267
+ */
2268
+
2269
+ const GRANTED_OWNER_ROLE_KEY = 'owner';
2270
+
2271
+ /**
2272
+ * Communicates that the current context is an admin.
2273
+ */
2274
+
2275
+ const GRANTED_ADMIN_ROLE_KEY = 'admin';
2276
+
2277
+ /**
2278
+ * Returns true if the input role is a GrantedAdminRole or a GrantedOwnerRole.
2279
+ *
2280
+ * @param role
2281
+ * @returns
2282
+ */
2283
+ function isGrantedAdminLevelRole(role) {
2284
+ return role === GRANTED_ADMIN_ROLE_KEY || role === GRANTED_OWNER_ROLE_KEY;
2285
+ }
2286
+
2287
+ /**
2288
+ * Communicates that the current context has read access to a model.
2289
+ */
2290
+
2291
+ const GRANTED_READ_ROLE_KEY = 'read';
2292
+
2293
+ /**
2294
+ * Communicates that the current context has update access to a model.
2295
+ */
2296
+
2297
+ const GRANTED_UPDATE_ROLE_KEY = 'update';
2298
+
2299
+ /**
2300
+ * Communicates that the current context has delete access to a model.
2301
+ */
2302
+
2303
+ const GRANTED_DELETE_ROLE_KEY = 'delete';
2304
+ const FULL_ACCESS_ROLE_KEY = '__FULL__';
2305
+
2306
+ /**
2307
+ * Communicates that the current context has full access to a model.
2308
+ */
2309
+
2310
+ const NO_ACCESS_ROLE_KEY = '__EMPTY__';
2311
+ function noAccessRoleMap() {
2312
+ return {
2313
+ [NO_ACCESS_ROLE_KEY]: true
2314
+ };
2315
+ }
2316
+ function isNoAccessRoleMap(input) {
2317
+ return input[NO_ACCESS_ROLE_KEY] === true;
2318
+ }
2319
+ function fullAccessRoleMap() {
2320
+ return {
2321
+ [FULL_ACCESS_ROLE_KEY]: true
2322
+ };
2323
+ }
2324
+ function isFullAccessRoleMap(input) {
2325
+ return input[FULL_ACCESS_ROLE_KEY] === true;
2326
+ }
2327
+
2328
+ /**
2329
+ * Values keyed by roles.
2330
+ */
2331
+
2332
+ /**
2333
+ * Output that removes the keys of all roles that are not contained.
2334
+ */
2335
+
2336
+ /**
2337
+ * Reader used for parsing/reading role values from a given context.
2338
+ */
2339
+
2340
+ /**
2341
+ * Creates a GrantedRoleMapReader.
2342
+ *
2343
+ * @param map
2344
+ * @returns
2345
+ */
2346
+ function grantedRoleMapReader(map) {
2347
+ return new GrantedRoleMapReaderInstance(map);
2348
+ }
2349
+ class GrantedRoleMapReaderInstance {
2350
+ constructor(_map) {
2351
+ this._map = _map;
2352
+ }
2353
+ hasNoAccess() {
2354
+ return this._map[NO_ACCESS_ROLE_KEY];
2355
+ }
2356
+ truthMap(input) {
2357
+ const result = {};
2358
+ forEachKeyValue(input, {
2359
+ forEach: ([role, value]) => {
2360
+ if (this.hasRole(role)) {
2361
+ result[role] = value;
2362
+ }
2363
+ }
2364
+ });
2365
+ return result;
2366
+ }
2367
+ hasRole(role) {
2368
+ return this.hasRoles('any', role);
2369
+ }
2370
+ hasRoles(setIncludes, inputRoles) {
2371
+ if (this._map[FULL_ACCESS_ROLE_KEY]) {
2372
+ return true;
2373
+ } else {
2374
+ return this.containsRoles(setIncludes, inputRoles);
2375
+ }
2376
+ }
2377
+ containsRoles(setIncludes, inputRoles) {
2378
+ const roles = iterableToArray(inputRoles);
2379
+ if (setIncludes === 'any') {
2380
+ return this.containsAnyRole(roles);
2381
+ } else {
2382
+ return this.containsEachRole(roles);
2383
+ }
2384
+ }
2385
+ containsAnyRole(roles) {
2386
+ for (const role of roles) {
2387
+ if (this._map[role]) {
2388
+ return true;
2389
+ }
2390
+ }
2391
+ return false;
2392
+ }
2393
+ containsEachRole(roles) {
2394
+ for (const role of roles) {
2395
+ if (!this._map[role]) {
2396
+ return false;
2397
+ }
2398
+ }
2399
+ return true;
2400
+ }
2401
+ }
2402
+
2403
+ /**
2404
+ * Converts the input array of roles to a GrantedRoleKeysMap.
2405
+ *
2406
+ * @param roles
2407
+ * @returns
2408
+ */
2409
+ function grantedRoleKeysMapFromArray(roles, value = true) {
2410
+ return arrayToObject(roles, x => x, () => value);
2411
+ }
2412
+
2413
+ var global$7 = global$m;
2414
+ var classof$2 = classofRaw$2;
2415
+
2416
+ var engineIsNode = classof$2(global$7.process) === 'process';
2417
+
2418
+ var makeBuiltIn = makeBuiltIn$3.exports;
2419
+ var defineProperty$1 = objectDefineProperty;
2420
+
2421
+ var defineBuiltInAccessor$1 = function (target, name, descriptor) {
2422
+ if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });
2423
+ if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });
2424
+ return defineProperty$1.f(target, name, descriptor);
2425
+ };
2426
+
2427
+ var getBuiltIn$3 = getBuiltIn$7;
2428
+ var defineBuiltInAccessor = defineBuiltInAccessor$1;
2429
+ var wellKnownSymbol$5 = wellKnownSymbol$e;
2430
+ var DESCRIPTORS$2 = descriptors;
2431
+
2432
+ var SPECIES$2 = wellKnownSymbol$5('species');
2433
+
2434
+ var setSpecies$1 = function (CONSTRUCTOR_NAME) {
2435
+ var Constructor = getBuiltIn$3(CONSTRUCTOR_NAME);
2436
+
2437
+ if (DESCRIPTORS$2 && Constructor && !Constructor[SPECIES$2]) {
2438
+ defineBuiltInAccessor(Constructor, SPECIES$2, {
2439
+ configurable: true,
2440
+ get: function () { return this; }
2441
+ });
2442
+ }
2443
+ };
2444
+
2445
+ var isPrototypeOf$1 = objectIsPrototypeOf;
2446
+
2447
+ var $TypeError$5 = TypeError;
2448
+
2449
+ var anInstance$1 = function (it, Prototype) {
2450
+ if (isPrototypeOf$1(Prototype, it)) return it;
2451
+ throw new $TypeError$5('Incorrect invocation');
2452
+ };
2453
+
2454
+ var uncurryThis$4 = functionUncurryThis;
2455
+ var fails$2 = fails$g;
2456
+ var isCallable$4 = isCallable$j;
2457
+ var classof$1 = classof$4;
2458
+ var getBuiltIn$2 = getBuiltIn$7;
2459
+ var inspectSource$1 = inspectSource$3;
2460
+
2461
+ var noop = function () { /* empty */ };
2462
+ var empty = [];
2463
+ var construct = getBuiltIn$2('Reflect', 'construct');
2464
+ var constructorRegExp = /^\s*(?:class|function)\b/;
2465
+ var exec = uncurryThis$4(constructorRegExp.exec);
2466
+ var INCORRECT_TO_STRING = !constructorRegExp.test(noop);
2467
+
2468
+ var isConstructorModern = function isConstructor(argument) {
2469
+ if (!isCallable$4(argument)) return false;
2470
+ try {
2471
+ construct(noop, empty, argument);
2472
+ return true;
2473
+ } catch (error) {
2474
+ return false;
2475
+ }
2476
+ };
2477
+
2478
+ var isConstructorLegacy = function isConstructor(argument) {
2479
+ if (!isCallable$4(argument)) return false;
2480
+ switch (classof$1(argument)) {
2481
+ case 'AsyncFunction':
2482
+ case 'GeneratorFunction':
2483
+ case 'AsyncGeneratorFunction': return false;
2484
+ }
2485
+ try {
2486
+ // we can't check .prototype since constructors produced by .bind haven't it
2487
+ // `Function#toString` throws on some built-it function in some legacy engines
2488
+ // (for example, `DOMQuad` and similar in FF41-)
2489
+ return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource$1(argument));
2490
+ } catch (error) {
2491
+ return true;
2492
+ }
2493
+ };
2494
+
2495
+ isConstructorLegacy.sham = true;
2496
+
2497
+ // `IsConstructor` abstract operation
2498
+ // https://tc39.es/ecma262/#sec-isconstructor
2499
+ var isConstructor$1 = !construct || fails$2(function () {
2500
+ var called;
2501
+ return isConstructorModern(isConstructorModern.call)
2502
+ || !isConstructorModern(Object)
2503
+ || !isConstructorModern(function () { called = true; })
2504
+ || called;
2505
+ }) ? isConstructorLegacy : isConstructorModern;
2506
+
2507
+ var isConstructor = isConstructor$1;
2508
+ var tryToString$2 = tryToString$4;
2509
+
2510
+ var $TypeError$4 = TypeError;
2511
+
2512
+ // `Assert: IsConstructor(argument) is true`
2513
+ var aConstructor$1 = function (argument) {
2514
+ if (isConstructor(argument)) return argument;
2515
+ throw new $TypeError$4(tryToString$2(argument) + ' is not a constructor');
2516
+ };
2517
+
2518
+ var anObject$4 = anObject$b;
2519
+ var aConstructor = aConstructor$1;
2520
+ var isNullOrUndefined$1 = isNullOrUndefined$4;
2521
+ var wellKnownSymbol$4 = wellKnownSymbol$e;
2522
+
2523
+ var SPECIES$1 = wellKnownSymbol$4('species');
2524
+
2525
+ // `SpeciesConstructor` abstract operation
2526
+ // https://tc39.es/ecma262/#sec-speciesconstructor
2527
+ var speciesConstructor$1 = function (O, defaultConstructor) {
2528
+ var C = anObject$4(O).constructor;
2529
+ var S;
2530
+ return C === undefined || isNullOrUndefined$1(S = anObject$4(C)[SPECIES$1]) ? defaultConstructor : aConstructor(S);
2531
+ };
2532
+
2533
+ var NATIVE_BIND$1 = functionBindNative;
2534
+
2535
+ var FunctionPrototype = Function.prototype;
2536
+ var apply$1 = FunctionPrototype.apply;
2537
+ var call$7 = FunctionPrototype.call;
2538
+
2539
+ // eslint-disable-next-line es/no-reflect -- safe
2540
+ var functionApply = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND$1 ? call$7.bind(apply$1) : function () {
2541
+ return call$7.apply(apply$1, arguments);
2542
+ });
2543
+
2544
+ var classofRaw = classofRaw$2;
2545
+ var uncurryThis$3 = functionUncurryThis;
2546
+
2547
+ var functionUncurryThisClause = function (fn) {
2548
+ // Nashorn bug:
2549
+ // https://github.com/zloirock/core-js/issues/1128
2550
+ // https://github.com/zloirock/core-js/issues/1130
2551
+ if (classofRaw(fn) === 'Function') return uncurryThis$3(fn);
2552
+ };
2553
+
2554
+ var uncurryThis$2 = functionUncurryThisClause;
2555
+ var aCallable$5 = aCallable$8;
2556
+ var NATIVE_BIND = functionBindNative;
2557
+
2558
+ var bind$4 = uncurryThis$2(uncurryThis$2.bind);
2559
+
2560
+ // optional / simple context binding
2561
+ var functionBindContext = function (fn, that) {
2562
+ aCallable$5(fn);
2563
+ return that === undefined ? fn : NATIVE_BIND ? bind$4(fn, that) : function (/* ...args */) {
2564
+ return fn.apply(that, arguments);
2565
+ };
2566
+ };
2567
+
2568
+ var uncurryThis$1 = functionUncurryThis;
2569
+
2570
+ var arraySlice$1 = uncurryThis$1([].slice);
2571
+
2572
+ var $TypeError$3 = TypeError;
2573
+
2574
+ var validateArgumentsLength$1 = function (passed, required) {
2575
+ if (passed < required) throw new $TypeError$3('Not enough arguments');
2576
+ return passed;
2577
+ };
2578
+
2579
+ var userAgent$2 = engineUserAgent;
2580
+
2581
+ // eslint-disable-next-line redos/no-vulnerable -- safe
2582
+ var engineIsIos = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent$2);
2583
+
2584
+ var global$6 = global$m;
2585
+ var apply = functionApply;
2586
+ var bind$3 = functionBindContext;
2587
+ var isCallable$3 = isCallable$j;
2588
+ var hasOwn = hasOwnProperty_1;
2589
+ var fails$1 = fails$g;
2590
+ var html = html$2;
2591
+ var arraySlice = arraySlice$1;
2592
+ var createElement = documentCreateElement$2;
2593
+ var validateArgumentsLength = validateArgumentsLength$1;
2594
+ var IS_IOS$1 = engineIsIos;
2595
+ var IS_NODE$3 = engineIsNode;
2596
+
2597
+ var set = global$6.setImmediate;
2598
+ var clear = global$6.clearImmediate;
2599
+ var process$2 = global$6.process;
2600
+ var Dispatch = global$6.Dispatch;
2601
+ var Function$1 = global$6.Function;
2602
+ var MessageChannel = global$6.MessageChannel;
2603
+ var String$1 = global$6.String;
2604
+ var counter = 0;
2605
+ var queue$2 = {};
2606
+ var ONREADYSTATECHANGE = 'onreadystatechange';
2607
+ var $location, defer, channel, port;
2608
+
2609
+ fails$1(function () {
2610
+ // Deno throws a ReferenceError on `location` access without `--location` flag
2611
+ $location = global$6.location;
2612
+ });
2613
+
2614
+ var run = function (id) {
2615
+ if (hasOwn(queue$2, id)) {
2616
+ var fn = queue$2[id];
2617
+ delete queue$2[id];
2618
+ fn();
2619
+ }
2620
+ };
2621
+
2622
+ var runner = function (id) {
2623
+ return function () {
2624
+ run(id);
2625
+ };
2626
+ };
2627
+
2628
+ var eventListener = function (event) {
2629
+ run(event.data);
2630
+ };
2631
+
2632
+ var globalPostMessageDefer = function (id) {
2633
+ // old engines have not location.origin
2634
+ global$6.postMessage(String$1(id), $location.protocol + '//' + $location.host);
2635
+ };
2636
+
2637
+ // Node.js 0.9+ & IE10+ has setImmediate, otherwise:
2638
+ if (!set || !clear) {
2639
+ set = function setImmediate(handler) {
2640
+ validateArgumentsLength(arguments.length, 1);
2641
+ var fn = isCallable$3(handler) ? handler : Function$1(handler);
2642
+ var args = arraySlice(arguments, 1);
2643
+ queue$2[++counter] = function () {
2644
+ apply(fn, undefined, args);
2645
+ };
2646
+ defer(counter);
2647
+ return counter;
2648
+ };
2649
+ clear = function clearImmediate(id) {
2650
+ delete queue$2[id];
2651
+ };
2652
+ // Node.js 0.8-
2653
+ if (IS_NODE$3) {
2654
+ defer = function (id) {
2655
+ process$2.nextTick(runner(id));
2656
+ };
2657
+ // Sphere (JS game engine) Dispatch API
2658
+ } else if (Dispatch && Dispatch.now) {
2659
+ defer = function (id) {
2660
+ Dispatch.now(runner(id));
2661
+ };
2662
+ // Browsers with MessageChannel, includes WebWorkers
2663
+ // except iOS - https://github.com/zloirock/core-js/issues/624
2664
+ } else if (MessageChannel && !IS_IOS$1) {
2665
+ channel = new MessageChannel();
2666
+ port = channel.port2;
2667
+ channel.port1.onmessage = eventListener;
2668
+ defer = bind$3(port.postMessage, port);
2669
+ // Browsers with postMessage, skip WebWorkers
2670
+ // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
2671
+ } else if (
2672
+ global$6.addEventListener &&
2673
+ isCallable$3(global$6.postMessage) &&
2674
+ !global$6.importScripts &&
2675
+ $location && $location.protocol !== 'file:' &&
2676
+ !fails$1(globalPostMessageDefer)
2677
+ ) {
2678
+ defer = globalPostMessageDefer;
2679
+ global$6.addEventListener('message', eventListener, false);
2680
+ // IE8-
2681
+ } else if (ONREADYSTATECHANGE in createElement('script')) {
2682
+ defer = function (id) {
2683
+ html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {
2684
+ html.removeChild(this);
2685
+ run(id);
2686
+ };
2687
+ };
2688
+ // Rest old browsers
2689
+ } else {
2690
+ defer = function (id) {
2691
+ setTimeout(runner(id), 0);
2692
+ };
2693
+ }
2694
+ }
2695
+
2696
+ var task$1 = {
2697
+ set: set,
2698
+ clear: clear
2699
+ };
2700
+
2701
+ var global$5 = global$m;
2702
+ var DESCRIPTORS$1 = descriptors;
2703
+
2704
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
2705
+ var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
2706
+
2707
+ // Avoid NodeJS experimental warning
2708
+ var safeGetBuiltIn$1 = function (name) {
2709
+ if (!DESCRIPTORS$1) return global$5[name];
2710
+ var descriptor = getOwnPropertyDescriptor(global$5, name);
2711
+ return descriptor && descriptor.value;
2712
+ };
2713
+
2714
+ var Queue$2 = function () {
2715
+ this.head = null;
2716
+ this.tail = null;
2717
+ };
2718
+
2719
+ Queue$2.prototype = {
2720
+ add: function (item) {
2721
+ var entry = { item: item, next: null };
2722
+ var tail = this.tail;
2723
+ if (tail) tail.next = entry;
2724
+ else this.head = entry;
2725
+ this.tail = entry;
2726
+ },
2727
+ get: function () {
2728
+ var entry = this.head;
2729
+ if (entry) {
2730
+ var next = this.head = entry.next;
2731
+ if (next === null) this.tail = null;
2732
+ return entry.item;
2733
+ }
2734
+ }
2735
+ };
2736
+
2737
+ var queue$1 = Queue$2;
2738
+
2739
+ var userAgent$1 = engineUserAgent;
2740
+
2741
+ var engineIsIosPebble = /ipad|iphone|ipod/i.test(userAgent$1) && typeof Pebble != 'undefined';
2742
+
2743
+ var userAgent = engineUserAgent;
2744
+
2745
+ var engineIsWebosWebkit = /web0s(?!.*chrome)/i.test(userAgent);
2746
+
2747
+ var global$4 = global$m;
2748
+ var safeGetBuiltIn = safeGetBuiltIn$1;
2749
+ var bind$2 = functionBindContext;
2750
+ var macrotask = task$1.set;
2751
+ var Queue$1 = queue$1;
2752
+ var IS_IOS = engineIsIos;
2753
+ var IS_IOS_PEBBLE = engineIsIosPebble;
2754
+ var IS_WEBOS_WEBKIT = engineIsWebosWebkit;
2755
+ var IS_NODE$2 = engineIsNode;
2756
+
2757
+ var MutationObserver = global$4.MutationObserver || global$4.WebKitMutationObserver;
2758
+ var document$2 = global$4.document;
2759
+ var process$1 = global$4.process;
2760
+ var Promise$1 = global$4.Promise;
2761
+ var microtask$1 = safeGetBuiltIn('queueMicrotask');
2762
+ var notify$1, toggle, node, promise, then;
2763
+
2764
+ // modern engines have queueMicrotask method
2765
+ if (!microtask$1) {
2766
+ var queue = new Queue$1();
2767
+
2768
+ var flush = function () {
2769
+ var parent, fn;
2770
+ if (IS_NODE$2 && (parent = process$1.domain)) parent.exit();
2771
+ while (fn = queue.get()) try {
2772
+ fn();
2773
+ } catch (error) {
2774
+ if (queue.head) notify$1();
2775
+ throw error;
2776
+ }
2777
+ if (parent) parent.enter();
2778
+ };
2779
+
2780
+ // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339
2781
+ // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898
2782
+ if (!IS_IOS && !IS_NODE$2 && !IS_WEBOS_WEBKIT && MutationObserver && document$2) {
2783
+ toggle = true;
2784
+ node = document$2.createTextNode('');
2785
+ new MutationObserver(flush).observe(node, { characterData: true });
2786
+ notify$1 = function () {
2787
+ node.data = toggle = !toggle;
2788
+ };
2789
+ // environments with maybe non-completely correct, but existent Promise
2790
+ } else if (!IS_IOS_PEBBLE && Promise$1 && Promise$1.resolve) {
2791
+ // Promise.resolve without an argument throws an error in LG WebOS 2
2792
+ promise = Promise$1.resolve(undefined);
2793
+ // workaround of WebKit ~ iOS Safari 10.1 bug
2794
+ promise.constructor = Promise$1;
2795
+ then = bind$2(promise.then, promise);
2796
+ notify$1 = function () {
2797
+ then(flush);
2798
+ };
2799
+ // Node.js without promises
2800
+ } else if (IS_NODE$2) {
2801
+ notify$1 = function () {
2802
+ process$1.nextTick(flush);
2803
+ };
2804
+ // for other environments - macrotask based on:
2805
+ // - setImmediate
2806
+ // - MessageChannel
2807
+ // - window.postMessage
2808
+ // - onreadystatechange
2809
+ // - setTimeout
2810
+ } else {
2811
+ // `webpack` dev server bug on IE global methods - use bind(fn, global)
2812
+ macrotask = bind$2(macrotask, global$4);
2813
+ notify$1 = function () {
2814
+ macrotask(flush);
2815
+ };
2816
+ }
2817
+
2818
+ microtask$1 = function (fn) {
2819
+ if (!queue.head) notify$1();
2820
+ queue.add(fn);
2821
+ };
2822
+ }
2823
+
2824
+ var microtask_1 = microtask$1;
2825
+
2826
+ var hostReportErrors$1 = function (a, b) {
2827
+ try {
2828
+ // eslint-disable-next-line no-console -- safe
2829
+ arguments.length === 1 ? console.error(a) : console.error(a, b);
2830
+ } catch (error) { /* empty */ }
2831
+ };
2832
+
2833
+ var perform$3 = function (exec) {
2834
+ try {
2835
+ return { error: false, value: exec() };
2836
+ } catch (error) {
2837
+ return { error: true, value: error };
2838
+ }
2839
+ };
2840
+
2841
+ var global$3 = global$m;
2842
+
2843
+ var promiseNativeConstructor = global$3.Promise;
2844
+
2845
+ /* global Deno -- Deno case */
2846
+ var engineIsDeno = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';
2847
+
2848
+ var IS_DENO$1 = engineIsDeno;
2849
+ var IS_NODE$1 = engineIsNode;
2850
+
2851
+ var engineIsBrowser = !IS_DENO$1 && !IS_NODE$1
2852
+ && typeof window == 'object'
2853
+ && typeof document == 'object';
2854
+
2855
+ var global$2 = global$m;
2856
+ var NativePromiseConstructor$3 = promiseNativeConstructor;
2857
+ var isCallable$2 = isCallable$j;
2858
+ var isForced = isForced_1;
2859
+ var inspectSource = inspectSource$3;
2860
+ var wellKnownSymbol$3 = wellKnownSymbol$e;
2861
+ var IS_BROWSER = engineIsBrowser;
2862
+ var IS_DENO = engineIsDeno;
2863
+ var V8_VERSION = engineV8Version;
2864
+
2865
+ NativePromiseConstructor$3 && NativePromiseConstructor$3.prototype;
2866
+ var SPECIES = wellKnownSymbol$3('species');
2867
+ var SUBCLASSING = false;
2868
+ var NATIVE_PROMISE_REJECTION_EVENT$1 = isCallable$2(global$2.PromiseRejectionEvent);
2869
+
2870
+ var FORCED_PROMISE_CONSTRUCTOR$5 = isForced('Promise', function () {
2871
+ var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor$3);
2872
+ var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor$3);
2873
+ // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
2874
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
2875
+ // We can't detect it synchronously, so just check versions
2876
+ if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;
2877
+ // We can't use @@species feature detection in V8 since it causes
2878
+ // deoptimization and performance degradation
2879
+ // https://github.com/zloirock/core-js/issues/679
2880
+ if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {
2881
+ // Detect correctness of subclassing with @@species support
2882
+ var promise = new NativePromiseConstructor$3(function (resolve) { resolve(1); });
2883
+ var FakePromise = function (exec) {
2884
+ exec(function () { /* empty */ }, function () { /* empty */ });
2885
+ };
2886
+ var constructor = promise.constructor = {};
2887
+ constructor[SPECIES] = FakePromise;
2888
+ SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;
2889
+ if (!SUBCLASSING) return true;
2890
+ // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test
2891
+ } return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT$1;
2892
+ });
2893
+
2894
+ var promiseConstructorDetection = {
2895
+ CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR$5,
2896
+ REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT$1,
2897
+ SUBCLASSING: SUBCLASSING
2898
+ };
2899
+
2900
+ var newPromiseCapability$2 = {};
2901
+
2902
+ var aCallable$4 = aCallable$8;
2903
+
2904
+ var $TypeError$2 = TypeError;
2905
+
2906
+ var PromiseCapability = function (C) {
2907
+ var resolve, reject;
2908
+ this.promise = new C(function ($$resolve, $$reject) {
2909
+ if (resolve !== undefined || reject !== undefined) throw new $TypeError$2('Bad Promise constructor');
2910
+ resolve = $$resolve;
2911
+ reject = $$reject;
2912
+ });
2913
+ this.resolve = aCallable$4(resolve);
2914
+ this.reject = aCallable$4(reject);
2915
+ };
2916
+
2917
+ // `NewPromiseCapability` abstract operation
2918
+ // https://tc39.es/ecma262/#sec-newpromisecapability
2919
+ newPromiseCapability$2.f = function (C) {
2920
+ return new PromiseCapability(C);
2921
+ };
2922
+
2923
+ var $$6 = _export;
2924
+ var IS_NODE = engineIsNode;
2925
+ var global$1 = global$m;
2926
+ var call$6 = functionCall;
2927
+ var defineBuiltIn$1 = defineBuiltIn$5;
2928
+ var setPrototypeOf = objectSetPrototypeOf;
2929
+ var setToStringTag = setToStringTag$4;
2930
+ var setSpecies = setSpecies$1;
2931
+ var aCallable$3 = aCallable$8;
2932
+ var isCallable$1 = isCallable$j;
2933
+ var isObject$1 = isObject$9;
2934
+ var anInstance = anInstance$1;
2935
+ var speciesConstructor = speciesConstructor$1;
2936
+ var task = task$1.set;
2937
+ var microtask = microtask_1;
2938
+ var hostReportErrors = hostReportErrors$1;
2939
+ var perform$2 = perform$3;
2940
+ var Queue = queue$1;
2941
+ var InternalStateModule = internalState;
2942
+ var NativePromiseConstructor$2 = promiseNativeConstructor;
2943
+ var PromiseConstructorDetection = promiseConstructorDetection;
2944
+ var newPromiseCapabilityModule$3 = newPromiseCapability$2;
2945
+
2946
+ var PROMISE = 'Promise';
2947
+ var FORCED_PROMISE_CONSTRUCTOR$4 = PromiseConstructorDetection.CONSTRUCTOR;
2948
+ var NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;
2949
+ var NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;
2950
+ var getInternalPromiseState = InternalStateModule.getterFor(PROMISE);
2951
+ var setInternalState = InternalStateModule.set;
2952
+ var NativePromisePrototype$1 = NativePromiseConstructor$2 && NativePromiseConstructor$2.prototype;
2953
+ var PromiseConstructor = NativePromiseConstructor$2;
2954
+ var PromisePrototype = NativePromisePrototype$1;
2955
+ var TypeError$1 = global$1.TypeError;
2956
+ var document$1 = global$1.document;
2957
+ var process = global$1.process;
2958
+ var newPromiseCapability$1 = newPromiseCapabilityModule$3.f;
2959
+ var newGenericPromiseCapability = newPromiseCapability$1;
2960
+
2961
+ var DISPATCH_EVENT = !!(document$1 && document$1.createEvent && global$1.dispatchEvent);
2962
+ var UNHANDLED_REJECTION = 'unhandledrejection';
2963
+ var REJECTION_HANDLED = 'rejectionhandled';
2964
+ var PENDING = 0;
2965
+ var FULFILLED = 1;
2966
+ var REJECTED = 2;
2967
+ var HANDLED = 1;
2968
+ var UNHANDLED = 2;
2969
+
2970
+ var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
2971
+
2972
+ // helpers
2973
+ var isThenable = function (it) {
2974
+ var then;
2975
+ return isObject$1(it) && isCallable$1(then = it.then) ? then : false;
2976
+ };
2977
+
2978
+ var callReaction = function (reaction, state) {
2979
+ var value = state.value;
2980
+ var ok = state.state === FULFILLED;
2981
+ var handler = ok ? reaction.ok : reaction.fail;
2982
+ var resolve = reaction.resolve;
2983
+ var reject = reaction.reject;
2984
+ var domain = reaction.domain;
2985
+ var result, then, exited;
2986
+ try {
2987
+ if (handler) {
2988
+ if (!ok) {
2989
+ if (state.rejection === UNHANDLED) onHandleUnhandled(state);
2990
+ state.rejection = HANDLED;
2991
+ }
2992
+ if (handler === true) result = value;
2993
+ else {
2994
+ if (domain) domain.enter();
2995
+ result = handler(value); // can throw
2996
+ if (domain) {
2997
+ domain.exit();
2998
+ exited = true;
2999
+ }
3000
+ }
3001
+ if (result === reaction.promise) {
3002
+ reject(new TypeError$1('Promise-chain cycle'));
3003
+ } else if (then = isThenable(result)) {
3004
+ call$6(then, result, resolve, reject);
3005
+ } else resolve(result);
3006
+ } else reject(value);
3007
+ } catch (error) {
3008
+ if (domain && !exited) domain.exit();
3009
+ reject(error);
3010
+ }
3011
+ };
3012
+
3013
+ var notify = function (state, isReject) {
3014
+ if (state.notified) return;
3015
+ state.notified = true;
3016
+ microtask(function () {
3017
+ var reactions = state.reactions;
3018
+ var reaction;
3019
+ while (reaction = reactions.get()) {
3020
+ callReaction(reaction, state);
3021
+ }
3022
+ state.notified = false;
3023
+ if (isReject && !state.rejection) onUnhandled(state);
3024
+ });
3025
+ };
3026
+
3027
+ var dispatchEvent = function (name, promise, reason) {
3028
+ var event, handler;
3029
+ if (DISPATCH_EVENT) {
3030
+ event = document$1.createEvent('Event');
3031
+ event.promise = promise;
3032
+ event.reason = reason;
3033
+ event.initEvent(name, false, true);
3034
+ global$1.dispatchEvent(event);
3035
+ } else event = { promise: promise, reason: reason };
3036
+ if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global$1['on' + name])) handler(event);
3037
+ else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);
3038
+ };
3039
+
3040
+ var onUnhandled = function (state) {
3041
+ call$6(task, global$1, function () {
3042
+ var promise = state.facade;
3043
+ var value = state.value;
3044
+ var IS_UNHANDLED = isUnhandled(state);
3045
+ var result;
3046
+ if (IS_UNHANDLED) {
3047
+ result = perform$2(function () {
3048
+ if (IS_NODE) {
3049
+ process.emit('unhandledRejection', value, promise);
3050
+ } else dispatchEvent(UNHANDLED_REJECTION, promise, value);
3051
+ });
3052
+ // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
3053
+ state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
3054
+ if (result.error) throw result.value;
3055
+ }
3056
+ });
3057
+ };
3058
+
3059
+ var isUnhandled = function (state) {
3060
+ return state.rejection !== HANDLED && !state.parent;
3061
+ };
3062
+
3063
+ var onHandleUnhandled = function (state) {
3064
+ call$6(task, global$1, function () {
3065
+ var promise = state.facade;
3066
+ if (IS_NODE) {
3067
+ process.emit('rejectionHandled', promise);
3068
+ } else dispatchEvent(REJECTION_HANDLED, promise, state.value);
3069
+ });
3070
+ };
3071
+
3072
+ var bind$1 = function (fn, state, unwrap) {
3073
+ return function (value) {
3074
+ fn(state, value, unwrap);
3075
+ };
3076
+ };
3077
+
3078
+ var internalReject = function (state, value, unwrap) {
3079
+ if (state.done) return;
3080
+ state.done = true;
3081
+ if (unwrap) state = unwrap;
3082
+ state.value = value;
3083
+ state.state = REJECTED;
3084
+ notify(state, true);
3085
+ };
3086
+
3087
+ var internalResolve = function (state, value, unwrap) {
3088
+ if (state.done) return;
3089
+ state.done = true;
3090
+ if (unwrap) state = unwrap;
3091
+ try {
3092
+ if (state.facade === value) throw new TypeError$1("Promise can't be resolved itself");
3093
+ var then = isThenable(value);
3094
+ if (then) {
3095
+ microtask(function () {
3096
+ var wrapper = { done: false };
3097
+ try {
3098
+ call$6(then, value,
3099
+ bind$1(internalResolve, wrapper, state),
3100
+ bind$1(internalReject, wrapper, state)
3101
+ );
3102
+ } catch (error) {
3103
+ internalReject(wrapper, error, state);
3104
+ }
3105
+ });
3106
+ } else {
3107
+ state.value = value;
3108
+ state.state = FULFILLED;
3109
+ notify(state, false);
3110
+ }
3111
+ } catch (error) {
3112
+ internalReject({ done: false }, error, state);
3113
+ }
3114
+ };
3115
+
3116
+ // constructor polyfill
3117
+ if (FORCED_PROMISE_CONSTRUCTOR$4) {
3118
+ // 25.4.3.1 Promise(executor)
3119
+ PromiseConstructor = function Promise(executor) {
3120
+ anInstance(this, PromisePrototype);
3121
+ aCallable$3(executor);
3122
+ call$6(Internal, this);
3123
+ var state = getInternalPromiseState(this);
3124
+ try {
3125
+ executor(bind$1(internalResolve, state), bind$1(internalReject, state));
3126
+ } catch (error) {
3127
+ internalReject(state, error);
3128
+ }
3129
+ };
3130
+
3131
+ PromisePrototype = PromiseConstructor.prototype;
3132
+
3133
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
3134
+ Internal = function Promise(executor) {
3135
+ setInternalState(this, {
3136
+ type: PROMISE,
3137
+ done: false,
3138
+ notified: false,
3139
+ parent: false,
3140
+ reactions: new Queue(),
3141
+ rejection: false,
3142
+ state: PENDING,
3143
+ value: undefined
3144
+ });
3145
+ };
3146
+
3147
+ // `Promise.prototype.then` method
3148
+ // https://tc39.es/ecma262/#sec-promise.prototype.then
3149
+ Internal.prototype = defineBuiltIn$1(PromisePrototype, 'then', function then(onFulfilled, onRejected) {
3150
+ var state = getInternalPromiseState(this);
3151
+ var reaction = newPromiseCapability$1(speciesConstructor(this, PromiseConstructor));
3152
+ state.parent = true;
3153
+ reaction.ok = isCallable$1(onFulfilled) ? onFulfilled : true;
3154
+ reaction.fail = isCallable$1(onRejected) && onRejected;
3155
+ reaction.domain = IS_NODE ? process.domain : undefined;
3156
+ if (state.state === PENDING) state.reactions.add(reaction);
3157
+ else microtask(function () {
3158
+ callReaction(reaction, state);
3159
+ });
3160
+ return reaction.promise;
3161
+ });
3162
+
3163
+ OwnPromiseCapability = function () {
3164
+ var promise = new Internal();
3165
+ var state = getInternalPromiseState(promise);
3166
+ this.promise = promise;
3167
+ this.resolve = bind$1(internalResolve, state);
3168
+ this.reject = bind$1(internalReject, state);
3169
+ };
3170
+
3171
+ newPromiseCapabilityModule$3.f = newPromiseCapability$1 = function (C) {
3172
+ return C === PromiseConstructor || C === PromiseWrapper
3173
+ ? new OwnPromiseCapability(C)
3174
+ : newGenericPromiseCapability(C);
3175
+ };
3176
+
3177
+ if (isCallable$1(NativePromiseConstructor$2) && NativePromisePrototype$1 !== Object.prototype) {
3178
+ nativeThen = NativePromisePrototype$1.then;
3179
+
3180
+ if (!NATIVE_PROMISE_SUBCLASSING) {
3181
+ // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs
3182
+ defineBuiltIn$1(NativePromisePrototype$1, 'then', function then(onFulfilled, onRejected) {
3183
+ var that = this;
3184
+ return new PromiseConstructor(function (resolve, reject) {
3185
+ call$6(nativeThen, that, resolve, reject);
3186
+ }).then(onFulfilled, onRejected);
3187
+ // https://github.com/zloirock/core-js/issues/640
3188
+ }, { unsafe: true });
3189
+ }
3190
+
3191
+ // make `.constructor === Promise` work for native promise-based APIs
3192
+ try {
3193
+ delete NativePromisePrototype$1.constructor;
3194
+ } catch (error) { /* empty */ }
3195
+
3196
+ // make `instanceof Promise` work for native promise-based APIs
3197
+ if (setPrototypeOf) {
3198
+ setPrototypeOf(NativePromisePrototype$1, PromisePrototype);
3199
+ }
3200
+ }
3201
+ }
3202
+
3203
+ $$6({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR$4 }, {
3204
+ Promise: PromiseConstructor
3205
+ });
3206
+
3207
+ setToStringTag(PromiseConstructor, PROMISE, false);
3208
+ setSpecies(PROMISE);
3209
+
3210
+ var wellKnownSymbol$2 = wellKnownSymbol$e;
3211
+ var Iterators$1 = iterators;
3212
+
3213
+ var ITERATOR$2 = wellKnownSymbol$2('iterator');
3214
+ var ArrayPrototype = Array.prototype;
3215
+
3216
+ // check on default Array iterator
3217
+ var isArrayIteratorMethod$1 = function (it) {
3218
+ return it !== undefined && (Iterators$1.Array === it || ArrayPrototype[ITERATOR$2] === it);
3219
+ };
3220
+
3221
+ var classof = classof$4;
3222
+ var getMethod$1 = getMethod$3;
3223
+ var isNullOrUndefined = isNullOrUndefined$4;
3224
+ var Iterators = iterators;
3225
+ var wellKnownSymbol$1 = wellKnownSymbol$e;
3226
+
3227
+ var ITERATOR$1 = wellKnownSymbol$1('iterator');
3228
+
3229
+ var getIteratorMethod$2 = function (it) {
3230
+ if (!isNullOrUndefined(it)) return getMethod$1(it, ITERATOR$1)
3231
+ || getMethod$1(it, '@@iterator')
3232
+ || Iterators[classof(it)];
3233
+ };
3234
+
3235
+ var call$5 = functionCall;
3236
+ var aCallable$2 = aCallable$8;
3237
+ var anObject$3 = anObject$b;
3238
+ var tryToString$1 = tryToString$4;
3239
+ var getIteratorMethod$1 = getIteratorMethod$2;
3240
+
3241
+ var $TypeError$1 = TypeError;
3242
+
3243
+ var getIterator$1 = function (argument, usingIterator) {
3244
+ var iteratorMethod = arguments.length < 2 ? getIteratorMethod$1(argument) : usingIterator;
3245
+ if (aCallable$2(iteratorMethod)) return anObject$3(call$5(iteratorMethod, argument));
3246
+ throw new $TypeError$1(tryToString$1(argument) + ' is not iterable');
3247
+ };
3248
+
3249
+ var call$4 = functionCall;
3250
+ var anObject$2 = anObject$b;
3251
+ var getMethod = getMethod$3;
3252
+
3253
+ var iteratorClose$1 = function (iterator, kind, value) {
3254
+ var innerResult, innerError;
3255
+ anObject$2(iterator);
3256
+ try {
3257
+ innerResult = getMethod(iterator, 'return');
3258
+ if (!innerResult) {
3259
+ if (kind === 'throw') throw value;
3260
+ return value;
3261
+ }
3262
+ innerResult = call$4(innerResult, iterator);
3263
+ } catch (error) {
3264
+ innerError = true;
3265
+ innerResult = error;
3266
+ }
3267
+ if (kind === 'throw') throw value;
3268
+ if (innerError) throw innerResult;
3269
+ anObject$2(innerResult);
3270
+ return value;
3271
+ };
3272
+
3273
+ var bind = functionBindContext;
3274
+ var call$3 = functionCall;
3275
+ var anObject$1 = anObject$b;
3276
+ var tryToString = tryToString$4;
3277
+ var isArrayIteratorMethod = isArrayIteratorMethod$1;
3278
+ var lengthOfArrayLike = lengthOfArrayLike$2;
3279
+ var isPrototypeOf = objectIsPrototypeOf;
3280
+ var getIterator = getIterator$1;
3281
+ var getIteratorMethod = getIteratorMethod$2;
3282
+ var iteratorClose = iteratorClose$1;
3283
+
3284
+ var $TypeError = TypeError;
3285
+
3286
+ var Result = function (stopped, result) {
3287
+ this.stopped = stopped;
3288
+ this.result = result;
3289
+ };
3290
+
3291
+ var ResultPrototype = Result.prototype;
3292
+
3293
+ var iterate$2 = function (iterable, unboundFunction, options) {
3294
+ var that = options && options.that;
3295
+ var AS_ENTRIES = !!(options && options.AS_ENTRIES);
3296
+ var IS_RECORD = !!(options && options.IS_RECORD);
3297
+ var IS_ITERATOR = !!(options && options.IS_ITERATOR);
3298
+ var INTERRUPTED = !!(options && options.INTERRUPTED);
3299
+ var fn = bind(unboundFunction, that);
3300
+ var iterator, iterFn, index, length, result, next, step;
3301
+
3302
+ var stop = function (condition) {
3303
+ if (iterator) iteratorClose(iterator, 'normal', condition);
3304
+ return new Result(true, condition);
3305
+ };
3306
+
3307
+ var callFn = function (value) {
3308
+ if (AS_ENTRIES) {
3309
+ anObject$1(value);
3310
+ return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);
3311
+ } return INTERRUPTED ? fn(value, stop) : fn(value);
3312
+ };
3313
+
3314
+ if (IS_RECORD) {
3315
+ iterator = iterable.iterator;
3316
+ } else if (IS_ITERATOR) {
3317
+ iterator = iterable;
3318
+ } else {
3319
+ iterFn = getIteratorMethod(iterable);
3320
+ if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');
3321
+ // optimisation for array iterators
3322
+ if (isArrayIteratorMethod(iterFn)) {
3323
+ for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {
3324
+ result = callFn(iterable[index]);
3325
+ if (result && isPrototypeOf(ResultPrototype, result)) return result;
3326
+ } return new Result(false);
3327
+ }
3328
+ iterator = getIterator(iterable, iterFn);
3329
+ }
3330
+
3331
+ next = IS_RECORD ? iterable.next : iterator.next;
3332
+ while (!(step = call$3(next, iterator)).done) {
3333
+ try {
3334
+ result = callFn(step.value);
3335
+ } catch (error) {
3336
+ iteratorClose(iterator, 'throw', error);
3337
+ }
3338
+ if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;
3339
+ } return new Result(false);
3340
+ };
3341
+
3342
+ var wellKnownSymbol = wellKnownSymbol$e;
3343
+
3344
+ var ITERATOR = wellKnownSymbol('iterator');
3345
+ var SAFE_CLOSING = false;
3346
+
3347
+ try {
3348
+ var called = 0;
3349
+ var iteratorWithReturn = {
3350
+ next: function () {
3351
+ return { done: !!called++ };
3352
+ },
3353
+ 'return': function () {
3354
+ SAFE_CLOSING = true;
3355
+ }
3356
+ };
3357
+ iteratorWithReturn[ITERATOR] = function () {
3358
+ return this;
3359
+ };
3360
+ // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing
3361
+ Array.from(iteratorWithReturn, function () { throw 2; });
3362
+ } catch (error) { /* empty */ }
3363
+
3364
+ var checkCorrectnessOfIteration$1 = function (exec, SKIP_CLOSING) {
3365
+ try {
3366
+ if (!SKIP_CLOSING && !SAFE_CLOSING) return false;
3367
+ } catch (error) { return false; } // workaround of old WebKit + `eval` bug
3368
+ var ITERATION_SUPPORT = false;
3369
+ try {
3370
+ var object = {};
3371
+ object[ITERATOR] = function () {
3372
+ return {
3373
+ next: function () {
3374
+ return { done: ITERATION_SUPPORT = true };
3375
+ }
3376
+ };
3377
+ };
3378
+ exec(object);
3379
+ } catch (error) { /* empty */ }
3380
+ return ITERATION_SUPPORT;
3381
+ };
3382
+
3383
+ var NativePromiseConstructor$1 = promiseNativeConstructor;
3384
+ var checkCorrectnessOfIteration = checkCorrectnessOfIteration$1;
3385
+ var FORCED_PROMISE_CONSTRUCTOR$3 = promiseConstructorDetection.CONSTRUCTOR;
3386
+
3387
+ var promiseStaticsIncorrectIteration = FORCED_PROMISE_CONSTRUCTOR$3 || !checkCorrectnessOfIteration(function (iterable) {
3388
+ NativePromiseConstructor$1.all(iterable).then(undefined, function () { /* empty */ });
3389
+ });
3390
+
3391
+ var $$5 = _export;
3392
+ var call$2 = functionCall;
3393
+ var aCallable$1 = aCallable$8;
3394
+ var newPromiseCapabilityModule$2 = newPromiseCapability$2;
3395
+ var perform$1 = perform$3;
3396
+ var iterate$1 = iterate$2;
3397
+ var PROMISE_STATICS_INCORRECT_ITERATION$1 = promiseStaticsIncorrectIteration;
3398
+
3399
+ // `Promise.all` method
3400
+ // https://tc39.es/ecma262/#sec-promise.all
3401
+ $$5({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION$1 }, {
3402
+ all: function all(iterable) {
3403
+ var C = this;
3404
+ var capability = newPromiseCapabilityModule$2.f(C);
3405
+ var resolve = capability.resolve;
3406
+ var reject = capability.reject;
3407
+ var result = perform$1(function () {
3408
+ var $promiseResolve = aCallable$1(C.resolve);
3409
+ var values = [];
3410
+ var counter = 0;
3411
+ var remaining = 1;
3412
+ iterate$1(iterable, function (promise) {
3413
+ var index = counter++;
3414
+ var alreadyCalled = false;
3415
+ remaining++;
3416
+ call$2($promiseResolve, C, promise).then(function (value) {
3417
+ if (alreadyCalled) return;
3418
+ alreadyCalled = true;
3419
+ values[index] = value;
3420
+ --remaining || resolve(values);
3421
+ }, reject);
3422
+ });
3423
+ --remaining || resolve(values);
3424
+ });
3425
+ if (result.error) reject(result.value);
3426
+ return capability.promise;
3427
+ }
3428
+ });
3429
+
3430
+ var $$4 = _export;
3431
+ var FORCED_PROMISE_CONSTRUCTOR$2 = promiseConstructorDetection.CONSTRUCTOR;
3432
+ var NativePromiseConstructor = promiseNativeConstructor;
3433
+ var getBuiltIn$1 = getBuiltIn$7;
3434
+ var isCallable = isCallable$j;
3435
+ var defineBuiltIn = defineBuiltIn$5;
3436
+
3437
+ var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;
3438
+
3439
+ // `Promise.prototype.catch` method
3440
+ // https://tc39.es/ecma262/#sec-promise.prototype.catch
3441
+ $$4({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR$2, real: true }, {
3442
+ 'catch': function (onRejected) {
3443
+ return this.then(undefined, onRejected);
3444
+ }
3445
+ });
3446
+
3447
+ // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`
3448
+ if (isCallable(NativePromiseConstructor)) {
3449
+ var method = getBuiltIn$1('Promise').prototype['catch'];
3450
+ if (NativePromisePrototype['catch'] !== method) {
3451
+ defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });
3452
+ }
3453
+ }
3454
+
3455
+ var $$3 = _export;
3456
+ var call$1 = functionCall;
3457
+ var aCallable = aCallable$8;
3458
+ var newPromiseCapabilityModule$1 = newPromiseCapability$2;
3459
+ var perform = perform$3;
3460
+ var iterate = iterate$2;
3461
+ var PROMISE_STATICS_INCORRECT_ITERATION = promiseStaticsIncorrectIteration;
3462
+
3463
+ // `Promise.race` method
3464
+ // https://tc39.es/ecma262/#sec-promise.race
3465
+ $$3({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {
3466
+ race: function race(iterable) {
3467
+ var C = this;
3468
+ var capability = newPromiseCapabilityModule$1.f(C);
3469
+ var reject = capability.reject;
3470
+ var result = perform(function () {
3471
+ var $promiseResolve = aCallable(C.resolve);
3472
+ iterate(iterable, function (promise) {
3473
+ call$1($promiseResolve, C, promise).then(capability.resolve, reject);
3474
+ });
3475
+ });
3476
+ if (result.error) reject(result.value);
3477
+ return capability.promise;
3478
+ }
3479
+ });
3480
+
3481
+ var $$2 = _export;
3482
+ var newPromiseCapabilityModule = newPromiseCapability$2;
3483
+ var FORCED_PROMISE_CONSTRUCTOR$1 = promiseConstructorDetection.CONSTRUCTOR;
3484
+
3485
+ // `Promise.reject` method
3486
+ // https://tc39.es/ecma262/#sec-promise.reject
3487
+ $$2({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR$1 }, {
3488
+ reject: function reject(r) {
3489
+ var capability = newPromiseCapabilityModule.f(this);
3490
+ var capabilityReject = capability.reject;
3491
+ capabilityReject(r);
3492
+ return capability.promise;
3493
+ }
3494
+ });
3495
+
3496
+ var anObject = anObject$b;
3497
+ var isObject = isObject$9;
3498
+ var newPromiseCapability = newPromiseCapability$2;
3499
+
3500
+ var promiseResolve$1 = function (C, x) {
3501
+ anObject(C);
3502
+ if (isObject(x) && x.constructor === C) return x;
3503
+ var promiseCapability = newPromiseCapability.f(C);
3504
+ var resolve = promiseCapability.resolve;
3505
+ resolve(x);
3506
+ return promiseCapability.promise;
3507
+ };
3508
+
3509
+ var $$1 = _export;
3510
+ var getBuiltIn = getBuiltIn$7;
3511
+ var FORCED_PROMISE_CONSTRUCTOR = promiseConstructorDetection.CONSTRUCTOR;
3512
+ var promiseResolve = promiseResolve$1;
3513
+
3514
+ getBuiltIn('Promise');
3515
+
3516
+ // `Promise.resolve` method
3517
+ // https://tc39.es/ecma262/#sec-promise.resolve
3518
+ $$1({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {
3519
+ resolve: function resolve(x) {
3520
+ return promiseResolve(this, x);
3521
+ }
3522
+ });
3523
+
3524
+ /**
3525
+ * Object that contains granted roles, a model, and the context the roles were granted in.
3526
+ */
3527
+
3528
+ function noAccessContextGrantedModelRoles(context, data) {
3529
+ return contextGrantedModelRoles(context, data, noAccessRoleMap());
3530
+ }
3531
+ function fullAccessGrantedModelRoles(context, data) {
3532
+ return contextGrantedModelRoles(context, data, fullAccessRoleMap());
3533
+ }
3534
+ function contextGrantedModelRoles(context, data, roles) {
3535
+ return {
3536
+ data,
3537
+ context,
3538
+ roleMap: roles
3539
+ };
3540
+ }
3541
+
3542
+ /**
3543
+ * Full model permission service that can read permissions for models by key or for an input model.
3544
+ */
3545
+
3546
+ /**
3547
+ * Used for retrieving permissions for a specific model.
3548
+ */
3549
+
3550
+ /**
3551
+ * Used for retrieving permissions for a specific model by their key.
3552
+ */
3553
+
3554
+ /**
3555
+ * Abstract ModelPermissionService implementation.
3556
+ */
3557
+ class AbstractModelPermissionService {
3558
+ constructor(modelLoader) {
3559
+ this.modelLoader = modelLoader;
3560
+ }
3561
+ async roleMapForKeyContext(key, context) {
3562
+ const model = await this.modelLoader.loadModelForKey(key, context);
3563
+ let result;
3564
+ if (model != null) {
3565
+ result = await this.roleMapForModelContext(model, context);
3566
+ } else {
3567
+ result = noAccessContextGrantedModelRoles(context);
3568
+ }
3569
+ return result;
3570
+ }
3571
+ async roleMapForModelContext(model, context) {
3572
+ const output = await this.outputForModel(model, context);
3573
+ let result;
3574
+ if (output != null && this.isUsableOutputForRoles(output, context)) {
3575
+ result = await this.getRoleMapForOutput(output, context, model);
3576
+ } else {
3577
+ result = noAccessContextGrantedModelRoles(context, output);
3578
+ }
3579
+ return result;
3580
+ }
3581
+ async getRoleMapForOutput(output, context, model) {
3582
+ const roleMap = await this.roleMapForModel(output, context, model);
3583
+ return contextGrantedModelRoles(context, output, roleMap);
3584
+ }
3585
+ isUsableOutputForRoles(output, context) {
3586
+ return true; // can override in parent functions to further filter roles.
3587
+ }
3588
+ }
3589
+
3590
+ /**
3591
+ * Used to retrieve a ModelPermissionService for a specific type.
3592
+ */
3593
+
3594
+ // MARK: InContext
3595
+ /**
3596
+ * Used for retrieving permissions for a specific model.
3597
+ */
3598
+
3599
+ /**
3600
+ * Used for retrieving permissions for a specific model by their key.
3601
+ */
3602
+
3603
+ /**
3604
+ * ModelsPermissionService that has a context.
3605
+ */
3606
+
3607
+ // MARK: InModelContext
3608
+ /**
3609
+ * Used for retrieving permissions from the in-context model.
3610
+ */
3611
+
3612
+ // MARK: String
3613
+ function transformStringToBoolean(defaultValue) {
3614
+ return params => {
3615
+ if (params.value) {
3616
+ switch (params.value.toLowerCase()) {
3617
+ case 't':
3618
+ case 'true':
3619
+ return true;
3620
+ case 'f':
3621
+ case 'false':
3622
+ return false;
3623
+ default:
3624
+ return defaultValue;
3625
+ }
3626
+ } else {
3627
+ return defaultValue;
3628
+ }
3629
+ };
3630
+ }
3631
+
3632
+ // MARK: Comma Separated Values
3633
+ function transformCommaSeparatedValueToArray(mapFn) {
3634
+ return params => {
3635
+ let result;
3636
+ if (params.value) {
3637
+ if (Array.isArray(params.value)) {
3638
+ result = params.value;
3639
+ } else {
3640
+ result = splitCommaSeparatedString(params.value, mapFn);
3641
+ }
3642
+ }
3643
+ return result;
3644
+ };
3645
+ }
3646
+ const transformCommaSeparatedNumberValueToArray = transformCommaSeparatedValueToArray(x => Number(x));
3647
+ const transformCommaSeparatedStringValueToArray = transformCommaSeparatedValueToArray(x => x);
3648
+
3649
+ // MARK: Transform Annotations
3650
+ function TransformCommaSeparatedValueToArray(mapFn) {
3651
+ return Transform(transformCommaSeparatedValueToArray(mapFn));
3652
+ }
3653
+ const TransformCommaSeparatedStringValueToArray = () => Transform(transformCommaSeparatedStringValueToArray);
3654
+ const TransformCommaSeparatedNumberValueToArray = () => Transform(transformCommaSeparatedNumberValueToArray);
3655
+ const TransformStringValueToBoolean = () => Transform(transformStringToBoolean());
3656
+
3657
+ var DESCRIPTORS = descriptors;
3658
+ var uncurryThis = functionUncurryThis;
3659
+ var call = functionCall;
3660
+ var fails = fails$g;
3661
+ var objectKeys = objectKeys$2;
3662
+ var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols;
3663
+ var propertyIsEnumerableModule = objectPropertyIsEnumerable;
3664
+ var toObject = toObject$3;
3665
+ var IndexedObject = indexedObject;
3666
+
3667
+ // eslint-disable-next-line es/no-object-assign -- safe
3668
+ var $assign = Object.assign;
3669
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
3670
+ var defineProperty = Object.defineProperty;
3671
+ var concat = uncurryThis([].concat);
3672
+
3673
+ // `Object.assign` method
3674
+ // https://tc39.es/ecma262/#sec-object.assign
3675
+ var objectAssign = !$assign || fails(function () {
3676
+ // should have correct order of operations (Edge bug)
3677
+ if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {
3678
+ enumerable: true,
3679
+ get: function () {
3680
+ defineProperty(this, 'b', {
3681
+ value: 3,
3682
+ enumerable: false
3683
+ });
3684
+ }
3685
+ }), { b: 2 })).b !== 1) return true;
3686
+ // should work with symbols and should have deterministic property order (V8 bug)
3687
+ var A = {};
3688
+ var B = {};
3689
+ // eslint-disable-next-line es/no-symbol -- safe
3690
+ var symbol = Symbol('assign detection');
3691
+ var alphabet = 'abcdefghijklmnopqrst';
3692
+ A[symbol] = 7;
3693
+ alphabet.split('').forEach(function (chr) { B[chr] = chr; });
3694
+ return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;
3695
+ }) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`
3696
+ var T = toObject(target);
3697
+ var argumentsLength = arguments.length;
3698
+ var index = 1;
3699
+ var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
3700
+ var propertyIsEnumerable = propertyIsEnumerableModule.f;
3701
+ while (argumentsLength > index) {
3702
+ var S = IndexedObject(arguments[index++]);
3703
+ var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);
3704
+ var length = keys.length;
3705
+ var j = 0;
3706
+ var key;
3707
+ while (length > j) {
3708
+ key = keys[j++];
3709
+ if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];
3710
+ }
3711
+ } return T;
3712
+ } : $assign;
3713
+
3714
+ var $ = _export;
3715
+ var assign = objectAssign;
3716
+
3717
+ // `Object.assign` method
3718
+ // https://tc39.es/ecma262/#sec-object.assign
3719
+ // eslint-disable-next-line es/no-object-assign -- required for testing
3720
+ $({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {
3721
+ assign: assign
3722
+ });
3723
+
3724
+ // MARK: Transform and Validate Object
3725
+
3726
+ /**
3727
+ * transformAndValidateObject() configuration that also provides error handling.
3728
+ */
3729
+
3730
+ function transformAndValidateObject(config) {
3731
+ const transformToResult = transformAndValidateObjectResult(config.classType, config.fn, config.optionsForContext);
3732
+ const {
3733
+ handleValidationError
3734
+ } = config;
3735
+ return (input, context) => transformToResult(input, context).then(async x => {
3736
+ const object = x.object;
3737
+ let result;
3738
+ if (x.success) {
3739
+ result = x.result;
3740
+ } else {
3741
+ result = await handleValidationError(x.validationErrors);
3742
+ }
3743
+ return {
3744
+ object,
3745
+ result
3746
+ };
3747
+ });
3748
+ }
3749
+
3750
+ // MARK: Transform and Validate Factory
3751
+ /**
3752
+ * Configuration for the transformAndValidateObject function from transformAndValidateObjectFactory().
3753
+ */
3754
+
3755
+ /**
3756
+ * Factory for generating TransformAndValidateObjectFunction functions.
3757
+ */
3758
+
3759
+ /**
3760
+ * Creates a new TransformAndValidateObjectFactory.
3761
+ *
3762
+ * @param defaults
3763
+ * @returns
3764
+ */
3765
+ function transformAndValidateObjectFactory(defaults) {
3766
+ const {
3767
+ handleValidationError: defaultHandleValidationError,
3768
+ optionsForContext
3769
+ } = defaults;
3770
+ return (classType, fn, handleValidationError) => {
3771
+ const config = {
3772
+ classType,
3773
+ fn,
3774
+ handleValidationError: handleValidationError != null ? handleValidationError : defaultHandleValidationError,
3775
+ optionsForContext
3776
+ };
3777
+ return transformAndValidateObject(config);
3778
+ };
3779
+ }
3780
+
3781
+ // MARK: Transform And Validate Object Result
3782
+
3783
+ /**
3784
+ * Factory function that wraps the input class type and handler function to first transform the input object to a the given class, and then validate it.
3785
+ *
3786
+ * @param classType
3787
+ * @param fn
3788
+ * @returns
3789
+ */
3790
+ function transformAndValidateObjectResult(classType, fn, inputOptionsForContext) {
3791
+ const optionsForContext = inputOptionsForContext != null ? inputOptionsForContext : () => ({});
3792
+ return async (input, context) => {
3793
+ const {
3794
+ transform: transformOptions,
3795
+ validate: validateOptions
3796
+ } = optionsForContext(context);
3797
+ const object = plainToInstance(classType, input, Object.assign({}, transformOptions, {
3798
+ // Note: Each variable on the target class must be marked with the @Expose() annotation.
3799
+ excludeExtraneousValues: true
3800
+ }));
3801
+ const validationErrors = await validate(object, validateOptions);
3802
+ if (validationErrors.length) {
3803
+ return {
3804
+ object,
3805
+ validationErrors,
3806
+ success: false
3807
+ };
3808
+ } else {
3809
+ const result = await fn(object);
3810
+ return {
3811
+ object,
3812
+ result,
3813
+ success: true
3814
+ };
3815
+ }
3816
+ };
3817
+ }
3818
+
3819
+ // MARK: Transform and Validate Function Result
3820
+
3821
+ /**
3822
+ * A TransformAndValidate result for a function with the parsed object attached as "params".
3823
+ */
3824
+
3825
+ function transformAndValidateFunctionResultFactory(defaults) {
3826
+ return toTransformAndValidateFunctionResultFactory(transformAndValidateObjectFactory(defaults));
3827
+ }
3828
+ function toTransformAndValidateFunctionResultFactory(transformAndValidateObjectFactory) {
3829
+ return (classType, fn, handleValidationError) => {
3830
+ const transformAndValidateObjectFn = transformAndValidateObjectFactory(classType, fn, handleValidationError);
3831
+ return (input, context) => {
3832
+ return toTransformAndValidateFunctionResult(transformAndValidateObjectFn(input, context));
3833
+ };
3834
+ };
3835
+ }
3836
+ function toTransformAndValidateFunctionResult(objectOutput) {
3837
+ return mapPromiseOrValue(objectOutput, x => {
3838
+ const {
3839
+ object,
3840
+ result
3841
+ } = x;
3842
+ const fnResult = result;
3843
+ fnResult.params = object;
3844
+ return fnResult;
3845
+ });
3846
+ }
3847
+
3848
+ // MARK: Transform and Validate Result
3849
+ /**
3850
+ * A TransformAndValidate function that returns only the result.
3851
+ */
3852
+
3853
+ function transformAndValidateResultFactory(defaults) {
3854
+ const factory = transformAndValidateObjectFactory(defaults);
3855
+ return (classType, fn, handleValidationError) => {
3856
+ const transformAndValidateObjectFn = factory(classType, fn, handleValidationError);
3857
+ return async (input, context) => {
3858
+ const {
3859
+ result
3860
+ } = await transformAndValidateObjectFn(input, context);
3861
+ return result;
3862
+ };
3863
+ };
3864
+ }
3865
+
3866
+ /**
3867
+ * isISO8601DayString validator
3868
+ */
3869
+ function IsISO8601DayString(validationOptions) {
3870
+ return function (object, propertyName) {
3871
+ registerDecorator({
3872
+ name: 'isISO8601DayString',
3873
+ target: object.constructor,
3874
+ propertyName: propertyName,
3875
+ options: validationOptions,
3876
+ validator: {
3877
+ validate: isISO8601DayString,
3878
+ defaultMessage(args) {
3879
+ return `"${args.value}" is not a ISO8601DayString.`;
3880
+ }
3881
+ }
3882
+ });
3883
+ };
3884
+ }
3885
+
3886
+ /**
3887
+ * isE164PhoneNumber validator that does not allowed extensions.
3888
+ */
3889
+ function IsE164PhoneNumber(validationOptions) {
3890
+ return function (object, propertyName) {
3891
+ registerDecorator({
3892
+ name: 'isE164PhoneNumber',
3893
+ target: object.constructor,
3894
+ propertyName: propertyName,
3895
+ options: validationOptions,
3896
+ validator: {
3897
+ validate: x => isE164PhoneNumber(x, false),
3898
+ defaultMessage(args) {
3899
+ return `"${args.value}" is not a E164PhoneNumber with no extension.`;
3900
+ }
3901
+ }
3902
+ });
3903
+ };
3904
+ }
3905
+
3906
+ /**
3907
+ * isE164PhoneNumber validator that allows extensions.
3908
+ *
3909
+ * @param validationOptions
3910
+ * @returns
3911
+ */
3912
+ function IsE164PhoneNumberWithOptionalExtension(validationOptions) {
3913
+ return function (object, propertyName) {
3914
+ registerDecorator({
3915
+ name: 'isE164PhoneNumber',
3916
+ target: object.constructor,
3917
+ propertyName: propertyName,
3918
+ options: validationOptions,
3919
+ validator: {
3920
+ validate: x => isE164PhoneNumber(x, true),
3921
+ defaultMessage(args) {
3922
+ return `"${args.value}" is not an E164PhoneNumber or has an invalid extension.`;
3923
+ }
3924
+ }
3925
+ });
3926
+ };
3927
+ }
3928
+
3929
+ /**
3930
+ * isE164PhoneNumberWithExtension validator
3931
+ *
3932
+ * @param validationOptions
3933
+ * @returns
3934
+ */
3935
+ function IsE164PhoneNumberWithExtension(validationOptions) {
3936
+ return function (object, propertyName) {
3937
+ registerDecorator({
3938
+ name: 'isE164PhoneNumberWithExtension',
3939
+ target: object.constructor,
3940
+ propertyName: propertyName,
3941
+ options: validationOptions,
3942
+ validator: {
3943
+ validate: isE164PhoneNumberWithExtension,
3944
+ defaultMessage(args) {
3945
+ return `"${args.value}" is not a E164PhoneNumberWithExtension.`;
3946
+ }
3947
+ }
3948
+ });
3949
+ };
3950
+ }
3951
+
3952
+ /**
3953
+ * isWebsiteUrl validator
3954
+ */
3955
+ function IsWebsiteUrl(validationOptions) {
3956
+ return function (object, propertyName) {
3957
+ registerDecorator({
3958
+ name: 'isWebsiteUrl',
3959
+ target: object.constructor,
3960
+ propertyName: propertyName,
3961
+ options: validationOptions,
3962
+ validator: {
3963
+ validate: isWebsiteUrl,
3964
+ defaultMessage(args) {
3965
+ return `"${args.value}" is not a valid website url`;
3966
+ }
3967
+ }
3968
+ });
3969
+ };
3970
+ }
3971
+
3972
+ /**
3973
+ * isWebsiteUrlWithPrefix validator
3974
+ */
3975
+ function IsWebsiteUrlWithPrefix(validationOptions) {
3976
+ return function (object, propertyName) {
3977
+ registerDecorator({
3978
+ name: 'isWebsiteUrlWithPrefix',
3979
+ target: object.constructor,
3980
+ propertyName: propertyName,
3981
+ options: validationOptions,
3982
+ validator: {
3983
+ validate: isWebsiteUrlWithPrefix,
3984
+ defaultMessage(args) {
3985
+ return `"${args.value}" is not a valid website url with a http/https prefix.`;
3986
+ }
3987
+ }
3988
+ });
3989
+ };
3990
+ }
3991
+
3992
+ export { ADDRESS_CITY_MAX_LENGTH, ADDRESS_COUNTRY_MAX_LENGTH, ADDRESS_LINE_MAX_LENGTH, ADDRESS_STATE_CODE_MAX_LENGTH, ADDRESS_STATE_MAX_LENGTH, ADDRESS_ZIP_MAX_LENGTH, AbstractModelPermissionService, AbstractUnitedStatesAddressWithoutStateParams, CASHAPP_BASE_URL, CASHAPP_USERNAME_PREFIX, CASHAPP_WEBSITE_LINK_TYPE, EMAIL_URL_WEBSITE_LINK_TYPE, FACEBOOK_BASE_URL, FACEBOOK_WEBSITE_LINK_TYPE, FULL_ACCESS_ROLE_KEY, GRANTED_ADMIN_ROLE_KEY, GRANTED_DELETE_ROLE_KEY, GRANTED_OWNER_ROLE_KEY, GRANTED_READ_ROLE_KEY, GRANTED_SYS_ADMIN_ROLE_KEY, GRANTED_UPDATE_ROLE_KEY, GrantedRoleMapReaderInstance, INSTAGRAM_BASE_URL, INSTAGRAM_WEBSITE_LINK_TYPE, IsE164PhoneNumber, IsE164PhoneNumberWithExtension, IsE164PhoneNumberWithOptionalExtension, IsISO8601DayString, IsWebsiteUrl, IsWebsiteUrlWithPrefix, NO_ACCESS_ROLE_KEY, PAYPAL_BASE_URL, PAYPAL_WEBSITE_LINK_TYPE, PHONE_URL_WEBSITE_LINK_TYPE, SNAPCHAT_BASE_URL, SNAPCHAT_WEBSITE_LINK_ISOLATE_PROFILE_ID, SNAPCHAT_WEBSITE_LINK_TYPE, SPOTIFY_BASE_URL, SPOTIFY_WEBSITE_LINK_ISOLATE_PROFILE_ID, SPOTIFY_WEBSITE_LINK_TYPE, TIKTOK_BASE_URL, TIKTOK_USERNAME_PREFIX, TIKTOK_WEBSITE_LINK_TYPE, TWITTER_BASE_URL, TWITTER_WEBSITE_LINK_TYPE, TransformCommaSeparatedNumberValueToArray, TransformCommaSeparatedStringValueToArray, TransformCommaSeparatedValueToArray, TransformStringValueToBoolean, UNKNOWN_WEBSITE_LINK_TYPE, UnitedStatesAddressWithStateCodeParams, UnitedStatesAddressWithStateStringParams, VENMO_BASE_URL, VENMO_WEBSITE_LINK_ISOLATE_PROFILE_ID, VENMO_WEBSITE_LINK_TYPE, WEBSITE_FILE_LINK_DATA_MAX_LENGTH, WEBSITE_FILE_LINK_DATA_REGEX, WEBSITE_FILE_LINK_ENCODE_SEPARATOR, WEBSITE_FILE_LINK_MIME_TYPE_MAX_LENGTH, WEBSITE_FILE_LINK_MIME_TYPE_REGEX, WEBSITE_FILE_LINK_NAME_MAX_LENGTH, WEBSITE_FILE_LINK_TYPE_MAX_LENGTH, WEBSITE_FILE_LINK_TYPE_REGEX, WEBSITE_FILE_LINK_WEBSITE_LINK_TYPE, WEBSITE_LINK_ENCODED_DATA_MAX_LENGTH, WEBSITE_LINK_ISOLATE_BASE_URL_PROFILE_ID, WEBSITE_LINK_TYPE_MAX_LENGTH, WEBSITE_LINK_TYPE_REGEX, WEBSITE_URL_WEBSITE_LINK_TYPE, WebsiteFileLink, WebsiteLink, YOUTUBE_BASE_URL, YOUTUBE_WEBSITE_LINK_ISOLATE_PROFILE_ID, YOUTUBE_WEBSITE_LINK_TYPE, cashappProfileUrl, cashappProfileUrlToWebsiteLink, contextGrantedModelRoles, decodeWebsiteLinkEncodedDataToWebsiteFileLink, emailAddressToWebsiteLink, encodeWebsiteFileLinkToWebsiteLinkEncodedData, facebookProfileUrl, facebookProfileUrlToWebsiteLink, fullAccessGrantedModelRoles, fullAccessRoleMap, grantedRoleKeysMapFromArray, grantedRoleMapReader, instagramProfileUrl, instagramProfileUrlToWebsiteLink, isFullAccessRoleMap, isGrantedAdminLevelRole, isNoAccessRoleMap, isValidWebsiteLinkType, noAccessContextGrantedModelRoles, noAccessRoleMap, paypalProfileUrl, paypalProfileUrlToWebsiteLink, phoneNumberToWebsiteLink, snapchatProfileUrl, snapchatProfileUrlToWebsiteLink, spotifyProfileUrl, spotifyProfileUrlToWebsiteLink, tiktokProfileUrl, tiktokProfileUrlToWebsiteLink, toTransformAndValidateFunctionResult, toTransformAndValidateFunctionResultFactory, transformAndValidateFunctionResultFactory, transformAndValidateObject, transformAndValidateObjectFactory, transformAndValidateObjectResult, transformAndValidateResultFactory, transformCommaSeparatedNumberValueToArray, transformCommaSeparatedStringValueToArray, transformCommaSeparatedValueToArray, transformStringToBoolean, twitterProfileUrl, twitterProfileUrlToWebsiteLink, usernameFromUsernameOrWebsiteWithBaseUrlUsername, usernameFromUsernameOrWebsiteWithOneOffBaseUrlUsername, usernameOrWebsiteUrlToWebsiteUrl, venmoProfileUrl, venmoProfileUrlToWebsiteLink, websiteFileLinkToWebsiteLink, websiteLinkToWebsiteLinkFile, websiteUrlToWebsiteLink, youtubeProfileUrl, youtubeProfileUrlToWebsiteLink };