gitextract_5fuwfm2s/ ├── .editorconfig ├── .gitattributes ├── .github/ │ └── workflows/ │ └── main.yml ├── .gitignore ├── .travis.yml ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE.md ├── LICENSE ├── README.md ├── changelog.js ├── examples/ │ ├── 404.js │ ├── basic/ │ │ └── run.js │ ├── callback.js │ ├── express.js │ ├── less.js │ ├── middleware.css.injection.js │ ├── notify-styles.js │ ├── options.snippetOptions.js │ ├── proxy.gzip.js │ ├── proxy.headers.js │ ├── proxy.localhost.js │ ├── proxy.middleware.js │ ├── proxy.middleware.multi.js │ ├── proxy.proxyRes.js │ ├── proxy.rewriteRules.advanced.js │ ├── proxy.rewriteRules.simple.js │ ├── proxy.secure.js │ ├── proxy.vhost.js │ ├── server.basedir.js │ ├── server.basedir.mulitple.js │ ├── server.default.js │ ├── server.gzip.js │ ├── server.http2.js │ ├── server.latency.js │ ├── server.middleware.js │ ├── server.middleware.multiple.js │ ├── server.proxy.js │ ├── server.secure.js │ ├── server.secure.pfx.js │ ├── server.watch.js │ └── snippet/ │ ├── index.html │ └── run.js ├── lerna.json ├── nx.json ├── package.json ├── packages/ │ ├── browser-sync/ │ │ ├── .gitignore │ │ ├── .prettierignore │ │ ├── certs/ │ │ │ ├── browsersync.pfx │ │ │ ├── gen.sh │ │ │ ├── server.crt │ │ │ ├── server.csr │ │ │ └── server.key │ │ ├── cli-options/ │ │ │ ├── opts.init.json │ │ │ ├── opts.recipe.json │ │ │ ├── opts.reload.json │ │ │ └── opts.start.json │ │ ├── lib/ │ │ │ ├── args.js │ │ │ ├── async-tasks.js │ │ │ ├── async.js │ │ │ ├── bin.ts │ │ │ ├── browser-sync.js │ │ │ ├── cli/ │ │ │ │ ├── cli-info.js │ │ │ │ ├── cli-options.ts │ │ │ │ ├── command.init.js │ │ │ │ ├── command.recipe.js │ │ │ │ ├── command.reload.js │ │ │ │ ├── command.start.ts │ │ │ │ └── transforms/ │ │ │ │ ├── addCwdToWatchOptions.ts │ │ │ │ ├── addDefaultIgnorePatterns.ts │ │ │ │ ├── addToFilesOption.ts │ │ │ │ ├── appendServerDirectoryOption.ts │ │ │ │ ├── appendServerIndexOption.ts │ │ │ │ ├── copyCLIIgnoreToWatchOptions.ts │ │ │ │ ├── handleExtensionsOption.ts │ │ │ │ ├── handleFilesOption.ts │ │ │ │ ├── handleGhostModeOption.ts │ │ │ │ ├── handleHostOption.ts │ │ │ │ ├── handlePortsOption.ts │ │ │ │ ├── handleProxyOption.ts │ │ │ │ └── handleServerOption.ts │ │ │ ├── config.js │ │ │ ├── connect-utils.js │ │ │ ├── default-config.js │ │ │ ├── file-event-handler.js │ │ │ ├── file-utils.js │ │ │ ├── file-watcher.js │ │ │ ├── hooks.js │ │ │ ├── http-protocol.js │ │ │ ├── index.js │ │ │ ├── internal-events.js │ │ │ ├── lodash.custom.js │ │ │ ├── logger.js │ │ │ ├── options.ts │ │ │ ├── plugins.js │ │ │ ├── public/ │ │ │ │ ├── exit.js │ │ │ │ ├── init.ts │ │ │ │ ├── notify.js │ │ │ │ ├── pause.js │ │ │ │ ├── public-utils.js │ │ │ │ ├── reload.js │ │ │ │ ├── resume.js │ │ │ │ └── stream.js │ │ │ ├── server/ │ │ │ │ ├── index.js │ │ │ │ ├── proxy-server.js │ │ │ │ ├── proxy-utils.js │ │ │ │ ├── serve-static-wrapper.ts │ │ │ │ ├── snippet-server.js │ │ │ │ ├── static-server.js │ │ │ │ └── utils.js │ │ │ ├── snippet.js │ │ │ ├── sockets.ts │ │ │ ├── tunnel.js │ │ │ ├── types.ts │ │ │ └── utils.ts │ │ ├── package.json │ │ ├── readme.md │ │ ├── templates/ │ │ │ ├── cli-template.js │ │ │ ├── connector.tmpl │ │ │ ├── script-tags-simple.html │ │ │ └── script-tags.html │ │ ├── test/ │ │ │ ├── env.js │ │ │ ├── fixtures/ │ │ │ │ ├── .tmp/ │ │ │ │ │ └── temp.css │ │ │ │ ├── alt/ │ │ │ │ │ └── index.htm │ │ │ │ ├── assets/ │ │ │ │ │ ├── import.css │ │ │ │ │ ├── import2.css │ │ │ │ │ ├── print.css │ │ │ │ │ └── style.css │ │ │ │ ├── base.html │ │ │ │ ├── bootstrap/ │ │ │ │ │ ├── css/ │ │ │ │ │ │ ├── bootstrap-grid.css │ │ │ │ │ │ ├── bootstrap-reboot.css │ │ │ │ │ │ ├── bootstrap.css │ │ │ │ │ │ └── justified-nav.css │ │ │ │ │ ├── index.html │ │ │ │ │ └── js/ │ │ │ │ │ ├── bootstrap.bundle.js │ │ │ │ │ └── bootstrap.js │ │ │ │ ├── bootstrap.html │ │ │ │ ├── bower.html │ │ │ │ ├── bower_components/ │ │ │ │ │ └── app.css │ │ │ │ ├── config/ │ │ │ │ │ ├── config.js │ │ │ │ │ ├── si-config-partial.js │ │ │ │ │ ├── si-config-ports.js │ │ │ │ │ ├── si-config-proxy.js │ │ │ │ │ ├── si-config.js │ │ │ │ │ └── si-default-config.js │ │ │ │ ├── css/ │ │ │ │ │ ├── bootstrap-less.css │ │ │ │ │ ├── bootstrap-scss.css │ │ │ │ │ └── bootstrap.css │ │ │ │ ├── fonts/ │ │ │ │ │ └── roboto/ │ │ │ │ │ ├── Roboto-Regular-demo.html │ │ │ │ │ └── stylesheet.css │ │ │ │ ├── forms.html │ │ │ │ ├── iframe.html │ │ │ │ ├── images.html │ │ │ │ ├── import-link.html │ │ │ │ ├── import.html │ │ │ │ ├── index-amd.html │ │ │ │ ├── index-large.html │ │ │ │ ├── index-urls.html │ │ │ │ ├── index.html │ │ │ │ ├── inputs.html │ │ │ │ ├── js/ │ │ │ │ │ ├── default.js │ │ │ │ │ └── main.js │ │ │ │ ├── less/ │ │ │ │ │ └── bootstrap.less │ │ │ │ ├── less.html │ │ │ │ ├── links.html │ │ │ │ ├── plugin.js │ │ │ │ ├── proxy-headers.html │ │ │ │ ├── proxy-ip.html │ │ │ │ ├── proxy-vhost.html │ │ │ │ ├── rewrites/ │ │ │ │ │ ├── comment.expected.html │ │ │ │ │ ├── comment.html │ │ │ │ │ ├── escaped.1.expected.html │ │ │ │ │ ├── escaped.1.html │ │ │ │ │ ├── hashes.expected.html │ │ │ │ │ └── hashes.input.html │ │ │ │ ├── sass.html │ │ │ │ ├── scrolling.html │ │ │ │ ├── scss/ │ │ │ │ │ └── bootstrap-scss.scss │ │ │ │ ├── socket.io.html │ │ │ │ ├── stylus/ │ │ │ │ │ └── bootstrap.styl │ │ │ │ ├── svg.html │ │ │ │ ├── tailwind/ │ │ │ │ │ └── index.html │ │ │ │ ├── test.txt │ │ │ │ ├── test2.txt │ │ │ │ ├── username.github.io/ │ │ │ │ │ └── index.html │ │ │ │ └── watch-func.txt │ │ │ ├── fixtures2/ │ │ │ │ └── style-alt.css │ │ │ ├── protractor/ │ │ │ │ ├── _run.js │ │ │ │ ├── bs.init.js │ │ │ │ ├── config.multi.js │ │ │ │ ├── config.single.js │ │ │ │ ├── logger.js │ │ │ │ ├── runProtractor.js │ │ │ │ ├── setup.js │ │ │ │ ├── setup.single.js │ │ │ │ ├── tests/ │ │ │ │ │ ├── actions.clicks.js │ │ │ │ │ ├── actions.scroll.js │ │ │ │ │ ├── proxy.interactions.js │ │ │ │ │ ├── proxy.rewrites.js │ │ │ │ │ ├── server.interactions.js │ │ │ │ │ ├── snippet.injection.js │ │ │ │ │ ├── with.baseurl.https.js │ │ │ │ │ ├── with.baseurl.js │ │ │ │ │ └── with.socket.io.js │ │ │ │ ├── tests.multi.js │ │ │ │ ├── tests.single.js │ │ │ │ └── utils.js │ │ │ ├── specs/ │ │ │ │ ├── api/ │ │ │ │ │ ├── init.active.js │ │ │ │ │ ├── init.exit.js │ │ │ │ │ ├── init.js │ │ │ │ │ ├── init.notify.js │ │ │ │ │ ├── init.pause.js │ │ │ │ │ ├── init.reload.deprecated.js │ │ │ │ │ ├── init.reload.js │ │ │ │ │ ├── init.reload.multi.js │ │ │ │ │ ├── init.reload.stream.js │ │ │ │ │ ├── init.reload.stream.noop.js │ │ │ │ │ ├── init.returns.js │ │ │ │ │ ├── init.sockets.js │ │ │ │ │ └── watch.js │ │ │ │ ├── cli/ │ │ │ │ │ ├── cli.exec.js │ │ │ │ │ ├── cli.get.config.js │ │ │ │ │ ├── cli.help.js │ │ │ │ │ ├── cli.info.js │ │ │ │ │ ├── cli.options.files.js │ │ │ │ │ ├── cli.options.ghost.js │ │ │ │ │ ├── cli.options.ignore.js │ │ │ │ │ ├── cli.options.ports.js │ │ │ │ │ ├── cli.options.proxy.js │ │ │ │ │ ├── cli.options.server.js │ │ │ │ │ ├── cli.options.watch.js │ │ │ │ │ └── cli.options.watchOptions.cwd.js │ │ │ │ ├── commands/ │ │ │ │ │ ├── recipes.js │ │ │ │ │ └── reload.js │ │ │ │ ├── e2e/ │ │ │ │ │ ├── cli/ │ │ │ │ │ │ ├── e2e.cli.conf.js │ │ │ │ │ │ ├── e2e.cli.error.js │ │ │ │ │ │ ├── e2e.cli.files.js │ │ │ │ │ │ ├── e2e.cli.init.js │ │ │ │ │ │ ├── e2e.cli.plugins.js │ │ │ │ │ │ ├── e2e.cli.proxy.js │ │ │ │ │ │ ├── e2e.cli.proxy.ws.js │ │ │ │ │ │ ├── e2e.cli.server.js │ │ │ │ │ │ ├── e2e.cli.snippet.js │ │ │ │ │ │ └── e2e.cli.ui.js │ │ │ │ │ ├── commands.server.json │ │ │ │ │ ├── e2e.events.js │ │ │ │ │ ├── e2e.fail.js │ │ │ │ │ ├── e2e.online.js │ │ │ │ │ ├── e2e.options.callbacks.js │ │ │ │ │ ├── e2e.options.cors.js │ │ │ │ │ ├── e2e.options.js │ │ │ │ │ ├── e2e.options.logPrefix.js │ │ │ │ │ ├── e2e.options.logSnippet.js │ │ │ │ │ ├── e2e.options.open.browsers.js │ │ │ │ │ ├── e2e.options.open.js │ │ │ │ │ ├── e2e.options.port.js │ │ │ │ │ ├── e2e.options.script.async.js │ │ │ │ │ ├── e2e.options.scriptpath.js │ │ │ │ │ ├── e2e.options.serveStatic.js │ │ │ │ │ ├── e2e.options.single.js │ │ │ │ │ ├── e2e.options.snippet.js │ │ │ │ │ ├── e2e.options.sockets.js │ │ │ │ │ ├── e2e.options.startPath.js │ │ │ │ │ ├── e2e.snippet.js │ │ │ │ │ ├── files/ │ │ │ │ │ │ ├── e2e.file.changed.js │ │ │ │ │ │ ├── e2e.file.options.js │ │ │ │ │ │ └── e2e.file.watching.js │ │ │ │ │ ├── middleware/ │ │ │ │ │ │ ├── middleware.option.js │ │ │ │ │ │ ├── middleware.proxy.option.js │ │ │ │ │ │ └── middleware.server.option.js │ │ │ │ │ ├── proxy/ │ │ │ │ │ │ ├── e2e.proxy.cookies.js │ │ │ │ │ │ ├── e2e.proxy.error.js │ │ │ │ │ │ ├── e2e.proxy.external.js │ │ │ │ │ │ ├── e2e.proxy.js │ │ │ │ │ │ ├── e2e.proxy.proxy.options.js │ │ │ │ │ │ ├── e2e.proxy.req.headers.js │ │ │ │ │ │ ├── e2e.proxy.req.headers.obj.js │ │ │ │ │ │ ├── e2e.proxy.rewrite.rules.add.js │ │ │ │ │ │ ├── e2e.proxy.rewrite.rules.js │ │ │ │ │ │ ├── e2e.proxy.rewrite.rules.remove.js │ │ │ │ │ │ ├── e2e.proxy.rewrite.rules.replace.js │ │ │ │ │ │ ├── e2e.proxy.secure.js │ │ │ │ │ │ ├── e2e.proxy.snippet.js │ │ │ │ │ │ └── e2e.proxy.ws.js │ │ │ │ │ └── server/ │ │ │ │ │ ├── e2e.server.404.js │ │ │ │ │ ├── e2e.server.dirs.js │ │ │ │ │ ├── e2e.server.httpModule.js │ │ │ │ │ ├── e2e.server.js │ │ │ │ │ ├── e2e.server.middleware.js │ │ │ │ │ ├── e2e.server.newapi.js │ │ │ │ │ ├── e2e.server.newapi2.js │ │ │ │ │ ├── e2e.server.rewrite.rules.add.js │ │ │ │ │ ├── e2e.server.rewrite.rules.js │ │ │ │ │ ├── e2e.server.rewrite.rules.remove.js │ │ │ │ │ ├── e2e.server.rewrite.rules.replace.js │ │ │ │ │ ├── e2e.server.routes.js │ │ │ │ │ ├── e2e.server.secure.custom.js │ │ │ │ │ ├── e2e.server.secure.js │ │ │ │ │ ├── e2e.server.secure.pfx.js │ │ │ │ │ ├── e2e.server.serveStatic.extensions.js │ │ │ │ │ ├── e2e.server.serveStatic.js │ │ │ │ │ └── e2e.server.tunnel.js │ │ │ │ ├── files/ │ │ │ │ │ ├── files.event-handler.js │ │ │ │ │ ├── files.watching.debounce.js │ │ │ │ │ ├── files.watching.delay.js │ │ │ │ │ └── files.watching.js │ │ │ │ ├── hooks/ │ │ │ │ │ └── files.watch.hook.js │ │ │ │ ├── http-protocol/ │ │ │ │ │ └── http.reload.js │ │ │ │ ├── instances/ │ │ │ │ │ ├── multi.emitter.js │ │ │ │ │ ├── multi.get.js │ │ │ │ │ ├── multi.has.js │ │ │ │ │ ├── multi.init.js │ │ │ │ │ ├── multi.js │ │ │ │ │ ├── multi.plugins.js │ │ │ │ │ ├── multi.proxy.js │ │ │ │ │ └── single.js │ │ │ │ ├── logger/ │ │ │ │ │ ├── logger.baseDir.js │ │ │ │ │ └── logger.files.changed.js │ │ │ │ ├── options/ │ │ │ │ │ └── options.set.js │ │ │ │ ├── plugins/ │ │ │ │ │ ├── bs.options.js │ │ │ │ │ ├── connector.js │ │ │ │ │ ├── files.js │ │ │ │ │ ├── hooks.js │ │ │ │ │ ├── logger.js │ │ │ │ │ ├── options.js │ │ │ │ │ ├── ui.error.js │ │ │ │ │ ├── ui.js │ │ │ │ │ ├── user.plugins.add.middleware.js │ │ │ │ │ ├── user.plugins.cleanup.js │ │ │ │ │ ├── user.plugins.error.js │ │ │ │ │ ├── user.plugins.inline.enabled.js │ │ │ │ │ ├── user.plugins.inline.error.js │ │ │ │ │ ├── user.plugins.inline.js │ │ │ │ │ ├── user.plugins.inline.obj.js │ │ │ │ │ ├── user.plugins.inline.obj.reference.js │ │ │ │ │ ├── user.plugins.inline.options.js │ │ │ │ │ ├── user.plugins.js │ │ │ │ │ ├── user.plugins.proxy.js │ │ │ │ │ └── user.plugins.serve.files.js │ │ │ │ ├── resp-mod/ │ │ │ │ │ └── rewrite-links.js │ │ │ │ ├── server/ │ │ │ │ │ └── server.snippet.js │ │ │ │ └── utils/ │ │ │ │ ├── utils.connect.js │ │ │ │ ├── utils.default.callback.js │ │ │ │ ├── utils.fail.js │ │ │ │ ├── utils.getHostIp.js │ │ │ │ ├── utils.getUrl.js │ │ │ │ ├── utils.getUrls.js │ │ │ │ ├── utils.js │ │ │ │ ├── utils.setUrlOptions.js │ │ │ │ └── utils.verifyOptions.js │ │ │ └── utils.js │ │ └── tsconfig.json │ ├── browser-sync-client/ │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE-MIT │ │ ├── README.md │ │ ├── index.js │ │ ├── lib/ │ │ │ ├── browser.utils.ts │ │ │ ├── dom-effects/ │ │ │ │ ├── link-replace.dom-effect.ts │ │ │ │ ├── prop-set.dom-effect.ts │ │ │ │ ├── set-scroll.dom-effect.ts │ │ │ │ ├── set-window-name.dom-effect.ts │ │ │ │ └── style-set.dom-effect.ts │ │ │ ├── dom-effects.ts │ │ │ ├── effects/ │ │ │ │ ├── browser-reload.effect.ts │ │ │ │ ├── browser-set-location.effect.ts │ │ │ │ ├── file-reload.effect.ts │ │ │ │ ├── set-element-toggle-value.effect.ts │ │ │ │ ├── set-element-value.effect.ts │ │ │ │ ├── set-options.effect.ts │ │ │ │ ├── set-scroll.ts │ │ │ │ └── simulate-click.effect.ts │ │ │ ├── effects.ts │ │ │ ├── index.ts │ │ │ ├── listeners/ │ │ │ │ ├── clicks.listener.ts │ │ │ │ ├── form-inputs.listener.ts │ │ │ │ ├── form-toggles.listener.ts │ │ │ │ └── scroll.listener.ts │ │ │ ├── listeners.ts │ │ │ ├── log.ts │ │ │ ├── messages/ │ │ │ │ ├── BrowserLocation.ts │ │ │ │ ├── BrowserNotify.ts │ │ │ │ ├── BrowserReload.ts │ │ │ │ ├── ClickEvent.ts │ │ │ │ ├── Connection.ts │ │ │ │ ├── Disconnect.ts │ │ │ │ ├── FileReload.ts │ │ │ │ ├── FormToggleEvent.ts │ │ │ │ ├── KeyupEvent.ts │ │ │ │ ├── OptionsSet.ts │ │ │ │ └── ScrollEvent.ts │ │ │ ├── notify.ts │ │ │ ├── scroll-restore.ts │ │ │ ├── socket-messages.ts │ │ │ ├── socket.ts │ │ │ ├── types/ │ │ │ │ ├── socket.ts │ │ │ │ └── types.d.ts │ │ │ ├── types.ts │ │ │ ├── utils.ts │ │ │ └── vendor/ │ │ │ ├── Reloader.ts │ │ │ ├── Timer.ts │ │ │ └── logger.ts │ │ ├── package.json │ │ ├── test/ │ │ │ ├── .jshintrc │ │ │ ├── client-new/ │ │ │ │ ├── bs.options.js │ │ │ │ ├── code-sync.js │ │ │ │ ├── emitter.js │ │ │ │ ├── ghostmode.click.js │ │ │ │ ├── ghostmode.forms.inputs.js │ │ │ │ ├── ghostmode.forms.js │ │ │ │ ├── ghostmode.forms.submit.js │ │ │ │ ├── ghostmode.forms.toggles.js │ │ │ │ ├── ghostmode.js │ │ │ │ ├── ghostmode.location.js │ │ │ │ ├── ghostmode.scroll.js │ │ │ │ ├── index.js │ │ │ │ ├── libs/ │ │ │ │ │ └── assert.js │ │ │ │ ├── notify.js │ │ │ │ ├── socket.js │ │ │ │ ├── stubs/ │ │ │ │ │ └── bs.js │ │ │ │ └── utils.js │ │ │ ├── fixtures/ │ │ │ │ ├── css/ │ │ │ │ │ └── style.css │ │ │ │ ├── forms.html │ │ │ │ ├── index-large.html │ │ │ │ ├── index-urls.html │ │ │ │ ├── index.html │ │ │ │ ├── inputs.html │ │ │ │ ├── less.html │ │ │ │ ├── links.html │ │ │ │ ├── proxy-headers.html │ │ │ │ ├── proxy-ip.html │ │ │ │ ├── proxy-vhost.html │ │ │ │ ├── sass.html │ │ │ │ └── scrolling.html │ │ │ ├── karma.conf.ci.js │ │ │ ├── karma.conf.js │ │ │ ├── middleware/ │ │ │ │ ├── file.js │ │ │ │ └── middleware.js │ │ │ └── test.conf.js │ │ ├── tsconfig.json │ │ └── webpack.config.js │ └── browser-sync-ui/ │ ├── .editorconfig │ ├── .gitignore │ ├── .jshintrc │ ├── LICENSE │ ├── README.md │ ├── crossbow.yaml │ ├── example.stream.js │ ├── index.js │ ├── lib/ │ │ ├── UI.js │ │ ├── async-tasks.js │ │ ├── async.js │ │ ├── client-elements.js │ │ ├── client-js.js │ │ ├── config.js │ │ ├── directive-stripper.js │ │ ├── hooks.js │ │ ├── opts.js │ │ ├── plugins/ │ │ │ ├── connections/ │ │ │ │ ├── connections.client.js │ │ │ │ ├── connections.directive.html │ │ │ │ ├── connections.html │ │ │ │ ├── connections.plugin.js │ │ │ │ └── lib/ │ │ │ │ └── connections.js │ │ │ ├── help/ │ │ │ │ ├── help.client.js │ │ │ │ ├── help.directive.html │ │ │ │ ├── help.html │ │ │ │ └── help.plugin.js │ │ │ ├── history/ │ │ │ │ ├── history.client.js │ │ │ │ ├── history.directive.html │ │ │ │ ├── history.html │ │ │ │ ├── history.js │ │ │ │ └── history.plugin.js │ │ │ ├── network-throttle/ │ │ │ │ ├── network-throttle.client.js │ │ │ │ ├── network-throttle.directive.html │ │ │ │ ├── network-throttle.html │ │ │ │ ├── network-throttle.js │ │ │ │ ├── network-throttle.plugin.js │ │ │ │ ├── targets.js │ │ │ │ └── throttle-server.js │ │ │ ├── overview/ │ │ │ │ ├── overview.client.js │ │ │ │ ├── overview.html │ │ │ │ ├── overview.plugin.js │ │ │ │ ├── snippet-info.html │ │ │ │ └── url-info.html │ │ │ ├── plugins/ │ │ │ │ ├── plugins.client.js │ │ │ │ ├── plugins.html │ │ │ │ └── plugins.plugin.js │ │ │ ├── remote-debug/ │ │ │ │ ├── client-files.js │ │ │ │ ├── compression.html │ │ │ │ ├── compression.js │ │ │ │ ├── css/ │ │ │ │ │ ├── pesticide-depth.css │ │ │ │ │ └── pesticide.css │ │ │ │ ├── latency/ │ │ │ │ │ ├── latency.client.js │ │ │ │ │ ├── latency.html │ │ │ │ │ └── latency.js │ │ │ │ ├── no-cache.html │ │ │ │ ├── no-cache.js │ │ │ │ ├── overlay-grid/ │ │ │ │ │ ├── css/ │ │ │ │ │ │ ├── grid-overlay-horizontal.css │ │ │ │ │ │ └── grid-overlay-vertical.css │ │ │ │ │ ├── js/ │ │ │ │ │ │ └── grid-overlay.js │ │ │ │ │ ├── overlay-grid.client.js │ │ │ │ │ ├── overlay-grid.html │ │ │ │ │ └── overlay-grid.js │ │ │ │ ├── remote-debug.client.js │ │ │ │ ├── remote-debug.html │ │ │ │ └── remote-debug.plugin.js │ │ │ └── sync-options/ │ │ │ ├── sync-options.client.js │ │ │ ├── sync-options.html │ │ │ └── sync-options.plugin.js │ │ ├── resolve-plugins.js │ │ ├── server.js │ │ ├── transform.options.js │ │ ├── transforms.js │ │ ├── urls.js │ │ └── utils.js │ ├── package.json │ ├── public/ │ │ ├── css/ │ │ │ ├── components.css │ │ │ └── core.css │ │ ├── img/ │ │ │ └── icons/ │ │ │ └── preview.html │ │ ├── index.html │ │ └── js/ │ │ └── app.js │ ├── src/ │ │ ├── crossbow/ │ │ │ ├── _config.yml │ │ │ ├── _includes/ │ │ │ │ ├── enable.disable.hbs │ │ │ │ ├── form.input.checkbox.hbs │ │ │ │ ├── form.input.text.hbs │ │ │ │ ├── header.hbs │ │ │ │ ├── icon.hbs │ │ │ │ └── nav.hbs │ │ │ ├── _layouts/ │ │ │ │ ├── components.hbs │ │ │ │ ├── main.hbs │ │ │ │ └── parent.hbs │ │ │ ├── components/ │ │ │ │ ├── button-bars.hbs │ │ │ │ ├── buttons.hbs │ │ │ │ ├── footer.hbs │ │ │ │ ├── forms.hbs │ │ │ │ ├── header.hbs │ │ │ │ ├── heading.hbs │ │ │ │ ├── help-content.hbs │ │ │ │ ├── lists.hbs │ │ │ │ ├── panels.hbs │ │ │ │ ├── switches.hbs │ │ │ │ └── type.hbs │ │ │ ├── components.hbs │ │ │ ├── content/ │ │ │ │ └── help.content.hbs │ │ │ ├── help.hbs │ │ │ ├── history.hbs │ │ │ ├── network-throttle.hbs │ │ │ ├── plugins.hbs │ │ │ ├── remote-debug.hbs │ │ │ ├── server-info-snippet.hbs │ │ │ ├── server-info.hbs │ │ │ └── sync-options.hbs │ │ ├── scripts/ │ │ │ ├── angular.js │ │ │ ├── app.js │ │ │ ├── directives/ │ │ │ │ ├── icon.js │ │ │ │ ├── link-to.js │ │ │ │ ├── new-tab.js │ │ │ │ └── switch.js │ │ │ ├── directives.js │ │ │ ├── editor.js │ │ │ ├── filters.js │ │ │ ├── main/ │ │ │ │ └── controller.js │ │ │ ├── module.js │ │ │ ├── modules/ │ │ │ │ ├── bsClients.js │ │ │ │ ├── bsDisconnect.js │ │ │ │ ├── bsHistory.js │ │ │ │ ├── bsNotify.js │ │ │ │ ├── bsSocket.js │ │ │ │ └── bsStore.js │ │ │ ├── services/ │ │ │ │ ├── Options.js │ │ │ │ └── Pages.js │ │ │ └── utils.js │ │ ├── scss/ │ │ │ ├── _vars.scss │ │ │ ├── components.scss │ │ │ ├── core.scss │ │ │ ├── modules/ │ │ │ │ ├── _mixins.scss │ │ │ │ └── _reset.scss │ │ │ ├── theme/ │ │ │ │ ├── _animations.scss │ │ │ │ ├── _base.scss │ │ │ │ ├── _buttons.scss │ │ │ │ ├── _cloak.scss │ │ │ │ ├── _code.scss │ │ │ │ ├── _custom-icons.scss │ │ │ │ ├── _disconnect.scss │ │ │ │ ├── _footer.scss │ │ │ │ ├── _forms.scss │ │ │ │ ├── _grid.scss │ │ │ │ ├── _header.scss │ │ │ │ ├── _headings.scss │ │ │ │ ├── _helpers.scss │ │ │ │ ├── _links.scss │ │ │ │ ├── _lists.scss │ │ │ │ ├── _main-content.scss │ │ │ │ ├── _misc.scss │ │ │ │ ├── _msgs.scss │ │ │ │ ├── _notifications.scss │ │ │ │ ├── _panel.scss │ │ │ │ ├── _paragraphs.scss │ │ │ │ ├── _section-nav.scss │ │ │ │ ├── _sidebar.scss │ │ │ │ ├── _spinner.scss │ │ │ │ ├── _state.scss │ │ │ │ ├── _svg.scss │ │ │ │ ├── _switch.scss │ │ │ │ └── _top-bar.scss │ │ │ └── vendor/ │ │ │ ├── _fonts.scss │ │ │ └── _normalize.scss │ │ └── svg-template.tmpl │ ├── static/ │ │ ├── components/ │ │ │ ├── button-bars.html │ │ │ ├── buttons.html │ │ │ ├── footer.html │ │ │ ├── forms.html │ │ │ ├── header.html │ │ │ ├── heading.html │ │ │ ├── help-content.html │ │ │ ├── lists.html │ │ │ ├── panels.html │ │ │ ├── switches.html │ │ │ └── type.html │ │ └── content/ │ │ └── help.content.html │ ├── tasks/ │ │ ├── crossbow.js │ │ └── icons.js │ ├── templates/ │ │ ├── config.item.tmpl │ │ ├── config.tmpl │ │ ├── directives/ │ │ │ └── bs-switch.html │ │ ├── inline.template.tmpl │ │ ├── plugin.item.tmpl │ │ └── plugin.tmpl │ ├── test/ │ │ ├── .jshintrc │ │ ├── client/ │ │ │ └── e2e/ │ │ │ ├── bs-init.js │ │ │ ├── config.js │ │ │ ├── e2e.plugins.js │ │ │ ├── e2e.server-info.js │ │ │ ├── e2e.sync-options.js │ │ │ ├── test-utils.js │ │ │ └── tests/ │ │ │ ├── history.js │ │ │ ├── history.newtabs.js │ │ │ ├── home.js │ │ │ ├── network-throttle.auto.js │ │ │ ├── network-throttle.js │ │ │ ├── network-throttle.manual.js │ │ │ ├── network-throttle.remove.js │ │ │ ├── plugins.inline.js │ │ │ ├── plugins.js │ │ │ └── remote-debug.js │ │ ├── fixtures/ │ │ │ ├── content.html │ │ │ ├── css/ │ │ │ │ ├── blog.css │ │ │ │ └── bootstrap.css │ │ │ ├── forms.html │ │ │ ├── index.html │ │ │ ├── plugin/ │ │ │ │ ├── index.plugin.js │ │ │ │ ├── package.json │ │ │ │ └── ui/ │ │ │ │ ├── client.js │ │ │ │ ├── test.directive.html │ │ │ │ └── test.html │ │ │ ├── plugin-multi-templates/ │ │ │ │ ├── index.plugin.js │ │ │ │ ├── package.json │ │ │ │ └── ui/ │ │ │ │ ├── client.js │ │ │ │ ├── client2.js │ │ │ │ ├── test.directive.html │ │ │ │ ├── test.html │ │ │ │ └── test.list.html │ │ │ ├── plugin-noui/ │ │ │ │ ├── index.plugin.js │ │ │ │ └── package.json │ │ │ └── scrolling.html │ │ ├── opts.server.json │ │ ├── protractor.sh │ │ └── server/ │ │ ├── history/ │ │ │ └── history.js │ │ ├── init.js │ │ ├── plugins.js │ │ ├── plugins.templates.js │ │ └── remote-debug/ │ │ ├── client.files.js │ │ ├── latency.js │ │ ├── no-cache.js │ │ ├── throttle.https.js │ │ └── throttle.js │ └── webpack.config.js ├── playwright.config.ts └── tests/ ├── examples/ │ ├── basic/ │ │ └── basic.spec.ts │ ├── html-inject/ │ │ └── html-inject.spec.ts │ ├── snippet/ │ │ └── snippet.spec.ts │ └── tailwind/ │ └── tailwind.spec.ts └── utils.ts