From 9b119c3dac3e57b29efd262edbb389e24a3d0214 Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Sun, 20 Jun 2021 02:12:59 +0200 Subject: [PATCH] web: major upgrades This commit brings a bunch of under-the-hood mitmweb improvements: - migrate large parts of the codebase to typescript - introduce modern react testing conventions - vendor react-codemirror to silence warnings - use esbuild for both bundles and tests - move from yarn to npm - various fixes across the board --- .github/workflows/main.yml | 19 +- mitmproxy/addons/export.py | 2 +- mitmproxy/tools/web/app.py | 95 +- mitmproxy/tools/web/master.py | 8 - mitmproxy/tools/web/static/app.css | 2 +- mitmproxy/tools/web/static/app.js | 327 +- mitmproxy/tools/web/static/vendor.css | 2 +- mitmproxy/tools/web/templates/index.html | 3 +- test/mitmproxy/tools/web/test_app.py | 116 +- web/README.md | 37 +- web/babel.config.js | 4 - web/gulpfile.js | 4 + web/jest.config.js | 51 +- web/package-lock.json | 9696 +++++++++++++++++ web/package.json | 18 +- web/src/css/dropdown.less | 10 +- web/src/css/flowtable.less | 12 +- web/src/css/header.less | 9 - .../components/ContentView/CodeEditorSpec.js | 26 - .../components/ContentView/CodeEditorSpec.tsx | 14 + .../ContentView/ContentLoaderSpec.js | 2 +- .../components/ContentView/ContentViewSpec.js | 6 +- .../ContentView/ViewSelectorSpec.js | 38 - .../ContentView/ViewSelectorSpec.tsx | 20 + .../__snapshots__/CodeEditorSpec.js.snap | 8 - .../__snapshots__/CodeEditorSpec.tsx.snap | 9 + .../ContentViewOptionsSpec.js.snap | 41 +- .../__snapshots__/ViewSelectorSpec.js.snap | 123 - .../__snapshots__/ViewSelectorSpec.tsx.snap | 21 + .../components/FlowTable/FlowColumnsSpec.js | 10 +- .../components/FlowTable/FlowRowSpec.js | 26 - .../components/FlowTable/FlowRowSpec.tsx | 21 + .../components/FlowTable/FlowTableHeadSpec.js | 50 +- .../__snapshots__/FlowColumnsSpec.js.snap | 19 +- .../__snapshots__/FlowRowSpec.js.snap | 68 - .../__snapshots__/FlowRowSpec.tsx.snap | 75 + .../__snapshots__/FlowTableHeadSpec.js.snap | 153 +- .../components/FlowView/ToggleEditSpec.js | 41 - .../components/FlowView/ToggleEditSpec.tsx | 21 + .../__snapshots__/DetailsSpec.js.snap | 12 - .../__snapshots__/MessagesSpec.js.snap | 194 +- .../__snapshots__/ToggleEditSpec.js.snap | 17 - .../__snapshots__/ToggleEditSpec.tsx.snap | 35 + .../Header/ConnectionIndicatorSpec.js | 55 - .../Header/ConnectionIndicatorSpec.tsx | 22 + .../components/Header/FileMenuSpec.js | 50 +- .../components/Header/MainMenuSpec.js | 28 +- .../components/Header/MenuToggleSpec.js | 62 +- .../ConnectionIndicatorSpec.js.snap | 50 - .../ConnectionIndicatorSpec.tsx.snap | 52 + .../Header/__snapshots__/FileMenuSpec.js.snap | 81 +- .../Header/__snapshots__/MainMenuSpec.js.snap | 181 +- .../__snapshots__/MenuToggleSpec.js.snap | 55 +- .../__snapshots__/OptionMenuSpec.js.snap | 2 +- .../__tests__/components/Modal/ModalSpec.js | 30 - .../__tests__/components/Modal/ModalSpec.tsx | 13 + .../Modal/__snapshots__/ModalSpec.js.snap | 255 - .../Modal/__snapshots__/ModalSpec.tsx.snap | 209 + .../components/common/DropdownSpec.js | 32 - .../components/common/DropdownSpec.tsx | 53 + .../components/common/FileChooserSpec.js | 38 - .../components/common/FileChooserSpec.tsx | 13 + .../common/__snapshots__/DropdownSpec.js.snap | 162 - .../__snapshots__/DropdownSpec.tsx.snap | 118 + .../__snapshots__/FileChooserSpec.js.snap | 19 - .../__snapshots__/FileChooserSpec.tsx.snap | 18 + .../__tests__/ducks/{_tflow.js => _tflow.ts} | 43 +- web/src/js/__tests__/ducks/connectionSpec.js | 2 +- web/src/js/__tests__/ducks/indexSpec.js | 5 +- web/src/js/__tests__/ducks/optionsSpec.js | 20 +- web/src/js/__tests__/ducks/settingsSpec.js | 25 - web/src/js/__tests__/ducks/tutils.js | 111 - web/src/js/__tests__/ducks/tutils.ts | 120 + web/src/js/__tests__/ducks/ui/flowSpec.js | 2 +- web/src/js/__tests__/test-utils.tsx | 24 + web/src/js/app.jsx | 19 +- web/src/js/backends/static.js | 2 +- web/src/js/backends/websocket.js | 1 - .../{CodeEditor.jsx => CodeEditor.tsx} | 4 +- .../components/ContentView/ContentLoader.jsx | 10 +- .../components/ContentView/ContentViews.jsx | 8 +- .../js/components/ContentView/MetaViews.jsx | 2 +- .../components/ContentView/ViewSelector.jsx | 38 - .../components/ContentView/ViewSelector.tsx | 26 + web/src/js/components/FlowTable.jsx | 8 +- .../js/components/FlowTable/FlowColumns.jsx | 236 - .../js/components/FlowTable/FlowColumns.tsx | 280 + web/src/js/components/FlowTable/FlowRow.jsx | 41 - web/src/js/components/FlowTable/FlowRow.tsx | 45 + .../js/components/FlowTable/FlowTableHead.jsx | 50 - .../js/components/FlowTable/FlowTableHead.tsx | 28 + web/src/js/components/FlowView/Details.jsx | 111 +- web/src/js/components/FlowView/Messages.jsx | 4 +- .../js/components/{Footer.jsx => Footer.tsx} | 39 +- ...nIndicator.jsx => ConnectionIndicator.tsx} | 25 +- web/src/js/components/Header/FileMenu.jsx | 63 - web/src/js/components/Header/FileMenu.tsx | 43 + web/src/js/components/Header/FilterDocs.jsx | 4 +- .../{FilterInput.jsx => FilterInput.tsx} | 50 +- web/src/js/components/Header/MainMenu.jsx | 79 - web/src/js/components/Header/MainMenu.tsx | 76 + web/src/js/components/Header/MenuToggle.jsx | 69 - web/src/js/components/Header/MenuToggle.tsx | 59 + web/src/js/components/Header/OptionMenu.jsx | 14 +- web/src/js/components/Modal/Option.jsx | 6 +- web/src/js/components/Modal/OptionModal.jsx | 8 +- web/src/js/components/common/Dropdown.tsx | 28 +- web/src/js/components/common/FileChooser.jsx | 28 - web/src/js/components/common/FileChooser.tsx | 37 + web/src/js/components/common/HideInStatic.jsx | 2 +- web/src/js/contrib/CodeMirror.tsx | 154 + web/src/js/ducks/_options_gen.ts | 168 + web/src/js/ducks/conf.ts | 23 + .../js/ducks/{connection.js => connection.ts} | 29 +- web/src/js/ducks/{eventLog.js => eventLog.ts} | 0 web/src/js/ducks/{flows.js => flows.ts} | 4 +- web/src/js/ducks/index.js | 16 - web/src/js/ducks/index.ts | 57 + web/src/js/ducks/options.js | 50 - web/src/js/ducks/options.ts | 80 + web/src/js/ducks/options_meta.ts | 36 + web/src/js/ducks/settings.js | 46 - web/src/js/ducks/ui/{flow.js => flow.ts} | 45 +- web/src/js/ducks/ui/{index.js => index.ts} | 0 web/src/js/filt/filt.js | 5 +- web/src/js/filt/filt.peg | 2 - web/src/js/flow.ts | 86 + web/src/js/{utils.js => utils.ts} | 9 +- web/src/templates/index.html | 2 +- web/tsconfig.json | 3 +- web/yarn.lock | 7572 ------------- 131 files changed, 12650 insertions(+), 10695 deletions(-) delete mode 100644 web/babel.config.js create mode 100644 web/package-lock.json delete mode 100644 web/src/js/__tests__/components/ContentView/CodeEditorSpec.js create mode 100644 web/src/js/__tests__/components/ContentView/CodeEditorSpec.tsx delete mode 100644 web/src/js/__tests__/components/ContentView/ViewSelectorSpec.js create mode 100644 web/src/js/__tests__/components/ContentView/ViewSelectorSpec.tsx delete mode 100644 web/src/js/__tests__/components/ContentView/__snapshots__/CodeEditorSpec.js.snap create mode 100644 web/src/js/__tests__/components/ContentView/__snapshots__/CodeEditorSpec.tsx.snap delete mode 100644 web/src/js/__tests__/components/ContentView/__snapshots__/ViewSelectorSpec.js.snap create mode 100644 web/src/js/__tests__/components/ContentView/__snapshots__/ViewSelectorSpec.tsx.snap delete mode 100644 web/src/js/__tests__/components/FlowTable/FlowRowSpec.js create mode 100644 web/src/js/__tests__/components/FlowTable/FlowRowSpec.tsx delete mode 100644 web/src/js/__tests__/components/FlowTable/__snapshots__/FlowRowSpec.js.snap create mode 100644 web/src/js/__tests__/components/FlowTable/__snapshots__/FlowRowSpec.tsx.snap delete mode 100644 web/src/js/__tests__/components/FlowView/ToggleEditSpec.js create mode 100644 web/src/js/__tests__/components/FlowView/ToggleEditSpec.tsx delete mode 100644 web/src/js/__tests__/components/FlowView/__snapshots__/ToggleEditSpec.js.snap create mode 100644 web/src/js/__tests__/components/FlowView/__snapshots__/ToggleEditSpec.tsx.snap delete mode 100644 web/src/js/__tests__/components/Header/ConnectionIndicatorSpec.js create mode 100644 web/src/js/__tests__/components/Header/ConnectionIndicatorSpec.tsx delete mode 100644 web/src/js/__tests__/components/Header/__snapshots__/ConnectionIndicatorSpec.js.snap create mode 100644 web/src/js/__tests__/components/Header/__snapshots__/ConnectionIndicatorSpec.tsx.snap delete mode 100644 web/src/js/__tests__/components/Modal/ModalSpec.js create mode 100644 web/src/js/__tests__/components/Modal/ModalSpec.tsx delete mode 100644 web/src/js/__tests__/components/Modal/__snapshots__/ModalSpec.js.snap create mode 100644 web/src/js/__tests__/components/Modal/__snapshots__/ModalSpec.tsx.snap delete mode 100644 web/src/js/__tests__/components/common/DropdownSpec.js create mode 100644 web/src/js/__tests__/components/common/DropdownSpec.tsx delete mode 100644 web/src/js/__tests__/components/common/FileChooserSpec.js create mode 100644 web/src/js/__tests__/components/common/FileChooserSpec.tsx delete mode 100644 web/src/js/__tests__/components/common/__snapshots__/DropdownSpec.js.snap create mode 100644 web/src/js/__tests__/components/common/__snapshots__/DropdownSpec.tsx.snap delete mode 100644 web/src/js/__tests__/components/common/__snapshots__/FileChooserSpec.js.snap create mode 100644 web/src/js/__tests__/components/common/__snapshots__/FileChooserSpec.tsx.snap rename web/src/js/__tests__/ducks/{_tflow.js => _tflow.ts} (77%) delete mode 100644 web/src/js/__tests__/ducks/settingsSpec.js delete mode 100644 web/src/js/__tests__/ducks/tutils.js create mode 100644 web/src/js/__tests__/ducks/tutils.ts create mode 100644 web/src/js/__tests__/test-utils.tsx rename web/src/js/components/ContentView/{CodeEditor.jsx => CodeEditor.tsx} (78%) delete mode 100644 web/src/js/components/ContentView/ViewSelector.jsx create mode 100644 web/src/js/components/ContentView/ViewSelector.tsx delete mode 100644 web/src/js/components/FlowTable/FlowColumns.jsx create mode 100644 web/src/js/components/FlowTable/FlowColumns.tsx delete mode 100644 web/src/js/components/FlowTable/FlowRow.jsx create mode 100644 web/src/js/components/FlowTable/FlowRow.tsx delete mode 100644 web/src/js/components/FlowTable/FlowTableHead.jsx create mode 100644 web/src/js/components/FlowTable/FlowTableHead.tsx rename web/src/js/components/{Footer.jsx => Footer.tsx} (67%) rename web/src/js/components/Header/{ConnectionIndicator.jsx => ConnectionIndicator.tsx} (61%) delete mode 100644 web/src/js/components/Header/FileMenu.jsx create mode 100644 web/src/js/components/Header/FileMenu.tsx rename web/src/js/components/Header/{FilterInput.jsx => FilterInput.tsx} (76%) delete mode 100644 web/src/js/components/Header/MainMenu.jsx create mode 100644 web/src/js/components/Header/MainMenu.tsx delete mode 100644 web/src/js/components/Header/MenuToggle.jsx create mode 100644 web/src/js/components/Header/MenuToggle.tsx delete mode 100644 web/src/js/components/common/FileChooser.jsx create mode 100644 web/src/js/components/common/FileChooser.tsx create mode 100644 web/src/js/contrib/CodeMirror.tsx create mode 100644 web/src/js/ducks/_options_gen.ts create mode 100644 web/src/js/ducks/conf.ts rename web/src/js/ducks/{connection.js => connection.ts} (53%) rename web/src/js/ducks/{eventLog.js => eventLog.ts} (100%) rename web/src/js/ducks/{flows.js => flows.ts} (98%) delete mode 100644 web/src/js/ducks/index.js create mode 100644 web/src/js/ducks/index.ts delete mode 100644 web/src/js/ducks/options.js create mode 100644 web/src/js/ducks/options.ts create mode 100644 web/src/js/ducks/options_meta.ts delete mode 100644 web/src/js/ducks/settings.js rename web/src/js/ducks/ui/{flow.js => flow.ts} (79%) rename web/src/js/ducks/ui/{index.js => index.ts} (100%) create mode 100644 web/src/js/flow.ts rename web/src/js/{utils.js => utils.ts} (92%) delete mode 100644 web/yarn.lock diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 035e60940..431d9f867 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -137,17 +137,20 @@ jobs: with: persist-credentials: false - run: git rev-parse --abbrev-ref HEAD - - uses: actions/setup-node@v1 - - id: yarn-cache - run: echo "::set-output name=dir::$(yarn cache dir)" - - uses: actions/cache@v1 + - uses: actions/setup-node@v2 with: - path: ${{ steps.yarn-cache.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + node-version: '14' + - name: Cache Node.js modules + uses: actions/cache@v2 + with: + # npm cache files are stored in `~/.npm` on Linux/macOS + path: ~/.npm + key: ${{ runner.OS }}-node-${{ hashFiles('**/package-lock.json') }} restore-keys: | - ${{ runner.os }}-yarn- + ${{ runner.OS }}-node- + ${{ runner.OS }}- - working-directory: ./web - run: yarn + run: npm ci - working-directory: ./web run: npm test - uses: codecov/codecov-action@a1ed4b322b4b38cb846afb5a0ebfa17086917d27 diff --git a/mitmproxy/addons/export.py b/mitmproxy/addons/export.py index d1be99c7e..fa3891e34 100644 --- a/mitmproxy/addons/export.py +++ b/mitmproxy/addons/export.py @@ -134,7 +134,7 @@ formats = dict( ) -class Export(): +class Export: def load(self, loader): loader.add_option( "export_preserve_original_ip", bool, False, diff --git a/mitmproxy/tools/web/app.py b/mitmproxy/tools/web/app.py index 4d8b85e31..c4cdb1448 100644 --- a/mitmproxy/tools/web/app.py +++ b/mitmproxy/tools/web/app.py @@ -20,8 +20,8 @@ from mitmproxy import io from mitmproxy import log from mitmproxy import optmanager from mitmproxy import version +from mitmproxy.addons import export from mitmproxy.utils.strutils import always_str -from mitmproxy.addons.export import curl_command def flow_to_json(flow: mitmproxy.flow.Flow) -> dict: @@ -30,6 +30,8 @@ def flow_to_json(flow: mitmproxy.flow.Flow) -> dict: Args: flow: The original flow. + + Sync with web/src/flow.ts. """ f = { "id": flow.id, @@ -43,31 +45,42 @@ def flow_to_json(flow: mitmproxy.flow.Flow) -> dict: if flow.client_conn: f["client_conn"] = { "id": flow.client_conn.id, - "address": flow.client_conn.peername, + "peername": flow.client_conn.peername, + "sockname": flow.client_conn.sockname, "tls_established": flow.client_conn.tls_established, + "sni": flow.client_conn.sni, + "cipher": flow.client_conn.cipher, + "alpn": always_str(flow.client_conn.alpn, "ascii", "backslashreplace"), + "tls_version": flow.client_conn.tls_version, "timestamp_start": flow.client_conn.timestamp_start, "timestamp_tls_setup": flow.client_conn.timestamp_tls_setup, "timestamp_end": flow.client_conn.timestamp_end, - "sni": flow.client_conn.sni, + + # Legacy properties + "address": flow.client_conn.peername, "cipher_name": flow.client_conn.cipher, "alpn_proto_negotiated": always_str(flow.client_conn.alpn, "ascii", "backslashreplace"), - "tls_version": flow.client_conn.tls_version, } if flow.server_conn: f["server_conn"] = { "id": flow.server_conn.id, + "peername": flow.server_conn.peername, + "sockname": flow.server_conn.sockname, "address": flow.server_conn.address, - "ip_address": flow.server_conn.peername, - "source_address": flow.server_conn.sockname, "tls_established": flow.server_conn.tls_established, "sni": flow.server_conn.sni, - "alpn_proto_negotiated": always_str(flow.client_conn.alpn, "ascii", "backslashreplace"), + "cipher": flow.server_conn.cipher, + "alpn": always_str(flow.server_conn.alpn, "ascii", "backslashreplace"), "tls_version": flow.server_conn.tls_version, "timestamp_start": flow.server_conn.timestamp_start, "timestamp_tcp_setup": flow.server_conn.timestamp_tcp_setup, "timestamp_tls_setup": flow.server_conn.timestamp_tls_setup, "timestamp_end": flow.server_conn.timestamp_end, + # Legacy properties + "ip_address": flow.server_conn.peername, + "source_address": flow.server_conn.sockname, + "alpn_proto_negotiated": always_str(flow.server_conn.alpn, "ascii", "backslashreplace"), } if flow.error: f["error"] = flow.error.get_state() @@ -129,12 +142,6 @@ def logentry_to_json(e: log.LogEntry) -> dict: } -def cURL_format_to_json(cURL: str): - return { - "export": cURL - } - - class APIError(tornado.web.HTTPError): pass @@ -212,7 +219,7 @@ class IndexHandler(RequestHandler): def get(self): token = self.xsrf_token # https://github.com/tornadoweb/tornado/issues/645 assert token - self.render("index.html") + self.render("index.html", static=False, version=version.VERSION) class FilterHelp(RequestHandler): @@ -274,8 +281,11 @@ class DumpFlows(RequestHandler): class ExportFlow(RequestHandler): - def post(self, flow_id): - self.write(cURL_format_to_json(curl_command(self.flow))) + def post(self, flow_id, format): + out = export.formats[format](self.flow) + self.write({ + "export": always_str(out, "utf8", "backslashreplace") + }) class ClearAll(RequestHandler): @@ -448,42 +458,6 @@ class Events(RequestHandler): self.write([logentry_to_json(e) for e in self.master.events.data]) -class Settings(RequestHandler): - def get(self): - self.write(dict( - version=version.VERSION, - mode=str(self.master.options.mode), - intercept_active=self.master.options.intercept_active, - intercept=self.master.options.intercept, - showhost=self.master.options.showhost, - upstream_cert=self.master.options.upstream_cert, - rawtcp=self.master.options.rawtcp, - http2=self.master.options.http2, - websocket=self.master.options.websocket, - anticache=self.master.options.anticache, - anticomp=self.master.options.anticomp, - stickyauth=self.master.options.stickyauth, - stickycookie=self.master.options.stickycookie, - stream=self.master.options.stream_large_bodies, - contentViews=[v.name.replace(' ', '_') for v in contentviews.views], - listen_host=self.master.options.listen_host, - listen_port=self.master.options.listen_port, - server=self.master.options.server, - )) - - def put(self): - update = self.json - allowed_options = { - "intercept", "showhost", "upstream_cert", "ssl_insecure", - "rawtcp", "http2", "websocket", "anticache", "anticomp", - "stickycookie", "stickyauth", "stream_large_bodies" - } - for k in update: - if k not in allowed_options: - raise APIError(400, f"Unknown setting {k}") - self.master.options.update(**update) - - class Options(RequestHandler): def get(self): self.write(optmanager.dump_dicts(self.master.options)) @@ -514,6 +488,17 @@ class DnsRebind(RequestHandler): ) +class Conf(RequestHandler): + def get(self): + conf = { + "static": False, + "version": version.VERSION, + "contentViews": [v.name for v in contentviews.views] + } + self.write(f"MITMWEB_CONF = {json.dumps(conf)};") + self.set_header("content-type", "application/javascript") + + class Application(tornado.web.Application): master: "mitmproxy.tools.web.master.WebMaster" @@ -548,14 +533,14 @@ class Application(tornado.web.Application): (r"/flows/(?P[0-9a-f\-]+)/duplicate", DuplicateFlow), (r"/flows/(?P[0-9a-f\-]+)/replay", ReplayFlow), (r"/flows/(?P[0-9a-f\-]+)/revert", RevertFlow), - (r"/flows/(?P[0-9a-f\-]+)/export", ExportFlow), + (r"/flows/(?P[0-9a-f\-]+)/export/(?P[a-z][a-z_]+).json", ExportFlow), (r"/flows/(?P[0-9a-f\-]+)/(?Prequest|response)/content.data", FlowContent), ( r"/flows/(?P[0-9a-f\-]+)/(?Prequest|response)/content/(?P[0-9a-zA-Z\-\_]+)(?:\.json)?", FlowContentView), - (r"/settings(?:\.json)?", Settings), (r"/clear", ClearAll), (r"/options(?:\.json)?", Options), - (r"/options/save", SaveOptions) + (r"/options/save", SaveOptions), + (r"/conf\.js", Conf), ] ) diff --git a/mitmproxy/tools/web/master.py b/mitmproxy/tools/web/master.py index 23f932041..704ddd004 100644 --- a/mitmproxy/tools/web/master.py +++ b/mitmproxy/tools/web/master.py @@ -28,7 +28,6 @@ class WebMaster(master.Master): self.events.sig_refresh.connect(self._sig_events_refresh) self.options.changed.connect(self._sig_options_update) - self.options.changed.connect(self._sig_settings_update) self.addons.add(*addons.default_addons()) self.addons.add( @@ -93,13 +92,6 @@ class WebMaster(master.Master): data=options_dict ) - def _sig_settings_update(self, options, updated): - app.ClientConnection.broadcast( - resource="settings", - cmd="update", - data={k: getattr(options, k) for k in updated} - ) - def run(self): # pragma: no cover AsyncIOMainLoop().install() iol = tornado.ioloop.IOLoop.instance() diff --git a/mitmproxy/tools/web/static/app.css b/mitmproxy/tools/web/static/app.css index 70b37ea6a..6567eb61b 100644 --- a/mitmproxy/tools/web/static/app.css +++ b/mitmproxy/tools/web/static/app.css @@ -1,2 +1,2 @@ -html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}.resource-icon{width:32px;height:32px}.resource-icon-css{background-image:url(images/chrome-devtools/resourceCSSIcon.png)}.resource-icon-document{background-image:url(images/chrome-devtools/resourceDocumentIcon.png)}.resource-icon-js{background-image:url(images/chrome-devtools/resourceJSIcon.png)}.resource-icon-plain{background-image:url(images/chrome-devtools/resourcePlainIcon.png)}.resource-icon-executable{background-image:url(images/resourceExecutableIcon.png)}.resource-icon-flash{background-image:url(images/resourceFlashIcon.png)}.resource-icon-image{background-image:url(images/resourceImageIcon.png)}.resource-icon-java{background-image:url(images/resourceJavaIcon.png)}.resource-icon-not-modified{background-image:url(images/resourceNotModifiedIcon.png)}.resource-icon-redirect{background-image:url(images/resourceRedirectIcon.png)}#container,#mitmproxy,body,html{height:100%;margin:0;overflow:hidden}#container{display:flex;flex-direction:column;outline:0}#container>.eventlog,#container>footer,#container>header{flex:0 0 auto}.main-view{flex:1 1 auto;height:0;display:flex;flex-direction:row}.main-view.vertical{flex-direction:column}.main-view .flow-detail,.main-view .flow-table{flex:1 1 auto}.splitter{flex:0 0 1px;background-color:#aaa;position:relative}.splitter>div{position:absolute}.splitter.splitter-x{cursor:col-resize}.splitter.splitter-x>div{margin-left:-1px;width:4px;height:100%}.splitter.splitter-y{cursor:row-resize}.splitter.splitter-y>div{margin-top:-1px;height:4px;width:100%}.nav-tabs{border-bottom:solid #a6a6a6 1px}.nav-tabs a{display:inline-block;border:solid transparent 1px;text-decoration:none}.nav-tabs a.active{background-color:#fff;border-color:#a6a6a6;border-bottom-color:#fff}.nav-tabs a.special{color:#fff;background-color:#396cad;border-bottom-color:#396cad}.nav-tabs a.special:hover{background-color:#5386c6}.nav-tabs-lg a{padding:3px 14px;margin:0 2px -1px}.nav-tabs-sm a{padding:0 7px;margin:2px 2px -1px}.nav-tabs-sm a.nav-action{float:right;padding:0;margin:1px 0 0}header{padding-top:6px;background-color:#fff}header>div{display:block;margin:0;padding:0;border-bottom:solid #a6a6a6 1px;height:85px;overflow:visible}.menu-group{margin:0 3px;display:inline-block;height:85px;vertical-align:top}.menu-content{height:69px;text-align:center}.menu-content>.btn{height:69px;text-align:center;margin:0 1px;padding:12px 5px;border:none;border-radius:0}.menu-content>.btn i{font-size:20px;display:block;margin:0 auto 5px}.menu-entry{text-align:left;height:23px;line-height:1;padding:.5rem 1rem}.menu-entry label{font-size:1.2rem;font-weight:400;margin:0}.menu-entry input[type=checkbox]{margin:0 2px;vertical-align:middle}.menu-legend{height:16px;text-align:center;font-size:12px;padding:0 5px}.menu-group+.menu-group:before{margin-left:-3px;content:" ";border-left:solid 1px #e6e6e6;margin-top:10px;height:65px;position:absolute}.menu-main{margin-left:-2px;margin-right:-3px;padding:2px 5px}.filter-input{position:relative;min-height:1px;padding-left:2.5px;padding-right:2.5px;padding:2.5px}@media (min-width:768px){.filter-input{float:left;width:41.66666667%}}@media (max-width:767px){.filter-input{padding:2px 2.5px}.filter-input>.form-control,.filter-input>.input-group-addon,.filter-input>.input-group-btn>.btn{height:23.5px;padding:1px 5px;font-size:12px;line-height:1.5}}.filter-input .popover{top:27px;left:43px;display:block;max-width:none;opacity:.9}@media (max-width:767px){.filter-input .popover{top:16px;left:29px;right:2px}}.filter-input .popover .popover-content{max-height:500px;overflow-y:auto}.filter-input .popover .popover-content tr{cursor:pointer}.filter-input .popover .popover-content tr:hover{background-color:hsla(209,52%,84%,.5)!important}.connection-indicator{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em;float:right;margin:5px;opacity:1;transition:all 1s linear}a.connection-indicator:focus,a.connection-indicator:hover{color:#fff;text-decoration:none;cursor:pointer}.connection-indicator:empty{display:none}.btn .connection-indicator{position:relative;top:-1px}.connection-indicator.fetching,.connection-indicator.init{background-color:#5bc0de}.connection-indicator.established{background-color:#5cb85c;opacity:0}.connection-indicator.error{background-color:#d9534f;transition:all .2s linear}.connection-indicator.offline{background-color:#f0ad4e;opacity:1}.flow-table{width:100%;overflow-y:scroll;overflow-x:hidden}.flow-table table{width:100%;table-layout:fixed}.flow-table thead{background-color:#f2f2f2;line-height:23px}.flow-table th{font-weight:400;box-shadow:0 1px 0 #a6a6a6;position:relative!important;padding-left:1px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.flow-table th.sort-asc,.flow-table th.sort-desc{background-color:#fafafa}.flow-table th.sort-asc:after,.flow-table th.sort-desc:after{font:normal normal normal 14px/1 FontAwesome;position:absolute;right:3px;top:3px;padding:2px;background-color:rgba(250,250,250,.8)}.flow-table th.sort-asc:after{content:"\f0de"}.flow-table th.sort-desc:after{content:"\f0dd"}.flow-table tr{cursor:pointer}.flow-table tr:nth-child(even){background-color:rgba(0,0,0,.05)}.flow-table tr.selected{background-color:hsla(209,52%,84%,.5)!important}.flow-table tr.highlighted{background-color:hsla(48,100%,50%,.4)}.flow-table tr.highlighted:nth-child(even){background-color:hsla(48,100%,50%,.5)}.flow-table td{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.flow-table tr.intercepted:not(.has-response) .col-method,.flow-table tr.intercepted:not(.has-response) .col-path{color:#ff7f00}.flow-table tr.intercepted.has-response .col-size,.flow-table tr.intercepted.has-response .col-status,.flow-table tr.intercepted.has-response .col-time{color:#ff7f00}.flow-table .fa{line-height:inherit}.flow-table .fa.pull-right{margin-left:0}.flow-table .col-tls{width:10px}.flow-table .col-tls-https{background-color:rgba(0,185,0,.5)}.flow-table .col-icon{width:32px}.flow-table .col-path .fa-repeat{color:green}.flow-table .col-path .fa-pause{color:#ff7f00}.flow-table .col-path .fa-exclamation,.flow-table .col-path .fa-times{color:#8b0000}.flow-table .col-method{width:60px}.flow-table .col-status{width:50px}.flow-table .col-size{width:70px}.flow-table .col-time{width:50px}.flow-table .col-timestamp{width:auto}.flow-table td.col-size,.flow-table td.col-time{text-align:right}.flow-detail{width:100%;overflow:hidden;display:flex;flex-direction:column}.flow-detail nav{background-color:#f2f2f2}.flow-detail section{overflow-y:scroll}.flow-detail section>article{overflow:auto;padding:5px 12px 0}.flow-detail section>footer{box-shadow:0 0 3px gray;padding:2px;margin:0;height:23px}.flow-detail section.detail,.flow-detail section.error{overflow:auto;padding:5px 12px 0}.flow-detail .first-line{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;background-color:#428bca;color:#fff;margin:0 -8px;padding:4px 8px;border-radius:5px;word-break:break-all;max-height:100px;overflow-y:auto}.flow-detail .first-line .inline-input.editable{border-color:rgba(255,255,255,.5)}.flow-detail .request-line{margin-bottom:2px}.flow-detail hr{margin:0 0 5px}.inline-input{display:inline;margin:0 -3px;padding:0 3px;border:solid transparent 1px}.inline-input.editable{border-color:#ccc}.inline-input[contenteditable]{background-color:rgba(255,255,255,.2)}.inline-input[contenteditable].has-warning{color:#ffb8b8}.view-all-content-btn{float:right;margin-bottom:12px}.flow-detail table{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;width:100%;table-layout:fixed;word-break:break-all}.flow-detail table tr:not(:first-child){border-top:1px solid #f7f7f7}.flow-detail table td{vertical-align:top}.connection-table td:first-child{width:50%;padding-right:1em}.header-table td{line-height:1.3em}.header-table .header-name{width:33%}.header-table .header-colon{position:absolute;opacity:0}.header-table .inline-input{display:inline-block;width:100%;height:100%}.connection-table td,.timing-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flowview-image{text-align:center}.flowview-image img{max-width:100%;max-height:100%}.edit-flow-container{position:fixed;right:20px}.edit-flow{cursor:pointer;position:absolute;right:0;top:5px;height:40px;width:40px;border-radius:20px;z-index:10000;background-color:rgba(255,255,255,.7);border:solid 2px rgba(248,145,59,.7);text-align:center;font-size:22px;line-height:37px;transition:all .1s ease-in-out}.edit-flow:hover{background-color:rgba(239,108,0,.7);color:rgba(0,0,0,.8);border:solid 2px transparent}.eventlog{height:200px;flex:0 0 auto;display:flex;flex-direction:column}.eventlog>div{background-color:#f2f2f2;padding:0 5px;flex:0 0 auto;border-top:1px solid #aaa;cursor:row-resize}.eventlog>pre{flex:1 1 auto;margin:0;border-radius:0;overflow-x:auto;overflow-y:scroll;background-color:#fcfcfc}.eventlog .fa-close{cursor:pointer;float:right;color:grey;padding:3px 0;padding-left:10px}.eventlog .fa-close:hover{color:#000}.eventlog .btn-toggle{margin-top:-2px;margin-left:3px;padding:2px 2px;font-size:10px;line-height:10px;border-radius:2px}.eventlog .label{cursor:pointer;vertical-align:middle;display:inline-block;margin-top:-2px;margin-left:3px}footer{box-shadow:0 -1px 3px #d3d3d3;padding:0 10px 3px}footer .label{margin-right:3px}.CodeMirror{border:1px solid #ccc;height:auto!important}.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor-mark{background-color:rgba(20,255,20,.5);-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite}.cm-animate-fat-cursor{width:auto;border:0;-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite;background-color:#7e7}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:-20px;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta{color:#555}.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error{color:red}.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-30px;margin-right:-30px;padding-bottom:30px;height:100%;outline:0;position:relative}.CodeMirror-sizer{position:relative;border-right:30px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-30px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:0 0!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:0 0;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;overflow:auto}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:''}span.CodeMirror-selectedtext{background:0 0}.contentview .header{font-weight:700}.contentview .highlight{font-weight:700}.contentview .offset{color:#00f}.contentview .codeeditor{margin-bottom:12px}.modal-visible{display:block}.modal-dialog{overflow-y:initial!important}.modal-body{max-height:calc(100vh - 200px);overflow-y:auto} +html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}.resource-icon{width:32px;height:32px}.resource-icon-css{background-image:url(images/chrome-devtools/resourceCSSIcon.png)}.resource-icon-document{background-image:url(images/chrome-devtools/resourceDocumentIcon.png)}.resource-icon-js{background-image:url(images/chrome-devtools/resourceJSIcon.png)}.resource-icon-plain{background-image:url(images/chrome-devtools/resourcePlainIcon.png)}.resource-icon-executable{background-image:url(images/resourceExecutableIcon.png)}.resource-icon-flash{background-image:url(images/resourceFlashIcon.png)}.resource-icon-image{background-image:url(images/resourceImageIcon.png)}.resource-icon-java{background-image:url(images/resourceJavaIcon.png)}.resource-icon-not-modified{background-image:url(images/resourceNotModifiedIcon.png)}.resource-icon-redirect{background-image:url(images/resourceRedirectIcon.png)}#container,#mitmproxy,body,html{height:100%;margin:0;overflow:hidden}#container{display:flex;flex-direction:column;outline:0}#container>.eventlog,#container>footer,#container>header{flex:0 0 auto}.main-view{flex:1 1 auto;height:0;display:flex;flex-direction:row}.main-view.vertical{flex-direction:column}.main-view .flow-detail,.main-view .flow-table{flex:1 1 auto}.splitter{flex:0 0 1px;background-color:#aaa;position:relative}.splitter>div{position:absolute}.splitter.splitter-x{cursor:col-resize}.splitter.splitter-x>div{margin-left:-1px;width:4px;height:100%}.splitter.splitter-y{cursor:row-resize}.splitter.splitter-y>div{margin-top:-1px;height:4px;width:100%}.nav-tabs{border-bottom:solid #a6a6a6 1px}.nav-tabs>a{display:inline-block;border:solid transparent 1px;text-decoration:none}.nav-tabs>a.active{background-color:#fff;border-color:#a6a6a6;border-bottom-color:#fff}.nav-tabs>a.special{color:#fff;background-color:#396cad;border-bottom-color:#396cad}.nav-tabs>a.special:hover{background-color:#5386c6}.nav-tabs-lg>a{padding:3px 14px;margin:0 2px -1px}.nav-tabs-sm>a{padding:0 7px;margin:2px 2px -1px}.nav-tabs-sm>a.nav-action{float:right;padding:0;margin:1px 0 0}header{padding-top:6px;background-color:#fff}header>div{display:block;margin:0;padding:0;border-bottom:solid #a6a6a6 1px;height:95px;overflow:visible}.menu-group{margin:0 5px 0 6px;display:inline-block;height:95px}.menu-content{height:79px;display:flow-root}.menu-content>.btn{height:79px;text-align:center;margin:0 1px;padding:12px 5px;border:none;border-radius:0}.menu-content>.btn i{font-size:20px;display:block;margin:0 auto 5px}.menu-content>.btn.btn-sm{height:26.33333333px;padding:0 5px}.menu-content>.btn.btn-sm i{display:inline-block;font-size:14px;margin:0}.menu-entry{text-align:left;height:26.33333333px;line-height:1;padding:.5rem 1rem}.menu-entry label{font-size:1.2rem;font-weight:400;margin:0}.menu-entry input[type=checkbox]{margin:0 2px;vertical-align:middle}.menu-legend{color:#777;height:16px;text-align:center;font-size:12px;padding:0 5px}.menu-group+.menu-group:before{margin-left:-6px;content:" ";border-left:solid 1px #e6e6e6;margin-top:10px;height:75px;position:absolute}.main-menu{display:flex}.main-menu .menu-group{width:50%}.main-menu .btn-sm{margin-top:6px}.filter-input{margin:4px 0}.filter-input .popover{top:27px;left:43px;display:block;max-width:none;opacity:.9}@media (max-width:767px){.filter-input .popover{top:16px;left:29px;right:2px}}.filter-input .popover .popover-content{max-height:500px;overflow-y:auto}.filter-input .popover .popover-content tr{cursor:pointer}.filter-input .popover .popover-content tr:hover{background-color:hsla(209,52%,84%,.5)!important}.connection-indicator{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em;float:right;margin:5px;opacity:1;transition:all 1s linear}a.connection-indicator:focus,a.connection-indicator:hover{color:#fff;text-decoration:none;cursor:pointer}.connection-indicator:empty{display:none}.btn .connection-indicator{position:relative;top:-1px}.connection-indicator.fetching,.connection-indicator.init{background-color:#5bc0de}.connection-indicator.established{background-color:#5cb85c;opacity:0}.connection-indicator.error{background-color:#d9534f;transition:all .2s linear}.connection-indicator.offline{background-color:#f0ad4e;opacity:1}.flow-table{width:100%;overflow-y:scroll;overflow-x:hidden}.flow-table table{width:100%;table-layout:fixed}.flow-table thead tr{background-color:#f2f2f2;border-bottom:solid #bebebe 1px;line-height:23px}.flow-table th{font-weight:400;position:relative!important;padding-left:1px;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.flow-table th.sort-asc,.flow-table th.sort-desc{background-color:#fafafa}.flow-table th.sort-asc:after,.flow-table th.sort-desc:after{font:normal normal normal 14px/1 FontAwesome;position:absolute;right:3px;top:3px;padding:2px;background-color:rgba(250,250,250,.8)}.flow-table th.sort-asc:after{content:"\f0de"}.flow-table th.sort-desc:after{content:"\f0dd"}.flow-table tr{cursor:pointer;background-color:#fff}.flow-table tr:nth-child(even){background-color:#f2f2f2}.flow-table tr.selected{background-color:#e0ebf5!important}.flow-table tr.highlighted{background-color:#ffeb99}.flow-table tr.highlighted:nth-child(even){background-color:#ffe57f}.flow-table td{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.flow-table tr.intercepted:not(.has-response) .col-method,.flow-table tr.intercepted:not(.has-response) .col-path{color:#ff7f00}.flow-table tr.intercepted.has-response .col-size,.flow-table tr.intercepted.has-response .col-status,.flow-table tr.intercepted.has-response .col-time{color:#ff7f00}.flow-table .fa{line-height:inherit}.flow-table .col-tls{width:10px}.flow-table .col-tls-https{background-color:rgba(0,185,0,.5)}.flow-table .col-icon{width:32px}.flow-table .col-path .fa{margin-left:0}.flow-table .col-path .fa-repeat{color:green}.flow-table .col-path .fa-pause{color:#ff7f00}.flow-table .col-path .fa-exclamation,.flow-table .col-path .fa-times{color:#8b0000}.flow-table .col-method{width:60px}.flow-table .col-status{width:50px}.flow-table .col-size{width:70px}.flow-table .col-time{width:50px}.flow-table .col-timestamp{width:auto}.flow-table td.col-size,.flow-table td.col-time{text-align:right}.flow-table .col-quickactions{width:0;direction:rtl;overflow:hidden;background-color:inherit;font-size:20px}.flow-table .col-quickactions *{direction:ltr}.flow-table .col-quickactions.hover,.flow-table tr:hover .col-quickactions{overflow:visible}.flow-table .col-quickactions>div{height:32px;background-color:inherit;display:inline-flex;align-items:center}.flow-table .col-quickactions>div>a{margin-right:2px;height:32px;width:32px;border-radius:16px;text-align:center}.flow-table .col-quickactions>div>a.open,.flow-table .col-quickactions>div>a:hover{background-color:rgba(0,0,0,.05)}.flow-table .col-quickactions .fa-ellipsis-h{transform:translate(0,3px)}.flow-table .col-quickactions .fa-play{transform:translate(1px,2px)}.flow-table .col-quickactions .fa-repeat{transform:translate(0,2px)}.flow-detail{width:100%;overflow:hidden;display:flex;flex-direction:column}.flow-detail nav{background-color:#f2f2f2}.flow-detail section{overflow-y:scroll}.flow-detail section>article{overflow:auto;padding:5px 12px 0}.flow-detail section>footer{box-shadow:0 0 3px gray;padding:2px;margin:0;height:23px}.flow-detail section.detail,.flow-detail section.error{overflow:auto;padding:5px 12px 0}.flow-detail .first-line{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;background-color:#428bca;color:#fff;margin:0 -8px;padding:4px 8px;border-radius:5px;word-break:break-all;max-height:100px;overflow-y:auto}.flow-detail .first-line .inline-input.editable{border-color:rgba(255,255,255,.5)}.flow-detail .request-line{margin-bottom:2px}.flow-detail hr{margin:0 0 5px}.inline-input{display:inline;margin:0 -3px;padding:0 3px;border:solid transparent 1px}.inline-input.editable{border-color:#ccc}.inline-input[contenteditable]{background-color:rgba(255,255,255,.2)}.inline-input[contenteditable].has-warning{color:#ffb8b8}.view-all-content-btn{float:right;margin-bottom:12px}.flow-detail table{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;width:100%;table-layout:fixed;word-break:break-all}.flow-detail table tr:not(:first-child){border-top:1px solid #f7f7f7}.flow-detail table td{vertical-align:top}.connection-table td:first-child{width:50%;padding-right:1em}.header-table td{line-height:1.3em}.header-table .header-name{width:33%}.header-table .header-colon{position:absolute;opacity:0}.header-table .inline-input{display:inline-block;width:100%;height:100%}.connection-table td,.timing-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flowview-image{text-align:center}.flowview-image img{max-width:100%;max-height:100%}.edit-flow-container{position:fixed;right:20px}.edit-flow{cursor:pointer;position:absolute;right:0;top:5px;height:40px;width:40px;border-radius:20px;z-index:10000;background-color:rgba(255,255,255,.7);border:solid 2px rgba(248,145,59,.7);text-align:center;font-size:22px;line-height:37px;transition:all .1s ease-in-out}.edit-flow:hover{background-color:rgba(239,108,0,.7);color:rgba(0,0,0,.8);border:solid 2px transparent}.eventlog{height:200px;flex:0 0 auto;display:flex;flex-direction:column}.eventlog>div{background-color:#f2f2f2;padding:0 5px;flex:0 0 auto;border-top:1px solid #aaa;cursor:row-resize}.eventlog>pre{flex:1 1 auto;margin:0;border-radius:0;overflow-x:auto;overflow-y:scroll;background-color:#fcfcfc}.eventlog .fa-close{cursor:pointer;float:right;color:grey;padding:3px 0;padding-left:10px}.eventlog .fa-close:hover{color:#000}.eventlog .btn-toggle{margin-top:-2px;margin-left:3px;padding:2px 2px;font-size:10px;line-height:10px;border-radius:2px}.eventlog .label{cursor:pointer;vertical-align:middle;display:inline-block;margin-top:-2px;margin-left:3px}footer{box-shadow:0 -1px 3px #d3d3d3;padding:0 10px 3px}footer .label{margin-right:3px}.CodeMirror{border:1px solid #ccc;height:auto!important}.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor-mark{background-color:rgba(20,255,20,.5);-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite}.cm-animate-fat-cursor{width:auto;border:0;-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite;background-color:#7e7}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta{color:#555}.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error{color:red}.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:0;position:relative}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none;outline:0}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:0 0!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:0 0;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:''}span.CodeMirror-selectedtext{background:0 0}.contentview .header{font-weight:700}.contentview .highlight{font-weight:700}.contentview .offset{color:#00f}.contentview .codeeditor{margin-bottom:12px}.modal-visible{display:block}.modal-dialog{overflow-y:initial!important}.modal-body{max-height:calc(100vh - 200px);overflow-y:auto}.dropdown-menu{margin:0!important}.dropdown-menu>li>a{padding:3px 10px} /*# sourceMappingURL=app.css.map */ diff --git a/mitmproxy/tools/web/static/app.js b/mitmproxy/tools/web/static/app.js index 936f0519c..b249275ee 100644 --- a/mitmproxy/tools/web/static/app.js +++ b/mitmproxy/tools/web/static/app.js @@ -1,216 +1,113 @@ -(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o1048576*(_ContentViews.ViewImage.matches(e)?10:.2)},exports.default=(0,_reactRedux.connect)(function(e){return{contentView:e.ui.flow.contentView,isDisplayLarge:e.ui.flow.displayLarge}},{displayLarge:_flow.displayLarge,updateEdit:_flow.updateEdit})(ContentView); - -},{"../ducks/ui/flow":60,"./ContentView/ContentViews":8,"./ContentView/MetaViews":10,"./ContentView/ShowFullContentButton":11,"prop-types":"prop-types","react":"react","react-redux":"react-redux"}],5:[function(require,module,exports){ -"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function CodeEditor(e){var r=e.content,t=e.onChange;return _react2.default.createElement("div",{className:"codeeditor",onKeyDown:function(e){return e.stopPropagation()}},_react2.default.createElement(_reactCodemirror2.default,{value:r,onChange:t,options:{lineNumbers:!0}}))}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=CodeEditor;var _react=require("react"),_react2=_interopRequireDefault(_react),_propTypes=require("prop-types"),_propTypes2=_interopRequireDefault(_propTypes),_reactCodemirror=require("react-codemirror"),_reactCodemirror2=_interopRequireDefault(_reactCodemirror);CodeEditor.propTypes={content:_propTypes2.default.string.isRequired,onChange:_propTypes2.default.func.isRequired}; - -},{"prop-types":"prop-types","react":"react","react-codemirror":"react-codemirror"}],6:[function(require,module,exports){ -"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function withContentLoader(e){var t,n;return n=t=function(t){function n(e){_classCallCheck(this,n);var t=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e));return t.state={content:void 0,request:void 0},t}return _inherits(n,_react2.default.Component),_createClass(n,[{key:"componentWillMount",value:function(){this.updateContent(this.props)}},{key:"componentWillReceiveProps",value:function(e){e.message.content===this.props.message.content&&e.message.contentHash===this.props.message.contentHash&&e.contentView===this.props.contentView||this.updateContent(e)}},{key:"componentWillUnmount",value:function(){this.state.request&&this.state.request.abort()}},{key:"updateContent",value:function(e){if(this.state.request&&this.state.request.abort(),void 0!==e.message.content)return this.setState({request:void 0,content:e.message.content});if(0===e.message.contentLength||null===e.message.contentLength)return this.setState({request:void 0,content:""});var t=_utils.MessageUtils.getContentURL(e.flow,e.message,e.contentView),n=new XMLHttpRequest;n.addEventListener("load",this.requestComplete.bind(this,n)),n.addEventListener("error",this.requestFailed.bind(this,n)),n.open("GET",t),n.send(),this.setState({request:n,content:void 0})}},{key:"requestComplete",value:function(e,t){e===this.state.request&&this.setState({content:e.responseText,request:void 0})}},{key:"requestFailed",value:function(e,t){e===this.state.request&&(console.error(t),this.setState({content:"Error getting content.",request:void 0}))}},{key:"render",value:function(){return void 0!==this.state.content?_react2.default.createElement(e,_extends({content:this.state.content},this.props)):_react2.default.createElement("div",{className:"text-center"},_react2.default.createElement("i",{className:"fa fa-spinner fa-spin"}))}}]),n}(),t.displayName=e.displayName||e.name,t.matches=e.matches,t.propTypes=_extends({},e.propTypes,{content:_propTypes2.default.string,flow:_propTypes2.default.object.isRequired,message:_propTypes2.default.object.isRequired}),n}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(e){for(var t=1;ts+c&&(r.scrollTop=u-c)}}},{key:"componentWillReceiveProps",value:function(e){e.selected&&e.selected!==this.props.selected&&(this.shouldScrollIntoView=!0)}},{key:"onViewportUpdate",value:function(){var e=_reactDom2.default.findDOMNode(this),t=e.scrollTop,o=(0,_VirtualScroll.calcVScroll)({viewportTop:t,viewportHeight:e.offsetHeight,itemCount:this.props.flows.length,rowHeight:this.props.rowHeight});this.state.viewportTop===t&&(0,_shallowequal2.default)(this.state.vScroll,o)||this.setState({vScroll:o,viewportTop:t})}},{key:"render",value:function(){var e=this,t=this.state,o=t.vScroll,l=t.viewportTop,r=this.props,i=r.flows,a=r.selected,n=r.highlight,u=n?_filt2.default.parse(n):function(){return!1};return _react2.default.createElement("div",{className:"flow-table",onScroll:this.onViewportUpdate},_react2.default.createElement("table",null,_react2.default.createElement("thead",{ref:"head",style:{transform:"translateY("+l+"px)"}},_react2.default.createElement(_FlowTableHead2.default,null)),_react2.default.createElement("tbody",null,_react2.default.createElement("tr",{style:{height:o.paddingTop}}),i.slice(o.start,o.end).map(function(t){return _react2.default.createElement(_FlowRow2.default,{key:t.id,flow:t,selected:t===a,highlighted:u(t),onSelect:e.props.selectFlow})}),_react2.default.createElement("tr",{style:{height:o.paddingBottom}}))))}}]),t}();FlowTable.propTypes={selectFlow:_propTypes2.default.func.isRequired,flows:_propTypes2.default.array.isRequired,rowHeight:_propTypes2.default.number,highlight:_propTypes2.default.string,selected:_propTypes2.default.object},FlowTable.defaultProps={rowHeight:32};var PureFlowTable=exports.PureFlowTable=(0,_AutoScroll2.default)(FlowTable);exports.default=(0,_reactRedux.connect)(function(e){return{flows:e.flows.view,highlight:e.flows.highlight,selected:e.flows.byId[e.flows.selected[0]]}},{selectFlow:flowsActions.select})(PureFlowTable); - -},{"../ducks/flows":56,"../filt/filt":67,"./FlowTable/FlowRow":18,"./FlowTable/FlowTableHead":19,"./helpers/AutoScroll":52,"./helpers/VirtualScroll":53,"prop-types":"prop-types","react":"react","react-dom":"react-dom","react-redux":"react-redux","shallowequal":"shallowequal"}],17:[function(require,module,exports){ -"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function TLSColumn(e){var t=e.flow;return _react2.default.createElement("td",{className:(0,_classnames2.default)("col-tls","https"===t.request.scheme?"col-tls-https":"col-tls-http")})}function IconColumn(e){var t=e.flow;return _react2.default.createElement("td",{className:"col-icon"},_react2.default.createElement("div",{className:(0,_classnames2.default)("resource-icon",IconColumn.getIcon(t))}))}function PathColumn(e){var t=e.flow,s=void 0;return t.error&&(s="Connection killed."===t.error.msg?_react2.default.createElement("i",{className:"fa fa-fw fa-times pull-right"}):_react2.default.createElement("i",{className:"fa fa-fw fa-exclamation pull-right"})),_react2.default.createElement("td",{className:"col-path"},t.request.is_replay&&_react2.default.createElement("i",{className:"fa fa-fw fa-repeat pull-right"}),t.intercepted&&_react2.default.createElement("i",{className:"fa fa-fw fa-pause pull-right"}),s,_utils.RequestUtils.pretty_url(t.request))}function MethodColumn(e){var t=e.flow;return _react2.default.createElement("td",{className:"col-method"},t.request.method)}function StatusColumn(e){var t=e.flow,s="darkred";return t.response&&100<=t.response.status_code&&t.response.status_code<200?s="green":t.response&&200<=t.response.status_code&&t.response.status_code<300?s="darkgreen":t.response&&300<=t.response.status_code&&t.response.status_code<400?s="lightblue":t.response&&400<=t.response.status_code&&t.response.status_code<500?s="lightred":t.response&&500<=t.response.status_code&&t.response.status_code<600&&(s="lightred"),_react2.default.createElement("td",{className:"col-status",style:{color:s}},t.response&&t.response.status_code)}function SizeColumn(e){var t=e.flow;return _react2.default.createElement("td",{className:"col-size"},(0,_utils2.formatSize)(SizeColumn.getTotalSize(t)))}function TimeColumn(e){var t=e.flow;return _react2.default.createElement("td",{className:"col-time"},t.response?(0,_utils2.formatTimeDelta)(1e3*(t.response.timestamp_end-t.request.timestamp_start)):"...")}function TimeStampColumn(e){var t=e.flow;return _react2.default.createElement("td",{className:"col-start"},t.request.timestamp_start?(0,_utils2.formatTimeStamp)(t.request.timestamp_start):"...")}Object.defineProperty(exports,"__esModule",{value:!0}),exports.defaultColumnNames=void 0,exports.TLSColumn=TLSColumn,exports.IconColumn=IconColumn,exports.PathColumn=PathColumn,exports.MethodColumn=MethodColumn,exports.StatusColumn=StatusColumn,exports.SizeColumn=SizeColumn,exports.TimeColumn=TimeColumn,exports.TimeStampColumn=TimeStampColumn;var _react=require("react"),_react2=_interopRequireDefault(_react),_classnames=require("classnames"),_classnames2=_interopRequireDefault(_classnames),_utils=require("../../flow/utils.js"),_utils2=require("../../utils.js"),defaultColumnNames=exports.defaultColumnNames=["tls","icon","path","method","status","size","time"];TLSColumn.headerClass="col-tls",TLSColumn.headerName="",IconColumn.headerClass="col-icon",IconColumn.headerName="",IconColumn.getIcon=function(e){if(!e.response)return"resource-icon-plain";var t=_utils.ResponseUtils.getContentType(e.response)||"";return 304===e.response.status_code?"resource-icon-not-modified":300<=e.response.status_code&&e.response.status_code<400?"resource-icon-redirect":t.indexOf("image")>=0?"resource-icon-image":t.indexOf("javascript")>=0?"resource-icon-js":t.indexOf("css")>=0?"resource-icon-css":t.indexOf("html")>=0?"resource-icon-document":"resource-icon-plain"},PathColumn.headerClass="col-path",PathColumn.headerName="Path",MethodColumn.headerClass="col-method",MethodColumn.headerName="Method",StatusColumn.headerClass="col-status",StatusColumn.headerName="Status",SizeColumn.getTotalSize=function(e){var t=e.request.contentLength;return e.response&&(t+=e.response.contentLength||0),t},SizeColumn.headerClass="col-size",SizeColumn.headerName="Size",TimeColumn.headerClass="col-time",TimeColumn.headerName="Time",TimeStampColumn.headerClass="col-timestamp",TimeStampColumn.headerName="TimeStamp",exports.default=[TLSColumn,IconColumn,PathColumn,MethodColumn,StatusColumn,TimeStampColumn,SizeColumn,TimeColumn]; - -},{"../../flow/utils.js":68,"../../utils.js":70,"classnames":"classnames","react":"react"}],18:[function(require,module,exports){ -"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function FlowRow(e){var t=e.flow,r=e.selected,l=e.highlighted,o=e.onSelect,s=e.displayColumnNames,u=(0,_classnames2.default)({selected:r,highlighted:l,intercepted:t.intercepted,"has-request":t.request,"has-response":t.response}),a=(0,_FlowTableHead.getDisplayColumns)(s);return _react2.default.createElement("tr",{className:u,onClick:function(){return o(t.id)}},a.map(function(e){return _react2.default.createElement(e,{key:e.name,flow:t})}))}Object.defineProperty(exports,"__esModule",{value:!0});var _react=require("react"),_react2=_interopRequireDefault(_react),_propTypes=require("prop-types"),_propTypes2=_interopRequireDefault(_propTypes),_classnames=require("classnames"),_classnames2=_interopRequireDefault(_classnames),_FlowColumns=require("./FlowColumns"),_utils=require("../../utils"),_FlowTableHead=require("./FlowTableHead"),_reactRedux=require("react-redux");FlowRow.propTypes={onSelect:_propTypes2.default.func.isRequired,flow:_propTypes2.default.object.isRequired,highlighted:_propTypes2.default.bool,selected:_propTypes2.default.bool},exports.default=(0,_reactRedux.connect)(function(e){return{displayColumnNames:e.options.web_columns?e.options.web_columns.value:_FlowColumns.defaultColumnNames}})((0,_utils.pure)(FlowRow)); - -},{"../../utils":70,"./FlowColumns":17,"./FlowTableHead":19,"classnames":"classnames","prop-types":"prop-types","react":"react","react-redux":"react-redux"}],19:[function(require,module,exports){ -"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getDisplayColumns(e){var r=[];if(void 0===e)return _FlowColumns2.default;var o=!0,s=!1,t=void 0;try{for(var l,a=_FlowColumns2.default[Symbol.iterator]();!(o=(l=a.next()).done);o=!0){var u=l.value;e.includes(u.name.slice(0,-6).toLowerCase())&&r.push(u)}}catch(e){s=!0,t=e}finally{try{!o&&a.return&&a.return()}finally{if(s)throw t}}return r}function FlowTableHead(e){var r=e.sortColumn,o=e.sortDesc,s=e.setSort,t=e.displayColumnNames,l=o?"sort-desc":"sort-asc",a=getDisplayColumns(t);return _react2.default.createElement("tr",null,a.map(function(e){return _react2.default.createElement("th",{className:(0,_classnames2.default)(e.headerClass,r===e.name&&l),key:e.name,onClick:function(){return s(e.name,e.name===r&&!o)}},e.headerName)}))}Object.defineProperty(exports,"__esModule",{value:!0}),exports.getDisplayColumns=getDisplayColumns,exports.FlowTableHead=FlowTableHead;var _react=require("react"),_react2=_interopRequireDefault(_react),_propTypes=require("prop-types"),_propTypes2=_interopRequireDefault(_propTypes),_reactRedux=require("react-redux"),_classnames=require("classnames"),_classnames2=_interopRequireDefault(_classnames),_FlowColumns=require("./FlowColumns"),_FlowColumns2=_interopRequireDefault(_FlowColumns),_flows=require("../../ducks/flows");FlowTableHead.propTypes={setSort:_propTypes2.default.func.isRequired,sortDesc:_propTypes2.default.bool.isRequired,sortColumn:_propTypes2.default.string,displayColumnNames:_propTypes2.default.array},exports.default=(0,_reactRedux.connect)(function(e){return{sortDesc:e.flows.sort.desc,sortColumn:e.flows.sort.column,displayColumnNames:e.options.web_columns?e.options.web_columns.value:_FlowColumns.defaultColumnNames}},{setSort:_flows.setSort})(FlowTableHead); - -},{"../../ducks/flows":56,"./FlowColumns":17,"classnames":"classnames","prop-types":"prop-types","react":"react","react-redux":"react-redux"}],20:[function(require,module,exports){ -"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function FlowView(e){var r=e.flow,a=e.tabName,t=e.selectTab,s=["request","response","error"].filter(function(e){return r[e]});s.push("details"),s.indexOf(a)<0&&(a="response"===a&&r.error?"error":"error"===a&&r.response?"response":s[0]);var l=allTabs[_lodash2.default.capitalize(a)];return _react2.default.createElement("div",{className:"flow-detail"},_react2.default.createElement(_Nav2.default,{tabs:s,active:a,onSelectTab:t}),_react2.default.createElement(l,{flow:r}))}Object.defineProperty(exports,"__esModule",{value:!0}),exports.allTabs=void 0;var _react=require("react"),_react2=_interopRequireDefault(_react),_reactRedux=require("react-redux"),_lodash=require("lodash"),_lodash2=_interopRequireDefault(_lodash),_Nav=require("./FlowView/Nav"),_Nav2=_interopRequireDefault(_Nav),_Messages=require("./FlowView/Messages"),_Details=require("./FlowView/Details"),_Details2=_interopRequireDefault(_Details),_flow=require("../ducks/ui/flow"),allTabs=exports.allTabs={Request:_Messages.Request,Response:_Messages.Response,Error:_Messages.ErrorView,Details:_Details2.default};exports.default=(0,_reactRedux.connect)(function(e){return{flow:e.flows.byId[e.flows.selected[0]],tabName:e.ui.flow.tab}},{selectTab:_flow.selectTab})(FlowView); - -},{"../ducks/ui/flow":60,"./FlowView/Details":21,"./FlowView/Messages":23,"./FlowView/Nav":24,"lodash":"lodash","react":"react","react-redux":"react-redux"}],21:[function(require,module,exports){ -"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function TimeStamp(e){var t=e.t,a=e.deltaTo,r=e.title;return t?_react2.default.createElement("tr",null,_react2.default.createElement("td",null,r,":"),_react2.default.createElement("td",null,(0,_utils.formatTimeStamp)(t),a&&_react2.default.createElement("span",{className:"text-muted"},"(",(0,_utils.formatTimeDelta)(1e3*(t-a)),")"))):_react2.default.createElement("tr",null)}function ConnectionInfo(e){var t=e.conn;return _react2.default.createElement("table",{className:"connection-table"},_react2.default.createElement("tbody",null,_react2.default.createElement("tr",{key:"address"},_react2.default.createElement("td",null,"Address:"),_react2.default.createElement("td",null,t.address.join(":"))),t.sni&&_react2.default.createElement("tr",{key:"sni"},_react2.default.createElement("td",null,_react2.default.createElement("abbr",{title:"TLS Server Name Indication"},"TLS SNI:")),_react2.default.createElement("td",null,t.sni)),t.tls_version&&_react2.default.createElement("tr",{key:"tls_version"},_react2.default.createElement("td",null,"TLS version:"),_react2.default.createElement("td",null,t.tls_version)),t.cipher_name&&_react2.default.createElement("tr",{key:"cipher_name"},_react2.default.createElement("td",null,"cipher name:"),_react2.default.createElement("td",null,t.cipher_name)),t.alpn_proto_negotiated&&_react2.default.createElement("tr",{key:"ALPN"},_react2.default.createElement("td",null,_react2.default.createElement("abbr",{title:"ALPN protocol negotiated"},"ALPN:")),_react2.default.createElement("td",null,t.alpn_proto_negotiated)),t.ip_address&&_react2.default.createElement("tr",{key:"ip_address"},_react2.default.createElement("td",null,"Resolved address:"),_react2.default.createElement("td",null,t.ip_address.join(":"))),t.source_address&&_react2.default.createElement("tr",{key:"source_address"},_react2.default.createElement("td",null,"Source address:"),_react2.default.createElement("td",null,t.source_address.join(":")))))}function CertificateInfo(e){var t=e.flow;return _react2.default.createElement("div",null,t.client_conn.cert&&[_react2.default.createElement("h4",{key:"name"},"Client Certificate"),_react2.default.createElement("pre",{key:"value",style:{maxHeight:100}},t.client_conn.cert)],t.server_conn.cert&&[_react2.default.createElement("h4",{key:"name"},"Server Certificate"),_react2.default.createElement("pre",{key:"value",style:{maxHeight:100}},t.server_conn.cert)])}function Timing(e){var t=e.flow,a=t.server_conn,r=t.client_conn,l=t.request,n=t.response,c=[{title:"Server conn. initiated",t:a.timestamp_start,deltaTo:l.timestamp_start},{title:"Server conn. TCP handshake",t:a.timestamp_tcp_setup,deltaTo:l.timestamp_start},{title:"Server conn. SSL handshake",t:a.timestamp_ssl_setup,deltaTo:l.timestamp_start},{title:"Client conn. established",t:r.timestamp_start,deltaTo:l.timestamp_start},{title:"Client conn. SSL handshake",t:r.timestamp_ssl_setup,deltaTo:l.timestamp_start},{title:"First request byte",t:l.timestamp_start},{title:"Request complete",t:l.timestamp_end,deltaTo:l.timestamp_start},n&&{title:"First response byte",t:n.timestamp_start,deltaTo:l.timestamp_start},n&&{title:"Response complete",t:n.timestamp_end,deltaTo:l.timestamp_start}];return _react2.default.createElement("div",null,_react2.default.createElement("h4",null,"Timing"),_react2.default.createElement("table",{className:"timing-table"},_react2.default.createElement("tbody",null,c.filter(function(e){return e}).sort(function(e,t){return e.t-t.t}).map(function(e){return _react2.default.createElement(TimeStamp,_extends({key:e.title},e))}))))}function Details(e){var t=e.flow;return _react2.default.createElement("section",{className:"detail"},_react2.default.createElement("h4",null,"Client Connection"),_react2.default.createElement(ConnectionInfo,{conn:t.client_conn}),t.server_conn.address&&[_react2.default.createElement("h4",null,"Server Connection"),_react2.default.createElement(ConnectionInfo,{conn:t.server_conn})],_react2.default.createElement(CertificateInfo,{flow:t}),_react2.default.createElement(Timing,{flow:t}))}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.HeaderEditor=void 0;var _extends=Object.assign||function(e){for(var t=1;t0&&(r.preventDefault(),this.refs[e-1+"-value"].focus())}},{key:"render",value:function(){var e=this,t=this.props,r=t.message,n=t.readonly;return r[this.props.type]?_react2.default.createElement("table",{className:"header-table"},_react2.default.createElement("tbody",null,r[this.props.type].map(function(t,r){return _react2.default.createElement("tr",{key:r},_react2.default.createElement("td",{className:"header-name"},_react2.default.createElement(HeaderEditor,{ref:r+"-key",content:t[0],readonly:n,onDone:function(t){return e.onChange(r,0,t)},onRemove:function(t){return e.onRemove(r,0,t)},onTab:function(t){return e.onTab(r,0,t)}}),_react2.default.createElement("span",{className:"header-colon"},":")),_react2.default.createElement("td",{className:"header-value"},_react2.default.createElement(HeaderEditor,{ref:r+"-value",content:t[1],readonly:n,onDone:function(t){return e.onChange(r,1,t)},onRemove:function(t){return e.onRemove(r,1,t)},onTab:function(t){return e.onTab(r,1,t)}})))}))):_react2.default.createElement("table",{className:"header-table"},_react2.default.createElement("tbody",null))}}]),t}();Headers.propTypes={onChange:_propTypes2.default.func.isRequired,message:_propTypes2.default.object.isRequired,type:_propTypes2.default.string.isRequired},Headers.defaultProps={type:"headers"},exports.default=Headers; - -},{"../../utils":70,"../ValueEditor/ValueEditor":44,"prop-types":"prop-types","react":"react","react-dom":"react-dom"}],23:[function(require,module,exports){ -"use strict";function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function RequestLine(e){var t=e.flow,r=e.readonly,n=e.updateFlow;return _react2.default.createElement("div",{className:"first-line request-line"},_react2.default.createElement("div",null,_react2.default.createElement(_ValueEditor2.default,{content:t.request.method,readonly:r,onDone:function(e){return n({request:{method:e}})}})," ",_react2.default.createElement(_ValidateEditor2.default,{content:_utils.RequestUtils.pretty_url(t.request),readonly:r,onDone:function(e){return n({request:_extends({path:""},(0,_utils.parseUrl)(e))})},isValid:function(e){return!!(0,_utils.parseUrl)(e).host}})," ",_react2.default.createElement(_ValidateEditor2.default,{content:t.request.http_version,readonly:r,onDone:function(e){return n({request:{http_version:e}})},isValid:_utils.isValidHttpVersion})))}function ResponseLine(e){var t=e.flow,r=e.readonly,n=e.updateFlow;return _react2.default.createElement("div",{className:"first-line response-line"},_react2.default.createElement(_ValidateEditor2.default,{content:t.response.http_version,readonly:r,onDone:function(e){return n({response:{http_version:e}})},isValid:_utils.isValidHttpVersion})," ",_react2.default.createElement(_ValidateEditor2.default,{content:t.response.status_code+"",readonly:r,onDone:function(e){return n({response:{code:parseInt(e)}})},isValid:function(e){return/^\d+$/.test(e)}})," ",_react2.default.createElement(_ValueEditor2.default,{content:t.response.reason,readonly:r,onDone:function(e){return n({response:{msg:e}})}}))}function ErrorView(e){var t=e.flow;return _react2.default.createElement("section",{className:"error"},_react2.default.createElement("div",{className:"alert alert-warning"},t.error.msg,_react2.default.createElement("div",null,_react2.default.createElement("small",null,(0,_utils2.formatTimeStamp)(t.error.timestamp)))))}Object.defineProperty(exports,"__esModule",{value:!0}),exports.Response=exports.Request=void 0;var _createClass=function(){function e(e,t){for(var r=0;r=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function BooleanOption(e){var t=e.value,n=e.onChange,r=_objectWithoutProperties(e,["value","onChange"]);return _react2.default.createElement("div",{className:"checkbox"},_react2.default.createElement("label",null,_react2.default.createElement("input",_extends({type:"checkbox",checked:t,onChange:function(e){return n(e.target.checked)}},r)),"Enable"))}function StringOption(e){var t=e.value,n=e.onChange,r=_objectWithoutProperties(e,["value","onChange"]);return _react2.default.createElement("input",_extends({type:"text",value:t||"",onChange:function(e){return n(e.target.value)}},r))}function Optional(e){return function(t){var n=t.onChange,r=_objectWithoutProperties(t,["onChange"]);return _react2.default.createElement(e,_extends({onChange:function(e){return n(e||null)}},r))}}function NumberOption(e){var t=e.value,n=e.onChange,r=_objectWithoutProperties(e,["value","onChange"]);return _react2.default.createElement("input",_extends({type:"number",value:t,onChange:function(e){return n(parseInt(e.target.value))}},r))}function ChoicesOption(e){var t=e.value,n=e.onChange,r=e.choices,o=_objectWithoutProperties(e,["value","onChange","choices"]);return _react2.default.createElement("select",_extends({onChange:function(e){return n(e.target.value)},value:t},o),r.map(function(e){return _react2.default.createElement("option",{key:e,value:e},e)}))}function StringSequenceOption(e){var t=e.value,n=e.onChange,r=_objectWithoutProperties(e,["value","onChange"]),o=Math.max(t.length,1);return _react2.default.createElement("textarea",_extends({rows:o,value:t.join("\n"),onChange:function(e){return n(e.target.value.split("\n"))}},r))}function PureOption(e){var t=e.choices,n=e.type,r=e.value,o=e.onChange,a=e.name,u=e.error,i=void 0,p={};return t?(i=ChoicesOption,p.choices=t):i=Options[n],i!==BooleanOption&&(p.className="form-control"),_react2.default.createElement("div",{className:(0,_classnames2.default)({"has-error":u})},_react2.default.createElement(i,_extends({name:a,value:r,onChange:o,onKeyDown:stopPropagation},p)))}Object.defineProperty(exports,"__esModule",{value:!0}),exports.Options=exports.ChoicesOption=void 0;var _extends=Object.assign||function(e){for(var t=1;t0)o=n.getRangeAt(0);else if(document.caretPositionFromPoint&&e.clientX&&e.clientY){var s=document.caretPositionFromPoint(e.clientX,e.clientY);(o=document.createRange()).setStart(s.offsetNode,s.offset)}else document.caretRangeFromPoint&&e.clientX&&e.clientY?o=document.caretRangeFromPoint(e.clientX,e.clientY):(o=document.createRange()).selectNodeContents(this.input);this._ignore_events=!0,this.setState({editable:!0},function(){t.input.blur(),t.input.focus(),t._ignore_events=!1,o.selectNodeContents(t.input),n.removeAllRanges(),n.addRange(o)})}}},{key:"onBlur",value:function(e){this._ignore_events||this.props.readonly||(window.getSelection().removeAllRanges(),this.setState({editable:!1}),this.props.onDone(this.input.textContent))}},{key:"onKeyDown",value:function(e){switch(e.stopPropagation(),e.keyCode){case _utils.Key.ESC:e.preventDefault(),this.reset(),this.blur();break;case _utils.Key.ENTER:e.shiftKey||(e.preventDefault(),this.blur())}this.props.onKeyDown(e)}},{key:"onInput",value:function(){this.props.onInput(this.input.textContent)}}]),t}();ValueEditor.propTypes={content:_propTypes2.default.string.isRequired,readonly:_propTypes2.default.bool,onDone:_propTypes2.default.func.isRequired,className:_propTypes2.default.string,onInput:_propTypes2.default.func,onKeyDown:_propTypes2.default.func},ValueEditor.defaultProps={onInput:function(){},onKeyDown:function(){}},exports.default=ValueEditor; - -},{"../../utils":70,"classnames":"classnames","lodash":"lodash","prop-types":"prop-types","react":"react"}],45:[function(require,module,exports){ -"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function Button(e){var t=e.onClick,r=e.children,a=e.icon,s=e.disabled,l=e.className,i=e.title;return _react2.default.createElement("div",{className:(0,_classnames2.default)(l,"btn btn-default"),onClick:s?void 0:t,disabled:s,title:i},a&&_react2.default.createElement("i",{className:"fa fa-fw "+a}),r)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=Button;var _react=require("react"),_react2=_interopRequireDefault(_react),_propTypes=require("prop-types"),_propTypes2=_interopRequireDefault(_propTypes),_classnames=require("classnames"),_classnames2=_interopRequireDefault(_classnames);Button.propTypes={onClick:_propTypes2.default.func.isRequired,children:_propTypes2.default.node.isRequired,icon:_propTypes2.default.string,title:_propTypes2.default.string}; - -},{"classnames":"classnames","prop-types":"prop-types","react":"react"}],46:[function(require,module,exports){ -"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function DocsLink(e){var r=e.children,t="https://docs.mitmproxy.org/stable/"+e.resource;return _react2.default.createElement("a",{target:"_blank",href:t},r||_react2.default.createElement("i",{className:"fa fa-question-circle"}))}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=DocsLink;var _react=require("react"),_react2=_interopRequireDefault(_react),_propTypes=require("prop-types"),_propTypes2=_interopRequireDefault(_propTypes);DocsLink.propTypes={resource:_propTypes2.default.string.isRequired}; - -},{"prop-types":"prop-types","react":"react"}],47:[function(require,module,exports){ -"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.Divider=void 0;var _createClass=function(){function e(e,t){for(var r=0;r0&&i(e.target.files[0]),l.value=""}}))}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=FileChooser;var _react=require("react"),_react2=_interopRequireDefault(_react),_propTypes=require("prop-types"),_propTypes2=_interopRequireDefault(_propTypes);FileChooser.propTypes={icon:_propTypes2.default.string,text:_propTypes2.default.string,className:_propTypes2.default.string,title:_propTypes2.default.string,onOpenFile:_propTypes2.default.func.isRequired}; - -},{"prop-types":"prop-types","react":"react"}],49:[function(require,module,exports){ -(function (global){ -"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function HideInStatic(e){var t=e.children;return global.MITMWEB_STATIC?null:[t]}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=HideInStatic;var _react=require("react"),_react2=_interopRequireDefault(_react); - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - -},{"react":"react"}],50:[function(require,module,exports){ -"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:defaultState,e=arguments[1];switch(e.type){case ConnectionState.ESTABLISHED:case ConnectionState.FETCHING:case ConnectionState.ERROR:case ConnectionState.OFFLINE:return{state:e.type,message:e.message};default:return t}}function startFetching(){return{type:ConnectionState.FETCHING}}function connectionEstablished(){return{type:ConnectionState.ESTABLISHED}}function connectionError(t){return{type:ConnectionState.ERROR,message:t}}function setOffline(){return{type:ConnectionState.OFFLINE}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=reducer,exports.startFetching=startFetching,exports.connectionEstablished=connectionEstablished,exports.connectionError=connectionError,exports.setOffline=setOffline;var ConnectionState=exports.ConnectionState={INIT:Symbol("init"),FETCHING:Symbol("fetching"),ESTABLISHED:Symbol("established"),ERROR:Symbol("error"),OFFLINE:Symbol("offline")},defaultState={state:ConnectionState.INIT,message:null}; - -},{}],55:[function(require,module,exports){ -"use strict";function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function reduce(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:defaultState,t=arguments[1];switch(t.type){case TOGGLE_VISIBILITY:return _extends({},e,{visible:!e.visible});case TOGGLE_FILTER:var r=_extends({},e.filters,_defineProperty({},t.filter,!e.filters[t.filter]));return _extends({},e,{filters:r},(0,storeActions.default)(e,storeActions.setFilter(function(e){return r[e.level]})));case ADD:case RECEIVE:return _extends({},e,(0,storeActions.default)(e,storeActions[t.cmd](t.data,function(t){return e.filters[t.level]})));default:return e}}function toggleFilter(e){return{type:TOGGLE_FILTER,filter:e}}function toggleVisibility(){return{type:TOGGLE_VISIBILITY}}function add(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"web",r={id:Math.random().toString(),message:e,level:t};return{type:ADD,cmd:"add",data:r}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.TOGGLE_FILTER=exports.TOGGLE_VISIBILITY=exports.RECEIVE=exports.ADD=void 0;var _extends=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:defaultState,t=arguments[1];switch(t.type){case ADD:case UPDATE:case REMOVE:case RECEIVE:var r=storeActions[t.cmd](t.data,makeFilter(e.filter),makeSort(e.sort)),n=e.selected;if(t.type===REMOVE&&e.selected.includes(t.data))if(e.selected.length>1)n=n.filter(function(e){return e!==t.data});else if(n=[],t.data in e.viewIndex&&e.view.length>1){var o=e.viewIndex[t.data],i=void 0;i=o===e.view.length-1?e.view[o-1]:e.view[o+1],n.push(i.id)}return _extends({},e,{selected:n},(0,storeActions.default)(e,r));case SET_FILTER:return _extends({},e,{filter:t.filter},(0,storeActions.default)(e,storeActions.setFilter(makeFilter(t.filter),makeSort(e.sort))));case SET_HIGHLIGHT:return _extends({},e,{highlight:t.highlight});case SET_SORT:return _extends({},e,{sort:t.sort},(0,storeActions.default)(e,storeActions.setSort(makeSort(t.sort))));case SELECT:return _extends({},e,{selected:t.flowIds});default:return e}}function makeFilter(e){if(e)return _filt2.default.parse(e)}function makeSort(e){var t=e.column,r=e.desc,n=sortKeyFuns[t];if(n)return function(e,t){var o=n(e),i=n(t);return o>i?r?-1:1:o0&&void 0!==arguments[0]?arguments[0]:defaultState,t=arguments[1];switch(t.type){case RECEIVE:return t.data;case UPDATE:return _extends({},e,t.data);default:return e}}function pureSendUpdate(e,t,r){_utils.fetchApi.put("/options",_defineProperty({},e,t)).then(function(t){200===t.status?r(optionsEditorActions.updateSuccess(e)):t.text().then(function(t){r(optionsEditorActions.updateError(e,t))})})}function update(e,t){return function(r){r(optionsEditorActions.startUpdate(e,t)),sendUpdate(e,t,r)}}function save(){return function(e){return(0,_utils.fetchApi)("/options/save",{method:"POST"})}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.REQUEST_UPDATE=exports.UPDATE=exports.RECEIVE=void 0;var _extends=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:defaultState,t=arguments[1];switch(t.type){case RECEIVE:return t.data;case UPDATE:return _extends({},e,t.data);default:return e}}function update(e){return _utils.fetchApi.put("/settings",e),{type:REQUEST_UPDATE}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.REQUEST_UPDATE=exports.UPDATE=exports.RECEIVE=void 0;var _extends=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:defaultState,e=arguments[1],n=t.modifiedFlow,o=e.content||t.content,r=o&&o.length<=t.maxContentLines;switch(e.type){case START_EDIT:return _extends({},t,{modifiedFlow:e.flow,contentView:"Edit",showFullContent:!0});case UPDATE_EDIT:return _extends({},t,{modifiedFlow:_lodash2.default.merge({},t.modifiedFlow,e.update)});case flowsActions.SELECT:return _extends({},t,{modifiedFlow:!1,displayLarge:!1,contentView:n?"Auto":t.contentView,showFullContent:r});case flowsActions.UPDATE:return e.data.id===t.modifiedFlow.id?_extends({},t,{modifiedFlow:!1,displayLarge:!1,contentView:n?"Auto":t.contentView,showFullContent:!1}):t;case SET_CONTENT_VIEW_DESCRIPTION:return _extends({},t,{viewDescription:e.description});case SET_SHOW_FULL_CONTENT:return _extends({},t,{showFullContent:!0});case SET_TAB:return _extends({},t,{tab:e.tab?e.tab:"request",displayLarge:!1,showFullContent:"Edit"===t.contentView});case SET_CONTENT_VIEW:return _extends({},t,{contentView:e.contentView,showFullContent:"Edit"===e.contentView});case SET_CONTENT:return _extends({},t,{content:e.content,showFullContent:r});case DISPLAY_LARGE:return _extends({},t,{displayLarge:!0});default:return t}}function setContentView(t){return{type:SET_CONTENT_VIEW,contentView:t}}function displayLarge(){return{type:DISPLAY_LARGE}}function selectTab(t){return{type:SET_TAB,tab:t}}function startEdit(t){return{type:START_EDIT,flow:t}}function updateEdit(t){return{type:UPDATE_EDIT,update:t}}function setContentViewDescription(t){return{type:SET_CONTENT_VIEW_DESCRIPTION,description:t}}function setShowFullContent(){return{type:SET_SHOW_FULL_CONTENT}}function setContent(t){return{type:SET_CONTENT,content:t}}function stopEdit(t,e){return flowsActions.update(t,(0,_utils.getDiff)(t,e))}Object.defineProperty(exports,"__esModule",{value:!0}),exports.SET_CONTENT=exports.SET_CONTENT_VIEW_DESCRIPTION=exports.SET_SHOW_FULL_CONTENT=exports.UPLOAD_CONTENT=exports.UPDATE_EDIT=exports.START_EDIT=exports.SET_TAB=exports.DISPLAY_LARGE=exports.SET_CONTENT_VIEW=void 0;var _extends=Object.assign||function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:defaultState,t=arguments[1];switch(t.type){case SET_ACTIVE_MENU:return _extends({},e,{activeMenu:t.activeMenu});case flowsActions.SELECT:if(t.flowIds.length>0&&!e.isFlowSelected)return _extends({},e,{activeMenu:"Flow",isFlowSelected:!0});if(0===t.flowIds.length&&e.isFlowSelected){var r=e.activeMenu;return"Flow"===r&&(r="Start"),_extends({},e,{activeMenu:r,isFlowSelected:!1})}return e;default:return e}}function setActiveMenu(e){return{type:SET_ACTIVE_MENU,activeMenu:e}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.SET_ACTIVE_MENU=void 0;var _extends=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:defaultState,t=arguments[1];switch(t.type){case SET_ACTIVE_MODAL:return _extends({},e,{activeModal:t.activeModal});case HIDE_MODAL:return _extends({},e,{activeModal:void 0});default:return e}}function setActiveModal(e){return{type:SET_ACTIVE_MODAL,activeModal:e}}function hideModal(){return{type:HIDE_MODAL}}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:defaultState,r=arguments[1];switch(r.type){case OPTION_UPDATE_START:return _extends({},e,_defineProperty({},r.option,{isUpdating:!0,value:r.value,error:!1}));case OPTION_UPDATE_SUCCESS:return _extends({},e,_defineProperty({},r.option,void 0));case OPTION_UPDATE_ERROR:var t=e[r.option].value;return"boolean"==typeof t&&(t=!t),_extends({},e,_defineProperty({},r.option,{value:t,isUpdating:!1,error:r.error}));case _modal.HIDE_MODAL:return{};default:return e}}function startUpdate(e,r){return{type:OPTION_UPDATE_START,option:e,value:r}}function updateSuccess(e){return{type:OPTION_UPDATE_SUCCESS,option:e}}function updateError(e,r){return{type:OPTION_UPDATE_ERROR,option:e,error:r}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.OPTION_UPDATE_ERROR=exports.OPTION_UPDATE_SUCCESS=exports.OPTION_UPDATE_START=void 0;var _extends=Object.assign||function(e){for(var r=1;r0&&void 0!==arguments[0]?arguments[0]:defaultState,t=arguments[1],r=e.byId,i=e.list,n=e.listIndex,a=e.view,o=e.viewIndex;switch(t.type){case SET_FILTER:a=(0,_stable2.default)(i.filter(t.filter),t.sort),o={},a.forEach(function(e,t){o[e.id]=t});break;case SET_SORT:a=(0,_stable2.default)([].concat(_toConsumableArray(a)),t.sort),o={},a.forEach(function(e,t){o[e.id]=t});break;case ADD:if(t.item.id in r)break;if(r=_extends({},r,_defineProperty({},t.item.id,t.item)),n=_extends({},n,_defineProperty({},t.item.id,i.length)),i=[].concat(_toConsumableArray(i),[t.item]),t.filter(t.item)){var d=sortedInsert(e,t.item,t.sort);a=d.view,o=d.viewIndex}break;case UPDATE:r=_extends({},r,_defineProperty({},t.item.id,t.item)),(i=[].concat(_toConsumableArray(i)))[n[t.item.id]]=t.item;var s=t.item.id in o,l=t.filter(t.item);if(l&&!s){var u=sortedInsert(e,t.item,t.sort);a=u.view,o=u.viewIndex}else if(!l&&s){var f=removeData(a,o,t.item.id);a=f.data,o=f.dataIndex}else if(l&&s){var v=sortedUpdate(e,t.item,t.sort);a=v.view,o=v.viewIndex}break;case REMOVE:if(!(t.id in r))break;delete(r=_extends({},r))[t.id];var c=removeData(i,n,t.id);if(i=c.data,n=c.dataIndex,t.id in o){var E=removeData(a,o,t.id);a=E.data,o=E.dataIndex}break;case RECEIVE:i=t.list,n={},r={},i.forEach(function(e,t){r[e.id]=e,n[e.id]=t}),a=i.filter(t.filter).sort(t.sort),o={},a.forEach(function(e,t){o[e.id]=t})}return{byId:r,list:i,listIndex:n,view:a,viewIndex:o}}function setFilter(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:defaultFilter,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:defaultSort;return{type:SET_FILTER,filter:e,sort:t}}function setSort(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:defaultSort;return{type:SET_SORT,sort:e}}function add(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:defaultFilter,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:defaultSort;return{type:ADD,item:e,filter:t,sort:r}}function update(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:defaultFilter,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:defaultSort;return{type:UPDATE,item:e,filter:t,sort:r}}function remove(e){return{type:REMOVE,id:e}}function receive(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:defaultFilter,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:defaultSort;return{type:RECEIVE,list:e,filter:t,sort:r}}function sortedInsert(e,t,r){var i=sortedIndex(e.view,t,r),n=[].concat(_toConsumableArray(e.view)),a=_extends({},e.viewIndex);n.splice(i,0,t);for(var o=n.length-1;o>=i;o--)a[n[o].id]=o;return{view:n,viewIndex:a}}function removeData(e,t,r){var i=t[r],n=[].concat(_toConsumableArray(e)),a=_extends({},t);delete a[r],n.splice(i,1);for(var o=n.length-1;o>=i;o--)a[n[o].id]=o;return{data:n,dataIndex:a}}function sortedUpdate(e,t,r){var i=[].concat(_toConsumableArray(e.view)),n=_extends({},e.viewIndex),a=n[t.id];for(i[a]=t;a+10;)i[a]=i[a+1],i[a+1]=t,n[t.id]=a+1,n[i[a].id]=a,++a;for(;a>0&&r(i[a],i[a-1])<0;)i[a]=i[a-1],i[a-1]=t,n[t.id]=a-1,n[i[a].id]=a,--a;return{view:i,viewIndex:n}}function sortedIndex(e,t,r){for(var i=0,n=e.length;i>>1;r(t,e[a])>=0?i=a+1:n=a}return i}function defaultFilter(){return!0}function defaultSort(e,t){return 0}Object.defineProperty(exports,"__esModule",{value:!0}),exports.RECEIVE=exports.REMOVE=exports.UPDATE=exports.ADD=exports.SET_SORT=exports.SET_FILTER=void 0;var _extends=Object.assign||function(e){for(var t=1;tCr&&(Cr=wr,Er=[]),Er.push(e))}function i(t,r,n,s){return null!==r&&function(e){var t=1;for(e.sort(function(e,t){return e.descriptiont.description?1:0});t1?i.slice(0,-1).join(", ")+" or "+i[e.length-1]:i[0],n=t?'"'+function(e){function r(e){return e.charCodeAt(0).toString(16).toUpperCase()}return t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E\x0F]/g,function(e){return"\\x0"+r(e)}).replace(/[\x10-\x1F\x80-\xFF]/g,function(e){return"\\x"+r(e)}).replace(/[\u0100-\u0FFF]/g,function(e){return"\\u0"+r(e)}).replace(/[\u1000-\uFFFF]/g,function(e){return"\\u"+r(e)})}()+'"':"end of input","Expected "+r+" but "+n+" found."}(r,n),r,n,s)}function u(){var e,t;return Fr++,e=wr,a()!==Z&&(t=l())!==Z&&a()!==Z?(Ar=e,e=re(t)):(wr=e,e=Z),Fr--,e===Z&&0===Fr&&s(te),e}function c(){var e;return Fr++,se.test(t.charAt(wr))?(e=t.charAt(wr),wr++):(e=Z,0===Fr&&s(ie)),Fr--,e===Z&&0===Fr&&s(ne),e}function o(){var e;return Fr++,ce.test(t.charAt(wr))?(e=t.charAt(wr),wr++):(e=Z,0===Fr&&s(oe)),Fr--,e===Z&&0===Fr&&s(ue),e}function a(){var e,t;for(Fr++,e=[],t=c();t!==Z;)e.push(t),t=c();return Fr--,e===Z&&(t=Z,0===Fr&&s(ae)),e}function l(){var e,r,n,i;return e=wr,(r=p())!==Z&&a()!==Z?(124===t.charCodeAt(wr)?(n=le,wr++):(n=Z,0===Fr&&s(pe)),n!==Z&&a()!==Z&&(i=l())!==Z?(Ar=e,e=r=fe(r,i)):(wr=e,e=Z)):(wr=e,e=Z),e===Z&&(e=p()),e}function p(){var e,r,n,i,u;if(e=wr,(r=f())!==Z&&(n=a())!==Z?(38===t.charCodeAt(wr)?(i=de,wr++):(i=Z,0===Fr&&s(he)),i!==Z&&a()!==Z&&(u=p())!==Z?(Ar=e,e=r=ye(r,u)):(wr=e,e=Z)):(wr=e,e=Z),e===Z){if(e=wr,(r=f())!==Z){if(n=[],(i=c())!==Z)for(;i!==Z;)n.push(i),i=c();else n=Z;n!==Z&&(i=p())!==Z?(Ar=e,e=r=ye(r,i)):(wr=e,e=Z)}else wr=e,e=Z;e===Z&&(e=f())}return e}function f(){var e,r,n;return e=wr,33===t.charCodeAt(wr)?(r=ve,wr++):(r=Z,0===Fr&&s(me)),r!==Z&&a()!==Z&&(n=f())!==Z?(Ar=e,e=r=ge(n)):(wr=e,e=Z),e===Z&&(e=d()),e}function d(){var e,r,n,i;return e=wr,40===t.charCodeAt(wr)?(r=be,wr++):(r=Z,0===Fr&&s(xe)),r!==Z&&a()!==Z&&(n=l())!==Z&&a()!==Z?(41===t.charCodeAt(wr)?(i=Re,wr++):(i=Z,0===Fr&&s(we)),i!==Z?(Ar=e,e=r=Ae(n)):(wr=e,e=Z)):(wr=e,e=Z),e===Z&&(e=h()),e}function h(){var e,r,n,i;if(e=wr,t.substr(wr,4)===qe?(r=qe,wr+=4):(r=Z,0===Fr&&s(Ce)),r!==Z&&(Ar=e,r=Ee()),(e=r)===Z&&(e=wr,t.substr(wr,5)===Fe?(r=Fe,wr+=5):(r=Z,0===Fr&&s(ke)),r!==Z&&(Ar=e,r=_e()),(e=r)===Z&&(e=wr,t.substr(wr,2)===Ue?(r=Ue,wr+=2):(r=Z,0===Fr&&s(Te)),r!==Z&&(Ar=e,r=je()),(e=r)===Z))){if(e=wr,t.substr(wr,2)===Se?(r=Se,wr+=2):(r=Z,0===Fr&&s(Pe)),r!==Z){if(n=[],(i=c())!==Z)for(;i!==Z;)n.push(i),i=c();else n=Z;n!==Z&&(i=v())!==Z?(Ar=e,e=r=Be(i)):(wr=e,e=Z)}else wr=e,e=Z;if(e===Z){if(e=wr,t.substr(wr,3)===He?(r=He,wr+=3):(r=Z,0===Fr&&s(Ie)),r!==Z){if(n=[],(i=c())!==Z)for(;i!==Z;)n.push(i),i=c();else n=Z;n!==Z&&(i=v())!==Z?(Ar=e,e=r=We(i)):(wr=e,e=Z)}else wr=e,e=Z;if(e===Z){if(e=wr,t.substr(wr,3)===ze?(r=ze,wr+=3):(r=Z,0===Fr&&s(De)),r!==Z){if(n=[],(i=c())!==Z)for(;i!==Z;)n.push(i),i=c();else n=Z;n!==Z&&(i=v())!==Z?(Ar=e,e=r=Ge(i)):(wr=e,e=Z)}else wr=e,e=Z;if(e===Z){if(e=wr,t.substr(wr,2)===Je?(r=Je,wr+=2):(r=Z,0===Fr&&s(Ke)),r!==Z){if(n=[],(i=c())!==Z)for(;i!==Z;)n.push(i),i=c();else n=Z;n!==Z&&(i=y())!==Z?(Ar=e,e=r=Le(i)):(wr=e,e=Z)}else wr=e,e=Z;if(e===Z){if(e=wr,t.substr(wr,2)===Me?(r=Me,wr+=2):(r=Z,0===Fr&&s(Ne)),r!==Z){if(n=[],(i=c())!==Z)for(;i!==Z;)n.push(i),i=c();else n=Z;n!==Z&&(i=v())!==Z?(Ar=e,e=r=Oe(i)):(wr=e,e=Z)}else wr=e,e=Z;if(e===Z){if(e=wr,t.substr(wr,4)===Qe?(r=Qe,wr+=4):(r=Z,0===Fr&&s(Ve)),r!==Z){if(n=[],(i=c())!==Z)for(;i!==Z;)n.push(i),i=c();else n=Z;n!==Z&&(i=v())!==Z?(Ar=e,e=r=Xe(i)):(wr=e,e=Z)}else wr=e,e=Z;if(e===Z&&(e=wr,t.substr(wr,2)===Ye?(r=Ye,wr+=2):(r=Z,0===Fr&&s(Ze)),r!==Z&&(Ar=e,r=$e()),(e=r)===Z)){if(e=wr,t.substr(wr,2)===et?(r=et,wr+=2):(r=Z,0===Fr&&s(tt)),r!==Z){if(n=[],(i=c())!==Z)for(;i!==Z;)n.push(i),i=c();else n=Z;n!==Z&&(i=v())!==Z?(Ar=e,e=r=rt(i)):(wr=e,e=Z)}else wr=e,e=Z;if(e===Z){if(e=wr,t.substr(wr,3)===nt?(r=nt,wr+=3):(r=Z,0===Fr&&s(st)),r!==Z){if(n=[],(i=c())!==Z)for(;i!==Z;)n.push(i),i=c();else n=Z;n!==Z&&(i=v())!==Z?(Ar=e,e=r=it(i)):(wr=e,e=Z)}else wr=e,e=Z;if(e===Z){if(e=wr,t.substr(wr,3)===ut?(r=ut,wr+=3):(r=Z,0===Fr&&s(ct)),r!==Z){if(n=[],(i=c())!==Z)for(;i!==Z;)n.push(i),i=c();else n=Z;n!==Z&&(i=v())!==Z?(Ar=e,e=r=ot(i)):(wr=e,e=Z)}else wr=e,e=Z;if(e===Z&&(e=wr,t.substr(wr,5)===at?(r=at,wr+=5):(r=Z,0===Fr&&s(lt)),r!==Z&&(Ar=e,r=pt()),(e=r)===Z)){if(e=wr,t.substr(wr,2)===ft?(r=ft,wr+=2):(r=Z,0===Fr&&s(dt)),r!==Z){if(n=[],(i=c())!==Z)for(;i!==Z;)n.push(i),i=c();else n=Z;n!==Z&&(i=v())!==Z?(Ar=e,e=r=ht(i)):(wr=e,e=Z)}else wr=e,e=Z;if(e===Z&&(e=wr,t.substr(wr,7)===yt?(r=yt,wr+=7):(r=Z,0===Fr&&s(vt)),r!==Z&&(Ar=e,r=mt()),(e=r)===Z&&(e=wr,t.substr(wr,2)===gt?(r=gt,wr+=2):(r=Z,0===Fr&&s(bt)),r!==Z&&(Ar=e,r=xt()),(e=r)===Z))){if(e=wr,t.substr(wr,4)===Rt?(r=Rt,wr+=4):(r=Z,0===Fr&&s(wt)),r!==Z){if(n=[],(i=c())!==Z)for(;i!==Z;)n.push(i),i=c();else n=Z;n!==Z&&(i=v())!==Z?(Ar=e,e=r=At(i)):(wr=e,e=Z)}else wr=e,e=Z;if(e===Z&&(e=wr,t.substr(wr,2)===qt?(r=qt,wr+=2):(r=Z,0===Fr&&s(Ct)),r!==Z&&(Ar=e,r=Et()),(e=r)===Z)){if(e=wr,t.substr(wr,2)===Ft?(r=Ft,wr+=2):(r=Z,0===Fr&&s(kt)),r!==Z){if(n=[],(i=c())!==Z)for(;i!==Z;)n.push(i),i=c();else n=Z;n!==Z&&(i=v())!==Z?(Ar=e,e=r=_t(i)):(wr=e,e=Z)}else wr=e,e=Z;if(e===Z&&(e=wr,t.substr(wr,4)===Ut?(r=Ut,wr+=4):(r=Z,0===Fr&&s(Tt)),r!==Z&&(Ar=e,r=jt()),(e=r)===Z)){if(e=wr,t.substr(wr,3)===St?(r=St,wr+=3):(r=Z,0===Fr&&s(Pt)),r!==Z){if(n=[],(i=c())!==Z)for(;i!==Z;)n.push(i),i=c();else n=Z;n!==Z&&(i=v())!==Z?(Ar=e,e=r=Bt(i)):(wr=e,e=Z)}else wr=e,e=Z;if(e===Z){if(e=wr,t.substr(wr,3)===Ht?(r=Ht,wr+=3):(r=Z,0===Fr&&s(It)),r!==Z){if(n=[],(i=c())!==Z)for(;i!==Z;)n.push(i),i=c();else n=Z;n!==Z&&(i=v())!==Z?(Ar=e,e=r=Wt(i)):(wr=e,e=Z)}else wr=e,e=Z;if(e===Z){if(e=wr,t.substr(wr,2)===zt?(r=zt,wr+=2):(r=Z,0===Fr&&s(Dt)),r!==Z){if(n=[],(i=c())!==Z)for(;i!==Z;)n.push(i),i=c();else n=Z;n!==Z&&(i=v())!==Z?(Ar=e,e=r=Gt(i)):(wr=e,e=Z)}else wr=e,e=Z;e===Z&&(e=wr,t.substr(wr,10)===Jt?(r=Jt,wr+=10):(r=Z,0===Fr&&s(Kt)),r!==Z&&(Ar=e,r=Lt()),(e=r)===Z&&(e=wr,(r=v())!==Z&&(Ar=e,r=Gt(r)),e=r))}}}}}}}}}}}}}}}return e}function y(){var e,r,n,i;if(Fr++,e=wr,Nt.test(t.charAt(wr))?(r=t.charAt(wr),wr++):(r=Z,0===Fr&&s(Ot)),r===Z&&(r=null),r!==Z){if(n=[],Qt.test(t.charAt(wr))?(i=t.charAt(wr),wr++):(i=Z,0===Fr&&s(Vt)),i!==Z)for(;i!==Z;)n.push(i),Qt.test(t.charAt(wr))?(i=t.charAt(wr),wr++):(i=Z,0===Fr&&s(Vt));else n=Z;n!==Z?(Nt.test(t.charAt(wr))?(i=t.charAt(wr),wr++):(i=Z,0===Fr&&s(Ot)),i===Z&&(i=null),i!==Z?(Ar=e,e=r=Xt(n)):(wr=e,e=Z)):(wr=e,e=Z)}else wr=e,e=Z;return Fr--,e===Z&&(r=Z,0===Fr&&s(Mt)),e}function v(){var e,r,n,i;if(Fr++,e=wr,34===t.charCodeAt(wr)?(r=Zt,wr++):(r=Z,0===Fr&&s($t)),r!==Z){for(n=[],i=m();i!==Z;)n.push(i),i=m();n!==Z?(34===t.charCodeAt(wr)?(i=Zt,wr++):(i=Z,0===Fr&&s($t)),i!==Z?(Ar=e,e=r=er(n)):(wr=e,e=Z)):(wr=e,e=Z)}else wr=e,e=Z;if(e===Z){if(e=wr,39===t.charCodeAt(wr)?(r=tr,wr++):(r=Z,0===Fr&&s(rr)),r!==Z){for(n=[],i=g();i!==Z;)n.push(i),i=g();n!==Z?(39===t.charCodeAt(wr)?(i=tr,wr++):(i=Z,0===Fr&&s(rr)),i!==Z?(Ar=e,e=r=er(n)):(wr=e,e=Z)):(wr=e,e=Z)}else wr=e,e=Z;if(e===Z)if(e=wr,r=wr,Fr++,n=o(),Fr--,n===Z?r=void 0:(wr=r,r=Z),r!==Z){if(n=[],(i=b())!==Z)for(;i!==Z;)n.push(i),i=b();else n=Z;n!==Z?(Ar=e,e=r=er(n)):(wr=e,e=Z)}else wr=e,e=Z}return Fr--,e===Z&&(r=Z,0===Fr&&s(Yt)),e}function m(){var e,r,n;return e=wr,r=wr,Fr++,nr.test(t.charAt(wr))?(n=t.charAt(wr),wr++):(n=Z,0===Fr&&s(sr)),Fr--,n===Z?r=void 0:(wr=r,r=Z),r!==Z?(t.length>wr?(n=t.charAt(wr),wr++):(n=Z,0===Fr&&s(ir)),n!==Z?(Ar=e,e=r=ur(n)):(wr=e,e=Z)):(wr=e,e=Z),e===Z&&(e=wr,92===t.charCodeAt(wr)?(r=cr,wr++):(r=Z,0===Fr&&s(or)),r!==Z&&(n=x())!==Z?(Ar=e,e=r=ur(n)):(wr=e,e=Z)),e}function g(){var e,r,n;return e=wr,r=wr,Fr++,ar.test(t.charAt(wr))?(n=t.charAt(wr),wr++):(n=Z,0===Fr&&s(lr)),Fr--,n===Z?r=void 0:(wr=r,r=Z),r!==Z?(t.length>wr?(n=t.charAt(wr),wr++):(n=Z,0===Fr&&s(ir)),n!==Z?(Ar=e,e=r=ur(n)):(wr=e,e=Z)):(wr=e,e=Z),e===Z&&(e=wr,92===t.charCodeAt(wr)?(r=cr,wr++):(r=Z,0===Fr&&s(or)),r!==Z&&(n=x())!==Z?(Ar=e,e=r=ur(n)):(wr=e,e=Z)),e}function b(){var e,r,n;return e=wr,r=wr,Fr++,n=c(),Fr--,n===Z?r=void 0:(wr=r,r=Z),r!==Z?(t.length>wr?(n=t.charAt(wr),wr++):(n=Z,0===Fr&&s(ir)),n!==Z?(Ar=e,e=r=ur(n)):(wr=e,e=Z)):(wr=e,e=Z),e}function x(){var e,r;return pr.test(t.charAt(wr))?(e=t.charAt(wr),wr++):(e=Z,0===Fr&&s(fr)),e===Z&&(e=wr,110===t.charCodeAt(wr)?(r=dr,wr++):(r=Z,0===Fr&&s(hr)),r!==Z&&(Ar=e,r=yr()),(e=r)===Z&&(e=wr,114===t.charCodeAt(wr)?(r=vr,wr++):(r=Z,0===Fr&&s(mr)),r!==Z&&(Ar=e,r=gr()),(e=r)===Z&&(e=wr,116===t.charCodeAt(wr)?(r=br,wr++):(r=Z,0===Fr&&s(xr)),r!==Z&&(Ar=e,r=Rr()),e=r))),e}function R(e,t){function r(){return e.apply(this,arguments)||t.apply(this,arguments)}return r.desc=e.desc+" or "+t.desc,r}function w(e,t){function r(){return e.apply(this,arguments)&&t.apply(this,arguments)}return r.desc=e.desc+" and "+t.desc,r}function A(e){function t(){return!e.apply(this,arguments)}return t.desc="not "+e.desc,t}function q(e){function t(){return e.apply(this,arguments)}return t.desc="("+e.desc+")",t}function C(e){return!0}function E(e){return!1}function F(e){if(e.response)for(var t=kr.ResponseUtils.getContentType(e.response),r=_r.length;r--;)if(_r[r].test(t))return!0;return!1}function k(e){function t(t){return t.response&&t.response.status_code===e}return t.desc="resp. code is "+e,t}function _(e){function t(e){return!0}return e=new RegExp(e,"i"),t.desc="body filters are not implemented yet, see https://github.com/mitmproxy/mitmweb/issues/10",t}function U(e){function t(e){return!0}return e=new RegExp(e,"i"),t.desc="body filters are not implemented yet, see https://github.com/mitmproxy/mitmweb/issues/10",t}function T(e){function t(e){return!0}return e=new RegExp(e,"i"),t.desc="body filters are not implemented yet, see https://github.com/mitmproxy/mitmweb/issues/10",t}function j(e){function t(t){return t.request&&(e.test(t.request.host)||e.test(t.request.pretty_host))}return e=new RegExp(e,"i"),t.desc="domain matches "+e,t}function S(e){function t(t){return!!t.server_conn.address&&e.test(t.server_conn.address[0]+":"+t.server_conn.address[1])}return e=new RegExp(e,"i"),t.desc="destination address matches "+e,t}function P(e){return!!e.error}function B(e){function t(t){return t.request&&kr.RequestUtils.match_header(t.request,e)||t.response&&kr.ResponseUtils.match_header(t.response,e)}return e=new RegExp(e,"i"),t.desc="header matches "+e,t}function H(e){function t(t){return t.request&&kr.RequestUtils.match_header(t.request,e)}return e=new RegExp(e,"i"),t.desc="req. header matches "+e,t}function I(e){function t(t){return t.response&&kr.ResponseUtils.match_header(t.response,e)}return e=new RegExp(e,"i"),t.desc="resp. header matches "+e,t}function W(e){return"http"===e.type}function z(e){function t(t){return t.request&&e.test(t.request.method)}return e=new RegExp(e,"i"),t.desc="method matches "+e,t}function D(e){return e.marked}function G(e){return e.request&&!e.response}function J(e){return!!e.response}function K(e){function t(t){return!!t.client_conn.address&&e.test(t.client_conn.address[0]+":"+t.client_conn.address[1])}return e=new RegExp(e,"i"),t.desc="source address matches "+e,t}function L(e){function t(t){return t.request&&e.test(kr.RequestUtils.getContentType(t.request))||t.response&&e.test(kr.ResponseUtils.getContentType(t.response))}return e=new RegExp(e,"i"),t.desc="content type matches "+e,t}function M(e){return"tcp"===e.type}function N(e){function t(t){return t.request&&e.test(kr.RequestUtils.getContentType(t.request))}return e=new RegExp(e,"i"),t.desc="req. content type matches "+e,t}function O(e){function t(t){return t.response&&e.test(kr.ResponseUtils.getContentType(t.response))}return e=new RegExp(e,"i"),t.desc="resp. content type matches "+e,t}function Q(e){function t(t){return t.request&&e.test(kr.RequestUtils.pretty_url(t.request))}return e=new RegExp(e,"i"),t.desc="url matches "+e,t}function V(e){return"websocket"===e.type}var X,Y=arguments.length>1?arguments[1]:{},Z={},$={start:u},ee=u,te={type:"other",description:"filter expression"},re=function(e){return e},ne={type:"other",description:"whitespace"},se=/^[ \t\n\r]/,ie={type:"class",value:"[ \\t\\n\\r]",description:"[ \\t\\n\\r]"},ue={type:"other",description:"control character"},ce=/^[|&!()~"]/,oe={type:"class",value:'[|&!()~"]',description:'[|&!()~"]'},ae={type:"other",description:"optional whitespace"},le="|",pe={type:"literal",value:"|",description:'"|"'},fe=function(e,t){return R(e,t)},de="&",he={type:"literal",value:"&",description:'"&"'},ye=function(e,t){return w(e,t)},ve="!",me={type:"literal",value:"!",description:'"!"'},ge=function(e){return A(e)},be="(",xe={type:"literal",value:"(",description:'"("'},Re=")",we={type:"literal",value:")",description:'")"'},Ae=function(e){return q(e)},qe="true",Ce={type:"literal",value:"true",description:'"true"'},Ee=function(){return C},Fe="false",ke={type:"literal",value:"false",description:'"false"'},_e=function(){return E},Ue="~a",Te={type:"literal",value:"~a",description:'"~a"'},je=function(){return F},Se="~b",Pe={type:"literal",value:"~b",description:'"~b"'},Be=function(e){return _(e)},He="~bq",Ie={type:"literal",value:"~bq",description:'"~bq"'},We=function(e){return U(e)},ze="~bs",De={type:"literal",value:"~bs",description:'"~bs"'},Ge=function(e){return T(e)},Je="~c",Ke={type:"literal",value:"~c",description:'"~c"'},Le=function(e){return k(e)},Me="~d",Ne={type:"literal",value:"~d",description:'"~d"'},Oe=function(e){return j(e)},Qe="~dst",Ve={type:"literal",value:"~dst",description:'"~dst"'},Xe=function(e){return S(e)},Ye="~e",Ze={type:"literal",value:"~e",description:'"~e"'},$e=function(){return P},et="~h",tt={type:"literal",value:"~h",description:'"~h"'},rt=function(e){return B(e)},nt="~hq",st={type:"literal",value:"~hq",description:'"~hq"'},it=function(e){return H(e)},ut="~hs",ct={type:"literal",value:"~hs",description:'"~hs"'},ot=function(e){return I(e)},at="~http",lt={type:"literal",value:"~http",description:'"~http"'},pt=function(){return W},ft="~m",dt={type:"literal",value:"~m",description:'"~m"'},ht=function(e){return z(e)},yt="~marked",vt={type:"literal",value:"~marked",description:'"~marked"'},mt=function(){return D},gt="~q",bt={type:"literal",value:"~q",description:'"~q"'},xt=function(){return G},Rt="~src",wt={type:"literal",value:"~src",description:'"~src"'},At=function(e){return K(e)},qt="~s",Ct={type:"literal",value:"~s",description:'"~s"'},Et=function(){return J},Ft="~t",kt={type:"literal",value:"~t",description:'"~t"'},_t=function(e){return L(e)},Ut="~tcp",Tt={type:"literal",value:"~tcp",description:'"~tcp"'},jt=function(){return M},St="~tq",Pt={type:"literal",value:"~tq",description:'"~tq"'},Bt=function(e){return N(e)},Ht="~ts",It={type:"literal",value:"~ts",description:'"~ts"'},Wt=function(e){return O(e)},zt="~u",Dt={type:"literal",value:"~u",description:'"~u"'},Gt=function(e){return Q(e)},Jt="~websocket",Kt={type:"literal",value:"~websocket",description:'"~websocket"'},Lt=function(){return V},Mt={type:"other",description:"integer"},Nt=/^['"]/,Ot={type:"class",value:"['\"]",description:"['\"]"},Qt=/^[0-9]/,Vt={type:"class",value:"[0-9]",description:"[0-9]"},Xt=function(e){return parseInt(e.join(""),10)},Yt={type:"other",description:"string"},Zt='"',$t={type:"literal",value:'"',description:'"\\""'},er=function(e){return e.join("")},tr="'",rr={type:"literal",value:"'",description:'"\'"'},nr=/^["\\]/,sr={type:"class",value:'["\\\\]',description:'["\\\\]'},ir={type:"any",description:"any character"},ur=function(e){return e},cr="\\",or={type:"literal",value:"\\",description:'"\\\\"'},ar=/^['\\]/,lr={type:"class",value:"['\\\\]",description:"['\\\\]"},pr=/^['"\\]/,fr={type:"class",value:"['\"\\\\]",description:"['\"\\\\]"},dr="n",hr={type:"literal",value:"n",description:'"n"'},yr=function(){return"\n"},vr="r",mr={type:"literal",value:"r",description:'"r"'},gr=function(){return"\r"},br="t",xr={type:"literal",value:"t",description:'"t"'},Rr=function(){return"\t"},wr=0,Ar=0,qr=[{line:1,column:1,seenCR:!1}],Cr=0,Er=[],Fr=0;if("startRule"in Y){if(!(Y.startRule in $))throw new Error("Can't start parsing from rule \""+Y.startRule+'".');ee=$[Y.startRule]}var kr=require("../flow/utils.js");C.desc="true",E.desc="false";var _r=[new RegExp("text/javascript"),new RegExp("application/x-javascript"),new RegExp("application/javascript"),new RegExp("text/css"),new RegExp("image/.*"),new RegExp("application/x-shockwave-flash")];if(F.desc="is asset",P.desc="has error",W.desc="is an HTTP Flow",D.desc="is marked",G.desc="has no response",J.desc="has response",M.desc="is a TCP Flow",V.desc="is a Websocket Flow",(X=ee())!==Z&&wr===t.length)return X;throw X!==Z&&wr0?"/flows/"+t.flows.selected[0]+"/"+t.ui.flow.tab:"/flows",i&&(l+="?"+i);var n=window.location.pathname;"blank"===n&&(n="/"),window.location.hash.substr(1)!==l&&history.replaceState(void 0,"",n+"#"+l)}function initialize(e){updateStoreFromUrl(e),e.subscribe(function(){return updateUrlFromStore(e)})}Object.defineProperty(exports,"__esModule",{value:!0});var _slicedToArray=function(){function e(e,r){var t=[],o=!0,i=!1,l=void 0;try{for(var n,a=e[Symbol.iterator]();!(o=(n=a.next()).done)&&(t.push(n.value),!r||t.length!==r);o=!0);}catch(e){i=!0,l=e}finally{try{!o&&a.return&&a.return()}finally{if(i)throw l}}return t}return function(r,t){if(Array.isArray(r))return r;if(Symbol.iterator in Object(r))return e(r,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();exports.updateStoreFromUrl=updateStoreFromUrl,exports.updateUrlFromStore=updateUrlFromStore,exports.default=initialize;var _flows=require("./ducks/flows"),_flow=require("./ducks/ui/flow"),_eventLog=require("./ducks/eventLog"),Query={SEARCH:"s",HIGHLIGHT:"h",SHOW_EVENTLOG:"e"}; - -},{"./ducks/eventLog":55,"./ducks/flows":56,"./ducks/ui/flow":60}],70:[function(require,module,exports){ -"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function reverseString(e){return String.fromCharCode.apply(String,_lodash2.default.map(e.split(""),function(e){return 65535-e.charCodeAt(0)}))+end}function getCookie(e){var t=document.cookie.match(new RegExp("\\b"+e+"=([^;]*)\\b"));return t?t[1]:void 0}function fetchApi(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.method&&"GET"!==t.method?-1===e.indexOf("?")?e+="?"+xsrf:e+="&"+xsrf:e+=".json",e.startsWith("/")&&(e="."+e),fetch(e,_extends({credentials:"same-origin"},t))}function getDiff(e,t){var r=_extends({},t);for(var o in e)_lodash2.default.isEqual(t[o],e[o])?r[o]=void 0:"[object Object]"===Object.prototype.toString.call(t[o])&&"[object Object]"===Object.prototype.toString.call(e[o])&&(r[o]=getDiff(e[o],t[o]));return r}Object.defineProperty(exports,"__esModule",{value:!0}),exports.pure=exports.formatTimeStamp=exports.formatTimeDelta=exports.formatSize=exports.Key=void 0;var _createClass=function(){function e(e,t){for(var r=0;re);r++);var o;return o=e%Math.pow(1024,r)==0?0:1,(e/Math.pow(1024,r)).toFixed(o)+t[r]},formatTimeDelta=exports.formatTimeDelta=function(e){for(var t=e,r=[1e3,60,60],o=0;Math.abs(t)>=r[o]&&o1&&void 0!==arguments[1])||arguments[1],r=new Date(1e3*e);if(t)var o=r.getTime()-60*r.getTimezoneOffset()*1e3,n=new Date(o).toISOString();else n=r.toISOString();return n.replace("T"," ").replace("Z","")},end=String.fromCharCode(65535),xsrf="_xsrf="+getCookie("_xsrf");fetchApi.put=function(e,t,r){return fetchApi(e,_extends({method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)},r))};var pure=exports.pure=function(e){var t,r;return r=t=function(t){function r(){return _classCallCheck(this,r),_possibleConstructorReturn(this,(r.__proto__||Object.getPrototypeOf(r)).apply(this,arguments))}return _inherits(r,_react2.default.PureComponent),_createClass(r,[{key:"render",value:function(){return e(this.props)}}]),r}(),t.displayName=e.name,r}; - -},{"lodash":"lodash","react":"react"}]},{},[1]) - +(()=>{var SA=Object.create;var mc=Object.defineProperty;var CA=Object.getOwnPropertyDescriptor;var _A=Object.getOwnPropertyNames;var EA=Object.getPrototypeOf,bA=Object.prototype.hasOwnProperty;var TA=(e,t,i)=>t in e?mc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var vC=e=>mc(e,"__esModule",{value:!0}),o=(e,t)=>mc(e,"name",{value:t,configurable:!0});var Gt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),OA=(e,t)=>{vC(e);for(var i in t)mc(e,i,{get:t[i],enumerable:!0})},kA=(e,t,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of _A(t))!bA.call(e,a)&&a!=="default"&&mc(e,a,{get:()=>t[a],enumerable:!(i=CA(t,a))||i.enumerable});return e},re=e=>kA(vC(mc(e!=null?SA(EA(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var At=(e,t,i)=>(TA(e,typeof t!="symbol"?t+"":t,i),i);var E0=Gt((_R,gC)=>{"use strict";var mC=Object.getOwnPropertySymbols,NA=Object.prototype.hasOwnProperty,LA=Object.prototype.propertyIsEnumerable;function PA(e){if(e==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}o(PA,"toObject");function MA(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de",Object.getOwnPropertyNames(e)[0]==="5")return!1;for(var t={},i=0;i<10;i++)t["_"+String.fromCharCode(i)]=i;var a=Object.getOwnPropertyNames(t).map(function(m){return t[m]});if(a.join("")!=="0123456789")return!1;var p={};return"abcdefghijklmnopqrst".split("").forEach(function(m){p[m]=m}),Object.keys(Object.assign({},p)).join("")==="abcdefghijklmnopqrst"}catch(m){return!1}}o(MA,"shouldUseNative");gC.exports=MA()?Object.assign:function(e,t){for(var i,a=PA(e),p,m=1;m{"use strict";var b0=E0(),gc=60103,yC=60106;pt.Fragment=60107;pt.StrictMode=60108;pt.Profiler=60114;var wC=60109,xC=60110,SC=60112;pt.Suspense=60113;var CC=60115,_C=60116;typeof Symbol=="function"&&Symbol.for&&(to=Symbol.for,gc=to("react.element"),yC=to("react.portal"),pt.Fragment=to("react.fragment"),pt.StrictMode=to("react.strict_mode"),pt.Profiler=to("react.profiler"),wC=to("react.provider"),xC=to("react.context"),SC=to("react.forward_ref"),pt.Suspense=to("react.suspense"),CC=to("react.memo"),_C=to("react.lazy"));var to,EC=typeof Symbol=="function"&&Symbol.iterator;function AA(e){return e===null||typeof e!="object"?null:(e=EC&&e[EC]||e["@@iterator"],typeof e=="function"?e:null)}o(AA,"y");function Sd(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,i=1;i{"use strict";DC.exports=AC()});var UC=Gt(_t=>{"use strict";var wc,Cd,tm,P0;typeof performance=="object"&&typeof performance.now=="function"?(IC=performance,_t.unstable_now=function(){return IC.now()}):(M0=Date,FC=M0.now(),_t.unstable_now=function(){return M0.now()-FC});var IC,M0,FC;typeof window=="undefined"||typeof MessageChannel!="function"?(xc=null,A0=null,D0=o(function(){if(xc!==null)try{var e=_t.unstable_now();xc(!0,e),xc=null}catch(t){throw setTimeout(D0,0),t}},"w"),wc=o(function(e){xc!==null?setTimeout(wc,0,e):(xc=e,setTimeout(D0,0))},"f"),Cd=o(function(e,t){A0=setTimeout(e,t)},"g"),tm=o(function(){clearTimeout(A0)},"h"),_t.unstable_shouldYield=function(){return!1},P0=_t.unstable_forceFrameRate=function(){}):(RC=window.setTimeout,WC=window.clearTimeout,typeof console!="undefined"&&(HC=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),typeof HC!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")),_d=!1,Ed=null,rm=-1,I0=5,F0=0,_t.unstable_shouldYield=function(){return _t.unstable_now()>=F0},P0=o(function(){},"k"),_t.unstable_forceFrameRate=function(e){0>e||125>>1,p=e[a];if(p!==void 0&&0om(d,i))b!==void 0&&0>om(b,d)?(e[a]=b,e[w]=i,a=w):(e[a]=d,e[m]=i,a=m);else if(b!==void 0&&0>om(b,i))e[a]=b,e[w]=i,a=w;else break e}}return t}return null}o(im,"K");function om(e,t){var i=e.sortIndex-t.sortIndex;return i!==0?i:e.id-t.id}o(om,"I");var bs=[],Eu=[],WA=1,ro=null,An=3,sm=!1,Ba=!1,bd=!1;function H0(e){for(var t=Ro(Eu);t!==null;){if(t.callback===null)im(Eu);else if(t.startTime<=e)im(Eu),t.sortIndex=t.expirationTime,W0(bs,t);else break;t=Ro(Eu)}}o(H0,"T");function U0(e){if(bd=!1,H0(e),!Ba)if(Ro(bs)!==null)Ba=!0,wc(B0);else{var t=Ro(Eu);t!==null&&Cd(U0,t.startTime-e)}}o(U0,"U");function B0(e,t){Ba=!1,bd&&(bd=!1,tm()),sm=!0;var i=An;try{for(H0(t),ro=Ro(bs);ro!==null&&(!(ro.expirationTime>t)||e&&!_t.unstable_shouldYield());){var a=ro.callback;if(typeof a=="function"){ro.callback=null,An=ro.priorityLevel;var p=a(ro.expirationTime<=t);t=_t.unstable_now(),typeof p=="function"?ro.callback=p:ro===Ro(bs)&&im(bs),H0(t)}else im(bs);ro=Ro(bs)}if(ro!==null)var m=!0;else{var d=Ro(Eu);d!==null&&Cd(U0,d.startTime-t),m=!1}return m}finally{ro=null,An=i,sm=!1}}o(B0,"V");var HA=P0;_t.unstable_IdlePriority=5;_t.unstable_ImmediatePriority=1;_t.unstable_LowPriority=4;_t.unstable_NormalPriority=3;_t.unstable_Profiling=null;_t.unstable_UserBlockingPriority=2;_t.unstable_cancelCallback=function(e){e.callback=null};_t.unstable_continueExecution=function(){Ba||sm||(Ba=!0,wc(B0))};_t.unstable_getCurrentPriorityLevel=function(){return An};_t.unstable_getFirstCallbackNode=function(){return Ro(bs)};_t.unstable_next=function(e){switch(An){case 1:case 2:case 3:var t=3;break;default:t=An}var i=An;An=t;try{return e()}finally{An=i}};_t.unstable_pauseExecution=function(){};_t.unstable_requestPaint=HA;_t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var i=An;An=e;try{return t()}finally{An=i}};_t.unstable_scheduleCallback=function(e,t,i){var a=_t.unstable_now();switch(typeof i=="object"&&i!==null?(i=i.delay,i=typeof i=="number"&&0a?(e.sortIndex=i,W0(Eu,e),Ro(bs)===null&&e===Ro(Eu)&&(bd?tm():bd=!0,Cd(U0,i-a))):(e.sortIndex=p,W0(bs,e),Ba||sm||(Ba=!0,wc(B0))),e};_t.unstable_wrapCallback=function(e){var t=An;return function(){var i=An;An=t;try{return e.apply(this,arguments)}finally{An=i}}}});var zC=Gt((OR,BC)=>{"use strict";BC.exports=UC()});var Nb=Gt(uo=>{"use strict";var lm=ke(),Kt=E0(),tn=zC();function he(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,i=1;it}return!1}o(jA,"na");function Zn(e,t,i,a,p,m,d){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=a,this.attributeNamespace=p,this.mustUseProperty=i,this.propertyName=e,this.type=t,this.sanitizeURL=m,this.removeEmptyString=d}o(Zn,"B");var gn={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){gn[e]=new Zn(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];gn[t]=new Zn(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){gn[e]=new Zn(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){gn[e]=new Zn(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){gn[e]=new Zn(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){gn[e]=new Zn(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){gn[e]=new Zn(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){gn[e]=new Zn(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){gn[e]=new Zn(e,5,!1,e.toLowerCase(),null,!1,!1)});var z0=/[\-:]([a-z])/g;function j0(e){return e[1].toUpperCase()}o(j0,"pa");"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(z0,j0);gn[t]=new Zn(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(z0,j0);gn[t]=new Zn(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(z0,j0);gn[t]=new Zn(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){gn[e]=new Zn(e,1,!1,e.toLowerCase(),null,!1,!1)});gn.xlinkHref=new Zn("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){gn[e]=new Zn(e,1,!1,e.toLowerCase(),null,!0,!0)});function q0(e,t,i,a){var p=gn.hasOwnProperty(t)?gn[t]:null,m=p!==null?p.type===0:a?!1:!(!(2w||p[d]!==m[w])return` +`+p[d].replace(" at new "," at ");while(1<=d&&0<=w);break}}}finally{ew=!1,Error.prepareStackTrace=i}return(e=e?e.displayName||e.name:"")?Pd(e):""}o(cm,"Pa");function qA(e){switch(e.tag){case 5:return Pd(e.type);case 16:return Pd("Lazy");case 13:return Pd("Suspense");case 19:return Pd("SuspenseList");case 0:case 2:case 15:return e=cm(e.type,!1),e;case 11:return e=cm(e.type.render,!1),e;case 22:return e=cm(e.type._render,!1),e;case 1:return e=cm(e.type,!0),e;default:return""}}o(qA,"Qa");function Cc(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case bu:return"Fragment";case qa:return"Portal";case kd:return"Profiler";case $0:return"StrictMode";case Nd:return"Suspense";case am:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case G0:return(e.displayName||"Context")+".Consumer";case V0:return(e._context.displayName||"Context")+".Provider";case um:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case fm:return Cc(e.type);case Y0:return Cc(e._render);case K0:t=e._payload,e=e._init;try{return Cc(e(t))}catch(i){}}return null}o(Cc,"Ra");function Tu(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}o(Tu,"Sa");function YC(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}o(YC,"Ta");function $A(e){var t=YC(e)?"checked":"value",i=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),a=""+e[t];if(!e.hasOwnProperty(t)&&typeof i!="undefined"&&typeof i.get=="function"&&typeof i.set=="function"){var p=i.get,m=i.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return p.call(this)},set:function(d){a=""+d,m.call(this,d)}}),Object.defineProperty(e,t,{enumerable:i.enumerable}),{getValue:function(){return a},setValue:function(d){a=""+d},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}o($A,"Ua");function pm(e){e._valueTracker||(e._valueTracker=$A(e))}o(pm,"Va");function XC(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var i=t.getValue(),a="";return e&&(a=YC(e)?e.checked?"true":"false":e.value),e=a,e!==i?(t.setValue(e),!0):!1}o(XC,"Wa");function dm(e){if(e=e||(typeof document!="undefined"?document:void 0),typeof e=="undefined")return null;try{return e.activeElement||e.body}catch(t){return e.body}}o(dm,"Xa");function tw(e,t){var i=t.checked;return Kt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:i??e._wrapperState.initialChecked})}o(tw,"Ya");function QC(e,t){var i=t.defaultValue==null?"":t.defaultValue,a=t.checked!=null?t.checked:t.defaultChecked;i=Tu(t.value!=null?t.value:i),e._wrapperState={initialChecked:a,initialValue:i,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}o(QC,"Za");function ZC(e,t){t=t.checked,t!=null&&q0(e,"checked",t,!1)}o(ZC,"$a");function rw(e,t){ZC(e,t);var i=Tu(t.value),a=t.type;if(i!=null)a==="number"?(i===0&&e.value===""||e.value!=i)&&(e.value=""+i):e.value!==""+i&&(e.value=""+i);else if(a==="submit"||a==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?nw(e,t.type,i):t.hasOwnProperty("defaultValue")&&nw(e,t.type,Tu(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}o(rw,"ab");function JC(e,t,i){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var a=t.type;if(!(a!=="submit"&&a!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,i||t===e.value||(e.value=t),e.defaultValue=t}i=e.name,i!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,i!==""&&(e.name=i)}o(JC,"cb");function nw(e,t,i){(t!=="number"||dm(e.ownerDocument)!==e)&&(i==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+i&&(e.defaultValue=""+i))}o(nw,"bb");function VA(e){var t="";return lm.Children.forEach(e,function(i){i!=null&&(t+=i)}),t}o(VA,"db");function iw(e,t){return e=Kt({children:void 0},t),(t=VA(t.children))&&(e.children=t),e}o(iw,"eb");function _c(e,t,i,a){if(e=e.options,t){t={};for(var p=0;p=i.length))throw Error(he(93));i=i[0]}t=i}t==null&&(t=""),i=t}e._wrapperState={initialValue:Tu(i)}}o(e_,"hb");function t_(e,t){var i=Tu(t.value),a=Tu(t.defaultValue);i!=null&&(i=""+i,i!==e.value&&(e.value=i),t.defaultValue==null&&e.defaultValue!==i&&(e.defaultValue=i)),a!=null&&(e.defaultValue=""+a)}o(t_,"ib");function r_(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}o(r_,"jb");var sw={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function n_(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}o(n_,"lb");function lw(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?n_(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}o(lw,"mb");var hm,i_=function(e){return typeof MSApp!="undefined"&&MSApp.execUnsafeLocalFunction?function(t,i,a,p){MSApp.execUnsafeLocalFunction(function(){return e(t,i,a,p)})}:e}(function(e,t){if(e.namespaceURI!==sw.svg||"innerHTML"in e)e.innerHTML=t;else{for(hm=hm||document.createElement("div"),hm.innerHTML=""+t.valueOf().toString()+"",t=hm.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Md(e,t){if(t){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=t;return}}e.textContent=t}o(Md,"pb");var Ad={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},GA=["Webkit","ms","Moz","O"];Object.keys(Ad).forEach(function(e){GA.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ad[t]=Ad[e]})});function o_(e,t,i){return t==null||typeof t=="boolean"||t===""?"":i||typeof t!="number"||t===0||Ad.hasOwnProperty(e)&&Ad[e]?(""+t).trim():t+"px"}o(o_,"sb");function s_(e,t){e=e.style;for(var i in t)if(t.hasOwnProperty(i)){var a=i.indexOf("--")===0,p=o_(i,t[i],a);i==="float"&&(i="cssFloat"),a?e.setProperty(i,p):e[i]=p}}o(s_,"tb");var KA=Kt({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function uw(e,t){if(t){if(KA[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(he(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(he(60));if(!(typeof t.dangerouslySetInnerHTML=="object"&&"__html"in t.dangerouslySetInnerHTML))throw Error(he(61))}if(t.style!=null&&typeof t.style!="object")throw Error(he(62))}}o(uw,"vb");function aw(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}o(aw,"wb");function fw(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}o(fw,"xb");var cw=null,Ec=null,bc=null;function l_(e){if(e=Qd(e)){if(typeof cw!="function")throw Error(he(280));var t=e.stateNode;t&&(t=Dm(t),cw(e.stateNode,e.type,t))}}o(l_,"Bb");function u_(e){Ec?bc?bc.push(e):bc=[e]:Ec=e}o(u_,"Eb");function a_(){if(Ec){var e=Ec,t=bc;if(bc=Ec=null,l_(e),t)for(e=0;ea?0:1<i;i++)t.push(e);return t}o(Ew,"Zc");function Sm(e,t,i){e.pendingLanes|=t;var a=t-1;e.suspendedLanes&=a,e.pingedLanes&=a,e=e.eventTimes,t=31-Lu(t),e[t]=i}o(Sm,"$c");var Lu=Math.clz32?Math.clz32:fD,uD=Math.log,aD=Math.LN2;function fD(e){return e===0?32:31-(uD(e)/aD|0)|0}o(fD,"ad");var cD=tn.unstable_UserBlockingPriority,pD=tn.unstable_runWithPriority,Cm=!0;function dD(e,t,i,a){$a||dw();var p=bw,m=$a;$a=!0;try{f_(p,e,t,i,a)}finally{($a=m)||vw()}}o(dD,"gd");function hD(e,t,i,a){pD(cD,bw.bind(null,e,t,i,a))}o(hD,"id");function bw(e,t,i,a){if(Cm){var p;if((p=(t&4)==0)&&0=qd),F_=String.fromCharCode(32),R_=!1;function W_(e,t){switch(e){case"keyup":return RD.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}o(W_,"ge");function H_(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}o(H_,"he");var Pc=!1;function HD(e,t){switch(e){case"compositionend":return H_(t);case"keypress":return t.which!==32?null:(R_=!0,F_);case"textInput":return e=t.data,e===F_&&R_?null:e;default:return null}}o(HD,"je");function UD(e,t){if(Pc)return e==="compositionend"||!Aw&&W_(e,t)?(e=L_(),_m=Ow=Pu=null,Pc=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:i,offset:t-e};e=a}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=$_(i)}}o(V_,"Le");function G_(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?G_(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}o(G_,"Me");function K_(){for(var e=window,t=dm();t instanceof e.HTMLIFrameElement;){try{var i=typeof t.contentWindow.location.href=="string"}catch(a){i=!1}if(i)e=t.contentWindow;else break;t=dm(e.document)}return t}o(K_,"Ne");function Iw(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}o(Iw,"Oe");var XD=hl&&"documentMode"in document&&11>=document.documentMode,Mc=null,Fw=null,Kd=null,Rw=!1;function Y_(e,t,i){var a=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;Rw||Mc==null||Mc!==dm(a)||(a=Mc,"selectionStart"in a&&Iw(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Kd&&Gd(Kd,a)||(Kd=a,a=Lm(Fw,"onSelect"),0Rc||(e.current=qw[Rc],qw[Rc]=null,Rc--)}o(zt,"H");function sr(e,t){Rc++,qw[Rc]=e.current,e.current=t}o(sr,"I");var Du={},Dn=Au(Du),mi=Au(!1),Ka=Du;function Wc(e,t){var i=e.type.contextTypes;if(!i)return Du;var a=e.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===t)return a.__reactInternalMemoizedMaskedChildContext;var p={},m;for(m in i)p[m]=t[m];return a&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=p),p}o(Wc,"Ef");function gi(e){return e=e.childContextTypes,e!=null}o(gi,"Ff");function Im(){zt(mi),zt(Dn)}o(Im,"Gf");function cE(e,t,i){if(Dn.current!==Du)throw Error(he(168));sr(Dn,t),sr(mi,i)}o(cE,"Hf");function pE(e,t,i){var a=e.stateNode;if(e=t.childContextTypes,typeof a.getChildContext!="function")return i;a=a.getChildContext();for(var p in a)if(!(p in e))throw Error(he(108,Cc(t)||"Unknown",p));return Kt({},i,a)}o(pE,"If");function Fm(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Du,Ka=Dn.current,sr(Dn,e),sr(mi,mi.current),!0}o(Fm,"Jf");function dE(e,t,i){var a=e.stateNode;if(!a)throw Error(he(169));i?(e=pE(e,t,Ka),a.__reactInternalMemoizedMergedChildContext=e,zt(mi),zt(Dn),sr(Dn,e)):zt(mi),sr(mi,i)}o(dE,"Kf");var $w=null,Ya=null,JD=tn.unstable_runWithPriority,Vw=tn.unstable_scheduleCallback,Gw=tn.unstable_cancelCallback,eI=tn.unstable_shouldYield,hE=tn.unstable_requestPaint,Kw=tn.unstable_now,tI=tn.unstable_getCurrentPriorityLevel,Rm=tn.unstable_ImmediatePriority,vE=tn.unstable_UserBlockingPriority,mE=tn.unstable_NormalPriority,gE=tn.unstable_LowPriority,yE=tn.unstable_IdlePriority,Yw={},rI=hE!==void 0?hE:function(){},vl=null,Wm=null,Xw=!1,wE=Kw(),In=1e4>wE?Kw:function(){return Kw()-wE};function Hc(){switch(tI()){case Rm:return 99;case vE:return 98;case mE:return 97;case gE:return 96;case yE:return 95;default:throw Error(he(332))}}o(Hc,"eg");function xE(e){switch(e){case 99:return Rm;case 98:return vE;case 97:return mE;case 96:return gE;case 95:return yE;default:throw Error(he(332))}}o(xE,"fg");function Xa(e,t){return e=xE(e),JD(e,t)}o(Xa,"gg");function Zd(e,t,i){return e=xE(e),Vw(e,t,i)}o(Zd,"hg");function Os(){if(Wm!==null){var e=Wm;Wm=null,Gw(e)}SE()}o(Os,"ig");function SE(){if(!Xw&&vl!==null){Xw=!0;var e=0;try{var t=vl;Xa(99,function(){for(;ece?(me=se,se=null):me=se.sibling;var ye=z(I,se,W[ce],K);if(ye===null){se===null&&(se=me);break}e&&se&&ye.alternate===null&&t(I,se),A=m(ye,A,ce),fe===null?V=ye:fe.sibling=ye,fe=ye,se=me}if(ce===W.length)return i(I,se),V;if(se===null){for(;cece?(me=se,se=null):me=se.sibling;var ze=z(I,se,ye.value,K);if(ze===null){se===null&&(se=me);break}e&&se&&ze.alternate===null&&t(I,se),A=m(ze,A,ce),fe===null?V=ze:fe.sibling=ze,fe=ze,se=me}if(ye.done)return i(I,se),V;if(se===null){for(;!ye.done;ce++,ye=W.next())ye=Y(I,ye.value,K),ye!==null&&(A=m(ye,A,ce),fe===null?V=ye:fe.sibling=ye,fe=ye);return V}for(se=a(I,se);!ye.done;ce++,ye=W.next())ye=X(se,I,ce,ye.value,K),ye!==null&&(e&&ye.alternate!==null&&se.delete(ye.key===null?ce:ye.key),A=m(ye,A,ce),fe===null?V=ye:fe.sibling=ye,fe=ye);return e&&se.forEach(function(Ye){return t(I,Ye)}),V}return o(J,"w"),function(I,A,W,K){var V=typeof W=="object"&&W!==null&&W.type===bu&&W.key===null;V&&(W=W.props.children);var fe=typeof W=="object"&&W!==null;if(fe)switch(W.$$typeof){case Od:e:{for(fe=W.key,V=A;V!==null;){if(V.key===fe){switch(V.tag){case 7:if(W.type===bu){i(I,V.sibling),A=p(V,W.props.children),A.return=I,I=A;break e}break;default:if(V.elementType===W.type){i(I,V.sibling),A=p(V,W.props),A.ref=eh(I,V,W),A.return=I,I=A;break e}}i(I,V);break}else t(I,V);V=V.sibling}W.type===bu?(A=Yc(W.props.children,I.mode,K,W.key),A.return=I,I=A):(K=ag(W.type,W.key,W.props,null,I.mode,K),K.ref=eh(I,A,W),K.return=I,I=K)}return d(I);case qa:e:{for(V=W.key;A!==null;){if(A.key===V)if(A.tag===4&&A.stateNode.containerInfo===W.containerInfo&&A.stateNode.implementation===W.implementation){i(I,A.sibling),A=p(A,W.children||[]),A.return=I,I=A;break e}else{i(I,A);break}else t(I,A);A=A.sibling}A=R1(W,I.mode,K),A.return=I,I=A}return d(I)}if(typeof W=="string"||typeof W=="number")return W=""+W,A!==null&&A.tag===6?(i(I,A.sibling),A=p(A,W),A.return=I,I=A):(i(I,A),A=F1(W,I.mode,K),A.return=I,I=A),d(I);if(qm(W))return ee(I,A,W,K);if(Ld(W))return J(I,A,W,K);if(fe&&$m(I,W),typeof W=="undefined"&&!V)switch(I.tag){case 1:case 22:case 0:case 11:case 15:throw Error(he(152,Cc(I.type)||"Component"))}return i(I,A)}}o(LE,"Sg");var Vm=LE(!0),PE=LE(!1),th={},ks=Au(th),rh=Au(th),nh=Au(th);function Qa(e){if(e===th)throw Error(he(174));return e}o(Qa,"dh");function t1(e,t){switch(sr(nh,t),sr(rh,e),sr(ks,th),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:lw(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=lw(t,e)}zt(ks),sr(ks,t)}o(t1,"eh");function zc(){zt(ks),zt(rh),zt(nh)}o(zc,"fh");function ME(e){Qa(nh.current);var t=Qa(ks.current),i=lw(t,e.type);t!==i&&(sr(rh,e),sr(ks,i))}o(ME,"gh");function r1(e){rh.current===e&&(zt(ks),zt(rh))}o(r1,"hh");var lr=Au(0);function Gm(e){for(var t=e;t!==null;){if(t.tag===13){var i=t.memoizedState;if(i!==null&&(i=i.dehydrated,i===null||i.data==="$?"||i.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&64)!=0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}o(Gm,"ih");var ml=null,Wu=null,Ns=!1;function AE(e,t){var i=lo(5,null,null,0);i.elementType="DELETED",i.type="DELETED",i.stateNode=t,i.return=e,i.flags=8,e.lastEffect!==null?(e.lastEffect.nextEffect=i,e.lastEffect=i):e.firstEffect=e.lastEffect=i}o(AE,"mh");function DE(e,t){switch(e.tag){case 5:var i=e.type;return t=t.nodeType!==1||i.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,!0):!1;case 13:return!1;default:return!1}}o(DE,"oh");function n1(e){if(Ns){var t=Wu;if(t){var i=t;if(!DE(e,t)){if(t=Dc(i.nextSibling),!t||!DE(e,t)){e.flags=e.flags&-1025|2,Ns=!1,ml=e;return}AE(ml,i)}ml=e,Wu=Dc(t.firstChild)}else e.flags=e.flags&-1025|2,Ns=!1,ml=e}}o(n1,"ph");function IE(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;ml=e}o(IE,"qh");function Km(e){if(e!==ml)return!1;if(!Ns)return IE(e),Ns=!0,!1;var t=e.type;if(e.tag!==5||t!=="head"&&t!=="body"&&!Bw(t,e.memoizedProps))for(t=Wu;t;)AE(e,t),t=Dc(t.nextSibling);if(IE(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(he(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var i=e.data;if(i==="/$"){if(t===0){Wu=Dc(e.nextSibling);break e}t--}else i!=="$"&&i!=="$!"&&i!=="$?"||t++}e=e.nextSibling}Wu=null}}else Wu=ml?Dc(e.stateNode.nextSibling):null;return!0}o(Km,"rh");function i1(){Wu=ml=null,Ns=!1}o(i1,"sh");var jc=[];function o1(){for(var e=0;em))throw Error(he(301));m+=1,yn=Fn=null,t.updateQueue=null,ih.current=lI,e=i(a,p)}while(sh)}if(ih.current=Jm,t=Fn!==null&&Fn.next!==null,oh=0,yn=Fn=yr=null,Ym=!1,t)throw Error(he(300));return e}o(l1,"Ch");function Za(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return yn===null?yr.memoizedState=yn=e:yn=yn.next=e,yn}o(Za,"Hh");function Ja(){if(Fn===null){var e=yr.alternate;e=e!==null?e.memoizedState:null}else e=Fn.next;var t=yn===null?yr.memoizedState:yn.next;if(t!==null)yn=t,Fn=e;else{if(e===null)throw Error(he(310));Fn=e,e={memoizedState:Fn.memoizedState,baseState:Fn.baseState,baseQueue:Fn.baseQueue,queue:Fn.queue,next:null},yn===null?yr.memoizedState=yn=e:yn=yn.next=e}return yn}o(Ja,"Ih");function Ls(e,t){return typeof t=="function"?t(e):t}o(Ls,"Jh");function lh(e){var t=Ja(),i=t.queue;if(i===null)throw Error(he(311));i.lastRenderedReducer=e;var a=Fn,p=a.baseQueue,m=i.pending;if(m!==null){if(p!==null){var d=p.next;p.next=m.next,m.next=d}a.baseQueue=p=m,i.pending=null}if(p!==null){p=p.next,a=a.baseState;var w=d=m=null,b=p;do{var L=b.lane;if((oh&L)===L)w!==null&&(w=w.next={lane:0,action:b.action,eagerReducer:b.eagerReducer,eagerState:b.eagerState,next:null}),a=b.eagerReducer===e?b.eagerState:e(a,b.action);else{var F={lane:L,action:b.action,eagerReducer:b.eagerReducer,eagerState:b.eagerState,next:null};w===null?(d=w=F,m=a):w=w.next=F,yr.lanes|=L,ch|=L}b=b.next}while(b!==null&&b!==p);w===null?m=a:w.next=d,no(a,t.memoizedState)||(Ho=!0),t.memoizedState=a,t.baseState=m,t.baseQueue=w,i.lastRenderedState=a}return[t.memoizedState,i.dispatch]}o(lh,"Kh");function uh(e){var t=Ja(),i=t.queue;if(i===null)throw Error(he(311));i.lastRenderedReducer=e;var a=i.dispatch,p=i.pending,m=t.memoizedState;if(p!==null){i.pending=null;var d=p=p.next;do m=e(m,d.action),d=d.next;while(d!==p);no(m,t.memoizedState)||(Ho=!0),t.memoizedState=m,t.baseQueue===null&&(t.baseState=m),i.lastRenderedState=m}return[m,a]}o(uh,"Lh");function FE(e,t,i){var a=t._getVersion;a=a(t._source);var p=t._workInProgressVersionPrimary;if(p!==null?e=p===a:(e=e.mutableReadLanes,(e=(oh&e)===e)&&(t._workInProgressVersionPrimary=a,jc.push(t))),e)return i(t._source);throw jc.push(t),Error(he(350))}o(FE,"Mh");function RE(e,t,i,a){var p=Jn;if(p===null)throw Error(he(349));var m=t._getVersion,d=m(t._source),w=ih.current,b=w.useState(function(){return FE(p,t,i)}),L=b[1],F=b[0];b=yn;var Y=e.memoizedState,z=Y.refs,X=z.getSnapshot,ee=Y.source;Y=Y.subscribe;var J=yr;return e.memoizedState={refs:z,source:t,subscribe:a},w.useEffect(function(){z.getSnapshot=i,z.setSnapshot=L;var I=m(t._source);if(!no(d,I)){I=i(t._source),no(F,I)||(L(I),I=Uu(J),p.mutableReadLanes|=I&p.pendingLanes),I=p.mutableReadLanes,p.entangledLanes|=I;for(var A=p.entanglements,W=I;0i?98:i,function(){e(!0)}),Xa(97<\/script>",e=e.removeChild(e.firstChild)):typeof a.is=="string"?e=d.createElement(i,{is:a.is}):(e=d.createElement(i),i==="select"&&(d=e,a.multiple?d.multiple=!0:a.size&&(d.size=a.size))):e=d.createElementNS(e,i),e[Mu]=t,e[Am]=a,ib(e,t,!1,!1),t.stateNode=e,d=aw(i,a),i){case"dialog":Bt("cancel",e),Bt("close",e),p=a;break;case"iframe":case"object":case"embed":Bt("load",e),p=a;break;case"video":case"audio":for(p=0;pO1&&(t.flags|=64,m=!0,fh(a,!1),t.lanes=33554432)}else{if(!m)if(e=Gm(d),e!==null){if(t.flags|=64,m=!0,i=e.updateQueue,i!==null&&(t.updateQueue=i,t.flags|=4),fh(a,!0),a.tail===null&&a.tailMode==="hidden"&&!d.alternate&&!Ns)return t=t.lastEffect=a.lastEffect,t!==null&&(t.nextEffect=null),null}else 2*In()-a.renderingStartTime>O1&&i!==1073741824&&(t.flags|=64,m=!0,fh(a,!1),t.lanes=33554432);a.isBackwards?(d.sibling=t.child,t.child=d):(i=a.last,i!==null?i.sibling=d:t.child=d,a.last=d)}return a.tail!==null?(i=a.tail,a.rendering=i,a.tail=i.sibling,a.lastEffect=t.lastEffect,a.renderingStartTime=In(),i.sibling=null,t=lr.current,sr(lr,m?t&1|2:t&1),i):null;case 23:case 24:return A1(),e!==null&&e.memoizedState!==null!=(t.memoizedState!==null)&&a.mode!=="unstable-defer-without-hiding"&&(t.flags|=4),null}throw Error(he(156,t.tag))}o(aI,"Gi");function fI(e){switch(e.tag){case 1:gi(e.type)&&Im();var t=e.flags;return t&4096?(e.flags=t&-4097|64,e):null;case 3:if(zc(),zt(mi),zt(Dn),o1(),t=e.flags,(t&64)!=0)throw Error(he(285));return e.flags=t&-4097|64,e;case 5:return r1(e),null;case 13:return zt(lr),t=e.flags,t&4096?(e.flags=t&-4097|64,e):null;case 19:return zt(lr),null;case 4:return zc(),null;case 10:return Zw(e),null;case 23:case 24:return A1(),null;default:return null}}o(fI,"Li");function g1(e,t){try{var i="",a=t;do i+=qA(a),a=a.return;while(a);var p=i}catch(m){p=` +Error generating stack: `+m.message+` +`+m.stack}return{value:e,source:t,stack:p}}o(g1,"Mi");function y1(e,t){try{console.error(t.value)}catch(i){setTimeout(function(){throw i})}}o(y1,"Ni");var cI=typeof WeakMap=="function"?WeakMap:Map;function lb(e,t,i){i=Fu(-1,i),i.tag=3,i.payload={element:null};var a=t.value;return i.callback=function(){ng||(ng=!0,k1=a),y1(e,t)},i}o(lb,"Pi");function ub(e,t,i){i=Fu(-1,i),i.tag=3;var a=e.type.getDerivedStateFromError;if(typeof a=="function"){var p=t.value;i.payload=function(){return y1(e,t),a(p)}}var m=e.stateNode;return m!==null&&typeof m.componentDidCatch=="function"&&(i.callback=function(){typeof a!="function"&&(Ps===null?Ps=new Set([this]):Ps.add(this),y1(e,t));var d=t.stack;this.componentDidCatch(t.value,{componentStack:d!==null?d:""})}),i}o(ub,"Si");var pI=typeof WeakSet=="function"?WeakSet:Set;function ab(e){var t=e.ref;if(t!==null)if(typeof t=="function")try{t(null)}catch(i){ju(e,i)}else t.current=null}o(ab,"Vi");function dI(e,t){switch(t.tag){case 0:case 11:case 15:case 22:return;case 1:if(t.flags&256&&e!==null){var i=e.memoizedProps,a=e.memoizedState;e=t.stateNode,t=e.getSnapshotBeforeUpdate(t.elementType===t.type?i:Wo(t.type,i),a),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:t.flags&256&&zw(t.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(he(163))}o(dI,"Xi");function hI(e,t,i){switch(i.tag){case 0:case 11:case 15:case 22:if(t=i.updateQueue,t=t!==null?t.lastEffect:null,t!==null){e=t=t.next;do{if((e.tag&3)==3){var a=e.create;e.destroy=a()}e=e.next}while(e!==t)}if(t=i.updateQueue,t=t!==null?t.lastEffect:null,t!==null){e=t=t.next;do{var p=e;a=p.next,p=p.tag,(p&4)!=0&&(p&1)!=0&&(Eb(i,e),CI(i,e)),e=a}while(e!==t)}return;case 1:e=i.stateNode,i.flags&4&&(t===null?e.componentDidMount():(a=i.elementType===i.type?t.memoizedProps:Wo(i.type,t.memoizedProps),e.componentDidUpdate(a,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),t=i.updateQueue,t!==null&&bE(i,t,e);return;case 3:if(t=i.updateQueue,t!==null){if(e=null,i.child!==null)switch(i.child.tag){case 5:e=i.child.stateNode;break;case 1:e=i.child.stateNode}bE(i,t,e)}return;case 5:e=i.stateNode,t===null&&i.flags&4&&sE(i.type,i.memoizedProps)&&e.focus();return;case 6:return;case 4:return;case 12:return;case 13:i.memoizedState===null&&(i=i.alternate,i!==null&&(i=i.memoizedState,i!==null&&(i=i.dehydrated,i!==null&&C_(i))));return;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(he(163))}o(hI,"Yi");function fb(e,t){for(var i=e;;){if(i.tag===5){var a=i.stateNode;if(t)a=a.style,typeof a.setProperty=="function"?a.setProperty("display","none","important"):a.display="none";else{a=i.stateNode;var p=i.memoizedProps.style;p=p!=null&&p.hasOwnProperty("display")?p.display:null,a.style.display=o_("display",p)}}else if(i.tag===6)i.stateNode.nodeValue=t?"":i.memoizedProps;else if((i.tag!==23&&i.tag!==24||i.memoizedState===null||i===e)&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===e)break;for(;i.sibling===null;){if(i.return===null||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}}o(fb,"aj");function cb(e,t){if(Ya&&typeof Ya.onCommitFiberUnmount=="function")try{Ya.onCommitFiberUnmount($w,t)}catch(m){}switch(t.tag){case 0:case 11:case 14:case 15:case 22:if(e=t.updateQueue,e!==null&&(e=e.lastEffect,e!==null)){var i=e=e.next;do{var a=i,p=a.destroy;if(a=a.tag,p!==void 0)if((a&4)!=0)Eb(t,i);else{a=t;try{p()}catch(m){ju(a,m)}}i=i.next}while(i!==e)}break;case 1:if(ab(t),e=t.stateNode,typeof e.componentWillUnmount=="function")try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(m){ju(t,m)}break;case 5:ab(t);break;case 4:vb(e,t)}}o(cb,"bj");function pb(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}o(pb,"dj");function db(e){return e.tag===5||e.tag===3||e.tag===4}o(db,"ej");function hb(e){e:{for(var t=e.return;t!==null;){if(db(t))break e;t=t.return}throw Error(he(160))}var i=t;switch(t=i.stateNode,i.tag){case 5:var a=!1;break;case 3:t=t.containerInfo,a=!0;break;case 4:t=t.containerInfo,a=!0;break;default:throw Error(he(161))}i.flags&16&&(Md(t,""),i.flags&=-17);e:t:for(i=e;;){for(;i.sibling===null;){if(i.return===null||db(i.return)){i=null;break e}i=i.return}for(i.sibling.return=i.return,i=i.sibling;i.tag!==5&&i.tag!==6&&i.tag!==18;){if(i.flags&2||i.child===null||i.tag===4)continue t;i.child.return=i,i=i.child}if(!(i.flags&2)){i=i.stateNode;break e}}a?w1(e,i,t):x1(e,i,t)}o(hb,"fj");function w1(e,t,i){var a=e.tag,p=a===5||a===6;if(p)e=p?e.stateNode:e.stateNode.instance,t?i.nodeType===8?i.parentNode.insertBefore(e,t):i.insertBefore(e,t):(i.nodeType===8?(t=i.parentNode,t.insertBefore(e,i)):(t=i,t.appendChild(e)),i=i._reactRootContainer,i!=null||t.onclick!==null||(t.onclick=Pm));else if(a!==4&&(e=e.child,e!==null))for(w1(e,t,i),e=e.sibling;e!==null;)w1(e,t,i),e=e.sibling}o(w1,"gj");function x1(e,t,i){var a=e.tag,p=a===5||a===6;if(p)e=p?e.stateNode:e.stateNode.instance,t?i.insertBefore(e,t):i.appendChild(e);else if(a!==4&&(e=e.child,e!==null))for(x1(e,t,i),e=e.sibling;e!==null;)x1(e,t,i),e=e.sibling}o(x1,"hj");function vb(e,t){for(var i=t,a=!1,p,m;;){if(!a){a=i.return;e:for(;;){if(a===null)throw Error(he(160));switch(p=a.stateNode,a.tag){case 5:m=!1;break e;case 3:p=p.containerInfo,m=!0;break e;case 4:p=p.containerInfo,m=!0;break e}a=a.return}a=!0}if(i.tag===5||i.tag===6){e:for(var d=e,w=i,b=w;;)if(cb(d,b),b.child!==null&&b.tag!==4)b.child.return=b,b=b.child;else{if(b===w)break e;for(;b.sibling===null;){if(b.return===null||b.return===w)break e;b=b.return}b.sibling.return=b.return,b=b.sibling}m?(d=p,w=i.stateNode,d.nodeType===8?d.parentNode.removeChild(w):d.removeChild(w)):p.removeChild(i.stateNode)}else if(i.tag===4){if(i.child!==null){p=i.stateNode.containerInfo,m=!0,i.child.return=i,i=i.child;continue}}else if(cb(e,i),i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break;for(;i.sibling===null;){if(i.return===null||i.return===t)return;i=i.return,i.tag===4&&(a=!1)}i.sibling.return=i.return,i=i.sibling}}o(vb,"cj");function S1(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var a=i=i.next;do(a.tag&3)==3&&(e=a.destroy,a.destroy=void 0,e!==void 0&&e()),a=a.next;while(a!==i)}return;case 1:return;case 5:if(i=t.stateNode,i!=null){a=t.memoizedProps;var p=e!==null?e.memoizedProps:a;e=t.type;var m=t.updateQueue;if(t.updateQueue=null,m!==null){for(i[Am]=a,e==="input"&&a.type==="radio"&&a.name!=null&&ZC(i,a),aw(e,p),t=aw(e,a),p=0;pp&&(p=d),i&=~m}if(i=p,i=In()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*mI(i/1960))-i,10 component higher in the tree to provide a loading indicator or placeholder to display.`)}wn!==5&&(wn=2),b=g1(b,w),z=d;do{switch(z.tag){case 3:m=b,z.flags|=4096,t&=-t,z.lanes|=t;var fe=lb(z,m,t);EE(z,fe);break e;case 1:m=b;var se=z.type,ce=z.stateNode;if((z.flags&64)==0&&(typeof se.getDerivedStateFromError=="function"||ce!==null&&typeof ce.componentDidCatch=="function"&&(Ps===null||!Ps.has(ce)))){z.flags|=4096,t&=-t,z.lanes|=t;var me=ub(z,m,t);EE(z,me);break e}}z=z.return}while(z!==null)}_b(i)}catch(ye){t=ye,Ur===i&&i!==null&&(Ur=i=i.return);continue}break}while(1)}o(xb,"Sj");function Sb(){var e=tg.current;return tg.current=Jm,e===null?Jm:e}o(Sb,"Pj");function mh(e,t){var i=Ue;Ue|=16;var a=Sb();Jn===e&&Rn===t||Kc(e,t);do try{yI();break}catch(p){xb(e,p)}while(1);if(Qw(),Ue=i,tg.current=a,Ur!==null)throw Error(he(261));return Jn=null,Rn=0,wn}o(mh,"Tj");function yI(){for(;Ur!==null;)Cb(Ur)}o(yI,"ak");function wI(){for(;Ur!==null&&!eI();)Cb(Ur)}o(wI,"Rj");function Cb(e){var t=Tb(e.alternate,e,ef);e.memoizedProps=e.pendingProps,t===null?_b(e):Ur=t,C1.current=null}o(Cb,"bk");function _b(e){var t=e;do{var i=t.alternate;if(e=t.return,(t.flags&2048)==0){if(i=aI(i,t,ef),i!==null){Ur=i;return}if(i=t,i.tag!==24&&i.tag!==23||i.memoizedState===null||(ef&1073741824)!=0||(i.mode&4)==0){for(var a=0,p=i.child;p!==null;)a|=p.lanes|p.childLanes,p=p.sibling;i.childLanes=a}e!==null&&(e.flags&2048)==0&&(e.firstEffect===null&&(e.firstEffect=t.firstEffect),t.lastEffect!==null&&(e.lastEffect!==null&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1d&&(w=d,d=fe,fe=w),w=V_(W,fe),m=V_(W,d),w&&m&&(V.rangeCount!==1||V.anchorNode!==w.node||V.anchorOffset!==w.offset||V.focusNode!==m.node||V.focusOffset!==m.offset)&&(K=K.createRange(),K.setStart(w.node,w.offset),V.removeAllRanges(),fe>d?(V.addRange(K),V.extend(m.node,m.offset)):(K.setEnd(m.node,m.offset),V.addRange(K)))))),K=[],V=W;V=V.parentNode;)V.nodeType===1&&K.push({element:V,left:V.scrollLeft,top:V.scrollTop});for(typeof W.focus=="function"&&W.focus(),W=0;WIn()-T1?Kc(e,0):E1|=i),so(e,t)}o(EI,"Yj");function bI(e,t){var i=e.stateNode;i!==null&&i.delete(t),t=0,t===0&&(t=e.mode,(t&2)==0?t=1:(t&4)==0?t=Hc()===99?1:2:(wl===0&&(wl=qc),t=Nc(62914560&~wl),t===0&&(t=4194304))),i=Ii(),e=lg(e,t),e!==null&&(Sm(e,t,i),so(e,i))}o(bI,"lj");var Tb;Tb=o(function(e,t,i){var a=t.lanes;if(e!==null)if(e.memoizedProps!==t.pendingProps||mi.current)Ho=!0;else if((i&a)!=0)Ho=(e.flags&16384)!=0;else{switch(Ho=!1,t.tag){case 3:QE(t),i1();break;case 5:ME(t);break;case 1:gi(t.type)&&Fm(t);break;case 4:t1(t,t.stateNode.containerInfo);break;case 10:a=t.memoizedProps.value;var p=t.type._context;sr(Hm,p._currentValue),p._currentValue=a;break;case 13:if(t.memoizedState!==null)return(i&t.child.childLanes)!=0?ZE(e,t,i):(sr(lr,lr.current&1),t=gl(e,t,i),t!==null?t.sibling:null);sr(lr,lr.current&1);break;case 19:if(a=(i&t.childLanes)!=0,(e.flags&64)!=0){if(a)return nb(e,t,i);t.flags|=64}if(p=t.memoizedState,p!==null&&(p.rendering=null,p.tail=null,p.lastEffect=null),sr(lr,lr.current),a)break;return null;case 23:case 24:return t.lanes=0,p1(e,t,i)}return gl(e,t,i)}else Ho=!1;switch(t.lanes=0,t.tag){case 2:if(a=t.type,e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,p=Wc(t,Dn.current),Bc(t,i),p=l1(null,t,a,e,p,i),t.flags|=1,typeof p=="object"&&p!==null&&typeof p.render=="function"&&p.$$typeof===void 0){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,gi(a)){var m=!0;Fm(t)}else m=!1;t.memoizedState=p.state!==null&&p.state!==void 0?p.state:null,Jw(t);var d=a.getDerivedStateFromProps;typeof d=="function"&&zm(t,a,d,e),p.updater=jm,t.stateNode=p,p._reactInternals=t,e1(t,a,e,i),t=h1(null,t,a,!0,m,i)}else t.tag=0,wi(null,t,p,i),t=t.child;return t;case 16:p=t.elementType;e:{switch(e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,m=p._init,p=m(p._payload),t.type=p,m=t.tag=OI(p),e=Wo(p,e),m){case 0:t=d1(null,t,p,e,i);break e;case 1:t=XE(null,t,p,e,i);break e;case 11:t=VE(null,t,p,e,i);break e;case 14:t=GE(null,t,p,Wo(p.type,e),a,i);break e}throw Error(he(306,p,""))}return t;case 0:return a=t.type,p=t.pendingProps,p=t.elementType===a?p:Wo(a,p),d1(e,t,a,p,i);case 1:return a=t.type,p=t.pendingProps,p=t.elementType===a?p:Wo(a,p),XE(e,t,a,p,i);case 3:if(QE(t),a=t.updateQueue,e===null||a===null)throw Error(he(282));if(a=t.pendingProps,p=t.memoizedState,p=p!==null?p.element:null,_E(e,t),Jd(t,a,null,i),a=t.memoizedState.element,a===p)i1(),t=gl(e,t,i);else{if(p=t.stateNode,(m=p.hydrate)&&(Wu=Dc(t.stateNode.containerInfo.firstChild),ml=t,m=Ns=!0),m){if(e=p.mutableSourceEagerHydrationData,e!=null)for(p=0;p{"use strict";function Lb(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__=="undefined"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Lb)}catch(e){console.error(e)}}o(Lb,"checkDCE");Lb(),Pb.exports=Nb()});var Ab=Gt((LR,Mb)=>{"use strict";var DI="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";Mb.exports=DI});var Rb=Gt((PR,Fb)=>{"use strict";var II=Ab();function Db(){}o(Db,"emptyFunction");function Ib(){}o(Ib,"emptyFunctionWithReset");Ib.resetWarningCache=Db;Fb.exports=function(){function e(a,p,m,d,w,b){if(b!==II){var L=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw L.name="Invariant Violation",L}}o(e,"shim"),e.isRequired=e;function t(){return e}o(t,"getShim");var i={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:Ib,resetWarningCache:Db};return i.PropTypes=i,i}});var Hb=Gt((DR,Wb)=>{Wb.exports=Rb()();var MR,AR});var Vb=Gt(Ot=>{"use strict";var rn=typeof Symbol=="function"&&Symbol.for,z1=rn?Symbol.for("react.element"):60103,j1=rn?Symbol.for("react.portal"):60106,dg=rn?Symbol.for("react.fragment"):60107,hg=rn?Symbol.for("react.strict_mode"):60108,vg=rn?Symbol.for("react.profiler"):60114,mg=rn?Symbol.for("react.provider"):60109,gg=rn?Symbol.for("react.context"):60110,q1=rn?Symbol.for("react.async_mode"):60111,yg=rn?Symbol.for("react.concurrent_mode"):60111,wg=rn?Symbol.for("react.forward_ref"):60112,xg=rn?Symbol.for("react.suspense"):60113,HI=rn?Symbol.for("react.suspense_list"):60120,Sg=rn?Symbol.for("react.memo"):60115,Cg=rn?Symbol.for("react.lazy"):60116,UI=rn?Symbol.for("react.block"):60121,BI=rn?Symbol.for("react.fundamental"):60117,zI=rn?Symbol.for("react.responder"):60118,jI=rn?Symbol.for("react.scope"):60119;function Fi(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case z1:switch(e=e.type,e){case q1:case yg:case dg:case vg:case hg:case xg:return e;default:switch(e=e&&e.$$typeof,e){case gg:case wg:case Cg:case Sg:case mg:return e;default:return t}}case j1:return t}}}o(Fi,"z");function $b(e){return Fi(e)===yg}o($b,"A");Ot.AsyncMode=q1;Ot.ConcurrentMode=yg;Ot.ContextConsumer=gg;Ot.ContextProvider=mg;Ot.Element=z1;Ot.ForwardRef=wg;Ot.Fragment=dg;Ot.Lazy=Cg;Ot.Memo=Sg;Ot.Portal=j1;Ot.Profiler=vg;Ot.StrictMode=hg;Ot.Suspense=xg;Ot.isAsyncMode=function(e){return $b(e)||Fi(e)===q1};Ot.isConcurrentMode=$b;Ot.isContextConsumer=function(e){return Fi(e)===gg};Ot.isContextProvider=function(e){return Fi(e)===mg};Ot.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===z1};Ot.isForwardRef=function(e){return Fi(e)===wg};Ot.isFragment=function(e){return Fi(e)===dg};Ot.isLazy=function(e){return Fi(e)===Cg};Ot.isMemo=function(e){return Fi(e)===Sg};Ot.isPortal=function(e){return Fi(e)===j1};Ot.isProfiler=function(e){return Fi(e)===vg};Ot.isStrictMode=function(e){return Fi(e)===hg};Ot.isSuspense=function(e){return Fi(e)===xg};Ot.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===dg||e===yg||e===vg||e===hg||e===xg||e===HI||typeof e=="object"&&e!==null&&(e.$$typeof===Cg||e.$$typeof===Sg||e.$$typeof===mg||e.$$typeof===gg||e.$$typeof===wg||e.$$typeof===BI||e.$$typeof===zI||e.$$typeof===jI||e.$$typeof===UI)};Ot.typeOf=Fi});var Kb=Gt((YR,Gb)=>{"use strict";Gb.exports=Vb()});var tT=Gt((XR,eT)=>{"use strict";var $1=Kb(),qI={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},$I={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},VI={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Yb={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},V1={};V1[$1.ForwardRef]=VI;V1[$1.Memo]=Yb;function Xb(e){return $1.isMemo(e)?Yb:V1[e.$$typeof]||qI}o(Xb,"getStatics");var GI=Object.defineProperty,KI=Object.getOwnPropertyNames,Qb=Object.getOwnPropertySymbols,YI=Object.getOwnPropertyDescriptor,XI=Object.getPrototypeOf,Zb=Object.prototype;function Jb(e,t,i){if(typeof t!="string"){if(Zb){var a=XI(t);a&&a!==Zb&&Jb(e,a,i)}var p=KI(t);Qb&&(p=p.concat(Qb(t)));for(var m=Xb(e),d=Xb(t),w=0;w{"use strict";var nn=typeof Symbol=="function"&&Symbol.for,G1=nn?Symbol.for("react.element"):60103,K1=nn?Symbol.for("react.portal"):60106,_g=nn?Symbol.for("react.fragment"):60107,Eg=nn?Symbol.for("react.strict_mode"):60108,bg=nn?Symbol.for("react.profiler"):60114,Tg=nn?Symbol.for("react.provider"):60109,Og=nn?Symbol.for("react.context"):60110,Y1=nn?Symbol.for("react.async_mode"):60111,kg=nn?Symbol.for("react.concurrent_mode"):60111,Ng=nn?Symbol.for("react.forward_ref"):60112,Lg=nn?Symbol.for("react.suspense"):60113,QI=nn?Symbol.for("react.suspense_list"):60120,Pg=nn?Symbol.for("react.memo"):60115,Mg=nn?Symbol.for("react.lazy"):60116,ZI=nn?Symbol.for("react.block"):60121,JI=nn?Symbol.for("react.fundamental"):60117,eF=nn?Symbol.for("react.responder"):60118,tF=nn?Symbol.for("react.scope"):60119;function Ri(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case G1:switch(e=e.type,e){case Y1:case kg:case _g:case bg:case Eg:case Lg:return e;default:switch(e=e&&e.$$typeof,e){case Og:case Ng:case Mg:case Pg:case Tg:return e;default:return t}}case K1:return t}}}o(Ri,"z");function rT(e){return Ri(e)===kg}o(rT,"A");kt.AsyncMode=Y1;kt.ConcurrentMode=kg;kt.ContextConsumer=Og;kt.ContextProvider=Tg;kt.Element=G1;kt.ForwardRef=Ng;kt.Fragment=_g;kt.Lazy=Mg;kt.Memo=Pg;kt.Portal=K1;kt.Profiler=bg;kt.StrictMode=Eg;kt.Suspense=Lg;kt.isAsyncMode=function(e){return rT(e)||Ri(e)===Y1};kt.isConcurrentMode=rT;kt.isContextConsumer=function(e){return Ri(e)===Og};kt.isContextProvider=function(e){return Ri(e)===Tg};kt.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===G1};kt.isForwardRef=function(e){return Ri(e)===Ng};kt.isFragment=function(e){return Ri(e)===_g};kt.isLazy=function(e){return Ri(e)===Mg};kt.isMemo=function(e){return Ri(e)===Pg};kt.isPortal=function(e){return Ri(e)===K1};kt.isProfiler=function(e){return Ri(e)===bg};kt.isStrictMode=function(e){return Ri(e)===Eg};kt.isSuspense=function(e){return Ri(e)===Lg};kt.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===_g||e===kg||e===bg||e===Eg||e===Lg||e===QI||typeof e=="object"&&e!==null&&(e.$$typeof===Mg||e.$$typeof===Pg||e.$$typeof===Tg||e.$$typeof===Og||e.$$typeof===Ng||e.$$typeof===JI||e.$$typeof===eF||e.$$typeof===tF||e.$$typeof===ZI)};kt.typeOf=Ri});var oT=Gt((ZR,iT)=>{"use strict";iT.exports=nT()});var yT=Gt((pW,gT)=>{"use strict";var EF="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";gT.exports=EF});var CT=Gt((dW,ST)=>{"use strict";var bF=yT();function wT(){}o(wT,"emptyFunction");function xT(){}o(xT,"emptyFunctionWithReset");xT.resetWarningCache=wT;ST.exports=function(){function e(a,p,m,d,w,b){if(b!==bF){var L=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw L.name="Invariant Violation",L}}o(e,"shim"),e.isRequired=e;function t(){return e}o(t,"getShim");var i={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:xT,resetWarningCache:wT};return i.PropTypes=i,i}});var It=Gt((mW,_T)=>{_T.exports=CT()();var hW,vW});var Uo=Gt((Zc,Ch)=>{(function(){var e,t="4.17.21",i=200,a="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",p="Expected a function",m="Invalid `variable` option passed into `_.template`",d="__lodash_hash_undefined__",w=500,b="__lodash_placeholder__",L=1,F=2,Y=4,z=1,X=2,ee=1,J=2,I=4,A=8,W=16,K=32,V=64,fe=128,se=256,ce=512,me=30,ye="...",ze=800,Ye=16,Se=1,Et=2,Rt=3,vt=1/0,rt=9007199254740991,nt=17976931348623157e292,Sr=0/0,lt=4294967295,jn=lt-1,fr=lt>>>1,Nt=[["ary",fe],["bind",ee],["bindKey",J],["curry",A],["curryRight",W],["flip",ce],["partial",K],["partialRight",V],["rearg",se]],mt="[object Arguments]",Ze="[object Array]",Lr="[object AsyncFunction]",Pt="[object Boolean]",Mt="[object Date]",qr="[object DOMException]",cr="[object Error]",_n="[object Function]",En="[object GeneratorFunction]",Xt="[object Map]",je="[object Number]",bn="[object Null]",an="[object Object]",qn="[object Promise]",ni="[object Proxy]",fn="[object RegExp]",Qt="[object Set]",cn="[object String]",Ci="[object Symbol]",ea="[object Undefined]",$r="[object WeakMap]",Yo="[object WeakSet]",_i="[object ArrayBuffer]",go="[object DataView]",yo="[object Float32Array]",wo="[object Float64Array]",Pl="[object Int8Array]",$n="[object Int16Array]",Ml="[object Int32Array]",Ne="[object Uint8Array]",Fs="[object Uint8ClampedArray]",Pr="[object Uint16Array]",Lt="[object Uint32Array]",Zt=/\b__p \+= '';/g,Cf=/\b(__p \+=) '' \+/g,pn=/(__e\(.*?\)|\b__t\)) \+\n'';/g,xo=/&(?:amp|lt|gt|quot|#39);/g,Cr=/[&<>"']/g,ta=RegExp(xo.source),ra=RegExp(Cr.source),Rs=/<%-([\s\S]+?)%>/g,Al=/<%([\s\S]+?)%>/g,na=/<%=([\s\S]+?)%>/g,bp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Dl=/^\w*$/,Tp=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ws=/[\\^$.*+?()[\]{}|]/g,_f=RegExp(Ws.source),Hs=/^\s+/,Op=/\s/,Ef=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ia=/\{\n\/\* \[wrapped with (.+)\] \*/,kp=/,? & /,Il=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Xo=/[()=,{}\[\]\/\s]/,Np=/\\(\\)?/g,bf=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Us=/\w*$/,oa=/^[-+]0x[0-9a-f]+$/i,So=/^0b[01]+$/i,Lp=/^\[object .+?Constructor\]$/,Co=/^0o[0-7]+$/i,Fl=/^(?:0|[1-9]\d*)$/,Tf=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,bt=/($^)/,_e=/['\n\r\u2028\u2029\\]/g,ii="\\ud800-\\udfff",sa="\\u0300-\\u036f",oi="\\ufe20-\\ufe2f",it="\\u20d0-\\u20ff",Ei=sa+oi+it,_o="\\u2700-\\u27bf",Bs="a-z\\xdf-\\xf6\\xf8-\\xff",le="\\xac\\xb1\\xd7\\xf7",Ie="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Rl="\\u2000-\\u206f",Wl=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Eo="A-Z\\xc0-\\xd6\\xd8-\\xde",Qo="\\ufe0e\\ufe0f",Hl=le+Ie+Rl+Wl,De="['\u2019]",Pp="["+ii+"]",zs="["+Hl+"]",Vn="["+Ei+"]",Tn="\\d+",la="["+_o+"]",ua="["+Bs+"]",Zo="[^"+ii+Hl+Tn+_o+Bs+Eo+"]",js="\\ud83c[\\udffb-\\udfff]",Of="(?:"+Vn+"|"+js+")",Ul="[^"+ii+"]",Bl="(?:\\ud83c[\\udde6-\\uddff]){2}",zl="[\\ud800-\\udbff][\\udc00-\\udfff]",bo="["+Eo+"]",aa="\\u200d",kf="(?:"+ua+"|"+Zo+")",Mp="(?:"+bo+"|"+Zo+")",fa="(?:"+De+"(?:d|ll|m|re|s|t|ve))?",si="(?:"+De+"(?:D|LL|M|RE|S|T|VE))?",M=Of+"?",Ae="["+Qo+"]?",To="(?:"+aa+"(?:"+[Ul,Bl,zl].join("|")+")"+Ae+M+")*",Vr="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",ca="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",ve=Ae+M+To,jl="(?:"+[la,Bl,zl].join("|")+")"+ve,Yh="(?:"+[Ul+Vn+"?",Vn,Bl,zl,Pp].join("|")+")",Nf=RegExp(De,"g"),Ap=RegExp(Vn,"g"),Lf=RegExp(js+"(?="+js+")|"+Yh+ve,"g"),pa=RegExp([bo+"?"+ua+"+"+fa+"(?="+[zs,bo,"$"].join("|")+")",Mp+"+"+si+"(?="+[zs,bo+kf,"$"].join("|")+")",bo+"?"+kf+"+"+fa,bo+"+"+si,ca,Vr,Tn,jl].join("|"),"g"),Jo=RegExp("["+aa+ii+Ei+Qo+"]"),Ee=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,es=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ql=-1,Te={};Te[yo]=Te[wo]=Te[Pl]=Te[$n]=Te[Ml]=Te[Ne]=Te[Fs]=Te[Pr]=Te[Lt]=!0,Te[mt]=Te[Ze]=Te[_i]=Te[Pt]=Te[go]=Te[Mt]=Te[cr]=Te[_n]=Te[Xt]=Te[je]=Te[an]=Te[fn]=Te[Qt]=Te[cn]=Te[$r]=!1;var gt={};gt[mt]=gt[Ze]=gt[_i]=gt[go]=gt[Pt]=gt[Mt]=gt[yo]=gt[wo]=gt[Pl]=gt[$n]=gt[Ml]=gt[Xt]=gt[je]=gt[an]=gt[fn]=gt[Qt]=gt[cn]=gt[Ci]=gt[Ne]=gt[Fs]=gt[Pr]=gt[Lt]=!0,gt[cr]=gt[_n]=gt[$r]=!1;var On={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},da={"&":"&","<":"<",">":">",'"':""","'":"'"},qs={"&":"&","<":"<",">":">",""":'"',"'":"'"},dn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Dp=parseFloat,Ip=parseInt,$l=typeof global=="object"&&global&&global.Object===Object&&global,_r=typeof self=="object"&&self&&self.Object===Object&&self,wt=$l||_r||Function("return this")(),ts=typeof Zc=="object"&&Zc&&!Zc.nodeType&&Zc,Er=ts&&typeof Ch=="object"&&Ch&&!Ch.nodeType&&Ch,rs=Er&&Er.exports===ts,$s=rs&&$l.process,pr=function(){try{var $=Er&&Er.require&&Er.require("util").types;return $||$s&&$s.binding&&$s.binding("util")}catch(te){}}(),Pf=pr&&pr.isArrayBuffer,Mf=pr&&pr.isDate,ha=pr&&pr.isMap,va=pr&&pr.isRegExp,Vl=pr&&pr.isSet,Gl=pr&&pr.isTypedArray;function hn($,te,Q){switch(Q.length){case 0:return $.call(te);case 1:return $.call(te,Q[0]);case 2:return $.call(te,Q[0],Q[1]);case 3:return $.call(te,Q[0],Q[1],Q[2])}return $.apply(te,Q)}o(hn,"apply");function Fp($,te,Q,Ce){for(var He=-1,ct=$==null?0:$.length;++He-1}o(ns,"arrayIncludes");function is($,te,Q){for(var Ce=-1,He=$==null?0:$.length;++Ce-1;);return Q}o(bi,"charsStartIndex");function ji($,te){for(var Q=$.length;Q--&&Oo(te,$[Q],0)>-1;);return Q}o(ji,"charsEndIndex");function Up($,te){for(var Q=$.length,Ce=0;Q--;)$[Q]===te&&++Ce;return Ce}o(Up,"countHolders");var Gs=k(On),Ti=k(da);function Xh($){return"\\"+dn[$]}o(Xh,"escapeStringChar");function Bp($,te){return $==null?e:$[te]}o(Bp,"getValue");function Oi($){return Jo.test($)}o(Oi,"hasUnicode");function qi($){return Ee.test($)}o(qi,"hasUnicodeWord");function Qh($){for(var te,Q=[];!(te=$.next()).done;)Q.push(te.value);return Q}o(Qh,"iteratorToArray");function If($){var te=-1,Q=Array($.size);return $.forEach(function(Ce,He){Q[++te]=[He,Ce]}),Q}o(If,"mapToArray");function Zh($,te){return function(Q){return $(te(Q))}}o(Zh,"overArg");function ss($,te){for(var Q=-1,Ce=$.length,He=0,ct=[];++Q-1}o(Xy,"listCacheHas");function jf(s,f){var h=this.__data__,y=tl(h,s);return y<0?(++this.size,h.push([s,f])):h[y][1]=f,this}o(jf,"listCacheSet"),Xi.prototype.clear=Kp,Xi.prototype.delete=av,Xi.prototype.get=Ea,Xi.prototype.has=Xy,Xi.prototype.set=jf;function tr(s){var f=-1,h=s==null?0:s.length;for(this.clear();++f=f?s:f)),s}o(rl,"baseClamp");function mn(s,f,h,y,T,N){var R,H=f&L,G=f&F,ie=f&Y;if(h&&(R=T?h(s,y,T,N):h(s)),R!==e)return R;if(!rr(s))return s;var oe=$e(s);if(oe){if(R=u(s),!H)return Or(s,R)}else{var ue=Yr(s),xe=ue==_n||ue==En;if(_u(s))return cd(s,H);if(ue==an||ue==mt||xe&&!T){if(R=G||xe?{}:l(s),!H)return G?Av(s,Jy(R,s)):l0(s,Jp(R,s))}else{if(!gt[ue])return T?s:{};R=c(s,ue,H)}}N||(N=new ai);var Pe=N.get(s);if(Pe)return Pe;N.set(s,R),eC(s)?s.forEach(function(Re){R.add(mn(Re,f,h,Re,s,N))}):ZS(s)&&s.forEach(function(Re,tt){R.set(tt,mn(Re,f,h,tt,s,N))});var Fe=ie?G?fc:Wa:G?hi:en,Xe=oe?e:Fe(s);return kn(Xe||s,function(Re,tt){Xe&&(tt=Re,Re=s[tt]),Ta(R,tt,mn(Re,f,h,tt,s,N))}),R}o(mn,"baseClone");function hv(s){var f=en(s);return function(h){return vv(h,s,f)}}o(hv,"baseConforms");function vv(s,f,h){var y=h.length;if(s==null)return!y;for(s=ot(s);y--;){var T=h[y],N=f[T],R=s[T];if(R===e&&!(T in s)||!N(R))return!1}return!0}o(vv,"baseConformsTo");function mv(s,f,h){if(typeof s!="function")throw new Pn(p);return St(function(){s.apply(e,h)},f)}o(mv,"baseDelay");function ou(s,f,h,y){var T=-1,N=ns,R=!0,H=s.length,G=[],ie=f.length;if(!H)return G;h&&(f=ft(f,nr(h))),y?(N=is,R=!1):f.length>=i&&(N=Mr,R=!1,f=new Fr(f));e:for(;++TT?0:T+h),y=y===e||y>T?T:Ge(y),y<0&&(y+=T),y=h>y?0:rC(y);h0&&h(H)?f>1?Rr(H,f-1,h,y,T):Bi(T,H):y||(T[T.length]=H)}return T}o(Rr,"baseFlatten");var Kf=Iv(),br=Iv(!0);function Yn(s,f){return s&&Kf(s,f,en)}o(Yn,"baseForOwn");function Yf(s,f){return s&&br(s,f,en)}o(Yf,"baseForOwnRight");function ka(s,f){return Ui(f,function(h){return fl(s[h])})}o(ka,"baseFunctions");function ws(s,f){f=Li(f,s);for(var h=0,y=f.length;s!=null&&hf}o(Xf,"baseGt");function gv(s,f){return s!=null&&Be.call(s,f)}o(gv,"baseHas");function yv(s,f){return s!=null&&f in ot(s)}o(yv,"baseHasIn");function su(s,f,h){return s>=Ar(f,h)&&s=120&&oe.length>=120)?new Fr(R&&oe):e}oe=s[0];var ue=-1,xe=H[0];e:for(;++ue-1;)H!==s&&eu.call(H,G,1),eu.call(s,G,1);return s}o(id,"basePullAll");function od(s,f){for(var h=s?f.length:0,y=h-1;h--;){var T=f[h];if(h==y||T!==N){var N=T;S(T)?eu.call(s,T,1):Aa(s,T)}}return s}o(od,"basePullAt");function tc(s,f){return s+ru(ds()*(f-s+1))}o(tc,"baseRandom");function Ov(s,f,h,y){for(var T=-1,N=Wt(tu((f-s)/(h||1)),0),R=Q(N);N--;)R[y?N:++T]=s,s+=h;return R}o(Ov,"baseRange");function sd(s,f){var h="";if(!s||f<1||f>rt)return h;do f%2&&(h+=s),f=ru(f/2),f&&(s+=s);while(f);return h}o(sd,"baseRepeat");function Ve(s,f){return Xr(Le(s,f,vi),s+"")}o(Ve,"baseRest");function n0(s){return qf(vc(s))}o(n0,"baseSample");function Cs(s,f){var h=vc(s);return kr(h,rl(f,0,h.length))}o(Cs,"baseSampleSize");function Lo(s,f,h,y){if(!rr(s))return s;f=Li(f,s);for(var T=-1,N=f.length,R=N-1,H=s;H!=null&&++TT?0:T+f),h=h>T?T:h,h<0&&(h+=T),T=f>h?0:h-f>>>0,f>>>=0;for(var N=Q(T);++y>>1,R=s[N];R!==null&&!Pi(R)&&(h?R<=f:R=i){var ie=f?null:Ra(s);if(ie)return Ff(ie);R=!1,T=Mr,G=new Fr}else G=f?[]:H;e:for(;++y=y?s:fi(s,f,h)}o(_s,"castSlice");var hu=Hy||function(s){return wt.clearTimeout(s)};function cd(s,f){if(f)return s.slice();var h=s.length,y=ov?ov(h):new s.constructor(h);return s.copy(y),y}o(cd,"cloneBuffer");function oc(s){var f=new s.constructor(s.byteLength);return new Xs(f).set(new Xs(s)),f}o(oc,"cloneArrayBuffer");function s0(s,f){var h=f?oc(s.buffer):s.buffer;return new s.constructor(h,s.byteOffset,s.byteLength)}o(s0,"cloneDataView");function pd(s){var f=new s.constructor(s.source,Us.exec(s));return f.lastIndex=s.lastIndex,f}o(pd,"cloneRegExp");function Nv(s){return Ht?ot(Ht.call(s)):{}}o(Nv,"cloneSymbol");function Lv(s,f){var h=f?oc(s.buffer):s.buffer;return new s.constructor(h,s.byteOffset,s.length)}o(Lv,"cloneTypedArray");function dd(s,f){if(s!==f){var h=s!==e,y=s===null,T=s===s,N=Pi(s),R=f!==e,H=f===null,G=f===f,ie=Pi(f);if(!H&&!ie&&!N&&s>f||N&&R&&G&&!H&&!ie||y&&R&&G||!h&&G||!T)return 1;if(!y&&!N&&!ie&&s=H)return G;var ie=h[y];return G*(ie=="desc"?-1:1)}}return s.index-f.index}o(Pv,"compareMultiple");function Mv(s,f,h,y){for(var T=-1,N=s.length,R=h.length,H=-1,G=f.length,ie=Wt(N-R,0),oe=Q(G+ie),ue=!y;++H1?h[T-1]:e,R=T>2?h[2]:e;for(N=s.length>3&&typeof N=="function"?(T--,N):e,R&&C(h[0],h[1],R)&&(N=T<3?e:N,T=1),f=ot(f);++y-1?T[N?f[R]:R]:e}}o(vd,"createFind");function Wv(s){return Ao(function(f){var h=f.length,y=h,T=vn.prototype.thru;for(s&&f.reverse();y--;){var N=f[y];if(typeof N!="function")throw new Pn(p);if(T&&!R&&Ha(N)=="wrapper")var R=new vn([],!0)}for(y=R?y:h;++y1&&st.reverse(),oe&&GH))return!1;var ie=N.get(s),oe=N.get(f);if(ie&&oe)return ie==f&&oe==s;var ue=-1,xe=!0,Pe=h&X?new Fr:e;for(N.set(s,f),N.set(f,s);++ue1?"& ":"")+f[y],f=f.join(h>2?", ":" "),s.replace(Ef,`{ +/* [wrapped with `+f+`] */ +`)}o(v,"insertWrapDetails");function g(s){return $e(s)||Ua(s)||!!(Qs&&s&&s[Qs])}o(g,"isFlattenable");function S(s,f){var h=typeof s;return f=f??rt,!!f&&(h=="number"||h!="symbol"&&Fl.test(s))&&s>-1&&s%1==0&&s0){if(++f>=ze)return arguments[0]}else f=0;return s.apply(e,arguments)}}o(Vt,"shortOut");function kr(s,f){var h=-1,y=s.length,T=y-1;for(f=f===e?y:f;++h1?s[f-1]:e;return h=typeof h=="function"?(s.pop(),h):e,US(s,h)});function BS(s){var f=O(s);return f.__chain__=!0,f}o(BS,"chain");function fL(s,f){return f(s),s}o(fL,"tap");function $v(s,f){return f(s)}o($v,"thru");var cL=Ao(function(s){var f=s.length,h=f?s[0]:0,y=this.__wrapped__,T=o(function(N){return ed(N,s)},"interceptor");return f>1||this.__actions__.length||!(y instanceof Je)||!S(h)?this.thru(T):(y=y.slice(h,+h+(f?1:0)),y.__actions__.push({func:$v,args:[T],thisArg:e}),new vn(y,this.__chain__).thru(function(N){return f&&!N.length&&N.push(e),N}))});function pL(){return BS(this)}o(pL,"wrapperChain");function dL(){return new vn(this.value(),this.__chain__)}o(dL,"wrapperCommit");function hL(){this.__values__===e&&(this.__values__=tC(this.value()));var s=this.__index__>=this.__values__.length,f=s?e:this.__values__[this.__index__++];return{done:s,value:f}}o(hL,"wrapperNext");function vL(){return this}o(vL,"wrapperToIterator");function mL(s){for(var f,h=this;h instanceof zf;){var y=Zr(h);y.__index__=0,y.__values__=e,f?T.__wrapped__=y:f=y;var T=y;h=h.__wrapped__}return T.__wrapped__=s,f}o(mL,"wrapperPlant");function gL(){var s=this.__wrapped__;if(s instanceof Je){var f=s;return this.__actions__.length&&(f=new Je(this)),f=f.reverse(),f.__actions__.push({func:$v,args:[a0],thisArg:e}),new vn(f,this.__chain__)}return this.thru(a0)}o(gL,"wrapperReverse");function yL(){return kv(this.__wrapped__,this.__actions__)}o(yL,"wrapperValue");var wL=lc(function(s,f,h){Be.call(s,h)?++s[h]:Qi(s,h,1)});function xL(s,f,h){var y=$e(s)?ma:Gf;return h&&C(s,f,h)&&(f=e),y(s,Me(f,3))}o(xL,"every");function SL(s,f){var h=$e(s)?Ui:rd;return h(s,Me(f,3))}o(SL,"filter");var CL=vd(dc),_L=vd(FS);function EL(s,f){return Rr(Vv(s,f),1)}o(EL,"flatMap");function bL(s,f){return Rr(Vv(s,f),vt)}o(bL,"flatMapDeep");function TL(s,f,h){return h=h===e?1:Ge(h),Rr(Vv(s,f),h)}o(TL,"flatMapDepth");function zS(s,f){var h=$e(s)?kn:Kn;return h(s,Me(f,3))}o(zS,"forEach");function jS(s,f){var h=$e(s)?Rp:Vf;return h(s,Me(f,3))}o(jS,"forEachRight");var OL=lc(function(s,f,h){Be.call(s,h)?s[h].push(f):Qi(s,h,[f])});function kL(s,f,h,y){s=di(s)?s:vc(s),h=h&&!y?Ge(h):0;var T=s.length;return h<0&&(h=Wt(T+h,0)),Qv(s)?h<=T&&s.indexOf(f,h)>-1:!!T&&Oo(s,f,h)>-1}o(kL,"includes");var NL=Ve(function(s,f,h){var y=-1,T=typeof f=="function",N=di(s)?Q(s.length):[];return Kn(s,function(R){N[++y]=T?hn(f,R,h):lu(R,f,h)}),N}),LL=lc(function(s,f,h){Qi(s,h,f)});function Vv(s,f){var h=$e(s)?ft:pu;return h(s,Me(f,3))}o(Vv,"map");function PL(s,f,h,y){return s==null?[]:($e(f)||(f=f==null?[]:[f]),h=y?e:h,$e(h)||(h=h==null?[]:[h]),Gr(s,f,h))}o(PL,"orderBy");var ML=lc(function(s,f,h){s[h?0:1].push(f)},function(){return[[],[]]});function AL(s,f,h){var y=$e(s)?Kl:U,T=arguments.length<3;return y(s,Me(f,4),h,T,Kn)}o(AL,"reduce");function DL(s,f,h){var y=$e(s)?Wp:U,T=arguments.length<3;return y(s,Me(f,4),h,T,Vf)}o(DL,"reduceRight");function IL(s,f){var h=$e(s)?Ui:rd;return h(s,Yv(Me(f,3)))}o(IL,"reject");function FL(s){var f=$e(s)?qf:n0;return f(s)}o(FL,"sample");function RL(s,f,h){(h?C(s,f,h):f===e)?f=1:f=Ge(f);var y=$e(s)?ys:Cs;return y(s,f)}o(RL,"sampleSize");function WL(s){var f=$e(s)?dv:Po;return f(s)}o(WL,"shuffle");function HL(s){if(s==null)return 0;if(di(s))return Qv(s)?Ks(s):s.length;var f=Yr(s);return f==Xt||f==Qt?s.size:Jf(s).length}o(HL,"size");function UL(s,f,h){var y=$e(s)?zi:i0;return h&&C(s,f,h)&&(f=e),y(s,Me(f,3))}o(UL,"some");var BL=Ve(function(s,f){if(s==null)return[];var h=f.length;return h>1&&C(s,f[0],f[1])?f=[]:h>2&&C(f[0],f[1],f[2])&&(f=[f[0]]),Gr(s,Rr(f,1),[])}),Gv=Uy||function(){return wt.Date.now()};function zL(s,f){if(typeof f!="function")throw new Pn(p);return s=Ge(s),function(){if(--s<1)return f.apply(this,arguments)}}o(zL,"after");function qS(s,f,h){return f=h?e:f,f=s&&f==null?s.length:f,pi(s,fe,e,e,e,e,f)}o(qS,"ary");function $S(s,f){var h;if(typeof f!="function")throw new Pn(p);return s=Ge(s),function(){return--s>0&&(h=f.apply(this,arguments)),s<=1&&(f=e),h}}o($S,"before");var c0=Ve(function(s,f,h){var y=ee;if(h.length){var T=ss(h,wu(c0));y|=K}return pi(s,y,f,h,T)}),VS=Ve(function(s,f,h){var y=ee|J;if(h.length){var T=ss(h,wu(VS));y|=K}return pi(f,y,s,h,T)});function GS(s,f,h){f=h?e:f;var y=pi(s,A,e,e,e,e,e,f);return y.placeholder=GS.placeholder,y}o(GS,"curry");function KS(s,f,h){f=h?e:f;var y=pi(s,W,e,e,e,e,e,f);return y.placeholder=KS.placeholder,y}o(KS,"curryRight");function YS(s,f,h){var y,T,N,R,H,G,ie=0,oe=!1,ue=!1,xe=!0;if(typeof s!="function")throw new Pn(p);f=eo(f)||0,rr(h)&&(oe=!!h.leading,ue="maxWait"in h,N=ue?Wt(eo(h.maxWait)||0,f):N,xe="trailing"in h?!!h.trailing:xe);function Pe(gr){var Fo=y,pl=T;return y=T=e,ie=gr,R=s.apply(pl,Fo),R}o(Pe,"invokeFunc");function Fe(gr){return ie=gr,H=St(tt,f),oe?Pe(gr):R}o(Fe,"leadingEdge");function Xe(gr){var Fo=gr-G,pl=gr-ie,hC=f-Fo;return ue?Ar(hC,N-pl):hC}o(Xe,"remainingWait");function Re(gr){var Fo=gr-G,pl=gr-ie;return G===e||Fo>=f||Fo<0||ue&&pl>=N}o(Re,"shouldInvoke");function tt(){var gr=Gv();if(Re(gr))return st(gr);H=St(tt,Xe(gr))}o(tt,"timerExpired");function st(gr){return H=e,xe&&y?Pe(gr):(y=T=e,R)}o(st,"trailingEdge");function Mi(){H!==e&&hu(H),ie=0,y=G=T=H=e}o(Mi,"cancel");function Qn(){return H===e?R:st(Gv())}o(Qn,"flush");function Ai(){var gr=Gv(),Fo=Re(gr);if(y=arguments,T=this,G=gr,Fo){if(H===e)return Fe(G);if(ue)return hu(H),H=St(tt,f),Pe(G)}return H===e&&(H=St(tt,f)),R}return o(Ai,"debounced"),Ai.cancel=Mi,Ai.flush=Qn,Ai}o(YS,"debounce");var jL=Ve(function(s,f){return mv(s,1,f)}),qL=Ve(function(s,f,h){return mv(s,eo(f)||0,h)});function $L(s){return pi(s,ce)}o($L,"flip");function Kv(s,f){if(typeof s!="function"||f!=null&&typeof f!="function")throw new Pn(p);var h=o(function(){var y=arguments,T=f?f.apply(this,y):y[0],N=h.cache;if(N.has(T))return N.get(T);var R=s.apply(this,y);return h.cache=N.set(T,R)||N,R},"memoized");return h.cache=new(Kv.Cache||tr),h}o(Kv,"memoize"),Kv.Cache=tr;function Yv(s){if(typeof s!="function")throw new Pn(p);return function(){var f=arguments;switch(f.length){case 0:return!s.call(this);case 1:return!s.call(this,f[0]);case 2:return!s.call(this,f[0],f[1]);case 3:return!s.call(this,f[0],f[1],f[2])}return!s.apply(this,f)}}o(Yv,"negate");function VL(s){return $S(2,s)}o(VL,"once");var GL=o0(function(s,f){f=f.length==1&&$e(f[0])?ft(f[0],nr(Me())):ft(Rr(f,1),nr(Me()));var h=f.length;return Ve(function(y){for(var T=-1,N=Ar(y.length,h);++T=f}),Ua=uu(function(){return arguments}())?uu:function(s){return or(s)&&Be.call(s,"callee")&&!Hf.call(s,"callee")},$e=Q.isArray,uP=Pf?nr(Pf):e0;function di(s){return s!=null&&Xv(s.length)&&!fl(s)}o(di,"isArrayLike");function mr(s){return or(s)&&di(s)}o(mr,"isArrayLikeObject");function aP(s){return s===!0||s===!1||or(s)&&Tr(s)==Pt}o(aP,"isBoolean");var _u=xa||_0,fP=Mf?nr(Mf):au;function cP(s){return or(s)&&s.nodeType===1&&!xd(s)}o(cP,"isElement");function pP(s){if(s==null)return!0;if(di(s)&&($e(s)||typeof s=="string"||typeof s.splice=="function"||_u(s)||hc(s)||Ua(s)))return!s.length;var f=Yr(s);if(f==Xt||f==Qt)return!s.size;if(Z(s))return!Jf(s).length;for(var h in s)if(Be.call(s,h))return!1;return!0}o(pP,"isEmpty");function dP(s,f){return fu(s,f)}o(dP,"isEqual");function hP(s,f,h){h=typeof h=="function"?h:e;var y=h?h(s,f):e;return y===e?fu(s,f,e,h):!!y}o(hP,"isEqualWith");function d0(s){if(!or(s))return!1;var f=Tr(s);return f==cr||f==qr||typeof s.message=="string"&&typeof s.name=="string"&&!xd(s)}o(d0,"isError");function vP(s){return typeof s=="number"&&sv(s)}o(vP,"isFinite");function fl(s){if(!rr(s))return!1;var f=Tr(s);return f==_n||f==En||f==Lr||f==ni}o(fl,"isFunction");function QS(s){return typeof s=="number"&&s==Ge(s)}o(QS,"isInteger");function Xv(s){return typeof s=="number"&&s>-1&&s%1==0&&s<=rt}o(Xv,"isLength");function rr(s){var f=typeof s;return s!=null&&(f=="object"||f=="function")}o(rr,"isObject");function or(s){return s!=null&&typeof s=="object"}o(or,"isObjectLike");var ZS=ha?nr(ha):xv;function mP(s,f){return s===f||il(s,f,xu(f))}o(mP,"isMatch");function gP(s,f,h){return h=typeof h=="function"?h:e,il(s,f,xu(f),h)}o(gP,"isMatchWith");function yP(s){return JS(s)&&s!=+s}o(yP,"isNaN");function wP(s){if(B(s))throw new He(a);return cu(s)}o(wP,"isNative");function xP(s){return s===null}o(xP,"isNull");function SP(s){return s==null}o(SP,"isNil");function JS(s){return typeof s=="number"||or(s)&&Tr(s)==je}o(JS,"isNumber");function xd(s){if(!or(s)||Tr(s)!=an)return!1;var f=Jl(s);if(f===null)return!0;var h=Be.call(f,"constructor")&&f.constructor;return typeof h=="function"&&h instanceof h&&Gi.call(h)==Wy}o(xd,"isPlainObject");var h0=va?nr(va):Na;function CP(s){return QS(s)&&s>=-rt&&s<=rt}o(CP,"isSafeInteger");var eC=Vl?nr(Vl):La;function Qv(s){return typeof s=="string"||!$e(s)&&or(s)&&Tr(s)==cn}o(Qv,"isString");function Pi(s){return typeof s=="symbol"||or(s)&&Tr(s)==Ci}o(Pi,"isSymbol");var hc=Gl?nr(Gl):Sv;function _P(s){return s===e}o(_P,"isUndefined");function EP(s){return or(s)&&Yr(s)==$r}o(EP,"isWeakMap");function bP(s){return or(s)&&Tr(s)==Yo}o(bP,"isWeakSet");var TP=xt(Ss),OP=xt(function(s,f){return s<=f});function tC(s){if(!s)return[];if(di(s))return Qv(s)?ui(s):Or(s);if(fs&&s[fs])return Qh(s[fs]());var f=Yr(s),h=f==Xt?If:f==Qt?Ff:vc;return h(s)}o(tC,"toArray");function cl(s){if(!s)return s===0?s:0;if(s=eo(s),s===vt||s===-vt){var f=s<0?-1:1;return f*nt}return s===s?s:0}o(cl,"toFinite");function Ge(s){var f=cl(s),h=f%1;return f===f?h?f-h:f:0}o(Ge,"toInteger");function rC(s){return s?rl(Ge(s),0,lt):0}o(rC,"toLength");function eo(s){if(typeof s=="number")return s;if(Pi(s))return Sr;if(rr(s)){var f=typeof s.valueOf=="function"?s.valueOf():s;s=rr(f)?f+"":f}if(typeof s!="string")return s===0?s:+s;s=Ln(s);var h=So.test(s);return h||Co.test(s)?Ip(s.slice(2),h?2:8):oa.test(s)?Sr:+s}o(eo,"toNumber");function nC(s){return Mn(s,hi(s))}o(nC,"toPlainObject");function kP(s){return s?rl(Ge(s),-rt,rt):s===0?s:0}o(kP,"toSafeInteger");function Ct(s){return s==null?"":Kr(s)}o(Ct,"toString");var NP=vu(function(s,f){if(Z(f)||di(f)){Mn(f,en(f),s);return}for(var h in f)Be.call(f,h)&&Ta(s,h,f[h])}),iC=vu(function(s,f){Mn(f,hi(f),s)}),Zv=vu(function(s,f,h,y){Mn(f,hi(f),s,y)}),LP=vu(function(s,f,h,y){Mn(f,en(f),s,y)}),PP=Ao(ed);function MP(s,f){var h=Yi(s);return f==null?h:Jp(h,f)}o(MP,"create");var AP=Ve(function(s,f){s=ot(s);var h=-1,y=f.length,T=y>2?f[2]:e;for(T&&C(f[0],f[1],T)&&(y=1);++h1),N}),Mn(s,fc(s),h),y&&(h=mn(h,L|F|Y,Bv));for(var T=f.length;T--;)Aa(h,f[T]);return h});function QP(s,f){return sC(s,Yv(Me(f)))}o(QP,"omitBy");var ZP=Ao(function(s,f){return s==null?{}:bv(s,f)});function sC(s,f){if(s==null)return{};var h=ft(fc(s),function(y){return[y]});return f=Me(f),Tv(s,h,function(y,T){return f(y,T[0])})}o(sC,"pickBy");function JP(s,f,h){f=Li(f,s);var y=-1,T=f.length;for(T||(T=1,s=e);++yf){var y=s;s=f,f=y}if(h||s%1||f%1){var T=ds();return Ar(s+T*(f-s+Dp("1e-"+((T+"").length-1))),f)}return tc(s,f)}o(aM,"random");var fM=mu(function(s,f,h){return f=f.toLowerCase(),s+(h?aC(f):f)});function aC(s){return g0(Ct(s).toLowerCase())}o(aC,"capitalize");function fC(s){return s=Ct(s),s&&s.replace(Tf,Gs).replace(Ap,"")}o(fC,"deburr");function cM(s,f,h){s=Ct(s),f=Kr(f);var y=s.length;h=h===e?y:rl(Ge(h),0,y);var T=h;return h-=f.length,h>=0&&s.slice(h,T)==f}o(cM,"endsWith");function pM(s){return s=Ct(s),s&&ra.test(s)?s.replace(Cr,Ti):s}o(pM,"escape");function dM(s){return s=Ct(s),s&&_f.test(s)?s.replace(Ws,"\\$&"):s}o(dM,"escapeRegExp");var hM=mu(function(s,f,h){return s+(h?"-":"")+f.toLowerCase()}),vM=mu(function(s,f,h){return s+(h?" ":"")+f.toLowerCase()}),mM=Rv("toLowerCase");function gM(s,f,h){s=Ct(s),f=Ge(f);var y=f?Ks(s):0;if(!f||y>=f)return s;var T=(f-y)/2;return uc(ru(T),h)+s+uc(tu(T),h)}o(gM,"pad");function yM(s,f,h){s=Ct(s),f=Ge(f);var y=f?Ks(s):0;return f&&y>>0,h?(s=Ct(s),s&&(typeof f=="string"||f!=null&&!h0(f))&&(f=Kr(f),!f&&Oi(s))?_s(ui(s),0,h):s.split(f,h)):[]}o(EM,"split");var bM=mu(function(s,f,h){return s+(h?" ":"")+g0(f)});function TM(s,f,h){return s=Ct(s),h=h==null?0:rl(Ge(h),0,s.length),f=Kr(f),s.slice(h,h+f.length)==f}o(TM,"startsWith");function OM(s,f,h){var y=O.templateSettings;h&&C(s,f,h)&&(f=e),s=Ct(s),f=Zv({},f,y,ac);var T=Zv({},f.imports,y.imports,ac),N=en(T),R=li(T,N),H,G,ie=0,oe=f.interpolate||bt,ue="__p += '",xe=ls((f.escape||bt).source+"|"+oe.source+"|"+(oe===na?bf:bt).source+"|"+(f.evaluate||bt).source+"|$","g"),Pe="//# sourceURL="+(Be.call(f,"sourceURL")?(f.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++ql+"]")+` +`;s.replace(xe,function(Re,tt,st,Mi,Qn,Ai){return st||(st=Mi),ue+=s.slice(ie,Ai).replace(_e,Xh),tt&&(H=!0,ue+=`' + +__e(`+tt+`) + +'`),Qn&&(G=!0,ue+=`'; +`+Qn+`; +__p += '`),st&&(ue+=`' + +((__t = (`+st+`)) == null ? '' : __t) + +'`),ie=Ai+Re.length,Re}),ue+=`'; +`;var Fe=Be.call(f,"variable")&&f.variable;if(!Fe)ue=`with (obj) { +`+ue+` +} +`;else if(Xo.test(Fe))throw new He(m);ue=(G?ue.replace(Zt,""):ue).replace(Cf,"$1").replace(pn,"$1;"),ue="function("+(Fe||"obj")+`) { +`+(Fe?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(H?", __e = _.escape":"")+(G?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+ue+`return __p +}`;var Xe=pC(function(){return ct(N,Pe+"return "+ue).apply(e,R)});if(Xe.source=ue,d0(Xe))throw Xe;return Xe}o(OM,"template");function kM(s){return Ct(s).toLowerCase()}o(kM,"toLower");function NM(s){return Ct(s).toUpperCase()}o(NM,"toUpper");function LM(s,f,h){if(s=Ct(s),s&&(h||f===e))return Ln(s);if(!s||!(f=Kr(f)))return s;var y=ui(s),T=ui(f),N=bi(y,T),R=ji(y,T)+1;return _s(y,N,R).join("")}o(LM,"trim");function PM(s,f,h){if(s=Ct(s),s&&(h||f===e))return s.slice(0,Rf(s)+1);if(!s||!(f=Kr(f)))return s;var y=ui(s),T=ji(y,ui(f))+1;return _s(y,0,T).join("")}o(PM,"trimEnd");function MM(s,f,h){if(s=Ct(s),s&&(h||f===e))return s.replace(Hs,"");if(!s||!(f=Kr(f)))return s;var y=ui(s),T=bi(y,ui(f));return _s(y,T).join("")}o(MM,"trimStart");function AM(s,f){var h=me,y=ye;if(rr(f)){var T="separator"in f?f.separator:T;h="length"in f?Ge(f.length):h,y="omission"in f?Kr(f.omission):y}s=Ct(s);var N=s.length;if(Oi(s)){var R=ui(s);N=R.length}if(h>=N)return s;var H=h-Ks(y);if(H<1)return y;var G=R?_s(R,0,H).join(""):s.slice(0,H);if(T===e)return G+y;if(R&&(H+=G.length-H),h0(T)){if(s.slice(H).search(T)){var ie,oe=G;for(T.global||(T=ls(T.source,Ct(Us.exec(T))+"g")),T.lastIndex=0;ie=T.exec(oe);)var ue=ie.index;G=G.slice(0,ue===e?H:ue)}}else if(s.indexOf(Kr(T),H)!=H){var xe=G.lastIndexOf(T);xe>-1&&(G=G.slice(0,xe))}return G+y}o(AM,"truncate");function DM(s){return s=Ct(s),s&&ta.test(s)?s.replace(xo,Wf):s}o(DM,"unescape");var IM=mu(function(s,f,h){return s+(h?" ":"")+f.toUpperCase()}),g0=Rv("toUpperCase");function cC(s,f,h){return s=Ct(s),f=h?e:f,f===e?qi(s)?ki(s):Df(s):s.match(f)||[]}o(cC,"words");var pC=Ve(function(s,f){try{return hn(s,e,f)}catch(h){return d0(h)?h:new He(h)}}),FM=Ao(function(s,f){return kn(f,function(h){h=yt(h),Qi(s,h,c0(s[h],s))}),s});function RM(s){var f=s==null?0:s.length,h=Me();return s=f?ft(s,function(y){if(typeof y[1]!="function")throw new Pn(p);return[h(y[0]),y[1]]}):[],Ve(function(y){for(var T=-1;++Trt)return[];var h=lt,y=Ar(s,lt);f=Me(f),s-=lt;for(var T=Jt(y,f);++h0||f<0)?new Je(h):(s<0?h=h.takeRight(-s):s&&(h=h.drop(s)),f!==e&&(f=Ge(f),h=f<0?h.dropRight(-f):h.take(f-s)),h)},Je.prototype.takeRightWhile=function(s){return this.reverse().takeWhile(s).reverse()},Je.prototype.toArray=function(){return this.take(lt)},Yn(Je.prototype,function(s,f){var h=/^(?:filter|find|map|reject)|While$/.test(f),y=/^(?:head|last)$/.test(f),T=O[y?"take"+(f=="last"?"Right":""):f],N=y||/^find/.test(f);!T||(O.prototype[f]=function(){var R=this.__wrapped__,H=y?[1]:arguments,G=R instanceof Je,ie=H[0],oe=G||$e(R),ue=o(function(tt){var st=T.apply(O,Bi([tt],H));return y&&xe?st[0]:st},"interceptor");oe&&h&&typeof ie=="function"&&ie.length!=1&&(G=oe=!1);var xe=this.__chain__,Pe=!!this.__actions__.length,Fe=N&&!xe,Xe=G&&!Pe;if(!N&&oe){R=Xe?R:new Je(this);var Re=s.apply(R,H);return Re.__actions__.push({func:$v,args:[ue],thisArg:e}),new vn(Re,xe)}return Fe&&Xe?s.apply(this,H):(Re=this.thru(ue),Fe?y?Re.value()[0]:Re.value():Re)})}),kn(["pop","push","shift","sort","splice","unshift"],function(s){var f=Zl[s],h=/^(?:push|sort|unshift)$/.test(s)?"tap":"thru",y=/^(?:pop|shift)$/.test(s);O.prototype[s]=function(){var T=arguments;if(y&&!this.__chain__){var N=this.value();return f.apply($e(N)?N:[],T)}return this[h](function(R){return f.apply($e(R)?R:[],T)})}}),Yn(Je.prototype,function(s,f){var h=O[f];if(h){var y=h.name+"";Be.call(iu,y)||(iu[y]=[]),iu[y].push({name:f,func:h})}}),iu[Da(e,J).name]=[{name:"wrapper",func:e}],Je.prototype.clone=Gy,Je.prototype.reverse=Ky,Je.prototype.value=qp,O.prototype.at=cL,O.prototype.chain=pL,O.prototype.commit=dL,O.prototype.next=hL,O.prototype.plant=mL,O.prototype.reverse=gL,O.prototype.toJSON=O.prototype.valueOf=O.prototype.value=yL,O.prototype.first=O.prototype.head,fs&&(O.prototype[fs]=vL),O},"runInContext"),$i=rv();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(wt._=$i,define(function(){return $i})):Er?((Er.exports=$i)._=$i,ts._=$i):wt._=$i}).call(Zc)});var TT=Gt((ox,sx)=>{(function(e,t){typeof ox=="object"&&typeof sx!="undefined"?sx.exports=t():typeof define=="function"&&define.amd?define(t):e.stable=t()})(ox,function(){"use strict";var e=o(function(a,p){return t(a.slice(),p)},"stable");e.inplace=function(a,p){var m=t(a,p);return m!==a&&i(m,null,a.length,a),a};function t(a,p){typeof p!="function"&&(p=o(function(L,F){return String(L).localeCompare(F)},"comp"));var m=a.length;if(m<=1)return a;for(var d=new Array(m),w=1;ww&&(Y=w),z>w&&(z=w),X=F,ee=Y;;)if(X{(function(){"use strict";var e={}.hasOwnProperty;function t(){for(var i=[],a=0;a{aO.exports=o(function(t,i,a,p){var m=a?a.call(p,t,i):void 0;if(m!==void 0)return!!m;if(t===i)return!0;if(typeof t!="object"||!t||typeof i!="object"||!i)return!1;var d=Object.keys(t),w=Object.keys(i);if(d.length!==w.length)return!1;for(var b=Object.prototype.hasOwnProperty.bind(i),L=0;L{var T2=typeof Element!="undefined",O2=typeof Map=="function",k2=typeof Set=="function",N2=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function uy(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var i,a,p;if(Array.isArray(e)){if(i=e.length,i!=t.length)return!1;for(a=i;a--!=0;)if(!uy(e[a],t[a]))return!1;return!0}var m;if(O2&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(m=e.entries();!(a=m.next()).done;)if(!t.has(a.value[0]))return!1;for(m=e.entries();!(a=m.next()).done;)if(!uy(a.value[1],t.get(a.value[0])))return!1;return!0}if(k2&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(m=e.entries();!(a=m.next()).done;)if(!t.has(a.value[0]))return!1;return!0}if(N2&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(i=e.length,i!=t.length)return!1;for(a=i;a--!=0;)if(e[a]!==t[a])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if(p=Object.keys(e),i=p.length,i!==Object.keys(t).length)return!1;for(a=i;a--!=0;)if(!Object.prototype.hasOwnProperty.call(t,p[a]))return!1;if(T2&&e instanceof Element)return!1;for(a=i;a--!=0;)if(!((p[a]==="_owner"||p[a]==="__v"||p[a]==="__o")&&e.$$typeof)&&!uy(e[p[a]],t[p[a]]))return!1;return!0}return e!==e&&t!==t}o(uy,"equal");jO.exports=o(function(t,i){try{return uy(t,i)}catch(a){if((a.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw a}},"isEqual")});var Ck=Gt((iS,oS)=>{(function(e,t){typeof iS=="object"&&typeof oS!="undefined"?oS.exports=t():typeof define=="function"&&define.amd?define(t):(e=e||self,e.CodeMirror=t())})(iS,function(){"use strict";var e=navigator.userAgent,t=navigator.platform,i=/gecko\/\d/i.test(e),a=/MSIE \d/.test(e),p=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(e),m=/Edge\/(\d+)/.exec(e),d=a||p||m,w=d&&(a?document.documentMode||6:+(m||p)[1]),b=!m&&/WebKit\//.test(e),L=b&&/Qt\/\d+\.\d+/.test(e),F=!m&&/Chrome\//.test(e),Y=/Opera\//.test(e),z=/Apple Computer/.test(navigator.vendor),X=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(e),ee=/PhantomJS/.test(e),J=z&&(/Mobile\/\w+/.test(e)||navigator.maxTouchPoints>2),I=/Android/.test(e),A=J||I||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),W=J||/Mac/.test(t),K=/\bCrOS\b/.test(e),V=/win/i.test(t),fe=Y&&e.match(/Version\/(\d*\.\d*)/);fe&&(fe=Number(fe[1])),fe&&fe>=15&&(Y=!1,b=!0);var se=W&&(L||Y&&(fe==null||fe<12.11)),ce=i||d&&w>=9;function me(r){return new RegExp("(^|\\s)"+r+"(?:$|\\s)\\s*")}o(me,"classTest");var ye=o(function(r,n){var u=r.className,l=me(n).exec(u);if(l){var c=u.slice(l.index+l[0].length);r.className=u.slice(0,l.index)+(c?l[1]+c:"")}},"rmClass");function ze(r){for(var n=r.childNodes.length;n>0;--n)r.removeChild(r.firstChild);return r}o(ze,"removeChildren");function Ye(r,n){return ze(r).appendChild(n)}o(Ye,"removeChildrenAndAdd");function Se(r,n,u,l){var c=document.createElement(r);if(u&&(c.className=u),l&&(c.style.cssText=l),typeof n=="string")c.appendChild(document.createTextNode(n));else if(n)for(var v=0;v=n)return g+(n-v);g+=S-v,g+=u-g%u,v=S+1}}o(Nt,"countColumn");var mt=o(function(){this.id=null,this.f=null,this.time=0,this.handler=jn(this.onTimeout,this)},"Delayed");mt.prototype.onTimeout=function(r){r.id=0,r.time<=+new Date?r.f():setTimeout(r.handler,r.time-+new Date)},mt.prototype.set=function(r,n){this.f=n;var u=+new Date+r;(!this.id||u=n)return l+Math.min(g,n-c);if(c+=v-l,c+=u-c%u,l=v+1,c>=n)return l}}o(_n,"findColumn");var En=[""];function Xt(r){for(;En.length<=r;)En.push(je(En)+" ");return En[r]}o(Xt,"spaceStr");function je(r){return r[r.length-1]}o(je,"lst");function bn(r,n){for(var u=[],l=0;l"\x80"&&(r.toUpperCase()!=r.toLowerCase()||fn.test(r))}o(Qt,"isWordCharBasic");function cn(r,n){return n?n.source.indexOf("\\w")>-1&&Qt(r)?!0:n.test(r):Qt(r)}o(cn,"isWordChar");function Ci(r){for(var n in r)if(r.hasOwnProperty(n)&&r[n])return!1;return!0}o(Ci,"isEmpty");var ea=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function $r(r){return r.charCodeAt(0)>=768&&ea.test(r)}o($r,"isExtendingChar");function Yo(r,n,u){for(;(u<0?n>0:nu?-1:1;;){if(n==u)return n;var c=(n+u)/2,v=l<0?Math.ceil(c):Math.floor(c);if(v==n)return r(v)?n:u;r(v)?u=v:n=v+l}}o(_i,"findFirst");function go(r,n,u,l){if(!r)return l(n,u,"ltr",0);for(var c=!1,v=0;vn||n==u&&g.to==n)&&(l(Math.max(g.from,n),Math.min(g.to,u),g.level==1?"rtl":"ltr",v),c=!0)}c||l(n,u,"ltr")}o(go,"iterateBidiSections");var yo=null;function wo(r,n,u){var l;yo=null;for(var c=0;cn)return c;v.to==n&&(v.from!=v.to&&u=="before"?l=c:yo=c),v.from==n&&(v.from!=v.to&&u!="before"?l=c:yo=c)}return l??yo}o(wo,"getBidiPartAt");var Pl=function(){var r="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",n="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";function u(E){return E<=247?r.charAt(E):1424<=E&&E<=1524?"R":1536<=E&&E<=1785?n.charAt(E-1536):1774<=E&&E<=2220?"r":8192<=E&&E<=8203?"w":E==8204?"b":"L"}o(u,"charType");var l=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,c=/[stwN]/,v=/[LRr]/,g=/[Lb1n]/,S=/[1n]/;function C(E,P,D){this.level=E,this.from=P,this.to=D}return o(C,"BidiSpan"),function(E,P){var D=P=="ltr"?"L":"R";if(E.length==0||P=="ltr"&&!l.test(E))return!1;for(var q=E.length,B=[],Z=0;Z-1&&(l[n]=c.slice(0,v).concat(c.slice(v+1)))}}}o(Pr,"off");function Lt(r,n){var u=Fs(r,n);if(!!u.length)for(var l=Array.prototype.slice.call(arguments,2),c=0;c0}o(pn,"hasHandler");function xo(r){r.prototype.on=function(n,u){Ne(this,n,u)},r.prototype.off=function(n,u){Pr(this,n,u)}}o(xo,"eventMixin");function Cr(r){r.preventDefault?r.preventDefault():r.returnValue=!1}o(Cr,"e_preventDefault");function ta(r){r.stopPropagation?r.stopPropagation():r.cancelBubble=!0}o(ta,"e_stopPropagation");function ra(r){return r.defaultPrevented!=null?r.defaultPrevented:r.returnValue==!1}o(ra,"e_defaultPrevented");function Rs(r){Cr(r),ta(r)}o(Rs,"e_stop");function Al(r){return r.target||r.srcElement}o(Al,"e_target");function na(r){var n=r.which;return n==null&&(r.button&1?n=1:r.button&2?n=3:r.button&4&&(n=2)),W&&r.ctrlKey&&n==1&&(n=3),n}o(na,"e_button");var bp=function(){if(d&&w<9)return!1;var r=Se("div");return"draggable"in r||"dragDrop"in r}(),Dl;function Tp(r){if(Dl==null){var n=Se("span","\u200B");Ye(r,Se("span",[n,document.createTextNode("x")])),r.firstChild.offsetHeight!=0&&(Dl=n.offsetWidth<=1&&n.offsetHeight>2&&!(d&&w<8))}var u=Dl?Se("span","\u200B"):Se("span","\xA0",null,"display: inline-block; width: 1px; margin-right: -1px");return u.setAttribute("cm-text",""),u}o(Tp,"zeroWidthElement");var Ws;function _f(r){if(Ws!=null)return Ws;var n=Ye(r,document.createTextNode("A\u062EA")),u=Rt(n,0,1).getBoundingClientRect(),l=Rt(n,1,2).getBoundingClientRect();return ze(r),!u||u.left==u.right?!1:Ws=l.right-u.right<3}o(_f,"hasBadBidiRects");var Hs=` + +b`.split(/\n/).length!=3?function(r){for(var n=0,u=[],l=r.length;n<=l;){var c=r.indexOf(` +`,n);c==-1&&(c=r.length);var v=r.slice(n,r.charAt(c-1)=="\r"?c-1:c),g=v.indexOf("\r");g!=-1?(u.push(v.slice(0,g)),n+=g+1):(u.push(v),n=c+1)}return u}:function(r){return r.split(/\r\n?|\n/)},Op=window.getSelection?function(r){try{return r.selectionStart!=r.selectionEnd}catch(n){return!1}}:function(r){var n;try{n=r.ownerDocument.selection.createRange()}catch(u){}return!n||n.parentElement()!=r?!1:n.compareEndPoints("StartToEnd",n)!=0},Ef=function(){var r=Se("div");return"oncopy"in r?!0:(r.setAttribute("oncopy","return;"),typeof r.oncopy=="function")}(),ia=null;function kp(r){if(ia!=null)return ia;var n=Ye(r,Se("span","x")),u=n.getBoundingClientRect(),l=Rt(n,0,1).getBoundingClientRect();return ia=Math.abs(u.left-l.left)>1}o(kp,"hasBadZoomedRects");var Il={},Xo={};function Np(r,n){arguments.length>2&&(n.dependencies=Array.prototype.slice.call(arguments,2)),Il[r]=n}o(Np,"defineMode");function bf(r,n){Xo[r]=n}o(bf,"defineMIME");function Us(r){if(typeof r=="string"&&Xo.hasOwnProperty(r))r=Xo[r];else if(r&&typeof r.name=="string"&&Xo.hasOwnProperty(r.name)){var n=Xo[r.name];typeof n=="string"&&(n={name:n}),r=ni(n,r),r.name=n.name}else{if(typeof r=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(r))return Us("application/xml");if(typeof r=="string"&&/^[\w\-]+\/[\w\-]+\+json$/.test(r))return Us("application/json")}return typeof r=="string"?{name:r}:r||{name:"null"}}o(Us,"resolveMode");function oa(r,n){n=Us(n);var u=Il[n.name];if(!u)return oa(r,"text/plain");var l=u(r,n);if(So.hasOwnProperty(n.name)){var c=So[n.name];for(var v in c)!c.hasOwnProperty(v)||(l.hasOwnProperty(v)&&(l["_"+v]=l[v]),l[v]=c[v])}if(l.name=n.name,n.helperType&&(l.helperType=n.helperType),n.modeProps)for(var g in n.modeProps)l[g]=n.modeProps[g];return l}o(oa,"getMode");var So={};function Lp(r,n){var u=So.hasOwnProperty(r)?So[r]:So[r]={};fr(n,u)}o(Lp,"extendMode");function Co(r,n){if(n===!0)return n;if(r.copyState)return r.copyState(n);var u={};for(var l in n){var c=n[l];c instanceof Array&&(c=c.concat([])),u[l]=c}return u}o(Co,"copyState");function Fl(r,n){for(var u;r.innerMode&&(u=r.innerMode(n),!(!u||u.mode==r));)n=u.state,r=u.mode;return u||{mode:r,state:n}}o(Fl,"innerMode");function Tf(r,n,u){return r.startState?r.startState(n,u):!0}o(Tf,"startState");var bt=o(function(r,n,u){this.pos=this.start=0,this.string=r,this.tabSize=n||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=u},"StringStream");bt.prototype.eol=function(){return this.pos>=this.string.length},bt.prototype.sol=function(){return this.pos==this.lineStart},bt.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},bt.prototype.next=function(){if(this.posn},bt.prototype.eatSpace=function(){for(var r=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>r},bt.prototype.skipToEnd=function(){this.pos=this.string.length},bt.prototype.skipTo=function(r){var n=this.string.indexOf(r,this.pos);if(n>-1)return this.pos=n,!0},bt.prototype.backUp=function(r){this.pos-=r},bt.prototype.column=function(){return this.lastColumnPos0?null:(v&&n!==!1&&(this.pos+=v[0].length),v)}},bt.prototype.current=function(){return this.string.slice(this.start,this.pos)},bt.prototype.hideFirstChars=function(r,n){this.lineStart+=r;try{return n()}finally{this.lineStart-=r}},bt.prototype.lookAhead=function(r){var n=this.lineOracle;return n&&n.lookAhead(r)},bt.prototype.baseToken=function(){var r=this.lineOracle;return r&&r.baseToken(this.pos)};function _e(r,n){if(n-=r.first,n<0||n>=r.size)throw new Error("There is no line "+(n+r.first)+" in the document.");for(var u=r;!u.lines;)for(var l=0;;++l){var c=u.children[l],v=c.chunkSize();if(n=r.first&&nu?le(u,_e(r,u).text.length):Pp(n,_e(r,n.line).text.length)}o(De,"clipPos");function Pp(r,n){var u=r.ch;return u==null||u>n?le(r.line,n):u<0?le(r.line,0):r}o(Pp,"clipToLen");function zs(r,n){for(var u=[],l=0;lthis.maxLookAhead&&(this.maxLookAhead=r),n},Tn.prototype.baseToken=function(r){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=r;)this.baseTokenPos+=2;var n=this.baseTokens[this.baseTokenPos+1];return{type:n&&n.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-r}},Tn.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},Tn.fromSaved=function(r,n,u){return n instanceof Vn?new Tn(r,Co(r.mode,n.state),u,n.lookAhead):new Tn(r,Co(r.mode,n),u)},Tn.prototype.save=function(r){var n=r!==!1?Co(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new Vn(n,this.maxLookAhead):n};function la(r,n,u,l){var c=[r.state.modeGen],v={};aa(r,n.text,r.doc.mode,u,function(E,P){return c.push(E,P)},v,l);for(var g=u.state,S=o(function(E){u.baseTokens=c;var P=r.state.overlays[E],D=1,q=0;u.state=!0,aa(r,n.text,P.mode,u,function(B,Z){for(var ne=D;qB&&c.splice(D,1,B,c[D+1],ae),D+=2,q=Math.min(B,ae)}if(!!Z)if(P.opaque)c.splice(ne,D-ne,B,"overlay "+Z),D=ne+2;else for(;ner.options.maxHighlightLength&&Co(r.doc.mode,l.state),v=la(r,n,l);c&&(l.state=c),n.stateAfter=l.save(!c),n.styles=v.styles,v.classes?n.styleClasses=v.classes:n.styleClasses&&(n.styleClasses=null),u===r.doc.highlightFrontier&&(r.doc.modeFrontier=Math.max(r.doc.modeFrontier,++r.doc.highlightFrontier))}return n.styles}o(ua,"getLineStyles");function Zo(r,n,u){var l=r.doc,c=r.display;if(!l.mode.startState)return new Tn(l,!0,n);var v=kf(r,n,u),g=v>l.first&&_e(l,v-1).stateAfter,S=g?Tn.fromSaved(l,g,v):new Tn(l,Tf(l.mode),v);return l.iter(v,n,function(C){js(r,C.text,S);var E=S.line;C.stateAfter=E==n-1||E%5==0||E>=c.viewFrom&&En.start)return v}throw new Error("Mode "+r.name+" failed to advance stream.")}o(Ul,"readToken");var Bl=o(function(r,n,u){this.start=r.start,this.end=r.pos,this.string=r.current(),this.type=n||null,this.state=u},"Token");function zl(r,n,u,l){var c=r.doc,v=c.mode,g;n=De(c,n);var S=_e(c,n.line),C=Zo(r,n.line,u),E=new bt(S.text,r.options.tabSize,C),P;for(l&&(P=[]);(l||E.posr.options.maxHighlightLength?(S=!1,g&&js(r,n,l,P.pos),P.pos=n.length,D=null):D=bo(Ul(u,P,l.state,q),v),q){var B=q[0].name;B&&(D="m-"+(D?B+" "+D:B))}if(!S||E!=D){for(;Cg;--S){if(S<=v.first)return v.first;var C=_e(v,S-1),E=C.stateAfter;if(E&&(!u||S+(E instanceof Vn?E.lookAhead:0)<=v.modeFrontier))return S;var P=Nt(C.text,null,r.options.tabSize);(c==null||l>P)&&(c=S-1,l=P)}return c}o(kf,"findStartLine");function Mp(r,n){if(r.modeFrontier=Math.min(r.modeFrontier,n),!(r.highlightFrontieru;l--){var c=_e(r,l).stateAfter;if(c&&(!(c instanceof Vn)||l+c.lookAhead=n:v.to>n);(l||(l=[])).push(new To(g,v.from,C?null:v.to))}}return l}o(jl,"markedSpansBefore");function Yh(r,n,u){var l;if(r)for(var c=0;c=n:v.to>n);if(S||v.from==n&&g.type=="bookmark"&&(!u||v.marker.insertLeft)){var C=v.from==null||(g.inclusiveLeft?v.from<=n:v.from0&&S)for(var we=0;we0)){var P=[C,1],D=Ie(E.from,S.from),q=Ie(E.to,S.to);(D<0||!g.inclusiveLeft&&!D)&&P.push({from:E.from,to:S.from}),(q>0||!g.inclusiveRight&&!q)&&P.push({from:S.to,to:E.to}),c.splice.apply(c,P),C+=P.length-3}}return c}o(Lf,"removeReadOnlyRanges");function pa(r){var n=r.markedSpans;if(!!n){for(var u=0;un)&&(!l||ql(l,v.marker)<0)&&(l=v.marker)}return l}o(da,"collapsedSpanAround");function qs(r,n,u,l,c){var v=_e(r,n),g=si&&v.markedSpans;if(g)for(var S=0;S=0&&D<=0||P<=0&&D>=0)&&(P<=0&&(C.marker.inclusiveRight&&c.inclusiveLeft?Ie(E.to,u)>=0:Ie(E.to,u)>0)||P>=0&&(C.marker.inclusiveRight&&c.inclusiveLeft?Ie(E.from,l)<=0:Ie(E.from,l)<0)))return!0}}}o(qs,"conflictingCollapsedRange");function dn(r){for(var n;n=gt(r);)r=n.find(-1,!0).line;return r}o(dn,"visualLine");function Dp(r){for(var n;n=On(r);)r=n.find(1,!0).line;return r}o(Dp,"visualLineEnd");function Ip(r){for(var n,u;n=On(r);)r=n.find(1,!0).line,(u||(u=[])).push(r);return u}o(Ip,"visualLineContinued");function $l(r,n){var u=_e(r,n),l=dn(u);return u==l?n:it(l)}o($l,"visualLineNo");function _r(r,n){if(n>r.lastLine())return n;var u=_e(r,n),l;if(!wt(r,u))return n;for(;l=On(u);)u=l.find(1,!0).line;return it(u)+1}o(_r,"visualLineEndNo");function wt(r,n){var u=si&&n.markedSpans;if(u){for(var l=void 0,c=0;cn.maxLineLength&&(n.maxLineLength=c,n.maxLine=l)})}o($s,"findMaxLine");var pr=o(function(r,n,u){this.text=r,Jo(this,n),this.height=u?u(this):1},"Line");pr.prototype.lineNo=function(){return it(this)},xo(pr);function Pf(r,n,u,l){r.text=n,r.stateAfter&&(r.stateAfter=null),r.styles&&(r.styles=null),r.order!=null&&(r.order=null),pa(r),Jo(r,u);var c=l?l(r):1;c!=r.height&&oi(r,c)}o(Pf,"updateLine");function Mf(r){r.parent=null,pa(r)}o(Mf,"cleanUpLine");var ha={},va={};function Vl(r,n){if(!r||/^\s*$/.test(r))return null;var u=n.addModeClass?va:ha;return u[r]||(u[r]=r.replace(/\S+/g,"cm-$&"))}o(Vl,"interpretTokenStyle");function Gl(r,n){var u=Et("span",null,null,b?"padding-right: .1px":null),l={pre:Et("pre",[u],"CodeMirror-line"),content:u,col:0,pos:0,cm:r,trailingSpace:!1,splitSpaces:r.getOption("lineWrapping")};n.measure={};for(var c=0;c<=(n.rest?n.rest.length:0);c++){var v=c?n.rest[c-1]:n.line,g=void 0;l.pos=0,l.addToken=Fp,_f(r.display.measure)&&(g=$n(v,r.doc.direction))&&(l.addToken=Rp(l.addToken,g)),l.map=[];var S=n!=r.display.externalMeasured&&it(v);Ui(v,l,ua(r,v,S)),v.styleClasses&&(v.styleClasses.bgClass&&(l.bgClass=Sr(v.styleClasses.bgClass,l.bgClass||"")),v.styleClasses.textClass&&(l.textClass=Sr(v.styleClasses.textClass,l.textClass||""))),l.map.length==0&&l.map.push(0,0,l.content.appendChild(Tp(r.display.measure))),c==0?(n.measure.map=l.map,n.measure.cache={}):((n.measure.maps||(n.measure.maps=[])).push(l.map),(n.measure.caches||(n.measure.caches=[])).push({}))}if(b){var C=l.content.lastChild;(/\bcm-tab\b/.test(C.className)||C.querySelector&&C.querySelector(".cm-tab"))&&(l.content.className="cm-tab-wrap-hack")}return Lt(r,"renderLine",r,n.line,l.pre),l.pre.className&&(l.textClass=Sr(l.pre.className,l.textClass||"")),l}o(Gl,"buildLineContent");function hn(r){var n=Se("span","\u2022","cm-invalidchar");return n.title="\\u"+r.charCodeAt(0).toString(16),n.setAttribute("aria-label",n.title),n}o(hn,"defaultSpecialCharPlaceholder");function Fp(r,n,u,l,c,v,g){if(!!n){var S=r.splitSpaces?kn(n,r.trailingSpace):n,C=r.cm.state.specialChars,E=!1,P;if(!C.test(n))r.col+=n.length,P=document.createTextNode(S),r.map.push(r.pos,r.pos+n.length,P),d&&w<9&&(E=!0),r.pos+=n.length;else{P=document.createDocumentFragment();for(var D=0;;){C.lastIndex=D;var q=C.exec(n),B=q?q.index-D:n.length-D;if(B){var Z=document.createTextNode(S.slice(D,D+B));d&&w<9?P.appendChild(Se("span",[Z])):P.appendChild(Z),r.map.push(r.pos,r.pos+B,Z),r.col+=B,r.pos+=B}if(!q)break;D+=B+1;var ne=void 0;if(q[0]==" "){var ae=r.cm.options.tabSize,pe=ae-r.col%ae;ne=P.appendChild(Se("span",Xt(pe),"cm-tab")),ne.setAttribute("role","presentation"),ne.setAttribute("cm-text"," "),r.col+=pe}else q[0]=="\r"||q[0]==` +`?(ne=P.appendChild(Se("span",q[0]=="\r"?"\u240D":"\u2424","cm-invalidchar")),ne.setAttribute("cm-text",q[0]),r.col+=1):(ne=r.cm.options.specialCharPlaceholder(q[0]),ne.setAttribute("cm-text",q[0]),d&&w<9?P.appendChild(Se("span",[ne])):P.appendChild(ne),r.col+=1);r.map.push(r.pos,r.pos+1,ne),r.pos++}}if(r.trailingSpace=S.charCodeAt(n.length-1)==32,u||l||c||E||v||g){var ge=u||"";l&&(ge+=l),c&&(ge+=c);var de=Se("span",[P],ge,v);if(g)for(var we in g)g.hasOwnProperty(we)&&we!="style"&&we!="class"&&de.setAttribute(we,g[we]);return r.content.appendChild(de)}r.content.appendChild(P)}}o(Fp,"buildToken");function kn(r,n){if(r.length>1&&!/ /.test(r))return r;for(var u=n,l="",c=0;cE&&D.from<=E));q++);if(D.to>=P)return r(u,l,c,v,g,S,C);r(u,l.slice(0,D.to-E),c,v,null,S,C),v=null,l=l.slice(D.to-E),E=D.to}}}o(Rp,"buildTokenBadBidi");function ma(r,n,u,l){var c=!l&&u.widgetNode;c&&r.map.push(r.pos,r.pos+n,c),!l&&r.cm.display.input.needsContentAttribute&&(c||(c=r.content.appendChild(document.createElement("span"))),c.setAttribute("cm-marker",u.id)),c&&(r.cm.display.input.setUneditable(c),r.content.appendChild(c)),r.pos+=n,r.trailingSpace=!1}o(ma,"buildCollapsedSpan");function Ui(r,n,u){var l=r.markedSpans,c=r.text,v=0;if(!l){for(var g=1;gC||qe.collapsed&&Oe.to==C&&Oe.from==C)){if(Oe.to!=null&&Oe.to!=C&&B>Oe.to&&(B=Oe.to,ne=""),qe.className&&(Z+=" "+qe.className),qe.css&&(q=(q?q+";":"")+qe.css),qe.startStyle&&Oe.from==C&&(ae+=" "+qe.startStyle),qe.endStyle&&Oe.to==B&&(we||(we=[])).push(qe.endStyle,Oe.to),qe.title&&((ge||(ge={})).title=qe.title),qe.attributes)for(var ht in qe.attributes)(ge||(ge={}))[ht]=qe.attributes[ht];qe.collapsed&&(!pe||ql(pe.marker,qe)<0)&&(pe=Oe)}else Oe.from>C&&B>Oe.from&&(B=Oe.from)}if(we)for(var ir=0;ir=S)break;for(var Xr=Math.min(S,B);;){if(P){var Qr=C+P.length;if(!pe){var Vt=Qr>Xr?P.slice(0,Xr-C):P;n.addToken(n,Vt,D?D+Z:Z,ae,C+Vt.length==B?ne:"",q,ge)}if(Qr>=Xr){P=P.slice(Xr-C),C=Xr;break}C=Qr,ae=""}P=c.slice(v,v=u[E++]),D=Vl(u[E++],n.cm.options)}}}o(Ui,"insertLineContent");function ns(r,n,u){this.line=n,this.rest=Ip(n),this.size=this.rest?it(je(this.rest))-u+1:1,this.node=this.text=null,this.hidden=wt(r,n)}o(ns,"LineView");function is(r,n,u){for(var l=[],c,v=n;v2&&v.push((C.bottom+E.top)/2-u.top)}}v.push(u.bottom-u.top)}}o(Up,"ensureLineHeights");function Gs(r,n,u){if(r.line==n)return{map:r.measure.map,cache:r.measure.cache};for(var l=0;lu)return{map:r.measure.maps[c],cache:r.measure.caches[c],before:!0}}o(Gs,"mapFromLineView");function Ti(r,n){n=dn(n);var u=it(n),l=r.display.externalMeasured=new ns(r.doc,n,u);l.lineN=u;var c=l.built=Gl(r,l);return l.text=c.pre,Ye(r.display.lineMeasure,c.pre),l}o(Ti,"updateExternalMeasurement");function Xh(r,n,u,l){return qi(r,Oi(r,n),u,l)}o(Xh,"measureChar");function Bp(r,n){if(n>=r.display.viewFrom&&n=u.lineN&&nn)&&(v=C-S,c=v-1,n>=C&&(g="right")),c!=null){if(l=r[E+2],S==C&&u==(l.insertLeft?"left":"right")&&(g=u),u=="left"&&c==0)for(;E&&r[E-2]==r[E-3]&&r[E-1].insertLeft;)l=r[(E-=3)+2],g="left";if(u=="right"&&c==C-S)for(;E=0&&(u=r[c]).left==u.right;c--);return u}o(Zh,"getUsefulRect");function ss(r,n,u,l){var c=If(n.map,u,l),v=c.node,g=c.start,S=c.end,C=c.collapse,E;if(v.nodeType==3){for(var P=0;P<4;P++){for(;g&&$r(n.line.text.charAt(c.coverStart+g));)--g;for(;c.coverStart+S0&&(C=l="right");var D;r.options.lineWrapping&&(D=v.getClientRects()).length>1?E=D[l=="right"?D.length-1:0]:E=v.getBoundingClientRect()}if(d&&w<9&&!g&&(!E||!E.left&&!E.right)){var q=v.parentNode.getClientRects()[0];q?E={left:q.left,right:q.left+Ql(r.display),top:q.top,bottom:q.bottom}:E=Qh}for(var B=E.top-n.rect.top,Z=E.bottom-n.rect.top,ne=(B+Z)/2,ae=n.view.measure.heights,pe=0;pe=l.text.length?(C=l.text.length,E="before"):C<=0&&(C=0,E="after"),!S)return g(E=="before"?C-1:C,E=="before");function P(Z,ne,ae){var pe=S[ne],ge=pe.level==1;return g(ae?Z-1:Z,ge!=ae)}o(P,"getBidi");var D=wo(S,C,E),q=yo,B=P(C,D,E=="before");return q!=null&&(B.other=P(C,q,E!="before")),B}o(ki,"cursorCoords");function rv(r,n){var u=0;n=De(r.doc,n),r.options.lineWrapping||(u=Ql(r.display)*n.ch);var l=_e(r.doc,n.line),c=Er(l)+Ln(r.display);return{left:u,right:u,top:c,bottom:c+l.height}}o(rv,"estimateCoords");function $i(r,n,u,l,c){var v=le(r,n,u);return v.xRel=c,l&&(v.outside=l),v}o($i,"PosWithInfo");function $(r,n,u){var l=r.doc;if(u+=r.display.viewOffset,u<0)return $i(l.first,0,null,-1,-1);var c=Ei(l,u),v=l.first+l.size-1;if(c>v)return $i(l.first+l.size-1,_e(l,v).text.length,null,1,1);n<0&&(n=0);for(var g=_e(l,c);;){var S=He(r,g,c,n,u),C=da(g,S.ch+(S.xRel>0||S.outside>0?1:0));if(!C)return S;var E=C.find(1);if(E.line==c)return E;g=_e(l,c=E.line)}}o($,"coordsChar");function te(r,n,u,l){l-=Rf(n);var c=n.text.length,v=_i(function(g){return qi(r,u,g-1).bottom<=l},c,0);return c=_i(function(g){return qi(r,u,g).top>l},v,c),{begin:v,end:c}}o(te,"wrappedLineExtent");function Q(r,n,u,l){u||(u=Oi(r,n));var c=Wf(r,n,qi(r,u,l),"line").top;return te(r,n,u,c)}o(Q,"wrappedLineExtentChar");function Ce(r,n,u,l){return r.bottom<=u?!1:r.top>u?!0:(l?r.left:r.right)>n}o(Ce,"boxIsAfter");function He(r,n,u,l,c){c-=Er(n);var v=Oi(r,n),g=Rf(n),S=0,C=n.text.length,E=!0,P=$n(n,r.doc.direction);if(P){var D=(r.options.lineWrapping?dr:ct)(r,n,u,v,P,l,c);E=D.level!=1,S=E?D.from:D.to-1,C=E?D.to:D.from-1}var q=null,B=null,Z=_i(function(Le){var Oe=qi(r,v,Le);return Oe.top+=g,Oe.bottom+=g,Ce(Oe,l,c,!1)?(Oe.top<=c&&Oe.left<=l&&(q=Le,B=Oe),!0):!1},S,C),ne,ae,pe=!1;if(B){var ge=l-B.left=we.bottom?1:0}return Z=Yo(n.text,Z,1),$i(u,Z,ae,pe,l-ne)}o(He,"coordsCharInner");function ct(r,n,u,l,c,v,g){var S=_i(function(D){var q=c[D],B=q.level!=1;return Ce(ki(r,le(u,B?q.to:q.from,B?"before":"after"),"line",n,l),v,g,!0)},0,c.length-1),C=c[S];if(S>0){var E=C.level!=1,P=ki(r,le(u,E?C.from:C.to,E?"after":"before"),"line",n,l);Ce(P,v,g,!0)&&P.top>g&&(C=c[S-1])}return C}o(ct,"coordsBidiPart");function dr(r,n,u,l,c,v,g){var S=te(r,n,l,g),C=S.begin,E=S.end;/\s/.test(n.text.charAt(E-1))&&E--;for(var P=null,D=null,q=0;q=E||B.to<=C)){var Z=B.level!=1,ne=qi(r,l,Z?Math.min(E,B.to)-1:Math.max(C,B.from)).right,ae=neae)&&(P=B,D=ae)}}return P||(P=c[c.length-1]),P.fromE&&(P={from:P.from,to:E,level:P.level}),P}o(dr,"coordsBidiPartWrapped");var ot;function ls(r){if(r.cachedTextHeight!=null)return r.cachedTextHeight;if(ot==null){ot=Se("pre",null,"CodeMirror-line-like");for(var n=0;n<49;++n)ot.appendChild(document.createTextNode("x")),ot.appendChild(Se("br"));ot.appendChild(document.createTextNode("x"))}Ye(r.measure,ot);var u=ot.offsetHeight/50;return u>3&&(r.cachedTextHeight=u),ze(r.measure),u||1}o(ls,"textHeight");function Ql(r){if(r.cachedCharWidth!=null)return r.cachedCharWidth;var n=Se("span","xxxxxxxxxx"),u=Se("pre",[n],"CodeMirror-line-like");Ye(r.measure,u);var l=n.getBoundingClientRect(),c=(l.right-l.left)/10;return c>2&&(r.cachedCharWidth=c),c||10}o(Ql,"charWidth");function Pn(r){for(var n=r.display,u={},l={},c=n.gutters.clientLeft,v=n.gutters.firstChild,g=0;v;v=v.nextSibling,++g){var S=r.display.gutterSpecs[g].className;u[S]=v.offsetLeft+v.clientLeft+c,l[S]=v.clientWidth}return{fixedPos:Zl(n),gutterTotalWidth:n.gutters.offsetWidth,gutterLeft:u,gutterWidth:l,wrapperWidth:n.wrapper.clientWidth}}o(Pn,"getDimensions");function Zl(r){return r.scroller.getBoundingClientRect().left-r.sizer.getBoundingClientRect().left}o(Zl,"compensateForHScroll");function nv(r){var n=ls(r.display),u=r.options.lineWrapping,l=u&&Math.max(5,r.display.scroller.clientWidth/Ql(r.display)-3);return function(c){if(wt(r.doc,c))return 0;var v=0;if(c.widgets)for(var g=0;g0&&(E=_e(r.doc,C.line).text).length==C.ch){var P=Nt(E,E.length,r.options.tabSize)-E.length;C=le(C.line,Math.max(0,Math.round((v-li(r.display).left)/Ql(r.display))-P))}return C}o(Vi,"posFromMouse");function Gi(r,n){if(n>=r.display.viewTo||(n-=r.display.viewFrom,n<0))return null;for(var u=r.display.view,l=0;ln)&&(c.updateLineNumbers=n),r.curOp.viewChanged=!0,n>=c.viewTo)si&&$l(r.doc,n)c.viewFrom?ko(r):(c.viewFrom+=l,c.viewTo+=l);else if(n<=c.viewFrom&&u>=c.viewTo)ko(r);else if(n<=c.viewFrom){var v=Ys(r,u,u+l,1);v?(c.view=c.view.slice(v.index),c.viewFrom=v.lineN,c.viewTo+=l):ko(r)}else if(u>=c.viewTo){var g=Ys(r,n,n,-1);g?(c.view=c.view.slice(0,g.index),c.viewTo=g.lineN):ko(r)}else{var S=Ys(r,n,n,-1),C=Ys(r,u,u+l,1);S&&C?(c.view=c.view.slice(0,S.index).concat(is(r,S.lineN,C.lineN)).concat(c.view.slice(C.index)),c.viewTo+=l):ko(r)}var E=c.externalMeasured;E&&(u=c.lineN&&n=l.viewTo)){var v=l.view[Gi(r,n)];if(v.node!=null){var g=v.changes||(v.changes=[]);Ze(g,u)==-1&&g.push(u)}}}o(as,"regLineChange");function ko(r){r.display.viewFrom=r.display.viewTo=r.doc.first,r.display.view=[],r.display.viewOffset=0}o(ko,"resetView");function Ys(r,n,u,l){var c=Gi(r,n),v,g=r.display.view;if(!si||u==r.doc.first+r.doc.size)return{index:c,lineN:u};for(var S=r.display.viewFrom,C=0;C0){if(c==g.length-1)return null;v=S+g[c].size-n,c++}else v=S-n;n+=v,u+=v}for(;$l(r.doc,u)!=u;){if(c==(l<0?0:g.length-1))return null;u+=l*g[c-(l<0?1:0)].size,c+=l}return{index:c,lineN:u}}o(Ys,"viewCuttingPoint");function Wy(r,n,u){var l=r.display,c=l.view;c.length==0||n>=l.viewTo||u<=l.viewFrom?(l.view=is(r,n,u),l.viewFrom=n):(l.viewFrom>n?l.view=is(r,n,l.viewFrom).concat(l.view):l.viewFromu&&(l.view=l.view.slice(0,Gi(r,u)))),l.viewTo=u}o(Wy,"adjustView");function iv(r){for(var n=r.display.view,u=0,l=0;l=r.display.viewTo||S.to().line0?n.blinker=setInterval(function(){r.hasFocus()||Qs(r),n.cursorDiv.style.visibility=(u=!u)?"":"hidden"},r.options.cursorBlinkRate):r.options.cursorBlinkRate<0&&(n.cursorDiv.style.visibility="hidden")}}o(Jl,"restartBlink");function jp(r){r.hasFocus()||(r.display.input.focus(),r.state.focused||eu(r))}o(jp,"ensureFocus");function Hf(r){r.state.delayingBlurEvent=!0,setTimeout(function(){r.state.delayingBlurEvent&&(r.state.delayingBlurEvent=!1,r.state.focused&&Qs(r))},100)}o(Hf,"delayBlurEvent");function eu(r,n){r.state.delayingBlurEvent&&!r.state.draggingText&&(r.state.delayingBlurEvent=!1),r.options.readOnly!="nocursor"&&(r.state.focused||(Lt(r,"focus",r,n),r.state.focused=!0,nt(r.display.wrapper,"CodeMirror-focused"),!r.curOp&&r.display.selForContextMenu!=r.doc.sel&&(r.display.input.reset(),b&&setTimeout(function(){return r.display.input.reset(!0)},20)),r.display.input.receivedFocus()),Jl(r))}o(eu,"onFocus");function Qs(r,n){r.state.delayingBlurEvent||(r.state.focused&&(Lt(r,"blur",r,n),r.state.focused=!1,ye(r.display.wrapper,"CodeMirror-focused")),clearInterval(r.display.blinker),setTimeout(function(){r.state.focused||(r.display.shift=!1)},150))}o(Qs,"onBlur");function fs(r){for(var n=r.display,u=n.lineDiv.offsetTop,l=0;l.005||P<-.005)&&(oi(c.line,g),cs(c.line),c.rest))for(var D=0;Dr.display.sizerWidth){var q=Math.ceil(S/Ql(r.display));q>r.display.maxLineLength&&(r.display.maxLineLength=q,r.display.maxLine=c.line,r.display.maxLineChanged=!0)}}}}o(fs,"updateHeightsInViewport");function cs(r){if(r.widgets)for(var n=0;n=g&&(v=Ei(n,Er(_e(n,C))-r.wrapper.clientHeight),g=C)}return{from:v,to:Math.max(g,v+1)}}o(Zs,"visibleLines");function Hy(r,n){if(!Zt(r,"scrollCursorIntoView")){var u=r.display,l=u.sizer.getBoundingClientRect(),c=null;if(n.top+l.top<0?c=!0:n.bottom+l.top>(window.innerHeight||document.documentElement.clientHeight)&&(c=!1),c!=null&&!ee){var v=Se("div","\u200B",null,`position: absolute; + top: `+(n.top-u.viewOffset-Ln(r.display))+`px; + height: `+(n.bottom-n.top+Mr(r)+u.barHeight)+`px; + left: `+n.left+"px; width: "+Math.max(2,n.right-n.left)+"px;");r.display.lineSpace.appendChild(v),v.scrollIntoView(c),r.display.lineSpace.removeChild(v)}}}o(Hy,"maybeScrollWindow");function Uy(r,n,u,l){l==null&&(l=0);var c;!r.options.lineWrapping&&n==u&&(u=n.sticky=="before"?le(n.line,n.ch+1,"before"):n,n=n.ch?le(n.line,n.sticky=="before"?n.ch-1:n.ch,"after"):n);for(var v=0;v<5;v++){var g=!1,S=ki(r,n),C=!u||u==n?S:ki(r,u);c={left:Math.min(S.left,C.left),top:Math.min(S.top,C.top)-l,right:Math.max(S.left,C.left),bottom:Math.max(S.bottom,C.bottom)+l};var E=tu(r,c),P=r.doc.scrollTop,D=r.doc.scrollLeft;if(E.scrollTop!=null&&(Wt(r,E.scrollTop),Math.abs(r.doc.scrollTop-P)>1&&(g=!0)),E.scrollLeft!=null&&(Js(r,E.scrollLeft),Math.abs(r.doc.scrollLeft-D)>1&&(g=!0)),!g)break}return c}o(Uy,"scrollPosIntoView");function By(r,n){var u=tu(r,n);u.scrollTop!=null&&Wt(r,u.scrollTop),u.scrollLeft!=null&&Js(r,u.scrollLeft)}o(By,"scrollIntoView");function tu(r,n){var u=r.display,l=ls(r.display);n.top<0&&(n.top=0);var c=r.curOp&&r.curOp.scrollTop!=null?r.curOp.scrollTop:u.scroller.scrollTop,v=ji(r),g={};n.bottom-n.top>v&&(n.bottom=n.top+v);var S=r.doc.height+nr(u),C=n.topS-l;if(n.topc+v){var P=Math.min(n.top,(E?S:n.bottom)-v);P!=c&&(g.scrollTop=P)}var D=r.options.fixedGutter?0:u.gutters.offsetWidth,q=r.curOp&&r.curOp.scrollLeft!=null?r.curOp.scrollLeft:u.scroller.scrollLeft-D,B=bi(r)-u.gutters.offsetWidth,Z=n.right-n.left>B;return Z&&(n.right=n.left+B),n.left<10?g.scrollLeft=0:n.leftB+q-3&&(g.scrollLeft=n.right+(Z?0:10)-B),g}o(tu,"calculateScrollPos");function ru(r,n){n!=null&&(Uf(r),r.curOp.scrollTop=(r.curOp.scrollTop==null?r.doc.scrollTop:r.curOp.scrollTop)+n)}o(ru,"addToScrollTop");function ps(r){Uf(r);var n=r.getCursor();r.curOp.scrollToPos={from:n,to:n,margin:r.options.cursorScrollMargin}}o(ps,"ensureCursorVisible");function xa(r,n,u){(n!=null||u!=null)&&Uf(r),n!=null&&(r.curOp.scrollLeft=n),u!=null&&(r.curOp.scrollTop=u)}o(xa,"scrollToCoords");function sv(r,n){Uf(r),r.curOp.scrollToPos=n}o(sv,"scrollToRange");function Uf(r){var n=r.curOp.scrollToPos;if(n){r.curOp.scrollToPos=null;var u=rv(r,n.from),l=rv(r,n.to);lv(r,u,l,n.margin)}}o(Uf,"resolveScrollToPos");function lv(r,n,u,l){var c=tu(r,{left:Math.min(n.left,u.left),top:Math.min(n.top,u.top)-l,right:Math.max(n.right,u.right),bottom:Math.max(n.bottom,u.bottom)+l});xa(r,c.scrollLeft,c.scrollTop)}o(lv,"scrollToCoordsRange");function Wt(r,n){Math.abs(r.doc.scrollTop-n)<2||(i||$p(r,{top:n}),Ar(r,n,!0),i&&$p(r),Yi(r,100))}o(Wt,"updateScrollTop");function Ar(r,n,u){n=Math.max(0,Math.min(r.display.scroller.scrollHeight-r.display.scroller.clientHeight,n)),!(r.display.scroller.scrollTop==n&&!u)&&(r.doc.scrollTop=n,r.display.scrollbars.setScrollTop(n),r.display.scroller.scrollTop!=n&&(r.display.scroller.scrollTop=n))}o(Ar,"setScrollTop");function Js(r,n,u,l){n=Math.max(0,Math.min(n,r.display.scroller.scrollWidth-r.display.scroller.clientWidth)),!((u?n==r.doc.scrollLeft:Math.abs(r.doc.scrollLeft-n)<2)&&!l)&&(r.doc.scrollLeft=n,uv(r),r.display.scroller.scrollLeft!=n&&(r.display.scroller.scrollLeft=n),r.display.scrollbars.setScrollLeft(n))}o(Js,"setScrollLeft");function Sa(r){var n=r.display,u=n.gutters.offsetWidth,l=Math.round(r.doc.height+nr(r.display));return{clientHeight:n.scroller.clientHeight,viewHeight:n.wrapper.clientHeight,scrollWidth:n.scroller.scrollWidth,clientWidth:n.scroller.clientWidth,viewWidth:n.wrapper.clientWidth,barLeft:r.options.fixedGutter?u:0,docHeight:l,scrollHeight:l+Mr(r)+n.barHeight,nativeBarWidth:n.nativeBarWidth,gutterWidth:u}}o(Sa,"measureForScrollbars");var ds=o(function(r,n,u){this.cm=u;var l=this.vert=Se("div",[Se("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),c=this.horiz=Se("div",[Se("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");l.tabIndex=c.tabIndex=-1,r(l),r(c),Ne(l,"scroll",function(){l.clientHeight&&n(l.scrollTop,"vertical")}),Ne(c,"scroll",function(){c.clientWidth&&n(c.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,d&&w<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")},"NativeScrollbars");ds.prototype.update=function(r){var n=r.scrollWidth>r.clientWidth+1,u=r.scrollHeight>r.clientHeight+1,l=r.nativeBarWidth;if(u){this.vert.style.display="block",this.vert.style.bottom=n?l+"px":"0";var c=r.viewHeight-(n?l:0);this.vert.firstChild.style.height=Math.max(0,r.scrollHeight-r.clientHeight+c)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(n){this.horiz.style.display="block",this.horiz.style.right=u?l+"px":"0",this.horiz.style.left=r.barLeft+"px";var v=r.viewWidth-r.barLeft-(u?l:0);this.horiz.firstChild.style.width=Math.max(0,r.scrollWidth-r.clientWidth+v)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&r.clientHeight>0&&(l==0&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:u?l:0,bottom:n?l:0}},ds.prototype.setScrollLeft=function(r){this.horiz.scrollLeft!=r&&(this.horiz.scrollLeft=r),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},ds.prototype.setScrollTop=function(r){this.vert.scrollTop!=r&&(this.vert.scrollTop=r),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},ds.prototype.zeroWidthHack=function(){var r=W&&!X?"12px":"18px";this.horiz.style.height=this.vert.style.width=r,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new mt,this.disableVert=new mt},ds.prototype.enableZeroWidthBar=function(r,n,u){r.style.pointerEvents="auto";function l(){var c=r.getBoundingClientRect(),v=u=="vert"?document.elementFromPoint(c.right-1,(c.top+c.bottom)/2):document.elementFromPoint((c.right+c.left)/2,c.bottom-1);v!=r?r.style.pointerEvents="none":n.set(1e3,l)}o(l,"maybeDisable"),n.set(1e3,l)},ds.prototype.clear=function(){var r=this.horiz.parentNode;r.removeChild(this.horiz),r.removeChild(this.vert)};var Ca=o(function(){},"NullScrollbars");Ca.prototype.update=function(){return{bottom:0,right:0}},Ca.prototype.setScrollLeft=function(){},Ca.prototype.setScrollTop=function(){},Ca.prototype.clear=function(){};function hs(r,n){n||(n=Sa(r));var u=r.display.barWidth,l=r.display.barHeight;nu(r,n);for(var c=0;c<4&&u!=r.display.barWidth||l!=r.display.barHeight;c++)u!=r.display.barWidth&&r.options.lineWrapping&&fs(r),nu(r,Sa(r)),u=r.display.barWidth,l=r.display.barHeight}o(hs,"updateScrollbars");function nu(r,n){var u=r.display,l=u.scrollbars.update(n);u.sizer.style.paddingRight=(u.barWidth=l.right)+"px",u.sizer.style.paddingBottom=(u.barHeight=l.bottom)+"px",u.heightForcer.style.borderBottom=l.bottom+"px solid transparent",l.right&&l.bottom?(u.scrollbarFiller.style.display="block",u.scrollbarFiller.style.height=l.bottom+"px",u.scrollbarFiller.style.width=l.right+"px"):u.scrollbarFiller.style.display="",l.bottom&&r.options.coverGutterNextToScrollbar&&r.options.fixedGutter?(u.gutterFiller.style.display="block",u.gutterFiller.style.height=l.bottom+"px",u.gutterFiller.style.width=n.gutterWidth+"px"):u.gutterFiller.style.display=""}o(nu,"updateScrollbarsInner");var Bf={native:ds,null:Ca};function el(r){r.display.scrollbars&&(r.display.scrollbars.clear(),r.display.scrollbars.addClass&&ye(r.display.wrapper,r.display.scrollbars.addClass)),r.display.scrollbars=new Bf[r.options.scrollbarStyle](function(n){r.display.wrapper.insertBefore(n,r.display.scrollbarFiller),Ne(n,"mousedown",function(){r.state.focused&&setTimeout(function(){return r.display.input.focus()},0)}),n.setAttribute("cm-not-content","true")},function(n,u){u=="horizontal"?Js(r,n):Wt(r,n)},r),r.display.scrollbars.addClass&&nt(r.display.wrapper,r.display.scrollbars.addClass)}o(el,"initScrollbars");var _a=0;function Ni(r){r.curOp={cm:r,viewChanged:!1,startHeight:r.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++_a,markArrays:null},Bi(r.curOp)}o(Ni,"startOperation");function Ki(r){var n=r.curOp;n&&Wp(n,function(u){for(var l=0;l=u.viewTo)||u.maxLineChanged&&n.options.lineWrapping,r.update=r.mustUpdate&&new vn(n,r.mustUpdate&&{top:r.scrollTop,ensure:r.scrollToPos},r.forceUpdate)}o(zy,"endOperation_R1");function jy(r){r.updatedDisplay=r.mustUpdate&&qp(r.cm,r.update)}o(jy,"endOperation_W1");function qy(r){var n=r.cm,u=n.display;r.updatedDisplay&&fs(n),r.barMeasure=Sa(n),u.maxLineChanged&&!n.options.lineWrapping&&(r.adjustWidthTo=Xh(n,u.maxLine,u.maxLine.text.length).left+3,n.display.sizerWidth=r.adjustWidthTo,r.barMeasure.scrollWidth=Math.max(u.scroller.clientWidth,u.sizer.offsetLeft+r.adjustWidthTo+Mr(n)+n.display.barWidth),r.maxScrollLeft=Math.max(0,u.sizer.offsetLeft+r.adjustWidthTo-bi(n))),(r.updatedDisplay||r.selectionChanged)&&(r.preparedSelection=u.input.prepareSelection())}o(qy,"endOperation_R2");function $y(r){var n=r.cm;r.adjustWidthTo!=null&&(n.display.sizer.style.minWidth=r.adjustWidthTo+"px",r.maxScrollLeft=r.display.viewTo)){var u=+new Date+r.options.workTime,l=Zo(r,n.highlightFrontier),c=[];n.iter(l.line,Math.min(n.first+n.size,r.display.viewTo+500),function(v){if(l.line>=r.display.viewFrom){var g=v.styles,S=v.text.length>r.options.maxHighlightLength?Co(n.mode,l.state):null,C=la(r,v,l,!0);S&&(l.state=S),v.styles=C.styles;var E=v.styleClasses,P=C.classes;P?v.styleClasses=P:E&&(v.styleClasses=null);for(var D=!g||g.length!=v.styles.length||E!=P&&(!E||!P||E.bgClass!=P.bgClass||E.textClass!=P.textClass),q=0;!D&&qu)return Yi(r,r.options.workDelay),!0}),n.highlightFrontier=l.line,n.modeFrontier=Math.max(n.modeFrontier,l.line),c.length&&Dr(r,function(){for(var v=0;v=u.viewFrom&&n.visible.to<=u.viewTo&&(u.updateLineNumbers==null||u.updateLineNumbers>=u.viewTo)&&u.renderedView==u.view&&iv(r)==0)return!1;Xi(r)&&(ko(r),n.dims=Pn(r));var c=l.first+l.size,v=Math.max(n.visible.from-r.options.viewportMargin,l.first),g=Math.min(c,n.visible.to+r.options.viewportMargin);u.viewFromg&&u.viewTo-g<20&&(g=Math.min(c,u.viewTo)),si&&(v=$l(r.doc,v),g=_r(r.doc,g));var S=v!=u.viewFrom||g!=u.viewTo||u.lastWrapHeight!=n.wrapperHeight||u.lastWrapWidth!=n.wrapperWidth;Wy(r,v,g),u.viewOffset=Er(_e(r.doc,u.viewFrom)),r.display.mover.style.top=u.viewOffset+"px";var C=iv(r);if(!S&&C==0&&!n.force&&u.renderedView==u.view&&(u.updateLineNumbers==null||u.updateLineNumbers>=u.viewTo))return!1;var E=Gy(r);return C>4&&(u.lineDiv.style.display="none"),Yy(r,u.updateLineNumbers,n.dims),C>4&&(u.lineDiv.style.display=""),u.renderedView=u.view,Ky(E),ze(u.cursorDiv),ze(u.selectionDiv),u.gutters.style.height=u.sizer.style.minHeight=0,S&&(u.lastWrapHeight=n.wrapperHeight,u.lastWrapWidth=n.wrapperWidth,Yi(r,400)),u.updateLineNumbers=null,!0}o(qp,"updateDisplayIfNeeded");function vs(r,n){for(var u=n.viewport,l=!0;;l=!1){if(!l||!r.options.lineWrapping||n.oldDisplayWidth==bi(r)){if(u&&u.top!=null&&(u={top:Math.min(r.doc.height+nr(r.display)-ji(r),u.top)}),n.visible=Zs(r.display,r.doc,u),n.visible.from>=r.display.viewFrom&&n.visible.to<=r.display.viewTo)break}else l&&(n.visible=Zs(r.display,r.doc,u));if(!qp(r,n))break;fs(r);var c=Sa(r);ya(r),hs(r,c),Gp(r,c),n.force=!1}n.signal(r,"update",r),(r.display.viewFrom!=r.display.reportedViewFrom||r.display.viewTo!=r.display.reportedViewTo)&&(n.signal(r,"viewportChange",r,r.display.viewFrom,r.display.viewTo),r.display.reportedViewFrom=r.display.viewFrom,r.display.reportedViewTo=r.display.viewTo)}o(vs,"postUpdateDisplay");function $p(r,n){var u=new vn(r,n);if(qp(r,u)){fs(r),vs(r,u);var l=Sa(r);ya(r),hs(r,l),Gp(r,l),u.finish()}}o($p,"updateDisplaySimple");function Yy(r,n,u){var l=r.display,c=r.options.lineNumbers,v=l.lineDiv,g=v.firstChild;function S(Z){var ne=Z.nextSibling;return b&&W&&r.display.currentWheelTarget==Z?Z.style.display="none":Z.parentNode.removeChild(Z),ne}o(S,"rm");for(var C=l.view,E=l.viewFrom,P=0;P-1&&(B=!1),Df(r,D,E,u)),B&&(ze(D.lineNumber),D.lineNumber.appendChild(document.createTextNode(Bs(r.options,E)))),g=D.node.nextSibling}E+=D.size}for(;g;)g=S(g)}o(Yy,"patchDisplay");function Vp(r){var n=r.gutters.offsetWidth;r.sizer.style.marginLeft=n+"px",qt(r,"gutterChanged",r)}o(Vp,"updateGutterSpace");function Gp(r,n){r.display.sizer.style.minHeight=n.docHeight+"px",r.display.heightForcer.style.top=n.docHeight+"px",r.display.gutters.style.height=n.docHeight+r.display.barHeight+Mr(r)+"px"}o(Gp,"setDocumentHeight");function uv(r){var n=r.display,u=n.view;if(!(!n.alignWidgets&&(!n.gutters.firstChild||!r.options.fixedGutter))){for(var l=Zl(n)-n.scroller.scrollLeft+r.doc.scrollLeft,c=n.gutters.offsetWidth,v=l+"px",g=0;gg.clientWidth,C=g.scrollHeight>g.clientHeight;if(!!(l&&S||c&&C)){if(c&&W&&b){e:for(var E=n.target,P=v.view;E!=g;E=E.parentNode)for(var D=0;D=0&&Ie(r,l.to())<=0)return u}return-1};var ut=o(function(r,n){this.anchor=r,this.head=n},"Range");ut.prototype.from=function(){return Qo(this.anchor,this.head)},ut.prototype.to=function(){return Eo(this.anchor,this.head)},ut.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch};function Fr(r,n,u){var l=r&&r.options.selectionsMayTouch,c=n[u];n.sort(function(q,B){return Ie(q.from(),B.from())}),u=Ze(n,c);for(var v=1;v0:C>=0){var E=Qo(S.from(),g.from()),P=Eo(S.to(),g.to()),D=S.empty()?g.from()==g.head:S.from()==S.head;v<=u&&--u,n.splice(--v,2,new ut(D?P:E,D?E:P))}}return new Gn(n,u)}o(Fr,"normalizeSelection");function ms(r,n){return new Gn([new ut(r,n||r)],0)}o(ms,"simpleSelection");function gs(r){return r.text?le(r.from.line+r.text.length-1,je(r.text).length+(r.text.length==1?r.from.ch:0)):r.to}o(gs,"changeEnd");function ai(r,n){if(Ie(r,n.from)<0)return r;if(Ie(r,n.to)<=0)return gs(n);var u=r.line+n.text.length-(n.to.line-n.from.line)-1,l=r.ch;return r.line==n.to.line&&(l+=gs(n).ch-n.to.ch),le(u,l)}o(ai,"adjustForChange");function Yp(r,n){for(var u=[],l=0;l1&&r.remove(S.line+1,Z-1),r.insert(S.line+1,pe)}qt(r,"change",r,n)}o(qf,"updateDoc");function ys(r,n,u){function l(c,v,g){if(c.linked)for(var S=0;S1&&!r.done[r.done.length-2].ranges)return r.done.pop(),je(r.done)}o(Jy,"lastChangeEvent");function Qi(r,n,u,l){var c=r.history;c.undone.length=0;var v=+new Date,g,S;if((c.lastOp==l||c.lastOrigin==n.origin&&n.origin&&(n.origin.charAt(0)=="+"&&c.lastModTime>v-(r.cm?r.cm.options.historyEventDelay:500)||n.origin.charAt(0)=="*"))&&(g=Jy(c,c.lastOp==l)))S=je(g.changes),Ie(n.from,n.to)==0&&Ie(n.from,S.to)==0?S.to=gs(n):g.changes.push(Zp(r,n));else{var C=je(c.done);for((!C||!C.ranges)&&mn(r.sel,c.done),g={changes:[Zp(r,n)],generation:c.generation},c.done.push(g);c.done.length>c.undoDepth;)c.done.shift(),c.done[0].ranges||c.done.shift()}c.done.push(u),c.generation=++c.maxGeneration,c.lastModTime=c.lastSelTime=v,c.lastOp=c.lastSelOp=l,c.lastOrigin=c.lastSelOrigin=n.origin,S||Lt(r,"historyAdded")}o(Qi,"addChangeToHistory");function ed(r,n,u,l){var c=n.charAt(0);return c=="*"||c=="+"&&u.ranges.length==l.ranges.length&&u.somethingSelected()==l.somethingSelected()&&new Date-r.history.lastSelTime<=(r.cm?r.cm.options.historyEventDelay:500)}o(ed,"selectionEventCanBeMerged");function rl(r,n,u,l){var c=r.history,v=l&&l.origin;u==c.lastSelOp||v&&c.lastSelOrigin==v&&(c.lastModTime==c.lastSelTime&&c.lastOrigin==v||ed(r,v,je(c.done),n))?c.done[c.done.length-1]=n:mn(n,c.done),c.lastSelTime=+new Date,c.lastSelOrigin=v,c.lastSelOp=u,l&&l.clearRedo!==!1&&Jp(c.undone)}o(rl,"addSelectionToHistory");function mn(r,n){var u=je(n);u&&u.ranges&&u.equals(r)||n.push(r)}o(mn,"pushSelectionToHistory");function hv(r,n,u,l){var c=n["spans_"+r.id],v=0;r.iter(Math.max(r.first,u),Math.min(r.first+r.size,l),function(g){g.markedSpans&&((c||(c=n["spans_"+r.id]={}))[v]=g.markedSpans),++v})}o(hv,"attachLocalSpans");function vv(r){if(!r)return null;for(var n,u=0;u-1&&(je(S)[D]=E[D],delete E[D])}}return l}o(Kn,"copyHistoryArray");function Vf(r,n,u,l){if(l){var c=r.anchor;if(u){var v=Ie(n,c)<0;v!=Ie(u,c)<0?(c=n,n=u):v!=Ie(n,u)<0&&(n=u)}return new ut(c,n)}else return new ut(u||n,n)}o(Vf,"extendRange");function Gf(r,n,u,l,c){c==null&&(c=r.cm&&(r.cm.display.shift||r.extend)),br(r,new Gn([Vf(r.sel.primary(),n,u,c)],0),l)}o(Gf,"extendSelection");function Oa(r,n,u){for(var l=[],c=r.cm&&(r.cm.display.shift||r.extend),v=0;v=n.ch:S.to>n.ch))){if(c&&(Lt(C,"beforeCursorEnter"),C.explicitlyCleared))if(v.markedSpans){--g;continue}else break;if(!C.atomic)continue;if(u){var D=C.find(l<0?1:-1),q=void 0;if((l<0?P:E)&&(D=Xf(r,D,-l,D&&D.line==n.line?v:null)),D&&D.line==n.line&&(q=Ie(D,u))&&(l<0?q<0:q>0))return nl(r,D,n,l,c)}var B=C.find(l<0?-1:1);return(l<0?E:P)&&(B=Xf(r,B,l,B.line==n.line?v:null)),B?nl(r,B,n,l,c):null}}return n}o(nl,"skipAtomicInner");function Tr(r,n,u,l,c){var v=l||1,g=nl(r,n,u,v,c)||!c&&nl(r,n,u,v,!0)||nl(r,n,u,-v,c)||!c&&nl(r,n,u,-v,!0);return g||(r.cantEdit=!0,le(r.first,0))}o(Tr,"skipAtomic");function Xf(r,n,u,l){return u<0&&n.ch==0?n.line>r.first?De(r,le(n.line-1)):null:u>0&&n.ch==(l||_e(r,n.line)).text.length?n.line=0;--c)Qf(r,{from:l[c].from,to:l[c].to,text:c?[""]:n.text,origin:n.origin});else Qf(r,n)}}o(su,"makeChange");function Qf(r,n){if(!(n.text.length==1&&n.text[0]==""&&Ie(n.from,n.to)==0)){var u=Yp(r,n);Qi(r,n,u,r.cm?r.cm.curOp.id:NaN),uu(r,n,u,Nf(r,n));var l=[];ys(r,function(c,v){!v&&Ze(l,c.history)==-1&&(xv(c.history,n),l.push(c.history)),uu(c,n,null,Nf(c,n))})}}o(Qf,"makeChangeInner");function Zf(r,n,u){var l=r.cm&&r.cm.state.suppressEdits;if(!(l&&!u)){for(var c=r.history,v,g=r.sel,S=n=="undo"?c.done:c.undone,C=n=="undo"?c.undone:c.done,E=0;E=0;--B){var Z=q(B);if(Z)return Z.v}}}}o(Zf,"makeChangeFromHistory");function lu(r,n){if(n!=0&&(r.first+=n,r.sel=new Gn(bn(r.sel.ranges,function(c){return new ut(le(c.anchor.line+n,c.anchor.ch),le(c.head.line+n,c.head.ch))}),r.sel.primIndex),r.cm)){Be(r.cm,r.first,r.first-n,n);for(var u=r.cm.display,l=u.viewFrom;lr.lastLine())){if(n.from.linev&&(n={from:n.from,to:le(v,_e(r,v).text.length),text:[n.text[0]],origin:n.origin}),n.removed=ii(r,n.from,n.to),u||(u=Yp(r,n)),r.cm?e0(r.cm,n,l):qf(r,n,l),Yn(r,u,Mt),r.cantEdit&&Tr(r,le(r.firstLine(),0))&&(r.cantEdit=!1)}}o(uu,"makeChangeSingleDoc");function e0(r,n,u){var l=r.doc,c=r.display,v=n.from,g=n.to,S=!1,C=v.line;r.options.lineWrapping||(C=it(dn(_e(l,v.line))),l.iter(C,g.line+1,function(B){if(B==c.maxLine)return S=!0,!0})),l.sel.contains(n.from,n.to)>-1&&Cf(r),qf(l,n,u,nv(r)),r.options.lineWrapping||(l.iter(C,v.line+n.text.length,function(B){var Z=rs(B);Z>c.maxLineLength&&(c.maxLine=B,c.maxLineLength=Z,c.maxLineChanged=!0,S=!1)}),S&&(r.curOp.updateMaxLine=!0)),Mp(l,v.line),Yi(r,400);var E=n.text.length-(g.line-v.line)-1;n.full?Be(r):v.line==g.line&&n.text.length==1&&!Qp(r.doc,n)?as(r,v.line,"text"):Be(r,v.line,g.line+1,E);var P=pn(r,"changes"),D=pn(r,"change");if(D||P){var q={from:v,to:g,text:n.text,removed:n.removed,origin:n.origin};D&&qt(r,"change",r,q),P&&(r.curOp.changeObjs||(r.curOp.changeObjs=[])).push(q)}r.display.selForContextMenu=null}o(e0,"makeChangeSingleDocInEditor");function au(r,n,u,l,c){var v;l||(l=u),Ie(l,u)<0&&(v=[l,u],u=v[0],l=v[1]),typeof n=="string"&&(n=r.splitLines(n)),su(r,{from:u,to:l,text:n,origin:c})}o(au,"replaceRange");function fu(r,n,u,l){u1||!(this.children[0]instanceof cu))){var S=[];this.collapse(S),this.children=[new cu(S)],this.children[0].parent=this}},collapse:function(r){for(var n=0;n50){for(var g=c.lines.length%25+25,S=g;S10);r.parent.maybeSpill()}},iterN:function(r,n,u){for(var l=0;lr.display.maxLineLength&&(r.display.maxLine=E,r.display.maxLineLength=P,r.display.maxLineChanged=!0)}l!=null&&r&&this.collapsed&&Be(r,l,c+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,r&&ka(r.doc)),r&&qt(r,"markerCleared",r,this,l,c),n&&Ki(r),this.parent&&this.parent.clear()}},xs.prototype.find=function(r,n){r==null&&this.type=="bookmark"&&(r=1);for(var u,l,c=0;c0||g==0&&v.clearWhenEmpty!==!1)return v;if(v.replacedWith&&(v.collapsed=!0,v.widgetNode=Et("span",[v.replacedWith],"CodeMirror-widget"),l.handleMouseEvents||v.widgetNode.setAttribute("cm-ignore-events","true"),l.insertLeft&&(v.widgetNode.insertLeft=!0)),v.collapsed){if(qs(r,n.line,n,u,v)||n.line!=u.line&&qs(r,u.line,n,u,v))throw new Error("Inserting collapsed marker partially overlapping an existing one");Ae()}v.addToHistory&&Qi(r,{from:n,to:u,origin:"markText"},r.sel,NaN);var S=n.line,C=r.cm,E;if(r.iter(S,u.line+1,function(D){C&&v.collapsed&&!C.options.lineWrapping&&dn(D)==C.display.maxLine&&(E=!0),v.collapsed&&S!=n.line&&oi(D,0),ve(D,new To(v,S==n.line?n.ch:null,S==u.line?u.ch:null),r.cm&&r.cm.curOp),++S}),v.collapsed&&r.iter(n.line,u.line+1,function(D){wt(r,D)&&oi(D,0)}),v.clearOnEnter&&Ne(v,"beforeCursorEnter",function(){return v.clear()}),v.readOnly&&(M(),(r.history.done.length||r.history.undone.length)&&r.clearHistory()),v.collapsed&&(v.id=++Jf,v.atomic=!0),C){if(E&&(C.curOp.updateMaxLine=!0),v.collapsed)Be(C,n.line,u.line+1);else if(v.className||v.startStyle||v.endStyle||v.css||v.attributes||v.title)for(var P=n.line;P<=u.line;P++)as(C,P,"text");v.atomic&&ka(C.doc),qt(C,"markerAdded",C,v)}return v}o(Ss,"markText");var pu=o(function(r,n){this.markers=r,this.primary=n;for(var u=0;u=0;C--)su(this,l[C]);S?Kf(this,S):this.cm&&ps(this.cm)}),undo:O(function(){Zf(this,"undo")}),redo:O(function(){Zf(this,"redo")}),undoSelection:O(function(){Zf(this,"undo",!0)}),redoSelection:O(function(){Zf(this,"redo",!0)}),setExtending:function(r){this.extend=r},getExtending:function(){return this.extend},historySize:function(){for(var r=this.history,n=0,u=0,l=0;l=r.ch)&&n.push(c.marker.parent||c.marker)}return n},findMarks:function(r,n,u){r=De(this,r),n=De(this,n);var l=[],c=r.line;return this.iter(r.line,n.line+1,function(v){var g=v.markedSpans;if(g)for(var S=0;S=C.to||C.from==null&&c!=r.line||C.from!=null&&c==n.line&&C.from>=n.ch)&&(!u||u(C.marker))&&l.push(C.marker.parent||C.marker)}++c}),l},getAllMarks:function(){var r=[];return this.iter(function(n){var u=n.markedSpans;if(u)for(var l=0;lr)return n=r,!0;r-=v,++u}),De(this,le(u,n))},indexFromPos:function(r){r=De(this,r);var n=r.ch;if(r.linen&&(n=r.from),r.to!=null&&r.to-1){n.state.draggingText(r),setTimeout(function(){return n.display.input.focus()},20);return}try{var P=r.dataTransfer.getData("Text");if(P){var D;if(n.state.draggingText&&!n.state.draggingText.copy&&(D=n.listSelections()),Yn(n.doc,ms(u,u)),D)for(var q=0;q=0;S--)au(r.doc,"",l[S].from,l[S].to,"+delete");ps(r)})}o(Xn,"deleteNearSelection");function Aa(r,n,u){var l=Yo(r.text,n+u,u);return l<0||l>r.text.length?null:l}o(Aa,"moveCharLogically");function nc(r,n,u){var l=Aa(r,n.ch,u);return l==null?null:new le(n.line,l,u<0?"after":"before")}o(nc,"moveLogically");function du(r,n,u,l,c){if(r){n.doc.direction=="rtl"&&(c=-c);var v=$n(u,n.doc.direction);if(v){var g=c<0?je(v):v[0],S=c<0==(g.level==1),C=S?"after":"before",E;if(g.level>0||n.doc.direction=="rtl"){var P=Oi(n,u);E=c<0?u.text.length-1:0;var D=qi(n,P,E).top;E=_i(function(q){return qi(n,P,q).top==D},c<0==(g.level==1)?g.from:g.to-1,E),C=="before"&&(E=Aa(u,E,1))}else E=c<0?g.to:g.from;return new le(l,E,C)}}return new le(l,c<0?u.text.length:0,c<0?"before":"after")}o(du,"endOfLine");function kv(r,n,u,l){var c=$n(n,r.doc.direction);if(!c)return nc(n,u,l);u.ch>=n.text.length?(u.ch=n.text.length,u.sticky="before"):u.ch<=0&&(u.ch=0,u.sticky="after");var v=wo(c,u.ch,u.sticky),g=c[v];if(r.doc.direction=="ltr"&&g.level%2==0&&(l>0?g.to>u.ch:g.from=g.from&&q>=P.begin)){var B=D?"before":"after";return new le(u.line,q,B)}}var Z=o(function(pe,ge,de){for(var we=o(function(ht,ir){return ir?new le(u.line,S(ht,1),"before"):new le(u.line,ht,"after")},"getRes");pe>=0&&pe0==(Le.level!=1),qe=Oe?de.begin:S(de.end,-1);if(Le.from<=qe&&qe0?P.end:S(P.begin,-1);return ae!=null&&!(l>0&&ae==n.text.length)&&(ne=Z(l>0?0:c.length-1,l,E(ae)),ne)?ne:null}o(kv,"moveVisually");var ol={selectAll:gv,singleSelection:function(r){return r.setSelection(r.getCursor("anchor"),r.getCursor("head"),Mt)},killLine:function(r){return Xn(r,function(n){if(n.empty()){var u=_e(r.doc,n.head.line).text.length;return n.head.ch==u&&n.head.line0)c=new le(c.line,c.ch+1),r.replaceRange(v.charAt(c.ch-1)+v.charAt(c.ch-2),le(c.line,c.ch-2),c,"+transpose");else if(c.line>r.doc.first){var g=_e(r.doc,c.line-1).text;g&&(c=new le(c.line,1),r.replaceRange(v.charAt(0)+r.doc.lineSeparator()+g.charAt(g.length-1),le(c.line-1,g.length-1),c,"+transpose"))}}u.push(new ut(c,c))}r.setSelections(u)})},newlineAndIndent:function(r){return Dr(r,function(){for(var n=r.listSelections(),u=n.length-1;u>=0;u--)r.replaceRange(r.doc.lineSeparator(),n[u].anchor,n[u].head,"+input");n=r.listSelections();for(var l=0;lr&&Ie(n,this.pos)==0&&u==this.button};var Or,Mn;function l0(r,n){var u=+new Date;return Mn&&Mn.compare(u,r,n)?(Or=Mn=null,"triple"):Or&&Or.compare(u,r,n)?(Mn=new sc(u,r,n),Or=null,"double"):(Or=new sc(u,r,n),Mn=null,"single")}o(l0,"clickRepeat");function Av(r){var n=this,u=n.display;if(!(Zt(n,r)||u.activeTouch&&u.input.supportsTouch())){if(u.input.ensurePolled(),u.shift=r.shiftKey,er(u,r)){b||(u.scroller.draggable=!1,setTimeout(function(){return u.scroller.draggable=!0},100));return}if(!hd(n,r)){var l=Vi(n,r),c=na(r),v=l?l0(l,c):"single";window.focus(),c==1&&n.state.selectingText&&n.state.selectingText(r),!(l&&lc(n,c,l,v,r))&&(c==1?l?Dv(n,l,v,r):Al(r)==u.scroller&&Cr(r):c==2?(l&&Gf(n.doc,l),setTimeout(function(){return u.input.focus()},20)):c==3&&(ce?n.display.input.onContextMenu(r):Hf(n)))}}}o(Av,"onMouseDown");function lc(r,n,u,l,c){var v="Click";return l=="double"?v="Double"+v:l=="triple"&&(v="Triple"+v),v=(n==1?"Left":n==2?"Middle":"Right")+v,hu(r,ld(v,c),c,function(g){if(typeof g=="string"&&(g=ol[g]),!g)return!1;var S=!1;try{r.isReadOnly()&&(r.state.suppressEdits=!0),S=g(r,u)!=Pt}finally{r.state.suppressEdits=!1}return S})}o(lc,"handleMappedButton");function vu(r,n,u){var l=r.getOption("configureMouse"),c=l?l(r,n,u):{};if(c.unit==null){var v=K?u.shiftKey&&u.metaKey:u.altKey;c.unit=v?"rectangle":n=="single"?"char":n=="double"?"word":"line"}return(c.extend==null||r.doc.extend)&&(c.extend=r.doc.extend||u.shiftKey),c.addNew==null&&(c.addNew=W?u.metaKey:u.ctrlKey),c.moveOnDrag==null&&(c.moveOnDrag=!(W?u.altKey:u.ctrlKey)),c}o(vu,"configureMouse");function Dv(r,n,u,l){d?setTimeout(jn(jp,r),0):r.curOp.focus=rt();var c=vu(r,u,l),v=r.doc.sel,g;r.options.dragDrop&&bp&&!r.isReadOnly()&&u=="single"&&(g=v.contains(n))>-1&&(Ie((g=v.ranges[g]).from(),n)<0||n.xRel>0)&&(Ie(g.to(),n)>0||n.xRel<0)?Iv(r,l,n,c):Rv(r,l,n,c)}o(Dv,"leftButtonDown");function Iv(r,n,u,l){var c=r.display,v=!1,g=Ht(r,function(E){b&&(c.scroller.draggable=!1),r.state.draggingText=!1,r.state.delayingBlurEvent&&(r.hasFocus()?r.state.delayingBlurEvent=!1:Hf(r)),Pr(c.wrapper.ownerDocument,"mouseup",g),Pr(c.wrapper.ownerDocument,"mousemove",S),Pr(c.scroller,"dragstart",C),Pr(c.scroller,"drop",g),v||(Cr(E),l.addNew||Gf(r.doc,u,null,null,l.extend),b&&!z||d&&w==9?setTimeout(function(){c.wrapper.ownerDocument.body.focus({preventScroll:!0}),c.input.focus()},20):c.input.focus())}),S=o(function(E){v=v||Math.abs(n.clientX-E.clientX)+Math.abs(n.clientY-E.clientY)>=10},"mouseMove"),C=o(function(){return v=!0},"dragStart");b&&(c.scroller.draggable=!0),r.state.draggingText=g,g.copy=!l.moveOnDrag,Ne(c.wrapper.ownerDocument,"mouseup",g),Ne(c.wrapper.ownerDocument,"mousemove",S),Ne(c.scroller,"dragstart",C),Ne(c.scroller,"drop",g),r.state.delayingBlurEvent=!0,setTimeout(function(){return c.input.focus()},20),c.scroller.dragDrop&&c.scroller.dragDrop()}o(Iv,"leftButtonStartDrag");function Fv(r,n,u){if(u=="char")return new ut(n,n);if(u=="word")return r.findWordAt(n);if(u=="line")return new ut(le(n.line,0),De(r.doc,le(n.line+1,0)));var l=u(r,n);return new ut(l.from,l.to)}o(Fv,"rangeForUnit");function Rv(r,n,u,l){d&&Hf(r);var c=r.display,v=r.doc;Cr(n);var g,S,C=v.sel,E=C.ranges;if(l.addNew&&!l.extend?(S=v.sel.contains(u),S>-1?g=E[S]:g=new ut(u,u)):(g=v.sel.primary(),S=v.sel.primIndex),l.unit=="rectangle")l.addNew||(g=new ut(u,u)),u=Vi(r,n,!0,!0),S=-1;else{var P=Fv(r,u,l.unit);l.extend?g=Vf(g,P.anchor,P.head,l.extend):g=P}l.addNew?S==-1?(S=E.length,br(v,Fr(r,E.concat([g]),S),{scroll:!1,origin:"*mouse"})):E.length>1&&E[S].empty()&&l.unit=="char"&&!l.extend?(br(v,Fr(r,E.slice(0,S).concat(E.slice(S+1)),0),{scroll:!1,origin:"*mouse"}),C=v.sel):td(v,S,g,qr):(S=0,br(v,new Gn([g],0),qr),C=v.sel);var D=u;function q(de){if(Ie(D,de)!=0)if(D=de,l.unit=="rectangle"){for(var we=[],Le=r.options.tabSize,Oe=Nt(_e(v,u.line).text,u.ch,Le),qe=Nt(_e(v,de.line).text,de.ch,Le),ht=Math.min(Oe,qe),ir=Math.max(Oe,qe),St=Math.min(u.line,de.line),Xr=Math.min(r.lastLine(),Math.max(u.line,de.line));St<=Xr;St++){var Qr=_e(v,St).text,Vt=_n(Qr,ht,Le);ht==ir?we.push(new ut(le(St,Vt),le(St,Vt))):Qr.length>Vt&&we.push(new ut(le(St,Vt),le(St,_n(Qr,ir,Le))))}we.length||we.push(new ut(u,u)),br(v,Fr(r,C.ranges.slice(0,S).concat(we),S),{origin:"*mouse",scroll:!1}),r.scrollIntoView(de)}else{var kr=g,hr=Fv(r,de,l.unit),yt=kr.anchor,Tt;Ie(hr.anchor,yt)>0?(Tt=hr.head,yt=Qo(kr.from(),hr.anchor)):(Tt=hr.anchor,yt=Eo(kr.to(),hr.head));var Ut=C.ranges.slice(0);Ut[S]=mu(r,new ut(De(v,yt),Tt)),br(v,Fr(r,Ut,S),qr)}}o(q,"extendTo");var B=c.wrapper.getBoundingClientRect(),Z=0;function ne(de){var we=++Z,Le=Vi(r,de,!0,l.unit=="rectangle");if(!!Le)if(Ie(Le,D)!=0){r.curOp.focus=rt(),q(Le);var Oe=Zs(c,v);(Le.line>=Oe.to||Le.lineB.bottom?20:0;qe&&setTimeout(Ht(r,function(){Z==we&&(c.scroller.scrollTop+=qe,ne(de))}),50)}}o(ne,"extend");function ae(de){r.state.selectingText=!1,Z=Infinity,de&&(Cr(de),c.input.focus()),Pr(c.wrapper.ownerDocument,"mousemove",pe),Pr(c.wrapper.ownerDocument,"mouseup",ge),v.history.lastSelOrigin=null}o(ae,"done");var pe=Ht(r,function(de){de.buttons===0||!na(de)?ae(de):ne(de)}),ge=Ht(r,ae);r.state.selectingText=ge,Ne(c.wrapper.ownerDocument,"mousemove",pe),Ne(c.wrapper.ownerDocument,"mouseup",ge)}o(Rv,"leftButtonSelect");function mu(r,n){var u=n.anchor,l=n.head,c=_e(r.doc,u.line);if(Ie(u,l)==0&&u.sticky==l.sticky)return n;var v=$n(c);if(!v)return n;var g=wo(v,u.ch,u.sticky),S=v[g];if(S.from!=u.ch&&S.to!=u.ch)return n;var C=g+(S.from==u.ch==(S.level!=1)?0:1);if(C==0||C==v.length)return n;var E;if(l.line!=u.line)E=(l.line-u.line)*(r.doc.direction=="ltr"?1:-1)>0;else{var P=wo(v,l.ch,l.sticky),D=P-g||(l.ch-u.ch)*(S.level==1?-1:1);P==C-1||P==C?E=D<0:E=D>0}var q=v[C+(E?-1:0)],B=E==(q.level==1),Z=B?q.from:q.to,ne=B?"after":"before";return u.ch==Z&&u.sticky==ne?n:new ut(new le(u.line,Z,ne),l)}o(mu,"bidiSimplify");function gu(r,n,u,l){var c,v;if(n.touches)c=n.touches[0].clientX,v=n.touches[0].clientY;else try{c=n.clientX,v=n.clientY}catch(q){return!1}if(c>=Math.floor(r.display.gutters.getBoundingClientRect().right))return!1;l&&Cr(n);var g=r.display,S=g.lineDiv.getBoundingClientRect();if(v>S.bottom||!pn(r,u))return ra(n);v-=S.top-g.viewOffset;for(var C=0;C=c){var P=Ei(r.doc,v),D=r.display.gutterSpecs[C];return Lt(r,u,r,P,D.className,n),ra(n)}}}o(gu,"gutterEvent");function hd(r,n){return gu(r,n,"gutterClick",!0)}o(hd,"clickInGutter");function vd(r,n){er(r.display,n)||Wv(r,n)||Zt(r,n,"contextmenu")||ce||r.display.input.onContextMenu(n)}o(vd,"onContextMenu");function Wv(r,n){return pn(r,"gutterContextMenu")?gu(r,n,"gutterContextMenu",!1):!1}o(Wv,"contextMenuInGutter");function Da(r){r.display.wrapper.className=r.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+r.options.theme.replace(/(^|\s)\s*/g," cm-s-"),ga(r)}o(Da,"themeChanged");var sl={toString:function(){return"CodeMirror.Init"}},Ia={},yu={};function uc(r){var n=r.optionHandlers;function u(l,c,v,g){r.defaults[l]=c,v&&(n[l]=g?function(S,C,E){E!=sl&&v(S,C,E)}:v)}o(u,"option"),r.defineOption=u,r.Init=sl,u("value","",function(l,c){return l.setValue(c)},!0),u("mode",null,function(l,c){l.doc.modeOption=c,Xp(l)},!0),u("indentUnit",2,Xp,!0),u("indentWithTabs",!1),u("smartIndent",!0),u("tabSize",4,function(l){ba(l),ga(l),Be(l)},!0),u("lineSeparator",null,function(l,c){if(l.doc.lineSep=c,!!c){var v=[],g=l.doc.first;l.doc.iter(function(C){for(var E=0;;){var P=C.text.indexOf(c,E);if(P==-1)break;E=P+c.length,v.push(le(g,P))}g++});for(var S=v.length-1;S>=0;S--)au(l.doc,c,v[S],le(v[S].line,v[S].ch+c.length))}}),u("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g,function(l,c,v){l.state.specialChars=new RegExp(c.source+(c.test(" ")?"":"| "),"g"),v!=sl&&l.refresh()}),u("specialCharPlaceholder",hn,function(l){return l.refresh()},!0),u("electricChars",!0),u("inputStyle",A?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),u("spellcheck",!1,function(l,c){return l.getInputField().spellcheck=c},!0),u("autocorrect",!1,function(l,c){return l.getInputField().autocorrect=c},!0),u("autocapitalize",!1,function(l,c){return l.getInputField().autocapitalize=c},!0),u("rtlMoveVisually",!V),u("wholeLineUpdateBefore",!0),u("theme","default",function(l){Da(l),Ea(l)},!0),u("keyMap","default",function(l,c,v){var g=Kr(c),S=v!=sl&&Kr(v);S&&S.detach&&S.detach(l,g),g.attach&&g.attach(l,S||null)}),u("extraKeys",null),u("configureMouse",null),u("lineWrapping",!1,Hv,!0),u("gutters",[],function(l,c){l.display.gutterSpecs=Kp(c,l.options.lineNumbers),Ea(l)},!0),u("fixedGutter",!0,function(l,c){l.display.gutters.style.left=c?Zl(l.display)+"px":"0",l.refresh()},!0),u("coverGutterNextToScrollbar",!1,function(l){return hs(l)},!0),u("scrollbarStyle","native",function(l){el(l),hs(l),l.display.scrollbars.setScrollTop(l.doc.scrollTop),l.display.scrollbars.setScrollLeft(l.doc.scrollLeft)},!0),u("lineNumbers",!1,function(l,c){l.display.gutterSpecs=Kp(l.options.gutters,c),Ea(l)},!0),u("firstLineNumber",1,Ea,!0),u("lineNumberFormatter",function(l){return l},Ea,!0),u("showCursorWhenSelecting",!1,ya,!0),u("resetSelectionOnContextMenu",!0),u("lineWiseCopyCut",!0),u("pasteLinesPerSelection",!0),u("selectionsMayTouch",!1),u("readOnly",!1,function(l,c){c=="nocursor"&&(Qs(l),l.display.input.blur()),l.display.input.readOnlyChanged(c)}),u("screenReaderLabel",null,function(l,c){c=c===""?null:c,l.display.input.screenReaderLabelChanged(c)}),u("disableInput",!1,function(l,c){c||l.display.input.reset()},!0),u("dragDrop",!0,u0),u("allowDropFileTypes",null),u("cursorBlinkRate",530),u("cursorScrollMargin",0),u("cursorHeight",1,ya,!0),u("singleCursorHeightPerLine",!0,ya,!0),u("workTime",100),u("workDelay",100),u("flattenSpans",!0,ba,!0),u("addModeClass",!1,ba,!0),u("pollInterval",100),u("undoDepth",200,function(l,c){return l.doc.history.undoDepth=c}),u("historyEventDelay",1250),u("viewportMargin",10,function(l){return l.refresh()},!0),u("maxHighlightLength",1e4,ba,!0),u("moveInputWithCursor",!0,function(l,c){c||l.display.input.resetPosition()}),u("tabindex",null,function(l,c){return l.display.input.getField().tabIndex=c||""}),u("autofocus",null),u("direction","ltr",function(l,c){return l.doc.setDirection(c)},!0),u("phrases",null)}o(uc,"defineOptions");function u0(r,n,u){var l=u&&u!=sl;if(!n!=!l){var c=r.display.dragFunctions,v=n?Ne:Pr;v(r.display.scroller,"dragstart",c.start),v(r.display.scroller,"dragenter",c.enter),v(r.display.scroller,"dragover",c.over),v(r.display.scroller,"dragleave",c.leave),v(r.display.scroller,"drop",c.drop)}}o(u0,"dragDropChanged");function Hv(r){r.options.lineWrapping?(nt(r.display.wrapper,"CodeMirror-wrap"),r.display.sizer.style.minWidth="",r.display.sizerWidth=null):(ye(r.display.wrapper,"CodeMirror-wrap"),$s(r)),us(r),Be(r),ga(r),setTimeout(function(){return hs(r)},100)}o(Hv,"wrappingChanged");function xt(r,n){var u=this;if(!(this instanceof xt))return new xt(r,n);this.options=n=n?fr(n):{},fr(Ia,n,!1);var l=n.value;typeof l=="string"?l=new Gr(l,n.mode,null,n.lineSeparator,n.direction):n.mode&&(l.modeOption=n.mode),this.doc=l;var c=new xt.inputStyles[n.inputStyle](this),v=this.display=new Xy(r,l,c,n);v.wrapper.CodeMirror=this,Da(this),n.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),el(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new mt,keySeq:null,specialChars:null},n.autofocus&&!A&&v.input.focus(),d&&w<11&&setTimeout(function(){return u.display.input.reset(!0)},20),Uv(this),sd(),Ni(this),this.curOp.forceUpdate=!0,dv(this,l),n.autofocus&&!A||this.hasFocus()?setTimeout(function(){u.hasFocus()&&!u.state.focused&&eu(u)},20):Qs(this);for(var g in yu)yu.hasOwnProperty(g)&&yu[g](this,n[g],sl);Xi(this),n.finishInit&&n.finishInit(this);for(var S=0;S20*20}o(g,"farAway"),Ne(n.scroller,"touchstart",function(C){if(!Zt(r,C)&&!v(C)&&!hd(r,C)){n.input.ensurePolled(),clearTimeout(u);var E=+new Date;n.activeTouch={start:E,moved:!1,prev:E-l.end<=300?l:null},C.touches.length==1&&(n.activeTouch.left=C.touches[0].pageX,n.activeTouch.top=C.touches[0].pageY)}}),Ne(n.scroller,"touchmove",function(){n.activeTouch&&(n.activeTouch.moved=!0)}),Ne(n.scroller,"touchend",function(C){var E=n.activeTouch;if(E&&!er(n,C)&&E.left!=null&&!E.moved&&new Date-E.start<300){var P=r.coordsChar(n.activeTouch,"page"),D;!E.prev||g(E,E.prev)?D=new ut(P,P):!E.prev.prev||g(E,E.prev.prev)?D=r.findWordAt(P):D=new ut(le(P.line,0),De(r.doc,le(P.line+1,0))),r.setSelection(D.anchor,D.head),r.focus(),Cr(C)}c()}),Ne(n.scroller,"touchcancel",c),Ne(n.scroller,"scroll",function(){n.scroller.clientHeight&&(Wt(r,n.scroller.scrollTop),Js(r,n.scroller.scrollLeft,!0),Lt(r,"scroll",r))}),Ne(n.scroller,"mousewheel",function(C){return cv(r,C)}),Ne(n.scroller,"DOMMouseScroll",function(C){return cv(r,C)}),Ne(n.wrapper,"scroll",function(){return n.wrapper.scrollTop=n.wrapper.scrollLeft=0}),n.dragFunctions={enter:function(C){Zt(r,C)||Rs(C)},over:function(C){Zt(r,C)||(id(r,C),Rs(C))},start:function(C){return r0(r,C)},drop:Ht(r,Tv),leave:function(C){Zt(r,C)||od(r)}};var S=n.input.getField();Ne(S,"keyup",function(C){return dd.call(r,C)}),Ne(S,"keydown",Ht(r,Nv)),Ne(S,"keypress",Ht(r,Pv)),Ne(S,"focus",function(C){return eu(r,C)}),Ne(S,"blur",function(C){return Qs(r,C)})}o(Uv,"registerEventHandlers");var Fa=[];xt.defineInitHook=function(r){return Fa.push(r)};function Ra(r,n,u,l){var c=r.doc,v;u==null&&(u="add"),u=="smart"&&(c.mode.indent?v=Zo(r,n).state:u="prev");var g=r.options.tabSize,S=_e(c,n),C=Nt(S.text,null,g);S.stateAfter&&(S.stateAfter=null);var E=S.text.match(/^\s*/)[0],P;if(!l&&!/\S/.test(S.text))P=0,u="not";else if(u=="smart"&&(P=c.mode.indent(v,S.text.slice(E.length),S.text),P==Pt||P>150)){if(!l)return;u="prev"}u=="prev"?n>c.first?P=Nt(_e(c,n-1).text,null,g):P=0:u=="add"?P=C+r.options.indentUnit:u=="subtract"?P=C-r.options.indentUnit:typeof u=="number"&&(P=C+u),P=Math.max(0,P);var D="",q=0;if(r.options.indentWithTabs)for(var B=Math.floor(P/g);B;--B)q+=g,D+=" ";if(qg,C=Hs(n),E=null;if(S&&l.ranges.length>1)if(ci&&ci.text.join(` +`)==n){if(l.ranges.length%ci.text.length==0){E=[];for(var P=0;P=0;q--){var B=l.ranges[q],Z=B.from(),ne=B.to();B.empty()&&(u&&u>0?Z=le(Z.line,Z.ch-u):r.state.overwrite&&!S?ne=le(ne.line,Math.min(_e(v,ne.line).text.length,ne.ch+je(C).length)):S&&ci&&ci.lineWise&&ci.text.join(` +`)==C.join(` +`)&&(Z=ne=le(Z.line,0)));var ae={from:Z,to:ne,text:E?E[q%E.length]:C,origin:c||(S?"paste":r.state.cutIncoming>g?"cut":"+input")};su(r.doc,ae),qt(r,"inputRead",r,ae)}n&&!S&&Bv(r,n),ps(r),r.curOp.updateInput<2&&(r.curOp.updateInput=D),r.curOp.typing=!0,r.state.pasteIncoming=r.state.cutIncoming=-1}o(ac,"applyTextInput");function md(r,n){var u=r.clipboardData&&r.clipboardData.getData("Text");if(u)return r.preventDefault(),!n.isReadOnly()&&!n.options.disableInput&&Dr(n,function(){return ac(n,u,0,null,"paste")}),!0}o(md,"handlePaste");function Bv(r,n){if(!(!r.options.electricChars||!r.options.smartIndent))for(var u=r.doc.sel,l=u.ranges.length-1;l>=0;l--){var c=u.ranges[l];if(!(c.head.ch>100||l&&u.ranges[l-1].head.line==c.head.line)){var v=r.getModeAt(c.head),g=!1;if(v.electricChars){for(var S=0;S-1){g=Ra(r,c.head.line,"smart");break}}else v.electricInput&&v.electricInput.test(_e(r.doc,c.head.line).text.slice(0,c.head.ch))&&(g=Ra(r,c.head.line,"smart"));g&&qt(r,"electricInput",r,c.head.line)}}}o(Bv,"triggerElectric");function gd(r){for(var n=[],u=[],l=0;lv&&(Ra(this,S.head.line,l,!0),v=S.head.line,g==this.doc.sel.primIndex&&ps(this));else{var C=S.from(),E=S.to(),P=Math.max(v,C.line);v=Math.min(this.lastLine(),E.line-(E.ch?0:1))+1;for(var D=P;D0&&td(this.doc,g,new ut(C,q[g].to()),Mt)}}}),getTokenAt:function(l,c){return zl(this,l,c)},getLineTokens:function(l,c){return zl(this,le(l),c,!0)},getTokenTypeAt:function(l){l=De(this.doc,l);var c=ua(this,_e(this.doc,l.line)),v=0,g=(c.length-1)/2,S=l.ch,C;if(S==0)C=c[2];else for(;;){var E=v+g>>1;if((E?c[E*2-1]:0)>=S)g=E;else if(c[E*2+1]C&&(l=C,g=!0),S=_e(this.doc,l)}else S=l;return Wf(this,S,{top:0,left:0},c||"page",v||g).top+(g?this.doc.height-Er(S):0)},defaultTextHeight:function(){return ls(this.display)},defaultCharWidth:function(){return Ql(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(l,c,v,g,S){var C=this.display;l=ki(this,De(this.doc,l));var E=l.bottom,P=l.left;if(c.style.position="absolute",c.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(c),C.sizer.appendChild(c),g=="over")E=l.top;else if(g=="above"||g=="near"){var D=Math.max(C.wrapper.clientHeight,this.doc.height),q=Math.max(C.sizer.clientWidth,C.lineSpace.clientWidth);(g=="above"||l.bottom+c.offsetHeight>D)&&l.top>c.offsetHeight?E=l.top-c.offsetHeight:l.bottom+c.offsetHeight<=D&&(E=l.bottom),P+c.offsetWidth>q&&(P=q-c.offsetWidth)}c.style.top=E+"px",c.style.left=c.style.right="",S=="right"?(P=C.sizer.clientWidth-c.offsetWidth,c.style.right="0px"):(S=="left"?P=0:S=="middle"&&(P=(C.sizer.clientWidth-c.offsetWidth)/2),c.style.left=P+"px"),v&&By(this,{left:P,top:E,right:P+c.offsetWidth,bottom:E+c.offsetHeight})},triggerOnKeyDown:Ir(Nv),triggerOnKeyPress:Ir(Pv),triggerOnKeyUp:dd,triggerOnMouseDown:Ir(Av),execCommand:function(l){if(ol.hasOwnProperty(l))return ol[l].call(null,this)},triggerElectric:Ir(function(l){Bv(this,l)}),findPosH:function(l,c,v,g){var S=1;c<0&&(S=-1,c=-c);for(var C=De(this.doc,l),E=0;E0&&P(v.charAt(g-1));)--g;for(;S.5||this.options.lineWrapping)&&us(this),Lt(this,"refresh",this)}),swapDoc:Ir(function(l){var c=this.doc;return c.cm=null,this.state.selectingText&&this.state.selectingText(),dv(this,l),ga(this),this.display.input.reset(),xa(this,l.scrollLeft,l.scrollTop),this.curOp.forceScroll=!0,qt(this,"swapDoc",this,c),c}),phrase:function(l){var c=this.options.phrases;return c&&Object.prototype.hasOwnProperty.call(c,l)?c[l]:l},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},xo(r),r.registerHelper=function(l,c,v){u.hasOwnProperty(l)||(u[l]=r[l]={_global:[]}),u[l][c]=v},r.registerGlobalHelper=function(l,c,v,g){r.registerHelper(l,c,g),u[l]._global.push({pred:v,val:g})}}o(Ao,"addEditorMethods");function Wa(r,n,u,l,c){var v=n,g=u,S=_e(r,n.line),C=c&&r.direction=="rtl"?-u:u;function E(){var ge=n.line+C;return ge=r.first+r.size?!1:(n=new le(ge,n.ch,n.sticky),S=_e(r,ge))}o(E,"findNextLine");function P(ge){var de;if(l=="codepoint"){var we=S.text.charCodeAt(n.ch+(u>0?0:-1));if(isNaN(we))de=null;else{var Le=u>0?we>=55296&&we<56320:we>=56320&&we<57343;de=new le(n.line,Math.max(0,Math.min(S.text.length,n.ch+u*(Le?2:1))),-u)}}else c?de=kv(r.cm,S,n,u):de=nc(S,n,u);if(de==null)if(!ge&&E())n=du(c,r.cm,S,n.line,C);else return!1;else n=de;return!0}if(o(P,"moveOnce"),l=="char"||l=="codepoint")P();else if(l=="column")P(!0);else if(l=="word"||l=="group")for(var D=null,q=l=="group",B=r.cm&&r.cm.getHelper(n,"wordChars"),Z=!0;!(u<0&&!P(!Z));Z=!1){var ne=S.text.charAt(n.ch)||` +`,ae=cn(ne,B)?"w":q&&ne==` +`?"n":!q||/\s/.test(ne)?null:"p";if(q&&!Z&&!ae&&(ae="s"),D&&D!=ae){u<0&&(u=1,P(),n.sticky="after");break}if(ae&&(D=ae),u>0&&!P(!Z))break}var pe=Tr(r,n,v,g,!0);return Rl(v,pe)&&(pe.hitSide=!0),pe}o(Wa,"findPosH");function fc(r,n,u,l){var c=r.doc,v=n.left,g;if(l=="page"){var S=Math.min(r.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),C=Math.max(S-.5*ls(r.display),3);g=(u>0?n.bottom:n.top)+u*C}else l=="line"&&(g=u>0?n.bottom+3:n.top-3);for(var E;E=$(r,v,g),!!E.outside;){if(u<0?g<=0:g>=c.height){E.hitSide=!0;break}g+=u*5}return E}o(fc,"findPosV");var at=o(function(r){this.cm=r,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new mt,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null},"ContentEditableInput");at.prototype.init=function(r){var n=this,u=this,l=u.cm,c=u.div=r.lineDiv;c.contentEditable=!0,zv(c,l.options.spellcheck,l.options.autocorrect,l.options.autocapitalize);function v(S){for(var C=S.target;C;C=C.parentNode){if(C==c)return!0;if(/\bCodeMirror-(?:line)?widget\b/.test(C.className))break}return!1}o(v,"belongsToInput"),Ne(c,"paste",function(S){!v(S)||Zt(l,S)||md(S,l)||w<=11&&setTimeout(Ht(l,function(){return n.updateFromDOM()}),20)}),Ne(c,"compositionstart",function(S){n.composing={data:S.data,done:!1}}),Ne(c,"compositionupdate",function(S){n.composing||(n.composing={data:S.data,done:!1})}),Ne(c,"compositionend",function(S){n.composing&&(S.data!=n.composing.data&&n.readFromDOMSoon(),n.composing.done=!0)}),Ne(c,"touchstart",function(){return u.forceCompositionEnd()}),Ne(c,"input",function(){n.composing||n.readFromDOMSoon()});function g(S){if(!(!v(S)||Zt(l,S))){if(l.somethingSelected())pi({lineWise:!1,text:l.getSelections()}),S.type=="cut"&&l.replaceSelection("",null,"cut");else if(l.options.lineWiseCopyCut){var C=gd(l);pi({lineWise:!0,text:C.text}),S.type=="cut"&&l.operation(function(){l.setSelections(C.ranges,0,Mt),l.replaceSelection("",null,"cut")})}else return;if(S.clipboardData){S.clipboardData.clearData();var E=ci.text.join(` +`);if(S.clipboardData.setData("Text",E),S.clipboardData.getData("Text")==E){S.preventDefault();return}}var P=jv(),D=P.firstChild;l.display.lineSpace.insertBefore(P,l.display.lineSpace.firstChild),D.value=ci.text.join(` +`);var q=rt();lt(D),setTimeout(function(){l.display.lineSpace.removeChild(P),q.focus(),q==c&&u.showPrimarySelection()},50)}}o(g,"onCopyCut"),Ne(c,"copy",g),Ne(c,"cut",g)},at.prototype.screenReaderLabelChanged=function(r){r?this.div.setAttribute("aria-label",r):this.div.removeAttribute("aria-label")},at.prototype.prepareSelection=function(){var r=wa(this.cm,!1);return r.focus=rt()==this.div,r},at.prototype.showSelection=function(r,n){!r||!this.cm.display.view.length||((r.focus||n)&&this.showPrimarySelection(),this.showMultipleSelections(r))},at.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},at.prototype.showPrimarySelection=function(){var r=this.getSelection(),n=this.cm,u=n.doc.sel.primary(),l=u.from(),c=u.to();if(n.display.viewTo==n.display.viewFrom||l.line>=n.display.viewTo||c.line=n.display.viewFrom&&Ha(n,l)||{node:S[0].measure.map[2],offset:0},E=c.liner.firstLine()&&(l=le(l.line-1,_e(r.doc,l.line-1).length)),c.ch==_e(r.doc,c.line).text.length&&c.linen.viewTo-1)return!1;var v,g,S;l.line==n.viewFrom||(v=Gi(r,l.line))==0?(g=it(n.view[0].line),S=n.view[0].node):(g=it(n.view[v].line),S=n.view[v-1].node.nextSibling);var C=Gi(r,c.line),E,P;if(C==n.view.length-1?(E=n.viewTo-1,P=n.lineDiv.lastChild):(E=it(n.view[C+1].line)-1,P=n.view[C+1].node.previousSibling),!S)return!1;for(var D=r.doc.splitLines(cc(r,S,P,g,E)),q=ii(r.doc,le(g,0),le(E,_e(r.doc,E).text.length));D.length>1&&q.length>1;)if(je(D)==je(q))D.pop(),q.pop(),E--;else if(D[0]==q[0])D.shift(),q.shift(),g++;else break;for(var B=0,Z=0,ne=D[0],ae=q[0],pe=Math.min(ne.length,ae.length);Bl.ch&&ge.charCodeAt(ge.length-Z-1)==de.charCodeAt(de.length-Z-1);)B--,Z++;D[D.length-1]=ge.slice(0,ge.length-Z).replace(/^\u200b+/,""),D[0]=D[0].slice(B).replace(/\u200b+$/,"");var Le=le(g,B),Oe=le(E,q.length?je(q).length-Z:0);if(D.length>1||D[0]||Ie(Le,Oe))return au(r.doc,D,Le,Oe,"+input"),!0},at.prototype.ensurePolled=function(){this.forceCompositionEnd()},at.prototype.reset=function(){this.forceCompositionEnd()},at.prototype.forceCompositionEnd=function(){!this.composing||(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},at.prototype.readFromDOMSoon=function(){var r=this;this.readDOMTimeout==null&&(this.readDOMTimeout=setTimeout(function(){if(r.readDOMTimeout=null,r.composing)if(r.composing.done)r.composing=null;else return;r.updateFromDOM()},80))},at.prototype.updateFromDOM=function(){var r=this;(this.cm.isReadOnly()||!this.pollContent())&&Dr(this.cm,function(){return Be(r.cm)})},at.prototype.setUneditable=function(r){r.contentEditable="false"},at.prototype.onKeyPress=function(r){r.charCode==0||this.composing||(r.preventDefault(),this.cm.isReadOnly()||Ht(this.cm,ac)(this.cm,String.fromCharCode(r.charCode==null?r.keyCode:r.charCode),0))},at.prototype.readOnlyChanged=function(r){this.div.contentEditable=String(r!="nocursor")},at.prototype.onContextMenu=function(){},at.prototype.resetPosition=function(){},at.prototype.needsContentAttribute=!0;function Ha(r,n){var u=Bp(r,n.line);if(!u||u.hidden)return null;var l=_e(r.doc,n.line),c=Gs(u,l,n.line),v=$n(l,r.doc.direction),g="left";if(v){var S=wo(v,n.ch);g=S%2?"right":"left"}var C=If(c.map,n.ch,g);return C.offset=C.collapse=="right"?C.end:C.start,C}o(Ha,"posToDOM");function wu(r){for(var n=r;n;n=n.parentNode)if(/CodeMirror-gutter-wrapper/.test(n.className))return!0;return!1}o(wu,"isInGutter");function Me(r,n){return n&&(r.bad=!0),r}o(Me,"badPos");function cc(r,n,u,l,c){var v="",g=!1,S=r.doc.lineSeparator(),C=!1;function E(B){return function(Z){return Z.id==B}}o(E,"recognizeMarker");function P(){g&&(v+=S,C&&(v+=S),g=C=!1)}o(P,"close");function D(B){B&&(P(),v+=B)}o(D,"addText");function q(B){if(B.nodeType==1){var Z=B.getAttribute("cm-text");if(Z){D(Z);return}var ne=B.getAttribute("cm-marker"),ae;if(ne){var pe=r.findMarks(le(l,0),le(c+1,0),E(+ne));pe.length&&(ae=pe[0].find(0))&&D(ii(r.doc,ae.from,ae.to).join(S));return}if(B.getAttribute("contenteditable")=="false")return;var ge=/^(pre|div|p|li|table|br)$/i.test(B.nodeName);if(!/^br$/i.test(B.nodeName)&&B.textContent.length==0)return;ge&&P();for(var de=0;de=9&&n.hasSelection&&(n.hasSelection=null),u.poll()}),Ne(c,"paste",function(g){Zt(l,g)||md(g,l)||(l.state.pasteIncoming=+new Date,u.fastPoll())});function v(g){if(!Zt(l,g)){if(l.somethingSelected())pi({lineWise:!1,text:l.getSelections()});else if(l.options.lineWiseCopyCut){var S=gd(l);pi({lineWise:!0,text:S.text}),g.type=="cut"?l.setSelections(S.ranges,null,Mt):(u.prevInput="",c.value=S.text.join(` +`),lt(c))}else return;g.type=="cut"&&(l.state.cutIncoming=+new Date)}}o(v,"prepareCopyCut"),Ne(c,"cut",v),Ne(c,"copy",v),Ne(r.scroller,"paste",function(g){if(!(er(r,g)||Zt(l,g))){if(!c.dispatchEvent){l.state.pasteIncoming=+new Date,u.focus();return}var S=new Event("paste");S.clipboardData=g.clipboardData,c.dispatchEvent(S)}}),Ne(r.lineSpace,"selectstart",function(g){er(r,g)||Cr(g)}),Ne(c,"compositionstart",function(){var g=l.getCursor("from");u.composing&&u.composing.range.clear(),u.composing={start:g,range:l.markText(g,l.getCursor("to"),{className:"CodeMirror-composing"})}}),Ne(c,"compositionend",function(){u.composing&&(u.poll(),u.composing.range.clear(),u.composing=null)})},$t.prototype.createField=function(r){this.wrapper=jv(),this.textarea=this.wrapper.firstChild},$t.prototype.screenReaderLabelChanged=function(r){r?this.textarea.setAttribute("aria-label",r):this.textarea.removeAttribute("aria-label")},$t.prototype.prepareSelection=function(){var r=this.cm,n=r.display,u=r.doc,l=wa(r);if(r.options.moveInputWithCursor){var c=ki(r,u.sel.primary().head,"div"),v=n.wrapper.getBoundingClientRect(),g=n.lineDiv.getBoundingClientRect();l.teTop=Math.max(0,Math.min(n.wrapper.clientHeight-10,c.top+g.top-v.top)),l.teLeft=Math.max(0,Math.min(n.wrapper.clientWidth-10,c.left+g.left-v.left))}return l},$t.prototype.showSelection=function(r){var n=this.cm,u=n.display;Ye(u.cursorDiv,r.cursors),Ye(u.selectionDiv,r.selection),r.teTop!=null&&(this.wrapper.style.top=r.teTop+"px",this.wrapper.style.left=r.teLeft+"px")},$t.prototype.reset=function(r){if(!(this.contextMenuPending||this.composing)){var n=this.cm;if(n.somethingSelected()){this.prevInput="";var u=n.getSelection();this.textarea.value=u,n.state.focused&<(this.textarea),d&&w>=9&&(this.hasSelection=u)}else r||(this.prevInput=this.textarea.value="",d&&w>=9&&(this.hasSelection=null))}},$t.prototype.getField=function(){return this.textarea},$t.prototype.supportsTouch=function(){return!1},$t.prototype.focus=function(){if(this.cm.options.readOnly!="nocursor"&&(!A||rt()!=this.textarea))try{this.textarea.focus()}catch(r){}},$t.prototype.blur=function(){this.textarea.blur()},$t.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},$t.prototype.receivedFocus=function(){this.slowPoll()},$t.prototype.slowPoll=function(){var r=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){r.poll(),r.cm.state.focused&&r.slowPoll()})},$t.prototype.fastPoll=function(){var r=!1,n=this;n.pollingFast=!0;function u(){var l=n.poll();!l&&!r?(r=!0,n.polling.set(60,u)):(n.pollingFast=!1,n.slowPoll())}o(u,"p"),n.polling.set(20,u)},$t.prototype.poll=function(){var r=this,n=this.cm,u=this.textarea,l=this.prevInput;if(this.contextMenuPending||!n.state.focused||Op(u)&&!l&&!this.composing||n.isReadOnly()||n.options.disableInput||n.state.keySeq)return!1;var c=u.value;if(c==l&&!n.somethingSelected())return!1;if(d&&w>=9&&this.hasSelection===c||W&&/[\uf700-\uf7ff]/.test(c))return n.display.input.reset(),!1;if(n.doc.sel==n.display.selForContextMenu){var v=c.charCodeAt(0);if(v==8203&&!l&&(l="\u200B"),v==8666)return this.reset(),this.cm.execCommand("undo")}for(var g=0,S=Math.min(l.length,c.length);g1e3||c.indexOf(` +`)>-1?u.value=r.prevInput="":r.prevInput=c,r.composing&&(r.composing.range.clear(),r.composing.range=n.markText(r.composing.start,n.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},$t.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},$t.prototype.onKeyPress=function(){d&&w>=9&&(this.hasSelection=null),this.fastPoll()},$t.prototype.onContextMenu=function(r){var n=this,u=n.cm,l=u.display,c=n.textarea;n.contextMenuPending&&n.contextMenuPending();var v=Vi(u,r),g=l.scroller.scrollTop;if(!v||Y)return;var S=u.options.resetSelectionOnContextMenu;S&&u.doc.sel.contains(v)==-1&&Ht(u,br)(u.doc,ms(v),Mt);var C=c.style.cssText,E=n.wrapper.style.cssText,P=n.wrapper.offsetParent.getBoundingClientRect();n.wrapper.style.cssText="position: static",c.style.cssText=`position: absolute; width: 30px; height: 30px; + top: `+(r.clientY-P.top-5)+"px; left: "+(r.clientX-P.left-5)+`px; + z-index: 1000; background: `+(d?"rgba(255, 255, 255, .05)":"transparent")+`; + outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);`;var D;b&&(D=window.scrollY),l.input.focus(),b&&window.scrollTo(null,D),l.input.reset(),u.somethingSelected()||(c.value=n.prevInput=" "),n.contextMenuPending=B,l.selForContextMenu=u.doc.sel,clearTimeout(l.detectingSelectAll);function q(){if(c.selectionStart!=null){var ne=u.somethingSelected(),ae="\u200B"+(ne?c.value:"");c.value="\u21DA",c.value=ae,n.prevInput=ne?"":"\u200B",c.selectionStart=1,c.selectionEnd=ae.length,l.selForContextMenu=u.doc.sel}}o(q,"prepareSelectAllHack");function B(){if(n.contextMenuPending==B&&(n.contextMenuPending=!1,n.wrapper.style.cssText=E,c.style.cssText=C,d&&w<9&&l.scrollbars.setScrollTop(l.scroller.scrollTop=g),c.selectionStart!=null)){(!d||d&&w<9)&&q();var ne=0,ae=o(function(){l.selForContextMenu==u.doc.sel&&c.selectionStart==0&&c.selectionEnd>0&&n.prevInput=="\u200B"?Ht(u,gv)(u):ne++<10?l.detectingSelectAll=setTimeout(ae,500):(l.selForContextMenu=null,l.input.reset())},"poll");l.detectingSelectAll=setTimeout(ae,200)}}if(o(B,"rehide"),d&&w>=9&&q(),ce){Rs(r);var Z=o(function(){Pr(window,"mouseup",Z),setTimeout(B,20)},"mouseup");Ne(window,"mouseup",Z)}else setTimeout(B,50)},$t.prototype.readOnlyChanged=function(r){r||this.reset(),this.textarea.disabled=r=="nocursor",this.textarea.readOnly=!!r},$t.prototype.setUneditable=function(){},$t.prototype.needsContentAttribute=!1;function yd(r,n){if(n=n?fr(n):{},n.value=r.value,!n.tabindex&&r.tabIndex&&(n.tabindex=r.tabIndex),!n.placeholder&&r.placeholder&&(n.placeholder=r.placeholder),n.autofocus==null){var u=rt();n.autofocus=u==r||r.getAttribute("autofocus")!=null&&u==document.body}function l(){r.value=S.getValue()}o(l,"save");var c;if(r.form&&(Ne(r.form,"submit",l),!n.leaveSubmitMethodAlone)){var v=r.form;c=v.submit;try{var g=v.submit=function(){l(),v.submit=c,v.submit(),v.submit=g}}catch(C){}}n.finishInit=function(C){C.save=l,C.getTextArea=function(){return r},C.toTextArea=function(){C.toTextArea=isNaN,l(),r.parentNode.removeChild(C.getWrapperElement()),r.style.display="",r.form&&(Pr(r.form,"submit",l),!n.leaveSubmitMethodAlone&&typeof r.form.submit=="function"&&(r.form.submit=c))}},r.style.display="none";var S=xt(function(C){return r.parentNode.insertBefore(C,r.nextSibling)},n);return S}o(yd,"fromTextArea");function qv(r){r.off=Pr,r.on=Ne,r.wheelEventPixels=Qy,r.Doc=Gr,r.splitLines=Hs,r.countColumn=Nt,r.findColumn=_n,r.isWordChar=Qt,r.Pass=Pt,r.signal=Lt,r.Line=pr,r.changeEnd=gs,r.scrollbarModel=Bf,r.Pos=le,r.cmpPos=Ie,r.modes=Il,r.mimeModes=Xo,r.resolveMode=Us,r.getMode=oa,r.modeExtensions=So,r.extendMode=Lp,r.copyState=Co,r.startState=Tf,r.innerMode=Fl,r.commands=ol,r.keyMap=Po,r.keyName=ud,r.isModifierKey=rc,r.lookupKey=Mo,r.normalizeKeyMap=i0,r.StringStream=bt,r.SharedTextMarker=pu,r.TextMarker=xs,r.LineWidget=La,r.e_preventDefault=Cr,r.e_stopPropagation=ta,r.e_stop=Rs,r.addClass=nt,r.contains=vt,r.rmClass=ye,r.keyNames=Cs}o(qv,"addLegacyProps"),uc(xt),Ao(xt);var Yr="iter insert remove copy getEditor constructor".split(" ");for(var pc in Gr.prototype)Gr.prototype.hasOwnProperty(pc)&&Ze(Yr,pc)<0&&(xt.prototype[pc]=function(r){return function(){return r.apply(this.doc,arguments)}}(Gr.prototype[pc]));return xo(Gr),xt.inputStyles={textarea:$t,contenteditable:at},xt.defineMode=function(r){!xt.defaults.mode&&r!="null"&&(xt.defaults.mode=r),Np.apply(this,arguments)},xt.defineMIME=bf,xt.defineMode("null",function(){return{token:function(r){return r.skipToEnd()}}}),xt.defineMIME("text/plain","null"),xt.defineExtension=function(r,n){xt.prototype[r]=n},xt.defineDocExtension=function(r,n){Gr.prototype[r]=n},xt.fromTextArea=yd,qv(xt),xt.version="5.62.0",xt})});var IS=re(ke()),wN=re(Ms());var xh=re(ke()),UR=re(Hb());var Ub=re(ke()),Wn=Ub.default.createContext(null);function FI(e){e()}o(FI,"defaultNoopBatch");var Bb=FI,zb=o(function(t){return Bb=t},"setBatch"),jb=o(function(){return Bb},"getBatch");var qb={notify:o(function(){},"notify")};function RI(){var e=jb(),t=null,i=null;return{clear:o(function(){t=null,i=null},"clear"),notify:o(function(){e(function(){for(var p=t;p;)p.callback(),p=p.next})},"notify"),get:o(function(){for(var p=[],m=t;m;)p.push(m),m=m.next;return p},"get"),subscribe:o(function(p){var m=!0,d=i={callback:p,next:null,prev:i};return d.prev?d.prev.next=d:t=d,o(function(){!m||t===null||(m=!1,d.next?d.next.prev=d.prev:i=d.prev,d.prev?d.prev.next=d.next:t=d.next)},"unsubscribe")},"subscribe")}}o(RI,"createListenerCollection");var Xc=function(){function e(i,a){this.store=i,this.parentSub=a,this.unsubscribe=null,this.listeners=qb,this.handleChangeWrapper=this.handleChangeWrapper.bind(this)}o(e,"Subscription");var t=e.prototype;return t.addNestedSub=o(function(a){return this.trySubscribe(),this.listeners.subscribe(a)},"addNestedSub"),t.notifyNestedSubs=o(function(){this.listeners.notify()},"notifyNestedSubs"),t.handleChangeWrapper=o(function(){this.onStateChange&&this.onStateChange()},"handleChangeWrapper"),t.isSubscribed=o(function(){return Boolean(this.unsubscribe)},"isSubscribed"),t.trySubscribe=o(function(){this.unsubscribe||(this.unsubscribe=this.parentSub?this.parentSub.addNestedSub(this.handleChangeWrapper):this.store.subscribe(this.handleChangeWrapper),this.listeners=RI())},"trySubscribe"),t.tryUnsubscribe=o(function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null,this.listeners.clear(),this.listeners=qb)},"tryUnsubscribe"),e}();var pg=re(ke()),rf=typeof window!="undefined"&&typeof window.document!="undefined"&&typeof window.document.createElement!="undefined"?pg.useLayoutEffect:pg.useEffect;function WI(e){var t=e.store,i=e.context,a=e.children,p=(0,xh.useMemo)(function(){var w=new Xc(t);return w.onStateChange=w.notifyNestedSubs,{store:t,subscription:w}},[t]),m=(0,xh.useMemo)(function(){return t.getState()},[t]);rf(function(){var w=p.subscription;return w.trySubscribe(),m!==t.getState()&&w.notifyNestedSubs(),function(){w.tryUnsubscribe(),w.onStateChange=null}},[p,m]);var d=i||Wn;return xh.default.createElement(d.Provider,{value:p},a)}o(WI,"Provider");var B1=WI;function ao(){return ao=Object.assign||function(e){for(var t=1;t=0)&&(i[p]=e[p]);return i}o($u,"_objectWithoutPropertiesLoose");var X1=re(tT()),jt=re(ke()),sT=re(oT());var rF=[],nF=[null,null];function iF(e,t){var i=e[1];return[t.payload,i+1]}o(iF,"storeStateUpdatesReducer");function lT(e,t,i){rf(function(){return e.apply(void 0,t)},i)}o(lT,"useIsomorphicLayoutEffectWithArgs");function oF(e,t,i,a,p,m,d){e.current=a,t.current=p,i.current=!1,m.current&&(m.current=null,d())}o(oF,"captureWrapperProps");function sF(e,t,i,a,p,m,d,w,b,L){if(!!e){var F=!1,Y=null,z=o(function(){if(!F){var J=t.getState(),I,A;try{I=a(J,p.current)}catch(W){A=W,Y=W}A||(Y=null),I===m.current?d.current||b():(m.current=I,w.current=I,d.current=!0,L({type:"STORE_UPDATED",payload:{error:A}}))}},"checkForUpdates");i.onStateChange=z,i.trySubscribe(),z();var X=o(function(){if(F=!0,i.tryUnsubscribe(),i.onStateChange=null,Y)throw Y},"unsubscribeWrapper");return X}}o(sF,"subscribeUpdates");var lF=o(function(){return[null,0]},"initStateUpdates");function Ag(e,t){t===void 0&&(t={});var i=t,a=i.getDisplayName,p=a===void 0?function(se){return"ConnectAdvanced("+se+")"}:a,m=i.methodName,d=m===void 0?"connectAdvanced":m,w=i.renderCountProp,b=w===void 0?void 0:w,L=i.shouldHandleStateChanges,F=L===void 0?!0:L,Y=i.storeKey,z=Y===void 0?"store":Y,X=i.withRef,ee=X===void 0?!1:X,J=i.forwardRef,I=J===void 0?!1:J,A=i.context,W=A===void 0?Wn:A,K=$u(i,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"]);if(!1)var V;var fe=W;return o(function(ce){var me=ce.displayName||ce.name||"Component",ye=p(me),ze=ao({},K,{getDisplayName:p,methodName:d,renderCountProp:b,shouldHandleStateChanges:F,storeKey:z,displayName:ye,wrappedComponentName:me,WrappedComponent:ce}),Ye=K.pure;function Se(nt){return e(nt.dispatch,ze)}o(Se,"createChildSelector");var Et=Ye?jt.useMemo:function(nt){return nt()};function Rt(nt){var Sr=(0,jt.useMemo)(function(){var $r=nt.reactReduxForwardedRef,Yo=$u(nt,["reactReduxForwardedRef"]);return[nt.context,$r,Yo]},[nt]),lt=Sr[0],jn=Sr[1],fr=Sr[2],Nt=(0,jt.useMemo)(function(){return lt&<.Consumer&&(0,sT.isContextConsumer)(jt.default.createElement(lt.Consumer,null))?lt:fe},[lt,fe]),mt=(0,jt.useContext)(Nt),Ze=Boolean(nt.store)&&Boolean(nt.store.getState)&&Boolean(nt.store.dispatch),Lr=Boolean(mt)&&Boolean(mt.store),Pt=Ze?nt.store:mt.store,Mt=(0,jt.useMemo)(function(){return Se(Pt)},[Pt]),qr=(0,jt.useMemo)(function(){if(!F)return nF;var $r=new Xc(Pt,Ze?null:mt.subscription),Yo=$r.notifyNestedSubs.bind($r);return[$r,Yo]},[Pt,Ze,mt]),cr=qr[0],_n=qr[1],En=(0,jt.useMemo)(function(){return Ze?mt:ao({},mt,{subscription:cr})},[Ze,mt,cr]),Xt=(0,jt.useReducer)(iF,rF,lF),je=Xt[0],bn=je[0],an=Xt[1];if(bn&&bn.error)throw bn.error;var qn=(0,jt.useRef)(),ni=(0,jt.useRef)(fr),fn=(0,jt.useRef)(),Qt=(0,jt.useRef)(!1),cn=Et(function(){return fn.current&&fr===ni.current?fn.current:Mt(Pt.getState(),fr)},[Pt,bn,fr]);lT(oF,[ni,qn,Qt,fr,cn,fn,_n]),lT(sF,[F,Pt,cr,Mt,ni,qn,Qt,fn,_n,an],[Pt,cr,Mt]);var Ci=(0,jt.useMemo)(function(){return jt.default.createElement(ce,ao({},cn,{ref:jn}))},[jn,ce,cn]),ea=(0,jt.useMemo)(function(){return F?jt.default.createElement(Nt.Provider,{value:En},Ci):Ci},[Nt,Ci,En]);return ea}o(Rt,"ConnectFunction");var vt=Ye?jt.default.memo(Rt):Rt;if(vt.WrappedComponent=ce,vt.displayName=Rt.displayName=ye,I){var rt=jt.default.forwardRef(o(function(Sr,lt){return jt.default.createElement(vt,ao({},Sr,{reactReduxForwardedRef:lt}))},"forwardConnectRef"));return rt.displayName=ye,rt.WrappedComponent=ce,(0,X1.default)(rt,ce)}return(0,X1.default)(vt,ce)},"wrapWithConnect")}o(Ag,"connectAdvanced");function uT(e,t){return e===t?e!==0||t!==0||1/e==1/t:e!==e&&t!==t}o(uT,"is");function Qc(e,t){if(uT(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var i=Object.keys(e),a=Object.keys(t);if(i.length!==a.length)return!1;for(var p=0;p=0;a--){var p=t[a](e);if(p)return p}return function(m,d){throw new Error("Invalid value of type "+typeof e+" for "+i+" argument when connecting component "+d.wrappedComponentName+".")}}o(J1,"match");function xF(e,t){return e===t}o(xF,"strictEqual");function SF(e){var t=e===void 0?{}:e,i=t.connectHOC,a=i===void 0?Ag:i,p=t.mapStateToPropsFactories,m=p===void 0?cT:p,d=t.mapDispatchToPropsFactories,w=d===void 0?fT:d,b=t.mergePropsFactories,L=b===void 0?pT:b,F=t.selectorFactory,Y=F===void 0?Z1:F;return o(function(X,ee,J,I){I===void 0&&(I={});var A=I,W=A.pure,K=W===void 0?!0:W,V=A.areStatesEqual,fe=V===void 0?xF:V,se=A.areOwnPropsEqual,ce=se===void 0?Qc:se,me=A.areStatePropsEqual,ye=me===void 0?Qc:me,ze=A.areMergedPropsEqual,Ye=ze===void 0?Qc:ze,Se=$u(A,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),Et=J1(X,m,"mapStateToProps"),Rt=J1(ee,w,"mapDispatchToProps"),vt=J1(J,L,"mergeProps");return a(Y,ao({methodName:"connect",getDisplayName:o(function(nt){return"Connect("+nt+")"},"getDisplayName"),shouldHandleStateChanges:Boolean(X),initMapStateToProps:Et,initMapDispatchToProps:Rt,initMergeProps:vt,pure:K,areStatesEqual:fe,areOwnPropsEqual:ce,areStatePropsEqual:ye,areMergedPropsEqual:Ye},Se))},"connect")}o(SF,"createConnect");var et=SF();var hT=re(ke());var dT=re(ke());function Ig(){var e=(0,dT.useContext)(Wn);return e}o(Ig,"useReduxContext");function Fg(e){e===void 0&&(e=Wn);var t=e===Wn?Ig:function(){return(0,hT.useContext)(e)};return o(function(){var a=t(),p=a.store;return p},"useStore")}o(Fg,"createStoreHook");var ex=Fg();function vT(e){e===void 0&&(e=Wn);var t=e===Wn?ex:Fg(e);return o(function(){var a=t();return a.dispatch},"useDispatch")}o(vT,"createDispatchHook");var xl=vT();var Wi=re(ke());var CF=o(function(t,i){return t===i},"refEquality");function _F(e,t,i,a){var p=(0,Wi.useReducer)(function(ee){return ee+1},0),m=p[1],d=(0,Wi.useMemo)(function(){return new Xc(i,a)},[i,a]),w=(0,Wi.useRef)(),b=(0,Wi.useRef)(),L=(0,Wi.useRef)(),F=(0,Wi.useRef)(),Y=i.getState(),z;try{if(e!==b.current||Y!==L.current||w.current){var X=e(Y);F.current===void 0||!t(X,F.current)?z=X:z=F.current}else z=F.current}catch(ee){throw w.current&&(ee.message+=` +The error may be correlated with this previous error: +`+w.current.stack+` + +`),ee}return rf(function(){b.current=e,L.current=Y,F.current=z,w.current=void 0}),rf(function(){function ee(){try{var J=i.getState(),I=b.current(J);if(t(I,F.current))return;F.current=I,L.current=J}catch(A){w.current=A}m()}return o(ee,"checkForUpdates"),d.onStateChange=ee,d.trySubscribe(),ee(),function(){return d.tryUnsubscribe()}},[i,d]),z}o(_F,"useSelectorWithStoreAndSubscription");function mT(e){e===void 0&&(e=Wn);var t=e===Wn?Ig:function(){return(0,Wi.useContext)(e)};return o(function(a,p){p===void 0&&(p=CF);var m=t(),d=m.store,w=m.subscription,b=_F(a,p,d,w);return(0,Wi.useDebugValue)(b),b},"useSelector")}o(mT,"createSelectorHook");var tx=mT();var rx=re(Ms());zb(rx.unstable_batchedUpdates);var Ll=re(ke()),f5=re(It());var nx=re(Uo()),ET=re(ke());window._=nx.default;window.React=ET.default;var dt={UP:38,DOWN:40,PAGE_UP:33,PAGE_DOWN:34,HOME:36,END:35,LEFT:37,RIGHT:39,ENTER:13,ESC:27,TAB:9,SPACE:32,BACKSPACE:8,SHIFT:16};for(var Rg=65;Rg<=90;Rg++)dt[String.fromCharCode(Rg)]=Rg;var Jc=o(function(e){if(e===0)return"0";for(var t=["b","kb","mb","gb","tb"],i=0;ie);i++);var a;return e%Math.pow(1024,i)==0?a=0:a=1,(e/Math.pow(1024,i)).toFixed(a)+t[i]},"formatSize"),Wg=o(function(e){for(var t=e,i=["ms","s","min","h"],a=[1e3,60,60],p=0;Math.abs(t)>=a[p]&&pFt(e,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t),...i});function ix(e,t){let i={...t};for(let a in e)nx.default.isEqual(t[a],e[a])?i[a]=void 0:Object.prototype.toString.call(t[a])==="[object Object]"&&Object.prototype.toString.call(e[a])==="[object Object]"&&(i[a]=ix(e[a],t[a]));return i}o(ix,"getDiff");var BT=re(Uo());var Eh={};OA(Eh,{ADD:()=>fx,RECEIVE:()=>dx,REMOVE:()=>px,SET_FILTER:()=>ux,SET_SORT:()=>ax,UPDATE:()=>cx,add:()=>kF,default:()=>Bo,receive:()=>PF,remove:()=>LF,setFilter:()=>hx,setSort:()=>OT,update:()=>NF});var lx=re(TT()),ux="LIST_SET_FILTER",ax="LIST_SET_SORT",fx="LIST_ADD",cx="LIST_UPDATE",px="LIST_REMOVE",dx="LIST_RECEIVE",OF={byId:{},list:[],listIndex:{},view:[],viewIndex:{}};function Bo(e=OF,t){let{byId:i,list:a,listIndex:p,view:m,viewIndex:d}=e;switch(t.type){case ux:m=(0,lx.default)(a.filter(t.filter),t.sort),d={},m.forEach((L,F)=>{d[L.id]=F});break;case ax:m=(0,lx.default)([...m],t.sort),d={},m.forEach((L,F)=>{d[L.id]=F});break;case fx:if(t.item.id in i)break;i={...i,[t.item.id]:t.item},p={...p,[t.item.id]:a.length},a=[...a,t.item],t.filter(t.item)&&({view:m,viewIndex:d}=kT(e,t.item,t.sort));break;case cx:i={...i,[t.item.id]:t.item},a=[...a],a[p[t.item.id]]=t.item;let w=t.item.id in d,b=t.filter(t.item);b&&!w?{view:m,viewIndex:d}=kT(e,t.item,t.sort):!b&&w?{data:m,dataIndex:d}=vx(m,d,t.item.id):b&&w&&({view:m,viewIndex:d}=MF(e,t.item,t.sort));break;case px:if(!(t.id in i))break;i={...i},delete i[t.id],{data:a,dataIndex:p}=vx(a,p,t.id),t.id in d&&({data:m,dataIndex:d}=vx(m,d,t.id));break;case dx:a=t.list,p={},i={},a.forEach((L,F)=>{i[L.id]=L,p[L.id]=F}),m=a.filter(t.filter).sort(t.sort),d={},m.forEach((L,F)=>{d[L.id]=F});break}return{byId:i,list:a,listIndex:p,view:m,viewIndex:d}}o(Bo,"reduce");function hx(e=Hg,t=_h){return{type:ux,filter:e,sort:t}}o(hx,"setFilter");function OT(e=_h){return{type:ax,sort:e}}o(OT,"setSort");function kF(e,t=Hg,i=_h){return{type:fx,item:e,filter:t,sort:i}}o(kF,"add");function NF(e,t=Hg,i=_h){return{type:cx,item:e,filter:t,sort:i}}o(NF,"update");function LF(e){return{type:px,id:e}}o(LF,"remove");function PF(e,t=Hg,i=_h){return{type:dx,list:e,filter:t,sort:i}}o(PF,"receive");function kT(e,t,i){let a=AF(e.view,t,i),p=[...e.view],m={...e.viewIndex};p.splice(a,0,t);for(let d=p.length-1;d>=a;d--)m[p[d].id]=d;return{view:p,viewIndex:m}}o(kT,"sortedInsert");function vx(e,t,i){let a=t[i],p=[...e],m={...t};delete m[i],p.splice(a,1);for(let d=p.length-1;d>=a;d--)m[p[d].id]=d;return{data:p,dataIndex:m}}o(vx,"removeData");function MF(e,t,i){let a=[...e.view],p={...e.viewIndex},m=p[t.id];for(a[m]=t;m+10;)a[m]=a[m+1],a[m+1]=t,p[t.id]=m+1,p[a[m].id]=m,++m;for(;m>0&&i(a[m],a[m-1])<0;)a[m]=a[m-1],a[m-1]=t,p[t.id]=m-1,p[a[m].id]=m,--m;return{view:a,viewIndex:p}}o(MF,"sortedUpdate");function AF(e,t,i){let a=0,p=e.length;for(;a>>1;i(t,e[m])>=0?a=m+1:p=m}return a}o(AF,"sortedIndex");function Hg(){return!0}o(Hg,"defaultFilter");function _h(e,t){return 0}o(_h,"defaultSort");var mx=re(Uo()),NT={http:80,https:443},zo={getContentType:function(e){var t=this.get_first_header(e,/^Content-Type$/i);if(t)return t.split(";")[0].trim()},get_first_header:function(e,t){if(e._headerLookups||Object.defineProperty(e,"_headerLookups",{value:{},configurable:!1,enumerable:!1,writable:!1}),!(t in e._headerLookups)){for(var i,a=0;a1?arguments[1]:{},m=this,d={},w={start:ql},b=ql,L={type:"other",description:"filter expression"},F=o(function(x){return x},"peg$c1"),Y={type:"other",description:"whitespace"},z=/^[ \t\n\r]/,X={type:"class",value:"[ \\t\\n\\r]",description:"[ \\t\\n\\r]"},ee={type:"other",description:"control character"},J=/^[|&!()~"]/,I={type:"class",value:'[|&!()~"]',description:'[|&!()~"]'},A={type:"other",description:"optional whitespace"},W="|",K={type:"literal",value:"|",description:'"|"'},V=o(function(x,k){return $s(x,k)},"peg$c11"),fe="&",se={type:"literal",value:"&",description:'"&"'},ce=o(function(x,k){return pr(x,k)},"peg$c14"),me="!",ye={type:"literal",value:"!",description:'"!"'},ze=o(function(x){return Pf(x)},"peg$c17"),Ye="(",Se={type:"literal",value:"(",description:'"("'},Et=")",Rt={type:"literal",value:")",description:'")"'},vt=o(function(x){return Mf(x)},"peg$c22"),rt="true",nt={type:"literal",value:"true",description:'"true"'},Sr=o(function(){return ha},"peg$c25"),lt="false",jn={type:"literal",value:"false",description:'"false"'},fr=o(function(){return va},"peg$c28"),Nt="~a",mt={type:"literal",value:"~a",description:'"~a"'},Ze=o(function(){return Gl},"peg$c31"),Lr="~b",Pt={type:"literal",value:"~b",description:'"~b"'},Mt=o(function(x){return Fp(x)},"peg$c34"),qr="~bq",cr={type:"literal",value:"~bq",description:'"~bq"'},_n=o(function(x){return kn(x)},"peg$c37"),En="~bs",Xt={type:"literal",value:"~bs",description:'"~bs"'},je=o(function(x){return Rp(x)},"peg$c40"),bn="~c",an={type:"literal",value:"~c",description:'"~c"'},qn=o(function(x){return hn(x)},"peg$c43"),ni="~d",fn={type:"literal",value:"~d",description:'"~d"'},Qt=o(function(x){return ma(x)},"peg$c46"),cn="~dst",Ci={type:"literal",value:"~dst",description:'"~dst"'},ea=o(function(x){return Ui(x)},"peg$c49"),$r="~e",Yo={type:"literal",value:"~e",description:'"~e"'},_i=o(function(){return ns},"peg$c52"),go="~h",yo={type:"literal",value:"~h",description:'"~h"'},wo=o(function(x){return is(x)},"peg$c55"),Pl="~hq",$n={type:"literal",value:"~hq",description:'"~hq"'},Ml=o(function(x){return ft(x)},"peg$c58"),Ne="~hs",Fs={type:"literal",value:"~hs",description:'"~hs"'},Pr=o(function(x){return Bi(x)},"peg$c61"),Lt="~http",Zt={type:"literal",value:"~http",description:'"~http"'},Cf=o(function(){return Kl},"peg$c64"),pn="~m",xo={type:"literal",value:"~m",description:'"~m"'},Cr=o(function(x){return Wp(x)},"peg$c67"),ta="~marked",ra={type:"literal",value:"~marked",description:'"~marked"'},Rs=o(function(){return zi},"peg$c70"),Al="~q",na={type:"literal",value:"~q",description:'"~q"'},bp=o(function(){return qt},"peg$c73"),Dl="~src",Tp={type:"literal",value:"~src",description:'"~src"'},Ws=o(function(x){return Df(x)},"peg$c76"),_f="~s",Hs={type:"literal",value:"~s",description:'"~s"'},Op=o(function(){return Af},"peg$c79"),Ef="~t",ia={type:"literal",value:"~t",description:'"~t"'},kp=o(function(x){return os(x)},"peg$c82"),Il="~tcp",Xo={type:"literal",value:"~tcp",description:'"~tcp"'},Np=o(function(){return Vs},"peg$c85"),bf="~tq",Us={type:"literal",value:"~tq",description:'"~tq"'},oa=o(function(x){return Oo(x)},"peg$c88"),So="~ts",Lp={type:"literal",value:"~ts",description:'"~ts"'},Co=o(function(x){return Hp(x)},"peg$c91"),Fl="~u",Tf={type:"literal",value:"~u",description:'"~u"'},bt=o(function(x){return Yl(x)},"peg$c94"),_e="~websocket",ii={type:"literal",value:"~websocket",description:'"~websocket"'},sa=o(function(){return Xl},"peg$c97"),oi={type:"other",description:"integer"},it=/^['"]/,Ei={type:"class",value:`['"]`,description:`['"]`},_o=/^[0-9]/,Bs={type:"class",value:"[0-9]",description:"[0-9]"},le=o(function(x){return parseInt(x.join(""),10)},"peg$c103"),Ie={type:"other",description:"string"},Rl='"',Wl={type:"literal",value:'"',description:'"\\""'},Eo=o(function(x){return x.join("")},"peg$c107"),Qo="'",Hl={type:"literal",value:"'",description:`"'"`},De=/^["\\]/,Pp={type:"class",value:'["\\\\]',description:'["\\\\]'},zs={type:"any",description:"any character"},Vn=o(function(x){return x},"peg$c113"),Tn="\\",la={type:"literal",value:"\\",description:'"\\\\"'},ua=/^['\\]/,Zo={type:"class",value:"['\\\\]",description:"['\\\\]"},js=/^['"\\]/,Of={type:"class",value:`['"\\\\]`,description:`['"\\\\]`},Ul="n",Bl={type:"literal",value:"n",description:'"n"'},zl=o(function(){return` +`},"peg$c122"),bo="r",aa={type:"literal",value:"r",description:'"r"'},kf=o(function(){return"\r"},"peg$c125"),Mp="t",fa={type:"literal",value:"t",description:'"t"'},si=o(function(){return" "},"peg$c128"),M=0,Ae=0,To=[{line:1,column:1,seenCR:!1}],Vr=0,ca=[],ve=0,jl;if("startRule"in p){if(!(p.startRule in w))throw new Error(`Can't start parsing from rule "`+p.startRule+'".');b=w[p.startRule]}function Yh(){return a.substring(Ae,M)}o(Yh,"text");function Nf(){return Jo(Ae,M)}o(Nf,"location");function Ap(x){throw es(null,[{type:"other",description:x}],a.substring(Ae,M),Jo(Ae,M))}o(Ap,"expected");function Lf(x){throw es(x,null,a.substring(Ae,M),Jo(Ae,M))}o(Lf,"error");function pa(x){var k=To[x],U,j;if(k)return k;for(U=x-1;!To[U];)U--;for(k=To[U],k={line:k.line,column:k.column,seenCR:k.seenCR};UVr&&(Vr=M,ca=[]),ca.push(x))}o(Ee,"peg$fail");function es(x,k,U,j){function Nn(er){var Ln=1;for(er.sort(function(nr,li){return nr.descriptionli.description?1:0});Ln1?li.slice(0,-1).join(", ")+" or "+li[er.length-1]:li[0],bi=Ln?'"'+nr(Ln)+'"':"end of input","Expected "+Mr+" but "+bi+" found."}return o(Jt,"buildMessage"),k!==null&&Nn(k),new t(x!==null?x:Jt(k,U),k,U,j)}o(es,"peg$buildException");function ql(){var x,k,U,j;return ve++,x=M,k=On(),k!==d?(U=da(),U!==d?(j=On(),j!==d?(Ae=x,k=F(U),x=k):(M=x,x=d)):(M=x,x=d)):(M=x,x=d),ve--,x===d&&(k=d,ve===0&&Ee(L)),x}o(ql,"peg$parsestart");function Te(){var x,k;return ve++,z.test(a.charAt(M))?(x=a.charAt(M),M++):(x=d,ve===0&&Ee(X)),ve--,x===d&&(k=d,ve===0&&Ee(Y)),x}o(Te,"peg$parsews");function gt(){var x,k;return ve++,J.test(a.charAt(M))?(x=a.charAt(M),M++):(x=d,ve===0&&Ee(I)),ve--,x===d&&(k=d,ve===0&&Ee(ee)),x}o(gt,"peg$parsecc");function On(){var x,k;for(ve++,x=[],k=Te();k!==d;)x.push(k),k=Te();return ve--,x===d&&(k=d,ve===0&&Ee(A)),x}o(On,"peg$parse__");function da(){var x,k,U,j,Nn,Jt;return x=M,k=qs(),k!==d?(U=On(),U!==d?(a.charCodeAt(M)===124?(j=W,M++):(j=d,ve===0&&Ee(K)),j!==d?(Nn=On(),Nn!==d?(Jt=da(),Jt!==d?(Ae=x,k=V(k,Jt),x=k):(M=x,x=d)):(M=x,x=d)):(M=x,x=d)):(M=x,x=d)):(M=x,x=d),x===d&&(x=qs()),x}o(da,"peg$parseOrExpr");function qs(){var x,k,U,j,Nn,Jt;if(x=M,k=dn(),k!==d?(U=On(),U!==d?(a.charCodeAt(M)===38?(j=fe,M++):(j=d,ve===0&&Ee(se)),j!==d?(Nn=On(),Nn!==d?(Jt=qs(),Jt!==d?(Ae=x,k=ce(k,Jt),x=k):(M=x,x=d)):(M=x,x=d)):(M=x,x=d)):(M=x,x=d)):(M=x,x=d),x===d){if(x=M,k=dn(),k!==d){if(U=[],j=Te(),j!==d)for(;j!==d;)U.push(j),j=Te();else U=d;U!==d?(j=qs(),j!==d?(Ae=x,k=ce(k,j),x=k):(M=x,x=d)):(M=x,x=d)}else M=x,x=d;x===d&&(x=dn())}return x}o(qs,"peg$parseAndExpr");function dn(){var x,k,U,j;return x=M,a.charCodeAt(M)===33?(k=me,M++):(k=d,ve===0&&Ee(ye)),k!==d?(U=On(),U!==d?(j=dn(),j!==d?(Ae=x,k=ze(j),x=k):(M=x,x=d)):(M=x,x=d)):(M=x,x=d),x===d&&(x=Dp()),x}o(dn,"peg$parseNotExpr");function Dp(){var x,k,U,j,Nn,Jt;return x=M,a.charCodeAt(M)===40?(k=Ye,M++):(k=d,ve===0&&Ee(Se)),k!==d?(U=On(),U!==d?(j=da(),j!==d?(Nn=On(),Nn!==d?(a.charCodeAt(M)===41?(Jt=Et,M++):(Jt=d,ve===0&&Ee(Rt)),Jt!==d?(Ae=x,k=vt(j),x=k):(M=x,x=d)):(M=x,x=d)):(M=x,x=d)):(M=x,x=d)):(M=x,x=d),x===d&&(x=Ip()),x}o(Dp,"peg$parseBindingExpr");function Ip(){var x,k,U,j;if(x=M,a.substr(M,4)===rt?(k=rt,M+=4):(k=d,ve===0&&Ee(nt)),k!==d&&(Ae=x,k=Sr()),x=k,x===d&&(x=M,a.substr(M,5)===lt?(k=lt,M+=5):(k=d,ve===0&&Ee(jn)),k!==d&&(Ae=x,k=fr()),x=k,x===d&&(x=M,a.substr(M,2)===Nt?(k=Nt,M+=2):(k=d,ve===0&&Ee(mt)),k!==d&&(Ae=x,k=Ze()),x=k,x===d))){if(x=M,a.substr(M,2)===Lr?(k=Lr,M+=2):(k=d,ve===0&&Ee(Pt)),k!==d){if(U=[],j=Te(),j!==d)for(;j!==d;)U.push(j),j=Te();else U=d;U!==d?(j=_r(),j!==d?(Ae=x,k=Mt(j),x=k):(M=x,x=d)):(M=x,x=d)}else M=x,x=d;if(x===d){if(x=M,a.substr(M,3)===qr?(k=qr,M+=3):(k=d,ve===0&&Ee(cr)),k!==d){if(U=[],j=Te(),j!==d)for(;j!==d;)U.push(j),j=Te();else U=d;U!==d?(j=_r(),j!==d?(Ae=x,k=_n(j),x=k):(M=x,x=d)):(M=x,x=d)}else M=x,x=d;if(x===d){if(x=M,a.substr(M,3)===En?(k=En,M+=3):(k=d,ve===0&&Ee(Xt)),k!==d){if(U=[],j=Te(),j!==d)for(;j!==d;)U.push(j),j=Te();else U=d;U!==d?(j=_r(),j!==d?(Ae=x,k=je(j),x=k):(M=x,x=d)):(M=x,x=d)}else M=x,x=d;if(x===d){if(x=M,a.substr(M,2)===bn?(k=bn,M+=2):(k=d,ve===0&&Ee(an)),k!==d){if(U=[],j=Te(),j!==d)for(;j!==d;)U.push(j),j=Te();else U=d;U!==d?(j=$l(),j!==d?(Ae=x,k=qn(j),x=k):(M=x,x=d)):(M=x,x=d)}else M=x,x=d;if(x===d){if(x=M,a.substr(M,2)===ni?(k=ni,M+=2):(k=d,ve===0&&Ee(fn)),k!==d){if(U=[],j=Te(),j!==d)for(;j!==d;)U.push(j),j=Te();else U=d;U!==d?(j=_r(),j!==d?(Ae=x,k=Qt(j),x=k):(M=x,x=d)):(M=x,x=d)}else M=x,x=d;if(x===d){if(x=M,a.substr(M,4)===cn?(k=cn,M+=4):(k=d,ve===0&&Ee(Ci)),k!==d){if(U=[],j=Te(),j!==d)for(;j!==d;)U.push(j),j=Te();else U=d;U!==d?(j=_r(),j!==d?(Ae=x,k=ea(j),x=k):(M=x,x=d)):(M=x,x=d)}else M=x,x=d;if(x===d&&(x=M,a.substr(M,2)===$r?(k=$r,M+=2):(k=d,ve===0&&Ee(Yo)),k!==d&&(Ae=x,k=_i()),x=k,x===d)){if(x=M,a.substr(M,2)===go?(k=go,M+=2):(k=d,ve===0&&Ee(yo)),k!==d){if(U=[],j=Te(),j!==d)for(;j!==d;)U.push(j),j=Te();else U=d;U!==d?(j=_r(),j!==d?(Ae=x,k=wo(j),x=k):(M=x,x=d)):(M=x,x=d)}else M=x,x=d;if(x===d){if(x=M,a.substr(M,3)===Pl?(k=Pl,M+=3):(k=d,ve===0&&Ee($n)),k!==d){if(U=[],j=Te(),j!==d)for(;j!==d;)U.push(j),j=Te();else U=d;U!==d?(j=_r(),j!==d?(Ae=x,k=Ml(j),x=k):(M=x,x=d)):(M=x,x=d)}else M=x,x=d;if(x===d){if(x=M,a.substr(M,3)===Ne?(k=Ne,M+=3):(k=d,ve===0&&Ee(Fs)),k!==d){if(U=[],j=Te(),j!==d)for(;j!==d;)U.push(j),j=Te();else U=d;U!==d?(j=_r(),j!==d?(Ae=x,k=Pr(j),x=k):(M=x,x=d)):(M=x,x=d)}else M=x,x=d;if(x===d&&(x=M,a.substr(M,5)===Lt?(k=Lt,M+=5):(k=d,ve===0&&Ee(Zt)),k!==d&&(Ae=x,k=Cf()),x=k,x===d)){if(x=M,a.substr(M,2)===pn?(k=pn,M+=2):(k=d,ve===0&&Ee(xo)),k!==d){if(U=[],j=Te(),j!==d)for(;j!==d;)U.push(j),j=Te();else U=d;U!==d?(j=_r(),j!==d?(Ae=x,k=Cr(j),x=k):(M=x,x=d)):(M=x,x=d)}else M=x,x=d;if(x===d&&(x=M,a.substr(M,7)===ta?(k=ta,M+=7):(k=d,ve===0&&Ee(ra)),k!==d&&(Ae=x,k=Rs()),x=k,x===d&&(x=M,a.substr(M,2)===Al?(k=Al,M+=2):(k=d,ve===0&&Ee(na)),k!==d&&(Ae=x,k=bp()),x=k,x===d))){if(x=M,a.substr(M,4)===Dl?(k=Dl,M+=4):(k=d,ve===0&&Ee(Tp)),k!==d){if(U=[],j=Te(),j!==d)for(;j!==d;)U.push(j),j=Te();else U=d;U!==d?(j=_r(),j!==d?(Ae=x,k=Ws(j),x=k):(M=x,x=d)):(M=x,x=d)}else M=x,x=d;if(x===d&&(x=M,a.substr(M,2)===_f?(k=_f,M+=2):(k=d,ve===0&&Ee(Hs)),k!==d&&(Ae=x,k=Op()),x=k,x===d)){if(x=M,a.substr(M,2)===Ef?(k=Ef,M+=2):(k=d,ve===0&&Ee(ia)),k!==d){if(U=[],j=Te(),j!==d)for(;j!==d;)U.push(j),j=Te();else U=d;U!==d?(j=_r(),j!==d?(Ae=x,k=kp(j),x=k):(M=x,x=d)):(M=x,x=d)}else M=x,x=d;if(x===d&&(x=M,a.substr(M,4)===Il?(k=Il,M+=4):(k=d,ve===0&&Ee(Xo)),k!==d&&(Ae=x,k=Np()),x=k,x===d)){if(x=M,a.substr(M,3)===bf?(k=bf,M+=3):(k=d,ve===0&&Ee(Us)),k!==d){if(U=[],j=Te(),j!==d)for(;j!==d;)U.push(j),j=Te();else U=d;U!==d?(j=_r(),j!==d?(Ae=x,k=oa(j),x=k):(M=x,x=d)):(M=x,x=d)}else M=x,x=d;if(x===d){if(x=M,a.substr(M,3)===So?(k=So,M+=3):(k=d,ve===0&&Ee(Lp)),k!==d){if(U=[],j=Te(),j!==d)for(;j!==d;)U.push(j),j=Te();else U=d;U!==d?(j=_r(),j!==d?(Ae=x,k=Co(j),x=k):(M=x,x=d)):(M=x,x=d)}else M=x,x=d;if(x===d){if(x=M,a.substr(M,2)===Fl?(k=Fl,M+=2):(k=d,ve===0&&Ee(Tf)),k!==d){if(U=[],j=Te(),j!==d)for(;j!==d;)U.push(j),j=Te();else U=d;U!==d?(j=_r(),j!==d?(Ae=x,k=bt(j),x=k):(M=x,x=d)):(M=x,x=d)}else M=x,x=d;x===d&&(x=M,a.substr(M,10)===_e?(k=_e,M+=10):(k=d,ve===0&&Ee(ii)),k!==d&&(Ae=x,k=sa()),x=k,x===d&&(x=M,k=_r(),k!==d&&(Ae=x,k=bt(k)),x=k))}}}}}}}}}}}}}}}return x}o(Ip,"peg$parseExpr");function $l(){var x,k,U,j;if(ve++,x=M,it.test(a.charAt(M))?(k=a.charAt(M),M++):(k=d,ve===0&&Ee(Ei)),k===d&&(k=null),k!==d){if(U=[],_o.test(a.charAt(M))?(j=a.charAt(M),M++):(j=d,ve===0&&Ee(Bs)),j!==d)for(;j!==d;)U.push(j),_o.test(a.charAt(M))?(j=a.charAt(M),M++):(j=d,ve===0&&Ee(Bs));else U=d;U!==d?(it.test(a.charAt(M))?(j=a.charAt(M),M++):(j=d,ve===0&&Ee(Ei)),j===d&&(j=null),j!==d?(Ae=x,k=le(U),x=k):(M=x,x=d)):(M=x,x=d)}else M=x,x=d;return ve--,x===d&&(k=d,ve===0&&Ee(oi)),x}o($l,"peg$parseIntegerLiteral");function _r(){var x,k,U,j;if(ve++,x=M,a.charCodeAt(M)===34?(k=Rl,M++):(k=d,ve===0&&Ee(Wl)),k!==d){for(U=[],j=wt();j!==d;)U.push(j),j=wt();U!==d?(a.charCodeAt(M)===34?(j=Rl,M++):(j=d,ve===0&&Ee(Wl)),j!==d?(Ae=x,k=Eo(U),x=k):(M=x,x=d)):(M=x,x=d)}else M=x,x=d;if(x===d){if(x=M,a.charCodeAt(M)===39?(k=Qo,M++):(k=d,ve===0&&Ee(Hl)),k!==d){for(U=[],j=ts();j!==d;)U.push(j),j=ts();U!==d?(a.charCodeAt(M)===39?(j=Qo,M++):(j=d,ve===0&&Ee(Hl)),j!==d?(Ae=x,k=Eo(U),x=k):(M=x,x=d)):(M=x,x=d)}else M=x,x=d;if(x===d)if(x=M,k=M,ve++,U=gt(),ve--,U===d?k=void 0:(M=k,k=d),k!==d){if(U=[],j=Er(),j!==d)for(;j!==d;)U.push(j),j=Er();else U=d;U!==d?(Ae=x,k=Eo(U),x=k):(M=x,x=d)}else M=x,x=d}return ve--,x===d&&(k=d,ve===0&&Ee(Ie)),x}o(_r,"peg$parseStringLiteral");function wt(){var x,k,U;return x=M,k=M,ve++,De.test(a.charAt(M))?(U=a.charAt(M),M++):(U=d,ve===0&&Ee(Pp)),ve--,U===d?k=void 0:(M=k,k=d),k!==d?(a.length>M?(U=a.charAt(M),M++):(U=d,ve===0&&Ee(zs)),U!==d?(Ae=x,k=Vn(U),x=k):(M=x,x=d)):(M=x,x=d),x===d&&(x=M,a.charCodeAt(M)===92?(k=Tn,M++):(k=d,ve===0&&Ee(la)),k!==d?(U=rs(),U!==d?(Ae=x,k=Vn(U),x=k):(M=x,x=d)):(M=x,x=d)),x}o(wt,"peg$parseDoubleStringChar");function ts(){var x,k,U;return x=M,k=M,ve++,ua.test(a.charAt(M))?(U=a.charAt(M),M++):(U=d,ve===0&&Ee(Zo)),ve--,U===d?k=void 0:(M=k,k=d),k!==d?(a.length>M?(U=a.charAt(M),M++):(U=d,ve===0&&Ee(zs)),U!==d?(Ae=x,k=Vn(U),x=k):(M=x,x=d)):(M=x,x=d),x===d&&(x=M,a.charCodeAt(M)===92?(k=Tn,M++):(k=d,ve===0&&Ee(la)),k!==d?(U=rs(),U!==d?(Ae=x,k=Vn(U),x=k):(M=x,x=d)):(M=x,x=d)),x}o(ts,"peg$parseSingleStringChar");function Er(){var x,k,U;return x=M,k=M,ve++,U=Te(),ve--,U===d?k=void 0:(M=k,k=d),k!==d?(a.length>M?(U=a.charAt(M),M++):(U=d,ve===0&&Ee(zs)),U!==d?(Ae=x,k=Vn(U),x=k):(M=x,x=d)):(M=x,x=d),x}o(Er,"peg$parseUnquotedStringChar");function rs(){var x,k;return js.test(a.charAt(M))?(x=a.charAt(M),M++):(x=d,ve===0&&Ee(Of)),x===d&&(x=M,a.charCodeAt(M)===110?(k=Ul,M++):(k=d,ve===0&&Ee(Bl)),k!==d&&(Ae=x,k=zl()),x=k,x===d&&(x=M,a.charCodeAt(M)===114?(k=bo,M++):(k=d,ve===0&&Ee(aa)),k!==d&&(Ae=x,k=kf()),x=k,x===d&&(x=M,a.charCodeAt(M)===116?(k=Mp,M++):(k=d,ve===0&&Ee(fa)),k!==d&&(Ae=x,k=si()),x=k))),x}o(rs,"peg$parseEscapeSequence");function $s(x,k){function U(){return x.apply(this,arguments)||k.apply(this,arguments)}return o(U,"orFilter"),U.desc=x.desc+" or "+k.desc,U}o($s,"or");function pr(x,k){function U(){return x.apply(this,arguments)&&k.apply(this,arguments)}return o(U,"andFilter"),U.desc=x.desc+" and "+k.desc,U}o(pr,"and");function Pf(x){function k(){return!x.apply(this,arguments)}return o(k,"notFilter"),k.desc="not "+x.desc,k}o(Pf,"not");function Mf(x){function k(){return x.apply(this,arguments)}return o(k,"bindingFilter"),k.desc="("+x.desc+")",k}o(Mf,"binding");function ha(x){return!0}o(ha,"trueFilter"),ha.desc="true";function va(x){return!1}o(va,"falseFilter"),va.desc="false";var Vl=[new RegExp("text/javascript"),new RegExp("application/x-javascript"),new RegExp("application/javascript"),new RegExp("text/css"),new RegExp("image/.*"),new RegExp("application/x-shockwave-flash")];function Gl(x){if(x.response){for(var k=Sl.getContentType(x.response),U=Vl.length;U--;)if(Vl[U].test(k))return!0}return!1}o(Gl,"assetFilter"),Gl.desc="is asset";function hn(x){function k(U){return U.response&&U.response.status_code===x}return o(k,"responseCodeFilter"),k.desc="resp. code is "+x,k}o(hn,"responseCode");function Fp(x){x=new RegExp(x,"i");function k(U){return!0}return o(k,"bodyFilter"),k.desc="body filters are not implemented yet, see https://github.com/mitmproxy/mitmweb/issues/10",k}o(Fp,"body");function kn(x){x=new RegExp(x,"i");function k(U){return!0}return o(k,"requestBodyFilter"),k.desc="body filters are not implemented yet, see https://github.com/mitmproxy/mitmweb/issues/10",k}o(kn,"requestBody");function Rp(x){x=new RegExp(x,"i");function k(U){return!0}return o(k,"responseBodyFilter"),k.desc="body filters are not implemented yet, see https://github.com/mitmproxy/mitmweb/issues/10",k}o(Rp,"responseBody");function ma(x){x=new RegExp(x,"i");function k(U){return U.request&&(x.test(U.request.host)||x.test(U.request.pretty_host))}return o(k,"domainFilter"),k.desc="domain matches "+x,k}o(ma,"domain");function Ui(x){x=new RegExp(x,"i");function k(U){return!!U.server_conn.address&&x.test(U.server_conn.address[0]+":"+U.server_conn.address[1])}return o(k,"destinationFilter"),k.desc="destination address matches "+x,k}o(Ui,"destination");function ns(x){return!!x.error}o(ns,"errorFilter"),ns.desc="has error";function is(x){x=new RegExp(x,"i");function k(U){return U.request&&fo.match_header(U.request,x)||U.response&&Sl.match_header(U.response,x)}return o(k,"headerFilter"),k.desc="header matches "+x,k}o(is,"header");function ft(x){x=new RegExp(x,"i");function k(U){return U.request&&fo.match_header(U.request,x)}return o(k,"requestHeaderFilter"),k.desc="req. header matches "+x,k}o(ft,"requestHeader");function Bi(x){x=new RegExp(x,"i");function k(U){return U.response&&Sl.match_header(U.response,x)}return o(k,"responseHeaderFilter"),k.desc="resp. header matches "+x,k}o(Bi,"responseHeader");function Kl(x){return x.type==="http"}o(Kl,"httpFilter"),Kl.desc="is an HTTP Flow";function Wp(x){x=new RegExp(x,"i");function k(U){return U.request&&x.test(U.request.method)}return o(k,"methodFilter"),k.desc="method matches "+x,k}o(Wp,"method");function zi(x){return x.marked}o(zi,"markedFilter"),zi.desc="is marked";function qt(x){return x.request&&!x.response}o(qt,"noResponseFilter"),qt.desc="has no response";function Af(x){return!!x.response}o(Af,"responseFilter"),Af.desc="has response";function Df(x){x=new RegExp(x,"i");function k(U){return!!U.client_conn.address&&x.test(U.client_conn.address[0]+":"+U.client_conn.address[1])}return o(k,"sourceFilter"),k.desc="source address matches "+x,k}o(Df,"source");function os(x){x=new RegExp(x,"i");function k(U){return U.request&&x.test(fo.getContentType(U.request))||U.response&&x.test(Sl.getContentType(U.response))}return o(k,"contentTypeFilter"),k.desc="content type matches "+x,k}o(os,"contentType");function Vs(x){return x.type==="tcp"}o(Vs,"tcpFilter"),Vs.desc="is a TCP Flow";function Oo(x){x=new RegExp(x,"i");function k(U){return U.request&&x.test(fo.getContentType(U.request))}return o(k,"requestContentTypeFilter"),k.desc="req. content type matches "+x,k}o(Oo,"requestContentType");function Hp(x){x=new RegExp(x,"i");function k(U){return U.response&&x.test(Sl.getContentType(U.response))}return o(k,"responseContentTypeFilter"),k.desc="resp. content type matches "+x,k}o(Hp,"responseContentType");function Yl(x){x=new RegExp(x,"i");function k(U){return U.request&&x.test(fo.pretty_url(U.request))}return o(k,"urlFilter"),k.desc="url matches "+x,k}o(Yl,"url");function Xl(x){return x.type==="websocket"}if(o(Xl,"websocketFilter"),Xl.desc="is a Websocket Flow",jl=b(),jl!==d&&M===a.length)return jl;throw jl!==d&&M1)a=a.filter(p=>p!==t.data);else if(a=[],t.data in e.viewIndex&&e.view.length>1){let p=e.viewIndex[t.data],m;p===e.view.length-1?m=e.view[p-1]:m=e.view[p+1],a.push(m.id)}}return{...e,selected:a,...Bo(e,i)};case PT:return{...e,filter:t.filter,...Bo(e,hx(DT(t.filter),Sx(e.sort)))};case AT:return{...e,highlight:t.highlight};case MT:return{...e,sort:t.sort,...Bo(e,OT(Sx(t.sort)))};case tp:return{...e,selected:t.flowIds};default:return e}}o(xx,"reduce");var UF={TLSColumn:e=>e.request.scheme,PathColumn:e=>fo.pretty_url(e.request),MethodColumn:e=>e.request.method,StatusColumn:e=>e.response&&e.response.status_code,TimeColumn:e=>e.response&&e.response.timestamp_end-e.request.timestamp_start,SizeColumn:e=>{let t=e.request.contentLength;return e.response&&(t+=e.response.contentLength||0),t}};function DT(e){if(!!e)return nf.parse(e)}o(DT,"makeFilter");function Sx({column:e,desc:t}){let i=UF[e];if(!!i)return(a,p)=>{let m=i(a),d=i(p);return m>d?t?-1:1:mFt(`/flows/${e.id}/resume`,{method:"POST"})}o(rp,"resume");function zg(){return e=>Ft("/flows/resume",{method:"POST"})}o(zg,"resumeAll");function jg(e){return t=>Ft(`/flows/${e.id}/kill`,{method:"POST"})}o(jg,"kill");function FT(){return e=>Ft("/flows/kill",{method:"POST"})}o(FT,"killAll");function qg(e){return t=>Ft(`/flows/${e.id}`,{method:"DELETE"})}o(qg,"remove");function $g(e){return t=>Ft(`/flows/${e.id}/duplicate`,{method:"POST"})}o($g,"duplicate");function np(e){return t=>Ft(`/flows/${e.id}/replay`,{method:"POST"})}o(np,"replay");function Vg(e){return t=>Ft(`/flows/${e.id}/revert`,{method:"POST"})}o(Vg,"revert");function RT(e,t){return i=>Ft.put(`/flows/${e.id}`,t)}o(RT,"update");function WT(e,t,i){let a=new FormData;return t=new window.Blob([t],{type:"plain/text"}),a.append("file",t),p=>Ft(`/flows/${e.id}/${i}/content.data`,{method:"POST",body:a})}o(WT,"uploadContent");function Gg(){return e=>Ft("/clear",{method:"POST"})}o(Gg,"clear");function HT(){return window.location.href="/flows/dump",{type:WF}}o(HT,"download");function UT(e){let t=new FormData;return t.append("file",e),i=>Ft("/flows/dump",{method:"POST",body:t})}o(UT,"upload");function sf(e){return{type:tp,flowIds:e?[e]:[]}}o(sf,"select");var zT="UI_FLOWVIEW_SET_CONTENT_VIEW",jT="UI_FLOWVIEW_DISPLAY_LARGE",qT="UI_FLOWVIEW_SET_TAB",$T="UI_FLOWVIEW_START_EDIT",VT="UI_FLOWVIEW_UPDATE_EDIT",GT="UI_FLOWVIEW_ABORT_EDIT";var KT="UI_SET_SHOW_FULL_CONTENT",YT="UI_SET_CONTENT_VIEW_DESCRIPTION",XT="UI_SET_CONTENT",BF={displayLarge:!1,viewDescription:"",showFullContent:!1,modifiedFlow:void 0,contentView:"Auto",tab:"request",content:[],maxContentLines:80},zF=o((e=BF,t)=>{let i=e.modifiedFlow,a=t.content||e.content,p=a&&a.length<=e.maxContentLines;switch(t.type){case $T:return{...e,modifiedFlow:t.flow,contentView:"Edit",showFullContent:!0};case VT:return{...e,modifiedFlow:BT.default.merge({},e.modifiedFlow,t.update)};case GT:return{...e,modifiedFlow:void 0};case tp:return{...e,modifiedFlow:void 0,displayLarge:!1,contentView:i?"Auto":e.contentView,showFullContent:p};case wx:return t.data.id===e.modifiedFlow?.id?{...e,modifiedFlow:void 0,displayLarge:!1,contentView:i?"Auto":e.contentView,showFullContent:!1}:e;case YT:return{...e,viewDescription:t.description};case KT:return{...e,showFullContent:!0};case qT:return{...e,tab:t.tab?t.tab:"request",displayLarge:!1,showFullContent:e.contentView==="Edit"};case zT:return{...e,contentView:t.contentView,showFullContent:t.contentView==="Edit"};case XT:return{...e,content:t.content,showFullContent:p};case jT:return{...e,displayLarge:!0};default:return e}},"reducer"),QT=zF;function ZT(e){return{type:zT,contentView:e}}o(ZT,"setContentView");function JT(){return{type:jT}}o(JT,"displayLarge");function lf(e){return{type:qT,tab:e}}o(lf,"selectTab");function eO(e){return{type:$T,flow:e}}o(eO,"startEdit");function Kg(e){return{type:VT,update:e}}o(Kg,"updateEdit");function tO(e){return{type:YT,description:e}}o(tO,"setContentViewDescription");function rO(){return{type:KT}}o(rO,"setShowFullContent");function nO(e){return{type:XT,content:e}}o(nO,"setContent");function iO(e,t){let i=ix(e,t);return Object.values(i).some(a=>a!==void 0)?RT(e,i):{type:GT}}o(iO,"stopEdit");var Yg="UI_HIDE_MODAL",oO="UI_SET_ACTIVE_MODAL",jF={activeModal:void 0};function Cx(e=jF,t){switch(t.type){case oO:return{...e,activeModal:t.activeModal};case Yg:return{...e,activeModal:void 0};default:return e}}o(Cx,"reducer");function sO(e){return{type:oO,activeModal:e}}o(sO,"setActiveModal");function Xg(){return{type:Yg}}o(Xg,"hideModal");function lO(e){if(e.ctrlKey||e.metaKey)return()=>{};let t=e.keyCode,i=e.shiftKey;return e.preventDefault(),(a,p)=>{let m=p().flows,d=m.byId[p().flows.selected[0]];switch(t){case dt.K:case dt.UP:a(of(m,-1));break;case dt.J:case dt.DOWN:a(of(m,1));break;case dt.SPACE:case dt.PAGE_DOWN:a(of(m,10));break;case dt.PAGE_UP:a(of(m,-10));break;case dt.END:a(of(m,1e10));break;case dt.HOME:a(of(m,-1e10));break;case dt.ESC:p().ui.modal.activeModal?a(Xg()):a(sf(null));break;case dt.LEFT:{if(!d)break;let w=["request","response","error"].filter(F=>d[F]).concat(["details"]),b=p().ui.flow.tab,L=w[(w.indexOf(b)-1+w.length)%w.length];a(lf(L));break}case dt.TAB:case dt.RIGHT:{if(!d)break;let w=["request","response","error"].filter(F=>d[F]).concat(["details"]),b=p().ui.flow.tab,L=w[(w.indexOf(b)+1)%w.length];a(lf(L));break}case dt.D:{if(!d)return;a(i?$g(d):qg(d));break}case dt.A:{i?a(zg()):d&&d.intercepted&&a(rp(d));break}case dt.R:{!i&&d&&a(np(d));break}case dt.V:{!i&&d&&d.modified&&a(Vg(d));break}case dt.X:{i?a(FT()):d&&d.intercepted&&a(jg(d));break}case dt.Z:{i||a(Gg());break}default:return}}}o(lO,"onKeyDown");var zh=re(ke()),Vk=re(It());var bh=re(ke()),Th=re(Ms()),uO=re(xi()),ip=class extends bh.Component{constructor(t,i){super(t,i);this.state={applied:!1,startX:!1,startY:!1},this.onMouseMove=this.onMouseMove.bind(this),this.onMouseDown=this.onMouseDown.bind(this),this.onMouseUp=this.onMouseUp.bind(this),this.onDragEnd=this.onDragEnd.bind(this)}onMouseDown(t){this.setState({startX:t.pageX,startY:t.pageY}),window.addEventListener("mousemove",this.onMouseMove),window.addEventListener("mouseup",this.onMouseUp),window.addEventListener("dragend",this.onDragEnd)}onDragEnd(){Th.default.findDOMNode(this).style.transform="",window.removeEventListener("dragend",this.onDragEnd),window.removeEventListener("mouseup",this.onMouseUp),window.removeEventListener("mousemove",this.onMouseMove)}onMouseUp(t){this.onDragEnd();let i=Th.default.findDOMNode(this),a=i.previousElementSibling,p=a.offsetHeight+t.pageY-this.state.startY;this.props.axis==="x"&&(p=a.offsetWidth+t.pageX-this.state.startX),a.style.flex=`0 0 ${Math.max(0,p)}px`,i.nextElementSibling.style.flex="1 1 auto",this.setState({applied:!0}),this.onResize()}onMouseMove(t){let i=0,a=0;this.props.axis==="x"?i=t.pageX-this.state.startX:a=t.pageY-this.state.startY,Th.default.findDOMNode(this).style.transform=`translate(${i}px, ${a}px)`}onResize(){window.setTimeout(()=>window.dispatchEvent(new CustomEvent("resize")),1)}reset(t){if(!this.state.applied)return;let i=Th.default.findDOMNode(this);i.previousElementSibling.style.flex="",i.nextElementSibling.style.flex="",t||this.setState({applied:!1}),this.onResize()}componentWillUnmount(){this.reset(!0)}render(){return bh.default.createElement("div",{className:(0,uO.default)("splitter",this.props.axis==="x"?"splitter-x":"splitter-y")},bh.default.createElement("div",{onMouseDown:this.onMouseDown,draggable:"true"}))}};o(ip,"Splitter"),At(ip,"defaultProps",{axis:"x"});var Ds=re(ke()),Dh=re(It()),my=re(Ms());var yk=re(_x());var HW=re(ke()),Ex=re(Ms()),fO=Symbol("shouldStick"),cO=o(e=>e.scrollTop+e.clientHeight===e.scrollHeight,"isAtBottom"),Zg=o(e=>Object.assign(o(class extends e{static displayName=e.name;UNSAFE_componentWillUpdate(){let i=Ex.default.findDOMNode(this);this[fO]=i.scrollTop&&cO(i),super.UNSAFE_componentWillUpdate&&super.UNSAFE_componentWillUpdate(),super.componentWillUpdate&&super.componentWillUpdate()}componentDidUpdate(){let i=Ex.default.findDOMNode(this);this[fO]&&!cO(i)&&(i.scrollTop=i.scrollHeight),super.componentDidUpdate&&super.componentDidUpdate()}},"AutoScrollWrapper"),e),"default");function op(e){if(!e)return{start:0,end:0,paddingTop:0,paddingBottom:0};let{itemCount:t,rowHeight:i,viewportTop:a,viewportHeight:p,itemHeights:m}=e,d=a+p,w=0,b=0,L=0,F=0;if(m)for(let Y=0,z=0;Y{switch(t.type){case Tx:let i={};for(let[p,m]of Object.entries(t.data))i[p]=m;return i;case Ox:let a={...e};for(let[p,m]of Object.entries(t.data))a[p]=m;return a;default:return e}},"reducer"),xO=$F;function VF(e,t,i){return async a=>{try{let p=await Ft.put("/options",{[e]:t});if(p.status===200)a(mO(e));else throw await p.text()}catch(p){return a(gO(e,p))}}}o(VF,"pureSendUpdate");var GF=wO.default.throttle(VF,500,{leading:!0,trailing:!0});function uf(e,t){return i=>{i(vO(e,t)),GF(e,t,i)}}o(uf,"update");function SO(){return e=>Ft("/options/save",{method:"POST"})}o(SO,"save");function CO(e){return(t,i)=>{let a=i().options.intercept;a&&a.includes(e)||(a?a=`${a} | ${e}`:a=e,t(uf("intercept",a)))}}o(CO,"addInterceptFilter");var ur=re(ke());var Jg=re(ke());var kx=o(function(t){return t.reduce(function(i,a){var p=a[0],m=a[1];return i[p]=m,i},{})},"fromEntries"),Nx=typeof window!="undefined"&&window.document&&window.document.createElement?Jg.useLayoutEffect:Jg.useEffect;var Yu=re(ke());var Nr="top",on="bottom",Br="right",zr="left",ey="auto",Vu=[Nr,on,Br,zr],Cl="start",ty="end",_O="clippingParents",ry="viewport",sp="popper",EO="reference",Lx=Vu.reduce(function(e,t){return e.concat([t+"-"+Cl,t+"-"+ty])},[]),ny=[].concat(Vu,[ey]).reduce(function(e,t){return e.concat([t,t+"-"+Cl,t+"-"+ty])},[]),KF="beforeRead",YF="read",XF="afterRead",QF="beforeMain",ZF="main",JF="afterMain",e2="beforeWrite",t2="write",r2="afterWrite",bO=[KF,YF,XF,QF,ZF,JF,e2,t2,r2];function sn(e){return e?(e.nodeName||"").toLowerCase():null}o(sn,"getNodeName");function wr(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}o(wr,"getWindow");function _l(e){var t=wr(e).Element;return e instanceof t||e instanceof Element}o(_l,"isElement");function xn(e){var t=wr(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}o(xn,"isHTMLElement");function iy(e){if(typeof ShadowRoot=="undefined")return!1;var t=wr(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}o(iy,"isShadowRoot");function n2(e){var t=e.state;Object.keys(t.elements).forEach(function(i){var a=t.styles[i]||{},p=t.attributes[i]||{},m=t.elements[i];!xn(m)||!sn(m)||(Object.assign(m.style,a),Object.keys(p).forEach(function(d){var w=p[d];w===!1?m.removeAttribute(d):m.setAttribute(d,w===!0?"":w)}))})}o(n2,"applyStyles");function i2(e){var t=e.state,i={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,i.popper),t.styles=i,t.elements.arrow&&Object.assign(t.elements.arrow.style,i.arrow),function(){Object.keys(t.elements).forEach(function(a){var p=t.elements[a],m=t.attributes[a]||{},d=Object.keys(t.styles.hasOwnProperty(a)?t.styles[a]:i[a]),w=d.reduce(function(b,L){return b[L]="",b},{});!xn(p)||!sn(p)||(Object.assign(p.style,w),Object.keys(m).forEach(function(b){p.removeAttribute(b)}))})}}o(i2,"effect");var TO={name:"applyStyles",enabled:!0,phase:"write",fn:n2,effect:i2,requires:["computeStyles"]};function ln(e){return e.split("-")[0]}o(ln,"getBasePlacement");function co(e){var t=e.getBoundingClientRect();return{width:t.width,height:t.height,top:t.top,right:t.right,bottom:t.bottom,left:t.left,x:t.left,y:t.top}}o(co,"getBoundingClientRect");function af(e){var t=co(e),i=e.offsetWidth,a=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-a)<=1&&(a=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:a}}o(af,"getLayoutRect");function Oh(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&iy(i)){var a=t;do{if(a&&e.isSameNode(a))return!0;a=a.parentNode||a.host}while(a)}return!1}o(Oh,"contains");function ei(e){return wr(e).getComputedStyle(e)}o(ei,"getComputedStyle");function Px(e){return["table","td","th"].indexOf(sn(e))>=0}o(Px,"isTableElement");function Sn(e){return((_l(e)?e.ownerDocument:e.document)||window.document).documentElement}o(Sn,"getDocumentElement");function El(e){return sn(e)==="html"?e:e.assignedSlot||e.parentNode||(iy(e)?e.host:null)||Sn(e)}o(El,"getParentNode");function OO(e){return!xn(e)||ei(e).position==="fixed"?null:e.offsetParent}o(OO,"getTrueOffsetParent");function o2(e){var t=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,i=navigator.userAgent.indexOf("Trident")!==-1;if(i&&xn(e)){var a=ei(e);if(a.position==="fixed")return null}for(var p=El(e);xn(p)&&["html","body"].indexOf(sn(p))<0;){var m=ei(p);if(m.transform!=="none"||m.perspective!=="none"||m.contain==="paint"||["transform","perspective"].indexOf(m.willChange)!==-1||t&&m.willChange==="filter"||t&&m.filter&&m.filter!=="none")return p;p=p.parentNode}return null}o(o2,"getContainingBlock");function jo(e){for(var t=wr(e),i=OO(e);i&&Px(i)&&ei(i).position==="static";)i=OO(i);return i&&(sn(i)==="html"||sn(i)==="body"&&ei(i).position==="static")?t:i||o2(e)||t}o(jo,"getOffsetParent");function ff(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}o(ff,"getMainAxisFromPlacement");var po=Math.max,Gu=Math.min,kh=Math.round;function cf(e,t,i){return po(e,Gu(t,i))}o(cf,"within");function Nh(){return{top:0,right:0,bottom:0,left:0}}o(Nh,"getFreshSideObject");function Lh(e){return Object.assign({},Nh(),e)}o(Lh,"mergePaddingObject");function Ph(e,t){return t.reduce(function(i,a){return i[a]=e,i},{})}o(Ph,"expandToHashMap");var s2=o(function(t,i){return t=typeof t=="function"?t(Object.assign({},i.rects,{placement:i.placement})):t,Lh(typeof t!="number"?t:Ph(t,Vu))},"toPaddingObject");function l2(e){var t,i=e.state,a=e.name,p=e.options,m=i.elements.arrow,d=i.modifiersData.popperOffsets,w=ln(i.placement),b=ff(w),L=[zr,Br].indexOf(w)>=0,F=L?"height":"width";if(!(!m||!d)){var Y=s2(p.padding,i),z=af(m),X=b==="y"?Nr:zr,ee=b==="y"?on:Br,J=i.rects.reference[F]+i.rects.reference[b]-d[b]-i.rects.popper[F],I=d[b]-i.rects.reference[b],A=jo(m),W=A?b==="y"?A.clientHeight||0:A.clientWidth||0:0,K=J/2-I/2,V=Y[X],fe=W-z[F]-Y[ee],se=W/2-z[F]/2+K,ce=cf(V,se,fe),me=b;i.modifiersData[a]=(t={},t[me]=ce,t.centerOffset=ce-se,t)}}o(l2,"arrow");function u2(e){var t=e.state,i=e.options,a=i.element,p=a===void 0?"[data-popper-arrow]":a;p!=null&&(typeof p=="string"&&(p=t.elements.popper.querySelector(p),!p)||!Oh(t.elements.popper,p)||(t.elements.arrow=p))}o(u2,"effect");var kO={name:"arrow",enabled:!0,phase:"main",fn:l2,effect:u2,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};var a2={top:"auto",right:"auto",bottom:"auto",left:"auto"};function f2(e){var t=e.x,i=e.y,a=window,p=a.devicePixelRatio||1;return{x:kh(kh(t*p)/p)||0,y:kh(kh(i*p)/p)||0}}o(f2,"roundOffsetsByDPR");function NO(e){var t,i=e.popper,a=e.popperRect,p=e.placement,m=e.offsets,d=e.position,w=e.gpuAcceleration,b=e.adaptive,L=e.roundOffsets,F=L===!0?f2(m):typeof L=="function"?L(m):m,Y=F.x,z=Y===void 0?0:Y,X=F.y,ee=X===void 0?0:X,J=m.hasOwnProperty("x"),I=m.hasOwnProperty("y"),A=zr,W=Nr,K=window;if(b){var V=jo(i),fe="clientHeight",se="clientWidth";V===wr(i)&&(V=Sn(i),ei(V).position!=="static"&&(fe="scrollHeight",se="scrollWidth")),V=V,p===Nr&&(W=on,ee-=V[fe]-a.height,ee*=w?1:-1),p===zr&&(A=Br,z-=V[se]-a.width,z*=w?1:-1)}var ce=Object.assign({position:d},b&&a2);if(w){var me;return Object.assign({},ce,(me={},me[W]=I?"0":"",me[A]=J?"0":"",me.transform=(K.devicePixelRatio||1)<2?"translate("+z+"px, "+ee+"px)":"translate3d("+z+"px, "+ee+"px, 0)",me))}return Object.assign({},ce,(t={},t[W]=I?ee+"px":"",t[A]=J?z+"px":"",t.transform="",t))}o(NO,"mapToStyles");function c2(e){var t=e.state,i=e.options,a=i.gpuAcceleration,p=a===void 0?!0:a,m=i.adaptive,d=m===void 0?!0:m,w=i.roundOffsets,b=w===void 0?!0:w;if(!1)var L;var F={placement:ln(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:p};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,NO(Object.assign({},F,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:d,roundOffsets:b})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,NO(Object.assign({},F,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:b})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}o(c2,"computeStyles");var LO={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:c2,data:{}};var oy={passive:!0};function p2(e){var t=e.state,i=e.instance,a=e.options,p=a.scroll,m=p===void 0?!0:p,d=a.resize,w=d===void 0?!0:d,b=wr(t.elements.popper),L=[].concat(t.scrollParents.reference,t.scrollParents.popper);return m&&L.forEach(function(F){F.addEventListener("scroll",i.update,oy)}),w&&b.addEventListener("resize",i.update,oy),function(){m&&L.forEach(function(F){F.removeEventListener("scroll",i.update,oy)}),w&&b.removeEventListener("resize",i.update,oy)}}o(p2,"effect");var PO={name:"eventListeners",enabled:!0,phase:"write",fn:o(function(){},"fn"),effect:p2,data:{}};var d2={left:"right",right:"left",bottom:"top",top:"bottom"};function lp(e){return e.replace(/left|right|bottom|top/g,function(t){return d2[t]})}o(lp,"getOppositePlacement");var h2={start:"end",end:"start"};function sy(e){return e.replace(/start|end/g,function(t){return h2[t]})}o(sy,"getOppositeVariationPlacement");function pf(e){var t=wr(e),i=t.pageXOffset,a=t.pageYOffset;return{scrollLeft:i,scrollTop:a}}o(pf,"getWindowScroll");function df(e){return co(Sn(e)).left+pf(e).scrollLeft}o(df,"getWindowScrollBarX");function Mx(e){var t=wr(e),i=Sn(e),a=t.visualViewport,p=i.clientWidth,m=i.clientHeight,d=0,w=0;return a&&(p=a.width,m=a.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(d=a.offsetLeft,w=a.offsetTop)),{width:p,height:m,x:d+df(e),y:w}}o(Mx,"getViewportRect");function Ax(e){var t,i=Sn(e),a=pf(e),p=(t=e.ownerDocument)==null?void 0:t.body,m=po(i.scrollWidth,i.clientWidth,p?p.scrollWidth:0,p?p.clientWidth:0),d=po(i.scrollHeight,i.clientHeight,p?p.scrollHeight:0,p?p.clientHeight:0),w=-a.scrollLeft+df(e),b=-a.scrollTop;return ei(p||i).direction==="rtl"&&(w+=po(i.clientWidth,p?p.clientWidth:0)-m),{width:m,height:d,x:w,y:b}}o(Ax,"getDocumentRect");function hf(e){var t=ei(e),i=t.overflow,a=t.overflowX,p=t.overflowY;return/auto|scroll|overlay|hidden/.test(i+p+a)}o(hf,"isScrollParent");function ly(e){return["html","body","#document"].indexOf(sn(e))>=0?e.ownerDocument.body:xn(e)&&hf(e)?e:ly(El(e))}o(ly,"getScrollParent");function Ku(e,t){var i;t===void 0&&(t=[]);var a=ly(e),p=a===((i=e.ownerDocument)==null?void 0:i.body),m=wr(a),d=p?[m].concat(m.visualViewport||[],hf(a)?a:[]):a,w=t.concat(d);return p?w:w.concat(Ku(El(d)))}o(Ku,"listScrollParents");function up(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}o(up,"rectToClientRect");function v2(e){var t=co(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}o(v2,"getInnerBoundingClientRect");function MO(e,t){return t===ry?up(Mx(e)):xn(t)?v2(t):up(Ax(Sn(e)))}o(MO,"getClientRectFromMixedType");function m2(e){var t=Ku(El(e)),i=["absolute","fixed"].indexOf(ei(e).position)>=0,a=i&&xn(e)?jo(e):e;return _l(a)?t.filter(function(p){return _l(p)&&Oh(p,a)&&sn(p)!=="body"}):[]}o(m2,"getClippingParents");function Dx(e,t,i){var a=t==="clippingParents"?m2(e):[].concat(t),p=[].concat(a,[i]),m=p[0],d=p.reduce(function(w,b){var L=MO(e,b);return w.top=po(L.top,w.top),w.right=Gu(L.right,w.right),w.bottom=Gu(L.bottom,w.bottom),w.left=po(L.left,w.left),w},MO(e,m));return d.width=d.right-d.left,d.height=d.bottom-d.top,d.x=d.left,d.y=d.top,d}o(Dx,"getClippingRect");function As(e){return e.split("-")[1]}o(As,"getVariation");function Mh(e){var t=e.reference,i=e.element,a=e.placement,p=a?ln(a):null,m=a?As(a):null,d=t.x+t.width/2-i.width/2,w=t.y+t.height/2-i.height/2,b;switch(p){case Nr:b={x:d,y:t.y-i.height};break;case on:b={x:d,y:t.y+t.height};break;case Br:b={x:t.x+t.width,y:w};break;case zr:b={x:t.x-i.width,y:w};break;default:b={x:t.x,y:t.y}}var L=p?ff(p):null;if(L!=null){var F=L==="y"?"height":"width";switch(m){case Cl:b[L]=b[L]-(t[F]/2-i[F]/2);break;case ty:b[L]=b[L]+(t[F]/2-i[F]/2);break;default:}}return b}o(Mh,"computeOffsets");function qo(e,t){t===void 0&&(t={});var i=t,a=i.placement,p=a===void 0?e.placement:a,m=i.boundary,d=m===void 0?_O:m,w=i.rootBoundary,b=w===void 0?ry:w,L=i.elementContext,F=L===void 0?sp:L,Y=i.altBoundary,z=Y===void 0?!1:Y,X=i.padding,ee=X===void 0?0:X,J=Lh(typeof ee!="number"?ee:Ph(ee,Vu)),I=F===sp?EO:sp,A=e.elements.reference,W=e.rects.popper,K=e.elements[z?I:F],V=Dx(_l(K)?K:K.contextElement||Sn(e.elements.popper),d,b),fe=co(A),se=Mh({reference:fe,element:W,strategy:"absolute",placement:p}),ce=up(Object.assign({},W,se)),me=F===sp?ce:fe,ye={top:V.top-me.top+J.top,bottom:me.bottom-V.bottom+J.bottom,left:V.left-me.left+J.left,right:me.right-V.right+J.right},ze=e.modifiersData.offset;if(F===sp&&ze){var Ye=ze[p];Object.keys(ye).forEach(function(Se){var Et=[Br,on].indexOf(Se)>=0?1:-1,Rt=[Nr,on].indexOf(Se)>=0?"y":"x";ye[Se]+=Ye[Rt]*Et})}return ye}o(qo,"detectOverflow");function Ix(e,t){t===void 0&&(t={});var i=t,a=i.placement,p=i.boundary,m=i.rootBoundary,d=i.padding,w=i.flipVariations,b=i.allowedAutoPlacements,L=b===void 0?ny:b,F=As(a),Y=F?w?Lx:Lx.filter(function(ee){return As(ee)===F}):Vu,z=Y.filter(function(ee){return L.indexOf(ee)>=0});z.length===0&&(z=Y);var X=z.reduce(function(ee,J){return ee[J]=qo(e,{placement:J,boundary:p,rootBoundary:m,padding:d})[ln(J)],ee},{});return Object.keys(X).sort(function(ee,J){return X[ee]-X[J]})}o(Ix,"computeAutoPlacement");function g2(e){if(ln(e)===ey)return[];var t=lp(e);return[sy(e),t,sy(t)]}o(g2,"getExpandedFallbackPlacements");function y2(e){var t=e.state,i=e.options,a=e.name;if(!t.modifiersData[a]._skip){for(var p=i.mainAxis,m=p===void 0?!0:p,d=i.altAxis,w=d===void 0?!0:d,b=i.fallbackPlacements,L=i.padding,F=i.boundary,Y=i.rootBoundary,z=i.altBoundary,X=i.flipVariations,ee=X===void 0?!0:X,J=i.allowedAutoPlacements,I=t.options.placement,A=ln(I),W=A===I,K=b||(W||!ee?[lp(I)]:g2(I)),V=[I].concat(K).reduce(function(Ze,Lr){return Ze.concat(ln(Lr)===ey?Ix(t,{placement:Lr,boundary:F,rootBoundary:Y,padding:L,flipVariations:ee,allowedAutoPlacements:J}):Lr)},[]),fe=t.rects.reference,se=t.rects.popper,ce=new Map,me=!0,ye=V[0],ze=0;ze=0,vt=Rt?"width":"height",rt=qo(t,{placement:Ye,boundary:F,rootBoundary:Y,altBoundary:z,padding:L}),nt=Rt?Et?Br:zr:Et?on:Nr;fe[vt]>se[vt]&&(nt=lp(nt));var Sr=lp(nt),lt=[];if(m&<.push(rt[Se]<=0),w&<.push(rt[nt]<=0,rt[Sr]<=0),lt.every(function(Ze){return Ze})){ye=Ye,me=!1;break}ce.set(Ye,lt)}if(me)for(var jn=ee?3:1,fr=o(function(Lr){var Pt=V.find(function(Mt){var qr=ce.get(Mt);if(qr)return qr.slice(0,Lr).every(function(cr){return cr})});if(Pt)return ye=Pt,"break"},"_loop"),Nt=jn;Nt>0;Nt--){var mt=fr(Nt);if(mt==="break")break}t.placement!==ye&&(t.modifiersData[a]._skip=!0,t.placement=ye,t.reset=!0)}}o(y2,"flip");var AO={name:"flip",enabled:!0,phase:"main",fn:y2,requiresIfExists:["offset"],data:{_skip:!1}};function DO(e,t,i){return i===void 0&&(i={x:0,y:0}),{top:e.top-t.height-i.y,right:e.right-t.width+i.x,bottom:e.bottom-t.height+i.y,left:e.left-t.width-i.x}}o(DO,"getSideOffsets");function IO(e){return[Nr,Br,on,zr].some(function(t){return e[t]>=0})}o(IO,"isAnySideFullyClipped");function w2(e){var t=e.state,i=e.name,a=t.rects.reference,p=t.rects.popper,m=t.modifiersData.preventOverflow,d=qo(t,{elementContext:"reference"}),w=qo(t,{altBoundary:!0}),b=DO(d,a),L=DO(w,p,m),F=IO(b),Y=IO(L);t.modifiersData[i]={referenceClippingOffsets:b,popperEscapeOffsets:L,isReferenceHidden:F,hasPopperEscaped:Y},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":F,"data-popper-escaped":Y})}o(w2,"hide");var FO={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:w2};function x2(e,t,i){var a=ln(e),p=[zr,Nr].indexOf(a)>=0?-1:1,m=typeof i=="function"?i(Object.assign({},t,{placement:e})):i,d=m[0],w=m[1];return d=d||0,w=(w||0)*p,[zr,Br].indexOf(a)>=0?{x:w,y:d}:{x:d,y:w}}o(x2,"distanceAndSkiddingToXY");function S2(e){var t=e.state,i=e.options,a=e.name,p=i.offset,m=p===void 0?[0,0]:p,d=ny.reduce(function(F,Y){return F[Y]=x2(Y,t.rects,m),F},{}),w=d[t.placement],b=w.x,L=w.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=b,t.modifiersData.popperOffsets.y+=L),t.modifiersData[a]=d}o(S2,"offset");var RO={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:S2};function C2(e){var t=e.state,i=e.name;t.modifiersData[i]=Mh({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}o(C2,"popperOffsets");var WO={name:"popperOffsets",enabled:!0,phase:"read",fn:C2,data:{}};function Fx(e){return e==="x"?"y":"x"}o(Fx,"getAltAxis");function _2(e){var t=e.state,i=e.options,a=e.name,p=i.mainAxis,m=p===void 0?!0:p,d=i.altAxis,w=d===void 0?!1:d,b=i.boundary,L=i.rootBoundary,F=i.altBoundary,Y=i.padding,z=i.tether,X=z===void 0?!0:z,ee=i.tetherOffset,J=ee===void 0?0:ee,I=qo(t,{boundary:b,rootBoundary:L,padding:Y,altBoundary:F}),A=ln(t.placement),W=As(t.placement),K=!W,V=ff(A),fe=Fx(V),se=t.modifiersData.popperOffsets,ce=t.rects.reference,me=t.rects.popper,ye=typeof J=="function"?J(Object.assign({},t.rects,{placement:t.placement})):J,ze={x:0,y:0};if(!!se){if(m||w){var Ye=V==="y"?Nr:zr,Se=V==="y"?on:Br,Et=V==="y"?"height":"width",Rt=se[V],vt=se[V]+I[Ye],rt=se[V]-I[Se],nt=X?-me[Et]/2:0,Sr=W===Cl?ce[Et]:me[Et],lt=W===Cl?-me[Et]:-ce[Et],jn=t.elements.arrow,fr=X&&jn?af(jn):{width:0,height:0},Nt=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:Nh(),mt=Nt[Ye],Ze=Nt[Se],Lr=cf(0,ce[Et],fr[Et]),Pt=K?ce[Et]/2-nt-Lr-mt-ye:Sr-Lr-mt-ye,Mt=K?-ce[Et]/2+nt+Lr+Ze+ye:lt+Lr+Ze+ye,qr=t.elements.arrow&&jo(t.elements.arrow),cr=qr?V==="y"?qr.clientTop||0:qr.clientLeft||0:0,_n=t.modifiersData.offset?t.modifiersData.offset[t.placement][V]:0,En=se[V]+Pt-_n-cr,Xt=se[V]+Mt-_n;if(m){var je=cf(X?Gu(vt,En):vt,Rt,X?po(rt,Xt):rt);se[V]=je,ze[V]=je-Rt}if(w){var bn=V==="x"?Nr:zr,an=V==="x"?on:Br,qn=se[fe],ni=qn+I[bn],fn=qn-I[an],Qt=cf(X?Gu(ni,En):ni,qn,X?po(fn,Xt):fn);se[fe]=Qt,ze[fe]=Qt-qn}}t.modifiersData[a]=ze}}o(_2,"preventOverflow");var HO={name:"preventOverflow",enabled:!0,phase:"main",fn:_2,requiresIfExists:["offset"]};function Rx(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}o(Rx,"getHTMLElementScroll");function Wx(e){return e===wr(e)||!xn(e)?pf(e):Rx(e)}o(Wx,"getNodeScroll");function Hx(e,t,i){i===void 0&&(i=!1);var a=Sn(t),p=co(e),m=xn(t),d={scrollLeft:0,scrollTop:0},w={x:0,y:0};return(m||!m&&!i)&&((sn(t)!=="body"||hf(a))&&(d=Wx(t)),xn(t)?(w=co(t),w.x+=t.clientLeft,w.y+=t.clientTop):a&&(w.x=df(a))),{x:p.left+d.scrollLeft-w.x,y:p.top+d.scrollTop-w.y,width:p.width,height:p.height}}o(Hx,"getCompositeRect");function E2(e){var t=new Map,i=new Set,a=[];e.forEach(function(m){t.set(m.name,m)});function p(m){i.add(m.name);var d=[].concat(m.requires||[],m.requiresIfExists||[]);d.forEach(function(w){if(!i.has(w)){var b=t.get(w);b&&p(b)}}),a.push(m)}return o(p,"sort"),e.forEach(function(m){i.has(m.name)||p(m)}),a}o(E2,"order");function Ux(e){var t=E2(e);return bO.reduce(function(i,a){return i.concat(t.filter(function(p){return p.phase===a}))},[])}o(Ux,"orderModifiers");function Bx(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}o(Bx,"debounce");function zx(e){var t=e.reduce(function(i,a){var p=i[a.name];return i[a.name]=p?Object.assign({},p,a,{options:Object.assign({},p.options,a.options),data:Object.assign({},p.data,a.data)}):a,i},{});return Object.keys(t).map(function(i){return t[i]})}o(zx,"mergeByName");var UO={placement:"bottom",modifiers:[],strategy:"absolute"};function BO(){for(var e=arguments.length,t=new Array(e),i=0;iur.default.createElement("li",{role:"separator",className:"divider"}),"Divider");function Cn({onClick:e,children:t,...i}){return ur.default.createElement("li",null,ur.default.createElement("a",{href:"#",onClick:o(p=>{p.preventDefault(),e()},"click"),...i},t))}o(Cn,"MenuItem");function fy({title:e,children:t}){let[i,a]=(0,ur.useState)(!1),[p,m]=(0,ur.useState)(null),[d,w]=(0,ur.useState)(null),{styles:b,attributes:L}=ay(p,d,{placement:"right-start"}),F=null;return i&&(F=ur.default.createElement("ul",{className:"dropdown-menu show",ref:w,style:b.popper,...L.popper},t)),ur.default.createElement("li",{ref:m,onMouseEnter:()=>a(!0),onMouseLeave:()=>a(!1)},ur.default.createElement("a",null,ur.default.createElement("i",{className:"fa fa-caret-right pull-right","aria-hidden":"true"})," ",e),F)}o(fy,"SubMenu");var ap=ur.default.memo(o(function({text:t,children:i,options:a,className:p,onOpen:m,...d}){let[w,b]=(0,ur.useState)(null),[L,F]=(0,ur.useState)(!1),[Y,z]=(0,ur.useState)(null),{styles:X,attributes:ee}=ay(w,Y,{...a}),J=o(A=>{F(A),m&&m(A)},"setOpen");(0,ur.useEffect)(()=>{!L||setTimeout(()=>{document.addEventListener("click",()=>{setTimeout(()=>J(!1))},{once:!0})})},[L]);let I;return L?I=ur.default.createElement("ul",{className:"dropdown-menu show",ref:z,style:X.popper,...ee.popper},i):I=null,ur.default.createElement(ur.default.Fragment,null,ur.default.createElement("a",{href:"#",ref:b,className:(0,VO.default)(p,{open:L}),onClick:()=>J(!0),...d},t),I)},"Dropdown"));var qx=o(({flow:e})=>Qe.default.createElement("td",{className:(0,cy.default)("col-tls",e.client_conn.tls_established?"col-tls-https":"col-tls-http")}),"TLSColumn");qx.headerClass="col-tls";qx.headerName="";var $x=o(({flow:e})=>Qe.default.createElement("td",{className:"col-icon"},Qe.default.createElement("div",{className:(0,cy.default)("resource-icon",P2(e))})),"IconColumn");$x.headerClass="col-icon";$x.headerName="";var P2=o(e=>{if(e.type!=="http"||!e.response)return"resource-icon-plain";var t=Sl.getContentType(e.response)||"";return e.response.status_code===304?"resource-icon-not-modified":300<=e.response.status_code&&e.response.status_code<400?"resource-icon-redirect":t.indexOf("image")>=0?"resource-icon-image":t.indexOf("javascript")>=0?"resource-icon-js":t.indexOf("css")>=0?"resource-icon-css":t.indexOf("html")>=0?"resource-icon-document":"resource-icon-plain"},"getIcon"),Vx=o(({flow:e})=>{let t;return e.error&&(e.error.msg==="Connection killed."?t=Qe.default.createElement("i",{className:"fa fa-fw fa-times pull-right"}):t=Qe.default.createElement("i",{className:"fa fa-fw fa-exclamation pull-right"})),Qe.default.createElement("td",{className:"col-path"},e.is_replay==="request"&&Qe.default.createElement("i",{className:"fa fa-fw fa-repeat pull-right"}),e.intercepted&&Qe.default.createElement("i",{className:"fa fa-fw fa-pause pull-right"}),t,e.type==="http"?fo.pretty_url(e.request):null)},"PathColumn");Vx.headerClass="col-path";Vx.headerName="Path";var Gx=o(({flow:e})=>Qe.default.createElement("td",{className:"col-method"},e.type==="http"?e.request.method:e.type.toLowerCase()),"MethodColumn");Gx.headerClass="col-method";Gx.headerName="Method";var Kx=o(({flow:e})=>{let t="darkred";return e.type!=="http"||!e.response?Qe.default.createElement("td",{className:"col-status"}):(100<=e.response.status_code&&e.response.status_code<200?t="green":200<=e.response.status_code&&e.response.status_code<300?t="darkgreen":300<=e.response.status_code&&e.response.status_code<400?t="lightblue":(400<=e.response.status_code&&e.response.status_code<500||500<=e.response.status_code&&e.response.status_code<600)&&(t="lightred"),Qe.default.createElement("td",{className:"col-status",style:{color:t}},e.response.status_code))},"StatusColumn");Kx.headerClass="col-status";Kx.headerName="Status";var Yx=o(({flow:e})=>Qe.default.createElement("td",{className:"col-size"},Jc(M2(e))),"SizeColumn"),M2=o(e=>{if(e.type!=="http")return 0;let t=e.request.contentLength;return e.response&&(t+=e.response.contentLength||0),t},"getTotalSize");Yx.headerClass="col-size";Yx.headerName="Size";var Xx=o(({flow:e})=>Qe.default.createElement("td",{className:"col-time"},e.type==="http"&&e.response?.timestamp_end?Wg(1e3*(e.response.timestamp_end-e.request.timestamp_start)):"..."),"TimeColumn");Xx.headerClass="col-time";Xx.headerName="Time";var Qx=o(({flow:e})=>Qe.default.createElement("td",{className:"col-start"},e.type==="http"&&e.request.timestamp_start?ep(e.request.timestamp_start):"..."),"TimeStampColumn");Qx.headerClass="col-timestamp";Qx.headerName="TimeStamp";var vf=o(({flow:e})=>{let t=xl(),[i,a]=(0,Qe.useState)(!1),p=o(b=>{!e||Ft(`/flows/${e.id}/export/${b}.json`,{method:"POST"}).then(L=>L.json()).then(L=>{navigator.clipboard.writeText(L.export)})},"copy"),m=null;if(e.intercepted?m=Qe.default.createElement("a",{href:"#",className:"quickaction",onClick:()=>t(rp(e))},Qe.default.createElement("i",{className:"fa fa-fw fa-play text-success"})):m=Qe.default.createElement("a",{href:"#",className:"quickaction",onClick:()=>t(np(e))},Qe.default.createElement("i",{className:"fa fa-fw fa-repeat text-primary"})),e.type!=="http")return Qe.default.createElement("td",{className:"col-quickactions"});let d=o(b=>t(CO(b)),"filt"),w=e.response&&Sl.getContentType(e.response);return Qe.default.createElement("td",{className:(0,cy.default)("col-quickactions",{hover:i}),onClick:b=>0},Qe.default.createElement("div",null,m,Qe.default.createElement(ap,{text:Qe.default.createElement("i",{className:"fa fa-fw fa-ellipsis-h text-muted"}),className:"quickaction",onOpen:a,options:{placement:"bottom-end"}},Qe.default.createElement(fy,{title:"Copy..."},Qe.default.createElement(Cn,{onClick:()=>p("raw_request")},"Copy raw request"),Qe.default.createElement(Cn,{onClick:()=>p("raw_response")},"Copy raw response"),Qe.default.createElement(Cn,{onClick:()=>p("raw")},"Copy raw request and response"),Qe.default.createElement(Cn,{onClick:()=>p("curl")},"Copy as cURL"),Qe.default.createElement(Cn,{onClick:()=>p("httpie")},"Copy as HTTPie")),Qe.default.createElement(fy,{title:"Intercept requests like this"},Qe.default.createElement(Cn,{onClick:()=>d(`~q ${e.request.host}`)},"Requests to ",e.request.host),e.request.path!=="/"&&Qe.default.createElement(Cn,{onClick:()=>d(`~q ${e.request.host}${e.request.path}`)},"Requests to ",e.request.host+e.request.path),e.request.method!=="GET"&&Qe.default.createElement(Cn,{onClick:()=>d(`~q ~m ${e.request.method} ${e.request.host}`)},e.request.method," requests to ",e.request.host)),Qe.default.createElement(fy,{title:"Intercept responses like this"},Qe.default.createElement(Cn,{onClick:()=>d(`~s ${e.request.host}`)},"Responses from ",e.request.host),e.request.path!=="/"&&Qe.default.createElement(Cn,{onClick:()=>d(`~s ${e.request.host}${e.request.path}`)},"Responses from ",e.request.host+e.request.path),!!w&&Qe.default.createElement(Cn,{onClick:()=>d(`~ts ${w}`)},"Responses with a ",w," content type.")))))},"QuickActionsColumn");vf.headerClass="col-quickactions";vf.headerName="";var Ah={};for(let e of[qx,$x,Vx,Gx,Kx,Qx,Yx,Xx,vf])Ah[e.name.replace(/Column$/,"").toLowerCase()]=e;function Zx(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}o(Zx,"_defineProperty");function KO(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(p){return Object.getOwnPropertyDescriptor(e,p).enumerable})),i.push.apply(i,a)}return i}o(KO,"ownKeys");function py(e){for(var t=1;ti[a.level]))};case QO:case I2:return{...e,...Bo(e,Eh[t.cmd](t.data,a=>e.filters[a.level]))};default:return e}}o(rS,"reduce");function ek(e){return{type:JO,filter:e}}o(ek,"toggleFilter");function fp(){return{type:ZO}}o(fp,"toggleVisibility");function tk(e,t="web"){let i={id:Math.random().toString(),message:e,level:t};return{type:QO,cmd:"add",data:i}}o(tk,"add");var rk="UI_SET_ACTIVE_MENU",R2={activeMenu:"Start",isFlowSelected:!1};function nS(e=R2,t){switch(t.type){case rk:return{...e,activeMenu:t.activeMenu};case tp:if(t.flowIds.length>0&&!e.isFlowSelected)return{...e,activeMenu:"Flow",isFlowSelected:!0};if(t.flowIds.length===0&&e.isFlowSelected){let i=e.activeMenu;return i==="Flow"&&(i="Start"),{...e,activeMenu:i,isFlowSelected:!1}}return e;default:return e}}o(nS,"reducer");function nk(e){return{type:rk,activeMenu:e}}o(nk,"setActiveMenu");var ik=hy({flow:QT,header:nS,modal:Cx,optionsEditor:bx});var Un;(function(m){m.INIT="CONNECTION_INIT",m.FETCHING="CONNECTION_FETCHING",m.ESTABLISHED="CONNECTION_ESTABLISHED",m.ERROR="CONNECTION_ERROR",m.OFFLINE="CONNECTION_OFFLINE"})(Un||(Un={}));var W2={state:Un.INIT,message:void 0},H2=o((e=W2,t)=>{switch(t.type){case Un.ESTABLISHED:case Un.FETCHING:case Un.ERROR:case Un.OFFLINE:return{state:t.type,message:t.message};default:return e}},"reducer"),ok=H2;function sk(){return{type:Un.FETCHING}}o(sk,"startFetching");function lk(){return{type:Un.ESTABLISHED}}o(lk,"connectionEstablished");function uk(e){return{type:Un.ERROR,message:e}}o(uk,"connectionError");function ak(e){return function(t){var i=t.dispatch,a=t.getState;return function(p){return function(m){return typeof m=="function"?m(i,a,e):p(m)}}}}o(ak,"createThunkMiddleware");var fk=ak();fk.withExtraArgument=ak;var ck=fk;var U2=window.MITMWEB_CONF||{static:!1,version:"1.2.3",contentViews:["Auto","Raw"]},B2=o((e=U2,t)=>e,"reducer"),pk=B2;var z2={},j2=o((e=z2,t)=>{switch(t.type){case Tx:return t.data;case Ox:return{...e,...t.data};default:return e}},"reducer"),dk=j2;var q2=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__||tS,$2=hy({eventLog:rS,flows:xx,connection:ok,ui:ik,options:xO,options_meta:dk,conf:pk}),V2=o(e=>eS($2,e,q2(XO(ck))),"createAppStore"),cp=V2(void 0),$o=o(()=>xl(),"useAppDispatch"),ar=tx;var vk=vy.default.memo(o(function(){let t=$o(),i=ar(w=>w.flows.sort.desc),a=ar(w=>w.flows.sort.column),p=ar(w=>w.options.web_columns),m=i?"sort-desc":"sort-asc",d=p.map(w=>Ah[w]).concat(vf);return vy.default.createElement("tr",null,d.map(w=>vy.default.createElement("th",{className:(0,hk.default)(w.headerClass,a===w.name&&m),key:w.name,onClick:()=>t(IT(w.name,w.name!==a?!1:!i))},w.headerName)))},"FlowTableHead"));var pp=re(ke()),mk=re(xi());var gk=pp.default.memo(o(function({flow:t,selected:i,highlighted:a}){let p=$o(),m=ar(L=>L.options.web_columns),d=(0,mk.default)({selected:i,highlighted:a,intercepted:t.intercepted,"has-request":t.type==="http"&&t.request,"has-response":t.type==="http"&&t.response}),w=(0,pp.useCallback)(L=>{let F=L.target;for(;F.parentNode;){if(F.classList.contains("col-quickactions"))return;F=F.parentNode}p(sf(t.id))},[t]),b=m.map(L=>Ah[L]).concat(vf);return pp.default.createElement("tr",{className:d,onClick:w},b.map(L=>pp.default.createElement(L,{key:L.name,flow:t})))},"FlowRow"));var Ih=class extends Ds.default.Component{constructor(t,i){super(t,i);this.state={vScroll:op()},this.onViewportUpdate=this.onViewportUpdate.bind(this)}UNSAFE_componentWillMount(){window.addEventListener("resize",this.onViewportUpdate)}UNSAFE_componentWillUnmount(){window.removeEventListener("resize",this.onViewportUpdate)}componentDidUpdate(){if(this.onViewportUpdate(),!this.shouldScrollIntoView)return;this.shouldScrollIntoView=!1;let{rowHeight:t,flows:i,selected:a}=this.props,p=my.default.findDOMNode(this),m=my.default.findDOMNode(this.refs.head),d=m?m.offsetHeight:0,w=i.indexOf(a)*t+d,b=w+t,L=p.scrollTop,F=p.offsetHeight;w-dL+F&&(p.scrollTop=b-F)}UNSAFE_componentWillReceiveProps(t){t.selected&&t.selected!==this.props.selected&&(this.shouldScrollIntoView=!0)}onViewportUpdate(){let t=my.default.findDOMNode(this),i=t.scrollTop||0,a=op({viewportTop:i,viewportHeight:t.offsetHeight||0,itemCount:this.props.flows.length,rowHeight:this.props.rowHeight});(this.state.viewportTop!==i||!(0,yk.default)(this.state.vScroll,a))&&this.setState({vScroll:a,viewportTop:i})}render(){let{vScroll:t,viewportTop:i}=this.state,{flows:a,selected:p,highlight:m}=this.props,d=m?nf.parse(m):()=>!1;return Ds.default.createElement("div",{className:"flow-table",onScroll:this.onViewportUpdate},Ds.default.createElement("table",null,Ds.default.createElement("thead",{ref:"head",style:{transform:`translateY(${i}px)`}},Ds.default.createElement(vk,null)),Ds.default.createElement("tbody",null,Ds.default.createElement("tr",{style:{height:t.paddingTop}}),a.slice(t.start,t.end).map(w=>Ds.default.createElement(gk,{key:w.id,flow:w,selected:w===p,highlighted:d(w)})),Ds.default.createElement("tr",{style:{height:t.paddingBottom}}))))}};o(Ih,"FlowTable"),At(Ih,"propTypes",{flows:Dh.default.array.isRequired,rowHeight:Dh.default.number,highlight:Dh.default.string,selected:Dh.default.object}),At(Ih,"defaultProps",{rowHeight:32});var G2=Zg(Ih),wk=et(e=>({flows:e.flows.view,highlight:e.flows.highlight,selected:e.flows.byId[e.flows.selected[0]]}))(G2);var Ly=re(ke());var qk=re(Uo());var Fh=re(ke()),mf=re(It());var xk=re(xi()),Sk=re(Uo());K2.propTypes={icon:mf.default.string.isRequired,title:mf.default.string.isRequired,onClick:mf.default.func.isRequired};function K2({icon:e,title:t,onClick:i}){return Fh.default.createElement("a",{title:t,href:"#",className:"nav-action",onClick:a=>{a.preventDefault(),i(a)}},Fh.default.createElement("i",{className:`fa fa-fw ${e}`}))}o(K2,"NavAction");gy.propTypes={active:mf.default.string.isRequired,tabs:mf.default.array.isRequired,onSelectTab:mf.default.func.isRequired};function gy({active:e,tabs:t,onSelectTab:i}){return Fh.default.createElement("nav",{className:"nav-tabs nav-tabs-sm"},t.map(a=>Fh.default.createElement("a",{key:a,href:"#",className:(0,xk.default)({active:e===a}),onClick:p=>{p.preventDefault(),i(a)}},Sk.default.capitalize(a))))}o(gy,"Nav");var Ke=re(ke()),Bk=re(It());var Qu=re(ke()),dS=re(It());var Vo=re(ke()),Xu=re(It());var Rh=re(ke()),yy=re(It());function wy(e){return class extends Rh.default.Component{static displayName=e.displayName||e.name;static matches=e.matches;static propTypes={...e.propTypes,content:yy.default.string,flow:yy.default.object.isRequired,message:yy.default.object.isRequired};constructor(t){super(t);this.state={content:void 0,request:void 0}}componentDidMount(){this.updateContent(this.props)}UNSAFE_componentWillReceiveProps(t){(t.message.content!==this.props.message.content||t.message.contentHash!==this.props.message.contentHash||t.contentView!==this.props.contentView)&&this.updateContent(t)}componentWillUnmount(){this.state.request&&this.state.request.abort()}updateContent(t){if(this.state.request&&this.state.request.abort(),t.message.content!==void 0)return this.setState({request:void 0,content:t.message.content});if(t.message.contentLength===0)return this.setState({request:void 0,content:""});let i=zo.getContentURL(t.flow,t.message,t.contentView),a=new XMLHttpRequest;a.addEventListener("load",this.requestComplete.bind(this,a)),a.addEventListener("error",this.requestFailed.bind(this,a)),a.open("GET",i),a.send(),this.setState({request:a,content:void 0})}requestComplete(t,i){t===this.state.request&&this.setState({content:t.responseText,request:void 0})}requestFailed(t,i){t===this.state.request&&(console.error(i),this.setState({content:"Error getting content.",request:void 0}))}render(){return this.state.content!==void 0?Rh.default.createElement(e,{content:this.state.content,...this.props}):Rh.default.createElement("div",{className:"text-center"},Rh.default.createElement("i",{className:"fa fa-spinner fa-spin"}))}}}o(wy,"withContentLoader");var lS=re(ke()),uS=re(It());var xy=re(ke()),_k=re(xi()),Ek=re(Ck()),sS=re(Uo());function bk(e){return e&&e.replace(/\r\n|\r/g,` +`)}o(bk,"normalizeLineEndings");var dp=class extends xy.default.Component{constructor(t){super(t);this.state={isFocused:!1}}getCodeMirrorInstance(){return this.props.codeMirrorInstance||Ek.default}UNSAFE_componentWillMount(){this.componentWillReceiveProps=sS.default.debounce(this.componentWillReceiveProps,0),this.props.path&&console.error("Warning: react-codemirror: the `path` prop has been changed to `name`")}componentDidMount(){let t=this.getCodeMirrorInstance();this.codeMirror=t.fromTextArea(this.textareaNode,this.props.options),this.codeMirror.on("change",this.codemirrorValueChanged),this.codeMirror.on("cursorActivity",this.cursorActivity),this.codeMirror.on("focus",this.focusChanged.bind(this,!0)),this.codeMirror.on("blur",this.focusChanged.bind(this,!1)),this.codeMirror.on("scroll",this.scrollChanged),this.codeMirror.setValue(this.props.defaultValue||this.props.value||"")}componentWillUnmount(){this.codeMirror&&this.codeMirror.toTextArea()}UNSAFE_componentWillReceiveProps(t){if(this.codeMirror&&t.value!==void 0&&t.value!==this.props.value&&bk(this.codeMirror.getValue())!==bk(t.value))if(this.props.preserveScrollPosition){var i=this.codeMirror.getScrollInfo();this.codeMirror.setValue(t.value),this.codeMirror.scrollTo(i.left,i.top)}else this.codeMirror.setValue(t.value);if(typeof t.options=="object")for(let a in t.options)t.options.hasOwnProperty(a)&&this.setOptionIfChanged(a,t.options[a])}setOptionIfChanged(t,i){let a=this.codeMirror.getOption(t);sS.default.isEqual(a,i)||this.codeMirror.setOption(t,i)}getCodeMirror(){return this.codeMirror}focus(){this.codeMirror&&this.codeMirror.focus()}focusChanged(t){this.setState({isFocused:t}),this.props.onFocusChange&&this.props.onFocusChange(t)}cursorActivity(t){this.props.onCursorActivity&&this.props.onCursorActivity(t)}scrollChanged(t){this.props.onScroll&&this.props.onScroll(t.getScrollInfo())}codemirrorValueChanged(t,i){this.props.onChange&&i.origin!=="setValue"&&this.props.onChange(t.getValue(),i)}render(){let t=(0,_k.default)("ReactCodeMirror",this.state.isFocused?"ReactCodeMirror--focused":null,this.props.className);return xy.default.createElement("div",{className:t},xy.default.createElement("textarea",{ref:i=>this.textareaNode=i,name:this.props.name||this.props.path,defaultValue:this.props.value,autoComplete:"off",autoFocus:this.props.autoFocus}))}};o(dp,"CodeMirror"),dp.defaultProps={preserveScrollPosition:!1};Sy.propTypes={content:uS.default.string.isRequired,onChange:uS.default.func.isRequired};function Sy({content:e,onChange:t}){return lS.default.createElement("div",{className:"codeeditor",onKeyDown:a=>a.stopPropagation()},lS.default.createElement(dp,{value:e,onChange:t,options:{lineNumbers:!0}}))}o(Sy,"CodeEditor");var Y2=/^image\/(png|jpe?g|gif|webp|vnc.microsoft.icon|x-icon)$/i;hp.matches=e=>Y2.test(zo.getContentType(e));hp.propTypes={flow:Xu.default.object.isRequired,message:Xu.default.object.isRequired};function hp({flow:e,message:t}){return Vo.default.createElement("div",{className:"flowview-image"},Vo.default.createElement("img",{src:zo.getContentURL(e,t),alt:"preview",className:"img-thumbnail"}))}o(hp,"ViewImage");Wh.propTypes={content:Xu.default.string.isRequired};function Wh({content:e,onChange:t}){return Vo.default.createElement(Sy,{content:e,onChange:t})}o(Wh,"Edit");Wh=wy(Wh);var Cy=class extends Vo.Component{UNSAFE_componentWillMount(){this.setContentView(this.props)}UNSAFE_componentWillReceiveProps(t){t.content!==this.props.content&&this.setContentView(t)}setContentView(t){try{this.data=JSON.parse(t.content)}catch(i){this.data={lines:[],description:i.message}}t.setContentViewDescription(t.contentView!==this.data.description?this.data.description:""),t.setContent(this.data.lines)}render(){let{content:t,contentView:i,message:a,maxLines:p}=this.props,m=this.props.showFullContent?this.data.lines:this.data.lines.slice(0,p);return Vo.default.createElement("div",null,hp.matches(a)&&Vo.default.createElement(hp,{...this.props}),Vo.default.createElement("pre",null,m.map((d,w)=>Vo.default.createElement("div",{key:`line${w}`},d.map((b,L)=>{let[F,Y]=b;return Vo.default.createElement("span",{key:`tuple${L}`,className:F},Y)})))))}};o(Cy,"PureViewServer"),At(Cy,"propTypes",{showFullContent:Xu.default.bool.isRequired,maxLines:Xu.default.number.isRequired,setContentViewDescription:Xu.default.func.isRequired,setContent:Xu.default.func.isRequired});var Tk=et(e=>({showFullContent:e.ui.flow.showFullContent,maxLines:e.ui.flow.maxContentLines}),{setContentViewDescription:tO,setContent:nO})(wy(Cy));var bl=re(ke());var Ok=re(ke()),kk=re(It());var Hh=re(ke()),_y=Hh.default.memo(o(function({icon:t,text:i,className:a,title:p,onOpenFile:m,onClick:d}){let w;return Hh.default.createElement("a",{href:"#",onClick:b=>{w.click(),d&&d(b)},className:a,title:p},Hh.default.createElement("i",{className:"fa fa-fw "+t}),i,Hh.default.createElement("input",{ref:b=>w=b,className:"hidden",type:"file",onChange:b=>{b.preventDefault(),b.target.files&&b.target.files.length>0&&m(b.target.files[0]),w.value=""}}))},"FileChooser"));vp.propTypes={uploadContent:kk.default.func.isRequired};function vp({uploadContent:e}){return Ok.default.createElement(_y,{icon:"fa-upload",title:"Upload a file to replace the content.",onOpenFile:e,className:"btn btn-default btn-xs"})}o(vp,"UploadContentButton");var aS=re(ke());var fS=re(It());mp.propTypes={flow:fS.default.object.isRequired,message:fS.default.object.isRequired};function mp({flow:e,message:t}){return aS.default.createElement("a",{className:"btn btn-default btn-xs",href:zo.getContentURL(e,t),title:"Download the content of the flow."},aS.default.createElement("i",{className:"fa fa-download"}))}o(mp,"DownloadContentButton");function Nk({flow:e,message:t}){return bl.default.createElement("div",{className:"alert alert-info"},"No ",e.request===t?"request":"response"," content.")}o(Nk,"ContentEmpty");function Lk({flow:e,message:t}){return bl.default.createElement("div",{className:"alert alert-info"},e.request===t?"Request":"Response"," content missing.")}o(Lk,"ContentMissing");function Pk({message:e,onClick:t,uploadContent:i,flow:a}){return bl.default.createElement("div",null,bl.default.createElement("div",{className:"alert alert-warning"},bl.default.createElement("button",{onClick:t,className:"btn btn-xs btn-warning pull-right"},"Display anyway"),Jc(e.contentLength)," content size."),bl.default.createElement("div",{className:"view-options text-center"},bl.default.createElement(vp,{uploadContent:i}),"\xA0",bl.default.createElement(mp,{flow:a,message:e})))}o(Pk,"ContentTooLarge");var Ey=re(ke()),pS=re(It());var Ez=re(Ms());var cS=re(ke()),Uh=re(It()),Mk=re(xi());Bn.propTypes={onClick:Uh.default.func.isRequired,children:Uh.default.node,icon:Uh.default.string,title:Uh.default.string};function Bn({onClick:e,children:t,icon:i,disabled:a,className:p,title:m}){return cS.default.createElement("button",{className:(0,Mk.default)(p,"btn btn-default"),onClick:a?void 0:e,disabled:a,title:m},i&&cS.default.createElement("i",{className:"fa fa-fw "+i}),t)}o(Bn,"Button");Ak.propTypes={setShowFullContent:pS.default.func.isRequired,showFullContent:pS.default.bool.isRequired};function Ak({setShowFullContent:e,showFullContent:t,visibleLines:i,contentLines:a}){return!t&&Ey.default.createElement("div",null,Ey.default.createElement(Bn,{className:"view-all-content-btn btn-xs",onClick:()=>e()},"Show full content"),Ey.default.createElement("span",{className:"pull-right"}," ",i,"/",a," are visible \xA0 "))}o(Ak,"ShowFullContentButton");var Dk=et(e=>({showFullContent:e.ui.flow.showFullContent,visibleLines:e.ui.flow.maxContentLines,contentLines:e.ui.flow.content.length}),{setShowFullContent:rO})(Ak);by.propTypes={flow:dS.default.object.isRequired,message:dS.default.object.isRequired};by.isContentTooLarge=e=>e.contentLength>1024*1024*(hp.matches(e)?10:.2);function by(e){let{flow:t,message:i,contentView:a,isDisplayLarge:p,displayLarge:m,onContentChange:d,readonly:w}=e;if(i.contentLength===0&&w)return Qu.default.createElement(Nk,{...e});if(i.contentLength===null&&w)return Qu.default.createElement(Lk,{...e});if(!p&&by.isContentTooLarge(i))return Qu.default.createElement(Pk,{...e,onClick:m});let b;return a==="Edit"?b=Qu.default.createElement(Wh,{flow:t,message:i,onChange:d}):b=Qu.default.createElement(Tk,{flow:t,message:i,contentView:a}),Qu.default.createElement("div",{className:"contentview"},b,Qu.default.createElement(Dk,null))}o(by,"ContentView");var hS=et(e=>({contentView:e.ui.flow.contentView,isDisplayLarge:e.ui.flow.displayLarge}),{displayLarge:JT,updateEdit:Kg})(by);var Zu=re(ke()),vS=re(It());var gf=re(ke());var Ik=gf.default.memo(o(function(){let t=$o(),i=ar(m=>m.conf.contentViews||[]),a=ar(m=>m.ui.flow.contentView),p=gf.default.createElement("span",null,gf.default.createElement("b",null,"View:")," ",a.toLowerCase()," ",gf.default.createElement("span",{className:"caret"}));return gf.default.createElement(ap,{text:p,className:"btn btn-default btn-xs pull-left",options:{placement:"top-start"}},i.map(m=>gf.default.createElement(Cn,{key:m,onClick:()=>t(ZT(m))},m.toLowerCase().replace("_"," "))))},"ViewSelector"));Fk.propTypes={flow:vS.default.object.isRequired,message:vS.default.object.isRequired};function Fk({flow:e,message:t,uploadContent:i,readonly:a,contentViewDescription:p}){return Zu.default.createElement("div",{className:"view-options"},a?Zu.default.createElement(Ik,{message:t}):Zu.default.createElement("span",null,Zu.default.createElement("b",null,"View:")," edit"),"\xA0",Zu.default.createElement(mp,{flow:e,message:t}),"\xA0",!a&&Zu.default.createElement(vp,{uploadContent:i}),"\xA0",a&&Zu.default.createElement("span",null,p))}o(Fk,"ContentViewOptions");var mS=et(e=>({contentViewDescription:e.ui.flow.viewDescription,readonly:!e.ui.flow.modifiedFlow}))(Fk);var Oy=re(ke()),gp=re(It());var Ty=re(ke()),yf=re(It()),gS=re(Uo()),Rk=re(xi());var ho=class extends Ty.Component{constructor(t){super(t);this.state={editable:!1},this.onPaste=this.onPaste.bind(this),this.onMouseDown=this.onMouseDown.bind(this),this.onMouseUp=this.onMouseUp.bind(this),this.onFocus=this.onFocus.bind(this),this.onClick=this.onClick.bind(this),this.blur=this.blur.bind(this),this.onBlur=this.onBlur.bind(this),this.reset=this.reset.bind(this),this.onKeyDown=this.onKeyDown.bind(this),this.onInput=this.onInput.bind(this)}blur(){this.input.blur()}reset(){this.input.innerHTML=gS.default.escape(this.props.content)}render(){let t=(0,Rk.default)("inline-input",{readonly:this.props.readonly,editable:!this.props.readonly},this.props.className);return Ty.default.createElement("div",{ref:i=>this.input=i,tabIndex:this.props.readonly?void 0:0,className:t,contentEditable:this.state.editable||void 0,onFocus:this.onFocus,onMouseDown:this.onMouseDown,onClick:this.onClick,onBlur:this.onBlur,onKeyDown:this.onKeyDown,onInput:this.onInput,onPaste:this.onPaste,dangerouslySetInnerHTML:{__html:gS.default.escape(this.props.content)}})}onPaste(t){t.preventDefault();var i=t.clipboardData.getData("text/plain");document.execCommand("insertHTML",!1,i)}onMouseDown(t){this._mouseDown=!0,window.addEventListener("mouseup",this.onMouseUp)}onMouseUp(){this._mouseDown&&(this._mouseDown=!1,window.removeEventListener("mouseup",this.onMouseUp))}onClick(t){this.onMouseUp(),this.onFocus(t)}onFocus(t){if(this._mouseDown||this._ignore_events||this.state.editable||this.props.readonly)return;let i=window.getSelection(),a;if(i.rangeCount>0)a=i.getRangeAt(0);else if(document.caretPositionFromPoint&&t.clientX&&t.clientY){let p=document.caretPositionFromPoint(t.clientX,t.clientY);a=document.createRange(),a.setStart(p.offsetNode,p.offset)}else document.caretRangeFromPoint&&t.clientX&&t.clientY?a=document.caretRangeFromPoint(t.clientX,t.clientY):(a=document.createRange(),a.selectNodeContents(this.input));this._ignore_events=!0,this.setState({editable:!0},()=>{this.input.blur(),this.input.focus(),this._ignore_events=!1,a.selectNodeContents(this.input),i.removeAllRanges(),i.addRange(a)})}onBlur(t){this._ignore_events||this.props.readonly||(window.getSelection().removeAllRanges(),this.setState({editable:!1}),this.props.onDone(this.input.textContent))}onKeyDown(t){switch(t.stopPropagation(),t.keyCode){case dt.ESC:t.preventDefault(),this.reset(),this.blur();break;case dt.ENTER:t.shiftKey||(t.preventDefault(),this.blur());break;default:break}this.props.onKeyDown(t)}onInput(){this.props.onInput(this.input.textContent)}};o(ho,"ValueEditor"),At(ho,"propTypes",{content:yf.default.string.isRequired,readonly:yf.default.bool,onDone:yf.default.func.isRequired,className:yf.default.string,onInput:yf.default.func,onKeyDown:yf.default.func}),At(ho,"defaultProps",{onInput:()=>{},onKeyDown:()=>{}});var Wk=re(xi()),Tl=class extends Oy.Component{constructor(t){super(t);this.state={valid:t.isValid(t.content)},this.onInput=this.onInput.bind(this),this.onDone=this.onDone.bind(this)}UNSAFE_componentWillReceiveProps(t){this.setState({valid:t.isValid(t.content)})}onInput(t){this.setState({valid:this.props.isValid(t)})}onDone(t){this.props.isValid(t)||(this.editor.reset(),t=this.props.content),this.props.onDone(t)}render(){let t=(0,Wk.default)(this.props.className,{"has-success":this.state.valid,"has-warning":!this.state.valid});return Oy.default.createElement(ho,{content:this.props.content,readonly:this.props.readonly,onDone:this.onDone,onInput:this.onInput,className:t,ref:i=>this.editor=i})}};o(Tl,"ValidateEditor"),At(Tl,"propTypes",{content:gp.default.string.isRequired,readonly:gp.default.bool,onDone:gp.default.func.isRequired,className:gp.default.string,isValid:gp.default.func.isRequired});var Yz=re(ke());function ti({children:e}){return window.MITMWEB_CONF&&window.MITMWEB_CONF.static?null:[e]}o(ti,"HideInStatic");var ri=re(ke()),ky=re(It()),Hk=re(Ms());var Ny=class extends ri.Component{constructor(t){super(t);this.onKeyDown=this.onKeyDown.bind(this)}render(){let{onTab:t,...i}=this.props;return ri.default.createElement(ho,{...i,onKeyDown:this.onKeyDown})}focus(){Hk.default.findDOMNode(this).focus()}onKeyDown(t){switch(t.keyCode){case dt.BACKSPACE:var i=window.getSelection().getRangeAt(0);i.startOffset===0&&i.endOffset===0&&this.props.onRemove(t);break;case dt.ENTER:case dt.TAB:t.shiftKey||this.props.onTab(t);break}}};o(Ny,"HeaderEditor");var Is=class extends ri.Component{onChange(t,i,a){let p=_.cloneDeep(this.props.message[this.props.type]);p[t][i]=a,!p[t][0]&&!p[t][1]&&(p.length===1?(p[0][0]="Name",p[0][1]="Value"):(p.splice(t,1),t===p.length&&(this._nextSel=`${t-1}-value`))),this.props.onChange(p)}edit(){this.refs["0-key"].focus()}onTab(t,i,a){let p=this.props.message[this.props.type];if(i===0){this._nextSel=`${t}-value`;return}if(t!==p.length-1){this._nextSel=`${t+1}-key`;return}a.preventDefault();let m=_.cloneDeep(this.props.message[this.props.type]);m.push(["Name","Value"]),this.props.onChange(m),this._nextSel=`${t+1}-key`}componentDidUpdate(){this._nextSel&&this.refs[this._nextSel]&&(this.refs[this._nextSel].focus(),this._nextSel=void 0)}onRemove(t,i,a){i===1?(a.preventDefault(),this.refs[`${t}-key`].focus()):t>0&&(a.preventDefault(),this.refs[`${t-1}-value`].focus())}render(){let{message:t,readonly:i}=this.props;return t[this.props.type]?ri.default.createElement("table",{className:"header-table"},ri.default.createElement("tbody",null,t[this.props.type].map((a,p)=>ri.default.createElement("tr",{key:p},ri.default.createElement("td",{className:"header-name"},ri.default.createElement(Ny,{ref:`${p}-key`,content:a[0],readonly:i,onDone:m=>this.onChange(p,0,m),onRemove:m=>this.onRemove(p,0,m),onTab:m=>this.onTab(p,0,m)}),ri.default.createElement("span",{className:"header-colon"},":")),ri.default.createElement("td",{className:"header-value"},ri.default.createElement(Ny,{ref:`${p}-value`,content:a[1],readonly:i,onDone:m=>this.onChange(p,1,m),onRemove:m=>this.onRemove(p,1,m),onTab:m=>this.onTab(p,1,m)})))))):ri.default.createElement("table",{className:"header-table"},ri.default.createElement("tbody",null))}};o(Is,"Headers"),At(Is,"propTypes",{onChange:ky.default.func.isRequired,message:ky.default.object.isRequired,type:ky.default.string.isRequired}),At(Is,"defaultProps",{type:"headers"});var yp=re(ke()),Bh=re(It());Uk.propTypes={isEdit:Bh.default.bool.isRequired,flow:Bh.default.object.isRequired,startEdit:Bh.default.func.isRequired,stopEdit:Bh.default.func.isRequired};function Uk({isEdit:e,startEdit:t,stopEdit:i,flow:a,modifiedFlow:p}){return yp.default.createElement("div",{className:"edit-flow-container"},e?yp.default.createElement("a",{className:"edit-flow",title:"Finish Edit",onClick:()=>i(a,p)},yp.default.createElement("i",{className:"fa fa-check"})):yp.default.createElement("a",{className:"edit-flow",title:"Edit Flow",onClick:()=>t(a)},yp.default.createElement("i",{className:"fa fa-pencil"})))}o(Uk,"ToggleEdit");var yS=et(e=>({isEdit:!!e.ui.flow.modifiedFlow,modifiedFlow:e.ui.flow.modifiedFlow||e.flows.byId[e.flows.selected[0]],flow:e.flows.byId[e.flows.selected[0]]}),{startEdit:eO,stopEdit:iO})(Uk);function X2({flow:e,readonly:t,updateFlow:i}){return Ke.default.createElement("div",{className:"first-line request-line"},Ke.default.createElement("div",null,Ke.default.createElement(ho,{content:e.request.method,readonly:t,onDone:a=>i({request:{method:a}})}),"\xA0",Ke.default.createElement(Tl,{content:fo.pretty_url(e.request),readonly:t,onDone:a=>i({request:{path:"",...gx(a)}}),isValid:a=>!!gx(a).host}),"\xA0",Ke.default.createElement(Tl,{content:e.request.http_version,readonly:t,onDone:a=>i({request:{http_version:a}}),isValid:yx})))}o(X2,"RequestLine");function Q2({flow:e,readonly:t,updateFlow:i}){return Ke.default.createElement("div",{className:"first-line response-line"},Ke.default.createElement(Tl,{content:e.response.http_version,readonly:t,onDone:a=>i({response:{http_version:a}}),isValid:yx}),"\xA0",Ke.default.createElement(Tl,{content:e.response.status_code+"",readonly:t,onDone:a=>i({response:{code:parseInt(a)}}),isValid:a=>/^\d+$/.test(a)}),"\xA0",Ke.default.createElement(ho,{content:e.response.reason,readonly:t,onDone:a=>i({response:{msg:a}})}))}o(Q2,"ResponseLine");var zk=et(e=>({flow:e.ui.flow.modifiedFlow||e.flows.byId[e.flows.selected[0]],isEdit:!!e.ui.flow.modifiedFlow}),{updateFlow:Kg,uploadContent:WT}),wp=class extends Ke.Component{render(){let{flow:t,isEdit:i,updateFlow:a,uploadContent:p}=this.props,m=!i&&(t.request.contentLength==0||t.request.contentLength==null);return Ke.default.createElement("section",{className:"request"},Ke.default.createElement("article",null,Ke.default.createElement(yS,null),Ke.default.createElement(X2,{flow:t,readonly:!i,updateFlow:a}),Ke.default.createElement(Is,{message:t.request,readonly:!i,onChange:d=>a({request:{headers:d}})}),Ke.default.createElement("hr",null),Ke.default.createElement(hS,{readonly:!i,flow:t,onContentChange:d=>a({request:{content:d}}),message:t.request}),Ke.default.createElement("hr",null),Ke.default.createElement(Is,{message:t.request,readonly:!i,onChange:d=>a({request:{trailers:d}}),type:"trailers"})),Ke.default.createElement(ti,null,!m&&Ke.default.createElement("footer",null,Ke.default.createElement(mS,{flow:t,readonly:!i,message:t.request,uploadContent:d=>p(t,d,"request")}))))}};o(wp,"Request");wp=zk(wp);var xp=class extends Ke.Component{render(){let{flow:t,isEdit:i,updateFlow:a,uploadContent:p}=this.props,m=!i&&(t.response.contentLength==0||t.response.contentLength==null);return Ke.default.createElement("section",{className:"response"},Ke.default.createElement("article",null,Ke.default.createElement(yS,null),Ke.default.createElement(Q2,{flow:t,readonly:!i,updateFlow:a}),Ke.default.createElement(Is,{message:t.response,readonly:!i,onChange:d=>a({response:{headers:d}})}),Ke.default.createElement("hr",null),Ke.default.createElement(hS,{readonly:!i,flow:t,onContentChange:d=>a({response:{content:d}}),message:t.response}),Ke.default.createElement("hr",null),Ke.default.createElement(Is,{message:t.response,readonly:!i,onChange:d=>a({response:{trailers:d}}),type:"trailers"})),Ke.default.createElement(ti,null,!m&&Ke.default.createElement("footer",null,Ke.default.createElement(mS,{flow:t,message:t.response,uploadContent:d=>p(t,d,"response"),readonly:!i}))))}};o(xp,"Response");xp=zk(xp);wS.propTypes={flow:Bk.default.object.isRequired};function wS({flow:e}){return Ke.default.createElement("section",{className:"error"},Ke.default.createElement("div",{className:"alert alert-warning"},e.error.msg,Ke.default.createElement("div",null,Ke.default.createElement("small",null,ep(e.error.timestamp)))))}o(wS,"ErrorView");var We=re(ke()),wj=re(Uo());function Z2({t:e,deltaTo:t,title:i}){return e?We.default.createElement("tr",null,We.default.createElement("td",null,i,":"),We.default.createElement("td",null,ep(e),t&&We.default.createElement("span",{className:"text-muted"},"(",Wg(1e3*(e-t)),")"))):We.default.createElement("tr",null)}o(Z2,"TimeStamp");function jk({conn:e}){return We.default.createElement("table",{className:"connection-table"},We.default.createElement("tbody",null,We.default.createElement("tr",{key:"address"},We.default.createElement("td",null,"Address:"),We.default.createElement("td",null,e.address.join(":"))),e.sni&&We.default.createElement("tr",{key:"sni"},We.default.createElement("td",null,We.default.createElement("abbr",{title:"TLS Server Name Indication"},"TLS SNI:")),We.default.createElement("td",null,e.sni)),e.tls_version&&We.default.createElement("tr",{key:"tls_version"},We.default.createElement("td",null,"TLS version:"),We.default.createElement("td",null,e.tls_version)),e.cipher_name&&We.default.createElement("tr",{key:"cipher_name"},We.default.createElement("td",null,"cipher name:"),We.default.createElement("td",null,e.cipher_name)),e.alpn_proto_negotiated&&We.default.createElement("tr",{key:"ALPN"},We.default.createElement("td",null,We.default.createElement("abbr",{title:"ALPN protocol negotiated"},"ALPN:")),We.default.createElement("td",null,e.alpn_proto_negotiated)),e.ip_address&&We.default.createElement("tr",{key:"ip_address"},We.default.createElement("td",null,"Resolved address:"),We.default.createElement("td",null,e.ip_address.join(":"))),e.source_address&&We.default.createElement("tr",{key:"source_address"},We.default.createElement("td",null,"Source address:"),We.default.createElement("td",null,e.source_address.join(":")))))}o(jk,"ConnectionInfo");function J2({flow:e}){return We.default.createElement("div",null,e.client_conn.cert&&[We.default.createElement("h4",{key:"name"},"Client Certificate"),We.default.createElement("pre",{key:"value",style:{maxHeight:100}},e.client_conn.cert)],e.server_conn.cert&&[We.default.createElement("h4",{key:"name"},"Server Certificate"),We.default.createElement("pre",{key:"value",style:{maxHeight:100}},e.server_conn.cert)])}o(J2,"CertificateInfo");function eR({flow:e}){let{server_conn:t,client_conn:i,request:a,response:p}=e,m=[{title:"Server conn. initiated",t:t.timestamp_start,deltaTo:a.timestamp_start},{title:"Server conn. TCP handshake",t:t.timestamp_tcp_setup,deltaTo:a.timestamp_start},{title:"Server conn. SSL handshake",t:t.timestamp_ssl_setup,deltaTo:a.timestamp_start},{title:"Client conn. established",t:i.timestamp_start,deltaTo:a.timestamp_start},{title:"Client conn. SSL handshake",t:i.timestamp_ssl_setup,deltaTo:a.timestamp_start},{title:"First request byte",t:a.timestamp_start},{title:"Request complete",t:a.timestamp_end,deltaTo:a.timestamp_start},p&&{title:"First response byte",t:p.timestamp_start,deltaTo:a.timestamp_start},p&&{title:"Response complete",t:p.timestamp_end,deltaTo:a.timestamp_start}];return We.default.createElement("div",null,We.default.createElement("h4",null,"Timing"),We.default.createElement("table",{className:"timing-table"},We.default.createElement("tbody",null,m.filter(d=>d).sort((d,w)=>d.t-w.t).map(d=>We.default.createElement(Z2,{key:d.title,...d})))))}o(eR,"Timing");function xS({flow:e}){return We.default.createElement("section",{className:"detail"},We.default.createElement("h4",null,"Client Connection"),We.default.createElement(jk,{conn:e.client_conn}),e.server_conn.address&&[We.default.createElement("h4",{key:"sc"},"Server Connection"),We.default.createElement(jk,{key:"sc-ci",conn:e.server_conn})],We.default.createElement(J2,{flow:e}),We.default.createElement(eR,{flow:e}))}o(xS,"Details");var tR={Request:wp,Response:xp,Error:wS,Details:xS};function rR({flow:e,tabName:t,selectTab:i}){let a=["request","response","error"].filter(m=>e[m]);a.push("details"),a.indexOf(t)<0&&(t==="response"&&e.error?t="error":t==="error"&&e.response?t="response":t=a[0]);let p=tR[qk.default.capitalize(t)];return Ly.default.createElement("div",{className:"flow-detail"},Ly.default.createElement(gy,{tabs:a,active:t,onSelectTab:i}),Ly.default.createElement(p,{flow:e}))}o(rR,"FlowView");var $k=et(e=>({flow:e.flows.byId[e.flows.selected[0]],tabName:e.ui.flow.tab}),{selectTab:lf})(rR);Gk.propTypes={hasSelection:Vk.default.bool.isRequired};function Gk({hasSelection:e}){return zh.default.createElement("div",{className:"main-view"},zh.default.createElement(wk,null),e&&zh.default.createElement(ip,{key:"splitter"}),e&&zh.default.createElement($k,{key:"flowDetails"}))}o(Gk,"MainView");var Kk=et(e=>({hasSelection:!!e.flows.byId[e.flows.selected[0]]}),{})(Gk);var Ko=re(ke()),_q=re(It());var iN=re(xi());var zn=re(ke());var Go=re(ke()),Py=re(Ms()),Yk=re(xi());var Hi=re(ke());var Ol=class extends Hi.Component{constructor(t,i){super(t,i);this.state={doc:Ol.doc}}componentDidMount(){Ol.xhr||(Ol.xhr=Ft("/filter-help").then(t=>t.json()),Ol.xhr.catch(()=>{Ol.xhr=null})),this.state.doc||Ol.xhr.then(t=>{Ol.doc=t,this.setState({doc:t})})}render(){let{doc:t}=this.state;return t?Hi.default.createElement("table",{className:"table table-condensed"},Hi.default.createElement("tbody",null,t.commands.map(i=>Hi.default.createElement("tr",{key:i[1],onClick:a=>this.props.selectHandler(i[0].split(" ")[0]+" ")},Hi.default.createElement("td",null,i[0].replace(" ","\xA0")),Hi.default.createElement("td",null,i[1]))),Hi.default.createElement("tr",{key:"docs-link"},Hi.default.createElement("td",{colSpan:"2"},Hi.default.createElement("a",{href:"https://mitmproxy.org/docs/latest/concepts-filters/",target:"_blank"},Hi.default.createElement("i",{className:"fa fa-external-link"}),"\xA0 mitmproxy docs"))))):Hi.default.createElement("i",{className:"fa fa-spinner fa-spin"})}},wf=Ol;o(wf,"FilterDocs"),At(wf,"xhr",null),At(wf,"doc",null);var xf=class extends Go.Component{constructor(t,i){super(t,i);this.state={value:this.props.value,focus:!1,mousefocus:!1},this.onChange=this.onChange.bind(this),this.onFocus=this.onFocus.bind(this),this.onBlur=this.onBlur.bind(this),this.onKeyDown=this.onKeyDown.bind(this),this.onMouseEnter=this.onMouseEnter.bind(this),this.onMouseLeave=this.onMouseLeave.bind(this),this.selectFilter=this.selectFilter.bind(this)}UNSAFE_componentWillReceiveProps(t){this.setState({value:t.value})}isValid(t){try{return t&&nf.parse(t),!0}catch(i){return!1}}getDesc(){if(!this.state.value)return Go.default.createElement(wf,{selectHandler:this.selectFilter});try{return nf.parse(this.state.value).desc}catch(t){return""+t}}onChange(t){let i=t.target.value;this.setState({value:i}),this.isValid(i)&&this.props.onChange(i)}onFocus(){this.setState({focus:!0})}onBlur(){this.setState({focus:!1})}onMouseEnter(){this.setState({mousefocus:!0})}onMouseLeave(){this.setState({mousefocus:!1})}onKeyDown(t){(t.keyCode===dt.ESC||t.keyCode===dt.ENTER)&&(this.blur(),this.setState({mousefocus:!1})),t.stopPropagation()}selectFilter(t){this.setState({value:t}),Py.default.findDOMNode(this.refs.input).focus()}blur(){Py.default.findDOMNode(this.refs.input).blur()}select(){Py.default.findDOMNode(this.refs.input).select()}render(){let{type:t,color:i,placeholder:a}=this.props,{value:p,focus:m,mousefocus:d}=this.state;return Go.default.createElement("div",{className:(0,Yk.default)("filter-input input-group",{"has-error":!this.isValid(p)})},Go.default.createElement("span",{className:"input-group-addon"},Go.default.createElement("i",{className:"fa fa-fw fa-"+t,style:{color:i}})),Go.default.createElement("input",{type:"text",ref:"input",placeholder:a,className:"form-control",value:p,onChange:this.onChange,onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onKeyDown}),(m||d)&&Go.default.createElement("div",{className:"popover bottom",onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave},Go.default.createElement("div",{className:"arrow"}),Go.default.createElement("div",{className:"popover-content"},this.getDesc())))}};o(xf,"FilterInput");jh.title="Start";function jh(){return zn.default.createElement("div",{className:"main-menu"},zn.default.createElement("div",{className:"menu-group"},zn.default.createElement("div",{className:"menu-content"},zn.default.createElement(iR,null),zn.default.createElement(oR,null)),zn.default.createElement("div",{className:"menu-legend"},"Find")),zn.default.createElement("div",{className:"menu-group"},zn.default.createElement("div",{className:"menu-content"},zn.default.createElement(nR,null),zn.default.createElement(sR,null)),zn.default.createElement("div",{className:"menu-legend"},"Intercept")))}o(jh,"MainMenu");function nR(){let e=$o(),t=ar(i=>i.options.intercept);return zn.default.createElement(xf,{value:t||"",placeholder:"Intercept",type:"pause",color:"hsl(208, 56%, 53%)",onChange:i=>e(uf("intercept",i))})}o(nR,"InterceptInput");function iR(){let e=ar(t=>t.flows.filter);return zn.default.createElement(xf,{value:e||"",placeholder:"Search",type:"search",color:"black",onChange:Ug})}o(iR,"FlowFilterInput");function oR(){let e=ar(t=>t.flows.highlight);return zn.default.createElement(xf,{value:e||"",placeholder:"Highlight",type:"tag",color:"hsl(48, 100%, 50%)",onChange:Bg})}o(oR,"HighlightInput");function sR(){let e=$o();return zn.default.createElement(Bn,{className:"btn-sm",title:"[a]ccept all",icon:"fa-forward text-success",onClick:()=>e(zg())},"Resume All")}o(sR,"ResumeAll");var jr=re(ke());var Sp=re(ke());function Xk({value:e,onChange:t,children:i}){return Sp.default.createElement("div",{className:"menu-entry"},Sp.default.createElement("label",null,Sp.default.createElement("input",{type:"checkbox",checked:e,onChange:t}),i))}o(Xk,"MenuToggle");function My({name:e,children:t}){let i=$o(),a=ar(p=>p.options[e]);return Sp.default.createElement(Xk,{value:!!a,onChange:()=>i(uf(e,!a))},t)}o(My,"OptionsToggle");function Qk(){let e=xl(),t=ar(i=>i.eventLog.visible);return Sp.default.createElement(Xk,{value:t,onChange:()=>e(fp())},"Display Event Log")}o(Qk,"EventlogToggle");var SS=re(ke()),Zk=re(It());Ay.propTypes={resource:Zk.default.string.isRequired};function Ay({children:e,resource:t}){let i=`https://docs.mitmproxy.org/stable/${t}`;return SS.default.createElement("a",{target:"_blank",href:i},e||SS.default.createElement("i",{className:"fa fa-question-circle"}))}o(Ay,"DocsLink");Jk.title="Options";function Jk({openOptions:e}){return jr.default.createElement("div",null,jr.default.createElement(ti,null,jr.default.createElement("div",{className:"menu-group"},jr.default.createElement("div",{className:"menu-content"},jr.default.createElement(Bn,{title:"Open Options",icon:"fa-cogs text-primary",onClick:e},"Edit Options ",jr.default.createElement("sup",null,"alpha"))),jr.default.createElement("div",{className:"menu-legend"},"Options Editor")),jr.default.createElement("div",{className:"menu-group"},jr.default.createElement("div",{className:"menu-content"},jr.default.createElement(My,{name:"anticache"},"Strip cache headers ",jr.default.createElement(Ay,{resource:"overview-features/#anticache"})),jr.default.createElement(My,{name:"showhost"},"Use host header for display"),jr.default.createElement(My,{name:"ssl_insecure"},"Don't verify server certificates")),jr.default.createElement("div",{className:"menu-legend"},"Quick Options"))),jr.default.createElement("div",{className:"menu-group"},jr.default.createElement("div",{className:"menu-content"},jr.default.createElement(Qk,null)),jr.default.createElement("div",{className:"menu-legend"},"View Options")))}o(Jk,"OptionMenu");var eN=et(null,{openOptions:()=>sO("OptionModal")})(Jk);var Si=re(ke());var tN=Si.default.memo(o(function(){let t=xl();return Si.default.createElement(ap,{className:"pull-left special",text:"mitmproxy",options:{placement:"bottom-start"}},Si.default.createElement(Cn,{onClick:()=>confirm("Delete all flows?")&&t(Gg())},Si.default.createElement("i",{className:"fa fa-fw fa-trash"}),"\xA0Clear All"),Si.default.createElement("li",null,Si.default.createElement(_y,{icon:"fa-folder-open",text:"\xA0Open...",onClick:i=>i.stopPropagation(),onOpenFile:i=>{t(UT(i)),document.body.click()}})),Si.default.createElement(Cn,{onClick:()=>t(HT())},Si.default.createElement("i",{className:"fa fa-fw fa-floppy-o"}),"\xA0Save..."),Si.default.createElement(ti,null,Si.default.createElement(GO,null),Si.default.createElement("li",null,Si.default.createElement("a",{href:"http://mitm.it/",target:"_blank"},Si.default.createElement("i",{className:"fa fa-fw fa-external-link"}),"\xA0Install Certificates..."))))},"FileMenu"));var xr=re(ke()),Ju=re(It());CS.title="Flow";CS.propTypes={flow:Ju.default.object,resumeFlow:Ju.default.func.isRequired,killFlow:Ju.default.func.isRequired,replayFlow:Ju.default.func.isRequired,duplicateFlow:Ju.default.func.isRequired,removeFlow:Ju.default.func.isRequired,revertFlow:Ju.default.func.isRequired};function CS({flow:e,resumeFlow:t,killFlow:i,replayFlow:a,duplicateFlow:p,removeFlow:m,revertFlow:d}){return e?xr.default.createElement("div",{className:"flow-menu"},xr.default.createElement(ti,null,xr.default.createElement("div",{className:"menu-group"},xr.default.createElement("div",{className:"menu-content"},xr.default.createElement(Bn,{title:"[r]eplay flow",icon:"fa-repeat text-primary",onClick:()=>a(e)},"Replay"),xr.default.createElement(Bn,{title:"[D]uplicate flow",icon:"fa-copy text-info",onClick:()=>p(e)},"Duplicate"),xr.default.createElement(Bn,{disabled:!e||!e.modified,title:"revert changes to flow [V]",icon:"fa-history text-warning",onClick:()=>d(e)},"Revert"),xr.default.createElement(Bn,{title:"[d]elete flow",icon:"fa-trash text-danger",onClick:()=>m(e)},"Delete")),xr.default.createElement("div",{className:"menu-legend"},"Flow Modification"))),xr.default.createElement("div",{className:"menu-group"},xr.default.createElement("div",{className:"menu-content"},xr.default.createElement(Bn,{title:"download",icon:"fa-download",onClick:()=>window.location=zo.getContentURL(e,e.response)},"Download")),xr.default.createElement("div",{className:"menu-legend"},"Export")),xr.default.createElement(ti,null,xr.default.createElement("div",{className:"menu-group"},xr.default.createElement("div",{className:"menu-content"},xr.default.createElement(Bn,{disabled:!e||!e.intercepted,title:"[a]ccept intercepted flow",icon:"fa-play text-success",onClick:()=>t(e)},"Resume"),xr.default.createElement(Bn,{disabled:!e||!e.intercepted,title:"kill intercepted flow [x]",icon:"fa-times text-danger",onClick:()=>i(e)},"Abort")),xr.default.createElement("div",{className:"menu-legend"},"Interception")))):xr.default.createElement("div",null)}o(CS,"FlowMenu");var rN=et(e=>({flow:e.flows.byId[e.flows.selected[0]]}),{resumeFlow:rp,killFlow:jg,replayFlow:np,duplicateFlow:$g,removeFlow:qg,revertFlow:Vg})(CS);var Sf=re(ke());var nN=Sf.default.memo(o(function(){let t=ar(a=>a.connection.state),i=ar(a=>a.connection.message);switch(t){case Un.INIT:return Sf.default.createElement("span",{className:"connection-indicator init"},"connecting\u2026");case Un.FETCHING:return Sf.default.createElement("span",{className:"connection-indicator fetching"},"fetching data\u2026");case Un.ESTABLISHED:return Sf.default.createElement("span",{className:"connection-indicator established"},"connected");case Un.ERROR:return Sf.default.createElement("span",{className:"connection-indicator error",title:i},"connection lost");case Un.OFFLINE:return Sf.default.createElement("span",{className:"connection-indicator offline"},"offline");default:let a=t;throw"unknown connection state"}},"ConnectionIndicator"));var _S=class extends Ko.Component{handleClick(t,i){i.preventDefault(),this.props.setActiveMenu(t.title)}render(){let{selectedFlowId:t,activeMenu:i}=this.props,a=[..._S.entries];t&&a.push(rN);let p=_.find(a,m=>m.title==i)||jh;return Ko.default.createElement("header",null,Ko.default.createElement("nav",{className:"nav-tabs nav-tabs-lg"},Ko.default.createElement(tN,null),a.map(m=>Ko.default.createElement("a",{key:m.title,href:"#",className:(0,iN.default)({active:m===p}),onClick:d=>this.handleClick(m,d)},m.title)),Ko.default.createElement(ti,null,Ko.default.createElement(nN,null))),Ko.default.createElement("div",null,Ko.default.createElement(p,null)))}},Dy=_S;o(Dy,"Header"),At(Dy,"entries",[jh,eN]);var oN=et(e=>({selectedFlowId:e.flows.selected[0],activeMenu:e.ui.header.activeMenu}),{setActiveMenu:nk})(Dy);var Nl=re(ke()),Cp=re(It());var ES=re(ke()),Iy=re(It());Fy.propTypes={checked:Iy.default.bool.isRequired,onToggle:Iy.default.func.isRequired,text:Iy.default.string.isRequired};function Fy({checked:e,onToggle:t,text:i}){return ES.default.createElement("div",{className:"btn btn-toggle "+(e?"btn-primary":"btn-default"),onClick:t},ES.default.createElement("i",{className:"fa fa-fw "+(e?"fa-check-square-o":"fa-square-o")}),"\xA0",i)}o(Fy,"ToggleButton");var kl=re(ke()),bS=re(It()),sN=re(Ms()),lN=re(_x());var qh=class extends kl.Component{constructor(t){super(t);this.heights={},this.state={vScroll:op()},this.onViewportUpdate=this.onViewportUpdate.bind(this)}componentDidMount(){window.addEventListener("resize",this.onViewportUpdate),this.onViewportUpdate()}componentWillUnmount(){window.removeEventListener("resize",this.onViewportUpdate)}componentDidUpdate(){this.onViewportUpdate()}onViewportUpdate(){let t=sN.default.findDOMNode(this),i=op({itemCount:this.props.events.length,rowHeight:this.props.rowHeight,viewportTop:t.scrollTop,viewportHeight:t.offsetHeight,itemHeights:this.props.events.map(a=>this.heights[a.id])});(0,lN.default)(this.state.vScroll,i)||this.setState({vScroll:i})}setHeight(t,i){if(i&&!this.heights[t]){let a=i.offsetHeight;this.heights[t]!==a&&(this.heights[t]=a,this.onViewportUpdate())}}render(){let{vScroll:t}=this.state,{events:i}=this.props;return kl.default.createElement("pre",{onScroll:this.onViewportUpdate},kl.default.createElement("div",{style:{height:t.paddingTop}}),i.slice(t.start,t.end).map(a=>kl.default.createElement("div",{key:a.id,ref:p=>this.setHeight(a.id,p)},kl.default.createElement(lR,{event:a}),a.message)),kl.default.createElement("div",{style:{height:t.paddingBottom}}))}};o(qh,"EventLogList"),At(qh,"propTypes",{events:bS.default.array.isRequired,rowHeight:bS.default.number}),At(qh,"defaultProps",{rowHeight:18});function lR({event:e}){let t={web:"html5",debug:"bug",warn:"exclamation-triangle",error:"ban"}[e.level]||"info";return kl.default.createElement("i",{className:`fa fa-fw fa-${t}`})}o(lR,"LogIcon");var uN=Zg(qh);var $h=class extends Nl.Component{constructor(t,i){super(t,i);this.state={height:this.props.defaultHeight},this.onDragStart=this.onDragStart.bind(this),this.onDragMove=this.onDragMove.bind(this),this.onDragStop=this.onDragStop.bind(this)}onDragStart(t){t.preventDefault(),this.dragStart=this.state.height+t.pageY,window.addEventListener("mousemove",this.onDragMove),window.addEventListener("mouseup",this.onDragStop),window.addEventListener("dragend",this.onDragStop)}onDragMove(t){t.preventDefault(),this.setState({height:this.dragStart-t.pageY})}onDragStop(t){t.preventDefault(),window.removeEventListener("mousemove",this.onDragMove)}render(){let{height:t}=this.state,{filters:i,events:a,toggleFilter:p,close:m}=this.props;return Nl.default.createElement("div",{className:"eventlog",style:{height:t}},Nl.default.createElement("div",{onMouseDown:this.onDragStart},"Eventlog",Nl.default.createElement("div",{className:"pull-right"},["debug","info","web","warn","error"].map(d=>Nl.default.createElement(Fy,{key:d,text:d,checked:i[d],onToggle:()=>p(d)})),Nl.default.createElement("i",{onClick:m,className:"fa fa-close"}))),Nl.default.createElement(uN,{events:a}))}};o($h,"PureEventLog"),At($h,"propTypes",{filters:Cp.default.object.isRequired,events:Cp.default.array.isRequired,toggleFilter:Cp.default.func.isRequired,close:Cp.default.func.isRequired,defaultHeight:Cp.default.number}),At($h,"defaultProps",{defaultHeight:200});var aN=et(e=>({filters:e.eventLog.filters,events:e.eventLog.view}),{close:fp,toggleFilter:ek})($h);var un=re(ke());function TS(){let e=ar(I=>I.conf.version),{mode:t,intercept:i,showhost:a,upstream_cert:p,rawtcp:m,http2:d,websocket:w,anticache:b,anticomp:L,stickyauth:F,stickycookie:Y,stream_large_bodies:z,listen_host:X,listen_port:ee,server:J}=ar(I=>I.options);return un.default.createElement("footer",null,t&&t!=="regular"&&un.default.createElement("span",{className:"label label-success"},t," mode"),i&&un.default.createElement("span",{className:"label label-success"},"Intercept: ",i),a&&un.default.createElement("span",{className:"label label-success"},"showhost"),!p&&un.default.createElement("span",{className:"label label-success"},"no-upstream-cert"),!m&&un.default.createElement("span",{className:"label label-success"},"no-raw-tcp"),!d&&un.default.createElement("span",{className:"label label-success"},"no-http2"),!w&&un.default.createElement("span",{className:"label label-success"},"no-websocket"),b&&un.default.createElement("span",{className:"label label-success"},"anticache"),L&&un.default.createElement("span",{className:"label label-success"},"anticomp"),F&&un.default.createElement("span",{className:"label label-success"},"stickyauth: ",F),Y&&un.default.createElement("span",{className:"label label-success"},"stickycookie: ",Y),z&&un.default.createElement("span",{className:"label label-success"},"stream: ",Jc(z)),un.default.createElement("div",{className:"pull-right"},un.default.createElement(ti,null,J&&un.default.createElement("span",{className:"label label-primary",title:"HTTP Proxy Server Address"},X||"*",":",ee)),un.default.createElement("span",{className:"label label-info",title:"Mitmproxy Version"},e)))}o(TS,"Footer");var Vh=re(ke());var PS=re(ke());var _p=re(ke());function OS({children:e}){return _p.default.createElement("div",null,_p.default.createElement("div",{className:"modal-backdrop fade in"}),_p.default.createElement("div",{className:"modal modal-visible",id:"optionsModal",tabIndex:"-1",role:"dialog","aria-labelledby":"options"},_p.default.createElement("div",{className:"modal-dialog modal-lg",role:"document"},_p.default.createElement("div",{className:"modal-content"},e))))}o(OS,"ModalLayout");var Yt=re(ke());var vo=re(ke()),mo=re(It());var fN=re(xi()),uR=o(e=>{e.keyCode!==dt.ESC&&e.stopPropagation()},"stopPropagation");kS.propTypes={value:mo.default.bool.isRequired,onChange:mo.default.func.isRequired};function kS({value:e,onChange:t,...i}){return vo.default.createElement("div",{className:"checkbox"},vo.default.createElement("label",null,vo.default.createElement("input",{type:"checkbox",checked:e,onChange:a=>t(a.target.checked),...i}),"Enable"))}o(kS,"BooleanOption");NS.propTypes={value:mo.default.string,onChange:mo.default.func.isRequired};function NS({value:e,onChange:t,...i}){return vo.default.createElement("input",{type:"text",value:e||"",onChange:a=>t(a.target.value),...i})}o(NS,"StringOption");function aR(e){return function({onChange:t,...i}){return vo.default.createElement(e,{onChange:a=>t(a||null),...i})}}o(aR,"Optional");cN.propTypes={value:mo.default.number.isRequired,onChange:mo.default.func.isRequired};function cN({value:e,onChange:t,...i}){return vo.default.createElement("input",{type:"number",value:e,onChange:a=>t(parseInt(a.target.value)),...i})}o(cN,"NumberOption");pN.propTypes={value:mo.default.string.isRequired,onChange:mo.default.func.isRequired};function pN({value:e,onChange:t,choices:i,...a}){return vo.default.createElement("select",{onChange:p=>t(p.target.value),value:e,...a},i.map(p=>vo.default.createElement("option",{key:p,value:p},p)))}o(pN,"ChoicesOption");dN.propTypes={value:mo.default.arrayOf(mo.default.string).isRequired,onChange:mo.default.func.isRequired};function dN({value:e,onChange:t,...i}){let a=Math.max(e.length,1);return vo.default.createElement("textarea",{rows:a,value:e.join(` +`),onChange:p=>t(p.target.value.split(` +`)),...i})}o(dN,"StringSequenceOption");var fR={bool:kS,str:NS,int:cN,"optional str":aR(NS),"sequence of str":dN};function cR({choices:e,type:t,value:i,onChange:a,name:p,error:m}){let d,w={};if(e)d=pN,w.choices=e;else if(d=fR[t],!d)throw`unknown option type ${t}`;return d!==kS&&(w.className="form-control"),vo.default.createElement("div",{className:(0,fN.default)({"has-error":m})},vo.default.createElement(d,{name:p,value:i,onChange:a,onKeyDown:uR,...w}))}o(cR,"PureOption");var hN=et((e,{name:t})=>({...e.options_meta[t],...e.ui.optionsEditor[t]}),(e,{name:t})=>({onChange:i=>e(uf(t,i))}))(cR);var Ry=re(Uo());function pR({help:e}){return Yt.default.createElement("div",{className:"help-block small"},e)}o(pR,"PureOptionHelp");var dR=et((e,{name:t})=>({help:e.options_meta[t].help}))(pR);function hR({error:e}){return e?Yt.default.createElement("div",{className:"small text-danger"},e):null}o(hR,"PureOptionError");var vR=et((e,{name:t})=>({error:e.ui.optionsEditor[t]&&e.ui.optionsEditor[t].error}))(hR);function mR({value:e,defaultVal:t}){if(e===t)return null;if(typeof t=="boolean")t=t?"true":"false";else if(Array.isArray(t)){if(Ry.default.isEmpty(Ry.default.compact(e))&&Ry.default.isEmpty(t))return null;t="[ ]"}else t===""?t='""':t===null&&(t="null");return Yt.default.createElement("div",{className:"small"},"Default: ",Yt.default.createElement("strong",null," ",t," ")," ")}o(mR,"PureOptionDefault");var gR=et((e,{name:t})=>({value:e.options[t],defaultVal:e.options_meta[t].default}))(mR),LS=class extends Yt.Component{constructor(t,i){super(t,i);this.state={title:"Options"}}componentWillUnmount(){}render(){let{hideModal:t,options:i}=this.props,{title:a}=this.state;return Yt.default.createElement("div",null,Yt.default.createElement("div",{className:"modal-header"},Yt.default.createElement("button",{type:"button",className:"close","data-dismiss":"modal",onClick:()=>{t()}},Yt.default.createElement("i",{className:"fa fa-fw fa-times"})),Yt.default.createElement("div",{className:"modal-title"},Yt.default.createElement("h4",null,a))),Yt.default.createElement("div",{className:"modal-body"},Yt.default.createElement("div",{className:"form-horizontal"},i.map(p=>Yt.default.createElement("div",{key:p,className:"form-group"},Yt.default.createElement("div",{className:"col-xs-6"},Yt.default.createElement("label",{htmlFor:p},p),Yt.default.createElement(dR,{name:p})),Yt.default.createElement("div",{className:"col-xs-6"},Yt.default.createElement(hN,{name:p}),Yt.default.createElement(vR,{name:p}),Yt.default.createElement(gR,{name:p})))))),Yt.default.createElement("div",{className:"modal-footer"}))}};o(LS,"PureOptionModal");var vN=et(e=>({options:Object.keys(e.options_meta).sort()}),{hideModal:Xg,save:SO})(LS);function yR(){return PS.default.createElement(OS,null,PS.default.createElement(vN,null))}o(yR,"OptionModal");var mN=[yR];var MS=class extends Vh.Component{constructor(t,i){super(t,i)}render(){let{activeModal:t}=this.props,i=mN.find(a=>a.name===t);return t?Vh.default.createElement(i,null):Vh.default.createElement("div",null)}};o(MS,"PureModal");var gN=et(e=>({activeModal:e.ui.modal.activeModal}))(MS);var AS=class extends Ll.Component{componentDidMount(){window.addEventListener("keydown",this.props.onKeyDown)}componentWillUnmount(){window.removeEventListener("keydown",this.props.onKeyDown)}render(){let{showEventLog:t}=this.props;return Ll.default.createElement("div",{id:"container",tabIndex:"0"},Ll.default.createElement(oN,null),Ll.default.createElement(Kk,null),t&&Ll.default.createElement(aN,{key:"eventlog"}),Ll.default.createElement(TS,null),Ll.default.createElement(gN,null))}};o(AS,"ProxyAppMain");var yN=et(e=>({showEventLog:e.eventLog.visible}),{onKeyDown:lO})(AS);var Ep={SEARCH:"s",HIGHLIGHT:"h",SHOW_EVENTLOG:"e"};function wR(e){let[t,i]=window.location.hash.substr(1).split("?",2),a=t.substr(1).split("/");if(a[0]==="flows"&&a.length==3){let[p,m]=a.slice(1);e.dispatch(sf(p)),e.dispatch(lf(m))}i&&i.split("&").forEach(p=>{let[m,d]=p.split("=",2);switch(m){case Ep.SEARCH:e.dispatch(Ug(d));break;case Ep.HIGHLIGHT:e.dispatch(Bg(d));break;case Ep.SHOW_EVENTLOG:e.getState().eventLog.visible||e.dispatch(fp());break;default:console.error(`unimplemented query arg: ${p}`)}})}o(wR,"updateStoreFromUrl");function xR(e){let t=e.getState(),i={[Ep.SEARCH]:t.flows.filter,[Ep.HIGHLIGHT]:t.flows.highlight,[Ep.SHOW_EVENTLOG]:t.eventLog.visible},a=Object.keys(i).filter(d=>i[d]).map(d=>`${d}=${i[d]}`).join("&"),p;t.flows.selected.length>0?p=`/flows/${t.flows.selected[0]}/${t.ui.flow.tab}`:p="/flows",a&&(p+="?"+a);let m=window.location.pathname;m==="blank"&&(m="/"),window.location.hash.substr(1)!==p&&history.replaceState(void 0,"",`${m}#${p}`)}o(xR,"updateUrlFromStore");function DS(e){wR(e),e.subscribe(()=>xR(e))}o(DS,"initialize");var SR="reset",Gh=class{constructor(t){this.activeFetches={},this.store=t,this.connect()}connect(){this.socket=new WebSocket(location.origin.replace("http","ws")+"/updates"),this.socket.addEventListener("open",()=>this.onOpen()),this.socket.addEventListener("close",t=>this.onClose(t)),this.socket.addEventListener("message",t=>this.onMessage(JSON.parse(t.data))),this.socket.addEventListener("error",t=>this.onError(t))}onOpen(){this.fetchData("flows"),this.fetchData("events"),this.fetchData("options"),this.store.dispatch(sk())}fetchData(t){let i=[];this.activeFetches[t]=i,Ft(`./${t}`).then(a=>a.json()).then(a=>{this.activeFetches[t]===i&&this.receive(t,a)})}onMessage(t){if(t.cmd===SR)return this.fetchData(t.resource);if(t.resource in this.activeFetches)this.activeFetches[t.resource].push(t);else{let i=`${t.resource}_${t.cmd}`.toUpperCase();this.store.dispatch({type:i,...t})}}receive(t,i){let a=`${t}_RECEIVE`.toUpperCase();this.store.dispatch({type:a,cmd:"receive",resource:t,data:i});let p=this.activeFetches[t];delete this.activeFetches[t],p.forEach(m=>this.onMessage(m)),Object.keys(this.activeFetches).length===0&&this.store.dispatch(lk())}onClose(t){this.store.dispatch(uk(`Connection closed at ${new Date().toUTCString()} with error code ${t.code}.`)),console.error("websocket connection closed",t)}onError(){console.error("websocket connection errored",arguments)}};o(Gh,"WebsocketBackend");var Kh=class{constructor(t){this.store=t,this.onOpen()}onOpen(){this.fetchData("flows"),this.fetchData("options")}fetchData(t){Ft(`./${t}`).then(i=>i.json()).then(i=>{this.receive(t,i)})}receive(t,i){let a=`${t}_RECEIVE`.toUpperCase();this.store.dispatch({type:a,cmd:"receive",resource:t,data:i})}};o(Kh,"StaticBackend");DS(cp);window.MITMWEB_STATIC?window.backend=new Kh(cp):window.backend=new Gh(cp);window.addEventListener("error",e=>{cp.dispatch(tk(e))});document.addEventListener("DOMContentLoaded",()=>{(0,wN.render)(IS.default.createElement(B1,{store:cp},IS.default.createElement(yN,null)),document.getElementById("mitmproxy"))});})(); +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ +/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ +/** @license React v0.20.2 + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/** @license React v16.13.1 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/** @license React v17.0.2 + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/** @license React v17.0.2 + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +//! stable.js 0.1.8, https://github.com/Two-Screen/stable +//! © 2018 Angry Bytes and contributors. MIT licensed. //# sourceMappingURL=app.js.map diff --git a/mitmproxy/tools/web/static/vendor.css b/mitmproxy/tools/web/static/vendor.css index c11fc33fe..7a70571d9 100644 --- a/mitmproxy/tools/web/static/vendor.css +++ b/mitmproxy/tools/web/static/vendor.css @@ -1,4 +1,4 @@ -/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#337ab7;font-weight:400;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0;background-color:#337ab7}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:32px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:6px 15px;font-size:18px;line-height:20px;height:32px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:-1px;margin-bottom:-1px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:3px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:6px;padding-bottom:6px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin-top:-1px;margin-bottom:-1px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:-1px;margin-bottom:-1px}.navbar-btn.btn-sm{margin-top:1px;margin-bottom:1px}.navbar-btn.btn-xs{margin-top:5px;margin-bottom:5px}.navbar-text{margin-top:6px;margin-bottom:6px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left!important;float:left}.navbar-right{float:right!important;float:right;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#fff;border-color:#e0e0e0}.navbar-default .navbar-brand{color:#303030}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#161616;background-color:transparent}.navbar-default .navbar-text{color:#303030}.navbar-default .navbar-nav>li>a{color:#303030}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#eee}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e0e0e0}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:#eee;color:#555}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#303030}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#eee}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#303030}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#303030}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#080808;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#337ab7;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;background-color:#337ab7;border-color:#337ab7;cursor:default}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;color:#fff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px;padding-left:15px;padding-right:15px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-left:auto;margin-right:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{text-decoration:none;color:#555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.in{opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0}.tooltip.in{opacity:.9}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-moz-transition:-moz-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0)}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{outline:0;color:#fff;text-decoration:none;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:" ";display:table}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}/*! +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:"Glyphicons Halflings";src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"),url(../fonts/glyphicons-halflings-regular.woff2) format("woff2"),url(../fonts/glyphicons-halflings-regular.woff) format("woff"),url(../fonts/glyphicons-halflings-regular.ttf) format("truetype"),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:"Glyphicons Halflings";font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:""}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:"\00A0 \2014"}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*=col-]{padding-right:0;padding-left:0}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;line-height:normal}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;background-image:none;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;background-image:none;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;background-image:none;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:32px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:32px;padding:6px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:-1px;margin-bottom:-1px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:3px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:6px;padding-bottom:6px}}.navbar-form{padding:10px 15px;margin-right:-15px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin-top:-1px;margin-bottom:-1px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:-1px;margin-bottom:-1px}.navbar-btn.btn-sm{margin-top:1px;margin-bottom:1px}.navbar-btn.btn-xs{margin-top:5px;margin-bottom:5px}.navbar-text{margin-top:6px;margin-bottom:6px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important;float:left}.navbar-right{float:right!important;float:right;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#fff;border-color:#e0e0e0}.navbar-default .navbar-brand{color:#303030}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#161616;background-color:transparent}.navbar-default .navbar-text{color:#303030}.navbar-default .navbar-nav>li>a{color:#303030}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#eee}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#eee}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#303030}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#eee}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e0e0e0}.navbar-default .navbar-link{color:#303030}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#303030}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.in{opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;opacity:0}.tooltip.in{opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover>.arrow{border-width:11px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-moz-transition:-moz-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}/*! * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) */@font-face{font-family:FontAwesome;src:url(fonts/fontawesome-webfont.eot?v=4.2.0);src:url(fonts/fontawesome-webfont.eot?#iefix&v=4.2.0) format('embedded-opentype'),url(fonts/fontawesome-webfont.woff?v=4.2.0) format('woff'),url(fonts/fontawesome-webfont.ttf?v=4.2.0) format('truetype'),url(fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular) format('svg');font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"} diff --git a/mitmproxy/tools/web/templates/index.html b/mitmproxy/tools/web/templates/index.html index d2d017764..69a88546e 100644 --- a/mitmproxy/tools/web/templates/index.html +++ b/mitmproxy/tools/web/templates/index.html @@ -7,8 +7,7 @@ - - + diff --git a/test/mitmproxy/tools/web/test_app.py b/test/mitmproxy/tools/web/test_app.py index 79456e600..db336fd59 100644 --- a/test/mitmproxy/tools/web/test_app.py +++ b/test/mitmproxy/tools/web/test_app.py @@ -1,12 +1,19 @@ import asyncio +import io +import json import json as _json import logging -import os +import re import sys +import typing +from contextlib import redirect_stdout +from pathlib import Path from unittest import mock import pytest +from mitmproxy.http import Headers + if sys.platform == 'win32': # workaround for # https://github.com/tornadoweb/tornado/issues/2751 @@ -18,7 +25,7 @@ import tornado.testing # noqa from tornado import httpclient # noqa from tornado import websocket # noqa -from mitmproxy import options # noqa +from mitmproxy import options, optmanager # noqa from mitmproxy.test import tflow # noqa from mitmproxy.tools.web import app # noqa from mitmproxy.tools.web import master as webmaster # noqa @@ -35,7 +42,7 @@ def no_tornado_logging(): logging.getLogger('tornado.general').disabled = False -def json(resp: httpclient.HTTPResponse): +def get_json(resp: httpclient.HTTPResponse): return _json.loads(resp.body.decode()) @@ -82,8 +89,8 @@ class TestApp(tornado.testing.AsyncHTTPTestCase): def test_flows(self): resp = self.fetch("/flows") assert resp.code == 200 - assert json(resp)[0]["request"]["contentHash"] - assert json(resp)[1]["error"] + assert get_json(resp)[0]["request"]["contentHash"] + assert get_json(resp)[1]["error"] def test_flows_dump(self): resp = self.fetch("/flows/dump") @@ -251,7 +258,7 @@ class TestApp(tornado.testing.AsyncHTTPTestCase): f.revert() def test_flow_content_view(self): - assert json(self.fetch("/flows/42/request/content/raw")) == { + assert get_json(self.fetch("/flows/42/request/content/raw")) == { "lines": [ [["text", "content"]] ], @@ -261,17 +268,10 @@ class TestApp(tornado.testing.AsyncHTTPTestCase): def test_events(self): resp = self.fetch("/events") assert resp.code == 200 - assert json(resp)[0]["level"] == "info" - - def test_settings(self): - assert json(self.fetch("/settings"))["mode"] == "regular" - - def test_settings_update(self): - assert self.put_json("/settings", {"anticache": True}).code == 200 - assert self.put_json("/settings", {"wtf": True}).code == 400 + assert get_json(resp)[0]["level"] == "info" def test_options(self): - j = json(self.fetch("/options")) + j = get_json(self.fetch("/options")) assert type(j) == dict assert type(j['anticache']) == dict @@ -296,18 +296,8 @@ class TestApp(tornado.testing.AsyncHTTPTestCase): self.master.options.anticomp = True r1 = yield ws_client.read_message() - r2 = yield ws_client.read_message() - j1 = _json.loads(r1) - j2 = _json.loads(r2) - response = dict() - response[j1['resource']] = j1 - response[j2['resource']] = j2 - assert response['settings'] == { - "resource": "settings", - "cmd": "update", - "data": {"anticomp": True}, - } - assert response['options'] == { + response = _json.loads(r1) + assert response == { "resource": "options", "cmd": "update", "data": { @@ -326,23 +316,69 @@ class TestApp(tornado.testing.AsyncHTTPTestCase): ws_client2 = yield websocket.websocket_connect(ws_url) ws_client2.close() - def _test_generate_tflow_js(self): - _tflow = app.flow_to_json(tflow.tflow(resp=True, err=True)) + def test_generate_tflow_js(self): + tf = tflow.tflow(resp=True, err=True) + tf.request.trailers = Headers(trailer="qvalue") + tf.response.trailers = Headers(trailer="qvalue") + + _tflow = app.flow_to_json(tf) # Set some value as constant, so that _tflow.js would not change every time. - _tflow['client_conn']['id'] = "4a18d1a0-50a1-48dd-9aa6-d45d74282939" _tflow['id'] = "d91165be-ca1f-4612-88a9-c0f8696f3e29" + _tflow['client_conn']['id'] = "4a18d1a0-50a1-48dd-9aa6-d45d74282939" _tflow['server_conn']['id'] = "f087e7b2-6d0a-41a8-a8f0-e1a4761395f8" - _tflow["request"]["trailers"] = [["trailer", "qvalue"]] - _tflow["response"]["trailers"] = [["trailer", "qvalue"]] tflow_json = _json.dumps(_tflow, indent=4, sort_keys=True) - here = os.path.abspath(os.path.dirname(__file__)) - web_root = os.path.join(here, os.pardir, os.pardir, os.pardir, os.pardir, 'web') - tflow_path = os.path.join(web_root, 'src/js/__tests__/ducks/_tflow.js') + + tflow_json = re.sub( + r'( {8}"(address|is_replay|alpn_proto_negotiated)":)', + r" //@ts-ignore\n\1", + tflow_json + ).replace(": null", ": undefined") + content = ( - f"/** Auto-generated by test_app.py:TestApp._test_generate_tflow_js */\n" - f"export default function(){{\n" + "/** Auto-generated by test_app.py:TestApp._test_generate_tflow_js */\n" + "import {HTTPFlow} from '../../flow';\n" + "export default function(): HTTPFlow {\n" f" return {tflow_json}\n" - f"}}" + "}" + ) + (Path(__file__).parent / "../../../../web/src/js/__tests__/ducks/_tflow.ts").write_bytes( + content.encode() + ) + + def test_generate_options_js(self): + o = options.Options() + m = webmaster.WebMaster(o) + opt: optmanager._Option + + def ts_type(t): + if t == bool: + return "boolean" + if t == str: + return "string" + if t == int: + return "number" + if t == typing.Sequence[str]: + return "string[]" + if t == typing.Optional[str]: + return "string | undefined" + raise RuntimeError(t) + + with redirect_stdout(io.StringIO()) as s: + + print("/** Auto-generated by test_app.py:TestApp.test_generate_options_js */") + + print("export interface OptionsState {") + for _, opt in m.options.items(): + print(f" {opt.name}: {ts_type(opt.typespec)}") + print("}") + print("") + print("export type Option = keyof OptionsState") + print("") + print("export const defaultState: OptionsState = {") + for _, opt in m.options.items(): + print(f" {opt.name}: {json.dumps(opt.default)},".replace(": null", ": undefined")) + print("}") + + (Path(__file__).parent / "../../../../web/src/js/ducks/_options_gen.ts").write_bytes( + s.getvalue().encode() ) - with open(tflow_path, 'w', newline="\n") as f: - f.write(content) diff --git a/web/README.md b/web/README.md index 948631dd5..1de6f9e01 100644 --- a/web/README.md +++ b/web/README.md @@ -1,22 +1,16 @@ # Quick Start -**Be sure to follow the Development Setup instructions found in the README.md, -and activate your virtualenv environment before proceeding.** - -- Run `yarn` to install dependencies -- Run `yarn run gulp` to start live-compilation. -- Run `mitmweb` and open http://localhost:8081/ +- Install mitmproxy as described in [`../CONTRIBUTING.md`](../CONTRIBUTING.md) +- Run `node --version` to make sure that you have at least Node.js 14 or above. If you are on **Ubuntu <= 20.04**, you + need to + [upgrade](https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions). +- Run `npm install` to install dependencies +- Run `npm start` to start live-compilation +- Run `mitmweb` after activating your Python virtualenv (see [`../CONTRIBUTING.md`](../CONTRIBUTING.md)). ## Testing -- Run `yarn test` to run the test suite. - - -## Advanced Tools - -- `yarn run gulp` supports live-reloading if you install a matching - [browser extension](http://livereload.com/extensions/). -- You can debug application state using the [Redux DevTools](https://github.com/reduxjs/redux-devtools). +- Run `npm test` to run the test suite. ## Architecture @@ -25,3 +19,18 @@ There are two components: - Server: [`mitmproxy/tools/web`](../mitmproxy/tools/web) - Client: `web` + +## Contributing + +We very much appreciate any (small) improvements to mitmweb. Please do *not* include the compiled assets in +[`mitmproxy/tools/web/static`](https://github.com/mitmproxy/mitmproxy/tree/main/mitmproxy/tools/web/static) +in your pull request. Refreshing them on every commit would massively increase repository size. We will update these +files before every release. + +## Developer Tools + +- `npm start` supports live-reloading if you install a matching + [browser extension](http://livereload.com/extensions/). +- You can debug application state using the + [React DevTools](https://reactjs.org/blog/2019/08/15/new-react-devtools.html) and + [Redux DevTools](https://github.com/reduxjs/redux-devtools) browser extensions. diff --git a/web/babel.config.js b/web/babel.config.js deleted file mode 100644 index ea35ef55c..000000000 --- a/web/babel.config.js +++ /dev/null @@ -1,4 +0,0 @@ -/* This currently is only used for jest. We use esbuild for actual bundling. */ -module.exports = { - presets: ['@babel/preset-react', '@babel/preset-env', '@babel/preset-typescript'], -}; diff --git a/web/gulpfile.js b/web/gulpfile.js index 74bec75ab..85c960b20 100644 --- a/web/gulpfile.js +++ b/web/gulpfile.js @@ -6,6 +6,7 @@ const cleanCSS = require('gulp-clean-css'); const notify = require("gulp-notify"); const compilePeg = require("gulp-peg"); const plumber = require("gulp-plumber"); +const replace = require('gulp-replace'); const sourcemaps = require('gulp-sourcemaps'); const through = require("through2"); @@ -83,6 +84,9 @@ function peg() { return gulp.src(peg_src, {base: "src/"}) .pipe(plumber(handleError)) .pipe(compilePeg()) + .pipe(replace('module.exports = ', + 'import * as flowutils from "../flow/utils"\n' + + 'export default ')) .pipe(gulp.dest("src/")); } diff --git a/web/jest.config.js b/web/jest.config.js index 59584a2dc..a5ab6f70c 100644 --- a/web/jest.config.js +++ b/web/jest.config.js @@ -1,19 +1,34 @@ -process.env.TZ = 'UTC'; +module.exports = async () => { -module.exports = { - "testEnvironment": "jsdom", - "testRegex": "__tests__/.*Spec.(js|ts)x?$", - "roots": [ - "/src/js" - ], - "unmockedModulePathPatterns": [ - "react" - ], - "coverageDirectory": "./coverage", - "coveragePathIgnorePatterns": [ - "/src/js/filt/filt.js" - ], - "collectCoverageFrom": [ - "src/js/**/*.{js,jsx,ts,tsx}" - ] -}; + process.env.TZ = 'UTC'; + + return { + "testEnvironment": "jsdom", + "testRegex": "__tests__/.*Spec.(js|ts)x?$", + "roots": [ + "/src/js" + ], + "unmockedModulePathPatterns": [ + "react" + ], + "coverageDirectory": "./coverage", + "coveragePathIgnorePatterns": [ + "/src/js/filt/filt.js" + ], + "collectCoverageFrom": [ + "src/js/**/*.{js,jsx,ts,tsx}" + ], + "transform": { + "^.+\\.[jt]sx?$": [ + "esbuild-jest", + { + "loaders": { + ".js": "tsx" + }, + "format": "cjs", + "sourcemap": true, + } + ] + } + } +} diff --git a/web/package-lock.json b/web/package-lock.json new file mode 100644 index 000000000..05187ce3e --- /dev/null +++ b/web/package-lock.json @@ -0,0 +1,9696 @@ +{ + "name": "mitmproxy", + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.12.13" + } + }, + "@babel/compat-data": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.5.tgz", + "integrity": "sha512-kixrYn4JwfAVPa0f2yfzc2AWti6WRRyO3XjWW5PJAvtE11qhSayrrcrEnee05KAtNaPC+EwehE8Qt1UedEVB8w==", + "dev": true + }, + "@babel/core": { + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.3.tgz", + "integrity": "sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.14.3", + "@babel/helper-compilation-targets": "^7.13.16", + "@babel/helper-module-transforms": "^7.14.2", + "@babel/helpers": "^7.14.0", + "@babel/parser": "^7.14.3", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.14.2", + "@babel/types": "^7.14.2", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.3.tgz", + "integrity": "sha512-bn0S6flG/j0xtQdz3hsjJ624h3W0r3llttBMfyHX3YrZ/KtLYr15bjA0FXkgW7FpvrDuTuElXeVjiKlYRpnOFA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.2", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-compilation-targets": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz", + "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + } + }, + "@babel/helper-function-name": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", + "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "@babel/parser": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.6.tgz", + "integrity": "sha512-oG0ej7efjEXxb4UgE+klVx+3j4MVo+A2vCzm7OUN4CLo6WhQ+vSOD2yJ8m7B+DghObxtLxt3EfgMWpq+AsWehQ==", + "dev": true + }, + "@babel/template": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", + "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/types": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", + "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-get-function-arity": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", + "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + }, + "dependencies": { + "@babel/types": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", + "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-hoist-variables": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", + "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + }, + "dependencies": { + "@babel/types": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", + "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.5.tgz", + "integrity": "sha512-UxUeEYPrqH1Q/k0yRku1JE7dyfyehNwT6SVkMHvYvPDv4+uu627VXBckVj891BO8ruKBkiDoGnZf4qPDD8abDQ==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + }, + "dependencies": { + "@babel/types": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", + "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-module-imports": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", + "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + }, + "dependencies": { + "@babel/types": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", + "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-module-transforms": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz", + "integrity": "sha512-OznJUda/soKXv0XhpvzGWDnml4Qnwp16GN+D/kZIdLsWoHj05kyu8Rm5kXmMef+rVJZ0+4pSGLkeixdqNUATDA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.13.12", + "@babel/helper-replace-supers": "^7.13.12", + "@babel/helper-simple-access": "^7.13.12", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.14.0", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.14.2", + "@babel/types": "^7.14.2" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", + "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + }, + "dependencies": { + "@babel/types": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", + "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-plugin-utils": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", + "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz", + "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "@babel/generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz", + "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/parser": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.6.tgz", + "integrity": "sha512-oG0ej7efjEXxb4UgE+klVx+3j4MVo+A2vCzm7OUN4CLo6WhQ+vSOD2yJ8m7B+DghObxtLxt3EfgMWpq+AsWehQ==", + "dev": true + }, + "@babel/traverse": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.5.tgz", + "integrity": "sha512-G3BiS15vevepdmFqmUc9X+64y0viZYygubAMO8SvBmKARuF6CPSZtH4Ng9vi/lrWlZFGe3FWdXNy835akH8Glg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", + "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "to-fast-properties": "^2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-simple-access": { + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz", + "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==", + "dev": true, + "requires": { + "@babel/types": "^7.13.12" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", + "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + }, + "dependencies": { + "@babel/types": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", + "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-validator-identifier": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", + "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "dev": true + }, + "@babel/helpers": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.6.tgz", + "integrity": "sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==", + "dev": true, + "requires": { + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "@babel/generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz", + "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/parser": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.6.tgz", + "integrity": "sha512-oG0ej7efjEXxb4UgE+klVx+3j4MVo+A2vCzm7OUN4CLo6WhQ+vSOD2yJ8m7B+DghObxtLxt3EfgMWpq+AsWehQ==", + "dev": true + }, + "@babel/template": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", + "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/traverse": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.5.tgz", + "integrity": "sha512-G3BiS15vevepdmFqmUc9X+64y0viZYygubAMO8SvBmKARuF6CPSZtH4Ng9vi/lrWlZFGe3FWdXNy835akH8Glg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", + "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "to-fast-properties": "^2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.4.tgz", + "integrity": "sha512-ArliyUsWDUqEGfWcmzpGUzNfLxTdTp6WU4IuP6QFSp9gGfWS6boxFCkJSJ/L4+RG8z/FnIU3WxCk6hPL9SSWeA==", + "dev": true + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz", + "integrity": "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + } + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.0.tgz", + "integrity": "sha512-EX4QePlsTaRZQmw9BsoPeyh5OCtRGIhwfLquhxGp5e32w+dyL8htOcDwamlitmNFK6xBZYlygjdye9dbd9rUlQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.14.0", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-simple-access": "^7.13.12", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/runtime": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.6.tgz", + "integrity": "sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/runtime-corejs3": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.14.6.tgz", + "integrity": "sha512-Xl8SPYtdjcMoCsIM4teyVRg7jIcgl8F2kRtoCcXuHzXswt9UxZCS6BzRo8fcnCuP6u2XtPgvyonmEPF57Kxo9Q==", + "dev": true, + "requires": { + "core-js-pure": "^3.14.0", + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" + } + }, + "@babel/traverse": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.2.tgz", + "integrity": "sha512-TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.14.2", + "@babel/helper-function-name": "^7.14.2", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.14.2", + "@babel/types": "^7.14.2", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.4.tgz", + "integrity": "sha512-lCj4aIs0xUefJFQnwwQv2Bxg7Omd6bgquZ6LGC+gGMh6/s5qDVfjuCMlDmYQ15SLsWHd9n+X3E75lKIhl5Lkiw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.0", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@gulp-sourcemaps/identity-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-2.0.1.tgz", + "integrity": "sha512-Tb+nSISZku+eQ4X1lAkevcQa+jknn/OVUgZ3XCxEKIsLsqYuPoJwJOPQeaOk75X3WPftb29GWY1eqE7GLsXb1Q==", + "dev": true, + "requires": { + "acorn": "^6.4.1", + "normalize-path": "^3.0.0", + "postcss": "^7.0.16", + "source-map": "^0.6.0", + "through2": "^3.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + } + } + }, + "@gulp-sourcemaps/map-sources": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz", + "integrity": "sha1-iQrnxdjId/bThIYCFazp1+yUW9o=", + "dev": true, + "requires": { + "normalize-path": "^2.0.1", + "through2": "^2.0.3" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true + }, + "@jest/console": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.0.2.tgz", + "integrity": "sha512-/zYigssuHLImGeMAACkjI4VLAiiJznHgAl3xnFT19iWyct2LhrH3KXOjHRmxBGTkiPLZKKAJAgaPpiU9EZ9K+w==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.0.2", + "jest-util": "^27.0.2", + "slash": "^3.0.0" + } + }, + "@jest/core": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.0.4.tgz", + "integrity": "sha512-+dsmV8VUs1h/Szb+rEWk8xBM1fp1I///uFy9nk3wXGvRsF2lBp8EVPmtWc+QFRb3MY2b7u2HbkGF1fzoDzQTLA==", + "dev": true, + "requires": { + "@jest/console": "^27.0.2", + "@jest/reporters": "^27.0.4", + "@jest/test-result": "^27.0.2", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^27.0.2", + "jest-config": "^27.0.4", + "jest-haste-map": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-regex-util": "^27.0.1", + "jest-resolve": "^27.0.4", + "jest-resolve-dependencies": "^27.0.4", + "jest-runner": "^27.0.4", + "jest-runtime": "^27.0.4", + "jest-snapshot": "^27.0.4", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", + "jest-watcher": "^27.0.2", + "micromatch": "^4.0.4", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "@jest/environment": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.3.tgz", + "integrity": "sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3" + } + }, + "@jest/fake-timers": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.3.tgz", + "integrity": "sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@sinonjs/fake-timers": "^7.0.2", + "@types/node": "*", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" + } + }, + "@jest/globals": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.0.3.tgz", + "integrity": "sha512-OzsIuf7uf+QalqAGbjClyezzEcLQkdZ+7PejUrZgDs+okdAK8GwRCGcYCirHvhMBBQh60Jr3NlIGbn/KBPQLEQ==", + "dev": true, + "requires": { + "@jest/environment": "^27.0.3", + "@jest/types": "^27.0.2", + "expect": "^27.0.2" + } + }, + "@jest/reporters": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.0.4.tgz", + "integrity": "sha512-Xa90Nm3JnV0xCe4M6A10M9WuN9krb+WFKxV1A98Y4ePCw40n++r7uxFUNU7DT1i9Behj7fjrAIju9oU0t1QtCg==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.0.2", + "@jest/test-result": "^27.0.2", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^27.0.2", + "jest-resolve": "^27.0.4", + "jest-util": "^27.0.2", + "jest-worker": "^27.0.2", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^7.0.0" + } + }, + "@jest/source-map": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.0.1.tgz", + "integrity": "sha512-yMgkF0f+6WJtDMdDYNavmqvbHtiSpwRN2U/W+6uztgfqgkq/PXdKPqjBTUF1RD/feth4rH5N3NW0T5+wIuln1A==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.0.2.tgz", + "integrity": "sha512-gcdWwL3yP5VaIadzwQtbZyZMgpmes8ryBAJp70tuxghiA8qL4imJyZex+i+USQH2H4jeLVVszhwntgdQ97fccA==", + "dev": true, + "requires": { + "@jest/console": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.0.4.tgz", + "integrity": "sha512-6UFEVwdmxYdyNffBxVVZxmXEdBE4riSddXYSnFNH0ELFQFk/bvagizim8WfgJTqF4EKd+j1yFxvhb8BMHfOjSQ==", + "dev": true, + "requires": { + "@jest/test-result": "^27.0.2", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.0.2", + "jest-runtime": "^27.0.4" + } + }, + "@jest/transform": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.0.2.tgz", + "integrity": "sha512-H8sqKlgtDfVog/s9I4GG2XMbi4Ar7RBxjsKQDUhn2XHAi3NG+GoQwWMER+YfantzExbjNqQvqBHzo/G2pfTiPw==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.0.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.0.2", + "jest-regex-util": "^27.0.1", + "jest-util": "^27.0.2", + "micromatch": "^4.0.4", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "@jest/types": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.2.tgz", + "integrity": "sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@popperjs/core": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.9.2.tgz", + "integrity": "sha512-VZMYa7+fXHdwIq1TDhSXoVmSPEGM/aa+6Aiq3nVVJ9bXr24zScr+NlKFKC3iPljA7ho/GAZr+d2jOf5GIRC30Q==" + }, + "@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@testing-library/dom": { + "version": "7.31.2", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-7.31.2.tgz", + "integrity": "sha512-3UqjCpey6HiTZT92vODYLPxTBWlM8ZOOjr3LX5F37/VRipW2M1kX6I/Cm4VXzteZqfGfagg8yXywpcOgQBlNsQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^4.2.0", + "aria-query": "^4.2.2", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.6", + "lz-string": "^1.4.4", + "pretty-format": "^26.6.2" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + } + } + } + }, + "@testing-library/react": { + "version": "11.2.7", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-11.2.7.tgz", + "integrity": "sha512-tzRNp7pzd5QmbtXNG/mhdcl7Awfu/Iz1RaVHY75zTdOkmHCuzMhRL83gWHSgOAcjS3CCbyfwUHMZgRJb4kAfpA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^7.28.1" + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true + }, + "@types/aria-query": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-4.2.1.tgz", + "integrity": "sha512-S6oPal772qJZHoRZLFc/XoZW2gFvwXusYUmXPXkgxJLuEk2vOt7jc4Yo6z/vtI0EBkbPBVrJJ0B+prLIKiWqHg==", + "dev": true + }, + "@types/babel__core": { + "version": "7.1.14", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.14.tgz", + "integrity": "sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz", + "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz", + "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.1.tgz", + "integrity": "sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/expect": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz", + "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==", + "dev": true + }, + "@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "requires": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "26.0.23", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.23.tgz", + "integrity": "sha512-ZHLmWMJ9jJ9PTiT58juykZpL7KjwJywFN3Rr2pTSkyQfydf/rk22yS7W8p5DaVUMQ2BQC7oYiU3FjbTM/mYrOA==", + "dev": true, + "requires": { + "jest-diff": "^26.0.0", + "pretty-format": "^26.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", + "dev": true + }, + "jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", + "dev": true + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + } + } + } + }, + "@types/node": { + "version": "15.12.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.4.tgz", + "integrity": "sha512-zrNj1+yqYF4WskCMOHwN+w9iuD12+dGm0rQ35HLl9/Ouuq52cEtd0CH9qMgrdNmi5ejC1/V7vKEXYubB+65DkA==", + "dev": true + }, + "@types/prettier": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.0.tgz", + "integrity": "sha512-hkc1DATxFLQo4VxPDpMH1gCkPpBbpOoJ/4nhuXw4n63/0R6bCpQECj4+K226UJ4JO/eJQz+1mC2I7JsWanAdQw==", + "dev": true + }, + "@types/prop-types": { + "version": "15.7.3", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", + "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" + }, + "@types/react": { + "version": "17.0.11", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.11.tgz", + "integrity": "sha512-yFRQbD+whVonItSk7ZzP/L+gPTJVBkL/7shLEF+i9GC/1cV3JmUxEQz6+9ylhUpWSDuqo1N9qEvqS6vTj4USUA==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-redux": { + "version": "7.1.16", + "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.16.tgz", + "integrity": "sha512-f/FKzIrZwZk7YEO9E1yoxIuDNRiDducxkFlkw/GNMGEnK9n4K8wJzlJBghpSuOVDgEUHoDkDF7Gi9lHNQR4siw==", + "requires": { + "@types/hoist-non-react-statics": "^3.3.0", + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0", + "redux": "^4.0.0" + }, + "dependencies": { + "redux": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.1.0.tgz", + "integrity": "sha512-uI2dQN43zqLWCt6B/BMGRMY6db7TTY4qeHHfGeKb3EOhmOKjU3KdWvNLJyqaHRksv/ErdNH7cFZWg9jXtewy4g==", + "requires": { + "@babel/runtime": "^7.9.2" + } + } + } + }, + "@types/redux-mock-store": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/redux-mock-store/-/redux-mock-store-1.0.2.tgz", + "integrity": "sha512-6LBtAQBN34i7SI5X+Qs4zpTEZO1tTDZ6sZ9fzFjYwTl3nLQXaBtwYdoV44CzNnyKu438xJ1lSIYyw0YMvunESw==", + "dev": true, + "requires": { + "redux": "^4.0.5" + }, + "dependencies": { + "redux": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.1.0.tgz", + "integrity": "sha512-uI2dQN43zqLWCt6B/BMGRMY6db7TTY4qeHHfGeKb3EOhmOKjU3KdWvNLJyqaHRksv/ErdNH7cFZWg9jXtewy4g==", + "dev": true, + "requires": { + "@babel/runtime": "^7.9.2" + } + } + } + }, + "@types/scheduler": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.1.tgz", + "integrity": "sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA==" + }, + "@types/stack-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", + "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==", + "dev": true + }, + "@types/vinyl": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.4.tgz", + "integrity": "sha512-2o6a2ixaVI2EbwBPg1QYLGQoHK56p/8X/sGfKbFC8N6sY9lfjsMf/GprtkQkSya0D4uRiutRZ2BWj7k3JvLsAQ==", + "dev": true, + "requires": { + "@types/expect": "^1.20.4", + "@types/node": "*" + } + }, + "@types/yargs": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.3.tgz", + "integrity": "sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", + "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", + "dev": true + }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "dev": true + }, + "accord": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/accord/-/accord-0.29.0.tgz", + "integrity": "sha512-3OOR92FTc2p5/EcOzPcXp+Cbo+3C15nV9RXHlOUBCBpHhcB+0frbSNR9ehED/o7sTcyGVtqGJpguToEdlXhD0w==", + "dev": true, + "requires": { + "convert-source-map": "^1.5.0", + "glob": "^7.0.5", + "indx": "^0.2.3", + "lodash.clone": "^4.3.2", + "lodash.defaults": "^4.0.1", + "lodash.flatten": "^4.2.0", + "lodash.merge": "^4.4.0", + "lodash.partialright": "^4.1.4", + "lodash.pick": "^4.2.1", + "lodash.uniq": "^4.3.0", + "resolve": "^1.5.0", + "semver": "^5.3.0", + "uglify-js": "^2.8.22", + "when": "^3.7.8" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + } + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "requires": { + "debug": "4" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "optional": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, + "ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "dev": true, + "requires": { + "ansi-wrap": "^0.1.0" + } + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + }, + "dependencies": { + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + } + } + }, + "append-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", + "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", + "dev": true, + "requires": { + "buffer-equal": "^1.0.0" + } + }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-filter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", + "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", + "dev": true, + "requires": { + "make-iterator": "^1.0.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", + "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", + "dev": true, + "requires": { + "make-iterator": "^1.0.0" + } + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-initial": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", + "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=", + "dev": true, + "requires": { + "array-slice": "^1.0.0", + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "array-last": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", + "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", + "dev": true, + "requires": { + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + } + } + }, + "array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true + }, + "array-sort": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", + "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", + "dev": true, + "requires": { + "default-compare": "^1.0.0", + "get-value": "^2.0.6", + "kind-of": "^5.0.2" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true, + "optional": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "optional": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "async-done": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", + "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.2", + "process-nextick-args": "^2.0.0", + "stream-exhaust": "^1.0.1" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "async-settle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", + "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", + "dev": true, + "requires": { + "async-done": "^1.2.2" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true, + "optional": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true, + "optional": true + }, + "babel-jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", + "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "dev": true, + "requires": { + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "dependencies": { + "@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", + "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^15.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "15.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "jest-haste-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", + "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + } + }, + "jest-regex-util": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", + "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", + "dev": true + }, + "jest-serializer": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.6.2.tgz", + "integrity": "sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==", + "dev": true, + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + } + }, + "jest-util": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", + "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==", + "dev": true, + "requires": { + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "micromatch": "^4.0.2" + } + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", + "integrity": "sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz", + "integrity": "sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^26.6.2", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "bach": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", + "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=", + "dev": true, + "requires": { + "arr-filter": "^1.1.1", + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "array-each": "^1.0.0", + "array-initial": "^1.0.0", + "array-last": "^1.1.1", + "async-done": "^1.2.2", + "async-settle": "^1.0.0", + "now-and-later": "^2.0.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "binaryextensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.3.0.tgz", + "integrity": "sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==", + "dev": true + }, + "body": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz", + "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=", + "dev": true, + "requires": { + "continuable-cache": "^0.3.1", + "error": "^7.0.0", + "raw-body": "~1.1.0", + "safe-json-parse": "~1.0.1" + } + }, + "bootstrap": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-3.4.1.tgz", + "integrity": "sha512-yN5oZVmRCwe5aKwzRj6736nSmKDX7pLYwsXiCj/EYmo16hODaBiT4En5btW/jhBF/seV+XMx3aYwukYC3A49DA==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "browserslist": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", + "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001219", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.723", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", + "dev": true + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz", + "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=", + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, + "caniuse-lite": { + "version": "1.0.30001239", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001239.tgz", + "integrity": "sha512-cyBkXJDMeI4wthy8xJ2FvDU6+0dtcZSJW3voUF8+e9f1bBeuvyZfc3PNbkOETyhbR+dGCPzn9E7MA3iwzusOhQ==", + "dev": true + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "requires": { + "rsvp": "^4.8.4" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true, + "optional": true + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "dependencies": { + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + } + } + }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "cjs-module-lexer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.1.tgz", + "integrity": "sha512-jVamGdJPDeuQilKhvVn1h3knuMOZzr8QDnpk+M9aMlCaMkTDd6fBWPhiDqFvFZ07pL0liqabAiuy8SY4jGHeaw==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "classnames": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", + "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + }, + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", + "dev": true + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "codemirror": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.62.0.tgz", + "integrity": "sha512-Xnl3304iCc8nyVZuRkzDVVwc794uc9QNX0UcPGeNic1fbzkSrO4l4GVXho9tRNKBgPYZXgocUqXyfIv3BILhCQ==" + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "collection-map": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", + "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=", + "dev": true, + "requires": { + "arr-map": "^2.0.2", + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true + }, + "colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "continuable-cache": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz", + "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=", + "dev": true + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-props": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz", + "integrity": "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==", + "dev": true, + "requires": { + "each-props": "^1.3.2", + "is-plain-object": "^5.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + } + } + }, + "core-js-pure": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.15.0.tgz", + "integrity": "sha512-RO+LFAso8DB6OeBX9BAcEGvyth36QtxYon1OyVsITNVtSKr/Hos0BXZwnsOJ7o+O6KHtK+O+cJIEj9NGg6VwFA==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "dependencies": { + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + } + } + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } + } + }, + "csstype": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz", + "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==" + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "d": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "requires": { + "es5-ext": "^0.10.9" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dev": true, + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "dateformat": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1", + "meow": "^3.3.0" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "debug-fabulous": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.1.0.tgz", + "integrity": "sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg==", + "dev": true, + "requires": { + "debug": "3.X", + "memoizee": "0.4.X", + "object-assign": "4.X" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decimal.js": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", + "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "default-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", + "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", + "dev": true, + "requires": { + "kind-of": "^5.0.2" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "default-resolution": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", + "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", + "dev": true + }, + "diff-sequences": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.1.tgz", + "integrity": "sha512-XPLijkfJUh/PIBnfkcSHgvD6tlYixmcMAn3osTk6jt+H0v/mgURto1XUiD9DKuGX5NDoVS6dSlA23gd9FUaCFg==", + "dev": true + }, + "dom-accessibility-api": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.6.tgz", + "integrity": "sha512-DplGLZd8L1lN64jlT27N9TVSESFR5STaEJvX+thCby7fuCHonfPpAlodYc3vuUYbDuDec5w8AMP7oCM5TWFsqw==", + "dev": true + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "dev": true + } + } + }, + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dev": true, + "requires": { + "readable-stream": "~1.1.9" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + } + } + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "each-props": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", + "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.1", + "object.defaults": "^1.1.0" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "electron-to-chromium": { + "version": "1.3.752", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.752.tgz", + "integrity": "sha512-2Tg+7jSl3oPxgsBsWKh5H83QazTkmWG/cnNwJplmyZc7KcN61+I10oUgaXSVk/NwfvN3BdkKDR4FYuRBQQ2v0A==", + "dev": true + }, + "emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "optional": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/error/-/error-7.2.1.tgz", + "integrity": "sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA==", + "dev": true, + "requires": { + "string-template": "~0.2.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dev": true, + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + }, + "dependencies": { + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + } + } + }, + "es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "esbuild": { + "version": "0.12.9", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.9.tgz", + "integrity": "sha512-MWRhAbMOJ9RJygCrt778rz/qNYgA4ZVj6aXnNPxFjs7PmIpb0fuB9Gmg5uWrr6n++XKwwm/RmSz6RR5JL2Ocsw==", + "dev": true + }, + "esbuild-jest": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/esbuild-jest/-/esbuild-jest-0.5.0.tgz", + "integrity": "sha512-AMZZCdEpXfNVOIDvURlqYyHwC8qC1/BFjgsrOiSL1eyiIArVtHL8YAC83Shhn16cYYoAWEW17yZn0W/RJKJKHQ==", + "dev": true, + "requires": { + "@babel/core": "^7.12.17", + "@babel/plugin-transform-modules-commonjs": "^7.12.13", + "babel-jest": "^26.6.3" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "exec-sh": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "dependencies": { + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + } + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "expect": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.0.2.tgz", + "integrity": "sha512-YJFNJe2+P2DqH+ZrXy+ydRQYO87oxRUonZImpDodR1G7qo3NYd3pL+NQ9Keqpez3cehczYwZDBC3A7xk3n7M/w==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "ansi-styles": "^5.0.0", + "jest-get-type": "^27.0.1", + "jest-matcher-utils": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-regex-util": "^27.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "dev": true, + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", + "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true, + "optional": true + }, + "fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "dev": true, + "requires": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "optional": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", + "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", + "dev": true, + "requires": { + "bser": "^2.0.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + } + } + }, + "fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + } + }, + "flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true, + "optional": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "optional": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fs-mkdirp-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", + "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "through2": "^2.0.3" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-stream": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", + "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "dev": true, + "requires": { + "extend": "^3.0.0", + "glob": "^7.1.1", + "glob-parent": "^3.1.0", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.0", + "pumpify": "^1.3.5", + "readable-stream": "^2.1.5", + "remove-trailing-separator": "^1.0.1", + "to-absolute-glob": "^2.0.0", + "unique-stream": "^2.0.2" + } + }, + "glob-watcher": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.3.tgz", + "integrity": "sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-done": "^1.2.0", + "chokidar": "^2.0.0", + "is-negated-glob": "^1.0.0", + "just-debounce": "^1.0.0", + "object.defaults": "^1.1.0" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "glogg": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", + "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, + "gulp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", + "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", + "dev": true, + "requires": { + "glob-watcher": "^5.0.3", + "gulp-cli": "^2.2.0", + "undertaker": "^1.2.1", + "vinyl-fs": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "gulp-cli": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.2.0.tgz", + "integrity": "sha512-rGs3bVYHdyJpLqR0TUBnlcZ1O5O++Zs4bA0ajm+zr3WFCfiSLjGwoCBqFs18wzN+ZxahT9DkOK5nDf26iDsWjA==", + "dev": true, + "requires": { + "ansi-colors": "^1.0.1", + "archy": "^1.0.0", + "array-sort": "^1.0.0", + "color-support": "^1.1.3", + "concat-stream": "^1.6.0", + "copy-props": "^2.0.1", + "fancy-log": "^1.3.2", + "gulplog": "^1.0.0", + "interpret": "^1.1.0", + "isobject": "^3.0.1", + "liftoff": "^3.1.0", + "matchdep": "^2.0.0", + "mute-stdout": "^1.0.0", + "pretty-hrtime": "^1.0.0", + "replace-homedir": "^1.0.0", + "semver-greatest-satisfied-range": "^1.1.0", + "v8flags": "^3.0.1", + "yargs": "^7.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "dev": true + }, + "yargs": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz", + "integrity": "sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.1" + } + }, + "yargs-parser": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz", + "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "object.assign": "^4.1.0" + } + } + } + }, + "gulp-clean-css": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/gulp-clean-css/-/gulp-clean-css-4.3.0.tgz", + "integrity": "sha512-mGyeT3qqFXTy61j0zOIciS4MkYziF2U594t2Vs9rUnpkEHqfu6aDITMp8xOvZcvdX61Uz3y1mVERRYmjzQF5fg==", + "dev": true, + "requires": { + "clean-css": "4.2.3", + "plugin-error": "1.0.1", + "through2": "3.0.1", + "vinyl-sourcemaps-apply": "0.2.1" + }, + "dependencies": { + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "gulp-esbuild": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/gulp-esbuild/-/gulp-esbuild-0.8.2.tgz", + "integrity": "sha512-nlXqZ/ujAPPgvIakm0TB/uM4myoxlwDfnwcDa1aczJvxbC6QEMCWZrgEqfE2QVeriDIoDgYRQ/eimUennZSetw==", + "dev": true, + "requires": { + "esbuild": "^0.12.8", + "plugin-error": "^1.0.1", + "vinyl": "^2.2.1" + }, + "dependencies": { + "esbuild": { + "version": "0.12.8", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.8.tgz", + "integrity": "sha512-sx/LwlP/SWTGsd9G4RlOPrXnIihAJ2xwBUmzoqe2nWwbXORMQWtAGNJNYLBJJqa3e9PWvVzxdrtyFZJcr7D87g==", + "dev": true + }, + "vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dev": true, + "requires": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + } + } + } + }, + "gulp-less": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/gulp-less/-/gulp-less-4.0.1.tgz", + "integrity": "sha512-hmM2k0FfQp7Ptm3ZaqO2CkMX3hqpiIOn4OHtuSsCeFym63F7oWlEua5v6u1cIjVUKYsVIs9zPg9vbqTEb/udpA==", + "dev": true, + "requires": { + "accord": "^0.29.0", + "less": "2.6.x || ^3.7.1", + "object-assign": "^4.0.1", + "plugin-error": "^0.1.2", + "replace-ext": "^1.0.0", + "through2": "^2.0.0", + "vinyl-sourcemaps-apply": "^0.2.0" + }, + "dependencies": { + "arr-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", + "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1", + "array-slice": "^0.2.3" + } + }, + "arr-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", + "dev": true + }, + "array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", + "dev": true + }, + "extend-shallow": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", + "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "dev": true, + "requires": { + "kind-of": "^1.1.0" + } + }, + "kind-of": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", + "dev": true + }, + "plugin-error": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", + "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "dev": true, + "requires": { + "ansi-cyan": "^0.1.1", + "ansi-red": "^0.1.1", + "arr-diff": "^1.0.1", + "arr-union": "^2.0.1", + "extend-shallow": "^1.1.2" + }, + "dependencies": { + "ansi-cyan": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", + "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-red": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + } + } + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + } + } + } + }, + "gulp-livereload": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp-livereload/-/gulp-livereload-4.0.2.tgz", + "integrity": "sha512-InmaR50Xl1xB1WdEk4mrUgGHv3VhhlRLrx7u60iY5AAer90FlK95KXitPcGGQoi28zrUJM189d/h6+V470Ncgg==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "debug": "^3.1.0", + "fancy-log": "^1.3.2", + "lodash.assign": "^4.2.0", + "readable-stream": "^3.0.6", + "tiny-lr": "^1.1.1", + "vinyl": "^2.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "gulp-notify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/gulp-notify/-/gulp-notify-4.0.0.tgz", + "integrity": "sha512-0cdDvZkHVqu4tqrcOI/jL5YdxYEIPQ7+p3YxnO48w5hhPSisvogZ887qL+fpYItg9m4MUhJ5Se8p8xGy3uJESA==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1", + "fancy-log": "^1.3.3", + "lodash.template": "^4.5.0", + "node-notifier": "^9.0.1", + "node.extend": "^2.0.2", + "plugin-error": "^1.0.1", + "through2": "^4.0.2" + }, + "dependencies": { + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + } + } + }, + "gulp-peg": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/gulp-peg/-/gulp-peg-0.2.0.tgz", + "integrity": "sha1-aap3iezv+ajBA94ghYt8t4jXlSY=", + "dev": true, + "requires": { + "gulp-util": "^2.2.14", + "pegjs": "^0.9.0", + "through2": "^0.4.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "through2": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", + "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", + "dev": true, + "requires": { + "readable-stream": "~1.0.17", + "xtend": "~2.1.1" + } + }, + "xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "dev": true, + "requires": { + "object-keys": "~0.4.0" + } + } + } + }, + "gulp-plumber": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/gulp-plumber/-/gulp-plumber-1.2.1.tgz", + "integrity": "sha512-mctAi9msEAG7XzW5ytDVZ9PxWMzzi1pS2rBH7lA095DhMa6KEXjm+St0GOCc567pJKJ/oCvosVAZEpAey0q2eQ==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "fancy-log": "^1.3.2", + "plugin-error": "^0.1.2", + "through2": "^2.0.3" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "arr-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", + "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1", + "array-slice": "^0.2.3" + } + }, + "arr-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", + "dev": true + }, + "array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "extend-shallow": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", + "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "dev": true, + "requires": { + "kind-of": "^1.1.0" + } + }, + "kind-of": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", + "dev": true + }, + "plugin-error": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", + "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "dev": true, + "requires": { + "ansi-cyan": "^0.1.1", + "ansi-red": "^0.1.1", + "arr-diff": "^1.0.1", + "arr-union": "^2.0.1", + "extend-shallow": "^1.1.2" + }, + "dependencies": { + "ansi-cyan": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", + "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-red": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + } + } + } + }, + "gulp-replace": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-1.1.3.tgz", + "integrity": "sha512-HcPHpWY4XdF8zxYkDODHnG2+7a3nD/Y8Mfu3aBgMiCFDW3X2GiOKXllsAmILcxe3KZT2BXoN18WrpEFm48KfLQ==", + "dev": true, + "requires": { + "@types/node": "^14.14.41", + "@types/vinyl": "^2.0.4", + "istextorbinary": "^3.0.0", + "replacestream": "^4.0.3", + "yargs-parser": ">=5.0.0-security.0" + }, + "dependencies": { + "@types/node": { + "version": "14.17.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.3.tgz", + "integrity": "sha512-e6ZowgGJmTuXa3GyaPbTGxX17tnThl2aSSizrFthQ7m9uLGZBXiGhgE55cjRZTF5kjZvYn9EOPOMljdjwbflxw==", + "dev": true + } + } + }, + "gulp-sourcemaps": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-3.0.0.tgz", + "integrity": "sha512-RqvUckJkuYqy4VaIH60RMal4ZtG0IbQ6PXMNkNsshEGJ9cldUPRb/YCgboYae+CLAs1HQNb4ADTKCx65HInquQ==", + "dev": true, + "requires": { + "@gulp-sourcemaps/identity-map": "^2.0.1", + "@gulp-sourcemaps/map-sources": "^1.0.0", + "acorn": "^6.4.1", + "convert-source-map": "^1.0.0", + "css": "^3.0.0", + "debug-fabulous": "^1.0.0", + "detect-newline": "^2.0.0", + "graceful-fs": "^4.0.0", + "source-map": "^0.6.0", + "strip-bom-string": "^1.0.0", + "through2": "^2.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "dev": true + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + } + } + } + }, + "gulp-util": { + "version": "2.2.20", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.20.tgz", + "integrity": "sha1-1xRuVyiRC9jwR6awseVJvCLb1kw=", + "dev": true, + "requires": { + "chalk": "^0.5.0", + "dateformat": "^1.0.7-1.2.3", + "lodash._reinterpolate": "^2.4.1", + "lodash.template": "^2.4.1", + "minimist": "^0.2.0", + "multipipe": "^0.1.0", + "through2": "^0.5.0", + "vinyl": "^0.2.1" + }, + "dependencies": { + "ansi-regex": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", + "dev": true + }, + "ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=", + "dev": true + }, + "chalk": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", + "dev": true, + "requires": { + "ansi-styles": "^1.1.0", + "escape-string-regexp": "^1.0.0", + "has-ansi": "^0.1.0", + "strip-ansi": "^0.3.0", + "supports-color": "^0.2.0" + } + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", + "dev": true + }, + "has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", + "dev": true, + "requires": { + "ansi-regex": "^0.2.0" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "lodash.defaults": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz", + "integrity": "sha1-p+iIXwXmiFEUS24SqPNngCa8TFQ=", + "dev": true, + "requires": { + "lodash._objecttypes": "~2.4.1", + "lodash.keys": "~2.4.1" + } + }, + "lodash.template": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz", + "integrity": "sha1-nmEQB+32KRKal0qzxIuBez4c8g0=", + "dev": true, + "requires": { + "lodash._escapestringchar": "~2.4.1", + "lodash._reinterpolate": "~2.4.1", + "lodash.defaults": "~2.4.1", + "lodash.escape": "~2.4.1", + "lodash.keys": "~2.4.1", + "lodash.templatesettings": "~2.4.1", + "lodash.values": "~2.4.1" + } + }, + "lodash.templatesettings": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz", + "integrity": "sha1-6nbHXRHrhtTb6JqDiTu4YZKaxpk=", + "dev": true, + "requires": { + "lodash._reinterpolate": "~2.4.1", + "lodash.escape": "~2.4.1" + } + }, + "minimist": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.2.1.tgz", + "integrity": "sha512-GY8fANSrTMfBVfInqJAY41QkOM+upUTytK1jZ0c8+3HdHrJxBJ3rF5i9moClXTE8uUSnUo8cAsCoxDXvSY4DHg==", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "strip-ansi": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", + "dev": true, + "requires": { + "ansi-regex": "^0.2.1" + } + }, + "supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=", + "dev": true + }, + "through2": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz", + "integrity": "sha1-390BLrnHAOIyP9M084rGIqs3Lac=", + "dev": true, + "requires": { + "readable-stream": "~1.0.17", + "xtend": "~3.0.0" + } + }, + "vinyl": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz", + "integrity": "sha1-vKk4IJWC7FpJrVOKAPofEl5RMlI=", + "dev": true, + "requires": { + "clone-stats": "~0.0.1" + } + }, + "xtend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", + "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=", + "dev": true + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "requires": { + "glogg": "^1.0.0" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true, + "optional": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "optional": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "dev": true + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "dev": true, + "optional": true + }, + "import-local": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "indx": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/indx/-/indx-0.2.3.tgz", + "integrity": "sha1-Fdz1bunPZcAjTFE8J/vVgOcPvFA=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "is": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/is/-/is-3.3.0.tgz", + "integrity": "sha512-nW24QBoPcFGGHJGUwnfpI7Yc5CdqWNdsyHQszVE/z2pKHXzh7FZ5GWhJqSyaQ9wMkQnsTx+kAI8bHlCX4tKdbg==", + "dev": true + }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + } + }, + "is-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz", + "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==", + "dev": true, + "requires": { + "ci-info": "^3.1.1" + } + }, + "is-core-module": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", + "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negated-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", + "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "dev": true + }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "requires": { + "is-unc-path": "^1.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-valid-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", + "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true, + "optional": true + }, + "istanbul-lib-coverage": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + } + }, + "istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "istextorbinary": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-3.3.0.tgz", + "integrity": "sha512-Tvq1W6NAcZeJ8op+Hq7tdZ434rqnMx4CCZ7H0ff83uEloDvVbqAwaMTZcafKGJT0VHkYzuXUiCY4hlXQg6WfoQ==", + "dev": true, + "requires": { + "binaryextensions": "^2.2.0", + "textextensions": "^3.2.0" + } + }, + "jest": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.0.4.tgz", + "integrity": "sha512-Px1iKFooXgGSkk1H8dJxxBIrM3tsc5SIuI4kfKYK2J+4rvCvPGr/cXktxh0e9zIPQ5g09kOMNfHQEmusBUf/ZA==", + "dev": true, + "requires": { + "@jest/core": "^27.0.4", + "import-local": "^3.0.2", + "jest-cli": "^27.0.4" + }, + "dependencies": { + "jest-cli": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.0.4.tgz", + "integrity": "sha512-E0T+/i2lxsWAzV7LKYd0SB7HUAvePqaeIh5vX43/G5jXLhv1VzjYzJAGEkTfvxV774ll9cyE2ljcL73PVMEOXQ==", + "dev": true, + "requires": { + "@jest/core": "^27.0.4", + "@jest/test-result": "^27.0.2", + "@jest/types": "^27.0.2", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "jest-config": "^27.0.4", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", + "prompts": "^2.0.1", + "yargs": "^16.0.3" + } + } + } + }, + "jest-changed-files": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.0.2.tgz", + "integrity": "sha512-eMeb1Pn7w7x3wue5/vF73LPCJ7DKQuC9wQUR5ebP9hDPpk5hzcT/3Hmz3Q5BOFpR3tgbmaWhJcMTVgC8Z1NuMw==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "execa": "^5.0.0", + "throat": "^6.0.1" + } + }, + "jest-circus": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.0.4.tgz", + "integrity": "sha512-QD+eblDiRphta630WRKewuASLs/oY1Zki2G4bccntRvrTHQ63ljwFR5TLduuK4Zg0ZPzW0+8o6AP7KRd1yKOjw==", + "dev": true, + "requires": { + "@jest/environment": "^27.0.3", + "@jest/test-result": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.0.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.0.2", + "jest-matcher-utils": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-runtime": "^27.0.4", + "jest-snapshot": "^27.0.4", + "jest-util": "^27.0.2", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + } + }, + "jest-config": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.0.4.tgz", + "integrity": "sha512-VkQFAHWnPQefdvHU9A+G3H/Z3NrrTKqWpvxgQz3nkUdkDTWeKJE6e//BL+R7z79dXOMVksYgM/z6ndtN0hfChg==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^27.0.4", + "@jest/types": "^27.0.2", + "babel-jest": "^27.0.2", + "chalk": "^4.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "jest-circus": "^27.0.4", + "jest-environment-jsdom": "^27.0.3", + "jest-environment-node": "^27.0.3", + "jest-get-type": "^27.0.1", + "jest-jasmine2": "^27.0.4", + "jest-regex-util": "^27.0.1", + "jest-resolve": "^27.0.4", + "jest-runner": "^27.0.4", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2" + }, + "dependencies": { + "babel-jest": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.0.2.tgz", + "integrity": "sha512-9OThPl3/IQbo4Yul2vMz4FYwILPQak8XelX4YGowygfHaOl5R5gfjm4iVx4d8aUugkW683t8aq0A74E7b5DU1Q==", + "dev": true, + "requires": { + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^27.0.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.1.tgz", + "integrity": "sha512-sqBF0owAcCDBVEDtxqfYr2F36eSHdx7lAVGyYuOBRnKdD6gzcy0I0XrAYCZgOA3CRrLhmR+Uae9nogPzmAtOfQ==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-jest": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.0.1.tgz", + "integrity": "sha512-nIBIqCEpuiyhvjQs2mVNwTxQQa2xk70p9Dd/0obQGBf8FBzbnI8QhQKzLsWMN2i6q+5B0OcWDtrboBX5gmOLyA==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^27.0.1", + "babel-preset-current-node-syntax": "^1.0.0" + } + } + } + }, + "jest-diff": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.0.2.tgz", + "integrity": "sha512-BFIdRb0LqfV1hBt8crQmw6gGQHVDhM87SpMIZ45FPYKReZYG5er1+5pIn2zKqvrJp6WNox0ylR8571Iwk2Dmgw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.0.1", + "jest-get-type": "^27.0.1", + "pretty-format": "^27.0.2" + } + }, + "jest-docblock": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.0.1.tgz", + "integrity": "sha512-TA4+21s3oebURc7VgFV4r7ltdIJ5rtBH1E3Tbovcg7AV+oLfD5DcJ2V2vJ5zFA9sL5CFd/d2D6IpsAeSheEdrA==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + }, + "dependencies": { + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true + } + } + }, + "jest-each": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.0.2.tgz", + "integrity": "sha512-OLMBZBZ6JkoXgUenDtseFRWA43wVl2BwmZYIWQws7eS7pqsIvePqj/jJmEnfq91ALk3LNphgwNK/PRFBYi7ITQ==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "chalk": "^4.0.0", + "jest-get-type": "^27.0.1", + "jest-util": "^27.0.2", + "pretty-format": "^27.0.2" + } + }, + "jest-environment-jsdom": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.0.3.tgz", + "integrity": "sha512-5KLmgv1bhiimpSA8oGTnZYk6g4fsNyZiA/6gI2tAZUgrufd7heRUSVh4gRokzZVEj8zlwAQYT0Zs6tuJSW/ECA==", + "dev": true, + "requires": { + "@jest/environment": "^27.0.3", + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2", + "jsdom": "^16.6.0" + } + }, + "jest-environment-node": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.0.3.tgz", + "integrity": "sha512-co2/IVnIFL3cItpFULCvXFg9us4gvWXgs7mutAMPCbFhcqh56QAOdKhNzC2+RycsC/k4mbMj1VF+9F/NzA0ROg==", + "dev": true, + "requires": { + "@jest/environment": "^27.0.3", + "@jest/fake-timers": "^27.0.3", + "@jest/types": "^27.0.2", + "@types/node": "*", + "jest-mock": "^27.0.3", + "jest-util": "^27.0.2" + } + }, + "jest-get-type": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.1.tgz", + "integrity": "sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==", + "dev": true + }, + "jest-haste-map": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.0.2.tgz", + "integrity": "sha512-37gYfrYjjhEfk37C4bCMWAC0oPBxDpG0qpl8lYg8BT//wf353YT/fzgA7+Dq0EtM7rPFS3JEcMsxdtDwNMi2cA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^27.0.1", + "jest-serializer": "^27.0.1", + "jest-util": "^27.0.2", + "jest-worker": "^27.0.2", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "dependencies": { + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + } + } + }, + "jest-jasmine2": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.0.4.tgz", + "integrity": "sha512-yj3WrjjquZwkJw+eA4c9yucHw4/+EHndHWSqgHbHGQfT94ihaaQsa009j1a0puU8CNxPDk0c1oAPeOpdJUElwA==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^27.0.3", + "@jest/source-map": "^27.0.1", + "@jest/test-result": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.0.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.0.2", + "jest-matcher-utils": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-runtime": "^27.0.4", + "jest-snapshot": "^27.0.4", + "jest-util": "^27.0.2", + "pretty-format": "^27.0.2", + "throat": "^6.0.1" + } + }, + "jest-leak-detector": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.0.2.tgz", + "integrity": "sha512-TZA3DmCOfe8YZFIMD1GxFqXUkQnIoOGQyy4hFCA2mlHtnAaf+FeOMxi0fZmfB41ZL+QbFG6BVaZF5IeFIVy53Q==", + "dev": true, + "requires": { + "jest-get-type": "^27.0.1", + "pretty-format": "^27.0.2" + } + }, + "jest-matcher-utils": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.0.2.tgz", + "integrity": "sha512-Qczi5xnTNjkhcIB0Yy75Txt+Ez51xdhOxsukN7awzq2auZQGPHcQrJ623PZj0ECDEMOk2soxWx05EXdXGd1CbA==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.0.2", + "jest-get-type": "^27.0.1", + "pretty-format": "^27.0.2" + } + }, + "jest-message-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.2.tgz", + "integrity": "sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.0.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.0.2", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "27.0.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.3.tgz", + "integrity": "sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*" + } + }, + "jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "dev": true + }, + "jest-regex-util": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.0.1.tgz", + "integrity": "sha512-6nY6QVcpTgEKQy1L41P4pr3aOddneK17kn3HJw6SdwGiKfgCGTvH02hVXL0GU8GEKtPH83eD2DIDgxHXOxVohQ==", + "dev": true + }, + "jest-resolve": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.0.4.tgz", + "integrity": "sha512-BcfyK2i3cG79PDb/6gB6zFeFQlcqLsQjGBqznFCpA0L/3l1L/oOsltdUjs5eISAWA9HS9qtj8v2PSZr/yWxONQ==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "chalk": "^4.0.0", + "escalade": "^3.1.1", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", + "resolve": "^1.20.0", + "slash": "^3.0.0" + }, + "dependencies": { + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.4.tgz", + "integrity": "sha512-F33UPfw1YGWCV2uxJl7wD6TvcQn5IC0LtguwY3r4L7R6H4twpLkp5Q2ZfzRx9A2I3G8feiy0O0sqcn/Qoym71A==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "jest-regex-util": "^27.0.1", + "jest-snapshot": "^27.0.4" + } + }, + "jest-runner": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.0.4.tgz", + "integrity": "sha512-NfmvSYLCsCJk2AG8Ar2NAh4PhsJJpO+/r+g4bKR5L/5jFzx/indUpnVBdrfDvuqhGLLAvrKJ9FM/Nt8o1dsqxg==", + "dev": true, + "requires": { + "@jest/console": "^27.0.2", + "@jest/environment": "^27.0.3", + "@jest/test-result": "^27.0.2", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-docblock": "^27.0.1", + "jest-environment-jsdom": "^27.0.3", + "jest-environment-node": "^27.0.3", + "jest-haste-map": "^27.0.2", + "jest-leak-detector": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-resolve": "^27.0.4", + "jest-runtime": "^27.0.4", + "jest-util": "^27.0.2", + "jest-worker": "^27.0.2", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + } + }, + "jest-runtime": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.0.4.tgz", + "integrity": "sha512-voJB4xbAjS/qYPboV+e+gmg3jfvHJJY4CagFWBOM9dQKtlaiTjcpD2tWwla84Z7PtXSQPeIpXY0qksA9Dum29A==", + "dev": true, + "requires": { + "@jest/console": "^27.0.2", + "@jest/environment": "^27.0.3", + "@jest/fake-timers": "^27.0.3", + "@jest/globals": "^27.0.3", + "@jest/source-map": "^27.0.1", + "@jest/test-result": "^27.0.2", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-mock": "^27.0.3", + "jest-regex-util": "^27.0.1", + "jest-resolve": "^27.0.4", + "jest-snapshot": "^27.0.4", + "jest-util": "^27.0.2", + "jest-validate": "^27.0.2", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^16.0.3" + }, + "dependencies": { + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "jest-serializer": { + "version": "27.0.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.0.1.tgz", + "integrity": "sha512-svy//5IH6bfQvAbkAEg1s7xhhgHTtXu0li0I2fdKHDsLP2P2MOiscPQIENQep8oU2g2B3jqLyxKKzotZOz4CwQ==", + "dev": true, + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.4" + } + }, + "jest-snapshot": { + "version": "27.0.4", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.0.4.tgz", + "integrity": "sha512-hnjrvpKGdSMvKfbHyaG5Kul7pDJGZvjVy0CKpzhu28MmAssDXS6GpynhXzgst1wBQoKD8c9b2VS2a5yhDLQRCA==", + "dev": true, + "requires": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/parser": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.0.2", + "graceful-fs": "^4.2.4", + "jest-diff": "^27.0.2", + "jest-get-type": "^27.0.1", + "jest-haste-map": "^27.0.2", + "jest-matcher-utils": "^27.0.2", + "jest-message-util": "^27.0.2", + "jest-resolve": "^27.0.4", + "jest-util": "^27.0.2", + "natural-compare": "^1.4.0", + "pretty-format": "^27.0.2", + "semver": "^7.3.2" + }, + "dependencies": { + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "jest-util": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.2.tgz", + "integrity": "sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "@types/node": "*", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^3.0.0", + "picomatch": "^2.2.3" + } + }, + "jest-validate": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.0.2.tgz", + "integrity": "sha512-UgBF6/oVu1ofd1XbaSotXKihi8nZhg0Prm8twQ9uCuAfo59vlxCXMPI/RKmrZEVgi3Nd9dS0I8A0wzWU48pOvg==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.0.1", + "leven": "^3.1.0", + "pretty-format": "^27.0.2" + }, + "dependencies": { + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true + } + } + }, + "jest-watcher": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.0.2.tgz", + "integrity": "sha512-8nuf0PGuTxWj/Ytfw5fyvNn/R80iXY8QhIT0ofyImUvdnoaBdT6kob0GmhXR+wO+ALYVnh8bQxN4Tjfez0JgkA==", + "dev": true, + "requires": { + "@jest/test-result": "^27.0.2", + "@jest/types": "^27.0.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.0.2", + "string-length": "^4.0.1" + } + }, + "jest-worker": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.2.tgz", + "integrity": "sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "jsdom": { + "version": "16.6.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.6.0.tgz", + "integrity": "sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==", + "dev": true, + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.5", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.0.tgz", + "integrity": "sha512-ULr0LDaEqQrMFGyQ3bhJkLsbtrQ8QibAseGZeaSUiT/6zb9IvIkomWHJIvgvwad+hinRAgsI51JcWk2yvwyL+w==", + "dev": true + }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "tough-cookie": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "dev": true, + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.1.2" + } + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true, + "optional": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "optional": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true, + "optional": true + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + } + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "just-debounce": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz", + "integrity": "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "last-run": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", + "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=", + "dev": true, + "requires": { + "default-resolution": "^2.0.0", + "es6-weak-map": "^2.0.1" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true + }, + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "dev": true, + "requires": { + "readable-stream": "^2.0.5" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "lead": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", + "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", + "dev": true, + "requires": { + "flush-write-stream": "^1.0.2" + } + }, + "less": { + "version": "3.10.3", + "resolved": "https://registry.npmjs.org/less/-/less-3.10.3.tgz", + "integrity": "sha512-vz32vqfgmoxF1h3K4J+yKCtajH0PWmjkIFgbs5d78E/c/e+UQTnI+lWK+1eQRE95PXM2mC3rJlLSSP9VQHnaow==", + "dev": true, + "requires": { + "clone": "^2.1.2", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "mime": "^1.4.1", + "mkdirp": "^0.5.0", + "promise": "^7.1.1", + "request": "^2.83.0", + "source-map": "~0.6.0" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "liftoff": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", + "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", + "dev": true, + "requires": { + "extend": "^3.0.0", + "findup-sync": "^3.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + } + }, + "livereload-js": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz", + "integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==", + "dev": true + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + } + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash._escapehtmlchar": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz", + "integrity": "sha1-32fDu2t+jh6DGrSL+geVuSr+iZ0=", + "dev": true, + "requires": { + "lodash._htmlescapes": "~2.4.1" + } + }, + "lodash._escapestringchar": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz", + "integrity": "sha1-7P4iYYoq3lC/7qQ5N+Ud9m8O23I=", + "dev": true + }, + "lodash._htmlescapes": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz", + "integrity": "sha1-MtFL8IRLbeb4tioFG09nwii2JMs=", + "dev": true + }, + "lodash._isnative": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", + "integrity": "sha1-PqZAS3hKe+g2x7V1gOHN95sUgyw=", + "dev": true + }, + "lodash._objecttypes": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", + "integrity": "sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE=", + "dev": true + }, + "lodash._reinterpolate": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz", + "integrity": "sha1-TxInqlqHEfxjL1sHofRgequLMiI=", + "dev": true + }, + "lodash._reunescapedhtml": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz", + "integrity": "sha1-dHxPxAED6zu4oJduVx96JlnpO6c=", + "dev": true, + "requires": { + "lodash._htmlescapes": "~2.4.1", + "lodash.keys": "~2.4.1" + } + }, + "lodash._shimkeys": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz", + "integrity": "sha1-bpzJZm/wgfC1psl4uD4kLmlJ0gM=", + "dev": true, + "requires": { + "lodash._objecttypes": "~2.4.1" + } + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true + }, + "lodash.clone": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", + "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=", + "dev": true + }, + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=", + "dev": true + }, + "lodash.escape": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz", + "integrity": "sha1-LOEsXghNsKV92l5dHu659dF1o7Q=", + "dev": true, + "requires": { + "lodash._escapehtmlchar": "~2.4.1", + "lodash._reunescapedhtml": "~2.4.1", + "lodash.keys": "~2.4.1" + } + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", + "dev": true + }, + "lodash.isobject": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=", + "dev": true, + "requires": { + "lodash._objecttypes": "~2.4.1" + } + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, + "lodash.keys": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz", + "integrity": "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=", + "dev": true, + "requires": { + "lodash._isnative": "~2.4.1", + "lodash._shimkeys": "~2.4.1", + "lodash.isobject": "~2.4.1" + } + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.partialright": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.partialright/-/lodash.partialright-4.2.1.tgz", + "integrity": "sha1-ATDYDoM2MmTUAHTzKbij56ihzEs=", + "dev": true + }, + "lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=", + "dev": true + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + }, + "dependencies": { + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + } + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0" + }, + "dependencies": { + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + } + } + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "lodash.values": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz", + "integrity": "sha1-q/UUQ2s8twUAFieXjLzzCxKA7qQ=", + "dev": true, + "requires": { + "lodash.keys": "~2.4.1" + } + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "requires": { + "js-tokens": "^3.0.0" + }, + "dependencies": { + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + } + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "lru-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", + "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", + "dev": true, + "requires": { + "es5-ext": "~0.10.2" + } + }, + "lz-string": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", + "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=", + "dev": true + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "makeerror": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", + "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", + "dev": true, + "requires": { + "tmpl": "1.0.x" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "matchdep": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", + "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=", + "dev": true, + "requires": { + "findup-sync": "^2.0.0", + "micromatch": "^3.0.4", + "resolve": "^1.4.0", + "stack-trace": "0.0.10" + }, + "dependencies": { + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + } + } + }, + "memoizee": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", + "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", + "dev": true, + "requires": { + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "es6-weak-map": "^2.0.3", + "event-emitter": "^0.3.5", + "is-promise": "^2.2.2", + "lru-queue": "^0.1.0", + "next-tick": "^1.1.0", + "timers-ext": "^0.1.7" + }, + "dependencies": { + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "dev": true + } + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true + }, + "mime-db": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz", + "integrity": "sha1-6v/NDk/Gk1z4E02iRuLmw1MFrf8=", + "dev": true + }, + "mime-types": { + "version": "2.1.14", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz", + "integrity": "sha1-9+99l1g/yvO30oK2+LVnnaselO4=", + "dev": true, + "requires": { + "mime-db": "~1.26.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "optional": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "mock-xmlhttprequest": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mock-xmlhttprequest/-/mock-xmlhttprequest-1.2.0.tgz", + "integrity": "sha512-iCP2jcd8WUrswkminVid7gL3PQ1hhD2UnfEV0dkQjdZmvLPS8mVhIooX1sooGF8/8RkVp4wwVI+wj7zo2S7seQ==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "multipipe": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", + "dev": true, + "requires": { + "duplexer2": "0.0.2" + } + }, + "mute-stdout": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", + "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", + "dev": true + }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "dev": true + }, + "node-notifier": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-9.0.1.tgz", + "integrity": "sha512-fPNFIp2hF/Dq7qLDzSg4vZ0J4e9v60gJR+Qx7RbjbWqzPDdEqeVpEx5CFeDAELIl+A/woaaNn1fQ5nEVerMxJg==", + "dev": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + }, + "dependencies": { + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "node-releases": { + "version": "1.1.73", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", + "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", + "dev": true + }, + "node.extend": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node.extend/-/node.extend-2.0.2.tgz", + "integrity": "sha512-pDT4Dchl94/+kkgdwyS2PauDFjZG0Hk0IcHIB+LkW27HLDtdoeMxHTxZh39DYbPP8UflWXWj9JcdDozF+YDOpQ==", + "dev": true, + "requires": { + "has": "^1.0.3", + "is": "^3.2.1" + } + }, + "normalize-package-data": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz", + "integrity": "sha1-jZJPFClg4Xd+f/4XBUNjHMfLAt8=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "now-and-later": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", + "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", + "dev": true, + "requires": { + "once": "^1.3.2" + } + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + }, + "dependencies": { + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + } + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + } + } + }, + "object-inspect": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", + "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "dev": true, + "requires": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.reduce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", + "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "ordered-read-streams": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", + "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "dev": true, + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pegjs": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/pegjs/-/pegjs-0.9.0.tgz", + "integrity": "sha1-9q76LjzlYWkgjlIXnf5B+JFBo2k=", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true, + "optional": true + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, + "requires": { + "node-modules-regexp": "^1.0.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "plugin-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", + "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", + "dev": true, + "requires": { + "ansi-colors": "^1.0.1", + "arr-diff": "^4.0.0", + "arr-union": "^3.1.0", + "extend-shallow": "^3.0.2" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "pretty-format": { + "version": "27.0.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.2.tgz", + "integrity": "sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==", + "dev": true, + "requires": { + "@jest/types": "^27.0.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "optional": true, + "requires": { + "asap": "~2.0.3" + } + }, + "prompts": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", + "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + }, + "dependencies": { + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true, + "optional": true + }, + "psl": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.6.0.tgz", + "integrity": "sha512-SYKKmVel98NCOYXpkwUqZqh0ahZeeKfmisiLIcEZdsb+WbLv02g/dI5BUmZnIyOe7RzZtLax81nnb2HbvC2tzA==", + "dev": true + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "qs": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", + "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "raw-body": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz", + "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=", + "dev": true, + "requires": { + "bytes": "1", + "string_decoder": "0.10" + } + }, + "react": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "react-dom": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + } + }, + "react-fast-compare": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", + "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "react-popper": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-2.2.5.tgz", + "integrity": "sha512-kxGkS80eQGtLl18+uig1UIf9MKixFSyPxglsgLBxlYnyDf65BiY9B3nZSc6C9XUNDgStROB0fMQlTEz1KxGddw==", + "requires": { + "react-fast-compare": "^3.0.1", + "warning": "^4.0.2" + } + }, + "react-redux": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.4.tgz", + "integrity": "sha512-hOQ5eOSkEJEXdpIKbnRyl04LhaWabkDPV+Ix97wqQX3T3d2NQ8DUblNXXtNMavc7DpswyQM6xfaN4HQDKNY2JA==", + "requires": { + "@babel/runtime": "^7.12.1", + "@types/react-redux": "^7.1.16", + "hoist-non-react-statics": "^3.3.2", + "loose-envify": "^1.4.0", + "prop-types": "^15.7.2", + "react-is": "^16.13.1" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.0.tgz", + "integrity": "sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "react-shallow-renderer": { + "version": "16.14.1", + "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.14.1.tgz", + "integrity": "sha512-rkIMcQi01/+kxiTE9D3fdS959U1g7gs+/rborw++42m1O9FAQiNI/UNRZExVUoAOprn4umcXf+pFRou8i4zuBg==", + "requires": { + "object-assign": "^4.1.1", + "react-is": "^16.12.0 || ^17.0.0" + } + }, + "react-test-renderer": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-17.0.2.tgz", + "integrity": "sha512-yaQ9cB89c17PUb0x6UfWRs7kQCorVdHlutU1boVPEsB8IDZH6n9tHxMacc3y0JoXOJUsZb/t/Mb8FUWMKaM7iQ==", + "requires": { + "object-assign": "^4.1.1", + "react-is": "^17.0.2", + "react-shallow-renderer": "^16.13.1", + "scheduler": "^0.20.2" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + } + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + } + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "redux": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.1.0.tgz", + "integrity": "sha512-uI2dQN43zqLWCt6B/BMGRMY6db7TTY4qeHHfGeKb3EOhmOKjU3KdWvNLJyqaHRksv/ErdNH7cFZWg9jXtewy4g==", + "requires": { + "@babel/runtime": "^7.9.2" + } + }, + "redux-mock-store": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/redux-mock-store/-/redux-mock-store-1.5.4.tgz", + "integrity": "sha512-xmcA0O/tjCLXhh9Fuiq6pMrJCwFRaouA8436zcikdIpYWWCjU76CRk+i2bHx8EeiSiMGnB85/lZdU3wIJVXHTA==", + "requires": { + "lodash.isplainobject": "^4.0.6" + } + }, + "redux-thunk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz", + "integrity": "sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==" + }, + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "remove-bom-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", + "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5", + "is-utf8": "^0.2.1" + } + }, + "remove-bom-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", + "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=", + "dev": true, + "requires": { + "remove-bom-buffer": "^3.0.0", + "safe-buffer": "^5.1.0", + "through2": "^2.0.3" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "remove-trailing-separator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz", + "integrity": "sha1-abBi2XhyetFNxrVrpKt3L9jXBRE=", + "dev": true + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "dev": true + }, + "replace-homedir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", + "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1", + "is-absolute": "^1.0.0", + "remove-trailing-separator": "^1.1.0" + }, + "dependencies": { + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + } + } + }, + "replacestream": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/replacestream/-/replacestream-4.0.3.tgz", + "integrity": "sha512-AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.3", + "object-assign": "^4.0.1", + "readable-stream": "^2.0.2" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "mime-db": { + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", + "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==", + "dev": true, + "optional": true + }, + "mime-types": { + "version": "2.1.31", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz", + "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==", + "dev": true, + "optional": true, + "requires": { + "mime-db": "1.48.0" + } + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true, + "optional": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true, + "optional": true + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "resolve": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.13.1.tgz", + "integrity": "sha512-CxqObCX8K8YtAhOBRg+lrcdn+LK+WYOS8tSjqSFbjtrI5PnS63QPhZl4+yKfrU9tdsbMu9Anr/amegT87M9Z6w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "resolve-options": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", + "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=", + "dev": true, + "requires": { + "value-or-function": "^3.0.0" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "requires": { + "align-text": "^0.1.1" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + }, + "dependencies": { + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + }, + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", + "dev": true + }, + "safe-json-parse": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz", + "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "dev": true, + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + } + } + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, + "scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "semver-greatest-satisfied-range": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", + "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=", + "dev": true, + "requires": { + "sver-compat": "^1.5.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz", + "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "optional": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "dev": true + }, + "stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "stream-exhaust": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", + "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", + "dev": true + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-template": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", + "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", + "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, + "sver-compat": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", + "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=", + "dev": true, + "requires": { + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "dependencies": { + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "textextensions": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-3.3.0.tgz", + "integrity": "sha512-mk82dS8eRABNbeVJrEiN5/UMSCliINAuz8mkUwH4SwslkNP//gbEzlWNS5au0z5Dpx40SQxzqZevZkn+WYJ9Dw==", + "dev": true + }, + "throat": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", + "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", + "dev": true + }, + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "requires": { + "readable-stream": "3" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + } + } + }, + "through2-filter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", + "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", + "dev": true, + "requires": { + "through2": "~2.0.0", + "xtend": "~4.0.0" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "dev": true + }, + "timers-ext": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", + "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", + "dev": true, + "requires": { + "es5-ext": "~0.10.46", + "next-tick": "1" + } + }, + "tiny-lr": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz", + "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==", + "dev": true, + "requires": { + "body": "^5.1.0", + "debug": "^3.1.0", + "faye-websocket": "~0.10.0", + "livereload-js": "^2.3.0", + "object-assign": "^4.1.0", + "qs": "^6.4.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", + "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "dev": true + }, + "to-absolute-glob": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", + "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "is-negated-glob": "^1.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "to-through": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", + "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=", + "dev": true, + "requires": { + "through2": "^2.0.3" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "optional": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "requires": { + "punycode": "^2.1.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "optional": true + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true + }, + "undertaker": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.2.1.tgz", + "integrity": "sha512-71WxIzDkgYk9ZS+spIB8iZXchFhAdEo2YU8xYqBYJ39DIUIqziK78ftm26eecoIY49X0J2MLhG4hr18Yp6/CMA==", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "bach": "^1.0.0", + "collection-map": "^1.0.0", + "es6-weak-map": "^2.0.1", + "last-run": "^1.1.0", + "object.defaults": "^1.0.0", + "object.reduce": "^1.0.0", + "undertaker-registry": "^1.0.0" + } + }, + "undertaker-registry": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", + "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unique-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", + "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", + "dev": true, + "requires": { + "json-stable-stringify-without-jsonify": "^1.0.1", + "through2-filter": "^3.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "optional": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + }, + "v8-to-istanbul": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz", + "integrity": "sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "v8flags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "value-or-function": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", + "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vinyl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", + "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", + "dev": true, + "requires": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + } + }, + "vinyl-fs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", + "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", + "dev": true, + "requires": { + "fs-mkdirp-stream": "^1.0.0", + "glob-stream": "^6.1.0", + "graceful-fs": "^4.0.0", + "is-valid-glob": "^1.0.0", + "lazystream": "^1.0.0", + "lead": "^1.0.0", + "object.assign": "^4.0.4", + "pumpify": "^1.3.5", + "readable-stream": "^2.3.3", + "remove-bom-buffer": "^3.0.0", + "remove-bom-stream": "^1.2.0", + "resolve-options": "^1.1.0", + "through2": "^2.0.0", + "to-through": "^2.0.0", + "value-or-function": "^3.0.0", + "vinyl": "^2.0.0", + "vinyl-sourcemap": "^1.1.0" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "vinyl-sourcemap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", + "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=", + "dev": true, + "requires": { + "append-buffer": "^1.0.2", + "convert-source-map": "^1.5.0", + "graceful-fs": "^4.1.6", + "normalize-path": "^2.1.1", + "now-and-later": "^2.0.0", + "remove-bom-buffer": "^3.0.0", + "vinyl": "^2.0.0" + } + }, + "vinyl-sourcemaps-apply": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", + "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", + "dev": true, + "requires": { + "source-map": "^0.5.1" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "dev": true, + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dev": true, + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", + "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", + "dev": true, + "requires": { + "makeerror": "1.0.x" + } + }, + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "dev": true + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dev": true, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "dev": true + }, + "whatwg-url": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.6.0.tgz", + "integrity": "sha512-os0KkeeqUOl7ccdDT1qqUcS4KH4tcBTSKK5Nl5WKb2lyxInIZ/CpjkqKa1Ss12mjfdcRX9mHmPPs7/SxG1Hbdw==", + "dev": true, + "requires": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + } + } + }, + "when": { + "version": "3.7.8", + "resolved": "https://registry.npmjs.org/when/-/when-3.7.8.tgz", + "integrity": "sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.0.tgz", + "integrity": "sha512-6ezXvzOZupqKj4jUqbQ9tXuJNo+BR2gU8fFRk3XCP3e0G6WT414u5ELe6Y0vtp7kmSJ3F7YWObSNr1ESsgi4vw==", + "dev": true + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "dependencies": { + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "yargs-parser": { + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "dev": true + } + } +} diff --git a/web/package.json b/web/package.json index 7b4d64a55..4133fe65a 100644 --- a/web/package.json +++ b/web/package.json @@ -8,40 +8,38 @@ }, "dependencies": { "@popperjs/core": "^2.9.2", - "bootstrap": "^3.3.7", + "bootstrap": "^3.4.1", "classnames": "^2.3.1", + "codemirror": "^5.62.0", "lodash": "^4.17.21", "mock-xmlhttprequest": "^1.1.0", "prop-types": "^15.7.2", "react": "^17.0.2", - "react-codemirror": "^1.0.0", "react-dom": "^17.0.2", "react-popper": "^2.2.5", "react-redux": "^7.2.4", "react-test-renderer": "^17.0.2", "redux": "^4.1.0", - "redux-logger": "^3.0.6", "redux-mock-store": "^1.5.4", "redux-thunk": "^2.3.0", "shallowequal": "^1.1.0", "stable": "^0.1.8" }, "devDependencies": { - "@babel/core": "^7.14.3", - "@babel/preset-env": "^7.14.4", - "@babel/preset-react": "^7.13.13", - "@babel/preset-typescript": "^7.13.0", - "babel-jest": "^27.0.2", - "esbuild": "^0.12.8", + "@testing-library/react": "^11.2.7", + "@types/jest": "^26.0.23", + "@types/redux-mock-store": "^1.0.2", + "esbuild": "^0.12.9", "esbuild-jest": "^0.5.0", "gulp": "^4.0.2", "gulp-clean-css": "^4.3.0", - "gulp-esbuild": "^0.8.1", + "gulp-esbuild": "^0.8.2", "gulp-less": "^4.0.1", "gulp-livereload": "^4.0.2", "gulp-notify": "^4.0.0", "gulp-peg": "^0.2.0", "gulp-plumber": "^1.2.1", + "gulp-replace": "^1.1.3", "gulp-sourcemaps": "^3.0.0", "jest": "^27.0.4", "through2": "^4.0.2" diff --git a/web/src/css/dropdown.less b/web/src/css/dropdown.less index e8b7d696e..cd27c84c0 100644 --- a/web/src/css/dropdown.less +++ b/web/src/css/dropdown.less @@ -1,3 +1,9 @@ -.dropdown-menu > li > a { - padding: 3px 10px; +.dropdown-menu { + + // setting a margin is not compatible with popper. + margin: 0 !important; + + > li > a { + padding: 3px 10px; + } } diff --git a/web/src/css/flowtable.less b/web/src/css/flowtable.less index a002c4a77..2649ecd89 100644 --- a/web/src/css/flowtable.less +++ b/web/src/css/flowtable.less @@ -96,10 +96,6 @@ .fa { line-height: inherit; - - &.pull-right { - margin-left: 0; - } } .col-tls { @@ -115,6 +111,10 @@ } .col-path { + .fa { + margin-left: 0; + } + .fa-repeat { color: green; } @@ -193,4 +193,8 @@ .col-quickactions .fa-play { transform: translate(1px, 2px); } + + .col-quickactions .fa-repeat { + transform: translate(-0px, 2px); + } } diff --git a/web/src/css/header.less b/web/src/css/header.less index cb446e4a8..d5e6495f7 100644 --- a/web/src/css/header.less +++ b/web/src/css/header.less @@ -104,15 +104,6 @@ header { .filter-input { margin: 4px 0; - - @media (max-width: @screen-xs-max) { - > .form-control, > .input-group-addon, > .input-group-btn > .btn { - height: 23.5px; - padding: 1px 5px; - font-size: 12px; - line-height: 1.5; - } - } } .filter-input .popover { diff --git a/web/src/js/__tests__/components/ContentView/CodeEditorSpec.js b/web/src/js/__tests__/components/ContentView/CodeEditorSpec.js deleted file mode 100644 index ba7acf07f..000000000 --- a/web/src/js/__tests__/components/ContentView/CodeEditorSpec.js +++ /dev/null @@ -1,26 +0,0 @@ -jest.mock('react-codemirror') -import React from 'react' -import renderer from 'react-test-renderer' -import CodeEditor from '../../../components/ContentView/CodeEditor' - -describe('CodeEditor Component', () => { - let content = "foo content", - changeFn = jest.fn(), - codeEditor = renderer.create( - - ), - tree = codeEditor.toJSON() - - it('should render correctly', () => { - // This actually does not render properly, but getting a full CodeMirror rendering - // is cumbersome. This is hopefully good enough. - // see: https://github.com/mitmproxy/mitmproxy/pull/2365#discussion_r119766850 - expect(tree).toMatchSnapshot() - }) - - it('should handle key down', () => { - let mockEvent = { stopPropagation: jest.fn() } - tree.props.onKeyDown(mockEvent) - expect(mockEvent.stopPropagation).toBeCalled() - }) -}) diff --git a/web/src/js/__tests__/components/ContentView/CodeEditorSpec.tsx b/web/src/js/__tests__/components/ContentView/CodeEditorSpec.tsx new file mode 100644 index 000000000..83737b823 --- /dev/null +++ b/web/src/js/__tests__/components/ContentView/CodeEditorSpec.tsx @@ -0,0 +1,14 @@ +jest.mock("../../../contrib/CodeMirror") +import * as React from 'react'; +import CodeEditor from '../../../components/ContentView/CodeEditor' +import {render} from '@testing-library/react' + + +test("CodeEditor", async () => { + + const changeFn = jest.fn(), + {asFragment} = render( + + ); + expect(asFragment()).toMatchSnapshot() +}); diff --git a/web/src/js/__tests__/components/ContentView/ContentLoaderSpec.js b/web/src/js/__tests__/components/ContentView/ContentLoaderSpec.js index 80b40c723..d7083696a 100644 --- a/web/src/js/__tests__/components/ContentView/ContentLoaderSpec.js +++ b/web/src/js/__tests__/components/ContentView/ContentLoaderSpec.js @@ -42,7 +42,7 @@ describe('ContentLoader Component', () => { it('should handle componentWillReceiveProps', () => { contentLoader.updateContent = jest.fn() - contentLoader.componentWillReceiveProps({flow: tflow, message: tflow.request}) + contentLoader.UNSAFE_componentWillReceiveProps({flow: tflow, message: tflow.request}) expect(contentLoader.updateContent).toBeCalled() }) diff --git a/web/src/js/__tests__/components/ContentView/ContentViewSpec.js b/web/src/js/__tests__/components/ContentView/ContentViewSpec.js index 499da6e8a..281b57557 100644 --- a/web/src/js/__tests__/components/ContentView/ContentViewSpec.js +++ b/web/src/js/__tests__/components/ContentView/ContentViewSpec.js @@ -53,7 +53,7 @@ describe('ViewServer Component', () => { it('should handle componentWillReceiveProps', () => { // case of fail to parse content - let viewSever = TestUtils.renderIntoDocument( + let viewServer = TestUtils.renderIntoDocument( { content={JSON.stringify({lines: [['k1', 'v1']]})} /> ) - viewSever.componentWillReceiveProps({...viewSever.props, content: '{foo' }) + viewServer.UNSAFE_componentWillReceiveProps({...viewServer.props, content: '{foo' }) let e = '' try {JSON.parse('{foo') } catch(err){ e = err.message} - expect(viewSever.data).toEqual({ description: e, lines: [] }) + expect(viewServer.data).toEqual({ description: e, lines: [] }) }) }) diff --git a/web/src/js/__tests__/components/ContentView/ViewSelectorSpec.js b/web/src/js/__tests__/components/ContentView/ViewSelectorSpec.js deleted file mode 100644 index 9e87e2f0a..000000000 --- a/web/src/js/__tests__/components/ContentView/ViewSelectorSpec.js +++ /dev/null @@ -1,38 +0,0 @@ -import React from 'react' -import renderer from 'react-test-renderer' -import ConnectedComponent, { ViewSelector } from '../../../components/ContentView/ViewSelector' -import { Provider } from 'react-redux' -import { TStore } from '../../ducks/tutils' - - -describe('ViewSelector Component', () => { - let contentViews = ['Auto', 'Raw', 'Text'], - activeView = 'Auto', - setContentViewFn = jest.fn(), - viewSelector = renderer.create( - - ), - tree = viewSelector.toJSON() - - it('should render correctly', () => { - expect(tree).toMatchSnapshot() - }) - - it('should handle click', () => { - let mockEvent = { preventDefault: jest.fn() }, - tab = tree.children[1].children[0].children[1] - tab.props.onClick(mockEvent) - expect(mockEvent.preventDefault).toBeCalled() - }) - - it('should connect to state', () => { - let store = TStore(), - provider = renderer.create( - - - - ), - tree = provider.toJSON() - expect(tree).toMatchSnapshot() - }) -}) diff --git a/web/src/js/__tests__/components/ContentView/ViewSelectorSpec.tsx b/web/src/js/__tests__/components/ContentView/ViewSelectorSpec.tsx new file mode 100644 index 000000000..6a938be80 --- /dev/null +++ b/web/src/js/__tests__/components/ContentView/ViewSelectorSpec.tsx @@ -0,0 +1,20 @@ +import React from 'react' +import renderer from 'react-test-renderer' +import ViewSelector from '../../../components/ContentView/ViewSelector' +import { Provider } from 'react-redux' +import { TStore } from '../../ducks/tutils' + + +describe('ViewSelector Component', () => { + let store = TStore(), + viewSelector = renderer.create( + + + + ), + tree = viewSelector.toJSON() + + it('should render correctly', () => { + expect(tree).toMatchSnapshot() + }) +}) diff --git a/web/src/js/__tests__/components/ContentView/__snapshots__/CodeEditorSpec.js.snap b/web/src/js/__tests__/components/ContentView/__snapshots__/CodeEditorSpec.js.snap deleted file mode 100644 index 7e688a607..000000000 --- a/web/src/js/__tests__/components/ContentView/__snapshots__/CodeEditorSpec.js.snap +++ /dev/null @@ -1,8 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`CodeEditor Component should render correctly 1`] = ` -
-`; diff --git a/web/src/js/__tests__/components/ContentView/__snapshots__/CodeEditorSpec.tsx.snap b/web/src/js/__tests__/components/ContentView/__snapshots__/CodeEditorSpec.tsx.snap new file mode 100644 index 000000000..57ba12de9 --- /dev/null +++ b/web/src/js/__tests__/components/ContentView/__snapshots__/CodeEditorSpec.tsx.snap @@ -0,0 +1,9 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CodeEditor 1`] = ` + +
+ +`; diff --git a/web/src/js/__tests__/components/ContentView/__snapshots__/ContentViewOptionsSpec.js.snap b/web/src/js/__tests__/components/ContentView/__snapshots__/ContentViewOptionsSpec.js.snap index 57368de2b..1093343d8 100644 --- a/web/src/js/__tests__/components/ContentView/__snapshots__/ContentViewOptionsSpec.js.snap +++ b/web/src/js/__tests__/components/ContentView/__snapshots__/ContentViewOptionsSpec.js.snap @@ -4,12 +4,23 @@ exports[`ContentViewOptions Component should render correctly 1`] = `
- - - View: - - edit - + + + + View: + + + auto + + + +     - - - -   + + foo +
`; diff --git a/web/src/js/__tests__/components/ContentView/__snapshots__/ViewSelectorSpec.js.snap b/web/src/js/__tests__/components/ContentView/__snapshots__/ViewSelectorSpec.js.snap deleted file mode 100644 index 481bd56a9..000000000 --- a/web/src/js/__tests__/components/ContentView/__snapshots__/ViewSelectorSpec.js.snap +++ /dev/null @@ -1,123 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`ViewSelector Component should connect to state 1`] = ` - -`; - -exports[`ViewSelector Component should render correctly 1`] = ` - -`; diff --git a/web/src/js/__tests__/components/ContentView/__snapshots__/ViewSelectorSpec.tsx.snap b/web/src/js/__tests__/components/ContentView/__snapshots__/ViewSelectorSpec.tsx.snap new file mode 100644 index 000000000..f1253e247 --- /dev/null +++ b/web/src/js/__tests__/components/ContentView/__snapshots__/ViewSelectorSpec.tsx.snap @@ -0,0 +1,21 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`ViewSelector Component should render correctly 1`] = ` + + + + View: + + + auto + + + + +`; diff --git a/web/src/js/__tests__/components/FlowTable/FlowColumnsSpec.js b/web/src/js/__tests__/components/FlowTable/FlowColumnsSpec.js index 2a4c416a7..363522f3d 100644 --- a/web/src/js/__tests__/components/FlowTable/FlowColumnsSpec.js +++ b/web/src/js/__tests__/components/FlowTable/FlowColumnsSpec.js @@ -24,7 +24,8 @@ describe('Flowcolumns Components', () => { }) it('should render IconColumn', () => { - let iconColumn = renderer.create(), + let tflow = TFlow(), + iconColumn = renderer.create(), tree = iconColumn.toJSON() // plain expect(tree).toMatchSnapshot() @@ -76,7 +77,8 @@ describe('Flowcolumns Components', () => { }) it('should render pathColumn', () => { - let pathColumn = renderer.create(), + let tflow = TFlow(), + pathColumn = renderer.create(), tree = pathColumn.toJSON() expect(tree).toMatchSnapshot() @@ -100,14 +102,14 @@ describe('Flowcolumns Components', () => { }) it('should render SizeColumn', () => { - tflow = TFlow() let sizeColumn = renderer.create(), tree = sizeColumn.toJSON() expect(tree).toMatchSnapshot() }) it('should render TimeColumn', () => { - let timeColumn = renderer.create(), + let tflow = TFlow(), + timeColumn = renderer.create(), tree = timeColumn.toJSON() expect(tree).toMatchSnapshot() diff --git a/web/src/js/__tests__/components/FlowTable/FlowRowSpec.js b/web/src/js/__tests__/components/FlowTable/FlowRowSpec.js deleted file mode 100644 index d8ef1d3e0..000000000 --- a/web/src/js/__tests__/components/FlowTable/FlowRowSpec.js +++ /dev/null @@ -1,26 +0,0 @@ -import React from 'react' -import renderer from 'react-test-renderer' -import FlowRow from '../../../components/FlowTable/FlowRow' -import { TFlow, TStore } from '../../ducks/tutils' -import { Provider } from 'react-redux' - -describe('FlowRow Component', () => { - let tFlow = new TFlow(), - selectFn = jest.fn(), - store = TStore(), - flowRow = renderer.create( - - - ), - tree = flowRow.toJSON() - - it('should render correctly', () => { - expect(tree).toMatchSnapshot() - }) - - it('should handle click', () => { - tree.props.onClick() - expect(selectFn).toBeCalledWith(tFlow.id) - }) - -}) diff --git a/web/src/js/__tests__/components/FlowTable/FlowRowSpec.tsx b/web/src/js/__tests__/components/FlowTable/FlowRowSpec.tsx new file mode 100644 index 000000000..ee9cc9a56 --- /dev/null +++ b/web/src/js/__tests__/components/FlowTable/FlowRowSpec.tsx @@ -0,0 +1,21 @@ +import React from 'react' +import FlowRow from '../../../components/FlowTable/FlowRow' +import {testState} from '../../ducks/tutils' +import {fireEvent, render, screen} from "../../test-utils"; +import {createAppStore} from "../../../ducks"; + + +test("FlowRow", async () => { + const store = createAppStore(testState), + tflow2 = store.getState().flows.view[1], + {asFragment} = render( + + + +
, {store}) + expect(asFragment()).toMatchSnapshot() + expect(store.getState().flows.selected[0]).toBe(store.getState().flows.view[0].id) + + fireEvent.click(screen.getByText("http://address:22/second")) + expect(store.getState().flows.selected[0]).toBe(store.getState().flows.view[1].id) +}) diff --git a/web/src/js/__tests__/components/FlowTable/FlowTableHeadSpec.js b/web/src/js/__tests__/components/FlowTable/FlowTableHeadSpec.js index 977425e3f..3cb7a9403 100644 --- a/web/src/js/__tests__/components/FlowTable/FlowTableHeadSpec.js +++ b/web/src/js/__tests__/components/FlowTable/FlowTableHeadSpec.js @@ -1,35 +1,29 @@ import React from 'react' -import renderer from 'react-test-renderer' -import ConnectedHead, { FlowTableHead } from '../../../components/FlowTable/FlowTableHead' -import { Provider } from 'react-redux' -import { TStore } from '../../ducks/tutils' +import FlowTableHead from '../../../components/FlowTable/FlowTableHead' +import {Provider} from 'react-redux' +import {TStore} from '../../ducks/tutils' +import {fireEvent, render, screen} from "@testing-library/react"; +import {setSort} from "../../../ducks/flows"; -describe('FlowTableHead Component', () => { - let sortFn = jest.fn(), - store = TStore(), - flowTableHead = renderer.create( +test("FlowTableHead Component", async () => { + + const store = TStore(), + {asFragment} = render( - - ), - tree =flowTableHead.toJSON() + + + + +
+ + ) + expect(asFragment()).toMatchSnapshot() - it('should render correctly', () => { - expect(tree).toMatchSnapshot() - }) + fireEvent.click(screen.getByText("Size")) - it('should handle click', () => { - tree.children[0].props.onClick() - expect(sortFn).toBeCalledWith('TLSColumn', false) - }) - - it('should connect to state', () => { - let store = TStore(), - provider = renderer.create( - - - ), - tree = provider.toJSON() - expect(tree).toMatchSnapshot() - }) + expect(store.getActions()).toStrictEqual([ + setSort("SizeColumn", false) + ] + ) }) diff --git a/web/src/js/__tests__/components/FlowTable/__snapshots__/FlowColumnsSpec.js.snap b/web/src/js/__tests__/components/FlowTable/__snapshots__/FlowColumnsSpec.js.snap index 9caf9d8e1..edf996d95 100644 --- a/web/src/js/__tests__/components/FlowTable/__snapshots__/FlowColumnsSpec.js.snap +++ b/web/src/js/__tests__/components/FlowTable/__snapshots__/FlowColumnsSpec.js.snap @@ -110,7 +110,16 @@ exports[`Flowcolumns Components should render QuickActionsColumn 1`] = ` onClick={[Function]} > + + +
@@ -130,15 +139,17 @@ exports[`Flowcolumns Components should render StatusColumn 1`] = ` className="col-status" style={ Object { - "color": "darkred", + "color": "darkgreen", } } -/> +> + 200 + `; exports[`Flowcolumns Components should render TLSColumn 1`] = ` `; diff --git a/web/src/js/__tests__/components/FlowTable/__snapshots__/FlowRowSpec.js.snap b/web/src/js/__tests__/components/FlowTable/__snapshots__/FlowRowSpec.js.snap deleted file mode 100644 index 54c0d950b..000000000 --- a/web/src/js/__tests__/components/FlowTable/__snapshots__/FlowRowSpec.js.snap +++ /dev/null @@ -1,68 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`FlowRow Component should render correctly 1`] = ` - - - -
- - - - http://address:22/path - - - GET - - - 200 - - - 14b - - - 3s - - -
- - - -
- - -`; diff --git a/web/src/js/__tests__/components/FlowTable/__snapshots__/FlowRowSpec.tsx.snap b/web/src/js/__tests__/components/FlowTable/__snapshots__/FlowRowSpec.tsx.snap new file mode 100644 index 000000000..064df55c2 --- /dev/null +++ b/web/src/js/__tests__/components/FlowTable/__snapshots__/FlowRowSpec.tsx.snap @@ -0,0 +1,75 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`FlowRow 1`] = ` + + + + + + + + + + + + + +
+ +
+
+ + http://address:22/second + + GET + + 200 + + 14b + + 3s + + +
+
+`; diff --git a/web/src/js/__tests__/components/FlowTable/__snapshots__/FlowTableHeadSpec.js.snap b/web/src/js/__tests__/components/FlowTable/__snapshots__/FlowTableHeadSpec.js.snap index 318ad591b..44a2da99a 100644 --- a/web/src/js/__tests__/components/FlowTable/__snapshots__/FlowTableHeadSpec.js.snap +++ b/web/src/js/__tests__/components/FlowTable/__snapshots__/FlowTableHeadSpec.js.snap @@ -1,113 +1,46 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`FlowTableHead Component should connect to state 1`] = ` - - - - - - - - - Path - - - Method - - - Status - - - Size - - - Time - - - - - -`; - -exports[`FlowTableHead Component should render correctly 1`] = ` - - - - - - - - - Path - - - Method - - - Status - - - TimeStamp - - - Size - - - Time - - - - - +exports[`FlowTableHead Component 1`] = ` + + + + + + + + + + + +
+ + + Path + + Method + + Status + + Size + + Time + +
+
`; diff --git a/web/src/js/__tests__/components/FlowView/ToggleEditSpec.js b/web/src/js/__tests__/components/FlowView/ToggleEditSpec.js deleted file mode 100644 index ec3a8462b..000000000 --- a/web/src/js/__tests__/components/FlowView/ToggleEditSpec.js +++ /dev/null @@ -1,41 +0,0 @@ -// jest.mock('../../../ducks/ui/flow') -import React from 'react' -import renderer from 'react-test-renderer' -import ToggleEdit from '../../../components/FlowView/ToggleEdit' -import { Provider } from 'react-redux' -import { startEdit, stopEdit } from '../../../ducks/ui/flow' -import { TFlow, TStore } from '../../ducks/tutils' - -global.fetch = jest.fn() -let tflow = new TFlow() - -describe('ToggleEdit Component', () => { - let store = TStore(), - provider = renderer.create( - - - ), - tree = provider.toJSON() - - afterEach(() => { store.clearActions() }) - - it('should render correctly', () => { - expect(tree).toMatchSnapshot() - }) - - it('should handle click on stopEdit', () => { - tree.children[0].props.onClick() - expect(fetch).toBeCalled() - }) - - it('should handle click on startEdit', () => { - store.getState().ui.flow.modifiedFlow = false - let provider = renderer.create( - - - ), - tree = provider.toJSON() - tree.children[0].props.onClick() - expect(store.getActions()).toEqual([startEdit(tflow)]) - }) -}) diff --git a/web/src/js/__tests__/components/FlowView/ToggleEditSpec.tsx b/web/src/js/__tests__/components/FlowView/ToggleEditSpec.tsx new file mode 100644 index 000000000..45763c4c2 --- /dev/null +++ b/web/src/js/__tests__/components/FlowView/ToggleEditSpec.tsx @@ -0,0 +1,21 @@ +import React from 'react' +import ToggleEdit from '../../../components/FlowView/ToggleEdit' +import {TFlow} from '../../ducks/tutils' +import {render} from "../../test-utils" +import {fireEvent, screen} from "@testing-library/react"; + +let tflow = TFlow(); + +test("ToggleEdit", async () => { + const {asFragment, store} = render( + , + ); + + fireEvent.click(screen.getByTitle("Edit Flow")); + expect(asFragment()).toMatchSnapshot(); + expect(store.getState().ui.flow.modifiedFlow).toBeTruthy(); + + fireEvent.click(screen.getByTitle("Finish Edit")); + expect(asFragment()).toMatchSnapshot(); + expect(store.getState().ui.flow.modifiedFlow).toBeFalsy(); +}); diff --git a/web/src/js/__tests__/components/FlowView/__snapshots__/DetailsSpec.js.snap b/web/src/js/__tests__/components/FlowView/__snapshots__/DetailsSpec.js.snap index 388b56a24..8c009b046 100644 --- a/web/src/js/__tests__/components/FlowView/__snapshots__/DetailsSpec.js.snap +++ b/web/src/js/__tests__/components/FlowView/__snapshots__/DetailsSpec.js.snap @@ -155,18 +155,6 @@ exports[`Details Component should render correctly 1`] = ` TLSv1.2 - - - - ALPN: - - - - http/1.1 - - Resolved address: diff --git a/web/src/js/__tests__/components/FlowView/__snapshots__/MessagesSpec.js.snap b/web/src/js/__tests__/components/FlowView/__snapshots__/MessagesSpec.js.snap index 5b61298f7..f794a4fa6 100644 --- a/web/src/js/__tests__/components/FlowView/__snapshots__/MessagesSpec.js.snap +++ b/web/src/js/__tests__/components/FlowView/__snapshots__/MessagesSpec.js.snap @@ -189,117 +189,30 @@ exports[`Request Component should render correctly 1`] = ` - - - - - - +
-
- - : - -
-
-
- + + + View: + + + auto + + + +   - + + + View: + + + auto + + + +   - - - -
-`; diff --git a/web/src/js/__tests__/components/FlowView/__snapshots__/ToggleEditSpec.tsx.snap b/web/src/js/__tests__/components/FlowView/__snapshots__/ToggleEditSpec.tsx.snap new file mode 100644 index 000000000..19db957b1 --- /dev/null +++ b/web/src/js/__tests__/components/FlowView/__snapshots__/ToggleEditSpec.tsx.snap @@ -0,0 +1,35 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`ToggleEdit 1`] = ` + +
+ + + +
+
+`; + +exports[`ToggleEdit 2`] = ` + +
+ + + +
+
+`; diff --git a/web/src/js/__tests__/components/Header/ConnectionIndicatorSpec.js b/web/src/js/__tests__/components/Header/ConnectionIndicatorSpec.js deleted file mode 100644 index 45fcb5e40..000000000 --- a/web/src/js/__tests__/components/Header/ConnectionIndicatorSpec.js +++ /dev/null @@ -1,55 +0,0 @@ -import React from 'react' -import renderer from 'react-test-renderer' -import ConnectedIndicator, { ConnectionIndicator } from '../../../components/Header/ConnectionIndicator' -import { ConnectionState } from '../../../ducks/connection' -import { Provider } from 'react-redux' -import { TStore } from '../../ducks/tutils' - -describe('ConnectionIndicator Component', () => { - - it('should render INIT', () => { - let connectionIndicator = renderer.create( - ), - tree = connectionIndicator.toJSON() - expect(tree).toMatchSnapshot() - }) - - it('should render FETCHING', () => { - let connectionIndicator = renderer.create( - ), - tree = connectionIndicator.toJSON() - expect(tree).toMatchSnapshot() - }) - - it('should render ESTABLISHED', () => { - let connectionIndicator = renderer.create( - ), - tree = connectionIndicator.toJSON() - expect(tree).toMatchSnapshot() - }) - - it('should render ERROR', () => { - let connectionIndicator = renderer.create( - ), - tree = connectionIndicator.toJSON() - expect(tree).toMatchSnapshot() - }) - - it('should render OFFLINE', () => { - let connectionIndicator = renderer.create( - ), - tree = connectionIndicator.toJSON() - expect(tree).toMatchSnapshot() - }) - - it('should connect to state', () => { - let store = TStore(), - provider = renderer.create( - - - ), - tree = provider.toJSON() - expect(tree).toMatchSnapshot() - }) -}) - diff --git a/web/src/js/__tests__/components/Header/ConnectionIndicatorSpec.tsx b/web/src/js/__tests__/components/Header/ConnectionIndicatorSpec.tsx new file mode 100644 index 000000000..b317c8563 --- /dev/null +++ b/web/src/js/__tests__/components/Header/ConnectionIndicatorSpec.tsx @@ -0,0 +1,22 @@ +import React from 'react' +import ConnectionIndicator from '../../../components/Header/ConnectionIndicator' +import * as connectionActions from '../../../ducks/connection' +import {render} from "../../test-utils" + + +test("ConnectionIndicator", async () => { + const {asFragment, store} = render(); + expect(asFragment()).toMatchSnapshot() + + store.dispatch(connectionActions.startFetching()) + expect(asFragment()).toMatchSnapshot() + + store.dispatch(connectionActions.connectionEstablished()) + expect(asFragment()).toMatchSnapshot() + + store.dispatch(connectionActions.connectionError("wat")) + expect(asFragment()).toMatchSnapshot() + + store.dispatch(connectionActions.setOffline()) + expect(asFragment()).toMatchSnapshot() +}); diff --git a/web/src/js/__tests__/components/Header/FileMenuSpec.js b/web/src/js/__tests__/components/Header/FileMenuSpec.js index 2f4e746d9..69459af4b 100644 --- a/web/src/js/__tests__/components/Header/FileMenuSpec.js +++ b/web/src/js/__tests__/components/Header/FileMenuSpec.js @@ -1,52 +1,20 @@ import React from 'react' import renderer from 'react-test-renderer' -import { FileMenu } from '../../../components/Header/FileMenu' - -global.confirm = jest.fn( s => true ) +import FileMenu from '../../../components/Header/FileMenu' +import {Provider} from "react-redux"; +import {TStore} from "../../ducks/tutils"; describe('FileMenu Component', () => { - let clearFn = jest.fn(), - loadFn = jest.fn(), - saveFn = jest.fn(), - openModalFn = jest.fn(), - mockEvent = { - preventDefault: jest.fn(), - target: { files: ["foo", "bar "] } - }, - createNodeMock = () => { return { click: jest.fn() }}, + + let store = TStore(), fileMenu = renderer.create( - , - { createNodeMock }), + + + + ), tree = fileMenu.toJSON() it('should render correctly', () => { expect(tree).toMatchSnapshot() }) - - let ul = tree.children[1] - - it('should clear flows', () => { - let a = ul.children[0].children[1] - a.props.onClick(mockEvent) - expect(mockEvent.preventDefault).toBeCalled() - expect(clearFn).toBeCalled() - }) - - it('should load flows', () => { - let fileChooser = ul.children[1].children[1], - input = fileChooser.children[2] - input.props.onChange(mockEvent) - expect(loadFn).toBeCalledWith("foo") - }) - - it('should save flows', () => { - let a = ul.children[2].children[1] - a.props.onClick(mockEvent) - expect(saveFn).toBeCalled() - }) }) diff --git a/web/src/js/__tests__/components/Header/MainMenuSpec.js b/web/src/js/__tests__/components/Header/MainMenuSpec.js index 927166fdd..c7e66dbd8 100644 --- a/web/src/js/__tests__/components/Header/MainMenuSpec.js +++ b/web/src/js/__tests__/components/Header/MainMenuSpec.js @@ -1,26 +1,8 @@ -jest.mock('../../../ducks/settings') - import React from 'react' -import renderer from 'react-test-renderer' -import MainMenu, { setIntercept } from '../../../components/Header/MainMenu' -import { Provider } from 'react-redux' -import { update as updateSettings } from '../../../ducks/settings' -import { TStore } from '../../ducks/tutils' +import MainMenu from '../../../components/Header/MainMenu' +import {render} from "../../test-utils" -describe('MainMenu Component', () => { - let store = TStore() - - it('should render and connect to state', () => { - let provider = renderer.create( - - - ), - tree = provider.toJSON() - expect(tree).toMatchSnapshot() - }) - - it('should handle change on interceptInput', () => { - setIntercept('foo') - expect(updateSettings).toBeCalledWith({ intercept: 'foo' }) - }) +test("MainMenu", () => { + const {asFragment} = render(); + expect(asFragment()).toMatchSnapshot(); }) diff --git a/web/src/js/__tests__/components/Header/MenuToggleSpec.js b/web/src/js/__tests__/components/Header/MenuToggleSpec.js index dabaaa4e6..36f06277f 100644 --- a/web/src/js/__tests__/components/Header/MenuToggleSpec.js +++ b/web/src/js/__tests__/components/Header/MenuToggleSpec.js @@ -1,11 +1,10 @@ import React from 'react' import renderer from 'react-test-renderer' -import { MenuToggle, SettingsToggle, EventlogToggle } from '../../../components/Header/MenuToggle' -import { Provider } from 'react-redux' -import { REQUEST_UPDATE } from '../../../ducks/settings' -import { TStore } from '../../ducks/tutils' - -global.fetch = jest.fn() +import {EventlogToggle, MenuToggle, OptionsToggle} from '../../../components/Header/MenuToggle' +import {Provider} from 'react-redux' +import {TStore} from '../../ducks/tutils' +import * as optionsEditorActions from "../../../ducks/ui/optionsEditor" +import {fireEvent, render, screen} from "../../test-utils" describe('MenuToggle Component', () => { it('should render correctly', () => { @@ -19,37 +18,26 @@ describe('MenuToggle Component', () => { }) }) -describe('SettingToggle Component', () => { - let store = TStore(), - provider = renderer.create( - - -

foo children

-
-
), - tree = provider.toJSON() +test("OptionsToggle", async () => { + const store = TStore(), + {asFragment} = render( + toggle anticache, + {store} + ); - it('should render and connect to state', () => { - expect(tree).toMatchSnapshot() - }) + expect(asFragment()).toMatchSnapshot(); + fireEvent.click(screen.getByText("toggle anticache")); + expect(store.getActions()).toEqual([optionsEditorActions.startUpdate("anticache", true)]) +}); - it('should handle change', () => { - let menuToggle = tree.children[0].children[0] - menuToggle.props.onChange() - expect(store.getActions()).toEqual([{ type: REQUEST_UPDATE }]) - }) -}) - -describe('EventlogToggle Component', () => { - let store = TStore(), - changFn = jest.fn(), - provider = renderer.create( - - - - ), - tree = provider.toJSON() - it('should render and connect to state', () => { - expect(tree).toMatchSnapshot() - }) +test("EventlogToggle", async () => { + const {asFragment, store} = render( + + ); + expect(asFragment()).toMatchSnapshot(); + + expect(store.getState().eventLog.visible).toBeTruthy(); + fireEvent.click(screen.getByText("Display Event Log")); + + expect(store.getState().eventLog.visible).toBeFalsy(); }) diff --git a/web/src/js/__tests__/components/Header/__snapshots__/ConnectionIndicatorSpec.js.snap b/web/src/js/__tests__/components/Header/__snapshots__/ConnectionIndicatorSpec.js.snap deleted file mode 100644 index 817ba395a..000000000 --- a/web/src/js/__tests__/components/Header/__snapshots__/ConnectionIndicatorSpec.js.snap +++ /dev/null @@ -1,50 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`ConnectionIndicator Component should connect to state 1`] = ` - - connected - -`; - -exports[`ConnectionIndicator Component should render ERROR 1`] = ` - - connection lost - -`; - -exports[`ConnectionIndicator Component should render ESTABLISHED 1`] = ` - - connected - -`; - -exports[`ConnectionIndicator Component should render FETCHING 1`] = ` - - fetching data… - -`; - -exports[`ConnectionIndicator Component should render INIT 1`] = ` - - connecting… - -`; - -exports[`ConnectionIndicator Component should render OFFLINE 1`] = ` - - offline - -`; diff --git a/web/src/js/__tests__/components/Header/__snapshots__/ConnectionIndicatorSpec.tsx.snap b/web/src/js/__tests__/components/Header/__snapshots__/ConnectionIndicatorSpec.tsx.snap new file mode 100644 index 000000000..9098e6126 --- /dev/null +++ b/web/src/js/__tests__/components/Header/__snapshots__/ConnectionIndicatorSpec.tsx.snap @@ -0,0 +1,52 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`ConnectionIndicator 1`] = ` + + + connected + + +`; + +exports[`ConnectionIndicator 2`] = ` + + + fetching data… + + +`; + +exports[`ConnectionIndicator 3`] = ` + + + connected + + +`; + +exports[`ConnectionIndicator 4`] = ` + + + connection lost + + +`; + +exports[`ConnectionIndicator 5`] = ` + + + offline + + +`; diff --git a/web/src/js/__tests__/components/Header/__snapshots__/FileMenuSpec.js.snap b/web/src/js/__tests__/components/Header/__snapshots__/FileMenuSpec.js.snap index 3d3944c24..4c1c452ad 100644 --- a/web/src/js/__tests__/components/Header/__snapshots__/FileMenuSpec.js.snap +++ b/web/src/js/__tests__/components/Header/__snapshots__/FileMenuSpec.js.snap @@ -1,80 +1,11 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`FileMenu Component should render correctly 1`] = ` - + mitmproxy + `; diff --git a/web/src/js/__tests__/components/Header/__snapshots__/MainMenuSpec.js.snap b/web/src/js/__tests__/components/Header/__snapshots__/MainMenuSpec.js.snap index 339e54f0b..397108fa7 100644 --- a/web/src/js/__tests__/components/Header/__snapshots__/MainMenuSpec.js.snap +++ b/web/src/js/__tests__/components/Header/__snapshots__/MainMenuSpec.js.snap @@ -1,122 +1,99 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`MainMenu Component should render and connect to state 1`] = ` -
+exports[`MainMenu 1`] = ` +
-
-
-
- - - - -
- -
-
- Intercept -
-
-
+
`; diff --git a/web/src/js/__tests__/components/Header/__snapshots__/MenuToggleSpec.js.snap b/web/src/js/__tests__/components/Header/__snapshots__/MenuToggleSpec.js.snap index 56c2de059..f726a15df 100644 --- a/web/src/js/__tests__/components/Header/__snapshots__/MenuToggleSpec.js.snap +++ b/web/src/js/__tests__/components/Header/__snapshots__/MenuToggleSpec.js.snap @@ -1,18 +1,19 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`EventlogToggle Component should render and connect to state 1`] = ` -
- -
+exports[`EventlogToggle 1`] = ` + +
+ +
+
`; exports[`MenuToggle Component should render correctly 1`] = ` @@ -32,19 +33,17 @@ exports[`MenuToggle Component should render correctly 1`] = `
`; -exports[`SettingToggle Component should render and connect to state 1`] = ` -
- -
+exports[`OptionsToggle 1`] = ` + +
+ +
+
`; diff --git a/web/src/js/__tests__/components/Header/__snapshots__/OptionMenuSpec.js.snap b/web/src/js/__tests__/components/Header/__snapshots__/OptionMenuSpec.js.snap index 03a09d027..4b4ada5ea 100644 --- a/web/src/js/__tests__/components/Header/__snapshots__/OptionMenuSpec.js.snap +++ b/web/src/js/__tests__/components/Header/__snapshots__/OptionMenuSpec.js.snap @@ -39,7 +39,7 @@ exports[`OptionMenu Component should render correctly 1`] = ` >