@ninetailed/experience.js 1.8.1-beta.0 → 2.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.esm.js CHANGED
@@ -5,6 +5,7 @@ import Analytics from 'analytics';
5
5
  import flatten from 'lodash/flatten';
6
6
  import find from 'lodash/find';
7
7
  import includes from 'lodash/includes';
8
+ import pickBy from 'lodash/pickBy';
8
9
 
9
10
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
10
11
 
@@ -13,7 +14,7 @@ var check = function (it) {
13
14
  };
14
15
 
15
16
  // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
16
- var global$B =
17
+ var global$H =
17
18
  // eslint-disable-next-line es/no-global-this -- safe
18
19
  check(typeof globalThis == 'object' && globalThis) ||
19
20
  check(typeof window == 'object' && window) ||
@@ -25,7 +26,7 @@ var global$B =
25
26
 
26
27
  var objectGetOwnPropertyDescriptor = {};
27
28
 
28
- var fails$c = function (exec) {
29
+ var fails$h = function (exec) {
29
30
  try {
30
31
  return !!exec();
31
32
  } catch (error) {
@@ -33,17 +34,17 @@ var fails$c = function (exec) {
33
34
  }
34
35
  };
35
36
 
36
- var fails$b = fails$c;
37
+ var fails$g = fails$h;
37
38
 
38
39
  // Detect IE8's incomplete defineProperty implementation
39
- var descriptors = !fails$b(function () {
40
+ var descriptors = !fails$g(function () {
40
41
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
41
42
  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
42
43
  });
43
44
 
44
- var fails$a = fails$c;
45
+ var fails$f = fails$h;
45
46
 
46
- var functionBindNative = !fails$a(function () {
47
+ var functionBindNative = !fails$f(function () {
47
48
  var test = (function () { /* empty */ }).bind();
48
49
  // eslint-disable-next-line no-prototype-builtins -- safe
49
50
  return typeof test != 'function' || test.hasOwnProperty('prototype');
@@ -51,25 +52,25 @@ var functionBindNative = !fails$a(function () {
51
52
 
52
53
  var NATIVE_BIND$3 = functionBindNative;
53
54
 
54
- var call$b = Function.prototype.call;
55
+ var call$e = Function.prototype.call;
55
56
 
56
- var functionCall = NATIVE_BIND$3 ? call$b.bind(call$b) : function () {
57
- return call$b.apply(call$b, arguments);
57
+ var functionCall = NATIVE_BIND$3 ? call$e.bind(call$e) : function () {
58
+ return call$e.apply(call$e, arguments);
58
59
  };
59
60
 
60
61
  var objectPropertyIsEnumerable = {};
61
62
 
62
63
  var $propertyIsEnumerable = {}.propertyIsEnumerable;
63
64
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
64
- var getOwnPropertyDescriptor$2 = Object.getOwnPropertyDescriptor;
65
+ var getOwnPropertyDescriptor$3 = Object.getOwnPropertyDescriptor;
65
66
 
66
67
  // Nashorn ~ JDK8 bug
67
- var NASHORN_BUG = getOwnPropertyDescriptor$2 && !$propertyIsEnumerable.call({ 1: 2 }, 1);
68
+ var NASHORN_BUG = getOwnPropertyDescriptor$3 && !$propertyIsEnumerable.call({ 1: 2 }, 1);
68
69
 
69
70
  // `Object.prototype.propertyIsEnumerable` method implementation
70
71
  // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
71
72
  objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
72
- var descriptor = getOwnPropertyDescriptor$2(this, V);
73
+ var descriptor = getOwnPropertyDescriptor$3(this, V);
73
74
  return !!descriptor && descriptor.enumerable;
74
75
  } : $propertyIsEnumerable;
75
76
 
@@ -86,98 +87,98 @@ var NATIVE_BIND$2 = functionBindNative;
86
87
 
87
88
  var FunctionPrototype$2 = Function.prototype;
88
89
  var bind$5 = FunctionPrototype$2.bind;
89
- var call$a = FunctionPrototype$2.call;
90
- var uncurryThis$e = NATIVE_BIND$2 && bind$5.bind(call$a, call$a);
90
+ var call$d = FunctionPrototype$2.call;
91
+ var uncurryThis$k = NATIVE_BIND$2 && bind$5.bind(call$d, call$d);
91
92
 
92
93
  var functionUncurryThis = NATIVE_BIND$2 ? function (fn) {
93
- return fn && uncurryThis$e(fn);
94
+ return fn && uncurryThis$k(fn);
94
95
  } : function (fn) {
95
96
  return fn && function () {
96
- return call$a.apply(fn, arguments);
97
+ return call$d.apply(fn, arguments);
97
98
  };
98
99
  };
99
100
 
100
- var uncurryThis$d = functionUncurryThis;
101
+ var uncurryThis$j = functionUncurryThis;
101
102
 
102
- var toString$1 = uncurryThis$d({}.toString);
103
- var stringSlice = uncurryThis$d(''.slice);
103
+ var toString$6 = uncurryThis$j({}.toString);
104
+ var stringSlice$5 = uncurryThis$j(''.slice);
104
105
 
105
106
  var classofRaw$1 = function (it) {
106
- return stringSlice(toString$1(it), 8, -1);
107
+ return stringSlice$5(toString$6(it), 8, -1);
107
108
  };
108
109
 
109
- var global$A = global$B;
110
- var uncurryThis$c = functionUncurryThis;
111
- var fails$9 = fails$c;
112
- var classof$4 = classofRaw$1;
110
+ var global$G = global$H;
111
+ var uncurryThis$i = functionUncurryThis;
112
+ var fails$e = fails$h;
113
+ var classof$7 = classofRaw$1;
113
114
 
114
- var Object$5 = global$A.Object;
115
- var split = uncurryThis$c(''.split);
115
+ var Object$5 = global$G.Object;
116
+ var split = uncurryThis$i(''.split);
116
117
 
117
118
  // fallback for non-array-like ES3 and non-enumerable old V8 strings
118
- var indexedObject = fails$9(function () {
119
+ var indexedObject = fails$e(function () {
119
120
  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
120
121
  // eslint-disable-next-line no-prototype-builtins -- safe
121
122
  return !Object$5('z').propertyIsEnumerable(0);
122
123
  }) ? function (it) {
123
- return classof$4(it) == 'String' ? split(it, '') : Object$5(it);
124
+ return classof$7(it) == 'String' ? split(it, '') : Object$5(it);
124
125
  } : Object$5;
125
126
 
126
- var global$z = global$B;
127
+ var global$F = global$H;
127
128
 
128
- var TypeError$e = global$z.TypeError;
129
+ var TypeError$g = global$F.TypeError;
129
130
 
130
131
  // `RequireObjectCoercible` abstract operation
131
132
  // https://tc39.es/ecma262/#sec-requireobjectcoercible
132
- var requireObjectCoercible$2 = function (it) {
133
- if (it == undefined) throw TypeError$e("Can't call method on " + it);
133
+ var requireObjectCoercible$5 = function (it) {
134
+ if (it == undefined) throw TypeError$g("Can't call method on " + it);
134
135
  return it;
135
136
  };
136
137
 
137
138
  // toObject with fallback for non-array-like ES3 strings
138
139
  var IndexedObject$1 = indexedObject;
139
- var requireObjectCoercible$1 = requireObjectCoercible$2;
140
+ var requireObjectCoercible$4 = requireObjectCoercible$5;
140
141
 
141
142
  var toIndexedObject$5 = function (it) {
142
- return IndexedObject$1(requireObjectCoercible$1(it));
143
+ return IndexedObject$1(requireObjectCoercible$4(it));
143
144
  };
144
145
 
145
146
  // `IsCallable` abstract operation
146
147
  // https://tc39.es/ecma262/#sec-iscallable
147
- var isCallable$h = function (argument) {
148
+ var isCallable$j = function (argument) {
148
149
  return typeof argument == 'function';
149
150
  };
150
151
 
151
- var isCallable$g = isCallable$h;
152
+ var isCallable$i = isCallable$j;
152
153
 
153
- var isObject$7 = function (it) {
154
- return typeof it == 'object' ? it !== null : isCallable$g(it);
154
+ var isObject$8 = function (it) {
155
+ return typeof it == 'object' ? it !== null : isCallable$i(it);
155
156
  };
156
157
 
157
- var global$y = global$B;
158
- var isCallable$f = isCallable$h;
158
+ var global$E = global$H;
159
+ var isCallable$h = isCallable$j;
159
160
 
160
161
  var aFunction = function (argument) {
161
- return isCallable$f(argument) ? argument : undefined;
162
+ return isCallable$h(argument) ? argument : undefined;
162
163
  };
163
164
 
164
165
  var getBuiltIn$7 = function (namespace, method) {
165
- return arguments.length < 2 ? aFunction(global$y[namespace]) : global$y[namespace] && global$y[namespace][method];
166
+ return arguments.length < 2 ? aFunction(global$E[namespace]) : global$E[namespace] && global$E[namespace][method];
166
167
  };
167
168
 
168
- var uncurryThis$b = functionUncurryThis;
169
+ var uncurryThis$h = functionUncurryThis;
169
170
 
170
- var objectIsPrototypeOf = uncurryThis$b({}.isPrototypeOf);
171
+ var objectIsPrototypeOf = uncurryThis$h({}.isPrototypeOf);
171
172
 
172
173
  var getBuiltIn$6 = getBuiltIn$7;
173
174
 
174
175
  var engineUserAgent = getBuiltIn$6('navigator', 'userAgent') || '';
175
176
 
176
- var global$x = global$B;
177
+ var global$D = global$H;
177
178
  var userAgent$3 = engineUserAgent;
178
179
 
179
- var process$4 = global$x.process;
180
- var Deno = global$x.Deno;
180
+ var process$4 = global$D.process;
181
+ var Deno = global$D.Deno;
181
182
  var versions = process$4 && process$4.versions || Deno && Deno.version;
182
183
  var v8 = versions && versions.v8;
183
184
  var match, version;
@@ -204,10 +205,10 @@ var engineV8Version = version;
204
205
  /* eslint-disable es/no-symbol -- required for testing */
205
206
 
206
207
  var V8_VERSION$1 = engineV8Version;
207
- var fails$8 = fails$c;
208
+ var fails$d = fails$h;
208
209
 
209
210
  // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
210
- var nativeSymbol = !!Object.getOwnPropertySymbols && !fails$8(function () {
211
+ var nativeSymbol = !!Object.getOwnPropertySymbols && !fails$d(function () {
211
212
  var symbol = Symbol();
212
213
  // Chrome 38 Symbol has incorrect toString conversion
213
214
  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
@@ -224,97 +225,97 @@ var useSymbolAsUid = NATIVE_SYMBOL$1
224
225
  && !Symbol.sham
225
226
  && typeof Symbol.iterator == 'symbol';
226
227
 
227
- var global$w = global$B;
228
+ var global$C = global$H;
228
229
  var getBuiltIn$5 = getBuiltIn$7;
229
- var isCallable$e = isCallable$h;
230
+ var isCallable$g = isCallable$j;
230
231
  var isPrototypeOf$2 = objectIsPrototypeOf;
231
232
  var USE_SYMBOL_AS_UID$1 = useSymbolAsUid;
232
233
 
233
- var Object$4 = global$w.Object;
234
+ var Object$4 = global$C.Object;
234
235
 
235
236
  var isSymbol$2 = USE_SYMBOL_AS_UID$1 ? function (it) {
236
237
  return typeof it == 'symbol';
237
238
  } : function (it) {
238
239
  var $Symbol = getBuiltIn$5('Symbol');
239
- return isCallable$e($Symbol) && isPrototypeOf$2($Symbol.prototype, Object$4(it));
240
+ return isCallable$g($Symbol) && isPrototypeOf$2($Symbol.prototype, Object$4(it));
240
241
  };
241
242
 
242
- var global$v = global$B;
243
+ var global$B = global$H;
243
244
 
244
- var String$4 = global$v.String;
245
+ var String$5 = global$B.String;
245
246
 
246
247
  var tryToString$4 = function (argument) {
247
248
  try {
248
- return String$4(argument);
249
+ return String$5(argument);
249
250
  } catch (error) {
250
251
  return 'Object';
251
252
  }
252
253
  };
253
254
 
254
- var global$u = global$B;
255
- var isCallable$d = isCallable$h;
255
+ var global$A = global$H;
256
+ var isCallable$f = isCallable$j;
256
257
  var tryToString$3 = tryToString$4;
257
258
 
258
- var TypeError$d = global$u.TypeError;
259
+ var TypeError$f = global$A.TypeError;
259
260
 
260
261
  // `Assert: IsCallable(argument) is true`
261
262
  var aCallable$5 = function (argument) {
262
- if (isCallable$d(argument)) return argument;
263
- throw TypeError$d(tryToString$3(argument) + ' is not a function');
263
+ if (isCallable$f(argument)) return argument;
264
+ throw TypeError$f(tryToString$3(argument) + ' is not a function');
264
265
  };
265
266
 
266
267
  var aCallable$4 = aCallable$5;
267
268
 
268
269
  // `GetMethod` abstract operation
269
270
  // https://tc39.es/ecma262/#sec-getmethod
270
- var getMethod$3 = function (V, P) {
271
+ var getMethod$4 = function (V, P) {
271
272
  var func = V[P];
272
273
  return func == null ? undefined : aCallable$4(func);
273
274
  };
274
275
 
275
- var global$t = global$B;
276
- var call$9 = functionCall;
277
- var isCallable$c = isCallable$h;
278
- var isObject$6 = isObject$7;
276
+ var global$z = global$H;
277
+ var call$c = functionCall;
278
+ var isCallable$e = isCallable$j;
279
+ var isObject$7 = isObject$8;
279
280
 
280
- var TypeError$c = global$t.TypeError;
281
+ var TypeError$e = global$z.TypeError;
281
282
 
282
283
  // `OrdinaryToPrimitive` abstract operation
283
284
  // https://tc39.es/ecma262/#sec-ordinarytoprimitive
284
285
  var ordinaryToPrimitive$1 = function (input, pref) {
285
286
  var fn, val;
286
- if (pref === 'string' && isCallable$c(fn = input.toString) && !isObject$6(val = call$9(fn, input))) return val;
287
- if (isCallable$c(fn = input.valueOf) && !isObject$6(val = call$9(fn, input))) return val;
288
- if (pref !== 'string' && isCallable$c(fn = input.toString) && !isObject$6(val = call$9(fn, input))) return val;
289
- throw TypeError$c("Can't convert object to primitive value");
287
+ if (pref === 'string' && isCallable$e(fn = input.toString) && !isObject$7(val = call$c(fn, input))) return val;
288
+ if (isCallable$e(fn = input.valueOf) && !isObject$7(val = call$c(fn, input))) return val;
289
+ if (pref !== 'string' && isCallable$e(fn = input.toString) && !isObject$7(val = call$c(fn, input))) return val;
290
+ throw TypeError$e("Can't convert object to primitive value");
290
291
  };
291
292
 
292
- var shared$3 = {exports: {}};
293
+ var shared$4 = {exports: {}};
293
294
 
294
- var global$s = global$B;
295
+ var global$y = global$H;
295
296
 
296
297
  // eslint-disable-next-line es/no-object-defineproperty -- safe
297
298
  var defineProperty$3 = Object.defineProperty;
298
299
 
299
300
  var setGlobal$3 = function (key, value) {
300
301
  try {
301
- defineProperty$3(global$s, key, { value: value, configurable: true, writable: true });
302
+ defineProperty$3(global$y, key, { value: value, configurable: true, writable: true });
302
303
  } catch (error) {
303
- global$s[key] = value;
304
+ global$y[key] = value;
304
305
  } return value;
305
306
  };
306
307
 
307
- var global$r = global$B;
308
+ var global$x = global$H;
308
309
  var setGlobal$2 = setGlobal$3;
309
310
 
310
311
  var SHARED = '__core-js_shared__';
311
- var store$3 = global$r[SHARED] || setGlobal$2(SHARED, {});
312
+ var store$3 = global$x[SHARED] || setGlobal$2(SHARED, {});
312
313
 
313
314
  var sharedStore = store$3;
314
315
 
315
316
  var store$2 = sharedStore;
316
317
 
317
- (shared$3.exports = function (key, value) {
318
+ (shared$4.exports = function (key, value) {
318
319
  return store$2[key] || (store$2[key] = value !== undefined ? value : {});
319
320
  })('versions', []).push({
320
321
  version: '3.21.1',
@@ -324,51 +325,51 @@ var store$2 = sharedStore;
324
325
  source: 'https://github.com/zloirock/core-js'
325
326
  });
326
327
 
327
- var global$q = global$B;
328
- var requireObjectCoercible = requireObjectCoercible$2;
328
+ var global$w = global$H;
329
+ var requireObjectCoercible$3 = requireObjectCoercible$5;
329
330
 
330
- var Object$3 = global$q.Object;
331
+ var Object$3 = global$w.Object;
331
332
 
332
333
  // `ToObject` abstract operation
333
334
  // https://tc39.es/ecma262/#sec-toobject
334
- var toObject$3 = function (argument) {
335
- return Object$3(requireObjectCoercible(argument));
335
+ var toObject$4 = function (argument) {
336
+ return Object$3(requireObjectCoercible$3(argument));
336
337
  };
337
338
 
338
- var uncurryThis$a = functionUncurryThis;
339
- var toObject$2 = toObject$3;
339
+ var uncurryThis$g = functionUncurryThis;
340
+ var toObject$3 = toObject$4;
340
341
 
341
- var hasOwnProperty = uncurryThis$a({}.hasOwnProperty);
342
+ var hasOwnProperty = uncurryThis$g({}.hasOwnProperty);
342
343
 
343
344
  // `HasOwnProperty` abstract operation
344
345
  // https://tc39.es/ecma262/#sec-hasownproperty
345
346
  var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
346
- return hasOwnProperty(toObject$2(it), key);
347
+ return hasOwnProperty(toObject$3(it), key);
347
348
  };
348
349
 
349
- var uncurryThis$9 = functionUncurryThis;
350
+ var uncurryThis$f = functionUncurryThis;
350
351
 
351
352
  var id = 0;
352
353
  var postfix = Math.random();
353
- var toString = uncurryThis$9(1.0.toString);
354
+ var toString$5 = uncurryThis$f(1.0.toString);
354
355
 
355
356
  var uid$2 = function (key) {
356
- return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
357
+ return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$5(++id + postfix, 36);
357
358
  };
358
359
 
359
- var global$p = global$B;
360
- var shared$2 = shared$3.exports;
360
+ var global$v = global$H;
361
+ var shared$3 = shared$4.exports;
361
362
  var hasOwn$9 = hasOwnProperty_1;
362
363
  var uid$1 = uid$2;
363
364
  var NATIVE_SYMBOL = nativeSymbol;
364
365
  var USE_SYMBOL_AS_UID = useSymbolAsUid;
365
366
 
366
- var WellKnownSymbolsStore = shared$2('wks');
367
- var Symbol$1 = global$p.Symbol;
367
+ var WellKnownSymbolsStore = shared$3('wks');
368
+ var Symbol$1 = global$v.Symbol;
368
369
  var symbolFor = Symbol$1 && Symbol$1['for'];
369
370
  var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1;
370
371
 
371
- var wellKnownSymbol$e = function (name) {
372
+ var wellKnownSymbol$i = function (name) {
372
373
  if (!hasOwn$9(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
373
374
  var description = 'Symbol.' + name;
374
375
  if (NATIVE_SYMBOL && hasOwn$9(Symbol$1, name)) {
@@ -381,28 +382,28 @@ var wellKnownSymbol$e = function (name) {
381
382
  } return WellKnownSymbolsStore[name];
382
383
  };
383
384
 
384
- var global$o = global$B;
385
- var call$8 = functionCall;
386
- var isObject$5 = isObject$7;
385
+ var global$u = global$H;
386
+ var call$b = functionCall;
387
+ var isObject$6 = isObject$8;
387
388
  var isSymbol$1 = isSymbol$2;
388
- var getMethod$2 = getMethod$3;
389
+ var getMethod$3 = getMethod$4;
389
390
  var ordinaryToPrimitive = ordinaryToPrimitive$1;
390
- var wellKnownSymbol$d = wellKnownSymbol$e;
391
+ var wellKnownSymbol$h = wellKnownSymbol$i;
391
392
 
392
- var TypeError$b = global$o.TypeError;
393
- var TO_PRIMITIVE = wellKnownSymbol$d('toPrimitive');
393
+ var TypeError$d = global$u.TypeError;
394
+ var TO_PRIMITIVE = wellKnownSymbol$h('toPrimitive');
394
395
 
395
396
  // `ToPrimitive` abstract operation
396
397
  // https://tc39.es/ecma262/#sec-toprimitive
397
398
  var toPrimitive$1 = function (input, pref) {
398
- if (!isObject$5(input) || isSymbol$1(input)) return input;
399
- var exoticToPrim = getMethod$2(input, TO_PRIMITIVE);
399
+ if (!isObject$6(input) || isSymbol$1(input)) return input;
400
+ var exoticToPrim = getMethod$3(input, TO_PRIMITIVE);
400
401
  var result;
401
402
  if (exoticToPrim) {
402
403
  if (pref === undefined) pref = 'default';
403
- result = call$8(exoticToPrim, input, pref);
404
- if (!isObject$5(result) || isSymbol$1(result)) return result;
405
- throw TypeError$b("Can't convert object to primitive value");
404
+ result = call$b(exoticToPrim, input, pref);
405
+ if (!isObject$6(result) || isSymbol$1(result)) return result;
406
+ throw TypeError$d("Can't convert object to primitive value");
406
407
  }
407
408
  if (pref === undefined) pref = 'number';
408
409
  return ordinaryToPrimitive(input, pref);
@@ -418,23 +419,23 @@ var toPropertyKey$2 = function (argument) {
418
419
  return isSymbol(key) ? key : key + '';
419
420
  };
420
421
 
421
- var global$n = global$B;
422
- var isObject$4 = isObject$7;
422
+ var global$t = global$H;
423
+ var isObject$5 = isObject$8;
423
424
 
424
- var document$3 = global$n.document;
425
+ var document$3 = global$t.document;
425
426
  // typeof document.createElement is 'object' in old IE
426
- var EXISTS$1 = isObject$4(document$3) && isObject$4(document$3.createElement);
427
+ var EXISTS$1 = isObject$5(document$3) && isObject$5(document$3.createElement);
427
428
 
428
429
  var documentCreateElement$2 = function (it) {
429
430
  return EXISTS$1 ? document$3.createElement(it) : {};
430
431
  };
431
432
 
432
433
  var DESCRIPTORS$9 = descriptors;
433
- var fails$7 = fails$c;
434
+ var fails$c = fails$h;
434
435
  var createElement$1 = documentCreateElement$2;
435
436
 
436
437
  // Thanks to IE8 for its funny defineProperty
437
- var ie8DomDefine = !DESCRIPTORS$9 && !fails$7(function () {
438
+ var ie8DomDefine = !DESCRIPTORS$9 && !fails$c(function () {
438
439
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
439
440
  return Object.defineProperty(createElement$1('div'), 'a', {
440
441
  get: function () { return 7; }
@@ -442,7 +443,7 @@ var ie8DomDefine = !DESCRIPTORS$9 && !fails$7(function () {
442
443
  });
443
444
 
444
445
  var DESCRIPTORS$8 = descriptors;
445
- var call$7 = functionCall;
446
+ var call$a = functionCall;
446
447
  var propertyIsEnumerableModule$1 = objectPropertyIsEnumerable;
447
448
  var createPropertyDescriptor$2 = createPropertyDescriptor$3;
448
449
  var toIndexedObject$4 = toIndexedObject$5;
@@ -461,17 +462,17 @@ objectGetOwnPropertyDescriptor.f = DESCRIPTORS$8 ? $getOwnPropertyDescriptor$1 :
461
462
  if (IE8_DOM_DEFINE$1) try {
462
463
  return $getOwnPropertyDescriptor$1(O, P);
463
464
  } catch (error) { /* empty */ }
464
- if (hasOwn$8(O, P)) return createPropertyDescriptor$2(!call$7(propertyIsEnumerableModule$1.f, O, P), O[P]);
465
+ if (hasOwn$8(O, P)) return createPropertyDescriptor$2(!call$a(propertyIsEnumerableModule$1.f, O, P), O[P]);
465
466
  };
466
467
 
467
468
  var objectDefineProperty = {};
468
469
 
469
470
  var DESCRIPTORS$7 = descriptors;
470
- var fails$6 = fails$c;
471
+ var fails$b = fails$h;
471
472
 
472
473
  // V8 ~ Chrome 36-
473
474
  // https://bugs.chromium.org/p/v8/issues/detail?id=3334
474
- var v8PrototypeDefineBug = DESCRIPTORS$7 && fails$6(function () {
475
+ var v8PrototypeDefineBug = DESCRIPTORS$7 && fails$b(function () {
475
476
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
476
477
  return Object.defineProperty(function () { /* empty */ }, 'prototype', {
477
478
  value: 42,
@@ -479,26 +480,26 @@ var v8PrototypeDefineBug = DESCRIPTORS$7 && fails$6(function () {
479
480
  }).prototype != 42;
480
481
  });
481
482
 
482
- var global$m = global$B;
483
- var isObject$3 = isObject$7;
483
+ var global$s = global$H;
484
+ var isObject$4 = isObject$8;
484
485
 
485
- var String$3 = global$m.String;
486
- var TypeError$a = global$m.TypeError;
486
+ var String$4 = global$s.String;
487
+ var TypeError$c = global$s.TypeError;
487
488
 
488
489
  // `Assert: Type(argument) is Object`
489
- var anObject$a = function (argument) {
490
- if (isObject$3(argument)) return argument;
491
- throw TypeError$a(String$3(argument) + ' is not an object');
490
+ var anObject$d = function (argument) {
491
+ if (isObject$4(argument)) return argument;
492
+ throw TypeError$c(String$4(argument) + ' is not an object');
492
493
  };
493
494
 
494
- var global$l = global$B;
495
+ var global$r = global$H;
495
496
  var DESCRIPTORS$6 = descriptors;
496
497
  var IE8_DOM_DEFINE = ie8DomDefine;
497
498
  var V8_PROTOTYPE_DEFINE_BUG$1 = v8PrototypeDefineBug;
498
- var anObject$9 = anObject$a;
499
+ var anObject$c = anObject$d;
499
500
  var toPropertyKey = toPropertyKey$2;
500
501
 
501
- var TypeError$9 = global$l.TypeError;
502
+ var TypeError$b = global$r.TypeError;
502
503
  // eslint-disable-next-line es/no-object-defineproperty -- safe
503
504
  var $defineProperty = Object.defineProperty;
504
505
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
@@ -510,9 +511,9 @@ var WRITABLE = 'writable';
510
511
  // `Object.defineProperty` method
511
512
  // https://tc39.es/ecma262/#sec-object.defineproperty
512
513
  objectDefineProperty.f = DESCRIPTORS$6 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function defineProperty(O, P, Attributes) {
513
- anObject$9(O);
514
+ anObject$c(O);
514
515
  P = toPropertyKey(P);
515
- anObject$9(Attributes);
516
+ anObject$c(Attributes);
516
517
  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
517
518
  var current = $getOwnPropertyDescriptor(O, P);
518
519
  if (current && current[WRITABLE]) {
@@ -525,13 +526,13 @@ objectDefineProperty.f = DESCRIPTORS$6 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function de
525
526
  }
526
527
  } return $defineProperty(O, P, Attributes);
527
528
  } : $defineProperty : function defineProperty(O, P, Attributes) {
528
- anObject$9(O);
529
+ anObject$c(O);
529
530
  P = toPropertyKey(P);
530
- anObject$9(Attributes);
531
+ anObject$c(Attributes);
531
532
  if (IE8_DOM_DEFINE) try {
532
533
  return $defineProperty(O, P, Attributes);
533
534
  } catch (error) { /* empty */ }
534
- if ('get' in Attributes || 'set' in Attributes) throw TypeError$9('Accessors not supported');
535
+ if ('get' in Attributes || 'set' in Attributes) throw TypeError$b('Accessors not supported');
535
536
  if ('value' in Attributes) O[P] = Attributes.value;
536
537
  return O;
537
538
  };
@@ -540,23 +541,23 @@ var DESCRIPTORS$5 = descriptors;
540
541
  var definePropertyModule$4 = objectDefineProperty;
541
542
  var createPropertyDescriptor$1 = createPropertyDescriptor$3;
542
543
 
543
- var createNonEnumerableProperty$5 = DESCRIPTORS$5 ? function (object, key, value) {
544
+ var createNonEnumerableProperty$6 = DESCRIPTORS$5 ? function (object, key, value) {
544
545
  return definePropertyModule$4.f(object, key, createPropertyDescriptor$1(1, value));
545
546
  } : function (object, key, value) {
546
547
  object[key] = value;
547
548
  return object;
548
549
  };
549
550
 
550
- var redefine$5 = {exports: {}};
551
+ var redefine$6 = {exports: {}};
551
552
 
552
- var uncurryThis$8 = functionUncurryThis;
553
- var isCallable$b = isCallable$h;
553
+ var uncurryThis$e = functionUncurryThis;
554
+ var isCallable$d = isCallable$j;
554
555
  var store$1 = sharedStore;
555
556
 
556
- var functionToString = uncurryThis$8(Function.toString);
557
+ var functionToString = uncurryThis$e(Function.toString);
557
558
 
558
559
  // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
559
- if (!isCallable$b(store$1.inspectSource)) {
560
+ if (!isCallable$d(store$1.inspectSource)) {
560
561
  store$1.inspectSource = function (it) {
561
562
  return functionToString(it);
562
563
  };
@@ -564,18 +565,18 @@ if (!isCallable$b(store$1.inspectSource)) {
564
565
 
565
566
  var inspectSource$4 = store$1.inspectSource;
566
567
 
567
- var global$k = global$B;
568
- var isCallable$a = isCallable$h;
568
+ var global$q = global$H;
569
+ var isCallable$c = isCallable$j;
569
570
  var inspectSource$3 = inspectSource$4;
570
571
 
571
- var WeakMap$1 = global$k.WeakMap;
572
+ var WeakMap$1 = global$q.WeakMap;
572
573
 
573
- var nativeWeakMap = isCallable$a(WeakMap$1) && /native code/.test(inspectSource$3(WeakMap$1));
574
+ var nativeWeakMap = isCallable$c(WeakMap$1) && /native code/.test(inspectSource$3(WeakMap$1));
574
575
 
575
- var shared$1 = shared$3.exports;
576
+ var shared$2 = shared$4.exports;
576
577
  var uid = uid$2;
577
578
 
578
- var keys = shared$1('keys');
579
+ var keys = shared$2('keys');
579
580
 
580
581
  var sharedKey$3 = function (key) {
581
582
  return keys[key] || (keys[key] = uid(key));
@@ -584,18 +585,18 @@ var sharedKey$3 = function (key) {
584
585
  var hiddenKeys$4 = {};
585
586
 
586
587
  var NATIVE_WEAK_MAP = nativeWeakMap;
587
- var global$j = global$B;
588
- var uncurryThis$7 = functionUncurryThis;
589
- var isObject$2 = isObject$7;
590
- var createNonEnumerableProperty$4 = createNonEnumerableProperty$5;
588
+ var global$p = global$H;
589
+ var uncurryThis$d = functionUncurryThis;
590
+ var isObject$3 = isObject$8;
591
+ var createNonEnumerableProperty$5 = createNonEnumerableProperty$6;
591
592
  var hasOwn$7 = hasOwnProperty_1;
592
- var shared = sharedStore;
593
+ var shared$1 = sharedStore;
593
594
  var sharedKey$2 = sharedKey$3;
594
595
  var hiddenKeys$3 = hiddenKeys$4;
595
596
 
596
597
  var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
597
- var TypeError$8 = global$j.TypeError;
598
- var WeakMap = global$j.WeakMap;
598
+ var TypeError$a = global$p.TypeError;
599
+ var WeakMap = global$p.WeakMap;
599
600
  var set$2, get$1, has;
600
601
 
601
602
  var enforce = function (it) {
@@ -605,19 +606,19 @@ var enforce = function (it) {
605
606
  var getterFor = function (TYPE) {
606
607
  return function (it) {
607
608
  var state;
608
- if (!isObject$2(it) || (state = get$1(it)).type !== TYPE) {
609
- throw TypeError$8('Incompatible receiver, ' + TYPE + ' required');
609
+ if (!isObject$3(it) || (state = get$1(it)).type !== TYPE) {
610
+ throw TypeError$a('Incompatible receiver, ' + TYPE + ' required');
610
611
  } return state;
611
612
  };
612
613
  };
613
614
 
614
- if (NATIVE_WEAK_MAP || shared.state) {
615
- var store = shared.state || (shared.state = new WeakMap());
616
- var wmget = uncurryThis$7(store.get);
617
- var wmhas = uncurryThis$7(store.has);
618
- var wmset = uncurryThis$7(store.set);
615
+ if (NATIVE_WEAK_MAP || shared$1.state) {
616
+ var store = shared$1.state || (shared$1.state = new WeakMap());
617
+ var wmget = uncurryThis$d(store.get);
618
+ var wmhas = uncurryThis$d(store.has);
619
+ var wmset = uncurryThis$d(store.set);
619
620
  set$2 = function (it, metadata) {
620
- if (wmhas(store, it)) throw new TypeError$8(OBJECT_ALREADY_INITIALIZED);
621
+ if (wmhas(store, it)) throw new TypeError$a(OBJECT_ALREADY_INITIALIZED);
621
622
  metadata.facade = it;
622
623
  wmset(store, it, metadata);
623
624
  return metadata;
@@ -632,9 +633,9 @@ if (NATIVE_WEAK_MAP || shared.state) {
632
633
  var STATE = sharedKey$2('state');
633
634
  hiddenKeys$3[STATE] = true;
634
635
  set$2 = function (it, metadata) {
635
- if (hasOwn$7(it, STATE)) throw new TypeError$8(OBJECT_ALREADY_INITIALIZED);
636
+ if (hasOwn$7(it, STATE)) throw new TypeError$a(OBJECT_ALREADY_INITIALIZED);
636
637
  metadata.facade = it;
637
- createNonEnumerableProperty$4(it, STATE, metadata);
638
+ createNonEnumerableProperty$5(it, STATE, metadata);
638
639
  return metadata;
639
640
  };
640
641
  get$1 = function (it) {
@@ -671,38 +672,38 @@ var functionName = {
671
672
  CONFIGURABLE: CONFIGURABLE
672
673
  };
673
674
 
674
- var global$i = global$B;
675
- var isCallable$9 = isCallable$h;
675
+ var global$o = global$H;
676
+ var isCallable$b = isCallable$j;
676
677
  var hasOwn$5 = hasOwnProperty_1;
677
- var createNonEnumerableProperty$3 = createNonEnumerableProperty$5;
678
+ var createNonEnumerableProperty$4 = createNonEnumerableProperty$6;
678
679
  var setGlobal$1 = setGlobal$3;
679
680
  var inspectSource$2 = inspectSource$4;
680
681
  var InternalStateModule$2 = internalState;
681
682
  var CONFIGURABLE_FUNCTION_NAME$1 = functionName.CONFIGURABLE;
682
683
 
683
- var getInternalState$2 = InternalStateModule$2.get;
684
+ var getInternalState$3 = InternalStateModule$2.get;
684
685
  var enforceInternalState = InternalStateModule$2.enforce;
685
686
  var TEMPLATE = String(String).split('String');
686
687
 
687
- (redefine$5.exports = function (O, key, value, options) {
688
+ (redefine$6.exports = function (O, key, value, options) {
688
689
  var unsafe = options ? !!options.unsafe : false;
689
690
  var simple = options ? !!options.enumerable : false;
690
691
  var noTargetGet = options ? !!options.noTargetGet : false;
691
692
  var name = options && options.name !== undefined ? options.name : key;
692
693
  var state;
693
- if (isCallable$9(value)) {
694
+ if (isCallable$b(value)) {
694
695
  if (String(name).slice(0, 7) === 'Symbol(') {
695
696
  name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']';
696
697
  }
697
698
  if (!hasOwn$5(value, 'name') || (CONFIGURABLE_FUNCTION_NAME$1 && value.name !== name)) {
698
- createNonEnumerableProperty$3(value, 'name', name);
699
+ createNonEnumerableProperty$4(value, 'name', name);
699
700
  }
700
701
  state = enforceInternalState(value);
701
702
  if (!state.source) {
702
703
  state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
703
704
  }
704
705
  }
705
- if (O === global$i) {
706
+ if (O === global$o) {
706
707
  if (simple) O[key] = value;
707
708
  else setGlobal$1(key, value);
708
709
  return;
@@ -712,54 +713,54 @@ var TEMPLATE = String(String).split('String');
712
713
  simple = true;
713
714
  }
714
715
  if (simple) O[key] = value;
715
- else createNonEnumerableProperty$3(O, key, value);
716
+ else createNonEnumerableProperty$4(O, key, value);
716
717
  // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
717
718
  })(Function.prototype, 'toString', function toString() {
718
- return isCallable$9(this) && getInternalState$2(this).source || inspectSource$2(this);
719
+ return isCallable$b(this) && getInternalState$3(this).source || inspectSource$2(this);
719
720
  });
720
721
 
721
722
  var objectGetOwnPropertyNames = {};
722
723
 
723
724
  var ceil = Math.ceil;
724
- var floor = Math.floor;
725
+ var floor$1 = Math.floor;
725
726
 
726
727
  // `ToIntegerOrInfinity` abstract operation
727
728
  // https://tc39.es/ecma262/#sec-tointegerorinfinity
728
- var toIntegerOrInfinity$2 = function (argument) {
729
+ var toIntegerOrInfinity$4 = function (argument) {
729
730
  var number = +argument;
730
731
  // eslint-disable-next-line no-self-compare -- safe
731
- return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);
732
+ return number !== number || number === 0 ? 0 : (number > 0 ? floor$1 : ceil)(number);
732
733
  };
733
734
 
734
- var toIntegerOrInfinity$1 = toIntegerOrInfinity$2;
735
+ var toIntegerOrInfinity$3 = toIntegerOrInfinity$4;
735
736
 
736
- var max = Math.max;
737
- var min$1 = Math.min;
737
+ var max$1 = Math.max;
738
+ var min$3 = Math.min;
738
739
 
739
740
  // Helper for a popular repeating case of the spec:
740
741
  // Let integer be ? ToInteger(index).
741
742
  // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
742
743
  var toAbsoluteIndex$1 = function (index, length) {
743
- var integer = toIntegerOrInfinity$1(index);
744
- return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
744
+ var integer = toIntegerOrInfinity$3(index);
745
+ return integer < 0 ? max$1(integer + length, 0) : min$3(integer, length);
745
746
  };
746
747
 
747
- var toIntegerOrInfinity = toIntegerOrInfinity$2;
748
+ var toIntegerOrInfinity$2 = toIntegerOrInfinity$4;
748
749
 
749
- var min = Math.min;
750
+ var min$2 = Math.min;
750
751
 
751
752
  // `ToLength` abstract operation
752
753
  // https://tc39.es/ecma262/#sec-tolength
753
- var toLength$1 = function (argument) {
754
- return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
754
+ var toLength$3 = function (argument) {
755
+ return argument > 0 ? min$2(toIntegerOrInfinity$2(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
755
756
  };
756
757
 
757
- var toLength = toLength$1;
758
+ var toLength$2 = toLength$3;
758
759
 
759
760
  // `LengthOfArrayLike` abstract operation
760
761
  // https://tc39.es/ecma262/#sec-lengthofarraylike
761
762
  var lengthOfArrayLike$2 = function (obj) {
762
- return toLength(obj.length);
763
+ return toLength$2(obj.length);
763
764
  };
764
765
 
765
766
  var toIndexedObject$3 = toIndexedObject$5;
@@ -767,7 +768,7 @@ var toAbsoluteIndex = toAbsoluteIndex$1;
767
768
  var lengthOfArrayLike$1 = lengthOfArrayLike$2;
768
769
 
769
770
  // `Array.prototype.{ indexOf, includes }` methods implementation
770
- var createMethod = function (IS_INCLUDES) {
771
+ var createMethod$1 = function (IS_INCLUDES) {
771
772
  return function ($this, el, fromIndex) {
772
773
  var O = toIndexedObject$3($this);
773
774
  var length = lengthOfArrayLike$1(O);
@@ -789,29 +790,29 @@ var createMethod = function (IS_INCLUDES) {
789
790
  var arrayIncludes = {
790
791
  // `Array.prototype.includes` method
791
792
  // https://tc39.es/ecma262/#sec-array.prototype.includes
792
- includes: createMethod(true),
793
+ includes: createMethod$1(true),
793
794
  // `Array.prototype.indexOf` method
794
795
  // https://tc39.es/ecma262/#sec-array.prototype.indexof
795
- indexOf: createMethod(false)
796
+ indexOf: createMethod$1(false)
796
797
  };
797
798
 
798
- var uncurryThis$6 = functionUncurryThis;
799
+ var uncurryThis$c = functionUncurryThis;
799
800
  var hasOwn$4 = hasOwnProperty_1;
800
801
  var toIndexedObject$2 = toIndexedObject$5;
801
- var indexOf = arrayIncludes.indexOf;
802
+ var indexOf$1 = arrayIncludes.indexOf;
802
803
  var hiddenKeys$2 = hiddenKeys$4;
803
804
 
804
- var push = uncurryThis$6([].push);
805
+ var push$1 = uncurryThis$c([].push);
805
806
 
806
807
  var objectKeysInternal = function (object, names) {
807
808
  var O = toIndexedObject$2(object);
808
809
  var i = 0;
809
810
  var result = [];
810
811
  var key;
811
- for (key in O) !hasOwn$4(hiddenKeys$2, key) && hasOwn$4(O, key) && push(result, key);
812
+ for (key in O) !hasOwn$4(hiddenKeys$2, key) && hasOwn$4(O, key) && push$1(result, key);
812
813
  // Don't enum bug & hidden keys
813
814
  while (names.length > i) if (hasOwn$4(O, key = names[i++])) {
814
- ~indexOf(result, key) || push(result, key);
815
+ ~indexOf$1(result, key) || push$1(result, key);
815
816
  }
816
817
  return result;
817
818
  };
@@ -845,18 +846,18 @@ var objectGetOwnPropertySymbols = {};
845
846
  objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;
846
847
 
847
848
  var getBuiltIn$4 = getBuiltIn$7;
848
- var uncurryThis$5 = functionUncurryThis;
849
+ var uncurryThis$b = functionUncurryThis;
849
850
  var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
850
851
  var getOwnPropertySymbolsModule$1 = objectGetOwnPropertySymbols;
851
- var anObject$8 = anObject$a;
852
+ var anObject$b = anObject$d;
852
853
 
853
- var concat$1 = uncurryThis$5([].concat);
854
+ var concat$2 = uncurryThis$b([].concat);
854
855
 
855
856
  // all object keys, includes non-enumerable and symbols
856
857
  var ownKeys$1 = getBuiltIn$4('Reflect', 'ownKeys') || function ownKeys(it) {
857
- var keys = getOwnPropertyNamesModule.f(anObject$8(it));
858
+ var keys = getOwnPropertyNamesModule.f(anObject$b(it));
858
859
  var getOwnPropertySymbols = getOwnPropertySymbolsModule$1.f;
859
- return getOwnPropertySymbols ? concat$1(keys, getOwnPropertySymbols(it)) : keys;
860
+ return getOwnPropertySymbols ? concat$2(keys, getOwnPropertySymbols(it)) : keys;
860
861
  };
861
862
 
862
863
  var hasOwn$3 = hasOwnProperty_1;
@@ -876,8 +877,8 @@ var copyConstructorProperties$1 = function (target, source, exceptions) {
876
877
  }
877
878
  };
878
879
 
879
- var fails$5 = fails$c;
880
- var isCallable$8 = isCallable$h;
880
+ var fails$a = fails$h;
881
+ var isCallable$a = isCallable$j;
881
882
 
882
883
  var replacement = /#|\.prototype\./;
883
884
 
@@ -885,7 +886,7 @@ var isForced$2 = function (feature, detection) {
885
886
  var value = data[normalize(feature)];
886
887
  return value == POLYFILL ? true
887
888
  : value == NATIVE ? false
888
- : isCallable$8(detection) ? fails$5(detection)
889
+ : isCallable$a(detection) ? fails$a(detection)
889
890
  : !!detection;
890
891
  };
891
892
 
@@ -899,10 +900,10 @@ var POLYFILL = isForced$2.POLYFILL = 'P';
899
900
 
900
901
  var isForced_1 = isForced$2;
901
902
 
902
- var global$h = global$B;
903
- var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
904
- var createNonEnumerableProperty$2 = createNonEnumerableProperty$5;
905
- var redefine$4 = redefine$5.exports;
903
+ var global$n = global$H;
904
+ var getOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f;
905
+ var createNonEnumerableProperty$3 = createNonEnumerableProperty$6;
906
+ var redefine$5 = redefine$6.exports;
906
907
  var setGlobal = setGlobal$3;
907
908
  var copyConstructorProperties = copyConstructorProperties$1;
908
909
  var isForced$1 = isForced_1;
@@ -928,16 +929,16 @@ var _export = function (options, source) {
928
929
  var STATIC = options.stat;
929
930
  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
930
931
  if (GLOBAL) {
931
- target = global$h;
932
+ target = global$n;
932
933
  } else if (STATIC) {
933
- target = global$h[TARGET] || setGlobal(TARGET, {});
934
+ target = global$n[TARGET] || setGlobal(TARGET, {});
934
935
  } else {
935
- target = (global$h[TARGET] || {}).prototype;
936
+ target = (global$n[TARGET] || {}).prototype;
936
937
  }
937
938
  if (target) for (key in source) {
938
939
  sourceProperty = source[key];
939
940
  if (options.noTargetGet) {
940
- descriptor = getOwnPropertyDescriptor$1(target, key);
941
+ descriptor = getOwnPropertyDescriptor$2(target, key);
941
942
  targetProperty = descriptor && descriptor.value;
942
943
  } else targetProperty = target[key];
943
944
  FORCED = isForced$1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
@@ -948,39 +949,39 @@ var _export = function (options, source) {
948
949
  }
949
950
  // add a flag to not completely full polyfills
950
951
  if (options.sham || (targetProperty && targetProperty.sham)) {
951
- createNonEnumerableProperty$2(sourceProperty, 'sham', true);
952
+ createNonEnumerableProperty$3(sourceProperty, 'sham', true);
952
953
  }
953
954
  // extend global
954
- redefine$4(target, key, sourceProperty, options);
955
+ redefine$5(target, key, sourceProperty, options);
955
956
  }
956
957
  };
957
958
 
958
- var global$g = global$B;
959
+ var global$m = global$H;
959
960
 
960
- var nativePromiseConstructor = global$g.Promise;
961
+ var nativePromiseConstructor = global$m.Promise;
961
962
 
962
- var redefine$3 = redefine$5.exports;
963
+ var redefine$4 = redefine$6.exports;
963
964
 
964
965
  var redefineAll$1 = function (target, src, options) {
965
- for (var key in src) redefine$3(target, key, src[key], options);
966
+ for (var key in src) redefine$4(target, key, src[key], options);
966
967
  return target;
967
968
  };
968
969
 
969
- var global$f = global$B;
970
- var isCallable$7 = isCallable$h;
970
+ var global$l = global$H;
971
+ var isCallable$9 = isCallable$j;
971
972
 
972
- var String$2 = global$f.String;
973
- var TypeError$7 = global$f.TypeError;
973
+ var String$3 = global$l.String;
974
+ var TypeError$9 = global$l.TypeError;
974
975
 
975
976
  var aPossiblePrototype$1 = function (argument) {
976
- if (typeof argument == 'object' || isCallable$7(argument)) return argument;
977
- throw TypeError$7("Can't set " + String$2(argument) + ' as a prototype');
977
+ if (typeof argument == 'object' || isCallable$9(argument)) return argument;
978
+ throw TypeError$9("Can't set " + String$3(argument) + ' as a prototype');
978
979
  };
979
980
 
980
981
  /* eslint-disable no-proto -- safe */
981
982
 
982
- var uncurryThis$4 = functionUncurryThis;
983
- var anObject$7 = anObject$a;
983
+ var uncurryThis$a = functionUncurryThis;
984
+ var anObject$a = anObject$d;
984
985
  var aPossiblePrototype = aPossiblePrototype$1;
985
986
 
986
987
  // `Object.setPrototypeOf` method
@@ -993,12 +994,12 @@ var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? functio
993
994
  var setter;
994
995
  try {
995
996
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
996
- setter = uncurryThis$4(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);
997
+ setter = uncurryThis$a(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);
997
998
  setter(test, []);
998
999
  CORRECT_SETTER = test instanceof Array;
999
1000
  } catch (error) { /* empty */ }
1000
1001
  return function setPrototypeOf(O, proto) {
1001
- anObject$7(O);
1002
+ anObject$a(O);
1002
1003
  aPossiblePrototype(proto);
1003
1004
  if (CORRECT_SETTER) setter(O, proto);
1004
1005
  else O.__proto__ = proto;
@@ -1008,9 +1009,9 @@ var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? functio
1008
1009
 
1009
1010
  var defineProperty$2 = objectDefineProperty.f;
1010
1011
  var hasOwn$2 = hasOwnProperty_1;
1011
- var wellKnownSymbol$c = wellKnownSymbol$e;
1012
+ var wellKnownSymbol$g = wellKnownSymbol$i;
1012
1013
 
1013
- var TO_STRING_TAG$3 = wellKnownSymbol$c('toStringTag');
1014
+ var TO_STRING_TAG$3 = wellKnownSymbol$g('toStringTag');
1014
1015
 
1015
1016
  var setToStringTag$3 = function (target, TAG, STATIC) {
1016
1017
  if (target && !STATIC) target = target.prototype;
@@ -1021,38 +1022,38 @@ var setToStringTag$3 = function (target, TAG, STATIC) {
1021
1022
 
1022
1023
  var getBuiltIn$3 = getBuiltIn$7;
1023
1024
  var definePropertyModule$2 = objectDefineProperty;
1024
- var wellKnownSymbol$b = wellKnownSymbol$e;
1025
+ var wellKnownSymbol$f = wellKnownSymbol$i;
1025
1026
  var DESCRIPTORS$3 = descriptors;
1026
1027
 
1027
- var SPECIES$2 = wellKnownSymbol$b('species');
1028
+ var SPECIES$3 = wellKnownSymbol$f('species');
1028
1029
 
1029
1030
  var setSpecies$1 = function (CONSTRUCTOR_NAME) {
1030
1031
  var Constructor = getBuiltIn$3(CONSTRUCTOR_NAME);
1031
1032
  var defineProperty = definePropertyModule$2.f;
1032
1033
 
1033
- if (DESCRIPTORS$3 && Constructor && !Constructor[SPECIES$2]) {
1034
- defineProperty(Constructor, SPECIES$2, {
1034
+ if (DESCRIPTORS$3 && Constructor && !Constructor[SPECIES$3]) {
1035
+ defineProperty(Constructor, SPECIES$3, {
1035
1036
  configurable: true,
1036
1037
  get: function () { return this; }
1037
1038
  });
1038
1039
  }
1039
1040
  };
1040
1041
 
1041
- var global$e = global$B;
1042
+ var global$k = global$H;
1042
1043
  var isPrototypeOf$1 = objectIsPrototypeOf;
1043
1044
 
1044
- var TypeError$6 = global$e.TypeError;
1045
+ var TypeError$8 = global$k.TypeError;
1045
1046
 
1046
1047
  var anInstance$1 = function (it, Prototype) {
1047
1048
  if (isPrototypeOf$1(Prototype, it)) return it;
1048
- throw TypeError$6('Incorrect invocation');
1049
+ throw TypeError$8('Incorrect invocation');
1049
1050
  };
1050
1051
 
1051
- var uncurryThis$3 = functionUncurryThis;
1052
+ var uncurryThis$9 = functionUncurryThis;
1052
1053
  var aCallable$3 = aCallable$5;
1053
1054
  var NATIVE_BIND$1 = functionBindNative;
1054
1055
 
1055
- var bind$4 = uncurryThis$3(uncurryThis$3.bind);
1056
+ var bind$4 = uncurryThis$9(uncurryThis$9.bind);
1056
1057
 
1057
1058
  // optional / simple context binding
1058
1059
  var functionBindContext = function (fn, that) {
@@ -1064,10 +1065,10 @@ var functionBindContext = function (fn, that) {
1064
1065
 
1065
1066
  var iterators = {};
1066
1067
 
1067
- var wellKnownSymbol$a = wellKnownSymbol$e;
1068
+ var wellKnownSymbol$e = wellKnownSymbol$i;
1068
1069
  var Iterators$4 = iterators;
1069
1070
 
1070
- var ITERATOR$5 = wellKnownSymbol$a('iterator');
1071
+ var ITERATOR$5 = wellKnownSymbol$e('iterator');
1071
1072
  var ArrayPrototype$1 = Array.prototype;
1072
1073
 
1073
1074
  // check on default Array iterator
@@ -1075,23 +1076,23 @@ var isArrayIteratorMethod$1 = function (it) {
1075
1076
  return it !== undefined && (Iterators$4.Array === it || ArrayPrototype$1[ITERATOR$5] === it);
1076
1077
  };
1077
1078
 
1078
- var wellKnownSymbol$9 = wellKnownSymbol$e;
1079
+ var wellKnownSymbol$d = wellKnownSymbol$i;
1079
1080
 
1080
- var TO_STRING_TAG$2 = wellKnownSymbol$9('toStringTag');
1081
+ var TO_STRING_TAG$2 = wellKnownSymbol$d('toStringTag');
1081
1082
  var test = {};
1082
1083
 
1083
1084
  test[TO_STRING_TAG$2] = 'z';
1084
1085
 
1085
1086
  var toStringTagSupport = String(test) === '[object z]';
1086
1087
 
1087
- var global$d = global$B;
1088
+ var global$j = global$H;
1088
1089
  var TO_STRING_TAG_SUPPORT = toStringTagSupport;
1089
- var isCallable$6 = isCallable$h;
1090
+ var isCallable$8 = isCallable$j;
1090
1091
  var classofRaw = classofRaw$1;
1091
- var wellKnownSymbol$8 = wellKnownSymbol$e;
1092
+ var wellKnownSymbol$c = wellKnownSymbol$i;
1092
1093
 
1093
- var TO_STRING_TAG$1 = wellKnownSymbol$8('toStringTag');
1094
- var Object$2 = global$d.Object;
1094
+ var TO_STRING_TAG$1 = wellKnownSymbol$c('toStringTag');
1095
+ var Object$2 = global$j.Object;
1095
1096
 
1096
1097
  // ES3 wrong here
1097
1098
  var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
@@ -1104,7 +1105,7 @@ var tryGet = function (it, key) {
1104
1105
  };
1105
1106
 
1106
1107
  // getting tag from ES6+ `Object.prototype.toString`
1107
- var classof$3 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
1108
+ var classof$6 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
1108
1109
  var O, tag, result;
1109
1110
  return it === undefined ? 'Undefined' : it === null ? 'Null'
1110
1111
  // @@toStringTag case
@@ -1112,65 +1113,65 @@ var classof$3 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
1112
1113
  // builtinTag case
1113
1114
  : CORRECT_ARGUMENTS ? classofRaw(O)
1114
1115
  // ES3 arguments fallback
1115
- : (result = classofRaw(O)) == 'Object' && isCallable$6(O.callee) ? 'Arguments' : result;
1116
+ : (result = classofRaw(O)) == 'Object' && isCallable$8(O.callee) ? 'Arguments' : result;
1116
1117
  };
1117
1118
 
1118
- var classof$2 = classof$3;
1119
- var getMethod$1 = getMethod$3;
1119
+ var classof$5 = classof$6;
1120
+ var getMethod$2 = getMethod$4;
1120
1121
  var Iterators$3 = iterators;
1121
- var wellKnownSymbol$7 = wellKnownSymbol$e;
1122
+ var wellKnownSymbol$b = wellKnownSymbol$i;
1122
1123
 
1123
- var ITERATOR$4 = wellKnownSymbol$7('iterator');
1124
+ var ITERATOR$4 = wellKnownSymbol$b('iterator');
1124
1125
 
1125
1126
  var getIteratorMethod$2 = function (it) {
1126
- if (it != undefined) return getMethod$1(it, ITERATOR$4)
1127
- || getMethod$1(it, '@@iterator')
1128
- || Iterators$3[classof$2(it)];
1127
+ if (it != undefined) return getMethod$2(it, ITERATOR$4)
1128
+ || getMethod$2(it, '@@iterator')
1129
+ || Iterators$3[classof$5(it)];
1129
1130
  };
1130
1131
 
1131
- var global$c = global$B;
1132
- var call$6 = functionCall;
1132
+ var global$i = global$H;
1133
+ var call$9 = functionCall;
1133
1134
  var aCallable$2 = aCallable$5;
1134
- var anObject$6 = anObject$a;
1135
+ var anObject$9 = anObject$d;
1135
1136
  var tryToString$2 = tryToString$4;
1136
1137
  var getIteratorMethod$1 = getIteratorMethod$2;
1137
1138
 
1138
- var TypeError$5 = global$c.TypeError;
1139
+ var TypeError$7 = global$i.TypeError;
1139
1140
 
1140
1141
  var getIterator$1 = function (argument, usingIterator) {
1141
1142
  var iteratorMethod = arguments.length < 2 ? getIteratorMethod$1(argument) : usingIterator;
1142
- if (aCallable$2(iteratorMethod)) return anObject$6(call$6(iteratorMethod, argument));
1143
- throw TypeError$5(tryToString$2(argument) + ' is not iterable');
1143
+ if (aCallable$2(iteratorMethod)) return anObject$9(call$9(iteratorMethod, argument));
1144
+ throw TypeError$7(tryToString$2(argument) + ' is not iterable');
1144
1145
  };
1145
1146
 
1146
- var call$5 = functionCall;
1147
- var anObject$5 = anObject$a;
1148
- var getMethod = getMethod$3;
1147
+ var call$8 = functionCall;
1148
+ var anObject$8 = anObject$d;
1149
+ var getMethod$1 = getMethod$4;
1149
1150
 
1150
1151
  var iteratorClose$1 = function (iterator, kind, value) {
1151
1152
  var innerResult, innerError;
1152
- anObject$5(iterator);
1153
+ anObject$8(iterator);
1153
1154
  try {
1154
- innerResult = getMethod(iterator, 'return');
1155
+ innerResult = getMethod$1(iterator, 'return');
1155
1156
  if (!innerResult) {
1156
1157
  if (kind === 'throw') throw value;
1157
1158
  return value;
1158
1159
  }
1159
- innerResult = call$5(innerResult, iterator);
1160
+ innerResult = call$8(innerResult, iterator);
1160
1161
  } catch (error) {
1161
1162
  innerError = true;
1162
1163
  innerResult = error;
1163
1164
  }
1164
1165
  if (kind === 'throw') throw value;
1165
1166
  if (innerError) throw innerResult;
1166
- anObject$5(innerResult);
1167
+ anObject$8(innerResult);
1167
1168
  return value;
1168
1169
  };
1169
1170
 
1170
- var global$b = global$B;
1171
+ var global$h = global$H;
1171
1172
  var bind$3 = functionBindContext;
1172
- var call$4 = functionCall;
1173
- var anObject$4 = anObject$a;
1173
+ var call$7 = functionCall;
1174
+ var anObject$7 = anObject$d;
1174
1175
  var tryToString$1 = tryToString$4;
1175
1176
  var isArrayIteratorMethod = isArrayIteratorMethod$1;
1176
1177
  var lengthOfArrayLike = lengthOfArrayLike$2;
@@ -1179,7 +1180,7 @@ var getIterator = getIterator$1;
1179
1180
  var getIteratorMethod = getIteratorMethod$2;
1180
1181
  var iteratorClose = iteratorClose$1;
1181
1182
 
1182
- var TypeError$4 = global$b.TypeError;
1183
+ var TypeError$6 = global$h.TypeError;
1183
1184
 
1184
1185
  var Result = function (stopped, result) {
1185
1186
  this.stopped = stopped;
@@ -1203,7 +1204,7 @@ var iterate$1 = function (iterable, unboundFunction, options) {
1203
1204
 
1204
1205
  var callFn = function (value) {
1205
1206
  if (AS_ENTRIES) {
1206
- anObject$4(value);
1207
+ anObject$7(value);
1207
1208
  return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);
1208
1209
  } return INTERRUPTED ? fn(value, stop) : fn(value);
1209
1210
  };
@@ -1212,7 +1213,7 @@ var iterate$1 = function (iterable, unboundFunction, options) {
1212
1213
  iterator = iterable;
1213
1214
  } else {
1214
1215
  iterFn = getIteratorMethod(iterable);
1215
- if (!iterFn) throw TypeError$4(tryToString$1(iterable) + ' is not iterable');
1216
+ if (!iterFn) throw TypeError$6(tryToString$1(iterable) + ' is not iterable');
1216
1217
  // optimisation for array iterators
1217
1218
  if (isArrayIteratorMethod(iterFn)) {
1218
1219
  for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {
@@ -1224,7 +1225,7 @@ var iterate$1 = function (iterable, unboundFunction, options) {
1224
1225
  }
1225
1226
 
1226
1227
  next = iterator.next;
1227
- while (!(step = call$4(next, iterator)).done) {
1228
+ while (!(step = call$7(next, iterator)).done) {
1228
1229
  try {
1229
1230
  result = callFn(step.value);
1230
1231
  } catch (error) {
@@ -1234,9 +1235,9 @@ var iterate$1 = function (iterable, unboundFunction, options) {
1234
1235
  } return new Result(false);
1235
1236
  };
1236
1237
 
1237
- var wellKnownSymbol$6 = wellKnownSymbol$e;
1238
+ var wellKnownSymbol$a = wellKnownSymbol$i;
1238
1239
 
1239
- var ITERATOR$3 = wellKnownSymbol$6('iterator');
1240
+ var ITERATOR$3 = wellKnownSymbol$a('iterator');
1240
1241
  var SAFE_CLOSING = false;
1241
1242
 
1242
1243
  try {
@@ -1273,10 +1274,10 @@ var checkCorrectnessOfIteration$1 = function (exec, SKIP_CLOSING) {
1273
1274
  return ITERATION_SUPPORT;
1274
1275
  };
1275
1276
 
1276
- var uncurryThis$2 = functionUncurryThis;
1277
- var fails$4 = fails$c;
1278
- var isCallable$5 = isCallable$h;
1279
- var classof$1 = classof$3;
1277
+ var uncurryThis$8 = functionUncurryThis;
1278
+ var fails$9 = fails$h;
1279
+ var isCallable$7 = isCallable$j;
1280
+ var classof$4 = classof$6;
1280
1281
  var getBuiltIn$2 = getBuiltIn$7;
1281
1282
  var inspectSource$1 = inspectSource$4;
1282
1283
 
@@ -1284,11 +1285,11 @@ var noop = function () { /* empty */ };
1284
1285
  var empty = [];
1285
1286
  var construct = getBuiltIn$2('Reflect', 'construct');
1286
1287
  var constructorRegExp = /^\s*(?:class|function)\b/;
1287
- var exec = uncurryThis$2(constructorRegExp.exec);
1288
+ var exec$1 = uncurryThis$8(constructorRegExp.exec);
1288
1289
  var INCORRECT_TO_STRING = !constructorRegExp.exec(noop);
1289
1290
 
1290
1291
  var isConstructorModern = function isConstructor(argument) {
1291
- if (!isCallable$5(argument)) return false;
1292
+ if (!isCallable$7(argument)) return false;
1292
1293
  try {
1293
1294
  construct(noop, empty, argument);
1294
1295
  return true;
@@ -1298,8 +1299,8 @@ var isConstructorModern = function isConstructor(argument) {
1298
1299
  };
1299
1300
 
1300
1301
  var isConstructorLegacy = function isConstructor(argument) {
1301
- if (!isCallable$5(argument)) return false;
1302
- switch (classof$1(argument)) {
1302
+ if (!isCallable$7(argument)) return false;
1303
+ switch (classof$4(argument)) {
1303
1304
  case 'AsyncFunction':
1304
1305
  case 'GeneratorFunction':
1305
1306
  case 'AsyncGeneratorFunction': return false;
@@ -1308,7 +1309,7 @@ var isConstructorLegacy = function isConstructor(argument) {
1308
1309
  // we can't check .prototype since constructors produced by .bind haven't it
1309
1310
  // `Function#toString` throws on some built-it function in some legacy engines
1310
1311
  // (for example, `DOMQuad` and similar in FF41-)
1311
- return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource$1(argument));
1312
+ return INCORRECT_TO_STRING || !!exec$1(constructorRegExp, inspectSource$1(argument));
1312
1313
  } catch (error) {
1313
1314
  return true;
1314
1315
  }
@@ -1318,7 +1319,7 @@ isConstructorLegacy.sham = true;
1318
1319
 
1319
1320
  // `IsConstructor` abstract operation
1320
1321
  // https://tc39.es/ecma262/#sec-isconstructor
1321
- var isConstructor$1 = !construct || fails$4(function () {
1322
+ var isConstructor$1 = !construct || fails$9(function () {
1322
1323
  var called;
1323
1324
  return isConstructorModern(isConstructorModern.call)
1324
1325
  || !isConstructorModern(Object)
@@ -1326,57 +1327,57 @@ var isConstructor$1 = !construct || fails$4(function () {
1326
1327
  || called;
1327
1328
  }) ? isConstructorLegacy : isConstructorModern;
1328
1329
 
1329
- var global$a = global$B;
1330
+ var global$g = global$H;
1330
1331
  var isConstructor = isConstructor$1;
1331
1332
  var tryToString = tryToString$4;
1332
1333
 
1333
- var TypeError$3 = global$a.TypeError;
1334
+ var TypeError$5 = global$g.TypeError;
1334
1335
 
1335
1336
  // `Assert: IsConstructor(argument) is true`
1336
1337
  var aConstructor$1 = function (argument) {
1337
1338
  if (isConstructor(argument)) return argument;
1338
- throw TypeError$3(tryToString(argument) + ' is not a constructor');
1339
+ throw TypeError$5(tryToString(argument) + ' is not a constructor');
1339
1340
  };
1340
1341
 
1341
- var anObject$3 = anObject$a;
1342
+ var anObject$6 = anObject$d;
1342
1343
  var aConstructor = aConstructor$1;
1343
- var wellKnownSymbol$5 = wellKnownSymbol$e;
1344
+ var wellKnownSymbol$9 = wellKnownSymbol$i;
1344
1345
 
1345
- var SPECIES$1 = wellKnownSymbol$5('species');
1346
+ var SPECIES$2 = wellKnownSymbol$9('species');
1346
1347
 
1347
1348
  // `SpeciesConstructor` abstract operation
1348
1349
  // https://tc39.es/ecma262/#sec-speciesconstructor
1349
1350
  var speciesConstructor$1 = function (O, defaultConstructor) {
1350
- var C = anObject$3(O).constructor;
1351
+ var C = anObject$6(O).constructor;
1351
1352
  var S;
1352
- return C === undefined || (S = anObject$3(C)[SPECIES$1]) == undefined ? defaultConstructor : aConstructor(S);
1353
+ return C === undefined || (S = anObject$6(C)[SPECIES$2]) == undefined ? defaultConstructor : aConstructor(S);
1353
1354
  };
1354
1355
 
1355
1356
  var NATIVE_BIND = functionBindNative;
1356
1357
 
1357
1358
  var FunctionPrototype = Function.prototype;
1358
- var apply$1 = FunctionPrototype.apply;
1359
- var call$3 = FunctionPrototype.call;
1359
+ var apply$2 = FunctionPrototype.apply;
1360
+ var call$6 = FunctionPrototype.call;
1360
1361
 
1361
1362
  // eslint-disable-next-line es/no-reflect -- safe
1362
- var functionApply = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call$3.bind(apply$1) : function () {
1363
- return call$3.apply(apply$1, arguments);
1363
+ var functionApply = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call$6.bind(apply$2) : function () {
1364
+ return call$6.apply(apply$2, arguments);
1364
1365
  });
1365
1366
 
1366
1367
  var getBuiltIn$1 = getBuiltIn$7;
1367
1368
 
1368
1369
  var html$2 = getBuiltIn$1('document', 'documentElement');
1369
1370
 
1370
- var uncurryThis$1 = functionUncurryThis;
1371
+ var uncurryThis$7 = functionUncurryThis;
1371
1372
 
1372
- var arraySlice$1 = uncurryThis$1([].slice);
1373
+ var arraySlice$1 = uncurryThis$7([].slice);
1373
1374
 
1374
- var global$9 = global$B;
1375
+ var global$f = global$H;
1375
1376
 
1376
- var TypeError$2 = global$9.TypeError;
1377
+ var TypeError$4 = global$f.TypeError;
1377
1378
 
1378
1379
  var validateArgumentsLength$1 = function (passed, required) {
1379
- if (passed < required) throw TypeError$2('Not enough arguments');
1380
+ if (passed < required) throw TypeError$4('Not enough arguments');
1380
1381
  return passed;
1381
1382
  };
1382
1383
 
@@ -1384,17 +1385,17 @@ var userAgent$2 = engineUserAgent;
1384
1385
 
1385
1386
  var engineIsIos = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent$2);
1386
1387
 
1387
- var classof = classofRaw$1;
1388
- var global$8 = global$B;
1388
+ var classof$3 = classofRaw$1;
1389
+ var global$e = global$H;
1389
1390
 
1390
- var engineIsNode = classof(global$8.process) == 'process';
1391
+ var engineIsNode = classof$3(global$e.process) == 'process';
1391
1392
 
1392
- var global$7 = global$B;
1393
- var apply = functionApply;
1393
+ var global$d = global$H;
1394
+ var apply$1 = functionApply;
1394
1395
  var bind$2 = functionBindContext;
1395
- var isCallable$4 = isCallable$h;
1396
+ var isCallable$6 = isCallable$j;
1396
1397
  var hasOwn$1 = hasOwnProperty_1;
1397
- var fails$3 = fails$c;
1398
+ var fails$8 = fails$h;
1398
1399
  var html$1 = html$2;
1399
1400
  var arraySlice = arraySlice$1;
1400
1401
  var createElement = documentCreateElement$2;
@@ -1402,13 +1403,13 @@ var validateArgumentsLength = validateArgumentsLength$1;
1402
1403
  var IS_IOS$1 = engineIsIos;
1403
1404
  var IS_NODE$2 = engineIsNode;
1404
1405
 
1405
- var set$1 = global$7.setImmediate;
1406
- var clear = global$7.clearImmediate;
1407
- var process$3 = global$7.process;
1408
- var Dispatch = global$7.Dispatch;
1409
- var Function$1 = global$7.Function;
1410
- var MessageChannel = global$7.MessageChannel;
1411
- var String$1 = global$7.String;
1406
+ var set$1 = global$d.setImmediate;
1407
+ var clear = global$d.clearImmediate;
1408
+ var process$3 = global$d.process;
1409
+ var Dispatch = global$d.Dispatch;
1410
+ var Function$1 = global$d.Function;
1411
+ var MessageChannel = global$d.MessageChannel;
1412
+ var String$2 = global$d.String;
1412
1413
  var counter = 0;
1413
1414
  var queue$1 = {};
1414
1415
  var ONREADYSTATECHANGE = 'onreadystatechange';
@@ -1416,7 +1417,7 @@ var location, defer, channel, port;
1416
1417
 
1417
1418
  try {
1418
1419
  // Deno throws a ReferenceError on `location` access without `--location` flag
1419
- location = global$7.location;
1420
+ location = global$d.location;
1420
1421
  } catch (error) { /* empty */ }
1421
1422
 
1422
1423
  var run = function (id) {
@@ -1439,17 +1440,17 @@ var listener = function (event) {
1439
1440
 
1440
1441
  var post = function (id) {
1441
1442
  // old engines have not location.origin
1442
- global$7.postMessage(String$1(id), location.protocol + '//' + location.host);
1443
+ global$d.postMessage(String$2(id), location.protocol + '//' + location.host);
1443
1444
  };
1444
1445
 
1445
1446
  // Node.js 0.9+ & IE10+ has setImmediate, otherwise:
1446
1447
  if (!set$1 || !clear) {
1447
1448
  set$1 = function setImmediate(handler) {
1448
1449
  validateArgumentsLength(arguments.length, 1);
1449
- var fn = isCallable$4(handler) ? handler : Function$1(handler);
1450
+ var fn = isCallable$6(handler) ? handler : Function$1(handler);
1450
1451
  var args = arraySlice(arguments, 1);
1451
1452
  queue$1[++counter] = function () {
1452
- apply(fn, undefined, args);
1453
+ apply$1(fn, undefined, args);
1453
1454
  };
1454
1455
  defer(counter);
1455
1456
  return counter;
@@ -1477,14 +1478,14 @@ if (!set$1 || !clear) {
1477
1478
  // Browsers with postMessage, skip WebWorkers
1478
1479
  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
1479
1480
  } else if (
1480
- global$7.addEventListener &&
1481
- isCallable$4(global$7.postMessage) &&
1482
- !global$7.importScripts &&
1481
+ global$d.addEventListener &&
1482
+ isCallable$6(global$d.postMessage) &&
1483
+ !global$d.importScripts &&
1483
1484
  location && location.protocol !== 'file:' &&
1484
- !fails$3(post)
1485
+ !fails$8(post)
1485
1486
  ) {
1486
1487
  defer = post;
1487
- global$7.addEventListener('message', listener, false);
1488
+ global$d.addEventListener('message', listener, false);
1488
1489
  // IE8-
1489
1490
  } else if (ONREADYSTATECHANGE in createElement('script')) {
1490
1491
  defer = function (id) {
@@ -1507,29 +1508,29 @@ var task$1 = {
1507
1508
  };
1508
1509
 
1509
1510
  var userAgent$1 = engineUserAgent;
1510
- var global$6 = global$B;
1511
+ var global$c = global$H;
1511
1512
 
1512
- var engineIsIosPebble = /ipad|iphone|ipod/i.test(userAgent$1) && global$6.Pebble !== undefined;
1513
+ var engineIsIosPebble = /ipad|iphone|ipod/i.test(userAgent$1) && global$c.Pebble !== undefined;
1513
1514
 
1514
1515
  var userAgent = engineUserAgent;
1515
1516
 
1516
1517
  var engineIsWebosWebkit = /web0s(?!.*chrome)/i.test(userAgent);
1517
1518
 
1518
- var global$5 = global$B;
1519
+ var global$b = global$H;
1519
1520
  var bind$1 = functionBindContext;
1520
- var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
1521
+ var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
1521
1522
  var macrotask = task$1.set;
1522
1523
  var IS_IOS = engineIsIos;
1523
1524
  var IS_IOS_PEBBLE = engineIsIosPebble;
1524
1525
  var IS_WEBOS_WEBKIT = engineIsWebosWebkit;
1525
1526
  var IS_NODE$1 = engineIsNode;
1526
1527
 
1527
- var MutationObserver = global$5.MutationObserver || global$5.WebKitMutationObserver;
1528
- var document$2 = global$5.document;
1529
- var process$2 = global$5.process;
1530
- var Promise$1 = global$5.Promise;
1528
+ var MutationObserver = global$b.MutationObserver || global$b.WebKitMutationObserver;
1529
+ var document$2 = global$b.document;
1530
+ var process$2 = global$b.process;
1531
+ var Promise$1 = global$b.Promise;
1531
1532
  // Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`
1532
- var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global$5, 'queueMicrotask');
1533
+ var queueMicrotaskDescriptor = getOwnPropertyDescriptor$1(global$b, 'queueMicrotask');
1533
1534
  var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
1534
1535
 
1535
1536
  var flush, head, last, notify$1, toggle, node, promise, then;
@@ -1585,7 +1586,7 @@ if (!queueMicrotask) {
1585
1586
  // - setTimeout
1586
1587
  } else {
1587
1588
  // strange IE + webpack dev server bug - use .bind(global)
1588
- macrotask = bind$1(macrotask, global$5);
1589
+ macrotask = bind$1(macrotask, global$b);
1589
1590
  notify$1 = function () {
1590
1591
  macrotask(flush);
1591
1592
  };
@@ -1622,23 +1623,23 @@ newPromiseCapability$2.f = function (C) {
1622
1623
  return new PromiseCapability(C);
1623
1624
  };
1624
1625
 
1625
- var anObject$2 = anObject$a;
1626
- var isObject$1 = isObject$7;
1626
+ var anObject$5 = anObject$d;
1627
+ var isObject$2 = isObject$8;
1627
1628
  var newPromiseCapability$1 = newPromiseCapability$2;
1628
1629
 
1629
1630
  var promiseResolve$1 = function (C, x) {
1630
- anObject$2(C);
1631
- if (isObject$1(x) && x.constructor === C) return x;
1631
+ anObject$5(C);
1632
+ if (isObject$2(x) && x.constructor === C) return x;
1632
1633
  var promiseCapability = newPromiseCapability$1.f(C);
1633
1634
  var resolve = promiseCapability.resolve;
1634
1635
  resolve(x);
1635
1636
  return promiseCapability.promise;
1636
1637
  };
1637
1638
 
1638
- var global$4 = global$B;
1639
+ var global$a = global$H;
1639
1640
 
1640
1641
  var hostReportErrors$1 = function (a, b) {
1641
- var console = global$4.console;
1642
+ var console = global$a.console;
1642
1643
  if (console && console.error) {
1643
1644
  arguments.length == 1 ? console.error(a) : console.error(a, b);
1644
1645
  }
@@ -1678,19 +1679,19 @@ var queue = Queue$1;
1678
1679
 
1679
1680
  var engineIsBrowser = typeof window == 'object';
1680
1681
 
1681
- var $$2 = _export;
1682
- var global$3 = global$B;
1682
+ var $$4 = _export;
1683
+ var global$9 = global$H;
1683
1684
  var getBuiltIn = getBuiltIn$7;
1684
- var call$2 = functionCall;
1685
+ var call$5 = functionCall;
1685
1686
  var NativePromise = nativePromiseConstructor;
1686
- var redefine$2 = redefine$5.exports;
1687
+ var redefine$3 = redefine$6.exports;
1687
1688
  var redefineAll = redefineAll$1;
1688
1689
  var setPrototypeOf$1 = objectSetPrototypeOf;
1689
1690
  var setToStringTag$2 = setToStringTag$3;
1690
1691
  var setSpecies = setSpecies$1;
1691
1692
  var aCallable = aCallable$5;
1692
- var isCallable$3 = isCallable$h;
1693
- var isObject = isObject$7;
1693
+ var isCallable$5 = isCallable$j;
1694
+ var isObject$1 = isObject$8;
1694
1695
  var anInstance = anInstance$1;
1695
1696
  var inspectSource = inspectSource$4;
1696
1697
  var iterate = iterate$1;
@@ -1705,28 +1706,28 @@ var perform = perform$1;
1705
1706
  var Queue = queue;
1706
1707
  var InternalStateModule$1 = internalState;
1707
1708
  var isForced = isForced_1;
1708
- var wellKnownSymbol$4 = wellKnownSymbol$e;
1709
+ var wellKnownSymbol$8 = wellKnownSymbol$i;
1709
1710
  var IS_BROWSER = engineIsBrowser;
1710
1711
  var IS_NODE = engineIsNode;
1711
1712
  var V8_VERSION = engineV8Version;
1712
1713
 
1713
- var SPECIES = wellKnownSymbol$4('species');
1714
+ var SPECIES$1 = wellKnownSymbol$8('species');
1714
1715
  var PROMISE = 'Promise';
1715
1716
 
1716
- var getInternalState$1 = InternalStateModule$1.getterFor(PROMISE);
1717
+ var getInternalState$2 = InternalStateModule$1.getterFor(PROMISE);
1717
1718
  var setInternalState$1 = InternalStateModule$1.set;
1718
1719
  var getInternalPromiseState = InternalStateModule$1.getterFor(PROMISE);
1719
1720
  var NativePromisePrototype = NativePromise && NativePromise.prototype;
1720
1721
  var PromiseConstructor = NativePromise;
1721
1722
  var PromisePrototype = NativePromisePrototype;
1722
- var TypeError$1 = global$3.TypeError;
1723
- var document$1 = global$3.document;
1724
- var process$1 = global$3.process;
1723
+ var TypeError$3 = global$9.TypeError;
1724
+ var document$1 = global$9.document;
1725
+ var process$1 = global$9.process;
1725
1726
  var newPromiseCapability = newPromiseCapabilityModule.f;
1726
1727
  var newGenericPromiseCapability = newPromiseCapability;
1727
1728
 
1728
- var DISPATCH_EVENT = !!(document$1 && document$1.createEvent && global$3.dispatchEvent);
1729
- var NATIVE_REJECTION_EVENT = isCallable$3(global$3.PromiseRejectionEvent);
1729
+ var DISPATCH_EVENT = !!(document$1 && document$1.createEvent && global$9.dispatchEvent);
1730
+ var NATIVE_REJECTION_EVENT = isCallable$5(global$9.PromiseRejectionEvent);
1730
1731
  var UNHANDLED_REJECTION = 'unhandledrejection';
1731
1732
  var REJECTION_HANDLED = 'rejectionhandled';
1732
1733
  var PENDING = 0;
@@ -1755,7 +1756,7 @@ var FORCED = isForced(PROMISE, function () {
1755
1756
  exec(function () { /* empty */ }, function () { /* empty */ });
1756
1757
  };
1757
1758
  var constructor = promise.constructor = {};
1758
- constructor[SPECIES] = FakePromise;
1759
+ constructor[SPECIES$1] = FakePromise;
1759
1760
  SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;
1760
1761
  if (!SUBCLASSING) return true;
1761
1762
  // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test
@@ -1769,7 +1770,7 @@ var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (itera
1769
1770
  // helpers
1770
1771
  var isThenable = function (it) {
1771
1772
  var then;
1772
- return isObject(it) && isCallable$3(then = it.then) ? then : false;
1773
+ return isObject$1(it) && isCallable$5(then = it.then) ? then : false;
1773
1774
  };
1774
1775
 
1775
1776
  var callReaction = function (reaction, state) {
@@ -1796,9 +1797,9 @@ var callReaction = function (reaction, state) {
1796
1797
  }
1797
1798
  }
1798
1799
  if (result === reaction.promise) {
1799
- reject(TypeError$1('Promise-chain cycle'));
1800
+ reject(TypeError$3('Promise-chain cycle'));
1800
1801
  } else if (then = isThenable(result)) {
1801
- call$2(then, result, resolve, reject);
1802
+ call$5(then, result, resolve, reject);
1802
1803
  } else resolve(result);
1803
1804
  } else reject(value);
1804
1805
  } catch (error) {
@@ -1828,14 +1829,14 @@ var dispatchEvent = function (name, promise, reason) {
1828
1829
  event.promise = promise;
1829
1830
  event.reason = reason;
1830
1831
  event.initEvent(name, false, true);
1831
- global$3.dispatchEvent(event);
1832
+ global$9.dispatchEvent(event);
1832
1833
  } else event = { promise: promise, reason: reason };
1833
- if (!NATIVE_REJECTION_EVENT && (handler = global$3['on' + name])) handler(event);
1834
+ if (!NATIVE_REJECTION_EVENT && (handler = global$9['on' + name])) handler(event);
1834
1835
  else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);
1835
1836
  };
1836
1837
 
1837
1838
  var onUnhandled = function (state) {
1838
- call$2(task, global$3, function () {
1839
+ call$5(task, global$9, function () {
1839
1840
  var promise = state.facade;
1840
1841
  var value = state.value;
1841
1842
  var IS_UNHANDLED = isUnhandled(state);
@@ -1858,7 +1859,7 @@ var isUnhandled = function (state) {
1858
1859
  };
1859
1860
 
1860
1861
  var onHandleUnhandled = function (state) {
1861
- call$2(task, global$3, function () {
1862
+ call$5(task, global$9, function () {
1862
1863
  var promise = state.facade;
1863
1864
  if (IS_NODE) {
1864
1865
  process$1.emit('rejectionHandled', promise);
@@ -1886,13 +1887,13 @@ var internalResolve = function (state, value, unwrap) {
1886
1887
  state.done = true;
1887
1888
  if (unwrap) state = unwrap;
1888
1889
  try {
1889
- if (state.facade === value) throw TypeError$1("Promise can't be resolved itself");
1890
+ if (state.facade === value) throw TypeError$3("Promise can't be resolved itself");
1890
1891
  var then = isThenable(value);
1891
1892
  if (then) {
1892
1893
  microtask(function () {
1893
1894
  var wrapper = { done: false };
1894
1895
  try {
1895
- call$2(then, value,
1896
+ call$5(then, value,
1896
1897
  bind(internalResolve, wrapper, state),
1897
1898
  bind(internalReject, wrapper, state)
1898
1899
  );
@@ -1916,8 +1917,8 @@ if (FORCED) {
1916
1917
  PromiseConstructor = function Promise(executor) {
1917
1918
  anInstance(this, PromisePrototype);
1918
1919
  aCallable(executor);
1919
- call$2(Internal, this);
1920
- var state = getInternalState$1(this);
1920
+ call$5(Internal, this);
1921
+ var state = getInternalState$2(this);
1921
1922
  try {
1922
1923
  executor(bind(internalResolve, state), bind(internalReject, state));
1923
1924
  } catch (error) {
@@ -1946,8 +1947,8 @@ if (FORCED) {
1946
1947
  var state = getInternalPromiseState(this);
1947
1948
  var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
1948
1949
  state.parent = true;
1949
- reaction.ok = isCallable$3(onFulfilled) ? onFulfilled : true;
1950
- reaction.fail = isCallable$3(onRejected) && onRejected;
1950
+ reaction.ok = isCallable$5(onFulfilled) ? onFulfilled : true;
1951
+ reaction.fail = isCallable$5(onRejected) && onRejected;
1951
1952
  reaction.domain = IS_NODE ? process$1.domain : undefined;
1952
1953
  if (state.state == PENDING) state.reactions.add(reaction);
1953
1954
  else microtask(function () {
@@ -1963,7 +1964,7 @@ if (FORCED) {
1963
1964
  });
1964
1965
  OwnPromiseCapability = function () {
1965
1966
  var promise = new Internal();
1966
- var state = getInternalState$1(promise);
1967
+ var state = getInternalState$2(promise);
1967
1968
  this.promise = promise;
1968
1969
  this.resolve = bind(internalResolve, state);
1969
1970
  this.reject = bind(internalReject, state);
@@ -1974,21 +1975,21 @@ if (FORCED) {
1974
1975
  : newGenericPromiseCapability(C);
1975
1976
  };
1976
1977
 
1977
- if (isCallable$3(NativePromise) && NativePromisePrototype !== Object.prototype) {
1978
+ if (isCallable$5(NativePromise) && NativePromisePrototype !== Object.prototype) {
1978
1979
  nativeThen = NativePromisePrototype.then;
1979
1980
 
1980
1981
  if (!SUBCLASSING) {
1981
1982
  // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs
1982
- redefine$2(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {
1983
+ redefine$3(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {
1983
1984
  var that = this;
1984
1985
  return new PromiseConstructor(function (resolve, reject) {
1985
- call$2(nativeThen, that, resolve, reject);
1986
+ call$5(nativeThen, that, resolve, reject);
1986
1987
  }).then(onFulfilled, onRejected);
1987
1988
  // https://github.com/zloirock/core-js/issues/640
1988
1989
  }, { unsafe: true });
1989
1990
 
1990
1991
  // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`
1991
- redefine$2(NativePromisePrototype, 'catch', PromisePrototype['catch'], { unsafe: true });
1992
+ redefine$3(NativePromisePrototype, 'catch', PromisePrototype['catch'], { unsafe: true });
1992
1993
  }
1993
1994
 
1994
1995
  // make `.constructor === Promise` work for native promise-based APIs
@@ -2003,7 +2004,7 @@ if (FORCED) {
2003
2004
  }
2004
2005
  }
2005
2006
 
2006
- $$2({ global: true, wrap: true, forced: FORCED }, {
2007
+ $$4({ global: true, wrap: true, forced: FORCED }, {
2007
2008
  Promise: PromiseConstructor
2008
2009
  });
2009
2010
 
@@ -2013,17 +2014,17 @@ setSpecies(PROMISE);
2013
2014
  PromiseWrapper = getBuiltIn(PROMISE);
2014
2015
 
2015
2016
  // statics
2016
- $$2({ target: PROMISE, stat: true, forced: FORCED }, {
2017
+ $$4({ target: PROMISE, stat: true, forced: FORCED }, {
2017
2018
  // `Promise.reject` method
2018
2019
  // https://tc39.es/ecma262/#sec-promise.reject
2019
2020
  reject: function reject(r) {
2020
2021
  var capability = newPromiseCapability(this);
2021
- call$2(capability.reject, undefined, r);
2022
+ call$5(capability.reject, undefined, r);
2022
2023
  return capability.promise;
2023
2024
  }
2024
2025
  });
2025
2026
 
2026
- $$2({ target: PROMISE, stat: true, forced: FORCED }, {
2027
+ $$4({ target: PROMISE, stat: true, forced: FORCED }, {
2027
2028
  // `Promise.resolve` method
2028
2029
  // https://tc39.es/ecma262/#sec-promise.resolve
2029
2030
  resolve: function resolve(x) {
@@ -2031,7 +2032,7 @@ $$2({ target: PROMISE, stat: true, forced: FORCED }, {
2031
2032
  }
2032
2033
  });
2033
2034
 
2034
- $$2({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
2035
+ $$4({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
2035
2036
  // `Promise.all` method
2036
2037
  // https://tc39.es/ecma262/#sec-promise.all
2037
2038
  all: function all(iterable) {
@@ -2048,7 +2049,7 @@ $$2({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
2048
2049
  var index = counter++;
2049
2050
  var alreadyCalled = false;
2050
2051
  remaining++;
2051
- call$2($promiseResolve, C, promise).then(function (value) {
2052
+ call$5($promiseResolve, C, promise).then(function (value) {
2052
2053
  if (alreadyCalled) return;
2053
2054
  alreadyCalled = true;
2054
2055
  values[index] = value;
@@ -2069,7 +2070,7 @@ $$2({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
2069
2070
  var result = perform(function () {
2070
2071
  var $promiseResolve = aCallable(C.resolve);
2071
2072
  iterate(iterable, function (promise) {
2072
- call$2($promiseResolve, C, promise).then(capability.resolve, reject);
2073
+ call$5($promiseResolve, C, promise).then(capability.resolve, reject);
2073
2074
  });
2074
2075
  });
2075
2076
  if (result.error) reject(result.value);
@@ -2088,24 +2089,24 @@ var objectKeys$2 = Object.keys || function keys(O) {
2088
2089
  };
2089
2090
 
2090
2091
  var DESCRIPTORS$2 = descriptors;
2091
- var uncurryThis = functionUncurryThis;
2092
- var call$1 = functionCall;
2093
- var fails$2 = fails$c;
2092
+ var uncurryThis$6 = functionUncurryThis;
2093
+ var call$4 = functionCall;
2094
+ var fails$7 = fails$h;
2094
2095
  var objectKeys$1 = objectKeys$2;
2095
2096
  var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols;
2096
2097
  var propertyIsEnumerableModule = objectPropertyIsEnumerable;
2097
- var toObject$1 = toObject$3;
2098
+ var toObject$2 = toObject$4;
2098
2099
  var IndexedObject = indexedObject;
2099
2100
 
2100
2101
  // eslint-disable-next-line es/no-object-assign -- safe
2101
2102
  var $assign = Object.assign;
2102
2103
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
2103
2104
  var defineProperty$1 = Object.defineProperty;
2104
- var concat = uncurryThis([].concat);
2105
+ var concat$1 = uncurryThis$6([].concat);
2105
2106
 
2106
2107
  // `Object.assign` method
2107
2108
  // https://tc39.es/ecma262/#sec-object.assign
2108
- var objectAssign = !$assign || fails$2(function () {
2109
+ var objectAssign = !$assign || fails$7(function () {
2109
2110
  // should have correct order of operations (Edge bug)
2110
2111
  if (DESCRIPTORS$2 && $assign({ b: 1 }, $assign(defineProperty$1({}, 'a', {
2111
2112
  enumerable: true,
@@ -2126,31 +2127,31 @@ var objectAssign = !$assign || fails$2(function () {
2126
2127
  alphabet.split('').forEach(function (chr) { B[chr] = chr; });
2127
2128
  return $assign({}, A)[symbol] != 7 || objectKeys$1($assign({}, B)).join('') != alphabet;
2128
2129
  }) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`
2129
- var T = toObject$1(target);
2130
+ var T = toObject$2(target);
2130
2131
  var argumentsLength = arguments.length;
2131
2132
  var index = 1;
2132
2133
  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
2133
2134
  var propertyIsEnumerable = propertyIsEnumerableModule.f;
2134
2135
  while (argumentsLength > index) {
2135
2136
  var S = IndexedObject(arguments[index++]);
2136
- var keys = getOwnPropertySymbols ? concat(objectKeys$1(S), getOwnPropertySymbols(S)) : objectKeys$1(S);
2137
+ var keys = getOwnPropertySymbols ? concat$1(objectKeys$1(S), getOwnPropertySymbols(S)) : objectKeys$1(S);
2137
2138
  var length = keys.length;
2138
2139
  var j = 0;
2139
2140
  var key;
2140
2141
  while (length > j) {
2141
2142
  key = keys[j++];
2142
- if (!DESCRIPTORS$2 || call$1(propertyIsEnumerable, S, key)) T[key] = S[key];
2143
+ if (!DESCRIPTORS$2 || call$4(propertyIsEnumerable, S, key)) T[key] = S[key];
2143
2144
  }
2144
2145
  } return T;
2145
2146
  } : $assign;
2146
2147
 
2147
- var $$1 = _export;
2148
+ var $$3 = _export;
2148
2149
  var assign = objectAssign;
2149
2150
 
2150
2151
  // `Object.assign` method
2151
2152
  // https://tc39.es/ecma262/#sec-object.assign
2152
2153
  // eslint-disable-next-line es/no-object-assign -- required for testing
2153
- $$1({ target: 'Object', stat: true, forced: Object.assign !== assign }, {
2154
+ $$3({ target: 'Object', stat: true, forced: Object.assign !== assign }, {
2154
2155
  assign: assign
2155
2156
  });
2156
2157
 
@@ -3261,7 +3262,7 @@ var objectDefineProperties = {};
3261
3262
  var DESCRIPTORS$1 = descriptors;
3262
3263
  var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;
3263
3264
  var definePropertyModule$1 = objectDefineProperty;
3264
- var anObject$1 = anObject$a;
3265
+ var anObject$4 = anObject$d;
3265
3266
  var toIndexedObject$1 = toIndexedObject$5;
3266
3267
  var objectKeys = objectKeys$2;
3267
3268
 
@@ -3269,7 +3270,7 @@ var objectKeys = objectKeys$2;
3269
3270
  // https://tc39.es/ecma262/#sec-object.defineproperties
3270
3271
  // eslint-disable-next-line es/no-object-defineproperties -- safe
3271
3272
  objectDefineProperties.f = DESCRIPTORS$1 && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
3272
- anObject$1(O);
3273
+ anObject$4(O);
3273
3274
  var props = toIndexedObject$1(Properties);
3274
3275
  var keys = objectKeys(Properties);
3275
3276
  var length = keys.length;
@@ -3281,7 +3282,7 @@ objectDefineProperties.f = DESCRIPTORS$1 && !V8_PROTOTYPE_DEFINE_BUG ? Object.de
3281
3282
 
3282
3283
  /* global ActiveXObject -- old IE, WSH */
3283
3284
 
3284
- var anObject = anObject$a;
3285
+ var anObject$3 = anObject$d;
3285
3286
  var definePropertiesModule = objectDefineProperties;
3286
3287
  var enumBugKeys = enumBugKeys$3;
3287
3288
  var hiddenKeys = hiddenKeys$4;
@@ -3354,7 +3355,7 @@ hiddenKeys[IE_PROTO$1] = true;
3354
3355
  var objectCreate = Object.create || function create(O, Properties) {
3355
3356
  var result;
3356
3357
  if (O !== null) {
3357
- EmptyConstructor[PROTOTYPE] = anObject(O);
3358
+ EmptyConstructor[PROTOTYPE] = anObject$3(O);
3358
3359
  result = new EmptyConstructor();
3359
3360
  EmptyConstructor[PROTOTYPE] = null;
3360
3361
  // add "__proto__" for Object.getPrototypeOf polyfill
@@ -3363,11 +3364,11 @@ var objectCreate = Object.create || function create(O, Properties) {
3363
3364
  return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
3364
3365
  };
3365
3366
 
3366
- var wellKnownSymbol$3 = wellKnownSymbol$e;
3367
- var create$1 = objectCreate;
3367
+ var wellKnownSymbol$7 = wellKnownSymbol$i;
3368
+ var create$2 = objectCreate;
3368
3369
  var definePropertyModule = objectDefineProperty;
3369
3370
 
3370
- var UNSCOPABLES = wellKnownSymbol$3('unscopables');
3371
+ var UNSCOPABLES = wellKnownSymbol$7('unscopables');
3371
3372
  var ArrayPrototype = Array.prototype;
3372
3373
 
3373
3374
  // Array.prototype[@@unscopables]
@@ -3375,7 +3376,7 @@ var ArrayPrototype = Array.prototype;
3375
3376
  if (ArrayPrototype[UNSCOPABLES] == undefined) {
3376
3377
  definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {
3377
3378
  configurable: true,
3378
- value: create$1(null)
3379
+ value: create$2(null)
3379
3380
  });
3380
3381
  }
3381
3382
 
@@ -3384,44 +3385,44 @@ var addToUnscopables$1 = function (key) {
3384
3385
  ArrayPrototype[UNSCOPABLES][key] = true;
3385
3386
  };
3386
3387
 
3387
- var fails$1 = fails$c;
3388
+ var fails$6 = fails$h;
3388
3389
 
3389
- var correctPrototypeGetter = !fails$1(function () {
3390
+ var correctPrototypeGetter = !fails$6(function () {
3390
3391
  function F() { /* empty */ }
3391
3392
  F.prototype.constructor = null;
3392
3393
  // eslint-disable-next-line es/no-object-getprototypeof -- required for testing
3393
3394
  return Object.getPrototypeOf(new F()) !== F.prototype;
3394
3395
  });
3395
3396
 
3396
- var global$2 = global$B;
3397
+ var global$8 = global$H;
3397
3398
  var hasOwn = hasOwnProperty_1;
3398
- var isCallable$2 = isCallable$h;
3399
- var toObject = toObject$3;
3399
+ var isCallable$4 = isCallable$j;
3400
+ var toObject$1 = toObject$4;
3400
3401
  var sharedKey = sharedKey$3;
3401
3402
  var CORRECT_PROTOTYPE_GETTER = correctPrototypeGetter;
3402
3403
 
3403
3404
  var IE_PROTO = sharedKey('IE_PROTO');
3404
- var Object$1 = global$2.Object;
3405
+ var Object$1 = global$8.Object;
3405
3406
  var ObjectPrototype = Object$1.prototype;
3406
3407
 
3407
3408
  // `Object.getPrototypeOf` method
3408
3409
  // https://tc39.es/ecma262/#sec-object.getprototypeof
3409
3410
  var objectGetPrototypeOf = CORRECT_PROTOTYPE_GETTER ? Object$1.getPrototypeOf : function (O) {
3410
- var object = toObject(O);
3411
+ var object = toObject$1(O);
3411
3412
  if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];
3412
3413
  var constructor = object.constructor;
3413
- if (isCallable$2(constructor) && object instanceof constructor) {
3414
+ if (isCallable$4(constructor) && object instanceof constructor) {
3414
3415
  return constructor.prototype;
3415
3416
  } return object instanceof Object$1 ? ObjectPrototype : null;
3416
3417
  };
3417
3418
 
3418
- var fails = fails$c;
3419
- var isCallable$1 = isCallable$h;
3419
+ var fails$5 = fails$h;
3420
+ var isCallable$3 = isCallable$j;
3420
3421
  var getPrototypeOf$1 = objectGetPrototypeOf;
3421
- var redefine$1 = redefine$5.exports;
3422
- var wellKnownSymbol$2 = wellKnownSymbol$e;
3422
+ var redefine$2 = redefine$6.exports;
3423
+ var wellKnownSymbol$6 = wellKnownSymbol$i;
3423
3424
 
3424
- var ITERATOR$2 = wellKnownSymbol$2('iterator');
3425
+ var ITERATOR$2 = wellKnownSymbol$6('iterator');
3425
3426
  var BUGGY_SAFARI_ITERATORS$1 = false;
3426
3427
 
3427
3428
  // `%IteratorPrototype%` object
@@ -3439,7 +3440,7 @@ if ([].keys) {
3439
3440
  }
3440
3441
  }
3441
3442
 
3442
- var NEW_ITERATOR_PROTOTYPE = IteratorPrototype$2 == undefined || fails(function () {
3443
+ var NEW_ITERATOR_PROTOTYPE = IteratorPrototype$2 == undefined || fails$5(function () {
3443
3444
  var test = {};
3444
3445
  // FF44- legacy iterators case
3445
3446
  return IteratorPrototype$2[ITERATOR$2].call(test) !== test;
@@ -3449,8 +3450,8 @@ if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype$2 = {};
3449
3450
 
3450
3451
  // `%IteratorPrototype%[@@iterator]()` method
3451
3452
  // https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator
3452
- if (!isCallable$1(IteratorPrototype$2[ITERATOR$2])) {
3453
- redefine$1(IteratorPrototype$2, ITERATOR$2, function () {
3453
+ if (!isCallable$3(IteratorPrototype$2[ITERATOR$2])) {
3454
+ redefine$2(IteratorPrototype$2, ITERATOR$2, function () {
3454
3455
  return this;
3455
3456
  });
3456
3457
  }
@@ -3461,7 +3462,7 @@ var iteratorsCore = {
3461
3462
  };
3462
3463
 
3463
3464
  var IteratorPrototype$1 = iteratorsCore.IteratorPrototype;
3464
- var create = objectCreate;
3465
+ var create$1 = objectCreate;
3465
3466
  var createPropertyDescriptor = createPropertyDescriptor$3;
3466
3467
  var setToStringTag$1 = setToStringTag$3;
3467
3468
  var Iterators$2 = iterators;
@@ -3470,23 +3471,23 @@ var returnThis$1 = function () { return this; };
3470
3471
 
3471
3472
  var createIteratorConstructor$1 = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {
3472
3473
  var TO_STRING_TAG = NAME + ' Iterator';
3473
- IteratorConstructor.prototype = create(IteratorPrototype$1, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });
3474
+ IteratorConstructor.prototype = create$1(IteratorPrototype$1, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });
3474
3475
  setToStringTag$1(IteratorConstructor, TO_STRING_TAG, false);
3475
3476
  Iterators$2[TO_STRING_TAG] = returnThis$1;
3476
3477
  return IteratorConstructor;
3477
3478
  };
3478
3479
 
3479
- var $ = _export;
3480
- var call = functionCall;
3480
+ var $$2 = _export;
3481
+ var call$3 = functionCall;
3481
3482
  var FunctionName = functionName;
3482
- var isCallable = isCallable$h;
3483
+ var isCallable$2 = isCallable$j;
3483
3484
  var createIteratorConstructor = createIteratorConstructor$1;
3484
3485
  var getPrototypeOf = objectGetPrototypeOf;
3485
3486
  var setPrototypeOf = objectSetPrototypeOf;
3486
3487
  var setToStringTag = setToStringTag$3;
3487
- var createNonEnumerableProperty$1 = createNonEnumerableProperty$5;
3488
- var redefine = redefine$5.exports;
3489
- var wellKnownSymbol$1 = wellKnownSymbol$e;
3488
+ var createNonEnumerableProperty$2 = createNonEnumerableProperty$6;
3489
+ var redefine$1 = redefine$6.exports;
3490
+ var wellKnownSymbol$5 = wellKnownSymbol$i;
3490
3491
  var Iterators$1 = iterators;
3491
3492
  var IteratorsCore = iteratorsCore;
3492
3493
 
@@ -3494,7 +3495,7 @@ var PROPER_FUNCTION_NAME = FunctionName.PROPER;
3494
3495
  var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;
3495
3496
  var IteratorPrototype = IteratorsCore.IteratorPrototype;
3496
3497
  var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
3497
- var ITERATOR$1 = wellKnownSymbol$1('iterator');
3498
+ var ITERATOR$1 = wellKnownSymbol$5('iterator');
3498
3499
  var KEYS = 'keys';
3499
3500
  var VALUES = 'values';
3500
3501
  var ENTRIES = 'entries';
@@ -3531,8 +3532,8 @@ var defineIterator$1 = function (Iterable, NAME, IteratorConstructor, next, DEFA
3531
3532
  if (getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
3532
3533
  if (setPrototypeOf) {
3533
3534
  setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
3534
- } else if (!isCallable(CurrentIteratorPrototype[ITERATOR$1])) {
3535
- redefine(CurrentIteratorPrototype, ITERATOR$1, returnThis);
3535
+ } else if (!isCallable$2(CurrentIteratorPrototype[ITERATOR$1])) {
3536
+ redefine$1(CurrentIteratorPrototype, ITERATOR$1, returnThis);
3536
3537
  }
3537
3538
  }
3538
3539
  // Set @@toStringTag to native iterators
@@ -3543,10 +3544,10 @@ var defineIterator$1 = function (Iterable, NAME, IteratorConstructor, next, DEFA
3543
3544
  // fix Array.prototype.{ values, @@iterator }.name in V8 / FF
3544
3545
  if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
3545
3546
  if (CONFIGURABLE_FUNCTION_NAME) {
3546
- createNonEnumerableProperty$1(IterablePrototype, 'name', VALUES);
3547
+ createNonEnumerableProperty$2(IterablePrototype, 'name', VALUES);
3547
3548
  } else {
3548
3549
  INCORRECT_VALUES_NAME = true;
3549
- defaultIterator = function values() { return call(nativeIterator, this); };
3550
+ defaultIterator = function values() { return call$3(nativeIterator, this); };
3550
3551
  }
3551
3552
  }
3552
3553
 
@@ -3559,14 +3560,14 @@ var defineIterator$1 = function (Iterable, NAME, IteratorConstructor, next, DEFA
3559
3560
  };
3560
3561
  if (FORCED) for (KEY in methods) {
3561
3562
  if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
3562
- redefine(IterablePrototype, KEY, methods[KEY]);
3563
+ redefine$1(IterablePrototype, KEY, methods[KEY]);
3563
3564
  }
3564
- } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
3565
+ } else $$2({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
3565
3566
  }
3566
3567
 
3567
3568
  // define iterator
3568
3569
  if (IterablePrototype[ITERATOR$1] !== defaultIterator) {
3569
- redefine(IterablePrototype, ITERATOR$1, defaultIterator, { name: DEFAULT });
3570
+ redefine$1(IterablePrototype, ITERATOR$1, defaultIterator, { name: DEFAULT });
3570
3571
  }
3571
3572
  Iterators$1[NAME] = defaultIterator;
3572
3573
 
@@ -3583,7 +3584,7 @@ var DESCRIPTORS = descriptors;
3583
3584
 
3584
3585
  var ARRAY_ITERATOR = 'Array Iterator';
3585
3586
  var setInternalState = InternalStateModule.set;
3586
- var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);
3587
+ var getInternalState$1 = InternalStateModule.getterFor(ARRAY_ITERATOR);
3587
3588
 
3588
3589
  // `Array.prototype.entries` method
3589
3590
  // https://tc39.es/ecma262/#sec-array.prototype.entries
@@ -3605,7 +3606,7 @@ var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind)
3605
3606
  // `%ArrayIteratorPrototype%.next` method
3606
3607
  // https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next
3607
3608
  }, function () {
3608
- var state = getInternalState(this);
3609
+ var state = getInternalState$1(this);
3609
3610
  var target = state.target;
3610
3611
  var kind = state.kind;
3611
3612
  var index = state.index++;
@@ -3677,32 +3678,32 @@ var DOMTokenListPrototype$1 = classList && classList.constructor && classList.co
3677
3678
 
3678
3679
  var domTokenListPrototype = DOMTokenListPrototype$1 === Object.prototype ? undefined : DOMTokenListPrototype$1;
3679
3680
 
3680
- var global$1 = global$B;
3681
+ var global$7 = global$H;
3681
3682
  var DOMIterables = domIterables;
3682
3683
  var DOMTokenListPrototype = domTokenListPrototype;
3683
3684
  var ArrayIteratorMethods = es_array_iterator;
3684
- var createNonEnumerableProperty = createNonEnumerableProperty$5;
3685
- var wellKnownSymbol = wellKnownSymbol$e;
3685
+ var createNonEnumerableProperty$1 = createNonEnumerableProperty$6;
3686
+ var wellKnownSymbol$4 = wellKnownSymbol$i;
3686
3687
 
3687
- var ITERATOR = wellKnownSymbol('iterator');
3688
- var TO_STRING_TAG = wellKnownSymbol('toStringTag');
3688
+ var ITERATOR = wellKnownSymbol$4('iterator');
3689
+ var TO_STRING_TAG = wellKnownSymbol$4('toStringTag');
3689
3690
  var ArrayValues = ArrayIteratorMethods.values;
3690
3691
 
3691
3692
  var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {
3692
3693
  if (CollectionPrototype) {
3693
3694
  // some Chrome versions have non-configurable methods on DOMTokenList
3694
3695
  if (CollectionPrototype[ITERATOR] !== ArrayValues) try {
3695
- createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);
3696
+ createNonEnumerableProperty$1(CollectionPrototype, ITERATOR, ArrayValues);
3696
3697
  } catch (error) {
3697
3698
  CollectionPrototype[ITERATOR] = ArrayValues;
3698
3699
  }
3699
3700
  if (!CollectionPrototype[TO_STRING_TAG]) {
3700
- createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
3701
+ createNonEnumerableProperty$1(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
3701
3702
  }
3702
3703
  if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {
3703
3704
  // some Chrome versions have non-configurable methods on DOMTokenList
3704
3705
  if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {
3705
- createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
3706
+ createNonEnumerableProperty$1(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
3706
3707
  } catch (error) {
3707
3708
  CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
3708
3709
  }
@@ -3711,7 +3712,7 @@ var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {
3711
3712
  };
3712
3713
 
3713
3714
  for (var COLLECTION_NAME in DOMIterables) {
3714
- handlePrototype(global$1[COLLECTION_NAME] && global$1[COLLECTION_NAME].prototype, COLLECTION_NAME);
3715
+ handlePrototype(global$7[COLLECTION_NAME] && global$7[COLLECTION_NAME].prototype, COLLECTION_NAME);
3715
3716
  }
3716
3717
 
3717
3718
  handlePrototype(DOMTokenListPrototype, 'DOMTokenList');
@@ -3762,7 +3763,7 @@ class Ninetailed {
3762
3763
  payload
3763
3764
  }) => {
3764
3765
  cb(Object.assign(Object.assign({}, this._profileState), {
3765
- loading: false,
3766
+ status: 'success',
3766
3767
  profile: payload.profile,
3767
3768
  error: undefined
3768
3769
  }));
@@ -3770,12 +3771,23 @@ class Ninetailed {
3770
3771
  };
3771
3772
 
3772
3773
  this.plugins = flatten(plugins || []);
3773
- this._profileState = {
3774
- loading: !profile,
3775
- profile,
3776
- error: undefined,
3777
- from: profile ? 'hydrated' : 'api'
3778
- };
3774
+
3775
+ if (profile) {
3776
+ this._profileState = {
3777
+ status: 'success',
3778
+ profile,
3779
+ error: undefined,
3780
+ from: 'hydrated'
3781
+ };
3782
+ } else {
3783
+ this._profileState = {
3784
+ status: 'loading',
3785
+ profile: null,
3786
+ error: undefined,
3787
+ from: 'api'
3788
+ };
3789
+ }
3790
+
3779
3791
  this.instance = Analytics({
3780
3792
  app: 'ninetailed',
3781
3793
  plugins: [...this.plugins, ninetailedPlugin({
@@ -3817,14 +3829,14 @@ class Ninetailed {
3817
3829
 
3818
3830
  }
3819
3831
 
3820
- const selectVariant = (baseline, variants, {
3821
- loading,
3832
+ const selectVariant$1 = (baseline, variants, {
3833
+ status,
3822
3834
  profile,
3823
3835
  error
3824
3836
  }, options = {
3825
3837
  holdout: -1
3826
3838
  }) => {
3827
- if (loading) {
3839
+ if (status === 'loading') {
3828
3840
  return {
3829
3841
  loading: true,
3830
3842
  variant: Object.assign({
@@ -3841,7 +3853,7 @@ const selectVariant = (baseline, variants, {
3841
3853
  };
3842
3854
  }
3843
3855
 
3844
- if (error) {
3856
+ if (status === 'error') {
3845
3857
  return {
3846
3858
  loading: false,
3847
3859
  variant: Object.assign({
@@ -3913,4 +3925,719 @@ const selectVariant = (baseline, variants, {
3913
3925
  };
3914
3926
  };
3915
3927
 
3916
- export { NINETAILED_TRACKER_EVENTS, Ninetailed, PLUGIN_NAME, ninetailedPlugin, selectVariant };
3928
+ const selectBaselineWithVariants = (experience, baseline) => {
3929
+ return experience.components.find(baselineWithVariants => baselineWithVariants.baseline.id === baseline.id);
3930
+ };
3931
+
3932
+ const selectVariants = (experience, baseline) => {
3933
+ const baselineWithVariants = selectBaselineWithVariants(experience, baseline);
3934
+
3935
+ if (!baselineWithVariants) {
3936
+ return [];
3937
+ }
3938
+
3939
+ return baselineWithVariants.variants;
3940
+ };
3941
+
3942
+ const selectHasVariants = (experience, baseline) => {
3943
+ const variants = selectVariants(experience, baseline);
3944
+ return variants.length > 0;
3945
+ };
3946
+
3947
+ var global$6 = global$H;
3948
+ var classof$2 = classof$6;
3949
+
3950
+ var String$1 = global$6.String;
3951
+
3952
+ var toString$4 = function (argument) {
3953
+ if (classof$2(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
3954
+ return String$1(argument);
3955
+ };
3956
+
3957
+ var isObject = isObject$8;
3958
+ var classof$1 = classofRaw$1;
3959
+ var wellKnownSymbol$3 = wellKnownSymbol$i;
3960
+
3961
+ var MATCH$1 = wellKnownSymbol$3('match');
3962
+
3963
+ // `IsRegExp` abstract operation
3964
+ // https://tc39.es/ecma262/#sec-isregexp
3965
+ var isRegexp = function (it) {
3966
+ var isRegExp;
3967
+ return isObject(it) && ((isRegExp = it[MATCH$1]) !== undefined ? !!isRegExp : classof$1(it) == 'RegExp');
3968
+ };
3969
+
3970
+ var global$5 = global$H;
3971
+ var isRegExp = isRegexp;
3972
+
3973
+ var TypeError$2 = global$5.TypeError;
3974
+
3975
+ var notARegexp = function (it) {
3976
+ if (isRegExp(it)) {
3977
+ throw TypeError$2("The method doesn't accept regular expressions");
3978
+ } return it;
3979
+ };
3980
+
3981
+ var wellKnownSymbol$2 = wellKnownSymbol$i;
3982
+
3983
+ var MATCH = wellKnownSymbol$2('match');
3984
+
3985
+ var correctIsRegexpLogic = function (METHOD_NAME) {
3986
+ var regexp = /./;
3987
+ try {
3988
+ '/./'[METHOD_NAME](regexp);
3989
+ } catch (error1) {
3990
+ try {
3991
+ regexp[MATCH] = false;
3992
+ return '/./'[METHOD_NAME](regexp);
3993
+ } catch (error2) { /* empty */ }
3994
+ } return false;
3995
+ };
3996
+
3997
+ var $$1 = _export;
3998
+ var uncurryThis$5 = functionUncurryThis;
3999
+ var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
4000
+ var toLength$1 = toLength$3;
4001
+ var toString$3 = toString$4;
4002
+ var notARegExp = notARegexp;
4003
+ var requireObjectCoercible$2 = requireObjectCoercible$5;
4004
+ var correctIsRegExpLogic = correctIsRegexpLogic;
4005
+
4006
+ // eslint-disable-next-line es/no-string-prototype-startswith -- safe
4007
+ var un$StartsWith = uncurryThis$5(''.startsWith);
4008
+ var stringSlice$4 = uncurryThis$5(''.slice);
4009
+ var min$1 = Math.min;
4010
+
4011
+ var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');
4012
+ // https://github.com/zloirock/core-js/pull/702
4013
+ var MDN_POLYFILL_BUG = !CORRECT_IS_REGEXP_LOGIC && !!function () {
4014
+ var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');
4015
+ return descriptor && !descriptor.writable;
4016
+ }();
4017
+
4018
+ // `String.prototype.startsWith` method
4019
+ // https://tc39.es/ecma262/#sec-string.prototype.startswith
4020
+ $$1({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {
4021
+ startsWith: function startsWith(searchString /* , position = 0 */) {
4022
+ var that = toString$3(requireObjectCoercible$2(this));
4023
+ notARegExp(searchString);
4024
+ var index = toLength$1(min$1(arguments.length > 1 ? arguments[1] : undefined, that.length));
4025
+ var search = toString$3(searchString);
4026
+ return un$StartsWith
4027
+ ? un$StartsWith(that, search, index)
4028
+ : stringSlice$4(that, index, index + search.length) === search;
4029
+ }
4030
+ });
4031
+
4032
+ var anObject$2 = anObject$d;
4033
+
4034
+ // `RegExp.prototype.flags` getter implementation
4035
+ // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
4036
+ var regexpFlags$1 = function () {
4037
+ var that = anObject$2(this);
4038
+ var result = '';
4039
+ if (that.global) result += 'g';
4040
+ if (that.ignoreCase) result += 'i';
4041
+ if (that.multiline) result += 'm';
4042
+ if (that.dotAll) result += 's';
4043
+ if (that.unicode) result += 'u';
4044
+ if (that.sticky) result += 'y';
4045
+ return result;
4046
+ };
4047
+
4048
+ var fails$4 = fails$h;
4049
+ var global$4 = global$H;
4050
+
4051
+ // babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
4052
+ var $RegExp$2 = global$4.RegExp;
4053
+
4054
+ var UNSUPPORTED_Y$1 = fails$4(function () {
4055
+ var re = $RegExp$2('a', 'y');
4056
+ re.lastIndex = 2;
4057
+ return re.exec('abcd') != null;
4058
+ });
4059
+
4060
+ // UC Browser bug
4061
+ // https://github.com/zloirock/core-js/issues/1008
4062
+ var MISSED_STICKY = UNSUPPORTED_Y$1 || fails$4(function () {
4063
+ return !$RegExp$2('a', 'y').sticky;
4064
+ });
4065
+
4066
+ var BROKEN_CARET = UNSUPPORTED_Y$1 || fails$4(function () {
4067
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
4068
+ var re = $RegExp$2('^r', 'gy');
4069
+ re.lastIndex = 2;
4070
+ return re.exec('str') != null;
4071
+ });
4072
+
4073
+ var regexpStickyHelpers = {
4074
+ BROKEN_CARET: BROKEN_CARET,
4075
+ MISSED_STICKY: MISSED_STICKY,
4076
+ UNSUPPORTED_Y: UNSUPPORTED_Y$1
4077
+ };
4078
+
4079
+ var fails$3 = fails$h;
4080
+ var global$3 = global$H;
4081
+
4082
+ // babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError
4083
+ var $RegExp$1 = global$3.RegExp;
4084
+
4085
+ var regexpUnsupportedDotAll = fails$3(function () {
4086
+ var re = $RegExp$1('.', 's');
4087
+ return !(re.dotAll && re.exec('\n') && re.flags === 's');
4088
+ });
4089
+
4090
+ var fails$2 = fails$h;
4091
+ var global$2 = global$H;
4092
+
4093
+ // babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError
4094
+ var $RegExp = global$2.RegExp;
4095
+
4096
+ var regexpUnsupportedNcg = fails$2(function () {
4097
+ var re = $RegExp('(?<a>b)', 'g');
4098
+ return re.exec('b').groups.a !== 'b' ||
4099
+ 'b'.replace(re, '$<a>c') !== 'bc';
4100
+ });
4101
+
4102
+ /* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */
4103
+ /* eslint-disable regexp/no-useless-quantifier -- testing */
4104
+ var call$2 = functionCall;
4105
+ var uncurryThis$4 = functionUncurryThis;
4106
+ var toString$2 = toString$4;
4107
+ var regexpFlags = regexpFlags$1;
4108
+ var stickyHelpers = regexpStickyHelpers;
4109
+ var shared = shared$4.exports;
4110
+ var create = objectCreate;
4111
+ var getInternalState = internalState.get;
4112
+ var UNSUPPORTED_DOT_ALL = regexpUnsupportedDotAll;
4113
+ var UNSUPPORTED_NCG = regexpUnsupportedNcg;
4114
+
4115
+ var nativeReplace = shared('native-string-replace', String.prototype.replace);
4116
+ var nativeExec = RegExp.prototype.exec;
4117
+ var patchedExec = nativeExec;
4118
+ var charAt$3 = uncurryThis$4(''.charAt);
4119
+ var indexOf = uncurryThis$4(''.indexOf);
4120
+ var replace$1 = uncurryThis$4(''.replace);
4121
+ var stringSlice$3 = uncurryThis$4(''.slice);
4122
+
4123
+ var UPDATES_LAST_INDEX_WRONG = (function () {
4124
+ var re1 = /a/;
4125
+ var re2 = /b*/g;
4126
+ call$2(nativeExec, re1, 'a');
4127
+ call$2(nativeExec, re2, 'a');
4128
+ return re1.lastIndex !== 0 || re2.lastIndex !== 0;
4129
+ })();
4130
+
4131
+ var UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;
4132
+
4133
+ // nonparticipating capturing group, copied from es5-shim's String#split patch.
4134
+ var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
4135
+
4136
+ var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;
4137
+
4138
+ if (PATCH) {
4139
+ patchedExec = function exec(string) {
4140
+ var re = this;
4141
+ var state = getInternalState(re);
4142
+ var str = toString$2(string);
4143
+ var raw = state.raw;
4144
+ var result, reCopy, lastIndex, match, i, object, group;
4145
+
4146
+ if (raw) {
4147
+ raw.lastIndex = re.lastIndex;
4148
+ result = call$2(patchedExec, raw, str);
4149
+ re.lastIndex = raw.lastIndex;
4150
+ return result;
4151
+ }
4152
+
4153
+ var groups = state.groups;
4154
+ var sticky = UNSUPPORTED_Y && re.sticky;
4155
+ var flags = call$2(regexpFlags, re);
4156
+ var source = re.source;
4157
+ var charsAdded = 0;
4158
+ var strCopy = str;
4159
+
4160
+ if (sticky) {
4161
+ flags = replace$1(flags, 'y', '');
4162
+ if (indexOf(flags, 'g') === -1) {
4163
+ flags += 'g';
4164
+ }
4165
+
4166
+ strCopy = stringSlice$3(str, re.lastIndex);
4167
+ // Support anchored sticky behavior.
4168
+ if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt$3(str, re.lastIndex - 1) !== '\n')) {
4169
+ source = '(?: ' + source + ')';
4170
+ strCopy = ' ' + strCopy;
4171
+ charsAdded++;
4172
+ }
4173
+ // ^(? + rx + ) is needed, in combination with some str slicing, to
4174
+ // simulate the 'y' flag.
4175
+ reCopy = new RegExp('^(?:' + source + ')', flags);
4176
+ }
4177
+
4178
+ if (NPCG_INCLUDED) {
4179
+ reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
4180
+ }
4181
+ if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
4182
+
4183
+ match = call$2(nativeExec, sticky ? reCopy : re, strCopy);
4184
+
4185
+ if (sticky) {
4186
+ if (match) {
4187
+ match.input = stringSlice$3(match.input, charsAdded);
4188
+ match[0] = stringSlice$3(match[0], charsAdded);
4189
+ match.index = re.lastIndex;
4190
+ re.lastIndex += match[0].length;
4191
+ } else re.lastIndex = 0;
4192
+ } else if (UPDATES_LAST_INDEX_WRONG && match) {
4193
+ re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
4194
+ }
4195
+ if (NPCG_INCLUDED && match && match.length > 1) {
4196
+ // Fix browsers whose `exec` methods don't consistently return `undefined`
4197
+ // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
4198
+ call$2(nativeReplace, match[0], reCopy, function () {
4199
+ for (i = 1; i < arguments.length - 2; i++) {
4200
+ if (arguments[i] === undefined) match[i] = undefined;
4201
+ }
4202
+ });
4203
+ }
4204
+
4205
+ if (match && groups) {
4206
+ match.groups = object = create(null);
4207
+ for (i = 0; i < groups.length; i++) {
4208
+ group = groups[i];
4209
+ object[group[0]] = match[group[1]];
4210
+ }
4211
+ }
4212
+
4213
+ return match;
4214
+ };
4215
+ }
4216
+
4217
+ var regexpExec$2 = patchedExec;
4218
+
4219
+ var $ = _export;
4220
+ var exec = regexpExec$2;
4221
+
4222
+ // `RegExp.prototype.exec` method
4223
+ // https://tc39.es/ecma262/#sec-regexp.prototype.exec
4224
+ $({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {
4225
+ exec: exec
4226
+ });
4227
+
4228
+ // TODO: Remove from `core-js@4` since it's moved to entry points
4229
+
4230
+ var uncurryThis$3 = functionUncurryThis;
4231
+ var redefine = redefine$6.exports;
4232
+ var regexpExec$1 = regexpExec$2;
4233
+ var fails$1 = fails$h;
4234
+ var wellKnownSymbol$1 = wellKnownSymbol$i;
4235
+ var createNonEnumerableProperty = createNonEnumerableProperty$6;
4236
+
4237
+ var SPECIES = wellKnownSymbol$1('species');
4238
+ var RegExpPrototype = RegExp.prototype;
4239
+
4240
+ var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) {
4241
+ var SYMBOL = wellKnownSymbol$1(KEY);
4242
+
4243
+ var DELEGATES_TO_SYMBOL = !fails$1(function () {
4244
+ // String methods call symbol-named RegEp methods
4245
+ var O = {};
4246
+ O[SYMBOL] = function () { return 7; };
4247
+ return ''[KEY](O) != 7;
4248
+ });
4249
+
4250
+ var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails$1(function () {
4251
+ // Symbol-named RegExp methods call .exec
4252
+ var execCalled = false;
4253
+ var re = /a/;
4254
+
4255
+ if (KEY === 'split') {
4256
+ // We can't use real regex here since it causes deoptimization
4257
+ // and serious performance degradation in V8
4258
+ // https://github.com/zloirock/core-js/issues/306
4259
+ re = {};
4260
+ // RegExp[@@split] doesn't call the regex's exec method, but first creates
4261
+ // a new one. We need to return the patched regex when creating the new one.
4262
+ re.constructor = {};
4263
+ re.constructor[SPECIES] = function () { return re; };
4264
+ re.flags = '';
4265
+ re[SYMBOL] = /./[SYMBOL];
4266
+ }
4267
+
4268
+ re.exec = function () { execCalled = true; return null; };
4269
+
4270
+ re[SYMBOL]('');
4271
+ return !execCalled;
4272
+ });
4273
+
4274
+ if (
4275
+ !DELEGATES_TO_SYMBOL ||
4276
+ !DELEGATES_TO_EXEC ||
4277
+ FORCED
4278
+ ) {
4279
+ var uncurriedNativeRegExpMethod = uncurryThis$3(/./[SYMBOL]);
4280
+ var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
4281
+ var uncurriedNativeMethod = uncurryThis$3(nativeMethod);
4282
+ var $exec = regexp.exec;
4283
+ if ($exec === regexpExec$1 || $exec === RegExpPrototype.exec) {
4284
+ if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
4285
+ // The native String method already delegates to @@method (this
4286
+ // polyfilled function), leasing to infinite recursion.
4287
+ // We avoid it by directly calling the native @@method method.
4288
+ return { done: true, value: uncurriedNativeRegExpMethod(regexp, str, arg2) };
4289
+ }
4290
+ return { done: true, value: uncurriedNativeMethod(str, regexp, arg2) };
4291
+ }
4292
+ return { done: false };
4293
+ });
4294
+
4295
+ redefine(String.prototype, KEY, methods[0]);
4296
+ redefine(RegExpPrototype, SYMBOL, methods[1]);
4297
+ }
4298
+
4299
+ if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);
4300
+ };
4301
+
4302
+ var uncurryThis$2 = functionUncurryThis;
4303
+ var toIntegerOrInfinity$1 = toIntegerOrInfinity$4;
4304
+ var toString$1 = toString$4;
4305
+ var requireObjectCoercible$1 = requireObjectCoercible$5;
4306
+
4307
+ var charAt$2 = uncurryThis$2(''.charAt);
4308
+ var charCodeAt = uncurryThis$2(''.charCodeAt);
4309
+ var stringSlice$2 = uncurryThis$2(''.slice);
4310
+
4311
+ var createMethod = function (CONVERT_TO_STRING) {
4312
+ return function ($this, pos) {
4313
+ var S = toString$1(requireObjectCoercible$1($this));
4314
+ var position = toIntegerOrInfinity$1(pos);
4315
+ var size = S.length;
4316
+ var first, second;
4317
+ if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
4318
+ first = charCodeAt(S, position);
4319
+ return first < 0xD800 || first > 0xDBFF || position + 1 === size
4320
+ || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF
4321
+ ? CONVERT_TO_STRING
4322
+ ? charAt$2(S, position)
4323
+ : first
4324
+ : CONVERT_TO_STRING
4325
+ ? stringSlice$2(S, position, position + 2)
4326
+ : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
4327
+ };
4328
+ };
4329
+
4330
+ var stringMultibyte = {
4331
+ // `String.prototype.codePointAt` method
4332
+ // https://tc39.es/ecma262/#sec-string.prototype.codepointat
4333
+ codeAt: createMethod(false),
4334
+ // `String.prototype.at` method
4335
+ // https://github.com/mathiasbynens/String.prototype.at
4336
+ charAt: createMethod(true)
4337
+ };
4338
+
4339
+ var charAt$1 = stringMultibyte.charAt;
4340
+
4341
+ // `AdvanceStringIndex` abstract operation
4342
+ // https://tc39.es/ecma262/#sec-advancestringindex
4343
+ var advanceStringIndex$1 = function (S, index, unicode) {
4344
+ return index + (unicode ? charAt$1(S, index).length : 1);
4345
+ };
4346
+
4347
+ var uncurryThis$1 = functionUncurryThis;
4348
+ var toObject = toObject$4;
4349
+
4350
+ var floor = Math.floor;
4351
+ var charAt = uncurryThis$1(''.charAt);
4352
+ var replace = uncurryThis$1(''.replace);
4353
+ var stringSlice$1 = uncurryThis$1(''.slice);
4354
+ var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g;
4355
+ var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g;
4356
+
4357
+ // `GetSubstitution` abstract operation
4358
+ // https://tc39.es/ecma262/#sec-getsubstitution
4359
+ var getSubstitution$1 = function (matched, str, position, captures, namedCaptures, replacement) {
4360
+ var tailPos = position + matched.length;
4361
+ var m = captures.length;
4362
+ var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
4363
+ if (namedCaptures !== undefined) {
4364
+ namedCaptures = toObject(namedCaptures);
4365
+ symbols = SUBSTITUTION_SYMBOLS;
4366
+ }
4367
+ return replace(replacement, symbols, function (match, ch) {
4368
+ var capture;
4369
+ switch (charAt(ch, 0)) {
4370
+ case '$': return '$';
4371
+ case '&': return matched;
4372
+ case '`': return stringSlice$1(str, 0, position);
4373
+ case "'": return stringSlice$1(str, tailPos);
4374
+ case '<':
4375
+ capture = namedCaptures[stringSlice$1(ch, 1, -1)];
4376
+ break;
4377
+ default: // \d\d?
4378
+ var n = +ch;
4379
+ if (n === 0) return match;
4380
+ if (n > m) {
4381
+ var f = floor(n / 10);
4382
+ if (f === 0) return match;
4383
+ if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);
4384
+ return match;
4385
+ }
4386
+ capture = captures[n - 1];
4387
+ }
4388
+ return capture === undefined ? '' : capture;
4389
+ });
4390
+ };
4391
+
4392
+ var global$1 = global$H;
4393
+ var call$1 = functionCall;
4394
+ var anObject$1 = anObject$d;
4395
+ var isCallable$1 = isCallable$j;
4396
+ var classof = classofRaw$1;
4397
+ var regexpExec = regexpExec$2;
4398
+
4399
+ var TypeError$1 = global$1.TypeError;
4400
+
4401
+ // `RegExpExec` abstract operation
4402
+ // https://tc39.es/ecma262/#sec-regexpexec
4403
+ var regexpExecAbstract = function (R, S) {
4404
+ var exec = R.exec;
4405
+ if (isCallable$1(exec)) {
4406
+ var result = call$1(exec, R, S);
4407
+ if (result !== null) anObject$1(result);
4408
+ return result;
4409
+ }
4410
+ if (classof(R) === 'RegExp') return call$1(regexpExec, R, S);
4411
+ throw TypeError$1('RegExp#exec called on incompatible receiver');
4412
+ };
4413
+
4414
+ var apply = functionApply;
4415
+ var call = functionCall;
4416
+ var uncurryThis = functionUncurryThis;
4417
+ var fixRegExpWellKnownSymbolLogic = fixRegexpWellKnownSymbolLogic;
4418
+ var fails = fails$h;
4419
+ var anObject = anObject$d;
4420
+ var isCallable = isCallable$j;
4421
+ var toIntegerOrInfinity = toIntegerOrInfinity$4;
4422
+ var toLength = toLength$3;
4423
+ var toString = toString$4;
4424
+ var requireObjectCoercible = requireObjectCoercible$5;
4425
+ var advanceStringIndex = advanceStringIndex$1;
4426
+ var getMethod = getMethod$4;
4427
+ var getSubstitution = getSubstitution$1;
4428
+ var regExpExec = regexpExecAbstract;
4429
+ var wellKnownSymbol = wellKnownSymbol$i;
4430
+
4431
+ var REPLACE = wellKnownSymbol('replace');
4432
+ var max = Math.max;
4433
+ var min = Math.min;
4434
+ var concat = uncurryThis([].concat);
4435
+ var push = uncurryThis([].push);
4436
+ var stringIndexOf = uncurryThis(''.indexOf);
4437
+ var stringSlice = uncurryThis(''.slice);
4438
+
4439
+ var maybeToString = function (it) {
4440
+ return it === undefined ? it : String(it);
4441
+ };
4442
+
4443
+ // IE <= 11 replaces $0 with the whole match, as if it was $&
4444
+ // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
4445
+ var REPLACE_KEEPS_$0 = (function () {
4446
+ // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing
4447
+ return 'a'.replace(/./, '$0') === '$0';
4448
+ })();
4449
+
4450
+ // Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
4451
+ var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
4452
+ if (/./[REPLACE]) {
4453
+ return /./[REPLACE]('a', '$0') === '';
4454
+ }
4455
+ return false;
4456
+ })();
4457
+
4458
+ var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
4459
+ var re = /./;
4460
+ re.exec = function () {
4461
+ var result = [];
4462
+ result.groups = { a: '7' };
4463
+ return result;
4464
+ };
4465
+ // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive
4466
+ return ''.replace(re, '$<a>') !== '7';
4467
+ });
4468
+
4469
+ // @@replace logic
4470
+ fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {
4471
+ var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';
4472
+
4473
+ return [
4474
+ // `String.prototype.replace` method
4475
+ // https://tc39.es/ecma262/#sec-string.prototype.replace
4476
+ function replace(searchValue, replaceValue) {
4477
+ var O = requireObjectCoercible(this);
4478
+ var replacer = searchValue == undefined ? undefined : getMethod(searchValue, REPLACE);
4479
+ return replacer
4480
+ ? call(replacer, searchValue, O, replaceValue)
4481
+ : call(nativeReplace, toString(O), searchValue, replaceValue);
4482
+ },
4483
+ // `RegExp.prototype[@@replace]` method
4484
+ // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
4485
+ function (string, replaceValue) {
4486
+ var rx = anObject(this);
4487
+ var S = toString(string);
4488
+
4489
+ if (
4490
+ typeof replaceValue == 'string' &&
4491
+ stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&
4492
+ stringIndexOf(replaceValue, '$<') === -1
4493
+ ) {
4494
+ var res = maybeCallNative(nativeReplace, rx, S, replaceValue);
4495
+ if (res.done) return res.value;
4496
+ }
4497
+
4498
+ var functionalReplace = isCallable(replaceValue);
4499
+ if (!functionalReplace) replaceValue = toString(replaceValue);
4500
+
4501
+ var global = rx.global;
4502
+ if (global) {
4503
+ var fullUnicode = rx.unicode;
4504
+ rx.lastIndex = 0;
4505
+ }
4506
+ var results = [];
4507
+ while (true) {
4508
+ var result = regExpExec(rx, S);
4509
+ if (result === null) break;
4510
+
4511
+ push(results, result);
4512
+ if (!global) break;
4513
+
4514
+ var matchStr = toString(result[0]);
4515
+ if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
4516
+ }
4517
+
4518
+ var accumulatedResult = '';
4519
+ var nextSourcePosition = 0;
4520
+ for (var i = 0; i < results.length; i++) {
4521
+ result = results[i];
4522
+
4523
+ var matched = toString(result[0]);
4524
+ var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);
4525
+ var captures = [];
4526
+ // NOTE: This is equivalent to
4527
+ // captures = result.slice(1).map(maybeToString)
4528
+ // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
4529
+ // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
4530
+ // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
4531
+ for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));
4532
+ var namedCaptures = result.groups;
4533
+ if (functionalReplace) {
4534
+ var replacerArgs = concat([matched], captures, position, S);
4535
+ if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);
4536
+ var replacement = toString(apply(replaceValue, undefined, replacerArgs));
4537
+ } else {
4538
+ replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
4539
+ }
4540
+ if (position >= nextSourcePosition) {
4541
+ accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;
4542
+ nextSourcePosition = position + matched.length;
4543
+ }
4544
+ }
4545
+ return accumulatedResult + stringSlice(S, nextSourcePosition);
4546
+ }
4547
+ ];
4548
+ }, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);
4549
+
4550
+ const EXPERIENCE_TRAIT_PREFIX = 'nt_experiment_';
4551
+
4552
+ const selectActiveExperiments = (experiments, profile) => {
4553
+ const experimentTraits = pickBy(profile.traits, (value, key) => key.startsWith(EXPERIENCE_TRAIT_PREFIX) && value === true);
4554
+ const experimentTraitsIds = Object.keys(experimentTraits).map(id => id.replace(EXPERIENCE_TRAIT_PREFIX, '')); // a experiment is active when the use has it set as a true value on the traits and the experiment config is still active
4555
+
4556
+ const activeExperiments = experiments.filter(experiment => includes(experimentTraitsIds, experiment.id));
4557
+ return activeExperiments;
4558
+ };
4559
+
4560
+ /**
4561
+ * We can use any personalization as eglible experience
4562
+ * When going for an experiment we can only select a active experiment when 1 or more experiments are active
4563
+ * If the profile is not in any active experiments, we can select any expermiment
4564
+ */
4565
+
4566
+ const selectEglibleExperiences = ({
4567
+ experiences,
4568
+ activeExperiments
4569
+ }) => {
4570
+ return experiences.filter(experience => experience.type === 'nt_personalization' || activeExperiments.length === 0 || find(activeExperiments, {
4571
+ id: experience.id
4572
+ }));
4573
+ };
4574
+
4575
+ const selectExperience = ({
4576
+ experiences,
4577
+ activeExperiments,
4578
+ profile
4579
+ }) => {
4580
+ const eglibleExperiences = selectEglibleExperiences({
4581
+ experiences,
4582
+ activeExperiments
4583
+ });
4584
+ const selectedExperience = eglibleExperiences.find(experience => // TODO check traffic allocation
4585
+ includes(profile.audiences, experience.audience.id) || // if the expriment is active already then it's selectible without further contraints to be fullfilled
4586
+ find(activeExperiments, {
4587
+ id: experience.id
4588
+ }));
4589
+ return selectedExperience;
4590
+ };
4591
+
4592
+ const selectVariant = ({
4593
+ baseline,
4594
+ experience,
4595
+ profile
4596
+ }) => {
4597
+ const variants = selectVariants(experience, baseline);
4598
+
4599
+ if (!variants.length) {
4600
+ return null;
4601
+ } // Personalization
4602
+
4603
+
4604
+ if (experience.type === 'nt_personalization') {
4605
+ // TODO check holdout
4606
+ // Personalization Expriences can have only one variant.
4607
+ return variants[0];
4608
+ } // Experiment
4609
+
4610
+
4611
+ const distribution = find(experience.distribution, ({
4612
+ start,
4613
+ end
4614
+ }) => profile.random > start && profile.random < end);
4615
+
4616
+ if (!distribution) {
4617
+ return null;
4618
+ }
4619
+
4620
+ if (distribution.index === 0) {
4621
+ return Object.assign(Object.assign({}, baseline), {
4622
+ hidden: false
4623
+ });
4624
+ }
4625
+
4626
+ const correctedVariantIndex = distribution.index - 1;
4627
+
4628
+ if (variants.length <= correctedVariantIndex) {
4629
+ console.warn("A distribution for a variant was selected but it's metadata could not be found.");
4630
+ return null;
4631
+ }
4632
+
4633
+ const variant = variants[correctedVariantIndex];
4634
+
4635
+ if (!variant) {
4636
+ console.warn("A distribution for a variant was selected but it's metadata could not be found.");
4637
+ return null;
4638
+ }
4639
+
4640
+ return variant;
4641
+ };
4642
+
4643
+ export { NINETAILED_TRACKER_EVENTS, Ninetailed, PLUGIN_NAME, ninetailedPlugin, selectActiveExperiments, selectEglibleExperiences, selectExperience, selectBaselineWithVariants as selectExperienceBaselineWithVariants, selectVariant as selectExperienceVariant, selectVariants as selectExperienceVariants, selectHasVariants as selectHasExperienceVariants, selectVariant$1 as selectVariant };