@auth0/auth0-spa-js 1.20.1 → 1.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/auth0-spa-js.development.js +323 -198
- package/dist/auth0-spa-js.development.js.map +1 -1
- package/dist/auth0-spa-js.production.esm.js +1 -1
- package/dist/auth0-spa-js.production.esm.js.map +1 -1
- package/dist/auth0-spa-js.production.js +1 -1
- package/dist/auth0-spa-js.production.js.map +1 -1
- package/dist/lib/auth0-spa-js.cjs.js +323 -198
- package/dist/lib/auth0-spa-js.cjs.js.map +1 -1
- package/dist/typings/Auth0Client.d.ts +1 -0
- package/dist/typings/constants.d.ts +1 -1
- package/dist/typings/errors.d.ts +5 -0
- package/dist/typings/global.d.ts +32 -0
- package/dist/typings/storage.d.ts +1 -0
- package/dist/typings/utils.d.ts +7 -0
- package/dist/typings/version.d.ts +1 -1
- package/package.json +3 -3
- package/src/Auth0Client.ts +47 -19
- package/src/constants.ts +1 -2
- package/src/errors.ts +15 -0
- package/src/global.ts +34 -0
- package/src/storage.ts +5 -0
- package/src/utils.ts +10 -0
- package/src/version.ts +1 -1
- package/src/worker/token.worker.ts +2 -2
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
|
|
140
140
|
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
|
|
141
141
|
var global_1 =
|
|
142
|
-
// eslint-disable-next-line es/no-global-this -- safe
|
|
142
|
+
// eslint-disable-next-line es-x/no-global-this -- safe
|
|
143
143
|
check(typeof globalThis == 'object' && globalThis) ||
|
|
144
144
|
check(typeof window == 'object' && window) ||
|
|
145
145
|
// eslint-disable-next-line no-restricted-globals -- safe
|
|
@@ -158,11 +158,12 @@
|
|
|
158
158
|
|
|
159
159
|
// Detect IE8's incomplete defineProperty implementation
|
|
160
160
|
var descriptors = !fails(function () {
|
|
161
|
-
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
|
|
161
|
+
// eslint-disable-next-line es-x/no-object-defineproperty -- required for testing
|
|
162
162
|
return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
|
|
163
163
|
});
|
|
164
164
|
|
|
165
165
|
var functionBindNative = !fails(function () {
|
|
166
|
+
// eslint-disable-next-line es-x/no-function-prototype-bind -- safe
|
|
166
167
|
var test = (function () { /* empty */ }).bind();
|
|
167
168
|
// eslint-disable-next-line no-prototype-builtins -- safe
|
|
168
169
|
return typeof test != 'function' || test.hasOwnProperty('prototype');
|
|
@@ -175,7 +176,7 @@
|
|
|
175
176
|
};
|
|
176
177
|
|
|
177
178
|
var $propertyIsEnumerable$1 = {}.propertyIsEnumerable;
|
|
178
|
-
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
|
179
|
+
// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
|
|
179
180
|
var getOwnPropertyDescriptor$2 = Object.getOwnPropertyDescriptor;
|
|
180
181
|
|
|
181
182
|
// Nashorn ~ JDK8 bug
|
|
@@ -297,11 +298,11 @@
|
|
|
297
298
|
|
|
298
299
|
var engineV8Version = version$1;
|
|
299
300
|
|
|
300
|
-
/* eslint-disable es/no-symbol -- required for testing */
|
|
301
|
+
/* eslint-disable es-x/no-symbol -- required for testing */
|
|
301
302
|
|
|
302
303
|
|
|
303
304
|
|
|
304
|
-
// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
|
|
305
|
+
// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing
|
|
305
306
|
var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
|
|
306
307
|
var symbol = Symbol();
|
|
307
308
|
// Chrome 38 Symbol has incorrect toString conversion
|
|
@@ -311,7 +312,7 @@
|
|
|
311
312
|
!Symbol.sham && engineV8Version && engineV8Version < 41;
|
|
312
313
|
});
|
|
313
314
|
|
|
314
|
-
/* eslint-disable es/no-symbol -- required for testing */
|
|
315
|
+
/* eslint-disable es-x/no-symbol -- required for testing */
|
|
315
316
|
|
|
316
317
|
|
|
317
318
|
var useSymbolAsUid = nativeSymbol
|
|
@@ -364,7 +365,7 @@
|
|
|
364
365
|
throw TypeError$e("Can't convert object to primitive value");
|
|
365
366
|
};
|
|
366
367
|
|
|
367
|
-
// eslint-disable-next-line es/no-object-defineproperty -- safe
|
|
368
|
+
// eslint-disable-next-line es-x/no-object-defineproperty -- safe
|
|
368
369
|
var defineProperty$6 = Object.defineProperty;
|
|
369
370
|
|
|
370
371
|
var setGlobal = function (key, value) {
|
|
@@ -384,10 +385,10 @@
|
|
|
384
385
|
(module.exports = function (key, value) {
|
|
385
386
|
return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
|
|
386
387
|
})('versions', []).push({
|
|
387
|
-
version: '3.
|
|
388
|
+
version: '3.22.4',
|
|
388
389
|
mode: 'global',
|
|
389
390
|
copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',
|
|
390
|
-
license: 'https://github.com/zloirock/core-js/blob/v3.
|
|
391
|
+
license: 'https://github.com/zloirock/core-js/blob/v3.22.4/LICENSE',
|
|
391
392
|
source: 'https://github.com/zloirock/core-js'
|
|
392
393
|
});
|
|
393
394
|
});
|
|
@@ -404,6 +405,7 @@
|
|
|
404
405
|
|
|
405
406
|
// `HasOwnProperty` abstract operation
|
|
406
407
|
// https://tc39.es/ecma262/#sec-hasownproperty
|
|
408
|
+
// eslint-disable-next-line es-x/no-object-hasown -- safe
|
|
407
409
|
var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
|
|
408
410
|
return hasOwnProperty(toObject(it), key);
|
|
409
411
|
};
|
|
@@ -435,13 +437,13 @@
|
|
|
435
437
|
};
|
|
436
438
|
|
|
437
439
|
var TypeError$d = global_1.TypeError;
|
|
438
|
-
var TO_PRIMITIVE
|
|
440
|
+
var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
|
|
439
441
|
|
|
440
442
|
// `ToPrimitive` abstract operation
|
|
441
443
|
// https://tc39.es/ecma262/#sec-toprimitive
|
|
442
444
|
var toPrimitive = function (input, pref) {
|
|
443
445
|
if (!isObject(input) || isSymbol(input)) return input;
|
|
444
|
-
var exoticToPrim = getMethod(input, TO_PRIMITIVE
|
|
446
|
+
var exoticToPrim = getMethod(input, TO_PRIMITIVE);
|
|
445
447
|
var result;
|
|
446
448
|
if (exoticToPrim) {
|
|
447
449
|
if (pref === undefined) pref = 'default';
|
|
@@ -470,13 +472,13 @@
|
|
|
470
472
|
|
|
471
473
|
// Thanks to IE8 for its funny defineProperty
|
|
472
474
|
var ie8DomDefine = !descriptors && !fails(function () {
|
|
473
|
-
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
|
|
475
|
+
// eslint-disable-next-line es-x/no-object-defineproperty -- required for testing
|
|
474
476
|
return Object.defineProperty(documentCreateElement('div'), 'a', {
|
|
475
477
|
get: function () { return 7; }
|
|
476
478
|
}).a != 7;
|
|
477
479
|
});
|
|
478
480
|
|
|
479
|
-
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
|
481
|
+
// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
|
|
480
482
|
var $getOwnPropertyDescriptor$2 = Object.getOwnPropertyDescriptor;
|
|
481
483
|
|
|
482
484
|
// `Object.getOwnPropertyDescriptor` method
|
|
@@ -497,7 +499,7 @@
|
|
|
497
499
|
// V8 ~ Chrome 36-
|
|
498
500
|
// https://bugs.chromium.org/p/v8/issues/detail?id=3334
|
|
499
501
|
var v8PrototypeDefineBug = descriptors && fails(function () {
|
|
500
|
-
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
|
|
502
|
+
// eslint-disable-next-line es-x/no-object-defineproperty -- required for testing
|
|
501
503
|
return Object.defineProperty(function () { /* empty */ }, 'prototype', {
|
|
502
504
|
value: 42,
|
|
503
505
|
writable: false
|
|
@@ -514,9 +516,9 @@
|
|
|
514
516
|
};
|
|
515
517
|
|
|
516
518
|
var TypeError$b = global_1.TypeError;
|
|
517
|
-
// eslint-disable-next-line es/no-object-defineproperty -- safe
|
|
519
|
+
// eslint-disable-next-line es-x/no-object-defineproperty -- safe
|
|
518
520
|
var $defineProperty$1 = Object.defineProperty;
|
|
519
|
-
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
|
521
|
+
// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
|
|
520
522
|
var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
|
|
521
523
|
var ENUMERABLE = 'enumerable';
|
|
522
524
|
var CONFIGURABLE$1 = 'configurable';
|
|
@@ -562,6 +564,21 @@
|
|
|
562
564
|
return object;
|
|
563
565
|
};
|
|
564
566
|
|
|
567
|
+
var FunctionPrototype$1 = Function.prototype;
|
|
568
|
+
// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
|
|
569
|
+
var getDescriptor = descriptors && Object.getOwnPropertyDescriptor;
|
|
570
|
+
|
|
571
|
+
var EXISTS = hasOwnProperty_1(FunctionPrototype$1, 'name');
|
|
572
|
+
// additional protection from minified / mangled / dropped function names
|
|
573
|
+
var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
|
|
574
|
+
var CONFIGURABLE = EXISTS && (!descriptors || (descriptors && getDescriptor(FunctionPrototype$1, 'name').configurable));
|
|
575
|
+
|
|
576
|
+
var functionName = {
|
|
577
|
+
EXISTS: EXISTS,
|
|
578
|
+
PROPER: PROPER,
|
|
579
|
+
CONFIGURABLE: CONFIGURABLE
|
|
580
|
+
};
|
|
581
|
+
|
|
565
582
|
var functionToString = functionUncurryThis(Function.toString);
|
|
566
583
|
|
|
567
584
|
// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
|
|
@@ -645,50 +662,56 @@
|
|
|
645
662
|
getterFor: getterFor
|
|
646
663
|
};
|
|
647
664
|
|
|
648
|
-
var
|
|
649
|
-
|
|
650
|
-
var
|
|
651
|
-
|
|
652
|
-
var EXISTS = hasOwnProperty_1(FunctionPrototype$1, 'name');
|
|
653
|
-
// additional protection from minified / mangled / dropped function names
|
|
654
|
-
var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
|
|
655
|
-
var CONFIGURABLE = EXISTS && (!descriptors || (descriptors && getDescriptor(FunctionPrototype$1, 'name').configurable));
|
|
665
|
+
var makeBuiltIn_1 = createCommonjsModule(function (module) {
|
|
666
|
+
var defineProperty = objectDefineProperty.f;
|
|
667
|
+
var CONFIGURABLE_FUNCTION_NAME = functionName.CONFIGURABLE;
|
|
656
668
|
|
|
657
|
-
var functionName = {
|
|
658
|
-
EXISTS: EXISTS,
|
|
659
|
-
PROPER: PROPER,
|
|
660
|
-
CONFIGURABLE: CONFIGURABLE
|
|
661
|
-
};
|
|
662
669
|
|
|
663
|
-
var redefine = createCommonjsModule(function (module) {
|
|
664
|
-
var CONFIGURABLE_FUNCTION_NAME = functionName.CONFIGURABLE;
|
|
665
670
|
|
|
666
|
-
var getInternalState = internalState.get;
|
|
667
671
|
var enforceInternalState = internalState.enforce;
|
|
672
|
+
var getInternalState = internalState.get;
|
|
673
|
+
|
|
674
|
+
var CONFIGURABLE_LENGTH = !fails(function () {
|
|
675
|
+
return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;
|
|
676
|
+
});
|
|
677
|
+
|
|
668
678
|
var TEMPLATE = String(String).split('String');
|
|
669
679
|
|
|
670
|
-
|
|
680
|
+
var makeBuiltIn = module.exports = function (value, name, options) {
|
|
681
|
+
if (String(name).slice(0, 7) === 'Symbol(') {
|
|
682
|
+
name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']';
|
|
683
|
+
}
|
|
684
|
+
if (options && options.getter) name = 'get ' + name;
|
|
685
|
+
if (options && options.setter) name = 'set ' + name;
|
|
686
|
+
if (!hasOwnProperty_1(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {
|
|
687
|
+
defineProperty(value, 'name', { value: name, configurable: true });
|
|
688
|
+
}
|
|
689
|
+
if (CONFIGURABLE_LENGTH && options && hasOwnProperty_1(options, 'arity') && value.length !== options.arity) {
|
|
690
|
+
defineProperty(value, 'length', { value: options.arity });
|
|
691
|
+
}
|
|
692
|
+
var state = enforceInternalState(value);
|
|
693
|
+
if (!hasOwnProperty_1(state, 'source')) {
|
|
694
|
+
state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
|
|
695
|
+
} return value;
|
|
696
|
+
};
|
|
697
|
+
|
|
698
|
+
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
|
|
699
|
+
// eslint-disable-next-line no-extend-native -- required
|
|
700
|
+
Function.prototype.toString = makeBuiltIn(function toString() {
|
|
701
|
+
return isCallable(this) && getInternalState(this).source || inspectSource(this);
|
|
702
|
+
}, 'toString');
|
|
703
|
+
});
|
|
704
|
+
|
|
705
|
+
var defineBuiltIn = function (O, key, value, options) {
|
|
671
706
|
var unsafe = options ? !!options.unsafe : false;
|
|
672
707
|
var simple = options ? !!options.enumerable : false;
|
|
673
708
|
var noTargetGet = options ? !!options.noTargetGet : false;
|
|
674
709
|
var name = options && options.name !== undefined ? options.name : key;
|
|
675
|
-
|
|
676
|
-
if (isCallable(value)) {
|
|
677
|
-
if (String(name).slice(0, 7) === 'Symbol(') {
|
|
678
|
-
name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']';
|
|
679
|
-
}
|
|
680
|
-
if (!hasOwnProperty_1(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {
|
|
681
|
-
createNonEnumerableProperty(value, 'name', name);
|
|
682
|
-
}
|
|
683
|
-
state = enforceInternalState(value);
|
|
684
|
-
if (!state.source) {
|
|
685
|
-
state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
|
|
686
|
-
}
|
|
687
|
-
}
|
|
710
|
+
if (isCallable(value)) makeBuiltIn_1(value, name, options);
|
|
688
711
|
if (O === global_1) {
|
|
689
712
|
if (simple) O[key] = value;
|
|
690
713
|
else setGlobal(key, value);
|
|
691
|
-
return;
|
|
714
|
+
return O;
|
|
692
715
|
} else if (!unsafe) {
|
|
693
716
|
delete O[key];
|
|
694
717
|
} else if (!noTargetGet && O[key]) {
|
|
@@ -696,11 +719,8 @@
|
|
|
696
719
|
}
|
|
697
720
|
if (simple) O[key] = value;
|
|
698
721
|
else createNonEnumerableProperty(O, key, value);
|
|
699
|
-
|
|
700
|
-
}
|
|
701
|
-
return isCallable(this) && getInternalState(this).source || inspectSource(this);
|
|
702
|
-
});
|
|
703
|
-
});
|
|
722
|
+
return O;
|
|
723
|
+
};
|
|
704
724
|
|
|
705
725
|
var ceil = Math.ceil;
|
|
706
726
|
var floor = Math.floor;
|
|
@@ -800,7 +820,7 @@
|
|
|
800
820
|
|
|
801
821
|
// `Object.getOwnPropertyNames` method
|
|
802
822
|
// https://tc39.es/ecma262/#sec-object.getownpropertynames
|
|
803
|
-
// eslint-disable-next-line es/no-object-getownpropertynames -- safe
|
|
823
|
+
// eslint-disable-next-line es-x/no-object-getownpropertynames -- safe
|
|
804
824
|
var f$4 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
|
|
805
825
|
return objectKeysInternal(O, hiddenKeys);
|
|
806
826
|
};
|
|
@@ -809,7 +829,7 @@
|
|
|
809
829
|
f: f$4
|
|
810
830
|
};
|
|
811
831
|
|
|
812
|
-
// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
|
|
832
|
+
// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe
|
|
813
833
|
var f$3 = Object.getOwnPropertySymbols;
|
|
814
834
|
|
|
815
835
|
var objectGetOwnPropertySymbols = {
|
|
@@ -907,8 +927,7 @@
|
|
|
907
927
|
if (options.sham || (targetProperty && targetProperty.sham)) {
|
|
908
928
|
createNonEnumerableProperty(sourceProperty, 'sham', true);
|
|
909
929
|
}
|
|
910
|
-
|
|
911
|
-
redefine(target, key, sourceProperty, options);
|
|
930
|
+
defineBuiltIn(target, key, sourceProperty, options);
|
|
912
931
|
}
|
|
913
932
|
};
|
|
914
933
|
|
|
@@ -990,7 +1009,7 @@
|
|
|
990
1009
|
|
|
991
1010
|
|
|
992
1011
|
|
|
993
|
-
// eslint-disable-next-line es/no-string-prototype-startswith -- safe
|
|
1012
|
+
// eslint-disable-next-line es-x/no-string-prototype-startswith -- safe
|
|
994
1013
|
var un$StartsWith = functionUncurryThis(''.startsWith);
|
|
995
1014
|
var stringSlice$2 = functionUncurryThis(''.slice);
|
|
996
1015
|
var min = Math.min;
|
|
@@ -1024,7 +1043,7 @@
|
|
|
1024
1043
|
|
|
1025
1044
|
// `IsArray` abstract operation
|
|
1026
1045
|
// https://tc39.es/ecma262/#sec-isarray
|
|
1027
|
-
// eslint-disable-next-line es/no-array-isarray -- safe
|
|
1046
|
+
// eslint-disable-next-line es-x/no-array-isarray -- safe
|
|
1028
1047
|
var isArray$1 = Array.isArray || function isArray(argument) {
|
|
1029
1048
|
return classofRaw(argument) == 'Array';
|
|
1030
1049
|
};
|
|
@@ -1039,7 +1058,7 @@
|
|
|
1039
1058
|
var empty = [];
|
|
1040
1059
|
var construct = getBuiltIn('Reflect', 'construct');
|
|
1041
1060
|
var constructorRegExp = /^\s*(?:class|function)\b/;
|
|
1042
|
-
var exec = functionUncurryThis(constructorRegExp.exec);
|
|
1061
|
+
var exec$1 = functionUncurryThis(constructorRegExp.exec);
|
|
1043
1062
|
var INCORRECT_TO_STRING = !constructorRegExp.exec(noop$1);
|
|
1044
1063
|
|
|
1045
1064
|
var isConstructorModern = function isConstructor(argument) {
|
|
@@ -1063,7 +1082,7 @@
|
|
|
1063
1082
|
// we can't check .prototype since constructors produced by .bind haven't it
|
|
1064
1083
|
// `Function#toString` throws on some built-it function in some legacy engines
|
|
1065
1084
|
// (for example, `DOMQuad` and similar in FF41-)
|
|
1066
|
-
return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
|
|
1085
|
+
return INCORRECT_TO_STRING || !!exec$1(constructorRegExp, inspectSource(argument));
|
|
1067
1086
|
} catch (error) {
|
|
1068
1087
|
return true;
|
|
1069
1088
|
}
|
|
@@ -1143,12 +1162,12 @@
|
|
|
1143
1162
|
return spreadable !== undefined ? !!spreadable : isArray$1(O);
|
|
1144
1163
|
};
|
|
1145
1164
|
|
|
1146
|
-
var FORCED$
|
|
1165
|
+
var FORCED$2 = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
|
|
1147
1166
|
|
|
1148
1167
|
// `Array.prototype.concat` method
|
|
1149
1168
|
// https://tc39.es/ecma262/#sec-array.prototype.concat
|
|
1150
1169
|
// with adding support of @@isConcatSpreadable and @@species
|
|
1151
|
-
_export({ target: 'Array', proto: true, forced: FORCED$
|
|
1170
|
+
_export({ target: 'Array', proto: true, arity: 1, forced: FORCED$2 }, {
|
|
1152
1171
|
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
|
1153
1172
|
concat: function concat(arg) {
|
|
1154
1173
|
var O = toObject(this);
|
|
@@ -1180,28 +1199,19 @@
|
|
|
1180
1199
|
// `Object.prototype.toString` method
|
|
1181
1200
|
// https://tc39.es/ecma262/#sec-object.prototype.tostring
|
|
1182
1201
|
if (!toStringTagSupport) {
|
|
1183
|
-
|
|
1202
|
+
defineBuiltIn(Object.prototype, 'toString', objectToString, { unsafe: true });
|
|
1184
1203
|
}
|
|
1185
1204
|
|
|
1186
|
-
var FunctionPrototype = Function.prototype;
|
|
1187
|
-
var apply = FunctionPrototype.apply;
|
|
1188
|
-
var call = FunctionPrototype.call;
|
|
1189
|
-
|
|
1190
|
-
// eslint-disable-next-line es/no-reflect -- safe
|
|
1191
|
-
var functionApply = typeof Reflect == 'object' && Reflect.apply || (functionBindNative ? call.bind(apply) : function () {
|
|
1192
|
-
return call.apply(apply, arguments);
|
|
1193
|
-
});
|
|
1194
|
-
|
|
1195
1205
|
// `Object.keys` method
|
|
1196
1206
|
// https://tc39.es/ecma262/#sec-object.keys
|
|
1197
|
-
// eslint-disable-next-line es/no-object-keys -- safe
|
|
1207
|
+
// eslint-disable-next-line es-x/no-object-keys -- safe
|
|
1198
1208
|
var objectKeys = Object.keys || function keys(O) {
|
|
1199
1209
|
return objectKeysInternal(O, enumBugKeys);
|
|
1200
1210
|
};
|
|
1201
1211
|
|
|
1202
1212
|
// `Object.defineProperties` method
|
|
1203
1213
|
// https://tc39.es/ecma262/#sec-object.defineproperties
|
|
1204
|
-
// eslint-disable-next-line es/no-object-defineproperties -- safe
|
|
1214
|
+
// eslint-disable-next-line es-x/no-object-defineproperties -- safe
|
|
1205
1215
|
var f$2 = descriptors && !v8PrototypeDefineBug ? Object.defineProperties : function defineProperties(O, Properties) {
|
|
1206
1216
|
anObject(O);
|
|
1207
1217
|
var props = toIndexedObject(Properties);
|
|
@@ -1290,6 +1300,7 @@
|
|
|
1290
1300
|
|
|
1291
1301
|
// `Object.create` method
|
|
1292
1302
|
// https://tc39.es/ecma262/#sec-object.create
|
|
1303
|
+
// eslint-disable-next-line es-x/no-object-create -- safe
|
|
1293
1304
|
var objectCreate = Object.create || function create(O, Properties) {
|
|
1294
1305
|
var result;
|
|
1295
1306
|
if (O !== null) {
|
|
@@ -1315,7 +1326,7 @@
|
|
|
1315
1326
|
return result;
|
|
1316
1327
|
};
|
|
1317
1328
|
|
|
1318
|
-
/* eslint-disable es/no-object-getownpropertynames -- safe */
|
|
1329
|
+
/* eslint-disable es-x/no-object-getownpropertynames -- safe */
|
|
1319
1330
|
|
|
1320
1331
|
|
|
1321
1332
|
var $getOwnPropertyNames$1 = objectGetOwnPropertyNames.f;
|
|
@@ -1343,8 +1354,6 @@
|
|
|
1343
1354
|
f: f$1
|
|
1344
1355
|
};
|
|
1345
1356
|
|
|
1346
|
-
var arraySlice = functionUncurryThis([].slice);
|
|
1347
|
-
|
|
1348
1357
|
var f = wellKnownSymbol;
|
|
1349
1358
|
|
|
1350
1359
|
var wellKnownSymbolWrapped = {
|
|
@@ -1362,6 +1371,22 @@
|
|
|
1362
1371
|
});
|
|
1363
1372
|
};
|
|
1364
1373
|
|
|
1374
|
+
var symbolDefineToPrimitive = function () {
|
|
1375
|
+
var Symbol = getBuiltIn('Symbol');
|
|
1376
|
+
var SymbolPrototype = Symbol && Symbol.prototype;
|
|
1377
|
+
var valueOf = SymbolPrototype && SymbolPrototype.valueOf;
|
|
1378
|
+
var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
|
|
1379
|
+
|
|
1380
|
+
if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {
|
|
1381
|
+
// `Symbol.prototype[@@toPrimitive]` method
|
|
1382
|
+
// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive
|
|
1383
|
+
// eslint-disable-next-line no-unused-vars -- required for .length
|
|
1384
|
+
defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {
|
|
1385
|
+
return functionCall(valueOf, this);
|
|
1386
|
+
}, { arity: 1 });
|
|
1387
|
+
}
|
|
1388
|
+
};
|
|
1389
|
+
|
|
1365
1390
|
var defineProperty$4 = objectDefineProperty.f;
|
|
1366
1391
|
|
|
1367
1392
|
|
|
@@ -1457,7 +1482,6 @@
|
|
|
1457
1482
|
var HIDDEN = sharedKey('hidden');
|
|
1458
1483
|
var SYMBOL = 'Symbol';
|
|
1459
1484
|
var PROTOTYPE = 'prototype';
|
|
1460
|
-
var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
|
|
1461
1485
|
|
|
1462
1486
|
var setInternalState$3 = internalState.set;
|
|
1463
1487
|
var getInternalState$2 = internalState.getterFor(SYMBOL);
|
|
@@ -1467,7 +1491,6 @@
|
|
|
1467
1491
|
var SymbolPrototype$1 = $Symbol && $Symbol[PROTOTYPE];
|
|
1468
1492
|
var TypeError$7 = global_1.TypeError;
|
|
1469
1493
|
var QObject = global_1.QObject;
|
|
1470
|
-
var $stringify = getBuiltIn('JSON', 'stringify');
|
|
1471
1494
|
var nativeGetOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
|
|
1472
1495
|
var nativeDefineProperty = objectDefineProperty.f;
|
|
1473
1496
|
var nativeGetOwnPropertyNames = objectGetOwnPropertyNamesExternal.f;
|
|
@@ -1476,8 +1499,6 @@
|
|
|
1476
1499
|
|
|
1477
1500
|
var AllSymbols = shared('symbols');
|
|
1478
1501
|
var ObjectPrototypeSymbols = shared('op-symbols');
|
|
1479
|
-
var StringToSymbolRegistry = shared('string-to-symbol-registry');
|
|
1480
|
-
var SymbolToStringRegistry = shared('symbol-to-string-registry');
|
|
1481
1502
|
var WellKnownSymbolsStore = shared('wks');
|
|
1482
1503
|
|
|
1483
1504
|
// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
|
|
@@ -1566,7 +1587,7 @@
|
|
|
1566
1587
|
return result;
|
|
1567
1588
|
};
|
|
1568
1589
|
|
|
1569
|
-
var $getOwnPropertySymbols = function
|
|
1590
|
+
var $getOwnPropertySymbols = function (O) {
|
|
1570
1591
|
var IS_OBJECT_PROTOTYPE = O === ObjectPrototype$2;
|
|
1571
1592
|
var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
|
|
1572
1593
|
var result = [];
|
|
@@ -1596,11 +1617,11 @@
|
|
|
1596
1617
|
|
|
1597
1618
|
SymbolPrototype$1 = $Symbol[PROTOTYPE];
|
|
1598
1619
|
|
|
1599
|
-
|
|
1620
|
+
defineBuiltIn(SymbolPrototype$1, 'toString', function toString() {
|
|
1600
1621
|
return getInternalState$2(this).tag;
|
|
1601
1622
|
});
|
|
1602
1623
|
|
|
1603
|
-
|
|
1624
|
+
defineBuiltIn($Symbol, 'withoutSetter', function (description) {
|
|
1604
1625
|
return wrap(uid(description), description);
|
|
1605
1626
|
});
|
|
1606
1627
|
|
|
@@ -1624,7 +1645,7 @@
|
|
|
1624
1645
|
}
|
|
1625
1646
|
});
|
|
1626
1647
|
{
|
|
1627
|
-
|
|
1648
|
+
defineBuiltIn(ObjectPrototype$2, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
|
|
1628
1649
|
}
|
|
1629
1650
|
}
|
|
1630
1651
|
}
|
|
@@ -1638,22 +1659,6 @@
|
|
|
1638
1659
|
});
|
|
1639
1660
|
|
|
1640
1661
|
_export({ target: SYMBOL, stat: true, forced: !nativeSymbol }, {
|
|
1641
|
-
// `Symbol.for` method
|
|
1642
|
-
// https://tc39.es/ecma262/#sec-symbol.for
|
|
1643
|
-
'for': function (key) {
|
|
1644
|
-
var string = toString_1(key);
|
|
1645
|
-
if (hasOwnProperty_1(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
|
|
1646
|
-
var symbol = $Symbol(string);
|
|
1647
|
-
StringToSymbolRegistry[string] = symbol;
|
|
1648
|
-
SymbolToStringRegistry[symbol] = string;
|
|
1649
|
-
return symbol;
|
|
1650
|
-
},
|
|
1651
|
-
// `Symbol.keyFor` method
|
|
1652
|
-
// https://tc39.es/ecma262/#sec-symbol.keyfor
|
|
1653
|
-
keyFor: function keyFor(sym) {
|
|
1654
|
-
if (!isSymbol(sym)) throw TypeError$7(sym + ' is not a symbol');
|
|
1655
|
-
if (hasOwnProperty_1(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
|
|
1656
|
-
},
|
|
1657
1662
|
useSetter: function () { USE_SETTER = true; },
|
|
1658
1663
|
useSimple: function () { USE_SETTER = false; }
|
|
1659
1664
|
});
|
|
@@ -1676,64 +1681,132 @@
|
|
|
1676
1681
|
_export({ target: 'Object', stat: true, forced: !nativeSymbol }, {
|
|
1677
1682
|
// `Object.getOwnPropertyNames` method
|
|
1678
1683
|
// https://tc39.es/ecma262/#sec-object.getownpropertynames
|
|
1679
|
-
getOwnPropertyNames: $getOwnPropertyNames
|
|
1680
|
-
// `Object.getOwnPropertySymbols` method
|
|
1681
|
-
// https://tc39.es/ecma262/#sec-object.getownpropertysymbols
|
|
1682
|
-
getOwnPropertySymbols: $getOwnPropertySymbols
|
|
1684
|
+
getOwnPropertyNames: $getOwnPropertyNames
|
|
1683
1685
|
});
|
|
1684
1686
|
|
|
1685
|
-
//
|
|
1686
|
-
// https://
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1687
|
+
// `Symbol.prototype[@@toPrimitive]` method
|
|
1688
|
+
// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive
|
|
1689
|
+
symbolDefineToPrimitive();
|
|
1690
|
+
|
|
1691
|
+
// `Symbol.prototype[@@toStringTag]` property
|
|
1692
|
+
// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag
|
|
1693
|
+
setToStringTag($Symbol, SYMBOL);
|
|
1694
|
+
|
|
1695
|
+
hiddenKeys$1[HIDDEN] = true;
|
|
1696
|
+
|
|
1697
|
+
/* eslint-disable es-x/no-symbol -- safe */
|
|
1698
|
+
var nativeSymbolRegistry = nativeSymbol && !!Symbol['for'] && !!Symbol.keyFor;
|
|
1699
|
+
|
|
1700
|
+
var StringToSymbolRegistry = shared('string-to-symbol-registry');
|
|
1701
|
+
var SymbolToStringRegistry$1 = shared('symbol-to-string-registry');
|
|
1702
|
+
|
|
1703
|
+
// `Symbol.for` method
|
|
1704
|
+
// https://tc39.es/ecma262/#sec-symbol.for
|
|
1705
|
+
_export({ target: 'Symbol', stat: true, forced: !nativeSymbolRegistry }, {
|
|
1706
|
+
'for': function (key) {
|
|
1707
|
+
var string = toString_1(key);
|
|
1708
|
+
if (hasOwnProperty_1(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
|
|
1709
|
+
var symbol = getBuiltIn('Symbol')(string);
|
|
1710
|
+
StringToSymbolRegistry[string] = symbol;
|
|
1711
|
+
SymbolToStringRegistry$1[symbol] = string;
|
|
1712
|
+
return symbol;
|
|
1690
1713
|
}
|
|
1691
1714
|
});
|
|
1692
1715
|
|
|
1693
|
-
|
|
1694
|
-
// https://tc39.es/ecma262/#sec-json.stringify
|
|
1695
|
-
if ($stringify) {
|
|
1696
|
-
var FORCED_JSON_STRINGIFY = !nativeSymbol || fails(function () {
|
|
1697
|
-
var symbol = $Symbol();
|
|
1698
|
-
// MS Edge converts symbol values to JSON as {}
|
|
1699
|
-
return $stringify([symbol]) != '[null]'
|
|
1700
|
-
// WebKit converts symbol values to JSON as null
|
|
1701
|
-
|| $stringify({ a: symbol }) != '{}'
|
|
1702
|
-
// V8 throws on boxed symbols
|
|
1703
|
-
|| $stringify(Object(symbol)) != '{}';
|
|
1704
|
-
});
|
|
1716
|
+
var SymbolToStringRegistry = shared('symbol-to-string-registry');
|
|
1705
1717
|
|
|
1706
|
-
|
|
1718
|
+
// `Symbol.keyFor` method
|
|
1719
|
+
// https://tc39.es/ecma262/#sec-symbol.keyfor
|
|
1720
|
+
_export({ target: 'Symbol', stat: true, forced: !nativeSymbolRegistry }, {
|
|
1721
|
+
keyFor: function keyFor(sym) {
|
|
1722
|
+
if (!isSymbol(sym)) throw TypeError(tryToString(sym) + ' is not a symbol');
|
|
1723
|
+
if (hasOwnProperty_1(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
|
|
1724
|
+
}
|
|
1725
|
+
});
|
|
1726
|
+
|
|
1727
|
+
var FunctionPrototype = Function.prototype;
|
|
1728
|
+
var apply = FunctionPrototype.apply;
|
|
1729
|
+
var call = FunctionPrototype.call;
|
|
1730
|
+
|
|
1731
|
+
// eslint-disable-next-line es-x/no-reflect -- safe
|
|
1732
|
+
var functionApply = typeof Reflect == 'object' && Reflect.apply || (functionBindNative ? call.bind(apply) : function () {
|
|
1733
|
+
return call.apply(apply, arguments);
|
|
1734
|
+
});
|
|
1735
|
+
|
|
1736
|
+
var arraySlice = functionUncurryThis([].slice);
|
|
1737
|
+
|
|
1738
|
+
var $stringify = getBuiltIn('JSON', 'stringify');
|
|
1739
|
+
var exec = functionUncurryThis(/./.exec);
|
|
1740
|
+
var charAt$2 = functionUncurryThis(''.charAt);
|
|
1741
|
+
var charCodeAt$1 = functionUncurryThis(''.charCodeAt);
|
|
1742
|
+
var replace$1 = functionUncurryThis(''.replace);
|
|
1743
|
+
var numberToString = functionUncurryThis(1.0.toString);
|
|
1744
|
+
|
|
1745
|
+
var tester = /[\uD800-\uDFFF]/g;
|
|
1746
|
+
var low = /^[\uD800-\uDBFF]$/;
|
|
1747
|
+
var hi = /^[\uDC00-\uDFFF]$/;
|
|
1748
|
+
|
|
1749
|
+
var WRONG_SYMBOLS_CONVERSION = !nativeSymbol || fails(function () {
|
|
1750
|
+
var symbol = getBuiltIn('Symbol')();
|
|
1751
|
+
// MS Edge converts symbol values to JSON as {}
|
|
1752
|
+
return $stringify([symbol]) != '[null]'
|
|
1753
|
+
// WebKit converts symbol values to JSON as null
|
|
1754
|
+
|| $stringify({ a: symbol }) != '{}'
|
|
1755
|
+
// V8 throws on boxed symbols
|
|
1756
|
+
|| $stringify(Object(symbol)) != '{}';
|
|
1757
|
+
});
|
|
1758
|
+
|
|
1759
|
+
// https://github.com/tc39/proposal-well-formed-stringify
|
|
1760
|
+
var ILL_FORMED_UNICODE = fails(function () {
|
|
1761
|
+
return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"'
|
|
1762
|
+
|| $stringify('\uDEAD') !== '"\\udead"';
|
|
1763
|
+
});
|
|
1764
|
+
|
|
1765
|
+
var stringifyWithSymbolsFix = function (it, replacer) {
|
|
1766
|
+
var args = arraySlice(arguments);
|
|
1767
|
+
var $replacer = replacer;
|
|
1768
|
+
if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
|
|
1769
|
+
if (!isArray$1(replacer)) replacer = function (key, value) {
|
|
1770
|
+
if (isCallable($replacer)) value = functionCall($replacer, this, key, value);
|
|
1771
|
+
if (!isSymbol(value)) return value;
|
|
1772
|
+
};
|
|
1773
|
+
args[1] = replacer;
|
|
1774
|
+
return functionApply($stringify, null, args);
|
|
1775
|
+
};
|
|
1776
|
+
|
|
1777
|
+
var fixIllFormed = function (match, offset, string) {
|
|
1778
|
+
var prev = charAt$2(string, offset - 1);
|
|
1779
|
+
var next = charAt$2(string, offset + 1);
|
|
1780
|
+
if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {
|
|
1781
|
+
return '\\u' + numberToString(charCodeAt$1(match, 0), 16);
|
|
1782
|
+
} return match;
|
|
1783
|
+
};
|
|
1784
|
+
|
|
1785
|
+
if ($stringify) {
|
|
1786
|
+
// `JSON.stringify` method
|
|
1787
|
+
// https://tc39.es/ecma262/#sec-json.stringify
|
|
1788
|
+
_export({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {
|
|
1707
1789
|
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
|
1708
1790
|
stringify: function stringify(it, replacer, space) {
|
|
1709
1791
|
var args = arraySlice(arguments);
|
|
1710
|
-
var
|
|
1711
|
-
|
|
1712
|
-
if (!isArray$1(replacer)) replacer = function (key, value) {
|
|
1713
|
-
if (isCallable($replacer)) value = functionCall($replacer, this, key, value);
|
|
1714
|
-
if (!isSymbol(value)) return value;
|
|
1715
|
-
};
|
|
1716
|
-
args[1] = replacer;
|
|
1717
|
-
return functionApply($stringify, null, args);
|
|
1792
|
+
var result = functionApply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);
|
|
1793
|
+
return ILL_FORMED_UNICODE && typeof result == 'string' ? replace$1(result, tester, fixIllFormed) : result;
|
|
1718
1794
|
}
|
|
1719
1795
|
});
|
|
1720
1796
|
}
|
|
1721
1797
|
|
|
1722
|
-
// `
|
|
1723
|
-
// https://
|
|
1724
|
-
|
|
1725
|
-
var valueOf = SymbolPrototype$1.valueOf;
|
|
1726
|
-
// eslint-disable-next-line no-unused-vars -- required for .length
|
|
1727
|
-
redefine(SymbolPrototype$1, TO_PRIMITIVE, function (hint) {
|
|
1728
|
-
// TODO: improve hint logic
|
|
1729
|
-
return functionCall(valueOf, this);
|
|
1730
|
-
});
|
|
1731
|
-
}
|
|
1732
|
-
// `Symbol.prototype[@@toStringTag]` property
|
|
1733
|
-
// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag
|
|
1734
|
-
setToStringTag($Symbol, SYMBOL);
|
|
1798
|
+
// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
|
|
1799
|
+
// https://bugs.chromium.org/p/v8/issues/detail?id=3443
|
|
1800
|
+
var FORCED$1 = !nativeSymbol || fails(function () { objectGetOwnPropertySymbols.f(1); });
|
|
1735
1801
|
|
|
1736
|
-
|
|
1802
|
+
// `Object.getOwnPropertySymbols` method
|
|
1803
|
+
// https://tc39.es/ecma262/#sec-object.getownpropertysymbols
|
|
1804
|
+
_export({ target: 'Object', stat: true, forced: FORCED$1 }, {
|
|
1805
|
+
getOwnPropertySymbols: function getOwnPropertySymbols(it) {
|
|
1806
|
+
var $getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
|
|
1807
|
+
return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];
|
|
1808
|
+
}
|
|
1809
|
+
});
|
|
1737
1810
|
|
|
1738
1811
|
// `Symbol.asyncIterator` well-known symbol
|
|
1739
1812
|
// https://tc39.es/ecma262/#sec-symbol.asynciterator
|
|
@@ -1828,10 +1901,18 @@
|
|
|
1828
1901
|
// https://tc39.es/ecma262/#sec-symbol.toprimitive
|
|
1829
1902
|
defineWellKnownSymbol('toPrimitive');
|
|
1830
1903
|
|
|
1904
|
+
// `Symbol.prototype[@@toPrimitive]` method
|
|
1905
|
+
// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive
|
|
1906
|
+
symbolDefineToPrimitive();
|
|
1907
|
+
|
|
1831
1908
|
// `Symbol.toStringTag` well-known symbol
|
|
1832
1909
|
// https://tc39.es/ecma262/#sec-symbol.tostringtag
|
|
1833
1910
|
defineWellKnownSymbol('toStringTag');
|
|
1834
1911
|
|
|
1912
|
+
// `Symbol.prototype[@@toStringTag]` property
|
|
1913
|
+
// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag
|
|
1914
|
+
setToStringTag(getBuiltIn('Symbol'), 'Symbol');
|
|
1915
|
+
|
|
1835
1916
|
// `Symbol.unscopables` well-known symbol
|
|
1836
1917
|
// https://tc39.es/ecma262/#sec-symbol.unscopables
|
|
1837
1918
|
defineWellKnownSymbol('unscopables');
|
|
@@ -1887,7 +1968,7 @@
|
|
|
1887
1968
|
var correctPrototypeGetter = !fails(function () {
|
|
1888
1969
|
function F() { /* empty */ }
|
|
1889
1970
|
F.prototype.constructor = null;
|
|
1890
|
-
// eslint-disable-next-line es/no-object-getprototypeof -- required for testing
|
|
1971
|
+
// eslint-disable-next-line es-x/no-object-getprototypeof -- required for testing
|
|
1891
1972
|
return Object.getPrototypeOf(new F()) !== F.prototype;
|
|
1892
1973
|
});
|
|
1893
1974
|
|
|
@@ -1913,7 +1994,7 @@
|
|
|
1913
1994
|
// https://tc39.es/ecma262/#sec-%iteratorprototype%-object
|
|
1914
1995
|
var IteratorPrototype$2, PrototypeOfArrayIteratorPrototype, arrayIterator;
|
|
1915
1996
|
|
|
1916
|
-
/* eslint-disable es/no-array-prototype-keys -- safe */
|
|
1997
|
+
/* eslint-disable es-x/no-array-prototype-keys -- safe */
|
|
1917
1998
|
if ([].keys) {
|
|
1918
1999
|
arrayIterator = [].keys();
|
|
1919
2000
|
// Safari 8 has buggy iterators w/o `next`
|
|
@@ -1935,7 +2016,7 @@
|
|
|
1935
2016
|
// `%IteratorPrototype%[@@iterator]()` method
|
|
1936
2017
|
// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator
|
|
1937
2018
|
if (!isCallable(IteratorPrototype$2[ITERATOR$4])) {
|
|
1938
|
-
|
|
2019
|
+
defineBuiltIn(IteratorPrototype$2, ITERATOR$4, function () {
|
|
1939
2020
|
return this;
|
|
1940
2021
|
});
|
|
1941
2022
|
}
|
|
@@ -1979,13 +2060,13 @@
|
|
|
1979
2060
|
// `Object.setPrototypeOf` method
|
|
1980
2061
|
// https://tc39.es/ecma262/#sec-object.setprototypeof
|
|
1981
2062
|
// Works with __proto__ only. Old v8 can't work with null proto objects.
|
|
1982
|
-
// eslint-disable-next-line es/no-object-setprototypeof -- safe
|
|
2063
|
+
// eslint-disable-next-line es-x/no-object-setprototypeof -- safe
|
|
1983
2064
|
var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {
|
|
1984
2065
|
var CORRECT_SETTER = false;
|
|
1985
2066
|
var test = {};
|
|
1986
2067
|
var setter;
|
|
1987
2068
|
try {
|
|
1988
|
-
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
|
2069
|
+
// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
|
|
1989
2070
|
setter = functionUncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);
|
|
1990
2071
|
setter(test, []);
|
|
1991
2072
|
CORRECT_SETTER = test instanceof Array;
|
|
@@ -2041,7 +2122,7 @@
|
|
|
2041
2122
|
if (objectSetPrototypeOf) {
|
|
2042
2123
|
objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
|
|
2043
2124
|
} else if (!isCallable(CurrentIteratorPrototype[ITERATOR$3])) {
|
|
2044
|
-
|
|
2125
|
+
defineBuiltIn(CurrentIteratorPrototype, ITERATOR$3, returnThis);
|
|
2045
2126
|
}
|
|
2046
2127
|
}
|
|
2047
2128
|
// Set @@toStringTag to native iterators
|
|
@@ -2068,14 +2149,14 @@
|
|
|
2068
2149
|
};
|
|
2069
2150
|
if (FORCED) for (KEY in methods) {
|
|
2070
2151
|
if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
|
|
2071
|
-
|
|
2152
|
+
defineBuiltIn(IterablePrototype, KEY, methods[KEY]);
|
|
2072
2153
|
}
|
|
2073
2154
|
} else _export({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
|
|
2074
2155
|
}
|
|
2075
2156
|
|
|
2076
2157
|
// define iterator
|
|
2077
2158
|
if (IterablePrototype[ITERATOR$3] !== defaultIterator) {
|
|
2078
|
-
|
|
2159
|
+
defineBuiltIn(IterablePrototype, ITERATOR$3, defaultIterator, { name: DEFAULT });
|
|
2079
2160
|
}
|
|
2080
2161
|
iterators[NAME] = defaultIterator;
|
|
2081
2162
|
|
|
@@ -2216,7 +2297,7 @@
|
|
|
2216
2297
|
iteratorWithReturn[ITERATOR] = function () {
|
|
2217
2298
|
return this;
|
|
2218
2299
|
};
|
|
2219
|
-
// eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing
|
|
2300
|
+
// eslint-disable-next-line es-x/no-array-from, no-throw-literal -- required for testing
|
|
2220
2301
|
Array.from(iteratorWithReturn, function () { throw 2; });
|
|
2221
2302
|
} catch (error) { /* empty */ }
|
|
2222
2303
|
|
|
@@ -2238,7 +2319,7 @@
|
|
|
2238
2319
|
};
|
|
2239
2320
|
|
|
2240
2321
|
var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
|
|
2241
|
-
// eslint-disable-next-line es/no-array-from -- required for testing
|
|
2322
|
+
// eslint-disable-next-line es-x/no-array-from -- required for testing
|
|
2242
2323
|
Array.from(iterable);
|
|
2243
2324
|
});
|
|
2244
2325
|
|
|
@@ -2250,7 +2331,7 @@
|
|
|
2250
2331
|
|
|
2251
2332
|
path.Array.from;
|
|
2252
2333
|
|
|
2253
|
-
// eslint-disable-next-line es/no-typed-arrays -- safe
|
|
2334
|
+
// eslint-disable-next-line es-x/no-typed-arrays -- safe
|
|
2254
2335
|
var arrayBufferNative = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';
|
|
2255
2336
|
|
|
2256
2337
|
var defineProperty$2 = objectDefineProperty.f;
|
|
@@ -2333,7 +2414,7 @@
|
|
|
2333
2414
|
}
|
|
2334
2415
|
}
|
|
2335
2416
|
if (!TypedArrayPrototype[KEY] || forced) {
|
|
2336
|
-
|
|
2417
|
+
defineBuiltIn(TypedArrayPrototype, KEY, forced ? property
|
|
2337
2418
|
: NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);
|
|
2338
2419
|
}
|
|
2339
2420
|
};
|
|
@@ -2351,14 +2432,14 @@
|
|
|
2351
2432
|
if (!TypedArray[KEY] || forced) {
|
|
2352
2433
|
// V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable
|
|
2353
2434
|
try {
|
|
2354
|
-
return
|
|
2435
|
+
return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);
|
|
2355
2436
|
} catch (error) { /* empty */ }
|
|
2356
2437
|
} else return;
|
|
2357
2438
|
}
|
|
2358
2439
|
for (ARRAY in TypedArrayConstructorsList) {
|
|
2359
2440
|
TypedArrayConstructor = global_1[ARRAY];
|
|
2360
2441
|
if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {
|
|
2361
|
-
|
|
2442
|
+
defineBuiltIn(TypedArrayConstructor, KEY, property);
|
|
2362
2443
|
}
|
|
2363
2444
|
}
|
|
2364
2445
|
};
|
|
@@ -2454,7 +2535,7 @@
|
|
|
2454
2535
|
var exportTypedArrayMethod = arrayBufferViewCore.exportTypedArrayMethod;
|
|
2455
2536
|
|
|
2456
2537
|
var FORCED = fails(function () {
|
|
2457
|
-
// eslint-disable-next-line es/no-typed-arrays -- required for testing
|
|
2538
|
+
// eslint-disable-next-line es-x/no-typed-arrays -- required for testing
|
|
2458
2539
|
new Int8Array(1).slice();
|
|
2459
2540
|
});
|
|
2460
2541
|
|
|
@@ -2490,9 +2571,15 @@
|
|
|
2490
2571
|
var $includes = arrayIncludes.includes;
|
|
2491
2572
|
|
|
2492
2573
|
|
|
2574
|
+
|
|
2575
|
+
// FF99+ bug
|
|
2576
|
+
var BROKEN_ON_SPARSE = fails(function () {
|
|
2577
|
+
return !Array(1).includes();
|
|
2578
|
+
});
|
|
2579
|
+
|
|
2493
2580
|
// `Array.prototype.includes` method
|
|
2494
2581
|
// https://tc39.es/ecma262/#sec-array.prototype.includes
|
|
2495
|
-
_export({ target: 'Array', proto: true }, {
|
|
2582
|
+
_export({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {
|
|
2496
2583
|
includes: function includes(el /* , fromIndex = 0 */) {
|
|
2497
2584
|
return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
|
|
2498
2585
|
}
|
|
@@ -2582,12 +2669,12 @@
|
|
|
2582
2669
|
var arrayBufferNonExtensible = fails(function () {
|
|
2583
2670
|
if (typeof ArrayBuffer == 'function') {
|
|
2584
2671
|
var buffer = new ArrayBuffer(8);
|
|
2585
|
-
// eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe
|
|
2672
|
+
// eslint-disable-next-line es-x/no-object-isextensible, es-x/no-object-defineproperty -- safe
|
|
2586
2673
|
if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });
|
|
2587
2674
|
}
|
|
2588
2675
|
});
|
|
2589
2676
|
|
|
2590
|
-
// eslint-disable-next-line es/no-object-isextensible -- safe
|
|
2677
|
+
// eslint-disable-next-line es-x/no-object-isextensible -- safe
|
|
2591
2678
|
var $isExtensible = Object.isExtensible;
|
|
2592
2679
|
var FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });
|
|
2593
2680
|
|
|
@@ -2600,7 +2687,7 @@
|
|
|
2600
2687
|
} : $isExtensible;
|
|
2601
2688
|
|
|
2602
2689
|
var freezing = !fails(function () {
|
|
2603
|
-
// eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing
|
|
2690
|
+
// eslint-disable-next-line es-x/no-object-isextensible, es-x/no-object-preventextensions -- required for testing
|
|
2604
2691
|
return Object.isExtensible(Object.preventExtensions({}));
|
|
2605
2692
|
});
|
|
2606
2693
|
|
|
@@ -2783,7 +2870,7 @@
|
|
|
2783
2870
|
|
|
2784
2871
|
var fixMethod = function (KEY) {
|
|
2785
2872
|
var uncurriedNativeMethod = functionUncurryThis(NativePrototype[KEY]);
|
|
2786
|
-
|
|
2873
|
+
defineBuiltIn(NativePrototype, KEY,
|
|
2787
2874
|
KEY == 'add' ? function add(value) {
|
|
2788
2875
|
uncurriedNativeMethod(this, value === 0 ? 0 : value);
|
|
2789
2876
|
return this;
|
|
@@ -2862,8 +2949,8 @@
|
|
|
2862
2949
|
return Constructor;
|
|
2863
2950
|
};
|
|
2864
2951
|
|
|
2865
|
-
var
|
|
2866
|
-
for (var key in src)
|
|
2952
|
+
var defineBuiltIns = function (target, src, options) {
|
|
2953
|
+
for (var key in src) defineBuiltIn(target, key, src[key], options);
|
|
2867
2954
|
return target;
|
|
2868
2955
|
};
|
|
2869
2956
|
|
|
@@ -2953,7 +3040,7 @@
|
|
|
2953
3040
|
}
|
|
2954
3041
|
};
|
|
2955
3042
|
|
|
2956
|
-
|
|
3043
|
+
defineBuiltIns(Prototype, {
|
|
2957
3044
|
// `{ Map, Set }.prototype.clear()` methods
|
|
2958
3045
|
// https://tc39.es/ecma262/#sec-map.prototype.clear
|
|
2959
3046
|
// https://tc39.es/ecma262/#sec-set.prototype.clear
|
|
@@ -3013,7 +3100,7 @@
|
|
|
3013
3100
|
}
|
|
3014
3101
|
});
|
|
3015
3102
|
|
|
3016
|
-
|
|
3103
|
+
defineBuiltIns(Prototype, IS_MAP ? {
|
|
3017
3104
|
// `Map.prototype.get(key)` method
|
|
3018
3105
|
// https://tc39.es/ecma262/#sec-map.prototype.get
|
|
3019
3106
|
get: function get(key) {
|
|
@@ -3168,8 +3255,6 @@
|
|
|
3168
3255
|
// Store setTimeout reference so promise-polyfill will be unaffected by
|
|
3169
3256
|
// other code modifying setTimeout (like sinon.useFakeTimers())
|
|
3170
3257
|
var setTimeoutFunc = setTimeout;
|
|
3171
|
-
// @ts-ignore
|
|
3172
|
-
var setImmediateFunc = typeof setImmediate !== 'undefined' ? setImmediate : null;
|
|
3173
3258
|
|
|
3174
3259
|
function isArray(x) {
|
|
3175
3260
|
return Boolean(x && typeof x.length !== 'undefined');
|
|
@@ -3403,10 +3488,10 @@
|
|
|
3403
3488
|
// Use polyfill for setImmediate for performance gains
|
|
3404
3489
|
Promise$1._immediateFn =
|
|
3405
3490
|
// @ts-ignore
|
|
3406
|
-
(typeof
|
|
3491
|
+
(typeof setImmediate === 'function' &&
|
|
3407
3492
|
function(fn) {
|
|
3408
3493
|
// @ts-ignore
|
|
3409
|
-
|
|
3494
|
+
setImmediate(fn);
|
|
3410
3495
|
}) ||
|
|
3411
3496
|
function(fn) {
|
|
3412
3497
|
setTimeoutFunc(fn, 0);
|
|
@@ -4225,7 +4310,7 @@
|
|
|
4225
4310
|
|
|
4226
4311
|
var Lock = unwrapExports(browserTabsLock);
|
|
4227
4312
|
|
|
4228
|
-
var version = '1.
|
|
4313
|
+
var version = '1.22.0';
|
|
4229
4314
|
|
|
4230
4315
|
/**
|
|
4231
4316
|
* @ignore
|
|
@@ -4253,7 +4338,7 @@
|
|
|
4253
4338
|
/**
|
|
4254
4339
|
* @ignore
|
|
4255
4340
|
*/
|
|
4256
|
-
var MISSING_REFRESH_TOKEN_ERROR_MESSAGE = '
|
|
4341
|
+
var MISSING_REFRESH_TOKEN_ERROR_MESSAGE = 'Missing Refresh Token';
|
|
4257
4342
|
/**
|
|
4258
4343
|
* @ignore
|
|
4259
4344
|
*/
|
|
@@ -4388,6 +4473,20 @@
|
|
|
4388
4473
|
return _this;
|
|
4389
4474
|
}
|
|
4390
4475
|
return MfaRequiredError;
|
|
4476
|
+
}(GenericError));
|
|
4477
|
+
var MissingRefreshTokenError = /** @class */ (function (_super) {
|
|
4478
|
+
__extends(MissingRefreshTokenError, _super);
|
|
4479
|
+
/* istanbul ignore next */
|
|
4480
|
+
function MissingRefreshTokenError(audience, scope) {
|
|
4481
|
+
var _this = _super.call(this, 'missing_refresh_token', "Missing Refresh Token (audience: '".concat(valueOrEmptyString(audience, [
|
|
4482
|
+
'default'
|
|
4483
|
+
]), "', scope: '").concat(valueOrEmptyString(scope), "')")) || this;
|
|
4484
|
+
_this.audience = audience;
|
|
4485
|
+
_this.scope = scope;
|
|
4486
|
+
Object.setPrototypeOf(_this, MissingRefreshTokenError.prototype);
|
|
4487
|
+
return _this;
|
|
4488
|
+
}
|
|
4489
|
+
return MissingRefreshTokenError;
|
|
4391
4490
|
}(GenericError));
|
|
4392
4491
|
|
|
4393
4492
|
var parseQueryResult = function (queryString) {
|
|
@@ -4567,7 +4666,17 @@
|
|
|
4567
4666
|
if (typeof getCryptoSubtle() === 'undefined') {
|
|
4568
4667
|
throw new Error("\n auth0-spa-js must run on a secure origin. See https://github.com/auth0/auth0-spa-js/blob/master/FAQ.md#why-do-i-get-auth0-spa-js-must-run-on-a-secure-origin for more information.\n ");
|
|
4569
4668
|
}
|
|
4570
|
-
};
|
|
4669
|
+
};
|
|
4670
|
+
/**
|
|
4671
|
+
* Returns an empty string when value is falsy, or when it's value is included in the exclude argument.
|
|
4672
|
+
* @param value The value to check
|
|
4673
|
+
* @param exclude An array of values that should result in an empty string.
|
|
4674
|
+
* @returns The value, or an empty string when falsy or included in the exclude argument.
|
|
4675
|
+
*/
|
|
4676
|
+
function valueOrEmptyString(value, exclude) {
|
|
4677
|
+
if (exclude === void 0) { exclude = []; }
|
|
4678
|
+
return value && !exclude.includes(value) ? value : '';
|
|
4679
|
+
}
|
|
4571
4680
|
|
|
4572
4681
|
function fetch(e,n){return n=n||{},new Promise(function(t,r){var s=new XMLHttpRequest,o=[],u=[],i={},a=function(){return {ok:2==(s.status/100|0),statusText:s.statusText,status:s.status,url:s.responseURL,text:function(){return Promise.resolve(s.responseText)},json:function(){return Promise.resolve(s.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([s.response]))},clone:a,headers:{keys:function(){return o},entries:function(){return u},get:function(e){return i[e.toLowerCase()]},has:function(e){return e.toLowerCase()in i}}}};for(var l in s.open(n.method||"get",e,!0),s.onload=function(){s.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(e,n,t){o.push(n=n.toLowerCase()),u.push([n,t]),i[n]=i[n]?i[n]+","+t:t;}),t(a());},s.onerror=r,s.withCredentials="include"==n.credentials,n.headers)s.setRequestHeader(l,n.headers[l]);s.send(n.body||null);})}
|
|
4573
4682
|
|
|
@@ -5329,6 +5438,9 @@
|
|
|
5329
5438
|
if (options === null || options === void 0 ? void 0 : options.daysUntilExpire) {
|
|
5330
5439
|
cookieAttributes.expires = options.daysUntilExpire;
|
|
5331
5440
|
}
|
|
5441
|
+
if (options === null || options === void 0 ? void 0 : options.cookieDomain) {
|
|
5442
|
+
cookieAttributes.domain = options.cookieDomain;
|
|
5443
|
+
}
|
|
5332
5444
|
esCookie_5(key, JSON.stringify(value), cookieAttributes);
|
|
5333
5445
|
},
|
|
5334
5446
|
remove: function (key) {
|
|
@@ -5420,7 +5532,7 @@
|
|
|
5420
5532
|
};
|
|
5421
5533
|
}
|
|
5422
5534
|
|
|
5423
|
-
var WorkerFactory = createBase64WorkerFactory('Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIC8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLg0KDQogICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55DQogICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLg0KDQogICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEgNCiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkNCiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsDQogICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NDQogICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1INCiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SDQogICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4NCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLw0KDQogICAgdmFyIF9fYXNzaWduID0gZnVuY3Rpb24oKSB7DQogICAgICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiBfX2Fzc2lnbih0KSB7DQogICAgICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHsNCiAgICAgICAgICAgICAgICBzID0gYXJndW1lbnRzW2ldOw0KICAgICAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSkgdFtwXSA9IHNbcF07DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdDsNCiAgICAgICAgfTsNCiAgICAgICAgcmV0dXJuIF9fYXNzaWduLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7DQogICAgfTsNCg0KICAgIGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHsNCiAgICAgICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9DQogICAgICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfQ0KICAgICAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbInRocm93Il0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfQ0KICAgICAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH0NCiAgICAgICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTsNCiAgICAgICAgfSk7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gX19nZW5lcmF0b3IodGhpc0FyZywgYm9keSkgew0KICAgICAgICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnOw0KICAgICAgICByZXR1cm4gZyA9IHsgbmV4dDogdmVyYigwKSwgInRocm93IjogdmVyYigxKSwgInJldHVybiI6IHZlcmIoMikgfSwgdHlwZW9mIFN5bWJvbCA9PT0gImZ1bmN0aW9uIiAmJiAoZ1tTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSwgZzsNCiAgICAgICAgZnVuY3Rpb24gdmVyYihuKSB7IHJldHVybiBmdW5jdGlvbiAodikgeyByZXR1cm4gc3RlcChbbiwgdl0pOyB9OyB9DQogICAgICAgIGZ1bmN0aW9uIHN0ZXAob3ApIHsNCiAgICAgICAgICAgIGlmIChmKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7DQogICAgICAgICAgICB3aGlsZSAoXykgdHJ5IHsNCiAgICAgICAgICAgICAgICBpZiAoZiA9IDEsIHkgJiYgKHQgPSBvcFswXSAmIDIgPyB5WyJyZXR1cm4iXSA6IG9wWzBdID8geVsidGhyb3ciXSB8fCAoKHQgPSB5WyJyZXR1cm4iXSkgJiYgdC5jYWxsKHkpLCAwKSA6IHkubmV4dCkgJiYgISh0ID0gdC5jYWxsKHksIG9wWzFdKSkuZG9uZSkgcmV0dXJuIHQ7DQogICAgICAgICAgICAgICAgaWYgKHkgPSAwLCB0KSBvcCA9IFtvcFswXSAmIDIsIHQudmFsdWVdOw0KICAgICAgICAgICAgICAgIHN3aXRjaCAob3BbMF0pIHsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSAwOiBjYXNlIDE6IHQgPSBvcDsgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgIGNhc2UgNDogXy5sYWJlbCsrOyByZXR1cm4geyB2YWx1ZTogb3BbMV0sIGRvbmU6IGZhbHNlIH07DQogICAgICAgICAgICAgICAgICAgIGNhc2UgNTogXy5sYWJlbCsrOyB5ID0gb3BbMV07IG9wID0gWzBdOyBjb250aW51ZTsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSA3OiBvcCA9IF8ub3BzLnBvcCgpOyBfLnRyeXMucG9wKCk7IGNvbnRpbnVlOw0KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Og0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEodCA9IF8udHJ5cywgdCA9IHQubGVuZ3RoID4gMCAmJiB0W3QubGVuZ3RoIC0gMV0pICYmIChvcFswXSA9PT0gNiB8fCBvcFswXSA9PT0gMikpIHsgXyA9IDA7IGNvbnRpbnVlOyB9DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDMgJiYgKCF0IHx8IChvcFsxXSA+IHRbMF0gJiYgb3BbMV0gPCB0WzNdKSkpIHsgXy5sYWJlbCA9IG9wWzFdOyBicmVhazsgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7IF8ubGFiZWwgPSB0WzFdOyB0ID0gb3A7IGJyZWFrOyB9DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAodCAmJiBfLmxhYmVsIDwgdFsyXSkgeyBfLmxhYmVsID0gdFsyXTsgXy5vcHMucHVzaChvcCk7IGJyZWFrOyB9DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAodFsyXSkgXy5vcHMucG9wKCk7DQogICAgICAgICAgICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7IGNvbnRpbnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBvcCA9IGJvZHkuY2FsbCh0aGlzQXJnLCBfKTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsgb3AgPSBbNiwgZV07IHkgPSAwOyB9IGZpbmFsbHkgeyBmID0gdCA9IDA7IH0NCiAgICAgICAgICAgIGlmIChvcFswXSAmIDUpIHRocm93IG9wWzFdOyByZXR1cm4geyB2YWx1ZTogb3BbMF0gPyBvcFsxXSA6IHZvaWQgMCwgZG9uZTogdHJ1ZSB9Ow0KICAgICAgICB9DQogICAgfQ0KDQogICAgZnVuY3Rpb24gX19yZWFkKG8sIG4pIHsNCiAgICAgICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSAiZnVuY3Rpb24iICYmIG9bU3ltYm9sLml0ZXJhdG9yXTsNCiAgICAgICAgaWYgKCFtKSByZXR1cm4gbzsNCiAgICAgICAgdmFyIGkgPSBtLmNhbGwobyksIHIsIGFyID0gW10sIGU7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTsNCiAgICAgICAgfQ0KICAgICAgICBjYXRjaCAoZXJyb3IpIHsgZSA9IHsgZXJyb3I6IGVycm9yIH07IH0NCiAgICAgICAgZmluYWxseSB7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIGlmIChyICYmICFyLmRvbmUgJiYgKG0gPSBpWyJyZXR1cm4iXSkpIG0uY2FsbChpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhcjsNCiAgICB9CgogICAgLyoqDQogICAgICogQGlnbm9yZQ0KICAgICAqLw0KICAgIHZhciBNSVNTSU5HX1JFRlJFU0hfVE9LRU5fRVJST1JfTUVTU0FHRSA9ICdUaGUgd2ViIHdvcmtlciBpcyBtaXNzaW5nIHRoZSByZWZyZXNoIHRva2VuJzsKCiAgICB2YXIgcmVmcmVzaFRva2VucyA9IHt9Ow0KICAgIHZhciBjYWNoZUtleSA9IGZ1bmN0aW9uIChhdWRpZW5jZSwgc2NvcGUpIHsgcmV0dXJuICIiLmNvbmNhdChhdWRpZW5jZSwgInwiKS5jb25jYXQoc2NvcGUpOyB9Ow0KICAgIHZhciBnZXRSZWZyZXNoVG9rZW4gPSBmdW5jdGlvbiAoYXVkaWVuY2UsIHNjb3BlKSB7DQogICAgICAgIHJldHVybiByZWZyZXNoVG9rZW5zW2NhY2hlS2V5KGF1ZGllbmNlLCBzY29wZSldOw0KICAgIH07DQogICAgdmFyIHNldFJlZnJlc2hUb2tlbiA9IGZ1bmN0aW9uIChyZWZyZXNoVG9rZW4sIGF1ZGllbmNlLCBzY29wZSkgeyByZXR1cm4gKHJlZnJlc2hUb2tlbnNbY2FjaGVLZXkoYXVkaWVuY2UsIHNjb3BlKV0gPSByZWZyZXNoVG9rZW4pOyB9Ow0KICAgIHZhciBkZWxldGVSZWZyZXNoVG9rZW4gPSBmdW5jdGlvbiAoYXVkaWVuY2UsIHNjb3BlKSB7DQogICAgICAgIHJldHVybiBkZWxldGUgcmVmcmVzaFRva2Vuc1tjYWNoZUtleShhdWRpZW5jZSwgc2NvcGUpXTsNCiAgICB9Ow0KICAgIHZhciB3YWl0ID0gZnVuY3Rpb24gKHRpbWUpIHsNCiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJldHVybiBzZXRUaW1lb3V0KHJlc29sdmUsIHRpbWUpOyB9KTsNCiAgICB9Ow0KICAgIHZhciBmb3JtRGF0YVRvT2JqZWN0ID0gZnVuY3Rpb24gKGZvcm1EYXRhKSB7DQogICAgICAgIHZhciBxdWVyeVBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoZm9ybURhdGEpOw0KICAgICAgICB2YXIgcGFyc2VkUXVlcnkgPSB7fTsNCiAgICAgICAgcXVlcnlQYXJhbXMuZm9yRWFjaChmdW5jdGlvbiAodmFsLCBrZXkpIHsNCiAgICAgICAgICAgIHBhcnNlZFF1ZXJ5W2tleV0gPSB2YWw7DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gcGFyc2VkUXVlcnk7DQogICAgfTsNCiAgICB2YXIgbWVzc2FnZUhhbmRsZXIgPSBmdW5jdGlvbiAoX2EpIHsNCiAgICAgICAgdmFyIF9iID0gX2EuZGF0YSwgdGltZW91dCA9IF9iLnRpbWVvdXQsIGF1dGggPSBfYi5hdXRoLCBmZXRjaFVybCA9IF9iLmZldGNoVXJsLCBmZXRjaE9wdGlvbnMgPSBfYi5mZXRjaE9wdGlvbnMsIHVzZUZvcm1EYXRhID0gX2IudXNlRm9ybURhdGEsIF9jID0gX19yZWFkKF9hLnBvcnRzLCAxKSwgcG9ydCA9IF9jWzBdOw0KICAgICAgICByZXR1cm4gX19hd2FpdGVyKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHZhciBqc29uLCBfZCwgYXVkaWVuY2UsIHNjb3BlLCBib2R5LCByZWZyZXNoVG9rZW4sIGFib3J0Q29udHJvbGxlciwgcmVzcG9uc2UsIGVycm9yXzEsIGVycm9yXzI7DQogICAgICAgICAgICByZXR1cm4gX19nZW5lcmF0b3IodGhpcywgZnVuY3Rpb24gKF9lKSB7DQogICAgICAgICAgICAgICAgc3dpdGNoIChfZS5sYWJlbCkgew0KICAgICAgICAgICAgICAgICAgICBjYXNlIDA6DQogICAgICAgICAgICAgICAgICAgICAgICBfZCA9IGF1dGggfHwge30sIGF1ZGllbmNlID0gX2QuYXVkaWVuY2UsIHNjb3BlID0gX2Quc2NvcGU7DQogICAgICAgICAgICAgICAgICAgICAgICBfZS5sYWJlbCA9IDE7DQogICAgICAgICAgICAgICAgICAgIGNhc2UgMToNCiAgICAgICAgICAgICAgICAgICAgICAgIF9lLnRyeXMucHVzaChbMSwgNywgLCA4XSk7DQogICAgICAgICAgICAgICAgICAgICAgICBib2R5ID0gdXNlRm9ybURhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGZvcm1EYXRhVG9PYmplY3QoZmV0Y2hPcHRpb25zLmJvZHkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBKU09OLnBhcnNlKGZldGNoT3B0aW9ucy5ib2R5KTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYm9keS5yZWZyZXNoX3Rva2VuICYmIGJvZHkuZ3JhbnRfdHlwZSA9PT0gJ3JlZnJlc2hfdG9rZW4nKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFRva2VuID0gZ2V0UmVmcmVzaFRva2VuKGF1ZGllbmNlLCBzY29wZSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFyZWZyZXNoVG9rZW4pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKE1JU1NJTkdfUkVGUkVTSF9UT0tFTl9FUlJPUl9NRVNTQUdFKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmV0Y2hPcHRpb25zLmJvZHkgPSB1c2VGb3JtRGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IG5ldyBVUkxTZWFyY2hQYXJhbXMoX19hc3NpZ24oX19hc3NpZ24oe30sIGJvZHkpLCB7IHJlZnJlc2hfdG9rZW46IHJlZnJlc2hUb2tlbiB9KSkudG9TdHJpbmcoKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IEpTT04uc3RyaW5naWZ5KF9fYXNzaWduKF9fYXNzaWduKHt9LCBib2R5KSwgeyByZWZyZXNoX3Rva2VuOiByZWZyZXNoVG9rZW4gfSkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgYWJvcnRDb250cm9sbGVyID0gdm9pZCAwOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBBYm9ydENvbnRyb2xsZXIgPT09ICdmdW5jdGlvbicpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmV0Y2hPcHRpb25zLnNpZ25hbCA9IGFib3J0Q29udHJvbGxlci5zaWduYWw7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZSA9IHZvaWQgMDsNCiAgICAgICAgICAgICAgICAgICAgICAgIF9lLmxhYmVsID0gMjsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSAyOg0KICAgICAgICAgICAgICAgICAgICAgICAgX2UudHJ5cy5wdXNoKFsyLCA0LCAsIDVdKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbNCAvKnlpZWxkKi8sIFByb21pc2UucmFjZShbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhaXQodGltZW91dCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZldGNoKGZldGNoVXJsLCBfX2Fzc2lnbih7fSwgZmV0Y2hPcHRpb25zKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKV07DQogICAgICAgICAgICAgICAgICAgIGNhc2UgMzoNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gX2Uuc2VudCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFszIC8qYnJlYWsqLywgNV07DQogICAgICAgICAgICAgICAgICAgIGNhc2UgNDoNCiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yXzEgPSBfZS5zZW50KCk7DQogICAgICAgICAgICAgICAgICAgICAgICAvLyBmZXRjaCBlcnJvciwgcmVqZWN0IGBzZW5kTWVzc2FnZWAgdXNpbmcgYGVycm9yYCBrZXkgc28gdGhhdCB3ZSByZXRyeS4NCiAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2Uoew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiBlcnJvcl8xLm1lc3NhZ2UNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsyIC8qcmV0dXJuKi9dOw0KICAgICAgICAgICAgICAgICAgICBjYXNlIDU6DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXJlc3BvbnNlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIHJlcXVlc3QgdGltZXMgb3V0LCBhYm9ydCBpdCBhbmQgbGV0IGBzd2l0Y2hGZXRjaGAgcmFpc2UgdGhlIGVycm9yLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhYm9ydENvbnRyb2xsZXIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFib3J0Q29udHJvbGxlci5hYm9ydCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2Uoew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogIlRpbWVvdXQgd2hlbiBleGVjdXRpbmcgJ2ZldGNoJyINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzIgLypyZXR1cm4qL107DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzQgLyp5aWVsZCovLCByZXNwb25zZS5qc29uKCldOw0KICAgICAgICAgICAgICAgICAgICBjYXNlIDY6DQogICAgICAgICAgICAgICAgICAgICAgICBqc29uID0gX2Uuc2VudCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGpzb24ucmVmcmVzaF90b2tlbikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFJlZnJlc2hUb2tlbihqc29uLnJlZnJlc2hfdG9rZW4sIGF1ZGllbmNlLCBzY29wZSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGpzb24ucmVmcmVzaF90b2tlbjsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZVJlZnJlc2hUb2tlbihhdWRpZW5jZSwgc2NvcGUpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZSh7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgb2s6IHJlc3BvbnNlLm9rLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzb246IGpzb24NCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFszIC8qYnJlYWsqLywgOF07DQogICAgICAgICAgICAgICAgICAgIGNhc2UgNzoNCiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yXzIgPSBfZS5zZW50KCk7DQogICAgICAgICAgICAgICAgICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvazogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAganNvbjogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcl9kZXNjcmlwdGlvbjogZXJyb3JfMi5tZXNzYWdlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzMgLypicmVhayovLCA4XTsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSA4OiByZXR1cm4gWzIgLypyZXR1cm4qL107DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgIH07DQogICAgLy8gRG9uJ3QgcnVuIGBhZGRFdmVudExpc3RlbmVyYCBpbiBvdXIgdGVzdHMgKHRoaXMgaXMgcmVwbGFjZWQgaW4gcm9sbHVwKQ0KICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICAqLw0KICAgIHsNCiAgICAgICAgLy8gQHRzLWlnbm9yZQ0KICAgICAgICBhZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgbWVzc2FnZUhhbmRsZXIpOw0KICAgIH0KCn0pKCk7Cgo=', null, false);
|
|
5535
|
+
var WorkerFactory = createBase64WorkerFactory('Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIC8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLg0KDQogICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55DQogICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLg0KDQogICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEgNCiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkNCiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsDQogICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NDQogICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1INCiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SDQogICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4NCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLw0KICAgIC8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlICovDQoNCiAgICB2YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uKGQsIGIpIHsNCiAgICAgICAgZXh0ZW5kU3RhdGljcyA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fA0KICAgICAgICAgICAgKHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24gKGQsIGIpIHsgZC5fX3Byb3RvX18gPSBiOyB9KSB8fA0KICAgICAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsIHApKSBkW3BdID0gYltwXTsgfTsNCiAgICAgICAgcmV0dXJuIGV4dGVuZFN0YXRpY3MoZCwgYik7DQogICAgfTsNCg0KICAgIGZ1bmN0aW9uIF9fZXh0ZW5kcyhkLCBiKSB7DQogICAgICAgIGlmICh0eXBlb2YgYiAhPT0gImZ1bmN0aW9uIiAmJiBiICE9PSBudWxsKQ0KICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiICsgU3RyaW5nKGIpICsgIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7DQogICAgICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7DQogICAgICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfQ0KICAgICAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7DQogICAgfQ0KDQogICAgdmFyIF9fYXNzaWduID0gZnVuY3Rpb24oKSB7DQogICAgICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiBfX2Fzc2lnbih0KSB7DQogICAgICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHsNCiAgICAgICAgICAgICAgICBzID0gYXJndW1lbnRzW2ldOw0KICAgICAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSkgdFtwXSA9IHNbcF07DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdDsNCiAgICAgICAgfTsNCiAgICAgICAgcmV0dXJuIF9fYXNzaWduLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7DQogICAgfTsNCg0KICAgIGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHsNCiAgICAgICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9DQogICAgICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfQ0KICAgICAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbInRocm93Il0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfQ0KICAgICAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH0NCiAgICAgICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTsNCiAgICAgICAgfSk7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gX19nZW5lcmF0b3IodGhpc0FyZywgYm9keSkgew0KICAgICAgICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnOw0KICAgICAgICByZXR1cm4gZyA9IHsgbmV4dDogdmVyYigwKSwgInRocm93IjogdmVyYigxKSwgInJldHVybiI6IHZlcmIoMikgfSwgdHlwZW9mIFN5bWJvbCA9PT0gImZ1bmN0aW9uIiAmJiAoZ1tTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzOyB9KSwgZzsNCiAgICAgICAgZnVuY3Rpb24gdmVyYihuKSB7IHJldHVybiBmdW5jdGlvbiAodikgeyByZXR1cm4gc3RlcChbbiwgdl0pOyB9OyB9DQogICAgICAgIGZ1bmN0aW9uIHN0ZXAob3ApIHsNCiAgICAgICAgICAgIGlmIChmKSB0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7DQogICAgICAgICAgICB3aGlsZSAoXykgdHJ5IHsNCiAgICAgICAgICAgICAgICBpZiAoZiA9IDEsIHkgJiYgKHQgPSBvcFswXSAmIDIgPyB5WyJyZXR1cm4iXSA6IG9wWzBdID8geVsidGhyb3ciXSB8fCAoKHQgPSB5WyJyZXR1cm4iXSkgJiYgdC5jYWxsKHkpLCAwKSA6IHkubmV4dCkgJiYgISh0ID0gdC5jYWxsKHksIG9wWzFdKSkuZG9uZSkgcmV0dXJuIHQ7DQogICAgICAgICAgICAgICAgaWYgKHkgPSAwLCB0KSBvcCA9IFtvcFswXSAmIDIsIHQudmFsdWVdOw0KICAgICAgICAgICAgICAgIHN3aXRjaCAob3BbMF0pIHsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSAwOiBjYXNlIDE6IHQgPSBvcDsgYnJlYWs7DQogICAgICAgICAgICAgICAgICAgIGNhc2UgNDogXy5sYWJlbCsrOyByZXR1cm4geyB2YWx1ZTogb3BbMV0sIGRvbmU6IGZhbHNlIH07DQogICAgICAgICAgICAgICAgICAgIGNhc2UgNTogXy5sYWJlbCsrOyB5ID0gb3BbMV07IG9wID0gWzBdOyBjb250aW51ZTsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSA3OiBvcCA9IF8ub3BzLnBvcCgpOyBfLnRyeXMucG9wKCk7IGNvbnRpbnVlOw0KICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Og0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEodCA9IF8udHJ5cywgdCA9IHQubGVuZ3RoID4gMCAmJiB0W3QubGVuZ3RoIC0gMV0pICYmIChvcFswXSA9PT0gNiB8fCBvcFswXSA9PT0gMikpIHsgXyA9IDA7IGNvbnRpbnVlOyB9DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDMgJiYgKCF0IHx8IChvcFsxXSA+IHRbMF0gJiYgb3BbMV0gPCB0WzNdKSkpIHsgXy5sYWJlbCA9IG9wWzFdOyBicmVhazsgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7IF8ubGFiZWwgPSB0WzFdOyB0ID0gb3A7IGJyZWFrOyB9DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAodCAmJiBfLmxhYmVsIDwgdFsyXSkgeyBfLmxhYmVsID0gdFsyXTsgXy5vcHMucHVzaChvcCk7IGJyZWFrOyB9DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAodFsyXSkgXy5vcHMucG9wKCk7DQogICAgICAgICAgICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7IGNvbnRpbnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBvcCA9IGJvZHkuY2FsbCh0aGlzQXJnLCBfKTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsgb3AgPSBbNiwgZV07IHkgPSAwOyB9IGZpbmFsbHkgeyBmID0gdCA9IDA7IH0NCiAgICAgICAgICAgIGlmIChvcFswXSAmIDUpIHRocm93IG9wWzFdOyByZXR1cm4geyB2YWx1ZTogb3BbMF0gPyBvcFsxXSA6IHZvaWQgMCwgZG9uZTogdHJ1ZSB9Ow0KICAgICAgICB9DQogICAgfQ0KDQogICAgZnVuY3Rpb24gX19yZWFkKG8sIG4pIHsNCiAgICAgICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSAiZnVuY3Rpb24iICYmIG9bU3ltYm9sLml0ZXJhdG9yXTsNCiAgICAgICAgaWYgKCFtKSByZXR1cm4gbzsNCiAgICAgICAgdmFyIGkgPSBtLmNhbGwobyksIHIsIGFyID0gW10sIGU7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTsNCiAgICAgICAgfQ0KICAgICAgICBjYXRjaCAoZXJyb3IpIHsgZSA9IHsgZXJyb3I6IGVycm9yIH07IH0NCiAgICAgICAgZmluYWxseSB7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIGlmIChyICYmICFyLmRvbmUgJiYgKG0gPSBpWyJyZXR1cm4iXSkpIG0uY2FsbChpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhcjsNCiAgICB9CgogICAgLyoqDQogICAgICogUmV0dXJucyBhbiBlbXB0eSBzdHJpbmcgd2hlbiB2YWx1ZSBpcyBmYWxzeSwgb3Igd2hlbiBpdCdzIHZhbHVlIGlzIGluY2x1ZGVkIGluIHRoZSBleGNsdWRlIGFyZ3VtZW50Lg0KICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2sNCiAgICAgKiBAcGFyYW0gZXhjbHVkZSBBbiBhcnJheSBvZiB2YWx1ZXMgdGhhdCBzaG91bGQgcmVzdWx0IGluIGFuIGVtcHR5IHN0cmluZy4NCiAgICAgKiBAcmV0dXJucyBUaGUgdmFsdWUsIG9yIGFuIGVtcHR5IHN0cmluZyB3aGVuIGZhbHN5IG9yIGluY2x1ZGVkIGluIHRoZSBleGNsdWRlIGFyZ3VtZW50Lg0KICAgICAqLw0KICAgIGZ1bmN0aW9uIHZhbHVlT3JFbXB0eVN0cmluZyh2YWx1ZSwgZXhjbHVkZSkgew0KICAgICAgICBpZiAoZXhjbHVkZSA9PT0gdm9pZCAwKSB7IGV4Y2x1ZGUgPSBbXTsgfQ0KICAgICAgICByZXR1cm4gdmFsdWUgJiYgIWV4Y2x1ZGUuaW5jbHVkZXModmFsdWUpID8gdmFsdWUgOiAnJzsNCiAgICB9CgogICAgLyoqDQogICAgICogRm9yIGNvbnRleHQgb24gdGhlIGlzdGFuYnVsIGlnbm9yZSBzdGF0ZW1lbnRzIGJlbG93LCBzZWU6DQogICAgICogaHR0cHM6Ly9naXRodWIuY29tL2dvdHdhcmxvc3QvaXN0YW5idWwvaXNzdWVzLzY5MA0KICAgICAqLw0KICAgIC8qKg0KICAgICAqIFRocm93biB3aGVuIG5ldHdvcmsgcmVxdWVzdHMgdG8gdGhlIEF1dGggc2VydmVyIGZhaWwuDQogICAgICovDQogICAgdmFyIEdlbmVyaWNFcnJvciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHsNCiAgICAgICAgX19leHRlbmRzKEdlbmVyaWNFcnJvciwgX3N1cGVyKTsNCiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi8NCiAgICAgICAgZnVuY3Rpb24gR2VuZXJpY0Vycm9yKGVycm9yLCBlcnJvcl9kZXNjcmlwdGlvbikgew0KICAgICAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgZXJyb3JfZGVzY3JpcHRpb24pIHx8IHRoaXM7DQogICAgICAgICAgICBfdGhpcy5lcnJvciA9IGVycm9yOw0KICAgICAgICAgICAgX3RoaXMuZXJyb3JfZGVzY3JpcHRpb24gPSBlcnJvcl9kZXNjcmlwdGlvbjsNCiAgICAgICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihfdGhpcywgR2VuZXJpY0Vycm9yLnByb3RvdHlwZSk7DQogICAgICAgICAgICByZXR1cm4gX3RoaXM7DQogICAgICAgIH0NCiAgICAgICAgR2VuZXJpY0Vycm9yLmZyb21QYXlsb2FkID0gZnVuY3Rpb24gKF9hKSB7DQogICAgICAgICAgICB2YXIgZXJyb3IgPSBfYS5lcnJvciwgZXJyb3JfZGVzY3JpcHRpb24gPSBfYS5lcnJvcl9kZXNjcmlwdGlvbjsNCiAgICAgICAgICAgIHJldHVybiBuZXcgR2VuZXJpY0Vycm9yKGVycm9yLCBlcnJvcl9kZXNjcmlwdGlvbik7DQogICAgICAgIH07DQogICAgICAgIHJldHVybiBHZW5lcmljRXJyb3I7DQogICAgfShFcnJvcikpOw0KICAgIC8qKg0KICAgICAqIFRocm93biB3aGVuIGhhbmRsaW5nIHRoZSByZWRpcmVjdCBjYWxsYmFjayBmYWlscywgd2lsbCBiZSBvbmUgb2YgQXV0aDAncw0KICAgICAqIEF1dGhlbnRpY2F0aW9uIEFQSSdzIFN0YW5kYXJkIEVycm9yIFJlc3BvbnNlczogaHR0cHM6Ly9hdXRoMC5jb20vZG9jcy9hcGkvYXV0aGVudGljYXRpb24/amF2YXNjcmlwdCNzdGFuZGFyZC1lcnJvci1yZXNwb25zZXMNCiAgICAgKi8NCiAgICAvKiogQGNsYXNzICovICgoZnVuY3Rpb24gKF9zdXBlcikgew0KICAgICAgICBfX2V4dGVuZHMoQXV0aGVudGljYXRpb25FcnJvciwgX3N1cGVyKTsNCiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi8NCiAgICAgICAgZnVuY3Rpb24gQXV0aGVudGljYXRpb25FcnJvcihlcnJvciwgZXJyb3JfZGVzY3JpcHRpb24sIHN0YXRlLCBhcHBTdGF0ZSkgew0KICAgICAgICAgICAgaWYgKGFwcFN0YXRlID09PSB2b2lkIDApIHsgYXBwU3RhdGUgPSBudWxsOyB9DQogICAgICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBlcnJvciwgZXJyb3JfZGVzY3JpcHRpb24pIHx8IHRoaXM7DQogICAgICAgICAgICBfdGhpcy5zdGF0ZSA9IHN0YXRlOw0KICAgICAgICAgICAgX3RoaXMuYXBwU3RhdGUgPSBhcHBTdGF0ZTsNCiAgICAgICAgICAgIC8vaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9UeXBlU2NyaXB0LXdpa2kvYmxvYi9tYXN0ZXIvQnJlYWtpbmctQ2hhbmdlcy5tZCNleHRlbmRpbmctYnVpbHQtaW5zLWxpa2UtZXJyb3ItYXJyYXktYW5kLW1hcC1tYXktbm8tbG9uZ2VyLXdvcmsNCiAgICAgICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihfdGhpcywgQXV0aGVudGljYXRpb25FcnJvci5wcm90b3R5cGUpOw0KICAgICAgICAgICAgcmV0dXJuIF90aGlzOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBBdXRoZW50aWNhdGlvbkVycm9yOw0KICAgIH0pKEdlbmVyaWNFcnJvcikpOw0KICAgIC8qKg0KICAgICAqIFRocm93biB3aGVuIHNpbGVudCBhdXRoIHRpbWVzIG91dCAodXN1YWxseSBkdWUgdG8gYSBjb25maWd1cmF0aW9uIGlzc3VlKSBvcg0KICAgICAqIHdoZW4gbmV0d29yayByZXF1ZXN0cyB0byB0aGUgQXV0aCBzZXJ2ZXIgdGltZW91dC4NCiAgICAgKi8NCiAgICB2YXIgVGltZW91dEVycm9yID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikgew0KICAgICAgICBfX2V4dGVuZHMoVGltZW91dEVycm9yLCBfc3VwZXIpOw0KICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLw0KICAgICAgICBmdW5jdGlvbiBUaW1lb3V0RXJyb3IoKSB7DQogICAgICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCAndGltZW91dCcsICdUaW1lb3V0JykgfHwgdGhpczsNCiAgICAgICAgICAgIC8vaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9UeXBlU2NyaXB0LXdpa2kvYmxvYi9tYXN0ZXIvQnJlYWtpbmctQ2hhbmdlcy5tZCNleHRlbmRpbmctYnVpbHQtaW5zLWxpa2UtZXJyb3ItYXJyYXktYW5kLW1hcC1tYXktbm8tbG9uZ2VyLXdvcmsNCiAgICAgICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihfdGhpcywgVGltZW91dEVycm9yLnByb3RvdHlwZSk7DQogICAgICAgICAgICByZXR1cm4gX3RoaXM7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIFRpbWVvdXRFcnJvcjsNCiAgICB9KEdlbmVyaWNFcnJvcikpOw0KICAgIC8qKg0KICAgICAqIEVycm9yIHRocm93biB3aGVuIHRoZSBsb2dpbiBwb3B1cCB0aW1lcyBvdXQgKGlmIHRoZSB1c2VyIGRvZXMgbm90IGNvbXBsZXRlIGF1dGgpDQogICAgICovDQogICAgLyoqIEBjbGFzcyAqLyAoKGZ1bmN0aW9uIChfc3VwZXIpIHsNCiAgICAgICAgX19leHRlbmRzKFBvcHVwVGltZW91dEVycm9yLCBfc3VwZXIpOw0KICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLw0KICAgICAgICBmdW5jdGlvbiBQb3B1cFRpbWVvdXRFcnJvcihwb3B1cCkgew0KICAgICAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcykgfHwgdGhpczsNCiAgICAgICAgICAgIF90aGlzLnBvcHVwID0gcG9wdXA7DQogICAgICAgICAgICAvL2h0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvVHlwZVNjcmlwdC13aWtpL2Jsb2IvbWFzdGVyL0JyZWFraW5nLUNoYW5nZXMubWQjZXh0ZW5kaW5nLWJ1aWx0LWlucy1saWtlLWVycm9yLWFycmF5LWFuZC1tYXAtbWF5LW5vLWxvbmdlci13b3JrDQogICAgICAgICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YoX3RoaXMsIFBvcHVwVGltZW91dEVycm9yLnByb3RvdHlwZSk7DQogICAgICAgICAgICByZXR1cm4gX3RoaXM7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIFBvcHVwVGltZW91dEVycm9yOw0KICAgIH0pKFRpbWVvdXRFcnJvcikpOw0KICAgIC8qKiBAY2xhc3MgKi8gKChmdW5jdGlvbiAoX3N1cGVyKSB7DQogICAgICAgIF9fZXh0ZW5kcyhQb3B1cENhbmNlbGxlZEVycm9yLCBfc3VwZXIpOw0KICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLw0KICAgICAgICBmdW5jdGlvbiBQb3B1cENhbmNlbGxlZEVycm9yKHBvcHVwKSB7DQogICAgICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCAnY2FuY2VsbGVkJywgJ1BvcHVwIGNsb3NlZCcpIHx8IHRoaXM7DQogICAgICAgICAgICBfdGhpcy5wb3B1cCA9IHBvcHVwOw0KICAgICAgICAgICAgLy9odHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L1R5cGVTY3JpcHQtd2lraS9ibG9iL21hc3Rlci9CcmVha2luZy1DaGFuZ2VzLm1kI2V4dGVuZGluZy1idWlsdC1pbnMtbGlrZS1lcnJvci1hcnJheS1hbmQtbWFwLW1heS1uby1sb25nZXItd29yaw0KICAgICAgICAgICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKF90aGlzLCBQb3B1cENhbmNlbGxlZEVycm9yLnByb3RvdHlwZSk7DQogICAgICAgICAgICByZXR1cm4gX3RoaXM7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIFBvcHVwQ2FuY2VsbGVkRXJyb3I7DQogICAgfSkoR2VuZXJpY0Vycm9yKSk7DQogICAgLyoqDQogICAgICogRXJyb3IgdGhyb3duIHdoZW4gdGhlIHRva2VuIGV4Y2hhbmdlIHJlc3VsdHMgaW4gYSBgbWZhX3JlcXVpcmVkYCBlcnJvcg0KICAgICAqLw0KICAgIC8qKiBAY2xhc3MgKi8gKChmdW5jdGlvbiAoX3N1cGVyKSB7DQogICAgICAgIF9fZXh0ZW5kcyhNZmFSZXF1aXJlZEVycm9yLCBfc3VwZXIpOw0KICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLw0KICAgICAgICBmdW5jdGlvbiBNZmFSZXF1aXJlZEVycm9yKGVycm9yLCBlcnJvcl9kZXNjcmlwdGlvbiwgbWZhX3Rva2VuKSB7DQogICAgICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBlcnJvciwgZXJyb3JfZGVzY3JpcHRpb24pIHx8IHRoaXM7DQogICAgICAgICAgICBfdGhpcy5tZmFfdG9rZW4gPSBtZmFfdG9rZW47DQogICAgICAgICAgICAvL2h0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvVHlwZVNjcmlwdC13aWtpL2Jsb2IvbWFzdGVyL0JyZWFraW5nLUNoYW5nZXMubWQjZXh0ZW5kaW5nLWJ1aWx0LWlucy1saWtlLWVycm9yLWFycmF5LWFuZC1tYXAtbWF5LW5vLWxvbmdlci13b3JrDQogICAgICAgICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YoX3RoaXMsIE1mYVJlcXVpcmVkRXJyb3IucHJvdG90eXBlKTsNCiAgICAgICAgICAgIHJldHVybiBfdGhpczsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gTWZhUmVxdWlyZWRFcnJvcjsNCiAgICB9KShHZW5lcmljRXJyb3IpKTsNCiAgICB2YXIgTWlzc2luZ1JlZnJlc2hUb2tlbkVycm9yID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikgew0KICAgICAgICBfX2V4dGVuZHMoTWlzc2luZ1JlZnJlc2hUb2tlbkVycm9yLCBfc3VwZXIpOw0KICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLw0KICAgICAgICBmdW5jdGlvbiBNaXNzaW5nUmVmcmVzaFRva2VuRXJyb3IoYXVkaWVuY2UsIHNjb3BlKSB7DQogICAgICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCAnbWlzc2luZ19yZWZyZXNoX3Rva2VuJywgIk1pc3NpbmcgUmVmcmVzaCBUb2tlbiAoYXVkaWVuY2U6ICciLmNvbmNhdCh2YWx1ZU9yRW1wdHlTdHJpbmcoYXVkaWVuY2UsIFsNCiAgICAgICAgICAgICAgICAnZGVmYXVsdCcNCiAgICAgICAgICAgIF0pLCAiJywgc2NvcGU6ICciKS5jb25jYXQodmFsdWVPckVtcHR5U3RyaW5nKHNjb3BlKSwgIicpIikpIHx8IHRoaXM7DQogICAgICAgICAgICBfdGhpcy5hdWRpZW5jZSA9IGF1ZGllbmNlOw0KICAgICAgICAgICAgX3RoaXMuc2NvcGUgPSBzY29wZTsNCiAgICAgICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihfdGhpcywgTWlzc2luZ1JlZnJlc2hUb2tlbkVycm9yLnByb3RvdHlwZSk7DQogICAgICAgICAgICByZXR1cm4gX3RoaXM7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIE1pc3NpbmdSZWZyZXNoVG9rZW5FcnJvcjsNCiAgICB9KEdlbmVyaWNFcnJvcikpOwoKICAgIHZhciByZWZyZXNoVG9rZW5zID0ge307DQogICAgdmFyIGNhY2hlS2V5ID0gZnVuY3Rpb24gKGF1ZGllbmNlLCBzY29wZSkgeyByZXR1cm4gIiIuY29uY2F0KGF1ZGllbmNlLCAifCIpLmNvbmNhdChzY29wZSk7IH07DQogICAgdmFyIGdldFJlZnJlc2hUb2tlbiA9IGZ1bmN0aW9uIChhdWRpZW5jZSwgc2NvcGUpIHsNCiAgICAgICAgcmV0dXJuIHJlZnJlc2hUb2tlbnNbY2FjaGVLZXkoYXVkaWVuY2UsIHNjb3BlKV07DQogICAgfTsNCiAgICB2YXIgc2V0UmVmcmVzaFRva2VuID0gZnVuY3Rpb24gKHJlZnJlc2hUb2tlbiwgYXVkaWVuY2UsIHNjb3BlKSB7IHJldHVybiAocmVmcmVzaFRva2Vuc1tjYWNoZUtleShhdWRpZW5jZSwgc2NvcGUpXSA9IHJlZnJlc2hUb2tlbik7IH07DQogICAgdmFyIGRlbGV0ZVJlZnJlc2hUb2tlbiA9IGZ1bmN0aW9uIChhdWRpZW5jZSwgc2NvcGUpIHsNCiAgICAgICAgcmV0dXJuIGRlbGV0ZSByZWZyZXNoVG9rZW5zW2NhY2hlS2V5KGF1ZGllbmNlLCBzY29wZSldOw0KICAgIH07DQogICAgdmFyIHdhaXQgPSBmdW5jdGlvbiAodGltZSkgew0KICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmV0dXJuIHNldFRpbWVvdXQocmVzb2x2ZSwgdGltZSk7IH0pOw0KICAgIH07DQogICAgdmFyIGZvcm1EYXRhVG9PYmplY3QgPSBmdW5jdGlvbiAoZm9ybURhdGEpIHsNCiAgICAgICAgdmFyIHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhmb3JtRGF0YSk7DQogICAgICAgIHZhciBwYXJzZWRRdWVyeSA9IHt9Ow0KICAgICAgICBxdWVyeVBhcmFtcy5mb3JFYWNoKGZ1bmN0aW9uICh2YWwsIGtleSkgew0KICAgICAgICAgICAgcGFyc2VkUXVlcnlba2V5XSA9IHZhbDsNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBwYXJzZWRRdWVyeTsNCiAgICB9Ow0KICAgIHZhciBtZXNzYWdlSGFuZGxlciA9IGZ1bmN0aW9uIChfYSkgew0KICAgICAgICB2YXIgX2IgPSBfYS5kYXRhLCB0aW1lb3V0ID0gX2IudGltZW91dCwgYXV0aCA9IF9iLmF1dGgsIGZldGNoVXJsID0gX2IuZmV0Y2hVcmwsIGZldGNoT3B0aW9ucyA9IF9iLmZldGNoT3B0aW9ucywgdXNlRm9ybURhdGEgPSBfYi51c2VGb3JtRGF0YSwgX2MgPSBfX3JlYWQoX2EucG9ydHMsIDEpLCBwb3J0ID0gX2NbMF07DQogICAgICAgIHJldHVybiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdmFyIGpzb24sIF9kLCBhdWRpZW5jZSwgc2NvcGUsIGJvZHksIHJlZnJlc2hUb2tlbiwgYWJvcnRDb250cm9sbGVyLCByZXNwb25zZSwgZXJyb3JfMSwgZXJyb3JfMjsNCiAgICAgICAgICAgIHJldHVybiBfX2dlbmVyYXRvcih0aGlzLCBmdW5jdGlvbiAoX2UpIHsNCiAgICAgICAgICAgICAgICBzd2l0Y2ggKF9lLmxhYmVsKSB7DQogICAgICAgICAgICAgICAgICAgIGNhc2UgMDoNCiAgICAgICAgICAgICAgICAgICAgICAgIF9kID0gYXV0aCB8fCB7fSwgYXVkaWVuY2UgPSBfZC5hdWRpZW5jZSwgc2NvcGUgPSBfZC5zY29wZTsNCiAgICAgICAgICAgICAgICAgICAgICAgIF9lLmxhYmVsID0gMTsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSAxOg0KICAgICAgICAgICAgICAgICAgICAgICAgX2UudHJ5cy5wdXNoKFsxLCA3LCAsIDhdKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkgPSB1c2VGb3JtRGF0YQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gZm9ybURhdGFUb09iamVjdChmZXRjaE9wdGlvbnMuYm9keSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IEpTT04ucGFyc2UoZmV0Y2hPcHRpb25zLmJvZHkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFib2R5LnJlZnJlc2hfdG9rZW4gJiYgYm9keS5ncmFudF90eXBlID09PSAncmVmcmVzaF90b2tlbicpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZyZXNoVG9rZW4gPSBnZXRSZWZyZXNoVG9rZW4oYXVkaWVuY2UsIHNjb3BlKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXJlZnJlc2hUb2tlbikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgTWlzc2luZ1JlZnJlc2hUb2tlbkVycm9yKGF1ZGllbmNlLCBzY29wZSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZldGNoT3B0aW9ucy5ib2R5ID0gdXNlRm9ybURhdGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBuZXcgVVJMU2VhcmNoUGFyYW1zKF9fYXNzaWduKF9fYXNzaWduKHt9LCBib2R5KSwgeyByZWZyZXNoX3Rva2VuOiByZWZyZXNoVG9rZW4gfSkpLnRvU3RyaW5nKCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBKU09OLnN0cmluZ2lmeShfX2Fzc2lnbihfX2Fzc2lnbih7fSwgYm9keSksIHsgcmVmcmVzaF90b2tlbjogcmVmcmVzaFRva2VuIH0pKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGFib3J0Q29udHJvbGxlciA9IHZvaWQgMDsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgQWJvcnRDb250cm9sbGVyID09PSAnZnVuY3Rpb24nKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZldGNoT3B0aW9ucy5zaWduYWwgPSBhYm9ydENvbnRyb2xsZXIuc2lnbmFsOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UgPSB2b2lkIDA7DQogICAgICAgICAgICAgICAgICAgICAgICBfZS5sYWJlbCA9IDI7DQogICAgICAgICAgICAgICAgICAgIGNhc2UgMjoNCiAgICAgICAgICAgICAgICAgICAgICAgIF9lLnRyeXMucHVzaChbMiwgNCwgLCA1XSk7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gWzQgLyp5aWVsZCovLCBQcm9taXNlLnJhY2UoWw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YWl0KHRpbWVvdXQpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZXRjaChmZXRjaFVybCwgX19hc3NpZ24oe30sIGZldGNoT3B0aW9ucykpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgXSldOw0KICAgICAgICAgICAgICAgICAgICBjYXNlIDM6DQogICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZSA9IF9lLnNlbnQoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbMyAvKmJyZWFrKi8sIDVdOw0KICAgICAgICAgICAgICAgICAgICBjYXNlIDQ6DQogICAgICAgICAgICAgICAgICAgICAgICBlcnJvcl8xID0gX2Uuc2VudCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgLy8gZmV0Y2ggZXJyb3IsIHJlamVjdCBgc2VuZE1lc3NhZ2VgIHVzaW5nIGBlcnJvcmAga2V5IHNvIHRoYXQgd2UgcmV0cnkuDQogICAgICAgICAgICAgICAgICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogZXJyb3JfMS5tZXNzYWdlDQogICAgICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbMiAvKnJldHVybiovXTsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSA1Og0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXNwb25zZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSByZXF1ZXN0IHRpbWVzIG91dCwgYWJvcnQgaXQgYW5kIGxldCBgc3dpdGNoRmV0Y2hgIHJhaXNlIHRoZSBlcnJvci4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYWJvcnRDb250cm9sbGVyKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6ICJUaW1lb3V0IHdoZW4gZXhlY3V0aW5nICdmZXRjaCciDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFsyIC8qcmV0dXJuKi9dOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFs0IC8qeWllbGQqLywgcmVzcG9uc2UuanNvbigpXTsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSA2Og0KICAgICAgICAgICAgICAgICAgICAgICAganNvbiA9IF9lLnNlbnQoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChqc29uLnJlZnJlc2hfdG9rZW4pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRSZWZyZXNoVG9rZW4oanNvbi5yZWZyZXNoX3Rva2VuLCBhdWRpZW5jZSwgc2NvcGUpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBqc29uLnJlZnJlc2hfdG9rZW47DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGVSZWZyZXNoVG9rZW4oYXVkaWVuY2UsIHNjb3BlKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2Uoew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9rOiByZXNwb25zZS5vaywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqc29uOiBqc29uDQogICAgICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBbMyAvKmJyZWFrKi8sIDhdOw0KICAgICAgICAgICAgICAgICAgICBjYXNlIDc6DQogICAgICAgICAgICAgICAgICAgICAgICBlcnJvcl8yID0gX2Uuc2VudCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZSh7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgb2s6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzb246IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JfZGVzY3JpcHRpb246IGVycm9yXzIubWVzc2FnZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFszIC8qYnJlYWsqLywgOF07DQogICAgICAgICAgICAgICAgICAgIGNhc2UgODogcmV0dXJuIFsyIC8qcmV0dXJuKi9dOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9KTsNCiAgICB9Ow0KICAgIC8vIERvbid0IHJ1biBgYWRkRXZlbnRMaXN0ZW5lcmAgaW4gb3VyIHRlc3RzICh0aGlzIGlzIHJlcGxhY2VkIGluIHJvbGx1cCkNCiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAgKi8NCiAgICB7DQogICAgICAgIC8vIEB0cy1pZ25vcmUNCiAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIG1lc3NhZ2VIYW5kbGVyKTsNCiAgICB9Cgp9KSgpOwoK', null, false);
|
|
5424
5536
|
/* eslint-enable */
|
|
5425
5537
|
|
|
5426
5538
|
var isIE11 = function () { return /Trident.*rv:11\.0/.test(navigator.userAgent); };
|
|
@@ -5652,6 +5764,8 @@
|
|
|
5652
5764
|
this.worker = new WorkerFactory();
|
|
5653
5765
|
}
|
|
5654
5766
|
this.customOptions = getCustomInitialOptions(options);
|
|
5767
|
+
this.useRefreshTokensFallback =
|
|
5768
|
+
this.options.useRefreshTokensFallback !== false;
|
|
5655
5769
|
}
|
|
5656
5770
|
Auth0Client.prototype._url = function (path) {
|
|
5657
5771
|
var auth0Client = encodeURIComponent(btoa(JSON.stringify(this.options.auth0Client || DEFAULT_AUTH0_CLIENT)));
|
|
@@ -5698,7 +5812,8 @@
|
|
|
5698
5812
|
Auth0Client.prototype._processOrgIdHint = function (organizationId) {
|
|
5699
5813
|
if (organizationId) {
|
|
5700
5814
|
this.cookieStorage.save(this.orgHintCookieName, organizationId, {
|
|
5701
|
-
daysUntilExpire: this.sessionCheckExpiryDays
|
|
5815
|
+
daysUntilExpire: this.sessionCheckExpiryDays,
|
|
5816
|
+
cookieDomain: this.options.cookieDomain
|
|
5702
5817
|
});
|
|
5703
5818
|
}
|
|
5704
5819
|
else {
|
|
@@ -5774,6 +5889,9 @@
|
|
|
5774
5889
|
config = config || {};
|
|
5775
5890
|
if (!config.popup) {
|
|
5776
5891
|
config.popup = openPopup('');
|
|
5892
|
+
if (!config.popup) {
|
|
5893
|
+
throw new Error('Unable to open a popup for loginWithPopup - window.open returned `null`');
|
|
5894
|
+
}
|
|
5777
5895
|
}
|
|
5778
5896
|
authorizeOptions = __rest(options, []);
|
|
5779
5897
|
stateIn = encode(createRandomString());
|
|
@@ -5818,7 +5936,8 @@
|
|
|
5818
5936
|
case 5:
|
|
5819
5937
|
_a.sent();
|
|
5820
5938
|
this.cookieStorage.save(this.isAuthenticatedCookieName, true, {
|
|
5821
|
-
daysUntilExpire: this.sessionCheckExpiryDays
|
|
5939
|
+
daysUntilExpire: this.sessionCheckExpiryDays,
|
|
5940
|
+
cookieDomain: this.options.cookieDomain
|
|
5822
5941
|
});
|
|
5823
5942
|
this._processOrgIdHint(decodedToken.claims.org_id);
|
|
5824
5943
|
return [2 /*return*/];
|
|
@@ -5982,7 +6101,8 @@
|
|
|
5982
6101
|
case 3:
|
|
5983
6102
|
_b.sent();
|
|
5984
6103
|
this.cookieStorage.save(this.isAuthenticatedCookieName, true, {
|
|
5985
|
-
daysUntilExpire: this.sessionCheckExpiryDays
|
|
6104
|
+
daysUntilExpire: this.sessionCheckExpiryDays,
|
|
6105
|
+
cookieDomain: this.options.cookieDomain
|
|
5986
6106
|
});
|
|
5987
6107
|
this._processOrgIdHint(decodedToken.claims.org_id);
|
|
5988
6108
|
return [2 /*return*/, {
|
|
@@ -6030,7 +6150,8 @@
|
|
|
6030
6150
|
else {
|
|
6031
6151
|
// Migrate the existing cookie to the new name scoped by client ID
|
|
6032
6152
|
this.cookieStorage.save(this.isAuthenticatedCookieName, true, {
|
|
6033
|
-
daysUntilExpire: this.sessionCheckExpiryDays
|
|
6153
|
+
daysUntilExpire: this.sessionCheckExpiryDays,
|
|
6154
|
+
cookieDomain: this.options.cookieDomain
|
|
6034
6155
|
});
|
|
6035
6156
|
this.cookieStorage.remove(OLD_IS_AUTHENTICATED_COOKIE_NAME);
|
|
6036
6157
|
}
|
|
@@ -6066,7 +6187,7 @@
|
|
|
6066
6187
|
*
|
|
6067
6188
|
* A new token will be obtained either by opening an iframe or a
|
|
6068
6189
|
* refresh token (if `useRefreshTokens` is `true`)
|
|
6069
|
-
|
|
6190
|
+
|
|
6070
6191
|
* If iframes are used, opens an iframe with the `/authorize` URL
|
|
6071
6192
|
* using the parameters provided as arguments. Random and secure `state`
|
|
6072
6193
|
* and `nonce` parameters will be auto-generated. If the response is successful,
|
|
@@ -6156,7 +6277,8 @@
|
|
|
6156
6277
|
case 11:
|
|
6157
6278
|
_b.sent();
|
|
6158
6279
|
this.cookieStorage.save(this.isAuthenticatedCookieName, true, {
|
|
6159
|
-
daysUntilExpire: this.sessionCheckExpiryDays
|
|
6280
|
+
daysUntilExpire: this.sessionCheckExpiryDays,
|
|
6281
|
+
cookieDomain: this.options.cookieDomain
|
|
6160
6282
|
});
|
|
6161
6283
|
if (options.detailedResponse) {
|
|
6162
6284
|
id_token = authResult.id_token, access_token = authResult.access_token, oauthTokenScope = authResult.oauthTokenScope, expires_in = authResult.expires_in;
|
|
@@ -6371,10 +6493,12 @@
|
|
|
6371
6493
|
}))];
|
|
6372
6494
|
case 1:
|
|
6373
6495
|
cache = _a.sent();
|
|
6374
|
-
if (!((!cache || !cache.refresh_token) && !this.worker)) return [3 /*break*/,
|
|
6496
|
+
if (!((!cache || !cache.refresh_token) && !this.worker)) return [3 /*break*/, 4];
|
|
6497
|
+
if (!this.useRefreshTokensFallback) return [3 /*break*/, 3];
|
|
6375
6498
|
return [4 /*yield*/, this._getTokenFromIFrame(options)];
|
|
6376
6499
|
case 2: return [2 /*return*/, _a.sent()];
|
|
6377
|
-
case 3:
|
|
6500
|
+
case 3: throw new MissingRefreshTokenError(options.audience || 'default', options.scope);
|
|
6501
|
+
case 4:
|
|
6378
6502
|
redirect_uri = options.redirect_uri ||
|
|
6379
6503
|
this.options.redirect_uri ||
|
|
6380
6504
|
window.location.origin;
|
|
@@ -6382,31 +6506,32 @@
|
|
|
6382
6506
|
timeout = typeof options.timeoutInSeconds === 'number'
|
|
6383
6507
|
? options.timeoutInSeconds * 1000
|
|
6384
6508
|
: null;
|
|
6385
|
-
_a.label =
|
|
6386
|
-
case 4:
|
|
6387
|
-
_a.trys.push([4, 6, , 9]);
|
|
6388
|
-
return [4 /*yield*/, oauthToken(__assign(__assign(__assign(__assign(__assign({}, this.customOptions), customOptions), { audience: audience, scope: scope, baseUrl: this.domainUrl, client_id: this.options.client_id, grant_type: 'refresh_token', refresh_token: cache && cache.refresh_token, redirect_uri: redirect_uri }), (timeout && { timeout: timeout })), { auth0Client: this.options.auth0Client, useFormData: this.options.useFormData, timeout: this.httpTimeoutMs }), this.worker)];
|
|
6509
|
+
_a.label = 5;
|
|
6389
6510
|
case 5:
|
|
6390
|
-
|
|
6391
|
-
return [
|
|
6511
|
+
_a.trys.push([5, 7, , 10]);
|
|
6512
|
+
return [4 /*yield*/, oauthToken(__assign(__assign(__assign(__assign(__assign({}, this.customOptions), customOptions), { audience: audience, scope: scope, baseUrl: this.domainUrl, client_id: this.options.client_id, grant_type: 'refresh_token', refresh_token: cache && cache.refresh_token, redirect_uri: redirect_uri }), (timeout && { timeout: timeout })), { auth0Client: this.options.auth0Client, useFormData: this.options.useFormData, timeout: this.httpTimeoutMs }), this.worker)];
|
|
6392
6513
|
case 6:
|
|
6514
|
+
tokenResult = _a.sent();
|
|
6515
|
+
return [3 /*break*/, 10];
|
|
6516
|
+
case 7:
|
|
6393
6517
|
e_2 = _a.sent();
|
|
6394
6518
|
if (!
|
|
6395
6519
|
// The web worker didn't have a refresh token in memory so
|
|
6396
6520
|
// fallback to an iframe.
|
|
6397
|
-
(e_2.message
|
|
6521
|
+
((e_2.message.indexOf(MISSING_REFRESH_TOKEN_ERROR_MESSAGE) > -1 ||
|
|
6398
6522
|
// A refresh token was found, but is it no longer valid.
|
|
6399
6523
|
// Fallback to an iframe.
|
|
6400
6524
|
(e_2.message &&
|
|
6401
|
-
e_2.message.indexOf(INVALID_REFRESH_TOKEN_ERROR_MESSAGE) > -1))
|
|
6525
|
+
e_2.message.indexOf(INVALID_REFRESH_TOKEN_ERROR_MESSAGE) > -1)) &&
|
|
6526
|
+
this.useRefreshTokensFallback))
|
|
6402
6527
|
// The web worker didn't have a refresh token in memory so
|
|
6403
6528
|
// fallback to an iframe.
|
|
6404
|
-
return [3 /*break*/,
|
|
6529
|
+
return [3 /*break*/, 9];
|
|
6405
6530
|
return [4 /*yield*/, this._getTokenFromIFrame(options)];
|
|
6406
|
-
case
|
|
6407
|
-
case
|
|
6408
|
-
case
|
|
6409
|
-
case
|
|
6531
|
+
case 8: return [2 /*return*/, _a.sent()];
|
|
6532
|
+
case 9: throw e_2;
|
|
6533
|
+
case 10: return [4 /*yield*/, this._verifyIdToken(tokenResult.id_token)];
|
|
6534
|
+
case 11:
|
|
6410
6535
|
decodedToken = _a.sent();
|
|
6411
6536
|
return [2 /*return*/, __assign(__assign({}, tokenResult), { decodedToken: decodedToken, scope: options.scope, oauthTokenScope: tokenResult.scope, audience: options.audience || 'default' })];
|
|
6412
6537
|
}
|