testcafe 1.20.2-alpha.1 → 2.0.0-rc.3
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/lib/api/request-hooks/assert-type.js +2 -2
- package/lib/api/request-hooks/hook.js +2 -2
- package/lib/api/request-hooks/request-logger.js +2 -2
- package/lib/api/skip-js-errors/index.js +62 -0
- package/lib/api/structure/base-unit.js +2 -2
- package/lib/api/structure/fixture.js +13 -13
- package/lib/api/structure/test.js +18 -17
- package/lib/api/structure/testing-unit.js +26 -16
- package/lib/api/test-controller/assertion.js +5 -5
- package/lib/api/test-controller/execution-context.js +2 -2
- package/lib/api/test-controller/index.js +33 -30
- package/lib/api/test-controller/proxy.js +2 -2
- package/lib/api/test-page-url.js +4 -4
- package/lib/api/test-run-tracker.js +2 -2
- package/lib/api/wrap-test-function.js +3 -3
- package/lib/assertions/executor.js +4 -4
- package/lib/assertions/get-fn.js +3 -3
- package/lib/browser/connection/gateway.js +18 -18
- package/lib/browser/connection/get-hints.js +8 -8
- package/lib/browser/connection/index.js +11 -11
- package/lib/browser/connection/remotes-queue.js +4 -4
- package/lib/browser/provider/built-in/dedicated/base.js +6 -6
- package/lib/browser/provider/built-in/dedicated/chrome/cdp-client/index.js +10 -10
- package/lib/browser/provider/built-in/dedicated/chrome/config.js +17 -17
- package/lib/browser/provider/built-in/dedicated/chrome/create-temp-profile.js +4 -4
- package/lib/browser/provider/built-in/dedicated/chrome/index.js +6 -6
- package/lib/browser/provider/built-in/dedicated/chrome/local-chrome.js +6 -6
- package/lib/browser/provider/built-in/dedicated/chrome/runtime-info.js +4 -4
- package/lib/browser/provider/built-in/dedicated/edge/runtime-info.js +2 -2
- package/lib/browser/provider/built-in/dedicated/firefox/config.js +8 -8
- package/lib/browser/provider/built-in/dedicated/firefox/create-temp-profile.js +3 -3
- package/lib/browser/provider/built-in/dedicated/firefox/index.js +5 -5
- package/lib/browser/provider/built-in/dedicated/firefox/local-firefox.js +2 -2
- package/lib/browser/provider/built-in/dedicated/firefox/marionette-client/index.js +7 -7
- package/lib/browser/provider/built-in/dedicated/firefox/runtime-info.js +3 -3
- package/lib/browser/provider/built-in/path.js +2 -2
- package/lib/browser/provider/built-in/remote.js +3 -3
- package/lib/browser/provider/index.js +5 -5
- package/lib/browser/provider/plugin-host.js +5 -6
- package/lib/browser/provider/pool.js +4 -4
- package/lib/browser/provider/utils/argument-parsing.js +3 -3
- package/lib/browser/provider/utils/browser-starter.js +2 -2
- package/lib/cli/argument-parser/index.js +52 -41
- package/lib/cli/argument-parser/parse-utils.js +2 -2
- package/lib/cli/authentication-helper.js +3 -3
- package/lib/cli/cli.js +8 -8
- package/lib/cli/correct-browsers-and-sources.js +2 -2
- package/lib/cli/index.js +2 -2
- package/lib/cli/log.js +3 -3
- package/lib/cli/remotes-wizard.js +3 -3
- package/lib/client/automation/index.js +120 -34
- package/lib/client/automation/index.min.js +1 -1
- package/lib/client/browser/idle-page/index.js +321 -317
- package/lib/client/browser/service-worker.js +244 -290
- package/lib/client/core/deps/hammerhead.js +12 -4
- package/lib/client/core/index.js +145 -55
- package/lib/client/core/index.min.js +1 -1
- package/lib/client/core/utils/dom.js +33 -28
- package/lib/client/core/utils/position.js +18 -14
- package/lib/client/core/utils/style.js +8 -4
- package/lib/client/driver/command-executors/client-functions/selector-executor/filter.js +5 -5
- package/lib/client/driver/command-executors/client-functions/selector-executor/utils.js +3 -3
- package/lib/client/driver/deps/hammerhead.js +12 -4
- package/lib/client/driver/deps/testcafe-core.js +12 -4
- package/lib/client/driver/deps/testcafe-ui.js +12 -4
- package/lib/client/driver/index.js +654 -630
- package/lib/client/driver/index.min.js +1 -1
- package/lib/client/driver/status.js +2 -2
- package/lib/client/ui/index.js +10 -8
- package/lib/client/ui/index.min.js +1 -1
- package/lib/client-functions/builder-symbol.js +1 -2
- package/lib/client-functions/client-function-builder.js +12 -12
- package/lib/client-functions/replicator.js +2 -2
- package/lib/client-functions/selector-api-execution-mode.js +2 -2
- package/lib/client-functions/selectors/add-api.js +48 -48
- package/lib/client-functions/selectors/selector-builder.js +17 -17
- package/lib/compiler/compile-client-function.js +6 -6
- package/lib/compiler/index.js +9 -9
- package/lib/compiler/test-file/api-based.js +8 -8
- package/lib/compiler/test-file/base.js +6 -6
- package/lib/compiler/test-file/exportble-lib-path.js +2 -2
- package/lib/compiler/test-file/formats/coffeescript/compiler.js +2 -2
- package/lib/compiler/test-file/formats/coffeescript/get-test-list.js +2 -2
- package/lib/compiler/test-file/formats/es-next/compiler.js +4 -4
- package/lib/compiler/test-file/formats/es-next/get-test-list.js +4 -4
- package/lib/compiler/test-file/formats/raw.js +2 -2
- package/lib/compiler/test-file/formats/typescript/compiler.js +11 -11
- package/lib/compiler/test-file/formats/typescript/get-test-list.js +3 -3
- package/lib/compiler/test-file/test-file-parser-base.js +3 -3
- package/lib/configuration/configuration-base.js +15 -15
- package/lib/configuration/interfaces.js +1 -1
- package/lib/configuration/skip-js-errors-option-names.js +11 -0
- package/lib/configuration/testcafe-configuration.js +21 -16
- package/lib/configuration/types.js +1 -1
- package/lib/configuration/typescript-configuration.js +4 -4
- package/lib/custom-client-scripts/assert-type.js +2 -2
- package/lib/custom-client-scripts/client-script.js +6 -6
- package/lib/custom-client-scripts/get-code.js +2 -2
- package/lib/custom-client-scripts/routing.js +3 -3
- package/lib/custom-client-scripts/utils.js +3 -3
- package/lib/dashboard/connector.js +4 -4
- package/lib/dashboard/get-default-project-link.js +2 -2
- package/lib/dashboard/index.js +26 -26
- package/lib/errors/create-stack-filter.js +2 -2
- package/lib/errors/error-list.js +2 -2
- package/lib/errors/get-callsite.js +2 -2
- package/lib/errors/is-internal-stack-frame.js +5 -5
- package/lib/errors/process-test-fn-error.js +2 -2
- package/lib/errors/runtime/index.js +10 -10
- package/lib/errors/runtime/templates.js +5 -2
- package/lib/errors/runtime/type-assertions.js +6 -6
- package/lib/errors/stack-cleaning-hook.js +2 -2
- package/lib/errors/test-run/formattable-adapter.js +7 -7
- package/lib/errors/test-run/index.js +25 -5
- package/lib/errors/test-run/render-error-template/index.js +6 -6
- package/lib/errors/test-run/render-error-template/utils.js +2 -2
- package/lib/errors/test-run/templates.js +40 -31
- package/lib/errors/test-run/utils.js +7 -7
- package/lib/errors/types.js +5 -1
- package/lib/index.js +1 -1
- package/lib/live/file-watcher/index.js +2 -2
- package/lib/live/keyboard-observer.js +3 -3
- package/lib/live/test-run-controller.js +3 -3
- package/lib/live/test-run.js +3 -2
- package/lib/live/test-runner.js +2 -2
- package/lib/load-assets.js +2 -2
- package/lib/notifications/add-rendered-warning.js +4 -4
- package/lib/notifications/debug-logger.js +6 -6
- package/lib/notifications/deprecated.js +2 -2
- package/lib/notifications/information-message.js +4 -3
- package/lib/proxyless/resource-injector.js +4 -4
- package/lib/reporter/command/command-formatter.js +4 -4
- package/lib/reporter/index.js +10 -10
- package/lib/reporter/plugin-host.js +7 -7
- package/lib/role/index.js +8 -8
- package/lib/role/role.js +2 -2
- package/lib/runner/bootstrapper.js +20 -20
- package/lib/runner/browser-job.js +3 -3
- package/lib/runner/browser-set.js +12 -12
- package/lib/runner/fixture-hook-controller.js +5 -5
- package/lib/runner/index.js +43 -33
- package/lib/runner/task/index.js +10 -6
- package/lib/runner/test-run-hook-controller.js +5 -5
- package/lib/runner/tested-app.js +7 -7
- package/lib/screenshots/capturer.js +17 -17
- package/lib/screenshots/crop.js +8 -8
- package/lib/screenshots/index.js +6 -10
- package/lib/screenshots/utils.js +4 -4
- package/lib/services/compiler/host.js +8 -8
- package/lib/services/compiler/service.js +13 -13
- package/lib/services/compiler/test-run-proxy.js +8 -8
- package/lib/services/serialization/replicator/transforms/callsite-record-transform.js +2 -2
- package/lib/services/serialization/replicator/transforms/command-base-trasform/command-constructors.js +2 -1
- package/lib/services/serialization/replicator/transforms/command-base-trasform/index.js +3 -3
- package/lib/services/serialization/replicator/transforms/raw-command-callsite-record-transform.js +2 -2
- package/lib/services/serialization/test-structure.js +4 -4
- package/lib/services/utils/ipc/interfaces.js +1 -3
- package/lib/services/utils/ipc/io.js +3 -3
- package/lib/services/utils/ipc/message.js +2 -2
- package/lib/services/utils/ipc/proxy.js +4 -4
- package/lib/services/utils/ipc/transport.js +2 -2
- package/lib/shared/errors/index.js +9 -2
- package/lib/shared/errors/selector-error-ctor-callback.js +7 -3
- package/lib/test-run/bookmark.js +1 -1
- package/lib/test-run/browser-manipulation-queue.js +3 -3
- package/lib/test-run/commands/actions.js +66 -46
- package/lib/test-run/commands/assertion.js +3 -3
- package/lib/test-run/commands/base.js +2 -2
- package/lib/test-run/commands/browser-manipulation.js +8 -8
- package/lib/test-run/commands/observation.js +4 -4
- package/lib/test-run/commands/options.js +27 -12
- package/lib/test-run/commands/type.js +2 -1
- package/lib/test-run/commands/utils.js +3 -2
- package/lib/test-run/commands/validations/argument.js +19 -10
- package/lib/test-run/commands/validations/factories.js +10 -2
- package/lib/test-run/commands/validations/initializers.js +4 -4
- package/lib/test-run/debug-log.js +4 -4
- package/lib/test-run/execute-js-expression/index.js +4 -4
- package/lib/test-run/index.js +48 -41
- package/lib/test-run/request/create-request-options.js +9 -9
- package/lib/test-run/request/process-response-data.js +2 -2
- package/lib/test-run/request/send.js +5 -5
- package/lib/testcafe.js +8 -4
- package/lib/utils/check-file-path.js +2 -2
- package/lib/utils/check-url.js +2 -2
- package/lib/utils/correct-file-path.js +4 -4
- package/lib/utils/delegated-api.js +1 -1
- package/lib/utils/detect-ffmpeg.js +3 -3
- package/lib/utils/diff/colors.js +2 -2
- package/lib/utils/diff/index.js +11 -7
- package/lib/utils/diff/util.js +5 -5
- package/lib/utils/diff.js +4 -4
- package/lib/utils/escape-user-agent.js +2 -2
- package/lib/utils/execute-fn-with-timeout.js +2 -2
- package/lib/utils/get-browser.js +2 -2
- package/lib/utils/get-filter-fn.js +4 -4
- package/lib/utils/get-options/base.js +2 -2
- package/lib/utils/get-options/compiler.js +2 -2
- package/lib/utils/get-options/dashboard.js +2 -2
- package/lib/utils/get-options/get-assertion-timeout.js +1 -1
- package/lib/utils/get-options/index.js +4 -2
- package/lib/utils/get-options/meta.js +2 -2
- package/lib/utils/get-options/quarantine.js +8 -6
- package/lib/utils/get-options/screenshot.js +2 -2
- package/lib/utils/get-options/skip-js-errors.js +35 -0
- package/lib/utils/get-options/ssl.js +6 -6
- package/lib/utils/get-options/video.js +2 -2
- package/lib/utils/is-password-input.js +1 -1
- package/lib/utils/log-entry.js +2 -2
- package/lib/utils/make-reg-exp.js +19 -6
- package/lib/utils/moment-loader.js +2 -2
- package/lib/utils/parse-file-list.js +7 -7
- package/lib/utils/path-pattern.js +4 -4
- package/lib/utils/prepare-reporters.js +2 -2
- package/lib/utils/prerender-callsite.js +6 -6
- package/lib/utils/process.js +7 -7
- package/lib/utils/promisified-functions.js +14 -14
- package/lib/utils/raw-command-callsite-record.js +2 -2
- package/lib/utils/resolve-path-relatively-cwd.js +2 -2
- package/lib/utils/string.js +3 -3
- package/lib/utils/temp-directory/cleanup-process/index.js +6 -6
- package/lib/utils/temp-directory/cleanup-process/worker.js +4 -4
- package/lib/utils/temp-directory/index.js +6 -6
- package/lib/utils/temp-directory/lockfile.js +2 -2
- package/lib/video-recorder/process.js +6 -6
- package/lib/video-recorder/recorder.js +9 -9
- package/lib/video-recorder/test-run-video-recorder.js +2 -2
- package/package.json +8 -7
- package/ts-defs/index.d.ts +46 -7
- package/ts-defs/selectors.d.ts +39 -0
- package/ts-defs/testcafe-scripts.d.ts +39 -0
package/lib/test-run/bookmark.js
CHANGED
|
@@ -130,4 +130,4 @@ class TestRunBookmark {
|
|
|
130
130
|
}
|
|
131
131
|
exports.default = TestRunBookmark;
|
|
132
132
|
module.exports = exports.default;
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC1ydW4vYm9va21hcmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4REFBK0M7QUFDL0MsMkNBQWtEO0FBQ2xELDZEQUF3RTtBQUV4RSxnREFNNEI7QUFFNUIsaURBQStGO0FBSS9GLG9FQUFzRTtBQUt0RSxNQUFxQixlQUFlO0lBWWhDLFlBQW9CLE9BQWdCLEVBQUUsSUFBVTtRQUM1QyxJQUFJLENBQUMsT0FBTyxHQUFXLE9BQU8sQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxHQUFjLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsR0FBRyxHQUFlLHdDQUFrQixDQUFDO1FBQzFDLElBQUksQ0FBQyxHQUFHLEdBQWUsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQVEsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUssSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxjQUFjLEdBQUksSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQWEsb0NBQW1CLENBQUM7UUFDM0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO1FBQ3hELElBQUksQ0FBQyxjQUFjLEdBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQztRQUN6RCxJQUFJLENBQUMsS0FBSyxHQUFhLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzFDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7UUFDcEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQXlDLENBQUM7SUFDbEYs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QUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNKO0FBNUpELGtDQTRKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBURVNUX1JVTl9QSEFTRSBmcm9tICcuLi90ZXN0LXJ1bi9waGFzZSc7XG5pbXBvcnQgeyBURVNUX1JVTl9FUlJPUlMgfSBmcm9tICcuLi9lcnJvcnMvdHlwZXMnO1xuaW1wb3J0IHsgU1BFQ0lBTF9CTEFOS19QQUdFLCBTdGF0ZVNuYXBzaG90IH0gZnJvbSAndGVzdGNhZmUtaGFtbWVyaGVhZCc7XG5cbmltcG9ydCB7XG4gICAgU3dpdGNoVG9NYWluV2luZG93Q29tbWFuZCxcbiAgICBTd2l0Y2hUb0lmcmFtZUNvbW1hbmQsXG4gICAgU2V0TmF0aXZlRGlhbG9nSGFuZGxlckNvbW1hbmQsXG4gICAgU2V0VGVzdFNwZWVkQ29tbWFuZCxcbiAgICBTZXRQYWdlTG9hZFRpbWVvdXRDb21tYW5kLFxufSBmcm9tICcuL2NvbW1hbmRzL2FjdGlvbnMnO1xuXG5pbXBvcnQgeyBDdXJyZW50SWZyYW1lTm90Rm91bmRFcnJvciwgQ3VycmVudElmcmFtZUlzTm90TG9hZGVkRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMvdGVzdC1ydW4nO1xuaW1wb3J0IFRlc3RSdW4gZnJvbSAnLi9pbmRleCc7XG5pbXBvcnQgeyBFeGVjdXRlQ2xpZW50RnVuY3Rpb25Db21tYW5kLCBFeGVjdXRlU2VsZWN0b3JDb21tYW5kIH0gZnJvbSAnLi9jb21tYW5kcy9vYnNlcnZhdGlvbic7XG5pbXBvcnQgUm9sZSwgeyBSZWRpcmVjdFVybCB9IGZyb20gJy4uL3JvbGUvcm9sZSc7XG5pbXBvcnQgeyBERUZBVUxUX1NQRUVEX1ZBTFVFIH0gZnJvbSAnLi4vY29uZmlndXJhdGlvbi9kZWZhdWx0LXZhbHVlcyc7XG5pbXBvcnQgQnJvd3NlckNvbnNvbGVNZXNzYWdlcyBmcm9tICcuL2Jyb3dzZXItY29uc29sZS1tZXNzYWdlcyc7XG5pbXBvcnQgeyBDb21tYW5kQmFzZSB9IGZyb20gJy4vY29tbWFuZHMvYmFzZSc7XG5pbXBvcnQgeyBDYWxsc2l0ZVJlY29yZCB9IGZyb20gJ2NhbGxzaXRlLXJlY29yZCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRlc3RSdW5Cb29rbWFyayB7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXN0UnVuOiBUZXN0UnVuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm9sZTogUm9sZTtcbiAgICBwcml2YXRlIHVybDogc3RyaW5nO1xuICAgIHByaXZhdGUgY3R4OiBvYmplY3QgfCBudWxsO1xuICAgIHByaXZhdGUgZml4dHVyZUN0eDogb2JqZWN0IHwgbnVsbDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ0hhbmRsZXI6IEV4ZWN1dGVDbGllbnRGdW5jdGlvbkNvbW1hbmQgfCBudWxsO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaWZyYW1lU2VsZWN0b3I6IEV4ZWN1dGVTZWxlY3RvckNvbW1hbmQgfCBudWxsO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3BlZWQ6IG51bWJlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2VMb2FkVGltZW91dDogbnVtYmVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uc29sZU1lc3NhZ2VzOiBCcm93c2VyQ29uc29sZU1lc3NhZ2VzIHwgbnVsbDtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvciAodGVzdFJ1bjogVGVzdFJ1biwgcm9sZTogUm9sZSkge1xuICAgICAgICB0aGlzLnRlc3RSdW4gICAgICAgICA9IHRlc3RSdW47XG4gICAgICAgIHRoaXMucm9sZSAgICAgICAgICAgID0gcm9sZTtcbiAgICAgICAgdGhpcy51cmwgICAgICAgICAgICAgPSBTUEVDSUFMX0JMQU5LX1BBR0U7XG4gICAgICAgIHRoaXMuY3R4ICAgICAgICAgICAgID0gbnVsbDtcbiAgICAgICAgdGhpcy5maXh0dXJlQ3R4ICAgICAgPSBudWxsO1xuICAgICAgICB0aGlzLmRpYWxvZ0hhbmRsZXIgICA9IG51bGw7XG4gICAgICAgIHRoaXMuaWZyYW1lU2VsZWN0b3IgID0gbnVsbDtcbiAgICAgICAgdGhpcy5zcGVlZCAgICAgICAgICAgPSBERUZBVUxUX1NQRUVEX1ZBTFVFO1xuICAgICAgICB0aGlzLnBhZ2VMb2FkVGltZW91dCA9IDA7XG4gICAgICAgIHRoaXMuY29uc29sZU1lc3NhZ2VzID0gbnVsbDtcbiAgICAgICAgdGhpcy5kaWFsb2dIYW5kbGVyICAgPSB0aGlzLnRlc3RSdW4uYWN0aXZlRGlhbG9nSGFuZGxlcjtcbiAgICAgICAgdGhpcy5pZnJhbWVTZWxlY3RvciAgPSB0aGlzLnRlc3RSdW4uYWN0aXZlSWZyYW1lU2VsZWN0b3I7XG4gICAgICAgIHRoaXMuc3BlZWQgICAgICAgICAgID0gdGhpcy50ZXN0UnVuLnNwZWVkO1xuICAgICAgICB0aGlzLnBhZ2VMb2FkVGltZW91dCA9IHRoaXMudGVzdFJ1bi5wYWdlTG9hZFRpbWVvdXQ7XG4gICAgICAgIHRoaXMuY29uc29sZU1lc3NhZ2VzID0gdGhpcy50ZXN0UnVuLmNvbnNvbGVNZXNzYWdlcyBhcyBCcm93c2VyQ29uc29sZU1lc3NhZ2VzO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX2luaXRDdHhzICgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMudGVzdFJ1bi5jb21waWxlclNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuY3R4ICAgICAgICA9IGF3YWl0IHRoaXMudGVzdFJ1bi5jb21waWxlclNlcnZpY2UuZ2V0Q3R4KHsgdGVzdFJ1bklkOiB0aGlzLnRlc3RSdW4uaWQgfSk7XG4gICAgICAgICAgICB0aGlzLmZpeHR1cmVDdHggPSBhd2FpdCB0aGlzLnRlc3RSdW4uY29tcGlsZXJTZXJ2aWNlLmdldEZpeHR1cmVDdHgoeyB0ZXN0UnVuSWQ6IHRoaXMudGVzdFJ1bi5pZCB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY3R4ICAgICAgICA9IHRoaXMudGVzdFJ1bi5jdHg7XG4gICAgICAgICAgICB0aGlzLmZpeHR1cmVDdHggPSB0aGlzLnRlc3RSdW4uZml4dHVyZUN0eCBhcyBvYmplY3Q7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF9yZXN0b3JlQ3R4cyAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLnRlc3RSdW4uY29tcGlsZXJTZXJ2aWNlKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRlc3RSdW4uY29tcGlsZXJTZXJ2aWNlLnNldEN0eCh7XG4gICAgICAgICAgICAgICAgdGVzdFJ1bklkOiB0aGlzLnRlc3RSdW4uaWQsXG4gICAgICAgICAgICAgICAgdmFsdWU6ICAgICB0aGlzLmN0eCBhcyBvYmplY3QsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMudGVzdFJ1bi5jb21waWxlclNlcnZpY2Uuc2V0Rml4dHVyZUN0eCh7XG4gICAgICAgICAgICAgICAgdGVzdFJ1bklkOiB0aGlzLnRlc3RSdW4uaWQsXG4gICAgICAgICAgICAgICAgdmFsdWU6ICAgICB0aGlzLmZpeHR1cmVDdHggYXMgb2JqZWN0LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRlc3RSdW4uY3R4ICAgICAgICA9IHRoaXMuY3R4IGFzIG9iamVjdDtcbiAgICAgICAgICAgIHRoaXMudGVzdFJ1bi5maXh0dXJlQ3R4ID0gdGhpcy5maXh0dXJlQ3R4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGluaXQgKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLl9pbml0Q3R4cygpO1xuXG4gICAgICAgIGlmICh0aGlzLnRlc3RSdW4uYWN0aXZlSWZyYW1lU2VsZWN0b3IpXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRlc3RSdW4uZXhlY3V0ZUNvbW1hbmQobmV3IFN3aXRjaFRvTWFpbldpbmRvd0NvbW1hbmQoKSBhcyBDb21tYW5kQmFzZSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLnJvbGUub3B0cy5wcmVzZXJ2ZVVybClcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucm9sZS5zZXRDdXJyZW50VXJsQXNSZWRpcmVjdFVybCh0aGlzLnRlc3RSdW4pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX3Jlc3RvcmVEaWFsb2dIYW5kbGVyICgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMudGVzdFJ1bi5hY3RpdmVEaWFsb2dIYW5kbGVyICE9PSB0aGlzLmRpYWxvZ0hhbmRsZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3RvcmVEaWFsb2dDb21tYW5kID0gbmV3IFNldE5hdGl2ZURpYWxvZ0hhbmRsZXJDb21tYW5kKHsgZGlhbG9nSGFuZGxlcjogeyBmbjogdGhpcy5kaWFsb2dIYW5kbGVyIH0gfSk7XG5cbiAgICAgICAgICAgIGF3YWl0IHRoaXMudGVzdFJ1bi5leGVjdXRlQ29tbWFuZChyZXN0b3JlRGlhbG9nQ29tbWFuZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF9yZXN0b3JlU3BlZWQgKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAodGhpcy50ZXN0UnVuLnNwZWVkICE9PSB0aGlzLnNwZWVkKSB7XG4gICAgICAgICAgICBjb25zdCByZXN0b3JlU3BlZWRDb21tYW5kID0gbmV3IFNldFRlc3RTcGVlZENvbW1hbmQoeyBzcGVlZDogdGhpcy5zcGVlZCB9KTtcblxuICAgICAgICAgICAgYXdhaXQgdGhpcy50ZXN0UnVuLmV4ZWN1dGVDb21tYW5kKHJlc3RvcmVTcGVlZENvbW1hbmQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfcmVzdG9yZVBhZ2VMb2FkVGltZW91dCAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLnRlc3RSdW4ucGFnZUxvYWRUaW1lb3V0ICE9PSB0aGlzLnBhZ2VMb2FkVGltZW91dCkge1xuICAgICAgICAgICAgY29uc3QgcmVzdG9yZVBhZ2VMb2FkVGltZW91dENvbW1hbmQgPSBuZXcgU2V0UGFnZUxvYWRUaW1lb3V0Q29tbWFuZCh7IGR1cmF0aW9uOiB0aGlzLnBhZ2VMb2FkVGltZW91dCB9KTtcblxuICAgICAgICAgICAgYXdhaXQgdGhpcy50ZXN0UnVuLmV4ZWN1dGVDb21tYW5kKHJlc3RvcmVQYWdlTG9hZFRpbWVvdXRDb21tYW5kKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX3Jlc3RvcmVXb3JraW5nRnJhbWUgKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAodGhpcy50ZXN0UnVuLmFjdGl2ZUlmcmFtZVNlbGVjdG9yICE9PSB0aGlzLmlmcmFtZVNlbGVjdG9yKSB7XG4gICAgICAgICAgICBjb25zdCBzd2l0Y2hXb3JraW5nRnJhbWVDb21tYW5kID0gdGhpcy5pZnJhbWVTZWxlY3RvciA/XG4gICAgICAgICAgICAgICAgbmV3IFN3aXRjaFRvSWZyYW1lQ29tbWFuZCh7IHNlbGVjdG9yOiB0aGlzLmlmcmFtZVNlbGVjdG9yIH0pIDpcbiAgICAgICAgICAgICAgICBuZXcgU3dpdGNoVG9NYWluV2luZG93Q29tbWFuZCgpO1xuXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMudGVzdFJ1bi5leGVjdXRlQ29tbWFuZChzd2l0Y2hXb3JraW5nRnJhbWVDb21tYW5kIGFzIENvbW1hbmRCYXNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyLmNvZGUgPT09IFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25FbGVtZW50Tm90Rm91bmRFcnJvcilcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEN1cnJlbnRJZnJhbWVOb3RGb3VuZEVycm9yKCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoZXJyLmNvZGUgPT09IFRFU1RfUlVOX0VSUk9SUy5hY3Rpb25JZnJhbWVJc05vdExvYWRlZEVycm9yKVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQ3VycmVudElmcmFtZUlzTm90TG9hZGVkRXJyb3IoKTtcblxuICAgICAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX3Jlc3RvcmVQYWdlICh1cmw6IHN0cmluZywgc3RhdGVTbmFwc2hvdDogU3RhdGVTbmFwc2hvdCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLnRlc3RSdW4ubmF2aWdhdGVUb1VybCh1cmwsIHRydWUsIEpTT04uc3RyaW5naWZ5KHN0YXRlU25hcHNob3QpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRDb25zb2xlTWVzc2FnZXMgKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRlc3RSdW4uY29uc29sZU1lc3NhZ2VzID0gdGhpcy5jb25zb2xlTWVzc2FnZXMgYXMgQnJvd3NlckNvbnNvbGVNZXNzYWdlcztcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRQaGFzZSAodmFsdWU6IFRFU1RfUlVOX1BIQVNFKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGVzdFJ1bi5waGFzZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyByZXN0b3JlIChjYWxsc2l0ZTogQ2FsbHNpdGVSZWNvcmQsIHN0YXRlU25hcHNob3Q6IFN0YXRlU25hcHNob3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgcHJldlBoYXNlID0gYXdhaXQgdGhpcy50ZXN0UnVuLnBoYXNlO1xuXG4gICAgICAgIHRoaXMuX3NldFBoYXNlKFRFU1RfUlVOX1BIQVNFLmluQm9va21hcmtSZXN0b3JlKTtcbiAgICAgICAgYXdhaXQgdGhpcy5fcmVzdG9yZUN0eHMoKTtcbiAgICAgICAgdGhpcy5fc2V0Q29uc29sZU1lc3NhZ2VzKCk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX3Jlc3RvcmVTcGVlZCgpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5fcmVzdG9yZVBhZ2VMb2FkVGltZW91dCgpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5fcmVzdG9yZURpYWxvZ0hhbmRsZXIoKTtcblxuICAgICAgICAgICAgY29uc3QgcHJlc2VydmVVcmwgPSB0aGlzLnJvbGUub3B0cy5wcmVzZXJ2ZVVybDtcblxuICAgICAgICAgICAgY29uc3QgcmVkaXJlY3RVcmwgPSBwcmVzZXJ2ZVVybFxuICAgICAgICAgICAgICAgID8gdGhpcy5yb2xlLnJlZGlyZWN0VXJsIGFzIHN0cmluZ1xuICAgICAgICAgICAgICAgIDogKHRoaXMucm9sZS5yZWRpcmVjdFVybCBhcyBSZWRpcmVjdFVybClbdGhpcy50ZXN0UnVuLnRlc3QuaWRdO1xuXG4gICAgICAgICAgICBhd2FpdCB0aGlzLl9yZXN0b3JlUGFnZShyZWRpcmVjdFVybCwgc3RhdGVTbmFwc2hvdCk7XG5cbiAgICAgICAgICAgIGlmICghcHJlc2VydmVVcmwpXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fcmVzdG9yZVdvcmtpbmdGcmFtZSgpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGVyci5jYWxsc2l0ZSA9IGNhbGxzaXRlO1xuXG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zZXRQaGFzZShwcmV2UGhhc2UpO1xuICAgIH1cbn1cbiJdfQ==
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC1ydW4vYm9va21hcmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4REFBK0M7QUFDL0MsMkNBQWtEO0FBQ2xELDZEQUF3RTtBQUV4RSxnREFNNEI7QUFFNUIsaURBQStGO0FBSS9GLG9FQUFzRTtBQUt0RSxNQUFxQixlQUFlO0lBWWhDLFlBQW9CLE9BQWdCLEVBQUUsSUFBVTtRQUM1QyxJQUFJLENBQUMsT0FBTyxHQUFXLE9BQU8sQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxHQUFjLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsR0FBRyxHQUFlLHdDQUFrQixDQUFDO1FBQzFDLElBQUksQ0FBQyxHQUFHLEdBQWUsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQVEsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUssSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxjQUFjLEdBQUksSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQWEsb0NBQW1CLENBQUM7UUFDM0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO1FBQ3hELElBQUksQ0FBQyxjQUFjLEdBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQztRQUN6RCxJQUFJLENBQUMsS0FBSyxHQUFhLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzFDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7UUFDcEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQXlDLENBQUM7SUFDbEYsQ0FBQztJQUVPLEtBQUssQ0FBQyxTQUFTO1FBQ25CLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUU7WUFDOUIsSUFBSSxDQUFDLEdBQUcsR0FBVSxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDNUYsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDdEc7YUFDSTtZQUNELElBQUksQ0FBQyxHQUFHLEdBQVUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQW9CLENBQUM7U0FDdkQ7SUFDTCxDQUFDO0lBRU8sS0FBSyxDQUFDLFlBQVk7UUFDdEIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRTtZQUM5QixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztnQkFDdEMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDMUIsS0FBSyxFQUFNLElBQUksQ0FBQyxHQUFhO2FBQ2hDLENBQUMsQ0FBQztZQUNILE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDO2dCQUM3QyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUMxQixLQUFLLEVBQU0sSUFBSSxDQUFDLFVBQW9CO2FBQ3ZDLENBQUMsQ0FBQztTQUNOO2FBQ0k7WUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBVSxJQUFJLENBQUMsR0FBYSxDQUFDO1lBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDN0M7SUFDTCxDQUFDO0lBRU0sS0FBSyxDQUFDLElBQUk7UUFDYixNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUV2QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CO1lBQ2pDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxtQ0FBeUIsRUFBaUIsQ0FBQyxDQUFDO1FBRXRGLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXO1lBQzNCLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVPLEtBQUssQ0FBQyxxQkFBcUI7UUFDL0IsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDekQsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLHVDQUE2QixDQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFFOUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQzNEO0lBQ0wsQ0FBQztJQUVPLEtBQUssQ0FBQyxhQUFhO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNuQyxNQUFNLG1CQUFtQixHQUFHLElBQUksNkJBQW1CLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7WUFFM0UsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQzFEO0lBQ0wsQ0FBQztJQUVPLEtBQUssQ0FBQyx1QkFBdUI7UUFDakMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsS0FBSyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3ZELE1BQU0sNkJBQTZCLEdBQUcsSUFBSSxtQ0FBeUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztZQUV4RyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLDZCQUE2QixDQUFDLENBQUM7U0FDcEU7SUFDTCxDQUFDO0lBRU8sS0FBSyxDQUFDLG9CQUFvQjtRQUM5QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEtBQUssSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUMzRCxNQUFNLHlCQUF5QixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDbkQsSUFBSSwrQkFBcUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM5RCxJQUFJLG1DQUF5QixFQUFFLENBQUM7WUFFcEMsSUFBSTtnQkFDQSxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLHlCQUF3QyxDQUFDLENBQUM7YUFDL0U7WUFDRCxPQUFPLEdBQVEsRUFBRTtnQkFDYixJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssdUJBQWUsQ0FBQywwQkFBMEI7b0JBQ3ZELE1BQU0sSUFBSSxxQ0FBMEIsRUFBRSxDQUFDO2dCQUUzQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssdUJBQWUsQ0FBQyw0QkFBNEI7b0JBQ3pELE1BQU0sSUFBSSx3Q0FBNkIsRUFBRSxDQUFDO2dCQUU5QyxNQUFNLEdBQUcsQ0FBQzthQUNiO1NBQ0o7SUFDTCxDQUFDO0lBRU8sS0FBSyxDQUFDLFlBQVksQ0FBRSxHQUFXLEVBQUUsYUFBNEI7UUFDakUsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRU8sbUJBQW1CO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUF5QyxDQUFDO0lBQ2xGLENBQUM7SUFFTyxTQUFTLENBQUUsS0FBcUI7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTyxDQUFFLFFBQXdCLEVBQUUsYUFBNEI7UUFDeEUsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUUzQyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBRTNCLElBQUk7WUFDQSxNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFFbkMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBRS9DLE1BQU0sV0FBVyxHQUFHLFdBQVc7Z0JBQzNCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQXFCO2dCQUNqQyxDQUFDLENBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUEyQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRW5FLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFFcEQsSUFBSSxDQUFDLFdBQVc7Z0JBQ1osTUFBTSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztTQUN6QztRQUNELE9BQU8sR0FBUSxFQUFFO1lBQ2IsR0FBRyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFFeEIsTUFBTSxHQUFHLENBQUM7U0FDYjtRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNKO0FBNUpELGtDQTRKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBURVNUX1JVTl9QSEFTRSBmcm9tICcuLi90ZXN0LXJ1bi9waGFzZSc7XG5pbXBvcnQgeyBURVNUX1JVTl9FUlJPUlMgfSBmcm9tICcuLi9lcnJvcnMvdHlwZXMnO1xuaW1wb3J0IHsgU1BFQ0lBTF9CTEFOS19QQUdFLCBTdGF0ZVNuYXBzaG90IH0gZnJvbSAndGVzdGNhZmUtaGFtbWVyaGVhZCc7XG5cbmltcG9ydCB7XG4gICAgU3dpdGNoVG9NYWluV2luZG93Q29tbWFuZCxcbiAgICBTd2l0Y2hUb0lmcmFtZUNvbW1hbmQsXG4gICAgU2V0TmF0aXZlRGlhbG9nSGFuZGxlckNvbW1hbmQsXG4gICAgU2V0VGVzdFNwZWVkQ29tbWFuZCxcbiAgICBTZXRQYWdlTG9hZFRpbWVvdXRDb21tYW5kLFxufSBmcm9tICcuL2NvbW1hbmRzL2FjdGlvbnMnO1xuXG5pbXBvcnQgeyBDdXJyZW50SWZyYW1lTm90Rm91bmRFcnJvciwgQ3VycmVudElmcmFtZUlzTm90TG9hZGVkRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMvdGVzdC1ydW4nO1xuaW1wb3J0IFRlc3RSdW4gZnJvbSAnLi9pbmRleCc7XG5pbXBvcnQgeyBFeGVjdXRlQ2xpZW50RnVuY3Rpb25Db21tYW5kLCBFeGVjdXRlU2VsZWN0b3JDb21tYW5kIH0gZnJvbSAnLi9jb21tYW5kcy9vYnNlcnZhdGlvbic7XG5pbXBvcnQgUm9sZSwgeyBSZWRpcmVjdFVybCB9IGZyb20gJy4uL3JvbGUvcm9sZSc7XG5pbXBvcnQgeyBERUZBVUxUX1NQRUVEX1ZBTFVFIH0gZnJvbSAnLi4vY29uZmlndXJhdGlvbi9kZWZhdWx0LXZhbHVlcyc7XG5pbXBvcnQgQnJvd3NlckNvbnNvbGVNZXNzYWdlcyBmcm9tICcuL2Jyb3dzZXItY29uc29sZS1tZXNzYWdlcyc7XG5pbXBvcnQgeyBDb21tYW5kQmFzZSB9IGZyb20gJy4vY29tbWFuZHMvYmFzZSc7XG5pbXBvcnQgeyBDYWxsc2l0ZVJlY29yZCB9IGZyb20gJ2NhbGxzaXRlLXJlY29yZCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRlc3RSdW5Cb29rbWFyayB7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXN0UnVuOiBUZXN0UnVuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm9sZTogUm9sZTtcbiAgICBwcml2YXRlIHVybDogc3RyaW5nO1xuICAgIHByaXZhdGUgY3R4OiBvYmplY3QgfCBudWxsO1xuICAgIHByaXZhdGUgZml4dHVyZUN0eDogb2JqZWN0IHwgbnVsbDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ0hhbmRsZXI6IEV4ZWN1dGVDbGllbnRGdW5jdGlvbkNvbW1hbmQgfCBudWxsO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaWZyYW1lU2VsZWN0b3I6IEV4ZWN1dGVTZWxlY3RvckNvbW1hbmQgfCBudWxsO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3BlZWQ6IG51bWJlcjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2VMb2FkVGltZW91dDogbnVtYmVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uc29sZU1lc3NhZ2VzOiBCcm93c2VyQ29uc29sZU1lc3NhZ2VzIHwgbnVsbDtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvciAodGVzdFJ1bjogVGVzdFJ1biwgcm9sZTogUm9sZSkge1xuICAgICAgICB0aGlzLnRlc3RSdW4gICAgICAgICA9IHRlc3RSdW47XG4gICAgICAgIHRoaXMucm9sZSAgICAgICAgICAgID0gcm9sZTtcbiAgICAgICAgdGhpcy51cmwgICAgICAgICAgICAgPSBTUEVDSUFMX0JMQU5LX1BBR0U7XG4gICAgICAgIHRoaXMuY3R4ICAgICAgICAgICAgID0gbnVsbDtcbiAgICAgICAgdGhpcy5maXh0dXJlQ3R4ICAgICAgPSBudWxsO1xuICAgICAgICB0aGlzLmRpYWxvZ0hhbmRsZXIgICA9IG51bGw7XG4gICAgICAgIHRoaXMuaWZyYW1lU2VsZWN0b3IgID0gbnVsbDtcbiAgICAgICAgdGhpcy5zcGVlZCAgICAgICAgICAgPSBERUZBVUxUX1NQRUVEX1ZBTFVFO1xuICAgICAgICB0aGlzLnBhZ2VMb2FkVGltZW91dCA9IDA7XG4gICAgICAgIHRoaXMuY29uc29sZU1lc3NhZ2VzID0gbnVsbDtcbiAgICAgICAgdGhpcy5kaWFsb2dIYW5kbGVyICAgPSB0aGlzLnRlc3RSdW4uYWN0aXZlRGlhbG9nSGFuZGxlcjtcbiAgICAgICAgdGhpcy5pZnJhbWVTZWxlY3RvciAgPSB0aGlzLnRlc3RSdW4uYWN0aXZlSWZyYW1lU2VsZWN0b3I7XG4gICAgICAgIHRoaXMuc3BlZWQgICAgICAgICAgID0gdGhpcy50ZXN0UnVuLnNwZWVkO1xuICAgICAgICB0aGlzLnBhZ2VMb2FkVGltZW91dCA9IHRoaXMudGVzdFJ1bi5wYWdlTG9hZFRpbWVvdXQ7XG4gICAgICAgIHRoaXMuY29uc29sZU1lc3NhZ2VzID0gdGhpcy50ZXN0UnVuLmNvbnNvbGVNZXNzYWdlcyBhcyBCcm93c2VyQ29uc29sZU1lc3NhZ2VzO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX2luaXRDdHhzICgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMudGVzdFJ1bi5jb21waWxlclNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuY3R4ICAgICAgICA9IGF3YWl0IHRoaXMudGVzdFJ1bi5jb21waWxlclNlcnZpY2UuZ2V0Q3R4KHsgdGVzdFJ1bklkOiB0aGlzLnRlc3RSdW4uaWQgfSk7XG4gICAgICAgICAgICB0aGlzLmZpeHR1cmVDdHggPSBhd2FpdCB0aGlzLnRlc3RSdW4uY29tcGlsZXJTZXJ2aWNlLmdldEZpeHR1cmVDdHgoeyB0ZXN0UnVuSWQ6IHRoaXMudGVzdFJ1bi5pZCB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY3R4ICAgICAgICA9IHRoaXMudGVzdFJ1bi5jdHg7XG4gICAgICAgICAgICB0aGlzLmZpeHR1cmVDdHggPSB0aGlzLnRlc3RSdW4uZml4dHVyZUN0eCBhcyBvYmplY3Q7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF9yZXN0b3JlQ3R4cyAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLnRlc3RSdW4uY29tcGlsZXJTZXJ2aWNlKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRlc3RSdW4uY29tcGlsZXJTZXJ2aWNlLnNldEN0eCh7XG4gICAgICAgICAgICAgICAgdGVzdFJ1bklkOiB0aGlzLnRlc3RSdW4uaWQsXG4gICAgICAgICAgICAgICAgdmFsdWU6ICAgICB0aGlzLmN0eCBhcyBvYmplY3QsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMudGVzdFJ1bi5jb21waWxlclNlcnZpY2Uuc2V0Rml4dHVyZUN0eCh7XG4gICAgICAgICAgICAgICAgdGVzdFJ1bklkOiB0aGlzLnRlc3RSdW4uaWQsXG4gICAgICAgICAgICAgICAgdmFsdWU6ICAgICB0aGlzLmZpeHR1cmVDdHggYXMgb2JqZWN0LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRlc3RSdW4uY3R4ICAgICAgICA9IHRoaXMuY3R4IGFzIG9iamVjdDtcbiAgICAgICAgICAgIHRoaXMudGVzdFJ1bi5maXh0dXJlQ3R4ID0gdGhpcy5maXh0dXJlQ3R4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGluaXQgKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLl9pbml0Q3R4cygpO1xuXG4gICAgICAgIGlmICh0aGlzLnRlc3RSdW4uYWN0aXZlSWZyYW1lU2VsZWN0b3IpXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnRlc3RSdW4uZXhlY3V0ZUNvbW1hbmQobmV3IFN3aXRjaFRvTWFpbldpbmRvd0NvbW1hbmQoKSBhcyBDb21tYW5kQmFzZSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLnJvbGUub3B0cy5wcmVzZXJ2ZVVybClcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucm9sZS5zZXRDdXJyZW50VXJsQXNSZWRpcmVjdFVybCh0aGlzLnRlc3RSdW4pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX3Jlc3RvcmVEaWFsb2dIYW5kbGVyICgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMudGVzdFJ1bi5hY3RpdmVEaWFsb2dIYW5kbGVyICE9PSB0aGlzLmRpYWxvZ0hhbmRsZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3RvcmVEaWFsb2dDb21tYW5kID0gbmV3IFNldE5hdGl2ZURpYWxvZ0hhbmRsZXJDb21tYW5kKHsgZGlhbG9nSGFuZGxlcjogeyBmbjogdGhpcy5kaWFsb2dIYW5kbGVyIH0gfSk7XG5cbiAgICAgICAgICAgIGF3YWl0IHRoaXMudGVzdFJ1bi5leGVjdXRlQ29tbWFuZChyZXN0b3JlRGlhbG9nQ29tbWFuZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF9yZXN0b3JlU3BlZWQgKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAodGhpcy50ZXN0UnVuLnNwZWVkICE9PSB0aGlzLnNwZWVkKSB7XG4gICAgICAgICAgICBjb25zdCByZXN0b3JlU3BlZWRDb21tYW5kID0gbmV3IFNldFRlc3RTcGVlZENvbW1hbmQoeyBzcGVlZDogdGhpcy5zcGVlZCB9KTtcblxuICAgICAgICAgICAgYXdhaXQgdGhpcy50ZXN0UnVuLmV4ZWN1dGVDb21tYW5kKHJlc3RvcmVTcGVlZENvbW1hbmQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfcmVzdG9yZVBhZ2VMb2FkVGltZW91dCAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLnRlc3RSdW4ucGFnZUxvYWRUaW1lb3V0ICE9PSB0aGlzLnBhZ2VMb2FkVGltZW91dCkge1xuICAgICAgICAgICAgY29uc3QgcmVzdG9yZVBhZ2VMb2FkVGltZW91dENvbW1hbmQgPSBuZXcgU2V0UGFnZUxvYWRUaW1lb3V0Q29tbWFuZCh7IGR1cmF0aW9uOiB0aGlzLnBhZ2VMb2FkVGltZW91dCB9KTtcblxuICAgICAgICAgICAgYXdhaXQgdGhpcy50ZXN0UnVuLmV4ZWN1dGVDb21tYW5kKHJlc3RvcmVQYWdlTG9hZFRpbWVvdXRDb21tYW5kKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX3Jlc3RvcmVXb3JraW5nRnJhbWUgKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAodGhpcy50ZXN0UnVuLmFjdGl2ZUlmcmFtZVNlbGVjdG9yICE9PSB0aGlzLmlmcmFtZVNlbGVjdG9yKSB7XG4gICAgICAgICAgICBjb25zdCBzd2l0Y2hXb3JraW5nRnJhbWVDb21tYW5kID0gdGhpcy5pZnJhbWVTZWxlY3RvciA/XG4gICAgICAgICAgICAgICAgbmV3IFN3aXRjaFRvSWZyYW1lQ29tbWFuZCh7IHNlbGVjdG9yOiB0aGlzLmlmcmFtZVNlbGVjdG9yIH0pIDpcbiAgICAgICAgICAgICAgICBuZXcgU3dpdGNoVG9NYWluV2luZG93Q29tbWFuZCgpO1xuXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMudGVzdFJ1bi5leGVjdXRlQ29tbWFuZChzd2l0Y2hXb3JraW5nRnJhbWVDb21tYW5kIGFzIENvbW1hbmRCYXNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnI6IGFueSkge1xuICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSA9PT0gVEVTVF9SVU5fRVJST1JTLmFjdGlvbkVsZW1lbnROb3RGb3VuZEVycm9yKVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQ3VycmVudElmcmFtZU5vdEZvdW5kRXJyb3IoKTtcblxuICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSA9PT0gVEVTVF9SVU5fRVJST1JTLmFjdGlvbklmcmFtZUlzTm90TG9hZGVkRXJyb3IpXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBDdXJyZW50SWZyYW1lSXNOb3RMb2FkZWRFcnJvcigpO1xuXG4gICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfcmVzdG9yZVBhZ2UgKHVybDogc3RyaW5nLCBzdGF0ZVNuYXBzaG90OiBTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMudGVzdFJ1bi5uYXZpZ2F0ZVRvVXJsKHVybCwgdHJ1ZSwgSlNPTi5zdHJpbmdpZnkoc3RhdGVTbmFwc2hvdCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldENvbnNvbGVNZXNzYWdlcyAoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGVzdFJ1bi5jb25zb2xlTWVzc2FnZXMgPSB0aGlzLmNvbnNvbGVNZXNzYWdlcyBhcyBCcm93c2VyQ29uc29sZU1lc3NhZ2VzO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldFBoYXNlICh2YWx1ZTogVEVTVF9SVU5fUEhBU0UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50ZXN0UnVuLnBoYXNlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHJlc3RvcmUgKGNhbGxzaXRlOiBDYWxsc2l0ZVJlY29yZCwgc3RhdGVTbmFwc2hvdDogU3RhdGVTbmFwc2hvdCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBwcmV2UGhhc2UgPSBhd2FpdCB0aGlzLnRlc3RSdW4ucGhhc2U7XG5cbiAgICAgICAgdGhpcy5fc2V0UGhhc2UoVEVTVF9SVU5fUEhBU0UuaW5Cb29rbWFya1Jlc3RvcmUpO1xuICAgICAgICBhd2FpdCB0aGlzLl9yZXN0b3JlQ3R4cygpO1xuICAgICAgICB0aGlzLl9zZXRDb25zb2xlTWVzc2FnZXMoKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5fcmVzdG9yZVNwZWVkKCk7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLl9yZXN0b3JlUGFnZUxvYWRUaW1lb3V0KCk7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLl9yZXN0b3JlRGlhbG9nSGFuZGxlcigpO1xuXG4gICAgICAgICAgICBjb25zdCBwcmVzZXJ2ZVVybCA9IHRoaXMucm9sZS5vcHRzLnByZXNlcnZlVXJsO1xuXG4gICAgICAgICAgICBjb25zdCByZWRpcmVjdFVybCA9IHByZXNlcnZlVXJsXG4gICAgICAgICAgICAgICAgPyB0aGlzLnJvbGUucmVkaXJlY3RVcmwgYXMgc3RyaW5nXG4gICAgICAgICAgICAgICAgOiAodGhpcy5yb2xlLnJlZGlyZWN0VXJsIGFzIFJlZGlyZWN0VXJsKVt0aGlzLnRlc3RSdW4udGVzdC5pZF07XG5cbiAgICAgICAgICAgIGF3YWl0IHRoaXMuX3Jlc3RvcmVQYWdlKHJlZGlyZWN0VXJsLCBzdGF0ZVNuYXBzaG90KTtcblxuICAgICAgICAgICAgaWYgKCFwcmVzZXJ2ZVVybClcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLl9yZXN0b3JlV29ya2luZ0ZyYW1lKCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycjogYW55KSB7XG4gICAgICAgICAgICBlcnIuY2FsbHNpdGUgPSBjYWxsc2l0ZTtcblxuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fc2V0UGhhc2UocHJldlBoYXNlKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -30,7 +30,7 @@ class BrowserManipulationQueue {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
async _resizeWindowToFitDevice(device, portrait, currentWidth, currentHeight) {
|
|
33
|
-
const { landscapeWidth, portraitWidth } = device_specs_1.getViewportSize(device);
|
|
33
|
+
const { landscapeWidth, portraitWidth } = (0, device_specs_1.getViewportSize)(device);
|
|
34
34
|
const width = portrait ? portraitWidth : landscapeWidth;
|
|
35
35
|
const height = portrait ? landscapeWidth : portraitWidth;
|
|
36
36
|
return await this._resizeWindow(width, height, currentWidth, currentHeight);
|
|
@@ -100,9 +100,9 @@ class BrowserManipulationQueue {
|
|
|
100
100
|
this.commands.push(command);
|
|
101
101
|
}
|
|
102
102
|
removeAllNonServiceManipulations() {
|
|
103
|
-
this.commands = this.commands.filter(command => utils_1.isServiceCommand(command));
|
|
103
|
+
this.commands = this.commands.filter(command => (0, utils_1.isServiceCommand)(command));
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
exports.default = BrowserManipulationQueue;
|
|
107
107
|
module.exports = exports.default;
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci1tYW5pcHVsYXRpb24tcXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC1ydW4vYnJvd3Nlci1tYW5pcHVsYXRpb24tcXVldWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQ0FBK0M7QUFDL0MsNENBQW9EO0FBQ3BELDJEQUEyQztBQUMzQyx1RkFBK0Q7QUFDL0Qsa0RBQW9FO0FBQ3BFLDJDQUFrRDtBQUdsRCxNQUFxQix3QkFBd0I7SUFDekMsWUFBYSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxVQUFVO1FBQzFELElBQUksQ0FBQyxRQUFRLEdBQWEsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQVksaUJBQWlCLENBQUMsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxlQUFlLEdBQU0saUJBQWlCLENBQUMsUUFBUSxDQUFDO1FBQ3JELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUM3QyxJQUFJLENBQUMsVUFBVSxHQUFXLFVBQVUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxhQUFhO1FBQzNELE1BQU0sZUFBZSxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUU5RyxJQUFJLENBQUMsZUFBZTtZQUNoQixNQUFNLElBQUksd0NBQTZCLEVBQUUsQ0FBQztRQUU5QyxJQUFJO1lBQ0EsT0FBTyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7U0FDOUc7UUFDRCxPQUFPLEdBQUcsRUFBRTtZQUNSLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLHlCQUFlLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUVyRSxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyx3QkFBd0IsQ0FBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxhQUFhO1FBQ3pFLE1BQU0sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLEdBQUcsOEJBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVsRSxNQUFNLEtBQUssR0FBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO1FBQ3pELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFFekQsT0FBTyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELEtBQUssQ0FBQyxlQUFlO1FBQ2pCLElBQUk7WUFDQSxPQUFPLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3BFO1FBQ0QsT0FBTyxHQUFHLEVBQUU7WUFDUixJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyx5QkFBZSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkUsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUFFLE9BQU87UUFDMUIsSUFBSTtZQUNBLE9BQU8sTUFBTSxPQUFPLEVBQUUsQ0FBQztTQUMxQjtRQUNELE9BQU8sR0FBRyxFQUFFO1lBQ1IsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLHVCQUFlLENBQUMsdUNBQXVDO2dCQUNwRSxNQUFNLEdBQUcsQ0FBQztZQUVkLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLHlCQUFlLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2RSxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxlQUFlLENBQUUsU0FBUztRQUM1QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXRDLFFBQVEsT0FBTyxDQUFDLElBQUksRUFBRTtZQUNsQixLQUFLLGNBQVksQ0FBQyxxQkFBcUIsQ0FBQztZQUN4QyxLQUFLLGNBQVksQ0FBQyxjQUFjO2dCQUM1QixPQUFPLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDO29CQUMxRSxRQUFRLEVBQVEsT0FBTyxDQUFDLFFBQVE7b0JBQ2hDLFVBQVUsRUFBTSxPQUFPLENBQUMsSUFBSTtvQkFDNUIsY0FBYyxFQUFFLFNBQVMsQ0FBQyxjQUFjO29CQUN4QyxjQUFjLEVBQUUsU0FBUyxDQUFDLGNBQWM7b0JBQ3hDLFFBQVEsRUFBUSxPQUFPLENBQUMsUUFBUTtvQkFDaEMsUUFBUSxFQUFRLE9BQU8sQ0FBQyxRQUFRO29CQUNoQyxVQUFVLEVBQU0sT0FBTyxDQUFDLFVBQVU7aUJBQ3JDLENBQUMsQ0FBQyxDQUFDO1lBRVIsS0FBSyxjQUFZLENBQUMsb0JBQW9CO2dCQUNsQyxPQUFPLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDO29CQUN6RSxRQUFRLEVBQVEsT0FBTyxDQUFDLFFBQVE7b0JBQ2hDLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYztvQkFDdEMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxjQUFjO29CQUN4QyxRQUFRLEVBQVEsT0FBTyxDQUFDLFFBQVE7b0JBQ2hDLFFBQVEsRUFBUSxPQUFPLENBQUMsUUFBUTtpQkFDbkMsQ0FBQyxDQUFDLENBQUM7WUFFUixLQUFLLGNBQVksQ0FBQyxZQUFZO2dCQUMxQixPQUFPLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUU5SSxLQUFLLGNBQVksQ0FBQyx1QkFBdUI7Z0JBQ3JDLE9BQU8sTUFBTSxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLFNBQVMsQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFL0ssS0FBSyxjQUFZLENBQUMsY0FBYztnQkFDNUIsT0FBTyxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUMzQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxLQUFLLENBQUMsMEJBQTBCLENBQUUsU0FBUyxFQUFFLFVBQVU7UUFDbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVqQyxNQUFNLGdDQUFnQyxHQUFHLE9BQU8sQ0FBQyxFQUFFO1lBQy9DLE9BQU8sQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQzVELENBQUMsQ0FBQztRQUVGLFVBQVUsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLEVBQUUsZ0NBQWdDLENBQUMsQ0FBQztRQUV0RSxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFckQsVUFBVSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxnQ0FBZ0MsQ0FBQyxDQUFDO1FBRXZFLE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFJLENBQUUsT0FBTztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxnQ0FBZ0M7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLHdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDL0UsQ0FBQztDQUNKO0FBdEhELDJDQXNIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldFZpZXdwb3J0U2l6ZSB9IGZyb20gJ2RldmljZS1zcGVjcyc7XG5pbXBvcnQgeyBpc1NlcnZpY2VDb21tYW5kIH0gZnJvbSAnLi9jb21tYW5kcy91dGlscyc7XG5pbXBvcnQgQ09NTUFORF9UWVBFIGZyb20gJy4vY29tbWFuZHMvdHlwZSc7XG5pbXBvcnQgV0FSTklOR19NRVNTQUdFIGZyb20gJy4uL25vdGlmaWNhdGlvbnMvd2FybmluZy1tZXNzYWdlJztcbmltcG9ydCB7IFdpbmRvd0RpbWVuc2lvbnNPdmVyZmxvd0Vycm9yIH0gZnJvbSAnLi4vZXJyb3JzL3Rlc3QtcnVuLyc7XG5pbXBvcnQgeyBURVNUX1JVTl9FUlJPUlMgfSBmcm9tICcuLi9lcnJvcnMvdHlwZXMnO1xuXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJyb3dzZXJNYW5pcHVsYXRpb25RdWV1ZSB7XG4gICAgY29uc3RydWN0b3IgKGJyb3dzZXJDb25uZWN0aW9uLCBzY3JlZW5zaG90Q2FwdHVyZXIsIHdhcm5pbmdMb2cpIHtcbiAgICAgICAgdGhpcy5jb21tYW5kcyAgICAgICAgICAgPSBbXTtcbiAgICAgICAgdGhpcy5icm93c2VySWQgICAgICAgICAgPSBicm93c2VyQ29ubmVjdGlvbi5pZDtcbiAgICAgICAgdGhpcy5icm93c2VyUHJvdmlkZXIgICAgPSBicm93c2VyQ29ubmVjdGlvbi5wcm92aWRlcjtcbiAgICAgICAgdGhpcy5zY3JlZW5zaG90Q2FwdHVyZXIgPSBzY3JlZW5zaG90Q2FwdHVyZXI7XG4gICAgICAgIHRoaXMud2FybmluZ0xvZyAgICAgICAgID0gd2FybmluZ0xvZztcbiAgICB9XG5cbiAgICBhc3luYyBfcmVzaXplV2luZG93ICh3aWR0aCwgaGVpZ2h0LCBjdXJyZW50V2lkdGgsIGN1cnJlbnRIZWlnaHQpIHtcbiAgICAgICAgY29uc3QgY2FuUmVzaXplV2luZG93ID0gYXdhaXQgdGhpcy5icm93c2VyUHJvdmlkZXIuY2FuUmVzaXplV2luZG93VG9EaW1lbnNpb25zKHRoaXMuYnJvd3NlcklkLCB3aWR0aCwgaGVpZ2h0KTtcblxuICAgICAgICBpZiAoIWNhblJlc2l6ZVdpbmRvdylcbiAgICAgICAgICAgIHRocm93IG5ldyBXaW5kb3dEaW1lbnNpb25zT3ZlcmZsb3dFcnJvcigpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5icm93c2VyUHJvdmlkZXIucmVzaXplV2luZG93KHRoaXMuYnJvd3NlcklkLCB3aWR0aCwgaGVpZ2h0LCBjdXJyZW50V2lkdGgsIGN1cnJlbnRIZWlnaHQpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHRoaXMud2FybmluZ0xvZy5hZGRXYXJuaW5nKFdBUk5JTkdfTUVTU0FHRS5yZXNpemVFcnJvciwgZXJyLm1lc3NhZ2UpO1xuXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIF9yZXNpemVXaW5kb3dUb0ZpdERldmljZSAoZGV2aWNlLCBwb3J0cmFpdCwgY3VycmVudFdpZHRoLCBjdXJyZW50SGVpZ2h0KSB7XG4gICAgICAgIGNvbnN0IHsgbGFuZHNjYXBlV2lkdGgsIHBvcnRyYWl0V2lkdGggfSA9IGdldFZpZXdwb3J0U2l6ZShkZXZpY2UpO1xuXG4gICAgICAgIGNvbnN0IHdpZHRoICA9IHBvcnRyYWl0ID8gcG9ydHJhaXRXaWR0aCA6IGxhbmRzY2FwZVdpZHRoO1xuICAgICAgICBjb25zdCBoZWlnaHQgPSBwb3J0cmFpdCA/IGxhbmRzY2FwZVdpZHRoIDogcG9ydHJhaXRXaWR0aDtcblxuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5fcmVzaXplV2luZG93KHdpZHRoLCBoZWlnaHQsIGN1cnJlbnRXaWR0aCwgY3VycmVudEhlaWdodCk7XG4gICAgfVxuXG4gICAgYXN5bmMgX21heGltaXplV2luZG93ICgpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmJyb3dzZXJQcm92aWRlci5tYXhpbWl6ZVdpbmRvdyh0aGlzLmJyb3dzZXJJZCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgdGhpcy53YXJuaW5nTG9nLmFkZFdhcm5pbmcoV0FSTklOR19NRVNTQUdFLm1heGltaXplRXJyb3IsIGVyci5tZXNzYWdlKTtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgX3Rha2VTY3JlZW5zaG90IChjYXB0dXJlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgY2FwdHVyZSgpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGlmIChlcnIuY29kZSA9PT0gVEVTVF9SVU5fRVJST1JTLmludmFsaWRFbGVtZW50U2NyZWVuc2hvdERpbWVuc2lvbnNFcnJvcilcbiAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG5cbiAgICAgICAgICAgIHRoaXMud2FybmluZ0xvZy5hZGRXYXJuaW5nKFdBUk5JTkdfTUVTU0FHRS5zY3JlZW5zaG90RXJyb3IsIGVyci5zdGFjayk7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIF9leGVjdXRlQ29tbWFuZCAoZHJpdmVyTXNnKSB7XG4gICAgICAgIGNvbnN0IGNvbW1hbmQgPSB0aGlzLmNvbW1hbmRzLnNoaWZ0KCk7XG5cbiAgICAgICAgc3dpdGNoIChjb21tYW5kLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgQ09NTUFORF9UWVBFLnRha2VFbGVtZW50U2NyZWVuc2hvdDpcbiAgICAgICAgICAgIGNhc2UgQ09NTUFORF9UWVBFLnRha2VTY3JlZW5zaG90OlxuICAgICAgICAgICAgICAgIHJldHVybiBhd2FpdCB0aGlzLl90YWtlU2NyZWVuc2hvdCgoKSA9PiB0aGlzLnNjcmVlbnNob3RDYXB0dXJlci5jYXB0dXJlQWN0aW9uKHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uSWQ6ICAgICAgIGNvbW1hbmQuYWN0aW9uSWQsXG4gICAgICAgICAgICAgICAgICAgIGN1c3RvbVBhdGg6ICAgICBjb21tYW5kLnBhdGgsXG4gICAgICAgICAgICAgICAgICAgIHBhZ2VEaW1lbnNpb25zOiBkcml2ZXJNc2cucGFnZURpbWVuc2lvbnMsXG4gICAgICAgICAgICAgICAgICAgIGNyb3BEaW1lbnNpb25zOiBkcml2ZXJNc2cuY3JvcERpbWVuc2lvbnMsXG4gICAgICAgICAgICAgICAgICAgIG1hcmtTZWVkOiAgICAgICBjb21tYW5kLm1hcmtTZWVkLFxuICAgICAgICAgICAgICAgICAgICBmdWxsUGFnZTogICAgICAgY29tbWFuZC5mdWxsUGFnZSxcbiAgICAgICAgICAgICAgICAgICAgdGh1bWJuYWlsczogICAgIGNvbW1hbmQudGh1bWJuYWlscyxcbiAgICAgICAgICAgICAgICB9KSk7XG5cbiAgICAgICAgICAgIGNhc2UgQ09NTUFORF9UWVBFLnRha2VTY3JlZW5zaG90T25GYWlsOlxuICAgICAgICAgICAgICAgIHJldHVybiBhd2FpdCB0aGlzLl90YWtlU2NyZWVuc2hvdCgoKSA9PiB0aGlzLnNjcmVlbnNob3RDYXB0dXJlci5jYXB0dXJlRXJyb3Ioe1xuICAgICAgICAgICAgICAgICAgICBhY3Rpb25JZDogICAgICAgY29tbWFuZC5hY3Rpb25JZCxcbiAgICAgICAgICAgICAgICAgICAgZmFpbGVkQWN0aW9uSWQ6IGNvbW1hbmQuZmFpbGVkQWN0aW9uSWQsXG4gICAgICAgICAgICAgICAgICAgIHBhZ2VEaW1lbnNpb25zOiBkcml2ZXJNc2cucGFnZURpbWVuc2lvbnMsXG4gICAgICAgICAgICAgICAgICAgIG1hcmtTZWVkOiAgICAgICBjb21tYW5kLm1hcmtTZWVkLFxuICAgICAgICAgICAgICAgICAgICBmdWxsUGFnZTogICAgICAgY29tbWFuZC5mdWxsUGFnZSxcbiAgICAgICAgICAgICAgICB9KSk7XG5cbiAgICAgICAgICAgIGNhc2UgQ09NTUFORF9UWVBFLnJlc2l6ZVdpbmRvdzpcbiAgICAgICAgICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5fcmVzaXplV2luZG93KGNvbW1hbmQud2lkdGgsIGNvbW1hbmQuaGVpZ2h0LCBkcml2ZXJNc2cucGFnZURpbWVuc2lvbnMuaW5uZXJXaWR0aCwgZHJpdmVyTXNnLnBhZ2VEaW1lbnNpb25zLmlubmVySGVpZ2h0KTtcblxuICAgICAgICAgICAgY2FzZSBDT01NQU5EX1RZUEUucmVzaXplV2luZG93VG9GaXREZXZpY2U6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuX3Jlc2l6ZVdpbmRvd1RvRml0RGV2aWNlKGNvbW1hbmQuZGV2aWNlLCBjb21tYW5kLm9wdGlvbnMucG9ydHJhaXRPcmllbnRhdGlvbiwgZHJpdmVyTXNnLnBhZ2VEaW1lbnNpb25zLmlubmVyV2lkdGgsIGRyaXZlck1zZy5wYWdlRGltZW5zaW9ucy5pbm5lckhlaWdodCk7XG5cbiAgICAgICAgICAgIGNhc2UgQ09NTUFORF9UWVBFLm1heGltaXplV2luZG93OlxuICAgICAgICAgICAgICAgIHJldHVybiBhd2FpdCB0aGlzLl9tYXhpbWl6ZVdpbmRvdygpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgYXN5bmMgZXhlY3V0ZVBlbmRpbmdNYW5pcHVsYXRpb24gKGRyaXZlck1zZywgbWVzc2FnZUJ1cykge1xuICAgICAgICBjb25zdCBjb21tYW5kID0gdGhpcy5jb21tYW5kc1swXTtcblxuICAgICAgICBjb25zdCBoYW5kbGVCcm93c2VyTWFuaXB1bGF0aW9uV2FybmluZyA9IHdhcm5pbmcgPT4ge1xuICAgICAgICAgICAgd2FybmluZy5hY3Rpb25JZCA9IHdhcm5pbmcuYWN0aW9uSWQgfHwgY29tbWFuZC5hY3Rpb25JZDtcbiAgICAgICAgfTtcblxuICAgICAgICBtZXNzYWdlQnVzLm9uKCdiZWZvcmUtd2FybmluZy1hZGQnLCBoYW5kbGVCcm93c2VyTWFuaXB1bGF0aW9uV2FybmluZyk7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5fZXhlY3V0ZUNvbW1hbmQoZHJpdmVyTXNnKTtcblxuICAgICAgICBtZXNzYWdlQnVzLm9mZignYmVmb3JlLXdhcm5pbmctYWRkJywgaGFuZGxlQnJvd3Nlck1hbmlwdWxhdGlvbldhcm5pbmcpO1xuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHVzaCAoY29tbWFuZCkge1xuICAgICAgICB0aGlzLmNvbW1hbmRzLnB1c2goY29tbWFuZCk7XG4gICAgfVxuXG4gICAgcmVtb3ZlQWxsTm9uU2VydmljZU1hbmlwdWxhdGlvbnMgKCkge1xuICAgICAgICB0aGlzLmNvbW1hbmRzID0gdGhpcy5jb21tYW5kcy5maWx0ZXIoY29tbWFuZCA9PiBpc1NlcnZpY2VDb21tYW5kKGNvbW1hbmQpKTtcbiAgICB9XG59XG4iXX0=
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci1tYW5pcHVsYXRpb24tcXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC1ydW4vYnJvd3Nlci1tYW5pcHVsYXRpb24tcXVldWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQ0FBK0M7QUFDL0MsNENBQW9EO0FBQ3BELDJEQUEyQztBQUMzQyx1RkFBK0Q7QUFDL0Qsa0RBQW9FO0FBQ3BFLDJDQUFrRDtBQUdsRCxNQUFxQix3QkFBd0I7SUFDekMsWUFBYSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxVQUFVO1FBQzFELElBQUksQ0FBQyxRQUFRLEdBQWEsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQVksaUJBQWlCLENBQUMsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxlQUFlLEdBQU0saUJBQWlCLENBQUMsUUFBUSxDQUFDO1FBQ3JELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUM3QyxJQUFJLENBQUMsVUFBVSxHQUFXLFVBQVUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxhQUFhO1FBQzNELE1BQU0sZUFBZSxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUU5RyxJQUFJLENBQUMsZUFBZTtZQUNoQixNQUFNLElBQUksd0NBQTZCLEVBQUUsQ0FBQztRQUU5QyxJQUFJO1lBQ0EsT0FBTyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7U0FDOUc7UUFDRCxPQUFPLEdBQUcsRUFBRTtZQUNSLElBQUksQ0FBQyxVQUFVLENB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LFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGdDQUFnQztRQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBQSx3QkFBZ0IsRUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7Q0FDSjtBQXRIRCwyQ0FzSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRWaWV3cG9ydFNpemUgfSBmcm9tICdkZXZpY2Utc3BlY3MnO1xuaW1wb3J0IHsgaXNTZXJ2aWNlQ29tbWFuZCB9IGZyb20gJy4vY29tbWFuZHMvdXRpbHMnO1xuaW1wb3J0IENPTU1BTkRfVFlQRSBmcm9tICcuL2NvbW1hbmRzL3R5cGUnO1xuaW1wb3J0IFdBUk5JTkdfTUVTU0FHRSBmcm9tICcuLi9ub3RpZmljYXRpb25zL3dhcm5pbmctbWVzc2FnZSc7XG5pbXBvcnQgeyBXaW5kb3dEaW1lbnNpb25zT3ZlcmZsb3dFcnJvciB9IGZyb20gJy4uL2Vycm9ycy90ZXN0LXJ1bi8nO1xuaW1wb3J0IHsgVEVTVF9SVU5fRVJST1JTIH0gZnJvbSAnLi4vZXJyb3JzL3R5cGVzJztcblxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCcm93c2VyTWFuaXB1bGF0aW9uUXVldWUge1xuICAgIGNvbnN0cnVjdG9yIChicm93c2VyQ29ubmVjdGlvbiwgc2NyZWVuc2hvdENhcHR1cmVyLCB3YXJuaW5nTG9nKSB7XG4gICAgICAgIHRoaXMuY29tbWFuZHMgICAgICAgICAgID0gW107XG4gICAgICAgIHRoaXMuYnJvd3NlcklkICAgICAgICAgID0gYnJvd3NlckNvbm5lY3Rpb24uaWQ7XG4gICAgICAgIHRoaXMuYnJvd3NlclByb3ZpZGVyICAgID0gYnJvd3NlckNvbm5lY3Rpb24ucHJvdmlkZXI7XG4gICAgICAgIHRoaXMuc2NyZWVuc2hvdENhcHR1cmVyID0gc2NyZWVuc2hvdENhcHR1cmVyO1xuICAgICAgICB0aGlzLndhcm5pbmdMb2cgICAgICAgICA9IHdhcm5pbmdMb2c7XG4gICAgfVxuXG4gICAgYXN5bmMgX3Jlc2l6ZVdpbmRvdyAod2lkdGgsIGhlaWdodCwgY3VycmVudFdpZHRoLCBjdXJyZW50SGVpZ2h0KSB7XG4gICAgICAgIGNvbnN0IGNhblJlc2l6ZVdpbmRvdyA9IGF3YWl0IHRoaXMuYnJvd3NlclByb3ZpZGVyLmNhblJlc2l6ZVdpbmRvd1RvRGltZW5zaW9ucyh0aGlzLmJyb3dzZXJJZCwgd2lkdGgsIGhlaWdodCk7XG5cbiAgICAgICAgaWYgKCFjYW5SZXNpemVXaW5kb3cpXG4gICAgICAgICAgICB0aHJvdyBuZXcgV2luZG93RGltZW5zaW9uc092ZXJmbG93RXJyb3IoKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuYnJvd3NlclByb3ZpZGVyLnJlc2l6ZVdpbmRvdyh0aGlzLmJyb3dzZXJJZCwgd2lkdGgsIGhlaWdodCwgY3VycmVudFdpZHRoLCBjdXJyZW50SGVpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICB0aGlzLndhcm5pbmdMb2cuYWRkV2FybmluZyhXQVJOSU5HX01FU1NBR0UucmVzaXplRXJyb3IsIGVyci5tZXNzYWdlKTtcblxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBfcmVzaXplV2luZG93VG9GaXREZXZpY2UgKGRldmljZSwgcG9ydHJhaXQsIGN1cnJlbnRXaWR0aCwgY3VycmVudEhlaWdodCkge1xuICAgICAgICBjb25zdCB7IGxhbmRzY2FwZVdpZHRoLCBwb3J0cmFpdFdpZHRoIH0gPSBnZXRWaWV3cG9ydFNpemUoZGV2aWNlKTtcblxuICAgICAgICBjb25zdCB3aWR0aCAgPSBwb3J0cmFpdCA/IHBvcnRyYWl0V2lkdGggOiBsYW5kc2NhcGVXaWR0aDtcbiAgICAgICAgY29uc3QgaGVpZ2h0ID0gcG9ydHJhaXQgPyBsYW5kc2NhcGVXaWR0aCA6IHBvcnRyYWl0V2lkdGg7XG5cbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuX3Jlc2l6ZVdpbmRvdyh3aWR0aCwgaGVpZ2h0LCBjdXJyZW50V2lkdGgsIGN1cnJlbnRIZWlnaHQpO1xuICAgIH1cblxuICAgIGFzeW5jIF9tYXhpbWl6ZVdpbmRvdyAoKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5icm93c2VyUHJvdmlkZXIubWF4aW1pemVXaW5kb3codGhpcy5icm93c2VySWQpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHRoaXMud2FybmluZ0xvZy5hZGRXYXJuaW5nKFdBUk5JTkdfTUVTU0FHRS5tYXhpbWl6ZUVycm9yLCBlcnIubWVzc2FnZSk7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIF90YWtlU2NyZWVuc2hvdCAoY2FwdHVyZSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIGF3YWl0IGNhcHR1cmUoKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBpZiAoZXJyLmNvZGUgPT09IFRFU1RfUlVOX0VSUk9SUy5pbnZhbGlkRWxlbWVudFNjcmVlbnNob3REaW1lbnNpb25zRXJyb3IpXG4gICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuXG4gICAgICAgICAgICB0aGlzLndhcm5pbmdMb2cuYWRkV2FybmluZyhXQVJOSU5HX01FU1NBR0Uuc2NyZWVuc2hvdEVycm9yLCBlcnIuc3RhY2spO1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBfZXhlY3V0ZUNvbW1hbmQgKGRyaXZlck1zZykge1xuICAgICAgICBjb25zdCBjb21tYW5kID0gdGhpcy5jb21tYW5kcy5zaGlmdCgpO1xuXG4gICAgICAgIHN3aXRjaCAoY29tbWFuZC50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIENPTU1BTkRfVFlQRS50YWtlRWxlbWVudFNjcmVlbnNob3Q6XG4gICAgICAgICAgICBjYXNlIENPTU1BTkRfVFlQRS50YWtlU2NyZWVuc2hvdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5fdGFrZVNjcmVlbnNob3QoKCkgPT4gdGhpcy5zY3JlZW5zaG90Q2FwdHVyZXIuY2FwdHVyZUFjdGlvbih7XG4gICAgICAgICAgICAgICAgICAgIGFjdGlvbklkOiAgICAgICBjb21tYW5kLmFjdGlvbklkLFxuICAgICAgICAgICAgICAgICAgICBjdXN0b21QYXRoOiAgICAgY29tbWFuZC5wYXRoLFxuICAgICAgICAgICAgICAgICAgICBwYWdlRGltZW5zaW9uczogZHJpdmVyTXNnLnBhZ2VEaW1lbnNpb25zLFxuICAgICAgICAgICAgICAgICAgICBjcm9wRGltZW5zaW9uczogZHJpdmVyTXNnLmNyb3BEaW1lbnNpb25zLFxuICAgICAgICAgICAgICAgICAgICBtYXJrU2VlZDogICAgICAgY29tbWFuZC5tYXJrU2VlZCxcbiAgICAgICAgICAgICAgICAgICAgZnVsbFBhZ2U6ICAgICAgIGNvbW1hbmQuZnVsbFBhZ2UsXG4gICAgICAgICAgICAgICAgICAgIHRodW1ibmFpbHM6ICAgICBjb21tYW5kLnRodW1ibmFpbHMsXG4gICAgICAgICAgICAgICAgfSkpO1xuXG4gICAgICAgICAgICBjYXNlIENPTU1BTkRfVFlQRS50YWtlU2NyZWVuc2hvdE9uRmFpbDpcbiAgICAgICAgICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5fdGFrZVNjcmVlbnNob3QoKCkgPT4gdGhpcy5zY3JlZW5zaG90Q2FwdHVyZXIuY2FwdHVyZUVycm9yKHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uSWQ6ICAgICAgIGNvbW1hbmQuYWN0aW9uSWQsXG4gICAgICAgICAgICAgICAgICAgIGZhaWxlZEFjdGlvbklkOiBjb21tYW5kLmZhaWxlZEFjdGlvbklkLFxuICAgICAgICAgICAgICAgICAgICBwYWdlRGltZW5zaW9uczogZHJpdmVyTXNnLnBhZ2VEaW1lbnNpb25zLFxuICAgICAgICAgICAgICAgICAgICBtYXJrU2VlZDogICAgICAgY29tbWFuZC5tYXJrU2VlZCxcbiAgICAgICAgICAgICAgICAgICAgZnVsbFBhZ2U6ICAgICAgIGNvbW1hbmQuZnVsbFBhZ2UsXG4gICAgICAgICAgICAgICAgfSkpO1xuXG4gICAgICAgICAgICBjYXNlIENPTU1BTkRfVFlQRS5yZXNpemVXaW5kb3c6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuX3Jlc2l6ZVdpbmRvdyhjb21tYW5kLndpZHRoLCBjb21tYW5kLmhlaWdodCwgZHJpdmVyTXNnLnBhZ2VEaW1lbnNpb25zLmlubmVyV2lkdGgsIGRyaXZlck1zZy5wYWdlRGltZW5zaW9ucy5pbm5lckhlaWdodCk7XG5cbiAgICAgICAgICAgIGNhc2UgQ09NTUFORF9UWVBFLnJlc2l6ZVdpbmRvd1RvRml0RGV2aWNlOlxuICAgICAgICAgICAgICAgIHJldHVybiBhd2FpdCB0aGlzLl9yZXNpemVXaW5kb3dUb0ZpdERldmljZShjb21tYW5kLmRldmljZSwgY29tbWFuZC5vcHRpb25zLnBvcnRyYWl0T3JpZW50YXRpb24sIGRyaXZlck1zZy5wYWdlRGltZW5zaW9ucy5pbm5lcldpZHRoLCBkcml2ZXJNc2cucGFnZURpbWVuc2lvbnMuaW5uZXJIZWlnaHQpO1xuXG4gICAgICAgICAgICBjYXNlIENPTU1BTkRfVFlQRS5tYXhpbWl6ZVdpbmRvdzpcbiAgICAgICAgICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5fbWF4aW1pemVXaW5kb3coKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGFzeW5jIGV4ZWN1dGVQZW5kaW5nTWFuaXB1bGF0aW9uIChkcml2ZXJNc2csIG1lc3NhZ2VCdXMpIHtcbiAgICAgICAgY29uc3QgY29tbWFuZCA9IHRoaXMuY29tbWFuZHNbMF07XG5cbiAgICAgICAgY29uc3QgaGFuZGxlQnJvd3Nlck1hbmlwdWxhdGlvbldhcm5pbmcgPSB3YXJuaW5nID0+IHtcbiAgICAgICAgICAgIHdhcm5pbmcuYWN0aW9uSWQgPSB3YXJuaW5nLmFjdGlvbklkIHx8IGNvbW1hbmQuYWN0aW9uSWQ7XG4gICAgICAgIH07XG5cbiAgICAgICAgbWVzc2FnZUJ1cy5vbignYmVmb3JlLXdhcm5pbmctYWRkJywgaGFuZGxlQnJvd3Nlck1hbmlwdWxhdGlvbldhcm5pbmcpO1xuXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuX2V4ZWN1dGVDb21tYW5kKGRyaXZlck1zZyk7XG5cbiAgICAgICAgbWVzc2FnZUJ1cy5vZmYoJ2JlZm9yZS13YXJuaW5nLWFkZCcsIGhhbmRsZUJyb3dzZXJNYW5pcHVsYXRpb25XYXJuaW5nKTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHB1c2ggKGNvbW1hbmQpIHtcbiAgICAgICAgdGhpcy5jb21tYW5kcy5wdXNoKGNvbW1hbmQpO1xuICAgIH1cblxuICAgIHJlbW92ZUFsbE5vblNlcnZpY2VNYW5pcHVsYXRpb25zICgpIHtcbiAgICAgICAgdGhpcy5jb21tYW5kcyA9IHRoaXMuY29tbWFuZHMuZmlsdGVyKGNvbW1hbmQgPT4gaXNTZXJ2aWNlQ29tbWFuZChjb21tYW5kKSk7XG4gICAgfVxufVxuIl19
|