From 1b3264ef3ce8b36c548d5ac5beb409475df9f0cf Mon Sep 17 00:00:00 2001 From: Dan Janosik Date: Wed, 31 Mar 2021 17:45:47 -0400 Subject: [PATCH] Massive commit for majority of v3.0: - major visual refresh - new design, layout, fonts, colors, icons, etc - new dark theme, now the default - new app icon ("Bitcoin Map Marker") - cleaner, simpler homepage content - css for light/dark themes built from scss ("npm run css") - theme-switcher button in footer, instead of checked items in header dropdown - cleanup header links and dropdowns, and larger search box - url change: /unconfirmed-tx -> /mempool-tx - support for "estimated coin supply" used at startup or on slow devices when UTXO set unavailable - display fee rate along with TX details on /mempool-tx - copy-to-clipboard added for lots of longer strings - major code reuse improvements with pug mixins - simplify userSettings - minor error handling improvements for /tx pages in prune/noTxIndex situations - query fewer tx inputs on /address pages for performance - exponents on /difficulty-history graph labels - fixed colors of labels/gridlines on graphs (esp in dark theme) - drop LTC config (no longer maintained) - /admin/resetUserSettings --- .env-sample | 31 + CHANGELOG.md | 19 +- README.md | 2 +- app.js | 61 +- app/api/coreApi.js | 18 +- app/api/rpcApi.js | 4 +- app/coins.js | 4 +- app/coins/btc.js | 43 +- app/coins/ltc.js | 153 - app/config.js | 7 +- app/utils.js | 71 +- npm-shrinkwrap.json | 2968 ++++++++++++++--- package.json | 20 +- public/css/bootstrap-dark.min.css | 7 - public/css/bootstrap.min.css | 7 - public/css/dark-touchups.css | 36 - public/css/highlight.min.css | 1 - public/css/styling.css | 300 -- .../img/logo/{signet.svg => btc-signet.svg} | 0 public/img/logo/{tbtc.svg => btc-testnet.svg} | 0 public/img/logo/btcpay.png | Bin 2394 -> 0 bytes public/img/logo/lightning.svg | 17 - public/img/logo/lnd-admin.png | Bin 9125 -> 0 bytes public/img/logo/logo-regtest.svg | 7 + public/img/logo/logo-signet.svg | 7 + public/img/logo/logo-testnet.svg | 7 + public/img/logo/logo.svg | 7 + public/img/logo/ltc.png | Bin 886 -> 0 bytes public/img/logo/ltc.svg | 6 - public/img/qr-ltc.png | Bin 1324 -> 0 bytes public/img/screenshots/homepage-v3.png | Bin 0 -> 333009 bytes public/js/bootstrap.bundle.min.js | 7 + public/js/bootstrap.min.js | 7 - public/js/fontawesome.min.js | 6 +- public/js/highlight.min.js | 3 - public/js/highlight.pack.js | 655 ++++ public/js/jquery.min.js | 4 +- public/js/popper.min.js | 5 - public/js/site.js | 19 +- public/robots.txt | 2 +- public/scss/dark.scss | 132 + public/scss/light.scss | 56 + public/scss/main.scss | 261 ++ public/style/dark.css | 6 + .../dataTables.bootstrap4.min.css | 0 public/{css => style}/fonts.css | 0 public/style/highlight.min.css | 1 + public/style/light.css | 6 + routes/adminRouter.js | 11 + routes/baseRouter.js | 210 +- views/address.pug | 562 ++-- views/admin/dashboard.pug | 370 +- views/admin/stats.pug | 161 +- views/bitcoin-whitepaper.pug | 21 +- views/block-analysis-search.pug | 3 +- views/block-analysis.pug | 377 +-- views/block-stats.pug | 117 +- views/block.pug | 278 +- views/blocks.pug | 27 +- views/changelog.pug | 9 +- views/connect.pug | 3 +- views/difficulty-history.pug | 74 +- views/error.pug | 7 +- views/fun.pug | 89 +- views/includes/block-content.pug | 483 --- views/includes/blocks-list.pug | 40 +- views/includes/index-network-summary.pug | 388 +-- views/includes/line-graph.pug | 16 +- views/includes/page-errors-modal.pug | 8 +- views/includes/pagination.pug | 26 - views/includes/shared-mixins.pug | 425 +++ views/includes/time-ago.pug | 5 - views/includes/timestamp-human.pug | 14 - views/includes/tools-card.pug | 95 +- views/includes/transaction-io-details.pug | 209 +- views/index.pug | 192 +- views/layout.pug | 254 +- views/mempool-summary.pug | 140 +- views/mempool-tx.pug | 19 + views/mining-summary.pug | 61 +- views/node-status.pug | 387 +-- views/peers.pug | 248 +- views/rpc-browser.pug | 35 +- views/rpc-terminal.pug | 21 +- views/search.pug | 19 +- views/terminal.pug | 24 +- views/tools.pug | 116 +- views/transaction.pug | 584 ++-- views/tx-stats.pug | 136 +- views/unconfirmed-transactions.pug | 55 - 90 files changed, 6879 insertions(+), 4413 deletions(-) delete mode 100644 app/coins/ltc.js delete mode 100644 public/css/bootstrap-dark.min.css delete mode 100644 public/css/bootstrap.min.css delete mode 100644 public/css/dark-touchups.css delete mode 100644 public/css/highlight.min.css delete mode 100755 public/css/styling.css rename public/img/logo/{signet.svg => btc-signet.svg} (100%) rename public/img/logo/{tbtc.svg => btc-testnet.svg} (100%) delete mode 100644 public/img/logo/btcpay.png delete mode 100644 public/img/logo/lightning.svg delete mode 100644 public/img/logo/lnd-admin.png create mode 100644 public/img/logo/logo-regtest.svg create mode 100644 public/img/logo/logo-signet.svg create mode 100644 public/img/logo/logo-testnet.svg create mode 100644 public/img/logo/logo.svg delete mode 100644 public/img/logo/ltc.png delete mode 100644 public/img/logo/ltc.svg delete mode 100644 public/img/qr-ltc.png create mode 100644 public/img/screenshots/homepage-v3.png create mode 100644 public/js/bootstrap.bundle.min.js delete mode 100644 public/js/bootstrap.min.js delete mode 100644 public/js/highlight.min.js create mode 100644 public/js/highlight.pack.js delete mode 100644 public/js/popper.min.js create mode 100644 public/scss/dark.scss create mode 100644 public/scss/light.scss create mode 100644 public/scss/main.scss create mode 100644 public/style/dark.css rename public/{css => style}/dataTables.bootstrap4.min.css (100%) rename public/{css => style}/fonts.css (100%) create mode 100644 public/style/highlight.min.css create mode 100644 public/style/light.css delete mode 100644 views/includes/block-content.pug delete mode 100644 views/includes/pagination.pug create mode 100644 views/includes/shared-mixins.pug delete mode 100644 views/includes/time-ago.pug delete mode 100644 views/includes/timestamp-human.pug create mode 100644 views/mempool-tx.pug delete mode 100644 views/unconfirmed-transactions.pug diff --git a/.env-sample b/.env-sample index 704d5d5..30dbeab 100644 --- a/.env-sample +++ b/.env-sample @@ -5,20 +5,24 @@ #DEBUG=btcexp:* # Enable all logging specific to btc-rpc-explorer #DEBUG=btcexp:app,btcexp:error # Default + # The base URL. If you want to run it elsewhere than on /, for example /btc-rpc-explorer/ - note that the value should include starting and ending "/" # Default: / #BTCEXP_BASEURL=/ #BTCEXP_BASEURL=/explorer/ + # The active coin. Only officially supported value is "BTC". # Default: BTC #BTCEXP_COIN=BTC + # Host/Port to bind to # Defaults: shown #BTCEXP_HOST=127.0.0.1 #BTCEXP_PORT=3002 + # Bitcoin RPC Credentials (URI -OR- HOST/PORT/USER/PASS) # Defaults: # - [host/port]: 127.0.0.1:8332 @@ -33,6 +37,7 @@ #BTCEXP_BITCOIND_COOKIE=/path/to/bitcoind/.cookie #BTCEXP_BITCOIND_RPC_TIMEOUT=5000 + # Select optional "address API" to display address tx lists and balances # Options: electrumx, blockchain.com, blockchair.com, blockcypher.com # If electrumx set, the BTCEXP_ELECTRUMX_SERVERS variable must also be @@ -40,91 +45,117 @@ # Default: none #BTCEXP_ADDRESS_API=(electrumx|blockchain.com|blockchair.com|blockcypher.com) + # Optional ElectrumX Servers. See BTCEXP_ADDRESS_API. This value is only # used if BTCEXP_ADDRESS_API=electrumx #BTCEXP_ELECTRUMX_SERVERS=tls://electrumx.server.com:50002,tcp://127.0.0.1:50001,... + # Use the Electrumx server as an external txindex. This is only available in Electrs. #BTCEXP_ELECTRUM_TXINDEX=true + # Set number of concurrent RPC requests. Should be lower than your node's "rpcworkqueue" value. # Note that Bitcoin Core's default rpcworkqueue=16. # Default: 10 #BTCEXP_RPC_CONCURRENCY=10 + # Disable app's in-memory RPC caching to reduce memory usage # Default: false (i.e. in-memory cache **enabled**) #BTCEXP_NO_INMEMORY_RPC_CACHE=true + # Optional redis server for RPC caching # Default: none #BTCEXP_REDIS_URL=redis://localhost:6379 + # Default: hash of credentials #BTCEXP_COOKIE_SECRET=0000aaaafffffgggggg + # Whether public-demo aspects of the site are active # Default: false #BTCEXP_DEMO=true + # Set to false to enable resource-intensive features, including: # UTXO set summary querying # (default value is true, i.e. resource-intensive features are disabled) #BTCEXP_SLOW_DEVICE_MODE=false + # Privacy mode disables: # Exchange-rate queries, IP-geolocation queries # Default: false #BTCEXP_PRIVACY_MODE=true + # Don't request currency exchange rates # Default: true (i.e. no exchange-rate queries made) #BTCEXP_NO_RATES=true + # Password protection for site via basic auth (enter any username, only the password is checked) # Default: none #BTCEXP_BASIC_AUTH_PASSWORD=mypassword + # File where the SSO token is stored; ignored if BTCEXP_BASIC_AUTH_PASSWORD is provided. # Enables SSO if present. # Default: none #BTCEXP_SSO_TOKEN_FILE=/var/run/btc-rpc-explorer/sso_token + # URL of an optional external SSO provider # This is ignored if SSO is not enabled (see BTCEXP_SSO_TOKEN_FILE) # Default: none #BTCEXP_SSO_LOGIN_REDIRECT_URL=/my-sso-provider/login + # Enable to allow access to all RPC methods # Default: false #BTCEXP_RPC_ALLOWALL=true + # Custom RPC method blacklist # Default: (see config.js) #BTCEXP_RPC_BLACKLIST=signrawtransaction,sendtoaddress,stop,... + # Optional API keys # Default: none #BTCEXP_GANALYTICS_TRACKING=UA-XXXX-X #BTCEXP_SENTRY_URL=https://00000fffffff@sentry.io/XXXX #BTCEXP_IPSTACK_APIKEY=000000fffffaaaaa + # Optional value for "max_old_space_size" # Default: 1024 #BTCEXP_OLD_SPACE_MAX_SIZE=2048 + # The number of recent blocks to search for transactions when txindex is disabled #BTCEXP_NOTXINDEX_SEARCH_DEPTH=3 + +# UI Theme +# Default: dark +#BTCEXP_UI_THEME=(dark|light) + + # Show tools list in a sub-nav at top of screen # Default: true #BTCEXP_UI_SHOW_TOOLS_SUBHEADER=true + # Set the number of recent blocks shown on the homepage. # For slow devices reduce this number. # Default: 10 #BTCEXP_UI_HOME_PAGE_LATEST_BLOCKS_COUNT=10 + # Set the number of blocks per page on the browse-blocks page. # For slow devices reduce this number. # Default: 50 diff --git a/CHANGELOG.md b/CHANGELOG.md index e17a196..d4bc5e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,24 @@ -##### Unreleased +##### v3.0 +###### Unreleased +* Major visual refresh! + * All new design (layout, fonts, colors, etc) + * Redesigned Dark Mode (now the default) + * New app icon (this tools needs more of an identity of its own!) * Support for pruned nodes and nodes with disabled `txindex`! (HUGE Thanks to [@shesek](https://github.com/shesek)) +* Upgraded to Bootstrap 5 (currently beta3...) * Fix for 404 pages hanging (Thanks [@shesek](https://github.com/shesek)) * Add convenience redirect for baseUrl (Thanks [@shesek](https://github.com/shesek)) * Make url in logs clickable (Thanks [@shesek](https://github.com/shesek)) * Caching for static files (maxAge=1hr) -* Major code refactoring/modernization +* Frontend performance optimizations +* Major refactoring, modernization, and code-reuse improvements +* UX improvements and polish throughout +* `/unconfirmed-tx` URL changed to `/mempool-tx` +* Updated dependencies + * jQuery: v3.4.1 -> v3.6.0 + * highlight.js: v9.14.2 -> v10.7.1 + * fontawesome: v5.7.1 -> v5.15.3 ##### v2.2.0 ###### 2021-01-22 @@ -171,7 +184,7 @@ * Show mempool ancestor/descendant txs on tx detail pages * Blacklist 'createwallet' by default * Show RBF status for unconfirmed txs -* Faster, more reliable display of `/mempool-summary` and `/unconfirmed-tx` pages +* Faster, more reliable display of `/mempool-summary` and `/mempool-tx` pages * Fix for persisting arg values in UI on `/rpc-browser` * Misc minor fixes and ux tweaks diff --git a/README.md b/README.md index 9604dc2..978b2a4 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # BTC RPC Explorer -![homepage](https://github.com/janoside/btc-rpc-explorer/blob/master/public/img/screenshots/homepage.png?raw=true) +![homepage](./public/img/screenshots/homepage-v3.png) [![npm version][npm-ver-img]][npm-ver-url] [![NPM downloads][npm-dl-img]][npm-dl-url] diff --git a/app.js b/app.js index cd0dfd9..21d3888 100755 --- a/app.js +++ b/app.js @@ -54,6 +54,8 @@ const axios = require("axios"); const package_json = require('./package.json'); global.appVersion = package_json.version; +global.btcNodeSemver = "0.0.0"; + const baseActionsRouter = require('./routes/baseRouter.js'); const apiActionsRouter = require('./routes/apiRouter.js'); @@ -610,56 +612,27 @@ expressApp.use(function(req, res, next) { res.locals.pageErrors = []; + if (!req.session.userSettings) { + req.session.userSettings = JSON.parse(req.cookies["user-settings"] || "{}"); + } + + const userSettings = req.session.userSettings; + res.locals.userSettings = userSettings; + + // currency format type - if (!req.session.currencyFormatType) { - var cookieValue = req.cookies['user-setting-currencyFormatType']; - - if (cookieValue) { - req.session.currencyFormatType = cookieValue; - - } else { - req.session.currencyFormatType = ""; - } + if (!userSettings.currencyFormatType) { + userSettings.currencyFormatType = ""; } // theme - if (!req.session.uiTheme) { - var cookieValue = req.cookies['user-setting-uiTheme']; - - if (cookieValue) { - req.session.uiTheme = cookieValue; - - } else { - req.session.uiTheme = ""; - } + if (!userSettings.uiTheme) { + userSettings.uiTheme = config.defaultTheme; } - // blockPage.showTechSummary - if (!req.session.blockPageShowTechSummary) { - var cookieValue = req.cookies['user-setting-blockPageShowTechSummary']; - if (cookieValue) { - req.session.blockPageShowTechSummary = cookieValue; - - } else { - req.session.blockPageShowTechSummary = "true"; - } - } - - // homepage banner - if (!req.session.hideHomepageBanner) { - var cookieValue = req.cookies['user-setting-hideHomepageBanner']; - - if (cookieValue) { - req.session.hideHomepageBanner = cookieValue; - - } else { - req.session.hideHomepageBanner = "false"; - } - } - - res.locals.currencyFormatType = req.session.currencyFormatType; - global.currencyFormatType = req.session.currencyFormatType; + res.locals.currencyFormatType = userSettings.currencyFormatType; + global.currencyFormatType = userSettings.currencyFormatType; if (!["/", "/connect"].includes(req.originalUrl)) { @@ -727,7 +700,7 @@ expressApp.use(function(req, res, next) { // development error handler // will print stacktrace -if (expressApp.get('env') === 'development') { +if (expressApp.get("env") === "development" || expressApp.get("env") === "local") { expressApp.use(function(err, req, res, next) { if (err) { utils.logError("3289023yege", err); diff --git a/app/api/coreApi.js b/app/api/coreApi.js index 31ba99e..9df229e 100644 --- a/app/api/coreApi.js +++ b/app/api/coreApi.js @@ -277,9 +277,9 @@ function getIndexInfo() { return tryCacheThenRpcApi(miscCache, "getIndexInfo", 10 * ONE_SEC, rpcApi.getIndexInfo); } -function getMempoolTxids() { +function getAllMempoolTxids() { // no caching, that would be dumb - return rpcApi.getMempoolTxids(); + return rpcApi.getAllMempoolTxids(); } function getMiningInfo() { @@ -568,18 +568,16 @@ function getPeerSummary() { }); } -function getMempoolDetails(start, count) { +function getMempoolTxids(limit, offset) { return new Promise(function(resolve, reject) { - tryCacheThenRpcApi(miscCache, "getMempoolTxids", ONE_SEC, rpcApi.getMempoolTxids).then(function(resultTxids) { + tryCacheThenRpcApi(miscCache, "getMempoolTxids", ONE_SEC, rpcApi.getAllMempoolTxids).then(function(resultTxids) { var txids = []; - for (var i = start; (i < resultTxids.length && i < (start + count)); i++) { + for (var i = offset; (i < resultTxids.length && i < (offset + limit)); i++) { txids.push(resultTxids[i]); } - getRawTransactionsWithInputs(txids, config.site.txMaxInput).then(function(result) { - resolve({ txCount:resultTxids.length, transactions:result.transactions, txInputsByTransaction:result.txInputsByTransaction }); - }); + resolve({ txCount:resultTxids.length, txids:txids }); }).catch(function(err) { reject(err); @@ -1140,7 +1138,7 @@ module.exports = { getNetworkInfo: getNetworkInfo, getNetTotals: getNetTotals, getMempoolInfo: getMempoolInfo, - getMempoolTxids: getMempoolTxids, + getAllMempoolTxids: getAllMempoolTxids, getMiningInfo: getMiningInfo, getIndexInfo: getIndexInfo, getBlockByHeight: getBlockByHeight, @@ -1162,7 +1160,7 @@ module.exports = { logCacheSizes: logCacheSizes, getPeerSummary: getPeerSummary, getChainTxStats: getChainTxStats, - getMempoolDetails: getMempoolDetails, + getMempoolTxids: getMempoolTxids, getTxCountStats: getTxCountStats, getSmartFeeEstimates: getSmartFeeEstimates, getSmartFeeEstimate: getSmartFeeEstimate, diff --git a/app/api/rpcApi.js b/app/api/rpcApi.js index e4906cb..f0ab762 100644 --- a/app/api/rpcApi.js +++ b/app/api/rpcApi.js @@ -75,7 +75,7 @@ function getPeerInfo() { return getRpcData("getpeerinfo"); } -function getMempoolTxids() { +function getAllMempoolTxids() { return getRpcDataWithParams({method:"getrawmempool", parameters:[false]}); } @@ -553,7 +553,7 @@ module.exports = { getNetworkInfo: getNetworkInfo, getNetTotals: getNetTotals, getMempoolInfo: getMempoolInfo, - getMempoolTxids: getMempoolTxids, + getAllMempoolTxids: getAllMempoolTxids, getMiningInfo: getMiningInfo, getIndexInfo: getIndexInfo, getBlockByHeight: getBlockByHeight, diff --git a/app/coins.js b/app/coins.js index f1a03f4..5539c51 100644 --- a/app/coins.js +++ b/app/coins.js @@ -1,11 +1,9 @@ "use strict"; const btc = require("./coins/btc.js"); -const ltc = require("./coins/ltc.js"); module.exports = { "BTC": btc, - "LTC": ltc, - "coins":["BTC", "LTC"] + "coins":["BTC"] }; \ No newline at end of file diff --git a/app/coins/btc.js b/app/coins/btc.js index ff1c703..1a5184c 100644 --- a/app/coins/btc.js +++ b/app/coins/btc.js @@ -55,10 +55,21 @@ module.exports = { name:"Bitcoin", ticker:"BTC", logoUrlsByNetwork:{ + "main":"./img/logo/logo.svg", + "test":"./img/logo/logo-testnet.svg", + "regtest":"./img/logo/logo-regtest.svg", + "signet":"./img/logo/logo-signet.svg" + }, + coinIconUrlsByNetwork:{ "main":"./img/logo/btc.svg", - "test":"./img/logo/tbtc.svg", - "regtest":"./img/logo/tbtc.svg", - "signet":"./img/logo/signet.svg" + "test":"./img/logo/btc-testnet.svg", + "signet":"./img/logo/btc-signet.svg" + }, + coinColorsByNetwork: { + "main": "#F7931A", + "test": "#1daf00", + "signet": "#af008c", + "regtest": "#777" }, siteTitlesByNetwork: { "main":"Bitcoin Explorer", @@ -69,7 +80,11 @@ module.exports = { siteDescriptionHtml:"BTC Explorer is the genesis block.", + alertBodyHtml: "This is the first block in the Bitcoin blockchain, known as the Genesis Block. This block was mined by Bitcoin's creator Satoshi Nakamoto.
Read more here: bitcoin.it/wiki/Genesis_block.", referenceUrl: "https://en.bitcoin.it/wiki/Genesis_block" }, { @@ -401,7 +431,7 @@ module.exports = { txid: "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b", blockHeight: 0, summary: "The coinbase transaction of the Genesis Block.", - alertBodyHtml: "This transaction doesn't really exist! This is the coinbase transaction of the Bitcoin Genesis Block. For more background about this special-case transaction, you can read this brief discussion among some of the Bitcoin developers.", + alertBodyHtml: "This transaction doesn't really exist! This is the coinbase transaction of the Bitcoin Genesis Block. For more background about this special-case transaction, you can read this brief discussion among some of the Bitcoin developers.", referenceUrl: "https://github.com/bitcoin/bitcoin/issues/3303" }, { @@ -690,6 +720,7 @@ module.exports = { date: "2013-03-24", chain: "main", blockHeight: 227835, + blockHash: "00000000000001aa077d7aa84c532a4d69bdbff519609d1da0835261b7a74eb6", summary: "The last 'Version 1' block.", alertBodyHtml: "This block was the last 'Version 1' block to be mined. BIP-34 defined 'Version 2' blocks and the 'bip34' soft fork was officially locked in 96 blocks after this one, in block #227,931.", referenceUrl: "https://github.com/bitcoin/bips/blob/master/bip-0034.mediawiki" diff --git a/app/coins/ltc.js b/app/coins/ltc.js deleted file mode 100644 index 7144b88..0000000 --- a/app/coins/ltc.js +++ /dev/null @@ -1,153 +0,0 @@ -const Decimal = require("decimal.js"); -const Decimal8 = Decimal.clone({ precision:8, rounding:8 }); - -const currencyUnits = [ - { - type:"native", - name:"LTC", - multiplier:1, - default:true, - values:["", "ltc", "LTC"], - decimalPlaces:8 - }, - { - type:"native", - name:"lite", - multiplier:1000, - values:["lite"], - decimalPlaces:5 - }, - { - type:"native", - name:"photon", - multiplier:1000000, - values:["photon"], - decimalPlaces:2 - }, - { - type:"native", - name:"litoshi", - multiplier:100000000, - values:["litoshi", "lit"], - decimalPlaces:0 - }, - { - type:"exchanged", - name:"USD", - multiplier:"usd", - values:["usd"], - decimalPlaces:2, - symbol:"$" - }, -]; - -module.exports = { - name:"Litecoin", - ticker:"LTC", - logoUrl:"/img/logo/ltc.svg", - siteTitle:"Litecoin Explorer", - nodeTitle:"Litecoin Full Node", - nodeUrl:"https://litecoin.org/", - demoSiteUrl: "https://ltc.chaintools.io", - miningPoolsConfigUrls:[ - "https://raw.githubusercontent.com/hashstream/pools/master/pools.json", - ], - maxBlockWeight: 4000000, - targetBlockTimeSeconds: 150, - currencyUnits:currencyUnits, - currencyUnitsByName:{"LTC":currencyUnits[0], "lite":currencyUnits[1], "photon":currencyUnits[2], "litoshi":currencyUnits[3]}, - baseCurrencyUnit:currencyUnits[3], - defaultCurrencyUnit:currencyUnits[0], - feeSatoshiPerByteBucketMaxima: [5, 10, 25, 50, 100, 150, 200, 250], - genesisBlockHash: "12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2", - genesisCoinbaseTransactionId: "97ddfbbae6be97fd6cdf3e7ca13232a3afff2353e29badfab7f73011edd4ced9", - genesisCoinbaseTransaction: { - "txid":"97ddfbbae6be97fd6cdf3e7ca13232a3afff2353e29badfab7f73011edd4ced9", - "hash":"97ddfbbae6be97fd6cdf3e7ca13232a3afff2353e29badfab7f73011edd4ced9", - "blockhash":"12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2", - "version":1, - "locktime":0, - "size":199, - "vsize":199, - "time":1317972665, - "blocktime":1317972665, - "vin":[ - { - "prev_out":{ - "hash":"0000000000000000000000000000000000000000000000000000000000000000", - "n":4294967295 - }, - "coinbase":"04ffff001d0104404e592054696d65732030352f4f63742f32303131205374657665204a6f62732c204170706c65e280997320566973696f6e6172792c2044696573206174203536" - } - ], - "vout":[ - { - "value":"50.00000000", - "n":0, - "scriptPubKey":{ - "hex":"040184710fa689ad5023690c80f3a49c8f13f8d45b8c857fbcbc8bc4a8e4d3eb4b10f4d4604fa08dce601aaf0f470216fe1b51850b4acf21b179c45070ac7b03a9 OP_CHECKSIG", - "type":"pubkey", - "reqSigs":1, - "addresses":[ - "Ler4HNAEfwYhBmGXcFP2Po1NpRUEiK8km2" - ] - } - } - ] - }, - historicalData: [ - { - type: "blockheight", - date: "2011-10-07", - blockHeight: 0, - blockHash: "12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2", - summary: "The Litecoin genesis block.", - alertBodyHtml: "This is the first block in the Litecoin blockchain.", - referenceUrl: "https://medium.com/@SatoshiLite/satoshilite-1e2dad89a017" - }, - { - type: "tx", - date: "2017-05-10", - txid: "ce385e55fb2a73fa438426145b074f08314812fa3396472dc572b3079e26e0f9", - summary: "First SegWit transaction.", - referenceUrl: "https://twitter.com/satoshilite/status/862345830082138113" - }, - { - type: "blockheight", - date: "2011-10-13", - blockHeight: 448, - blockHash: "6995d69ce2cb7768ef27f55e02dd1772d452deb44e1716bb1dd9c29409edf252", - summary: "The first block containing a (non-coinbase) transaction.", - referenceUrl: "" - }, - { - type: "link", - date: "2016-05-02", - url: "/rpc-browser?method=verifymessage&args%5B0%5D=Ler4HNAEfwYhBmGXcFP2Po1NpRUEiK8km2&args%5B1%5D=G7W57QZ1jevRhBp7SajpcUgJiGs998R4AdBjcIgJq5BOECh4jHNatZKCFLQeo9PvZLf60ykR32XjT4IrUi9PtCU%3D&args%5B2%5D=I%2C+Charlie+Lee%2C+am+the+creator+of+Litecoin&execute=Execute", - summary: "Litecoin's Proof-of-Creator", - referenceUrl: "https://medium.com/@SatoshiLite/satoshilite-1e2dad89a017" - } - ], - exchangeRateData:{ - jsonUrl:"https://api.coinmarketcap.com/v1/ticker/Litecoin/", - exchangedCurrencyName:"usd", - responseBodySelectorFunction:function(responseBody) { - if (responseBody[0] && responseBody[0].price_usd) { - return {"usd":responseBody[0].price_usd}; - } - - return null; - } - }, - blockRewardFunction:function(blockHeight) { - var eras = [ new Decimal8(50) ]; - for (var i = 1; i < 34; i++) { - var previous = eras[i - 1]; - eras.push(new Decimal8(previous).dividedBy(2)); - } - - var index = Math.floor(blockHeight / 840000); - - return eras[index]; - } -}; \ No newline at end of file diff --git a/app/config.js b/app/config.js index e83f77d..2d13d06 100644 --- a/app/config.js +++ b/app/config.js @@ -19,6 +19,7 @@ const coins = require("./coins.js"); const credentials = require("./credentials.js"); const currentCoin = process.env.BTCEXP_COIN || "BTC"; +const defaultTheme = process.env.BTCEXP_UI_THEME || "dark"; const rpcCred = credentials.rpc; @@ -84,6 +85,7 @@ module.exports = { baseUrl: baseUrl, coin: currentCoin, + defaultTheme: defaultTheme, cookieSecret: cookieSecret, @@ -199,7 +201,6 @@ module.exports = { {name: "Bitcoin Explorer", url:"https://explorer.btc21.org", imgUrl:"./img/logo/btc.svg"}, {name: "Testnet Explorer", url:"https://testnet.btc21.org", imgUrl:"./img/logo/tbtc.svg"}, {name: "Signet Explorer", url:"https://signet.btc21.org", imgUrl:"./img/logo/signet.svg"}, - {name: "LND Admin", url:"https://lnd-admin.btc21.org", imgUrl:"./img/logo/lnd-admin.png"}, //{name: "Litecoin Explorer", url:"https://ltc.chaintools.io", imgUrl:"/img/logo/ltc.svg"}, //{name: "Lightning Explorer", url:"https://lightning.chaintools.io", imgUrl:"/img/logo/lightning.svg"}, ] @@ -220,12 +221,12 @@ module.exports = { /* 3 */ {name:"Transaction Stats", url:"./tx-stats", desc:"See graphs of total transaction volume and transaction rates.", fontawesome:"fas fa-chart-bar"}, /* 4 */ {name:"Mempool Summary", url:"./mempool-summary", desc:"Detailed summary of the current mempool for this node.", fontawesome:"fas fa-receipt"}, - /* 5 */ {name:"Browse Pending Tx", url:"./unconfirmed-tx", desc:"Browse unconfirmed/pending transactions.", fontawesome:"fas fa-unlock"}, + /* 5 */ {name:"Browse Mempool", url:"./mempool-tx", desc:"Browse unconfirmed/pending transactions.", fontawesome:"fas fa-unlock"}, /* 6 */ {name:"RPC Browser", url:"./rpc-browser", desc:"Browse the RPC functionality of this node. See docs and execute commands.", fontawesome:"fas fa-book"}, /* 7 */ {name:"RPC Terminal", url:"./rpc-terminal", desc:"Directly execute RPCs against this node.", fontawesome:"fas fa-terminal"}, - /* 8 */ {name:(coins[currentCoin].name + " Fun"), url:"./fun", desc:"See fun/interesting historical blockchain data.", fontawesome:"fas fa-certificate"}, + /* 8 */ {name:(coins[currentCoin].name + " Fun"), url:"./fun", desc:"See fun/interesting historical blockchain data.", fontawesome:"fas fa-flag"}, /* 9 */ {name:"Mining Summary", url:"./mining-summary", desc:"Summary of recent data about miners.", fontawesome:"fas fa-chart-pie"}, /* 10 */ {name:"Block Stats", url:"./block-stats", desc:"Summary data for blocks in configurable range.", fontawesome:"fas fa-layer-group"}, diff --git a/app/utils.js b/app/utils.js index 7333aa1..fac23c0 100644 --- a/app/utils.js +++ b/app/utils.js @@ -285,11 +285,11 @@ function formatValueInActiveCurrency(amount) { } -function formatValueInGold(amount) { +function formatValueInGoldOunces(amount) { var currencyFormat = global.currencyFormatType.toLowerCase() || "usd"; if (global.exchangeRates[currencyFormat] && global.goldExchangeRates[currencyFormat]) { - return formatExchangedCurrency(amount, "au"); + return formatExchangedCurrency(amount, "au", false); } else { return formatExchangedCurrency(amount, "usd"); @@ -339,17 +339,17 @@ function satoshisPerUnitOfActiveCurrency() { } } -function formatExchangedCurrency(amount, exchangeType) { +function formatExchangedCurrency(amount, exchangeType, includeUnit=true) { if (global.exchangeRates != null && global.exchangeRates[exchangeType.toLowerCase()] != null) { var dec = new Decimal(amount); dec = dec.times(global.exchangeRates[exchangeType.toLowerCase()]); var exchangedAmt = parseFloat(Math.round(dec * 100) / 100).toFixed(2); if (exchangeType == "eur") { - return "€" + addThousandsSeparators(exchangedAmt); + return (includeUnit ? "€" : "") + addThousandsSeparators(exchangedAmt); } else { - return "$" + addThousandsSeparators(exchangedAmt); + return (includeUnit ? "$" : "") + addThousandsSeparators(exchangedAmt); } } else if (exchangeType == "au") { @@ -358,7 +358,7 @@ function formatExchangedCurrency(amount, exchangeType) { dec = dec.times(global.exchangeRates.usd).dividedBy(global.goldExchangeRates.usd); var exchangedAmt = parseFloat(Math.round(dec * 100) / 100).toFixed(2); - return addThousandsSeparators(exchangedAmt) + "oz"; + return addThousandsSeparators(exchangedAmt) + (includeUnit ? "oz" : ""); } } @@ -384,6 +384,30 @@ function ellipsize(str, length, ending="…") { } } +function ellipsizeMiddle(str, length, replacement="…", extraCharAtStart=true) { + if (str.length <= length) { + return str; + + } else { + //"abcde"(3)->"a…e" + //"abcdef"(3)->"a…f" + //"abcdef"(5)->"ab…ef" + //"abcdef"(4)->"ab…f" + if ((length - replacement.length) % 2 == 0) { + return str.substring(0, (length - replacement.length) / 2) + replacement + str.slice(-(length - replacement.length) / 2); + + } else { + if (extraCharAtStart) { + return str.substring(0, Math.ceil((length - replacement.length) / 2)) + replacement + str.slice(-Math.floor((length - replacement.length) / 2)); + + } else { + return str.substring(0, Math.floor((length - replacement.length) / 2)) + replacement + str.slice(-Math.ceil((length - replacement.length) / 2)); + } + + } + } +} + function shortenTimeDiff(str) { str = str.replace(" years", "y"); str = str.replace(" year", "y"); @@ -525,6 +549,23 @@ function getBlockTotalFeesFromCoinbaseTxAndBlockHeight(coinbaseTx, blockHeight) } } +function estimatedSupply(height) { + var checkpointData = coinConfig.coinSupplyCheckpointsByNetwork[global.activeBlockchain]; + var checkpointHeight = checkpointData[0]; + var checkpointSupply = checkpointData[1]; + + var supply = checkpointSupply; + + var i = checkpointHeight; + while (i < height) { + supply = supply.plus(new Decimal(coinConfig.blockRewardFunction(i, global.activeBlockchain))); + + i++; + } + + return supply; +} + function refreshExchangeRates() { if (!config.queryExchangeRates || config.privacyMode) { return; @@ -882,6 +923,17 @@ const dtMillis = (startTimeNanos) => { return parseInt(dtNanos) * 1e-6; }; +function objectProperties(obj) { + const props = []; + for (const prop in obj) { + if (Object.prototype.hasOwnProperty.call(obj, prop)) { + props.push(prop); + } + } + + return props; +} + module.exports = { reflectPromise: reflectPromise, redirectToConnectPageIfNeeded: redirectToConnectPageIfNeeded, @@ -894,7 +946,7 @@ module.exports = { formatCurrencyAmountWithForcedDecimalPlaces: formatCurrencyAmountWithForcedDecimalPlaces, formatExchangedCurrency: formatExchangedCurrency, formatValueInActiveCurrency: formatValueInActiveCurrency, - formatValueInGold: formatValueInGold, + formatValueInGoldOunces: formatValueInGoldOunces, satoshisPerUnitOfActiveCurrency: satoshisPerUnitOfActiveCurrency, addThousandsSeparators: addThousandsSeparators, formatCurrencyAmountInSmallestUnits: formatCurrencyAmountInSmallestUnits, @@ -903,6 +955,7 @@ module.exports = { logMemoryUsage: logMemoryUsage, getMinerFromCoinbaseTx: getMinerFromCoinbaseTx, getBlockTotalFeesFromCoinbaseTxAndBlockHeight: getBlockTotalFeesFromCoinbaseTxAndBlockHeight, + estimatedSupply: estimatedSupply, refreshExchangeRates: refreshExchangeRates, parseExponentStringDouble: parseExponentStringDouble, formatLargeNumber: formatLargeNumber, @@ -914,6 +967,7 @@ module.exports = { logError: logError, buildQrCodeUrls: buildQrCodeUrls, ellipsize: ellipsize, + ellipsizeMiddle: ellipsizeMiddle, shortenTimeDiff: shortenTimeDiff, outputTypeAbbreviation: outputTypeAbbreviation, outputTypeName: outputTypeName, @@ -924,5 +978,6 @@ module.exports = { getCrawlerFromUserAgentString: getCrawlerFromUserAgentString, timePromise: timePromise, startTimeNanos: startTimeNanos, - dtMillis: dtMillis + dtMillis: dtMillis, + objectProperties: objectProperties }; diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 24f84a3..9224355 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -15,6 +15,7 @@ "bitcoinjs-lib": "^5.2.0", "bluebird": "^3.7.2", "body-parser": "^1.19.0", + "bootstrap": "5.0.0-beta3", "cookie-parser": "^1.4.5", "crypto-js": "^4.0.0", "csurf": "^1.11.0", @@ -22,7 +23,6 @@ "decimal.js": "^10.2.1", "dotenv": "^8.2.0", "electrum-client": "github:janoside/electrum-client", - "event-loop-stats": "^1.3.0", "express": "^4.17.1", "express-async-handler": "^1.1.4", "express-session": "^1.17.1", @@ -30,26 +30,38 @@ "lru-cache": "6.0.0", "markdown-it": "^12.0.4", "md5": "^2.3.0", - "meow": "^5.0.0", + "meow": "^9.0.0", "moment": "^2.29.1", "moment-duration-format": "^2.3.2", "morgan": "^1.10.0", "on-headers": "1.0.2", "pidusage": "2.0.21", - "pug": "^3.0.0", + "pug": "^3.0.2", "qrcode": "^1.4.4", "redis": "^3.0.2", "request": "^2.88.2", - "semver": "^7.3.4", + "semver": "^7.3.5", "serve-favicon": "^2.5.0", - "simple-git": "^2.34.2" + "simple-git": "^2.37.0" }, "bin": { "btc-rpc-explorer": "bin/cli.js" }, "devDependencies": { "less": "3.9.0", + "node-sass": "^5.0.0", "npm-run-all": "^4.1.5" + }, + "optionalDependencies": { + "event-loop-stats": "^1.3.0" + } + }, + "node_modules/@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==", + "dependencies": { + "@babel/highlight": "^7.12.13" } }, "node_modules/@babel/helper-validator-identifier": { @@ -57,10 +69,20 @@ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" }, + "node_modules/@babel/highlight": { + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", + "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, "node_modules/@babel/parser": { - "version": "7.12.15", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.15.tgz", - "integrity": "sha512-AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA==", + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.12.tgz", + "integrity": "sha512-4T7Pb244rxH24yR116LAuJ+adxXXnHhZaLJjegJVKSdoNCe4x1eDBaud5YIcQFcqzsaD5BHvJw5BQ0AZapdCRw==", "bin": { "parser": "bin/babel-parser.js" }, @@ -69,9 +91,9 @@ } }, "node_modules/@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", + "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", "dependencies": { "@babel/helper-validator-identifier": "^7.12.11", "lodash": "^4.17.19", @@ -91,11 +113,21 @@ "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==" }, + "node_modules/@types/minimist": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", + "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==" + }, "node_modules/@types/node": { "version": "10.12.18", "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz", "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==" }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==" + }, "node_modules/@uphold/request-logger": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@uphold/request-logger/-/request-logger-2.0.0.tgz", @@ -105,11 +137,14 @@ }, "engines": { "node": ">=4" - }, - "peerDependencies": { - "request": ">=2.27.0" } }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, "node_modules/accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -142,10 +177,15 @@ "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true, + "engines": { + "node": ">=0.4.2" } }, "node_modules/ansi-regex": { @@ -167,6 +207,52 @@ "node": ">=4" } }, + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "node_modules/are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "node_modules/are-we-there-yet/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/are-we-there-yet/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -176,6 +262,7 @@ "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, "engines": { "node": ">=0.10.0" } @@ -224,6 +311,15 @@ "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==" }, + "node_modules/async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -278,21 +374,7 @@ "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, "node_modules/basic-auth": { "version": "2.0.1", @@ -466,6 +548,11 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, + "node_modules/bootstrap": { + "version": "5.0.0-beta3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.0.0-beta3.tgz", + "integrity": "sha512-0urccjfIOzhrb9qJysN8XW/DRw6rg3zH7qLeKIp4Zyl8+Ens4JWB0NC0cB5AhnSFPd2tftRggjwCMxablo6Tpg==" + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -503,20 +590,6 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -554,17 +627,13 @@ "node >=0.10.0" ], "dependencies": { - "dtrace-provider": "~0.8", - "moment": "^2.19.3", - "mv": "~2", - "safe-json-stringify": "~1" + "moment": "^2.19.3" }, "bin": { "bunyan": "bin/bunyan" }, "optionalDependencies": { "dtrace-provider": "~0.8", - "moment": "^2.19.3", "mv": "~2", "safe-json-stringify": "~1" } @@ -584,30 +653,27 @@ "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", "dependencies": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/caseless": { @@ -619,7 +685,6 @@ "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, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -645,6 +710,15 @@ "node": "*" } }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -673,6 +747,15 @@ "node": ">=0.8" } }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -703,6 +786,12 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "devOptional": true }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, "node_modules/constantinople": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz", @@ -870,6 +959,7 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, "dependencies": { "array-find-index": "^1.0.1" }, @@ -897,11 +987,6 @@ }, "engines": { "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } } }, "node_modules/debugnyan": { @@ -982,6 +1067,12 @@ "node": ">=0.4.0" } }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, "node_modules/denque": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz", @@ -1025,7 +1116,6 @@ "version": "0.8.8", "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.8.tgz", "integrity": "sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==", - "hasInstallScript": true, "optional": true, "dependencies": { "nan": "^2.14.0" @@ -1049,9 +1139,7 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "node_modules/electrum-client": { - "version": "1.1.7", "resolved": "git+ssh://git@github.com/janoside/electrum-client.git#d98e929028d2b05c88a41fe37652737912bead79", - "license": "MIT", "engines": { "node": ">=6" } @@ -1086,9 +1174,15 @@ "node_modules/entities": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" } }, "node_modules/errno": { @@ -1135,9 +1229,6 @@ }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/es-to-primitive": { @@ -1152,9 +1243,6 @@ }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/escape-html": { @@ -1166,7 +1254,6 @@ "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, "engines": { "node": ">=0.8.0" } @@ -1183,7 +1270,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/event-loop-stats/-/event-loop-stats-1.3.0.tgz", "integrity": "sha512-CRto3Zyg3YE3AaBM/hPc7mJrbSOhy32P1wqIsZpp4rPHrj5qQavLUJKf+8fFq13ahC24T+RcX3f3fK13ElYZNw==", - "hasInstallScript": true, + "optional": true, "dependencies": { "nan": "^2.14.0" }, @@ -1352,33 +1439,31 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dependencies": { - "locate-path": "^2.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" + } + }, + "node_modules/find-up/node_modules/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==", + "engines": { + "node": ">=8" } }, "node_modules/follow-redirects": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz", "integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], "engines": { "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } } }, "node_modules/forever-agent": { @@ -1418,11 +1503,104 @@ "node": ">= 0.6" } }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, + "node_modules/gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "dependencies": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "node_modules/gauge/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gauge/node_modules/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, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gauge/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gauge/node_modules/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, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "dependencies": { + "globule": "^1.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -1439,9 +1617,15 @@ "function-bind": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" } }, "node_modules/getpass": { @@ -1468,10 +1652,45 @@ "node": "*" } }, + "node_modules/globule": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz", + "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==", + "dev": true, + "dependencies": { + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/globule/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/graceful-fs": { "version": "4.2.6", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true }, "node_modules/har-schema": { "version": "2.0.0", @@ -1485,7 +1704,6 @@ "version": "5.1.5", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", "dependencies": { "ajv": "^6.12.3", "har-schema": "^2.0.0" @@ -1494,6 +1712,14 @@ "node": ">=6" } }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "engines": { + "node": ">=6" + } + }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -1505,11 +1731,31 @@ "node": ">= 0.4.0" } }, + "node_modules/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, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, "engines": { "node": ">=4" } @@ -1520,11 +1766,14 @@ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, "node_modules/hash-base": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", @@ -1541,21 +1790,7 @@ "node_modules/hash-base/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "node_modules/hash.js": { "version": "1.1.7", @@ -1629,21 +1864,7 @@ "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, "node_modules/image-size": { "version": "0.5.5", @@ -1659,18 +1880,18 @@ } }, "node_modules/indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "optional": true, + "devOptional": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -1706,9 +1927,6 @@ "dev": true, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-core-module": { @@ -1717,9 +1935,6 @@ "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", "dependencies": { "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-date-object": { @@ -1729,9 +1944,6 @@ "dev": true, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-expression": { @@ -1743,6 +1955,18 @@ "object-assign": "^4.1.1" } }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", @@ -1758,9 +1982,6 @@ "dev": true, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-plain-obj": { @@ -1786,9 +2007,6 @@ }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-symbol": { @@ -1801,9 +2019,6 @@ }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-typedarray": { @@ -1811,6 +2026,12 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, "node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", @@ -1827,11 +2048,22 @@ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, + "node_modules/js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", + "dev": true + }, "node_modules/js-stringify": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=" }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, "node_modules/jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", @@ -1848,7 +2080,13 @@ "node_modules/json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, "node_modules/json-schema": { "version": "0.2.3", @@ -1935,6 +2173,14 @@ "markdown-it": "bin/markdown-it.js" } }, + "node_modules/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==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/less": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/less/-/less-3.9.0.tgz", @@ -1942,14 +2188,10 @@ "dev": true, "dependencies": { "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" + "request": "^2.83.0" }, "bin": { "lessc": "bin/lessc" @@ -1959,15 +2201,16 @@ }, "optionalDependencies": { "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" } }, + "node_modules/lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + }, "node_modules/linkify-it": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.2.tgz", @@ -1980,6 +2223,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, "dependencies": { "graceful-fs": "^4.1.2", "parse-json": "^4.0.0", @@ -1991,15 +2235,14 @@ } }, "node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/lodash": { @@ -2011,6 +2254,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, "dependencies": { "currently-unhandled": "^0.4.1", "signal-exit": "^3.0.0" @@ -2031,11 +2275,11 @@ } }, "node_modules/map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.0.tgz", + "integrity": "sha512-NAq0fCmZYGz9UFEQyndp7sisrow4GroyGeKluyKC/chuITZsPyOyC1UJZPJlVFImhXdROIP5xqouRLThT3BbpQ==", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/markdown-it": { @@ -2096,22 +2340,59 @@ } }, "node_modules/meow": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", - "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", "dependencies": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0", - "yargs-parser": "^10.0.0" + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" }, "engines": { - "node": ">=6" + "node": ">=10" + } + }, + "node_modules/meow/node_modules/hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/normalize-package-data": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", + "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", + "dependencies": { + "hosted-git-info": "^4.0.1", + "resolve": "^1.20.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" } }, "node_modules/merge-descriptors": { @@ -2162,6 +2443,14 @@ "node": ">= 0.6" } }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "engines": { + "node": ">=4" + } + }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -2188,25 +2477,51 @@ "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "optional": true + "devOptional": true }, "node_modules/minimist-options": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", - "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", "dependencies": { "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" }, "engines": { - "node": ">= 4" + "node": ">= 6" + } + }, + "node_modules/minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" } }, "node_modules/mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "optional": true, + "devOptional": true, "dependencies": { "minimist": "^1.2.5" }, @@ -2310,6 +2625,476 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, + "node_modules/node-gyp": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", + "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.3", + "nopt": "^5.0.0", + "npmlog": "^4.1.2", + "request": "^2.88.2", + "rimraf": "^3.0.2", + "semver": "^7.3.2", + "tar": "^6.0.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/node-gyp/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-gyp/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/node-sass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-5.0.0.tgz", + "integrity": "sha512-opNgmlu83ZCF792U281Ry7tak9IbVC+AKnXGovcQ8LG8wFaJv6cLnRlc6DIHlmNxWEexB5bZxi9SZ9JyUuOYjw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^7.0.3", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "lodash": "^4.17.15", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.13.2", + "node-gyp": "^7.1.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "2.2.5", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + }, + "bin": { + "node-sass": "bin/node-sass" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-sass/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-sass/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-sass/node_modules/camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-sass/node_modules/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, + "dependencies": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-sass/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-sass/node_modules/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, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/node-sass/node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-sass/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-sass/node_modules/indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-sass/node_modules/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, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-sass/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-sass/node_modules/meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-sass/node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-sass/node_modules/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, + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-sass/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/node-sass/node_modules/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, + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-sass/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-sass/node_modules/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, + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-sass/node_modules/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, + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-sass/node_modules/redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "dependencies": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-sass/node_modules/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, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/node-sass/node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/node-sass/node_modules/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, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-sass/node_modules/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, + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-sass/node_modules/strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "dependencies": { + "get-stdin": "^4.0.1" + }, + "bin": { + "strip-indent": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-sass/node_modules/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, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/node-sass/node_modules/trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/node-sass/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -2354,6 +3139,27 @@ "node": ">= 4" } }, + "node_modules/npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "dependencies": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", @@ -2374,10 +3180,7 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "dev": true }, "node_modules/object-keys": { "version": "1.1.1", @@ -2401,9 +3204,6 @@ }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/on-finished": { @@ -2429,45 +3229,46 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "optional": true, + "devOptional": true, "dependencies": { "wrappy": "1" } }, "node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dependencies": { - "p-try": "^1.0.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dependencies": { - "p-limit": "^1.1.0" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" @@ -2496,7 +3297,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "optional": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -2524,6 +3325,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, "dependencies": { "pify": "^3.0.0" }, @@ -2562,30 +3364,38 @@ "node_modules/pidusage/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "node_modules/pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, "engines": { "node": ">=4" } }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/pngjs": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", @@ -2594,6 +3404,12 @@ "node": ">=4.0.0" } }, + "node_modules/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 + }, "node_modules/promise": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", @@ -2627,17 +3443,17 @@ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" }, "node_modules/pug": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.0.tgz", - "integrity": "sha512-inmsJyFBSHZaiGLaguoFgJGViX0If6AcfcElimvwj9perqjDpUpw79UIEDZbWFmoGVidh08aoE+e8tVkjVJPCw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.2.tgz", + "integrity": "sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==", "dependencies": { - "pug-code-gen": "^3.0.0", + "pug-code-gen": "^3.0.2", "pug-filters": "^4.0.0", - "pug-lexer": "^5.0.0", + "pug-lexer": "^5.0.1", "pug-linker": "^4.0.0", "pug-load": "^3.0.0", "pug-parser": "^6.0.0", - "pug-runtime": "^3.0.0", + "pug-runtime": "^3.0.1", "pug-strip-comments": "^2.0.0" } }, @@ -2652,9 +3468,9 @@ } }, "node_modules/pug-code-gen": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.1.tgz", - "integrity": "sha512-xJIGvmXTQlkJllq6hqxxjRWcay2F9CU69TuAuiVZgHK0afOhG5txrQOcZyaPHBvSWCU/QQOqEp5XCH94rRZpBQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.2.tgz", + "integrity": "sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==", "dependencies": { "constantinople": "^4.0.1", "doctypes": "^1.1.0", @@ -2684,9 +3500,9 @@ } }, "node_modules/pug-lexer": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.0.tgz", - "integrity": "sha512-52xMk8nNpuyQ/M2wjZBN5gXQLIylaGkAoTk5Y1pBhVqaopaoj8Z0iVzpbFZAqitL4RHNVDZRnJDsqEYe99Ti0A==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz", + "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==", "dependencies": { "character-parser": "^2.2.0", "is-expression": "^4.0.0", @@ -2721,9 +3537,9 @@ } }, "node_modules/pug-runtime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.0.tgz", - "integrity": "sha512-GoEPcmQNnaTsePEdVA05bDpY+Op5VLHKayg08AQiqJBWU/yIaywEYv7TetC5dEQS3fzBBoyb2InDcZEg3mPTIA==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.1.tgz", + "integrity": "sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==" }, "node_modules/pug-strip-comments": { "version": "2.0.0", @@ -2783,11 +3599,11 @@ } }, "node_modules/quick-lru": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/random-bytes": { @@ -2832,6 +3648,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, "dependencies": { "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", @@ -2842,15 +3659,60 @@ } }, "node_modules/read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" }, "engines": { - "node": ">=4" + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "engines": { + "node": ">=8" } }, "node_modules/readable-stream": { @@ -2867,15 +3729,15 @@ } }, "node_modules/redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dependencies": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/redis": { @@ -2890,10 +3752,6 @@ }, "engines": { "node": ">=6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-redis" } }, "node_modules/redis-commands": { @@ -2920,11 +3778,22 @@ "node": ">=4" } }, + "node_modules/repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "dependencies": { + "is-finite": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -2979,9 +3848,6 @@ "dependencies": { "is-core-module": "^2.1.0", "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/rimraf": { @@ -3026,10 +3892,67 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "node_modules/sass-graph": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", + "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", + "dev": true, + "dependencies": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^13.3.2" + }, + "bin": { + "sassgraph": "bin/sassgraph" + } + }, + "node_modules/sass-graph/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "dependencies": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + } + }, + "node_modules/scss-tokenizer/node_modules/source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -3172,16 +4095,28 @@ "node_modules/signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true }, "node_modules/simple-git": { - "version": "2.34.2", - "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-2.34.2.tgz", - "integrity": "sha512-/EX4FtcpAj5L/Bs5zgaBGYDrnkrKflFVNppNLH9VXpIjZBLHx5cZ6/mOYJCoKXKlLRuk3iTvzrIsHo7v42zWHg==", + "version": "2.37.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-2.37.0.tgz", + "integrity": "sha512-ZK6qRnP+Xa2v23UEZDNHUfzswsuNCDHOQpWZRkpqNaXn7V5wVBBx3zRJLji3pROJGzrzA7mXwY7preL5EKuAaQ==", "dependencies": { "@kwsites/file-exists": "^1.1.1", "@kwsites/promise-deferred": "^1.1.1", - "debug": "^4.3.1" + "debug": "^4.3.2" + } + }, + "node_modules/simple-git/node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" } }, "node_modules/source-map": { @@ -3242,6 +4177,11 @@ "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, "engines": { "node": ">=0.10.0" } @@ -3259,6 +4199,45 @@ "node": ">= 0.6" } }, + "node_modules/stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.1" + } + }, + "node_modules/stdout-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/stdout-stream/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/stdout-stream/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -3270,21 +4249,7 @@ "node_modules/string_decoder/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "node_modules/string-width": { "version": "3.1.0", @@ -3311,9 +4276,6 @@ }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimend": { @@ -3324,9 +4286,6 @@ "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { @@ -3337,9 +4296,6 @@ "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/strip-ansi": { @@ -3357,23 +4313,26 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true, "engines": { "node": ">=4" } }, "node_modules/strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dependencies": { + "min-indent": "^1.0.0" + }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/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, "dependencies": { "has-flag": "^3.0.0" }, @@ -3381,11 +4340,39 @@ "node": ">=4" } }, + "node_modules/tar": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", + "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", + "dev": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/tiny-secp256k1": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/tiny-secp256k1/-/tiny-secp256k1-1.1.6.tgz", "integrity": "sha512-FmqJZGduTyvsr2cF3375fqGHUovSwDi/QytexX1Se4BPuPZpTE5Ftp5fg+EFSuEf3lhZqgCRjEG3ydUQ/aNiwA==", - "hasInstallScript": true, "dependencies": { "bindings": "^1.3.0", "bn.js": "^4.11.8", @@ -3431,11 +4418,40 @@ } }, "node_modules/trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz", + "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==", "engines": { - "node": ">=4" + "node": ">=8" + } + }, + "node_modules/true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "dev": true, + "dependencies": { + "glob": "^7.1.2" + } + }, + "node_modules/true-case-path/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/tsscmp": { @@ -3462,6 +4478,14 @@ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" }, + "node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "engines": { + "node": ">=10" + } + }, "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -3595,6 +4619,49 @@ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, + "node_modules/wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/wide-align/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/wide-align/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/wide-align/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/wif": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/wif/-/wif-2.0.6.tgz", @@ -3634,7 +4701,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "optional": true + "devOptional": true }, "node_modules/y18n": { "version": "4.0.1", @@ -3664,11 +4731,11 @@ } }, "node_modules/yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", - "dependencies": { - "camelcase": "^4.1.0" + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "engines": { + "node": ">=10" } }, "node_modules/yargs/node_modules/camelcase": { @@ -3711,9 +4778,6 @@ }, "engines": { "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/yargs/node_modules/p-locate": { @@ -3746,20 +4810,38 @@ } }, "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==", + "requires": { + "@babel/highlight": "^7.12.13" + } + }, "@babel/helper-validator-identifier": { "version": "7.12.11", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" }, + "@babel/highlight": { + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", + "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, "@babel/parser": { - "version": "7.12.15", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.15.tgz", - "integrity": "sha512-AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA==" + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.12.tgz", + "integrity": "sha512-4T7Pb244rxH24yR116LAuJ+adxXXnHhZaLJjegJVKSdoNCe4x1eDBaud5YIcQFcqzsaD5BHvJw5BQ0AZapdCRw==" }, "@babel/types": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", - "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", + "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", "requires": { "@babel/helper-validator-identifier": "^7.12.11", "lodash": "^4.17.19", @@ -3779,11 +4861,21 @@ "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==" }, + "@types/minimist": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", + "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==" + }, "@types/node": { "version": "10.12.18", "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz", "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==" }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==" + }, "@uphold/request-logger": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@uphold/request-logger/-/request-logger-2.0.0.tgz", @@ -3792,6 +4884,12 @@ "uuid": "^3.0.1" } }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -3817,6 +4915,12 @@ "uri-js": "^4.2.2" } }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, "ansi-regex": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", @@ -3830,6 +4934,54 @@ "color-convert": "^1.9.0" } }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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" + } + }, + "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" + } + } + } + }, "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -3838,7 +4990,8 @@ "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=" + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true }, "array-flatten": { "version": "1.1.1", @@ -3878,6 +5031,12 @@ "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==" }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -4080,6 +5239,11 @@ } } }, + "bootstrap": { + "version": "5.0.0-beta3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.0.0-beta3.tgz", + "integrity": "sha512-0urccjfIOzhrb9qJysN8XW/DRw6rg3zH7qLeKIp4Zyl8+Ens4JWB0NC0cB5AhnSFPd2tftRggjwCMxablo6Tpg==" + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -4172,18 +5336,18 @@ } }, "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" }, "camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", "requires": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" } }, "caseless": { @@ -4195,7 +5359,6 @@ "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", @@ -4215,6 +5378,12 @@ "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=" }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -4240,6 +5409,12 @@ "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", "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 + }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -4267,6 +5442,12 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "devOptional": true }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, "constantinople": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz", @@ -4408,6 +5589,7 @@ "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" } @@ -4492,6 +5674,12 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, "denque": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz", @@ -4578,6 +5766,12 @@ "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true + }, "errno": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", @@ -4637,8 +5831,7 @@ "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 + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "etag": { "version": "1.8.1", @@ -4649,6 +5842,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/event-loop-stats/-/event-loop-stats-1.3.0.tgz", "integrity": "sha512-CRto3Zyg3YE3AaBM/hPc7mJrbSOhy32P1wqIsZpp4rPHrj5qQavLUJKf+8fFq13ahC24T+RcX3f3fK13ElYZNw==", + "optional": true, "requires": { "nan": "^2.14.0" } @@ -4805,11 +5999,19 @@ } }, "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "requires": { - "locate-path": "^2.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "dependencies": { + "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==" + } } }, "follow-redirects": { @@ -4842,11 +6044,88 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.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" + } + }, + "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" + } + }, + "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" + } + } + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "requires": { + "globule": "^1.0.0" + } + }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -4862,6 +6141,12 @@ "has-symbols": "^1.0.1" } }, + "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 + }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -4883,10 +6168,38 @@ "path-is-absolute": "^1.0.0" } }, + "globule": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz", + "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==", + "dev": true, + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "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" + } + } + } + }, "graceful-fs": { "version": "4.2.6", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true }, "har-schema": { "version": "2.0.0", @@ -4902,6 +6215,11 @@ "har-schema": "^2.0.0" } }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==" + }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -4910,17 +6228,39 @@ "function-bind": "^1.1.1" } }, + "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" + }, + "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 + } + } + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "has-symbols": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, "hash-base": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", @@ -5012,15 +6352,15 @@ "optional": true }, "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "optional": true, + "devOptional": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -5075,6 +6415,12 @@ "object-assign": "^4.1.1" } }, + "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": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", @@ -5119,6 +6465,12 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, "isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", @@ -5135,11 +6487,22 @@ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", + "dev": true + }, "js-stringify": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=" }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", @@ -5156,7 +6519,13 @@ "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, "json-schema": { "version": "0.2.3", @@ -5236,6 +6605,11 @@ } } }, + "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==" + }, "less": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/less/-/less-3.9.0.tgz", @@ -5253,6 +6627,11 @@ "source-map": "~0.6.0" } }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + }, "linkify-it": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.2.tgz", @@ -5265,6 +6644,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, "requires": { "graceful-fs": "^4.1.2", "parse-json": "^4.0.0", @@ -5273,12 +6653,11 @@ } }, "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "^4.1.0" } }, "lodash": { @@ -5290,6 +6669,7 @@ "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" @@ -5304,9 +6684,9 @@ } }, "map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=" + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.0.tgz", + "integrity": "sha512-NAq0fCmZYGz9UFEQyndp7sisrow4GroyGeKluyKC/chuITZsPyOyC1UJZPJlVFImhXdROIP5xqouRLThT3BbpQ==" }, "markdown-it": { "version": "12.0.4", @@ -5357,19 +6737,52 @@ "dev": true }, "meow": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", - "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0", - "yargs-parser": "^10.0.0" + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "dependencies": { + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "normalize-package-data": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", + "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", + "requires": { + "hosted-git-info": "^4.0.1", + "resolve": "^1.20.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + } } }, "merge-descriptors": { @@ -5405,6 +6818,11 @@ "mime-db": "1.45.0" } }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" + }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -5428,22 +6846,42 @@ "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "optional": true + "devOptional": true }, "minimist-options": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", - "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", "requires": { "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + } + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" } }, "mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "optional": true, + "devOptional": true, "requires": { "minimist": "^1.2.5" } @@ -5528,6 +6966,350 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, + "node-gyp": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", + "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", + "dev": true, + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.3", + "nopt": "^5.0.0", + "npmlog": "^4.1.2", + "request": "^2.88.2", + "rimraf": "^3.0.2", + "semver": "^7.3.2", + "tar": "^6.0.2", + "which": "^2.0.2" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "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" + } + }, + "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" + } + }, + "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-sass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-5.0.0.tgz", + "integrity": "sha512-opNgmlu83ZCF792U281Ry7tak9IbVC+AKnXGovcQ8LG8wFaJv6cLnRlc6DIHlmNxWEexB5bZxi9SZ9JyUuOYjw==", + "dev": true, + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^7.0.3", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "lodash": "^4.17.15", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.13.2", + "node-gyp": "^7.1.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "2.2.5", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + }, + "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 + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "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" + } + }, + "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" + } + }, + "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" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "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" + } + }, + "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" + } + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "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" + } + }, + "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" + } + }, + "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 + }, + "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" + } + }, + "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" + } + }, + "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": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "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" + } + } + } + }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "requires": { + "abbrev": "1" + } + }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -5563,6 +7345,24 @@ "string.prototype.padend": "^3.0.0" } }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "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 + }, "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", @@ -5614,36 +7414,37 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "optional": true, + "devOptional": true, "requires": { "wrappy": "1" } }, "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "requires": { - "p-try": "^1.0.0" + "p-try": "^2.0.0" } }, "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "requires": { - "p-limit": "^1.1.0" + "p-limit": "^2.2.0" } }, "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, "parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, "requires": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" @@ -5663,7 +7464,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "optional": true + "devOptional": true }, "path-key": { "version": "2.0.1", @@ -5685,6 +7486,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, "requires": { "pify": "^3.0.0" } @@ -5718,13 +7520,35 @@ "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "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" + } }, "pngjs": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==" }, + "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", @@ -5755,17 +7579,17 @@ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" }, "pug": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.0.tgz", - "integrity": "sha512-inmsJyFBSHZaiGLaguoFgJGViX0If6AcfcElimvwj9perqjDpUpw79UIEDZbWFmoGVidh08aoE+e8tVkjVJPCw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.2.tgz", + "integrity": "sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==", "requires": { - "pug-code-gen": "^3.0.0", + "pug-code-gen": "^3.0.2", "pug-filters": "^4.0.0", - "pug-lexer": "^5.0.0", + "pug-lexer": "^5.0.1", "pug-linker": "^4.0.0", "pug-load": "^3.0.0", "pug-parser": "^6.0.0", - "pug-runtime": "^3.0.0", + "pug-runtime": "^3.0.1", "pug-strip-comments": "^2.0.0" } }, @@ -5780,9 +7604,9 @@ } }, "pug-code-gen": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.1.tgz", - "integrity": "sha512-xJIGvmXTQlkJllq6hqxxjRWcay2F9CU69TuAuiVZgHK0afOhG5txrQOcZyaPHBvSWCU/QQOqEp5XCH94rRZpBQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.2.tgz", + "integrity": "sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==", "requires": { "constantinople": "^4.0.1", "doctypes": "^1.1.0", @@ -5812,9 +7636,9 @@ } }, "pug-lexer": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.0.tgz", - "integrity": "sha512-52xMk8nNpuyQ/M2wjZBN5gXQLIylaGkAoTk5Y1pBhVqaopaoj8Z0iVzpbFZAqitL4RHNVDZRnJDsqEYe99Ti0A==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz", + "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==", "requires": { "character-parser": "^2.2.0", "is-expression": "^4.0.0", @@ -5849,9 +7673,9 @@ } }, "pug-runtime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.0.tgz", - "integrity": "sha512-GoEPcmQNnaTsePEdVA05bDpY+Op5VLHKayg08AQiqJBWU/yIaywEYv7TetC5dEQS3fzBBoyb2InDcZEg3mPTIA==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.1.tgz", + "integrity": "sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==" }, "pug-strip-comments": { "version": "2.0.0", @@ -5899,9 +7723,9 @@ "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" }, "quick-lru": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=" + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==" }, "random-bytes": { "version": "1.0.0", @@ -5936,6 +7760,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, "requires": { "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", @@ -5943,12 +7768,49 @@ } }, "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + } + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + } } }, "readable-stream": { @@ -5962,12 +7824,12 @@ } }, "redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "requires": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" } }, "redis": { @@ -5999,6 +7861,15 @@ "redis-errors": "^1.0.0" } }, + "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" + } + }, "request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -6091,10 +7962,59 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "sass-graph": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", + "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^13.3.2" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "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" + } + } + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "requires": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "requires": { "lru-cache": "^6.0.0" } @@ -6219,16 +8139,27 @@ "signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true }, "simple-git": { - "version": "2.34.2", - "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-2.34.2.tgz", - "integrity": "sha512-/EX4FtcpAj5L/Bs5zgaBGYDrnkrKflFVNppNLH9VXpIjZBLHx5cZ6/mOYJCoKXKlLRuk3iTvzrIsHo7v42zWHg==", + "version": "2.37.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-2.37.0.tgz", + "integrity": "sha512-ZK6qRnP+Xa2v23UEZDNHUfzswsuNCDHOQpWZRkpqNaXn7V5wVBBx3zRJLji3pROJGzrzA7mXwY7preL5EKuAaQ==", "requires": { "@kwsites/file-exists": "^1.1.1", "@kwsites/promise-deferred": "^1.1.1", - "debug": "^4.3.1" + "debug": "^4.3.2" + }, + "dependencies": { + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "requires": { + "ms": "2.1.2" + } + } } }, "source-map": { @@ -6297,6 +8228,47 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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" + } + }, + "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" + } + } + } + }, "string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -6364,22 +8336,47 @@ "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true }, "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "requires": { + "min-indent": "^1.0.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" } }, + "tar": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", + "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + } + } + }, "tiny-secp256k1": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/tiny-secp256k1/-/tiny-secp256k1-1.1.6.tgz", @@ -6417,9 +8414,34 @@ } }, "trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz", + "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==" + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "dev": true, + "requires": { + "glob": "^7.1.2" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "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" + } + } + } }, "tsscmp": { "version": "1.0.6", @@ -6439,6 +8461,11 @@ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" }, + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==" + }, "type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -6545,6 +8572,42 @@ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, "wif": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/wif/-/wif-2.0.6.tgz", @@ -6578,7 +8641,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "optional": true + "devOptional": true }, "y18n": { "version": "4.0.1", @@ -6662,12 +8725,9 @@ } }, "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", - "requires": { - "camelcase": "^4.1.0" - } + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==" } } } diff --git a/package.json b/package.json index b0101a2..c4e08c5 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,15 @@ "bin": "bin/cli.js", "scripts": { "start": "node ./bin/www", - "refresh-mining-pool-configs": "node ./bin/refresh-mining-pool-configs.js" + "refresh-mining-pool-configs": "node ./bin/refresh-mining-pool-configs.js", + + "css-light-debug": "node-sass --output-style expanded --source-map scss --precision 6 ./public/scss/light.scss ./public/style/light.css", + "css-dark-debug": "node-sass --output-style expanded --source-map scss --precision 6 ./public/scss/dark.scss ./public/style/dark.css", + "css-debug": "npm-run-all css-light-debug css-dark-debug", + + "css-light": "node-sass --output-style compressed --precision 6 ./public/scss/light.scss ./public/style/light.css", + "css-dark": "node-sass --output-style compressed --precision 6 ./public/scss/dark.scss ./public/style/dark.css", + "css": "npm-run-all css-light css-dark" }, "keywords": [ "bitcoin", @@ -27,6 +35,7 @@ "bitcoinjs-lib": "^5.2.0", "bluebird": "^3.7.2", "body-parser": "^1.19.0", + "bootstrap": "5.0.0-beta3", "cookie-parser": "^1.4.5", "crypto-js": "^4.0.0", "csurf": "^1.11.0", @@ -41,25 +50,26 @@ "lru-cache": "6.0.0", "markdown-it": "^12.0.4", "md5": "^2.3.0", - "meow": "^5.0.0", + "meow": "^9.0.0", "moment": "^2.29.1", "moment-duration-format": "^2.3.2", "morgan": "^1.10.0", "on-headers": "1.0.2", "pidusage": "2.0.21", - "pug": "^3.0.0", + "pug": "^3.0.2", "qrcode": "^1.4.4", "redis": "^3.0.2", "request": "^2.88.2", - "semver": "^7.3.4", + "semver": "^7.3.5", "serve-favicon": "^2.5.0", - "simple-git": "^2.34.2" + "simple-git": "^2.37.0" }, "optionalDependencies": { "event-loop-stats": "^1.3.0" }, "devDependencies": { "less": "3.9.0", + "node-sass": "^5.0.0", "npm-run-all": "^4.1.5" } } diff --git a/public/css/bootstrap-dark.min.css b/public/css/bootstrap-dark.min.css deleted file mode 100644 index 832e1a7..0000000 --- a/public/css/bootstrap-dark.min.css +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v4.4.1 (https://getbootstrap.com/) - * Copyright 2011-2020 The Bootstrap Authors - * Copyright 2011-2020 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */:root{--blue:#5aa8fc;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#282d33;--gray-dark:#161819;--primary:#5aa8fc;--secondary:#282d33;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#202326;--dark:#161819;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--breakpoint-xxl:1920px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#e9ecef;text-align:left;background-color:#0c0c0c}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#5aa8fc;text-decoration:none;background-color:transparent}a:hover{color:#0f80fb;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#9a9b9c;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#282d33}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#0c0c0c;border:1px solid #9a9b9c;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#282d33}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#0c0c0c;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#0c0c0c}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:8px;padding-left:8px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}@media (min-width:1920px){.container{max-width:1800px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:8px;padding-left:8px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1920px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1800px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-8px;margin-left:-8px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.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-lg-auto,.col-md,.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-md-auto,.col-sm,.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-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto,.col-xxl,.col-xxl-1,.col-xxl-10,.col-xxl-11,.col-xxl-12,.col-xxl-2,.col-xxl-3,.col-xxl-4,.col-xxl-5,.col-xxl-6,.col-xxl-7,.col-xxl-8,.col-xxl-9,.col-xxl-auto{position:relative;width:100%;padding-right:8px;padding-left:8px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}@media (min-width:1920px){.col-xxl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-xxl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xxl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xxl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xxl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xxl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xxl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xxl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xxl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xxl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xxl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xxl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xxl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xxl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xxl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xxl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xxl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xxl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xxl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xxl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xxl-first{-ms-flex-order:-1;order:-1}.order-xxl-last{-ms-flex-order:13;order:13}.order-xxl-0{-ms-flex-order:0;order:0}.order-xxl-1{-ms-flex-order:1;order:1}.order-xxl-2{-ms-flex-order:2;order:2}.order-xxl-3{-ms-flex-order:3;order:3}.order-xxl-4{-ms-flex-order:4;order:4}.order-xxl-5{-ms-flex-order:5;order:5}.order-xxl-6{-ms-flex-order:6;order:6}.order-xxl-7{-ms-flex-order:7;order:7}.order-xxl-8{-ms-flex-order:8;order:8}.order-xxl-9{-ms-flex-order:9;order:9}.order-xxl-10{-ms-flex-order:10;order:10}.order-xxl-11{-ms-flex-order:11;order:11}.order-xxl-12{-ms-flex-order:12;order:12}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.333333%}.offset-xxl-2{margin-left:16.666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.333333%}.offset-xxl-5{margin-left:41.666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.333333%}.offset-xxl-8{margin-left:66.666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.333333%}.offset-xxl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#e9ecef;background-color:#161819}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #2f373f}.table thead th{vertical-align:bottom;border-bottom:2px solid #2f373f}.table tbody+tbody{border-top:2px solid #2f373f}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #2f373f}.table-bordered td,.table-bordered th{border:1px solid #2f373f}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.15)}.table-hover tbody tr:hover{color:#e9ecef;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#d1e7fe}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#a9d2fd}.table-hover .table-primary:hover{background-color:#b8dafd}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#b8dafd}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#c3c4c6}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#8f9295}.table-hover .table-secondary:hover{background-color:#b6b7ba}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#b6b7ba}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#c1c1c2}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#8b8d8e}.table-hover .table-light:hover{background-color:#b4b4b5}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#b4b4b5}.table-dark,.table-dark>td,.table-dark>th{background-color:#bebebf}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#868787}.table-hover .table-dark:hover{background-color:#b1b1b2}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b1b1b2}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#161819;border-color:#282c2d}.table .thead-light th{color:#202326;background-color:#e9ecef;border-color:#2f373f}.table-dark{color:#fff;background-color:#161819}.table-dark td,.table-dark th,.table-dark thead th{border-color:#282c2d}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}@media (max-width:1919.98px){.table-responsive-xxl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xxl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#f2f3f4;background-color:#2f373f;background-clip:padding-box;border:1px solid #35414c;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #f2f3f4}.form-control:focus{color:#f2f3f4;background-color:#2f373f;border-color:#d7eafe;outline:0;box-shadow:0 0 0 .2rem rgba(90,168,252,.25)}.form-control::-webkit-input-placeholder{color:#e9ecef;opacity:1}.form-control::-moz-placeholder{color:#e9ecef;opacity:1}.form-control:-ms-input-placeholder{color:#e9ecef;opacity:1}.form-control::-ms-input-placeholder{color:#e9ecef;opacity:1}.form-control::placeholder{color:#e9ecef;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#f2f3f4;background-color:#2f373f}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#e9ecef;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#9a9b9c}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:#28a745;border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23161819' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #2f373f no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:#dc3545;border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23161819' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #2f373f no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#e9ecef;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#e9ecef;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(90,168,252,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#f2f3f4;background-color:#5aa8fc;border-color:#5aa8fc}.btn-primary:hover{color:#fff;background-color:#3494fb;border-color:#288efb}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#3494fb;border-color:#288efb;box-shadow:0 0 0 .2rem rgba(113,179,251,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#f2f3f4;background-color:#5aa8fc;border-color:#5aa8fc}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#288efb;border-color:#1b87fb}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(113,179,251,.5)}.btn-secondary{color:#fff;background-color:#282d33;border-color:#282d33}.btn-secondary:hover{color:#fff;background-color:#171a1e;border-color:#121416}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#171a1e;border-color:#121416;box-shadow:0 0 0 .2rem rgba(72,77,82,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#282d33;border-color:#282d33}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#121416;border-color:#0c0d0f}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,77,82,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#f2f3f4;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#f2f3f4;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#f2f3f4;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(253,201,43,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#f2f3f4;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#f2f3f4;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(253,201,43,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#fff;background-color:#202326;border-color:#202326}.btn-light:hover{color:#fff;background-color:#0f1011;border-color:#090a0a}.btn-light.focus,.btn-light:focus{color:#fff;background-color:#0f1011;border-color:#090a0a;box-shadow:0 0 0 .2rem rgba(65,68,71,.5)}.btn-light.disabled,.btn-light:disabled{color:#fff;background-color:#202326;border-color:#202326}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#fff;background-color:#090a0a;border-color:#030303}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(65,68,71,.5)}.btn-dark{color:#fff;background-color:#161819;border-color:#161819}.btn-dark:hover{color:#fff;background-color:#040405;border-color:#000}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#040405;border-color:#000;box-shadow:0 0 0 .2rem rgba(57,59,60,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#161819;border-color:#161819}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#000;border-color:#000}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(57,59,60,.5)}.btn-outline-primary{color:#5aa8fc;border-color:#5aa8fc}.btn-outline-primary:hover{color:#f2f3f4;background-color:#5aa8fc;border-color:#5aa8fc}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(90,168,252,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#5aa8fc;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#f2f3f4;background-color:#5aa8fc;border-color:#5aa8fc}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(90,168,252,.5)}.btn-outline-secondary{color:#282d33;border-color:#282d33}.btn-outline-secondary:hover{color:#fff;background-color:#282d33;border-color:#282d33}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(40,45,51,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#282d33;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#282d33;border-color:#282d33}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,45,51,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#f2f3f4;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#f2f3f4;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#202326;border-color:#202326}.btn-outline-light:hover{color:#fff;background-color:#202326;border-color:#202326}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(32,35,38,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#202326;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#fff;background-color:#202326;border-color:#202326}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(32,35,38,.5)}.btn-outline-dark{color:#161819;border-color:#161819}.btn-outline-dark:hover{color:#fff;background-color:#161819;border-color:#161819}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(22,24,25,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#161819;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#161819;border-color:#161819}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(22,24,25,.5)}.btn-link{font-weight:400;color:#5aa8fc;text-decoration:none}.btn-link:hover{color:#0f80fb;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#282d33;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#e9ecef;text-align:left;list-style:none;background-color:#000;background-clip:padding-box;border:1px solid rgba(255,255,255,.25);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}@media (min-width:1920px){.dropdown-menu-xxl-left{right:auto;left:0}.dropdown-menu-xxl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #282d33}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#f2f3f4;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#000;text-decoration:none;background-color:#282d33}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#5aa8fc}.dropdown-item.disabled,.dropdown-item:disabled{color:#282d33;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#9a9b9c;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#f2f3f4}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#f2f3f4;text-align:center;white-space:nowrap;background-color:#202326;border:1px solid #35414c;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#5aa8fc;background-color:#5aa8fc}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(90,168,252,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#d7eafe}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#fff;border-color:#fff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#282d33}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#2f373f;border:#2f373f solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#5aa8fc;background-color:#5aa8fc}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(90,168,252,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(90,168,252,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(90,168,252,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#2f373f;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#2f373f;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(90,168,252,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#f2f3f4;vertical-align:middle;background:#2f373f url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23161819' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;border:1px solid #35414c;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#d7eafe;outline:0;box-shadow:0 0 0 .2rem rgba(90,168,252,.25)}.custom-select:focus::-ms-value{color:#f2f3f4;background-color:#2f373f}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#282d33;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #f2f3f4}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#d7eafe;box-shadow:0 0 0 .2rem rgba(90,168,252,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#f2f3f4;background-color:#2f373f;border:1px solid #35414c;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#f2f3f4;content:"Browse";background-color:#202326;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #0c0c0c,0 0 0 .2rem rgba(90,168,252,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #0c0c0c,0 0 0 .2rem rgba(90,168,252,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #0c0c0c,0 0 0 .2rem rgba(90,168,252,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#5aa8fc;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#fff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#9a9b9c;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#5aa8fc;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#fff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#9a9b9c;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#5aa8fc;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#fff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#9a9b9c;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#9a9b9c;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#2f373f}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#2f373f}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#2f373f}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#282d33;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #9a9b9c}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#9a9b9c #9a9b9c #9a9b9c}.nav-tabs .nav-link.disabled{color:#282d33;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#e9ecef;background-color:#0c0c0c;border-color:#9a9b9c #9a9b9c #0c0c0c}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#5aa8fc}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl,.navbar .container-xxl{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl,.navbar-expand-sm>.container-xxl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl,.navbar-expand-sm>.container-xxl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl,.navbar-expand-md>.container-xxl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl,.navbar-expand-md>.container-xxl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl,.navbar-expand-lg>.container-xxl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl,.navbar-expand-lg>.container-xxl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl,.navbar-expand-xl>.container-xxl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl,.navbar-expand-xl>.container-xxl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (max-width:1919.98px){.navbar-expand-xxl>.container,.navbar-expand-xxl>.container-fluid,.navbar-expand-xxl>.container-lg,.navbar-expand-xxl>.container-md,.navbar-expand-xxl>.container-sm,.navbar-expand-xxl>.container-xl,.navbar-expand-xxl>.container-xxl{padding-right:0;padding-left:0}}@media (min-width:1920px){.navbar-expand-xxl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl>.container,.navbar-expand-xxl>.container-fluid,.navbar-expand-xxl>.container-lg,.navbar-expand-xxl>.container-md,.navbar-expand-xxl>.container-sm,.navbar-expand-xxl>.container-xl,.navbar-expand-xxl>.container-xxl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xxl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl,.navbar-expand>.container-xxl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl,.navbar-expand>.container-xxl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#161819;background-clip:border-box;border:1px solid rgba(154,155,156,.25);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.1rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.1rem}.card-header{padding:.75rem 1.1rem;margin-bottom:0;background-color:rgba(255,255,255,.05);border-bottom:1px solid rgba(154,155,156,.25)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.1rem;background-color:rgba(255,255,255,.05);border-top:1px solid rgba(154,155,156,.25)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.55rem;margin-bottom:-.75rem;margin-left:-.55rem;border-bottom:0}.card-header-pills{margin-right:-.55rem;margin-left:-.55rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:8px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-8px;margin-left:-8px}.card-deck .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-right:8px;margin-bottom:0;margin-left:8px}}.card-group>.card{margin-bottom:8px}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item{display:-ms-flexbox;display:flex}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#9a9b9c;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#f2f3f4}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#5aa8fc;background-color:#0c0c0c;border:1px solid #282d33}.page-link:hover{z-index:2;color:#0f80fb;text-decoration:none;background-color:#282d33;border-color:#282d33}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(90,168,252,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#5aa8fc;border-color:#5aa8fc}.page-item.disabled .page-link{color:#000;pointer-events:none;cursor:auto;background-color:#202326;border-color:#282d33}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#f2f3f4;background-color:#5aa8fc}a.badge-primary:focus,a.badge-primary:hover{color:#f2f3f4;background-color:#288efb}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(90,168,252,.5)}.badge-secondary{color:#fff;background-color:#282d33}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#121416}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,45,51,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#f2f3f4;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#f2f3f4;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#fff;background-color:#202326}a.badge-light:focus,a.badge-light:hover{color:#fff;background-color:#090a0a}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(32,35,38,.5)}.badge-dark{color:#fff;background-color:#161819}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#000}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(22,24,25,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#2f5783;background-color:#b6d9fe;border-color:#82bdfd}.alert-primary hr{border-top-color:#69b0fd}.alert-primary .alert-link{color:#223e5d}.alert-secondary{color:#15171b;background-color:#a0a3a5;border-color:#5c5f64}.alert-secondary hr{border-top-color:#505257}.alert-secondary .alert-link{color:#000}.alert-success{color:#155724;background-color:#a0d8ad;border-color:#5cbc72}.alert-success hr{border-top-color:#4ab462}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#99d6e0;border-color:#4fb8c9}.alert-info hr{border-top-color:#3cb0c3}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#ffe492;border-color:#ffd043}.alert-warning hr{border-top-color:#ffca2a}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f0a6ad;border-color:#e46572}.alert-danger hr{border-top-color:#e04f5e}.alert-danger .alert-link{color:#491217}.alert-light{color:#111214;background-color:#9d9ea0;border-color:#56585a}.alert-light hr{border-top-color:#4a4b4d}.alert-light .alert-link{color:#000}.alert-dark{color:#0b0c0d;background-color:#98999a;border-color:#4e4f50}.alert-dark hr{border-top-color:#414243}.alert-dark .alert-link{color:#000}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#5aa8fc;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{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:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#202326;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#202326;text-decoration:none;background-color:#f2f3f4}.list-group-item-action:active{color:#e9ecef;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#282d33;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#5aa8fc;border-color:#5aa8fc}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal .list-group-item.active{margin-top:0}.list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm .list-group-item.active{margin-top:0}.list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md .list-group-item.active{margin-top:0}.list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg .list-group-item.active{margin-top:0}.list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl .list-group-item.active{margin-top:0}.list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1920px){.list-group-horizontal-xxl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xxl .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl .list-group-item.active{margin-top:0}.list-group-horizontal-xxl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush .list-group-item{border-right-width:0;border-left-width:0;border-radius:0}.list-group-flush .list-group-item:first-child{border-top-width:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#2f5783;background-color:#d1e7fe}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#2f5783;background-color:#b8dafd}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#2f5783;border-color:#2f5783}.list-group-item-secondary{color:#15171b;background-color:#c3c4c6}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#15171b;background-color:#b6b7ba}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#15171b;border-color:#15171b}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#111214;background-color:#c1c1c2}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#111214;background-color:#b4b4b5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#111214;border-color:#111214}.list-group-item-dark{color:#0b0c0d;background-color:#bebebf}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#0b0c0d;background-color:#b1b1b2}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#0b0c0d;border-color:#0b0c0d}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#fff;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#fff;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#282d33;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#202326;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #9a9b9c;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #9a9b9c;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:1}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#2f373f}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#2f373f}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#2f373f}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#2f373f}.tooltip-inner{max-width:350px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#2f373f;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#e9ecef}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#5aa8fc!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#288efb!important}.bg-secondary{background-color:#282d33!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#121416!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#202326!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#090a0a!important}.bg-dark{background-color:#161819!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#000!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #9a9b9c!important}.border-top{border-top:1px solid #9a9b9c!important}.border-right{border-right:1px solid #9a9b9c!important}.border-bottom{border-bottom:1px solid #9a9b9c!important}.border-left{border-left:1px solid #9a9b9c!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#5aa8fc!important}.border-secondary{border-color:#282d33!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#202326!important}.border-dark{border-color:#161819!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1920px){.d-xxl-none{display:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:-ms-flexbox!important;display:flex!important}.d-xxl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.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-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1920px){.flex-xxl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xxl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xxl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xxl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xxl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xxl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xxl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xxl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xxl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xxl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xxl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xxl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xxl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xxl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xxl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xxl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xxl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xxl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xxl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xxl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xxl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xxl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xxl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xxl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xxl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xxl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xxl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xxl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xxl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xxl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xxl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xxl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xxl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}@media (min-width:1920px){.float-xxl-left{float:left!important}.float-xxl-right{float:right!important}.float-xxl-none{float:none!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.3rem!important}.mt-1,.my-1{margin-top:.3rem!important}.mr-1,.mx-1{margin-right:.3rem!important}.mb-1,.my-1{margin-bottom:.3rem!important}.ml-1,.mx-1{margin-left:.3rem!important}.m-2{margin:.6rem!important}.mt-2,.my-2{margin-top:.6rem!important}.mr-2,.mx-2{margin-right:.6rem!important}.mb-2,.my-2{margin-bottom:.6rem!important}.ml-2,.mx-2{margin-left:.6rem!important}.m-3{margin:1.2rem!important}.mt-3,.my-3{margin-top:1.2rem!important}.mr-3,.mx-3{margin-right:1.2rem!important}.mb-3,.my-3{margin-bottom:1.2rem!important}.ml-3,.mx-3{margin-left:1.2rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.3rem!important}.pt-1,.py-1{padding-top:.3rem!important}.pr-1,.px-1{padding-right:.3rem!important}.pb-1,.py-1{padding-bottom:.3rem!important}.pl-1,.px-1{padding-left:.3rem!important}.p-2{padding:.6rem!important}.pt-2,.py-2{padding-top:.6rem!important}.pr-2,.px-2{padding-right:.6rem!important}.pb-2,.py-2{padding-bottom:.6rem!important}.pl-2,.px-2{padding-left:.6rem!important}.p-3{padding:1.2rem!important}.pt-3,.py-3{padding-top:1.2rem!important}.pr-3,.px-3{padding-right:1.2rem!important}.pb-3,.py-3{padding-bottom:1.2rem!important}.pl-3,.px-3{padding-left:1.2rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.3rem!important}.mt-n1,.my-n1{margin-top:-.3rem!important}.mr-n1,.mx-n1{margin-right:-.3rem!important}.mb-n1,.my-n1{margin-bottom:-.3rem!important}.ml-n1,.mx-n1{margin-left:-.3rem!important}.m-n2{margin:-.6rem!important}.mt-n2,.my-n2{margin-top:-.6rem!important}.mr-n2,.mx-n2{margin-right:-.6rem!important}.mb-n2,.my-n2{margin-bottom:-.6rem!important}.ml-n2,.mx-n2{margin-left:-.6rem!important}.m-n3{margin:-1.2rem!important}.mt-n3,.my-n3{margin-top:-1.2rem!important}.mr-n3,.mx-n3{margin-right:-1.2rem!important}.mb-n3,.my-n3{margin-bottom:-1.2rem!important}.ml-n3,.mx-n3{margin-left:-1.2rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.3rem!important}.mt-sm-1,.my-sm-1{margin-top:.3rem!important}.mr-sm-1,.mx-sm-1{margin-right:.3rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.3rem!important}.ml-sm-1,.mx-sm-1{margin-left:.3rem!important}.m-sm-2{margin:.6rem!important}.mt-sm-2,.my-sm-2{margin-top:.6rem!important}.mr-sm-2,.mx-sm-2{margin-right:.6rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.6rem!important}.ml-sm-2,.mx-sm-2{margin-left:.6rem!important}.m-sm-3{margin:1.2rem!important}.mt-sm-3,.my-sm-3{margin-top:1.2rem!important}.mr-sm-3,.mx-sm-3{margin-right:1.2rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1.2rem!important}.ml-sm-3,.mx-sm-3{margin-left:1.2rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.3rem!important}.pt-sm-1,.py-sm-1{padding-top:.3rem!important}.pr-sm-1,.px-sm-1{padding-right:.3rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.3rem!important}.pl-sm-1,.px-sm-1{padding-left:.3rem!important}.p-sm-2{padding:.6rem!important}.pt-sm-2,.py-sm-2{padding-top:.6rem!important}.pr-sm-2,.px-sm-2{padding-right:.6rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.6rem!important}.pl-sm-2,.px-sm-2{padding-left:.6rem!important}.p-sm-3{padding:1.2rem!important}.pt-sm-3,.py-sm-3{padding-top:1.2rem!important}.pr-sm-3,.px-sm-3{padding-right:1.2rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1.2rem!important}.pl-sm-3,.px-sm-3{padding-left:1.2rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.3rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.3rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.3rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.3rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.3rem!important}.m-sm-n2{margin:-.6rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.6rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.6rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.6rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.6rem!important}.m-sm-n3{margin:-1.2rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1.2rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1.2rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1.2rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1.2rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.3rem!important}.mt-md-1,.my-md-1{margin-top:.3rem!important}.mr-md-1,.mx-md-1{margin-right:.3rem!important}.mb-md-1,.my-md-1{margin-bottom:.3rem!important}.ml-md-1,.mx-md-1{margin-left:.3rem!important}.m-md-2{margin:.6rem!important}.mt-md-2,.my-md-2{margin-top:.6rem!important}.mr-md-2,.mx-md-2{margin-right:.6rem!important}.mb-md-2,.my-md-2{margin-bottom:.6rem!important}.ml-md-2,.mx-md-2{margin-left:.6rem!important}.m-md-3{margin:1.2rem!important}.mt-md-3,.my-md-3{margin-top:1.2rem!important}.mr-md-3,.mx-md-3{margin-right:1.2rem!important}.mb-md-3,.my-md-3{margin-bottom:1.2rem!important}.ml-md-3,.mx-md-3{margin-left:1.2rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.3rem!important}.pt-md-1,.py-md-1{padding-top:.3rem!important}.pr-md-1,.px-md-1{padding-right:.3rem!important}.pb-md-1,.py-md-1{padding-bottom:.3rem!important}.pl-md-1,.px-md-1{padding-left:.3rem!important}.p-md-2{padding:.6rem!important}.pt-md-2,.py-md-2{padding-top:.6rem!important}.pr-md-2,.px-md-2{padding-right:.6rem!important}.pb-md-2,.py-md-2{padding-bottom:.6rem!important}.pl-md-2,.px-md-2{padding-left:.6rem!important}.p-md-3{padding:1.2rem!important}.pt-md-3,.py-md-3{padding-top:1.2rem!important}.pr-md-3,.px-md-3{padding-right:1.2rem!important}.pb-md-3,.py-md-3{padding-bottom:1.2rem!important}.pl-md-3,.px-md-3{padding-left:1.2rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.3rem!important}.mt-md-n1,.my-md-n1{margin-top:-.3rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.3rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.3rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.3rem!important}.m-md-n2{margin:-.6rem!important}.mt-md-n2,.my-md-n2{margin-top:-.6rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.6rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.6rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.6rem!important}.m-md-n3{margin:-1.2rem!important}.mt-md-n3,.my-md-n3{margin-top:-1.2rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1.2rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1.2rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1.2rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.3rem!important}.mt-lg-1,.my-lg-1{margin-top:.3rem!important}.mr-lg-1,.mx-lg-1{margin-right:.3rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.3rem!important}.ml-lg-1,.mx-lg-1{margin-left:.3rem!important}.m-lg-2{margin:.6rem!important}.mt-lg-2,.my-lg-2{margin-top:.6rem!important}.mr-lg-2,.mx-lg-2{margin-right:.6rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.6rem!important}.ml-lg-2,.mx-lg-2{margin-left:.6rem!important}.m-lg-3{margin:1.2rem!important}.mt-lg-3,.my-lg-3{margin-top:1.2rem!important}.mr-lg-3,.mx-lg-3{margin-right:1.2rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1.2rem!important}.ml-lg-3,.mx-lg-3{margin-left:1.2rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.3rem!important}.pt-lg-1,.py-lg-1{padding-top:.3rem!important}.pr-lg-1,.px-lg-1{padding-right:.3rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.3rem!important}.pl-lg-1,.px-lg-1{padding-left:.3rem!important}.p-lg-2{padding:.6rem!important}.pt-lg-2,.py-lg-2{padding-top:.6rem!important}.pr-lg-2,.px-lg-2{padding-right:.6rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.6rem!important}.pl-lg-2,.px-lg-2{padding-left:.6rem!important}.p-lg-3{padding:1.2rem!important}.pt-lg-3,.py-lg-3{padding-top:1.2rem!important}.pr-lg-3,.px-lg-3{padding-right:1.2rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1.2rem!important}.pl-lg-3,.px-lg-3{padding-left:1.2rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.3rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.3rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.3rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.3rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.3rem!important}.m-lg-n2{margin:-.6rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.6rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.6rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.6rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.6rem!important}.m-lg-n3{margin:-1.2rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1.2rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1.2rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1.2rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1.2rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.3rem!important}.mt-xl-1,.my-xl-1{margin-top:.3rem!important}.mr-xl-1,.mx-xl-1{margin-right:.3rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.3rem!important}.ml-xl-1,.mx-xl-1{margin-left:.3rem!important}.m-xl-2{margin:.6rem!important}.mt-xl-2,.my-xl-2{margin-top:.6rem!important}.mr-xl-2,.mx-xl-2{margin-right:.6rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.6rem!important}.ml-xl-2,.mx-xl-2{margin-left:.6rem!important}.m-xl-3{margin:1.2rem!important}.mt-xl-3,.my-xl-3{margin-top:1.2rem!important}.mr-xl-3,.mx-xl-3{margin-right:1.2rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1.2rem!important}.ml-xl-3,.mx-xl-3{margin-left:1.2rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.3rem!important}.pt-xl-1,.py-xl-1{padding-top:.3rem!important}.pr-xl-1,.px-xl-1{padding-right:.3rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.3rem!important}.pl-xl-1,.px-xl-1{padding-left:.3rem!important}.p-xl-2{padding:.6rem!important}.pt-xl-2,.py-xl-2{padding-top:.6rem!important}.pr-xl-2,.px-xl-2{padding-right:.6rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.6rem!important}.pl-xl-2,.px-xl-2{padding-left:.6rem!important}.p-xl-3{padding:1.2rem!important}.pt-xl-3,.py-xl-3{padding-top:1.2rem!important}.pr-xl-3,.px-xl-3{padding-right:1.2rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1.2rem!important}.pl-xl-3,.px-xl-3{padding-left:1.2rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.3rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.3rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.3rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.3rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.3rem!important}.m-xl-n2{margin:-.6rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.6rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.6rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.6rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.6rem!important}.m-xl-n3{margin:-1.2rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1.2rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1.2rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1.2rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1.2rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}@media (min-width:1920px){.m-xxl-0{margin:0!important}.mt-xxl-0,.my-xxl-0{margin-top:0!important}.mr-xxl-0,.mx-xxl-0{margin-right:0!important}.mb-xxl-0,.my-xxl-0{margin-bottom:0!important}.ml-xxl-0,.mx-xxl-0{margin-left:0!important}.m-xxl-1{margin:.3rem!important}.mt-xxl-1,.my-xxl-1{margin-top:.3rem!important}.mr-xxl-1,.mx-xxl-1{margin-right:.3rem!important}.mb-xxl-1,.my-xxl-1{margin-bottom:.3rem!important}.ml-xxl-1,.mx-xxl-1{margin-left:.3rem!important}.m-xxl-2{margin:.6rem!important}.mt-xxl-2,.my-xxl-2{margin-top:.6rem!important}.mr-xxl-2,.mx-xxl-2{margin-right:.6rem!important}.mb-xxl-2,.my-xxl-2{margin-bottom:.6rem!important}.ml-xxl-2,.mx-xxl-2{margin-left:.6rem!important}.m-xxl-3{margin:1.2rem!important}.mt-xxl-3,.my-xxl-3{margin-top:1.2rem!important}.mr-xxl-3,.mx-xxl-3{margin-right:1.2rem!important}.mb-xxl-3,.my-xxl-3{margin-bottom:1.2rem!important}.ml-xxl-3,.mx-xxl-3{margin-left:1.2rem!important}.m-xxl-4{margin:1.5rem!important}.mt-xxl-4,.my-xxl-4{margin-top:1.5rem!important}.mr-xxl-4,.mx-xxl-4{margin-right:1.5rem!important}.mb-xxl-4,.my-xxl-4{margin-bottom:1.5rem!important}.ml-xxl-4,.mx-xxl-4{margin-left:1.5rem!important}.m-xxl-5{margin:3rem!important}.mt-xxl-5,.my-xxl-5{margin-top:3rem!important}.mr-xxl-5,.mx-xxl-5{margin-right:3rem!important}.mb-xxl-5,.my-xxl-5{margin-bottom:3rem!important}.ml-xxl-5,.mx-xxl-5{margin-left:3rem!important}.p-xxl-0{padding:0!important}.pt-xxl-0,.py-xxl-0{padding-top:0!important}.pr-xxl-0,.px-xxl-0{padding-right:0!important}.pb-xxl-0,.py-xxl-0{padding-bottom:0!important}.pl-xxl-0,.px-xxl-0{padding-left:0!important}.p-xxl-1{padding:.3rem!important}.pt-xxl-1,.py-xxl-1{padding-top:.3rem!important}.pr-xxl-1,.px-xxl-1{padding-right:.3rem!important}.pb-xxl-1,.py-xxl-1{padding-bottom:.3rem!important}.pl-xxl-1,.px-xxl-1{padding-left:.3rem!important}.p-xxl-2{padding:.6rem!important}.pt-xxl-2,.py-xxl-2{padding-top:.6rem!important}.pr-xxl-2,.px-xxl-2{padding-right:.6rem!important}.pb-xxl-2,.py-xxl-2{padding-bottom:.6rem!important}.pl-xxl-2,.px-xxl-2{padding-left:.6rem!important}.p-xxl-3{padding:1.2rem!important}.pt-xxl-3,.py-xxl-3{padding-top:1.2rem!important}.pr-xxl-3,.px-xxl-3{padding-right:1.2rem!important}.pb-xxl-3,.py-xxl-3{padding-bottom:1.2rem!important}.pl-xxl-3,.px-xxl-3{padding-left:1.2rem!important}.p-xxl-4{padding:1.5rem!important}.pt-xxl-4,.py-xxl-4{padding-top:1.5rem!important}.pr-xxl-4,.px-xxl-4{padding-right:1.5rem!important}.pb-xxl-4,.py-xxl-4{padding-bottom:1.5rem!important}.pl-xxl-4,.px-xxl-4{padding-left:1.5rem!important}.p-xxl-5{padding:3rem!important}.pt-xxl-5,.py-xxl-5{padding-top:3rem!important}.pr-xxl-5,.px-xxl-5{padding-right:3rem!important}.pb-xxl-5,.py-xxl-5{padding-bottom:3rem!important}.pl-xxl-5,.px-xxl-5{padding-left:3rem!important}.m-xxl-n1{margin:-.3rem!important}.mt-xxl-n1,.my-xxl-n1{margin-top:-.3rem!important}.mr-xxl-n1,.mx-xxl-n1{margin-right:-.3rem!important}.mb-xxl-n1,.my-xxl-n1{margin-bottom:-.3rem!important}.ml-xxl-n1,.mx-xxl-n1{margin-left:-.3rem!important}.m-xxl-n2{margin:-.6rem!important}.mt-xxl-n2,.my-xxl-n2{margin-top:-.6rem!important}.mr-xxl-n2,.mx-xxl-n2{margin-right:-.6rem!important}.mb-xxl-n2,.my-xxl-n2{margin-bottom:-.6rem!important}.ml-xxl-n2,.mx-xxl-n2{margin-left:-.6rem!important}.m-xxl-n3{margin:-1.2rem!important}.mt-xxl-n3,.my-xxl-n3{margin-top:-1.2rem!important}.mr-xxl-n3,.mx-xxl-n3{margin-right:-1.2rem!important}.mb-xxl-n3,.my-xxl-n3{margin-bottom:-1.2rem!important}.ml-xxl-n3,.mx-xxl-n3{margin-left:-1.2rem!important}.m-xxl-n4{margin:-1.5rem!important}.mt-xxl-n4,.my-xxl-n4{margin-top:-1.5rem!important}.mr-xxl-n4,.mx-xxl-n4{margin-right:-1.5rem!important}.mb-xxl-n4,.my-xxl-n4{margin-bottom:-1.5rem!important}.ml-xxl-n4,.mx-xxl-n4{margin-left:-1.5rem!important}.m-xxl-n5{margin:-3rem!important}.mt-xxl-n5,.my-xxl-n5{margin-top:-3rem!important}.mr-xxl-n5,.mx-xxl-n5{margin-right:-3rem!important}.mb-xxl-n5,.my-xxl-n5{margin-bottom:-3rem!important}.ml-xxl-n5,.mx-xxl-n5{margin-left:-3rem!important}.m-xxl-auto{margin:auto!important}.mt-xxl-auto,.my-xxl-auto{margin-top:auto!important}.mr-xxl-auto,.mx-xxl-auto{margin-right:auto!important}.mb-xxl-auto,.my-xxl-auto{margin-bottom:auto!important}.ml-xxl-auto,.mx-xxl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1920px){.text-xxl-left{text-align:left!important}.text-xxl-right{text-align:right!important}.text-xxl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#5aa8fc!important}a.text-primary:focus,a.text-primary:hover{color:#0f80fb!important}.text-secondary{color:#282d33!important}a.text-secondary:focus,a.text-secondary:hover{color:#060708!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#202326!important}a.text-light:focus,a.text-light:hover{color:#000!important}.text-dark{color:#161819!important}a.text-dark:focus,a.text-dark:hover{color:#000!important}.text-body{color:#e9ecef!important}.text-muted{color:#9a9b9c!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #2f373f;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{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 #9a9b9c!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#2f373f}.table .thead-dark th{color:inherit;border-color:#2f373f}} -/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/public/css/bootstrap.min.css b/public/css/bootstrap.min.css deleted file mode 100644 index d24d1ce..0000000 --- a/public/css/bootstrap.min.css +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v4.4.1 (https://getbootstrap.com/) - * Copyright 2011-2020 The Bootstrap Authors - * Copyright 2011-2020 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--breakpoint-xxl:1920px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:8px;padding-left:8px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}@media (min-width:1920px){.container{max-width:1800px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:8px;padding-left:8px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1920px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1800px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-8px;margin-left:-8px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.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-lg-auto,.col-md,.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-md-auto,.col-sm,.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-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto,.col-xxl,.col-xxl-1,.col-xxl-10,.col-xxl-11,.col-xxl-12,.col-xxl-2,.col-xxl-3,.col-xxl-4,.col-xxl-5,.col-xxl-6,.col-xxl-7,.col-xxl-8,.col-xxl-9,.col-xxl-auto{position:relative;width:100%;padding-right:8px;padding-left:8px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}@media (min-width:1920px){.col-xxl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;min-width:0;max-width:100%}.row-cols-xxl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xxl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xxl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xxl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xxl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xxl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xxl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xxl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xxl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xxl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xxl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xxl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xxl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xxl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xxl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xxl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xxl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xxl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xxl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xxl-first{-ms-flex-order:-1;order:-1}.order-xxl-last{-ms-flex-order:13;order:13}.order-xxl-0{-ms-flex-order:0;order:0}.order-xxl-1{-ms-flex-order:1;order:1}.order-xxl-2{-ms-flex-order:2;order:2}.order-xxl-3{-ms-flex-order:3;order:3}.order-xxl-4{-ms-flex-order:4;order:4}.order-xxl-5{-ms-flex-order:5;order:5}.order-xxl-6{-ms-flex-order:6;order:6}.order-xxl-7{-ms-flex-order:7;order:7}.order-xxl-8{-ms-flex-order:8;order:8}.order-xxl-9{-ms-flex-order:9;order:9}.order-xxl-10{-ms-flex-order:10;order:10}.order-xxl-11{-ms-flex-order:11;order:11}.order-xxl-12{-ms-flex-order:12;order:12}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.333333%}.offset-xxl-2{margin-left:16.666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.333333%}.offset-xxl-5{margin-left:41.666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.333333%}.offset-xxl-8{margin-left:66.666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.333333%}.offset-xxl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}@media (max-width:1919.98px){.table-responsive-xxl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xxl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}@media (min-width:1920px){.dropdown-menu-xxl-left{right:auto;left:0}.dropdown-menu-xxl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl,.navbar .container-xxl{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl,.navbar-expand-sm>.container-xxl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl,.navbar-expand-sm>.container-xxl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl,.navbar-expand-md>.container-xxl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl,.navbar-expand-md>.container-xxl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl,.navbar-expand-lg>.container-xxl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl,.navbar-expand-lg>.container-xxl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl,.navbar-expand-xl>.container-xxl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl,.navbar-expand-xl>.container-xxl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (max-width:1919.98px){.navbar-expand-xxl>.container,.navbar-expand-xxl>.container-fluid,.navbar-expand-xxl>.container-lg,.navbar-expand-xxl>.container-md,.navbar-expand-xxl>.container-sm,.navbar-expand-xxl>.container-xl,.navbar-expand-xxl>.container-xxl{padding-right:0;padding-left:0}}@media (min-width:1920px){.navbar-expand-xxl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl>.container,.navbar-expand-xxl>.container-fluid,.navbar-expand-xxl>.container-lg,.navbar-expand-xxl>.container-md,.navbar-expand-xxl>.container-sm,.navbar-expand-xxl>.container-xl,.navbar-expand-xxl>.container-xxl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xxl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl,.navbar-expand>.container-xxl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl,.navbar-expand>.container-xxl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.1rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.1rem}.card-header{padding:.75rem 1.1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.55rem;margin-bottom:-.75rem;margin-left:-.55rem;border-bottom:0}.card-header-pills{margin-right:-.55rem;margin-left:-.55rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:8px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-8px;margin-left:-8px}.card-deck .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-right:8px;margin-bottom:0;margin-left:8px}}.card-group>.card{margin-bottom:8px}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item{display:-ms-flexbox;display:flex}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{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:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal .list-group-item.active{margin-top:0}.list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm .list-group-item.active{margin-top:0}.list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md .list-group-item.active{margin-top:0}.list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg .list-group-item.active{margin-top:0}.list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl .list-group-item.active{margin-top:0}.list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1920px){.list-group-horizontal-xxl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xxl .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl .list-group-item.active{margin-top:0}.list-group-horizontal-xxl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush .list-group-item{border-right-width:0;border-left-width:0;border-radius:0}.list-group-flush .list-group-item:first-child{border-top-width:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:350px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1920px){.d-xxl-none{display:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:-ms-flexbox!important;display:flex!important}.d-xxl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.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-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1920px){.flex-xxl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xxl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xxl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xxl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xxl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xxl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xxl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xxl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xxl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xxl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xxl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xxl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xxl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xxl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xxl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xxl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xxl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xxl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xxl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xxl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xxl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xxl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xxl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xxl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xxl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xxl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xxl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xxl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xxl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xxl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xxl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xxl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xxl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}@media (min-width:1920px){.float-xxl-left{float:left!important}.float-xxl-right{float:right!important}.float-xxl-none{float:none!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.3rem!important}.mt-1,.my-1{margin-top:.3rem!important}.mr-1,.mx-1{margin-right:.3rem!important}.mb-1,.my-1{margin-bottom:.3rem!important}.ml-1,.mx-1{margin-left:.3rem!important}.m-2{margin:.6rem!important}.mt-2,.my-2{margin-top:.6rem!important}.mr-2,.mx-2{margin-right:.6rem!important}.mb-2,.my-2{margin-bottom:.6rem!important}.ml-2,.mx-2{margin-left:.6rem!important}.m-3{margin:1.2rem!important}.mt-3,.my-3{margin-top:1.2rem!important}.mr-3,.mx-3{margin-right:1.2rem!important}.mb-3,.my-3{margin-bottom:1.2rem!important}.ml-3,.mx-3{margin-left:1.2rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.3rem!important}.pt-1,.py-1{padding-top:.3rem!important}.pr-1,.px-1{padding-right:.3rem!important}.pb-1,.py-1{padding-bottom:.3rem!important}.pl-1,.px-1{padding-left:.3rem!important}.p-2{padding:.6rem!important}.pt-2,.py-2{padding-top:.6rem!important}.pr-2,.px-2{padding-right:.6rem!important}.pb-2,.py-2{padding-bottom:.6rem!important}.pl-2,.px-2{padding-left:.6rem!important}.p-3{padding:1.2rem!important}.pt-3,.py-3{padding-top:1.2rem!important}.pr-3,.px-3{padding-right:1.2rem!important}.pb-3,.py-3{padding-bottom:1.2rem!important}.pl-3,.px-3{padding-left:1.2rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.3rem!important}.mt-n1,.my-n1{margin-top:-.3rem!important}.mr-n1,.mx-n1{margin-right:-.3rem!important}.mb-n1,.my-n1{margin-bottom:-.3rem!important}.ml-n1,.mx-n1{margin-left:-.3rem!important}.m-n2{margin:-.6rem!important}.mt-n2,.my-n2{margin-top:-.6rem!important}.mr-n2,.mx-n2{margin-right:-.6rem!important}.mb-n2,.my-n2{margin-bottom:-.6rem!important}.ml-n2,.mx-n2{margin-left:-.6rem!important}.m-n3{margin:-1.2rem!important}.mt-n3,.my-n3{margin-top:-1.2rem!important}.mr-n3,.mx-n3{margin-right:-1.2rem!important}.mb-n3,.my-n3{margin-bottom:-1.2rem!important}.ml-n3,.mx-n3{margin-left:-1.2rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.3rem!important}.mt-sm-1,.my-sm-1{margin-top:.3rem!important}.mr-sm-1,.mx-sm-1{margin-right:.3rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.3rem!important}.ml-sm-1,.mx-sm-1{margin-left:.3rem!important}.m-sm-2{margin:.6rem!important}.mt-sm-2,.my-sm-2{margin-top:.6rem!important}.mr-sm-2,.mx-sm-2{margin-right:.6rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.6rem!important}.ml-sm-2,.mx-sm-2{margin-left:.6rem!important}.m-sm-3{margin:1.2rem!important}.mt-sm-3,.my-sm-3{margin-top:1.2rem!important}.mr-sm-3,.mx-sm-3{margin-right:1.2rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1.2rem!important}.ml-sm-3,.mx-sm-3{margin-left:1.2rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.3rem!important}.pt-sm-1,.py-sm-1{padding-top:.3rem!important}.pr-sm-1,.px-sm-1{padding-right:.3rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.3rem!important}.pl-sm-1,.px-sm-1{padding-left:.3rem!important}.p-sm-2{padding:.6rem!important}.pt-sm-2,.py-sm-2{padding-top:.6rem!important}.pr-sm-2,.px-sm-2{padding-right:.6rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.6rem!important}.pl-sm-2,.px-sm-2{padding-left:.6rem!important}.p-sm-3{padding:1.2rem!important}.pt-sm-3,.py-sm-3{padding-top:1.2rem!important}.pr-sm-3,.px-sm-3{padding-right:1.2rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1.2rem!important}.pl-sm-3,.px-sm-3{padding-left:1.2rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.3rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.3rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.3rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.3rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.3rem!important}.m-sm-n2{margin:-.6rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.6rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.6rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.6rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.6rem!important}.m-sm-n3{margin:-1.2rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1.2rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1.2rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1.2rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1.2rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.3rem!important}.mt-md-1,.my-md-1{margin-top:.3rem!important}.mr-md-1,.mx-md-1{margin-right:.3rem!important}.mb-md-1,.my-md-1{margin-bottom:.3rem!important}.ml-md-1,.mx-md-1{margin-left:.3rem!important}.m-md-2{margin:.6rem!important}.mt-md-2,.my-md-2{margin-top:.6rem!important}.mr-md-2,.mx-md-2{margin-right:.6rem!important}.mb-md-2,.my-md-2{margin-bottom:.6rem!important}.ml-md-2,.mx-md-2{margin-left:.6rem!important}.m-md-3{margin:1.2rem!important}.mt-md-3,.my-md-3{margin-top:1.2rem!important}.mr-md-3,.mx-md-3{margin-right:1.2rem!important}.mb-md-3,.my-md-3{margin-bottom:1.2rem!important}.ml-md-3,.mx-md-3{margin-left:1.2rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.3rem!important}.pt-md-1,.py-md-1{padding-top:.3rem!important}.pr-md-1,.px-md-1{padding-right:.3rem!important}.pb-md-1,.py-md-1{padding-bottom:.3rem!important}.pl-md-1,.px-md-1{padding-left:.3rem!important}.p-md-2{padding:.6rem!important}.pt-md-2,.py-md-2{padding-top:.6rem!important}.pr-md-2,.px-md-2{padding-right:.6rem!important}.pb-md-2,.py-md-2{padding-bottom:.6rem!important}.pl-md-2,.px-md-2{padding-left:.6rem!important}.p-md-3{padding:1.2rem!important}.pt-md-3,.py-md-3{padding-top:1.2rem!important}.pr-md-3,.px-md-3{padding-right:1.2rem!important}.pb-md-3,.py-md-3{padding-bottom:1.2rem!important}.pl-md-3,.px-md-3{padding-left:1.2rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.3rem!important}.mt-md-n1,.my-md-n1{margin-top:-.3rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.3rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.3rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.3rem!important}.m-md-n2{margin:-.6rem!important}.mt-md-n2,.my-md-n2{margin-top:-.6rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.6rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.6rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.6rem!important}.m-md-n3{margin:-1.2rem!important}.mt-md-n3,.my-md-n3{margin-top:-1.2rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1.2rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1.2rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1.2rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.3rem!important}.mt-lg-1,.my-lg-1{margin-top:.3rem!important}.mr-lg-1,.mx-lg-1{margin-right:.3rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.3rem!important}.ml-lg-1,.mx-lg-1{margin-left:.3rem!important}.m-lg-2{margin:.6rem!important}.mt-lg-2,.my-lg-2{margin-top:.6rem!important}.mr-lg-2,.mx-lg-2{margin-right:.6rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.6rem!important}.ml-lg-2,.mx-lg-2{margin-left:.6rem!important}.m-lg-3{margin:1.2rem!important}.mt-lg-3,.my-lg-3{margin-top:1.2rem!important}.mr-lg-3,.mx-lg-3{margin-right:1.2rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1.2rem!important}.ml-lg-3,.mx-lg-3{margin-left:1.2rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.3rem!important}.pt-lg-1,.py-lg-1{padding-top:.3rem!important}.pr-lg-1,.px-lg-1{padding-right:.3rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.3rem!important}.pl-lg-1,.px-lg-1{padding-left:.3rem!important}.p-lg-2{padding:.6rem!important}.pt-lg-2,.py-lg-2{padding-top:.6rem!important}.pr-lg-2,.px-lg-2{padding-right:.6rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.6rem!important}.pl-lg-2,.px-lg-2{padding-left:.6rem!important}.p-lg-3{padding:1.2rem!important}.pt-lg-3,.py-lg-3{padding-top:1.2rem!important}.pr-lg-3,.px-lg-3{padding-right:1.2rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1.2rem!important}.pl-lg-3,.px-lg-3{padding-left:1.2rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.3rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.3rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.3rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.3rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.3rem!important}.m-lg-n2{margin:-.6rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.6rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.6rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.6rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.6rem!important}.m-lg-n3{margin:-1.2rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1.2rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1.2rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1.2rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1.2rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.3rem!important}.mt-xl-1,.my-xl-1{margin-top:.3rem!important}.mr-xl-1,.mx-xl-1{margin-right:.3rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.3rem!important}.ml-xl-1,.mx-xl-1{margin-left:.3rem!important}.m-xl-2{margin:.6rem!important}.mt-xl-2,.my-xl-2{margin-top:.6rem!important}.mr-xl-2,.mx-xl-2{margin-right:.6rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.6rem!important}.ml-xl-2,.mx-xl-2{margin-left:.6rem!important}.m-xl-3{margin:1.2rem!important}.mt-xl-3,.my-xl-3{margin-top:1.2rem!important}.mr-xl-3,.mx-xl-3{margin-right:1.2rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1.2rem!important}.ml-xl-3,.mx-xl-3{margin-left:1.2rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.3rem!important}.pt-xl-1,.py-xl-1{padding-top:.3rem!important}.pr-xl-1,.px-xl-1{padding-right:.3rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.3rem!important}.pl-xl-1,.px-xl-1{padding-left:.3rem!important}.p-xl-2{padding:.6rem!important}.pt-xl-2,.py-xl-2{padding-top:.6rem!important}.pr-xl-2,.px-xl-2{padding-right:.6rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.6rem!important}.pl-xl-2,.px-xl-2{padding-left:.6rem!important}.p-xl-3{padding:1.2rem!important}.pt-xl-3,.py-xl-3{padding-top:1.2rem!important}.pr-xl-3,.px-xl-3{padding-right:1.2rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1.2rem!important}.pl-xl-3,.px-xl-3{padding-left:1.2rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.3rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.3rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.3rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.3rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.3rem!important}.m-xl-n2{margin:-.6rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.6rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.6rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.6rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.6rem!important}.m-xl-n3{margin:-1.2rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1.2rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1.2rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1.2rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1.2rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}@media (min-width:1920px){.m-xxl-0{margin:0!important}.mt-xxl-0,.my-xxl-0{margin-top:0!important}.mr-xxl-0,.mx-xxl-0{margin-right:0!important}.mb-xxl-0,.my-xxl-0{margin-bottom:0!important}.ml-xxl-0,.mx-xxl-0{margin-left:0!important}.m-xxl-1{margin:.3rem!important}.mt-xxl-1,.my-xxl-1{margin-top:.3rem!important}.mr-xxl-1,.mx-xxl-1{margin-right:.3rem!important}.mb-xxl-1,.my-xxl-1{margin-bottom:.3rem!important}.ml-xxl-1,.mx-xxl-1{margin-left:.3rem!important}.m-xxl-2{margin:.6rem!important}.mt-xxl-2,.my-xxl-2{margin-top:.6rem!important}.mr-xxl-2,.mx-xxl-2{margin-right:.6rem!important}.mb-xxl-2,.my-xxl-2{margin-bottom:.6rem!important}.ml-xxl-2,.mx-xxl-2{margin-left:.6rem!important}.m-xxl-3{margin:1.2rem!important}.mt-xxl-3,.my-xxl-3{margin-top:1.2rem!important}.mr-xxl-3,.mx-xxl-3{margin-right:1.2rem!important}.mb-xxl-3,.my-xxl-3{margin-bottom:1.2rem!important}.ml-xxl-3,.mx-xxl-3{margin-left:1.2rem!important}.m-xxl-4{margin:1.5rem!important}.mt-xxl-4,.my-xxl-4{margin-top:1.5rem!important}.mr-xxl-4,.mx-xxl-4{margin-right:1.5rem!important}.mb-xxl-4,.my-xxl-4{margin-bottom:1.5rem!important}.ml-xxl-4,.mx-xxl-4{margin-left:1.5rem!important}.m-xxl-5{margin:3rem!important}.mt-xxl-5,.my-xxl-5{margin-top:3rem!important}.mr-xxl-5,.mx-xxl-5{margin-right:3rem!important}.mb-xxl-5,.my-xxl-5{margin-bottom:3rem!important}.ml-xxl-5,.mx-xxl-5{margin-left:3rem!important}.p-xxl-0{padding:0!important}.pt-xxl-0,.py-xxl-0{padding-top:0!important}.pr-xxl-0,.px-xxl-0{padding-right:0!important}.pb-xxl-0,.py-xxl-0{padding-bottom:0!important}.pl-xxl-0,.px-xxl-0{padding-left:0!important}.p-xxl-1{padding:.3rem!important}.pt-xxl-1,.py-xxl-1{padding-top:.3rem!important}.pr-xxl-1,.px-xxl-1{padding-right:.3rem!important}.pb-xxl-1,.py-xxl-1{padding-bottom:.3rem!important}.pl-xxl-1,.px-xxl-1{padding-left:.3rem!important}.p-xxl-2{padding:.6rem!important}.pt-xxl-2,.py-xxl-2{padding-top:.6rem!important}.pr-xxl-2,.px-xxl-2{padding-right:.6rem!important}.pb-xxl-2,.py-xxl-2{padding-bottom:.6rem!important}.pl-xxl-2,.px-xxl-2{padding-left:.6rem!important}.p-xxl-3{padding:1.2rem!important}.pt-xxl-3,.py-xxl-3{padding-top:1.2rem!important}.pr-xxl-3,.px-xxl-3{padding-right:1.2rem!important}.pb-xxl-3,.py-xxl-3{padding-bottom:1.2rem!important}.pl-xxl-3,.px-xxl-3{padding-left:1.2rem!important}.p-xxl-4{padding:1.5rem!important}.pt-xxl-4,.py-xxl-4{padding-top:1.5rem!important}.pr-xxl-4,.px-xxl-4{padding-right:1.5rem!important}.pb-xxl-4,.py-xxl-4{padding-bottom:1.5rem!important}.pl-xxl-4,.px-xxl-4{padding-left:1.5rem!important}.p-xxl-5{padding:3rem!important}.pt-xxl-5,.py-xxl-5{padding-top:3rem!important}.pr-xxl-5,.px-xxl-5{padding-right:3rem!important}.pb-xxl-5,.py-xxl-5{padding-bottom:3rem!important}.pl-xxl-5,.px-xxl-5{padding-left:3rem!important}.m-xxl-n1{margin:-.3rem!important}.mt-xxl-n1,.my-xxl-n1{margin-top:-.3rem!important}.mr-xxl-n1,.mx-xxl-n1{margin-right:-.3rem!important}.mb-xxl-n1,.my-xxl-n1{margin-bottom:-.3rem!important}.ml-xxl-n1,.mx-xxl-n1{margin-left:-.3rem!important}.m-xxl-n2{margin:-.6rem!important}.mt-xxl-n2,.my-xxl-n2{margin-top:-.6rem!important}.mr-xxl-n2,.mx-xxl-n2{margin-right:-.6rem!important}.mb-xxl-n2,.my-xxl-n2{margin-bottom:-.6rem!important}.ml-xxl-n2,.mx-xxl-n2{margin-left:-.6rem!important}.m-xxl-n3{margin:-1.2rem!important}.mt-xxl-n3,.my-xxl-n3{margin-top:-1.2rem!important}.mr-xxl-n3,.mx-xxl-n3{margin-right:-1.2rem!important}.mb-xxl-n3,.my-xxl-n3{margin-bottom:-1.2rem!important}.ml-xxl-n3,.mx-xxl-n3{margin-left:-1.2rem!important}.m-xxl-n4{margin:-1.5rem!important}.mt-xxl-n4,.my-xxl-n4{margin-top:-1.5rem!important}.mr-xxl-n4,.mx-xxl-n4{margin-right:-1.5rem!important}.mb-xxl-n4,.my-xxl-n4{margin-bottom:-1.5rem!important}.ml-xxl-n4,.mx-xxl-n4{margin-left:-1.5rem!important}.m-xxl-n5{margin:-3rem!important}.mt-xxl-n5,.my-xxl-n5{margin-top:-3rem!important}.mr-xxl-n5,.mx-xxl-n5{margin-right:-3rem!important}.mb-xxl-n5,.my-xxl-n5{margin-bottom:-3rem!important}.ml-xxl-n5,.mx-xxl-n5{margin-left:-3rem!important}.m-xxl-auto{margin:auto!important}.mt-xxl-auto,.my-xxl-auto{margin-top:auto!important}.mr-xxl-auto,.mx-xxl-auto{margin-right:auto!important}.mb-xxl-auto,.my-xxl-auto{margin-bottom:auto!important}.ml-xxl-auto,.mx-xxl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1920px){.text-xxl-left{text-align:left!important}.text-xxl-right{text-align:right!important}.text-xxl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{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 #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}} -/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/public/css/dark-touchups.css b/public/css/dark-touchups.css deleted file mode 100644 index 6e9129a..0000000 --- a/public/css/dark-touchups.css +++ /dev/null @@ -1,36 +0,0 @@ -hr { - background-color: #555555; -} - -.nav-tabs .nav-link.active { - border-color: #9a9b9c #9a9b9c #0c0c0c !important; -} - -.data-tag { - color: #111 !important; - border-color: #cccccc !important; -} - -.data-tag.bg-dark { - background-color: #cccccc !important; -} - -.alert { - opacity: 0.8 !important; -} - -hr { - border-top: 1px solid rgba(255, 255, 255, 0.1) !important; -} - -.hljs-attr { - color: #eeeeee; -} - -.hljs, .hljs-subst { - color: #dddddd; -} - -.hljs-type, .hljs-string, .hljs-number, .hljs-selector-id, .hljs-selector-class, .hljs-quote, .hljs-template-tag, .hljs-deletion { - color: #95dbc6; -} \ No newline at end of file diff --git a/public/css/highlight.min.css b/public/css/highlight.min.css deleted file mode 100644 index 7d8be18..0000000 --- a/public/css/highlight.min.css +++ /dev/null @@ -1 +0,0 @@ -.hljs{display:block;overflow-x:auto;padding:0.5em;background:#F0F0F0}.hljs,.hljs-subst{color:#444}.hljs-comment{color:#888888}.hljs-keyword,.hljs-attribute,.hljs-selector-tag,.hljs-meta-keyword,.hljs-doctag,.hljs-name{font-weight:bold}.hljs-type,.hljs-string,.hljs-number,.hljs-selector-id,.hljs-selector-class,.hljs-quote,.hljs-template-tag,.hljs-deletion{color:#880000}.hljs-title,.hljs-section{color:#880000;font-weight:bold}.hljs-regexp,.hljs-symbol,.hljs-variable,.hljs-template-variable,.hljs-link,.hljs-selector-attr,.hljs-selector-pseudo{color:#BC6060}.hljs-literal{color:#78A960}.hljs-built_in,.hljs-bullet,.hljs-code,.hljs-addition{color:#397300}.hljs-meta{color:#1f7199}.hljs-meta-string{color:#4d99bf}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:bold} \ No newline at end of file diff --git a/public/css/styling.css b/public/css/styling.css deleted file mode 100755 index a2e1887..0000000 --- a/public/css/styling.css +++ /dev/null @@ -1,300 +0,0 @@ -body { - font-size: 14px; - font-family: "Ubuntu", sans-serif; - /*font: 14px 'Open Sans', "Lucida Grande", Helvetica, Arial, sans-serif;*/ -} - -hr { - margin: 5px 0 15px 0; -} - -img.header-image { - margin-top: -10px; - margin-bottom: -5px; - width: 30px; - height: 30px; - margin-right: 10px; -} - -code, .text-monospace { - font-family: "Source Code Pro", monospace !important; -} - -strong { - font-weight: 700 !important; -} - -h6, .h6 { - margin-bottom: 0 !important; -} - -.text-small { - font-size: 80%; -} - -.popover { - max-width: 1200px; -} - -.border-dotted { - border-bottom: 1px dotted #aaa; -} - -.data-tag { - color: white; - border-radius: 0.25rem; - padding: 3px 6px; -} - -.mb-tiny { - margin-bottom: 3px; -} - -.mb-huge { - margin-bottom: 200px; -} - -.user-message-markdown p { - margin-bottom: 0 !important; -} - - - -.nav-tabs .nav-link.active { - background-color: transparent; - border-color: #dee2e6 #dee2e6 #f8f9fa; -} - -pre { - white-space: pre-wrap; - white-space: -moz-pre-wrap; - white-space: -pre-wrap; - white-space: -o-pre-wrap; - word-wrap: break-word; - margin-bottom: 0; -} - -dd { - margin-bottom: 1rem; -} - -.word-wrap { - word-wrap: break-word; - word-break: break-all; -} - -#subheader a { - margin-right: 20px; -} - -.table th { - border-top: none; -} - -.dropdown-item:focus, .dropdown-item:hover { - background-color: #e3e3e3; -} - -#sub-menu a:hover { - text-decoration: underline; -} - -strong { - font-weight: 500; -} - - - -.xindex-summary table tbody th, .xindex-summary table tbody td { - padding: 0; - padding-top: 0.3rem; - padding-bottom: 0.3rem; -} - -.index-summary .summary-icon { - width: 20px; -} - - - -.summary-table-label, .summary-table-content, .summary-split-table-label, .summary-split-table-content { - position: relative; - width: 100%; - min-height: 1px; - padding-right: 5px; - padding-left: 15px; - margin-bottom: 5px; -} - -.tx-io-label, .tx-io-content, .tx-io-desc, .tx-io-value { - position: relative; - width: 100%; - min-height: 1px; - padding-right: 0px; - padding-left: 0px; - margin-bottom: 2px; - float: left; -} - -.summary-table-label, .summary-split-table-label { - font-weight: bold; -} - -.summary-table-content, .summary-split-table-content { - margin-bottom: 20px; -} - -@media (min-width: 576px) { - .summary-table-label { - max-width: 100%; - text-align: left; - } - .summary-table-content { - max-width: 100%; - margin-bottom: 20px; - } - - .summary-split-table-label { - max-width: 100%; - text-align: left; - } - .summary-split-table-content { - max-width: 100%; - margin-bottom: 20px; - } - - .tx-io-label { max-width: 100%; } - .tx-io-content { max-width: 100%; } - .tx-io-desc { max-width: 100%; } - .tx-io-value { max-width: 100%; } -} - -@media (min-width: 768px) { - .summary-table-label { - max-width: 18%; - text-align: right; - } - .summary-table-content { - max-width: 82%; - margin-bottom: 5px; - } - - .summary-split-table-label { - max-width: 36%; - text-align: right; - } - .summary-split-table-content { - max-width: 64%; - margin-bottom: 5px; - } - - .tx-io-label { max-width: 8%; } - .tx-io-content { max-width: 92%; } - .tx-io-desc { max-width: 65%; } - .tx-io-value { max-width: 35%; text-align: right; } -} - -@media (min-width: 992px) { - .summary-table-label { - max-width: 15%; - text-align: right; - } - .summary-table-content { - max-width: 85%; - margin-bottom: 5px; - } - - .summary-split-table-label { - max-width: 30%; - text-align: right; - } - .summary-split-table-content { - max-width: 70%; - margin-bottom: 5px; - } - - .tx-io-label { max-width: 11%; } - .tx-io-content { max-width: 89%; } - .tx-io-desc { max-width: 60%; } - .tx-io-value { max-width: 40%; text-align: right; } -} - -@media (min-width: 1200px) { - .container { - max-width: 1160px; - } - - .summary-table-label { - max-width: 13%; - text-align: right; - } - .summary-table-content { - max-width: 87%; - margin-bottom: 5px; - } - - .summary-split-table-label { - max-width: 24%; - text-align: right; - } - .summary-split-table-content { - max-width: 76%; - margin-bottom: 5px; - } - - .tx-io-label { max-width: 11%; } - .tx-io-content { max-width: 89%; } - .tx-io-desc { max-width: 69%; } - .tx-io-value { max-width: 31%; text-align: right; } -} - -@media (min-width: 1920px) { - .container { - max-width: 1800px; - } - - .summary-table-label { - max-width: 8%; - text-align: right; - } - .summary-table-content { - max-width: 92%; - margin-bottom: 5px; - } - - .summary-split-table-label { - max-width: 16%; - text-align: right; - } - .summary-split-table-content { - max-width: 84%; - margin-bottom: 5px; - } - - .tx-io-label { max-width: 7%; } - .tx-io-content { max-width: 93%; } - .tx-io-desc { max-width: 70%; } - .tx-io-value { max-width: 30%; text-align: right; } -} - - - - - -footer a { - color: #ddd; - text-decoration: underline; -} - -footer a:hover { - color: white; -} - -.table-striped>tbody>tr:nth-child(odd)>td, -.table-striped>tbody>tr:nth-child(odd)>th { - /*background-color: #fbfbfb;*/ -} - -.hljs-type, .hljs-string, .hljs-number, .hljs-selector-id, .hljs-selector-class, .hljs-quote, .hljs-template-tag, .hljs-deletion { - color: #3aa54f; -} \ No newline at end of file diff --git a/public/img/logo/signet.svg b/public/img/logo/btc-signet.svg similarity index 100% rename from public/img/logo/signet.svg rename to public/img/logo/btc-signet.svg diff --git a/public/img/logo/tbtc.svg b/public/img/logo/btc-testnet.svg similarity index 100% rename from public/img/logo/tbtc.svg rename to public/img/logo/btc-testnet.svg diff --git a/public/img/logo/btcpay.png b/public/img/logo/btcpay.png deleted file mode 100644 index 99c48e04592017193d08abffd86fdea95eb78b2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2394 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 M07*qoM6N<$g2_yVwg3PC diff --git a/public/img/logo/lightning.svg b/public/img/logo/lightning.svg deleted file mode 100644 index 7065caf..0000000 --- a/public/img/logo/lightning.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - diff --git a/public/img/logo/lnd-admin.png b/public/img/logo/lnd-admin.png deleted file mode 100644 index fb37da8956af63e2f2ac4a235a5b755022837ea0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9125 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 diff --git a/public/img/logo/logo-regtest.svg b/public/img/logo/logo-regtest.svg new file mode 100644 index 0000000..540030b --- /dev/null +++ b/public/img/logo/logo-regtest.svg @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/public/img/logo/logo-signet.svg b/public/img/logo/logo-signet.svg new file mode 100644 index 0000000..64fecfc --- /dev/null +++ b/public/img/logo/logo-signet.svg @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/public/img/logo/logo-testnet.svg b/public/img/logo/logo-testnet.svg new file mode 100644 index 0000000..1a37784 --- /dev/null +++ b/public/img/logo/logo-testnet.svg @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/public/img/logo/logo.svg b/public/img/logo/logo.svg new file mode 100644 index 0000000..fe47591 --- /dev/null +++ b/public/img/logo/logo.svg @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/public/img/logo/ltc.png b/public/img/logo/ltc.png deleted file mode 100644 index 0391c072d3d504ad7d865b2324d0651a79bb4162..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 886 zcmV-+1Bv{JP)z`MJ^ySu==yuZA>z`MJ{zP`Y`yuiD=z`VS_ zySv21#KFA0z`VS_zrVk`yTH7>|NsBMy}iJ@yTrS@zq`A_zP`Y_yTQA=|NsBMy}iJ@ zyX)%e|NsBu;oFMO+;?&X6%E!mV!NJged@7?Ca~u#KgzM z#Psy^=jP_d!oud|<=52IKiS9v0000VbW%=J02NbyrOV&!`7@2u{{Ibg)ewO00b%MM z#5?I?1CFumHYKqD00HhvL_t(|0i4z2g6vQb1mGUTsj=DDwr$(*|0LJJ>{bW+{SMDL zT_u)Av(`abvAmem?CSbOjI0R~vOx6I@VNDzXH~2sQe14B=;@EL;!+-hE1$9Cb zCt>NzA3ac~G;tc1-rxK~*%F+A=}%6Epw4RQ9895zM4--V;sR`uNFxSyQ4^P7iyP7e zcUcoxP@pL-P**i|4Fy`#26bH%H*Q|J1yfrbP`5R4=dRv^$q^US9nIW_%@q&KJza6vVsV28$_Gt+{IugU2^0zWAW&aO zq>)hlq#OySfX4b$rARpSc(Hs{%QsRiq}txA;RdNTQm${+@|~0`srNT(`C-)iuhQ#4 z000000LcHf2p2RknmCWFXWm2esr%S&?teJGJfE&_-^VlS8~Kj@1N>6k|8S$RW&i*H M07*qoM6N<$g7~BRIsgCw diff --git a/public/img/logo/ltc.svg b/public/img/logo/ltc.svg deleted file mode 100644 index 65625dd..0000000 --- a/public/img/logo/ltc.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/public/img/qr-ltc.png b/public/img/qr-ltc.png deleted file mode 100644 index 2983a956669ae36a83a9085736f381777a07123d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1324 zcmZuxUq};i9KSn{(S(6D2=oY6qI>d1nTKIIO{*hwbF7yhw1>HeA&u-04VI3OAfg;x zBwMzj?!o!cL(+pV5?^X!d#KifAlkzk1qHJCVvN@3dpGYc2=?1=clW#R_w(<&NABT^ zminf8hG8tyr2!B2XS9x)@O`J7$z$WBfj;j&_Gi=7Cx+p_(bcbwzNdoJz;Enx)#~`z zsj}C(B(FA~{;)smZR<*3yX|@NJr(#UeOZ)O2JKfL53ihj>1{jv-v{?gC!)!epDR6# z+ao*6F|0MVB21DnAtyK!?hZB<84BE>m7m~V|Ipeb!;MjUzMJ)VI@q<5 zTXjCJ#76~3kO}qYM7_JbJ|7pAx7DMud?lyBJJ{?sWm82{mM>uUbM0wr_NPUo@Vl^; z4_l*BjxU%UqBFs?r?*o@QKxL*id6i8R-5Q-b*Sgmg2B5-Y|d1gs|_|8Ai5XODODVs zJbJX~8m+ZVFq2DuPuTTIG}kEl70ftj2S`PRd}g6&cA(10szLG$@1tT?5Z)t$EQ&I< z-RCL4(-N>hTd~zU_0i;Du1hS!^R?*k8RAcekpjUYS3bxl_kWaayps7}A_FgBw-=3eIa|DUSy_F*wj( z$|=!DKWkvuU6wT!4>spm)UTSe_y{mFtOM>je6L7`;*=?BK#Sa1}AqjxciG#v<^Hm{TkJyJ8%slcYDtHwod dsY#{V+8bMOjDFoXm%`s4BMlA@yz0OH;4cE%K+^yK diff --git a/public/img/screenshots/homepage-v3.png b/public/img/screenshots/homepage-v3.png new file mode 100644 index 0000000000000000000000000000000000000000..77907cd43d7be1cc69182a6e91294f835397fc33 GIT binary patch literal 333009 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μ^TgiY#}^ro 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

{ifp5Db2_i;HNJ95sb^3ow_&r^J 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%0D7K28zRrO|2FJCWeSGmS7` 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.floor(1e6*Math.random())}while(document.getElementById(t));return t},e=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i="#"+i.split("#")[1]),e=i&&"#"!==i?i.trim():null}return e},i=t=>{const i=e(t);return i&&document.querySelector(i)?i:null},s=t=>{const i=e(t);return i?document.querySelector(i):null},n=t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const s=Number.parseFloat(e),n=Number.parseFloat(i);return s||n?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0},o=t=>{t.dispatchEvent(new Event("transitionend"))},r=t=>(t[0]||t).nodeType,a=(t,e)=>{let i=!1;const s=e+5;t.addEventListener("transitionend",(function e(){i=!0,t.removeEventListener("transitionend",e)})),setTimeout(()=>{i||o(t)},s)},l=(t,e,i)=>{Object.keys(i).forEach(s=>{const n=i[s],o=e[s],a=o&&r(o)?"element":null==(l=o)?""+l:{}.toString.call(l).match(/\s([a-z]+)/i)[1].toLowerCase();var l;if(!new RegExp(n).test(a))throw new TypeError(t.toUpperCase()+": "+`Option "${s}" provided type "${a}" `+`but expected type "${n}".`)})},c=t=>{if(!t)return!1;if(t.style&&t.parentNode&&t.parentNode.style){const e=getComputedStyle(t),i=getComputedStyle(t.parentNode);return"none"!==e.display&&"none"!==i.display&&"hidden"!==e.visibility}return!1},d=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),h=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?h(t.parentNode):null},f=()=>function(){},u=t=>t.offsetHeight,p=()=>{const{jQuery:t}=window;return t&&!document.body.hasAttribute("data-bs-no-jquery")?t:null},g=()=>"rtl"===document.documentElement.dir,m=(t,e)=>{var i;i=()=>{const i=p();if(i){const s=i.fn[t];i.fn[t]=e.jQueryInterface,i.fn[t].Constructor=e,i.fn[t].noConflict=()=>(i.fn[t]=s,e.jQueryInterface)}},"loading"===document.readyState?document.addEventListener("DOMContentLoaded",i):i()},_=new Map;var b={set(t,e,i){_.has(t)||_.set(t,new Map);const s=_.get(t);s.has(e)||0===s.size?s.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(t,e)=>_.has(t)&&_.get(t).get(e)||null,remove(t,e){if(!_.has(t))return;const i=_.get(t);i.delete(e),0===i.size&&_.delete(t)}};const v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,E={};let T=1;const A={mouseenter:"mouseover",mouseleave:"mouseout"},L=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${T++}`||t.uidEvent||T++}function k(t){const e=O(t);return t.uidEvent=e,E[e]=E[e]||{},E[e]}function D(t,e,i=null){const s=Object.keys(t);for(let n=0,o=s.length;n{!function(t,e,i,s){const n=e[i]||{};Object.keys(n).forEach(o=>{if(o.includes(s)){const s=n[o];S(t,e,i,s.originalHandler,s.delegationSelector)}})}(t,l,i,e.slice(1))});const d=l[r]||{};Object.keys(d).forEach(i=>{const s=i.replace(w,"");if(!a||e.includes(s)){const e=d[i];S(t,l,r,e.originalHandler,e.delegationSelector)}})},trigger(t,e,i){if("string"!=typeof e||!t)return null;const s=p(),n=e.replace(y,""),o=e!==n,r=L.has(n);let a,l=!0,c=!0,d=!1,h=null;return o&&s&&(a=s.Event(e,i),s(t).trigger(a),l=!a.isPropagationStopped(),c=!a.isImmediatePropagationStopped(),d=a.isDefaultPrevented()),r?(h=document.createEvent("HTMLEvents"),h.initEvent(n,l,!0)):h=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==i&&Object.keys(i).forEach(t=>{Object.defineProperty(h,t,{get:()=>i[t]})}),d&&h.preventDefault(),c&&t.dispatchEvent(h),h.defaultPrevented&&void 0!==a&&a.preventDefault(),h}};class j{constructor(t){(t="string"==typeof t?document.querySelector(t):t)&&(this._element=t,b.set(this._element,this.constructor.DATA_KEY,this))}dispose(){b.remove(this._element,this.constructor.DATA_KEY),this._element=null}static getInstance(t){return b.get(t,this.DATA_KEY)}static get VERSION(){return"5.0.0-beta3"}}class P extends j{static get DATA_KEY(){return"bs.alert"}close(t){const e=t?this._getRootElement(t):this._element,i=this._triggerCloseEvent(e);null===i||i.defaultPrevented||this._removeElement(e)}_getRootElement(t){return s(t)||t.closest(".alert")}_triggerCloseEvent(t){return N.trigger(t,"close.bs.alert")}_removeElement(t){if(t.classList.remove("show"),!t.classList.contains("fade"))return void this._destroyElement(t);const e=n(t);N.one(t,"transitionend",()=>this._destroyElement(t)),a(t,e)}_destroyElement(t){t.parentNode&&t.parentNode.removeChild(t),N.trigger(t,"closed.bs.alert")}static jQueryInterface(t){return this.each((function(){let e=b.get(this,"bs.alert");e||(e=new P(this)),"close"===t&&e[t](this)}))}static handleDismiss(t){return function(e){e&&e.preventDefault(),t.close(this)}}}N.on(document,"click.bs.alert.data-api",'[data-bs-dismiss="alert"]',P.handleDismiss(new P)),m("alert",P);class I extends j{static get DATA_KEY(){return"bs.button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){let e=b.get(this,"bs.button");e||(e=new I(this)),"toggle"===t&&e[t]()}))}}function M(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function R(t){return t.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}N.on(document,"click.bs.button.data-api",'[data-bs-toggle="button"]',t=>{t.preventDefault();const e=t.target.closest('[data-bs-toggle="button"]');let i=b.get(e,"bs.button");i||(i=new I(e)),i.toggle()}),m("button",I);const B={setDataAttribute(t,e,i){t.setAttribute("data-bs-"+R(e),i)},removeDataAttribute(t,e){t.removeAttribute("data-bs-"+R(e))},getDataAttributes(t){if(!t)return{};const e={};return Object.keys(t.dataset).filter(t=>t.startsWith("bs")).forEach(i=>{let s=i.replace(/^bs/,"");s=s.charAt(0).toLowerCase()+s.slice(1,s.length),e[s]=M(t.dataset[i])}),e},getDataAttribute:(t,e)=>M(t.getAttribute("data-bs-"+R(e))),offset(t){const e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:t=>({top:t.offsetTop,left:t.offsetLeft})},H={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter(t=>t.matches(e)),parents(t,e){const i=[];let s=t.parentNode;for(;s&&s.nodeType===Node.ELEMENT_NODE&&3!==s.nodeType;)s.matches(e)&&i.push(s),s=s.parentNode;return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]}},W={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},U={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},$="next",F="prev",z="left",K="right";class Y extends j{constructor(t,e){super(t),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._indicatorsElement=H.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners()}static get Default(){return W}static get DATA_KEY(){return"bs.carousel"}next(){this._isSliding||this._slide($)}nextWhenVisible(){!document.hidden&&c(this._element)&&this.next()}prev(){this._isSliding||this._slide(F)}pause(t){t||(this._isPaused=!0),H.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(o(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(t){this._activeElement=H.findOne(".active.carousel-item",this._element);const e=this._getItemIndex(this._activeElement);if(t>this._items.length-1||t<0)return;if(this._isSliding)return void N.one(this._element,"slid.bs.carousel",()=>this.to(t));if(e===t)return this.pause(),void this.cycle();const i=t>e?$:F;this._slide(i,this._items[t])}dispose(){N.off(this._element,".bs.carousel"),this._items=null,this._config=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null,super.dispose()}_getConfig(t){return t={...W,...t},l("carousel",t,U),t}_handleSwipe(){const t=Math.abs(this.touchDeltaX);if(t<=40)return;const e=t/this.touchDeltaX;this.touchDeltaX=0,e&&this._slide(e>0?K:z)}_addEventListeners(){this._config.keyboard&&N.on(this._element,"keydown.bs.carousel",t=>this._keydown(t)),"hover"===this._config.pause&&(N.on(this._element,"mouseenter.bs.carousel",t=>this.pause(t)),N.on(this._element,"mouseleave.bs.carousel",t=>this.cycle(t))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const t=t=>{!this._pointerEvent||"pen"!==t.pointerType&&"touch"!==t.pointerType?this._pointerEvent||(this.touchStartX=t.touches[0].clientX):this.touchStartX=t.clientX},e=t=>{this.touchDeltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this.touchStartX},i=t=>{!this._pointerEvent||"pen"!==t.pointerType&&"touch"!==t.pointerType||(this.touchDeltaX=t.clientX-this.touchStartX),this._handleSwipe(),"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(t=>this.cycle(t),500+this._config.interval))};H.find(".carousel-item img",this._element).forEach(t=>{N.on(t,"dragstart.bs.carousel",t=>t.preventDefault())}),this._pointerEvent?(N.on(this._element,"pointerdown.bs.carousel",e=>t(e)),N.on(this._element,"pointerup.bs.carousel",t=>i(t)),this._element.classList.add("pointer-event")):(N.on(this._element,"touchstart.bs.carousel",e=>t(e)),N.on(this._element,"touchmove.bs.carousel",t=>e(t)),N.on(this._element,"touchend.bs.carousel",t=>i(t)))}_keydown(t){/input|textarea/i.test(t.target.tagName)||("ArrowLeft"===t.key?(t.preventDefault(),this._slide(z)):"ArrowRight"===t.key&&(t.preventDefault(),this._slide(K)))}_getItemIndex(t){return this._items=t&&t.parentNode?H.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)}_getItemByOrder(t,e){const i=t===$,s=t===F,n=this._getItemIndex(e),o=this._items.length-1;if((s&&0===n||i&&n===o)&&!this._config.wrap)return e;const r=(n+(s?-1:1))%this._items.length;return-1===r?this._items[this._items.length-1]:this._items[r]}_triggerSlideEvent(t,e){const i=this._getItemIndex(t),s=this._getItemIndex(H.findOne(".active.carousel-item",this._element));return N.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:s,to:i})}_setActiveIndicatorElement(t){if(this._indicatorsElement){const e=H.findOne(".active",this._indicatorsElement);e.classList.remove("active"),e.removeAttribute("aria-current");const i=H.find("[data-bs-target]",this._indicatorsElement);for(let e=0;e{r.classList.remove(h,f),r.classList.add("active"),s.classList.remove("active",f,h),this._isSliding=!1,setTimeout(()=>{N.trigger(this._element,"slid.bs.carousel",{relatedTarget:r,direction:p,from:o,to:l})},0)}),a(s,t)}else s.classList.remove("active"),r.classList.add("active"),this._isSliding=!1,N.trigger(this._element,"slid.bs.carousel",{relatedTarget:r,direction:p,from:o,to:l});c&&this.cycle()}}_directionToOrder(t){return[K,z].includes(t)?g()?t===K?F:$:t===K?$:F:t}_orderToDirection(t){return[$,F].includes(t)?g()?t===$?z:K:t===$?K:z:t}static carouselInterface(t,e){let i=b.get(t,"bs.carousel"),s={...W,...B.getDataAttributes(t)};"object"==typeof e&&(s={...s,...e});const n="string"==typeof e?e:s.slide;if(i||(i=new Y(t,s)),"number"==typeof e)i.to(e);else if("string"==typeof n){if(void 0===i[n])throw new TypeError(`No method named "${n}"`);i[n]()}else s.interval&&s.ride&&(i.pause(),i.cycle())}static jQueryInterface(t){return this.each((function(){Y.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e=s(this);if(!e||!e.classList.contains("carousel"))return;const i={...B.getDataAttributes(e),...B.getDataAttributes(this)},n=this.getAttribute("data-bs-slide-to");n&&(i.interval=!1),Y.carouselInterface(e,i),n&&b.get(e,"bs.carousel").to(n),t.preventDefault()}}N.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",Y.dataApiClickHandler),N.on(window,"load.bs.carousel.data-api",()=>{const t=H.find('[data-bs-ride="carousel"]');for(let e=0,i=t.length;et===this._element);null!==n&&o.length&&(this._selector=n,this._triggerArray.push(e))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}static get Default(){return q}static get DATA_KEY(){return"bs.collapse"}toggle(){this._element.classList.contains("show")?this.hide():this.show()}show(){if(this._isTransitioning||this._element.classList.contains("show"))return;let t,e;this._parent&&(t=H.find(".show, .collapsing",this._parent).filter(t=>"string"==typeof this._config.parent?t.getAttribute("data-bs-parent")===this._config.parent:t.classList.contains("collapse")),0===t.length&&(t=null));const i=H.findOne(this._selector);if(t){const s=t.find(t=>i!==t);if(e=s?b.get(s,"bs.collapse"):null,e&&e._isTransitioning)return}if(N.trigger(this._element,"show.bs.collapse").defaultPrevented)return;t&&t.forEach(t=>{i!==t&&X.collapseInterface(t,"hide"),e||b.set(t,"bs.collapse",null)});const s=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[s]=0,this._triggerArray.length&&this._triggerArray.forEach(t=>{t.classList.remove("collapsed"),t.setAttribute("aria-expanded",!0)}),this.setTransitioning(!0);const o="scroll"+(s[0].toUpperCase()+s.slice(1)),r=n(this._element);N.one(this._element,"transitionend",()=>{this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[s]="",this.setTransitioning(!1),N.trigger(this._element,"shown.bs.collapse")}),a(this._element,r),this._element.style[s]=this._element[o]+"px"}hide(){if(this._isTransitioning||!this._element.classList.contains("show"))return;if(N.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=this._element.getBoundingClientRect()[t]+"px",u(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");const e=this._triggerArray.length;if(e>0)for(let t=0;t{this.setTransitioning(!1),this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),N.trigger(this._element,"hidden.bs.collapse")}),a(this._element,i)}setTransitioning(t){this._isTransitioning=t}dispose(){super.dispose(),this._config=null,this._parent=null,this._triggerArray=null,this._isTransitioning=null}_getConfig(t){return(t={...q,...t}).toggle=Boolean(t.toggle),l("collapse",t,V),t}_getDimension(){return this._element.classList.contains("width")?"width":"height"}_getParent(){let{parent:t}=this._config;r(t)?void 0===t.jquery&&void 0===t[0]||(t=t[0]):t=H.findOne(t);const e=`[data-bs-toggle="collapse"][data-bs-parent="${t}"]`;return H.find(e,t).forEach(t=>{const e=s(t);this._addAriaAndCollapsedClass(e,[t])}),t}_addAriaAndCollapsedClass(t,e){if(!t||!e.length)return;const i=t.classList.contains("show");e.forEach(t=>{i?t.classList.remove("collapsed"):t.classList.add("collapsed"),t.setAttribute("aria-expanded",i)})}static collapseInterface(t,e){let i=b.get(t,"bs.collapse");const s={...q,...B.getDataAttributes(t),..."object"==typeof e&&e?e:{}};if(!i&&s.toggle&&"string"==typeof e&&/show|hide/.test(e)&&(s.toggle=!1),i||(i=new X(t,s)),"string"==typeof e){if(void 0===i[e])throw new TypeError(`No method named "${e}"`);i[e]()}}static jQueryInterface(t){return this.each((function(){X.collapseInterface(this,t)}))}}N.on(document,"click.bs.collapse.data-api",'[data-bs-toggle="collapse"]',(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=B.getDataAttributes(this),s=i(this);H.find(s).forEach(t=>{const i=b.get(t,"bs.collapse");let s;i?(null===i._parent&&"string"==typeof e.parent&&(i._config.parent=e.parent,i._parent=i._getParent()),s="toggle"):s=e,X.collapseInterface(t,s)})})),m("collapse",X);var Q="top",G="bottom",Z="right",J="left",tt=[Q,G,Z,J],et=tt.reduce((function(t,e){return t.concat([e+"-start",e+"-end"])}),[]),it=[].concat(tt,["auto"]).reduce((function(t,e){return t.concat([e,e+"-start",e+"-end"])}),[]),st=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function nt(t){return t?(t.nodeName||"").toLowerCase():null}function ot(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function rt(t){return t instanceof ot(t).Element||t instanceof Element}function at(t){return t instanceof ot(t).HTMLElement||t instanceof HTMLElement}function lt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof ot(t).ShadowRoot||t instanceof ShadowRoot)}var ct={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},s=e.attributes[t]||{},n=e.elements[t];at(n)&&nt(n)&&(Object.assign(n.style,i),Object.keys(s).forEach((function(t){var e=s[t];!1===e?n.removeAttribute(t):n.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var s=e.elements[t],n=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});at(s)&&nt(s)&&(Object.assign(s.style,o),Object.keys(n).forEach((function(t){s.removeAttribute(t)})))}))}},requires:["computeStyles"]};function dt(t){return t.split("-")[0]}function ht(t){var e=t.getBoundingClientRect();return{width:e.width,height:e.height,top:e.top,right:e.right,bottom:e.bottom,left:e.left,x:e.left,y:e.top}}function ft(t){var e=ht(t),i=t.offsetWidth,s=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-s)<=1&&(s=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:s}}function ut(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&<(i)){var s=e;do{if(s&&t.isSameNode(s))return!0;s=s.parentNode||s.host}while(s)}return!1}function pt(t){return ot(t).getComputedStyle(t)}function gt(t){return["table","td","th"].indexOf(nt(t))>=0}function mt(t){return((rt(t)?t.ownerDocument:t.document)||window.document).documentElement}function _t(t){return"html"===nt(t)?t:t.assignedSlot||t.parentNode||(lt(t)?t.host:null)||mt(t)}function bt(t){return at(t)&&"fixed"!==pt(t).position?t.offsetParent:null}function vt(t){for(var e=ot(t),i=bt(t);i&>(i)&&"static"===pt(i).position;)i=bt(i);return i&&("html"===nt(i)||"body"===nt(i)&&"static"===pt(i).position)?e:i||function(t){for(var e=-1!==navigator.userAgent.toLowerCase().indexOf("firefox"),i=_t(t);at(i)&&["html","body"].indexOf(nt(i))<0;){var s=pt(i);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||e&&"filter"===s.willChange||e&&s.filter&&"none"!==s.filter)return i;i=i.parentNode}return null}(t)||e}function yt(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}var wt=Math.max,Et=Math.min,Tt=Math.round;function At(t,e,i){return wt(t,Et(e,i))}function Lt(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Ot(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}var kt={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,s=t.name,n=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=dt(i.placement),l=yt(a),c=[J,Z].indexOf(a)>=0?"height":"width";if(o&&r){var d=function(t,e){return Lt("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:Ot(t,tt))}(n.padding,i),h=ft(o),f="y"===l?Q:J,u="y"===l?G:Z,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],g=r[l]-i.rects.reference[l],m=vt(o),_=m?"y"===l?m.clientHeight||0:m.clientWidth||0:0,b=p/2-g/2,v=d[f],y=_-h[c]-d[u],w=_/2-h[c]/2+b,E=At(v,w,y),T=l;i.modifiersData[s]=((e={})[T]=E,e.centerOffset=E-w,e)}},effect:function(t){var e=t.state,i=t.options.element,s=void 0===i?"[data-popper-arrow]":i;null!=s&&("string"!=typeof s||(s=e.elements.popper.querySelector(s)))&&ut(e.elements.popper,s)&&(e.elements.arrow=s)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},Dt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function xt(t){var e,i=t.popper,s=t.popperRect,n=t.placement,o=t.offsets,r=t.position,a=t.gpuAcceleration,l=t.adaptive,c=t.roundOffsets,d=!0===c?function(t){var e=t.x,i=t.y,s=window.devicePixelRatio||1;return{x:Tt(Tt(e*s)/s)||0,y:Tt(Tt(i*s)/s)||0}}(o):"function"==typeof c?c(o):o,h=d.x,f=void 0===h?0:h,u=d.y,p=void 0===u?0:u,g=o.hasOwnProperty("x"),m=o.hasOwnProperty("y"),_=J,b=Q,v=window;if(l){var y=vt(i),w="clientHeight",E="clientWidth";y===ot(i)&&"static"!==pt(y=mt(i)).position&&(w="scrollHeight",E="scrollWidth"),y=y,n===Q&&(b=G,p-=y[w]-s.height,p*=a?1:-1),n===J&&(_=Z,f-=y[E]-s.width,f*=a?1:-1)}var T,A=Object.assign({position:r},l&&Dt);return a?Object.assign({},A,((T={})[b]=m?"0":"",T[_]=g?"0":"",T.transform=(v.devicePixelRatio||1)<2?"translate("+f+"px, "+p+"px)":"translate3d("+f+"px, "+p+"px, 0)",T)):Object.assign({},A,((e={})[b]=m?p+"px":"",e[_]=g?f+"px":"",e.transform="",e))}var Ct={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,s=i.gpuAcceleration,n=void 0===s||s,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:dt(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:n};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,xt(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,xt(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}},St={passive:!0},Nt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,s=t.options,n=s.scroll,o=void 0===n||n,r=s.resize,a=void 0===r||r,l=ot(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,St)})),a&&l.addEventListener("resize",i.update,St),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,St)})),a&&l.removeEventListener("resize",i.update,St)}},data:{}},jt={left:"right",right:"left",bottom:"top",top:"bottom"};function Pt(t){return t.replace(/left|right|bottom|top/g,(function(t){return jt[t]}))}var It={start:"end",end:"start"};function Mt(t){return t.replace(/start|end/g,(function(t){return It[t]}))}function Rt(t){var e=ot(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Bt(t){return ht(mt(t)).left+Rt(t).scrollLeft}function Ht(t){var e=pt(t),i=e.overflow,s=e.overflowX,n=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+n+s)}function Wt(t,e){var i;void 0===e&&(e=[]);var s=function t(e){return["html","body","#document"].indexOf(nt(e))>=0?e.ownerDocument.body:at(e)&&Ht(e)?e:t(_t(e))}(t),n=s===(null==(i=t.ownerDocument)?void 0:i.body),o=ot(s),r=n?[o].concat(o.visualViewport||[],Ht(s)?s:[]):s,a=e.concat(r);return n?a:a.concat(Wt(_t(r)))}function Ut(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function $t(t,e){return"viewport"===e?Ut(function(t){var e=ot(t),i=mt(t),s=e.visualViewport,n=i.clientWidth,o=i.clientHeight,r=0,a=0;return s&&(n=s.width,o=s.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(r=s.offsetLeft,a=s.offsetTop)),{width:n,height:o,x:r+Bt(t),y:a}}(t)):at(e)?function(t){var e=ht(t);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}(e):Ut(function(t){var e,i=mt(t),s=Rt(t),n=null==(e=t.ownerDocument)?void 0:e.body,o=wt(i.scrollWidth,i.clientWidth,n?n.scrollWidth:0,n?n.clientWidth:0),r=wt(i.scrollHeight,i.clientHeight,n?n.scrollHeight:0,n?n.clientHeight:0),a=-s.scrollLeft+Bt(t),l=-s.scrollTop;return"rtl"===pt(n||i).direction&&(a+=wt(i.clientWidth,n?n.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(mt(t)))}function Ft(t){return t.split("-")[1]}function zt(t){var e,i=t.reference,s=t.element,n=t.placement,o=n?dt(n):null,r=n?Ft(n):null,a=i.x+i.width/2-s.width/2,l=i.y+i.height/2-s.height/2;switch(o){case Q:e={x:a,y:i.y-s.height};break;case G:e={x:a,y:i.y+i.height};break;case Z:e={x:i.x+i.width,y:l};break;case J:e={x:i.x-s.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?yt(o):null;if(null!=c){var d="y"===c?"height":"width";switch(r){case"start":e[c]=e[c]-(i[d]/2-s[d]/2);break;case"end":e[c]=e[c]+(i[d]/2-s[d]/2)}}return e}function Kt(t,e){void 0===e&&(e={});var i=e,s=i.placement,n=void 0===s?t.placement:s,o=i.boundary,r=void 0===o?"clippingParents":o,a=i.rootBoundary,l=void 0===a?"viewport":a,c=i.elementContext,d=void 0===c?"popper":c,h=i.altBoundary,f=void 0!==h&&h,u=i.padding,p=void 0===u?0:u,g=Lt("number"!=typeof p?p:Ot(p,tt)),m="popper"===d?"reference":"popper",_=t.elements.reference,b=t.rects.popper,v=t.elements[f?m:d],y=function(t,e,i){var s="clippingParents"===e?function(t){var e=Wt(_t(t)),i=["absolute","fixed"].indexOf(pt(t).position)>=0&&at(t)?vt(t):t;return rt(i)?e.filter((function(t){return rt(t)&&ut(t,i)&&"body"!==nt(t)})):[]}(t):[].concat(e),n=[].concat(s,[i]),o=n[0],r=n.reduce((function(e,i){var s=$t(t,i);return e.top=wt(s.top,e.top),e.right=Et(s.right,e.right),e.bottom=Et(s.bottom,e.bottom),e.left=wt(s.left,e.left),e}),$t(t,o));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}(rt(v)?v:v.contextElement||mt(t.elements.popper),r,l),w=ht(_),E=zt({reference:w,element:b,strategy:"absolute",placement:n}),T=Ut(Object.assign({},b,E)),A="popper"===d?T:w,L={top:y.top-A.top+g.top,bottom:A.bottom-y.bottom+g.bottom,left:y.left-A.left+g.left,right:A.right-y.right+g.right},O=t.modifiersData.offset;if("popper"===d&&O){var k=O[n];Object.keys(L).forEach((function(t){var e=[Z,G].indexOf(t)>=0?1:-1,i=[Q,G].indexOf(t)>=0?"y":"x";L[t]+=k[i]*e}))}return L}function Yt(t,e){void 0===e&&(e={});var i=e,s=i.placement,n=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?it:l,d=Ft(s),h=d?a?et:et.filter((function(t){return Ft(t)===d})):tt,f=h.filter((function(t){return c.indexOf(t)>=0}));0===f.length&&(f=h);var u=f.reduce((function(e,i){return e[i]=Kt(t,{placement:i,boundary:n,rootBoundary:o,padding:r})[dt(i)],e}),{});return Object.keys(u).sort((function(t,e){return u[t]-u[e]}))}var qt={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,s=t.name;if(!e.modifiersData[s]._skip){for(var n=i.mainAxis,o=void 0===n||n,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,d=i.boundary,h=i.rootBoundary,f=i.altBoundary,u=i.flipVariations,p=void 0===u||u,g=i.allowedAutoPlacements,m=e.options.placement,_=dt(m),b=l||(_!==m&&p?function(t){if("auto"===dt(t))return[];var e=Pt(t);return[Mt(t),e,Mt(e)]}(m):[Pt(m)]),v=[m].concat(b).reduce((function(t,i){return t.concat("auto"===dt(i)?Yt(e,{placement:i,boundary:d,rootBoundary:h,padding:c,flipVariations:p,allowedAutoPlacements:g}):i)}),[]),y=e.rects.reference,w=e.rects.popper,E=new Map,T=!0,A=v[0],L=0;L=0,C=x?"width":"height",S=Kt(e,{placement:O,boundary:d,rootBoundary:h,altBoundary:f,padding:c}),N=x?D?Z:J:D?G:Q;y[C]>w[C]&&(N=Pt(N));var j=Pt(N),P=[];if(o&&P.push(S[k]<=0),a&&P.push(S[N]<=0,S[j]<=0),P.every((function(t){return t}))){A=O,T=!1;break}E.set(O,P)}if(T)for(var I=function(t){var e=v.find((function(e){var i=E.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return A=e,"break"},M=p?3:1;M>0&&"break"!==I(M);M--);e.placement!==A&&(e.modifiersData[s]._skip=!0,e.placement=A,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Vt(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function Xt(t){return[Q,Z,G,J].some((function(e){return t[e]>=0}))}var Qt={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,s=e.rects.reference,n=e.rects.popper,o=e.modifiersData.preventOverflow,r=Kt(e,{elementContext:"reference"}),a=Kt(e,{altBoundary:!0}),l=Vt(r,s),c=Vt(a,n,o),d=Xt(l),h=Xt(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:d,hasPopperEscaped:h},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":h})}},Gt={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,s=t.name,n=i.offset,o=void 0===n?[0,0]:n,r=it.reduce((function(t,i){return t[i]=function(t,e,i){var s=dt(t),n=[J,Q].indexOf(s)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*n,[J,Z].indexOf(s)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[s]=r}},Zt={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=zt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},Jt={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,s=t.name,n=i.mainAxis,o=void 0===n||n,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,d=i.altBoundary,h=i.padding,f=i.tether,u=void 0===f||f,p=i.tetherOffset,g=void 0===p?0:p,m=Kt(e,{boundary:l,rootBoundary:c,padding:h,altBoundary:d}),_=dt(e.placement),b=Ft(e.placement),v=!b,y=yt(_),w="x"===y?"y":"x",E=e.modifiersData.popperOffsets,T=e.rects.reference,A=e.rects.popper,L="function"==typeof g?g(Object.assign({},e.rects,{placement:e.placement})):g,O={x:0,y:0};if(E){if(o||a){var k="y"===y?Q:J,D="y"===y?G:Z,x="y"===y?"height":"width",C=E[y],S=E[y]+m[k],N=E[y]-m[D],j=u?-A[x]/2:0,P="start"===b?T[x]:A[x],I="start"===b?-A[x]:-T[x],M=e.elements.arrow,R=u&&M?ft(M):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},H=B[k],W=B[D],U=At(0,T[x],R[x]),$=v?T[x]/2-j-U-H-L:P-U-H-L,F=v?-T[x]/2+j+U+W+L:I+U+W+L,z=e.elements.arrow&&vt(e.elements.arrow),K=z?"y"===y?z.clientTop||0:z.clientLeft||0:0,Y=e.modifiersData.offset?e.modifiersData.offset[e.placement][y]:0,q=E[y]+$-Y-K,V=E[y]+F-Y;if(o){var X=At(u?Et(S,q):S,C,u?wt(N,V):N);E[y]=X,O[y]=X-C}if(a){var tt="x"===y?Q:J,et="x"===y?G:Z,it=E[w],st=it+m[tt],nt=it-m[et],ot=At(u?Et(st,q):st,it,u?wt(nt,V):nt);E[w]=ot,O[w]=ot-it}}e.modifiersData[s]=O}},requiresIfExists:["offset"]};function te(t,e,i){void 0===i&&(i=!1);var s,n,o=mt(e),r=ht(t),a=at(e),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(a||!a&&!i)&&(("body"!==nt(e)||Ht(o))&&(l=(s=e)!==ot(s)&&at(s)?{scrollLeft:(n=s).scrollLeft,scrollTop:n.scrollTop}:Rt(s)),at(e)?((c=ht(e)).x+=e.clientLeft,c.y+=e.clientTop):o&&(c.x=Bt(o))),{x:r.left+l.scrollLeft-c.x,y:r.top+l.scrollTop-c.y,width:r.width,height:r.height}}var ee={placement:"bottom",modifiers:[],strategy:"absolute"};function ie(){for(var t=arguments.length,e=new Array(t),i=0;i"applyStyles"===t.name&&!1===t.enabled);this._popper=re(e,this._menu,i),s&&B.setDataAttribute(this._menu,"popper","static")}"ontouchstart"in document.documentElement&&!t.closest(".navbar-nav")&&[].concat(...document.body.children).forEach(t=>N.on(t,"mouseover",null,(function(){}))),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.toggle("show"),this._element.classList.toggle("show"),N.trigger(this._element,"shown.bs.dropdown",e)}}hide(){if(this._element.disabled||this._element.classList.contains("disabled")||!this._menu.classList.contains("show"))return;const t={relatedTarget:this._element};N.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented||(this._popper&&this._popper.destroy(),this._menu.classList.toggle("show"),this._element.classList.toggle("show"),B.removeDataAttribute(this._menu,"popper"),N.trigger(this._element,"hidden.bs.dropdown",t))}dispose(){N.off(this._element,".bs.dropdown"),this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_addEventListeners(){N.on(this._element,"click.bs.dropdown",t=>{t.preventDefault(),this.toggle()})}_getConfig(t){if(t={...this.constructor.Default,...B.getDataAttributes(this._element),...t},l("dropdown",t,this.constructor.DefaultType),"object"==typeof t.reference&&!r(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError("dropdown".toUpperCase()+': Option "reference" provided type "object" without a required "getBoundingClientRect" method.');return t}_getMenuElement(){return H.next(this._element,".dropdown-menu")[0]}_getPlacement(){const t=this._element.parentNode;if(t.classList.contains("dropend"))return ue;if(t.classList.contains("dropstart"))return pe;const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?de:ce:e?fe:he}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return"static"===this._config.display&&(t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}static dropdownInterface(t,e){let i=b.get(t,"bs.dropdown");if(i||(i=new _e(t,"object"==typeof e?e:null)),"string"==typeof e){if(void 0===i[e])throw new TypeError(`No method named "${e}"`);i[e]()}}static jQueryInterface(t){return this.each((function(){_e.dropdownInterface(this,t)}))}static clearMenus(t){if(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;if(/input|select|textarea|form/i.test(t.target.tagName))return}const e=H.find('[data-bs-toggle="dropdown"]');for(let i=0,s=e.length;it.composedPath().includes(e)))continue;if("keyup"===t.type&&"Tab"===t.key&&o.contains(t.target))continue}N.trigger(e[i],"hide.bs.dropdown",n).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>N.off(t,"mouseover",null,(function(){}))),e[i].setAttribute("aria-expanded","false"),s._popper&&s._popper.destroy(),o.classList.remove("show"),e[i].classList.remove("show"),B.removeDataAttribute(o,"popper"),N.trigger(e[i],"hidden.bs.dropdown",n))}}}static getParentFromElement(t){return s(t)||t.parentNode}static dataApiKeydownHandler(t){if(/input|textarea/i.test(t.target.tagName)?"Space"===t.key||"Escape"!==t.key&&("ArrowDown"!==t.key&&"ArrowUp"!==t.key||t.target.closest(".dropdown-menu")):!le.test(t.key))return;if(t.preventDefault(),t.stopPropagation(),this.disabled||this.classList.contains("disabled"))return;const e=_e.getParentFromElement(this),i=this.classList.contains("show");if("Escape"===t.key)return(this.matches('[data-bs-toggle="dropdown"]')?this:H.prev(this,'[data-bs-toggle="dropdown"]')[0]).focus(),void _e.clearMenus();if(!i&&("ArrowUp"===t.key||"ArrowDown"===t.key))return void(this.matches('[data-bs-toggle="dropdown"]')?this:H.prev(this,'[data-bs-toggle="dropdown"]')[0]).click();if(!i||"Space"===t.key)return void _e.clearMenus();const s=H.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",e).filter(c);if(!s.length)return;let n=s.indexOf(t.target);"ArrowUp"===t.key&&n>0&&n--,"ArrowDown"===t.key&&nthis.hide(t)),N.on(this._dialog,"mousedown.dismiss.bs.modal",()=>{N.one(this._element,"mouseup.dismiss.bs.modal",t=>{t.target===this._element&&(this._ignoreBackdropClick=!0)})}),this._showBackdrop(()=>this._showElement(t)))}hide(t){if(t&&t.preventDefault(),!this._isShown||this._isTransitioning)return;if(N.trigger(this._element,"hide.bs.modal").defaultPrevented)return;this._isShown=!1;const e=this._isAnimated();if(e&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),N.off(document,"focusin.bs.modal"),this._element.classList.remove("show"),N.off(this._element,"click.dismiss.bs.modal"),N.off(this._dialog,"mousedown.dismiss.bs.modal"),e){const t=n(this._element);N.one(this._element,"transitionend",t=>this._hideModal(t)),a(this._element,t)}else this._hideModal()}dispose(){[window,this._element,this._dialog].forEach(t=>N.off(t,".bs.modal")),super.dispose(),N.off(document,"focusin.bs.modal"),this._config=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null}handleUpdate(){this._adjustDialog()}_getConfig(t){return t={...be,...t},l("modal",t,ve),t}_showElement(t){const e=this._isAnimated(),i=H.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,i&&(i.scrollTop=0),e&&u(this._element),this._element.classList.add("show"),this._config.focus&&this._enforceFocus();const s=()=>{this._config.focus&&this._element.focus(),this._isTransitioning=!1,N.trigger(this._element,"shown.bs.modal",{relatedTarget:t})};if(e){const t=n(this._dialog);N.one(this._dialog,"transitionend",s),a(this._dialog,t)}else s()}_enforceFocus(){N.off(document,"focusin.bs.modal"),N.on(document,"focusin.bs.modal",t=>{document===t.target||this._element===t.target||this._element.contains(t.target)||this._element.focus()})}_setEscapeEvent(){this._isShown?N.on(this._element,"keydown.dismiss.bs.modal",t=>{this._config.keyboard&&"Escape"===t.key?(t.preventDefault(),this.hide()):this._config.keyboard||"Escape"!==t.key||this._triggerBackdropTransition()}):N.off(this._element,"keydown.dismiss.bs.modal")}_setResizeEvent(){this._isShown?N.on(window,"resize.bs.modal",()=>this._adjustDialog()):N.off(window,"resize.bs.modal")}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._showBackdrop(()=>{document.body.classList.remove("modal-open"),this._resetAdjustments(),this._resetScrollbar(),N.trigger(this._element,"hidden.bs.modal")})}_removeBackdrop(){this._backdrop.parentNode.removeChild(this._backdrop),this._backdrop=null}_showBackdrop(t){const e=this._isAnimated();if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",e&&this._backdrop.classList.add("fade"),document.body.appendChild(this._backdrop),N.on(this._element,"click.dismiss.bs.modal",t=>{this._ignoreBackdropClick?this._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===this._config.backdrop?this._triggerBackdropTransition():this.hide())}),e&&u(this._backdrop),this._backdrop.classList.add("show"),!e)return void t();const i=n(this._backdrop);N.one(this._backdrop,"transitionend",t),a(this._backdrop,i)}else if(!this._isShown&&this._backdrop){this._backdrop.classList.remove("show");const i=()=>{this._removeBackdrop(),t()};if(e){const t=n(this._backdrop);N.one(this._backdrop,"transitionend",i),a(this._backdrop,t)}else i()}else t()}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(N.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight;t||(this._element.style.overflowY="hidden"),this._element.classList.add("modal-static");const e=n(this._dialog);N.off(this._element,"transitionend"),N.one(this._element,"transitionend",()=>{this._element.classList.remove("modal-static"),t||(N.one(this._element,"transitionend",()=>{this._element.style.overflowY=""}),a(this._element,e))}),a(this._element,e),this._element.focus()}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight;(!this._isBodyOverflowing&&t&&!g()||this._isBodyOverflowing&&!t&&g())&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),(this._isBodyOverflowing&&!t&&!g()||!this._isBodyOverflowing&&t&&g())&&(this._element.style.paddingRight=this._scrollbarWidth+"px")}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}_checkScrollbar(){const t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)t+this._scrollbarWidth),this._setElementAttributes(".sticky-top","marginRight",t=>t-this._scrollbarWidth),this._setElementAttributes("body","paddingRight",t=>t+this._scrollbarWidth)),document.body.classList.add("modal-open")}_setElementAttributes(t,e,i){H.find(t).forEach(t=>{if(t!==document.body&&window.innerWidth>t.clientWidth+this._scrollbarWidth)return;const s=t.style[e],n=window.getComputedStyle(t)[e];B.setDataAttribute(t,e,s),t.style[e]=i(Number.parseFloat(n))+"px"})}_resetScrollbar(){this._resetElementAttributes(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top","paddingRight"),this._resetElementAttributes(".sticky-top","marginRight"),this._resetElementAttributes("body","paddingRight")}_resetElementAttributes(t,e){H.find(t).forEach(t=>{const i=B.getDataAttribute(t,e);void 0===i&&t===document.body?t.style[e]="":(B.removeDataAttribute(t,e),t.style[e]=i)})}_getScrollbarWidth(){const t=document.createElement("div");t.className="modal-scrollbar-measure",document.body.appendChild(t);const e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e}static jQueryInterface(t,e){return this.each((function(){let i=b.get(this,"bs.modal");const s={...be,...B.getDataAttributes(this),..."object"==typeof t&&t?t:{}};if(i||(i=new ye(this,s)),"string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}N.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=s(this);"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault(),N.one(e,"show.bs.modal",t=>{t.defaultPrevented||N.one(e,"hidden.bs.modal",()=>{c(this)&&this.focus()})});let i=b.get(e,"bs.modal");if(!i){const t={...B.getDataAttributes(e),...B.getDataAttributes(this)};i=new ye(e,t)}i.toggle(this)})),m("modal",ye);const we=()=>{const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)},Ee=(t,e,i)=>{const s=we();H.find(t).forEach(t=>{if(t!==document.body&&window.innerWidth>t.clientWidth+s)return;const n=t.style[e],o=window.getComputedStyle(t)[e];B.setDataAttribute(t,e,n),t.style[e]=i(Number.parseFloat(o))+"px"})},Te=(t,e)=>{H.find(t).forEach(t=>{const i=B.getDataAttribute(t,e);void 0===i&&t===document.body?t.style.removeProperty(e):(B.removeDataAttribute(t,e),t.style[e]=i)})},Ae={backdrop:!0,keyboard:!0,scroll:!1},Le={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"};class Oe extends j{constructor(t,e){super(t),this._config=this._getConfig(e),this._isShown=!1,this._addEventListeners()}static get Default(){return Ae}static get DATA_KEY(){return"bs.offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||N.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._element.style.visibility="visible",this._config.backdrop&&document.body.classList.add("offcanvas-backdrop"),this._config.scroll||((t=we())=>{document.body.style.overflow="hidden",Ee(".fixed-top, .fixed-bottom, .is-fixed","paddingRight",e=>e+t),Ee(".sticky-top","marginRight",e=>e-t),Ee("body","paddingRight",e=>e+t)})(),this._element.classList.add("offcanvas-toggling"),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add("show"),setTimeout(()=>{this._element.classList.remove("offcanvas-toggling"),N.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t}),this._enforceFocusOnElement(this._element)},n(this._element)))}hide(){this._isShown&&(N.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(this._element.classList.add("offcanvas-toggling"),N.off(document,"focusin.bs.offcanvas"),this._element.blur(),this._isShown=!1,this._element.classList.remove("show"),setTimeout(()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.backdrop&&document.body.classList.remove("offcanvas-backdrop"),this._config.scroll||(document.body.style.overflow="auto",Te(".fixed-top, .fixed-bottom, .is-fixed","paddingRight"),Te(".sticky-top","marginRight"),Te("body","paddingRight")),N.trigger(this._element,"hidden.bs.offcanvas"),this._element.classList.remove("offcanvas-toggling")},n(this._element))))}_getConfig(t){return t={...Ae,...B.getDataAttributes(this._element),..."object"==typeof t?t:{}},l("offcanvas",t,Le),t}_enforceFocusOnElement(t){N.off(document,"focusin.bs.offcanvas"),N.on(document,"focusin.bs.offcanvas",e=>{document===e.target||t===e.target||t.contains(e.target)||t.focus()}),t.focus()}_addEventListeners(){N.on(this._element,"click.dismiss.bs.offcanvas",'[data-bs-dismiss="offcanvas"]',()=>this.hide()),N.on(document,"keydown",t=>{this._config.keyboard&&"Escape"===t.key&&this.hide()}),N.on(document,"click.bs.offcanvas.data-api",t=>{const e=H.findOne(i(t.target));this._element.contains(t.target)||e===this._element||this.hide()})}static jQueryInterface(t){return this.each((function(){const e=b.get(this,"bs.offcanvas")||new Oe(this,"object"==typeof t?t:{});if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}N.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=s(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),d(this))return;N.one(e,"hidden.bs.offcanvas",()=>{c(this)&&this.focus()});const i=H.findOne(".offcanvas.show, .offcanvas-toggling");i&&i!==e||(b.get(e,"bs.offcanvas")||new Oe(e)).toggle(this)})),N.on(window,"load.bs.offcanvas.data-api",()=>{H.find(".offcanvas.show").forEach(t=>(b.get(t,"bs.offcanvas")||new Oe(t)).show())}),m("offcanvas",Oe);const ke=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),De=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/i,xe=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Ce=(t,e)=>{const i=t.nodeName.toLowerCase();if(e.includes(i))return!ke.has(i)||Boolean(De.test(t.nodeValue)||xe.test(t.nodeValue));const s=e.filter(t=>t instanceof RegExp);for(let t=0,e=s.length;t{Ce(t,a)||i.removeAttribute(t.nodeName)})}return s.body.innerHTML}const Ne=new RegExp("(^|\\s)bs-tooltip\\S+","g"),je=new Set(["sanitize","allowList","sanitizeFn"]),Pe={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},Ie={AUTO:"auto",TOP:"top",RIGHT:g()?"left":"right",BOTTOM:"bottom",LEFT:g()?"right":"left"},Me={animation:!0,template:'

',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:{"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},popperConfig:null},Re={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"};class Be extends j{constructor(t,e){if(void 0===ae)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.config=this._getConfig(e),this.tip=null,this._setListeners()}static get Default(){return Me}static get NAME(){return"tooltip"}static get DATA_KEY(){return"bs.tooltip"}static get Event(){return Re}static get EVENT_KEY(){return".bs.tooltip"}static get DefaultType(){return Pe}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e=this._initializeOnDelegatedTarget(t);e._activeTrigger.click=!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains("show"))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),N.off(this._element,this.constructor.EVENT_KEY),N.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.config=null,this.tip=null,super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this.isWithContent()||!this._isEnabled)return;const e=N.trigger(this._element,this.constructor.Event.SHOW),i=h(this._element),s=null===i?this._element.ownerDocument.documentElement.contains(this._element):i.contains(this._element);if(e.defaultPrevented||!s)return;const o=this.getTipElement(),r=t(this.constructor.NAME);o.setAttribute("id",r),this._element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&o.classList.add("fade");const l="function"==typeof this.config.placement?this.config.placement.call(this,o,this._element):this.config.placement,c=this._getAttachment(l);this._addAttachmentClass(c);const d=this._getContainer();b.set(o,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(d.appendChild(o),N.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=re(this._element,o,this._getPopperConfig(c)),o.classList.add("show");const f="function"==typeof this.config.customClass?this.config.customClass():this.config.customClass;f&&o.classList.add(...f.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>{N.on(t,"mouseover",(function(){}))});const u=()=>{const t=this._hoverState;this._hoverState=null,N.trigger(this._element,this.constructor.Event.SHOWN),"out"===t&&this._leave(null,this)};if(this.tip.classList.contains("fade")){const t=n(this.tip);N.one(this.tip,"transitionend",u),a(this.tip,t)}else u()}hide(){if(!this._popper)return;const t=this.getTipElement(),e=()=>{this._isWithActiveTrigger()||("show"!==this._hoverState&&t.parentNode&&t.parentNode.removeChild(t),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),N.trigger(this._element,this.constructor.Event.HIDDEN),this._popper&&(this._popper.destroy(),this._popper=null))};if(!N.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented){if(t.classList.remove("show"),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach(t=>N.off(t,"mouseover",f)),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this.tip.classList.contains("fade")){const i=n(t);N.one(t,"transitionend",e),a(t,i)}else e();this._hoverState=""}}update(){null!==this._popper&&this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t=document.createElement("div");return t.innerHTML=this.config.template,this.tip=t.children[0],this.tip}setContent(){const t=this.getTipElement();this.setElementContent(H.findOne(".tooltip-inner",t),this.getTitle()),t.classList.remove("fade","show")}setElementContent(t,e){if(null!==t)return"object"==typeof e&&r(e)?(e.jquery&&(e=e[0]),void(this.config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.textContent=e.textContent)):void(this.config.html?(this.config.sanitize&&(e=Se(e,this.config.allowList,this.config.sanitizeFn)),t.innerHTML=e):t.textContent=e)}getTitle(){let t=this._element.getAttribute("data-bs-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this._element):this.config.title),t}updateAttachment(t){return"right"===t?"end":"left"===t?"start":t}_initializeOnDelegatedTarget(t,e){const i=this.constructor.DATA_KEY;return(e=e||b.get(t.delegateTarget,i))||(e=new this.constructor(t.delegateTarget,this._getDelegateConfig()),b.set(t.delegateTarget,i,e)),e}_getOffset(){const{offset:t}=this.config;return"string"==typeof t?t.split(",").map(t=>Number.parseInt(t,10)):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{altBoundary:!0,fallbackPlacements:this.config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this.config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"onChange",enabled:!0,phase:"afterWrite",fn:t=>this._handlePopperPlacementChange(t)}],onFirstUpdate:t=>{t.options.placement!==t.placement&&this._handlePopperPlacementChange(t)}};return{...e,..."function"==typeof this.config.popperConfig?this.config.popperConfig(e):this.config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add("bs-tooltip-"+this.updateAttachment(t))}_getContainer(){return!1===this.config.container?document.body:r(this.config.container)?this.config.container:H.findOne(this.config.container)}_getAttachment(t){return Ie[t.toUpperCase()]}_setListeners(){this.config.trigger.split(" ").forEach(t=>{if("click"===t)N.on(this._element,this.constructor.Event.CLICK,this.config.selector,t=>this.toggle(t));else if("manual"!==t){const e="hover"===t?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,i="hover"===t?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;N.on(this._element,e,this.config.selector,t=>this._enter(t)),N.on(this._element,i,this.config.selector,t=>this._leave(t))}}),this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config={...this.config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-bs-original-title");(t||"string"!==e)&&(this._element.setAttribute("data-bs-original-title",t||""),!t||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))}_enter(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e.getTipElement().classList.contains("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout(()=>{"show"===e._hoverState&&e.show()},e.config.delay.show):e.show())}_leave(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=e._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(()=>{"out"===e._hoverState&&e.hide()},e.config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e=B.getDataAttributes(this._element);return Object.keys(e).forEach(t=>{je.has(t)&&delete e[t]}),t&&"object"==typeof t.container&&t.container.jquery&&(t.container=t.container[0]),"number"==typeof(t={...this.constructor.Default,...e,..."object"==typeof t&&t?t:{}}).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),l("tooltip",t,this.constructor.DefaultType),t.sanitize&&(t.template=Se(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t={};if(this.config)for(const e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t}_cleanTipClass(){const t=this.getTipElement(),e=t.getAttribute("class").match(Ne);null!==e&&e.length>0&&e.map(t=>t.trim()).forEach(e=>t.classList.remove(e))}_handlePopperPlacementChange(t){const{state:e}=t;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}static jQueryInterface(t){return this.each((function(){let e=b.get(this,"bs.tooltip");const i="object"==typeof t&&t;if((e||!/dispose|hide/.test(t))&&(e||(e=new Be(this,i)),"string"==typeof t)){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m("tooltip",Be);const He=new RegExp("(^|\\s)bs-popover\\S+","g"),We={...Be.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:''},Ue={...Be.DefaultType,content:"(string|element|function)"},$e={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"};class Fe extends Be{static get Default(){return We}static get NAME(){return"popover"}static get DATA_KEY(){return"bs.popover"}static get Event(){return $e}static get EVENT_KEY(){return".bs.popover"}static get DefaultType(){return Ue}isWithContent(){return this.getTitle()||this._getContent()}setContent(){const t=this.getTipElement();this.setElementContent(H.findOne(".popover-header",t),this.getTitle());let e=this._getContent();"function"==typeof e&&(e=e.call(this._element)),this.setElementContent(H.findOne(".popover-body",t),e),t.classList.remove("fade","show")}_addAttachmentClass(t){this.getTipElement().classList.add("bs-popover-"+this.updateAttachment(t))}_getContent(){return this._element.getAttribute("data-bs-content")||this.config.content}_cleanTipClass(){const t=this.getTipElement(),e=t.getAttribute("class").match(He);null!==e&&e.length>0&&e.map(t=>t.trim()).forEach(e=>t.classList.remove(e))}static jQueryInterface(t){return this.each((function(){let e=b.get(this,"bs.popover");const i="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new Fe(this,i),b.set(this,"bs.popover",e)),"string"==typeof t)){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m("popover",Fe);const ze={offset:10,method:"auto",target:""},Ke={offset:"number",method:"string",target:"(string|element)"};class Ye extends j{constructor(t,e){super(t),this._scrollElement="BODY"===this._element.tagName?window:this._element,this._config=this._getConfig(e),this._selector=`${this._config.target} .nav-link, ${this._config.target} .list-group-item, ${this._config.target} .dropdown-item`,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,N.on(this._scrollElement,"scroll.bs.scrollspy",()=>this._process()),this.refresh(),this._process()}static get Default(){return ze}static get DATA_KEY(){return"bs.scrollspy"}refresh(){const t=this._scrollElement===this._scrollElement.window?"offset":"position",e="auto"===this._config.method?t:this._config.method,s="position"===e?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),H.find(this._selector).map(t=>{const n=i(t),o=n?H.findOne(n):null;if(o){const t=o.getBoundingClientRect();if(t.width||t.height)return[B[e](o).top+s,n]}return null}).filter(t=>t).sort((t,e)=>t[0]-e[0]).forEach(t=>{this._offsets.push(t[0]),this._targets.push(t[1])})}dispose(){super.dispose(),N.off(this._scrollElement,".bs.scrollspy"),this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null}_getConfig(e){if("string"!=typeof(e={...ze,..."object"==typeof e&&e?e:{}}).target&&r(e.target)){let{id:i}=e.target;i||(i=t("scrollspy"),e.target.id=i),e.target="#"+i}return l("scrollspy",e,Ke),e}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),i=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=i){const t=this._targets[this._targets.length-1];this._activeTarget!==t&&this._activate(t)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(let e=this._offsets.length;e--;)this._activeTarget!==this._targets[e]&&t>=this._offsets[e]&&(void 0===this._offsets[e+1]||t`${e}[data-bs-target="${t}"],${e}[href="${t}"]`),i=H.findOne(e.join(","));i.classList.contains("dropdown-item")?(H.findOne(".dropdown-toggle",i.closest(".dropdown")).classList.add("active"),i.classList.add("active")):(i.classList.add("active"),H.parents(i,".nav, .list-group").forEach(t=>{H.prev(t,".nav-link, .list-group-item").forEach(t=>t.classList.add("active")),H.prev(t,".nav-item").forEach(t=>{H.children(t,".nav-link").forEach(t=>t.classList.add("active"))})})),N.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})}_clear(){H.find(this._selector).filter(t=>t.classList.contains("active")).forEach(t=>t.classList.remove("active"))}static jQueryInterface(t){return this.each((function(){let e=b.get(this,"bs.scrollspy");if(e||(e=new Ye(this,"object"==typeof t&&t)),"string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(window,"load.bs.scrollspy.data-api",()=>{H.find('[data-bs-spy="scroll"]').forEach(t=>new Ye(t,B.getDataAttributes(t)))}),m("scrollspy",Ye);class qe extends j{static get DATA_KEY(){return"bs.tab"}show(){if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains("active")||d(this._element))return;let t;const e=s(this._element),i=this._element.closest(".nav, .list-group");if(i){const e="UL"===i.nodeName||"OL"===i.nodeName?":scope > li > .active":".active";t=H.find(e,i),t=t[t.length-1]}const n=t?N.trigger(t,"hide.bs.tab",{relatedTarget:this._element}):null;if(N.trigger(this._element,"show.bs.tab",{relatedTarget:t}).defaultPrevented||null!==n&&n.defaultPrevented)return;this._activate(this._element,i);const o=()=>{N.trigger(t,"hidden.bs.tab",{relatedTarget:this._element}),N.trigger(this._element,"shown.bs.tab",{relatedTarget:t})};e?this._activate(e,e.parentNode,o):o()}_activate(t,e,i){const s=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?H.children(e,".active"):H.find(":scope > li > .active",e))[0],o=i&&s&&s.classList.contains("fade"),r=()=>this._transitionComplete(t,s,i);if(s&&o){const t=n(s);s.classList.remove("show"),N.one(s,"transitionend",r),a(s,t)}else r()}_transitionComplete(t,e,i){if(e){e.classList.remove("active");const t=H.findOne(":scope > .dropdown-menu .active",e.parentNode);t&&t.classList.remove("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}t.classList.add("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),u(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&t.parentNode.classList.contains("dropdown-menu")&&(t.closest(".dropdown")&&H.find(".dropdown-toggle").forEach(t=>t.classList.add("active")),t.setAttribute("aria-expanded",!0)),i&&i()}static jQueryInterface(t){return this.each((function(){const e=b.get(this,"bs.tab")||new qe(this);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(document,"click.bs.tab.data-api",'[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',(function(t){t.preventDefault(),(b.get(this,"bs.tab")||new qe(this)).show()})),m("tab",qe);const Ve={animation:"boolean",autohide:"boolean",delay:"number"},Xe={animation:!0,autohide:!0,delay:5e3};class Qe extends j{constructor(t,e){super(t),this._config=this._getConfig(e),this._timeout=null,this._setListeners()}static get DefaultType(){return Ve}static get Default(){return Xe}static get DATA_KEY(){return"bs.toast"}show(){if(N.trigger(this._element,"show.bs.toast").defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");const t=()=>{this._element.classList.remove("showing"),this._element.classList.add("show"),N.trigger(this._element,"shown.bs.toast"),this._config.autohide&&(this._timeout=setTimeout(()=>{this.hide()},this._config.delay))};if(this._element.classList.remove("hide"),u(this._element),this._element.classList.add("showing"),this._config.animation){const e=n(this._element);N.one(this._element,"transitionend",t),a(this._element,e)}else t()}hide(){if(!this._element.classList.contains("show"))return;if(N.trigger(this._element,"hide.bs.toast").defaultPrevented)return;const t=()=>{this._element.classList.add("hide"),N.trigger(this._element,"hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){const e=n(this._element);N.one(this._element,"transitionend",t),a(this._element,e)}else t()}dispose(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),N.off(this._element,"click.dismiss.bs.toast"),super.dispose(),this._config=null}_getConfig(t){return t={...Xe,...B.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}},l("toast",t,this.constructor.DefaultType),t}_setListeners(){N.on(this._element,"click.dismiss.bs.toast",'[data-bs-dismiss="toast"]',()=>this.hide())}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){let e=b.get(this,"bs.toast");if(e||(e=new Qe(this,"object"==typeof t&&t)),"string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return m("toast",Qe),{Alert:P,Button:I,Carousel:Y,Collapse:X,Dropdown:_e,Modal:ye,Offcanvas:Oe,Popover:Fe,ScrollSpy:Ye,Tab:qe,Toast:Qe,Tooltip:Be}})); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/public/js/bootstrap.min.js b/public/js/bootstrap.min.js deleted file mode 100644 index e5a2429..0000000 --- a/public/js/bootstrap.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Bootstrap v4.4.1 (https://getbootstrap.com/) - * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t=t||self).bootstrap={},t.jQuery,t.Popper)}(this,function(t,g,u){"use strict";function i(t,e){for(var n=0;nthis._items.length-1||t<0))if(this._isSliding)g(this._element).one(Y.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=ndocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Se,popperConfig:null},Fe="show",Ue="out",We={HIDE:"hide"+Oe,HIDDEN:"hidden"+Oe,SHOW:"show"+Oe,SHOWN:"shown"+Oe,INSERTED:"inserted"+Oe,CLICK:"click"+Oe,FOCUSIN:"focusin"+Oe,FOCUSOUT:"focusout"+Oe,MOUSEENTER:"mouseenter"+Oe,MOUSELEAVE:"mouseleave"+Oe},qe="fade",Me="show",Ke=".tooltip-inner",Qe=".arrow",Be="hover",Ve="focus",Ye="click",ze="manual",Xe=function(){function i(t,e){if("undefined"==typeof u)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=g(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(g(this.getTipElement()).hasClass(Me))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),g.removeData(this.element,this.constructor.DATA_KEY),g(this.element).off(this.constructor.EVENT_KEY),g(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&g(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===g(this.element).css("display"))throw new Error("Please use show on visible elements");var t=g.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){g(this.element).trigger(t);var n=_.findShadowRoot(this.element),i=g.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=_.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&g(o).addClass(qe);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();g(o).data(this.constructor.DATA_KEY,this),g.contains(this.element.ownerDocument.documentElement,this.tip)||g(o).appendTo(l),g(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new u(this.element,o,this._getPopperConfig(a)),g(o).addClass(Me),"ontouchstart"in document.documentElement&&g(document.body).children().on("mouseover",null,g.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,g(e.element).trigger(e.constructor.Event.SHOWN),t===Ue&&e._leave(null,e)};if(g(this.tip).hasClass(qe)){var h=_.getTransitionDurationFromElement(this.tip);g(this.tip).one(_.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){function e(){n._hoverState!==Fe&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),g(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),t&&t()}var n=this,i=this.getTipElement(),o=g.Event(this.constructor.Event.HIDE);if(g(this.element).trigger(o),!o.isDefaultPrevented()){if(g(i).removeClass(Me),"ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),this._activeTrigger[Ye]=!1,this._activeTrigger[Ve]=!1,this._activeTrigger[Be]=!1,g(this.tip).hasClass(qe)){var r=_.getTransitionDurationFromElement(i);g(i).one(_.TRANSITION_END,e).emulateTransitionEnd(r)}else e();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Pe+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(g(t.querySelectorAll(Ke)),this.getTitle()),g(t).removeClass(qe+" "+Me)},t.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=we(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?g(e).parent().is(t)||t.empty().append(e):t.text(g(e).text())},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t=t||("function"==typeof this.config.title?this.config.title.call(this.element):this.config.title)},t._getPopperConfig=function(t){var e=this;return l({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:Qe},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},{},this.config.popperConfig)},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,{},e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:_.isElement(this.config.container)?g(this.config.container):g(document).find(this.config.container)},t._getAttachment=function(t){return Re[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)g(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==ze){var e=t===Be?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===Be?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;g(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),this._hideModalHandler=function(){i.element&&i.hide()},g(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");!this.element.getAttribute("title")&&"string"==t||(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Ve:Be]=!0),g(e.getTipElement()).hasClass(Me)||e._hoverState===Fe?e._hoverState=Fe:(clearTimeout(e._timeout),e._hoverState=Fe,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===Fe&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Ve:Be]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=Ue,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===Ue&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){var e=g(this.element).data();return Object.keys(e).forEach(function(t){-1!==je.indexOf(t)&&delete e[t]}),"number"==typeof(t=l({},this.constructor.Default,{},e,{},"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),_.typeCheckConfig(Ae,t,this.constructor.DefaultType),t.sanitize&&(t.template=we(t.template,t.whiteList,t.sanitizeFn)),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Le);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(g(t).removeClass(qe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ne),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ne,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return xe}},{key:"NAME",get:function(){return Ae}},{key:"DATA_KEY",get:function(){return Ne}},{key:"Event",get:function(){return We}},{key:"EVENT_KEY",get:function(){return Oe}},{key:"DefaultType",get:function(){return He}}]),i}();g.fn[Ae]=Xe._jQueryInterface,g.fn[Ae].Constructor=Xe,g.fn[Ae].noConflict=function(){return g.fn[Ae]=ke,Xe._jQueryInterface};var $e="popover",Ge="bs.popover",Je="."+Ge,Ze=g.fn[$e],tn="bs-popover",en=new RegExp("(^|\\s)"+tn+"\\S+","g"),nn=l({},Xe.Default,{placement:"right",trigger:"click",content:"",template:''}),on=l({},Xe.DefaultType,{content:"(string|element|function)"}),rn="fade",sn="show",an=".popover-header",ln=".popover-body",cn={HIDE:"hide"+Je,HIDDEN:"hidden"+Je,SHOW:"show"+Je,SHOWN:"shown"+Je,INSERTED:"inserted"+Je,CLICK:"click"+Je,FOCUSIN:"focusin"+Je,FOCUSOUT:"focusout"+Je,MOUSEENTER:"mouseenter"+Je,MOUSELEAVE:"mouseleave"+Je},hn=function(t){function i(){return t.apply(this,arguments)||this}!function(t,e){t.prototype=Object.create(e.prototype),(t.prototype.constructor=t).__proto__=e}(i,t);var e=i.prototype;return e.isWithContent=function(){return this.getTitle()||this._getContent()},e.addAttachmentClass=function(t){g(this.getTipElement()).addClass(tn+"-"+t)},e.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},e.setContent=function(){var t=g(this.getTipElement());this.setElementContent(t.find(an),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(ln),e),t.removeClass(rn+" "+sn)},e._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},e._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(en);null!==e&&0=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t>>0;h--;)l[h]=c[h];return l}function pc(c){return c.classList?dc(c.classList):(c.getAttribute("class")||"").split(" ").filter(function(c){return c})}function bc(c,l){var h,z=l.split("-"),v=z[0],m=z.slice(1).join("-");return v!==c||""===m||(h=m,~_.indexOf(h))?null:m}function gc(c){return"".concat(c).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Sc(h){return Object.keys(h||{}).reduce(function(c,l){return c+"".concat(l,": ").concat(h[l],";")},"")}function yc(c){return c.size!==Vc.size||c.x!==Vc.x||c.y!==Vc.y||c.rotate!==Vc.rotate||c.flipX||c.flipY}function wc(c){var l=c.transform,h=c.containerWidth,z=c.iconWidth,v={transform:"translate(".concat(h/2," 256)")},m="translate(".concat(32*l.x,", ").concat(32*l.y,") "),s="scale(".concat(l.size/16*(l.flipX?-1:1),", ").concat(l.size/16*(l.flipY?-1:1),") "),e="rotate(".concat(l.rotate," 0 0)");return{outer:v,inner:{transform:"".concat(m," ").concat(s," ").concat(e)},path:{transform:"translate(".concat(z/2*-1," -256)")}}}var kc={x:0,y:0,width:"100%",height:"100%"};function Ac(c){var l=c.icons,h=l.main,z=l.mask,v=c.prefix,m=c.iconName,s=c.transform,e=c.symbol,a=c.title,t=c.extra,M=c.watchable,f=void 0!==M&&M,r=z.found?z:h,n=r.width,H=r.height,i="fa-w-".concat(Math.ceil(n/H*16)),o=[U.replacementClass,m?"".concat(U.familyPrefix,"-").concat(m):"",i].filter(function(c){return-1===t.classes.indexOf(c)}).concat(t.classes).join(" "),V={children:[],attributes:X({},t.attributes,{"data-prefix":v,"data-icon":m,class:o,role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(n," ").concat(H)})};f&&(V.attributes[B]=""),a&&V.children.push({tag:"title",attributes:{id:V.attributes["aria-labelledby"]||"title-".concat(uc())},children:[a]});var C,L,u,d,p,b,g,S,y,w,k,A,x,j,q,O,E,P,N,_,T,R,F,I=X({},V,{prefix:v,iconName:m,main:h,mask:z,transform:s,symbol:e,styles:t.styles}),D=z.found&&h.found?(L=(C=I).children,u=C.attributes,d=C.main,p=C.mask,b=C.transform,g=d.width,S=d.icon,y=p.width,w=p.icon,k=wc({transform:b,containerWidth:y,iconWidth:g}),A={tag:"rect",attributes:X({},kc,{fill:"white"})},x={tag:"g",attributes:X({},k.inner),children:[{tag:"path",attributes:X({},S.attributes,k.path,{fill:"black"})}]},j={tag:"g",attributes:X({},k.outer),children:[x]},q="mask-".concat(uc()),O="clip-".concat(uc()),E={tag:"defs",children:[{tag:"clipPath",attributes:{id:O},children:[w]},{tag:"mask",attributes:X({},kc,{id:q,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[A,j]}]},L.push(E,{tag:"rect",attributes:X({fill:"currentColor","clip-path":"url(#".concat(O,")"),mask:"url(#".concat(q,")")},kc)}),{children:L,attributes:u}):function(c){var l=c.children,h=c.attributes,z=c.main,v=c.transform,m=Sc(c.styles);if(0").concat(s.map(Kc).join(""),"")}var Gc=function(){};function Jc(c){return"string"==typeof(c.getAttribute?c.getAttribute(B):null)}var Qc={replace:function(c){var l=c[0],h=c[1].map(function(c){return Kc(c)}).join("\n");if(l.parentNode&&l.outerHTML)l.outerHTML=h+(U.keepOriginalSource&&"svg"!==l.tagName.toLowerCase()?"\x3c!-- ".concat(l.outerHTML," --\x3e"):"");else if(l.parentNode){var z=document.createElement("span");l.parentNode.replaceChild(z,l),z.outerHTML=h}},nest:function(c){var l=c[0],h=c[1];if(~pc(l).indexOf(U.replacementClass))return Qc.replace(c);var z=new RegExp("".concat(U.familyPrefix,"-.*"));delete h[0].attributes.style;var v=h[0].attributes.class.split(" ").reduce(function(c,l){return l===U.replacementClass||l.match(z)?c.toSvg.push(l):c.toNode.push(l),c},{toNode:[],toSvg:[]});h[0].attributes.class=v.toSvg.join(" ");var m=h.map(function(c){return Kc(c)}).join("\n");l.setAttribute("class",v.toNode.join(" ")),l.setAttribute(B,""),l.innerHTML=m}};function Zc(h,c){var z="function"==typeof c?c:Gc;0===h.length?z():(H.requestAnimationFrame||function(c){return c()})(function(){var c=!0===U.autoReplaceSvg?Qc.replace:Qc[U.autoReplaceSvg]||Qc.replace,l=Pc.begin("mutate");h.map(c),l(),z()})}var $c=!1;function cl(){$c=!1}var ll=null;function hl(c){if(t&&U.observeMutations){var v=c.treeCallback,m=c.nodeCallback,s=c.pseudoElementsCallback,l=c.observeMutationsRoot,h=void 0===l?i:l;ll=new t(function(c){$c||dc(c).forEach(function(c){if("childList"===c.type&&0>>0;h--;)l[h]=c[h];return l}function Ac(c){return c.classList?bc(c.classList):(c.getAttribute("class")||"").split(" ").filter(function(c){return c})}function gc(c,l){var h,z=l.split("-"),a=z[0],v=z.slice(1).join("-");return a!==c||""===v||(h=v,~T.indexOf(h))?null:v}function Sc(c){return"".concat(c).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function yc(h){return Object.keys(h||{}).reduce(function(c,l){return c+"".concat(l,": ").concat(h[l],";")},"")}function wc(c){return c.size!==Lc.size||c.x!==Lc.x||c.y!==Lc.y||c.rotate!==Lc.rotate||c.flipX||c.flipY}function Zc(c){var l=c.transform,h=c.containerWidth,z=c.iconWidth,a={transform:"translate(".concat(h/2," 256)")},v="translate(".concat(32*l.x,", ").concat(32*l.y,") "),m="scale(".concat(l.size/16*(l.flipX?-1:1),", ").concat(l.size/16*(l.flipY?-1:1),") "),e="rotate(".concat(l.rotate," 0 0)");return{outer:a,inner:{transform:"".concat(v," ").concat(m," ").concat(e)},path:{transform:"translate(".concat(z/2*-1," -256)")}}}var kc={x:0,y:0,width:"100%",height:"100%"};function xc(c){var l=!(1").concat(m.map(Jc).join(""),"")}var $c=function(){};function cl(c){return"string"==typeof(c.getAttribute?c.getAttribute(cc):null)}var ll={replace:function(c){var l=c[0],h=c[1].map(function(c){return Jc(c)}).join("\n");if(l.parentNode&&l.outerHTML)l.outerHTML=h+(lc.keepOriginalSource&&"svg"!==l.tagName.toLowerCase()?"\x3c!-- ".concat(l.outerHTML," Font Awesome fontawesome.com --\x3e"):"");else if(l.parentNode){var z=document.createElement("span");l.parentNode.replaceChild(z,l),z.outerHTML=h}},nest:function(c){var l=c[0],h=c[1];if(~Ac(l).indexOf(lc.replacementClass))return ll.replace(c);var z=new RegExp("".concat(lc.familyPrefix,"-.*"));delete h[0].attributes.style,delete h[0].attributes.id;var a=h[0].attributes.class.split(" ").reduce(function(c,l){return l===lc.replacementClass||l.match(z)?c.toSvg.push(l):c.toNode.push(l),c},{toNode:[],toSvg:[]});h[0].attributes.class=a.toSvg.join(" ");var v=h.map(function(c){return Jc(c)}).join("\n");l.setAttribute("class",a.toNode.join(" ")),l.setAttribute(cc,""),l.innerHTML=v}};function hl(c){c()}function zl(h,c){var z="function"==typeof c?c:$c;if(0===h.length)z();else{var l=hl;lc.mutateApproach===y&&(l=o.requestAnimationFrame||hl),l(function(){var c=!0===lc.autoReplaceSvg?ll.replace:ll[lc.autoReplaceSvg]||ll.replace,l=_c.begin("mutate");h.map(c),l(),z()})}}var al=!1;function vl(){al=!1}var ml=null;function el(c){if(t&&lc.observeMutations){var a=c.treeCallback,v=c.nodeCallback,m=c.pseudoElementsCallback,l=c.observeMutationsRoot,h=void 0===l?C:l;ml=new t(function(c){al||bc(c).forEach(function(c){if("childList"===c.type&&0/g,">")}function r(e){return e.nodeName.toLowerCase()}function a(e,t){var r=e&&e.exec(t);return r&&0===r.index}function n(e){return M.test(e)}function i(e){var t,r,a,i,s=e.className+" ";if(s+=e.parentNode?e.parentNode.className:"",r=B.exec(s))return w(r[1])?r[1]:"no-highlight";for(s=s.split(/\s+/),t=0,a=s.length;a>t;t++)if(i=s[t],n(i)||w(i))return i}function s(e){var t,r={},a=Array.prototype.slice.call(arguments,1);for(t in e)r[t]=e[t];return a.forEach(function(e){for(t in e)r[t]=e[t]}),r}function c(e){var t=[];return function a(e,n){for(var i=e.firstChild;i;i=i.nextSibling)3===i.nodeType?n+=i.nodeValue.length:1===i.nodeType&&(t.push({event:"start",offset:n,node:i}),n=a(i,n),r(i).match(/br|hr|img|input/)||t.push({event:"stop",offset:n,node:i}));return n}(e,0),t}function o(e,a,n){function i(){return e.length&&a.length?e[0].offset!==a[0].offset?e[0].offset"}function c(e){u+=""}function o(e){("start"===e.event?s:c)(e.node)}for(var l=0,u="",d=[];e.length||a.length;){var b=i();if(u+=t(n.substring(l,b[0].offset)),l=b[0].offset,b===e){d.reverse().forEach(c);do o(b.splice(0,1)[0]),b=i();while(b===e&&b.length&&b[0].offset===l);d.reverse().forEach(s)}else"start"===b[0].event?d.push(b[0].node):d.pop(),o(b.splice(0,1)[0])}return u+t(n.substr(l))}function l(e){return e.v&&!e.cached_variants&&(e.cached_variants=e.v.map(function(t){return s(e,{v:null},t)})),e.cached_variants||e.eW&&[s(e)]||[e]}function u(e){function t(e){return e&&e.source||e}function r(r,a){return new RegExp(t(r),"m"+(e.cI?"i":"")+(a?"g":""))}function a(n,i){if(!n.compiled){if(n.compiled=!0,n.k=n.k||n.bK,n.k){var s={},c=function(t,r){e.cI&&(r=r.toLowerCase()),r.split(" ").forEach(function(e){var r=e.split("|");s[r[0]]=[t,r[1]?Number(r[1]):1]})};"string"==typeof n.k?c("keyword",n.k):x(n.k).forEach(function(e){c(e,n.k[e])}),n.k=s}n.lR=r(n.l||/\w+/,!0),i&&(n.bK&&(n.b="\\b("+n.bK.split(" ").join("|")+")\\b"),n.b||(n.b=/\B|\b/),n.bR=r(n.b),n.endSameAsBegin&&(n.e=n.b),n.e||n.eW||(n.e=/\B|\b/),n.e&&(n.eR=r(n.e)),n.tE=t(n.e)||"",n.eW&&i.tE&&(n.tE+=(n.e?"|":"")+i.tE)),n.i&&(n.iR=r(n.i)),null==n.r&&(n.r=1),n.c||(n.c=[]),n.c=Array.prototype.concat.apply([],n.c.map(function(e){return l("self"===e?n:e)})),n.c.forEach(function(e){a(e,n)}),n.starts&&a(n.starts,i);var o=n.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([n.tE,n.i]).map(t).filter(Boolean);n.t=o.length?r(o.join("|"),!0):{exec:function(){return null}}}}a(e)}function d(e,r,n,i){function s(e){return new RegExp(e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")}function c(e,t){var r,n;for(r=0,n=t.c.length;n>r;r++)if(a(t.c[r].bR,e))return t.c[r].endSameAsBegin&&(t.c[r].eR=s(t.c[r].bR.exec(e)[0])),t.c[r]}function o(e,t){if(a(e.eR,t)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?o(e.parent,t):void 0}function l(e,t){return!n&&a(t.iR,e)}function p(e,t){var r=y.cI?t[0].toLowerCase():t[0];return e.k.hasOwnProperty(r)&&e.k[r]}function m(e,t,r,a){var n=a?"":S.classPrefix,i='',i+t+s}function f(){var e,r,a,n;if(!k.k)return t(M);for(n="",r=0,k.lR.lastIndex=0,a=k.lR.exec(M);a;)n+=t(M.substring(r,a.index)),e=p(k,a),e?(B+=e[1],n+=m(e[0],t(a[0]))):n+=t(a[0]),r=k.lR.lastIndex,a=k.lR.exec(M);return n+t(M.substr(r))}function g(){var e="string"==typeof k.sL;if(e&&!E[k.sL])return t(M);var r=e?d(k.sL,M,!0,x[k.sL]):b(M,k.sL.length?k.sL:void 0);return k.r>0&&(B+=r.r),e&&(x[k.sL]=r.top),m(r.language,r.value,!1,!0)}function _(){C+=null!=k.sL?g():f(),M=""}function h(e){C+=e.cN?m(e.cN,"",!0):"",k=Object.create(e,{parent:{value:k}})}function v(e,t){if(M+=e,null==t)return _(),0;var r=c(t,k);if(r)return r.skip?M+=t:(r.eB&&(M+=t),_(),r.rB||r.eB||(M=t)),h(r,t),r.rB?0:t.length;var a=o(k,t);if(a){var n=k;n.skip?M+=t:(n.rE||n.eE||(M+=t),_(),n.eE&&(M=t));do k.cN&&(C+=R),k.skip||k.sL||(B+=k.r),k=k.parent;while(k!==a.parent);return a.starts&&(a.endSameAsBegin&&(a.starts.eR=a.eR),h(a.starts,"")),n.rE?0:t.length}if(l(t,k))throw new Error('Illegal lexeme "'+t+'" for mode "'+(k.cN||"")+'"');return M+=t,t.length||1}var y=w(e);if(!y)throw new Error('Unknown language: "'+e+'"');u(y);var N,k=i||y,x={},C="";for(N=k;N!==y;N=N.parent)N.cN&&(C=m(N.cN,"",!0)+C);var M="",B=0;try{for(var L,A,$=0;;){if(k.t.lastIndex=$,L=k.t.exec(r),!L)break;A=v(r.substring($,L.index),L[0]),$=L.index+A}for(v(r.substr($)),N=k;N.parent;N=N.parent)N.cN&&(C+=R);return{r:B,value:C,language:e,top:k}}catch(I){if(I.message&&-1!==I.message.indexOf("Illegal"))return{r:0,value:t(r)};throw I}}function b(e,r){r=r||S.languages||x(E);var a={r:0,value:t(e)},n=a;return r.filter(w).filter(N).forEach(function(t){var r=d(t,e,!1);r.language=t,r.r>n.r&&(n=r),r.r>a.r&&(n=a,a=r)}),n.language&&(a.second_best=n),a}function p(e){return S.tabReplace||S.useBR?e.replace(L,function(e,t){return S.useBR&&"\n"===e?"
":S.tabReplace?t.replace(/\t/g,S.tabReplace):""}):e}function m(e,t,r){var a=t?C[t]:r,n=[e.trim()];return e.match(/\bhljs\b/)||n.push("hljs"),-1===e.indexOf(a)&&n.push(a),n.join(" ").trim()}function f(e){var t,r,a,s,l,u=i(e);n(u)||(S.useBR?(t=document.createElementNS("http://www.w3.org/1999/xhtml","div"),t.innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n")):t=e,l=t.textContent,a=u?d(u,l,!0):b(l),r=c(t),r.length&&(s=document.createElementNS("http://www.w3.org/1999/xhtml","div"),s.innerHTML=a.value,a.value=o(r,c(s),l)),a.value=p(a.value),e.innerHTML=a.value,e.className=m(e.className,u,a.language),e.result={language:a.language,re:a.r},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.r}))}function g(e){S=s(S,e)}function _(){if(!_.called){_.called=!0;var e=document.querySelectorAll("pre code");k.forEach.call(e,f)}}function h(){addEventListener("DOMContentLoaded",_,!1),addEventListener("load",_,!1)}function v(t,r){var a=E[t]=r(e);a.aliases&&a.aliases.forEach(function(e){C[e]=t})}function y(){return x(E)}function w(e){return e=(e||"").toLowerCase(),E[e]||E[C[e]]}function N(e){var t=w(e);return t&&!t.disableAutodetect}var k=[],x=Object.keys,E={},C={},M=/^(no-?highlight|plain|text)$/i,B=/\blang(?:uage)?-([\w-]+)\b/i,L=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,R="
",S={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};return e.highlight=d,e.highlightAuto=b,e.fixMarkup=p,e.highlightBlock=f,e.configure=g,e.initHighlighting=_,e.initHighlightingOnLoad=h,e.registerLanguage=v,e.listLanguages=y,e.getLanguage=w,e.autoDetection=N,e.inherit=s,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},e.C=function(t,r,a){var n=e.inherit({cN:"comment",b:t,e:r,c:[]},a||{});return n.c.push(e.PWM),n.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),n},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e.METHOD_GUARD={b:"\\.\\s*"+e.UIR,r:0},e.registerLanguage("apache",function(e){var t={cN:"number",b:"[\\$%]\\d+"};return{aliases:["apacheconf"],cI:!0,c:[e.HCM,{cN:"section",b:""},{cN:"attribute",b:/\w+/,r:0,k:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"meta",b:"\\s\\[",e:"\\]$"},{cN:"variable",b:"[\\$%]\\{",e:"\\}",c:["self",t]},t,e.QSM]}}],i:/\S/}}),e.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},r={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},a={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/\b-?[a-z\._]+\b/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,r,a,t]}}),e.registerLanguage("coffeescript",function(e){var t={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super yield import export from as default await then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",built_in:"npm require console print module global window document"},r="[A-Za-z$_][0-9A-Za-z$_]*",a={cN:"subst",b:/#\{/,e:/}/,k:t},n=[e.BNM,e.inherit(e.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/"""/,e:/"""/,c:[e.BE,a]},{b:/"/,e:/"/,c:[e.BE,a]}]},{cN:"regexp",v:[{b:"///",e:"///",c:[a,e.HCM]},{b:"//[gim]*",r:0},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{b:"@"+r},{sL:"javascript",eB:!0,eE:!0,v:[{b:"```",e:"```"},{b:"`",e:"`"}]}];a.c=n;var i=e.inherit(e.TM,{b:r}),s="(\\(.*\\))?\\s*\\B[-=]>",c={cN:"params",b:"\\([^\\(]",rB:!0,c:[{b:/\(/,e:/\)/,k:t,c:["self"].concat(n)}]};return{aliases:["coffee","cson","iced"],k:t,i:/\/\*/,c:n.concat([e.C("###","###"),e.HCM,{cN:"function",b:"^\\s*"+r+"\\s*=\\s*"+s,e:"[-=]>",rB:!0,c:[i,c]},{b:/[:\(,=]\s*/,r:0,c:[{cN:"function",b:s,e:"[-=]>",rB:!0,c:[c]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[i]},i]},{b:r+":",e:":",rB:!0,rE:!0,r:0}])}}),e.registerLanguage("cpp",function(e){var t={cN:"keyword",b:"\\b[a-z\\d_]*_t\\b"},r={cN:"string",v:[{b:'(u8?|U|L)?"',e:'"',i:"\\n",c:[e.BE]},{b:'(u8?|U|L)?R"\\(',e:'\\)"'},{b:"'\\\\?.",e:"'",i:"."}]},a={cN:"number",v:[{b:"\\b(0b[01']+)"},{b:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{b:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],r:0},n={cN:"meta",b:/#\s*[a-z]+\b/,e:/$/,k:{"meta-keyword":"if else elif endif define undef warning error line pragma ifdef ifndef include"},c:[{b:/\\\n/,r:0},e.inherit(r,{cN:"meta-string"}),{cN:"meta-string",b:/<[^\n>]*>/,e:/$/,i:"\\n"},e.CLCM,e.CBCM]},i=e.IR+"\\s*\\(",s={keyword:"int float while private char catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and or not",built_in:"std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr",literal:"true false nullptr NULL"},c=[t,e.CLCM,e.CBCM,a,r];return{aliases:["c","cc","h","c++","h++","hpp"],k:s,i:"",k:s,c:["self",t]},{b:e.IR+"::",k:s},{v:[{b:/=/,e:/;/},{b:/\(/,e:/\)/},{bK:"new throw return else",e:/;/}],k:s,c:c.concat([{b:/\(/,e:/\)/,k:s,c:c.concat(["self"]),r:0}]),r:0},{cN:"function",b:"("+e.IR+"[\\*&\\s]+)+"+i,rB:!0,e:/[{;=]/,eE:!0,k:s,i:/[^\w\s\*&]/,c:[{b:i,rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:s,r:0,c:[e.CLCM,e.CBCM,r,a,t,{b:/\(/,e:/\)/,k:s,r:0,c:["self",e.CLCM,e.CBCM,r,a,t]}]},e.CLCM,e.CBCM,n]},{cN:"class",bK:"class struct",e:/[{;:]/,c:[{b://,c:["self"]},e.TM]}]),exports:{preprocessor:n,strings:r,k:s}}}),e.registerLanguage("cs",function(e){var t={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long nameof object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let on orderby partial remove select set value var where yield",literal:"null false true"},r={cN:"number",v:[{b:"\\b(0b[01']+)"},{b:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{b:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],r:0},a={cN:"string",b:'@"',e:'"',c:[{b:'""'}]},n=e.inherit(a,{i:/\n/}),i={cN:"subst",b:"{",e:"}",k:t},s=e.inherit(i,{i:/\n/}),c={cN:"string",b:/\$"/,e:'"',i:/\n/,c:[{b:"{{"},{b:"}}"},e.BE,s]},o={cN:"string",b:/\$@"/,e:'"',c:[{b:"{{"},{b:"}}"},{b:'""'},i]},l=e.inherit(o,{i:/\n/,c:[{b:"{{"},{b:"}}"},{b:'""'},s]});i.c=[o,c,a,e.ASM,e.QSM,r,e.CBCM],s.c=[l,c,n,e.ASM,e.QSM,r,e.inherit(e.CBCM,{i:/\n/})];var u={v:[o,c,a,e.ASM,e.QSM]},d=e.IR+"(<"+e.IR+"(\\s*,\\s*"+e.IR+")*>)?(\\[\\])?";return{aliases:["csharp","c#"],k:t,i:/::/,c:[e.C("///","$",{rB:!0,c:[{cN:"doctag",v:[{b:"///",r:0},{b:""},{b:""}]}]}),e.CLCM,e.CBCM,{cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},u,r,{bK:"class interface",e:/[{;=]/,i:/[^\s:,]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:"namespace",e:/[{;=]/,i:/[^\s:]/,c:[e.inherit(e.TM,{b:"[a-zA-Z](\\.?\\w)*"}),e.CLCM,e.CBCM]},{cN:"meta",b:"^\\s*\\[",eB:!0,e:"\\]",eE:!0,c:[{cN:"meta-string",b:/"/,e:/"/}]},{bK:"new return throw await else",r:0},{cN:"function",b:"("+d+"\\s+)+"+e.IR+"\\s*\\(",rB:!0,e:/\s*[{;=]/,eE:!0,k:t,c:[{b:e.IR+"\\s*\\(",rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,r:0,c:[u,r,e.CBCM]},e.CLCM,e.CBCM]}]}}),e.registerLanguage("css",function(e){var t="[a-zA-Z-][a-zA-Z0-9_-]*",r={b:/[A-Z\_\.\-]+\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\w-]+\(/,rB:!0,c:[{cN:"built_in",b:/[\w-]+/},{b:/\(/,e:/\)/,c:[e.ASM,e.QSM]}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"number",b:"#[0-9A-Fa-f]+"},{cN:"meta",b:"!important"}]}}]};return{cI:!0,i:/[=\/|'\$]/,c:[e.CBCM,{cN:"selector-id",b:/#[A-Za-z0-9_-]+/},{cN:"selector-class",b:/\.[A-Za-z0-9_-]+/},{cN:"selector-attr",b:/\[/,e:/\]/,i:"$"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{b:"@",e:"[{;]",i:/:/,c:[{cN:"keyword",b:/\w+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[e.ASM,e.QSM,e.CSSNM]}]},{cN:"selector-tag",b:t,r:0},{b:"{",e:"}",i:/\S/,c:[e.CBCM,r]}]}}),e.registerLanguage("diff",function(e){return{aliases:["patch"],c:[{cN:"meta",r:10,v:[{b:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"comment",v:[{b:/Index: /,e:/$/},{b:/={3,}/,e:/$/},{b:/^\-{3}/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+{3}/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"addition",b:"^\\!",e:"$"}]}}),e.registerLanguage("http",function(e){var t="HTTP/[0-9\\.]+";return{aliases:["https"],i:"\\S",c:[{b:"^"+t,e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{b:"^[A-Z]+ (.*?) "+t+"$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0},{b:t},{cN:"keyword",b:"[A-Z]+"}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{e:"$",r:0}},{b:"\\n\\n",starts:{sL:[],eW:!0}}]}}),e.registerLanguage("ini",function(e){var t={cN:"string",c:[e.BE],v:[{b:"'''",e:"'''",r:10},{b:'"""',e:'"""',r:10},{b:'"',e:'"'},{b:"'",e:"'"}]};return{aliases:["toml"],cI:!0,i:/\S/,c:[e.C(";","$"),e.HCM,{cN:"section",b:/^\s*\[+/,e:/\]+/},{b:/^[a-z0-9\[\]_-]+\s*=\s*/,e:"$",rB:!0,c:[{cN:"attr",b:/[a-z0-9\[\]_-]+/},{b:/=/,eW:!0,r:0,c:[{cN:"literal",b:/\bon|off|true|false|yes|no\b/},{cN:"variable",v:[{b:/\$[\w\d"][\w\d_]*/},{b:/\$\{(.*?)}/}]},t,{cN:"number",b:/([\+\-]+)?[\d]+_[\d_]+/},e.NM]}]}]}}),e.registerLanguage("java",function(e){var t="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",r=t+"(<"+t+"(\\s*,\\s*"+t+")*>)?",a="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",n="\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",i={cN:"number",b:n,r:0};return{aliases:["jsp"],k:a,i:/<\/|#/,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"new throw return else",r:0},{cN:"function",b:"("+r+"\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:a,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:a,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},i,{cN:"meta",b:"@[A-Za-z]+"}]}}),e.registerLanguage("javascript",function(e){var t="[A-Za-z$_][0-9A-Za-z$_]*",r={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},a={cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},n={cN:"subst",b:"\\$\\{",e:"\\}",k:r,c:[]},i={cN:"string",b:"`",e:"`",c:[e.BE,n]};n.c=[e.ASM,e.QSM,i,a,e.RM];var s=n.c.concat([e.CBCM,e.CLCM]);return{aliases:["js","jsx"],k:r,c:[{cN:"meta",r:10,b:/^\s*['"]use (strict|asm)['"]/},{cN:"meta",b:/^#!/,e:/$/},e.ASM,e.QSM,i,e.CLCM,e.CBCM,a,{b:/[{,]\s*/,r:0,c:[{b:t+"\\s*:",rB:!0,r:0,c:[{cN:"attr",b:t,r:0}]}]},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+t+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:t},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:r,c:s}]}]},{b://,sL:"xml",c:[{b:/<\w+\s*\/>/,skip:!0},{b:/<\w+/,e:/(\/\w+|\w+\/)>/,skip:!0,c:[{b:/<\w+\s*\/>/,skip:!0},"self"]}]}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:t}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:s}],i:/\[|%/},{b:/\$[(.]/},e.METHOD_GUARD,{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor get set",e:/\{/,eE:!0}],i:/#(?!!)/}}),e.registerLanguage("json",function(e){var t={literal:"true false null"},r=[e.QSM,e.CNM],a={e:",",eW:!0,eE:!0,c:r,k:t},n={b:"{",e:"}",c:[{cN:"attr",b:/"/,e:/"/,c:[e.BE],i:"\\n"},e.inherit(a,{b:/:/})],i:"\\S"},i={b:"\\[",e:"\\]",c:[e.inherit(a)],i:"\\S"};return r.splice(r.length,0,n,i),{c:r,k:t,i:"\\S"}}),e.registerLanguage("makefile",function(e){var t={cN:"variable",v:[{b:"\\$\\("+e.UIR+"\\)",c:[e.BE]},{b:/\$[@%`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist"],cI:!0,c:[{cN:"meta",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},e.C("",{r:10}),{b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"meta",b:/<\?xml/,e:/\?>/,r:10},{b:/<\?(php)?/,e:/\?>/,sL:"php",c:[{b:"/\\*",e:"\\*/",skip:!0},{b:'b"',e:'"',skip:!0},{b:"b'",e:"'",skip:!0},e.inherit(e.ASM,{i:null,cN:null,c:null,skip:!0}),e.inherit(e.QSM,{i:null,cN:null,c:null,skip:!0})]},{cN:"tag",b:"|$)",e:">",k:{name:"style"},c:[r],starts:{e:"",rE:!0,sL:["css","xml"]}},{cN:"tag",b:"|$)",e:">",k:{name:"script"},c:[r],starts:{e:"",rE:!0,sL:["actionscript","javascript","handlebars","xml"]}},{cN:"tag",b:"",c:[{cN:"name",b:/[^\/><\s]+/,r:0},r]}]}}),e.registerLanguage("markdown",function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"section",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"^```w*s*$",e:"^```s*$"},{b:"`.+?`"},{b:"^( {4}| )",e:"$",r:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:/^\[[^\n]+\]:/,rB:!0,c:[{cN:"symbol",b:/\[/,e:/\]/,eB:!0,eE:!0},{cN:"link",b:/:\s*/,e:/$/,eB:!0}]}]}}),e.registerLanguage("nginx",function(e){var t={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+e.UIR}]},r={eW:!0,l:"[a-z/_]+",k:{literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},r:0,i:"=>",c:[e.HCM,{cN:"string",c:[e.BE,t],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{b:"([a-z]+):/",e:"\\s",eW:!0,eE:!0,c:[t]},{cN:"regexp",c:[e.BE,t],v:[{b:"\\s\\^",e:"\\s|{|;",rE:!0},{b:"~\\*?\\s+",e:"\\s|{|;",rE:!0},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},t]};return{aliases:["nginxconf"],c:[e.HCM,{b:e.UIR+"\\s+{",rB:!0,e:"{",c:[{cN:"section",b:e.UIR}],r:0},{b:e.UIR+"\\s",e:";|{",rB:!0,c:[{cN:"attribute",b:e.UIR,starts:r}],r:0}],i:"[^\\s\\}]"}}),e.registerLanguage("objectivec",function(e){var t={cN:"built_in",b:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},r={keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},a=/[a-zA-Z@][a-zA-Z0-9_]*/,n="@interface @class @protocol @implementation";return{aliases:["mm","objc","obj-c"],k:r,l:a,i:""}]}]},{cN:"class",b:"("+n.split(" ").join("|")+")\\b",e:"({|$)",eE:!0,k:n,l:a,c:[e.UTM]},{b:"\\."+e.UIR,r:0}]}}),e.registerLanguage("perl",function(e){var t="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",r={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},a={b:"->{",e:"}"},n={v:[{b:/\$\d/},{b:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{b:/[\$%@][^\s\w{]/,r:0}]},i=[e.BE,r,n],s=[n,e.HCM,e.C("^\\=\\w","\\=cut",{eW:!0}),a,{cN:"string",c:i,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"function",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",eE:!0,r:5,c:[e.TM]},{b:"-\\w\\b",r:0},{b:"^__DATA__$",e:"^__END__$",sL:"mojolicious",c:[{b:"^@@.*",e:"$",cN:"comment"}]}];return r.c=s,a.c=s,{aliases:["pl","pm"],l:/[\w\.]+/,k:t,c:s}}),e.registerLanguage("php",function(e){var t={b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},r={cN:"meta",b:/<\?(php)?|\?>/},a={cN:"string",c:[e.BE,r],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},n={v:[e.BNM,e.CNM]};return{aliases:["php","php3","php4","php5","php6","php7"],cI:!0,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[e.HCM,e.C("//","$",{c:[r]}),e.C("/\\*","\\*/",{c:[{cN:"doctag",b:"@[A-Za-z]+"}]}),e.C("__halt_compiler.+?;",!1,{eW:!0,k:"__halt_compiler",l:e.UIR}),{cN:"string",b:/<<<['"]?\w+['"]?$/,e:/^\w+;?$/,c:[e.BE,{cN:"subst",v:[{b:/\$\w+/},{b:/\{\$/,e:/\}/}]}]},r,{cN:"keyword",b:/\$this\b/},t,{b:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",t,e.CBCM,a,n]}]},{cN:"class",bK:"class interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{bK:"use",e:";",c:[e.UTM]},{b:"=>"},a,n]}}),e.registerLanguage("properties",function(e){var t="[ \\t\\f]*",r="[ \\t\\f]+",a="("+t+"[:=]"+t+"|"+r+")",n="([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",i="([^\\\\:= \\t\\f\\n]|\\\\.)+",s={e:a,r:0,starts:{cN:"string",e:/$/,r:0,c:[{b:"\\\\\\n"}]}};return{cI:!0,i:/\S/,c:[e.C("^\\s*[!#]","$"),{b:n+a,rB:!0,c:[{cN:"attr",b:n,endsParent:!0,r:0}],starts:s},{b:i+a,rB:!0,r:0,c:[{cN:"meta",b:i,endsParent:!0,r:0}],starts:s},{cN:"attr",r:0,b:i+t+"$"}]}}),e.registerLanguage("python",function(e){ -var t={keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},r={cN:"meta",b:/^(>>>|\.\.\.) /},a={cN:"subst",b:/\{/,e:/\}/,k:t,i:/#/},n={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[e.BE,r],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[e.BE,r],r:10},{b:/(fr|rf|f)'''/,e:/'''/,c:[e.BE,r,a]},{b:/(fr|rf|f)"""/,e:/"""/,c:[e.BE,r,a]},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},{b:/(fr|rf|f)'/,e:/'/,c:[e.BE,a]},{b:/(fr|rf|f)"/,e:/"/,c:[e.BE,a]},e.ASM,e.QSM]},i={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},s={cN:"params",b:/\(/,e:/\)/,c:["self",r,i,n]};return a.c=[n,i,r],{aliases:["py","gyp","ipython"],k:t,i:/(<\/|->|\?)|=>/,c:[r,i,n,e.HCM,{v:[{cN:"function",bK:"def"},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,s,{b:/->/,eW:!0,k:"None"}]},{cN:"meta",b:/^[\t ]*@/,e:/$/},{b:/\b(print|exec)\(/}]}}),e.registerLanguage("ruby",function(e){var t="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",r={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},a={cN:"doctag",b:"@[A-Za-z]+"},n={b:"#<",e:">"},i=[e.C("#","$",{c:[a]}),e.C("^\\=begin","^\\=end",{c:[a],r:10}),e.C("^__END__","\\n$")],s={cN:"subst",b:"#\\{",e:"}",k:r},c={cN:"string",c:[e.BE,s],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%[qQwWx]?\\(",e:"\\)"},{b:"%[qQwWx]?\\[",e:"\\]"},{b:"%[qQwWx]?{",e:"}"},{b:"%[qQwWx]?<",e:">"},{b:"%[qQwWx]?/",e:"/"},{b:"%[qQwWx]?%",e:"%"},{b:"%[qQwWx]?-",e:"-"},{b:"%[qQwWx]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{b:/<<(-?)\w+$/,e:/^\s*\w+$/}]},o={cN:"params",b:"\\(",e:"\\)",endsParent:!0,k:r},l=[c,n,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{b:"<\\s*",c:[{b:"("+e.IR+"::)?"+e.IR}]}].concat(i)},{cN:"function",bK:"def",e:"$|;",c:[e.inherit(e.TM,{b:t}),o].concat(i)},{b:e.IR+"::"},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":(?!\\s)",c:[c,{b:t}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{cN:"params",b:/\|/,e:/\|/,k:r},{b:"("+e.RSR+"|unless)\\s*",k:"unless",c:[n,{cN:"regexp",c:[e.BE,s],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}].concat(i),r:0}].concat(i);s.c=l,o.c=l;var u="[>?]>",d="[\\w#]+\\(\\w+\\):\\d+:\\d+>",b="(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>",p=[{b:/^\s*=>/,starts:{e:"$",c:l}},{cN:"meta",b:"^("+u+"|"+d+"|"+b+")",starts:{e:"$",c:l}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:r,i:/\/\*/,c:i.concat(p).concat(l)}}),e.registerLanguage("shell",function(e){return{aliases:["console"],c:[{cN:"meta",b:"^\\s{0,3}[\\w\\d\\[\\]()@-]*[>%$#]",starts:{e:"$",sL:"bash"}}]}}),e.registerLanguage("sql",function(e){var t=e.C("--","$");return{cI:!0,i:/[<>{}*]/,c:[{bK:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment values with",e:/;/,eW:!0,l:/[\w\.]+/,k:{keyword:"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select self semi sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null unknown",built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp tinyint varchar varying void"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[e.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[e.BE]},e.CNM,e.CBCM,t,e.HCM]},e.CBCM,t,e.HCM]}}),e}); \ No newline at end of file diff --git a/public/js/highlight.pack.js b/public/js/highlight.pack.js new file mode 100644 index 0000000..e456a70 --- /dev/null +++ b/public/js/highlight.pack.js @@ -0,0 +1,655 @@ +/* + Highlight.js 10.7.1 (421b23b0) + License: BSD-3-Clause + Copyright (c) 2006-2021, Ivan Sagalaev +*/ +var hljs=function(){"use strict";function e(t){ +return t instanceof Map?t.clear=t.delete=t.set=()=>{ +throw Error("map is read-only")}:t instanceof Set&&(t.add=t.clear=t.delete=()=>{ +throw Error("set is read-only") +}),Object.freeze(t),Object.getOwnPropertyNames(t).forEach((n=>{var i=t[n] +;"object"!=typeof i||Object.isFrozen(i)||e(i)})),t}var t=e,n=e;t.default=n +;class i{constructor(e){ +void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1} +ignoreMatch(){this.isMatchIgnored=!0}}function s(e){ +return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'") +}function a(e,...t){const n=Object.create(null);for(const t in e)n[t]=e[t] +;return t.forEach((e=>{for(const t in e)n[t]=e[t]})),n}const r=e=>!!e.kind +;class l{constructor(e,t){ +this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){ +this.buffer+=s(e)}openNode(e){if(!r(e))return;let t=e.kind +;e.sublanguage||(t=`${this.classPrefix}${t}`),this.span(t)}closeNode(e){ +r(e)&&(this.buffer+="")}value(){return this.buffer}span(e){ +this.buffer+=``}}class o{constructor(){this.rootNode={ +children:[]},this.stack=[this.rootNode]}get top(){ +return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){ +this.top.children.push(e)}openNode(e){const t={kind:e,children:[]} +;this.add(t),this.stack.push(t)}closeNode(){ +if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){ +for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)} +walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){ +return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t), +t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){ +"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{ +o._collapse(e)})))}}class c extends o{constructor(e){super(),this.options=e} +addKeyword(e,t){""!==e&&(this.openNode(t),this.addText(e),this.closeNode())} +addText(e){""!==e&&this.add(e)}addSublanguage(e,t){const n=e.root +;n.kind=t,n.sublanguage=!0,this.add(n)}toHTML(){ +return new l(this,this.options).value()}finalize(){return!0}}function g(e){ +return e?"string"==typeof e?e:e.source:null} +const u=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,h="[a-zA-Z]\\w*",d="[a-zA-Z_]\\w*",f="\\b\\d+(\\.\\d+)?",p="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",m="\\b(0b[01]+)",b={ +begin:"\\\\[\\s\\S]",relevance:0},E={className:"string",begin:"'",end:"'", +illegal:"\\n",contains:[b]},x={className:"string",begin:'"',end:'"', +illegal:"\\n",contains:[b]},v={ +begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ +},w=(e,t,n={})=>{const i=a({className:"comment",begin:e,end:t,contains:[]},n) +;return i.contains.push(v),i.contains.push({className:"doctag", +begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),i +},y=w("//","$"),N=w("/\\*","\\*/"),R=w("#","$");var _=Object.freeze({ +__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:h,UNDERSCORE_IDENT_RE:d, +NUMBER_RE:f,C_NUMBER_RE:p,BINARY_NUMBER_RE:m, +RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", +SHEBANG:(e={})=>{const t=/^#![ ]*\// +;return e.binary&&(e.begin=((...e)=>e.map((e=>g(e))).join(""))(t,/.*\b/,e.binary,/\b.*/)), +a({className:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{ +0!==e.index&&t.ignoreMatch()}},e)},BACKSLASH_ESCAPE:b,APOS_STRING_MODE:E, +QUOTE_STRING_MODE:x,PHRASAL_WORDS_MODE:v,COMMENT:w,C_LINE_COMMENT_MODE:y, +C_BLOCK_COMMENT_MODE:N,HASH_COMMENT_MODE:R,NUMBER_MODE:{className:"number", +begin:f,relevance:0},C_NUMBER_MODE:{className:"number",begin:p,relevance:0}, +BINARY_NUMBER_MODE:{className:"number",begin:m,relevance:0},CSS_NUMBER_MODE:{ +className:"number", +begin:f+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", +relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp", +begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[b,{begin:/\[/,end:/\]/, +relevance:0,contains:[b]}]}]},TITLE_MODE:{className:"title",begin:h,relevance:0 +},UNDERSCORE_TITLE_MODE:{className:"title",begin:d,relevance:0},METHOD_GUARD:{ +begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:e=>Object.assign(e,{ +"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{ +t.data._beginMatch!==e[1]&&t.ignoreMatch()}})});function k(e,t){ +"."===e.input[e.index-1]&&t.ignoreMatch()}function M(e,t){ +t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)", +e.__beforeBegin=k,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords, +void 0===e.relevance&&(e.relevance=0))}function O(e,t){ +Array.isArray(e.illegal)&&(e.illegal=((...e)=>"("+e.map((e=>g(e))).join("|")+")")(...e.illegal)) +}function A(e,t){if(e.match){ +if(e.begin||e.end)throw Error("begin & end are not supported with match") +;e.begin=e.match,delete e.match}}function L(e,t){ +void 0===e.relevance&&(e.relevance=1)} +const I=["of","and","for","in","not","or","if","then","parent","list","value"] +;function j(e,t,n="keyword"){const i={} +;return"string"==typeof e?s(n,e.split(" ")):Array.isArray(e)?s(n,e):Object.keys(e).forEach((n=>{ +Object.assign(i,j(e[n],t,n))})),i;function s(e,n){ +t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((t=>{const n=t.split("|") +;i[n[0]]=[e,B(n[0],n[1])]}))}}function B(e,t){ +return t?Number(t):(e=>I.includes(e.toLowerCase()))(e)?0:1} +function T(e,{plugins:t}){function n(t,n){ +return RegExp(g(t),"m"+(e.case_insensitive?"i":"")+(n?"g":""))}class i{ +constructor(){ +this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0} +addRule(e,t){ +t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]), +this.matchAt+=(e=>RegExp(e.toString()+"|").exec("").length-1)(e)+1}compile(){ +0===this.regexes.length&&(this.exec=()=>null) +;const e=this.regexes.map((e=>e[1]));this.matcherRe=n(((e,t="|")=>{let n=0 +;return e.map((e=>{n+=1;const t=n;let i=g(e),s="";for(;i.length>0;){ +const e=u.exec(i);if(!e){s+=i;break} +s+=i.substring(0,e.index),i=i.substring(e.index+e[0].length), +"\\"===e[0][0]&&e[1]?s+="\\"+(Number(e[1])+t):(s+=e[0],"("===e[0]&&n++)}return s +})).map((e=>`(${e})`)).join(t)})(e),!0),this.lastIndex=0}exec(e){ +this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e) +;if(!t)return null +;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),i=this.matchIndexes[n] +;return t.splice(0,n),Object.assign(t,i)}}class s{constructor(){ +this.rules=[],this.multiRegexes=[], +this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){ +if(this.multiRegexes[e])return this.multiRegexes[e];const t=new i +;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))), +t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){ +return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){ +this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){ +const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex +;let n=t.exec(e) +;if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{ +const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)} +return n&&(this.regexIndex+=n.position+1, +this.regexIndex===this.count&&this.considerAll()),n}} +if(e.compilerExtensions||(e.compilerExtensions=[]), +e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.") +;return e.classNameAliases=a(e.classNameAliases||{}),function t(i,r){const l=i +;if(i.isCompiled)return l +;[A].forEach((e=>e(i,r))),e.compilerExtensions.forEach((e=>e(i,r))), +i.__beforeBegin=null,[M,O,L].forEach((e=>e(i,r))),i.isCompiled=!0;let o=null +;if("object"==typeof i.keywords&&(o=i.keywords.$pattern, +delete i.keywords.$pattern), +i.keywords&&(i.keywords=j(i.keywords,e.case_insensitive)), +i.lexemes&&o)throw Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ") +;return o=o||i.lexemes||/\w+/, +l.keywordPatternRe=n(o,!0),r&&(i.begin||(i.begin=/\B|\b/), +l.beginRe=n(i.begin),i.endSameAsBegin&&(i.end=i.begin), +i.end||i.endsWithParent||(i.end=/\B|\b/), +i.end&&(l.endRe=n(i.end)),l.terminatorEnd=g(i.end)||"", +i.endsWithParent&&r.terminatorEnd&&(l.terminatorEnd+=(i.end?"|":"")+r.terminatorEnd)), +i.illegal&&(l.illegalRe=n(i.illegal)), +i.contains||(i.contains=[]),i.contains=[].concat(...i.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((t=>a(e,{ +variants:null},t)))),e.cachedVariants?e.cachedVariants:S(e)?a(e,{ +starts:e.starts?a(e.starts):null +}):Object.isFrozen(e)?a(e):e))("self"===e?i:e)))),i.contains.forEach((e=>{t(e,l) +})),i.starts&&t(i.starts,r),l.matcher=(e=>{const t=new s +;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin" +}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end" +}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t})(l),l}(e)}function S(e){ +return!!e&&(e.endsWithParent||S(e.starts))}function P(e){const t={ +props:["language","code","autodetect"],data:()=>({detectedLanguage:"", +unknownLanguage:!1}),computed:{className(){ +return this.unknownLanguage?"":"hljs "+this.detectedLanguage},highlighted(){ +if(!this.autoDetect&&!e.getLanguage(this.language))return console.warn(`The language "${this.language}" you specified could not be found.`), +this.unknownLanguage=!0,s(this.code);let t={} +;return this.autoDetect?(t=e.highlightAuto(this.code), +this.detectedLanguage=t.language):(t=e.highlight(this.language,this.code,this.ignoreIllegals), +this.detectedLanguage=this.language),t.value},autoDetect(){ +return!(this.language&&(e=this.autodetect,!e&&""!==e));var e}, +ignoreIllegals:()=>!0},render(e){return e("pre",{},[e("code",{ +class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{ +Component:t,VuePlugin:{install(e){e.component("highlightjs",t)}}}}const D={ +"after:highlightElement":({el:e,result:t,text:n})=>{const i=H(e) +;if(!i.length)return;const a=document.createElement("div") +;a.innerHTML=t.value,t.value=((e,t,n)=>{let i=0,a="";const r=[];function l(){ +return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset"}function c(e){ +a+=""}function g(e){("start"===e.event?o:c)(e.node)} +for(;e.length||t.length;){let t=l() +;if(a+=s(n.substring(i,t[0].offset)),i=t[0].offset,t===e){r.reverse().forEach(c) +;do{g(t.splice(0,1)[0]),t=l()}while(t===e&&t.length&&t[0].offset===i) +;r.reverse().forEach(o) +}else"start"===t[0].event?r.push(t[0].node):r.pop(),g(t.splice(0,1)[0])} +return a+s(n.substr(i))})(i,H(a),n)}};function C(e){ +return e.nodeName.toLowerCase()}function H(e){const t=[];return function e(n,i){ +for(let s=n.firstChild;s;s=s.nextSibling)3===s.nodeType?i+=s.nodeValue.length:1===s.nodeType&&(t.push({ +event:"start",offset:i,node:s}),i=e(s,i),C(s).match(/br|hr|img|input/)||t.push({ +event:"stop",offset:i,node:s}));return i}(e,0),t}const $=e=>{console.error(e) +},U=(e,...t)=>{console.log("WARN: "+e,...t)},z=(e,t)=>{ +console.log(`Deprecated as of ${e}. ${t}`)},K=s,G=a,V=Symbol("nomatch") +;return(e=>{const n=Object.create(null),s=Object.create(null),a=[];let r=!0 +;const l=/(^(<[^>]+>|\t|)+|\n)/gm,o="Could not find the language '{}', did you forget to load/include a language module?",g={ +disableAutodetect:!0,name:"Plain text",contains:[]};let u={ +noHighlightRe:/^(no-?highlight)$/i, +languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-", +tabReplace:null,useBR:!1,languages:null,__emitter:c};function h(e){ +return u.noHighlightRe.test(e)}function d(e,t,n,i){let s="",a="" +;"object"==typeof t?(s=e, +n=t.ignoreIllegals,a=t.language,i=void 0):(z("10.7.0","highlight(lang, code, ...args) has been deprecated."), +z("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"), +a=e,s=t);const r={code:s,language:a};M("before:highlight",r) +;const l=r.result?r.result:f(r.language,r.code,n,i) +;return l.code=r.code,M("after:highlight",l),l}function f(e,t,s,l){ +function c(e,t){const n=v.case_insensitive?t[0].toLowerCase():t[0] +;return Object.prototype.hasOwnProperty.call(e.keywords,n)&&e.keywords[n]} +function g(){null!=R.subLanguage?(()=>{if(""===M)return;let e=null +;if("string"==typeof R.subLanguage){ +if(!n[R.subLanguage])return void k.addText(M) +;e=f(R.subLanguage,M,!0,_[R.subLanguage]),_[R.subLanguage]=e.top +}else e=p(M,R.subLanguage.length?R.subLanguage:null) +;R.relevance>0&&(O+=e.relevance),k.addSublanguage(e.emitter,e.language) +})():(()=>{if(!R.keywords)return void k.addText(M);let e=0 +;R.keywordPatternRe.lastIndex=0;let t=R.keywordPatternRe.exec(M),n="";for(;t;){ +n+=M.substring(e,t.index);const i=c(R,t);if(i){const[e,s]=i +;if(k.addText(n),n="",O+=s,e.startsWith("_"))n+=t[0];else{ +const n=v.classNameAliases[e]||e;k.addKeyword(t[0],n)}}else n+=t[0] +;e=R.keywordPatternRe.lastIndex,t=R.keywordPatternRe.exec(M)} +n+=M.substr(e),k.addText(n)})(),M=""}function h(e){ +return e.className&&k.openNode(v.classNameAliases[e.className]||e.className), +R=Object.create(e,{parent:{value:R}}),R}function d(e,t,n){let s=((e,t)=>{ +const n=e&&e.exec(t);return n&&0===n.index})(e.endRe,n);if(s){if(e["on:end"]){ +const n=new i(e);e["on:end"](t,n),n.isMatchIgnored&&(s=!1)}if(s){ +for(;e.endsParent&&e.parent;)e=e.parent;return e}} +if(e.endsWithParent)return d(e.parent,t,n)}function m(e){ +return 0===R.matcher.regexIndex?(M+=e[0],1):(I=!0,0)}function b(e){ +const n=e[0],i=t.substr(e.index),s=d(R,e,i);if(!s)return V;const a=R +;a.skip?M+=n:(a.returnEnd||a.excludeEnd||(M+=n),g(),a.excludeEnd&&(M=n));do{ +R.className&&k.closeNode(),R.skip||R.subLanguage||(O+=R.relevance),R=R.parent +}while(R!==s.parent) +;return s.starts&&(s.endSameAsBegin&&(s.starts.endRe=s.endRe), +h(s.starts)),a.returnEnd?0:n.length}let E={};function x(n,a){const l=a&&a[0] +;if(M+=n,null==l)return g(),0 +;if("begin"===E.type&&"end"===a.type&&E.index===a.index&&""===l){ +if(M+=t.slice(a.index,a.index+1),!r){const t=Error("0 width match regex") +;throw t.languageName=e,t.badRule=E.rule,t}return 1} +if(E=a,"begin"===a.type)return function(e){ +const t=e[0],n=e.rule,s=new i(n),a=[n.__beforeBegin,n["on:begin"]] +;for(const n of a)if(n&&(n(e,s),s.isMatchIgnored))return m(t) +;return n&&n.endSameAsBegin&&(n.endRe=RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")), +n.skip?M+=t:(n.excludeBegin&&(M+=t), +g(),n.returnBegin||n.excludeBegin||(M=t)),h(n),n.returnBegin?0:t.length}(a) +;if("illegal"===a.type&&!s){ +const e=Error('Illegal lexeme "'+l+'" for mode "'+(R.className||"")+'"') +;throw e.mode=R,e}if("end"===a.type){const e=b(a);if(e!==V)return e} +if("illegal"===a.type&&""===l)return 1 +;if(L>1e5&&L>3*a.index)throw Error("potential infinite loop, way more iterations than matches") +;return M+=l,l.length}const v=N(e) +;if(!v)throw $(o.replace("{}",e)),Error('Unknown language: "'+e+'"') +;const w=T(v,{plugins:a});let y="",R=l||w;const _={},k=new u.__emitter(u);(()=>{ +const e=[];for(let t=R;t!==v;t=t.parent)t.className&&e.unshift(t.className) +;e.forEach((e=>k.openNode(e)))})();let M="",O=0,A=0,L=0,I=!1;try{ +for(R.matcher.considerAll();;){ +L++,I?I=!1:R.matcher.considerAll(),R.matcher.lastIndex=A +;const e=R.matcher.exec(t);if(!e)break;const n=x(t.substring(A,e.index),e) +;A=e.index+n}return x(t.substr(A)),k.closeAllNodes(),k.finalize(),y=k.toHTML(),{ +relevance:Math.floor(O),value:y,language:e,illegal:!1,emitter:k,top:R}}catch(n){ +if(n.message&&n.message.includes("Illegal"))return{illegal:!0,illegalBy:{ +msg:n.message,context:t.slice(A-100,A+100),mode:n.mode},sofar:y,relevance:0, +value:K(t),emitter:k};if(r)return{illegal:!1,relevance:0,value:K(t),emitter:k, +language:e,top:R,errorRaised:n};throw n}}function p(e,t){ +t=t||u.languages||Object.keys(n);const i=(e=>{const t={relevance:0, +emitter:new u.__emitter(u),value:K(e),illegal:!1,top:g} +;return t.emitter.addText(e),t})(e),s=t.filter(N).filter(k).map((t=>f(t,e,!1))) +;s.unshift(i);const a=s.sort(((e,t)=>{ +if(e.relevance!==t.relevance)return t.relevance-e.relevance +;if(e.language&&t.language){if(N(e.language).supersetOf===t.language)return 1 +;if(N(t.language).supersetOf===e.language)return-1}return 0})),[r,l]=a,o=r +;return o.second_best=l,o}const m={"before:highlightElement":({el:e})=>{ +u.useBR&&(e.innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n")) +},"after:highlightElement":({result:e})=>{ +u.useBR&&(e.value=e.value.replace(/\n/g,"
"))}},b=/^(<[^>]+>|\t)+/gm,E={ +"after:highlightElement":({result:e})=>{ +u.tabReplace&&(e.value=e.value.replace(b,(e=>e.replace(/\t/g,u.tabReplace))))}} +;function x(e){let t=null;const n=(e=>{let t=e.className+" " +;t+=e.parentNode?e.parentNode.className:"";const n=u.languageDetectRe.exec(t) +;if(n){const t=N(n[1]) +;return t||(U(o.replace("{}",n[1])),U("Falling back to no-highlight mode for this block.",e)), +t?n[1]:"no-highlight"}return t.split(/\s+/).find((e=>h(e)||N(e)))})(e) +;if(h(n))return;M("before:highlightElement",{el:e,language:n}),t=e +;const i=t.textContent,a=n?d(i,{language:n,ignoreIllegals:!0}):p(i) +;M("after:highlightElement",{el:e,result:a,text:i +}),e.innerHTML=a.value,((e,t,n)=>{const i=t?s[t]:n +;e.classList.add("hljs"),i&&e.classList.add(i)})(e,n,a.language),e.result={ +language:a.language,re:a.relevance,relavance:a.relevance +},a.second_best&&(e.second_best={language:a.second_best.language, +re:a.second_best.relevance,relavance:a.second_best.relevance})}const v=()=>{ +v.called||(v.called=!0, +z("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead."), +document.querySelectorAll("pre code").forEach(x))};let w=!1;function y(){ +"loading"!==document.readyState?document.querySelectorAll("pre code").forEach(x):w=!0 +}function N(e){return e=(e||"").toLowerCase(),n[e]||n[s[e]]} +function R(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{ +s[e.toLowerCase()]=t}))}function k(e){const t=N(e) +;return t&&!t.disableAutodetect}function M(e,t){const n=e;a.forEach((e=>{ +e[n]&&e[n](t)}))} +"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(()=>{ +w&&y()}),!1),Object.assign(e,{highlight:d,highlightAuto:p,highlightAll:y, +fixMarkup:e=>{ +return z("10.2.0","fixMarkup will be removed entirely in v11.0"),z("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534"), +t=e, +u.tabReplace||u.useBR?t.replace(l,(e=>"\n"===e?u.useBR?"
":e:u.tabReplace?e.replace(/\t/g,u.tabReplace):e)):t +;var t},highlightElement:x, +highlightBlock:e=>(z("10.7.0","highlightBlock will be removed entirely in v12.0"), +z("10.7.0","Please use highlightElement now."),x(e)),configure:e=>{ +e.useBR&&(z("10.3.0","'useBR' will be removed entirely in v11.0"), +z("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")), +u=G(u,e)},initHighlighting:v,initHighlightingOnLoad:()=>{ +z("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead."), +w=!0},registerLanguage:(t,i)=>{let s=null;try{s=i(e)}catch(e){ +if($("Language definition for '{}' could not be registered.".replace("{}",t)), +!r)throw e;$(e),s=g} +s.name||(s.name=t),n[t]=s,s.rawDefinition=i.bind(null,e),s.aliases&&R(s.aliases,{ +languageName:t})},unregisterLanguage:e=>{delete n[e] +;for(const t of Object.keys(s))s[t]===e&&delete s[t]}, +listLanguages:()=>Object.keys(n),getLanguage:N,registerAliases:R, +requireLanguage:e=>{ +z("10.4.0","requireLanguage will be removed entirely in v11."), +z("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844") +;const t=N(e);if(t)return t +;throw Error("The '{}' language is required, but not loaded.".replace("{}",e))}, +autoDetection:k,inherit:G,addPlugin:e=>{(e=>{ +e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{ +e["before:highlightBlock"](Object.assign({block:t.el},t)) +}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{ +e["after:highlightBlock"](Object.assign({block:t.el},t))})})(e),a.push(e)}, +vuePlugin:P(e).VuePlugin}),e.debugMode=()=>{r=!1},e.safeMode=()=>{r=!0 +},e.versionString="10.7.1";for(const e in _)"object"==typeof _[e]&&t(_[e]) +;return Object.assign(e,_),e.addPlugin(m),e.addPlugin(D),e.addPlugin(E),e})({}) +}();"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);hljs.registerLanguage("bash",(()=>{"use strict";function e(...e){ +return e.map((e=>{return(s=e)?"string"==typeof s?s:s.source:null;var s +})).join("")}return s=>{const n={},t={begin:/\$\{/,end:/\}/,contains:["self",{ +begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{ +begin:e(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},t]});const a={ +className:"subst",begin:/\$\(/,end:/\)/,contains:[s.BACKSLASH_ESCAPE]},i={ +begin:/<<-?\s*(?=\w+)/,starts:{contains:[s.END_SAME_AS_BEGIN({begin:/(\w+)/, +end:/(\w+)/,className:"string"})]}},c={className:"string",begin:/"/,end:/"/, +contains:[s.BACKSLASH_ESCAPE,n,a]};a.contains.push(c);const o={begin:/\$\(\(/, +end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},s.NUMBER_MODE,n] +},r=s.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10 +}),l={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0, +contains:[s.inherit(s.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{ +name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z._-]+\b/, +keyword:"if then else elif fi for while in do done case esac function", +literal:"true false", +built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp" +},contains:[r,s.SHEBANG(),l,o,s.HASH_COMMENT_MODE,i,c,{className:"",begin:/\\"/ +},{className:"string",begin:/'/,end:/'/},n]}}})());hljs.registerLanguage("plaintext",(()=>{"use strict";return t=>({ +name:"Plain text",aliases:["text","txt"],disableAutodetect:!0})})());hljs.registerLanguage("xml",(()=>{"use strict";function e(e){ +return e?"string"==typeof e?e:e.source:null}function n(e){return a("(?=",e,")")} +function a(...n){return n.map((n=>e(n))).join("")}function s(...n){ +return"("+n.map((n=>e(n))).join("|")+")"}return e=>{ +const t=a(/[A-Z_]/,a("(",/[A-Z0-9_.-]*:/,")?"),/[A-Z0-9_.-]*/),i={ +className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},r={begin:/\s/, +contains:[{className:"meta-keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}] +},c=e.inherit(r,{begin:/\(/,end:/\)/}),l=e.inherit(e.APOS_STRING_MODE,{ +className:"meta-string"}),g=e.inherit(e.QUOTE_STRING_MODE,{ +className:"meta-string"}),m={endsWithParent:!0,illegal:/`]+/}]}] +}]};return{name:"HTML, XML", +aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"], +case_insensitive:!0,contains:[{className:"meta",begin://, +relevance:10,contains:[r,g,l,c,{begin:/\[/,end:/\]/,contains:[{className:"meta", +begin://,contains:[r,c,g,l]}]}]},e.COMMENT(//,{ +relevance:10}),{begin://,relevance:10},i,{ +className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"style"},contains:[m],starts:{ +end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"script"},contains:[m],starts:{ +end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{ +className:"tag",begin:/<>|<\/>/},{className:"tag", +begin:a(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name", +begin:t,relevance:0,starts:m}]},{className:"tag",begin:a(/<\//,n(a(t,/>/))), +contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0, +endsParent:!0}]}]}}})());hljs.registerLanguage("markdown",(()=>{"use strict";function n(...n){ +return n.map((n=>{return(e=n)?"string"==typeof e?e:e.source:null;var e +})).join("")}return e=>{const a={begin:/<\/?[A-Za-z_]/,end:">", +subLanguage:"xml",relevance:0},i={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0 +},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/, +relevance:2},{begin:n(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/), +relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{ +begin:/\[.+?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{ +className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0, +returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)", +excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[", +end:"\\]",excludeBegin:!0,excludeEnd:!0}]},s={className:"strong",contains:[], +variants:[{begin:/_{2}/,end:/_{2}/},{begin:/\*{2}/,end:/\*{2}/}]},c={ +className:"emphasis",contains:[],variants:[{begin:/\*(?!\*)/,end:/\*/},{ +begin:/_(?!_)/,end:/_/,relevance:0}]};s.contains.push(c),c.contains.push(s) +;let t=[a,i] +;return s.contains=s.contains.concat(t),c.contains=c.contains.concat(t), +t=t.concat(s,c),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{ +className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:t},{ +begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n", +contains:t}]}]},a,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)", +end:"\\s+",excludeEnd:!0},s,c,{className:"quote",begin:"^>\\s+",contains:t, +end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{ +begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{ +begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))", +contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{ +begin:"^[-\\*]{3,}",end:"$"},i,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{ +className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{ +className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}})());hljs.registerLanguage("diff",(()=>{"use strict";return e=>({name:"Diff", +aliases:["patch"],contains:[{className:"meta",relevance:10,variants:[{ +begin:/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{ +begin:/^--- +\d+,\d+ +----$/}]},{className:"comment",variants:[{begin:/Index: /, +end:/$/},{begin:/^index/,end:/$/},{begin:/={3,}/,end:/$/},{begin:/^-{3}/,end:/$/ +},{begin:/^\*{3} /,end:/$/},{begin:/^\+{3}/,end:/$/},{begin:/^\*{15}$/},{ +begin:/^diff --git/,end:/$/}]},{className:"addition",begin:/^\+/,end:/$/},{ +className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/, +end:/$/}]})})());hljs.registerLanguage("shell",(()=>{"use strict";return s=>({ +name:"Shell Session",aliases:["console"],contains:[{className:"meta", +begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#]/,starts:{end:/[^\\](?=\s*$)/, +subLanguage:"bash"}}]})})());hljs.registerLanguage("properties",(()=>{"use strict";return e=>{ +var n="[ \\t\\f]*",a=n+"[:=]"+n,t="("+a+"|[ \\t\\f]+)",r="([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",s="([^\\\\:= \\t\\f\\n]|\\\\.)+",i={ +end:t,relevance:0,starts:{className:"string",end:/$/,relevance:0,contains:[{ +begin:"\\\\\\\\"},{begin:"\\\\\\n"}]}};return{name:".properties", +case_insensitive:!0,illegal:/\S/,contains:[e.COMMENT("^\\s*[!#]","$"),{ +returnBegin:!0,variants:[{begin:r+a,relevance:1},{begin:r+"[ \\t\\f]+", +relevance:0}],contains:[{className:"attr",begin:r,endsParent:!0,relevance:0}], +starts:i},{begin:s+t,returnBegin:!0,relevance:0,contains:[{className:"meta", +begin:s,endsParent:!0,relevance:0}],starts:i},{className:"attr",relevance:0, +begin:s+n+"$"}]}}})());hljs.registerLanguage("css",(()=>{"use strict" +;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],t=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],i=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],o=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],r=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-variant","font-variant-ligatures","font-variation-settings","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","src","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"].reverse() +;return n=>{const a=(e=>({IMPORTANT:{className:"meta",begin:"!important"}, +HEXCOLOR:{className:"number",begin:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"}, +ATTRIBUTE_SELECTOR_MODE:{className:"selector-attr",begin:/\[/,end:/\]/, +illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]} +}))(n),l=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE];return{name:"CSS", +case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"}, +classNameAliases:{keyframePosition:"selector-tag"}, +contains:[n.C_BLOCK_COMMENT_MODE,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/ +},n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0 +},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0 +},a.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{ +begin:":("+i.join("|")+")"},{begin:"::("+o.join("|")+")"}]},{ +className:"attribute",begin:"\\b("+r.join("|")+")\\b"},{begin:":",end:"[;}]", +contains:[a.HEXCOLOR,a.IMPORTANT,n.CSS_NUMBER_MODE,...l,{ +begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri" +},contains:[{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}] +},{className:"built_in",begin:/[\w-]+(?=\()/}]},{ +begin:(s=/@/,((...e)=>e.map((e=>(e=>e?"string"==typeof e?e:e.source:null)(e))).join(""))("(?=",s,")")), +end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword", +begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0, +relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only", +attribute:t.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute" +},...l,n.CSS_NUMBER_MODE]}]},{className:"selector-tag", +begin:"\\b("+e.join("|")+")\\b"}]};var s}})());hljs.registerLanguage("json",(()=>{"use strict";return n=>{const e={ +literal:"true false null" +},i=[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],a=[n.QUOTE_STRING_MODE,n.C_NUMBER_MODE],l={ +end:",",endsWithParent:!0,excludeEnd:!0,contains:a,keywords:e},t={begin:/\{/, +end:/\}/,contains:[{className:"attr",begin:/"/,end:/"/, +contains:[n.BACKSLASH_ESCAPE],illegal:"\\n"},n.inherit(l,{begin:/:/ +})].concat(i),illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[n.inherit(l)], +illegal:"\\S"};return a.push(t,s),i.forEach((n=>{a.push(n)})),{name:"JSON", +contains:a,keywords:e,illegal:"\\S"}}})());hljs.registerLanguage("typescript",(()=>{"use strict" +;const e="[A-Za-z$_][0-9A-Za-z$_]*",n=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],a=["true","false","null","undefined","NaN","Infinity"],s=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]) +;function t(e){return r("(?=",e,")")}function r(...e){return e.map((e=>{ +return(n=e)?"string"==typeof n?n:n.source:null;var n})).join("")}return i=>{ +const c={$pattern:e, +keyword:n.concat(["type","namespace","typedef","interface","public","private","protected","implements","declare","abstract","readonly"]), +literal:a, +built_in:s.concat(["any","void","number","boolean","string","object","never","enum"]) +},o={className:"meta",begin:"@[A-Za-z$_][0-9A-Za-z$_]*"},l=(e,n,a)=>{ +const s=e.contains.findIndex((e=>e.label===n)) +;if(-1===s)throw Error("can not find mode to replace");e.contains.splice(s,1,a) +},b=(i=>{const c=e,o={begin:/<[A-Za-z0-9\\._:-]+/, +end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{ +const a=e[0].length+e.index,s=e.input[a];"<"!==s?">"===s&&(((e,{after:n})=>{ +const a="", +returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{ +begin:i.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0 +},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:f}]}] +},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{ +variants:[{begin:"<>",end:""},{begin:o.begin,"on:begin":o.isTrulyOpeningTag, +end:o.end}],subLanguage:"xml",contains:[{begin:o.begin,end:o.end,skip:!0, +contains:["self"]}]}],relevance:0},{className:"function", +beginKeywords:"function",end:/[{;]/,excludeEnd:!0,keywords:l, +contains:["self",i.inherit(i.TITLE_MODE,{begin:c}),A],illegal:/%/},{ +beginKeywords:"while if switch catch for"},{className:"function", +begin:i.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", +returnBegin:!0,contains:[A,i.inherit(i.TITLE_MODE,{begin:c})]},{variants:[{ +begin:"\\."+c},{begin:"\\$"+c}],relevance:0},{className:"class", +beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"[\]]/,contains:[{ +beginKeywords:"extends"},i.UNDERSCORE_TITLE_MODE]},{begin:/\b(?=constructor)/, +end:/[{;]/,excludeEnd:!0,contains:[i.inherit(i.TITLE_MODE,{begin:c}),"self",A] +},{begin:"(get|set)\\s+(?="+c+"\\()",end:/\{/,keywords:"get set", +contains:[i.inherit(i.TITLE_MODE,{begin:c}),{begin:/\(\)/},A]},{begin:/\$[(.]/}] +}})(i) +;return Object.assign(b.keywords,c),b.exports.PARAMS_CONTAINS.push(o),b.contains=b.contains.concat([o,{ +beginKeywords:"namespace",end:/\{/,excludeEnd:!0},{beginKeywords:"interface", +end:/\{/,excludeEnd:!0,keywords:"interface extends" +}]),l(b,"shebang",i.SHEBANG()),l(b,"use_strict",{className:"meta",relevance:10, +begin:/^\s*['"]use strict['"]/ +}),b.contains.find((e=>"function"===e.className)).relevance=0,Object.assign(b,{ +name:"TypeScript",aliases:["ts","tsx"]}),b}})());hljs.registerLanguage("javascript",(()=>{"use strict" +;const e="[A-Za-z$_][0-9A-Za-z$_]*",n=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],a=["true","false","null","undefined","NaN","Infinity"],s=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]) +;function r(e){return t("(?=",e,")")}function t(...e){return e.map((e=>{ +return(n=e)?"string"==typeof n?n:n.source:null;var n})).join("")}return i=>{ +const c=e,o={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/, +isTrulyOpeningTag:(e,n)=>{const a=e[0].length+e.index,s=e.input[a] +;"<"!==s?">"===s&&(((e,{after:n})=>{const a="", +returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{ +begin:i.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0 +},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:f}]}] +},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{ +variants:[{begin:"<>",end:""},{begin:o.begin,"on:begin":o.isTrulyOpeningTag, +end:o.end}],subLanguage:"xml",contains:[{begin:o.begin,end:o.end,skip:!0, +contains:["self"]}]}],relevance:0},{className:"function", +beginKeywords:"function",end:/[{;]/,excludeEnd:!0,keywords:l, +contains:["self",i.inherit(i.TITLE_MODE,{begin:c}),p],illegal:/%/},{ +beginKeywords:"while if switch catch for"},{className:"function", +begin:i.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", +returnBegin:!0,contains:[p,i.inherit(i.TITLE_MODE,{begin:c})]},{variants:[{ +begin:"\\."+c},{begin:"\\$"+c}],relevance:0},{className:"class", +beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"[\]]/,contains:[{ +beginKeywords:"extends"},i.UNDERSCORE_TITLE_MODE]},{begin:/\b(?=constructor)/, +end:/[{;]/,excludeEnd:!0,contains:[i.inherit(i.TITLE_MODE,{begin:c}),"self",p] +},{begin:"(get|set)\\s+(?="+c+"\\()",end:/\{/,keywords:"get set", +contains:[i.inherit(i.TITLE_MODE,{begin:c}),{begin:/\(\)/},p]},{begin:/\$[(.]/}] +}}})());hljs.registerLanguage("scss",(()=>{"use strict" +;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],t=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],i=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],o=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],r=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-variant","font-variant-ligatures","font-variation-settings","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","src","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"].reverse() +;return a=>{const n=(e=>({IMPORTANT:{className:"meta",begin:"!important"}, +HEXCOLOR:{className:"number",begin:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"}, +ATTRIBUTE_SELECTOR_MODE:{className:"selector-attr",begin:/\[/,end:/\]/, +illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]} +}))(a),l=o,s=i,d="@[a-z-]+",c={className:"variable", +begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b"};return{name:"SCSS",case_insensitive:!0, +illegal:"[=/|']",contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{ +className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{ +className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0 +},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag", +begin:"\\b("+e.join("|")+")\\b",relevance:0},{className:"selector-pseudo", +begin:":("+s.join("|")+")"},{className:"selector-pseudo", +begin:"::("+l.join("|")+")"},c,{begin:/\(/,end:/\)/,contains:[a.CSS_NUMBER_MODE] +},{className:"attribute",begin:"\\b("+r.join("|")+")\\b"},{ +begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b" +},{begin:":",end:";", +contains:[c,n.HEXCOLOR,a.CSS_NUMBER_MODE,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,n.IMPORTANT] +},{begin:"@(page|font-face)",lexemes:d,keywords:"@page @font-face"},{begin:"@", +end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/, +keyword:"and or not only",attribute:t.join(" ")},contains:[{begin:d, +className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute" +},c,a.QUOTE_STRING_MODE,a.APOS_STRING_MODE,n.HEXCOLOR,a.CSS_NUMBER_MODE]}]}} +})());hljs.registerLanguage("makefile",(()=>{"use strict";return e=>{const i={ +className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)", +contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%{"use strict";function e(...e){ +return e.map((e=>{return(n=e)?"string"==typeof n?n:n.source:null;var n +})).join("")}return n=>{const a="HTTP/(2|1\\.[01])",s={className:"attribute", +begin:e("^",/[A-Za-z][A-Za-z0-9-]*/,"(?=\\:\\s)"),starts:{contains:[{ +className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]} +},t=[s,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{ +name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+a+" \\d{3})", +end:/$/,contains:[{className:"meta",begin:a},{className:"number", +begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:t}},{ +begin:"(?=^[A-Z]+ (.*?) "+a+"$)",end:/$/,contains:[{className:"string", +begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:a},{ +className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:t} +},n.inherit(s,{relevance:0})]}}})());hljs.registerLanguage("less",(()=>{"use strict" +;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],t=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],i=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],o=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],n=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-variant","font-variant-ligatures","font-variation-settings","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","src","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"].reverse(),r=i.concat(o) +;return a=>{const s=(e=>({IMPORTANT:{className:"meta",begin:"!important"}, +HEXCOLOR:{className:"number",begin:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})"}, +ATTRIBUTE_SELECTOR_MODE:{className:"selector-attr",begin:/\[/,end:/\]/, +illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]} +}))(a),l=r,d="([\\w-]+|@\\{[\\w-]+\\})",c=[],g=[],b=e=>({className:"string", +begin:"~?"+e+".*?"+e}),m=(e,t,i)=>({className:e,begin:t,relevance:i}),u={ +$pattern:/[a-z-]+/,keyword:"and or not only",attribute:t.join(" ")},p={ +begin:"\\(",end:"\\)",contains:g,keywords:u,relevance:0} +;g.push(a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,b("'"),b('"'),a.CSS_NUMBER_MODE,{ +begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]", +excludeEnd:!0} +},s.HEXCOLOR,p,m("variable","@@?[\\w-]+",10),m("variable","@\\{[\\w-]+\\}"),m("built_in","~?`[^`]*?`"),{ +className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0 +},s.IMPORTANT);const f=g.concat({begin:/\{/,end:/\}/,contains:c}),h={ +beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not" +}].concat(g)},w={begin:d+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0, +contains:[{begin:/-(webkit|moz|ms|o)-/},{className:"attribute", +begin:"\\b("+n.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0, +illegal:"[<=$]",relevance:0,contains:g}}]},v={className:"keyword", +begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b", +starts:{end:"[;{}]",keywords:u,returnEnd:!0,contains:g,relevance:0}},y={ +className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{ +begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:f}},k={variants:[{ +begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:d,end:/\{/}],returnBegin:!0, +returnEnd:!0,illegal:"[<='$\"]",relevance:0, +contains:[a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,h,m("keyword","all\\b"),m("variable","@\\{[\\w-]+\\}"),{ +begin:"\\b("+e.join("|")+")\\b",className:"selector-tag" +},m("selector-tag",d+"%?",0),m("selector-id","#"+d),m("selector-class","\\."+d,0),m("selector-tag","&",0),s.ATTRIBUTE_SELECTOR_MODE,{ +className:"selector-pseudo",begin:":("+i.join("|")+")"},{ +className:"selector-pseudo",begin:"::("+o.join("|")+")"},{begin:"\\(",end:"\\)", +contains:f},{begin:"!important"}]},E={begin:`[\\w-]+:(:)?(${l.join("|")})`, +returnBegin:!0,contains:[k]} +;return c.push(a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,v,y,E,w,k),{ +name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:c}}})()); \ No newline at end of file diff --git a/public/js/jquery.min.js b/public/js/jquery.min.js index a1c07fd..c4c6022 100644 --- a/public/js/jquery.min.js +++ b/public/js/jquery.min.js @@ -1,2 +1,2 @@ -/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="
",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0=o.clientWidth&&n>=o.clientHeight}),l=0a[e]&&!t.escapeWithReference&&(n=Q(f[o],a[e]-('right'===e?f.width:f.height))),ae({},o,n)}};return l.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';f=le({},f,m[t](e))}),e.offsets.popper=f,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split('-')[0],r=Z,p=-1!==['top','bottom'].indexOf(i),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]r(n[s])&&(e.offsets.popper[d]=r(n[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var n;if(!K(e.instance.modifiers,'arrow','keepTogether'))return e;var i=o.element;if('string'==typeof i){if(i=e.instance.popper.querySelector(i),!i)return e;}else if(!e.instance.popper.contains(i))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var r=e.placement.split('-')[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==['left','right'].indexOf(r),l=a?'height':'width',f=a?'Top':'Left',m=f.toLowerCase(),h=a?'left':'top',c=a?'bottom':'right',u=S(i)[l];d[c]-us[c]&&(e.offsets.popper[m]+=d[m]+u-s[c]),e.offsets.popper=g(e.offsets.popper);var b=d[m]+d[l]/2-u/2,w=t(e.instance.popper),y=parseFloat(w['margin'+f],10),E=parseFloat(w['border'+f+'Width'],10),v=b-e.offsets.popper[m]-y-E;return v=ee(Q(s[l]-u,v),0),e.arrowElement=i,e.offsets.arrow=(n={},ae(n,m,$(v)),ae(n,h,''),n),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split('-')[0],i=T(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case ce.FLIP:p=[n,i];break;case ce.CLOCKWISE:p=G(n);break;case ce.COUNTERCLOCKWISE:p=G(n,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(n!==s||p.length===d+1)return e;n=e.placement.split('-')[0],i=T(n);var a=e.offsets.popper,l=e.offsets.reference,f=Z,m='left'===n&&f(a.right)>f(l.left)||'right'===n&&f(a.left)f(l.top)||'bottom'===n&&f(a.top)f(o.right),g=f(a.top)f(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&g||'bottom'===n&&u,w=-1!==['top','bottom'].indexOf(n),y=!!t.flipVariations&&(w&&'start'===r&&h||w&&'end'===r&&c||!w&&'start'===r&&g||!w&&'end'===r&&u),E=!!t.flipVariationsByContent&&(w&&'start'===r&&c||w&&'end'===r&&h||!w&&'start'===r&&u||!w&&'end'===r&&g),v=y||E;(m||b||v)&&(e.flipped=!0,(m||b)&&(n=p[d+1]),v&&(r=z(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=le({},e.offsets.popper,C(e.instance.popper,e.offsets.reference,e.placement)),e=P(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport',flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],n=e.offsets,i=n.popper,r=n.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return i[p?'left':'top']=r[o]-(s?i[p?'width':'height']:0),e.placement=T(t),e.offsets.popper=g(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!K(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=D(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottomo.right||t.top>o.bottom||t.rightwindow.devicePixelRatio||!fe),c='bottom'===o?'top':'bottom',g='right'===n?'left':'right',b=B('transform');if(d='bottom'==c?'HTML'===l.nodeName?-l.clientHeight+h.bottom:-f.height+h.bottom:h.top,s='right'==g?'HTML'===l.nodeName?-l.clientWidth+h.right:-f.width+h.right:h.left,a&&b)m[b]='translate3d('+s+'px, '+d+'px, 0)',m[c]=0,m[g]=0,m.willChange='transform';else{var w='bottom'==c?-1:1,y='right'==g?-1:1;m[c]=d*w,m[g]=s*y,m.willChange=c+', '+g}var E={"x-placement":e.placement};return e.attributes=le({},E,e.attributes),e.styles=le({},m,e.styles),e.arrowStyles=le({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(e){return V(e.instance.popper,e.styles),j(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&V(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,o,n,i){var r=L(i,t,e,o.positionFixed),p=O(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),V(t,{position:o.positionFixed?'fixed':'absolute'}),o},gpuAcceleration:void 0}}},ge}); -//# sourceMappingURL=popper.min.js.map diff --git a/public/js/site.js b/public/js/site.js index c4fd5e4..c5f4669 100644 --- a/public/js/site.js +++ b/public/js/site.js @@ -4,16 +4,23 @@ function updateCurrencyValue(element, val) { }).done(function(result) { element.html(result); - $('[data-toggle="tooltip"]').tooltip(); + $('[data-bs-toggle="tooltip"]').tooltip(); }); } -function updateFeeRateValue(element, val, digits) { +function updateUserSetting(name, val) { + $.ajax({ + url: `./changeSetting?name=${name}&value=${val}` + + }).done(res => {}); +} + +function updateFeeRateValue(element, val, digits, showUnit=true) { $.ajax({ url: `./api/utils/formatCurrencyAmountInSmallestUnits/${val},${digits}` }).done(function(result) { - element.html(`${result.val} ${result.currencyUnit}/vB`); + element.html(`${result.val}${showUnit ? ("" + result.currencyUnit + "/vB") : ""}`); }); } @@ -24,4 +31,10 @@ function showAllTxOutputs(link, txid) { }); link.classList.add("d-none"); +} + +function copyTextToClipboard(text) { + navigator.clipboard.writeText(text).then(() => {}, (err) => { + console.error('Error copying text: ', err); + }); } \ No newline at end of file diff --git a/public/robots.txt b/public/robots.txt index fe4cf8c..9a2431f 100644 --- a/public/robots.txt +++ b/public/robots.txt @@ -3,5 +3,5 @@ Disallow: /address/ Disallow: /rpc* Disallow: /tx-stats Disallow: /peers -Disallow: /unconfirmed-tx +Disallow: /mempool-tx Disallow: /block-analysis/ \ No newline at end of file diff --git a/public/scss/dark.scss b/public/scss/dark.scss new file mode 100644 index 0000000..458f49b --- /dev/null +++ b/public/scss/dark.scss @@ -0,0 +1,132 @@ +$body-bg: #031b40; +$body-color: #f7f9fa; + +$main-bg: darken($body-bg, 6%); + +$text-muted: #b7bfc7; + +$dark: #3d454d; + +/*$theme-colors: ( + "dark": #292e33 +);*/ + + + + +$border-color: lighten($body-bg, 4%); + +$card-border-color: $border-color; + +$link-hover-color: #408cff; + + +$table-striped-bg: lighten($body-bg, 4%); + + +$pagination-bg: $body-bg; +$pagination-border-color: lighten($border-color, 5%); +$pagination-active-bg: $body-bg; +$pagination-active-border-color: lighten($border-color, 5%); +$pagination-hover-bg: lighten($pagination-bg, 15%); +$pagination-hover-border-color: lighten($border-color, 5%); +$pagination-disabled-bg: darken($pagination-bg, 3%); +$pagination-disabled-border-color: lighten($border-color, 5%); + + +$tooltip-bg: lighten($body-bg, 15%); + + +$nav-tabs-link-active-color: darken($body-color, 5%); +//$nav-tabs-link-active-bg: $body-bg !default; +$nav-tabs-link-active-border-color: #ced4da #ced4da $body-bg !important; + + +$btn-close-color: #fff; + + +$tooltip-opacity: 1.0; + +$dropdown-bg: lighten($body-bg, 10%); +$dropdown-link-color: $body-color; +$dropdown-link-hover-bg: lighten($dropdown-bg, 10%); +$dropdown-link-hover-color: $body-color; +$dropdown-link-active-bg: lighten($dropdown-bg, 5%); +$dropdown-dark-bg: #ff0; +$dropdown-dark-link-hover-bg: #0ff; +$dropdown-dark-link-active-bg: #f0f; +$dropdown-link-active-color: lighten($dropdown-bg, 5%); + +$dropdown-header-color: $body-color; + +$dropdown-box-shadow: 0 1.5rem 1rem rgba(#000, .35); + + +$input-bg: darken(#fff, 0%); +//$input-border-color: lighten($input-bg, 9%); +$input-color: #212529; + + + +@import "./main"; +@import "../../node_modules/bootstrap/scss/bootstrap"; + + + + +.alert-primary { + color: $body-color; + background-color: lighten($body-bg, 8%); + border-color: lighten($body-bg, 20%); + border-width: 2px; +} + +.alert-danger { + color: $body-color; + background-color: #7d323b; + border-color: #7d1f29; + border-width: 2px; +} + +.alert-danger a { + color: $body-color; + text-decoration: underline; +} + +.alert-warning { + color: $body-color; + background-color: #d9962b; + border-color: darken(#d9962b, 10%); + border-width: 2px; +} + + + +.bg-main { + background-color: $main-bg !important; +} + +.bg-header-footer { + background-color: #162740 !important; +} + +.bg-header-footer-highlight { + background-color: lighten(#162740, 15%) !important; +} + +.bg-gradient-body-to-main { + background: linear-gradient(0deg, $main-bg 0%, $body-bg 100%); +} + +.card-highlight { + background-color: lighten($card-bg, 5%); + border: solid 1px lighten($card-bg, 10%) !important; + color: $body-color; +} + +code { + padding: 0px 3px; + border-radius: 3px; + background-color: lighten($card-bg, 15%); + color: #198754; +} \ No newline at end of file diff --git a/public/scss/light.scss b/public/scss/light.scss new file mode 100644 index 0000000..5aa852b --- /dev/null +++ b/public/scss/light.scss @@ -0,0 +1,56 @@ +$body-bg: #fff; +$body-color: #212529; + +$main-bg: #f2f5f7; + +$border-color: #e4e7eb; +$card-border-color: $border-color; + + +$nav-tabs-border-color: #adb5bd; +$nav-tabs-link-active-color: lighten($body-color, 5%); +$nav-tabs-link-active-border-color: #adb5bd #adb5bd $body-bg !important; + + +$alert-bg-scale: -70%; +$alert-border-scale: -60%; + + + + + + +@import "./main"; +@import "../../node_modules/bootstrap/scss/bootstrap"; + + + +.bg-main { + background-color: $main-bg !important; +} + +.bg-header-footer { + background-color: #212529 !important; +} + +.bg-header-footer-highlight { + background-color: lighten(#212529, 15%) !important; +} + +.bg-header-footer { + background-color: #162740 !important; +} + +.bg-header-footer-highlight { + background-color: lighten(#162740, 15%) !important; +} + +.bg-gradient-body-to-main { + background: linear-gradient(0deg, $main-bg 0%, $body-bg 100%); +} + +.card-highlight { + background-color: darken($card-bg, 3%); + border: solid 1px darken($card-bg, 10%) !important; + color: $body-color; +} \ No newline at end of file diff --git a/public/scss/main.scss b/public/scss/main.scss new file mode 100644 index 0000000..7f0394b --- /dev/null +++ b/public/scss/main.scss @@ -0,0 +1,261 @@ +$spacer: 1rem; +$spacers: ( + 0: 0, + 1: $spacer / 4, + 2: $spacer / 2, + 3: $spacer, + 4: $spacer * 1.5, + 5: $spacer * 2, + 6: $spacer * 2.5, + 7: $spacer * 3, + tiny: $spacer * 0.15 +) !default; + +$enable-negative-margins: true; + + +/*$grid-breakpoints: ( + xs: 0, + sm: 576px, + md: 768px, + lg: 992px, + xl: 1200px, + xxl: 1400px, + xxxl: 1900px +) !default; + +$container-max-widths: ( + sm: 540px, + md: 720px, + lg: 960px, + xl: 1140px, + xxl: 1320px, + xxxl: 1600px +) !default;*/ + + +$btn-padding-y-sm: 0.2rem; +$btn-padding-x-sm: 0.5rem; + + +$card-bg: $body-bg; + + +$link-decoration: none !default; +$link-hover-decoration: underline !default; + + +$border-radius: .4rem !default; +$border-radius-lg: .5rem !default; + + +$badge-border-radius: 0.2rem; + + +$tooltip-max-width: 350px; +$tooltip-padding-y: 0.4rem !default; +$tooltip-padding-x: 0.8rem !default; + + +$navbar-padding-y: 1rem; +$navbar-padding-x: 1rem; +$navbar-brand-font-size: 1.5rem; + + +code { + background-color: $body-bg !important; +} + +.fontawesome-shadow { + filter: drop-shadow(1px 1px 1px #666); +} + +.fontawesome-shadow-dark { + filter: drop-shadow(1px 1px 1px #262626); +} + + +.text-twitter { + color: #1d9bf0; +} + +.mb-large { + margin-bottom: 100px; +} + +.hljs, .hljs-subst { + color: $body-color; +} + +.text-small { + font-size: 80%; +} + +.text-tiny { + font-size: 75% !important; +} + +.text-60pct { + font-size: 50% !important; +} + +.text-50pct { + font-size: 50% !important; +} + +.border-dotted { + border-bottom: 1px dotted #ccc; +} + +.border-thick { + border-width: 4px !important; +} + + + + + + +body { + /*font-size: 14px;*/ + font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji; + /*font: 14px 'Open Sans', "Lucida Grande", Helvetica, Arial, sans-serif;*/ +} + +hr { + margin: 5px 0 15px 0; +} + +img.header-image { + margin-top: -10px; + margin-bottom: -5px; + width: 40px; + height: 40px; + margin-right: 10px; +} + +$font-family-monospace: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji; + +.font-monospace { + /*font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji !important;*/ + /*font-family: "Source Code Pro", monospace !important;*/ +} + +code, .font-json, .font-data, .font-plaintext { + font-family: "Source Code Pro", monospace !important; +} + +.hr-thick { + height: 3px !important; +} + +.mb-section { + margin-bottom: 1.5rem !important; +} + +.mb-tiny { + margin-bottom: 3px; +} + +.mb-huge { + margin-bottom: 200px; +} + +.user-message-markdown p { + margin-bottom: 0 !important; +} + + + +/*.nav-tabs .nav-link.active { + background-color: transparent; + border-color: #dee2e6 #dee2e6 #f8f9fa; +}*/ + +pre { + white-space: pre-wrap; + white-space: -moz-pre-wrap; + white-space: -pre-wrap; + white-space: -o-pre-wrap; + word-wrap: break-word; + margin-bottom: 0 !important; +} + +dd { + margin-bottom: 1rem !important; +} + +.word-wrap { + word-wrap: break-word; + word-break: break-all; +} + +.table th { + border-top: none; +} + +.tx-io-label, .tx-io-content, .tx-io-desc, .tx-io-value { + position: relative; + width: 100%; + min-height: 1px; + padding-right: 0px; + padding-left: 0px; + margin-bottom: 2px; + float: left; +} + +@media (min-width: 576px) { + .tx-io-label { max-width: 100%; } + .tx-io-content { max-width: 100%; } + .tx-io-desc { max-width: 100%; } + .tx-io-value { max-width: 100%; } +} + +@media (min-width: 768px) { + .tx-io-label { max-width: 8%; } + .tx-io-content { max-width: 92%; } + .tx-io-desc { max-width: 65%; } + .tx-io-value { max-width: 35%; text-align: right; } +} + +@media (min-width: 992px) { + .tx-io-label { max-width: 11%; } + .tx-io-content { max-width: 89%; } + .tx-io-desc { max-width: 60%; } + .tx-io-value { max-width: 40%; text-align: right; } +} + +@media (min-width: 1200px) { + .tx-io-label { max-width: 11%; } + .tx-io-content { max-width: 89%; } + .tx-io-desc { max-width: 69%; } + .tx-io-value { max-width: 31%; text-align: right; } +} + +@media (min-width: 1920px) { + .tx-io-label { max-width: 7.5%; } + .tx-io-content { max-width: 92.5%; } + .tx-io-desc { max-width: 70%; } + .tx-io-value { max-width: 30%; text-align: right; } +} + + + + + +.footer-link { + color: #ddd; + text-decoration: underline; +} + +.footer-link:hover { + color: white; +} + +.hljs-type, .hljs-string, .hljs-selector-id, .hljs-selector-class, .hljs-quote, .hljs-template-tag, .hljs-deletion { + color: #3aa54f; +} + +.hljs-literal, .hljs-number { + color: #0dcaf0; +} \ No newline at end of file diff --git a/public/style/dark.css b/public/style/dark.css new file mode 100644 index 0000000..8a46d20 --- /dev/null +++ b/public/style/dark.css @@ -0,0 +1,6 @@ +code{background-color:#031b40 !important}.fontawesome-shadow{filter:drop-shadow(1px 1px 1px #666)}.fontawesome-shadow-dark{filter:drop-shadow(1px 1px 1px #262626)}.text-twitter{color:#1d9bf0}.mb-large{margin-bottom:100px}.hljs,.hljs-subst{color:#f7f9fa}.text-small{font-size:80%}.text-tiny{font-size:75% !important}.text-60pct{font-size:50% !important}.text-50pct{font-size:50% !important}.border-dotted{border-bottom:1px dotted #ccc}.border-thick{border-width:4px !important}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}hr{margin:5px 0 15px 0}img.header-image{margin-top:-10px;margin-bottom:-5px;width:40px;height:40px;margin-right:10px}code,.font-json,.font-data,.font-plaintext{font-family:"Source Code Pro", monospace !important}.hr-thick{height:3px !important}.mb-section{margin-bottom:1.5rem !important}.mb-tiny{margin-bottom:3px}.mb-huge{margin-bottom:200px}.user-message-markdown p{margin-bottom:0 !important}pre{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;margin-bottom:0 !important}dd{margin-bottom:1rem !important}.word-wrap{word-wrap:break-word;word-break:break-all}.table th{border-top:none}.tx-io-label,.tx-io-content,.tx-io-desc,.tx-io-value{position:relative;width:100%;min-height:1px;padding-right:0px;padding-left:0px;margin-bottom:2px;float:left}@media (min-width: 576px){.tx-io-label{max-width:100%}.tx-io-content{max-width:100%}.tx-io-desc{max-width:100%}.tx-io-value{max-width:100%}}@media (min-width: 768px){.tx-io-label{max-width:8%}.tx-io-content{max-width:92%}.tx-io-desc{max-width:65%}.tx-io-value{max-width:35%;text-align:right}}@media (min-width: 992px){.tx-io-label{max-width:11%}.tx-io-content{max-width:89%}.tx-io-desc{max-width:60%}.tx-io-value{max-width:40%;text-align:right}}@media (min-width: 1200px){.tx-io-label{max-width:11%}.tx-io-content{max-width:89%}.tx-io-desc{max-width:69%}.tx-io-value{max-width:31%;text-align:right}}@media (min-width: 1920px){.tx-io-label{max-width:7.5%}.tx-io-content{max-width:92.5%}.tx-io-desc{max-width:70%}.tx-io-value{max-width:30%;text-align:right}}.footer-link{color:#ddd;text-decoration:underline}.footer-link:hover{color:white}.hljs-type,.hljs-string,.hljs-selector-id,.hljs-selector-class,.hljs-quote,.hljs-template-tag,.hljs-deletion{color:#3aa54f}.hljs-literal,.hljs-number{color:#0dcaf0}/*! + * Bootstrap v5.0.0-beta3 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-primary: #0d6efd;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #3d454d;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;--bs-gradient: linear-gradient(180deg, rgba(255,255,255,0.15), rgba(255,255,255,0))}*,*::before,*::after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#f7f9fa;background-color:#031b40;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-bs-original-title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:none}a:hover{color:#408cff;text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr /* rtl:ignore */;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#b7bfc7;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role="button"]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button:not(:disabled),[type="button"]:not(:disabled),[type="reset"]:not(:disabled),[type="submit"]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type="search"]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#031b40;border:1px solid #dee2e6;border-radius:.4rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x, .75rem);padding-left:var(--bs-gutter-x, .75rem);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container,.container-sm{max-width:540px}}@media (min-width: 768px){.container,.container-sm,.container-md{max-width:720px}}@media (min-width: 992px){.container,.container-sm,.container-md,.container-lg{max-width:960px}}@media (min-width: 1200px){.container,.container-sm,.container-md,.container-lg,.container-xl{max-width:1140px}}@media (min-width: 1400px){.container,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x) / -2);margin-left:calc(var(--bs-gutter-x) / -2)}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) / 2);padding-left:calc(var(--bs-gutter-x) / 2);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.333333%}.col-2{flex:0 0 auto;width:16.666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.333333%}.col-5{flex:0 0 auto;width:41.666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.333333%}.col-8{flex:0 0 auto;width:66.666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.333333%}.col-11{flex:0 0 auto;width:91.666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 2rem}.g-5,.gy-5{--bs-gutter-y: 2rem}.g-6,.gx-6{--bs-gutter-x: 2.5rem}.g-6,.gy-6{--bs-gutter-y: 2.5rem}.g-7,.gx-7{--bs-gutter-x: 3rem}.g-7,.gy-7{--bs-gutter-y: 3rem}.g-tiny,.gx-tiny{--bs-gutter-x: .15rem}.g-tiny,.gy-tiny{--bs-gutter-y: .15rem}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.333333%}.col-sm-2{flex:0 0 auto;width:16.666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.333333%}.col-sm-5{flex:0 0 auto;width:41.666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.333333%}.col-sm-8{flex:0 0 auto;width:66.666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.333333%}.col-sm-11{flex:0 0 auto;width:91.666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 2rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 2rem}.g-sm-6,.gx-sm-6{--bs-gutter-x: 2.5rem}.g-sm-6,.gy-sm-6{--bs-gutter-y: 2.5rem}.g-sm-7,.gx-sm-7{--bs-gutter-x: 3rem}.g-sm-7,.gy-sm-7{--bs-gutter-y: 3rem}.g-sm-tiny,.gx-sm-tiny{--bs-gutter-x: .15rem}.g-sm-tiny,.gy-sm-tiny{--bs-gutter-y: .15rem}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.333333%}.col-md-2{flex:0 0 auto;width:16.666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.333333%}.col-md-5{flex:0 0 auto;width:41.666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.333333%}.col-md-8{flex:0 0 auto;width:66.666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.333333%}.col-md-11{flex:0 0 auto;width:91.666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 2rem}.g-md-5,.gy-md-5{--bs-gutter-y: 2rem}.g-md-6,.gx-md-6{--bs-gutter-x: 2.5rem}.g-md-6,.gy-md-6{--bs-gutter-y: 2.5rem}.g-md-7,.gx-md-7{--bs-gutter-x: 3rem}.g-md-7,.gy-md-7{--bs-gutter-y: 3rem}.g-md-tiny,.gx-md-tiny{--bs-gutter-x: .15rem}.g-md-tiny,.gy-md-tiny{--bs-gutter-y: .15rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.333333%}.col-lg-2{flex:0 0 auto;width:16.666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.333333%}.col-lg-5{flex:0 0 auto;width:41.666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.333333%}.col-lg-8{flex:0 0 auto;width:66.666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.333333%}.col-lg-11{flex:0 0 auto;width:91.666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 2rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 2rem}.g-lg-6,.gx-lg-6{--bs-gutter-x: 2.5rem}.g-lg-6,.gy-lg-6{--bs-gutter-y: 2.5rem}.g-lg-7,.gx-lg-7{--bs-gutter-x: 3rem}.g-lg-7,.gy-lg-7{--bs-gutter-y: 3rem}.g-lg-tiny,.gx-lg-tiny{--bs-gutter-x: .15rem}.g-lg-tiny,.gy-lg-tiny{--bs-gutter-y: .15rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.333333%}.col-xl-2{flex:0 0 auto;width:16.666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.333333%}.col-xl-5{flex:0 0 auto;width:41.666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.333333%}.col-xl-8{flex:0 0 auto;width:66.666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.333333%}.col-xl-11{flex:0 0 auto;width:91.666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 2rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 2rem}.g-xl-6,.gx-xl-6{--bs-gutter-x: 2.5rem}.g-xl-6,.gy-xl-6{--bs-gutter-y: 2.5rem}.g-xl-7,.gx-xl-7{--bs-gutter-x: 3rem}.g-xl-7,.gy-xl-7{--bs-gutter-y: 3rem}.g-xl-tiny,.gx-xl-tiny{--bs-gutter-x: .15rem}.g-xl-tiny,.gy-xl-tiny{--bs-gutter-y: .15rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.333333%}.col-xxl-2{flex:0 0 auto;width:16.666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.333333%}.col-xxl-5{flex:0 0 auto;width:41.666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.333333%}.col-xxl-8{flex:0 0 auto;width:66.666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.333333%}.col-xxl-11{flex:0 0 auto;width:91.666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.333333%}.offset-xxl-2{margin-left:16.666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.333333%}.offset-xxl-5{margin-left:41.666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.333333%}.offset-xxl-8{margin-left:66.666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.333333%}.offset-xxl-11{margin-left:91.666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 2rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 2rem}.g-xxl-6,.gx-xxl-6{--bs-gutter-x: 2.5rem}.g-xxl-6,.gy-xxl-6{--bs-gutter-y: 2.5rem}.g-xxl-7,.gx-xxl-7{--bs-gutter-x: 3rem}.g-xxl-7,.gy-xxl-7{--bs-gutter-y: 3rem}.g-xxl-tiny,.gx-xxl-tiny{--bs-gutter-x: .15rem}.g-xxl-tiny,.gy-xxl-tiny{--bs-gutter-y: .15rem}}.table{--bs-table-bg: rgba(0,0,0,0);--bs-table-striped-color: #f7f9fa;--bs-table-striped-bg: #042353;--bs-table-active-color: #f7f9fa;--bs-table-active-bg: rgba(0,0,0,0.1);--bs-table-hover-color: #f7f9fa;--bs-table-hover-bg: rgba(0,0,0,0.075);width:100%;margin-bottom:1rem;color:#f7f9fa;vertical-align:top;border-color:#042353}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg: var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg: var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover{--bs-table-accent-bg: var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg: #cfe2ff;--bs-table-striped-bg: #c5d7f2;--bs-table-striped-color: #000;--bs-table-active-bg: #bacbe6;--bs-table-active-color: #000;--bs-table-hover-bg: #bfd1ec;--bs-table-hover-color: #000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg: #e2e3e5;--bs-table-striped-bg: #d7d8da;--bs-table-striped-color: #000;--bs-table-active-bg: #cbccce;--bs-table-active-color: #000;--bs-table-hover-bg: #d1d2d4;--bs-table-hover-color: #000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg: #d1e7dd;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg: #cff4fc;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg: #fff3cd;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg: #f8d7da;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg: #f8f9fa;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg: #3d454d;--bs-table-striped-bg: #474e56;--bs-table-striped-color: #fff;--bs-table-active-bg: #50585f;--bs-table-active-color: #fff;--bs-table-hover-bg: #4c535a;--bs-table-hover-color: #fff;color:#fff;border-color:#50585f}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#b7bfc7}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;appearance:none;border-radius:.4rem;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type="file"]{overflow:hidden}.form-control[type="file"]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::-webkit-file-upload-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#f7f9fa;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{max-width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.4rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.4rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.4rem;appearance:none}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,0.25);appearance:none;color-adjust:exact}.form-check-input[type="checkbox"]{border-radius:.25em}.form-check-input[type="radio"]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type="checkbox"]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type="radio"]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type="checkbox"]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled] ~ .form-check-label,.form-check-input:disabled ~ .form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280,0,0,0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #031b40,0 0 0 .25rem rgba(13,110,253,0.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #031b40,0 0 0 .25rem rgba(13,110,253,0.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);padding:1rem .75rem}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity 0.1s ease-in-out,transform 0.1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus ~ label,.form-floating>.form-control:not(:placeholder-shown) ~ label,.form-floating>.form-select ~ label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:-webkit-autofill ~ label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.4rem}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.4rem .8rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:#198754;border-radius:.4rem}.was-validated :valid ~ .valid-feedback,.was-validated :valid ~ .valid-tooltip,.is-valid ~ .valid-feedback,.is-valid ~ .valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,0.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:#198754;padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,0.25)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:#198754}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:#198754}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,0.25)}.was-validated .form-check-input:valid ~ .form-check-label,.form-check-input.is-valid ~ .form-check-label{color:#198754}.form-check-inline .form-check-input ~ .valid-feedback{margin-left:.5em}.was-validated .input-group .form-control:valid,.input-group .form-control.is-valid,.was-validated .input-group .form-select:valid,.input-group .form-select.is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.4rem .8rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:#dc3545;border-radius:.4rem}.was-validated :invalid ~ .invalid-feedback,.was-validated :invalid ~ .invalid-tooltip,.is-invalid ~ .invalid-feedback,.is-invalid ~ .invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,0.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#dc3545;padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,0.25)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:#dc3545}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:#dc3545}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,0.25)}.was-validated .form-check-input:invalid ~ .form-check-label,.form-check-input.is-invalid ~ .form-check-label{color:#dc3545}.form-check-inline .form-check-input ~ .invalid-feedback{margin-left:.5em}.was-validated .input-group .form-control:invalid,.input-group .form-control.is-invalid,.was-validated .input-group .form-select:invalid,.input-group .form-select.is-invalid{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#f7f9fa;text-align:center;vertical-align:middle;cursor:pointer;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.4rem;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#f7f9fa;text-decoration:none}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,0.5)}.btn-check:checked+.btn-primary,.btn-check:active+.btn-primary,.btn-primary:active,.btn-primary.active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:checked+.btn-primary:focus,.btn-check:active+.btn-primary:focus,.btn-primary:active:focus,.btn-primary.active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,0.5)}.btn-primary:disabled,.btn-primary.disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,0.5)}.btn-check:checked+.btn-secondary,.btn-check:active+.btn-secondary,.btn-secondary:active,.btn-secondary.active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:checked+.btn-secondary:focus,.btn-check:active+.btn-secondary:focus,.btn-secondary:active:focus,.btn-secondary.active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,0.5)}.btn-secondary:disabled,.btn-secondary.disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,0.5)}.btn-check:checked+.btn-success,.btn-check:active+.btn-success,.btn-success:active,.btn-success.active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:checked+.btn-success:focus,.btn-check:active+.btn-success:focus,.btn-success:active:focus,.btn-success.active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,0.5)}.btn-success:disabled,.btn-success.disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,0.5)}.btn-check:checked+.btn-info,.btn-check:active+.btn-info,.btn-info:active,.btn-info.active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:checked+.btn-info:focus,.btn-check:active+.btn-info:focus,.btn-info:active:focus,.btn-info.active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,0.5)}.btn-info:disabled,.btn-info.disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,0.5)}.btn-check:checked+.btn-warning,.btn-check:active+.btn-warning,.btn-warning:active,.btn-warning.active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:checked+.btn-warning:focus,.btn-check:active+.btn-warning:focus,.btn-warning:active:focus,.btn-warning.active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,0.5)}.btn-warning:disabled,.btn-warning.disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,0.5)}.btn-check:checked+.btn-danger,.btn-check:active+.btn-danger,.btn-danger:active,.btn-danger.active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:checked+.btn-danger:focus,.btn-check:active+.btn-danger:focus,.btn-danger:active:focus,.btn-danger.active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,0.5)}.btn-danger:disabled,.btn-danger.disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,0.5)}.btn-check:checked+.btn-light,.btn-check:active+.btn-light,.btn-light:active,.btn-light.active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:checked+.btn-light:focus,.btn-check:active+.btn-light:focus,.btn-light:active:focus,.btn-light.active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,0.5)}.btn-light:disabled,.btn-light.disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#3d454d;border-color:#3d454d}.btn-dark:hover{color:#fff;background-color:#343b41;border-color:#31373e}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#343b41;border-color:#31373e;box-shadow:0 0 0 .25rem rgba(90,97,104,0.5)}.btn-check:checked+.btn-dark,.btn-check:active+.btn-dark,.btn-dark:active,.btn-dark.active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#31373e;border-color:#2e343a}.btn-check:checked+.btn-dark:focus,.btn-check:active+.btn-dark:focus,.btn-dark:active:focus,.btn-dark.active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(90,97,104,0.5)}.btn-dark:disabled,.btn-dark.disabled{color:#fff;background-color:#3d454d;border-color:#3d454d}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,0.5)}.btn-check:checked+.btn-outline-primary,.btn-check:active+.btn-outline-primary,.btn-outline-primary:active,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:checked+.btn-outline-primary:focus,.btn-check:active+.btn-outline-primary:focus,.btn-outline-primary:active:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,0.5)}.btn-outline-primary:disabled,.btn-outline-primary.disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,0.5)}.btn-check:checked+.btn-outline-secondary,.btn-check:active+.btn-outline-secondary,.btn-outline-secondary:active,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:checked+.btn-outline-secondary:focus,.btn-check:active+.btn-outline-secondary:focus,.btn-outline-secondary:active:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,0.5)}.btn-outline-secondary:disabled,.btn-outline-secondary.disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,0.5)}.btn-check:checked+.btn-outline-success,.btn-check:active+.btn-outline-success,.btn-outline-success:active,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show{color:#fff;background-color:#198754;border-color:#198754}.btn-check:checked+.btn-outline-success:focus,.btn-check:active+.btn-outline-success:focus,.btn-outline-success:active:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,0.5)}.btn-outline-success:disabled,.btn-outline-success.disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,0.5)}.btn-check:checked+.btn-outline-info,.btn-check:active+.btn-outline-info,.btn-outline-info:active,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:checked+.btn-outline-info:focus,.btn-check:active+.btn-outline-info:focus,.btn-outline-info:active:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,0.5)}.btn-outline-info:disabled,.btn-outline-info.disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,0.5)}.btn-check:checked+.btn-outline-warning,.btn-check:active+.btn-outline-warning,.btn-outline-warning:active,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:checked+.btn-outline-warning:focus,.btn-check:active+.btn-outline-warning:focus,.btn-outline-warning:active:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,0.5)}.btn-outline-warning:disabled,.btn-outline-warning.disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,0.5)}.btn-check:checked+.btn-outline-danger,.btn-check:active+.btn-outline-danger,.btn-outline-danger:active,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:checked+.btn-outline-danger:focus,.btn-check:active+.btn-outline-danger:focus,.btn-outline-danger:active:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,0.5)}.btn-outline-danger:disabled,.btn-outline-danger.disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,0.5)}.btn-check:checked+.btn-outline-light,.btn-check:active+.btn-outline-light,.btn-outline-light:active,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:checked+.btn-outline-light:focus,.btn-check:active+.btn-outline-light:focus,.btn-outline-light:active:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,0.5)}.btn-outline-light:disabled,.btn-outline-light.disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#3d454d;border-color:#3d454d}.btn-outline-dark:hover{color:#fff;background-color:#3d454d;border-color:#3d454d}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(61,69,77,0.5)}.btn-check:checked+.btn-outline-dark,.btn-check:active+.btn-outline-dark,.btn-outline-dark:active,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show{color:#fff;background-color:#3d454d;border-color:#3d454d}.btn-check:checked+.btn-outline-dark:focus,.btn-check:active+.btn-outline-dark:focus,.btn-outline-dark:active:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(61,69,77,0.5)}.btn-outline-dark:disabled,.btn-outline-dark.disabled{color:#3d454d;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:none}.btn-link:hover{color:#408cff;text-decoration:underline}.btn-link:focus{text-decoration:underline}.btn-link:disabled,.btn-link.disabled{color:#6c757d}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.btn-sm,.btn-group-sm>.btn{padding:.2rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity 0.15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.dropup,.dropend,.dropdown,.dropstart{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#f7f9fa;text-align:left;list-style:none;background-color:#053071;background-clip:padding-box;border:1px solid rgba(0,0,0,0.15);border-radius:.4rem}.dropdown-menu[data-bs-popper]{left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu{top:0;right:auto;left:100%}.dropend .dropdown-menu[data-bs-popper]{margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu{top:0;right:100%;left:auto}.dropstart .dropdown-menu[data-bs-popper]{margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,0.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#f7f9fa;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-item:focus{color:#f7f9fa;text-decoration:none;background-color:#0844a1}.dropdown-item.active,.dropdown-item:active{color:#063a89;text-decoration:none;background-color:#063a89}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#f7f9fa;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#f7f9fa}.dropdown-menu-dark{color:#dee2e6;background-color:#ff0;border-color:rgba(0,0,0,0.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:hover,.dropdown-menu-dark .dropdown-item:focus{color:#fff;background-color:cyan}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#063a89;background-color:#f0f}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,0.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn ~ .btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:none;border:1px solid transparent;border-top-left-radius:.4rem;border-top-right-radius:.4rem}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#e7edf0;background-color:#031b40;border-color:#ced4da #ced4da #031b40 !important}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:none;border:0;border-radius:.4rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:1rem;padding-right:1rem;padding-bottom:1rem;padding-left:1rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.125rem;padding-bottom:.125rem;margin-right:1rem;font-size:calc(1.275rem + .3vw);white-space:nowrap}@media (min-width: 1200px){.navbar-brand{font-size:1.5rem}}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.4rem;transition:box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,0.9)}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:rgba(0,0,0,0.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,0.55)}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:rgba(0,0,0,0.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,0.3)}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .nav-link.active{color:rgba(0,0,0,0.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,0.55);border-color:rgba(0,0,0,0.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280,0,0,0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,0.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:rgba(0,0,0,0.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,0.55)}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:rgba(255,255,255,0.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,0.25)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .nav-link.active{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,0.55);border-color:rgba(255,255,255,0.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,0.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#031b40;background-clip:border-box;border:1px solid #042353;border-radius:.4rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.4rem - 1px);border-top-right-radius:calc(.4rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.4rem - 1px);border-bottom-left-radius:calc(.4rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,0.03);border-bottom:1px solid #042353}.card-header:first-child{border-radius:calc(.4rem - 1px) calc(.4rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,0.03);border-top:1px solid #042353}.card-footer:last-child{border-radius:0 0 calc(.4rem - 1px) calc(.4rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.4rem - 1px)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.4rem - 1px);border-top-right-radius:calc(.4rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.4rem - 1px);border-bottom-left-radius:calc(.4rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#f7f9fa;text-align:left;background-color:#031b40;border:0;border-radius:0;overflow-anchor:none;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23f7f9fa'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform 0.2s ease-in-out}@media (prefers-reduced-motion: reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.accordion-header{margin-bottom:0}.accordion-item{margin-bottom:-1px;background-color:#031b40;border:1px solid rgba(0,0,0,0.125)}.accordion-item:first-of-type{border-top-left-radius:.4rem;border-top-right-radius:.4rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.4rem - 1px);border-top-right-radius:calc(.4rem - 1px)}.accordion-item:last-of-type{margin-bottom:0;border-bottom-right-radius:.4rem;border-bottom-left-radius:.4rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.4rem - 1px);border-bottom-left-radius:calc(.4rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.4rem;border-bottom-left-radius:.4rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;background-color:#031b40;border:1px solid #052d6c;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#408cff;text-decoration:none;background-color:#063a89;border-color:#052d6c}.page-link:focus{z-index:3;color:#408cff;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#031b40;border-color:#052d6c}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#021531;border-color:#052d6c}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.4rem;border-bottom-left-radius:.4rem}.page-item:last-child .page-link{border-top-right-radius:.4rem;border-bottom-right-radius:.4rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.2rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.4rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#25292e;background-color:#d8dadb;border-color:#c5c7ca}.alert-dark .alert-link{color:#1e2125}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.4rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width 0.6s ease}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:1rem 1rem}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.4rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#f7f9fa;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;background-color:#fff;border:1px solid rgba(0,0,0,0.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.4rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.4rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.4rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.4rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.4rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.4rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.4rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.4rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.4rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.4rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.4rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.4rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#25292e;background-color:#d8dadb}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#25292e;background-color:#c2c4c5}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#25292e;border-color:#25292e}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#fff;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.4rem;opacity:.5}.btn-close:hover{color:#fff;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25);opacity:1}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,0.85);background-clip:padding-box;border:1px solid rgba(0,0,0,0.1);box-shadow:0 0.5rem 1rem rgba(0,0,0,0.15);border-radius:.4rem}.toast:not(.showing):not(.show){opacity:0}.toast.hide{display:none}.toast-container{width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,0.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,0.05);border-top-left-radius:calc(.4rem - 1px);border-top-right-radius:calc(.4rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1060;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform 0.3s ease-out;transform:translate(0, -50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.2);border-radius:.5rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #042353;border-top-left-radius:calc(.5rem - 1px);border-top-right-radius:calc(.5rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #042353;border-bottom-right-radius:calc(.5rem - 1px);border-bottom-left-radius:calc(.5rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width: 1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:1}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[data-popper-placement^="top"]{padding:.4rem 0}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow{bottom:0}.bs-tooltip-top .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#063a89}.bs-tooltip-end,.bs-tooltip-auto[data-popper-placement^="right"]{padding:0 .4rem}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-end .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#063a89}.bs-tooltip-bottom,.bs-tooltip-auto[data-popper-placement^="bottom"]{padding:.4rem 0}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow{top:0}.bs-tooltip-bottom .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#063a89}.bs-tooltip-start,.bs-tooltip-auto[data-popper-placement^="left"]{padding:0 .4rem}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-start .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#063a89}.tooltip-inner{max-width:350px;padding:.4rem .8rem;color:#fff;text-align:center;background-color:#063a89;border-radius:.4rem}.popover{position:absolute;top:0;left:0 /* rtl:ignore */;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.2);border-radius:.5rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,0.25)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,0.25)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,0.25)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,0.25)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid #d8d8d8;border-top-left-radius:calc(.5rem - 1px);border-top-right-radius:calc(.5rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#f7f9fa}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity 0.15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity 0.6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1040;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas-header{display:flex;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,0.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,0.2);transform:translateX(100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,0.2);transform:translateY(100%)}.offcanvas.show{transform:none}.offcanvas-backdrop::before{position:fixed;top:0;left:0;z-index:1039;width:100vw;height:100vh;content:"";background-color:rgba(0,0,0,0.5)}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:hover,.link-primary:focus{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:hover,.link-secondary:focus{color:#565e64}.link-success{color:#198754}.link-success:hover,.link-success:focus{color:#146c43}.link-info{color:#0dcaf0}.link-info:hover,.link-info:focus{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:hover,.link-warning:focus{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:hover,.link-danger:focus{color:#b02a37}.link-light{color:#f8f9fa}.link-light:hover,.link-light:focus{color:#f9fafb}.link-dark{color:#3d454d}.link-dark:hover,.link-dark:focus{color:#31373e}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio: calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio: calc(9 / 21 * 100%)}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.float-start{float:left !important}.float-end{float:right !important}.float-none{float:none !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-none{display:none !important}.shadow{box-shadow:0 0.5rem 1rem rgba(0,0,0,0.15) !important}.shadow-sm{box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.075) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,0.175) !important}.shadow-none{box-shadow:none !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:1px solid #042353 !important}.border-0{border:0 !important}.border-top{border-top:1px solid #042353 !important}.border-top-0{border-top:0 !important}.border-end{border-right:1px solid #042353 !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:1px solid #042353 !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:1px solid #042353 !important}.border-start-0{border-left:0 !important}.border-primary{border-color:#0d6efd !important}.border-secondary{border-color:#6c757d !important}.border-success{border-color:#198754 !important}.border-info{border-color:#0dcaf0 !important}.border-warning{border-color:#ffc107 !important}.border-danger{border-color:#dc3545 !important}.border-light{border-color:#f8f9fa !important}.border-dark{border-color:#3d454d !important}.border-white{border-color:#fff !important}.border-1{border-width:1px !important}.border-2{border-width:2px !important}.border-3{border-width:3px !important}.border-4{border-width:4px !important}.border-5{border-width:5px !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:2rem !important}.gap-6{gap:2.5rem !important}.gap-7{gap:3rem !important}.gap-tiny{gap:.15rem !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:2rem !important}.m-6{margin:2.5rem !important}.m-7{margin:3rem !important}.m-tiny{margin:.15rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:2rem !important;margin-left:2rem !important}.mx-6{margin-right:2.5rem !important;margin-left:2.5rem !important}.mx-7{margin-right:3rem !important;margin-left:3rem !important}.mx-tiny{margin-right:.15rem !important;margin-left:.15rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:2rem !important;margin-bottom:2rem !important}.my-6{margin-top:2.5rem !important;margin-bottom:2.5rem !important}.my-7{margin-top:3rem !important;margin-bottom:3rem !important}.my-tiny{margin-top:.15rem !important;margin-bottom:.15rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:2rem !important}.mt-6{margin-top:2.5rem !important}.mt-7{margin-top:3rem !important}.mt-tiny{margin-top:.15rem !important}.mt-auto{margin-top:auto !important}.me-0{margin-right:0 !important}.me-1{margin-right:.25rem !important}.me-2{margin-right:.5rem !important}.me-3{margin-right:1rem !important}.me-4{margin-right:1.5rem !important}.me-5{margin-right:2rem !important}.me-6{margin-right:2.5rem !important}.me-7{margin-right:3rem !important}.me-tiny{margin-right:.15rem !important}.me-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:2rem !important}.mb-6{margin-bottom:2.5rem !important}.mb-7{margin-bottom:3rem !important}.mb-tiny{margin-bottom:.15rem !important}.mb-auto{margin-bottom:auto !important}.ms-0{margin-left:0 !important}.ms-1{margin-left:.25rem !important}.ms-2{margin-left:.5rem !important}.ms-3{margin-left:1rem !important}.ms-4{margin-left:1.5rem !important}.ms-5{margin-left:2rem !important}.ms-6{margin-left:2.5rem !important}.ms-7{margin-left:3rem !important}.ms-tiny{margin-left:.15rem !important}.ms-auto{margin-left:auto !important}.m-n1{margin:-.25rem !important}.m-n2{margin:-.5rem !important}.m-n3{margin:-1rem !important}.m-n4{margin:-1.5rem !important}.m-n5{margin:-2rem !important}.m-n6{margin:-2.5rem !important}.m-n7{margin:-3rem !important}.m-ntiny{margin:-.15rem !important}.mx-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-n5{margin-right:-2rem !important;margin-left:-2rem !important}.mx-n6{margin-right:-2.5rem !important;margin-left:-2.5rem !important}.mx-n7{margin-right:-3rem !important;margin-left:-3rem !important}.mx-ntiny{margin-right:-.15rem !important;margin-left:-.15rem !important}.my-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-n5{margin-top:-2rem !important;margin-bottom:-2rem !important}.my-n6{margin-top:-2.5rem !important;margin-bottom:-2.5rem !important}.my-n7{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-ntiny{margin-top:-.15rem !important;margin-bottom:-.15rem !important}.mt-n1{margin-top:-.25rem !important}.mt-n2{margin-top:-.5rem !important}.mt-n3{margin-top:-1rem !important}.mt-n4{margin-top:-1.5rem !important}.mt-n5{margin-top:-2rem !important}.mt-n6{margin-top:-2.5rem !important}.mt-n7{margin-top:-3rem !important}.mt-ntiny{margin-top:-.15rem !important}.me-n1{margin-right:-.25rem !important}.me-n2{margin-right:-.5rem !important}.me-n3{margin-right:-1rem !important}.me-n4{margin-right:-1.5rem !important}.me-n5{margin-right:-2rem !important}.me-n6{margin-right:-2.5rem !important}.me-n7{margin-right:-3rem !important}.me-ntiny{margin-right:-.15rem !important}.mb-n1{margin-bottom:-.25rem !important}.mb-n2{margin-bottom:-.5rem !important}.mb-n3{margin-bottom:-1rem !important}.mb-n4{margin-bottom:-1.5rem !important}.mb-n5{margin-bottom:-2rem !important}.mb-n6{margin-bottom:-2.5rem !important}.mb-n7{margin-bottom:-3rem !important}.mb-ntiny{margin-bottom:-.15rem !important}.ms-n1{margin-left:-.25rem !important}.ms-n2{margin-left:-.5rem !important}.ms-n3{margin-left:-1rem !important}.ms-n4{margin-left:-1.5rem !important}.ms-n5{margin-left:-2rem !important}.ms-n6{margin-left:-2.5rem !important}.ms-n7{margin-left:-3rem !important}.ms-ntiny{margin-left:-.15rem !important}.p-0{padding:0 !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:2rem !important}.p-6{padding:2.5rem !important}.p-7{padding:3rem !important}.p-tiny{padding:.15rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:2rem !important;padding-left:2rem !important}.px-6{padding-right:2.5rem !important;padding-left:2.5rem !important}.px-7{padding-right:3rem !important;padding-left:3rem !important}.px-tiny{padding-right:.15rem !important;padding-left:.15rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:2rem !important;padding-bottom:2rem !important}.py-6{padding-top:2.5rem !important;padding-bottom:2.5rem !important}.py-7{padding-top:3rem !important;padding-bottom:3rem !important}.py-tiny{padding-top:.15rem !important;padding-bottom:.15rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:2rem !important}.pt-6{padding-top:2.5rem !important}.pt-7{padding-top:3rem !important}.pt-tiny{padding-top:.15rem !important}.pe-0{padding-right:0 !important}.pe-1{padding-right:.25rem !important}.pe-2{padding-right:.5rem !important}.pe-3{padding-right:1rem !important}.pe-4{padding-right:1.5rem !important}.pe-5{padding-right:2rem !important}.pe-6{padding-right:2.5rem !important}.pe-7{padding-right:3rem !important}.pe-tiny{padding-right:.15rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:2rem !important}.pb-6{padding-bottom:2.5rem !important}.pb-7{padding-bottom:3rem !important}.pb-tiny{padding-bottom:.15rem !important}.ps-0{padding-left:0 !important}.ps-1{padding-left:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:2rem !important}.ps-6{padding-left:2.5rem !important}.ps-7{padding-left:3rem !important}.ps-tiny{padding-left:.15rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.375rem + 1.5vw) !important}.fs-2{font-size:calc(1.325rem + .9vw) !important}.fs-3{font-size:calc(1.3rem + .6vw) !important}.fs-4{font-size:calc(1.275rem + .3vw) !important}.fs-5{font-size:1.25rem !important}.fs-6{font-size:1rem !important}.fst-italic{font-style:italic !important}.fst-normal{font-style:normal !important}.fw-light{font-weight:300 !important}.fw-lighter{font-weight:lighter !important}.fw-normal{font-weight:400 !important}.fw-bold{font-weight:700 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-primary{color:#0d6efd !important}.text-secondary{color:#6c757d !important}.text-success{color:#198754 !important}.text-info{color:#0dcaf0 !important}.text-warning{color:#ffc107 !important}.text-danger{color:#dc3545 !important}.text-light{color:#f8f9fa !important}.text-dark{color:#3d454d !important}.text-white{color:#fff !important}.text-body{color:#f7f9fa !important}.text-muted{color:#b7bfc7 !important}.text-black-50{color:rgba(0,0,0,0.5) !important}.text-white-50{color:rgba(255,255,255,0.5) !important}.text-reset{color:inherit !important}.bg-primary{background-color:#0d6efd !important}.bg-secondary{background-color:#6c757d !important}.bg-success{background-color:#198754 !important}.bg-info{background-color:#0dcaf0 !important}.bg-warning{background-color:#ffc107 !important}.bg-danger{background-color:#dc3545 !important}.bg-light{background-color:#f8f9fa !important}.bg-dark{background-color:#3d454d !important}.bg-body{background-color:#031b40 !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:rgba(0,0,0,0) !important}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:.4rem !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:.2rem !important}.rounded-2{border-radius:.4rem !important}.rounded-3{border-radius:.5rem !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-top{border-top-left-radius:.4rem !important;border-top-right-radius:.4rem !important}.rounded-end{border-top-right-radius:.4rem !important;border-bottom-right-radius:.4rem !important}.rounded-bottom{border-bottom-right-radius:.4rem !important;border-bottom-left-radius:.4rem !important}.rounded-start{border-bottom-left-radius:.4rem !important;border-top-left-radius:.4rem !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media (min-width: 576px){.float-sm-start{float:left !important}.float-sm-end{float:right !important}.float-sm-none{float:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}.d-sm-none{display:none !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:2rem !important}.gap-sm-6{gap:2.5rem !important}.gap-sm-7{gap:3rem !important}.gap-sm-tiny{gap:.15rem !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.justify-content-sm-evenly{justify-content:space-evenly !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:.25rem !important}.m-sm-2{margin:.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:2rem !important}.m-sm-6{margin:2.5rem !important}.m-sm-7{margin:3rem !important}.m-sm-tiny{margin:.15rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:2rem !important;margin-left:2rem !important}.mx-sm-6{margin-right:2.5rem !important;margin-left:2.5rem !important}.mx-sm-7{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-tiny{margin-right:.15rem !important;margin-left:.15rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:2rem !important;margin-bottom:2rem !important}.my-sm-6{margin-top:2.5rem !important;margin-bottom:2.5rem !important}.my-sm-7{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-tiny{margin-top:.15rem !important;margin-bottom:.15rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:.25rem !important}.mt-sm-2{margin-top:.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:2rem !important}.mt-sm-6{margin-top:2.5rem !important}.mt-sm-7{margin-top:3rem !important}.mt-sm-tiny{margin-top:.15rem !important}.mt-sm-auto{margin-top:auto !important}.me-sm-0{margin-right:0 !important}.me-sm-1{margin-right:.25rem !important}.me-sm-2{margin-right:.5rem !important}.me-sm-3{margin-right:1rem !important}.me-sm-4{margin-right:1.5rem !important}.me-sm-5{margin-right:2rem !important}.me-sm-6{margin-right:2.5rem !important}.me-sm-7{margin-right:3rem !important}.me-sm-tiny{margin-right:.15rem !important}.me-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:.25rem !important}.mb-sm-2{margin-bottom:.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:2rem !important}.mb-sm-6{margin-bottom:2.5rem !important}.mb-sm-7{margin-bottom:3rem !important}.mb-sm-tiny{margin-bottom:.15rem !important}.mb-sm-auto{margin-bottom:auto !important}.ms-sm-0{margin-left:0 !important}.ms-sm-1{margin-left:.25rem !important}.ms-sm-2{margin-left:.5rem !important}.ms-sm-3{margin-left:1rem !important}.ms-sm-4{margin-left:1.5rem !important}.ms-sm-5{margin-left:2rem !important}.ms-sm-6{margin-left:2.5rem !important}.ms-sm-7{margin-left:3rem !important}.ms-sm-tiny{margin-left:.15rem !important}.ms-sm-auto{margin-left:auto !important}.m-sm-n1{margin:-.25rem !important}.m-sm-n2{margin:-.5rem !important}.m-sm-n3{margin:-1rem !important}.m-sm-n4{margin:-1.5rem !important}.m-sm-n5{margin:-2rem !important}.m-sm-n6{margin:-2.5rem !important}.m-sm-n7{margin:-3rem !important}.m-sm-ntiny{margin:-.15rem !important}.mx-sm-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-sm-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-sm-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-sm-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-sm-n5{margin-right:-2rem !important;margin-left:-2rem !important}.mx-sm-n6{margin-right:-2.5rem !important;margin-left:-2.5rem !important}.mx-sm-n7{margin-right:-3rem !important;margin-left:-3rem !important}.mx-sm-ntiny{margin-right:-.15rem !important;margin-left:-.15rem !important}.my-sm-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-sm-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-sm-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-sm-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-sm-n5{margin-top:-2rem !important;margin-bottom:-2rem !important}.my-sm-n6{margin-top:-2.5rem !important;margin-bottom:-2.5rem !important}.my-sm-n7{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-sm-ntiny{margin-top:-.15rem !important;margin-bottom:-.15rem !important}.mt-sm-n1{margin-top:-.25rem !important}.mt-sm-n2{margin-top:-.5rem !important}.mt-sm-n3{margin-top:-1rem !important}.mt-sm-n4{margin-top:-1.5rem !important}.mt-sm-n5{margin-top:-2rem !important}.mt-sm-n6{margin-top:-2.5rem !important}.mt-sm-n7{margin-top:-3rem !important}.mt-sm-ntiny{margin-top:-.15rem !important}.me-sm-n1{margin-right:-.25rem !important}.me-sm-n2{margin-right:-.5rem !important}.me-sm-n3{margin-right:-1rem !important}.me-sm-n4{margin-right:-1.5rem !important}.me-sm-n5{margin-right:-2rem !important}.me-sm-n6{margin-right:-2.5rem !important}.me-sm-n7{margin-right:-3rem !important}.me-sm-ntiny{margin-right:-.15rem !important}.mb-sm-n1{margin-bottom:-.25rem !important}.mb-sm-n2{margin-bottom:-.5rem !important}.mb-sm-n3{margin-bottom:-1rem !important}.mb-sm-n4{margin-bottom:-1.5rem !important}.mb-sm-n5{margin-bottom:-2rem !important}.mb-sm-n6{margin-bottom:-2.5rem !important}.mb-sm-n7{margin-bottom:-3rem !important}.mb-sm-ntiny{margin-bottom:-.15rem !important}.ms-sm-n1{margin-left:-.25rem !important}.ms-sm-n2{margin-left:-.5rem !important}.ms-sm-n3{margin-left:-1rem !important}.ms-sm-n4{margin-left:-1.5rem !important}.ms-sm-n5{margin-left:-2rem !important}.ms-sm-n6{margin-left:-2.5rem !important}.ms-sm-n7{margin-left:-3rem !important}.ms-sm-ntiny{margin-left:-.15rem !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:.25rem !important}.p-sm-2{padding:.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:2rem !important}.p-sm-6{padding:2.5rem !important}.p-sm-7{padding:3rem !important}.p-sm-tiny{padding:.15rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:2rem !important;padding-left:2rem !important}.px-sm-6{padding-right:2.5rem !important;padding-left:2.5rem !important}.px-sm-7{padding-right:3rem !important;padding-left:3rem !important}.px-sm-tiny{padding-right:.15rem !important;padding-left:.15rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:2rem !important;padding-bottom:2rem !important}.py-sm-6{padding-top:2.5rem !important;padding-bottom:2.5rem !important}.py-sm-7{padding-top:3rem !important;padding-bottom:3rem !important}.py-sm-tiny{padding-top:.15rem !important;padding-bottom:.15rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:.25rem !important}.pt-sm-2{padding-top:.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:2rem !important}.pt-sm-6{padding-top:2.5rem !important}.pt-sm-7{padding-top:3rem !important}.pt-sm-tiny{padding-top:.15rem !important}.pe-sm-0{padding-right:0 !important}.pe-sm-1{padding-right:.25rem !important}.pe-sm-2{padding-right:.5rem !important}.pe-sm-3{padding-right:1rem !important}.pe-sm-4{padding-right:1.5rem !important}.pe-sm-5{padding-right:2rem !important}.pe-sm-6{padding-right:2.5rem !important}.pe-sm-7{padding-right:3rem !important}.pe-sm-tiny{padding-right:.15rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:.25rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:2rem !important}.pb-sm-6{padding-bottom:2.5rem !important}.pb-sm-7{padding-bottom:3rem !important}.pb-sm-tiny{padding-bottom:.15rem !important}.ps-sm-0{padding-left:0 !important}.ps-sm-1{padding-left:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:2rem !important}.ps-sm-6{padding-left:2.5rem !important}.ps-sm-7{padding-left:3rem !important}.ps-sm-tiny{padding-left:.15rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media (min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}.d-md-none{display:none !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:2rem !important}.gap-md-6{gap:2.5rem !important}.gap-md-7{gap:3rem !important}.gap-md-tiny{gap:.15rem !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.justify-content-md-evenly{justify-content:space-evenly !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:.25rem !important}.m-md-2{margin:.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:2rem !important}.m-md-6{margin:2.5rem !important}.m-md-7{margin:3rem !important}.m-md-tiny{margin:.15rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:2rem !important;margin-left:2rem !important}.mx-md-6{margin-right:2.5rem !important;margin-left:2.5rem !important}.mx-md-7{margin-right:3rem !important;margin-left:3rem !important}.mx-md-tiny{margin-right:.15rem !important;margin-left:.15rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:2rem !important;margin-bottom:2rem !important}.my-md-6{margin-top:2.5rem !important;margin-bottom:2.5rem !important}.my-md-7{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-tiny{margin-top:.15rem !important;margin-bottom:.15rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:.25rem !important}.mt-md-2{margin-top:.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:2rem !important}.mt-md-6{margin-top:2.5rem !important}.mt-md-7{margin-top:3rem !important}.mt-md-tiny{margin-top:.15rem !important}.mt-md-auto{margin-top:auto !important}.me-md-0{margin-right:0 !important}.me-md-1{margin-right:.25rem !important}.me-md-2{margin-right:.5rem !important}.me-md-3{margin-right:1rem !important}.me-md-4{margin-right:1.5rem !important}.me-md-5{margin-right:2rem !important}.me-md-6{margin-right:2.5rem !important}.me-md-7{margin-right:3rem !important}.me-md-tiny{margin-right:.15rem !important}.me-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:.25rem !important}.mb-md-2{margin-bottom:.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:2rem !important}.mb-md-6{margin-bottom:2.5rem !important}.mb-md-7{margin-bottom:3rem !important}.mb-md-tiny{margin-bottom:.15rem !important}.mb-md-auto{margin-bottom:auto !important}.ms-md-0{margin-left:0 !important}.ms-md-1{margin-left:.25rem !important}.ms-md-2{margin-left:.5rem !important}.ms-md-3{margin-left:1rem !important}.ms-md-4{margin-left:1.5rem !important}.ms-md-5{margin-left:2rem !important}.ms-md-6{margin-left:2.5rem !important}.ms-md-7{margin-left:3rem !important}.ms-md-tiny{margin-left:.15rem !important}.ms-md-auto{margin-left:auto !important}.m-md-n1{margin:-.25rem !important}.m-md-n2{margin:-.5rem !important}.m-md-n3{margin:-1rem !important}.m-md-n4{margin:-1.5rem !important}.m-md-n5{margin:-2rem !important}.m-md-n6{margin:-2.5rem !important}.m-md-n7{margin:-3rem !important}.m-md-ntiny{margin:-.15rem !important}.mx-md-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-md-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-md-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-md-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-md-n5{margin-right:-2rem !important;margin-left:-2rem !important}.mx-md-n6{margin-right:-2.5rem !important;margin-left:-2.5rem !important}.mx-md-n7{margin-right:-3rem !important;margin-left:-3rem !important}.mx-md-ntiny{margin-right:-.15rem !important;margin-left:-.15rem !important}.my-md-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-md-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-md-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-md-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-md-n5{margin-top:-2rem !important;margin-bottom:-2rem !important}.my-md-n6{margin-top:-2.5rem !important;margin-bottom:-2.5rem !important}.my-md-n7{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-md-ntiny{margin-top:-.15rem !important;margin-bottom:-.15rem !important}.mt-md-n1{margin-top:-.25rem !important}.mt-md-n2{margin-top:-.5rem !important}.mt-md-n3{margin-top:-1rem !important}.mt-md-n4{margin-top:-1.5rem !important}.mt-md-n5{margin-top:-2rem !important}.mt-md-n6{margin-top:-2.5rem !important}.mt-md-n7{margin-top:-3rem !important}.mt-md-ntiny{margin-top:-.15rem !important}.me-md-n1{margin-right:-.25rem !important}.me-md-n2{margin-right:-.5rem !important}.me-md-n3{margin-right:-1rem !important}.me-md-n4{margin-right:-1.5rem !important}.me-md-n5{margin-right:-2rem !important}.me-md-n6{margin-right:-2.5rem !important}.me-md-n7{margin-right:-3rem !important}.me-md-ntiny{margin-right:-.15rem !important}.mb-md-n1{margin-bottom:-.25rem !important}.mb-md-n2{margin-bottom:-.5rem !important}.mb-md-n3{margin-bottom:-1rem !important}.mb-md-n4{margin-bottom:-1.5rem !important}.mb-md-n5{margin-bottom:-2rem !important}.mb-md-n6{margin-bottom:-2.5rem !important}.mb-md-n7{margin-bottom:-3rem !important}.mb-md-ntiny{margin-bottom:-.15rem !important}.ms-md-n1{margin-left:-.25rem !important}.ms-md-n2{margin-left:-.5rem !important}.ms-md-n3{margin-left:-1rem !important}.ms-md-n4{margin-left:-1.5rem !important}.ms-md-n5{margin-left:-2rem !important}.ms-md-n6{margin-left:-2.5rem !important}.ms-md-n7{margin-left:-3rem !important}.ms-md-ntiny{margin-left:-.15rem !important}.p-md-0{padding:0 !important}.p-md-1{padding:.25rem !important}.p-md-2{padding:.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:2rem !important}.p-md-6{padding:2.5rem !important}.p-md-7{padding:3rem !important}.p-md-tiny{padding:.15rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:2rem !important;padding-left:2rem !important}.px-md-6{padding-right:2.5rem !important;padding-left:2.5rem !important}.px-md-7{padding-right:3rem !important;padding-left:3rem !important}.px-md-tiny{padding-right:.15rem !important;padding-left:.15rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:2rem !important;padding-bottom:2rem !important}.py-md-6{padding-top:2.5rem !important;padding-bottom:2.5rem !important}.py-md-7{padding-top:3rem !important;padding-bottom:3rem !important}.py-md-tiny{padding-top:.15rem !important;padding-bottom:.15rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:.25rem !important}.pt-md-2{padding-top:.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:2rem !important}.pt-md-6{padding-top:2.5rem !important}.pt-md-7{padding-top:3rem !important}.pt-md-tiny{padding-top:.15rem !important}.pe-md-0{padding-right:0 !important}.pe-md-1{padding-right:.25rem !important}.pe-md-2{padding-right:.5rem !important}.pe-md-3{padding-right:1rem !important}.pe-md-4{padding-right:1.5rem !important}.pe-md-5{padding-right:2rem !important}.pe-md-6{padding-right:2.5rem !important}.pe-md-7{padding-right:3rem !important}.pe-md-tiny{padding-right:.15rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:.25rem !important}.pb-md-2{padding-bottom:.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:2rem !important}.pb-md-6{padding-bottom:2.5rem !important}.pb-md-7{padding-bottom:3rem !important}.pb-md-tiny{padding-bottom:.15rem !important}.ps-md-0{padding-left:0 !important}.ps-md-1{padding-left:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:2rem !important}.ps-md-6{padding-left:2.5rem !important}.ps-md-7{padding-left:3rem !important}.ps-md-tiny{padding-left:.15rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media (min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-grid{display:grid !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}.d-lg-none{display:none !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:2rem !important}.gap-lg-6{gap:2.5rem !important}.gap-lg-7{gap:3rem !important}.gap-lg-tiny{gap:.15rem !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.justify-content-lg-evenly{justify-content:space-evenly !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:.25rem !important}.m-lg-2{margin:.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:2rem !important}.m-lg-6{margin:2.5rem !important}.m-lg-7{margin:3rem !important}.m-lg-tiny{margin:.15rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:2rem !important;margin-left:2rem !important}.mx-lg-6{margin-right:2.5rem !important;margin-left:2.5rem !important}.mx-lg-7{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-tiny{margin-right:.15rem !important;margin-left:.15rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:2rem !important;margin-bottom:2rem !important}.my-lg-6{margin-top:2.5rem !important;margin-bottom:2.5rem !important}.my-lg-7{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-tiny{margin-top:.15rem !important;margin-bottom:.15rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:.25rem !important}.mt-lg-2{margin-top:.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:2rem !important}.mt-lg-6{margin-top:2.5rem !important}.mt-lg-7{margin-top:3rem !important}.mt-lg-tiny{margin-top:.15rem !important}.mt-lg-auto{margin-top:auto !important}.me-lg-0{margin-right:0 !important}.me-lg-1{margin-right:.25rem !important}.me-lg-2{margin-right:.5rem !important}.me-lg-3{margin-right:1rem !important}.me-lg-4{margin-right:1.5rem !important}.me-lg-5{margin-right:2rem !important}.me-lg-6{margin-right:2.5rem !important}.me-lg-7{margin-right:3rem !important}.me-lg-tiny{margin-right:.15rem !important}.me-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:.25rem !important}.mb-lg-2{margin-bottom:.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:2rem !important}.mb-lg-6{margin-bottom:2.5rem !important}.mb-lg-7{margin-bottom:3rem !important}.mb-lg-tiny{margin-bottom:.15rem !important}.mb-lg-auto{margin-bottom:auto !important}.ms-lg-0{margin-left:0 !important}.ms-lg-1{margin-left:.25rem !important}.ms-lg-2{margin-left:.5rem !important}.ms-lg-3{margin-left:1rem !important}.ms-lg-4{margin-left:1.5rem !important}.ms-lg-5{margin-left:2rem !important}.ms-lg-6{margin-left:2.5rem !important}.ms-lg-7{margin-left:3rem !important}.ms-lg-tiny{margin-left:.15rem !important}.ms-lg-auto{margin-left:auto !important}.m-lg-n1{margin:-.25rem !important}.m-lg-n2{margin:-.5rem !important}.m-lg-n3{margin:-1rem !important}.m-lg-n4{margin:-1.5rem !important}.m-lg-n5{margin:-2rem !important}.m-lg-n6{margin:-2.5rem !important}.m-lg-n7{margin:-3rem !important}.m-lg-ntiny{margin:-.15rem !important}.mx-lg-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-lg-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-lg-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-lg-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-lg-n5{margin-right:-2rem !important;margin-left:-2rem !important}.mx-lg-n6{margin-right:-2.5rem !important;margin-left:-2.5rem !important}.mx-lg-n7{margin-right:-3rem !important;margin-left:-3rem !important}.mx-lg-ntiny{margin-right:-.15rem !important;margin-left:-.15rem !important}.my-lg-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-lg-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-lg-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-lg-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-lg-n5{margin-top:-2rem !important;margin-bottom:-2rem !important}.my-lg-n6{margin-top:-2.5rem !important;margin-bottom:-2.5rem !important}.my-lg-n7{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-lg-ntiny{margin-top:-.15rem !important;margin-bottom:-.15rem !important}.mt-lg-n1{margin-top:-.25rem !important}.mt-lg-n2{margin-top:-.5rem !important}.mt-lg-n3{margin-top:-1rem !important}.mt-lg-n4{margin-top:-1.5rem !important}.mt-lg-n5{margin-top:-2rem !important}.mt-lg-n6{margin-top:-2.5rem !important}.mt-lg-n7{margin-top:-3rem !important}.mt-lg-ntiny{margin-top:-.15rem !important}.me-lg-n1{margin-right:-.25rem !important}.me-lg-n2{margin-right:-.5rem !important}.me-lg-n3{margin-right:-1rem !important}.me-lg-n4{margin-right:-1.5rem !important}.me-lg-n5{margin-right:-2rem !important}.me-lg-n6{margin-right:-2.5rem !important}.me-lg-n7{margin-right:-3rem !important}.me-lg-ntiny{margin-right:-.15rem !important}.mb-lg-n1{margin-bottom:-.25rem !important}.mb-lg-n2{margin-bottom:-.5rem !important}.mb-lg-n3{margin-bottom:-1rem !important}.mb-lg-n4{margin-bottom:-1.5rem !important}.mb-lg-n5{margin-bottom:-2rem !important}.mb-lg-n6{margin-bottom:-2.5rem !important}.mb-lg-n7{margin-bottom:-3rem !important}.mb-lg-ntiny{margin-bottom:-.15rem !important}.ms-lg-n1{margin-left:-.25rem !important}.ms-lg-n2{margin-left:-.5rem !important}.ms-lg-n3{margin-left:-1rem !important}.ms-lg-n4{margin-left:-1.5rem !important}.ms-lg-n5{margin-left:-2rem !important}.ms-lg-n6{margin-left:-2.5rem !important}.ms-lg-n7{margin-left:-3rem !important}.ms-lg-ntiny{margin-left:-.15rem !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:.25rem !important}.p-lg-2{padding:.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:2rem !important}.p-lg-6{padding:2.5rem !important}.p-lg-7{padding:3rem !important}.p-lg-tiny{padding:.15rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:2rem !important;padding-left:2rem !important}.px-lg-6{padding-right:2.5rem !important;padding-left:2.5rem !important}.px-lg-7{padding-right:3rem !important;padding-left:3rem !important}.px-lg-tiny{padding-right:.15rem !important;padding-left:.15rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:2rem !important;padding-bottom:2rem !important}.py-lg-6{padding-top:2.5rem !important;padding-bottom:2.5rem !important}.py-lg-7{padding-top:3rem !important;padding-bottom:3rem !important}.py-lg-tiny{padding-top:.15rem !important;padding-bottom:.15rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:.25rem !important}.pt-lg-2{padding-top:.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:2rem !important}.pt-lg-6{padding-top:2.5rem !important}.pt-lg-7{padding-top:3rem !important}.pt-lg-tiny{padding-top:.15rem !important}.pe-lg-0{padding-right:0 !important}.pe-lg-1{padding-right:.25rem !important}.pe-lg-2{padding-right:.5rem !important}.pe-lg-3{padding-right:1rem !important}.pe-lg-4{padding-right:1.5rem !important}.pe-lg-5{padding-right:2rem !important}.pe-lg-6{padding-right:2.5rem !important}.pe-lg-7{padding-right:3rem !important}.pe-lg-tiny{padding-right:.15rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:.25rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:2rem !important}.pb-lg-6{padding-bottom:2.5rem !important}.pb-lg-7{padding-bottom:3rem !important}.pb-lg-tiny{padding-bottom:.15rem !important}.ps-lg-0{padding-left:0 !important}.ps-lg-1{padding-left:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:2rem !important}.ps-lg-6{padding-left:2.5rem !important}.ps-lg-7{padding-left:3rem !important}.ps-lg-tiny{padding-left:.15rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media (min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-grid{display:grid !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}.d-xl-none{display:none !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:2rem !important}.gap-xl-6{gap:2.5rem !important}.gap-xl-7{gap:3rem !important}.gap-xl-tiny{gap:.15rem !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.justify-content-xl-evenly{justify-content:space-evenly !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}.order-xl-first{order:-1 !important}.order-xl-0{order:0 !important}.order-xl-1{order:1 !important}.order-xl-2{order:2 !important}.order-xl-3{order:3 !important}.order-xl-4{order:4 !important}.order-xl-5{order:5 !important}.order-xl-last{order:6 !important}.m-xl-0{margin:0 !important}.m-xl-1{margin:.25rem !important}.m-xl-2{margin:.5rem !important}.m-xl-3{margin:1rem !important}.m-xl-4{margin:1.5rem !important}.m-xl-5{margin:2rem !important}.m-xl-6{margin:2.5rem !important}.m-xl-7{margin:3rem !important}.m-xl-tiny{margin:.15rem !important}.m-xl-auto{margin:auto !important}.mx-xl-0{margin-right:0 !important;margin-left:0 !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xl-5{margin-right:2rem !important;margin-left:2rem !important}.mx-xl-6{margin-right:2.5rem !important;margin-left:2.5rem !important}.mx-xl-7{margin-right:3rem !important;margin-left:3rem !important}.mx-xl-tiny{margin-right:.15rem !important;margin-left:.15rem !important}.mx-xl-auto{margin-right:auto !important;margin-left:auto !important}.my-xl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xl-5{margin-top:2rem !important;margin-bottom:2rem !important}.my-xl-6{margin-top:2.5rem !important;margin-bottom:2.5rem !important}.my-xl-7{margin-top:3rem !important;margin-bottom:3rem !important}.my-xl-tiny{margin-top:.15rem !important;margin-bottom:.15rem !important}.my-xl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xl-0{margin-top:0 !important}.mt-xl-1{margin-top:.25rem !important}.mt-xl-2{margin-top:.5rem !important}.mt-xl-3{margin-top:1rem !important}.mt-xl-4{margin-top:1.5rem !important}.mt-xl-5{margin-top:2rem !important}.mt-xl-6{margin-top:2.5rem !important}.mt-xl-7{margin-top:3rem !important}.mt-xl-tiny{margin-top:.15rem !important}.mt-xl-auto{margin-top:auto !important}.me-xl-0{margin-right:0 !important}.me-xl-1{margin-right:.25rem !important}.me-xl-2{margin-right:.5rem !important}.me-xl-3{margin-right:1rem !important}.me-xl-4{margin-right:1.5rem !important}.me-xl-5{margin-right:2rem !important}.me-xl-6{margin-right:2.5rem !important}.me-xl-7{margin-right:3rem !important}.me-xl-tiny{margin-right:.15rem !important}.me-xl-auto{margin-right:auto !important}.mb-xl-0{margin-bottom:0 !important}.mb-xl-1{margin-bottom:.25rem !important}.mb-xl-2{margin-bottom:.5rem !important}.mb-xl-3{margin-bottom:1rem !important}.mb-xl-4{margin-bottom:1.5rem !important}.mb-xl-5{margin-bottom:2rem !important}.mb-xl-6{margin-bottom:2.5rem !important}.mb-xl-7{margin-bottom:3rem !important}.mb-xl-tiny{margin-bottom:.15rem !important}.mb-xl-auto{margin-bottom:auto !important}.ms-xl-0{margin-left:0 !important}.ms-xl-1{margin-left:.25rem !important}.ms-xl-2{margin-left:.5rem !important}.ms-xl-3{margin-left:1rem !important}.ms-xl-4{margin-left:1.5rem !important}.ms-xl-5{margin-left:2rem !important}.ms-xl-6{margin-left:2.5rem !important}.ms-xl-7{margin-left:3rem !important}.ms-xl-tiny{margin-left:.15rem !important}.ms-xl-auto{margin-left:auto !important}.m-xl-n1{margin:-.25rem !important}.m-xl-n2{margin:-.5rem !important}.m-xl-n3{margin:-1rem !important}.m-xl-n4{margin:-1.5rem !important}.m-xl-n5{margin:-2rem !important}.m-xl-n6{margin:-2.5rem !important}.m-xl-n7{margin:-3rem !important}.m-xl-ntiny{margin:-.15rem !important}.mx-xl-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-xl-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-xl-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-xl-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-xl-n5{margin-right:-2rem !important;margin-left:-2rem !important}.mx-xl-n6{margin-right:-2.5rem !important;margin-left:-2.5rem !important}.mx-xl-n7{margin-right:-3rem !important;margin-left:-3rem !important}.mx-xl-ntiny{margin-right:-.15rem !important;margin-left:-.15rem !important}.my-xl-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-xl-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-xl-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-xl-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-xl-n5{margin-top:-2rem !important;margin-bottom:-2rem !important}.my-xl-n6{margin-top:-2.5rem !important;margin-bottom:-2.5rem !important}.my-xl-n7{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-xl-ntiny{margin-top:-.15rem !important;margin-bottom:-.15rem !important}.mt-xl-n1{margin-top:-.25rem !important}.mt-xl-n2{margin-top:-.5rem !important}.mt-xl-n3{margin-top:-1rem !important}.mt-xl-n4{margin-top:-1.5rem !important}.mt-xl-n5{margin-top:-2rem !important}.mt-xl-n6{margin-top:-2.5rem !important}.mt-xl-n7{margin-top:-3rem !important}.mt-xl-ntiny{margin-top:-.15rem !important}.me-xl-n1{margin-right:-.25rem !important}.me-xl-n2{margin-right:-.5rem !important}.me-xl-n3{margin-right:-1rem !important}.me-xl-n4{margin-right:-1.5rem !important}.me-xl-n5{margin-right:-2rem !important}.me-xl-n6{margin-right:-2.5rem !important}.me-xl-n7{margin-right:-3rem !important}.me-xl-ntiny{margin-right:-.15rem !important}.mb-xl-n1{margin-bottom:-.25rem !important}.mb-xl-n2{margin-bottom:-.5rem !important}.mb-xl-n3{margin-bottom:-1rem !important}.mb-xl-n4{margin-bottom:-1.5rem !important}.mb-xl-n5{margin-bottom:-2rem !important}.mb-xl-n6{margin-bottom:-2.5rem !important}.mb-xl-n7{margin-bottom:-3rem !important}.mb-xl-ntiny{margin-bottom:-.15rem !important}.ms-xl-n1{margin-left:-.25rem !important}.ms-xl-n2{margin-left:-.5rem !important}.ms-xl-n3{margin-left:-1rem !important}.ms-xl-n4{margin-left:-1.5rem !important}.ms-xl-n5{margin-left:-2rem !important}.ms-xl-n6{margin-left:-2.5rem !important}.ms-xl-n7{margin-left:-3rem !important}.ms-xl-ntiny{margin-left:-.15rem !important}.p-xl-0{padding:0 !important}.p-xl-1{padding:.25rem !important}.p-xl-2{padding:.5rem !important}.p-xl-3{padding:1rem !important}.p-xl-4{padding:1.5rem !important}.p-xl-5{padding:2rem !important}.p-xl-6{padding:2.5rem !important}.p-xl-7{padding:3rem !important}.p-xl-tiny{padding:.15rem !important}.px-xl-0{padding-right:0 !important;padding-left:0 !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xl-5{padding-right:2rem !important;padding-left:2rem !important}.px-xl-6{padding-right:2.5rem !important;padding-left:2.5rem !important}.px-xl-7{padding-right:3rem !important;padding-left:3rem !important}.px-xl-tiny{padding-right:.15rem !important;padding-left:.15rem !important}.py-xl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xl-5{padding-top:2rem !important;padding-bottom:2rem !important}.py-xl-6{padding-top:2.5rem !important;padding-bottom:2.5rem !important}.py-xl-7{padding-top:3rem !important;padding-bottom:3rem !important}.py-xl-tiny{padding-top:.15rem !important;padding-bottom:.15rem !important}.pt-xl-0{padding-top:0 !important}.pt-xl-1{padding-top:.25rem !important}.pt-xl-2{padding-top:.5rem !important}.pt-xl-3{padding-top:1rem !important}.pt-xl-4{padding-top:1.5rem !important}.pt-xl-5{padding-top:2rem !important}.pt-xl-6{padding-top:2.5rem !important}.pt-xl-7{padding-top:3rem !important}.pt-xl-tiny{padding-top:.15rem !important}.pe-xl-0{padding-right:0 !important}.pe-xl-1{padding-right:.25rem !important}.pe-xl-2{padding-right:.5rem !important}.pe-xl-3{padding-right:1rem !important}.pe-xl-4{padding-right:1.5rem !important}.pe-xl-5{padding-right:2rem !important}.pe-xl-6{padding-right:2.5rem !important}.pe-xl-7{padding-right:3rem !important}.pe-xl-tiny{padding-right:.15rem !important}.pb-xl-0{padding-bottom:0 !important}.pb-xl-1{padding-bottom:.25rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pb-xl-3{padding-bottom:1rem !important}.pb-xl-4{padding-bottom:1.5rem !important}.pb-xl-5{padding-bottom:2rem !important}.pb-xl-6{padding-bottom:2.5rem !important}.pb-xl-7{padding-bottom:3rem !important}.pb-xl-tiny{padding-bottom:.15rem !important}.ps-xl-0{padding-left:0 !important}.ps-xl-1{padding-left:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:2rem !important}.ps-xl-6{padding-left:2.5rem !important}.ps-xl-7{padding-left:3rem !important}.ps-xl-tiny{padding-left:.15rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media (min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.d-xxl-inline{display:inline !important}.d-xxl-inline-block{display:inline-block !important}.d-xxl-block{display:block !important}.d-xxl-grid{display:grid !important}.d-xxl-table{display:table !important}.d-xxl-table-row{display:table-row !important}.d-xxl-table-cell{display:table-cell !important}.d-xxl-flex{display:flex !important}.d-xxl-inline-flex{display:inline-flex !important}.d-xxl-none{display:none !important}.flex-xxl-fill{flex:1 1 auto !important}.flex-xxl-row{flex-direction:row !important}.flex-xxl-column{flex-direction:column !important}.flex-xxl-row-reverse{flex-direction:row-reverse !important}.flex-xxl-column-reverse{flex-direction:column-reverse !important}.flex-xxl-grow-0{flex-grow:0 !important}.flex-xxl-grow-1{flex-grow:1 !important}.flex-xxl-shrink-0{flex-shrink:0 !important}.flex-xxl-shrink-1{flex-shrink:1 !important}.flex-xxl-wrap{flex-wrap:wrap !important}.flex-xxl-nowrap{flex-wrap:nowrap !important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:2rem !important}.gap-xxl-6{gap:2.5rem !important}.gap-xxl-7{gap:3rem !important}.gap-xxl-tiny{gap:.15rem !important}.justify-content-xxl-start{justify-content:flex-start !important}.justify-content-xxl-end{justify-content:flex-end !important}.justify-content-xxl-center{justify-content:center !important}.justify-content-xxl-between{justify-content:space-between !important}.justify-content-xxl-around{justify-content:space-around !important}.justify-content-xxl-evenly{justify-content:space-evenly !important}.align-items-xxl-start{align-items:flex-start !important}.align-items-xxl-end{align-items:flex-end !important}.align-items-xxl-center{align-items:center !important}.align-items-xxl-baseline{align-items:baseline !important}.align-items-xxl-stretch{align-items:stretch !important}.align-content-xxl-start{align-content:flex-start !important}.align-content-xxl-end{align-content:flex-end !important}.align-content-xxl-center{align-content:center !important}.align-content-xxl-between{align-content:space-between !important}.align-content-xxl-around{align-content:space-around !important}.align-content-xxl-stretch{align-content:stretch !important}.align-self-xxl-auto{align-self:auto !important}.align-self-xxl-start{align-self:flex-start !important}.align-self-xxl-end{align-self:flex-end !important}.align-self-xxl-center{align-self:center !important}.align-self-xxl-baseline{align-self:baseline !important}.align-self-xxl-stretch{align-self:stretch !important}.order-xxl-first{order:-1 !important}.order-xxl-0{order:0 !important}.order-xxl-1{order:1 !important}.order-xxl-2{order:2 !important}.order-xxl-3{order:3 !important}.order-xxl-4{order:4 !important}.order-xxl-5{order:5 !important}.order-xxl-last{order:6 !important}.m-xxl-0{margin:0 !important}.m-xxl-1{margin:.25rem !important}.m-xxl-2{margin:.5rem !important}.m-xxl-3{margin:1rem !important}.m-xxl-4{margin:1.5rem !important}.m-xxl-5{margin:2rem !important}.m-xxl-6{margin:2.5rem !important}.m-xxl-7{margin:3rem !important}.m-xxl-tiny{margin:.15rem !important}.m-xxl-auto{margin:auto !important}.mx-xxl-0{margin-right:0 !important;margin-left:0 !important}.mx-xxl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xxl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xxl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xxl-5{margin-right:2rem !important;margin-left:2rem !important}.mx-xxl-6{margin-right:2.5rem !important;margin-left:2.5rem !important}.mx-xxl-7{margin-right:3rem !important;margin-left:3rem !important}.mx-xxl-tiny{margin-right:.15rem !important;margin-left:.15rem !important}.mx-xxl-auto{margin-right:auto !important;margin-left:auto !important}.my-xxl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xxl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xxl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xxl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xxl-5{margin-top:2rem !important;margin-bottom:2rem !important}.my-xxl-6{margin-top:2.5rem !important;margin-bottom:2.5rem !important}.my-xxl-7{margin-top:3rem !important;margin-bottom:3rem !important}.my-xxl-tiny{margin-top:.15rem !important;margin-bottom:.15rem !important}.my-xxl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xxl-0{margin-top:0 !important}.mt-xxl-1{margin-top:.25rem !important}.mt-xxl-2{margin-top:.5rem !important}.mt-xxl-3{margin-top:1rem !important}.mt-xxl-4{margin-top:1.5rem !important}.mt-xxl-5{margin-top:2rem !important}.mt-xxl-6{margin-top:2.5rem !important}.mt-xxl-7{margin-top:3rem !important}.mt-xxl-tiny{margin-top:.15rem !important}.mt-xxl-auto{margin-top:auto !important}.me-xxl-0{margin-right:0 !important}.me-xxl-1{margin-right:.25rem !important}.me-xxl-2{margin-right:.5rem !important}.me-xxl-3{margin-right:1rem !important}.me-xxl-4{margin-right:1.5rem !important}.me-xxl-5{margin-right:2rem !important}.me-xxl-6{margin-right:2.5rem !important}.me-xxl-7{margin-right:3rem !important}.me-xxl-tiny{margin-right:.15rem !important}.me-xxl-auto{margin-right:auto !important}.mb-xxl-0{margin-bottom:0 !important}.mb-xxl-1{margin-bottom:.25rem !important}.mb-xxl-2{margin-bottom:.5rem !important}.mb-xxl-3{margin-bottom:1rem !important}.mb-xxl-4{margin-bottom:1.5rem !important}.mb-xxl-5{margin-bottom:2rem !important}.mb-xxl-6{margin-bottom:2.5rem !important}.mb-xxl-7{margin-bottom:3rem !important}.mb-xxl-tiny{margin-bottom:.15rem !important}.mb-xxl-auto{margin-bottom:auto !important}.ms-xxl-0{margin-left:0 !important}.ms-xxl-1{margin-left:.25rem !important}.ms-xxl-2{margin-left:.5rem !important}.ms-xxl-3{margin-left:1rem !important}.ms-xxl-4{margin-left:1.5rem !important}.ms-xxl-5{margin-left:2rem !important}.ms-xxl-6{margin-left:2.5rem !important}.ms-xxl-7{margin-left:3rem !important}.ms-xxl-tiny{margin-left:.15rem !important}.ms-xxl-auto{margin-left:auto !important}.m-xxl-n1{margin:-.25rem !important}.m-xxl-n2{margin:-.5rem !important}.m-xxl-n3{margin:-1rem !important}.m-xxl-n4{margin:-1.5rem !important}.m-xxl-n5{margin:-2rem !important}.m-xxl-n6{margin:-2.5rem !important}.m-xxl-n7{margin:-3rem !important}.m-xxl-ntiny{margin:-.15rem !important}.mx-xxl-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-xxl-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-xxl-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-xxl-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-xxl-n5{margin-right:-2rem !important;margin-left:-2rem !important}.mx-xxl-n6{margin-right:-2.5rem !important;margin-left:-2.5rem !important}.mx-xxl-n7{margin-right:-3rem !important;margin-left:-3rem !important}.mx-xxl-ntiny{margin-right:-.15rem !important;margin-left:-.15rem !important}.my-xxl-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-xxl-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-xxl-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-xxl-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-xxl-n5{margin-top:-2rem !important;margin-bottom:-2rem !important}.my-xxl-n6{margin-top:-2.5rem !important;margin-bottom:-2.5rem !important}.my-xxl-n7{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-xxl-ntiny{margin-top:-.15rem !important;margin-bottom:-.15rem !important}.mt-xxl-n1{margin-top:-.25rem !important}.mt-xxl-n2{margin-top:-.5rem !important}.mt-xxl-n3{margin-top:-1rem !important}.mt-xxl-n4{margin-top:-1.5rem !important}.mt-xxl-n5{margin-top:-2rem !important}.mt-xxl-n6{margin-top:-2.5rem !important}.mt-xxl-n7{margin-top:-3rem !important}.mt-xxl-ntiny{margin-top:-.15rem !important}.me-xxl-n1{margin-right:-.25rem !important}.me-xxl-n2{margin-right:-.5rem !important}.me-xxl-n3{margin-right:-1rem !important}.me-xxl-n4{margin-right:-1.5rem !important}.me-xxl-n5{margin-right:-2rem !important}.me-xxl-n6{margin-right:-2.5rem !important}.me-xxl-n7{margin-right:-3rem !important}.me-xxl-ntiny{margin-right:-.15rem !important}.mb-xxl-n1{margin-bottom:-.25rem !important}.mb-xxl-n2{margin-bottom:-.5rem !important}.mb-xxl-n3{margin-bottom:-1rem !important}.mb-xxl-n4{margin-bottom:-1.5rem !important}.mb-xxl-n5{margin-bottom:-2rem !important}.mb-xxl-n6{margin-bottom:-2.5rem !important}.mb-xxl-n7{margin-bottom:-3rem !important}.mb-xxl-ntiny{margin-bottom:-.15rem !important}.ms-xxl-n1{margin-left:-.25rem !important}.ms-xxl-n2{margin-left:-.5rem !important}.ms-xxl-n3{margin-left:-1rem !important}.ms-xxl-n4{margin-left:-1.5rem !important}.ms-xxl-n5{margin-left:-2rem !important}.ms-xxl-n6{margin-left:-2.5rem !important}.ms-xxl-n7{margin-left:-3rem !important}.ms-xxl-ntiny{margin-left:-.15rem !important}.p-xxl-0{padding:0 !important}.p-xxl-1{padding:.25rem !important}.p-xxl-2{padding:.5rem !important}.p-xxl-3{padding:1rem !important}.p-xxl-4{padding:1.5rem !important}.p-xxl-5{padding:2rem !important}.p-xxl-6{padding:2.5rem !important}.p-xxl-7{padding:3rem !important}.p-xxl-tiny{padding:.15rem !important}.px-xxl-0{padding-right:0 !important;padding-left:0 !important}.px-xxl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xxl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xxl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xxl-5{padding-right:2rem !important;padding-left:2rem !important}.px-xxl-6{padding-right:2.5rem !important;padding-left:2.5rem !important}.px-xxl-7{padding-right:3rem !important;padding-left:3rem !important}.px-xxl-tiny{padding-right:.15rem !important;padding-left:.15rem !important}.py-xxl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xxl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xxl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xxl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xxl-5{padding-top:2rem !important;padding-bottom:2rem !important}.py-xxl-6{padding-top:2.5rem !important;padding-bottom:2.5rem !important}.py-xxl-7{padding-top:3rem !important;padding-bottom:3rem !important}.py-xxl-tiny{padding-top:.15rem !important;padding-bottom:.15rem !important}.pt-xxl-0{padding-top:0 !important}.pt-xxl-1{padding-top:.25rem !important}.pt-xxl-2{padding-top:.5rem !important}.pt-xxl-3{padding-top:1rem !important}.pt-xxl-4{padding-top:1.5rem !important}.pt-xxl-5{padding-top:2rem !important}.pt-xxl-6{padding-top:2.5rem !important}.pt-xxl-7{padding-top:3rem !important}.pt-xxl-tiny{padding-top:.15rem !important}.pe-xxl-0{padding-right:0 !important}.pe-xxl-1{padding-right:.25rem !important}.pe-xxl-2{padding-right:.5rem !important}.pe-xxl-3{padding-right:1rem !important}.pe-xxl-4{padding-right:1.5rem !important}.pe-xxl-5{padding-right:2rem !important}.pe-xxl-6{padding-right:2.5rem !important}.pe-xxl-7{padding-right:3rem !important}.pe-xxl-tiny{padding-right:.15rem !important}.pb-xxl-0{padding-bottom:0 !important}.pb-xxl-1{padding-bottom:.25rem !important}.pb-xxl-2{padding-bottom:.5rem !important}.pb-xxl-3{padding-bottom:1rem !important}.pb-xxl-4{padding-bottom:1.5rem !important}.pb-xxl-5{padding-bottom:2rem !important}.pb-xxl-6{padding-bottom:2.5rem !important}.pb-xxl-7{padding-bottom:3rem !important}.pb-xxl-tiny{padding-bottom:.15rem !important}.ps-xxl-0{padding-left:0 !important}.ps-xxl-1{padding-left:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:2rem !important}.ps-xxl-6{padding-left:2.5rem !important}.ps-xxl-7{padding-left:3rem !important}.ps-xxl-tiny{padding-left:.15rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem !important}.fs-2{font-size:2rem !important}.fs-3{font-size:1.75rem !important}.fs-4{font-size:1.5rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}.d-print-none{display:none !important}}.alert-primary{color:#f7f9fa;background-color:#052b67;border-color:#0844a1;border-width:2px}.alert-danger{color:#f7f9fa;background-color:#7d323b;border-color:#7d1f29;border-width:2px}.alert-danger a{color:#f7f9fa;text-decoration:underline}.alert-warning{color:#f7f9fa;background-color:#d9962b;border-color:#b17920;border-width:2px}.bg-main{background-color:#020f23 !important}.bg-header-footer{background-color:#162740 !important}.bg-header-footer-highlight{background-color:#2a4a79 !important}.bg-gradient-body-to-main{background:linear-gradient(0deg, #020f23 0%, #031b40 100%)}.card-highlight{background-color:#042558;border:solid 1px #053071 !important;color:#f7f9fa}code{padding:0px 3px;border-radius:3px;background-color:#063a89;color:#198754} diff --git a/public/css/dataTables.bootstrap4.min.css b/public/style/dataTables.bootstrap4.min.css similarity index 100% rename from public/css/dataTables.bootstrap4.min.css rename to public/style/dataTables.bootstrap4.min.css diff --git a/public/css/fonts.css b/public/style/fonts.css similarity index 100% rename from public/css/fonts.css rename to public/style/fonts.css diff --git a/public/style/highlight.min.css b/public/style/highlight.min.css new file mode 100644 index 0000000..8fc9a15 --- /dev/null +++ b/public/style/highlight.min.css @@ -0,0 +1 @@ +.hljs{display:block;overflow-x:auto;padding:.5em;background:#f0f0f0}.hljs,.hljs-subst{color:#444}.hljs-comment{color:#888}.hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-meta-keyword,.hljs-name,.hljs-selector-tag{font-weight:700}.hljs-deletion,.hljs-number,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type{color:#800}.hljs-section,.hljs-title{color:#800;font-weight:700}.hljs-link,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable{color:#bc6060}.hljs-literal{color:#78a960}.hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code{color:#397300}.hljs-meta{color:#1f7199}.hljs-meta-string{color:#4d99bf}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} \ No newline at end of file diff --git a/public/style/light.css b/public/style/light.css new file mode 100644 index 0000000..c311697 --- /dev/null +++ b/public/style/light.css @@ -0,0 +1,6 @@ +code{background-color:#fff !important}.fontawesome-shadow{filter:drop-shadow(1px 1px 1px #666)}.fontawesome-shadow-dark{filter:drop-shadow(1px 1px 1px #262626)}.text-twitter{color:#1d9bf0}.mb-large{margin-bottom:100px}.hljs,.hljs-subst{color:#212529}.text-small{font-size:80%}.text-tiny{font-size:75% !important}.text-60pct{font-size:50% !important}.text-50pct{font-size:50% !important}.border-dotted{border-bottom:1px dotted #ccc}.border-thick{border-width:4px !important}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}hr{margin:5px 0 15px 0}img.header-image{margin-top:-10px;margin-bottom:-5px;width:40px;height:40px;margin-right:10px}code,.font-json,.font-data,.font-plaintext{font-family:"Source Code Pro", monospace !important}.hr-thick{height:3px !important}.mb-section{margin-bottom:1.5rem !important}.mb-tiny{margin-bottom:3px}.mb-huge{margin-bottom:200px}.user-message-markdown p{margin-bottom:0 !important}pre{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;margin-bottom:0 !important}dd{margin-bottom:1rem !important}.word-wrap{word-wrap:break-word;word-break:break-all}.table th{border-top:none}.tx-io-label,.tx-io-content,.tx-io-desc,.tx-io-value{position:relative;width:100%;min-height:1px;padding-right:0px;padding-left:0px;margin-bottom:2px;float:left}@media (min-width: 576px){.tx-io-label{max-width:100%}.tx-io-content{max-width:100%}.tx-io-desc{max-width:100%}.tx-io-value{max-width:100%}}@media (min-width: 768px){.tx-io-label{max-width:8%}.tx-io-content{max-width:92%}.tx-io-desc{max-width:65%}.tx-io-value{max-width:35%;text-align:right}}@media (min-width: 992px){.tx-io-label{max-width:11%}.tx-io-content{max-width:89%}.tx-io-desc{max-width:60%}.tx-io-value{max-width:40%;text-align:right}}@media (min-width: 1200px){.tx-io-label{max-width:11%}.tx-io-content{max-width:89%}.tx-io-desc{max-width:69%}.tx-io-value{max-width:31%;text-align:right}}@media (min-width: 1920px){.tx-io-label{max-width:7.5%}.tx-io-content{max-width:92.5%}.tx-io-desc{max-width:70%}.tx-io-value{max-width:30%;text-align:right}}.footer-link{color:#ddd;text-decoration:underline}.footer-link:hover{color:white}.hljs-type,.hljs-string,.hljs-selector-id,.hljs-selector-class,.hljs-quote,.hljs-template-tag,.hljs-deletion{color:#3aa54f}.hljs-literal,.hljs-number{color:#0dcaf0}/*! + * Bootstrap v5.0.0-beta3 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-primary: #0d6efd;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;--bs-gradient: linear-gradient(180deg, rgba(255,255,255,0.15), rgba(255,255,255,0))}*,*::before,*::after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-bs-original-title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:none}a:hover{color:#0a58ca;text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr /* rtl:ignore */;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role="button"]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button:not(:disabled),[type="button"]:not(:disabled),[type="reset"]:not(:disabled),[type="submit"]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type="search"]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.4rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x, .75rem);padding-left:var(--bs-gutter-x, .75rem);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container,.container-sm{max-width:540px}}@media (min-width: 768px){.container,.container-sm,.container-md{max-width:720px}}@media (min-width: 992px){.container,.container-sm,.container-md,.container-lg{max-width:960px}}@media (min-width: 1200px){.container,.container-sm,.container-md,.container-lg,.container-xl{max-width:1140px}}@media (min-width: 1400px){.container,.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x) / -2);margin-left:calc(var(--bs-gutter-x) / -2)}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) / 2);padding-left:calc(var(--bs-gutter-x) / 2);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.333333%}.col-2{flex:0 0 auto;width:16.666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.333333%}.col-5{flex:0 0 auto;width:41.666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.333333%}.col-8{flex:0 0 auto;width:66.666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.333333%}.col-11{flex:0 0 auto;width:91.666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 2rem}.g-5,.gy-5{--bs-gutter-y: 2rem}.g-6,.gx-6{--bs-gutter-x: 2.5rem}.g-6,.gy-6{--bs-gutter-y: 2.5rem}.g-7,.gx-7{--bs-gutter-x: 3rem}.g-7,.gy-7{--bs-gutter-y: 3rem}.g-tiny,.gx-tiny{--bs-gutter-x: .15rem}.g-tiny,.gy-tiny{--bs-gutter-y: .15rem}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.333333%}.col-sm-2{flex:0 0 auto;width:16.666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.333333%}.col-sm-5{flex:0 0 auto;width:41.666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.333333%}.col-sm-8{flex:0 0 auto;width:66.666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.333333%}.col-sm-11{flex:0 0 auto;width:91.666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 2rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 2rem}.g-sm-6,.gx-sm-6{--bs-gutter-x: 2.5rem}.g-sm-6,.gy-sm-6{--bs-gutter-y: 2.5rem}.g-sm-7,.gx-sm-7{--bs-gutter-x: 3rem}.g-sm-7,.gy-sm-7{--bs-gutter-y: 3rem}.g-sm-tiny,.gx-sm-tiny{--bs-gutter-x: .15rem}.g-sm-tiny,.gy-sm-tiny{--bs-gutter-y: .15rem}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.333333%}.col-md-2{flex:0 0 auto;width:16.666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.333333%}.col-md-5{flex:0 0 auto;width:41.666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.333333%}.col-md-8{flex:0 0 auto;width:66.666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.333333%}.col-md-11{flex:0 0 auto;width:91.666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 2rem}.g-md-5,.gy-md-5{--bs-gutter-y: 2rem}.g-md-6,.gx-md-6{--bs-gutter-x: 2.5rem}.g-md-6,.gy-md-6{--bs-gutter-y: 2.5rem}.g-md-7,.gx-md-7{--bs-gutter-x: 3rem}.g-md-7,.gy-md-7{--bs-gutter-y: 3rem}.g-md-tiny,.gx-md-tiny{--bs-gutter-x: .15rem}.g-md-tiny,.gy-md-tiny{--bs-gutter-y: .15rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.333333%}.col-lg-2{flex:0 0 auto;width:16.666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.333333%}.col-lg-5{flex:0 0 auto;width:41.666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.333333%}.col-lg-8{flex:0 0 auto;width:66.666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.333333%}.col-lg-11{flex:0 0 auto;width:91.666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 2rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 2rem}.g-lg-6,.gx-lg-6{--bs-gutter-x: 2.5rem}.g-lg-6,.gy-lg-6{--bs-gutter-y: 2.5rem}.g-lg-7,.gx-lg-7{--bs-gutter-x: 3rem}.g-lg-7,.gy-lg-7{--bs-gutter-y: 3rem}.g-lg-tiny,.gx-lg-tiny{--bs-gutter-x: .15rem}.g-lg-tiny,.gy-lg-tiny{--bs-gutter-y: .15rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.333333%}.col-xl-2{flex:0 0 auto;width:16.666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.333333%}.col-xl-5{flex:0 0 auto;width:41.666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.333333%}.col-xl-8{flex:0 0 auto;width:66.666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.333333%}.col-xl-11{flex:0 0 auto;width:91.666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 2rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 2rem}.g-xl-6,.gx-xl-6{--bs-gutter-x: 2.5rem}.g-xl-6,.gy-xl-6{--bs-gutter-y: 2.5rem}.g-xl-7,.gx-xl-7{--bs-gutter-x: 3rem}.g-xl-7,.gy-xl-7{--bs-gutter-y: 3rem}.g-xl-tiny,.gx-xl-tiny{--bs-gutter-x: .15rem}.g-xl-tiny,.gy-xl-tiny{--bs-gutter-y: .15rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.333333%}.col-xxl-2{flex:0 0 auto;width:16.666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.333333%}.col-xxl-5{flex:0 0 auto;width:41.666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.333333%}.col-xxl-8{flex:0 0 auto;width:66.666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.333333%}.col-xxl-11{flex:0 0 auto;width:91.666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.333333%}.offset-xxl-2{margin-left:16.666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.333333%}.offset-xxl-5{margin-left:41.666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.333333%}.offset-xxl-8{margin-left:66.666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.333333%}.offset-xxl-11{margin-left:91.666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 2rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 2rem}.g-xxl-6,.gx-xxl-6{--bs-gutter-x: 2.5rem}.g-xxl-6,.gy-xxl-6{--bs-gutter-y: 2.5rem}.g-xxl-7,.gx-xxl-7{--bs-gutter-x: 3rem}.g-xxl-7,.gy-xxl-7{--bs-gutter-y: 3rem}.g-xxl-tiny,.gx-xxl-tiny{--bs-gutter-x: .15rem}.g-xxl-tiny,.gy-xxl-tiny{--bs-gutter-y: .15rem}}.table{--bs-table-bg: rgba(0,0,0,0);--bs-table-striped-color: #212529;--bs-table-striped-bg: rgba(0,0,0,0.05);--bs-table-active-color: #212529;--bs-table-active-bg: rgba(0,0,0,0.1);--bs-table-hover-color: #212529;--bs-table-hover-bg: rgba(0,0,0,0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#e4e7eb}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg: var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg: var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover{--bs-table-accent-bg: var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg: #cfe2ff;--bs-table-striped-bg: #c5d7f2;--bs-table-striped-color: #000;--bs-table-active-bg: #bacbe6;--bs-table-active-color: #000;--bs-table-hover-bg: #bfd1ec;--bs-table-hover-color: #000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg: #e2e3e5;--bs-table-striped-bg: #d7d8da;--bs-table-striped-color: #000;--bs-table-active-bg: #cbccce;--bs-table-active-color: #000;--bs-table-hover-bg: #d1d2d4;--bs-table-hover-color: #000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg: #d1e7dd;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg: #cff4fc;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg: #fff3cd;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg: #f8d7da;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg: #f8f9fa;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg: #212529;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;appearance:none;border-radius:.4rem;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type="file"]{overflow:hidden}.form-control[type="file"]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::-webkit-file-upload-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{max-width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.4rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.4rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.4rem;appearance:none}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,0.25);appearance:none;color-adjust:exact}.form-check-input[type="checkbox"]{border-radius:.25em}.form-check-input[type="radio"]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type="checkbox"]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type="radio"]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type="checkbox"]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled] ~ .form-check-label,.form-check-input:disabled ~ .form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280,0,0,0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,0.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,0.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);padding:1rem .75rem}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity 0.1s ease-in-out,transform 0.1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus ~ label,.form-floating>.form-control:not(:placeholder-shown) ~ label,.form-floating>.form-select ~ label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:-webkit-autofill ~ label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.4rem}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.4rem .8rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,0.9);border-radius:.4rem}.was-validated :valid ~ .valid-feedback,.was-validated :valid ~ .valid-tooltip,.is-valid ~ .valid-feedback,.is-valid ~ .valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,0.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:#198754;padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,0.25)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:#198754}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:#198754}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,0.25)}.was-validated .form-check-input:valid ~ .form-check-label,.form-check-input.is-valid ~ .form-check-label{color:#198754}.form-check-inline .form-check-input ~ .valid-feedback{margin-left:.5em}.was-validated .input-group .form-control:valid,.input-group .form-control.is-valid,.was-validated .input-group .form-select:valid,.input-group .form-select.is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.4rem .8rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,0.9);border-radius:.4rem}.was-validated :invalid ~ .invalid-feedback,.was-validated :invalid ~ .invalid-tooltip,.is-invalid ~ .invalid-feedback,.is-invalid ~ .invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,0.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:#dc3545;padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,0.25)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:#dc3545}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:#dc3545}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,0.25)}.was-validated .form-check-input:invalid ~ .form-check-label,.form-check-input.is-invalid ~ .form-check-label{color:#dc3545}.form-check-inline .form-check-input ~ .invalid-feedback{margin-left:.5em}.was-validated .input-group .form-control:invalid,.input-group .form-control.is-invalid,.was-validated .input-group .form-select:invalid,.input-group .form-select.is-invalid{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;vertical-align:middle;cursor:pointer;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.4rem;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,0.5)}.btn-check:checked+.btn-primary,.btn-check:active+.btn-primary,.btn-primary:active,.btn-primary.active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:checked+.btn-primary:focus,.btn-check:active+.btn-primary:focus,.btn-primary:active:focus,.btn-primary.active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,0.5)}.btn-primary:disabled,.btn-primary.disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,0.5)}.btn-check:checked+.btn-secondary,.btn-check:active+.btn-secondary,.btn-secondary:active,.btn-secondary.active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:checked+.btn-secondary:focus,.btn-check:active+.btn-secondary:focus,.btn-secondary:active:focus,.btn-secondary.active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,0.5)}.btn-secondary:disabled,.btn-secondary.disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,0.5)}.btn-check:checked+.btn-success,.btn-check:active+.btn-success,.btn-success:active,.btn-success.active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:checked+.btn-success:focus,.btn-check:active+.btn-success:focus,.btn-success:active:focus,.btn-success.active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,0.5)}.btn-success:disabled,.btn-success.disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,0.5)}.btn-check:checked+.btn-info,.btn-check:active+.btn-info,.btn-info:active,.btn-info.active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:checked+.btn-info:focus,.btn-check:active+.btn-info:focus,.btn-info:active:focus,.btn-info.active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,0.5)}.btn-info:disabled,.btn-info.disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,0.5)}.btn-check:checked+.btn-warning,.btn-check:active+.btn-warning,.btn-warning:active,.btn-warning.active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:checked+.btn-warning:focus,.btn-check:active+.btn-warning:focus,.btn-warning:active:focus,.btn-warning.active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,0.5)}.btn-warning:disabled,.btn-warning.disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,0.5)}.btn-check:checked+.btn-danger,.btn-check:active+.btn-danger,.btn-danger:active,.btn-danger.active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:checked+.btn-danger:focus,.btn-check:active+.btn-danger:focus,.btn-danger:active:focus,.btn-danger.active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,0.5)}.btn-danger:disabled,.btn-danger.disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,0.5)}.btn-check:checked+.btn-light,.btn-check:active+.btn-light,.btn-light:active,.btn-light.active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:checked+.btn-light:focus,.btn-check:active+.btn-light:focus,.btn-light:active:focus,.btn-light.active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,0.5)}.btn-light:disabled,.btn-light.disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,0.5)}.btn-check:checked+.btn-dark,.btn-check:active+.btn-dark,.btn-dark:active,.btn-dark.active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:checked+.btn-dark:focus,.btn-check:active+.btn-dark:focus,.btn-dark:active:focus,.btn-dark.active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,0.5)}.btn-dark:disabled,.btn-dark.disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,0.5)}.btn-check:checked+.btn-outline-primary,.btn-check:active+.btn-outline-primary,.btn-outline-primary:active,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:checked+.btn-outline-primary:focus,.btn-check:active+.btn-outline-primary:focus,.btn-outline-primary:active:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,0.5)}.btn-outline-primary:disabled,.btn-outline-primary.disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,0.5)}.btn-check:checked+.btn-outline-secondary,.btn-check:active+.btn-outline-secondary,.btn-outline-secondary:active,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:checked+.btn-outline-secondary:focus,.btn-check:active+.btn-outline-secondary:focus,.btn-outline-secondary:active:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,0.5)}.btn-outline-secondary:disabled,.btn-outline-secondary.disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,0.5)}.btn-check:checked+.btn-outline-success,.btn-check:active+.btn-outline-success,.btn-outline-success:active,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show{color:#fff;background-color:#198754;border-color:#198754}.btn-check:checked+.btn-outline-success:focus,.btn-check:active+.btn-outline-success:focus,.btn-outline-success:active:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,0.5)}.btn-outline-success:disabled,.btn-outline-success.disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,0.5)}.btn-check:checked+.btn-outline-info,.btn-check:active+.btn-outline-info,.btn-outline-info:active,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:checked+.btn-outline-info:focus,.btn-check:active+.btn-outline-info:focus,.btn-outline-info:active:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,0.5)}.btn-outline-info:disabled,.btn-outline-info.disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,0.5)}.btn-check:checked+.btn-outline-warning,.btn-check:active+.btn-outline-warning,.btn-outline-warning:active,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:checked+.btn-outline-warning:focus,.btn-check:active+.btn-outline-warning:focus,.btn-outline-warning:active:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,0.5)}.btn-outline-warning:disabled,.btn-outline-warning.disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,0.5)}.btn-check:checked+.btn-outline-danger,.btn-check:active+.btn-outline-danger,.btn-outline-danger:active,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:checked+.btn-outline-danger:focus,.btn-check:active+.btn-outline-danger:focus,.btn-outline-danger:active:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,0.5)}.btn-outline-danger:disabled,.btn-outline-danger.disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,0.5)}.btn-check:checked+.btn-outline-light,.btn-check:active+.btn-outline-light,.btn-outline-light:active,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:checked+.btn-outline-light:focus,.btn-check:active+.btn-outline-light:focus,.btn-outline-light:active:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,0.5)}.btn-outline-light:disabled,.btn-outline-light.disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,0.5)}.btn-check:checked+.btn-outline-dark,.btn-check:active+.btn-outline-dark,.btn-outline-dark:active,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show{color:#fff;background-color:#212529;border-color:#212529}.btn-check:checked+.btn-outline-dark:focus,.btn-check:active+.btn-outline-dark:focus,.btn-outline-dark:active:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,0.5)}.btn-outline-dark:disabled,.btn-outline-dark.disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:none}.btn-link:hover{color:#0a58ca;text-decoration:underline}.btn-link:focus{text-decoration:underline}.btn-link:disabled,.btn-link.disabled{color:#6c757d}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.btn-sm,.btn-group-sm>.btn{padding:.2rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity 0.15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.dropup,.dropend,.dropdown,.dropstart{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.15);border-radius:.4rem}.dropdown-menu[data-bs-popper]{left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto /* rtl:ignore */;left:0 /* rtl:ignore */}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0 /* rtl:ignore */;left:auto /* rtl:ignore */}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu{top:0;right:auto;left:100%}.dropend .dropdown-menu[data-bs-popper]{margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu{top:0;right:100%;left:auto}.dropstart .dropdown-menu[data-bs-popper]{margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,0.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-item:focus{color:#1e2125;text-decoration:none;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,0.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:hover,.dropdown-menu-dark .dropdown-item:focus{color:#fff;background-color:rgba(255,255,255,0.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,0.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn ~ .btn,.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #adb5bd}.nav-tabs .nav-link{margin-bottom:-1px;background:none;border:1px solid transparent;border-top-left-radius:.4rem;border-top-right-radius:.4rem}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{border-color:#e9ecef #e9ecef #adb5bd;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#2c3237;background-color:#fff;border-color:#adb5bd #adb5bd #fff !important}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:none;border:0;border-radius:.4rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:1rem;padding-right:1rem;padding-bottom:1rem;padding-left:1rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.125rem;padding-bottom:.125rem;margin-right:1rem;font-size:calc(1.275rem + .3vw);white-space:nowrap}@media (min-width: 1200px){.navbar-brand{font-size:1.5rem}}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.4rem;transition:box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,0.9)}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:rgba(0,0,0,0.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,0.55)}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:rgba(0,0,0,0.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,0.3)}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .nav-link.active{color:rgba(0,0,0,0.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,0.55);border-color:rgba(0,0,0,0.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280,0,0,0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,0.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:rgba(0,0,0,0.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,0.55)}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:rgba(255,255,255,0.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,0.25)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .nav-link.active{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,0.55);border-color:rgba(255,255,255,0.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,0.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid #e4e7eb;border-radius:.4rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.4rem - 1px);border-top-right-radius:calc(.4rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.4rem - 1px);border-bottom-left-radius:calc(.4rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,0.03);border-bottom:1px solid #e4e7eb}.card-header:first-child{border-radius:calc(.4rem - 1px) calc(.4rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,0.03);border-top:1px solid #e4e7eb}.card-footer:last-child{border-radius:0 0 calc(.4rem - 1px) calc(.4rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.4rem - 1px)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.4rem - 1px);border-top-right-radius:calc(.4rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.4rem - 1px);border-bottom-left-radius:calc(.4rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform 0.2s ease-in-out}@media (prefers-reduced-motion: reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.accordion-header{margin-bottom:0}.accordion-item{margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,0.125)}.accordion-item:first-of-type{border-top-left-radius:.4rem;border-top-right-radius:.4rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.4rem - 1px);border-top-right-radius:calc(.4rem - 1px)}.accordion-item:last-of-type{margin-bottom:0;border-bottom-right-radius:.4rem;border-bottom-left-radius:.4rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.4rem - 1px);border-bottom-left-radius:calc(.4rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.4rem;border-bottom-left-radius:.4rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;background-color:#fff;border:1px solid #dee2e6;transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#0a58ca;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.4rem;border-bottom-left-radius:.4rem}.page-item:last-child .page-link{border-top-right-radius:.4rem;border-bottom-right-radius:.4rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.2rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.4rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#084298;background-color:#b6d4fe;border-color:#9ec5fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#d3d6d8;border-color:#c4c8cb}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#badbcc;border-color:#a3cfbb}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#b6effb;border-color:#9eeaf9}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#ffecb5;border-color:#ffe69c}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f5c2c7;border-color:#f1aeb5}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fdfdfe;border-color:#fcfdfd}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#141619;background-color:#bcbebf;border-color:#a6a8a9}.alert-dark .alert-link{color:#101214}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.4rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width 0.6s ease}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:1rem 1rem}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.4rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;background-color:#fff;border:1px solid rgba(0,0,0,0.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.4rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.4rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.4rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.4rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.4rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.4rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.4rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.4rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.4rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.4rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.4rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.4rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.4rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25);opacity:1}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,0.85);background-clip:padding-box;border:1px solid rgba(0,0,0,0.1);box-shadow:0 0.5rem 1rem rgba(0,0,0,0.15);border-radius:.4rem}.toast:not(.showing):not(.show){opacity:0}.toast.hide{display:none}.toast-container{width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,0.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,0.05);border-top-left-radius:calc(.4rem - 1px);border-top-right-radius:calc(.4rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1060;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform 0.3s ease-out;transform:translate(0, -50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.2);border-radius:.5rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #e4e7eb;border-top-left-radius:calc(.5rem - 1px);border-top-right-radius:calc(.5rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #e4e7eb;border-bottom-right-radius:calc(.5rem - 1px);border-bottom-left-radius:calc(.5rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width: 1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[data-popper-placement^="top"]{padding:.4rem 0}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow{bottom:0}.bs-tooltip-top .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-end,.bs-tooltip-auto[data-popper-placement^="right"]{padding:0 .4rem}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-end .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[data-popper-placement^="bottom"]{padding:.4rem 0}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow{top:0}.bs-tooltip-bottom .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-start,.bs-tooltip-auto[data-popper-placement^="left"]{padding:0 .4rem}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-start .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:350px;padding:.4rem .8rem;color:#fff;text-align:center;background-color:#000;border-radius:.4rem}.popover{position:absolute;top:0;left:0 /* rtl:ignore */;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.2);border-radius:.5rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,0.25)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,0.25)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,0.25)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,0.25)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid #d8d8d8;border-top-left-radius:calc(.5rem - 1px);border-top-right-radius:calc(.5rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity 0.15s ease}@media (prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity 0.6s ease}@media (prefers-reduced-motion: reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-prev-icon,.carousel-dark .carousel-control-next-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1040;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas-header{display:flex;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,0.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,0.2);transform:translateX(100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,0.2);transform:translateY(100%)}.offcanvas.show{transform:none}.offcanvas-backdrop::before{position:fixed;top:0;left:0;z-index:1039;width:100vw;height:100vh;content:"";background-color:rgba(0,0,0,0.5)}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:hover,.link-primary:focus{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:hover,.link-secondary:focus{color:#565e64}.link-success{color:#198754}.link-success:hover,.link-success:focus{color:#146c43}.link-info{color:#0dcaf0}.link-info:hover,.link-info:focus{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:hover,.link-warning:focus{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:hover,.link-danger:focus{color:#b02a37}.link-light{color:#f8f9fa}.link-light:hover,.link-light:focus{color:#f9fafb}.link-dark{color:#212529}.link-dark:hover,.link-dark:focus{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio: calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio: calc(9 / 21 * 100%)}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.float-start{float:left !important}.float-end{float:right !important}.float-none{float:none !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.overflow-visible{overflow:visible !important}.overflow-scroll{overflow:scroll !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-grid{display:grid !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}.d-none{display:none !important}.shadow{box-shadow:0 0.5rem 1rem rgba(0,0,0,0.15) !important}.shadow-sm{box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.075) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,0.175) !important}.shadow-none{box-shadow:none !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:1px solid #e4e7eb !important}.border-0{border:0 !important}.border-top{border-top:1px solid #e4e7eb !important}.border-top-0{border-top:0 !important}.border-end{border-right:1px solid #e4e7eb !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:1px solid #e4e7eb !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:1px solid #e4e7eb !important}.border-start-0{border-left:0 !important}.border-primary{border-color:#0d6efd !important}.border-secondary{border-color:#6c757d !important}.border-success{border-color:#198754 !important}.border-info{border-color:#0dcaf0 !important}.border-warning{border-color:#ffc107 !important}.border-danger{border-color:#dc3545 !important}.border-light{border-color:#f8f9fa !important}.border-dark{border-color:#212529 !important}.border-white{border-color:#fff !important}.border-1{border-width:1px !important}.border-2{border-width:2px !important}.border-3{border-width:3px !important}.border-4{border-width:4px !important}.border-5{border-width:5px !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:2rem !important}.gap-6{gap:2.5rem !important}.gap-7{gap:3rem !important}.gap-tiny{gap:.15rem !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.5rem !important}.m-3{margin:1rem !important}.m-4{margin:1.5rem !important}.m-5{margin:2rem !important}.m-6{margin:2.5rem !important}.m-7{margin:3rem !important}.m-tiny{margin:.15rem !important}.m-auto{margin:auto !important}.mx-0{margin-right:0 !important;margin-left:0 !important}.mx-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-3{margin-right:1rem !important;margin-left:1rem !important}.mx-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-5{margin-right:2rem !important;margin-left:2rem !important}.mx-6{margin-right:2.5rem !important;margin-left:2.5rem !important}.mx-7{margin-right:3rem !important;margin-left:3rem !important}.mx-tiny{margin-right:.15rem !important;margin-left:.15rem !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.my-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-5{margin-top:2rem !important;margin-bottom:2rem !important}.my-6{margin-top:2.5rem !important;margin-bottom:2.5rem !important}.my-7{margin-top:3rem !important;margin-bottom:3rem !important}.my-tiny{margin-top:.15rem !important;margin-bottom:.15rem !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-0{margin-top:0 !important}.mt-1{margin-top:.25rem !important}.mt-2{margin-top:.5rem !important}.mt-3{margin-top:1rem !important}.mt-4{margin-top:1.5rem !important}.mt-5{margin-top:2rem !important}.mt-6{margin-top:2.5rem !important}.mt-7{margin-top:3rem !important}.mt-tiny{margin-top:.15rem !important}.mt-auto{margin-top:auto !important}.me-0{margin-right:0 !important}.me-1{margin-right:.25rem !important}.me-2{margin-right:.5rem !important}.me-3{margin-right:1rem !important}.me-4{margin-right:1.5rem !important}.me-5{margin-right:2rem !important}.me-6{margin-right:2.5rem !important}.me-7{margin-right:3rem !important}.me-tiny{margin-right:.15rem !important}.me-auto{margin-right:auto !important}.mb-0{margin-bottom:0 !important}.mb-1{margin-bottom:.25rem !important}.mb-2{margin-bottom:.5rem !important}.mb-3{margin-bottom:1rem !important}.mb-4{margin-bottom:1.5rem !important}.mb-5{margin-bottom:2rem !important}.mb-6{margin-bottom:2.5rem !important}.mb-7{margin-bottom:3rem !important}.mb-tiny{margin-bottom:.15rem !important}.mb-auto{margin-bottom:auto !important}.ms-0{margin-left:0 !important}.ms-1{margin-left:.25rem !important}.ms-2{margin-left:.5rem !important}.ms-3{margin-left:1rem !important}.ms-4{margin-left:1.5rem !important}.ms-5{margin-left:2rem !important}.ms-6{margin-left:2.5rem !important}.ms-7{margin-left:3rem !important}.ms-tiny{margin-left:.15rem !important}.ms-auto{margin-left:auto !important}.m-n1{margin:-.25rem !important}.m-n2{margin:-.5rem !important}.m-n3{margin:-1rem !important}.m-n4{margin:-1.5rem !important}.m-n5{margin:-2rem !important}.m-n6{margin:-2.5rem !important}.m-n7{margin:-3rem !important}.m-ntiny{margin:-.15rem !important}.mx-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-n5{margin-right:-2rem !important;margin-left:-2rem !important}.mx-n6{margin-right:-2.5rem !important;margin-left:-2.5rem !important}.mx-n7{margin-right:-3rem !important;margin-left:-3rem !important}.mx-ntiny{margin-right:-.15rem !important;margin-left:-.15rem !important}.my-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-n5{margin-top:-2rem !important;margin-bottom:-2rem !important}.my-n6{margin-top:-2.5rem !important;margin-bottom:-2.5rem !important}.my-n7{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-ntiny{margin-top:-.15rem !important;margin-bottom:-.15rem !important}.mt-n1{margin-top:-.25rem !important}.mt-n2{margin-top:-.5rem !important}.mt-n3{margin-top:-1rem !important}.mt-n4{margin-top:-1.5rem !important}.mt-n5{margin-top:-2rem !important}.mt-n6{margin-top:-2.5rem !important}.mt-n7{margin-top:-3rem !important}.mt-ntiny{margin-top:-.15rem !important}.me-n1{margin-right:-.25rem !important}.me-n2{margin-right:-.5rem !important}.me-n3{margin-right:-1rem !important}.me-n4{margin-right:-1.5rem !important}.me-n5{margin-right:-2rem !important}.me-n6{margin-right:-2.5rem !important}.me-n7{margin-right:-3rem !important}.me-ntiny{margin-right:-.15rem !important}.mb-n1{margin-bottom:-.25rem !important}.mb-n2{margin-bottom:-.5rem !important}.mb-n3{margin-bottom:-1rem !important}.mb-n4{margin-bottom:-1.5rem !important}.mb-n5{margin-bottom:-2rem !important}.mb-n6{margin-bottom:-2.5rem !important}.mb-n7{margin-bottom:-3rem !important}.mb-ntiny{margin-bottom:-.15rem !important}.ms-n1{margin-left:-.25rem !important}.ms-n2{margin-left:-.5rem !important}.ms-n3{margin-left:-1rem !important}.ms-n4{margin-left:-1.5rem !important}.ms-n5{margin-left:-2rem !important}.ms-n6{margin-left:-2.5rem !important}.ms-n7{margin-left:-3rem !important}.ms-ntiny{margin-left:-.15rem !important}.p-0{padding:0 !important}.p-1{padding:.25rem !important}.p-2{padding:.5rem !important}.p-3{padding:1rem !important}.p-4{padding:1.5rem !important}.p-5{padding:2rem !important}.p-6{padding:2.5rem !important}.p-7{padding:3rem !important}.p-tiny{padding:.15rem !important}.px-0{padding-right:0 !important;padding-left:0 !important}.px-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-3{padding-right:1rem !important;padding-left:1rem !important}.px-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-5{padding-right:2rem !important;padding-left:2rem !important}.px-6{padding-right:2.5rem !important;padding-left:2.5rem !important}.px-7{padding-right:3rem !important;padding-left:3rem !important}.px-tiny{padding-right:.15rem !important;padding-left:.15rem !important}.py-0{padding-top:0 !important;padding-bottom:0 !important}.py-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-5{padding-top:2rem !important;padding-bottom:2rem !important}.py-6{padding-top:2.5rem !important;padding-bottom:2.5rem !important}.py-7{padding-top:3rem !important;padding-bottom:3rem !important}.py-tiny{padding-top:.15rem !important;padding-bottom:.15rem !important}.pt-0{padding-top:0 !important}.pt-1{padding-top:.25rem !important}.pt-2{padding-top:.5rem !important}.pt-3{padding-top:1rem !important}.pt-4{padding-top:1.5rem !important}.pt-5{padding-top:2rem !important}.pt-6{padding-top:2.5rem !important}.pt-7{padding-top:3rem !important}.pt-tiny{padding-top:.15rem !important}.pe-0{padding-right:0 !important}.pe-1{padding-right:.25rem !important}.pe-2{padding-right:.5rem !important}.pe-3{padding-right:1rem !important}.pe-4{padding-right:1.5rem !important}.pe-5{padding-right:2rem !important}.pe-6{padding-right:2.5rem !important}.pe-7{padding-right:3rem !important}.pe-tiny{padding-right:.15rem !important}.pb-0{padding-bottom:0 !important}.pb-1{padding-bottom:.25rem !important}.pb-2{padding-bottom:.5rem !important}.pb-3{padding-bottom:1rem !important}.pb-4{padding-bottom:1.5rem !important}.pb-5{padding-bottom:2rem !important}.pb-6{padding-bottom:2.5rem !important}.pb-7{padding-bottom:3rem !important}.pb-tiny{padding-bottom:.15rem !important}.ps-0{padding-left:0 !important}.ps-1{padding-left:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:2rem !important}.ps-6{padding-left:2.5rem !important}.ps-7{padding-left:3rem !important}.ps-tiny{padding-left:.15rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.375rem + 1.5vw) !important}.fs-2{font-size:calc(1.325rem + .9vw) !important}.fs-3{font-size:calc(1.3rem + .6vw) !important}.fs-4{font-size:calc(1.275rem + .3vw) !important}.fs-5{font-size:1.25rem !important}.fs-6{font-size:1rem !important}.fst-italic{font-style:italic !important}.fst-normal{font-style:normal !important}.fw-light{font-weight:300 !important}.fw-lighter{font-weight:lighter !important}.fw-normal{font-weight:400 !important}.fw-bold{font-weight:700 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-primary{color:#0d6efd !important}.text-secondary{color:#6c757d !important}.text-success{color:#198754 !important}.text-info{color:#0dcaf0 !important}.text-warning{color:#ffc107 !important}.text-danger{color:#dc3545 !important}.text-light{color:#f8f9fa !important}.text-dark{color:#212529 !important}.text-white{color:#fff !important}.text-body{color:#212529 !important}.text-muted{color:#6c757d !important}.text-black-50{color:rgba(0,0,0,0.5) !important}.text-white-50{color:rgba(255,255,255,0.5) !important}.text-reset{color:inherit !important}.bg-primary{background-color:#0d6efd !important}.bg-secondary{background-color:#6c757d !important}.bg-success{background-color:#198754 !important}.bg-info{background-color:#0dcaf0 !important}.bg-warning{background-color:#ffc107 !important}.bg-danger{background-color:#dc3545 !important}.bg-light{background-color:#f8f9fa !important}.bg-dark{background-color:#212529 !important}.bg-body{background-color:#fff !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:rgba(0,0,0,0) !important}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:.4rem !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:.2rem !important}.rounded-2{border-radius:.4rem !important}.rounded-3{border-radius:.5rem !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-top{border-top-left-radius:.4rem !important;border-top-right-radius:.4rem !important}.rounded-end{border-top-right-radius:.4rem !important;border-bottom-right-radius:.4rem !important}.rounded-bottom{border-bottom-right-radius:.4rem !important;border-bottom-left-radius:.4rem !important}.rounded-start{border-bottom-left-radius:.4rem !important;border-top-left-radius:.4rem !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media (min-width: 576px){.float-sm-start{float:left !important}.float-sm-end{float:right !important}.float-sm-none{float:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-grid{display:grid !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}.d-sm-none{display:none !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:2rem !important}.gap-sm-6{gap:2.5rem !important}.gap-sm-7{gap:3rem !important}.gap-sm-tiny{gap:.15rem !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.justify-content-sm-evenly{justify-content:space-evenly !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}.order-sm-first{order:-1 !important}.order-sm-0{order:0 !important}.order-sm-1{order:1 !important}.order-sm-2{order:2 !important}.order-sm-3{order:3 !important}.order-sm-4{order:4 !important}.order-sm-5{order:5 !important}.order-sm-last{order:6 !important}.m-sm-0{margin:0 !important}.m-sm-1{margin:.25rem !important}.m-sm-2{margin:.5rem !important}.m-sm-3{margin:1rem !important}.m-sm-4{margin:1.5rem !important}.m-sm-5{margin:2rem !important}.m-sm-6{margin:2.5rem !important}.m-sm-7{margin:3rem !important}.m-sm-tiny{margin:.15rem !important}.m-sm-auto{margin:auto !important}.mx-sm-0{margin-right:0 !important;margin-left:0 !important}.mx-sm-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-sm-3{margin-right:1rem !important;margin-left:1rem !important}.mx-sm-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-sm-5{margin-right:2rem !important;margin-left:2rem !important}.mx-sm-6{margin-right:2.5rem !important;margin-left:2.5rem !important}.mx-sm-7{margin-right:3rem !important;margin-left:3rem !important}.mx-sm-tiny{margin-right:.15rem !important;margin-left:.15rem !important}.mx-sm-auto{margin-right:auto !important;margin-left:auto !important}.my-sm-0{margin-top:0 !important;margin-bottom:0 !important}.my-sm-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-sm-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-sm-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-sm-5{margin-top:2rem !important;margin-bottom:2rem !important}.my-sm-6{margin-top:2.5rem !important;margin-bottom:2.5rem !important}.my-sm-7{margin-top:3rem !important;margin-bottom:3rem !important}.my-sm-tiny{margin-top:.15rem !important;margin-bottom:.15rem !important}.my-sm-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-sm-0{margin-top:0 !important}.mt-sm-1{margin-top:.25rem !important}.mt-sm-2{margin-top:.5rem !important}.mt-sm-3{margin-top:1rem !important}.mt-sm-4{margin-top:1.5rem !important}.mt-sm-5{margin-top:2rem !important}.mt-sm-6{margin-top:2.5rem !important}.mt-sm-7{margin-top:3rem !important}.mt-sm-tiny{margin-top:.15rem !important}.mt-sm-auto{margin-top:auto !important}.me-sm-0{margin-right:0 !important}.me-sm-1{margin-right:.25rem !important}.me-sm-2{margin-right:.5rem !important}.me-sm-3{margin-right:1rem !important}.me-sm-4{margin-right:1.5rem !important}.me-sm-5{margin-right:2rem !important}.me-sm-6{margin-right:2.5rem !important}.me-sm-7{margin-right:3rem !important}.me-sm-tiny{margin-right:.15rem !important}.me-sm-auto{margin-right:auto !important}.mb-sm-0{margin-bottom:0 !important}.mb-sm-1{margin-bottom:.25rem !important}.mb-sm-2{margin-bottom:.5rem !important}.mb-sm-3{margin-bottom:1rem !important}.mb-sm-4{margin-bottom:1.5rem !important}.mb-sm-5{margin-bottom:2rem !important}.mb-sm-6{margin-bottom:2.5rem !important}.mb-sm-7{margin-bottom:3rem !important}.mb-sm-tiny{margin-bottom:.15rem !important}.mb-sm-auto{margin-bottom:auto !important}.ms-sm-0{margin-left:0 !important}.ms-sm-1{margin-left:.25rem !important}.ms-sm-2{margin-left:.5rem !important}.ms-sm-3{margin-left:1rem !important}.ms-sm-4{margin-left:1.5rem !important}.ms-sm-5{margin-left:2rem !important}.ms-sm-6{margin-left:2.5rem !important}.ms-sm-7{margin-left:3rem !important}.ms-sm-tiny{margin-left:.15rem !important}.ms-sm-auto{margin-left:auto !important}.m-sm-n1{margin:-.25rem !important}.m-sm-n2{margin:-.5rem !important}.m-sm-n3{margin:-1rem !important}.m-sm-n4{margin:-1.5rem !important}.m-sm-n5{margin:-2rem !important}.m-sm-n6{margin:-2.5rem !important}.m-sm-n7{margin:-3rem !important}.m-sm-ntiny{margin:-.15rem !important}.mx-sm-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-sm-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-sm-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-sm-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-sm-n5{margin-right:-2rem !important;margin-left:-2rem !important}.mx-sm-n6{margin-right:-2.5rem !important;margin-left:-2.5rem !important}.mx-sm-n7{margin-right:-3rem !important;margin-left:-3rem !important}.mx-sm-ntiny{margin-right:-.15rem !important;margin-left:-.15rem !important}.my-sm-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-sm-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-sm-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-sm-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-sm-n5{margin-top:-2rem !important;margin-bottom:-2rem !important}.my-sm-n6{margin-top:-2.5rem !important;margin-bottom:-2.5rem !important}.my-sm-n7{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-sm-ntiny{margin-top:-.15rem !important;margin-bottom:-.15rem !important}.mt-sm-n1{margin-top:-.25rem !important}.mt-sm-n2{margin-top:-.5rem !important}.mt-sm-n3{margin-top:-1rem !important}.mt-sm-n4{margin-top:-1.5rem !important}.mt-sm-n5{margin-top:-2rem !important}.mt-sm-n6{margin-top:-2.5rem !important}.mt-sm-n7{margin-top:-3rem !important}.mt-sm-ntiny{margin-top:-.15rem !important}.me-sm-n1{margin-right:-.25rem !important}.me-sm-n2{margin-right:-.5rem !important}.me-sm-n3{margin-right:-1rem !important}.me-sm-n4{margin-right:-1.5rem !important}.me-sm-n5{margin-right:-2rem !important}.me-sm-n6{margin-right:-2.5rem !important}.me-sm-n7{margin-right:-3rem !important}.me-sm-ntiny{margin-right:-.15rem !important}.mb-sm-n1{margin-bottom:-.25rem !important}.mb-sm-n2{margin-bottom:-.5rem !important}.mb-sm-n3{margin-bottom:-1rem !important}.mb-sm-n4{margin-bottom:-1.5rem !important}.mb-sm-n5{margin-bottom:-2rem !important}.mb-sm-n6{margin-bottom:-2.5rem !important}.mb-sm-n7{margin-bottom:-3rem !important}.mb-sm-ntiny{margin-bottom:-.15rem !important}.ms-sm-n1{margin-left:-.25rem !important}.ms-sm-n2{margin-left:-.5rem !important}.ms-sm-n3{margin-left:-1rem !important}.ms-sm-n4{margin-left:-1.5rem !important}.ms-sm-n5{margin-left:-2rem !important}.ms-sm-n6{margin-left:-2.5rem !important}.ms-sm-n7{margin-left:-3rem !important}.ms-sm-ntiny{margin-left:-.15rem !important}.p-sm-0{padding:0 !important}.p-sm-1{padding:.25rem !important}.p-sm-2{padding:.5rem !important}.p-sm-3{padding:1rem !important}.p-sm-4{padding:1.5rem !important}.p-sm-5{padding:2rem !important}.p-sm-6{padding:2.5rem !important}.p-sm-7{padding:3rem !important}.p-sm-tiny{padding:.15rem !important}.px-sm-0{padding-right:0 !important;padding-left:0 !important}.px-sm-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-sm-3{padding-right:1rem !important;padding-left:1rem !important}.px-sm-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-sm-5{padding-right:2rem !important;padding-left:2rem !important}.px-sm-6{padding-right:2.5rem !important;padding-left:2.5rem !important}.px-sm-7{padding-right:3rem !important;padding-left:3rem !important}.px-sm-tiny{padding-right:.15rem !important;padding-left:.15rem !important}.py-sm-0{padding-top:0 !important;padding-bottom:0 !important}.py-sm-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-sm-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-sm-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-sm-5{padding-top:2rem !important;padding-bottom:2rem !important}.py-sm-6{padding-top:2.5rem !important;padding-bottom:2.5rem !important}.py-sm-7{padding-top:3rem !important;padding-bottom:3rem !important}.py-sm-tiny{padding-top:.15rem !important;padding-bottom:.15rem !important}.pt-sm-0{padding-top:0 !important}.pt-sm-1{padding-top:.25rem !important}.pt-sm-2{padding-top:.5rem !important}.pt-sm-3{padding-top:1rem !important}.pt-sm-4{padding-top:1.5rem !important}.pt-sm-5{padding-top:2rem !important}.pt-sm-6{padding-top:2.5rem !important}.pt-sm-7{padding-top:3rem !important}.pt-sm-tiny{padding-top:.15rem !important}.pe-sm-0{padding-right:0 !important}.pe-sm-1{padding-right:.25rem !important}.pe-sm-2{padding-right:.5rem !important}.pe-sm-3{padding-right:1rem !important}.pe-sm-4{padding-right:1.5rem !important}.pe-sm-5{padding-right:2rem !important}.pe-sm-6{padding-right:2.5rem !important}.pe-sm-7{padding-right:3rem !important}.pe-sm-tiny{padding-right:.15rem !important}.pb-sm-0{padding-bottom:0 !important}.pb-sm-1{padding-bottom:.25rem !important}.pb-sm-2{padding-bottom:.5rem !important}.pb-sm-3{padding-bottom:1rem !important}.pb-sm-4{padding-bottom:1.5rem !important}.pb-sm-5{padding-bottom:2rem !important}.pb-sm-6{padding-bottom:2.5rem !important}.pb-sm-7{padding-bottom:3rem !important}.pb-sm-tiny{padding-bottom:.15rem !important}.ps-sm-0{padding-left:0 !important}.ps-sm-1{padding-left:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:2rem !important}.ps-sm-6{padding-left:2.5rem !important}.ps-sm-7{padding-left:3rem !important}.ps-sm-tiny{padding-left:.15rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media (min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-grid{display:grid !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}.d-md-none{display:none !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:2rem !important}.gap-md-6{gap:2.5rem !important}.gap-md-7{gap:3rem !important}.gap-md-tiny{gap:.15rem !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.justify-content-md-evenly{justify-content:space-evenly !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}.order-md-first{order:-1 !important}.order-md-0{order:0 !important}.order-md-1{order:1 !important}.order-md-2{order:2 !important}.order-md-3{order:3 !important}.order-md-4{order:4 !important}.order-md-5{order:5 !important}.order-md-last{order:6 !important}.m-md-0{margin:0 !important}.m-md-1{margin:.25rem !important}.m-md-2{margin:.5rem !important}.m-md-3{margin:1rem !important}.m-md-4{margin:1.5rem !important}.m-md-5{margin:2rem !important}.m-md-6{margin:2.5rem !important}.m-md-7{margin:3rem !important}.m-md-tiny{margin:.15rem !important}.m-md-auto{margin:auto !important}.mx-md-0{margin-right:0 !important;margin-left:0 !important}.mx-md-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-md-3{margin-right:1rem !important;margin-left:1rem !important}.mx-md-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-md-5{margin-right:2rem !important;margin-left:2rem !important}.mx-md-6{margin-right:2.5rem !important;margin-left:2.5rem !important}.mx-md-7{margin-right:3rem !important;margin-left:3rem !important}.mx-md-tiny{margin-right:.15rem !important;margin-left:.15rem !important}.mx-md-auto{margin-right:auto !important;margin-left:auto !important}.my-md-0{margin-top:0 !important;margin-bottom:0 !important}.my-md-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-md-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-md-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-md-5{margin-top:2rem !important;margin-bottom:2rem !important}.my-md-6{margin-top:2.5rem !important;margin-bottom:2.5rem !important}.my-md-7{margin-top:3rem !important;margin-bottom:3rem !important}.my-md-tiny{margin-top:.15rem !important;margin-bottom:.15rem !important}.my-md-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-md-0{margin-top:0 !important}.mt-md-1{margin-top:.25rem !important}.mt-md-2{margin-top:.5rem !important}.mt-md-3{margin-top:1rem !important}.mt-md-4{margin-top:1.5rem !important}.mt-md-5{margin-top:2rem !important}.mt-md-6{margin-top:2.5rem !important}.mt-md-7{margin-top:3rem !important}.mt-md-tiny{margin-top:.15rem !important}.mt-md-auto{margin-top:auto !important}.me-md-0{margin-right:0 !important}.me-md-1{margin-right:.25rem !important}.me-md-2{margin-right:.5rem !important}.me-md-3{margin-right:1rem !important}.me-md-4{margin-right:1.5rem !important}.me-md-5{margin-right:2rem !important}.me-md-6{margin-right:2.5rem !important}.me-md-7{margin-right:3rem !important}.me-md-tiny{margin-right:.15rem !important}.me-md-auto{margin-right:auto !important}.mb-md-0{margin-bottom:0 !important}.mb-md-1{margin-bottom:.25rem !important}.mb-md-2{margin-bottom:.5rem !important}.mb-md-3{margin-bottom:1rem !important}.mb-md-4{margin-bottom:1.5rem !important}.mb-md-5{margin-bottom:2rem !important}.mb-md-6{margin-bottom:2.5rem !important}.mb-md-7{margin-bottom:3rem !important}.mb-md-tiny{margin-bottom:.15rem !important}.mb-md-auto{margin-bottom:auto !important}.ms-md-0{margin-left:0 !important}.ms-md-1{margin-left:.25rem !important}.ms-md-2{margin-left:.5rem !important}.ms-md-3{margin-left:1rem !important}.ms-md-4{margin-left:1.5rem !important}.ms-md-5{margin-left:2rem !important}.ms-md-6{margin-left:2.5rem !important}.ms-md-7{margin-left:3rem !important}.ms-md-tiny{margin-left:.15rem !important}.ms-md-auto{margin-left:auto !important}.m-md-n1{margin:-.25rem !important}.m-md-n2{margin:-.5rem !important}.m-md-n3{margin:-1rem !important}.m-md-n4{margin:-1.5rem !important}.m-md-n5{margin:-2rem !important}.m-md-n6{margin:-2.5rem !important}.m-md-n7{margin:-3rem !important}.m-md-ntiny{margin:-.15rem !important}.mx-md-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-md-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-md-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-md-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-md-n5{margin-right:-2rem !important;margin-left:-2rem !important}.mx-md-n6{margin-right:-2.5rem !important;margin-left:-2.5rem !important}.mx-md-n7{margin-right:-3rem !important;margin-left:-3rem !important}.mx-md-ntiny{margin-right:-.15rem !important;margin-left:-.15rem !important}.my-md-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-md-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-md-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-md-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-md-n5{margin-top:-2rem !important;margin-bottom:-2rem !important}.my-md-n6{margin-top:-2.5rem !important;margin-bottom:-2.5rem !important}.my-md-n7{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-md-ntiny{margin-top:-.15rem !important;margin-bottom:-.15rem !important}.mt-md-n1{margin-top:-.25rem !important}.mt-md-n2{margin-top:-.5rem !important}.mt-md-n3{margin-top:-1rem !important}.mt-md-n4{margin-top:-1.5rem !important}.mt-md-n5{margin-top:-2rem !important}.mt-md-n6{margin-top:-2.5rem !important}.mt-md-n7{margin-top:-3rem !important}.mt-md-ntiny{margin-top:-.15rem !important}.me-md-n1{margin-right:-.25rem !important}.me-md-n2{margin-right:-.5rem !important}.me-md-n3{margin-right:-1rem !important}.me-md-n4{margin-right:-1.5rem !important}.me-md-n5{margin-right:-2rem !important}.me-md-n6{margin-right:-2.5rem !important}.me-md-n7{margin-right:-3rem !important}.me-md-ntiny{margin-right:-.15rem !important}.mb-md-n1{margin-bottom:-.25rem !important}.mb-md-n2{margin-bottom:-.5rem !important}.mb-md-n3{margin-bottom:-1rem !important}.mb-md-n4{margin-bottom:-1.5rem !important}.mb-md-n5{margin-bottom:-2rem !important}.mb-md-n6{margin-bottom:-2.5rem !important}.mb-md-n7{margin-bottom:-3rem !important}.mb-md-ntiny{margin-bottom:-.15rem !important}.ms-md-n1{margin-left:-.25rem !important}.ms-md-n2{margin-left:-.5rem !important}.ms-md-n3{margin-left:-1rem !important}.ms-md-n4{margin-left:-1.5rem !important}.ms-md-n5{margin-left:-2rem !important}.ms-md-n6{margin-left:-2.5rem !important}.ms-md-n7{margin-left:-3rem !important}.ms-md-ntiny{margin-left:-.15rem !important}.p-md-0{padding:0 !important}.p-md-1{padding:.25rem !important}.p-md-2{padding:.5rem !important}.p-md-3{padding:1rem !important}.p-md-4{padding:1.5rem !important}.p-md-5{padding:2rem !important}.p-md-6{padding:2.5rem !important}.p-md-7{padding:3rem !important}.p-md-tiny{padding:.15rem !important}.px-md-0{padding-right:0 !important;padding-left:0 !important}.px-md-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-md-3{padding-right:1rem !important;padding-left:1rem !important}.px-md-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-md-5{padding-right:2rem !important;padding-left:2rem !important}.px-md-6{padding-right:2.5rem !important;padding-left:2.5rem !important}.px-md-7{padding-right:3rem !important;padding-left:3rem !important}.px-md-tiny{padding-right:.15rem !important;padding-left:.15rem !important}.py-md-0{padding-top:0 !important;padding-bottom:0 !important}.py-md-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-md-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-md-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-md-5{padding-top:2rem !important;padding-bottom:2rem !important}.py-md-6{padding-top:2.5rem !important;padding-bottom:2.5rem !important}.py-md-7{padding-top:3rem !important;padding-bottom:3rem !important}.py-md-tiny{padding-top:.15rem !important;padding-bottom:.15rem !important}.pt-md-0{padding-top:0 !important}.pt-md-1{padding-top:.25rem !important}.pt-md-2{padding-top:.5rem !important}.pt-md-3{padding-top:1rem !important}.pt-md-4{padding-top:1.5rem !important}.pt-md-5{padding-top:2rem !important}.pt-md-6{padding-top:2.5rem !important}.pt-md-7{padding-top:3rem !important}.pt-md-tiny{padding-top:.15rem !important}.pe-md-0{padding-right:0 !important}.pe-md-1{padding-right:.25rem !important}.pe-md-2{padding-right:.5rem !important}.pe-md-3{padding-right:1rem !important}.pe-md-4{padding-right:1.5rem !important}.pe-md-5{padding-right:2rem !important}.pe-md-6{padding-right:2.5rem !important}.pe-md-7{padding-right:3rem !important}.pe-md-tiny{padding-right:.15rem !important}.pb-md-0{padding-bottom:0 !important}.pb-md-1{padding-bottom:.25rem !important}.pb-md-2{padding-bottom:.5rem !important}.pb-md-3{padding-bottom:1rem !important}.pb-md-4{padding-bottom:1.5rem !important}.pb-md-5{padding-bottom:2rem !important}.pb-md-6{padding-bottom:2.5rem !important}.pb-md-7{padding-bottom:3rem !important}.pb-md-tiny{padding-bottom:.15rem !important}.ps-md-0{padding-left:0 !important}.ps-md-1{padding-left:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:2rem !important}.ps-md-6{padding-left:2.5rem !important}.ps-md-7{padding-left:3rem !important}.ps-md-tiny{padding-left:.15rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media (min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-grid{display:grid !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}.d-lg-none{display:none !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:2rem !important}.gap-lg-6{gap:2.5rem !important}.gap-lg-7{gap:3rem !important}.gap-lg-tiny{gap:.15rem !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.justify-content-lg-evenly{justify-content:space-evenly !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}.order-lg-first{order:-1 !important}.order-lg-0{order:0 !important}.order-lg-1{order:1 !important}.order-lg-2{order:2 !important}.order-lg-3{order:3 !important}.order-lg-4{order:4 !important}.order-lg-5{order:5 !important}.order-lg-last{order:6 !important}.m-lg-0{margin:0 !important}.m-lg-1{margin:.25rem !important}.m-lg-2{margin:.5rem !important}.m-lg-3{margin:1rem !important}.m-lg-4{margin:1.5rem !important}.m-lg-5{margin:2rem !important}.m-lg-6{margin:2.5rem !important}.m-lg-7{margin:3rem !important}.m-lg-tiny{margin:.15rem !important}.m-lg-auto{margin:auto !important}.mx-lg-0{margin-right:0 !important;margin-left:0 !important}.mx-lg-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-lg-3{margin-right:1rem !important;margin-left:1rem !important}.mx-lg-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-lg-5{margin-right:2rem !important;margin-left:2rem !important}.mx-lg-6{margin-right:2.5rem !important;margin-left:2.5rem !important}.mx-lg-7{margin-right:3rem !important;margin-left:3rem !important}.mx-lg-tiny{margin-right:.15rem !important;margin-left:.15rem !important}.mx-lg-auto{margin-right:auto !important;margin-left:auto !important}.my-lg-0{margin-top:0 !important;margin-bottom:0 !important}.my-lg-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-lg-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-lg-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-lg-5{margin-top:2rem !important;margin-bottom:2rem !important}.my-lg-6{margin-top:2.5rem !important;margin-bottom:2.5rem !important}.my-lg-7{margin-top:3rem !important;margin-bottom:3rem !important}.my-lg-tiny{margin-top:.15rem !important;margin-bottom:.15rem !important}.my-lg-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-lg-0{margin-top:0 !important}.mt-lg-1{margin-top:.25rem !important}.mt-lg-2{margin-top:.5rem !important}.mt-lg-3{margin-top:1rem !important}.mt-lg-4{margin-top:1.5rem !important}.mt-lg-5{margin-top:2rem !important}.mt-lg-6{margin-top:2.5rem !important}.mt-lg-7{margin-top:3rem !important}.mt-lg-tiny{margin-top:.15rem !important}.mt-lg-auto{margin-top:auto !important}.me-lg-0{margin-right:0 !important}.me-lg-1{margin-right:.25rem !important}.me-lg-2{margin-right:.5rem !important}.me-lg-3{margin-right:1rem !important}.me-lg-4{margin-right:1.5rem !important}.me-lg-5{margin-right:2rem !important}.me-lg-6{margin-right:2.5rem !important}.me-lg-7{margin-right:3rem !important}.me-lg-tiny{margin-right:.15rem !important}.me-lg-auto{margin-right:auto !important}.mb-lg-0{margin-bottom:0 !important}.mb-lg-1{margin-bottom:.25rem !important}.mb-lg-2{margin-bottom:.5rem !important}.mb-lg-3{margin-bottom:1rem !important}.mb-lg-4{margin-bottom:1.5rem !important}.mb-lg-5{margin-bottom:2rem !important}.mb-lg-6{margin-bottom:2.5rem !important}.mb-lg-7{margin-bottom:3rem !important}.mb-lg-tiny{margin-bottom:.15rem !important}.mb-lg-auto{margin-bottom:auto !important}.ms-lg-0{margin-left:0 !important}.ms-lg-1{margin-left:.25rem !important}.ms-lg-2{margin-left:.5rem !important}.ms-lg-3{margin-left:1rem !important}.ms-lg-4{margin-left:1.5rem !important}.ms-lg-5{margin-left:2rem !important}.ms-lg-6{margin-left:2.5rem !important}.ms-lg-7{margin-left:3rem !important}.ms-lg-tiny{margin-left:.15rem !important}.ms-lg-auto{margin-left:auto !important}.m-lg-n1{margin:-.25rem !important}.m-lg-n2{margin:-.5rem !important}.m-lg-n3{margin:-1rem !important}.m-lg-n4{margin:-1.5rem !important}.m-lg-n5{margin:-2rem !important}.m-lg-n6{margin:-2.5rem !important}.m-lg-n7{margin:-3rem !important}.m-lg-ntiny{margin:-.15rem !important}.mx-lg-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-lg-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-lg-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-lg-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-lg-n5{margin-right:-2rem !important;margin-left:-2rem !important}.mx-lg-n6{margin-right:-2.5rem !important;margin-left:-2.5rem !important}.mx-lg-n7{margin-right:-3rem !important;margin-left:-3rem !important}.mx-lg-ntiny{margin-right:-.15rem !important;margin-left:-.15rem !important}.my-lg-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-lg-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-lg-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-lg-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-lg-n5{margin-top:-2rem !important;margin-bottom:-2rem !important}.my-lg-n6{margin-top:-2.5rem !important;margin-bottom:-2.5rem !important}.my-lg-n7{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-lg-ntiny{margin-top:-.15rem !important;margin-bottom:-.15rem !important}.mt-lg-n1{margin-top:-.25rem !important}.mt-lg-n2{margin-top:-.5rem !important}.mt-lg-n3{margin-top:-1rem !important}.mt-lg-n4{margin-top:-1.5rem !important}.mt-lg-n5{margin-top:-2rem !important}.mt-lg-n6{margin-top:-2.5rem !important}.mt-lg-n7{margin-top:-3rem !important}.mt-lg-ntiny{margin-top:-.15rem !important}.me-lg-n1{margin-right:-.25rem !important}.me-lg-n2{margin-right:-.5rem !important}.me-lg-n3{margin-right:-1rem !important}.me-lg-n4{margin-right:-1.5rem !important}.me-lg-n5{margin-right:-2rem !important}.me-lg-n6{margin-right:-2.5rem !important}.me-lg-n7{margin-right:-3rem !important}.me-lg-ntiny{margin-right:-.15rem !important}.mb-lg-n1{margin-bottom:-.25rem !important}.mb-lg-n2{margin-bottom:-.5rem !important}.mb-lg-n3{margin-bottom:-1rem !important}.mb-lg-n4{margin-bottom:-1.5rem !important}.mb-lg-n5{margin-bottom:-2rem !important}.mb-lg-n6{margin-bottom:-2.5rem !important}.mb-lg-n7{margin-bottom:-3rem !important}.mb-lg-ntiny{margin-bottom:-.15rem !important}.ms-lg-n1{margin-left:-.25rem !important}.ms-lg-n2{margin-left:-.5rem !important}.ms-lg-n3{margin-left:-1rem !important}.ms-lg-n4{margin-left:-1.5rem !important}.ms-lg-n5{margin-left:-2rem !important}.ms-lg-n6{margin-left:-2.5rem !important}.ms-lg-n7{margin-left:-3rem !important}.ms-lg-ntiny{margin-left:-.15rem !important}.p-lg-0{padding:0 !important}.p-lg-1{padding:.25rem !important}.p-lg-2{padding:.5rem !important}.p-lg-3{padding:1rem !important}.p-lg-4{padding:1.5rem !important}.p-lg-5{padding:2rem !important}.p-lg-6{padding:2.5rem !important}.p-lg-7{padding:3rem !important}.p-lg-tiny{padding:.15rem !important}.px-lg-0{padding-right:0 !important;padding-left:0 !important}.px-lg-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-lg-3{padding-right:1rem !important;padding-left:1rem !important}.px-lg-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-lg-5{padding-right:2rem !important;padding-left:2rem !important}.px-lg-6{padding-right:2.5rem !important;padding-left:2.5rem !important}.px-lg-7{padding-right:3rem !important;padding-left:3rem !important}.px-lg-tiny{padding-right:.15rem !important;padding-left:.15rem !important}.py-lg-0{padding-top:0 !important;padding-bottom:0 !important}.py-lg-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-lg-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-lg-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-lg-5{padding-top:2rem !important;padding-bottom:2rem !important}.py-lg-6{padding-top:2.5rem !important;padding-bottom:2.5rem !important}.py-lg-7{padding-top:3rem !important;padding-bottom:3rem !important}.py-lg-tiny{padding-top:.15rem !important;padding-bottom:.15rem !important}.pt-lg-0{padding-top:0 !important}.pt-lg-1{padding-top:.25rem !important}.pt-lg-2{padding-top:.5rem !important}.pt-lg-3{padding-top:1rem !important}.pt-lg-4{padding-top:1.5rem !important}.pt-lg-5{padding-top:2rem !important}.pt-lg-6{padding-top:2.5rem !important}.pt-lg-7{padding-top:3rem !important}.pt-lg-tiny{padding-top:.15rem !important}.pe-lg-0{padding-right:0 !important}.pe-lg-1{padding-right:.25rem !important}.pe-lg-2{padding-right:.5rem !important}.pe-lg-3{padding-right:1rem !important}.pe-lg-4{padding-right:1.5rem !important}.pe-lg-5{padding-right:2rem !important}.pe-lg-6{padding-right:2.5rem !important}.pe-lg-7{padding-right:3rem !important}.pe-lg-tiny{padding-right:.15rem !important}.pb-lg-0{padding-bottom:0 !important}.pb-lg-1{padding-bottom:.25rem !important}.pb-lg-2{padding-bottom:.5rem !important}.pb-lg-3{padding-bottom:1rem !important}.pb-lg-4{padding-bottom:1.5rem !important}.pb-lg-5{padding-bottom:2rem !important}.pb-lg-6{padding-bottom:2.5rem !important}.pb-lg-7{padding-bottom:3rem !important}.pb-lg-tiny{padding-bottom:.15rem !important}.ps-lg-0{padding-left:0 !important}.ps-lg-1{padding-left:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:2rem !important}.ps-lg-6{padding-left:2.5rem !important}.ps-lg-7{padding-left:3rem !important}.ps-lg-tiny{padding-left:.15rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media (min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-grid{display:grid !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}.d-xl-none{display:none !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:2rem !important}.gap-xl-6{gap:2.5rem !important}.gap-xl-7{gap:3rem !important}.gap-xl-tiny{gap:.15rem !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.justify-content-xl-evenly{justify-content:space-evenly !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}.order-xl-first{order:-1 !important}.order-xl-0{order:0 !important}.order-xl-1{order:1 !important}.order-xl-2{order:2 !important}.order-xl-3{order:3 !important}.order-xl-4{order:4 !important}.order-xl-5{order:5 !important}.order-xl-last{order:6 !important}.m-xl-0{margin:0 !important}.m-xl-1{margin:.25rem !important}.m-xl-2{margin:.5rem !important}.m-xl-3{margin:1rem !important}.m-xl-4{margin:1.5rem !important}.m-xl-5{margin:2rem !important}.m-xl-6{margin:2.5rem !important}.m-xl-7{margin:3rem !important}.m-xl-tiny{margin:.15rem !important}.m-xl-auto{margin:auto !important}.mx-xl-0{margin-right:0 !important;margin-left:0 !important}.mx-xl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xl-5{margin-right:2rem !important;margin-left:2rem !important}.mx-xl-6{margin-right:2.5rem !important;margin-left:2.5rem !important}.mx-xl-7{margin-right:3rem !important;margin-left:3rem !important}.mx-xl-tiny{margin-right:.15rem !important;margin-left:.15rem !important}.mx-xl-auto{margin-right:auto !important;margin-left:auto !important}.my-xl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xl-5{margin-top:2rem !important;margin-bottom:2rem !important}.my-xl-6{margin-top:2.5rem !important;margin-bottom:2.5rem !important}.my-xl-7{margin-top:3rem !important;margin-bottom:3rem !important}.my-xl-tiny{margin-top:.15rem !important;margin-bottom:.15rem !important}.my-xl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xl-0{margin-top:0 !important}.mt-xl-1{margin-top:.25rem !important}.mt-xl-2{margin-top:.5rem !important}.mt-xl-3{margin-top:1rem !important}.mt-xl-4{margin-top:1.5rem !important}.mt-xl-5{margin-top:2rem !important}.mt-xl-6{margin-top:2.5rem !important}.mt-xl-7{margin-top:3rem !important}.mt-xl-tiny{margin-top:.15rem !important}.mt-xl-auto{margin-top:auto !important}.me-xl-0{margin-right:0 !important}.me-xl-1{margin-right:.25rem !important}.me-xl-2{margin-right:.5rem !important}.me-xl-3{margin-right:1rem !important}.me-xl-4{margin-right:1.5rem !important}.me-xl-5{margin-right:2rem !important}.me-xl-6{margin-right:2.5rem !important}.me-xl-7{margin-right:3rem !important}.me-xl-tiny{margin-right:.15rem !important}.me-xl-auto{margin-right:auto !important}.mb-xl-0{margin-bottom:0 !important}.mb-xl-1{margin-bottom:.25rem !important}.mb-xl-2{margin-bottom:.5rem !important}.mb-xl-3{margin-bottom:1rem !important}.mb-xl-4{margin-bottom:1.5rem !important}.mb-xl-5{margin-bottom:2rem !important}.mb-xl-6{margin-bottom:2.5rem !important}.mb-xl-7{margin-bottom:3rem !important}.mb-xl-tiny{margin-bottom:.15rem !important}.mb-xl-auto{margin-bottom:auto !important}.ms-xl-0{margin-left:0 !important}.ms-xl-1{margin-left:.25rem !important}.ms-xl-2{margin-left:.5rem !important}.ms-xl-3{margin-left:1rem !important}.ms-xl-4{margin-left:1.5rem !important}.ms-xl-5{margin-left:2rem !important}.ms-xl-6{margin-left:2.5rem !important}.ms-xl-7{margin-left:3rem !important}.ms-xl-tiny{margin-left:.15rem !important}.ms-xl-auto{margin-left:auto !important}.m-xl-n1{margin:-.25rem !important}.m-xl-n2{margin:-.5rem !important}.m-xl-n3{margin:-1rem !important}.m-xl-n4{margin:-1.5rem !important}.m-xl-n5{margin:-2rem !important}.m-xl-n6{margin:-2.5rem !important}.m-xl-n7{margin:-3rem !important}.m-xl-ntiny{margin:-.15rem !important}.mx-xl-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-xl-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-xl-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-xl-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-xl-n5{margin-right:-2rem !important;margin-left:-2rem !important}.mx-xl-n6{margin-right:-2.5rem !important;margin-left:-2.5rem !important}.mx-xl-n7{margin-right:-3rem !important;margin-left:-3rem !important}.mx-xl-ntiny{margin-right:-.15rem !important;margin-left:-.15rem !important}.my-xl-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-xl-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-xl-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-xl-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-xl-n5{margin-top:-2rem !important;margin-bottom:-2rem !important}.my-xl-n6{margin-top:-2.5rem !important;margin-bottom:-2.5rem !important}.my-xl-n7{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-xl-ntiny{margin-top:-.15rem !important;margin-bottom:-.15rem !important}.mt-xl-n1{margin-top:-.25rem !important}.mt-xl-n2{margin-top:-.5rem !important}.mt-xl-n3{margin-top:-1rem !important}.mt-xl-n4{margin-top:-1.5rem !important}.mt-xl-n5{margin-top:-2rem !important}.mt-xl-n6{margin-top:-2.5rem !important}.mt-xl-n7{margin-top:-3rem !important}.mt-xl-ntiny{margin-top:-.15rem !important}.me-xl-n1{margin-right:-.25rem !important}.me-xl-n2{margin-right:-.5rem !important}.me-xl-n3{margin-right:-1rem !important}.me-xl-n4{margin-right:-1.5rem !important}.me-xl-n5{margin-right:-2rem !important}.me-xl-n6{margin-right:-2.5rem !important}.me-xl-n7{margin-right:-3rem !important}.me-xl-ntiny{margin-right:-.15rem !important}.mb-xl-n1{margin-bottom:-.25rem !important}.mb-xl-n2{margin-bottom:-.5rem !important}.mb-xl-n3{margin-bottom:-1rem !important}.mb-xl-n4{margin-bottom:-1.5rem !important}.mb-xl-n5{margin-bottom:-2rem !important}.mb-xl-n6{margin-bottom:-2.5rem !important}.mb-xl-n7{margin-bottom:-3rem !important}.mb-xl-ntiny{margin-bottom:-.15rem !important}.ms-xl-n1{margin-left:-.25rem !important}.ms-xl-n2{margin-left:-.5rem !important}.ms-xl-n3{margin-left:-1rem !important}.ms-xl-n4{margin-left:-1.5rem !important}.ms-xl-n5{margin-left:-2rem !important}.ms-xl-n6{margin-left:-2.5rem !important}.ms-xl-n7{margin-left:-3rem !important}.ms-xl-ntiny{margin-left:-.15rem !important}.p-xl-0{padding:0 !important}.p-xl-1{padding:.25rem !important}.p-xl-2{padding:.5rem !important}.p-xl-3{padding:1rem !important}.p-xl-4{padding:1.5rem !important}.p-xl-5{padding:2rem !important}.p-xl-6{padding:2.5rem !important}.p-xl-7{padding:3rem !important}.p-xl-tiny{padding:.15rem !important}.px-xl-0{padding-right:0 !important;padding-left:0 !important}.px-xl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xl-5{padding-right:2rem !important;padding-left:2rem !important}.px-xl-6{padding-right:2.5rem !important;padding-left:2.5rem !important}.px-xl-7{padding-right:3rem !important;padding-left:3rem !important}.px-xl-tiny{padding-right:.15rem !important;padding-left:.15rem !important}.py-xl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xl-5{padding-top:2rem !important;padding-bottom:2rem !important}.py-xl-6{padding-top:2.5rem !important;padding-bottom:2.5rem !important}.py-xl-7{padding-top:3rem !important;padding-bottom:3rem !important}.py-xl-tiny{padding-top:.15rem !important;padding-bottom:.15rem !important}.pt-xl-0{padding-top:0 !important}.pt-xl-1{padding-top:.25rem !important}.pt-xl-2{padding-top:.5rem !important}.pt-xl-3{padding-top:1rem !important}.pt-xl-4{padding-top:1.5rem !important}.pt-xl-5{padding-top:2rem !important}.pt-xl-6{padding-top:2.5rem !important}.pt-xl-7{padding-top:3rem !important}.pt-xl-tiny{padding-top:.15rem !important}.pe-xl-0{padding-right:0 !important}.pe-xl-1{padding-right:.25rem !important}.pe-xl-2{padding-right:.5rem !important}.pe-xl-3{padding-right:1rem !important}.pe-xl-4{padding-right:1.5rem !important}.pe-xl-5{padding-right:2rem !important}.pe-xl-6{padding-right:2.5rem !important}.pe-xl-7{padding-right:3rem !important}.pe-xl-tiny{padding-right:.15rem !important}.pb-xl-0{padding-bottom:0 !important}.pb-xl-1{padding-bottom:.25rem !important}.pb-xl-2{padding-bottom:.5rem !important}.pb-xl-3{padding-bottom:1rem !important}.pb-xl-4{padding-bottom:1.5rem !important}.pb-xl-5{padding-bottom:2rem !important}.pb-xl-6{padding-bottom:2.5rem !important}.pb-xl-7{padding-bottom:3rem !important}.pb-xl-tiny{padding-bottom:.15rem !important}.ps-xl-0{padding-left:0 !important}.ps-xl-1{padding-left:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:2rem !important}.ps-xl-6{padding-left:2.5rem !important}.ps-xl-7{padding-left:3rem !important}.ps-xl-tiny{padding-left:.15rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media (min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.d-xxl-inline{display:inline !important}.d-xxl-inline-block{display:inline-block !important}.d-xxl-block{display:block !important}.d-xxl-grid{display:grid !important}.d-xxl-table{display:table !important}.d-xxl-table-row{display:table-row !important}.d-xxl-table-cell{display:table-cell !important}.d-xxl-flex{display:flex !important}.d-xxl-inline-flex{display:inline-flex !important}.d-xxl-none{display:none !important}.flex-xxl-fill{flex:1 1 auto !important}.flex-xxl-row{flex-direction:row !important}.flex-xxl-column{flex-direction:column !important}.flex-xxl-row-reverse{flex-direction:row-reverse !important}.flex-xxl-column-reverse{flex-direction:column-reverse !important}.flex-xxl-grow-0{flex-grow:0 !important}.flex-xxl-grow-1{flex-grow:1 !important}.flex-xxl-shrink-0{flex-shrink:0 !important}.flex-xxl-shrink-1{flex-shrink:1 !important}.flex-xxl-wrap{flex-wrap:wrap !important}.flex-xxl-nowrap{flex-wrap:nowrap !important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:2rem !important}.gap-xxl-6{gap:2.5rem !important}.gap-xxl-7{gap:3rem !important}.gap-xxl-tiny{gap:.15rem !important}.justify-content-xxl-start{justify-content:flex-start !important}.justify-content-xxl-end{justify-content:flex-end !important}.justify-content-xxl-center{justify-content:center !important}.justify-content-xxl-between{justify-content:space-between !important}.justify-content-xxl-around{justify-content:space-around !important}.justify-content-xxl-evenly{justify-content:space-evenly !important}.align-items-xxl-start{align-items:flex-start !important}.align-items-xxl-end{align-items:flex-end !important}.align-items-xxl-center{align-items:center !important}.align-items-xxl-baseline{align-items:baseline !important}.align-items-xxl-stretch{align-items:stretch !important}.align-content-xxl-start{align-content:flex-start !important}.align-content-xxl-end{align-content:flex-end !important}.align-content-xxl-center{align-content:center !important}.align-content-xxl-between{align-content:space-between !important}.align-content-xxl-around{align-content:space-around !important}.align-content-xxl-stretch{align-content:stretch !important}.align-self-xxl-auto{align-self:auto !important}.align-self-xxl-start{align-self:flex-start !important}.align-self-xxl-end{align-self:flex-end !important}.align-self-xxl-center{align-self:center !important}.align-self-xxl-baseline{align-self:baseline !important}.align-self-xxl-stretch{align-self:stretch !important}.order-xxl-first{order:-1 !important}.order-xxl-0{order:0 !important}.order-xxl-1{order:1 !important}.order-xxl-2{order:2 !important}.order-xxl-3{order:3 !important}.order-xxl-4{order:4 !important}.order-xxl-5{order:5 !important}.order-xxl-last{order:6 !important}.m-xxl-0{margin:0 !important}.m-xxl-1{margin:.25rem !important}.m-xxl-2{margin:.5rem !important}.m-xxl-3{margin:1rem !important}.m-xxl-4{margin:1.5rem !important}.m-xxl-5{margin:2rem !important}.m-xxl-6{margin:2.5rem !important}.m-xxl-7{margin:3rem !important}.m-xxl-tiny{margin:.15rem !important}.m-xxl-auto{margin:auto !important}.mx-xxl-0{margin-right:0 !important;margin-left:0 !important}.mx-xxl-1{margin-right:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.5rem !important}.mx-xxl-3{margin-right:1rem !important;margin-left:1rem !important}.mx-xxl-4{margin-right:1.5rem !important;margin-left:1.5rem !important}.mx-xxl-5{margin-right:2rem !important;margin-left:2rem !important}.mx-xxl-6{margin-right:2.5rem !important;margin-left:2.5rem !important}.mx-xxl-7{margin-right:3rem !important;margin-left:3rem !important}.mx-xxl-tiny{margin-right:.15rem !important;margin-left:.15rem !important}.mx-xxl-auto{margin-right:auto !important;margin-left:auto !important}.my-xxl-0{margin-top:0 !important;margin-bottom:0 !important}.my-xxl-1{margin-top:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.5rem !important}.my-xxl-3{margin-top:1rem !important;margin-bottom:1rem !important}.my-xxl-4{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.my-xxl-5{margin-top:2rem !important;margin-bottom:2rem !important}.my-xxl-6{margin-top:2.5rem !important;margin-bottom:2.5rem !important}.my-xxl-7{margin-top:3rem !important;margin-bottom:3rem !important}.my-xxl-tiny{margin-top:.15rem !important;margin-bottom:.15rem !important}.my-xxl-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-xxl-0{margin-top:0 !important}.mt-xxl-1{margin-top:.25rem !important}.mt-xxl-2{margin-top:.5rem !important}.mt-xxl-3{margin-top:1rem !important}.mt-xxl-4{margin-top:1.5rem !important}.mt-xxl-5{margin-top:2rem !important}.mt-xxl-6{margin-top:2.5rem !important}.mt-xxl-7{margin-top:3rem !important}.mt-xxl-tiny{margin-top:.15rem !important}.mt-xxl-auto{margin-top:auto !important}.me-xxl-0{margin-right:0 !important}.me-xxl-1{margin-right:.25rem !important}.me-xxl-2{margin-right:.5rem !important}.me-xxl-3{margin-right:1rem !important}.me-xxl-4{margin-right:1.5rem !important}.me-xxl-5{margin-right:2rem !important}.me-xxl-6{margin-right:2.5rem !important}.me-xxl-7{margin-right:3rem !important}.me-xxl-tiny{margin-right:.15rem !important}.me-xxl-auto{margin-right:auto !important}.mb-xxl-0{margin-bottom:0 !important}.mb-xxl-1{margin-bottom:.25rem !important}.mb-xxl-2{margin-bottom:.5rem !important}.mb-xxl-3{margin-bottom:1rem !important}.mb-xxl-4{margin-bottom:1.5rem !important}.mb-xxl-5{margin-bottom:2rem !important}.mb-xxl-6{margin-bottom:2.5rem !important}.mb-xxl-7{margin-bottom:3rem !important}.mb-xxl-tiny{margin-bottom:.15rem !important}.mb-xxl-auto{margin-bottom:auto !important}.ms-xxl-0{margin-left:0 !important}.ms-xxl-1{margin-left:.25rem !important}.ms-xxl-2{margin-left:.5rem !important}.ms-xxl-3{margin-left:1rem !important}.ms-xxl-4{margin-left:1.5rem !important}.ms-xxl-5{margin-left:2rem !important}.ms-xxl-6{margin-left:2.5rem !important}.ms-xxl-7{margin-left:3rem !important}.ms-xxl-tiny{margin-left:.15rem !important}.ms-xxl-auto{margin-left:auto !important}.m-xxl-n1{margin:-.25rem !important}.m-xxl-n2{margin:-.5rem !important}.m-xxl-n3{margin:-1rem !important}.m-xxl-n4{margin:-1.5rem !important}.m-xxl-n5{margin:-2rem !important}.m-xxl-n6{margin:-2.5rem !important}.m-xxl-n7{margin:-3rem !important}.m-xxl-ntiny{margin:-.15rem !important}.mx-xxl-n1{margin-right:-.25rem !important;margin-left:-.25rem !important}.mx-xxl-n2{margin-right:-.5rem !important;margin-left:-.5rem !important}.mx-xxl-n3{margin-right:-1rem !important;margin-left:-1rem !important}.mx-xxl-n4{margin-right:-1.5rem !important;margin-left:-1.5rem !important}.mx-xxl-n5{margin-right:-2rem !important;margin-left:-2rem !important}.mx-xxl-n6{margin-right:-2.5rem !important;margin-left:-2.5rem !important}.mx-xxl-n7{margin-right:-3rem !important;margin-left:-3rem !important}.mx-xxl-ntiny{margin-right:-.15rem !important;margin-left:-.15rem !important}.my-xxl-n1{margin-top:-.25rem !important;margin-bottom:-.25rem !important}.my-xxl-n2{margin-top:-.5rem !important;margin-bottom:-.5rem !important}.my-xxl-n3{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-xxl-n4{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-xxl-n5{margin-top:-2rem !important;margin-bottom:-2rem !important}.my-xxl-n6{margin-top:-2.5rem !important;margin-bottom:-2.5rem !important}.my-xxl-n7{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-xxl-ntiny{margin-top:-.15rem !important;margin-bottom:-.15rem !important}.mt-xxl-n1{margin-top:-.25rem !important}.mt-xxl-n2{margin-top:-.5rem !important}.mt-xxl-n3{margin-top:-1rem !important}.mt-xxl-n4{margin-top:-1.5rem !important}.mt-xxl-n5{margin-top:-2rem !important}.mt-xxl-n6{margin-top:-2.5rem !important}.mt-xxl-n7{margin-top:-3rem !important}.mt-xxl-ntiny{margin-top:-.15rem !important}.me-xxl-n1{margin-right:-.25rem !important}.me-xxl-n2{margin-right:-.5rem !important}.me-xxl-n3{margin-right:-1rem !important}.me-xxl-n4{margin-right:-1.5rem !important}.me-xxl-n5{margin-right:-2rem !important}.me-xxl-n6{margin-right:-2.5rem !important}.me-xxl-n7{margin-right:-3rem !important}.me-xxl-ntiny{margin-right:-.15rem !important}.mb-xxl-n1{margin-bottom:-.25rem !important}.mb-xxl-n2{margin-bottom:-.5rem !important}.mb-xxl-n3{margin-bottom:-1rem !important}.mb-xxl-n4{margin-bottom:-1.5rem !important}.mb-xxl-n5{margin-bottom:-2rem !important}.mb-xxl-n6{margin-bottom:-2.5rem !important}.mb-xxl-n7{margin-bottom:-3rem !important}.mb-xxl-ntiny{margin-bottom:-.15rem !important}.ms-xxl-n1{margin-left:-.25rem !important}.ms-xxl-n2{margin-left:-.5rem !important}.ms-xxl-n3{margin-left:-1rem !important}.ms-xxl-n4{margin-left:-1.5rem !important}.ms-xxl-n5{margin-left:-2rem !important}.ms-xxl-n6{margin-left:-2.5rem !important}.ms-xxl-n7{margin-left:-3rem !important}.ms-xxl-ntiny{margin-left:-.15rem !important}.p-xxl-0{padding:0 !important}.p-xxl-1{padding:.25rem !important}.p-xxl-2{padding:.5rem !important}.p-xxl-3{padding:1rem !important}.p-xxl-4{padding:1.5rem !important}.p-xxl-5{padding:2rem !important}.p-xxl-6{padding:2.5rem !important}.p-xxl-7{padding:3rem !important}.p-xxl-tiny{padding:.15rem !important}.px-xxl-0{padding-right:0 !important;padding-left:0 !important}.px-xxl-1{padding-right:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.5rem !important}.px-xxl-3{padding-right:1rem !important;padding-left:1rem !important}.px-xxl-4{padding-right:1.5rem !important;padding-left:1.5rem !important}.px-xxl-5{padding-right:2rem !important;padding-left:2rem !important}.px-xxl-6{padding-right:2.5rem !important;padding-left:2.5rem !important}.px-xxl-7{padding-right:3rem !important;padding-left:3rem !important}.px-xxl-tiny{padding-right:.15rem !important;padding-left:.15rem !important}.py-xxl-0{padding-top:0 !important;padding-bottom:0 !important}.py-xxl-1{padding-top:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.5rem !important}.py-xxl-3{padding-top:1rem !important;padding-bottom:1rem !important}.py-xxl-4{padding-top:1.5rem !important;padding-bottom:1.5rem !important}.py-xxl-5{padding-top:2rem !important;padding-bottom:2rem !important}.py-xxl-6{padding-top:2.5rem !important;padding-bottom:2.5rem !important}.py-xxl-7{padding-top:3rem !important;padding-bottom:3rem !important}.py-xxl-tiny{padding-top:.15rem !important;padding-bottom:.15rem !important}.pt-xxl-0{padding-top:0 !important}.pt-xxl-1{padding-top:.25rem !important}.pt-xxl-2{padding-top:.5rem !important}.pt-xxl-3{padding-top:1rem !important}.pt-xxl-4{padding-top:1.5rem !important}.pt-xxl-5{padding-top:2rem !important}.pt-xxl-6{padding-top:2.5rem !important}.pt-xxl-7{padding-top:3rem !important}.pt-xxl-tiny{padding-top:.15rem !important}.pe-xxl-0{padding-right:0 !important}.pe-xxl-1{padding-right:.25rem !important}.pe-xxl-2{padding-right:.5rem !important}.pe-xxl-3{padding-right:1rem !important}.pe-xxl-4{padding-right:1.5rem !important}.pe-xxl-5{padding-right:2rem !important}.pe-xxl-6{padding-right:2.5rem !important}.pe-xxl-7{padding-right:3rem !important}.pe-xxl-tiny{padding-right:.15rem !important}.pb-xxl-0{padding-bottom:0 !important}.pb-xxl-1{padding-bottom:.25rem !important}.pb-xxl-2{padding-bottom:.5rem !important}.pb-xxl-3{padding-bottom:1rem !important}.pb-xxl-4{padding-bottom:1.5rem !important}.pb-xxl-5{padding-bottom:2rem !important}.pb-xxl-6{padding-bottom:2.5rem !important}.pb-xxl-7{padding-bottom:3rem !important}.pb-xxl-tiny{padding-bottom:.15rem !important}.ps-xxl-0{padding-left:0 !important}.ps-xxl-1{padding-left:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:2rem !important}.ps-xxl-6{padding-left:2.5rem !important}.ps-xxl-7{padding-left:3rem !important}.ps-xxl-tiny{padding-left:.15rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}@media (min-width: 1200px){.fs-1{font-size:2.5rem !important}.fs-2{font-size:2rem !important}.fs-3{font-size:1.75rem !important}.fs-4{font-size:1.5rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}.d-print-none{display:none !important}}.bg-main{background-color:#f2f5f7 !important}.bg-header-footer{background-color:#212529 !important}.bg-header-footer-highlight{background-color:#434b53 !important}.bg-header-footer{background-color:#162740 !important}.bg-header-footer-highlight{background-color:#2a4a79 !important}.bg-gradient-body-to-main{background:linear-gradient(0deg, #f2f5f7 0%, #fff 100%)}.card-highlight{background-color:#f7f7f7;border:solid 1px #e6e6e6 !important;color:#212529} diff --git a/routes/adminRouter.js b/routes/adminRouter.js index ef37f75..a9bb2d0 100644 --- a/routes/adminRouter.js +++ b/routes/adminRouter.js @@ -109,6 +109,17 @@ router.get("/stats", function(req, res, next) { }); +router.get('/resetUserSettings', (req, res) => { + req.session.userSettings = {}; + + var userSettings = {}; + + res.cookie("user-settings", JSON.stringify(userSettings)); + + res.redirect(req.headers.referer); +}); + + router.get('/heapdump', (req, res) => { const ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress; diff --git a/routes/baseRouter.js b/routes/baseRouter.js index 39120cf..81cb460 100644 --- a/routes/baseRouter.js +++ b/routes/baseRouter.js @@ -27,7 +27,7 @@ const rpcApi = require("./../app/api/rpcApi.js"); const forceCsrf = csurf({ ignoreMethods: [] }); -var noTxIndexMsg = "\n\nYour node does not have `txindex` enabled. Without it, you can only lookup wallet, mempool, and recently confirmed transactions by their `txid`. Searching for non-wallet transactions that were confirmed more than "+config.noTxIndexSearchDepth+" blocks ago is only possible if you provide the confirmed block height in addition to the txid, using `@` in the search box."; +var noTxIndexMsg = "\n\nYour node does not have **txindex** enabled. Without it, you can only lookup wallet, mempool, and recently confirmed transactions by their **txid**. Searching for non-wallet transactions that were confirmed more than "+config.noTxIndexSearchDepth+" blocks ago is only possible if the confirmed block height is available."; router.get("/", asyncHandler(async (req, res, next) => { try { @@ -101,13 +101,13 @@ router.get("/", asyncHandler(async (req, res, next) => { })); promises.push(new Promise(async (resolve, reject) => { - res.locals.hashrate1d = await utils.timePromise("promises.index.getNetworkHashrate-144", coreApi.getNetworkHashrate(144)); + res.locals.hashrate7d = await utils.timePromise("promises.index.getNetworkHashrate-1008", coreApi.getNetworkHashrate(1008)); resolve(); })); promises.push(new Promise(async (resolve, reject) => { - res.locals.hashrate7d = await utils.timePromise("promises.index.getNetworkHashrate-1008", coreApi.getNetworkHashrate(1008)); + res.locals.hashrate30d = await utils.timePromise("promises.index.getNetworkHashrate-4320", coreApi.getNetworkHashrate(4320)); resolve(); })); @@ -163,19 +163,19 @@ router.get("/", asyncHandler(async (req, res, next) => { resolve(); })); - if (getblockchaininfo.chain !== 'regtest') { - var targetBlocksPerDay = 24 * 60 * 60 / global.coinConfig.targetBlockTimeSeconds; + var targetBlocksPerDay = 24 * 60 * 60 / global.coinConfig.targetBlockTimeSeconds; + res.locals.targetBlocksPerDay = targetBlocksPerDay; - promises.push(new Promise(async (resolve, reject) => { + if (getblockchaininfo.chain !== 'regtest') { + /*promises.push(new Promise(async (resolve, reject) => { res.locals.txStats = await utils.timePromise("promises.index.getTxCountStats", coreApi.getTxCountStats(targetBlocksPerDay / 4, -targetBlocksPerDay, "latest")); resolve(); - })); + }));*/ - var chainTxStatsIntervals = [ [targetBlocksPerDay, "24 hours"], [targetBlocksPerDay * 7, "1 week"], [targetBlocksPerDay * 30, "1 month"], [targetBlocksPerDay * 365, "1 year"] ] + var chainTxStatsIntervals = [ [targetBlocksPerDay, "24 hours"], [7 * targetBlocksPerDay, "7 days"], [30 * targetBlocksPerDay, "30 days"] ] .filter(dat => dat[0] <= getblockchaininfo.blocks); - // promiseResults[8-X] (if not regtest) res.locals.chainTxStats = {}; for (var i = 0; i < chainTxStatsIntervals.length; i++) { promises.push(new Promise(async (resolve, reject) => { @@ -195,7 +195,83 @@ router.get("/", asyncHandler(async (req, res, next) => { })); } + /*promises.push(new Promise(async (resolve, reject) => { + global.rpcClient.command('getblocktemplate', {"rules": ["segwit"]}, function(err, result, resHeaders) { + if (err) { + return reject(err); + } + + res.locals.nextBlockTemplate = result; + + var minFeeRate = 1000000; + var maxFeeRate = 0; + var minFeeTxid = null; + var maxFeeTxid = null; + + result.transactions.forEach(tx => { + var feeRate = tx.fee / tx.weight * 4; + + if (feeRate < minFeeRate) { + minFeeRate = feeRate; + minFeeTxid = tx.txid; + } + + if (feeRate > maxFeeRate) { + maxFeeRate = feeRate; + maxFeeTxid = tx.txid; + } + }); + + res.locals.nextBlockMinFeeRate = minFeeRate; + res.locals.nextBlockMaxFeeRate = maxFeeRate; + res.locals.nextBlockMinFeeTxid = minFeeTxid; + res.locals.nextBlockMaxFeeTxid = maxFeeTxid; + + resolve(); + }); + }));*/ + + await Promise.all(promises); + + + var firstBlockHeader = res.locals.difficultyPeriodFirstBlockHeader; + var currentBlock = res.locals.latestBlocks[0]; + var heightDiff = currentBlock.height - firstBlockHeader.height; + var timeDiff = currentBlock.mediantime - firstBlockHeader.mediantime; + var timePerBlock = timeDiff / heightDiff; + var timePerBlockDuration = moment.duration(timePerBlock * 1000); + var daysUntilAdjustment = new Decimal(res.locals.blocksUntilDifficultyAdjustment).times(timePerBlock).dividedBy(60 * 60 * 24); + var duaDP1 = daysUntilAdjustment.toDP(1); + var daysUntilAdjustmentStr = daysUntilAdjustment > 1 ? `~${duaDP1} day${duaDP1 == "1" ? "" : "s"}` : "< 1 day"; + + if (timePerBlock > 600) { + var diffAdjPercent = new Decimal(timeDiff / heightDiff / 600).times(100).minus(100); + var diffAdjText = `Blocks during the current difficulty epoch have taken this long, on average, to be mined. If this pace continues, then in ${res.locals.blocksUntilDifficultyAdjustment.toLocaleString()} block${res.locals.blocksUntilDifficultyAdjustment == 1 ? "" : "s"} (${daysUntilAdjustmentStr}) the difficulty will adjust downward: -${diffAdjPercent.toDP(1)}%`; + var diffAdjSign = "-"; + var textColorClass = "text-danger"; + + } else { + var diffAdjPercent = new Decimal(100).minus(new Decimal(timeDiff / heightDiff / 600).times(100)); + var diffAdjText = `Blocks during the current difficulty epoch have taken this long, on average, to be mined. If this pace continues, then in ${res.locals.blocksUntilDifficultyAdjustment.toLocaleString()} block${res.locals.blocksUntilDifficultyAdjustment == 1 ? "" : "s"} (${daysUntilAdjustmentStr}) the difficulty will adjust upward: +${diffAdjPercent.toDP(1)}%`; + var diffAdjSign = "+"; + var textColorClass = "text-success"; + } + + res.locals.difficultyAdjustmentData = { + estimateAvailable: !isNaN(diffAdjPercent), + + blocksLeft: res.locals.blocksUntilDifficultyAdjustment, + daysLeftStr: daysUntilAdjustmentStr, + calculationBlockCount: heightDiff, + currentEpoch: res.locals.difficultyPeriod, + + delta: diffAdjPercent, + sign: diffAdjSign + + //nameDesc: `Estimate for the difficulty adjustment that will occur in ${res.locals.blocksUntilDifficultyAdjustment.toLocaleString()} block${res.locals.blocksUntilDifficultyAdjustment == 1 ? "" : "s"} (${daysUntilAdjustmentStr}). This is calculated using the average block time over the last ${heightDiff} block(s). This estimate becomes more reliable as the difficulty epoch nears its end.`, + }; + res.render("index"); @@ -270,7 +346,7 @@ router.get("/mempool-summary", asyncHandler(async (req, res, next) => { })); promises.push(new Promise(async (resolve, reject) => { - const mempooltxids = await utils.timePromise("promises.mempool-summary.getMempoolTxids", coreApi.getMempoolTxids()); + const mempooltxids = await utils.timePromise("promises.mempool-summary.getAllMempoolTxids", coreApi.getAllMempoolTxids()); var debugMaxCount = 0; @@ -404,9 +480,16 @@ router.get("/disconnect", function(req, res, next) { router.get("/changeSetting", function(req, res, next) { if (req.query.name) { - req.session[req.query.name] = req.query.value; + if (!req.session.userSettings) { + req.session.userSettings = {}; + } - res.cookie('user-setting-' + req.query.name, req.query.value); + req.session.userSettings[req.query.name] = req.query.value; + + var userSettings = JSON.parse(req.cookies["user-settings"] || "{}"); + userSettings[req.query.name] = req.query.value; + + res.cookie("user-settings", JSON.stringify(userSettings)); } res.redirect(req.headers.referer); @@ -878,6 +961,10 @@ router.get("/tx/:transactionId", asyncHandler(async (req, res, next) => { var tx = rawTxResult.transactions[0]; + res.locals.tx = tx; + res.locals.isCoinbaseTx = tx.vin[0].coinbase; + + res.locals.result.getrawtransaction = tx; res.locals.result.txInputs = rawTxResult.txInputsByTransaction[txid] || {}; @@ -917,12 +1004,22 @@ router.get("/tx/:transactionId", asyncHandler(async (req, res, next) => { next(); } catch (err) { - res.locals.userMessageMarkdown = `Failed to load transaction: txid=**${txid}**`; + if (global.prunedBlockchain && res.locals.blockHeight && res.locals.blockHeight < global.pruneHeight) { + // Failure to load tx here is expected and a full description of the situation is given to the user + // in the UI. No need to also show an error userMessage here. - if (!global.txindexAvailable) { + } else if (!global.txindexAvailable) { res.locals.noTxIndexMsg = noTxIndexMsg; + + // As above, failure to load the tx is expected here and good user feedback is given in the UI. + // No need for error userMessage. + + } else { + res.locals.userMessageMarkdown = `Failed to load transaction: txid=**${txid}**`; } + + utils.logError("1237y4ewssgt", err); res.render("transaction"); @@ -1048,7 +1145,7 @@ router.get("/address/:address", function(req, res, next) { res.locals.txids = txids; (global.txindexAvailable - ? coreApi.getRawTransactionsWithInputs(txids) + ? coreApi.getRawTransactionsWithInputs(txids, 5) : coreApi.getRawTransactionsByHeights(txids, blockHeightsByTxid) .then(transactions => ({ transactions, txInputsByTransaction: {} })) ).then(function(rawTxResult) { @@ -1471,43 +1568,76 @@ router.post("/terminal", function(req, res, next) { } }); -router.get("/unconfirmed-tx", function(req, res, next) { - var limit = config.site.browseBlocksPageSize; - var offset = 0; - var sort = "desc"; +router.get("/mempool-tx", asyncHandler(async (req, res, next) => { + try { + var limit = config.site.browseBlocksPageSize; + var offset = 0; + var sort = "desc"; - if (req.query.limit) { - limit = parseInt(req.query.limit); - } + if (req.query.limit) { + limit = parseInt(req.query.limit); + } - if (req.query.offset) { - offset = parseInt(req.query.offset); - } + if (req.query.offset) { + offset = parseInt(req.query.offset); + } - if (req.query.sort) { - sort = req.query.sort; - } + if (req.query.sort) { + sort = req.query.sort; + } - res.locals.limit = limit; - res.locals.offset = offset; - res.locals.sort = sort; - res.locals.paginationBaseUrl = "./unconfirmed-tx"; + res.locals.limit = limit; + res.locals.offset = offset; + res.locals.sort = sort; + res.locals.paginationBaseUrl = "./mempool-tx"; - coreApi.getMempoolDetails(offset, limit).then(function(mempoolDetails) { - res.locals.mempoolDetails = mempoolDetails; + const mempoolData = await utils.timePromise("promises.mempool-tx.getMempoolTxids", coreApi.getMempoolTxids(limit, offset)); - res.render("unconfirmed-transactions"); + const txids = mempoolData.txids; + res.locals.txCount = mempoolData.txCount; + + + const promises = []; + + promises.push(new Promise(async (resolve, reject) => { + const transactionData = await utils.timePromise("promises.mempool-tx.getRawTransactionsWithInputs", coreApi.getRawTransactionsWithInputs(txids, 5)); + + res.locals.transactions = transactionData.transactions; + res.locals.txInputsByTransaction = transactionData.txInputsByTransaction; + + resolve(); + })); + + res.locals.mempoolDetailsByTxid = {}; + + txids.forEach(txid => { + promises.push(new Promise(async (resolve, reject) => { + const mempoolTxidDetails = await utils.timePromise("promises.mempool-tx.getMempoolTxDetails", coreApi.getMempoolTxDetails(txid, false)); + + res.locals.mempoolDetailsByTxid[txid] = mempoolTxidDetails; + + resolve(); + })); + }); + + + await Promise.all(promises); + + + res.render("mempool-tx"); next(); - }).catch(function(err) { - res.locals.userMessage = "Error: " + err; + } catch (err) { + utils.logError("3297gfsdyde3q", err); + + res.locals.userMessage = "Error building page: " + err; - res.render("unconfirmed-transactions"); + res.render("mempool-tx"); next(); - }); -}); + } +})); router.get("/tx-stats", function(req, res, next) { var dataPoints = 100; diff --git a/views/address.pug b/views/address.pug index 25b9b9d..a385857 100644 --- a/views/address.pug +++ b/views/address.pug @@ -11,73 +11,55 @@ block content span.font-monospace #{address} else - h1.h3 Address - br - small.font-monospace #{address} + .clearfix + .float-start + +pageTitle("Address", address, true) + + .float-start.float-md-end.mb-3.mb-md-0 + img(src=addressQrCodeUrl, alt=address, style="border: solid 1px #ccc;") + - hr - - if (payoutAddressForMiner) - div.alert.alert-primary.shadow-sm.pb-0 - div.float-start(style="width: 50px; height: 50px; font-size: 18px;") - i.fas.fa-certificate.fa-2x(style="margin-top: 10px;") - - h4.alert-heading.h6.fw-bold #{coinConfig.name} Fun - - p - span This looks like a miner payout address for - span.fw-bold #{payoutAddressForMiner.name} - if (coinConfig.miningPoolsConfigUrls.length > 1) - span (see the configurations: - each item, index in coinConfig.miningPoolsConfigUrls - if (index > 0) - span , - a(href=item) config ##{index + 1} - span ) - else - span (see the configuration - a(href=coinConfig.miningPoolsConfigUrls[0]) here - span ) - - else if (global.specialAddresses[address] && global.specialAddresses[address].type == "fun") - div.alert.alert-primary.shadow-sm.pb-0 - div.float-start(style="width: 50px; height: 50px; font-size: 18px;") - i.fas.fa-certificate.fa-2x(style="margin-top: 10px;") - - h4.alert-heading.h6.fw-bold #{coinConfig.name} Fun - - // special address info - - var saInfo = global.specialAddresses[address].addressInfo; - if (saInfo.alertBodyHtml) - p - span !{saInfo.alertBodyHtml} - - if (saInfo.referenceUrl && saInfo.referenceUrl.trim().length > 0 && saInfo.alertBodyHtml.indexOf(saInfo.referenceUrl) == -1) - span - a(href=saInfo.referenceUrl) Read more - - else - p - span #{saInfo.summary} - - if (saInfo.referenceUrl && saInfo.referenceUrl.trim().length > 0) - span - a(href=saInfo.referenceUrl) Read more - - if (false) pre - code.json.bg-light #{JSON.stringify(addressObj, null, 4)} - - ul.nav.nav-tabs.mb-3 - li.nav-item - a.nav-link.active(data-bs-toggle="tab", href="#tab-details", role="tab") Details - li.nav-item - a.nav-link(data-bs-toggle="tab", href="#tab-json", role="tab") JSON + code.json #{JSON.stringify(addressObj, null, 4)} - div.tab-content - div.tab-pane.active(id="tab-details", role="tabpanel") + +pageTabs(["Details", "JSON"]) + + + .tab-content + +pageTab("Details", true) + + if (payoutAddressForMiner) + +funAlert + span This looks like a miner payout address for + span.fw-bold #{payoutAddressForMiner.name} + if (coinConfig.miningPoolsConfigUrls.length > 1) + span (see the miner-identifications configurations: + each item, index in coinConfig.miningPoolsConfigUrls + if (index > 0) + span , + a(href=item) config ##{index + 1} + span ) + else + span (see the configuration + a(href=coinConfig.miningPoolsConfigUrls[0]) here + span ) + + + else if (global.specialAddresses[address] && global.specialAddresses[address].type == "fun") + - var saInfo = global.specialAddresses[address].addressInfo; + + +funAlert(saInfo.alertBodyHtml, saInfo.summary, saInfo.referenceUrl) + + + .clearfix + .float-end + if (`${userSettings["addressPageShowTechDetails"]}` == "false") + a.btn.btn-primary.btn-sm.me-2(href=`./changeSetting?name=addressPageShowTechDetails&value=true`, title="Display technical details for this address.", data-bs-toggle="tooltip") + i.far.fa-plus-square.me-2 + | Technical Details + if (false && config.electrumXServers && config.electrumXServers.length > 0) if (session.hideElectrumTrustWarnings != "true") @@ -87,219 +69,156 @@ block content a.close(href="./changeSetting?name=hideElectrumTrustWarnings&value=true", aria-label="Close", style="text-decoration: none;") span(aria-hidden="true") × - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Summary + + - var x = result.validateaddress; + - var flags = []; + - if (x.ismine) { flags.push(["Mine", "This address is owned by your node."]); } + - if (x.iswatchonly) { flags.push(["Watch-Only"]); } + + if (addressDetails || flags.length > 0) + .clearfix + .float-start + +sectionTitle("Summary") + .float-start if (config.addressApi) small.text-muted.border-dotted.ms-2(title=`Some details for this address were queried from ${config.addressApi}` data-bs-toggle="tooltip") Trust Note - hr + + +contentSection + + - div.row - div.col-md-6 + +summaryRow((addressDetails ? ((addressDetails.txCount != null ? 1 : 0) + (addressDetails.balanceSat ? 1 : 0) + (addressDetails.unconfirmedBalanceSat ? 1 : 0) + (addressDetails.totalReceivedSat ? 1 : 0)) : 0) + (flags.length > 0 ? 1 : 0)) + if (addressDetails && addressDetails.txCount != null) + +summaryItem("Transactions") + | #{addressDetails.txCount.toLocaleString()} - if (addressObj.hash) - div.row - div.summary-split-table-label Hash 160 - div.summary-split-table-content.font-monospace #{addressObj.hash.toString("hex")} + if (addressDetails && addressDetails.balanceSat) + +summaryItem("Balance") + span(class=(addressDetails.balanceSat > 0 ? "text-success" : false)) + - var currencyValue = new Decimal(addressDetails.balanceSat).dividedBy(coinConfig.baseCurrencyUnit.multiplier); + include includes/value-display.pug - if (result.validateaddress.scriptPubKey) - div.row - div.summary-split-table-label Script Public Key - div.summary-split-table-content.font-monospace #{result.validateaddress.scriptPubKey} - - if (addressObj.hasOwnProperty("version")) - div.row - div.summary-split-table-label Version - div.summary-split-table-content.font-monospace #{addressObj.version} - - if (result.validateaddress.hasOwnProperty("witness_version")) - div.row - div.summary-split-table-label Witness Version - div.summary-split-table-content.font-monospace #{result.validateaddress.witness_version} - - if (result.validateaddress.witness_program) - div.row - div.summary-split-table-label Witness Program - div.summary-split-table-content.font-monospace #{result.validateaddress.witness_program} - - if (firstSeenTransaction && firstSeenTransaction.confirmations > 0) - div.row - div.summary-split-table-label First Seen - div.summary-split-table-content.font-monospace - if (getblockchaininfo) - span Block ##{(getblockchaininfo.blocks - firstSeenTransaction.confirmations).toLocaleString()} - else - a(href=`./block/${firstSeenTransaction.blockhash}`) #{firstSeenTransaction.blockhash} - - br - - span #{moment.utc(new Date(firstSeenTransaction.time * 1000)).format("Y-MM-DD HH:mm:ss")} utc - - var timeAgoTime = firstSeenTransaction.time; - include includes/time-ago.pug - - if (false) - pre - code.json.bg-light #{JSON.stringify(firstSeenTransaction)} - - if (balance) - if (balance.conflictedResults) - div.row - div.summary-split-table-label Balance - div.summary-split-table-content.font-monospace - span.text-warning Conflicted ElectrumX Results - - each item in balance.conflictedResults - - var currencyValue = item.confirmed / coinConfig.baseCurrencyUnit.multiplier; - include includes/value-display.pug - - - else - div.row - div.summary-split-table-label Balance - div.summary-split-table-content.font-monospace - - var currencyValue = balance.result.confirmed / coinConfig.baseCurrencyUnit.multiplier; - include includes/value-display.pug - - if (balance.unconfirmed) - div.row - div.summary-split-table-label Unconfirmed - div.summary-split-table-content.font-monospace - - var currencyValue = balance.unconfirmed / coinConfig.baseCurrencyUnit.multiplier; - include includes/value-display.pug - - if (addressDetails && addressDetails.balanceSat) - div.row - div.summary-split-table-label Balance - div.summary-split-table-content.font-monospace - - var currencyValue = new Decimal(addressDetails.balanceSat).dividedBy(coinConfig.baseCurrencyUnit.multiplier); - include includes/value-display.pug - - if (addressDetails && addressDetails.unconfirmedBalanceSat) - div.row - div.summary-split-table-label Pending Balance - div.summary-split-table-content.font-monospace - - var currencyValue = new Decimal(addressDetails.unconfirmedBalanceSat).dividedBy(coinConfig.baseCurrencyUnit.multiplier); - include includes/value-display.pug - - if (addressDetails && addressDetails.txCount) - div.row - div.summary-split-table-label Transactions - div.summary-split-table-content.font-monospace #{addressDetails.txCount.toLocaleString()} - - div.row - div.summary-split-table-label QR Code - div.summary-split-table-content.font-monospace - img(src=addressQrCodeUrl, alt=address, style="border: solid 1px #ccc;") - - div.col-md-6 - if (electrumScripthash) - div.row - div.summary-split-table-label Scripthash - div.summary-split-table-content.font-monospace #{electrumScripthash} - - - var x = result.validateaddress; - - var flagNames = ["Is Valid?", "Is Script?", "Is Witness?", "Is Mine?", "Is Watch-Only?"]; - - var flags = [x.isvalid, x.isscript, x.iswitness, x.ismine, x.iswatchonly]; - - each flagName, index in flagNames - div.row - div.summary-split-table-label #{flagName} - div.summary-split-table-content.font-monospace - if (flags[index]) - i.fas.fa-check.text-success - else - i.fas.fa-times.text-warning - - if (false) - div.card.shadow-sm.mb-3 - div.card-header - span.h6 Flags - div.card-body - div.table-responsive - table.table.text-center - thead - tr - th Is Valid? - th Is Script? - th Is Witness? - th Is Mine? - th Is Watch-Only? - tbody - tr - - var x = result.validateaddress; - - var flags = [x.isvalid, x.isscript, x.iswitness, x.ismine, x.iswatchonly]; - - each flag in flags - td - if (flag) - i.fas.fa-check.text-success - else - i.fas.fa-times.text-warning - - div.card.shadow-sm.mb-3 - div.card-body - div.clearfix - div.float-start - h3.h6.mb-0 - if (addressDetails && addressDetails.txCount) - if (addressDetails.txCount == 1) - span 1 Transaction + if (addressDetails && addressDetails.unconfirmedBalanceSat) + +summaryItem("Unconfirmed Balance") + span(class=(addressDetails.unconfirmedBalanceSat > 0 ? "text-success" : "text-danger")) + if (addressDetails.unconfirmedBalanceSat > 0) + span + else - span #{addressDetails.txCount.toLocaleString()} Transactions + span - + + - var currencyValue = new Decimal(Math.abs(addressDetails.unconfirmedBalanceSat)).dividedBy(coinConfig.baseCurrencyUnit.multiplier); + include includes/value-display.pug + + if (addressDetails && addressDetails.totalReceivedSat) + +summaryItem("Total Received / Sent") + span(class=(addressDetails.totalReceivedSat > 0 ? "text-success" : false)) + if (addressDetails.totalReceivedSat) + span + + + - var currencyValue = new Decimal(Math.abs(addressDetails.totalReceivedSat)).dividedBy(coinConfig.baseCurrencyUnit.multiplier); + include includes/value-display.pug + + br + span(class=(addressDetails.totalSentSat > 0 ? "text-danger" : false)) + if (addressDetails.totalSentSat > 0) + span - + + - var currencyValue = new Decimal(Math.abs(addressDetails.totalSentSat)).dividedBy(coinConfig.baseCurrencyUnit.multiplier); + include includes/value-display.pug + + if (flags.length > 0) + +summaryItem("Flags") + each flagItem, flagIndex in flags + span.badge.bg-primary(class=(flagIndex > 0 ? "ms-1" : false), title=(flagItem.length > 1 ? flagItem[1] : false), data-bs-toggle=(flagItem.length > 1 ? "tooltip" : false)) #{flagItem[0]} + + +contentSection("Technical Details", true, "addressPageShowTechDetails") + +summaryRow(1 + (addressObj.hash ? 1 : 0) + (addressObj.hasOwnProperty("version") ? 1 : 0) + (result.validateaddress.hasOwnProperty("witness_version") ? 1 : 0) + (result.validateaddress.witness_program ? 1 : 0) + (electrumScripthash ? 1 : 0)) + if (addressObj.hasOwnProperty("version")) + +summaryItem("Version") + | #{addressObj.version} + + if (addressObj.hash) + +summaryItem("Hash 160") + | #{utils.ellipsizeMiddle(addressObj.hash.toString("hex"), 12)} + +copyTextButton(addressObj.hash.toString("hex")) + + +summaryItem("Script Pub Key") + | #{utils.ellipsizeMiddle(result.validateaddress.scriptPubKey, 12)} + +copyTextButton(result.validateaddress.scriptPubKey) + + if (result.validateaddress.hasOwnProperty("witness_version")) + +summaryItem("Witness Version") + | #{result.validateaddress.witness_version} + + if (result.validateaddress.witness_program) + +summaryItem("Witness Program") + | #{utils.ellipsizeMiddle(result.validateaddress.witness_program, 12)} + +copyTextButton(result.validateaddress.witness_program) + + if (electrumScripthash) + +summaryItem("Script Hash", "Electrum-lookup script hash") + | #{utils.ellipsizeMiddle(electrumScripthash, 12)} + +copyTextButton(electrumScripthash) + + + + .clearfix + .float-start + +sectionTitle(addressDetails && addressDetails.txCount ? `${addressDetails.txCount.toLocaleString()} Transaction${addressDetails.txCount == 1 ? "" : "s"}` : "Transactions") + .float-start + if (config.addressApi) + if (config.addressApi == "electrumx") + small.text-muted.border-dotted.ms-2(title=`The list of transaction IDs for this address was queried from ElectrumX (using the configured server(s))` data-bs-toggle="tooltip") Trust Note + else + small.text-muted.border-dotted.ms-2(title=`The list of transaction IDs for this address was queried from ${config.addressApi}` data-bs-toggle="tooltip") Trust Note + + .float-end + if (!crawlerBot && txids && txids.length > 1 && addressApiSupport.sortDesc && addressApiSupport.sortAsc) + div.float-end + a.pull-right.dropdown-toggle(href="#", data-bs-toggle="dropdown", aria-haspopup="true", aria-expanded="false") + if (sort == "desc") + span Newest First else - span Transactions + span Oldest First - if (config.addressApi) - if (config.addressApi == "electrumx") - small.text-muted.border-dotted.ms-2(title=`The list of transaction IDs for this address was queried from ElectrumX (using the configured server(s))` data-bs-toggle="tooltip") Trust Note - else - small.text-muted.border-dotted.ms-2(title=`The list of transaction IDs for this address was queried from ${config.addressApi}` data-bs-toggle="tooltip") Trust Note - - if (!crawlerBot && txids && txids.length > 1 && addressApiSupport.sortDesc && addressApiSupport.sortAsc) - div.float-end - a.pull-right.dropdown-toggle(href="#", data-bs-toggle="dropdown", aria-haspopup="true", aria-expanded="false") + div.dropdown-menu.dropdown-menu-end + a.dropdown-item(href=`./address/${address}`) if (sort == "desc") - span Newest First - else - span Oldest First + i.fa.fa-check + span Newest First + a.dropdown-item(href=`./address/${address}?sort=asc`) + if (sort != "desc") + i.fa.fa-check + span Oldest First - div.dropdown-menu.dropdown-menu-end - a.dropdown-item(href=`./address/${address}`) - if (sort == "desc") - i.fa.fa-check - span Newest First - a.dropdown-item(href=`./address/${address}?sort=asc`) - if (sort != "desc") - i.fa.fa-check - span Oldest First + else if (txids && txids.length > 1 && addressApiSupport.sortDesc && !addressApiSupport.sortAsc) + div.float-end + span.text-muted Newest First - else if (txids && txids.length > 1 && addressApiSupport.sortDesc && !addressApiSupport.sortAsc) - div.float-end - span.text-muted Newest First - - hr - - if (conflictedTxidResults) - div.alert.alert-warning.pb-0 - div.float-start(style="width: 55px; height: 50px; font-size: 18px;") - i.fas.fa-exclamation-triangle.fa-2x(style="margin-top: 10px;") - h4.alert-heading.h6.fw-bold Trust Warning - p - span The transaction history for this address was requested from mulitple ElectrumX servers and the results did not match. The results below were obtained only from - span.fw-bold #{electrumHistory.server} + +contentSection(null, false, null, true, false) + if (conflictedTxidResults) + div.alert.alert-warning.pb-0 + div.float-start(style="width: 55px; height: 50px; font-size: 18px;") + i.fas.fa-exclamation-triangle.fa-2x(style="margin-top: 10px;") + h4.alert-heading.h6.fw-bold Trust Warning + p + span The transaction history for this address was requested from mulitple ElectrumX servers and the results did not match. The results below were obtained only from + span.fw-bold #{electrumHistory.server} - if (true) - if (addressApiError && addressApiError.error && addressApiError.error.code && addressApiError.error.code == -32600) - span Failed to retrieve transaction history from ElectrumX. See - a(href="https://github.com/janoside/btc-rpc-explorer/issues/67") Issue #67 - span for more information. + if (true) + if (addressApiError && addressApiError.error && addressApiError.error.code && addressApiError.error.code == -32600) + span Failed to retrieve transaction history from ElectrumX. See + a(href="https://github.com/janoside/btc-rpc-explorer/issues/67") Issue #67 + span for more information. - else if (addressApiError && addressApiError.userText) + else if (addressApiError && addressApiError.userText) + +contentSection div.text-danger Error: #{addressApiError.userText} - else if (addressDetailsErrors && addressDetailsErrors.length > 0) + else if (addressDetailsErrors && addressDetailsErrors.length > 0) + +contentSection each err, errIndex in addressDetailsErrors if (err.e && err.e && err.e.message == "history too large") span Failed to retrieve transaction history from ElectrumX because this address is involved in too many transactions (more than ElectrumX currently supports retrieving). See @@ -307,16 +226,18 @@ block content span for more information. else if (err == "No address API configured") - span No address API is configured. See - a(href="https://github.com/janoside/btc-rpc-explorer/blob/master/.env-sample") the example configuration file - span for help setting up an address API if desired. + .mb-2 No address API is configured. + .mb-0 See + | the example configuration file + | for help setting up an address API. else span.text-danger Error retrieving transaction history (##{errIndex + 1}) pre code.json #{JSON.stringify(err, null, 4)} - else if (!global.txindexAvailable && transactions.length == 0) + else if (!global.txindexAvailable && transactions.length == 0) + +contentSection table.table.table-striped each txid, txidIndex in txids tr @@ -327,116 +248,29 @@ block content - var blockHeightParam = blockHeight > 0 ? `@${blockHeight}` : ""; a(href=`./tx/${txid}${blockHeightParam}`) #{txid} - else if (transactions.length == 0) + else if (transactions.length == 0) + +contentSection span No transactions found - each tx, txIndex in transactions - //pre - // code.json.bg-light #{JSON.stringify(tx, null, 4)} - div.card.shadow-sm(class=((txIndex < (transactions.length - 1) || txids.length > limit) ? "mb-3" : "")) - div.card-header.font-monospace.clearfix - div.float-start.me-0 - if (sort == "desc") - span ##{(addressDetails.txCount - offset - txIndex).toLocaleString()} - else - span ##{(offset + txIndex + 1).toLocaleString()} - span – - - div.row - div.col-md-8 - if (tx && tx.txid) - - var blockHeight = addressDetails.blockHeightsByTxid[tx.txid]; - - var blockHeightParam = !global.txindexAvailable && blockHeight > 0 ? `@${blockHeight}` : ""; - a(href=`./tx/${tx.txid}${blockHeightParam}`) #{tx.txid} - - if (global.specialTransactions && global.specialTransactions[tx.txid]) - span - a(data-bs-toggle="tooltip", title=`${coinConfig.name} Fun! See transaction for details`) - i.fas.fa-certificate.text-primary - - br - - if (addrGainsByTx[tx.txid]) - - var currencyValue = addrGainsByTx[tx.txid]; - span.text-success + - include includes/value-display.pug - - if (addrLossesByTx[tx.txid]) - span / - - if (addrLossesByTx[tx.txid]) - - var currencyValue = addrLossesByTx[tx.txid]; - span.text-danger - - include includes/value-display.pug - - div.col-md-4 - div.text-md-end - if (tx.time) - - var timestampHuman = tx.time; - include includes/timestamp-human.pug - - br - - - var timeAgoTime = tx.time; - small.text-muted ( - include includes/time-ago-text.pug - span ago) - - else - span.text-danger Unconfirmed - - div.card-body - if (true) - - var txInputs = txInputsByTransaction[tx.txid]; - - var blockHeight = blockHeightsByTxid[tx.txid]; - - var txIOHighlightAddress = address; - - include includes/transaction-io-details.pug - else - p Since this explorer is database-free, it doesn't natively support address transaction history. However, you can configure it to communicate with one or more ElectrumX servers to build and display this data. In doing so, you should be aware that you'll be trusting those ElectrumX servers. If you configure multiple servers the results obtained from each will be cross-referenced against the others. Communicating with ElectrumX servers will also impact your privacy since the servers will know what addresses you're interested in. If these tradeoffs are acceptable, you can see a list of public ElectrumX servers here: - a(href="https://uasf.saltylemon.org/electrum") https://uasf.saltylemon.org/electrum + - var txIOHighlightAddress = address; + - var options = {blockHeightsByTxid: blockHeightsByTxid, showDates: true, highlightAddress: address, addrGainsByTxid: addrGainsByTx, addrLossesByTxid: addrLossesByTx}; + +txList(transactions, addressDetails.txCount, limit, offset, txInputsByTransaction, options) + - if (false) - pre - code.json.bg-light #{JSON.stringify(transactions, null, 4)} - - if (!crawlerBot && addressDetails && addressDetails.txCount > limit) - - var txCount = addressDetails.txCount; - - var pageNumber = offset / limit + 1; - - var pageCount = Math.floor(txCount / limit); - - if (pageCount * limit < txCount) { - - pageCount++; - - } - - var paginationUrlFunction = function(x) { - - return paginationBaseUrl + "&limit=" + limit + "&offset=" + ((x - 1) * limit); - - } - - hr.mt-3 - - include includes/pagination.pug - - div.tab-pane(id="tab-json", role="tabpanel") - div.card.shadow-sm.mb-3 - div.card-body - h4.h6.mb-0 validateaddress - hr - - div.highlight - pre - code.json.bg-light(data-lang="json") #{JSON.stringify(result.validateaddress, null, 4)} + +pageTab("JSON") + +contentSection("validateaddress") + pre + code.json #{JSON.stringify(result.validateaddress, null, 4)} + if (addressDetails) - div.card.shadow-sm.mb-3 - div.card-body - h4.h6.mb-0 addressDetails - hr - - div.highlight - pre - code.json.bg-light #{JSON.stringify(addressDetails, null, 4)} + +contentSection("addressDetails") + pre + code.json #{JSON.stringify(addressDetails, null, 4)} + diff --git a/views/admin/dashboard.pug b/views/admin/dashboard.pug index 2c32db2..3ad731a 100644 --- a/views/admin/dashboard.pug +++ b/views/admin/dashboard.pug @@ -4,137 +4,169 @@ block headContent title Admin Dashboard block content - h1.h3 Admin Dashboard - hr + +pageTitle("Admin Dashboard") - ul.nav.nav-tabs.mb-3 - li.nav-item - a.nav-link.active(data-bs-toggle="tab", href="#tab-details", role="tab") Details - li.nav-item - a.nav-link(data-bs-toggle="tab", href="#tab-json", role="tab") JSON + +pageTabs(["Details", "JSON"]) - div.tab-content - div.tab-pane.active(id="tab-details", role="tabpanel") - div.card.shadow-sm.mb-3 - div.card-body - h3.h6 Basics - hr + .tab-content + +pageTab("Details", true) - div.clearfix - div.row - div.summary-table-label Uptime - div.summary-table-content.font-monospace - - var uptime = moment.duration(new Date().getTime() - appStartTime); - span #{uptime.format()} + +contentSection("Tools") + a.btn.btn-primary(href="./admin/resetUserSettings") Reset User Settings - div.row - div.summary-table-label Node Version - div.summary-table-content.font-monospace - span #{global.nodeVersion} + +contentSection("Basics") + +summaryRow(3) + +summaryItem("Uptime") + - var uptime = moment.duration(new Date().getTime() - appStartTime); + | #{uptime.format()} - div.row - div.summary-table-label Node Env - div.summary-table-content.font-monospace - span #{process.env.NODE_ENV || "development"} + +summaryItem("Node Version") + | #{global.nodeVersion} - div.card.shadow-sm.mb-3 - div.card-body - h3.h6 App Config - hr + +summaryItem("Node Env") + | #{process.env.NODE_ENV || "development"} - pre - code.json #{JSON.stringify(appConfig, null, 4)} + +contentSection("User Settings") + pre + code.json #{JSON.stringify(userSettings, null, 4)} - div.card.shadow-sm.mb-3 - div.card-body - h3.h6 Memory Stats - hr + +contentSection("App Config") + pre + code.json #{JSON.stringify(appConfig, null, 4)} - div.table-responsive - table.table.table-borderless.table-hover - thead - tr - th.text-end Heap Size - th.text-end Used Heap - th.text-end Heap Limit - th.text-end Physical Size - th.text-end Available Size + +contentSection("Memory Stats") + .table-responsive + table.table.table-borderless.table-hover.table-striped + thead + tr + th.text-end Heap Size + th.text-end Used Heap + th.text-end Heap Limit + th.text-end Physical Size + th.text-end Available Size - tbody - tr.text-end.font-monospace - td - - var data = utils.formatLargeNumber(memstats.total_heap_size, 2); - span #{data[0]} - small #{data[1].abbreviation}B + tbody + tr.text-end.font-monospace + td + - var data = utils.formatLargeNumber(memstats.total_heap_size, 2); + span #{data[0]} + small #{data[1].abbreviation}B - td - - var data = utils.formatLargeNumber(memstats.used_heap_size, 2); - span #{data[0]} - small #{data[1].abbreviation}B + td + - var data = utils.formatLargeNumber(memstats.used_heap_size, 2); + span #{data[0]} + small #{data[1].abbreviation}B - td - - var data = utils.formatLargeNumber(memstats.heap_size_limit, 2); - span #{data[0]} - small #{data[1].abbreviation}B + td + - var data = utils.formatLargeNumber(memstats.heap_size_limit, 2); + span #{data[0]} + small #{data[1].abbreviation}B - td - - var data = utils.formatLargeNumber(memstats.total_physical_size, 2); - span #{data[0]} - small #{data[1].abbreviation}B + td + - var data = utils.formatLargeNumber(memstats.total_physical_size, 2); + span #{data[0]} + small #{data[1].abbreviation}B - td - - var data = utils.formatLargeNumber(memstats.total_available_size, 2); - span #{data[0]} - small #{data[1].abbreviation}B + td + - var data = utils.formatLargeNumber(memstats.total_available_size, 2); + span #{data[0]} + small #{data[1].abbreviation}B if (JSON.stringify(cacheStats) != "{}") - div.card.shadow-sm.mb-3 - div.card-body - h3.h6 Cache Stats - hr + +contentSection("Cache Stats") + .table-responsive + table.table.table-borderless.table-hover.table-striped + thead + tr + th Cache + th.text-end Hit + th.text-end Miss + th.text-end Hit Rate - div.table-responsive - table.table.table-borderless.table-hover - thead - tr - th Cache - th.text-end Hit - th.text-end Miss - th.text-end Hit Rate + tbody + each item, itemName in cacheStats + tr.font-monospace + td #{itemName} + td.text-end #{item.hit.toLocaleString()} + td.text-end #{item.miss.toLocaleString()} + td.text-end + if (item.hit > 0 || item.miss > 0) + span #{(100 * item.hit / (item.hit + item.miss)).toLocaleString()} + small % + else + span - - tbody - each item, itemName in cacheStats - tr.font-monospace - td #{itemName} - td.text-end #{item.hit.toLocaleString()} - td.text-end #{item.miss.toLocaleString()} - td.text-end - if (item.hit > 0 || item.miss > 0) - span #{(100 * item.hit / (item.hit + item.miss)).toLocaleString()} - small % - else - span - + +contentSection("Cache Sizes") + pre + code.json #{JSON.stringify(cacheSizes, null, 4)} + - div.card.shadow-sm.mb-3 - div.card-body - h3.h6 Cache Sizes - hr + +contentSection("RPC Stats") + .table-responsive + table.table.table-borderless.table-striped + thead + tr + th Method + th.text-end Count + th.text-end Time + small (s) + th.text-end Avg Time + small (ms) + th.text-end Successes / Failures + th.text-end Success Rate - pre - code.json #{JSON.stringify(cacheSizes, null, 4)} + tbody + each item, itemName in rpcStats + tr.font-monospace + td #{itemName} + td.text-end #{item.count.toLocaleString()} + td.text-end #{(item.time / 1000).toLocaleString()} + td.text-end #{(item.time / item.count).toLocaleString()} + td.text-end + span.text-success #{item.successes.toLocaleString()} + span.mx-1 / + span.text-danger #{item.failures.toLocaleString()} - div.card.shadow-sm.mb-3 - div.card-body - h3.h6 RPC Stats - hr + td.text-end + span #{new Decimal(item.successes).dividedBy(new Decimal(item.successes + item.failures)).times(100).toDP(1)} + small % - div.table-responsive + if (electrumStats) + +contentSection("Electrum Stats") + .table-responsive table.table.table-borderless.table-striped thead tr - th Method + th Action + th.text-end Count + th.text-end First Seen + th.text-end Last Seen + + tbody + each item, itemName in electrumStats.base + tr.font-monospace + td #{itemName} + td.text-end #{item.count.toLocaleString()} + + if (item.firstSeenAt) + td.text-end #{moment.duration(new Date().getTime() - item.firstSeenAt.getTime()).format()} ago + else + td.text-end - + + if (item.lastSeenAt) + td.text-end #{moment.duration(new Date().getTime() - item.lastSeenAt.getTime()).format()} ago + else + td.text-end - + + hr + + .table-responsive + table.table.table-borderless.table-striped + thead + tr + th RPC th.text-end Count th.text-end Time small (s) @@ -144,7 +176,7 @@ block content th.text-end Success Rate tbody - each item, itemName in rpcStats + each item, itemName in electrumStats.rpc tr.font-monospace td #{itemName} td.text-end #{item.count.toLocaleString()} @@ -159,110 +191,38 @@ block content span #{new Decimal(item.successes).dividedBy(new Decimal(item.successes + item.failures)).times(100).toDP(1)} small % - if (electrumStats) - div.card.shadow-sm.mb-3 - div.card-body - h3.h6 Electrum Stats - hr - div.table-responsive - table.table.table-borderless.table-striped - thead - tr - th Action - th.text-end Count - th.text-end First Seen - th.text-end Last Seen + +contentSection("Error Stats") + if (JSON.stringify(errorStats) == "{}") + span.text-success No errors encountered - tbody - each item, itemName in electrumStats.base - tr.font-monospace - td #{itemName} - td.text-end #{item.count.toLocaleString()} + else + div.table-responsive + table.table.table-borderless.table-striped + thead + tr + th Error ID + th.text-end Count + th.text-end First Seen + th.text-end Last Seen - if (item.firstSeenAt) - td.text-end #{moment.duration(new Date().getTime() - item.firstSeenAt.getTime()).format()} ago - else - td.text-end - + tbody + each item, itemName in errorStats + tr.font-monospace + td #{itemName} + td.text-end #{item.count.toLocaleString()} + td.text-end #{moment.duration(new Date().getTime() - item.firstSeen).format()} ago + td.text-end #{moment.duration(new Date().getTime() - item.lastSeen).format()} ago - if (item.lastSeenAt) - td.text-end #{moment.duration(new Date().getTime() - item.lastSeenAt.getTime()).format()} ago - else - td.text-end - - - hr - - div.table-responsive - table.table.table-borderless.table-striped - thead - tr - th RPC - th.text-end Count - th.text-end Time - small (s) - th.text-end Avg Time - small (ms) - th.text-end Successes / Failures - th.text-end Success Rate - - tbody - each item, itemName in electrumStats.rpc - tr.font-monospace - td #{itemName} - td.text-end #{item.count.toLocaleString()} - td.text-end #{(item.time / 1000).toLocaleString()} - td.text-end #{(item.time / item.count).toLocaleString()} - td.text-end - span.text-success #{item.successes.toLocaleString()} - span.mx-1 / - span.text-danger #{item.failures.toLocaleString()} - - td.text-end - span #{new Decimal(item.successes).dividedBy(new Decimal(item.successes + item.failures)).times(100).toDP(1)} - small % - - div.card.shadow-sm.mb-3 - div.card-body - h3.h6 Error Stats - hr - - if (JSON.stringify(errorStats) == "{}") - span.text-success No errors encountered - - else - div.table-responsive - table.table.table-borderless.table-striped - thead - tr - th Error ID - th.text-end Count - th.text-end First Seen - th.text-end Last Seen - - tbody - each item, itemName in errorStats - tr.font-monospace - td #{itemName} - td.text-end #{item.count.toLocaleString()} - td.text-end #{moment.duration(new Date().getTime() - item.firstSeen).format()} ago - td.text-end #{moment.duration(new Date().getTime() - item.lastSeen).format()} ago + + +pageTab("JSON") + +contentSection("Memory Stats") + pre + code.json #{JSON.stringify(memstats, null, 4)} + + +contentSection("Error Stats") + pre + code.json #{JSON.stringify(errorStats, null, 4)} - div.tab-pane(id="tab-json", role="tabpanel") - div.card.shadow-sm.mb-3 - div.card-body - h3.h6 Memory Stats - hr - div.highlight - pre - code.json #{JSON.stringify(memstats, null, 4)} - - div.card.shadow-sm.mb-3 - div.card-body - h3.h6 Error Stats - hr - - div.highlight - pre - code.json #{JSON.stringify(errorStats, null, 4)} diff --git a/views/admin/stats.pug b/views/admin/stats.pug index 1273243..e31db7e 100644 --- a/views/admin/stats.pug +++ b/views/admin/stats.pug @@ -4,93 +4,82 @@ block headContent title Stats block content - h1.h3 Stats - hr + +pageTitle("Admin Stats") - div.card.shadow-sm.mb-3 - div.card-body - h3.h6 Performance Stats - hr + +contentSection("Performance Stats") + .table-responsive + table.table.table-borderless.table-striped + thead + tr + th Name + th.text-end Min + th.text-end Avg + th.text-end Max + th.text-end Sum + th.text-end Count + th.text-end First + th.text-end Latest - div.table-responsive - table.table.table-borderless.table-striped - thead - tr - th Name - th.text-end Min - th.text-end Avg - th.text-end Max - th.text-end Sum - th.text-end Count - th.text-end First - th.text-end Latest - - tbody - each item, itemIndex in performanceStats - tr.font-monospace - td #{item[0]} - td.text-end #{Math.round(item[1].min).toLocaleString()} - td.text-end #{Math.round(item[1].avg).toLocaleString()} - td.text-end #{Math.round(item[1].max).toLocaleString()} - td.text-end #{Math.round(item[1].sum).toLocaleString()} - td.text-end #{Math.round(item[1].count).toLocaleString()} - td.text-end - - var dt = moment.duration(new Date().getTime() - item[1].firstDate.getTime()); - span #{dt.format()} - td.text-end - - var dt = moment.duration(new Date().getTime() - item[1].lastDate.getTime()); - span #{dt.format()} - - div.card.shadow-sm.mb-3 - div.card-body - h3.h6 Event Stats - hr - - div.table-responsive - table.table.table-borderless.table-striped - thead - tr - th Name - th.text-end Count - - tbody - each item, itemIndex in eventStats - tr.font-monospace - td #{item[0]} - td.text-end #{item[1].toLocaleString()} - - div.card.shadow-sm.mb-3 - div.card-body - h3.h6 Value Stats - hr - - div.table-responsive - table.table.table-borderless.table-striped - thead - tr - th Name - th.text-end Min - th.text-end Avg - th.text-end Max - th.text-end Sum - th.text-end Count - th.text-end First - th.text-end Latest - - tbody - each item, itemIndex in valueStats - tr.font-monospace - td #{item[0]} - td.text-end #{Math.round(item[1].min).toLocaleString()} - td.text-end #{Math.round(item[1].avg).toLocaleString()} - td.text-end #{Math.round(item[1].max).toLocaleString()} - td.text-end #{Math.round(item[1].sum).toLocaleString()} - td.text-end #{Math.round(item[1].count).toLocaleString()} - td.text-end - - var dt = moment.duration(new Date().getTime() - item[1].firstDate.getTime()); - span #{dt.format()} - td.text-end - - var dt = moment.duration(new Date().getTime() - item[1].lastDate.getTime()); - span #{dt.format()} + tbody + each item, itemIndex in performanceStats + tr.font-monospace + td #{item[0]} + td.text-end #{Math.round(item[1].min).toLocaleString()} + td.text-end #{Math.round(item[1].avg).toLocaleString()} + td.text-end #{Math.round(item[1].max).toLocaleString()} + td.text-end #{Math.round(item[1].sum).toLocaleString()} + td.text-end #{Math.round(item[1].count).toLocaleString()} + td.text-end + - var dt = moment.duration(new Date().getTime() - item[1].firstDate.getTime()); + span #{dt.format()} + td.text-end + - var dt = moment.duration(new Date().getTime() - item[1].lastDate.getTime()); + span #{dt.format()} + + + +contentSection("Event Stats") + .table-responsive + table.table.table-borderless.table-striped + thead + tr + th Name + th.text-end Count + + tbody + each item, itemIndex in eventStats + tr.font-monospace + td #{item[0]} + td.text-end #{item[1].toLocaleString()} + + + +contentSection("Value Stats") + .table-responsive + table.table.table-borderless.table-striped + thead + tr + th Name + th.text-end Min + th.text-end Avg + th.text-end Max + th.text-end Sum + th.text-end Count + th.text-end First + th.text-end Latest + + tbody + each item, itemIndex in valueStats + tr.font-monospace + td #{item[0]} + td.text-end #{Math.round(item[1].min).toLocaleString()} + td.text-end #{Math.round(item[1].avg).toLocaleString()} + td.text-end #{Math.round(item[1].max).toLocaleString()} + td.text-end #{Math.round(item[1].sum).toLocaleString()} + td.text-end #{Math.round(item[1].count).toLocaleString()} + td.text-end + - var dt = moment.duration(new Date().getTime() - item[1].firstDate.getTime()); + span #{dt.format()} + td.text-end + - var dt = moment.duration(new Date().getTime() - item[1].lastDate.getTime()); + span #{dt.format()} diff --git a/views/bitcoin-whitepaper.pug b/views/bitcoin-whitepaper.pug index b9eebcb..7ef93e1 100644 --- a/views/bitcoin-whitepaper.pug +++ b/views/bitcoin-whitepaper.pug @@ -4,20 +4,15 @@ block headContent title Bitcoin Whitepaper block content - div.row - div.col - h1.h3 Bitcoin Whitepaper - - hr + +pageTitle("Bitcoin Whitepaper", "(Extracted from the blockchain!)") - p Below is the Bitcoin whitepaper, extracted from data in the Bitcoin blockchain (transaction - a.font-monospace(href="./tx/54e48e5f5c656b26c3bca14a8c95aa583d07ebe84dde3b7dd4a78f4e4186e713") 54e48e5f5c6… - | to be precise), served by your Bitcoin Core node. + +dismissableInfoAlert("whitepaperPageNoteDismissed", "About the Bitcoin Whitepaper Tool...") + p Below is the Bitcoin whitepaper, extracted from data in the Bitcoin blockchain (transaction + a.font-monospace(href="./tx/54e48e5f5c656b26c3bca14a8c95aa583d07ebe84dde3b7dd4a78f4e4186e713") 54e48e5f5c6… + span.ms-2 to be precise), served by your Bitcoin Core node. - p The data has been decoded by this tool and is displayed in an iframe below. You can view it directly and/or download it at - a(href="./bitcoin.pdf") /bitcoin.pdf - |. - - hr + p The data has been decoded by this tool and is displayed in an iframe below. You can view it directly and/or download it at + a(href="./bitcoin.pdf") /bitcoin.pdf + |. iframe(src="./bitcoin.pdf", style="width: 100%;", height="800") diff --git a/views/block-analysis-search.pug b/views/block-analysis-search.pug index d34f45a..f071228 100644 --- a/views/block-analysis-search.pug +++ b/views/block-analysis-search.pug @@ -4,8 +4,7 @@ block headContent title Block Analysis block content - h1.h3 Block Analysis - hr + +pageTitle("Block Analysis") div.card.shadow-sm.mb-huge div.card-body diff --git a/views/block-analysis.pug b/views/block-analysis.pug index cc67bf8..756e346 100644 --- a/views/block-analysis.pug +++ b/views/block-analysis.pug @@ -4,16 +4,21 @@ block headContent title Block Analysis ##{result.getblock.height.toLocaleString()}, #{result.getblock.hash} block content - h1.h3 Block Analysis - small.font-monospace(style="width: 100%;") ##{result.getblock.height.toLocaleString()} - br - small.font-monospace.word-wrap(style="width: 100%;") #{result.getblock.hash} + + + .mb-3 + .clearfix + .float-start + if (result.getblock) + a.btn.btn-sm.btn-primary.ms-2(href=`./block/${result.getblock.hash}`) « Block Details + + .float-end + hr - div.mb-2 - if (result.getblock) - a.btn.btn-sm.btn-primary.mb-1(href=`./block/${result.getblock.hash}`) « Block Details: - span.font-monospace ##{result.getblock.height.toLocaleString()} + + +pageTitle("Block Analysis", result.getblock.hash, true) + if (block && (!block.tx || block.tx.length == 0) && global.prunedBlockchain) div.alert.alert-warning.pb-0(role="alert") @@ -22,263 +27,207 @@ block content | !{markdown(msgMarkdown)} else - div.row - - var sumTableLabelClass = (result.blockstats != null ? "summary-split-table-label" : "summary-table-label"); - - var sumTableValueClass = (result.blockstats != null ? "summary-split-table-content" : "summary-table-content"); - div.mb-3.col - div.card.shadow-sm(style="height: 100%;") - div.card-body.px-2.px-md-3 - h3.h6.mb-0 Summary - hr + +contentSection("Summary") + +summaryRow(3 + (result.getblock.weight ? 1 : (result.getblock.size ? 1 : 0))) + +summaryItem("Date") + +timestamp(result.getblock.time, true) - div.clearfix - div.row - div.summary-table-label Date - div.summary-table-content.font-monospace - - var timestampHuman = result.getblock.time; - include includes/timestamp-human.pug - small.ms-1 utc + if (result.getblock.weight) + +summaryItem("Weight", null, "wu", "Weight Units") + | #{result.getblock.weight.toLocaleString()} - - var timeAgoTime = result.getblock.time; - span.text-muted.ms-2 ( - include includes/time-ago-text.pug - span ago) - - if (result.getblock.weight) - div.row - div.summary-table-label Weight - div.summary-table-content.font-monospace - span #{result.getblock.weight.toLocaleString()} - small wu - - span.text-muted (#{new Decimal(100 * result.getblock.weight / coinConfig.maxBlockWeight).toDecimalPlaces(2)}% full) - - else if (result.getblock.size) - div.row - div.summary-table-label Size - div.summary-table-content.font-monospace #{result.getblock.size.toLocaleString()} - small B - - div.row - div.summary-table-label Transactions - div.summary-table-content.font-monospace #{result.getblock.nTx.toLocaleString()} - - div.row - div.summary-table-label Confirmations - div.summary-table-content.font-monospace - if (result.getblock.confirmations < 6) - span.fw-bold.text-warning #{result.getblock.confirmations.toLocaleString()} - a(data-bs-toggle="tooltip", title="Fewer than 6 confirmations is generally considered 'unsettled' for high-value transactions. The applicability of this guidance may vary.") - i.fas.fa-unlock-alt - else - span.fw-bold.text-success #{result.getblock.confirmations.toLocaleString()} - a(data-bs-toggle="tooltip", title="6 confirmations is generally considered 'settled'. High-value transactions may require more; low-value transactions may require less.") - i.fas.fa-lock + else if (result.getblock.size) + +summaryItem("Size", null, "B", "Bytes") + | #{result.getblock.size.toLocaleString()} - div#progress-wrapper.mb-huge - div.card.shadow-sm.mb-3 - div.card-body - h4.h6 Loading transactions: + +summaryItem("Transactions") + | #{result.getblock.nTx.toLocaleString()} + + +summaryItem("Confirmations") + +confirmations(result.getblock.confirmations, false) + + #progress-wrapper.mb-huge + .card.shadow-sm.mb-3 + .card-body + span Loading transactions: span(id="progress-text") - div.progress.mt-2(id="progress-bar", style="height: 7px;") - div.progress-bar(id="data-progress", role="progressbar", aria-valuenow="0", aria-valuemin="0" ,aria-valuemax="100") + .progress.mt-2(id="progress-bar", style="height: 7px;") + .progress-bar(id="data-progress", role="progressbar", aria-valuenow="0", aria-valuemin="0" ,aria-valuemax="100") - div#main-content(style="display: none;") - div.row - div.col-xl-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Top Value Transactions - hr + #main-content(style="display: none;") + .row + .col-xl-6 + +contentSection("Top Value Transactions") + .table-responsive + table.table.table-striped.table-borderless.mb-0 + thead + tr + th.data-header Transaction + th.data-header.text-end Output Value - div.table-responsive - table.table.table-striped.mb-0 + tbody(id="tbody-top-value-tx") + tr.font-monospace.row-prototype(style="display: none;") + td.data-tx-link + td.text-end.data-tx-value + + tr.hidden-row-to-fix-striping.d-none + + .col-xl-6 + +contentSection("Top Size Transactions") + .table-responsive + table.table.table-striped.table-borderless.mb-0 + thead + tr + th.data-header Transaction + th.data-header.text-end Size + small.fw-normal.text-muted.ms-2 (vB) + + tbody(id="tbody-top-size-tx") + tr.font-monospace.row-prototype(style="display: none;") + td.data-tx-link + td.text-end.data-tx-value + + tr.hidden-row-to-fix-striping.d-none + + + if (global.txindexAvailable) + .col-xl-6 + +contentSection("Top Fee Transactions") + .table-responsive + table.table.table-striped.table-borderless.mb-0 thead tr th.data-header Transaction - th.data-header.text-end Output Value + th.data-header.text-end Fee - tbody(id="tbody-top-value-tx") + tbody(id="tbody-top-fee-tx") tr.font-monospace.row-prototype(style="display: none;") td.data-tx-link td.text-end.data-tx-value - div.col-xl-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Top Size Transactions - hr + tr.hidden-row-to-fix-striping.d-none - div.table-responsive - table.table.table-striped.mb-0 + + .col-xl-6 + +contentSection("Top Fee Rate Transactions") + .table-responsive + table.table.table-striped.table-borderless.mb-0 thead tr th.data-header Transaction - th.data-header.text-end Size + th.data-header.text-end Fee Rate + small.text-muted.fw-normal.ms-2 (sat/vB) - tbody(id="tbody-top-size-tx") + tbody(id="tbody-top-fee-rate-tx") tr.font-monospace.row-prototype(style="display: none;") td.data-tx-link td.text-end.data-tx-value - if (global.txindexAvailable) - div.col-xl-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Top Fee Transactions - hr + tr.hidden-row-to-fix-striping.d-none - div.table-responsive - table.table.table-striped.mb-0 - thead - tr - th.data-header Transaction - th.data-header.text-end Fee - - tbody(id="tbody-top-fee-tx") - tr.font-monospace.row-prototype(style="display: none;") - td.data-tx-link - td.text-end.data-tx-value - - div.col-xl-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Top Fee Rate Transactions - hr - - div.table-responsive - table.table.table-striped.mb-0 - thead - tr - th.data-header Transaction - th.data-header.text-end Fee Rate - - tbody(id="tbody-top-fee-rate-tx") - tr.font-monospace.row-prototype(style="display: none;") - td.data-tx-link - td.text-end.data-tx-value if (global.txindexAvailable) - div.col-lg-6.mb-3 - div.card.shadow-sm(style="height: 100%;") + .col-lg-6.mb-3 + +sectionTitle("Input Types") + .card.shadow-sm div.card-body - h3.h6.mb-0 Input Types - hr - - table.table.table-striped.mb-0 + span#no-input-types-data.text-muted(style="display: none;") No data + table.table.table-striped.table-borderless.mb-0 tbody(id="tbody-input-types") tr.font-monospace.row-prototype(style="display: none;") td - small.data-tag.bg-dark.data-type + span.badge.bg-dark.data-type td.data-count - - div.col-lg-6.mb-3(class=(!global.txindexAvailable ? "col-lg-12" : "")) - div.card.shadow-sm(style="height: 100%;") - div.card-body - h3.h6.mb-0 Output Types - hr - table.table.table-striped.mb-0 + tr.hidden-row-to-fix-striping.d-none + + .col-lg-6.mb-3(class=(!global.txindexAvailable ? "col-lg-12" : "")) + +sectionTitle("Output Types") + .card.shadow-sm + .card-body + table.table.table-striped.table-borderless.mb-0 tbody(id="tbody-output-types") tr.font-monospace.row-prototype(style="display: none;") td - small.data-tag.bg-dark.data-type + span.badge.bg-dark.data-type td.data-count - div.row - div.col-lg-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Transaction Value - hr + tr.hidden-row-to-fix-striping.d-none - canvas(id="graph-tx-value") + .row + .col-lg-6 + +contentSection("Transaction Value") + canvas(id="graph-tx-value") - div.col-lg-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Transaction Value Distribution - hr + - canvas(id="chart-tx-value-distribution") + .col-lg-6 + +contentSection("Transaction Value Distribution") + canvas(id="chart-tx-value-distribution") + if (global.txindexAvailable) - div.col-lg-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Transaction Fee - hr + .col-lg-6 + +contentSection("Transaction Fee") + canvas(id="graph-tx-fee") - canvas(id="graph-tx-fee") + - div.col-lg-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Transaction Fee Distribution - hr + .col-lg-6 + +contentSection("Transaction Fee Distribution") + canvas(id="chart-tx-fee-distribution") - canvas(id="chart-tx-fee-distribution") + - div.col-lg-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Transaction Fee Rate - hr + .col-lg-6 + +contentSection("Transaction Fee Rate") + canvas(id="graph-tx-fee-rate") + - canvas(id="graph-tx-fee-rate") + - div.col-lg-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Transaction Fee Rate Distribution - hr + .col-lg-6 + +contentSection("Transaction Fee Rate Distribution") + canvas(id="chart-tx-fee-rate-distribution") - canvas(id="chart-tx-fee-rate-distribution") + - div.col-lg-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Transaction Size - hr + .col-lg-6 + +contentSection("Transaction Size") + canvas(id="graph-tx-size") - canvas(id="graph-tx-size") + - div.col-lg-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Transaction Size Distribution - hr + .col-lg-6 + +contentSection("Transaction Size Distribution") + canvas(id="chart-tx-size-distribution") - canvas(id="chart-tx-size-distribution") + - div.col-lg-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Transaction Input Count - hr + .col-lg-6 + +contentSection("Transaction Input Count") + canvas(id="graph-tx-inputs") - canvas(id="graph-tx-inputs") - div.col-lg-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Transaction Output Count - hr - - canvas(id="graph-tx-outputs") + .col-lg-6 + +contentSection("Transaction Output Count") + canvas(id="graph-tx-outputs") block endOfBody - var txidChunkSize = 10; - script(src="./js/chart.bundle.min.js", integrity="sha384-qgOtiGNaHh9fVWUnRjyHlV39rfbDcvPPkEzL1RHvsHKbuqUqM6uybNuVnghY2z4/") + +graphPageScriptSetup + script(src='./js/decimal.js') + + script. var txidChunkSize = !{txidChunkSize}; var prunedBlock = !{(block && (!block.tx || block.tx.length == 0) && global.prunedBlockchain)}; @@ -288,7 +237,7 @@ block endOfBody var blockHash = "!{result.getblock.hash}"; var satsMultiplier = !{coinConfig.baseCurrencyUnit.multiplier}; var vByteSizes = false; - + $(document).ready(function() { if (!prunedBlock) { loadTransactions(txidChunks, txidChunkSize, txidChunks.length * txidChunkSize); @@ -375,7 +324,7 @@ block endOfBody row.removeClass("row-prototype"); - row.find(".data-tx-link").html(`${item.txid.substring(0, 32)}…`); + row.find(".data-tx-link").html(`${item.txid.substring(0, 24)}…`); row.find(".data-tx-value").text(item.value); updateCurrencyValue(row.find(".data-tx-value"), item.value); @@ -396,7 +345,7 @@ block endOfBody row.removeClass("row-prototype"); - row.find(".data-tx-link").html(`${item.txid.substring(0, 32)}…`); + row.find(".data-tx-link").html(`${item.txid.substring(0, 24)}…`); row.find(".data-tx-value").text(item.value); updateCurrencyValue(row.find(".data-tx-value"), item.value); @@ -417,8 +366,8 @@ block endOfBody row.removeClass("row-prototype"); - row.find(".data-tx-link").html(`${item.txid.substring(0, 32)}…`); - row.find(".data-tx-value").html(`${parseInt(item.value).toLocaleString()} sat/${vByteSizes ? "v" : ""}B`); + row.find(".data-tx-link").html(`${item.txid.substring(0, 24)}…`); + row.find(".data-tx-value").html(`${parseInt(item.value).toLocaleString()}`); row.show(); @@ -436,8 +385,8 @@ block endOfBody row.removeClass("row-prototype"); - row.find(".data-tx-link").html(`${item.txid.substring(0, 32)}…`); - row.find(".data-tx-value").html(`${parseInt(item.value).toLocaleString()} ${vByteSizes ? "v" : ""}B`); + row.find(".data-tx-link").html(`${item.txid.substring(0, 24)}…`); + row.find(".data-tx-value").html(`${parseInt(item.value).toLocaleString()}`); row.show(); @@ -468,6 +417,10 @@ block endOfBody return b.count - a.count; }); + if (sortedInputs.length == 0) { + $("#no-input-types-data").show(); + } + for (var i = 0; i < sortedInputs.length; i++) { var item = sortedInputs[i]; @@ -532,6 +485,9 @@ block endOfBody display: true, labelString: 'Index in Block' }, + gridLines: { + color: gridLineColor + } //ticks: { // stepSize: 100, //} @@ -539,7 +495,10 @@ block endOfBody yAxes: [{ scaleLabel: { display: true, - labelString: yLabelStr + labelString: yLabelStr, + }, + gridLines: { + color: gridLineColor } }] } @@ -569,9 +528,17 @@ block endOfBody display: false }, scales: { + xAxes: [{ + gridLines: { + color: gridLineColor + } + }], yAxes: [{ ticks: { beginAtZero:true + }, + gridLines: { + color: gridLineColor } }] } diff --git a/views/block-stats.pug b/views/block-stats.pug index 4305c24..05f9f71 100644 --- a/views/block-stats.pug +++ b/views/block-stats.pug @@ -4,8 +4,7 @@ block headContent title Block Block block content - h1.h3 Block Stats - hr + +pageTitle("Block Stats") if (rpcApiUnsupportedError) div.alert.alert-danger(style="margin-bottom: 200px;") @@ -17,90 +16,64 @@ block content else - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Block Range - hr + +dismissableInfoAlert("blockStatsPageNoteDismissed", "About Block Stats...") + | !{markdown("The **Block Stats** tool queries a range of blocks from Bitcoin Core and summarizes the data via graphs. These graphs sometimes expose interesting trends and sometimes show boring, steady-state operation of the network.")} + | Use the Filters section below to select the range of blocks to analyze and select the subset of graphs displayed. - div.clearfix - div.float-start.me-4 - div(id="time-range-buttons") - h3.h6 Latest N Blocks - div.btn-group - a.btn.btn-primary.block-count-btn(href="javascript:void(0)", data-blockCount="144") 144 - small.ms-2 (~1d) - a.btn.btn-outline-primary.block-count-btn(href="javascript:void(0)", data-blockCount="432") 432 - small.ms-2 (~3d) - a.btn.btn-outline-primary.block-count-btn(href="javascript:void(0)", data-blockCount="1008") 1,008 - small.ms-2 (~7d) - a.btn.btn-outline-primary.block-count-btn(href="javascript:void(0)", data-blockCount="4320") 4,320 - small.ms-2 (~30d) + - div.float-start.me-4 - div(id="block-selections-buttons") - h3.h6 Preconfigured - div.dropdown - button.btn.btn-outline-primary.dropdown-toggle(type="button", id="preconfigured-dropdown", data-bs-toggle="dropdown", aria-haspopup="true", aria-expanded="false") Selections - div.dropdown-menu(aria-labelledby="preconfigured-dropdown") - a.dropdown-item(href="javascript:void(0)", data-blocks="0-199") First 200 Blocks - a.dropdown-item(href="javascript:void(0)", data-blocks="209900-210100") First Halving ±100 - a.dropdown-item(href="javascript:void(0)", data-blocks="419900-420100") Second Halving ±100 - a.dropdown-item(href="javascript:void(0)", data-blocks="629900-630100") Third Halving ±100 - a.dropdown-item(href="javascript:void(0)", data-blocks="481724-481924") SegWit Activation ±100 + - var graphIds = ["fee-rates", "max-fee-rates", "total-fee", "min-fees", "max-fees", "inputs-outputs", "tx-sizes", "max-tx-sizes", "volumes", "weights-sizes", "sw-txs", "subsidy", "mediantime", "txs", "utxo_increase"]; + + - var graphTitles = ["Fee Rates (avg, median, min)", "Maximum Fee Rate", "Total Fees", "Minimum Tx Fee", "Maximum Tx Fee", "Input / Output Count", "Tx Sizes (avg, median, min)", "Maximum Tx Size", "Output Volume", "Block Weight and Size", "SegWit Tx Count", "Subsidy", "Timestamp", "Tx Count", "UTXO Δ"]; - div.float-start - div(id="time-range-buttons") - h3.h6 Custom Range + +contentSection("Filters") + .mb-3 + +blockRangeFilters - form.form-inline.me-3(id="custom-range-form") - div.input-group - input.form-control(type="text", id="custom-range-start", placeholder="min height", style="width: 125px;") - input.form-control(type="text", id="custom-range-end", placeholder="max height", style="width: 125px;") - - button.btn.btn-primary(type="submit") Go + hr + + div.mb-2 + span.border-dotted(title="Select the list of graphs to be displayed.", data-bs-toggle="tooltip") Active Graphs + + .clearfix + each graphId, graphIndex in graphIds + div.float-start.me-3.mb-1 + div.form-check + input.form-check-input.graph-toggle-checkbox(type="checkbox", id=`checkbox-${graphId}` checked="checked", data-graphId=graphId, autocomplete="off") + label.form-check-label(for=("checkbox-" + graphId)) #{graphTitles[graphIndex]} + + .float-start.me-3.mb-1 + a.me-3(id="link-show-all", href="javascript:void(0)") show all + a(id="link-hide-all", href="javascript:void(0)") hide all + div#progress-wrapper.mb-huge div.card.shadow-sm.mb-3 div.card-body - h4.h6 Loading blocks: + span Loading blocks: span(id="block-progress-text") div.progress.mt-2(id="progress-bar", style="height: 7px;") div.progress-bar(id="data-progress", role="progressbar", aria-valuenow="0", aria-valuemin="0" ,aria-valuemax="100") - - var graphIds = ["fee-rates", "max-fee-rates", "total-fee", "min-fees", "max-fees", "inputs-outputs", "tx-sizes", "max-tx-sizes", "volumes", "weights-sizes", "sw-txs", "subsidy", "mediantime", "txs", "utxo_increase"]; - - var graphTitles = ["Fee Rates (avg, median, min)", "Maximum Fee Rate", "Total Fees", "Minimum Tx Fee", "Maximum Tx Fee", "Input / Output Count", "Tx Sizes (avg, median, min)", "Maximum Tx Size", "Output Volume", "Block Weight and Size", "SegWit Tx Count", "Subsidy", "Timestamp", "Tx Count", "UTXO Δ"]; div(id="main-content", style="display: none;") - div.card.shadow-sm.mb-3 - div.card-body - div.clearfix - each graphId, graphIndex in graphIds - div.float-start.me-3.mb-1 - div.form-check - input.form-check-input.graph-toggle-checkbox(type="checkbox", id=`checkbox-${graphId}` checked="checked", data-graphId=graphId, autocomplete="off") - label.form-check-label(for=("checkbox-" + graphId)) #{graphTitles[graphIndex]} - - div.float-start.me-3.mb-1 - a.me-3(id="link-show-all", href="javascript:void(0)") show all - a(id="link-hide-all", href="javascript:void(0)") hide all - - div.row.clearfix + .row.clearfix each graphId, graphIndex in graphIds - div.col-lg-6.float-start - div.card.shadow-sm.mb-3.graph-wrapper(id=`graph-wrapper-${graphId}`) - div.card-body - h3.h6.mb-0 #{graphTitles[graphIndex]} - hr - - canvas.mb-3(id=graphId) + .col-lg-6.float-start + .graph-wrapper(id=`graph-wrapper-${graphId}`) + +sectionTitle(graphTitles[graphIndex]) + .card.shadow-sm.mb-3 + .card-body + canvas.mb-3(id=graphId) block endOfBody - script(src="./js/chart.bundle.min.js", integrity="sha384-qgOtiGNaHh9fVWUnRjyHlV39rfbDcvPPkEzL1RHvsHKbuqUqM6uybNuVnghY2z4/") + +graphPageScriptSetup + script(src='./js/decimal.js') script. @@ -389,6 +362,9 @@ block endOfBody scaleLabel: { display: false, //labelString: names[i] + }, + gridLines: { + color: gridLineColor } }); } @@ -423,6 +399,19 @@ block endOfBody display: true, labelString: 'Block' }, + gridLines: { + color: gridLineColor + } + }], + yAxes: [{ + type: 'linear', + position: 'left', + scaleLabel: { + display: false, + }, + gridLines: { + color: gridLineColor + } }], } } diff --git a/views/block.pug b/views/block.pug index af56cd5..6169af6 100644 --- a/views/block.pug +++ b/views/block.pug @@ -8,10 +8,278 @@ block headContent block content if (result.getblock) - h1.h3 Block - small.font-monospace(style="width: 100%;") ##{result.getblock.height.toLocaleString()} - br - small.font-monospace.word-wrap(style="width: 100%;") #{result.getblock.hash} + + .mb-3 + .clearfix + .float-start + if (result.getblock.previousblockhash) + a.btn.btn-sm.btn-primary.ms-2(href=`./block/${result.getblock.previousblockhash}`, title=`Block ${(result.getblock.height - 1).toLocaleString()}`, data-bs-toggle="tooltip") « Prev Block + + else if (result.getblock.hash == genesisBlockHash) + span.btn.btn-sm.btn-success.ms-2 Genesis Block! + + if (result.getblock.nextblockhash) + a.btn.btn-sm.btn-primary.ms-2(href=`./block/${result.getblock.nextblockhash}`, title=`Block ${(result.getblock.height + 1).toLocaleString()}`, data-bs-toggle="tooltip") Next Block + span.ms-1 » + else + span.btn.btn-sm.btn-success.ms-2 Latest Block! + + .float-end + if (result.getblock.tx != null && result.getblock.tx.length > 0) + a.btn.btn-primary.btn-sm.me-2(href=`./block-analysis/${result.getblock.hash}`, title="See a summary analysis of all transactions in this block.", data-bs-toggle="tooltip") + i.fas.fa-angle-double-down.me-2 + | Block Analysis + hr - include includes/block-content.pug \ No newline at end of file + +pageTitle(`Block #${result.getblock.height.toLocaleString()}`, result.getblock.hash, true) + + + + +pageTabs(["Details", "JSON"]) + + - var txCount = result.getblock.nTx; + + + .tab-content + +pageTab("Details", true) + + + if (global.specialBlocks && global.specialBlocks[result.getblock.hash]) + - var sbInfo = global.specialBlocks[result.getblock.hash]; + + +funAlert(sbInfo.alertBodyHtml, sbInfo.summary, sbInfo.referenceUrl) + + + .clearfix + .float-end + if (`${userSettings["blockPageShowFeeSummary"]}` == "false") + a.btn.btn-primary.btn-sm.me-2.mb-2(href=`./changeSetting?name=blockPageShowFeeSummary&value=true`, title="Display fee details for this block.", data-bs-toggle="tooltip") + i.far.fa-plus-square.me-2 + | Fee Details + + if (`${userSettings["blockPageShowTechSummary"]}` == "false") + a.btn.btn-primary.btn-sm.me-2.mb-2(href=`./changeSetting?name=blockPageShowTechSummary&value=true`, title="Display technical details for this block.", data-bs-toggle="tooltip") + i.far.fa-plus-square.me-2 + | Technical Details + + + + +contentSection("Summary") + +summaryRow(2 + (result.getblock.miner ? 1 : 0) + (result.blockstats ? 1 : 0)) + +summaryItem("Date") + +timestamp(result.getblock.time, true) + + + +summaryItem("Confirmations") + +confirmations(result.getblock.confirmations, false) + + + if (result.getblock.miner) + +summaryItem("Miner") + if (result.getblock.miner.identifiedBy) + span.badge.bg-primary(data-bs-toggle="tooltip", title=`Identified by: ${result.getblock.miner.identifiedBy}`) #{result.getblock.miner.name} + + else + small.badge.bg-primary #{result.getblock.miner.name} + + if (result.blockstats) + +summaryItem("Total Output", "Total value of all transaction outputs") + if (result.blockstats.total_out) + - var currencyValue = new Decimal(result.blockstats.total_out).plus(new Decimal(result.blockstats.totalfee)).plus(new Decimal(result.blockstats.subsidy)); + - currencyValue = currencyValue.dividedBy(coinConfig.baseCurrencyUnit.multiplier); + include ./includes/value-display.pug + else + span 0 + + if (result.blockstats && result.blockstats.ins && result.blockstats.ins > 0) + +contentSection("Fee Details", true, "blockPageShowFeeSummary", true) + +summaryRow(3 + (result.blockstats.feerate_percentiles ? 1 : 0)) + +summaryItem("Total Fees") + if (result.blockstats.totalfee) + - var currencyValue = new Decimal(result.blockstats.totalfee).dividedBy(coinConfig.baseCurrencyUnit.multiplier); + include ./includes/value-display.pug + + else + - var currencyValue = new Decimal(result.getblock.totalFees); + include ./includes/value-display.pug + + if (result.blockstats.feerate_percentiles) + +summaryItem("Rate Percentiles", null, "sat/vB") + - var percentiles = [[10, 0], [50, 2], [90, 4]]; + + if (true) + .d-flex.justify-content-start.justify-content-md-center + each item, itemIndex in percentiles + .text-start.text-md-center(style="width: 75px;") + span.text-muted #{item[0]} + sup th + + br + | #{result.blockstats.feerate_percentiles[item[1]]} + + + +summaryItem("Min / Max Rates", null, "sat/vB") + if (result.blockstats.minfeerate || result.blockstats.minfeerate == 0) + span #{result.blockstats.minfeerate.toLocaleString()} + + else + span ? + + span.mx-2 - + + if (result.blockstats.maxfeerate) + span #{result.blockstats.maxfeerate.toLocaleString()} + + else + span ? + + +summaryItem("Min / Max Values") + if (result.blockstats.minfee) + - var currencyValue = new Decimal(result.blockstats.minfee).dividedBy(coinConfig.baseCurrencyUnit.multiplier); + include ./includes/value-display.pug + else + span 0 + + br + + if (result.blockstats.maxfee) + - var currencyValue = new Decimal(result.blockstats.maxfee).dividedBy(coinConfig.baseCurrencyUnit.multiplier); + include ./includes/value-display.pug + else + span 0 + + +contentSection("Technical Details", true, "blockPageShowTechSummary") + +summaryRow(6 + (result.getblock.weight ? 1 : 0) + (result.getblock.size ? 1 : 0) + (result.blockstats ? 1 : 0) + (result.blockstats && result.blockstats.utxo_increase ? 1 : 0) + (result.blockstats && result.blockstats.maxtxsize ? 1 : 0)) + if (result.getblock.weight) + +summaryItem("Weight", null, "wu", "Weight Units") + span #{result.getblock.weight.toLocaleString()} + + - var full = new Decimal(result.getblock.weight).dividedBy(coinConfig.maxBlockWeight).times(100); + - var full2 = full.toDP(0); + + small.text-muted.ms-1 + | ( + span.border-dotted(title=`${full.toDP(2)}% full`, data-bs-toggle="tooltip") + if (full >= 99 || full2 == 99) + span.text-success 99+% + + else + span.text-primary #{full2}% + | ) + + if (result.getblock.size) + +summaryItem("Size", null, "B", "Bytes") + | #{result.getblock.size.toLocaleString()} + + if (result.blockstats) + +summaryItem("Inputs / Outputs", "Total inputs and outputs across all transactions in the block") + if (result.blockstats.ins) + | #{result.blockstats.ins.toLocaleString()} + else + | 0 + + span.text-muted.mx-1 / + + if (result.blockstats.outs) + | #{result.blockstats.outs.toLocaleString()} + else + | 1 + + +summaryItem("Difficulty") + - var difficultyData = utils.formatLargeNumber(result.getblock.difficulty, 3); + + span(title=parseFloat(result.getblock.difficulty).toLocaleString(), data-bs-toggle="tooltip") + span #{difficultyData[0]} + span x 10 + sup #{difficultyData[1].exponent} + + if (result.blockstats && result.blockstats.utxo_increase) + +summaryItem("UTXO Δ") + - var sizePlusMinus = (result.blockstats.utxo_size_inc > 0) ? "+" : "-"; + - var sizeDeltaData = utils.formatLargeNumber(Math.abs(result.blockstats.utxo_size_inc), 1); + - var plusMinus = (result.blockstats.utxo_increase > 0) ? "+" : ""; + + span #{plusMinus}#{result.blockstats.utxo_increase.toLocaleString()} + + if (result.blockstats && result.blockstats.maxtxsize) + +summaryItem("Min / Max Tx Size", null, "B", "Bytes") + if (result.blockstats.mintxsize) + span #{result.blockstats.mintxsize.toLocaleString()} + else + span 0 + + span.text-muted.mx-1 - + + if (result.blockstats.maxtxsize) + span #{result.blockstats.maxtxsize.toLocaleString()} + else + span 0 + + +summaryItem("Version") + | 0x#{result.getblock.versionHex} + + +summaryItem("Nonce") + | #{result.getblock.nonce} + + +summaryItem("Bits") + | #{result.getblock.bits} + + +summaryItem("Merkle Root") + | #{utils.ellipsizeMiddle(result.getblock.merkleroot, 12)} + +copyTextButton(result.getblock.merkleroot) + + +summaryItem("Chain Work", null, "hashes") + - var chainworkData = utils.formatLargeNumber(parseInt("0x" + result.getblock.chainwork), 2); + + span #{chainworkData[0]} + span x 10 + sup #{chainworkData[1].exponent} + + + if (!result.getblock.tx || result.getblock.tx.length == 0) + +contentSection(`${txCount.toLocaleString()} Transaction${txCount>1?'s':''}`) + span.me-2(title="This data is unavailable due to blockchain pruning", data-bs-toggle="tooltip") + i.fas.fa-backspace.text-danger + + | Transaction details unavailable due to blockchain pruning + + else + +contentSection(`${txCount.toLocaleString()} Transaction${txCount == 1 ? "" : "s"}`, false, "blockPageShowTxDetails", true, false) + +txList(result.transactions, txCount, limit, offset, result.txInputsByTransaction, {sharedBlockHeight: result.getblock.height}) + + + + +pageTab("JSON") + - var blockDetails = JSON.parse(JSON.stringify(result.getblock)); + - blockDetails.tx = "See 'Transaction IDs'"; + + - var pillTabs = ["Block Summary", "Transaction IDs"]; + if (result.blockstats) + - pillTabs.push("Block Stats"); + + +pillTabs(pillTabs) + + + div.tab-content + +pageTab("Block Summary", true) + +contentSection("Block Summary") + div.highlight + pre + code.json #{JSON.stringify(blockDetails, null, 4)} + + + + +pageTab("Transaction IDs") + +contentSection("Transaction IDs") + div.highlight + pre + code.json #{JSON.stringify(result.getblock.tx, null, 4)} + + if (result.blockstats) + +pageTab("Block Stats") + +contentSection("Block Stats") + div.highlight + pre + code.json #{JSON.stringify(result.blockstats, null, 4)} + diff --git a/views/blocks.pug b/views/blocks.pug index 9fae09b..f73a72a 100644 --- a/views/blocks.pug +++ b/views/blocks.pug @@ -4,8 +4,7 @@ block headContent title Blocks block content - h1.h3 Blocks - hr + +pageTitle("Blocks") if (blocks) nav(aria-label="Page navigation") @@ -19,21 +18,15 @@ block content a.page-link(href=(sort == "asc" ? "javascript:void(0)" : `./blocks?limit=${limit}&offset=0&sort=asc`)) span(aria-hidden="true") Oldest blocks first - div.card.shadow-sm.mb-3 - div.card-body - include includes/blocks-list.pug + + +contentSection + include includes/blocks-list.pug + + if (blockCount > limit) + .border.border-2.mt-4 + + .mt-4 + +pagination(limit, offset, sort, blockCount, paginationBaseUrl, "center", true) - if (blockCount > limit) - - var pageNumber = offset / limit + 1; - - var pageCount = Math.floor(blockCount / limit); - - if (pageCount * limit < blockCount) { - - pageCount++; - - } - - var paginationUrlFunction = function(x) { - - return paginationBaseUrl + "?limit=" + limit + "&offset=" + ((x - 1) * limit + "&sort=" + sort); - - } - - div.pt-5 - include includes/pagination.pug else p No blocks found diff --git a/views/changelog.pug b/views/changelog.pug index 113b3a7..0953740 100644 --- a/views/changelog.pug +++ b/views/changelog.pug @@ -4,12 +4,9 @@ block headContent title Changelog style. - code { padding: 0px 3px; border: solid 1px #ccc; border-radius: 3px; background-color: #ccc; color: black; } block content - h1.h3 Changelog - hr + +pageTitle("Changelog / Release Notes") - div.card.shadow-sm.mb-3 - div.card-body - | !{changelogHtml} \ No newline at end of file + +contentSection + | !{changelogHtml} \ No newline at end of file diff --git a/views/connect.pug b/views/connect.pug index 8b5d7ef..38b1f67 100644 --- a/views/connect.pug +++ b/views/connect.pug @@ -1,8 +1,7 @@ extends layout block content - h1.h3 RPC Connect - hr + +pageTitle("RPC Connect") form(method="post", action="./connect") input(type="hidden", name="_csrf", value=csrfToken) diff --git a/views/difficulty-history.pug b/views/difficulty-history.pug index 896750d..c488f3b 100644 --- a/views/difficulty-history.pug +++ b/views/difficulty-history.pug @@ -4,25 +4,25 @@ block headContent title Difficulty History block content - h1.h3 Difficulty History - hr + +pageTitle("Difficulty History") + - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Explanation - hr + +dismissableInfoAlert("diffHistPageNoteDismissed", "About the Difficulty Adjustment...") + h6.mb-2 About the Difficulty Adjustment - ul.mb-0 - li Mining difficulty adjusts automatically every #{coinConfig.difficultyAdjustmentBlockCount.toLocaleString()} blocks. - li The adjustment aims to maintain an average block-mining time of #{coinConfig.targetBlockTimeMinutes} minutes. - li A growth in the difficulty indicates that the average block-mining time during the previous adjustment epoch was less than #{coinConfig.targetBlockTimeMinutes} minutes (due to more miners joining the network and searching for blocks). - li A drop in difficulty indicates miners have left the network so finding each block is adjusted to be easier for the smaller number remaining. - li The numeric Difficulty is a multiple of the difficulty of finding the easiest block (Block #0) - e.g. blocks in BTC mainnet epoch 308 are over 16 trillion times harder to mine than those in epoch 0. + ul.mb-0.ms-n3 + li Mining difficulty adjusts automatically every #{coinConfig.difficultyAdjustmentBlockCount.toLocaleString()} blocks. + li The adjustment aims to maintain an average block-mining time of #{coinConfig.targetBlockTimeMinutes} minutes. + li An increase in the difficulty indicates that the average block-mining time during the previous adjustment epoch was less than #{coinConfig.targetBlockTimeMinutes} minutes (due to more miners joining the network and searching for blocks). + li A decrease in difficulty indicates miners have left the network so finding each block is adjusted to be easier for the smaller number remaining. + li The numeric Difficulty is a multiple of the difficulty of finding the easiest block (Block #0) - e.g. blocks in BTC mainnet epoch 308 are over 16 trillion times harder to mine than those in epoch 0. + + div#progress-wrapper.mb-huge div.card.shadow-sm.mb-3 div.card-body - h4.h6 Loading data: + span Loading data: span(id="progress-text") div.progress.mt-2(id="progress-bar", style="height: 7px;") div.progress-bar(id="data-progress", role="progressbar", aria-valuenow="0", aria-valuemin="0" ,aria-valuemax="100") @@ -31,27 +31,34 @@ block content div#main-content(style="display: none;") div.row div.col - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Difficulty History - hr + +contentSection("Difficulty History") + canvas(id="graph-diff-hist") - canvas(id="graph-diff-hist") + - div.row + div.row div.col - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Difficulty Change (clamped to ±100%) - hr + .clearfix + .float-start + +sectionTitle("Difficulty Δ") + .float-start + small.text-muted.ms-2 + | (clamped to ±100%) - canvas(id="graph-diff-change") + +contentSection + canvas(id="graph-diff-change") block endOfBody - script(src="./js/chart.bundle.min.js", integrity="sha384-qgOtiGNaHh9fVWUnRjyHlV39rfbDcvPPkEzL1RHvsHKbuqUqM6uybNuVnghY2z4/") + +graphPageScriptSetup + script(src='./js/decimal.js') + + script. + Chart.defaults.global.defaultFontSize = 14; + + script. var blockCount = !{blockCount}; @@ -143,6 +150,9 @@ block endOfBody display: true, labelString: 'Difficulty Epoch' }, + gridLines: { + color: gridLineColor + } //ticks: { // stepSize: 100, //} @@ -151,6 +161,20 @@ block endOfBody scaleLabel: { display: true, labelString: yLabelStr + }, + gridLines: { + color: gridLineColor + }, + ticks: { + callback: function(value, index, values) { + if (value > 1000) { + var exp = Math.floor(Math.log10(value)); + return (value / Math.pow(10, exp)).toLocaleString() + "e" + exp; + + } else { + return value; + } + } } }] } diff --git a/views/error.pug b/views/error.pug index 556ea4d..f8b7e8d 100644 --- a/views/error.pug +++ b/views/error.pug @@ -1,16 +1,15 @@ extends layout block content - h1 Error - hr + +pageTitle("Error") if (message) pre - code.json.bg-light !{message} + code.json.bg-body !{message} else p Unknown error if (error) h2 #{error.status} pre - code.json.bg-light #{error.stack} + code.json.bg-body #{error.stack} diff --git a/views/fun.pug b/views/fun.pug index cbe5f39..68fee67 100644 --- a/views/fun.pug +++ b/views/fun.pug @@ -4,52 +4,57 @@ block headContent title #{coinConfig.name} Fun block content - h1.h3 #{coinConfig.name} Fun - hr + +pageTitle(`${coinConfig.name} Fun`) - div.card.shadow-sm.mb-3 - div.card-body - p Below is a list of fun/interesting things in the #{coinConfig.name} blockchain. Some are historical firsts, others are just fun or cool. - - div.table-responsive - table.table.table-striped - thead - tr - th.data-header Date - th.data-header Description - th.data-header Link - th.data-header Reference - tbody - each item, index in coinConfig.historicalData - if (item.chain == activeBlockchain) - tr - td.data-cell #{item.date} - td.data-cell #{item.summary} - - td.data-cell.font-monospace - if (item.type == "tx") - a(href=`./tx/${item.txid}@${item.blockHeight}`, title=item.txid, data-bs-toggle="tooltip") Tx #{utils.ellipsize(item.txid, 23)} - else if (item.type == "block") - a(href=`./block/${item.blockHash}`, title=`Block ${item.blockHash}`, data-bs-toggle="tooltip") Block #{utils.ellipsize(item.blockHash, 20)} - else if (item.type == "blockheight") - a(href=`./block/${item.blockHash}`) Block ##{item.blockHeight} - else if (item.type == "address") - a(href=`./address/${item.address}`, title=item.address, data-bs-toggle="tooltip") Address #{utils.ellipsize(item.address, 18)} - else if (item.type == "link") - a(href=item.url) #{item.url.substring(0, 20)}... + +dismissableInfoAlert("funPageNoteDismissed", "About Bitcoin Fun...") + .mb-2 This is a curated list of fun and interesting things in the blockchain or related to the underlying data: + ul + li Historical firsts + li Technical quirks and oddities + li Cultural references + .mb-0 Help curating this list is welcome! You can submit new items by opening an issue or PR on Github. + + + +contentSection + .table-responsive + table.table.table-borderless.table-striped + thead + tr + th.data-header Date + th.data-header Item + th.data-header Reference + tbody + each item, index in coinConfig.historicalData + if (item.chain == activeBlockchain) + tr + td.data-cell #{item.date} + + if (true) td.data-cell - if (item.referenceUrl && item.referenceUrl.trim().length > 0) - - var matches = item.referenceUrl.match(/^https?\:\/\/([^\/:?#]+)(?:[\/:?#]|$)/i); + if (item.type == "tx") + a(href=`./tx/${item.txid}@${item.blockHeight}`) #{item.summary} + else if (item.type == "block") + a(href=`./block/${item.blockHash}`) #{item.summary} + else if (item.type == "blockheight") + a(href=`./block/${item.blockHash}`) #{item.summary} + else if (item.type == "address") + a(href=`./address/${item.address}`) #{item.summary} + else if (item.type == "link") + a(href=item.url) #{item.summary} + + td.data-cell + if (item.referenceUrl && item.referenceUrl.trim().length > 0) + - var matches = item.referenceUrl.match(/^https?\:\/\/([^\/:?#]+)(?:[\/:?#]|$)/i); - - var domain = null; - - var domain = matches && matches[1]; + - var domain = null; + - var domain = matches && matches[1]; - if (domain) - a(href=item.referenceUrl, rel="nofollow") #{domain} - i.fas.fa-external-link-alt - else - a(href=item.referenceUrl, rel="nofollow") Reference + if (domain) + a(href=item.referenceUrl, rel="nofollow") #{domain} + i.fas.fa-external-link-alt else - span - + a(href=item.referenceUrl, rel="nofollow") Reference + else + span - diff --git a/views/includes/block-content.pug b/views/includes/block-content.pug deleted file mode 100644 index f8ae9fd..0000000 --- a/views/includes/block-content.pug +++ /dev/null @@ -1,483 +0,0 @@ -div.mb-2 - if (result.getblock.previousblockhash) - a.btn.btn-sm.btn-primary.mb-1(href=`./block/${result.getblock.previousblockhash}`) « Prev Block: - span.font-monospace ##{(result.getblock.height - 1).toLocaleString()} - - else if (result.getblock.hash == genesisBlockHash) - span.btn.btn-sm.btn-secondary.disabled.mb-1 « Prev Block: none (genesis block) - - span.mx-2 - - if (result.getblock.nextblockhash) - a.btn.btn-sm.btn-primary.mb-1(href=`./block/${result.getblock.nextblockhash}`) Next Block: - span.font-monospace ##{(result.getblock.height + 1).toLocaleString()} - span » - else - a.btn.btn-sm.btn-secondary.disabled.mb-1 Next Block: N/A - small (latest block) - -ul.nav.nav-tabs.mb-3 - li.nav-item - a.nav-link.active(data-bs-toggle="tab", href="#tab-details", role="tab") Details - li.nav-item - a.nav-link(data-bs-toggle="tab", href="#tab-json", role="tab") JSON - -- var txCount = result.getblock.nTx; - -div.tab-content - div.tab-pane.active(id="tab-details", role="tabpanel") - if (global.specialBlocks && global.specialBlocks[result.getblock.hash]) - div.alert.alert-primary.shadow-sm.pb-0 - div.float-start(style="width: 55px; height: 55px; font-size: 18px;") - i.fas.fa-certificate.fa-2x(style="margin-top: 10px;") - h4.alert-heading.h6.fw-bold #{coinConfig.name} Fun - - // special transaction info - - var sbInfo = global.specialBlocks[result.getblock.hash]; - if (sbInfo.alertBodyHtml) - p - span !{sbInfo.alertBodyHtml} - - if (sbInfo.referenceUrl && sbInfo.referenceUrl.trim().length > 0 && sbInfo.alertBodyHtml.indexOf(sbInfo.referenceUrl) == -1) - span   - a(href=sbInfo.referenceUrl) Read more - - else - p - span #{sbInfo.summary} - - if (sbInfo.referenceUrl && sbInfo.referenceUrl.trim().length > 0) - span   - a(href=sbInfo.referenceUrl) Read more - - div.row - - var sumTableLabelClass = (result.blockstats != null ? "summary-split-table-label" : "summary-table-label"); - - var sumTableValueClass = (result.blockstats != null ? "summary-split-table-content" : "summary-table-content"); - - div.mb-3(class=(result.blockstats != null ? "col-md-6 pr-0" : "col-md-12")) - div.card.shadow-sm(style="height: 100%;") - div.card-body.px-2.px-md-3 - h3.h6.mb-0 Summary - hr - - div.clearfix - div.row - div(class=sumTableLabelClass) Date - div.font-monospace(class=sumTableValueClass) - - var timestampHuman = result.getblock.time; - include ./timestamp-human.pug - small.ms-1 utc - - - var timeAgoTime = result.getblock.time; - span.text-muted.ms-2 ( - include ./time-ago-text.pug - span ago) - - if (result.blockstats) - div.row - div(class=sumTableLabelClass) - span.border-dotted(title="Total value of all transaction outputs", data-bs-toggle="tooltip") - span Total Output - div.font-monospace(class=sumTableValueClass) - if (result.blockstats.total_out) - - var currencyValue = new Decimal(result.blockstats.total_out).plus(new Decimal(result.blockstats.totalfee)).plus(new Decimal(result.blockstats.subsidy)); - - currencyValue = currencyValue.dividedBy(coinConfig.baseCurrencyUnit.multiplier); - include ./value-display.pug - else - span 0 - - if (result.blockstats) - div.row - div(class=sumTableLabelClass) - span.border-dotted(title="Total number of inputs and outputs", data-toggle="tooltip") - span In # - span.text-muted.font-weight-normal.mx-1 / - span Out # - div.text-monospace(class=sumTableValueClass) - if (result.blockstats.ins) - span #{result.blockstats.ins.toLocaleString()} - else - span 0 - - span.text-muted.mx-1 / - - if (result.blockstats.outs) - span #{result.blockstats.outs.toLocaleString()} - else - span 1 - - if (result.blockstats) - div.row - div(class=sumTableLabelClass) - span.border-dotted(title="Change in number (and size) of UTXO set.", data-toggle="tooltip") - span UTXO Δ - div.text-monospace(class=sumTableValueClass) - - var sizePlusMinus = (result.blockstats.utxo_size_inc > 0) ? "+" : "-"; - - var sizeDeltaData = utils.formatLargeNumber(Math.abs(result.blockstats.utxo_size_inc), 1); - - var plusMinus = (result.blockstats.utxo_increase > 0) ? "+" : ""; - if (result.blockstats.utxo_increase) - span #{plusMinus}#{result.blockstats.utxo_increase.toLocaleString()} - span.text-muted (#{sizePlusMinus}#{sizeDeltaData[0]} - small #{sizeDeltaData[1].abbreviation}B - span ) - else - span 0 - - if (result.blockstats && result.blockstats.maxtxsize) - div.row - div(class=sumTableLabelClass) Min, Max Tx Size - div.text-monospace(class=sumTableValueClass) - if (result.blockstats.mintxsize) - span #{result.blockstats.mintxsize.toLocaleString()} - else - span 0 - - span.text-muted.mx-1 - - - if (result.blockstats.maxtxsize) - span #{result.blockstats.maxtxsize.toLocaleString()} - small B - else - span 0 - - if (result.getblock.coinbaseTx) - - var blockRewardMax = coinConfig.blockRewardFunction(result.getblock.height, activeBlockchain); - - var coinbaseTxTotalOutputValue = new Decimal(0); - each vout in result.getblock.coinbaseTx.vout - - coinbaseTxTotalOutputValue = coinbaseTxTotalOutputValue.plus(new Decimal(vout.value)); - - if (parseFloat(coinbaseTxTotalOutputValue) < blockRewardMax) - div.row - div(class=sumTableLabelClass) - span.border-dotted(data-bs-toggle="tooltip" title="The miner of this block failed to collect this value. As a result, it is permanently lost.") Value Destroyed - div.font-monospace.text-danger(class=sumTableValueClass) - - var currencyValue = new Decimal(blockRewardMax).minus(coinbaseTxTotalOutputValue); - include ./value-display.pug - - else if (result.getblock.subsidy != null) - div.row - div(class=sumTableLabelClass) - span.border-dotted(title="Value of the block subsidy", data-bs-toggle="tooltip") - span Subsidy - div.font-monospace(class=sumTableValueClass) - - var currencyValue = new Decimal(result.getblock.subsidy); - include ./value-display.pug - - if (result.getblock.weight) - div.row - div(class=sumTableLabelClass) Weight - div.text-monospace(class=sumTableValueClass) - span #{result.getblock.weight.toLocaleString()} - small wu - - span.text-muted (#{new Decimal(100 * result.getblock.weight / coinConfig.maxBlockWeight).toDecimalPlaces(2)}% full) - - if (result.getblock.size) - div.row - div(class=sumTableLabelClass) Size - div.text-monospace(class=sumTableValueClass) #{result.getblock.size.toLocaleString()} - small B - - if (result.getblock.miner) - div.row - div(class=sumTableLabelClass) Miner - div.font-monospace(class=sumTableValueClass) - if (result.getblock.miner.identifiedBy) - span.badge.bg-primary(data-bs-toggle="tooltip", title=`Identified by: ${result.getblock.miner.identifiedBy}`) #{result.getblock.miner.name} - - else - small.data-tag.bg-primary #{result.getblock.miner.name} - - div.row - div(class=sumTableLabelClass) Confirmations - div.font-monospace(class=sumTableValueClass) - if (result.getblock.confirmations < 6) - span.fw-bold.text-warning #{result.getblock.confirmations.toLocaleString()} - a(data-bs-toggle="tooltip", title="Fewer than 6 confirmations is generally considered 'unsettled' for high-value transactions. The applicability of this guidance may vary.") - i.fas.fa-unlock-alt - else - span.fw-bold.text-success #{result.getblock.confirmations.toLocaleString()} - a(data-bs-toggle="tooltip", title="6 confirmations is generally considered 'settled'. High-value transactions may require more; low-value transactions may require less.") - i.fas.fa-lock - - if (result.blockstats) - div.col-md-6.mb-3 - div.card.shadow-sm(style="height: 100%;") - div.card-body.px-2.px-md-3 - h3.h6.mb-0 Fees Summary - hr - - div.clearfix - if (result.blockstats.ins == 0 || !result.blockstats.ins) - span.font-monospace N/A (no inputs) - - else - div.row - div.summary-split-table-label Total - div.summary-split-table-content.font-monospace - if (result.blockstats.totalfee) - - var currencyValue = new Decimal(result.blockstats.totalfee).dividedBy(coinConfig.baseCurrencyUnit.multiplier); - include ./value-display.pug - - else - - var currencyValue = new Decimal(result.getblock.totalFees); - include ./value-display.pug - - if (result.blockstats) - div.row - div.summary-split-table-label Rate Percentiles - br - small.fw-normal (sat/vB) - div.summary-split-table-content.font-monospace - div.clearfix - each item, itemIndex in [10, 25, 50, 75, 90] - div.float-start.me-3 - span.fw-bold #{item}% - br - - if (result.blockstats.feerate_percentiles) - span #{JSON.stringify(result.blockstats.feerate_percentiles[itemIndex])} - else - span - - - if (result.getblock.totalFees > 0) - div.row - div.summary-split-table-label - span.border-dotted(title="These are the fee rates (fee per tx weight) for transactions in this block - min, avg, and max.", data-bs-toggle="tooltip") Fee Rates - br - small.fw-normal (min, avg, max) - - div.summary-split-table-content.font-monospace - if (result.blockstats.minfeerate) - span #{result.blockstats.minfeerate.toLocaleString()} - small.ms-1 sat/vB - else - span ? - - br - - if (result.blockstats.avgfeerate) - span #{result.blockstats.avgfeerate.toLocaleString()} - small.ms-1 sat/vB - - else - - var currencyValue = new Decimal(result.getblock.totalFees).dividedBy(result.getblock.strippedsize).times(coinConfig.baseCurrencyUnit.multiplier).toDecimalPlaces(1); - span #{currencyValue} - - br - - if (result.blockstats.maxfeerate) - span #{result.blockstats.maxfeerate.toLocaleString()} - small.ms-1 sat/vB - else - span ? - - if (result.blockstats) - div.row - div.summary-split-table-label - span.border-dotted(title="These are the overall fee values (min, avg, max) for transactions included in this block. The min and max values correspond to specific transactions in this block; the avg is an estimate.", data-bs-toggle="tooltip") Fee Values - br - small.fw-normal (min, avg, max) - div.summary-split-table-content.font-monospace - if (result.blockstats.minfee) - - var currencyValue = new Decimal(result.blockstats.minfee).dividedBy(coinConfig.baseCurrencyUnit.multiplier); - include ./value-display.pug - else - span 0 - - br - - if (result.blockstats.avgfee) - - var currencyValue = new Decimal(result.blockstats.avgfee).dividedBy(coinConfig.baseCurrencyUnit.multiplier); - include ./value-display.pug - else - span 0 - - br - - if (result.blockstats.maxfee) - - var currencyValue = new Decimal(result.blockstats.maxfee).dividedBy(coinConfig.baseCurrencyUnit.multiplier); - include ./value-display.pug - else - span 0 - - div.card.shadow-sm.mb-3 - div.card-body.px-2.px-md-3 - div.clearfix - div.float-left.mr-2 - h3.h6.mb-0 Technical Details - - div.float-right - if (!session.blockPageShowTechSummary || session.blockPageShowTechSummary == "true") - a(href="./changeSetting?name=blockPageShowTechSummary&value=false") hide - else - a(href="./changeSetting?name=blockPageShowTechSummary&value=true") show - - div(id="tech-details-wrapper", class=(session.blockPageShowTechSummary == "true" ? "" : "d-none")) - hr - - div.row - div.col-md-6 - div.row - div.summary-split-table-label Difficulty - div.summary-split-table-content.font-monospace - - var difficultyData = utils.formatLargeNumber(result.getblock.difficulty, 3); - - span(title=parseFloat(result.getblock.difficulty).toLocaleString(), data-bs-toggle="tooltip") - span #{difficultyData[0]} - span x 10 - sup #{difficultyData[1].exponent} - - div.row - div.summary-split-table-label Version - div.summary-split-table-content.font-monospace 0x#{result.getblock.versionHex} - span.text-muted (decimal: #{result.getblock.version}) - - div.row - div.summary-split-table-label Nonce - div.summary-split-table-content.font-monospace #{result.getblock.nonce} - - div.row - div.summary-split-table-label Bits - div.summary-split-table-content.font-monospace #{result.getblock.bits} - - div.row - div.summary-split-table-label Merkle Root - div.summary-split-table-content.font-monospace #{result.getblock.merkleroot} - - div.row - div.summary-split-table-label Chainwork - div.summary-split-table-content.font-monospace - - var chainworkData = utils.formatLargeNumber(parseInt("0x" + result.getblock.chainwork), 2); - - span #{chainworkData[0]} - span x 10 - sup #{chainworkData[1].exponent} - small hashes - - span.text-muted (#{result.getblock.chainwork.replace(/^0+/, '')}) - - - if (!result.getblock.tx || result.getblock.tx.length == 0) - div.card.shadow-sm.mb-3: div.card-body.px-2.px-md-3 - h2.h6.mb-0.d-inline-block #{txCount.toLocaleString()} Transaction#{txCount>1?'s':''} - .text-muted.pt-2 - span.me-2(title="This data is unavailable due to blockchain pruning", data-bs-toggle="tooltip") - i.fas.fa-backspace.text-danger - - | Details unavailable due to blockchain pruning - else - div.card.shadow-sm.mb-3: div.card-body.px-2.px-md-3 - div.row - div.col-md-4 - h2.h6.mb-0.d-inline-block #{txCount.toLocaleString()} - if (txCount == 1) - span Transaction - else - span Transactions - - if (result.getblock.tx != null && result.getblock.tx.length > 0) - a.ms-2.border-dotted(href=`./block-analysis/${result.getblock.hash}`, title="See a summary analysis of all transactions in this block.", data-bs-toggle="tooltip") See Block Analysis » - - if (false || (!config.demoSite && !crawlerBot && txCount > 20)) - div.col-md-8.text-end - small.me-1.text-muted Show - div.btn-group(role="group") - a.btn.btn-sm.btn-primary.px-2.py-0(href=`${paginationBaseUrl}?limit=20`, class=((limit == 20 && txCount > limit) ? "active" : false)) 20 - - if (txCount > 50) - a.btn.btn-sm.btn-primary.px-2.py-0(href=`${paginationBaseUrl}?limit=50` class=(limit == 50 ? "active" : false)) 50 - - if (txCount > 100) - a.btn.btn-sm.btn-primary.px-2.py-0(href=`${paginationBaseUrl}?limit=100`, class=(limit == 100 ? "active" : false)) 100 - - a.btn.btn-sm.btn-primary.px-2.py-0(href=`${paginationBaseUrl}?limit=3000`, class=(limit >= txCount ? "active" : false)) all - - hr - - - var fontawesomeInputName = "sign-in-alt"; - - var fontawesomeOutputName = "sign-out-alt"; - - div - - tx_height_param = !global.txindexAvailable ? `@${result.getblock.height}` : '' - each tx, txIndex in result.transactions - div.card.shadow-sm(class=(" " + ((txIndex < (result.transactions.length - 1) || txCount > limit) ? "mb-3" : ""))) - div.card-header.font-monospace - if (tx && tx.txid) - span(title=`Index in Block: #${(txIndex + offset).toLocaleString()}`, data-bs-toggle="tooltip") ##{(txIndex + offset).toLocaleString()} - span –  - a(href=`./tx/${tx.txid}${tx_height_param}`) #{tx.txid} - - if (global.specialTransactions && global.specialTransactions[tx.txid]) - span   - a(data-bs-toggle="tooltip", title=`${coinConfig.name} Fun! See transaction for details`) - i.fas.fa-certificate.text-primary - - div.card-body.px-2.px-md-3 - if (true) - - var txInputs = result.txInputsByTransaction[tx.txid]; - - var blockHeight = result.getblock.height; - - include ./transaction-io-details.pug - - - if (!crawlerBot && txCount > limit) - - var pageNumber = offset / limit + 1; - - var pageCount = Math.floor(txCount / limit); - - if (pageCount * limit < txCount) { - - pageCount++; - - } - - var paginationUrlFunction = function(x) { - - return paginationBaseUrl + "?limit=" + limit + "&offset=" + ((x - 1) * limit); - - } - - hr - - include ./pagination.pug - - div.tab-pane(id="tab-json", role="tabpanel") - - var blockDetails = JSON.parse(JSON.stringify(result.getblock)); - - blockDetails.tx = "See 'Transaction IDs'"; - - ul.nav.nav-pills.mb-3 - li.nav-item - a.nav-link.active(data-bs-toggle="tab", href="#tab-json-block-summary", role="tab") Block Summary - li.nav-item - a.nav-link(data-bs-toggle="tab", href="#tab-json-tx-ids", role="tab") Transaction IDs - - if (result.blockstats) - li.nav-item - a.nav-link(data-bs-toggle="tab", href="#tab-json-blockstats", role="tab") Block Stats - - div.tab-content - div.tab-pane.active(id="tab-json-block-summary", role="tabpanel") - div.card.shadow-sm.mb-3 - div.card-body - h4.h6.mb-0 Block Summary - hr - - div.highlight - pre - code.json.bg-light #{JSON.stringify(blockDetails, null, 4)} - - div.tab-pane(id="tab-json-tx-ids", role="tabpanel") - div.card.shadow-sm.mb-3 - div.card-body - h4.h6.mb-0 Transaction IDs - hr - - div.highlight - pre - code.json.bg-light #{JSON.stringify(result.getblock.tx, null, 4)} - - if (result.blockstats) - div.tab-pane(id="tab-json-blockstats", role="tabpanel") - div.card.shadow-sm.mb-3 - div.card-body - h4.h6.mb-0 Block Stats - hr - - div.highlight - pre - code.json.bg-light #{JSON.stringify(result.blockstats, null, 4)} - diff --git a/views/includes/blocks-list.pug b/views/includes/blocks-list.pug index b29ce74..07d7e2f 100644 --- a/views/includes/blocks-list.pug +++ b/views/includes/blocks-list.pug @@ -1,9 +1,10 @@ -div.table-responsive +.table-responsive table.table.table-borderless.table-striped.mb-0 thead tr //th - th + if (!hideBlockIndex) + th th.data-header.text-end Height @@ -13,7 +14,7 @@ div.table-responsive th.data-header.text-end Age th.data-header.text-end - span.border-dotted(title="Time To Mine - The time it took to mine this block after the previous block. 'Fast' blocks (mined in < 5min) are shown in green; 'slow' blocks (mined in > 15min) are shown in red.", data-bs-toggle="tooltip") T.T.M. + span.border-dotted(title="Time To Mine
The time it took to mine this block after the previous block. Fast blocks (< 5min) and Slow blocks (> 15min) are highlighted.", data-bs-toggle="tooltip", data-bs-html="true") TTM th.data-header.text-end Miner th.data-header.text-end span.border-dotted(title="The number of transactions included in each block.", data-bs-toggle="tooltip") N(tx) @@ -50,16 +51,18 @@ div.table-responsive if (block && ((sort == "desc" && (blockIndex < blocks.length - 1 || block.height == 0)) || (sort == "asc" && (block.height == 0 || blockIndex > 0)))) tr - td - if (sort == "desc") - small.text-muted #{(blockIndex + offset + 1).toLocaleString()} - else - small.text-muted #{(blockIndex + offset).toLocaleString()} + if (!hideBlockIndex) + td + if (sort == "desc") + small.text-muted #{(blockIndex + offset + 1).toLocaleString()} + else + small.text-muted #{(blockIndex + offset).toLocaleString()} td.data-cell.font-monospace.text-end if (global.specialBlocks && global.specialBlocks[block.hash]) - a(data-bs-toggle="tooltip", title=`${coinConfig.name} Fun! See block for details`) - i.fas.fa-certificate.text-primary.me-1 + a(data-bs-toggle="tooltip", title=`${coinConfig.name} Fun!
There's something special about this block...
Click to read more.`, data-bs-html="true") + span.me-2 + +funItemIcon a(href=`./block-height/${block.height}`) #{block.height.toLocaleString()} @@ -78,8 +81,7 @@ div.table-responsive if (!hideTimestampColumn) td.data-cell.font-monospace.text-end - - var timestampHuman = block.time; - include timestamp-human.pug + +timestamp(block.time, false) td.data-cell.font-monospace.text-end @@ -122,9 +124,9 @@ div.table-responsive span.badge.bg-primary(data-bs-toggle="tooltip", title=`Identified by: ${block.miner.identifiedBy}`) #{utils.ellipsize(block.miner.name, 14)} else if (block.height < global.pruneHeight) - span.border-dotted(title="Determining the miner of a block requires that the block not be pruned. Sadly, this block has been pruned.", data-bs-toggle="tooltip") - i.fas.fa-backspace.text-danger.me-2 - | ? + span(title="This data is unavailable due to blockchain pruning", data-bs-toggle="tooltip") + i.fas.fa-backspace.text-danger + else span ? @@ -145,9 +147,13 @@ div.table-responsive span 0 td.data-cell.font-monospace.text-end - if block.totalFees && block.strippedsize + if (block.totalFees && block.strippedsize) - var currencyValue = new Decimal(block.totalFees).dividedBy(block.strippedsize).times(coinConfig.baseCurrencyUnit.multiplier).toDecimalPlaces(0); - span #{currencyValue} + if (currencyValue > 0) + span #{currencyValue} + else + span - + else span(title="This data is unavailable due to blockchain pruning", data-bs-toggle="tooltip") i.fas.fa-backspace.text-danger diff --git a/views/includes/index-network-summary.pug b/views/includes/index-network-summary.pug index a0a14d7..3cd47b6 100644 --- a/views/includes/index-network-summary.pug +++ b/views/includes/index-network-summary.pug @@ -4,266 +4,174 @@ if (exchangeRates || networkVolume) - var utxoCalculatingDesc = "At startup the app pulls a summary of the UTXO set. Until this summary is retrieved this data can't be displayed. Wait for the summary request to your node to return, then refresh this page."; -div.row.index-summary - div(class=colClass) - h5.h6 Mining - table.table.table-borderless.table-sm.table-hover.mb-lg-0 - tbody - if (hashrate1d && hashrate7d) - - var hashrate1dayData0 = utils.formatLargeNumber(hashrate1d, 0); - - var hashrate7dayData0 = utils.formatLargeNumber(hashrate7d, 0); - - var hashrate1dayData1 = utils.formatLargeNumber(hashrate1d, 1); - - var hashrate7dayData1 = utils.formatLargeNumber(hashrate7d, 1); - tr - th.px-2.px-lg-0.px-xl-2 - i.fas.fa-tachometer-alt.mr-1.summary-icon - span.border-dotted(title="Estimates for global network hashrate for 1 day / 7 days.", data-toggle="tooltip") Hashrate - small.ml-1 (d/w) - td.text-right.text-monospace - span.d-xxl-none #{hashrate1dayData0[0]} - span.d-none.d-xxl-inline #{hashrate1dayData1[0]} - small.text-muted / - span.d-xxl-none #{hashrate7dayData0[0]} - span.d-none.d-xxl-inline #{hashrate7dayData1[0]} - small.border-dotted(title=`${hashrate1dayData0[1].abbreviation}H = ${hashrate1dayData0[1].name}-hash (x10^${hashrate1dayData0[1].exponent})`, data-toggle="tooltip") #{hashrate1dayData0[1].abbreviation}H/s - if (!["regtest", "signet"].includes(global.activeBlockchain)) - tr - th.px-2.px-lg-0.px-xl-2 - i.fas.fa-edit.mr-1.summary-icon - span.border-dotted(title="Estimate of the number of days the current global hashrate would require to produce all the hashes needed to re-write the entire blockchain.", data-toggle="tooltip") Chain Rewrite Days - td.text-right.text-monospace - - var globalHashCount = parseInt("0x" + getblockchaininfo.chainwork); - - var rewriteDays = globalHashCount / hashrate7d / 60 / 60 / 24; - span #{new Decimal(rewriteDays).toDecimalPlaces(1)} +if (exchangeRates) + +contentSection("Market") + - var colCount = 3 + (networkVolume ? 1 : 0) + (goldExchangeRates ? 1 : 0); + +summaryRow(colCount) + +summaryItem("Exchange Rate", `Source: ${new URL(coinConfig.exchangeRateData.jsonUrl).hostname}`) + span.text-success #{utils.formatValueInActiveCurrency(1.0)} - tr - th.px-2.px-lg-0.px-xl-2 - i.fas.fa-dumbbell.mr-1.summary-icon - span Difficulty - td.text-right.text-monospace - - var difficultyData = utils.formatLargeNumber(getblockchaininfo.difficulty, 2); - span.border-dotted(data-toggle="tooltip", title=parseFloat(getblockchaininfo.difficulty).toLocaleString()) - span #{difficultyData[0]} - small.px-2.px-lg-0.px-xl-2 x - span 10 - sup #{difficultyData[1].exponent} + +summaryItem("Sats Rate") + - var satsRateData = utils.satoshisPerUnitOfActiveCurrency(); + span #{satsRateData.amt} + small #{satsRateData.unit} - tr - th.px-2.px-lg-0.px-xl-2 - i.fas.fa-unlock.mr-1.summary-icon - span Pending Tx - td.text-right.text-monospace - if (mempoolInfo) - - var colorClass = "text-success"; - if (mempoolInfo.size > 7000) - - colorClass = "text-warning"; - if (mempoolInfo.size > 11000) - - colorClass = "text-danger"; + +summaryItem("Market Cap") + - var supply = utils.estimatedSupply(getblockchaininfo.blocks); + - var activeCurrency = global.currencyFormatType.length > 0 ? global.currencyFormatType : "usd"; + - var xxx = utils.formatLargeNumber(parseFloat(supply) * exchangeRates[activeCurrency], 3); - span(class=colorClass) #{mempoolInfo.size.toLocaleString()} + if (activeCurrency == "eur") + span € + else + span $ - else - span.text-danger.border-dotted(title="There was an error getting this data. Check your application logs for possible explanation.", data-toggle="tooltip") Error + span #{xxx[0]} + if (xxx[1].textDesc) + span #{xxx[1].textDesc} + else + span x 10 + sup #{xxx[1].exponent} + // ["154.9",{"val":1000000000,"name":"giga","abbreviation":"G","exponent":"9"}] - if (smartFeeEstimates) - tr - th.px-2.px-lg-0.px-xl-2 - i.fas.fa-bullseye.mr-1.summary-icon - span.border-dotted(title="Current fee estimates (using 'estimatesmartfee') for getting a transaction included in 1 block, 6 blocks (1 hr), 144 blocks (1 day), or 1,008 blocks (1 week).", data-toggle="tooltip") Fee Targets - if (false) - small.ml-1 (1/h/d/w) - td.text-right.text-monospace - if (smartFeeEstimates) - span #{smartFeeEstimates[1]} - small.d-md-none - small.text-muted / - span #{smartFeeEstimates[6]} - small.text-muted / - span #{smartFeeEstimates[144]} - small.text-muted / - span #{smartFeeEstimates[1008]} - small sat/vB + if (goldExchangeRates) + +summaryItem("Gold Rate", `Source: ${new URL(coinConfig.goldExchangeRateData.jsonUrl).hostname}`) + span.text-warning #{utils.formatValueInGoldOunces(1.0)} + small.ms-1.text-muted oz + + if (networkVolume) + +summaryItem("24hr Volume", `Total output of all transactions over the last 24hrs (blocks: [#${networkVolume.d1.endBlock.toLocaleString()} - #${networkVolume.d1.startBlock.toLocaleString()}]).`) + - var currencyValue = parseInt(networkVolume.d1.amt); + - var currencyValueDecimals = 0; + include ./value-display.pug + + + +.clearfix + .float-start + +sectionTitle("Network Summary") + .float-end + if (userSettings.homepageShowTechDetails == "true") + a.me-2(href="./changeSetting?name=homepageShowTechDetails&value=false", title="Hide technical network details", data-bs-toggle="tooltip", data-bs-placement="bottom") + i.fas.fa-server.text-muted + + else + a.me-2(href="./changeSetting?name=homepageShowTechDetails&value=true", title="Show technical network details", data-bs-toggle="tooltip", data-bs-placement="bottom") + i.fas.fa-server.text-muted + ++contentSection + +summaryRow(1 + (hashrate7d ? 1 : 0) + (chainTxStats[7 * targetBlocksPerDay] ? 1 : 0) + (difficultyAdjustmentData ? 1 : 0)) + if (hashrate7d) + +summaryItem("7d Hashrate") + - var hashrate7dayData = utils.formatLargeNumber(hashrate7d, 1); + + span.me-2 #{hashrate7dayData[0]} + span.border-dotted.me-2(title=`${hashrate7dayData[1].abbreviation}H = ${hashrate7dayData[1].name}-hash (x10^${hashrate7dayData[1].exponent})` data-bs-toggle='tooltip') #{hashrate7dayData[1].abbreviation}H/s + + if (hashrate30d) + - var ratio = hashrate7d / hashrate30d; + + small + | ( + span.border-dotted(title='7d hashrate vs 30d hashrate.' data-bs-toggle='tooltip') + if (ratio > 1) + - var ratioPercent = new Decimal(ratio).times(100).minus(100); + span.text-success +#{ratioPercent.toDP(1)}% else - span.text-danger.border-dotted(title="There was an error getting this data. Check your application logs for possible explanation.", data-toggle="tooltip") Error + - var ratioPercent = new Decimal(100).minus(new Decimal(ratio).times(100)); + span.text-danger -#{ratioPercent.toDP(1)}% - tr - th.px-2.px-lg-0.px-xl-2 - i.fas.fa-clock.mr-1.summary-icon - span.border-dotted(title=`Average block time for blocks in the current difficulty epoch (#${difficultyPeriod}). The difference between the target (${coinConfig.targetBlockTimeMinutes}min) and this time indicates how the difficulty will adjust for the next epoch.`, data-toggle="tooltip") Block Time - small.ml-1 (e#{difficultyPeriod.toLocaleString()}) - td.text-right.text-monospace - - var firstBlockHeader = difficultyPeriodFirstBlockHeader; - - var currentBlock = latestBlocks[0]; - - var heightDiff = currentBlock.height - firstBlockHeader.height; - - var timeDiff = currentBlock.mediantime - firstBlockHeader.mediantime; - - var timePerBlock = timeDiff / heightDiff; - - var timePerBlockDuration = moment.duration(timePerBlock * 1000); - - var daysUntilAdjustment = new Decimal(blocksUntilDifficultyAdjustment).times(timePerBlock).dividedBy(60 * 60 * 24); - - var duaDP1 = daysUntilAdjustment.toDP(1); - - var daysUntilAdjustmentStr = daysUntilAdjustment > 1 ? `~${duaDP1} day${duaDP1 == "1" ? "" : "s"}` : "< 1 day" + | ) - if (timePerBlock > 600) - - var diffAdjPercent = new Decimal(timeDiff / heightDiff / 600).times(100).minus(100); - - var diffAdjText = `Blocks during the current difficulty epoch have taken this long, on average, to be mined. If this pace continues, then in ${blocksUntilDifficultyAdjustment.toLocaleString()} block${blocksUntilDifficultyAdjustment == 1 ? "" : "s"} (${daysUntilAdjustmentStr}) the difficulty will adjust downward: -${diffAdjPercent.toDP(1)}%`; - - var diffAdjSign = "-"; - else - - var diffAdjPercent = new Decimal(100).minus(new Decimal(timeDiff / heightDiff / 600).times(100)); - - var diffAdjText = `Blocks during the current difficulty epoch have taken this long, on average, to be mined. If this pace continues, then in ${blocksUntilDifficultyAdjustment.toLocaleString()} block${blocksUntilDifficultyAdjustment == 1 ? "" : "s"} (${daysUntilAdjustmentStr}) the difficulty will adjust upward: +${diffAdjPercent.toDP(1)}%`; - - var diffAdjSign = "+"; + if (chainTxStats[7 * targetBlocksPerDay]) + +summaryItem("7d Transactions") + | #{chainTxStats[7 * targetBlocksPerDay].window_tx_count.toLocaleString()} - span.border-dotted(title=diffAdjText, data-toggle="tooltip") #{timePerBlockDuration.format()} - if (!isNaN(diffAdjPercent)) - small.text-muted.ml-1 (#{diffAdjSign}#{diffAdjPercent.toDP(1)}%) - + if (difficultyAdjustmentData) + - var desc = `Estimate for the difficulty adjustment that will occur in ${difficultyAdjustmentData.blocksLeft.toLocaleString()} block${difficultyAdjustmentData.blocksLeft == 1 ? "" : "s"} (${difficultyAdjustmentData.daysLeftStr}). This is calculated using the average block time over the last ${difficultyAdjustmentData.calculationBlockCount} block(s). This estimate becomes more reliable as the difficulty epoch nears its end.`; + + +summaryItem("Difficulty Δ", desc) + span.me-2(class=(difficultyAdjustmentData.sign == "+" ? "text-success" : "text-danger")) #{difficultyAdjustmentData.sign}#{difficultyAdjustmentData.delta.toDP(2)} + small.text-muted + | (#{difficultyAdjustmentData.daysLeftStr}) - div(class=colClass) - h5.h6 Blockchain + +summaryItem("Coins", utxoSetSummary ? null : `This value is estimated.`) + - var maxSupply = coinConfig.maxSupplyByNetwork[activeBlockchain]; - table.table.table-borderless.table-sm.table-hover.mb-lg-0 - tbody - tr - th.px-2.px-lg-0.px-xl-2 - i.fas.fa-sign-out-alt.mr-1.summary-icon - //span Total Transactions - span Total Txs - td.text-right.text-monospace - if (txStats && txStats.totalTxCount) - span #{txStats.totalTxCount.toLocaleString()} - else - span ??? + if (utxoSetSummary) + span #{parseFloat(utxoSetSummary.total_amount).toLocaleString()} + small.ms-2.text-muted + | ( + span.border-dotted(title=`${new Decimal(utxoSetSummary.total_amount).dividedBy(maxSupply).times(100).toDP(4)}% have been mined into circulation`, data-bs-toggle="tooltip") #{new Decimal(utxoSetSummary.total_amount).dividedBy(maxSupply).times(100).toDP(1)}% + | ) - if (getblockchaininfo.size_on_disk) - - var sizeData = utils.formatLargeNumber(getblockchaininfo.size_on_disk, 2); + else + - var estimatedSupply = utils.estimatedSupply(getblockchaininfo.blocks); - tr - th.px-2.px-lg-0.px-xl-2 - i.fas.fa-database.mr-1.summary-icon - span Data Size - td.text-right.text-monospace #{sizeData[0]} #{sizeData[1].abbreviation}B + span #{parseFloat(estimatedSupply).toLocaleString()} + small.ms-2.text-muted + | ( + span.border-dotted(title=`${estimatedSupply.dividedBy(maxSupply).times(100).toDP(4)}% have been mined into circulation`, data-bs-toggle="tooltip") #{estimatedSupply.dividedBy(maxSupply).times(100).toDP(1)}% + | ) - tr - th.px-2.px-lg-0.px-xl-2 - i.fas.fa-bolt.mr-1.summary-icon - span.border-dotted(title="The total amount of work necessary to produce the active chain, approximated in 'hashes'.", data-toggle="tooltip") Chain Work - td.text-right.text-monospace - - var chainworkData = utils.formatLargeNumber(parseInt("0x" + getblockchaininfo.chainwork), 2); - span.border-dotted(data-toggle="tooltip", title=`hex: ${getblockchaininfo.chainwork.replace(/^0+/, '')}`) - span #{chainworkData[0]} - small.px-2.px-lg-0.px-xl-2 x - span 10 - sup #{chainworkData[1].exponent} + - if (false) - tr - th.px-2.px-lg-0.px-xl-2 - i.fas.fa-arrow-circle-up.mr-1.summary-icon - span.border-dotted(title="The active 'soft' forks on the network.", data-toggle="tooltip") Soft-Forks - td.text-right.text-monospace.word-wrap - ul.list-inline.mb-0 - each softforkData, softforkName in getblockchaininfo.softforks - li.list-inline-item - small.border-dotted(title=`${JSON.stringify(softforkData)}`, data-toggle="tooltip") #{softforkName} + hr.mt-4.mb-4 + + +summaryRow(4) + +summaryItem("Mempool") + span(class=(mempoolInfo.size > 11000) ? "text-danger" : (mempoolInfo.size > 7000 ? "text-warning" : "text-success")) #{mempoolInfo.size.toLocaleString()} + + if (false) + +summaryItem("Next Block (est.)") + | #{new Decimal(nextBlockMinFeeRate).toDP(0)} + a(href=`./tx/${nextBlockMinFeeTxid}`) + i.fas.fa-circle + | - #{new Decimal(nextBlockMaxFeeRate).toDP(0)} + a(href=`./tx/${nextBlockMaxFeeTxid}`) + i.fas.fa-circle + small.ms-2.text-muted sat/vB + + +summaryItem("Smart Fee (1 block)") + | #{smartFeeEstimates[1]} + small.ms-2.text-muted sat/vB + + +summaryItem("Smart Fee (1 hr)") + | #{smartFeeEstimates[6]} + small.ms-2.text-muted sat/vB + + +summaryItem("Smart Fee (1 day)") + | #{smartFeeEstimates[144]} + small.ms-2.text-muted sat/vB + + if (userSettings.homepageShowTechDetails == "true") + hr.mt-4.mb-4 + + +summaryRow(1 + (getblockchaininfo.size_on_disk ? 1 : 0) + (utxoSetSummary || utxoSetSummaryPending ? 1 : 0)) + if (getblockchaininfo.size_on_disk) + +summaryItem("Disk Usage") + - var sizeData = utils.formatLargeNumber(getblockchaininfo.size_on_disk, 1); + | #{sizeData[0]} #{sizeData[1].abbreviation}B + + +summaryItem("Total Hashes", "Estimate of the total work necessary to produce the blockchain, measured in 'hashes'.") + - var chainworkData = utils.formatLargeNumber(parseInt("0x" + getblockchaininfo.chainwork), 2); + span #{chainworkData[0]} + small.px-2.px-lg-0.px-xl-2 x + span 10 + sup #{chainworkData[1].exponent} - if (utxoSetSummary || utxoSetSummaryPending) - tr - th.px-2.px-lg-0.px-xl-2 - i.fas.fa-grip-horizontal.mr-1.summary-icon - span.border-dotted(title="The number / data size of 'unspent transaction outputs' (UTXOs) in the blockchain.", data-toggle="tooltip") UTXO Set - td.text-right.text-monospace - if (utxoSetSummary) - - var utxoCount = utils.formatLargeNumber(utxoSetSummary.txouts, 2); - - var utxoDataSize = utils.formatLargeNumber(utxoSetSummary.disk_size, 2); - span #{utxoCount[0]} #{utxoCount[1].abbreviation} - small.text-muted / - span #{utxoDataSize[0]} #{utxoDataSize[1].abbreviation}B - else - small.text-muted.border-dotted(title=utxoCalculatingDesc, data-toggle="tooltip") calculating... + if (utxoSetSummary || utxoSetSummaryPending) + +summaryItem("UTXOs", "The total number of unspent transaction outputs (spendable coin units).") + if (utxoSetSummary) + - var utxoCount = utils.formatLargeNumber(utxoSetSummary.txouts, 2); + //| #{utxoCount[0]} #{utxoCount[1].abbreviation} + | #{utxoSetSummary.txouts.toLocaleString()} + else + small.text-muted.border-dotted(title=utxoCalculatingDesc, data-bs-toggle="tooltip") calculating... - if (utxoSetSummary || utxoSetSummaryPending) - tr - th.px-2.px-lg-0.px-xl-2 - i.fab.fa-bitcoin.mr-1.summary-icon - span Total Supply - td.text-right.text-monospace - if (utxoSetSummary) - - var maxSupply = coinConfig.maxSupplyByNetwork[activeBlockchain]; - span.border-dotted(title=`${new Decimal(utxoSetSummary.total_amount).dividedBy(maxSupply).times(100).toDP(4)}% produced`, data-toggle="tooltip") #{parseFloat(utxoSetSummary.total_amount).toLocaleString()} - else - small.text-muted.border-dotted(title=utxoCalculatingDesc, data-toggle="tooltip") calculating... - - if (networkVolume || exchangeRates) - div(class=colClass) - h5.h6 Financials - - table.table.table-borderless.table-sm.table-hover.mb-lg-0 - tbody - if (exchangeRates) - tr - th.px-2.px-lg-0.px-xl-2 - i.fas.fa-money-bill-wave-alt.mr-1.summary-icon - span.border-dotted(data-toggle="tooltip", title=`Exchange-rate data from: ${coinConfig.exchangeRateData.jsonUrl}`) Exchange Rate - td.text-right.text-monospace - span #{utils.formatValueInActiveCurrency(1.0)} - - if (exchangeRates) - tr - th.px-2.px-lg-0.px-xl-2 - i.fab.fa-btc.mr-1.summary-icon - span Sats Rate - td.text-right.text-monospace - - var satsRateData = utils.satoshisPerUnitOfActiveCurrency(); - span #{satsRateData.amt} - small #{satsRateData.unit} - - if (exchangeRates && goldExchangeRates) - tr - th.px-2.px-lg-0.px-xl-2 - i.fas.fa-mountain.mr-1.summary-icon - span.border-dotted(data-toggle="tooltip", title=`Exchange-rate data from: ${coinConfig.goldExchangeRateData.jsonUrl}`) AU Exchange Rate - td.text-right.text-monospace - span #{utils.formatValueInGold(1.0)} - - if (exchangeRates) - if (utxoSetSummary || utxoSetSummaryPending) - tr - th.px-2.px-lg-0.px-xl-2 - i.fas.fa-globe.mr-1.summary-icon - span Market Cap - td.text-right.text-monospace - if (utxoSetSummary) - - var activeCurrency = global.currencyFormatType.length > 0 ? global.currencyFormatType : "usd"; - - var xxx = utils.formatLargeNumber(parseFloat(utxoSetSummary.total_amount) * exchangeRates[activeCurrency], 1); - - if (activeCurrency == "eur") - span € - else - span $ - - span #{xxx[0]} - if (xxx[1].textDesc) - span #{xxx[1].textDesc} - else - span x 10 - sup #{xxx[1].exponent} - // ["154.9",{"val":1000000000,"name":"giga","abbreviation":"G","exponent":"9"}] - - else - small.text-muted.border-dotted(title=utxoCalculatingDesc, data-toggle="tooltip") calculating... - - if (networkVolume) - tr - th.px-2.px-lg-0.px-xl-2 - i.fas.fa-history.mr-1.summary-icon - span.border-dotted(title=`Total output of all transactions over the last 24 hrs (blocks: [#${networkVolume.d1.endBlock.toLocaleString()} - #${networkVolume.d1.startBlock.toLocaleString()}]).`, data-toggle="tooltip") Volume - small.ml-1 (24h) - td.text-right.text-monospace - - var currencyValue = parseInt(networkVolume.d1.amt); - - var currencyValueDecimals = 0; - include ./value-display.pug - \ No newline at end of file diff --git a/views/includes/line-graph.pug b/views/includes/line-graph.pug index 666bb1d..291502d 100644 --- a/views/includes/line-graph.pug +++ b/views/includes/line-graph.pug @@ -1,15 +1,7 @@ -script(src="./js/chart.bundle.min.js", integrity="sha384-qgOtiGNaHh9fVWUnRjyHlV39rfbDcvPPkEzL1RHvsHKbuqUqM6uybNuVnghY2z4/") ++graphPageScriptSetup canvas.mb-3(id=graphData.id) -if (session.uiTheme && session.uiTheme == "dark") - script. - Chart.defaults.global.defaultFontColor='white'; -else - script. - Chart.defaults.global.defaultFontColor='black'; - - script. Chart.defaults.global.elements.point.radius = 1; var ctx = document.getElementById("#{graphData.id}").getContext('2d'); @@ -43,6 +35,9 @@ script. display: true, labelString: '#{graphData.xaxisTitle}' }, + gridLines: { + color: gridLineColor + }, ticks: { stepSize: #{graphData.xaxisStep}, /*callback: function(value, index, values) { @@ -63,6 +58,9 @@ script. display: true, labelString: '#{graphData.yaxisTitle}' }, + gridLines: { + color: gridLineColor + }, ticks: { callback: function(value, index, values) { if (value > 1000000) { diff --git a/views/includes/page-errors-modal.pug b/views/includes/page-errors-modal.pug index 8e72142..453075f 100644 --- a/views/includes/page-errors-modal.pug +++ b/views/includes/page-errors-modal.pug @@ -19,10 +19,10 @@ div.modal.fade(id="pageErrorsModal" role="dialog" aria-hidden="true") h6 Error ##{(itemIndex + 1).toLocaleString()} hr //pre - // code.json.bg-light #{JSON.stringify(item.error, null, 4)} + // code.json #{JSON.stringify(item.error, null, 4)} pre - code.json.bg-light #{JSON.stringify(item, null, 4)} + code.json #{JSON.stringify(item, null, 4)} if (item.error.userData) div.mb-3 @@ -30,14 +30,14 @@ div.modal.fade(id="pageErrorsModal" role="dialog" aria-hidden="true") div.highlight pre - code.json.bg-light #{JSON.stringify(item.error.userData, null, 4)} + code.json #{JSON.stringify(item.error.userData, null, 4)} if (item.error.stack) h6 Stacktrace - var stackFirstNLines = item.error.stack.split("\n").slice(0, 7).join("\n"); div.highlight pre - code.json.bg-light #{stackFirstNLines} + code.json #{stackFirstNLines} diff --git a/views/includes/pagination.pug b/views/includes/pagination.pug deleted file mode 100644 index 0954b14..0000000 --- a/views/includes/pagination.pug +++ /dev/null @@ -1,26 +0,0 @@ -- var pageNumbers = []; -- for (var x = 1; x <= pageCount; x++) { - - pageNumbers.push(x); -- } - -nav(aria-label="Page navigation") - ul.pagination.pagination-lg.justify-content-center.flex-wrap - li.page-item(class=(pageNumber == 1 ? "disabled" : false)) - a.page-link(href=(pageNumber == 1 ? "javascript:void(0)" : paginationUrlFunction(pageNumber - 1)), aria-label="Previous") - span(aria-hidden="true") « - each x, xIndex in pageNumbers - if (x >= (pageNumber - 4) && x <= (pageNumber + 4) || xIndex == 0 || xIndex == (pageNumbers.length - 1)) - li.page-item(class=(x == pageNumber ? "active" : false)) - a.page-link(href=(paginationUrlFunction(x))) #{x} - - if (x == 1 && pageNumber > 6) - li.page-item.disabled - a.page-link(href="javascript:void(0)") ... - - else if (x == (pageCount - 1) && pageNumber < (pageCount - 5)) - li.page-item.disabled - a.page-link(href="javascript:void(0)") ... - - li.page-item(class=(pageNumber == pageCount ? "disabled" : false)) - a.page-link(href=(pageNumber == pageCount ? "javascript:void(0)" : paginationUrlFunction(pageNumber + 1)), aria-label="Next") - span(aria-hidden="true") » \ No newline at end of file diff --git a/views/includes/shared-mixins.pug b/views/includes/shared-mixins.pug new file mode 100644 index 0000000..cca3a9c --- /dev/null +++ b/views/includes/shared-mixins.pug @@ -0,0 +1,425 @@ +mixin pageTitle(text, subtext, copyableSubtext=false) + h1.fw-light.word-wrap.mb-4 + | #{text} + br + span.text-tiny #{subtext} + if (copyableSubtext) + small + +copyTextButton(subtext) + + //hr.mb-3 + + +mixin sectionTitle(text, toggle=false, toggleUniqueClass, toggleUserSettingName, toggleOpen) + if (false) + pre + code.json #{JSON.stringify(session.userSettings)} + + h3.h5.mb-1.fw-light(class=(toggle && !toggleOpen ? "mb-section" : false), class=(!toggle || toggleOpen ? "d-block" : "d-none")) + | #{text} + + if (toggle) + small(title=`Toggle ${text}`, data-bs-toggle="tooltip") + a.text-muted.fs-6(href=`./changeSetting?name=${toggleUserSettingName}&value=false`) + i.toggle-plus-minus.far.ms-2(class=(toggleOpen ? "fa-minus-square" : "fa-plus-square")) + + +mixin contentSection(title, toggleable=false, toggleUserSettingName, defaultOpen=true, cardUi=true) + if (toggleable) + - var toggleUniqueClass = `section-${utils.getRandomString(10, "aA#")}`; + - var toggleOpen = userSettings[toggleUserSettingName] == null ? defaultOpen : (userSettings[toggleUserSettingName] == "true" || userSettings[toggleUserSettingName] == true); + + if (title) + +sectionTitle(title, toggleable, toggleUniqueClass, toggleUserSettingName, toggleOpen) + + .mb-section(class=toggleUniqueClass, style=(toggleable && !toggleOpen ? "display: none;" : false)) + if (cardUi) + .card.mb-section.shadow-sm + .card-body + block + + else + block + + +mixin summaryRow(itemCount) + - locals.summaryItemCount = itemCount; + - locals.summaryItemIndex = 0; + + - locals.colCounts = {"sm": 1, "md": Math.min(itemCount, 3), "lg": Math.min(itemCount, 4), "xl": Math.min(itemCount, 5)}; + - locals.rowCountsArray = utils.objectProperties(locals.colCounts).map(x => [x, locals.colCounts[x]]).map(x => [x[0], (Math.floor(itemCount / x[1]) + ((itemCount % x[1] > 0) ? 1 : 0))]); + - locals.rowCounts = {}; + - locals.rowCountsArray.forEach(x => locals.rowCounts[x[0]] = x[1]); + + //h1 #{itemCount} #{JSON.stringify(locals.rowCounts)} + + .row.row-cols-1(class=utils.objectProperties(locals.colCounts).map(x => `row-cols-${x}-${locals.colCounts[x]}`).join(" ")) + block + + +mixin summaryTitle(title, titleDesc, subtitle, subtitleDesc) + span.fs-6.text-uppercase.fw-light.text-muted(class=(titleDesc ? "border-dotted" : false), class=(subtitle ? "me-2" : false), title=titleDesc, data-bs-toggle="tooltip", data-bs-html="true") #{title} + if (subtitle) + small.text-muted + | ( + span(class=(subtitleDesc ? "border-dotted" : false), title=subtitleDesc, data-bs-toggle="tooltip", data-bs-html="true") #{subtitle} + | ) + + +mixin summaryItem(title, titleDesc, subtitle, subtitleDesc) + - var rowIndexes = utils.objectProperties(locals.colCounts).map(x => [x, locals.colCounts[x]]).map(x => [x[0], Math.floor(locals.summaryItemIndex / x[1])]); + + .col(class=(locals.summaryItemIndex == (locals.summaryItemCount - 1) ? "mb-0" : "mb-3"), class=rowIndexes.map(x => `mb-${x[0]}-${(x[1] < (locals.rowCounts[x[0]] - 1) ? "4" : "0")}`)) + //span.text-danger (#{JSON.stringify(locals.rowCounts)}) + .text-start.text-md-center + +summaryTitle(title, titleDesc, subtitle, subtitleDesc) + + + .lead.text-start.text-md-center + block + + - locals.summaryItemIndex++; + + +// options keys: +// - blockHeightsByTxid +// - sharedBlockHeight (int) +// - showDates (true|false) +// - highlightAddress (address) +// - addrGainsByTxid (map) +// - addrLossesByTxid (map) +// - mempoolDetailsByTxid (map) + +// txBlockHeightsByTxid_orSharedBlockHeight, showDates=false, highlightAddress, addrGainsByTxid, addrLossesByTxid) +mixin txList(visibleTxs, txCount, limit, offset, inputsByTxid, options) + if (txCount > limit) + .rounded-0.rounded-top.bg-body.border + .p-3 + h6.fw-normal.mb-2 #{offset.toLocaleString()} - #{Math.min(offset + limit - 1, txCount - 1).toLocaleString()} of #{txCount.toLocaleString()} + +pagination(limit, offset, null, txCount, paginationBaseUrl) + + + .border.border-2 + + + each tx, txIndex in visibleTxs + - var txBlockHeight = null; + if (options.blockHeightsByTxid) + - txBlockHeight = options.blockHeightsByTxid[tx.txid]; + else if (options.sharedBlockHeight != undefined) + - txBlockHeight = options.sharedBlockHeight; + + - var tx_height_param = (!global.txindexAvailable && txBlockHeight) ? `@${txBlockHeight}` : ''; + + .border.bg-body.p-3(class=(txIndex == 0 && txCount <= limit ? "rounded-top" : false), class=(txCount <= limit && txIndex == (visibleTxs.length - 1) ? "rounded-bottom" : false)) + if (tx && tx.txid) + .clearfix + .float-start + .mb-4.word-wrap + span.badge.bg-primary.fw-normal.me-2(title=`Index in Block: #${(txIndex + offset).toLocaleString()}`, data-bs-toggle="tooltip") ##{(txIndex + offset).toLocaleString()} + a(href=`./tx/${tx.txid}${tx_height_param}`) #{tx.txid} + + if (global.specialTransactions && global.specialTransactions[tx.txid]) + a.ms-2(data-bs-toggle="tooltip", title=`${coinConfig.name} Fun!
There's something special about this transaction...
Click to read more.`, data-bs-html="true") + +funItemIcon + + + .float-end + if (options.mempoolDetailsByTxid && options.mempoolDetailsByTxid[tx.txid]) + - var mempoolDetails = options.mempoolDetailsByTxid[tx.txid].entry; + - var feeRate = new Decimal(mempoolDetails.fee).times(coinConfig.baseCurrencyUnit.multiplier).dividedBy(mempoolDetails.vsize); + + span.badge.bg-dark.ms-2 + | #{feeRate.toDP(0)} + span.fw-light.ms-1 sat/vB + + if (options.addrGainsByTxid && options.addrGainsByTxid[tx.txid]) + - var currencyValue = options.addrGainsByTxid[tx.txid]; + span.badge.bg-success.ms-2 + + include ./value-display.pug + + if (options.addrLossesByTxid && options.addrLossesByTxid[tx.txid]) + - var currencyValue = options.addrLossesByTxid[tx.txid]; + span.badge.bg-danger.ms-2 - + include ./value-display.pug + + if (options.showDates) + span.badge.bg-dark.ms-2 + i.far.fa-clock.me-1 + + if (tx.time) + +timeAgo(tx.time, true) + span.ms-1 ago + + else + | unconfirmed + + + div + - var txInputs = inputsByTxid[tx.txid]; + - var blockHeight = txBlockHeight != undefined ? txBlockHeight : -1; + + if (options.highlightAddress) + - var txIOHighlightAddress = options.highlightAddress; + + include ./transaction-io-details.pug + + if (txIndex < (visibleTxs.length - 1) || txCount > limit) + .border.border-2 + + + if (txCount > limit) + .rounded-0.rounded-bottom.bg-body.border + .p-3 + if (!crawlerBot && txCount > limit) + h6.fw-normal.mb-2 #{offset.toLocaleString()} - #{Math.min(offset + limit - 1, txCount - 1).toLocaleString()} of #{txCount.toLocaleString()} + +pagination(limit, offset, null, txCount, paginationBaseUrl) + + +mixin pageTabs(names) + ul.nav.nav-tabs + each name, nameIndex in names + li.nav-item(style=(nameIndex == 0 ? "margin-left: 10px;" : false)) + a.nav-link(class=(nameIndex == 0 ? "active" : false), data-bs-toggle="tab", href=`#tab-${name.replace(" ", "-")}`, role="tab") #{name} + + .bg-gradient-body-to-main.pb-4.mb-4 + + +mixin pillTabs(names) + ul.nav.nav-pills.mb-3 + each name, nameIndex in names + li.nav-item + a.nav-link(class=(nameIndex == 0 ? "active" : false), data-bs-toggle="tab", href=`#tab-${name.replace(" ", "-")}`, role="tab") #{name} + + +mixin pageTab(name, defaultActive=false) + div.tab-pane(id=`tab-${name.replace(" ", "-")}`, class=(defaultActive ? "active" : false), role="tabpanel") + block + + +mixin confirmations(confirmations, abbreviated=true) + if (confirmations < 6) + span.text-warning.border-dotted(title="Fewer than 6 confirmations is generally considered unsettled for high-value transactions because block re-organizations that could affect them have reasonable probability.", data-bs-toggle="tooltip", data-bs-html="true") #{confirmations.toLocaleString()} + i.fas.fa-unlock-alt.ms-1 + else + span.border-dotted.text-success(title="6 confirmations is generally considered settled. High-value transactions may require more;
Low-value transactions may require fewer.", data-bs-toggle="tooltip", data-bs-html="true") + | #{abbreviated && confirmations > 1000 ? `${Math.floor(confirmations/1000)}k` : confirmations.toLocaleString()} + i.fas.fa-check.ms-1 + + +mixin timestamp(timestamp, includeAgo=true) + - var utcMoment = moment.utc(new Date(parseInt(timestamp) * 1000)); + + - var yearStr = utcMoment.format("Y"); + - var nowYearStr = moment.utc(new Date()).format("Y"); + + - var dateStr = utcMoment.format("Y-M-D"); + - var nowDateStr = moment.utc(new Date()).format("Y-M-D"); + + - var titleStr = `${utcMoment.format("Y-MM-DD HH:mm:ss")} utc`; + + if (dateStr == nowDateStr) + span.border-dotted(title=titleStr, data-bs-toggle="tooltip") + | #{utcMoment.format("HH:mm")} + small.text-muted.ms-1 utc + + else if (yearStr == nowYearStr) + span.border-dotted(title=titleStr, data-bs-toggle="tooltip") + | #{utcMoment.format("M/D HH:mm")} + small.text-muted.ms-1 utc + + else + span.border-dotted(title=titleStr, data-bs-toggle="tooltip") + | #{utcMoment.format("YYYY-MM-DD")} + + if (includeAgo) + small.text-muted.ms-2 ( + +timeAgo(timestamp, true) + span ago) + + +mixin funAlert(html, text, referenceUrl) + .alert.alert-primary.shadow-sm.pb-0(role="alert", style="padding-left: 4rem;") + i.fas.fa-flag.fa-2x.fontawesome-shadow.text-warning.d-inline-block(style="position: absolute; top: 0; left: 0; width: 40px; margin-left: 0.8rem; margin-top: 1.2rem;") + + h5.mb-2.fw-light #{coinConfig.name} Fun + + if (html) + p + span !{html} + + if (referenceUrl && referenceUrl.trim().length > 0 && html.indexOf(referenceUrl) == -1) + span   + a(href=referenceUrl) Read more + + else if (text) + p + span #{text} + + if (referenceUrl && referenceUrl.trim().length > 0) + span   + a(href=referenceUrl) Read more + + else if (block) + p + block + + +mixin funItemIcon + i.fas.fa-flag.text-warning + + +mixin timeAgo(timeAgoTime, only1Element=false) + - var timeAgo = moment.duration(moment.utc(new Date()).diff(moment.utc(new Date(parseInt(timeAgoTime) * 1000)))); + + if (timeAgo.asHours() < 1) + if (timeAgo.asMinutes() < 1) + span #{timeAgo.seconds()}s + else + span #{timeAgo.minutes()}m + + else + if (timeAgo.asHours() >= 1 && timeAgo.asHours() < 24) + span #{timeAgo.hours()}h + + if (!only1Element && timeAgo.minutes() > 0) + span.ms-1 #{timeAgo.minutes()}m + + else + if (only1Element) + span #{utils.shortenTimeDiff(timeAgo.format()).split(/,?\s+/)[0]} + else + span #{utils.shortenTimeDiff(timeAgo.format())} + + +mixin copyTextButton(text) + small.ms-2 + if (false) + a.btn-clipboard(href="javascript:void(0)", title="Copy", data-clipboard-text=text, data-bs-toggle="tooltip", onclick=`copyTextToClipboard("${text}"); $(".icon-copy").toggle(); $(this).find(".icon-copied").toggle(); setTimeout(() => { $(this).find(".icon-copy").toggle(); $(this).find(".icon-copied").toggle(); }, 2000); return false;`) + i.far.fa-copy.text-info.icon-copy + i.fas.fa-check.text-success.icon-copied(style="display: none;") + + a.btn-clipboard(href="javascript:void(0)", title="Copy", data-clipboard-text=text, data-bs-toggle="tooltip", onclick=`copyTextToClipboard("${text}"); $(this).attr("data-bs-original-title", "Copied!"); $(this).mouseleave(function() { $(this).tooltip("hide"); $(this).attr("data-bs-original-title", "Copy"); }); return false;`) + i.far.fa-copy.text-info + + +mixin dismissableInfoAlert(userSettingDismissedName, textToShowWhenClosed) + if (session.userSettings[userSettingDismissedName] != "true") + .alert.alert-primary.alert-dismissible.shadow-sm.mb-4(role="alert", style="padding-left: 4rem;") + i.fas.fa-info-circle.fa-2x.d-inline-block(style="position: absolute; top: 0; left: 0; width: 40px; margin-left: 0.8rem; margin-top: 1.2rem;") + + block + + a.btn-close(href=`./changeSetting?name=${userSettingDismissedName}&value=true`, aria-label="Close", style="text-decoration: none;", title="Hide this note", data-bs-toggle="tooltip") + //button.btn-close.text-muted(type="button", data-bs-dismiss="alert", aria-label="Close", title="Hide this note", data-bs-toggle="tooltip") + + else if (textToShowWhenClosed) + .alert.alert-primary.shadow-sm.mb-4(role="alert") + .clearfix + .float-start + i.fas.fa-info-circle.fa-lg.me-3 + | #{textToShowWhenClosed} + + .float-end + a.text-muted(href=`./changeSetting?name=${userSettingDismissedName}&value=false`, aria-label="Close", style="text-decoration: none;", title="Open this note", data-bs-toggle="tooltip") + i.far.fa-plus-square.fa-lg + + +mixin warningAlert + .alert.alert-warning.shadow-sm.mb-4(role="alert", style="padding-left: 4rem;") + i.fas.fa-exclamation-triangle.fa-2x.d-inline-block(style="position: absolute; top: 0; left: 0; width: 40px; margin-left: 0.8rem; margin-top: 1.2rem;") + + block + + +mixin blockRangeFilters + .clearfix + .float-start.me-4 + div(id="time-range-buttons") + div.mb-2 + span.border-dotted(title="Analyze blocks over the last N days (approximated using average block time).", data-bs-toggle="tooltip") Time Range + div.btn-group + a.btn.btn-primary.block-count-btn(href="javascript:void(0)", data-blockCount="144") 1 day + a.btn.btn-outline-primary.block-count-btn(href="javascript:void(0)", data-blockCount="432") 3 day + a.btn.btn-outline-primary.block-count-btn(href="javascript:void(0)", data-blockCount="1008") 7 day + a.btn.btn-outline-primary.block-count-btn(href="javascript:void(0)", data-blockCount="4320") 30 day + + .float-start.me-4 + div(id="block-selections-buttons") + div.mb-2 + span.border-dotted(title="Choose from a list of pre-configured 'interesting' historical block ranges.", data-bs-toggle="tooltip") Interesting History + + div.dropdown + button.btn.btn-outline-primary.dropdown-toggle(type="button", id="preconfigured-dropdown", data-bs-toggle="dropdown", aria-haspopup="true", aria-expanded="false") Selections + div.dropdown-menu(aria-labelledby="preconfigured-dropdown") + a.dropdown-item(href="javascript:void(0)", data-blocks="0-199") First 200 Blocks + a.dropdown-item(href="javascript:void(0)", data-blocks="209900-210100") First Halving ±100 + a.dropdown-item(href="javascript:void(0)", data-blocks="419900-420100") Second Halving ±100 + a.dropdown-item(href="javascript:void(0)", data-blocks="629900-630100") Third Halving ±100 + a.dropdown-item(href="javascript:void(0)", data-blocks="481724-481924") SegWit Activation ±100 + + .float-start + div(id="time-range-buttons") + div.mb-2 + span.border-dotted(title="Manually enter a range of blocks to analyze.", data-bs-toggle="tooltip") Custom Block Range + + form.form-inline.me-3(id="custom-range-form") + div.input-group + input.form-control(type="text", id="custom-range-start", placeholder="min height", style="width: 125px;") + input.form-control(type="text", id="custom-range-end", placeholder="max height", style="width: 125px;") + + button.btn.btn-primary(type="submit") Go + + + +mixin pagination(limit, offset, sort, itemCount, baseUrl, justification="start", large=false) + - var pageNumber = offset / limit + 1; + - var pageCount = Math.floor(itemCount / limit); + - if (pageCount * limit < itemCount) { + - pageCount++; + - } + - var paginationUrlFunction = function(x) { + - return `${baseUrl}?limit=${limit}&offset=${(x - 1) * limit}${sort ? ("&sort=" + sort) : ""}` + //- return baseUrl + "?limit=" + limit + "&offset=" + ((x - 1) * limit); + //- return baseUrl + "?limit=" + limit + "&offset=" + ((x - 1) * limit + "&sort=" + sort); + - } + + - var pageNumbers = []; + - for (var x = 1; x <= pageCount; x++) { + - pageNumbers.push(x); + - } + + nav(aria-label="Page navigation") + ul.pagination.flex-wrap.mb-0(class=`justify-content-${justification}`, class=(large ? "pagination-lg" : false)) + li.page-item(class=(pageNumber == 1 ? "disabled" : false)) + a.page-link(href=(pageNumber == 1 ? "javascript:void(0)" : paginationUrlFunction(pageNumber - 1)), aria-label="Previous") + span(aria-hidden="true") « + each x, xIndex in pageNumbers + if (x >= (pageNumber - 4) && x <= (pageNumber + 4) || xIndex == 0 || xIndex == (pageNumbers.length - 1)) + li.page-item(class=(x == pageNumber ? "active" : false)) + a.page-link(href=(paginationUrlFunction(x))) #{x} + + if (x == 1 && pageNumber > 6) + li.page-item.disabled + a.page-link(href="javascript:void(0)") ... + + else if (x == (pageCount - 1) && pageNumber < (pageCount - 5)) + li.page-item.disabled + a.page-link(href="javascript:void(0)") ... + + li.page-item(class=(pageNumber == pageCount ? "disabled" : false)) + a.page-link(href=(pageNumber == pageCount ? "javascript:void(0)" : paginationUrlFunction(pageNumber + 1)), aria-label="Next") + span(aria-hidden="true") » + + +mixin graphPageScriptSetup + script(src="./js/chart.bundle.min.js", integrity="sha384-qgOtiGNaHh9fVWUnRjyHlV39rfbDcvPPkEzL1RHvsHKbuqUqM6uybNuVnghY2z4/") + + if (userSettings.uiTheme && userSettings.uiTheme == "dark") + script. + Chart.defaults.global.defaultFontColor='white'; + var gridLineColor = "#1a4280"; + else + script. + Chart.defaults.global.defaultFontColor='black'; + var gridLineColor = "#dddddd"; diff --git a/views/includes/time-ago.pug b/views/includes/time-ago.pug deleted file mode 100644 index a4bc494..0000000 --- a/views/includes/time-ago.pug +++ /dev/null @@ -1,5 +0,0 @@ -- var timeAgo = moment.duration(moment.utc(new Date()).diff(moment.utc(new Date(parseInt(timeAgoTime) * 1000)))); - -span -span(data-bs-toggle="tooltip", title=`${timeAgo.format()} ago`) - i.far.fa-clock \ No newline at end of file diff --git a/views/includes/timestamp-human.pug b/views/includes/timestamp-human.pug deleted file mode 100644 index 96628f6..0000000 --- a/views/includes/timestamp-human.pug +++ /dev/null @@ -1,14 +0,0 @@ -- var yearStr = moment.utc(new Date(parseInt(timestampHuman) * 1000)).format("Y"); -- var nowYearStr = moment.utc(new Date()).format("Y"); - -- var dateStr = moment.utc(new Date(parseInt(timestampHuman) * 1000)).format("Y-M-D"); -- var nowDateStr = moment.utc(new Date()).format("Y-M-D"); - -if (dateStr == nowDateStr) -else - span #{moment.utc(new Date(parseInt(timestampHuman) * 1000)).format("M/D")} - if (yearStr != nowYearStr) - span , #{yearStr} - -span -span.border-dotted(title=`${moment.utc(new Date(parseInt(timestampHuman) * 1000)).format("Y-MM-DD HH:mm:ss")}`, data-bs-toggle="tooltip") #{moment.utc(new Date(parseInt(timestampHuman) * 1000)).format("HH:mm")} \ No newline at end of file diff --git a/views/includes/tools-card.pug b/views/includes/tools-card.pug index 0edc56e..3c5780d 100644 --- a/views/includes/tools-card.pug +++ b/views/includes/tools-card.pug @@ -48,45 +48,68 @@ if (false) if (true) div - var priorityList = config.site.prioritizedToolIdsList; - - var indexLists2Col = utils.splitArrayIntoChunksByChunkCount(priorityList, 2); - - var indexLists3Col = utils.splitArrayIntoChunksByChunkCount(priorityList, 3); - - var indexLists4Col = utils.splitArrayIntoChunksByChunkCount(priorityList, 4); - - var indexLists5Col = utils.splitArrayIntoChunksByChunkCount(priorityList, 5); + - var indexLists1Col = utils.splitArrayIntoChunksByChunkCount(priorityList, 1); + - var indexLists2Col = utils.splitArrayIntoChunksByChunkCount(priorityList, 2); + - var indexLists3Col = utils.splitArrayIntoChunksByChunkCount(priorityList, 3); - // xs, sm, xxl - div.d-block.d-md-none.d-xxl-block(id="tools-2-col") - div.row - each indexList in indexLists2Col - div.col - ul.list-unstyled.mb-0 - each toolsItemIndex in indexList - include tools-card-block.pug + // xs + div.d-block.d-sm-none(id="tools-1-col") + div.row + each indexList in indexLists1Col + div.col + ul.list-unstyled.mb-0 + each toolsItemIndex in indexList + - var item = config.siteTools[toolsItemIndex]; + + div.clearfix + div.float-start.pt-1(style="width: 38px;") + i.fa-lg(class=item.fontawesome, style="width: 20px; margin-right: 10px;") - // md - div.d-none.d-md-block.d-lg-none(id="tools-3-col") - div.row - each indexList in indexLists3Col - div.col - ul.list-unstyled.mb-0 - each toolsItemIndex in indexList - include tools-card-block.pug + div.float-start + div + a(href=item.url) #{item.name} - // lg - div.d-none.d-lg-block.d-xl-none(id="tools-4-col") - div.row - each indexList in indexLists4Col - div.col - ul.list-unstyled.mb-0 - each toolsItemIndex in indexList - include tools-card-block.pug + div(style="padding-left: 39px;") + p #{item.desc} - // xl - div.d-none.d-xl-block.d-xxl-none(id="tools-5-col") - div.row - each indexList in indexLists5Col - div.col - ul.list-unstyled.mb-0 - each toolsItemIndex in indexList - include tools-card-block.pug + // sm, md, lg + div.d-none.d-sm-block.d-xl-none(id="tools-2-col") + div.row + each indexList in indexLists2Col + div.col + ul.list-unstyled.mb-0 + each toolsItemIndex in indexList + - var item = config.siteTools[toolsItemIndex]; + + div.clearfix + div.float-start.pt-1(style="width: 38px;") + i.fa-lg(class=item.fontawesome, style="width: 20px; margin-right: 10px;") + + div.float-start + div + a(href=item.url) #{item.name} + + div(style="padding-left: 39px;") + p #{item.desc} + + // xl, xxl + div.d-none.d-xl-block(id="tools-3-col") + div.row + each indexList in indexLists3Col + div.col + ul.list-unstyled.mb-0 + each toolsItemIndex in indexList + - var item = config.siteTools[toolsItemIndex]; + + div.clearfix + div.float-start.pt-1(style="width: 38px;") + i.fa-lg(class=item.fontawesome, style="width: 20px; margin-right: 10px;") + + div.float-start + div + a(href=item.url) #{item.name} + + div(style="padding-left: 39px;") + p #{item.desc} \ No newline at end of file diff --git a/views/includes/transaction-io-details.pug b/views/includes/transaction-io-details.pug index a15da43..6658d9b 100644 --- a/views/includes/transaction-io-details.pug +++ b/views/includes/transaction-io-details.pug @@ -1,10 +1,21 @@ -- var fontawesomeInputName = "sign-in-alt"; -- var fontawesomeOutputName = "sign-out-alt"; - - var totalIOValues = utils.getTxTotalInputOutputValues(tx, txInputs, blockHeight); +mixin asciiHexDataDisplay(dataName, uniqueId, hex) + div + div.d-inline-block.small.border.rounded.p-1.px-2.card-highlight(style="max-width: 90%;") + span.fw-bold.border-dotted.me-2(title=`ASCII-encoded ${dataName}`, data-bs-toggle="tooltip") Ascii + span.font-plaintext #{utils.hex2ascii(hex)} + + a.text-muted.ms-2(href="javascript:void(0)", onclick=`$('#hex-${uniqueId}').toggle(); $(this).find(".toggle-plus-minus").toggleClass("fa-plus-square"); $(this).find(".toggle-plus-minus").toggleClass("fa-minus-square"); return false;`, title="Toggle Hex Display", data-bs-toggle="tooltip") + i.toggle-plus-minus.far.fa-plus-square + + div(id=`hex-${uniqueId}`, style="display: none;") + div.small.border.rounded.p-1.px-2.mt-2.word-wrap.card-highlight + span.fw-bold.border-dotted.me-2(title=`Hex-encoded ${dataName}`, data-bs-toggle="tooltip") Hex + span.font-plaintext #{hex} + div.row.font-monospace - div.col-lg-6 + div.col-lg-6(class=(tx.vin.length >= tx.vout.length ? "border-lg-end" : false)) if (txInputs || !global.txindexAvailable) - var extraInputCount = 0; each txVin, txVinIndex in tx.vin @@ -21,14 +32,14 @@ div.row.font-monospace if (txVin.coinbase || vout || !global.txindexAvailable) div.clearfix div.tx-io-label - a(data-bs-toggle="tooltip", title=`Input #${txVinIndex.toLocaleString()}`, style="white-space: nowrap;") - span.fw-bold >  - small.d-inline.d-md-none Input  + a.badge.fw-normal.card-highlight.border.text-decoration-none(data-bs-toggle="tooltip", title=`Input #${txVinIndex.toLocaleString()}`, style="white-space: nowrap;") + span.me-tiny > + small.d-inline.d-md-none.me-1 Input if (tx.vin.length > 999) - small.word-wrap ##{txVinIndex} + small.word-wrap #{txVinIndex} else - span ##{txVinIndex.toLocaleString()} + span #{txVinIndex.toLocaleString()} if (tx.vin.length > 0) small.d-inline.d-md-none.fw-light.text-muted / #{(tx.vin.length - 1).toLocaleString()} @@ -37,20 +48,9 @@ div.row.font-monospace div.clearfix div.tx-io-desc if (txVin.coinbase) - span.badge.bg-success.me-2(title="Coinbase transactions are special transactions created by the miner of a block. They distribute the block reward (subsidy) as the miner chooses, along with all of the fees paid by transactions included in the block.", data-bs-toggle="tooltip") coinbase + span.badge.bg-success.me-2.mb-2(title="Coinbase transactions are special transactions created by the miner of a block. They distribute the block reward (subsidy) as the miner chooses, along with all of the fees paid by transactions included in the block.", data-bs-toggle="tooltip") coinbase - div.pt-1 - small.fw-bold(tistle="ASCII encoded", data-bs-toggle="tooltip") data - small (ascii) -  - small #{utils.hex2ascii(txVin.coinbase)} - br - small - a(href="javascript:void(0)" onclick="$('#coinbase-data-hex').show(); $(this).hide(); return false;") show raw - - div(id="coinbase-data-hex", style="display: none;") - small.fw-bold data - small (hex) -  - small.word-wrap #{txVin.coinbase} + +asciiHexDataDisplay("coinbase data", "coinbase-data", txVin.coinbase) else @@ -69,24 +69,28 @@ div.row.font-monospace if (deltaTYears > 5) span.me-2(title=`This UTXO was very old! It existed for ${parseInt(deltaTYears)}+ years - from ${moment.utc(new Date(vout.utxoTime * 1000)).format('MMM D, Y')} until ${moment.utc(new Date(tx.time * 1000)).format('MMM D, Y')} - before being spent (destroyed) in this transaction!`, data-bs-toggle="tooltip") - i.fas.fa-certificate.text-primary + +funItemIcon - a(href=`./tx/${txInput.txid}#output-${txVin.vout}`) #{utils.ellipsize(txInput.txid, 26)} + a(href=`./tx/${txInput.txid}#output-${txVin.vout}`) #{utils.ellipsizeMiddle(txInput.txid, 22)} span ##{txVin.vout} if (vout && vout.scriptPubKey && vout.scriptPubKey.addresses) div.word-wrap small.text-muted span.me-1 (addr: - a(href=`./address/${vout.scriptPubKey.addresses[0]}`, class=(txIOHighlightAddress == vout.scriptPubKey.addresses[0] ? "fw-bold" : null)) #{vout.scriptPubKey.addresses[0]} + a(href=`./address/${vout.scriptPubKey.addresses[0]}`, class=(txIOHighlightAddress == vout.scriptPubKey.addresses[0] ? "text-info" : null)) #{vout.scriptPubKey.addresses[0]} + + if (txIOHighlightAddress == vout.scriptPubKey.addresses[0]) + span(title="Current address", data-bs-toggle="tooltip") + i.fas.fa-arrow-left.text-warning.ms-1.text-info if (global.specialAddresses[vout.scriptPubKey.addresses[0]]) - var specialAddressInfo = global.specialAddresses[vout.scriptPubKey.addresses[0]]; if (specialAddressInfo.type == "minerPayout") span a(data-bs-toggle="tooltip", title=`Miner payout address: ${specialAddressInfo.minerInfo.name}`) - i.fas.fa-certificate.text-primary + +funItemIcon span ) @@ -100,15 +104,19 @@ div.row.font-monospace - div.tx-io-value + div.tx-io-value.mt-3.mt-md-0 if (txVin.coinbase) - - var currencyValue = coinConfig.blockRewardFunction(blockHeight, activeBlockchain); - span.border-dotted(title="This is the block subsidy - newly created coins awarded to the miner that found this block.", data-bs-toggle="tooltip", data-bs-html="true", class=(tx.vin.length == 1 ? "fw-bold" : false)) + span.border-dotted.me-1(title="This is the block subsidy - newly created coins awarded (automatically, by the network protocol) to the miner that found this block.", data-bs-toggle="tooltip", data-bs-html="true") + i.fas.fa-asterisk.text-success + + span(class=(tx.vin.length == 1 ? "fw-bold" : false)) + - var currencyValue = coinConfig.blockRewardFunction(blockHeight, activeBlockchain); include ./value-display.pug + else if (vout && vout.value) - var currencyValue = vout.value; - span(class=(tx.vin.length == 1 ? "fw-bold" : false)) + span(class=(tx.vin.length == 1 ? "fw-bold" : "fw-light")) include ./value-display.pug else if (!global.txindexAvailable) @@ -124,10 +132,10 @@ div.row.font-monospace if (extraInputCount > 0) div.clearfix div.tx-io-label - a(data-bs-toggle="tooltip", title=`Input #${(tx.vin.length - extraInputCount + 1).toLocaleString()} - ${tx.vin.length.toLocaleString()}`, style="white-space: nowrap;") - span.fw-bold >  - span.d-inline.d-md-none Input  - span #… + a.badge.fw-normal.card-highlight.border.text-decoration-none(data-bs-toggle="tooltip", title=`Input #${(tx.vin.length - extraInputCount + 1).toLocaleString()} - ${tx.vin.length.toLocaleString()}`, style="white-space: nowrap;") + span.me-1 > + span.d-inline.d-md-none.me-1 Input + span … div.tx-io-content div.clearfix @@ -140,27 +148,33 @@ div.row.font-monospace a(href=`./tx/${tx.txid}`) transaction details span ) - div.tx-io-value + div.tx-io-value.mt-3.mt-md-0 - var currencyValue = new Decimal(totalIOValues.output).minus(new Decimal(totalIOValues.input)); include ./value-display.pug hr if (totalIOValues.input && totalIOValues.input > 0 && tx.vin.length > 1) - div.row.mb-5.mb-lg-0 + div.row.mb-3.mb-md-0 div.col - div.fw-bold.text-start.text-md-end + div.text-start.text-md-end if (totalIOValues.input > 0) span.d-block.d-md-none Total Input: + - var currencyValue = totalIOValues.input; span.fw-bold include ./value-display.pug - - div.col-lg-6 + div.d-lg-none + div.my-4 + hr + + div.col-lg-6(class=(tx.vout.length > tx.vin.length ? "border-lg-start" : false)) - var maxRegularRowCount = (txIOHighlightAddress != null ? config.site.addressPage.txOutputMaxDefaultDisplay : 10000000); - var regularRowCount = 0; - var hiddenRowCount = 0; + - var nonZeroVoutValueCount = tx.vout.filter(vout => { return vout.value > 0; }).length; + each vout, voutIndex in tx.vout - var highlightRow = false; if (txIOHighlightAddress != null && vout.scriptPubKey && vout.scriptPubKey.addresses && vout.scriptPubKey.addresses[0] == txIOHighlightAddress) @@ -175,16 +189,16 @@ div.row.font-monospace - hiddenRowCount++; div(data-txid=tx.txid, class=(hiddenRow ? "d-none" : "")) - div.clearfix + .clearfix div.tx-io-label - a(data-bs-toggle="tooltip", title=`Output #${voutIndex.toLocaleString()}`, style="white-space: nowrap;") - span.fw-bold <  - small.d-inline.d-md-none Output  + a.badge.card-highlight.border.text-decoration-none.fw-normal(data-bs-toggle="tooltip", title=`Output #${voutIndex.toLocaleString()}`, style="white-space: nowrap;") + span.me-tiny < + small.d-inline.d-md-none.me-1 Output if (tx.vout.length > 999) - small.word-wrap ##{voutIndex} + small.word-wrap #{voutIndex} else - span ##{voutIndex.toLocaleString()} + span #{voutIndex.toLocaleString()} if (tx.vout.length > 0) small.d-inline.d-md-none.fw-light.text-muted / #{(tx.vout.length - 1).toLocaleString()} @@ -195,89 +209,76 @@ div.row.font-monospace if (vout.scriptPubKey) if (vout.scriptPubKey.addresses) if (true) - div.mb-tiny + div.mb-1 span.badge.bg-dark span(title=`Output Type: ${utils.outputTypeName(vout.scriptPubKey.type)}`, data-bs-toggle="tooltip") #{utils.outputTypeAbbreviation(vout.scriptPubKey.type)} each addr in vout.scriptPubKey.addresses a(id=`output-${voutIndex}`, href=`./address/${addr}`) - span.font-monospace.word-wrap(class=(highlightRow ? "fw-bold" : "")) #{addr} + span.font-monospace.word-wrap(class=(highlightRow ? "text-info" : null)) #{addr} + + if (highlightRow) + span(title="Current address", data-bs-toggle="tooltip") + i.fas.fa-arrow-left.ms-1.text-warning if (global.specialAddresses[addr]) - var specialAddressInfo = global.specialAddresses[addr]; if (specialAddressInfo.type == "minerPayout") span a(data-bs-toggle="tooltip", title=`Miner payout address: ${specialAddressInfo.minerInfo.name}`) - i.fas.fa-certificate.text-primary + +funItemIcon br else if (vout.scriptPubKey.hex && vout.scriptPubKey.hex.startsWith('6a24aa21a9ed')) - div.mb-tiny - span.badge.bg-primary OP_RETURN - - div - small.text-muted (SegWit committment -  - a(href="https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#commitment-structure", data-bs-toggle="tooltip", title="View developer docs", target="_blank") about - span ) + div.mb-2 + span.badge.bg-primary.me-2 OP_RETURN + + span.badge.bg-dark.me-2 SegWit commitment + a(href="https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#commitment-structure", data-bs-toggle="tooltip", title="Read about the SegWit Commitment", target="_blank") + i.fas.fa-external-link-alt - br - small - a(href="javascript:void(0)" onclick=`$('#op-return-hex-${tx.txid}-${vout.n}').show(); $(this).hide(); return false;`) show raw - div(id=`op-return-hex-${tx.txid}-${vout.n}`, style="display: none;") - small.fw-bold data - small (hex) -  - small.word-wrap #{vout.scriptPubKey.asm} + +asciiHexDataDisplay("OP_RETURN data", `op_return-${tx.txid}-${vout.n}`, vout.scriptPubKey.asm.substring("OP_RETURN ".length)) + else if (vout.scriptPubKey.asm && vout.scriptPubKey.asm.startsWith('OP_RETURN ')) - div.mb-tiny + div.mb-2 span.badge.bg-primary OP_RETURN + + +asciiHexDataDisplay("OP_RETURN data", `op_return-${tx.txid}-${vout.n}`, vout.scriptPubKey.asm.substring("OP_RETURN ".length)) - div - small.fw-bold data - small (ascii) -  - small #{utils.hex2ascii(vout.scriptPubKey.asm.substring("OP_RETURN ".length))} - br - small - a(href="javascript:void(0)" onclick=`$('#op-return-hex-${tx.txid}-${vout.n}').show(); $(this).hide(); return false;`) show raw - - div(id=`op-return-hex-${tx.txid}-${vout.n}`, style="display: none;") - small.fw-bold data - small (hex) -  - small.word-wrap #{vout.scriptPubKey.asm} - - else div.mb-tiny span.badge.bg-dark span(title=`Output Type: ${utils.outputTypeName(vout.scriptPubKey.type)}`, data-bs-toggle="tooltip") #{utils.outputTypeAbbreviation(vout.scriptPubKey.type)} - div - small.fw-bold asm - br - small.word-wrap #{vout.scriptPubKey.asm} - - div - small.fw-bold hex - br - small.word-wrap #{vout.scriptPubKey.hex} - - div.tx-io-value - if (utxos) - if (utxos[voutIndex]) - i.fas.fa-lock.text-success.me-2(title="Unspent output." data-bs-toggle="tooltip") - - else if (utxos[voutIndex] == null) - i.fas.fa-lock-open.text-secondary.me-2(title="Spent output." data-bs-toggle="tooltip") - - - var currencyValue = vout.value; - span(class=(tx.vout.length == 1 ? "fw-bold" : false)) - include ./value-display.pug + +asciiHexDataDisplay("ASM data", `asm-${tx.txid}-${vout.n}`, vout.scriptPubKey.asm) - if (tx.vout.length > 1) + div.tx-io-value.mt-3.mt-md-0 + if (!vout.scriptPubKey.asm.startsWith('OP_RETURN ')) + if (utxos) + if (utxos[voutIndex]) + span(title="This output remains unspent (a valid UTXO)." data-bs-toggle="tooltip") + i.fas.fa-lock.text-success.me-2 + + else if (utxos[voutIndex] == null) + span(title="This output has been spent (destroyed)." data-bs-toggle="tooltip") + i.fas.fa-lock-open.text-secondary.me-2 + + if (vout.value > 0 && vout.scriptPubKey.asm.startsWith('OP_RETURN ')) + span(title="Burned output - as an OP_RETURN output, this value is provably unspendable." data-bs-toggle="tooltip") + i.fas.fa-fire.text-danger.me-2 + + if (vout.value > 0) + - var currencyValue = vout.value; + span(class=(nonZeroVoutValueCount == 1 ? "fw-bold" : "fw-light")) + include ./value-display.pug + + + if (voutIndex < (tx.vout.length - 1) || nonZeroVoutValueCount > 1) hr else @@ -286,12 +287,14 @@ div.row.font-monospace if (hiddenRowCount > 0) a(href="javascript:void(0)", onclick=("showAllTxOutputs(this, '" + tx.txid + "');")) Show all #{tx.vout.length.toLocaleString()} outputs - if (tx.vout.length > 1) + if (nonZeroVoutValueCount > 1) div.row.mb-0.mb-lg-0 div.col - div.fw-bold.text-start.text-md-end + div.text-start.text-md-end span.d-block.d-md-none Total Output: - - var currencyValue = totalIOValues.output; - include ./value-display.pug + + span.fw-bold + - var currencyValue = totalIOValues.output; + include ./value-display.pug diff --git a/views/index.pug b/views/index.pug index aa7656c..c9a9e4e 100644 --- a/views/index.pug +++ b/views/index.pug @@ -1,7 +1,7 @@ extends layout block headContent - title Home + title Bitcoin Explorer block content if (getblockchaininfo == null) @@ -10,55 +10,53 @@ block content ul li p - strong If you just started your node, it may still be initializing. + b If you just started your node, it may still be initializing. div At startup, bitcoind verifies its block index before making itself available to serve data. The amount of time the verification process takes depends largely on the speed of the machine bitcoind is running on. If you're running bitcoind on low powered, inexpensive hardware, don't be surprised if this process takes a long time. li p - strong If you believe your bitcoind node is already initialized... + b If you believe your bitcoind node is already initialized... div Check your RPC connection info and/or check this application's error log for possible hints about the cause of this issue. else - if (config.demoSite && session.hideHomepageBanner != "true") - div.alert.alert-primary.alert-dismissible.shadow-sm.mb-3(role="alert") - span - span.fw-bold #{coinConfig.siteTitlesByNetwork[activeBlockchain]} - span is - a(href="https://github.com/janoside/btc-rpc-explorer", target="_blank") open-source - span and easy to set up. It can communicate with your - a(href=coinConfig.nodeUrl, target="_blank") #{coinConfig.name} Full Node - span via RPC. See the - a(href="https://github.com/janoside/btc-rpc-explorer", target="_blank") project description - span for a list of features and instructions for running. + +dismissableInfoAlert("homepageWelcomeBannerDismissed") + .clearfix + .float-start + h4.fw-light.mb-2 Welcome to Bitcoin Explorer! + .float-start + if (config.demoSite) + span.badge.bg-primary.mb-2.ms-3.mt-1 Public Demo + + .mb-1 A beautiful, easy-to-use, educational explorer whose only dependency is your Bitcoin Core node! + ul.mb-2 + li Open-Source + li Easy to setup / configure + li Designed to work well on low-powered devices (e.g. Raspberry Pi) + li Available for self-installation, or via several readymade-node integrations + + .mb-2 Check out the code, support development with a donation, and follow the project on Twitter below. + + .mt-2 if (global.sourcecodeProjectMetadata) - div.mt-2 - a.btn.btn-primary.btn-sm.me-3.mb-1(href="https://github.com/janoside/btc-rpc-explorer") - i.fas.fa-star.me-2 - span.me-2 Star - span.badge.bg-white.text-dark #{global.sourcecodeProjectMetadata.stargazers_count} + a.btn.btn-primary.text-white.me-2.mb-1(href="https://github.com/janoside/btc-rpc-explorer", title="View source code on Github", data-bs-toggle="tooltip") + i.fab.fa-github.fontawesome-shadow-dark.fa-lg.me-2 + | View Source - a.btn.btn-primary.btn-sm.me-3.mb-1(href="https://github.com/janoside/btc-rpc-explorer/fork") - i.fas.fa-code-branch.me-2 - span.me-2 Fork - span.badge.bg-white.text-dark #{global.sourcecodeProjectMetadata.forks_count} - - if (!crawlerBot) - button.btn.btn-primary.btn-sm.mb-1(type="button", data-bs-toggle="modal", data-target="#exampleModalCenter") - i.fas.fa-heart.me-2 - span Support Project + a.btn.btn-primary.me-2.mb-1(href="https://donate.btc21.org", target="_blank", title="Support this project with a donation", data-bs-toggle="tooltip") + i.fas.fa-heart.fontawesome-shadow-dark.text-danger.fa-lg.me-2 + | Support Project - if (false) - div.mt-2 - a.me-2(href="https://www.npmjs.com/package/btc-rpc-explorer" rel="nofollow" target="_blank") - img(src="https://camo.githubusercontent.com/a2a28dff9062102df7988314d014e68d4612bd83/68747470733a2f2f696d672e736869656c64732e696f2f6e706d2f762f6274632d7270632d6578706c6f7265722e7376673f7374796c653d666c6174" alt="npm version" data-canonical-src="https://img.shields.io/npm/v/btc-rpc-explorer.svg?style=flat" style="max-width:100%;") - - a(href="https://npmcharts.com/compare/btc-rpc-explorer?minimal=true" rel="nofollow" target="_blank") - img(src="https://camo.githubusercontent.com/07914c9a0c2f22f7493952dc969c57164bb14f77/687474703a2f2f696d672e736869656c64732e696f2f6e706d2f646d2f6274632d7270632d6578706c6f7265722e7376673f7374796c653d666c6174" alt="NPM downloads" data-canonical-src="http://img.shields.io/npm/dm/btc-rpc-explorer.svg?style=flat" style="max-width:100%;") + a.btn.btn-primary.me-2.mb-1(href="https://twitter.com/BitcoinExplorer", target="_blank", title="Follow this project on Twitter", data-bs-toggle="tooltip") + i.fab.fa-twitter.text-twitter.fontawesome-shadow-dark.fa-lg.me-2 + | @BitcoinExplorer + if (config.demoSite) + .mt-2 + i.fas.fa-asterisk.fontawesome-shadow.text-warning.me-2 + | This is a public demo, but this tool is designed to be run by all Bitcoiners... Don't Trust, Verify! - a.close(href="./changeSetting?name=hideHomepageBanner&value=true", aria-label="Close", style="text-decoration: none;") - span(aria-hidden="true") × + if (getblockchaininfo.initialblockdownload && !["regtest", "signet"].includes(global.activeBlockchain)) div.alert.alert-warning.shadow-sm.border.mb-3 @@ -66,117 +64,31 @@ block content div.mb-1 Your node is currently downloading and verifying blockchain data. Until the process is finished, some features of this tool will be unusable and/or unreliable. - span.font-weight-bold Progress: - span.text-monospace #{new Decimal(getblockchaininfo.verificationprogress).times(100).toDP(3)}% + span.fw-bold Progress: + span.font-monospace #{new Decimal(getblockchaininfo.verificationprogress).times(100).toDP(3)}% - div.row - - var summaryColCount = 8; - if (exchangeRates) - - summaryColCount = 9; - - div.mb-3(class=`col-xxl-${summaryColCount}`) - div.card.shadow-sm(style="height: 100%;") - div.card-body.px-2.px-sm-3 - h3.h6.mb-0 Network Summary - hr - - include includes/index-network-summary.pug - - div.mb-3(class=`col-xxl-${12 - summaryColCount}`) - div.card.shadow-sm(style="height: 100%;") - div.card-body.px-2.px-sm-3 - div.row - div.col - h3.h6.mb-0 Tools - - div.col.text-right - a(href="./tools") More info » - hr - - include includes/tools-card.pug + + include includes/index-network-summary.pug + if (latestBlocks) - div.row.mb-3 - div.col - div.card.shadow-sm - div.card-body.px-2.px-sm-3 - div.row - div.col - h3.h6.mb-0 Latest Blocks - - div.col.text-right - a(href="./blocks") See more » + +contentSection("Latest Blocks") + - var blocks = latestBlocks; + - var blockOffset = 0; + - var hideBlockIndex = true; - hr + include includes/blocks-list.pug - - var blocks = latestBlocks; - - var blockOffset = 0; + .text-center + .border.border-2.mt-2.mb-3 - include includes/blocks-list.pug + a(href="./blocks") Browse Blocks » - if (false) - div.card.shadow-sm.mb-3 - div.card-header - div.row - div.col - h3.h6.mb-0 Latest Blocks - if (getblockchaininfo.initialblockdownload) - small (#{(getblockchaininfo.headers - getblockchaininfo.blocks).toLocaleString()} behind) - div.col - span(style="float: right;") - a(href="./blocks") - span Browse Blocks » + +contentSection("Tools") + include includes/tools-card.pug + - div.card-body - - - var blocks = latestBlocks; - - var blockOffset = 0; - - include includes/blocks-list.pug - - - if (txStats) - div.row.mb-3 - div.col - div.card.shadow-sm - div.card-body.px-2.px-sm-3 - div.row - div.col - h3.h6.mb-0 Transaction Stats - - div.col.text-end - a(href="./tx-stats") See more » - - hr - - div.row - div.col-lg-6 - div.table-responsive - table.table.text-end.mb-3.mb-lg-0 - thead - tr - th Period - th Transactions - th Transactions Per Sec - tbody - each item, index in chainTxStatsIntervals - tr.font-monospace - td #{item[1]} - td #{chainTxStats[item[0]].window_tx_count.toLocaleString()} - td #{new Decimal(chainTxStats[item[0]].txrate).toDecimalPlaces(4)} - - - div.col-lg-6 - h4.h6.text-center Tx Rate, 24hr - - script var txRateDataDay = []; - each item, index in txStats.txCountStats.txRates - script txRateDataDay.push({x:#{item.x}, y:#{item.y}}); - - - var graphData = {id:"graphRateDay", dataVar:"txRateDataDay", labels:txStats.txCountStats.txLabels, title:"Tx Rate, 24hr", xaxisTitle:"Block", xaxisStep:5, yaxisTitle:"Tx Per Sec"}; - include ./includes/line-graph.pug - - + diff --git a/views/layout.pug b/views/layout.pug index 8d6b884..6741cd1 100644 --- a/views/layout.pug +++ b/views/layout.pug @@ -6,19 +6,16 @@ html(lang="en") meta(name="csrf-token", content=csrfToken) meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0, shrink-to-fit=no") - link(rel="stylesheet", href="./css/fonts.css", integrity="sha384-P92dMmtW9S5qrhDNNDr3kcdk00LJDKUy4Do4zFAO0+Br2b7iGHBWSVRgnnBsEpJS") - link(rel="stylesheet", href="./css/highlight.min.css", integrity="sha384-zhIsEafzyQWHSoMCQ4BfT8ZlRXQyIFwAHAJn32PNdsb8n6tVysGZSLpEEIvCskw4") + link(rel="stylesheet", href="./style/fonts.css", integrity="sha384-P92dMmtW9S5qrhDNNDr3kcdk00LJDKUy4Do4zFAO0+Br2b7iGHBWSVRgnnBsEpJS") + link(rel="stylesheet", href="./style/highlight.min.css", integrity="sha384-s4RLYRjGGbVqKOyMGGwfxUTMOO6D7r2eom7hWZQ6BjK2Df4ZyfzLXEkonSm0KLIQ") - if (session.uiTheme && session.uiTheme == "dark") - link(rel="stylesheet", href="./css/bootstrap-dark.min.css", integrity="sha384-yHrdw+uFPe64ykHEYlYL2lmT0s+veKi1+lmxNqB3jVMOl9iX0h9xDLxcgtFtiV6M") - link(rel="stylesheet", href="./css/dark-touchups.css") + if (userSettings.uiTheme == "light") + link(rel="stylesheet", href="./style/light.css", integrity="sha384-aUb+tfIBAXpVezvEdnu1PuRqntH8i/XMDZgw543c0vdV/1AjC8xV5JINblNI5GRA") else - link(rel="stylesheet", href="./css/bootstrap.min.css", integrity="sha384-QO/VzYasHIIVEtFdqGXHU2wxSK0pjVxX4mrM68IQhYpi0vTCM0ZIuV/KQbPZMfXg") - + link(rel="stylesheet", href="./style/dark.css", integrity="sha384-Ow3YhdsFrBZOGX+Z8jwJQKTq1ezm/PS8Jt5ND+g4j9PQkAmTPw3NaiBOIeFU5eLF") - link(rel='stylesheet', href='./css/styling.css') link(rel="icon", type="image/png", href=`./img/logo/${config.coin.toLowerCase()}.png`) @@ -26,26 +23,28 @@ html(lang="en") block headContent title Explorer - - body.bg-dark - nav.navbar.navbar-expand-lg.navbar-dark.bg-dark - div.container + + include ./includes/shared-mixins.pug + + body.bg-header-footer + nav.navbar.navbar-expand-lg.navbar-dark.bg-header-footer + .container a.navbar-brand(href="./") span if (coinConfig.logoUrlsByNetwork && coinConfig.logoUrlsByNetwork[activeBlockchain]) img.header-image(src=coinConfig.logoUrlsByNetwork[activeBlockchain], alt="logo") else - img.header-image(src="./img/logo/btc.svg", alt="logo") + img.header-image(src="./img/logo/logo.svg", alt="logo") if (coinConfig.siteTitlesByNetwork && coinConfig.siteTitlesByNetwork[activeBlockchain]) - span #{coinConfig.siteTitlesByNetwork[activeBlockchain]} + span.fw-light #{coinConfig.siteTitlesByNetwork[activeBlockchain]} else - span Bitcoin Explorer + span.fw-light Bitcoin Explorer button.navbar-toggler.navbar-toggler-end(type="button", data-bs-toggle="collapse", data-target="#navbarNav", aria-label="collapse navigation") span.navbar-toggler-icon - div.collapse.navbar-collapse(id="navbarNav") + .collapse.navbar-collapse(id="navbarNav") if (rpcClient) ul.navbar-nav.me-auto if (false) @@ -53,17 +52,45 @@ html(lang="en") a.nav-link(href="./about") span About - if (activeBlockchain != "main") + if (false && activeBlockchain != "main") - var chainName = activeBlockchain == "test" ? "testnet" : activeBlockchain li.nav-item - a.nav-link.text-warning(title=`Current node's chain: ${activeBlockchain}` data-bs-toggle="tooltip") [#{chainName}] + span.badge.bg-primary(style="margin-top: 0.75rem;", title=`Current node's chain: ${activeBlockchain}` data-bs-toggle="tooltip") #{chainName} + + + + + + ul.navbar-nav + if (config.demoSite && homepage) + li.nav-item.dropdown.me-2 + a.nav-link.dropdown-toggle.bg-header-footer-highlight.rounded(href="javascript:void(0)", role="button", data-bs-toggle="dropdown", aria-haspopup="true", aria-expanded="false") + span.fa-layers.fa-fw.me-1 + i.fas.fa-circle.text-white(data-fa-transform="shrink-2") + i.fab.fa-bitcoin(style=`color: ${coinConfig.coinColorsByNetwork[activeBlockchain]}`) + + + div.dropdown-menu.dropdown-menu-end.shadow(aria-label="Tools Items") + span.dropdown-header Public Demo Sites + + - var demoSites = ["main", "test", "signet"]; + + each demoSite in demoSites + a.dropdown-item(href=coinConfig.demoSiteUrlsByNetwork[demoSite]) + span.fa-layers.fa-fw.ms-2 + i.fas.fa-circle.fa-lg.me-2.text-white(data-fa-transform="shrink-2") + i.fab.fa-bitcoin.fa-lg.me-2(style=`color: ${coinConfig.coinColorsByNetwork[demoSite]}`) + + | #{coinConfig.siteTitlesByNetwork[demoSite].replace("Explorer", "").replace("Bitcoin", "Mainnet")} if (config.siteTools) - li.nav-item.dropdown - a.nav-link.dropdown-toggle(href="javascript:void(0)", role="button", data-bs-toggle="dropdown", aria-haspopup="true", aria-expanded="false") - span Tools - div.dropdown-menu.shadow(aria-label="Tools Items") + li.nav-item.dropdown.me-2 + a.nav-link.rounded.bg-header-footer-highlight.dropdown-toggle(href="javascript:void(0)", role="button", data-bs-toggle="dropdown", aria-haspopup="true", aria-expanded="false") + i.fas.fa-tools.me-1 + div.dropdown-menu.dropdown-menu-end.shadow(aria-label="Tools Items") + span.dropdown-header Tools + each itemIndex in config.site.prioritizedToolIdsList - var item = config.siteTools[itemIndex]; @@ -71,37 +98,8 @@ html(lang="en") i(class=item.fontawesome, style="width: 20px; margin-right: 10px;") span #{item.name} - if (config.site.header.dropdowns) - each dropdown, ddIndex in config.site.header.dropdowns - li.nav-item.dropdown - a.nav-link.dropdown-toggle(href="javascript:void(0)", role="button", data-bs-toggle="dropdown", aria-haspopup="true", aria-expanded="false") - span #{dropdown.title} - div.dropdown-menu.shadow(aria-label=(dropdown.title + " Items")) - each dropdownLink in dropdown.links - a.dropdown-item(href=dropdownLink.url) - if (dropdownLink.imgUrl) - img(src=dropdownLink.imgUrl, style="width: 24px; height: 24px; margin-right: 8px;", alt=dropdownLink.name) - span #{dropdownLink.name} - - - form.form-inline.me-3(method="post", action="./search") - input(type="hidden", name="_csrf", value=csrfToken) - div.input-group.input-group-sm - input.form-control.form-control-sm(type="text", name="query", placeholder="block height/hash, txid, address", value=(query)) - - button.btn.btn-primary(type="submit") - i.fas.fa-search - - ul.navbar-nav - li.nav-item.dropdown - a.nav-link.dropdown-toggle(href="javascript:void(0)", role="button", data-bs-toggle="dropdown", aria-haspopup="true", aria-expanded="false") - span Admin Tools - div.dropdown-menu.dropdown-menu-end.shadow(aria-label="Admin Tools Items") - a.dropdown-item(href="./admin/dashboard") Dashboard - a.dropdown-item(href="./admin/stats") Stats - - li.nav-item.dropdown - a.nav-link.dropdown-toggle(href="javascript:void(0)", id="navbarDropdown", role="button", data-bs-toggle="dropdown", aria-haspopup="true", aria-expanded="false") + li.nav-item.dropdown.me-4 + a.nav-link.rounded.bg-header-footer-highlight.dropdown-toggle(href="javascript:void(0)", id="navbarDropdown", role="button", data-bs-toggle="dropdown", aria-haspopup="true", aria-expanded="false") i.fas.fa-cog.me-1 div.dropdown-menu.dropdown-menu-end.shadow(aria-labelledby="navbarDropdown") if (coinConfig.currencyUnits) @@ -114,32 +112,20 @@ html(lang="en") i.fas.fa-check span #{item.name} - span.dropdown-header Theme - a.dropdown-item(href="./changeSetting?name=uiTheme&value=light") - if (session.uiTheme == "light" || session.uiTheme == "") - i.fas.fa-check - span Light - a.dropdown-item(href="./changeSetting?name=uiTheme&value=dark") - if (session.uiTheme == "dark") - i.fas.fa-check - span Dark - - if (host && port && !homepage && config.site.header.showToolsSubheader) - div.container.mb-2.pt-2.d-lg-block.d-none.border-top(id="sub-menu", style="") - ul.nav - each itemIndex in config.site.subHeaderToolsList - - var item = config.siteTools[itemIndex]; - li.nav-item - a.nav-link.text-white.px-2.text-decoration-underline.me-3(href=item.url) - i.me-1(class=item.fontawesome) - span #{item.name} - - - var bodyBgColor = "#f8f9fa;"; - if (session.uiTheme && session.uiTheme == "dark") - - bodyBgColor = "#0c0c0c;"; + - div.pb-4.pt-3.pt-md-4(style=("background-color: " + bodyBgColor)) - div.container.px-2.px-sm-3 + form.form-inline(method="post", action="./search", style="width: 325px;") + input(type="hidden", name="_csrf", value=csrfToken) + .input-group.input-group + input.form-control.form-control(type="text", name="query", placeholder="block height/hash, txid, address", value=(query)) + + button.btn.btn-primary(type="submit") + i.fas.fa-search + + + + div.pb-4.pt-3.pt-md-4.bg-main(style=("background-color: " + bodyBgColor)) + div.container.px-2.px-sm-3.mb-large if (pageErrors && pageErrors.length > 0) include includes/page-errors-modal.pug @@ -156,35 +142,29 @@ html(lang="en") if (userMessage) div.alert(class=(userMessageType ? `alert-${userMessageType}` : "alert-warning"), role="alert") span #{userMessage} - - + div(style="min-height: 500px;") block content div(style="margin-bottom: 30px;") - if (config.demoSite && !crawlerBot) - include ./includes/donation-modal.pug - - footer.footer.border-top.border-primary.bg-dark.pt-3.pb-1.px-3.text-white(style="border-width: 5px !important;") + footer.footer.border-top.border-primary.bg-header-footer.pt-3.pb-1.px-3.text-white(style="border-width: 5px !important;") div.container div.row div.col-md-5 dl dt Source dd - a(href="https://github.com/janoside/btc-rpc-explorer") github.com/janoside/btc-rpc-explorer + a.footer-link(href="https://github.com/janoside/btc-rpc-explorer") github.com/janoside/btc-rpc-explorer if (global.sourcecodeProjectMetadata) div.mt-2 a.btn.btn-primary.btn-sm.me-3.mb-1.text-decoration-none(href="https://github.com/janoside/btc-rpc-explorer") - i.fas.fa-star.me-2 - span.me-2 Star + i.fas.fa-star.fontawesome-shadow.text-warning.me-2 span.badge.bg-white.text-dark #{global.sourcecodeProjectMetadata.stargazers_count} a.btn.btn-primary.btn-sm.me-3.mb-1.text-decoration-none(href="https://github.com/janoside/btc-rpc-explorer/fork") - i.fas.fa-code-branch.me-2 - span.me-2 Fork + i.fas.fa-code-branch.fontawesome-shadow.me-2 span.badge.bg-white.text-dark #{global.sourcecodeProjectMetadata.forks_count} @@ -195,58 +175,98 @@ html(lang="en") if (sourcecodeVersion) br span commit: - a(href=`https://github.com/janoside/btc-rpc-explorer/commit/${sourcecodeVersion}`) #{sourcecodeVersion} + a.footer-link(href=`https://github.com/janoside/btc-rpc-explorer/commit/${sourcecodeVersion}`) #{sourcecodeVersion} br span released: #{sourcecodeDate} span(style="font-size: 0.9em;") ( - a(href="./changelog") changelog + a.footer-link(href="./changelog") changelog span ) if (config.demoSite) dt Public Demos dd - if (coinConfig.demoSiteUrl) - a(href=coinConfig.demoSiteUrl) #{coinConfig.demoSiteUrl} + if (coinConfig.demoSiteUrlsByNetwork && coinConfig.demoSiteUrlsByNetwork.main) + a.footer-link(href=coinConfig.demoSiteUrlsByNetwork.main) #{coinConfig.demoSiteUrlsByNetwork.main} else - a(href="https://explorer.btc21.org") https://explorer.btc21.org + a.footer-link(href="https://explorer.btc21.org") https://explorer.btc21.org div.mt-2 - - var demoSites = []; - - demoSites.push({url:"https://explorer.btc21.org", logoUrl:"./img/logo/btc.svg", title:"Bitcoin Explorer"}); - - demoSites.push({url:"https://testnet.btc21.org", logoUrl:"./img/logo/tbtc.svg", title:"Testnet Explorer"}); - - demoSites.push({url:"https://signet.btc21.org", logoUrl:"./img/logo/signet.svg", title:"Signet Explorer"}); - + - var demoSites = ["main", "test", "signet"]; + each demoSite in demoSites - a.me-2(href=demoSite.url, title=demoSite.title, data-bs-toggle="tooltip") - img(src=demoSite.logoUrl, alt=demoSite.title) - - a.me-2(href="https://lnd-admin.btc21.org", title="LND Admin", data-bs-toggle="tooltip") - img(src=("./img/logo/lnd-admin.png"), style="width: 32px; height: 32px;", alt="LND Admin") + a.me-2(href=coinConfig.demoSiteUrlsByNetwork[demoSite], title=coinConfig.siteTitlesByNetwork[demoSite], data-bs-toggle="tooltip") + img(src=coinConfig.logoUrlsByNetwork[demoSite], alt=coinConfig.siteTitlesByNetwork[demoSite], style="width: 40px; height: 40px;") div.col-md-7.text-md-end dl + + + dd - button.btn.btn-primary(type="button", data-bs-toggle="modal", data-target="#exampleModalCenter") - i.fas.fa-heart.me-2 - span Support Project + .btn-group.dropup.me-2 + button.btn.dropdown-toggle.bg-header-footer-highlight.text-white(type="button" data-bs-toggle="dropdown" aria-expanded="false") + i.fas.fa-shield-alt.me-1 + + ul.dropdown-menu.dropdown-menu-end.shadow(aria-label="Admin Tools Items") + span.dropdown-header Admin Tools + + a.dropdown-item(href="./admin/dashboard") Dashboard + a.dropdown-item(href="./admin/stats") Stats + + + - var darkTheme = (userSettings.uiTheme == "dark"); + a.btn.btn-lg.fa-lg.bg-header-footer-highlight(href=`./changeSetting?name=uiTheme&value=${darkTheme ? "light" : "dark"}`, title=`Active Theme: ${darkTheme ? "Dark" : "Light"}
Click to switch to ${darkTheme ? "Light" : "Dark"}`, data-bs-toggle="tooltip", data-bs-html="true") + + i.fas.fa-sun.text-warning.me-1 + + span.me-1 + if (darkTheme) + i.fas.fa-toggle-on.text-primary + else + i.fas.fa-toggle-on.fa-rotate-180.text-warning + + i.fas.fa-moon.text-primary + + dd + + + dd + a.btn.btn-primary(href="https://donate.btc21.org", title="Support this project with a donation", data-bs-toggle="tooltip") + i.fas.fa-heart.fontawesome-shadow-dark.text-danger + + a.btn.btn-primary.ms-2(href=`https://twitter.com/BitcoinExplorer`, title="Follow this project on Twitter", data-bs-toggle="tooltip") + i.fab.fa-twitter.fontawesome-shadow-dark.text-twitter + + + - script(src="./js/jquery.min.js", integrity="sha384-vk5WoKIaW/vJyUAd9n/wmopsmNhiy+L2Z+SBxGYnUkunIxVxAv/UtMOhba/xskxh") - script(src="./js/popper.min.js", integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo") - script(src="./js/bootstrap.min.js", integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6") - script(defer, src="./js/fontawesome.min.js", integrity="sha384-eVEQC9zshBn0rFj4+TU78eNA19HMNigMviK/PU/FFjLXqa/GKPgX58rvt5Z8PLs7") + script(src="./js/jquery.min.js", integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK") + script(src="./js/bootstrap.bundle.min.js", integrity="sha384-JEW9xMcG8R+pH31jmWH6WWP0WintQrMb4s7ZOdauHnUtxwoG2vI5DkLtS3qm9Ekf") + script(defer, src="./js/fontawesome.min.js", integrity="sha384-haqrlim99xjfMxRP6EWtafs0sB1WKcMdynwZleuUSwJR0mDeRYbhtY+KPMr+JL6f") - script(src="./js/highlight.min.js", integrity="sha384-xLrpH5gNLD6HMLgeDH1/p4FXigQ8T9mgNm+EKtCSXL0OJ5i1bnSi57dnwFuUMM9/") + script(src="./js/highlight.pack.js", integrity="sha384-OGoFdvlhYqw3L+BFpHxdz5136RO9tUlt7OZ2qQZ0N6Z9Qqx0rCQBsg9ko7X4vC64") - script(src="./js/site.js", integrity="sha384-VT6URWBBaQ+gBHYtXUO3QP6Rq8DnvRYIWx6nGW5l5u/usDvbitq+MkHc4ZxVTqzT") + script(src="./js/site.js", integrity="sha384-lRJsCA6PqJsSsdIfU9CtmBxuoCI2nZMQSphToDThRdHsK/unylcL0y41P/kRd49S") script. - $(document).ready(function() { - $('[data-toggle="tooltip"]').tooltip(); - $('[data-toggle="popover"]').popover({html:true, container:"body"}); + document.addEventListener("DOMContentLoaded", function(event) { + // enable tooltips everywhere + var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); + var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) { + return new bootstrap.Tooltip(tooltipTriggerEl); + }); + + // enable popovers everywhere + var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]')); + var popoverList = popoverTriggerList.map(function (popoverTriggerEl) { + return new bootstrap.Popover(popoverTriggerEl); + }); + + hljs.highlightAll(); }); - hljs.initHighlightingOnLoad(); + if (config.credentials.sentryUrl && config.credentials.sentryUrl.length > 0) script(src="./js/sentry.min.js", integrity="sha384-da/Bo2Ah6Uw3mlhl6VINMblg2SyGbSnULKrukse3P5D9PTJi4np9HoKvR19D7zOL", crossorigin="anonymous") diff --git a/views/mempool-summary.pug b/views/mempool-summary.pug index 7c7e4d9..01e2cc0 100644 --- a/views/mempool-summary.pug +++ b/views/mempool-summary.pug @@ -4,88 +4,86 @@ block headContent title Mempool Summary block content - h1.h3 Mempool Summary - hr + +pageTitle("Mempool Summary") + + + +dismissableInfoAlert("mempoolSummaryNoteDismissed", "About Mempool Summary...") + .mb-2 This tool summarizes data about the transactions in your node's mempool - the set of transactions that your node has received from the network but are not yet confirmed in a block. + .mb-2 The fee-rate summary data can be helpful for deciding what fee is necessary to get a transaction included in a future block, depending on its priority. + div#progress-wrapper.mb-huge div.card.shadow-sm.mb-3 div.card-body - h4.h6 Loading mempool transactions: + span Loading mempool transactions: span(id="progress-text") div.progress.mt-2(id="progress-bar", style="height: 7px;") div.progress-bar(id="data-progress", role="progressbar", aria-valuenow="0", aria-valuemin="0" ,aria-valuemax="100") div(id="main-content", style="display: none;") - div.card.shadow-sm.mb-3 - div.card-body.px-2.px-md-3 - h3.h6.mb-0 Summary - hr + +contentSection("Summary") + +summaryRow(5) + +summaryItem("Transactions") + span#tx-count - div.clearfix - div.row - div.summary-table-label Tx Count - div.summary-table-content.font-monospace(id="tx-count") + +summaryItem("Memory Usage") + span#mem-usage - div.row - div.summary-table-label Memory Usage - div.summary-table-content.font-monospace(id="mem-usage") + +summaryItem("Total Fees") + span#total-fees - div.row - div.summary-table-label Total Fees - div.summary-table-content.font-monospace(id="total-fees") + +summaryItem("Avg Fee") + span#avg-fee - div.row - div.summary-table-label Avg Fee - div.summary-table-content.font-monospace(id="avg-fee") - - div.row - div.summary-table-label Avg Fee Rate - div.summary-table-content.font-monospace(id="avg-fee-rate") + +summaryItem("Avg Fee Rate", null, "sat/vB") + span#avg-fee-rate div#detail-charts-and-data - div.card.shadow-sm.mb-3 - div.card-body.px-2.px-md-3 - h3.h6.mb-0 Transactions by fee rate - hr + +contentSection("Fee Rate Distribution") + canvas.mb-3(id="mempoolBarChart", height="100") - canvas.mb-3(id="mempoolBarChart", height="100") + hr.mt-3 - div.table-responsive - table.table.table-striped.mb-3 - thead - tr - th Fee Rate - th.text-end Tx Count - th.text-end Total Fees - th.text-end Avg Fee - th.text-end Avg Fee Rate - tbody(id="fee-rate-table-body") - tr(id="fee-rate-table-row-prototype", style="display: none;") - td.font-monospace.data-label - td.font-monospace.text-end.data-count - td.font-monospace.text-end.data-total-fees - td.font-monospace.text-end.data-avg-fee - td.font-monospace.text-end.data-fee-rate + .table-responsive + table.table.table-striped.table-borderless.mb-3 + thead + tr + th Fee Rate + th.text-end Tx Count + th.text-end Total Fees + th.text-end Avg Fee + th.text-end Avg Fee Rate + small.fw-normal.text-muted.ms-2 (sat/vB) + tbody(id="fee-rate-table-body") + tr(id="fee-rate-table-row-prototype", style="display: none;") + td.font-monospace.data-label + td.font-monospace.text-end.data-count + td.font-monospace.text-end.data-total-fees + td.font-monospace.text-end.data-avg-fee + td.font-monospace.text-end.data-fee-rate - div.card.shadow-sm.mb-3 - div.card-body.px-2.px-md-3 - h3.h6.mb-0 Transactions by size - hr + tr(id="empty-row-to-fix-striped-coloring", style="display: none;") - canvas.mb-3(id="txSizesBarChart", height="100") + - div.card.shadow-sm.mb-3 - div.card-body.px-2.px-md-3 - h3.h6.mb-0 Transactions by age - hr + +contentSection("Size Distribution") + canvas.mb-3(id="txSizesBarChart", height="100") - canvas.mb-3(id="txAgesBarChart", height="100") + + + +contentSection("Age Distribution") + canvas.mb-3(id="txAgesBarChart", height="100") + + block endOfBody - script(src="./js/chart.bundle.min.js", integrity="sha384-qgOtiGNaHh9fVWUnRjyHlV39rfbDcvPPkEzL1RHvsHKbuqUqM6uybNuVnghY2z4/") + + +graphPageScriptSetup + script(src='./js/decimal.js') + script. var txidChunks = !{JSON.stringify(mempooltxidChunks)}; var satoshiPerByteBucketMaxima = !{JSON.stringify(satoshiPerByteBucketMaxima)}; @@ -155,7 +153,7 @@ block endOfBody $("#avg-fee-rate").text(summary.averageFeePerByte); $.ajax({ - url: `./api/utils/formatLargeNumber/${summary.totalBytes},2` + url: `./api/utils/formatLargeNumber/${summary.totalBytes},1` }).done(function(result) { $("#mem-usage").html(`${result[0]} ${result[1].abbreviation}B`); @@ -164,7 +162,7 @@ block endOfBody updateCurrencyValue($("#total-fees"), summary.totalFees); updateCurrencyValue($("#avg-fee"), summary.averageFee); - updateFeeRateValue($("#avg-fee-rate"), summary.averageFeePerByte, 2); + updateFeeRateValue($("#avg-fee-rate"), summary.averageFeePerByte, 2, false); //$("#summary-json").text(JSON.stringify(summary, null, 4)); @@ -186,9 +184,17 @@ block endOfBody display: false }, scales: { + xAxes: [{ + gridLines: { + color: gridLineColor + } + }], yAxes: [{ ticks: { beginAtZero:true + }, + gridLines: { + color: gridLineColor } }] } @@ -211,9 +217,17 @@ block endOfBody display: false }, scales: { + xAxes: [{ + gridLines: { + color: gridLineColor + } + }], yAxes: [{ ticks: { beginAtZero:true + }, + gridLines: { + color: gridLineColor } }] } @@ -236,9 +250,17 @@ block endOfBody display: false }, scales: { + xAxes: [{ + gridLines: { + color: gridLineColor + } + }], yAxes: [{ ticks: { beginAtZero:true + }, + gridLines: { + color: gridLineColor } }] } @@ -264,7 +286,7 @@ block endOfBody updateCurrencyValue(row.find(".data-total-fees"), item.totalFees); updateCurrencyValue(row.find(".data-avg-fee"), item.totalFees / item.count); - updateFeeRateValue(row.find(".data-fee-rate"), item.totalFees / item.totalBytes, 2); + updateFeeRateValue(row.find(".data-fee-rate"), item.totalFees / item.totalBytes, 2, false); } row.show(); diff --git a/views/mempool-tx.pug b/views/mempool-tx.pug new file mode 100644 index 0000000..72dbcb7 --- /dev/null +++ b/views/mempool-tx.pug @@ -0,0 +1,19 @@ +extends layout + +block headContent + title Mempool Transactions + +block content + +pageTitle("Mempool Transactions") + + if (false) + pre + code #{JSON.stringify(transactions, null, 4)} + + if (txCount > 0) + +contentSection(`${txCount.toLocaleString()} Transaction${txCount == 1 ? "" : "s"}`, false, null, false, false) + +txList(transactions, txCount, limit, offset, txInputsByTransaction, {mempoolDetailsByTxid:mempoolDetailsByTxid}) + + + else + p No unconfirmed transactions found diff --git a/views/mining-summary.pug b/views/mining-summary.pug index a7fa1fd..3d9a1c5 100644 --- a/views/mining-summary.pug +++ b/views/mining-summary.pug @@ -4,65 +4,31 @@ block headContent title Mining Summary block content - h1.h3 Mining Summary - hr + +pageTitle("Mining Summary") - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Block Range - hr - div.clearfix - div.float-start.me-4 - div(id="time-range-buttons") - h3.h6 Latest N Blocks - div.btn-group - a.btn.btn-primary.block-count-btn(href="javascript:void(0)", data-blockCount="144") 144 - small.ms-2 (~1d) - a.btn.btn-outline-primary.block-count-btn(href="javascript:void(0)", data-blockCount="432") 432 - small.ms-2 (~3d) - a.btn.btn-outline-primary.block-count-btn(href="javascript:void(0)", data-blockCount="1008") 1,008 - small.ms-2 (~7d) - a.btn.btn-outline-primary.block-count-btn(href="javascript:void(0)", data-blockCount="4320") 4,320 - small.ms-2 (~30d) + +dismissableInfoAlert("miningSummaryPageNoteDismissed", "About Mining Summary...") + | !{markdown("The **Mining Summary** tool queries a range of blocks from Bitcoin Core and tries to identify the miner for each block. The identification of a mining entity is an imperfect process, relying on optional flagging by anonymous entities (though, in practice, it tends to work well).")} + | Use the Filters section below to select the range of blocks to analyze. - div.float-start.me-4 - div(id="block-selections-buttons") - h3.h6 Preconfigured - div.dropdown - button.btn.btn-outline-primary.dropdown-toggle(type="button", id="preconfigured-dropdown", data-bs-toggle="dropdown", aria-haspopup="true", aria-expanded="false") Selections - div.dropdown-menu(aria-labelledby="preconfigured-dropdown") - a.dropdown-item(href="javascript:void(0)", data-blocks="0-199") First 200 Blocks - a.dropdown-item(href="javascript:void(0)", data-blocks="209900-210100") First Halving ±100 - a.dropdown-item(href="javascript:void(0)", data-blocks="419900-420100") Second Halving ±100 - a.dropdown-item(href="javascript:void(0)", data-blocks="629900-630100") Third Halving ±100 - a.dropdown-item(href="javascript:void(0)", data-blocks="481724-481924") SegWit Activation ±100 + +contentSection("Filters") + +blockRangeFilters - div.float-start - div(id="time-range-buttons") - h3.h6 Custom Range - - form.form-inline.me-3(id="custom-range-form") - div.input-group - input.form-control(type="text", id="custom-range-start", placeholder="min height", style="width: 125px;") - input.form-control(type="text", id="custom-range-end", placeholder="max height", style="width: 125px;") - - button.btn.btn-primary(type="submit") Go div#progress-wrapper.mb-huge div.card.shadow-sm.mb-3 div.card-body - h4.h6 Loading blocks: + span Loading blocks: span(id="block-progress-text") div.progress.mt-2(id="progress-bar", style="height: 7px;") div.progress-bar(id="data-progress", role="progressbar", aria-valuenow="0", aria-valuemin="0" ,aria-valuemax="100") - div.card.shadow-sm.mb-3(id="summary-table", style="display: none;") - div.card-body - div.table-responsive - table.table.table-striped.mb-0 + div#summary-table(style="display: none;") + +contentSection("Miner Breakdown") + .table-responsive + table.table.table-borderless.table-striped.mb-0 thead tr th.data-header Miner @@ -73,7 +39,8 @@ block content tbody(id="summary-table-body") tr(id="miner-summary-prototype", style="display: none;") - td.data-cell.font-monospace.miner-name + td.data-cell.font-monospace + span.badge.bg-primary.miner-name td.data-cell.font-monospace.text-end span.miner-block-count small.text-muted.miner-block-percent.ms-2 @@ -91,6 +58,8 @@ block content //- var currencyValue = new Decimal(summary.totalFeesCollected); //include ./includes/value-display.pug + tr(id="hidden-row-to-fix-stripe-pattern", style="display: none;") + tr(id="miner-summary-totals", style="display: none;") th.data-cell.font-monospace.miner-name Total th.data-cell.font-monospace.text-end diff --git a/views/node-status.pug b/views/node-status.pug index c88918a..f980f9f 100644 --- a/views/node-status.pug +++ b/views/node-status.pug @@ -4,8 +4,7 @@ block headContent title Node Status block content - h1.h3 Node Status - hr + +pageTitle("Node Status") if (getblockchaininfo) if (false) @@ -18,214 +17,191 @@ block content if (false) pre - code.json.bg-light #{JSON.stringify(getblockchaininfo, null, 4)} + code.json #{JSON.stringify(getblockchaininfo, null, 4)} - ul.nav.nav-tabs.mb-3 - li.nav-item - a.nav-link.active(data-bs-toggle="tab", href="#tab-details", role="tab") Details - li.nav-item - a.nav-link(data-bs-toggle="tab", href="#tab-json", role="tab") JSON + + +pageTabs(["Details", "JSON"]) div.tab-content - div.tab-pane.active(id="tab-details", role="tabpanel") - div.card.rounded-lg.shadow-sm.mb-3 - div.card-body.px-2.px-sm-3 - h3.h6.mb-0 Node Summary - hr + +pageTab("Details", true) - div.clearfix - div.row - div.summary-table-label Version - div.summary-table-content.font-monospace #{getnetworkinfo.version} (#{getnetworkinfo.subversion}) + if (getblockchaininfo.warnings && getblockchaininfo.warnings.trim().length > 0) + +contentSection("Active Warnings") + if (getblockchaininfo.warnings && getblockchaininfo.warnings.trim().length > 0) + span.text-danger #{getblockchaininfo.warnings} + else + span.text-success None - div.row - div.summary-table-label Protocol Version - div.summary-table-content.font-monospace #{getnetworkinfo.protocolversion} + +contentSection("Node Summary") + +summaryRow(4) + +summaryItem("Version") + | #{getnetworkinfo.version} (#{getnetworkinfo.subversion}) - div.row - div.summary-table-label Status - div.summary-table-content.font-monospace - if (getblockchaininfo.initialblockdownload || getblockchaininfo.headers > getblockchaininfo.blocks) - span Initial block download progress #{(100 * getblockchaininfo.verificationprogress).toLocaleString()}% - else - span.text-success Synchronized with network + +summaryItem("Protocol Version") + | #{getnetworkinfo.protocolversion} - div.row - div.summary-table-label Uptime - div.summary-table-content.font-monospace - - var startTimeAgo = moment.duration(uptimeSeconds * 1000); - span #{startTimeAgo.format()} + +summaryItem("Status") + if (getblockchaininfo.initialblockdownload || getblockchaininfo.headers > getblockchaininfo.blocks) + span Initial block download progress #{(100 * getblockchaininfo.verificationprogress).toLocaleString()}% + else + span.text-success Synchronized - div.row - div.summary-table-label Warnings - div.summary-table-content.font-monospace - if (getblockchaininfo.warnings && getblockchaininfo.warnings.trim().length > 0) - span.text-danger #{getblockchaininfo.warnings} - else - span.text-success None + +summaryItem("Uptime") + - var startTimeAgo = moment.duration(uptimeSeconds * 1000); + span #{startTimeAgo.format()} - div.card.shadow-sm.mb-3 - div.card-body.px-2.px-sm-3 - h3.h6.mb-0 Blockchain Summary - hr + +contentSection("Blockchain") + +summaryRow(4 + (getblockchaininfo.size_on_disk ? 1 : 0) + (getblockchaininfo.pruned ? 1 : 0)) + +summaryItem("Chain") + if (getblockchaininfo.chain == "main") + span.text-success #{getblockchaininfo.chain} + else + span.text-warning #{getblockchaininfo.chain} - div.clearfix - div.row - div.summary-table-label Chain - div.summary-table-content.font-monospace #{getblockchaininfo.chain} + +summaryItem("Block Count") + | #{getblockchaininfo.blocks.toLocaleString()} + if (getblockchaininfo.headers != getblockchaininfo.blocks) + br + small.text-muted (headers: #{getblockchaininfo.headers.toLocaleString()}) - div.row - div.summary-table-label Block Count - div.summary-table-content.font-monospace #{getblockchaininfo.blocks.toLocaleString()} + +summaryItem("Difficulty") + - var difficultyData = utils.formatLargeNumber(getblockchaininfo.difficulty, 3); + span.border-dotted(title=parseFloat(getblockchaininfo.difficulty).toLocaleString(), data-bs-toggle="tooltip") + span #{difficultyData[0]} + span x 10 + sup #{difficultyData[1].exponent} + + if (getblockchaininfo.size_on_disk) + +summaryItem("Data Size") + - var sizeData = utils.formatLargeNumber(getblockchaininfo.size_on_disk, 1); + | #{sizeData[0]} #{sizeData[1].abbreviation}B + + if (getblockchaininfo.pruned) + +summaryItem("Pruned?", "Whether your node prunes the blockchain. With pruning active, your node will delete some data that is non-essential for future verification needs, in order to reduce disk usage.") + span.text-warning Yes + small.ms-2.text-muted + | ( + span.border-dotted(title="This is the latest block for which your node has all block data; blocks older than this one have had some or all non-essential details deleted.", data-bs-toggle="tooltip") + | #{getblockchaininfo.pruneheight.toLocaleString()}+ + | ) + + if (false) br - span.text-muted (headers: #{getblockchaininfo.headers.toLocaleString()}) - div.row - div.summary-table-label Difficulty - div.summary-table-content.font-monospace - - var difficultyData = utils.formatLargeNumber(getblockchaininfo.difficulty, 3); - span.border-dotted(title=parseFloat(getblockchaininfo.difficulty).toLocaleString(), data-bs-toggle="tooltip") - span #{difficultyData[0]} - span x 10 - sup #{difficultyData[1].exponent} + span.border-dotted(title="This is the approximate amount of non-essential blockchain data that your node will store.", data-bs-toggle="tooltip") Prune target size - if (getblockchaininfo.softforks) - - var forkUrls = {"bip34":"https://github.com/bitcoin/bips/blob/master/bip-0034.mediawiki", "bip65":"https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki", "bip66":"https://github.com/bitcoin/bips/blob/master/bip-0066.mediawiki", "csv":"https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki", "segwit":"https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki", "taproot":"https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki"}; - div.row - div.summary-table-label Soft Forks - div.summary-table-content.font-monospace - ul.list-unstyled - each item, itemName in getblockchaininfo.softforks - li - div.d-inline-block.text-end(style="width: 75px;") - if (forkUrls[itemName]) - a.fw-bold(href=forkUrls[itemName]) #{itemName} - | :  - else - span.fw-bold #{itemName} - | :  - - if (item.type == "bip9") - span.me-2.ms-2 #{item.type} - #{JSON.stringify(item.bip9)} + span :  + - var pruneTargetSize = utils.formatLargeNumber(getblockchaininfo.prune_target_size, 1); + + span #{pruneTargetSize[0]} #{pruneTargetSize[1].abbreviation}B - if (item.active) - span.me-2 - span.text-success active - small.text-muted.ms-2 (since: # - a(href=`./block-height/${item.height}`) #{item.height.toLocaleString()} - | ) + +summaryItem("Data Indexes") + ul.list-unstyled.mb-0 + li + span.me-2 txindex + if (getindexinfo.txindex) + i.fas.fa-check.text-success + else + span.border-dotted(title="Your node's lack of a 'transaction index' means this explorer will be unable to show all blockchain data. See the project README for more details.", data-bs-toggle="tooltip") + i.fas.fa-times.text-danger - if (getblockchaininfo.size_on_disk) - - var sizeData = utils.formatLargeNumber(getblockchaininfo.size_on_disk, 2); + li + span.me-2 blockfilterindex + if (getindexinfo["basic block filter index"]) + i.fas.fa-check.text-success + else + i.fas.fa-times.text-danger - div.row - div.summary-table-label Blockchain Size - div.summary-table-content.font-monospace #{sizeData[0]} #{sizeData[1].abbreviation}B + if (getblockchaininfo.softforks) + - var forkUrls = {"bip34":"https://github.com/bitcoin/bips/blob/master/bip-0034.mediawiki", "bip65":"https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki", "bip66":"https://github.com/bitcoin/bips/blob/master/bip-0066.mediawiki", "csv":"https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki", "segwit":"https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki", "taproot":"https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki"}; - if (getblockchaininfo.pruned) - div.row - div.summary-table-label - span.border-dotted(title="Whether your node prunes the blockchain. With pruning active, your node will delete some data that is non-essential for future verification needs, in order to reduce disk usage.", data-bs-toggle="tooltip") Pruning? - div.summary-table-content.font-monospace - span.fw-bold Yes - br - span.border-dotted(title="This is the latest block for which your node has all block data; blocks older than this one have had some or all non-essential details deleted via pruning.", data-bs-toggle="tooltip") Prune height + +contentSection("Soft Forks") + +summaryRow(utils.objectProperties(getblockchaininfo.softforks).length) + each item, itemName in getblockchaininfo.softforks + +summaryItem(itemName) + if (item.active) + span.me-2 + span.text-success active + small.text-muted.ms-2 ( + a.border-dotted(href=`./block-height/${item.height}`, title=`${itemName} has been active since block ${item.height}`, data-bs-toggle="tooltip") #{item.height.toLocaleString()} + | +) - span : #{getblockchaininfo.pruneheight.toLocaleString()} + else if (item.type == "bip9") + span.me-2.ms-2 #{item.type} - #{JSON.stringify(item.bip9)} - br - - span.border-dotted(title="This is the approximate amount of non-essential blockchain data that your node will store.", data-bs-toggle="tooltip") Prune target size - - span :  - - var pruneTargetSize = utils.formatLargeNumber(getblockchaininfo.prune_target_size, 2); - span #{pruneTargetSize[0]} #{pruneTargetSize[1].abbreviation}B - - div.row - div.summary-table-label Indexes - div.summary-table-content.font-monospace - ul.list-unstyled - li - span.fw-bold txindex - | :  - if (getindexinfo.txindex) - span.text-success available - else - span.text-danger.border-dotted(title="Your node's lack of a 'transaction index' means this explorer will be unable to show all blockchain data. See the project README for more details.", data-bs-toggle="tooltip") unavailable - - li - span.fw-bold blockfilterindex - | :  - if (getindexinfo["basic block filter index"]) - span.text-success available - else - span.text-danger unavailable + if (forkUrls[itemName]) + small + a(href=forkUrls[itemName], title=`More info about ${itemName}`, data-bs-toggle="tooltip", target="_blank") + i.fas.fa-external-link-alt.small - div.card.shadow-sm.mb-3 - div.card-body.px-2.px-sm-3 - h3.h6.mb-0 Network Summary + +contentSection("Network") + +summaryRow(3 + (getnetworkinfo.networks ? 1 : 0)) + +summaryItem("Host") + | #{global.rpcClient.host} + span.text-muted :#{global.rpcClient.port} + + +summaryItem("Peers") + | #{getnetworkinfo.connections.toLocaleString()} + + if (getnetworkinfo.connections_in) + br + span.text-muted (#{getnetworkinfo.connections_in.toLocaleString()} in; #{getnetworkinfo.connections_out.toLocaleString()} out) + + +summaryItem("Traffic") + - var downData = utils.formatLargeNumber(getnettotals.totalbytesrecv, 1); + - var downRateData = utils.formatLargeNumber(getnettotals.totalbytesrecv / uptimeSeconds, 1); + - var upData = utils.formatLargeNumber(getnettotals.totalbytessent, 1); + - var upRateData = utils.formatLargeNumber(getnettotals.totalbytessent / uptimeSeconds, 1); + + i.fas.fa-arrow-down.me-2 + span.me-2 #{downData[0]} #{downData[1].abbreviation}B + small.text-muted (#{downRateData[0]} #{downRateData[1].abbreviation}B/s) + br + i.fas.fa-arrow-up.me-2 + span.me-2 #{upData[0]} #{upData[1].abbreviation}B + small.text-muted (#{upRateData[0]} #{upRateData[1].abbreviation}B/s) + + if (getnetworkinfo.networks) + +summaryItem("Interfaces") + each item, index in getnetworkinfo.networks + div + div.d-inline-block.text-end(style="width: 75px;") + span.me-2 #{item.name} + + if (item.proxy) + small.text-muted.me-2 (#{item.proxy}) + + if (item.reachable) + span.border-dotted(title="Reachable", data-bs-toggle="tooltip") + i.fas.fa-check.text-success + + else + span.border-dotted(title="Unreachable", data-bs-toggle="tooltip") + i.fas.fa-times.text-danger + + + if (getnetworkinfo.localaddresses) hr - div.clearfix - div.row - div.summary-table-label Host : Port - div.summary-table-content.font-monospace #{global.rpcClient.host + " : " + global.rpcClient.port} + .ms-3 + +summaryTitle("Addresses") + .lead + ul + each item, index in getnetworkinfo.localaddresses + li + span.me-2 #{item.address}:#{item.port} + small.text-muted (score: #{item.score.toLocaleString()}) - div.row - div.summary-table-label Peers - div.summary-table-content.font-monospace - span #{getnetworkinfo.connections.toLocaleString()} - - if (getnetworkinfo.connections_in) - br - span.text-muted (#{getnetworkinfo.connections_in.toLocaleString()} in; #{getnetworkinfo.connections_out.toLocaleString()} out) - - div.row - div.summary-table-label Network Traffic - div.summary-table-content.font-monospace - - var downData = utils.formatLargeNumber(getnettotals.totalbytesrecv, 2); - - var downRateData = utils.formatLargeNumber(getnettotals.totalbytesrecv / uptimeSeconds, 2); - - var upData = utils.formatLargeNumber(getnettotals.totalbytessent, 2); - - var upRateData = utils.formatLargeNumber(getnettotals.totalbytessent / uptimeSeconds, 2); - - span Total Download: #{downData[0]} #{downData[1].abbreviation}B - span.text-muted (avg #{downRateData[0]} #{downRateData[1].abbreviation}B/s) - br - span Total Upload: #{upData[0]} #{upData[1].abbreviation}B - span.text-muted (avg #{upRateData[0]} #{upRateData[1].abbreviation}B/s) - - if (getnetworkinfo.networks) - div.row - div.summary-table-label Interfaces - div.summary-table-content.font-monospace - each item, index in getnetworkinfo.networks - div - div.d-inline-block.text-end(style="width: 75px;") - span.fw-bold #{item.name} - | :  - - if (item.reachable) - span.text-success reachable - - else - span.text-danger unreachable - - if (item.proxy) - span.text-muted.ms-3 (proxy: #{item.proxy}) - - if (getnetworkinfo.localaddresses) - div.row - div.summary-table-label Local Addresses - div.summary-table-content.font-monospace - each item, index in getnetworkinfo.localaddresses - div #{item.address}:#{item.port} - span.text-muted.ms-3 (score: #{item.score.toLocaleString()}) + if (getnetworkinfo.localaddresses.length == 0) + li None + + - div.tab-pane(id="tab-json", role="tabpanel") + +pageTab("JSON") ul.nav.nav-pills.mb-3 li.nav-item @@ -239,43 +215,26 @@ block content div.tab-content div.tab-pane.active(id="tab-getblockchaininfo", role="tabpanel") - div.card.shadow-sm.mb-3 - div.card-body - h4.h6.mb-0 getblockchaininfo - hr - - div.highlight - pre - code.json.bg-light(data-lang="json") #{JSON.stringify(getblockchaininfo, null, 4)} + +contentSection("getblockchaininfo") + pre + code.json(data-lang="json") #{JSON.stringify(getblockchaininfo, null, 4)} + div.tab-pane(id="tab-getnettotals", role="tabpanel") - div.card.shadow-sm.mb-3 - div.card-body - h4.h6.mb-0 getnettotals - hr - - div.highlight - pre - code.json.bg-light(data-lang="json") #{JSON.stringify(getnettotals, null, 4)} + +contentSection("getnettotals") + pre + code.json(data-lang="json") #{JSON.stringify(getnettotals, null, 4)} + div.tab-pane(id="tab-getnetworkinfo", role="tabpanel") - div.card.shadow-sm.mb-3 - div.card-body - h4.h6.mb-0 getnetworkinfo - hr - - div.highlight - pre - code.json.bg-light(data-lang="json") #{JSON.stringify(getnetworkinfo, null, 4)} + +contentSection("getnetworkinfo") + pre + code.json(data-lang="json") #{JSON.stringify(getnetworkinfo, null, 4)} + div.tab-pane(id="tab-getindexinfo", role="tabpanel") - div.card.shadow-sm.mb-3 - div.card-body - h4.h6.mb-0 getindexinfo - hr - - div.highlight - pre - code.json.bg-light(data-lang="json") #{JSON.stringify(global.getindexinfo, null, 4)} - + +contentSection("getindexinfo") + pre + code.json(data-lang="json") #{JSON.stringify(global.getindexinfo, null, 4)} + diff --git a/views/peers.pug b/views/peers.pug index 4b543d4..965a73b 100644 --- a/views/peers.pug +++ b/views/peers.pug @@ -3,7 +3,7 @@ extends layout block headContent title Peers - link(rel="stylesheet", href="./css/dataTables.bootstrap4.min.css", integrity="sha384-EkHEUZ6lErauT712zSr0DZ2uuCmi3DoQj6ecNdHQXpMpFNGAQ48WjfXCE5n20W+R") + link(rel="stylesheet", href="./style/dataTables.bootstrap4.min.css", integrity="sha384-EkHEUZ6lErauT712zSr0DZ2uuCmi3DoQj6ecNdHQXpMpFNGAQ48WjfXCE5n20W+R") link(rel="stylesheet", href="./leaflet/leaflet.css", integrity="sha384-6wKUKNzA6h/S6gZ1lWQppeGaVXvK1AUAsEznGBghzlEu1fNcxJGYVRiroSHr+OwU") @@ -17,168 +17,134 @@ block headContent #map { height: 700px; } block content - h1.h3 #{peerSummary.getpeerinfo.length} - if (peerSummary.getpeerinfo.length == 1) - span Peer - else - span Peers - hr + +pageTitle(`${peerSummary.getpeerinfo.length} Peer${peerSummary.getpeerinfo.length == 1 ? "" : "s"}`) + + +pageTabs(["Details", "JSON"]) - ul.nav.nav-tabs.mb-3 - li.nav-item - a.nav-link.active(data-bs-toggle="tab", href="#tab-summary", role="tab") Summary - li.nav-item - a.nav-link(data-bs-toggle="tab", href="#tab-json", role="tab") JSON - - div.tab-content - div.tab-pane.active(id="tab-summary", role="tabpanel") + .tab-content + +pageTab("Details", true) if (peerIpSummary && peerIpSummary.ips) div.mb-3(id="map") div.row div.col-md-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Top Versions - hr + +contentSection("Top Versions") + table.table.table-borderless.table-striped.table-responsive-sm + thead + tr + th + th.data-header Version + th.data-header Count + tbody + each item, index in peerSummary.versionSummary + tr(class=(index >= 5 ? "versions-hidden-rows" : false)) + td.data-cell.fw-bold #{index + 1} - table.table.table-striped.table-responsive-sm - thead - tr - th - th.data-header Version - th.data-header Count - tbody - each item, index in peerSummary.versionSummary - tr(class=(index >= 5 ? "versions-hidden-rows" : false)) - td.data-cell.fw-bold #{index + 1} - - td.data-cell.font-monospace #{item[0]} - td.data-cell.font-monospace #{item[1].toLocaleString()} + td.data-cell.font-monospace #{item[0]} + td.data-cell.font-monospace #{item[1].toLocaleString()} div.col-md-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Top Service Flags - hr + +contentSection("Top Service Flags") + table.table.table-borderless.table-striped.table-responsive-sm + thead + tr + th + th.data-header Services + th.data-header Count + tbody + each item, index in peerSummary.servicesSummary + tr(class=(index >= 5 ? "services-hidden-rows" : false)) + td.data-cell.fw-bold #{index + 1} - table.table.table-striped.table-responsive-sm - thead - tr - th - th.data-header Services - th.data-header Count - tbody - each item, index in peerSummary.servicesSummary - tr(class=(index >= 5 ? "services-hidden-rows" : false)) - td.data-cell.fw-bold #{index + 1} - - td.data-cell.font-monospace #{item[0]} - td.data-cell.font-monospace #{item[1].toLocaleString()} + td.data-cell.font-monospace #{item[0]} + td.data-cell.font-monospace #{item[1].toLocaleString()} div.row if (peerSummary.networkTypeSummary) div.col-md-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Network Types - hr - - table.table.table-striped.table-responsive-sm - thead + +contentSection("Network Types") + table.table.table-borderless.table-striped.table-responsive-sm + thead + tr + th + th.data-header Network Type + th.data-header Count + tbody + each item, index in peerSummary.networkTypeSummary tr - th - th.data-header Network Type - th.data-header Count - tbody - each item, index in peerSummary.networkTypeSummary - tr - td.data-cell.fw-bold #{index + 1} + td.data-cell.fw-bold #{index + 1} - td.data-cell.font-monospace #{item[0]} - td.data-cell.font-monospace #{item[1].toLocaleString()} + td.data-cell.font-monospace #{item[0]} + td.data-cell.font-monospace #{item[1].toLocaleString()} if (peerSummary.connectionTypeSummary) div.col-md-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Connection Types - hr - - table.table.table-striped.table-responsive-sm - thead + +contentSection("Connection Types") + table.table.table-borderless.table-striped.table-responsive-sm + thead + tr + th + th.data-header Connection Type + th.data-header Count + tbody + each item, index in peerSummary.connectionTypeSummary tr - th - th.data-header Connection Type - th.data-header Count - tbody - each item, index in peerSummary.connectionTypeSummary - tr - td.data-cell.fw-bold #{index + 1} + td.data-cell.fw-bold #{index + 1} - td.data-cell.font-monospace #{item[0]} - td.data-cell.font-monospace #{item[1].toLocaleString()} + td.data-cell.font-monospace #{item[0]} + td.data-cell.font-monospace #{item[1].toLocaleString()} - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 #{peerSummary.getpeerinfo.length} - if (peerSummary.getpeerinfo.length == 1) - span Peer - else - span Peers + +contentSection(`${peerSummary.getpeerinfo.length.toLocaleString()} Peer${peerSummary.getpeerinfo.length == 1 ? "" : "s"}`) + table.table.table-borderless.table-striped.table-responsive-sm.data-table.mt-4 + thead + tr + th + th.data-header Version + th.data-header Address + th.data-header Services - hr + if (peerIpSummary && peerIpSummary.ips) + th.data-header Location + + th.data-header Last Send / Receive + + tbody + each item, index in peerSummary.getpeerinfo + - var lastSendAgo = moment.duration(moment.utc(new Date()).diff(moment.utc(new Date(parseInt(item.lastsend) * 1000)))).format().replace("milliseconds", "ms"); + - var lastRecvAgo = moment.duration(moment.utc(new Date()).diff(moment.utc(new Date(parseInt(item.lastrecv) * 1000)))).format().replace("milliseconds", "ms"); - table.table.table-striped.table-responsive-sm.data-table.mt-4 - thead tr - th - th.data-header Version - th.data-header Address - th.data-header Services + th.data-cell #{index + 1} - if (peerIpSummary && peerIpSummary.ips) - th.data-header Location + td.data-cell.font-monospace #{item.subver} + td.data-cell.font-monospace #{item.addr} + td.data-cell.font-monospace #{item.services} - th.data-header Last Send / Receive + if (peerIpSummary.ips) + td.data-cell.font-monospace + - var ipAddr = item.addr.substring(0, item.addr.lastIndexOf(":")); + if (peerIpSummary.ips && peerIpSummary.ips.includes(ipAddr)) + - var ipDetails = peerIpSummary.detailsByIp[ipAddr]; + if (ipDetails) + if (ipDetails.city) + span #{ipDetails.city}, + if (ipDetails.region_name) + span #{ipDetails.region_name}, + if (ipDetails.country_name) + span #{ipDetails.country_name} + else + span ? - tbody - each item, index in peerSummary.getpeerinfo - - var lastSendAgo = moment.duration(moment.utc(new Date()).diff(moment.utc(new Date(parseInt(item.lastsend) * 1000)))).format().replace("milliseconds", "ms"); - - var lastRecvAgo = moment.duration(moment.utc(new Date()).diff(moment.utc(new Date(parseInt(item.lastrecv) * 1000)))).format().replace("milliseconds", "ms"); + - var ipAddr = null; - tr - th.data-cell #{index + 1} - - td.data-cell.font-monospace #{item.subver} - td.data-cell.font-monospace #{item.addr} - td.data-cell.font-monospace #{item.services} - - if (peerIpSummary.ips) - td.data-cell.font-monospace - - var ipAddr = item.addr.substring(0, item.addr.lastIndexOf(":")); - if (peerIpSummary.ips && peerIpSummary.ips.includes(ipAddr)) - - var ipDetails = peerIpSummary.detailsByIp[ipAddr]; - if (ipDetails) - if (ipDetails.city) - span #{ipDetails.city}, - if (ipDetails.region_name) - span #{ipDetails.region_name}, - if (ipDetails.country_name) - span #{ipDetails.country_name} - else - span ? - - - var ipAddr = null; - - td.data-cell.font-monospace #{lastSendAgo} / #{lastRecvAgo} + td.data-cell.font-monospace #{lastSendAgo} / #{lastRecvAgo} - div.tab-pane(id="tab-json", role="tabpanel") + +pageTab("JSON") each item, index in peerSummary.getpeerinfo div.border-bottom.p-1 a(href="javascript:void(0)" onclick=("javascript:var peer = document.getElementById('peerinfo_" + index + "'); peer.style.display = peer.style.display === 'none' ? '' : 'none';")) @@ -186,25 +152,17 @@ block content span.font-monospace #{item.addr} - div.p-3(style="display: none;", id=`peerinfo_${index}`) - div.card.shadow-sm.mb-3 - div.card-body - h6.mb-0 Peer Details - hr - - div.highlight - pre - code.json.bg-light #{JSON.stringify(item, null, 4)} + .p-3(style="display: none;", id=`peerinfo_${index}`) + +contentSection("Peer Details") + pre + code.json #{JSON.stringify(item, null, 4)} + if (peerIpSummary && peerIpSummary.detailsByIp && peerIpSummary.detailsByIp[item.addr.substring(0, item.addr.lastIndexOf(":"))]) - div.card.shadow-sm.mb-3 - div.card-body - h6.mb-0 IP Geo-Location Info - hr - - div.highlight - pre - code.json.bg-light #{JSON.stringify(peerIpSummary.detailsByIp[item.addr.substring(0, item.addr.lastIndexOf(":"))], null, 4)} + +contentSection("Location Info") + pre + code.json #{JSON.stringify(peerIpSummary.detailsByIp[item.addr.substring(0, item.addr.lastIndexOf(":"))], null, 4)} + block endOfBody diff --git a/views/rpc-browser.pug b/views/rpc-browser.pug index 77d7c6a..46ec713 100644 --- a/views/rpc-browser.pug +++ b/views/rpc-browser.pug @@ -10,13 +10,14 @@ block headContent } block content - h1.h3.mb-0 RPC Browser - hr + +pageTitle("RPC Browser") if (gethelp) div.row div.col-md-9 if (methodhelp) + +contentSection(`Command: ${method}`) + div.card.shadow-sm.mb-3 div.card-body div.clearfix @@ -48,7 +49,7 @@ block content h3.h6.mt-3 Result pre.border.mb-3 - code.json.bg-light(data-lang="json") #{JSON.stringify(methodResult, null, 4)} + code.json(data-lang="json") #{JSON.stringify(methodResult, null, 4)} hr @@ -106,31 +107,29 @@ block content input.btn.btn-primary.px-3(type="submit", name="execute", value="Execute") div.tab-pane(id="tab-help-content", role="tabpanel") - pre.border - code.json.bg-light(data-lang="txt") #{methodhelp.string} + pre + code.json(data-lang="txt") #{methodhelp.string} if (methodhelp.args && methodhelp.args.length > 0) div.tab-pane(id="tab-parsed-args", role="tabpanel") pre.border - code.json.bg-light(data-lang="json") #{JSON.stringify(methodhelp.args, null, 4)} + code.json(data-lang="json") #{JSON.stringify(methodhelp.args, null, 4)} else - :markdown-it - Browse RPC commands from the list. The list is built from the results of the `help` command and organized into sections accordingly. - div.col-md-3 + +dismissableInfoAlert("rpcBrowserNoteDismissed", "About RPC Browser...") + .mb-2 This tool lists all RPC commands that your node makes publicly visible. Clicking on any command in the list will display additional information about that command and provide an interactive tool for submitting the command to your node. + + .col-md-3 each section, sectionIndex in gethelp - div.card.shadow-sm.mb-3 - div.card-body - h4.h6.mb-0 #{section.name} - small (#{section.methods.length}) - hr + +contentSection(`${section.name} (${section.methods.length})`) + ol.mb-0.ps-4 + each methodX, methodIndex in section.methods + li + a(href=`./rpc-browser?method=${methodX.name}`, style=(methodX.name == method ? "font-weight: bold; font-style: italic;" : false)) #{methodX.name} + - ol(style="padding-left: 30px;") - each methodX, methodIndex in section.methods - li - a.font-monospace(href=`./rpc-browser?method=${methodX.name}`, style=(methodX.name == method ? "font-weight: bold; font-style: italic;" : false)) #{methodX.name} diff --git a/views/rpc-terminal.pug b/views/rpc-terminal.pug index 1cbf489..cd6b8c4 100644 --- a/views/rpc-terminal.pug +++ b/views/rpc-terminal.pug @@ -4,19 +4,18 @@ block headContent title RPC Terminal block content - div.row - div.col - h1.h3 RPC Terminal + +pageTitle("RPC Terminal") - div.col - if (!config.demoSite && (!config.credentials.rpc || !config.credentials.rpc.rpc)) - span(style="float: right;") - a.btn.btn-secondary(href="./disconnect") Disconnect from node - - hr - :markdown-it - Use this interactive terminal to send RPC commands to your node. Results will be shown inline. To browse all available RPC commands you can use the [RPC Browser](./rpc-browser). + if (!config.demoSite && (!config.credentials.rpc || !config.credentials.rpc.rpc)) + .mb-2 + a.btn.btn-secondary(href="./disconnect") Disconnect from node + + + +dismissableInfoAlert("rpcTermPageNoteDismissed", "About RPC Terminal...") + .mb-2 This tool lets you send custom RPC commands to your node and will display the results below. + .mb-2 To browse all available RPC commands you can use the RPC Browser. + div.card.shadow-sm.mb-3 div.card-body diff --git a/views/search.pug b/views/search.pug index 38d16c8..6d2f729 100644 --- a/views/search.pug +++ b/views/search.pug @@ -4,15 +4,14 @@ block headContent title Search block content - h1.h3 Search - hr + +pageTitle("Search") - div.card.shadow-sm.mb-huge - div.card-body - form.form.form-inline(method="post", action="./search") - input(type="hidden", name="_csrf", value=csrfToken) + +contentSection + form.form.form-inline(method="post", action="./search") + input(type="hidden", name="_csrf", value=csrfToken) - div.input-group - input.form-control(type="text", name="query", placeholder="block height/hash, txid, address", value=(query), style="width: 400px;") - - button.btn.btn-primary(type="submit") Search + div.input-group + input.form-control(type="text", name="query", placeholder="block height/hash, txid, address", value=(query), style="width: 400px;") + + button.btn.btn-primary(type="submit") Search + diff --git a/views/terminal.pug b/views/terminal.pug index 97b9be6..db5f6cd 100644 --- a/views/terminal.pug +++ b/views/terminal.pug @@ -4,23 +4,19 @@ block headContent title Terminal block content - div.row - div.col - h1.h3 Terminal - - hr + +pageTitle("Terminal") - :markdown-it - Use this interactive terminal to send RPC commands to your node. Results will be shown inline. To browse all available RPC commands you can use the [RPC Browser](/rpc-browser). + +dismissableInfoAlert + .mb-3 This is an internal developer tool. - div.card.shadow-sm.mb-3 - div.card-body - form(id="terminal-form") - .mb-3 - label(for="input-cmd") Command - input.form-control(type="text", id="input-cmd", name="cmd") + +contentSection + form(id="terminal-form") + .mb-3 + label(for="input-cmd") Command + input.form-control(type="text", id="input-cmd", name="cmd") - input.btn.btn-primary.w-100(type="submit", value="Send") + input.btn.btn-primary.w-100(type="submit", value="Send") + hr diff --git a/views/tools.pug b/views/tools.pug index 872e69b..3c73a02 100644 --- a/views/tools.pug +++ b/views/tools.pug @@ -4,72 +4,70 @@ block headContent title Tools block content - h1.h3 Tools - hr + +pageTitle("Tools") - div.card.shadow-sm.mb-huge - div.card-body - - var priorityList = config.site.prioritizedToolIdsList; - - var indexLists1Col = utils.splitArrayIntoChunksByChunkCount(priorityList, 1); - - var indexLists2Col = utils.splitArrayIntoChunksByChunkCount(priorityList, 2); - - var indexLists3Col = utils.splitArrayIntoChunksByChunkCount(priorityList, 3); + +contentSection + - var priorityList = config.site.prioritizedToolIdsList; + - var indexLists1Col = utils.splitArrayIntoChunksByChunkCount(priorityList, 1); + - var indexLists2Col = utils.splitArrayIntoChunksByChunkCount(priorityList, 2); + - var indexLists3Col = utils.splitArrayIntoChunksByChunkCount(priorityList, 3); - // xs - div.d-block.d-sm-none(id="tools-1-col") - div.row - each indexList in indexLists1Col - div.col - ul.list-unstyled.mb-0 - each toolsItemIndex in indexList - - var item = config.siteTools[toolsItemIndex]; - - div.clearfix - div.float-start.pt-1(style="width: 38px;") - i.fa-lg(class=item.fontawesome, style="width: 20px; margin-right: 10px;") + // xs + div.d-block.d-sm-none(id="tools-1-col") + div.row + each indexList in indexLists1Col + div.col + ul.list-unstyled.mb-0 + each toolsItemIndex in indexList + - var item = config.siteTools[toolsItemIndex]; + + div.clearfix + div.float-start.pt-1(style="width: 38px;") + i.fa-lg(class=item.fontawesome, style="width: 20px; margin-right: 10px;") - div.float-start - div.lead - a(href=item.url) #{item.name} + div.float-start + div.lead + a(href=item.url) #{item.name} - div(style="padding-left: 39px;") - p #{item.desc} + div(style="padding-left: 39px;") + p #{item.desc} - // sm, md, lg - div.d-none.d-sm-block.d-xl-none(id="tools-2-col") - div.row - each indexList in indexLists2Col - div.col - ul.list-unstyled.mb-0 - each toolsItemIndex in indexList - - var item = config.siteTools[toolsItemIndex]; - - div.clearfix - div.float-start.pt-1(style="width: 38px;") - i.fa-lg(class=item.fontawesome, style="width: 20px; margin-right: 10px;") + // sm, md, lg + div.d-none.d-sm-block.d-xl-none(id="tools-2-col") + div.row + each indexList in indexLists2Col + div.col + ul.list-unstyled.mb-0 + each toolsItemIndex in indexList + - var item = config.siteTools[toolsItemIndex]; + + div.clearfix + div.float-start.pt-1(style="width: 38px;") + i.fa-lg(class=item.fontawesome, style="width: 20px; margin-right: 10px;") - div.float-start - div.lead - a(href=item.url) #{item.name} + div.float-start + div.lead + a(href=item.url) #{item.name} - div(style="padding-left: 39px;") - p #{item.desc} + div(style="padding-left: 39px;") + p #{item.desc} - // xl, xxl - div.d-none.d-xl-block(id="tools-3-col") - div.row - each indexList in indexLists3Col - div.col - ul.list-unstyled.mb-0 - each toolsItemIndex in indexList - - var item = config.siteTools[toolsItemIndex]; - - div.clearfix - div.float-start.pt-1(style="width: 38px;") - i.fa-lg(class=item.fontawesome, style="width: 20px; margin-right: 10px;") + // xl, xxl + div.d-none.d-xl-block(id="tools-3-col") + div.row + each indexList in indexLists3Col + div.col + ul.list-unstyled.mb-0 + each toolsItemIndex in indexList + - var item = config.siteTools[toolsItemIndex]; + + div.clearfix + div.float-start.pt-1(style="width: 38px;") + i.fa-lg(class=item.fontawesome, style="width: 20px; margin-right: 10px;") - div.float-start - div.lead - a(href=item.url) #{item.name} + div.float-start + div.lead + a(href=item.url) #{item.name} - div(style="padding-left: 39px;") - p #{item.desc} \ No newline at end of file + div(style="padding-left: 39px;") + p #{item.desc} \ No newline at end of file diff --git a/views/transaction.pug b/views/transaction.pug index 2756859..e7f71cb 100644 --- a/views/transaction.pug +++ b/views/transaction.pug @@ -10,60 +10,38 @@ block headContent block content if (!result || !result.getrawtransaction) - h1.h3.word-wrap Transaction - br - small.font-monospace #{txid} - hr + +pageTitle("Transaction", txid, true) if (block) - div.card.shadow-sm.mb-3 - div.card-body.px-2.px-md-3 - h2.h6.mb-0 Summary - hr + +contentSection("Summary") + +summaryRow(2) + +summaryItem("Block") + a(href=`./block/${block.hash}`) ##{block.height.toLocaleString()} - div.clearfix - div.row - div.summary-table-label Block - div.summary-table-content.font-monospace - a(href=`./block/${block.hash}`) ##{block.height.toLocaleString()} + +summaryItem("Date") + if (block.time) + +timestamp(block.time) - div.row - div.summary-table-label Date - div.summary-table-content.font-monospace - if (block.time) - td.font-monospace - - var timestampHuman = block.time; - include includes/timestamp-human.pug - small.ms-1 utc + else + | ? + - - var timeAgoTime = block.time; - span.text-muted.ms-2 ( - include includes/time-ago-text.pug - span ago) - - div.alert.alert-warning.pb-0(role="alert") + +warningAlert h6.mb-2 Transaction Details Unavailable if (blockHeight && global.prunedBlockchain && blockHeight < global.pruneHeight) - - var msgMarkdown = "Blockchain `pruning` is enabled on your node. This setting tells your node that after validating transactions it may discard data that is non-essential for future validation needs.\n\nThe block that contains this transaction has been pruned, meaning that non-essential data has been deleted, including the details of this transaction."; - | !{markdown(msgMarkdown)} + .mb-2 Blockchain pruning is enabled on your node. This setting tells your node that after validating transactions it may discard data that is non-essential for future validation needs. + .mb-0 The block that contains this transaction has been pruned, meaning that non-essential data has been deleted, including the details of this transaction. + else if (!global.txindexAvailable) | !{markdown(noTxIndexMsg)} if (result && result.getrawtransaction) - h1.h3.word-wrap Transaction - br - small.font-monospace #{txid} - hr + +pageTitle("Transaction", txid, true, [["coinbase", "This is a coinbase transaction."]]) + + +pageTabs(["Details", "Scripts", "JSON"]) - ul.nav.nav-tabs.mb-3 - li.nav-item - a.nav-link.active(data-bs-toggle="tab", href="#tab-details", role="tab") Details - li.nav-item - a.nav-link(data-bs-toggle="tab", href="#tab-scripts", role="tab") Scripts - li.nav-item - a.nav-link(data-bs-toggle="tab", href="#tab-json", role="tab") JSON - DecimalRounded = Decimal.clone({ precision: 4, rounding: 2 }) @@ -81,265 +59,170 @@ block content - totalOutputValue = totalOutputValue.plus(new Decimal(vout.value)); div.tab-content - div.tab-pane.active(id="tab-details", role="tabpanel") + +pageTab("Details", true) + if (global.specialTransactions && global.specialTransactions[txid]) - div.alert.alert-primary.shadow-sm.pb-0 - div.float-start(style="width: 55px; height: 55px; font-size: 18px;") - i.fas.fa-certificate.fa-2x(style="margin-top: 10px;") + - var stInfo = global.specialTransactions[txid]; - h4.alert-heading.h6.fw-bold #{coinConfig.name} Fun + +funAlert(stInfo.alertBodyHtml, stInfo.summary, stInfo.referenceUrl) - // special transaction info - - var stInfo = global.specialTransactions[txid]; - if (stInfo.alertBodyHtml) - p - span !{stInfo.alertBodyHtml} - if (stInfo.referenceUrl && stInfo.referenceUrl.trim().length > 0 && stInfo.alertBodyHtml.indexOf(stInfo.referenceUrl) == -1) - span - a(href=stInfo.referenceUrl) Read more - else - p - span #{stInfo.summary} - - if (stInfo.referenceUrl && stInfo.referenceUrl.trim().length > 0) - span - a(href=stInfo.referenceUrl) Read more + .clearfix + .float-end + if (`${userSettings["txPageShowTechDetails"]}` == "false") + a.btn.btn-primary.btn-sm.me-2(href=`./changeSetting?name=txPageShowTechDetails&value=true`, title="Display technical details for this transaction.", data-bs-toggle="tooltip") + i.far.fa-plus-square.me-2 + | Technical Details + - var isTxConfirmed = true; if (!result.getrawtransaction.confirmations || result.getrawtransaction.confirmations == 0) - isTxConfirmed = false; - div.card.shadow-sm.mb-3 - div.card-body.px-2.px-md-3 - h2.h6.mb-0 Summary - hr + if (isCoinbaseTx) + - var minerInfo = utils.getMinerFromCoinbaseTx(result.getrawtransaction); - div.clearfix - if (!isTxConfirmed) - div.row - div.summary-table-label Status - div.summary-table-content.font-monospace - span.text-danger Unconfirmed + +contentSection("Summary") + +summaryRow((isTxConfirmed ? 2 : 2) + (isCoinbaseTx ? 1 : 2) + (isCoinbaseTx && minerInfo ? 1 : 0)) + if (!isTxConfirmed) + +summaryItem("Status") + span.text-danger Unconfirmed - div.row - div.summary-table-label - span.border-dotted(title="Whether this unconfirmed transaction is replaceable using replace-by-fee (RBF)", data-bs-toggle="tooltip") RBF - div.summary-table-content.font-monospace - - var replaceable = false; - each vin, vinIndex in result.getrawtransaction.vin - // ref: https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki#summary - if (vin.sequence < 4294967295 - 1) - - replaceable = true; + +summaryItem("RBF", "Whether this unconfirmed transaction is replaceable using Replace-By-Fee.") + - var replaceable = false; + each vin, vinIndex in tx.vin + // ref: https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki#summary + if (vin.sequence < 4294967295 - 1) + - replaceable = true; - if (replaceable) - span.text-success Yes - else if (mempoolDetails.ancestors.length > 0) - span.border-dotted(title="RBF may be signaled explicitly or implicitly. This transaction does not explicitly opt in, but if any of its unconfirmed ancestor transactions are replaceable then this one is too.", data-bs-toggle="tooltip") No explicit opt-in - a.ms-2(href="https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki#summary", data-bs-toggle="tooltip", title="More info about RBF", target="_blank") - i.fas.fa-info-circle - else - span No + if (replaceable) + span.text-success Yes + else if (mempoolDetails.ancestors.length > 0) + span.border-dotted(title="RBF may be signaled explicitly or implicitly. This transaction does not explicitly opt in, but if any of its unconfirmed ancestor transactions are replaceable then this one is too.", data-bs-toggle="tooltip") No explicit opt-in + a.ms-2(href="https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki#summary", data-bs-toggle="tooltip", title="More info about RBF", target="_blank") + i.fas.fa-info-circle + else + span No - if (isTxConfirmed) - div.row - div.summary-table-label Block - div.summary-table-content.font-monospace - a(href=`./block/${result.getrawtransaction.blockhash}`) ##{result.getblock.height.toLocaleString()} + else + +summaryItem("Block") + a(href=`./block/${result.getrawtransaction.blockhash}`) #{result.getblock.height.toLocaleString()} + small.ms-2.text-muted + | ( + +confirmations(tx.confirmations) + | ) + + +summaryItem("Date") + if (tx.time) + td.font-monospace + +timestamp(result.getrawtransaction.time) + - if (isTxConfirmed) - div.row - div.summary-table-label Date - div.summary-table-content.font-monospace - if (result.getrawtransaction.time) - td.font-monospace - - var timestampHuman = result.getrawtransaction.time; - include includes/timestamp-human.pug - small.ms-1 utc - - - var timeAgoTime = result.getrawtransaction.time; - span.text-muted.ms-2 ( - include includes/time-ago-text.pug - span ago) - - div.row - div.summary-table-label Version - div.summary-table-content.font-monospace #{result.getrawtransaction.version} - - div.row - div.summary-table-label Size - div.summary-table-content.font-monospace - if (result.getrawtransaction.vsize != result.getrawtransaction.size) - span #{result.getrawtransaction.vsize.toLocaleString()} - small vB - br - span.text-muted (#{result.getrawtransaction.size.toLocaleString()} - small B - span ) + if (isCoinbaseTx) + if (minerInfo) + +summaryItem("Miner") + if (minerInfo.identifiedBy) + small.badge.bg-primary(data-bs-toggle="tooltip", title=`Identified by: ${minerInfo.identifiedBy}`) #{minerInfo.name} else - span #{result.getrawtransaction.size.toLocaleString()} - small B + small.badge.bg-primary #{minerInfo.name} + - if (result.getrawtransaction.locktime > 0) - div.row - div.summary-table-label Locktime - div.summary-table-content.font-monospace - if (result.getrawtransaction.locktime < 500000000) - span Spendable in block - a(href=`./block-height/${result.getrawtransaction.locktime}`) ##{result.getrawtransaction.locktime.toLocaleString()} - span or later - a(href="https://developer.bitcoin.org/devguide/transactions.html#locktime-and-sequence-number", data-bs-toggle="tooltip", title="More info about locktime", target="_blank") - i.fas.fa-info-circle - else - span Spendable after #{moment.utc(new Date(result.getrawtransaction.locktime * 1000)).format("Y-MM-DD HH:mm:ss")} - small utc - a(href="https://developer.bitcoin.org/devguide/transactions.html#locktime-and-sequence-number", data-bs-toggle="tooltip", title="More info about locktime", target="_blank") - i.fas.fa-info-circle + +summaryItem("Fees Collected", "The aggregate fees collected by the miner that created this coinbase transaction.") + - var currencyValue = new Decimal(totalOutputValue).minus(totalInputValue); + include includes/value-display.pug - if (isTxConfirmed) - div.row - div.summary-table-label Confirmations - div.summary-table-content.font-monospace - if (result.getrawtransaction.confirmations < 6) - span.fw-bold.text-warning #{result.getrawtransaction.confirmations.toLocaleString()} - a(data-bs-toggle="tooltip", title="Fewer than 6 confirmations is generally considered 'unsettled' for high-value transactions. The applicability of this guidance may vary.") - i.fas.fa-unlock-alt + else + +summaryItem("Fee Rate", null, "sat/vB") + if (!mempoolDetails && !global.txindexAvailable) + span.border-dotted(title="Determining the fee of confirmed transactions requires txindex to be enabled", data-bs-toggle="tooltip") + i.fas.fa-backspace.text-danger.me-2 + | ? - else - span.fw-bold.text-success #{result.getrawtransaction.confirmations.toLocaleString()} - a(data-bs-toggle="tooltip", title="6 confirmations is generally considered 'settled'. High-value transactions may require more; low-value transactions may require less.") - i.fas.fa-lock - - - if (result.getrawtransaction.vin[0].coinbase) - div.row - div.summary-table-label Fees Collected - div.summary-table-content.font-monospace - - var currencyValue = new Decimal(totalOutputValue).minus(totalInputValue); - include includes/value-display.pug - - - var blockRewardMax = coinConfig.blockRewardFunction(result.getblock.height, activeBlockchain); - if (parseFloat(totalOutputValue) < parseFloat(blockRewardMax)) - div.row - div.summary-table-label - span.border-dotted(data-bs-toggle="tooltip" title="The miner of this transaction's block failed to collect this value. As a result, it is permanently lost.") Value Destroyed - div.summary-table-content.font-monospace.text-danger - - var currencyValue = new Decimal(blockRewardMax).minus(totalOutputValue); - include includes/value-display.pug - - - var minerInfo = utils.getMinerFromCoinbaseTx(result.getrawtransaction); - if (minerInfo) - div.row - div.summary-table-label Miner - div.summary-table-content.font-monospace - if (minerInfo.identifiedBy) - small.data-tag.bg-primary(data-bs-toggle="tooltip", title=`Identified by: ${minerInfo.identifiedBy}`) #{minerInfo.name} - - else - small.data-tag.bg-primary #{minerInfo.name} - - else if (!mempoolDetails && !global.txindexAvailable) - div.row - div.summary-table-label Fee Paid - div.summary-table-content.font-monospace - span.border-dotted(title="Determining the fee of confirmed transactions requires txindex to be enabled", data-bs-toggle="tooltip") - i.fas.fa-backspace.text-danger.me-2 - | ? - else - - var feePaid = mempoolDetails ? new Decimal(mempoolDetails.entry.fees.base) : new Decimal(totalInputValue).minus(totalOutputValue); - - div.row - div.summary-table-label Fee Paid - div.summary-table-content.font-monospace - - var currencyValue = feePaid; - include includes/value-display.pug - - if (feePaid > 0 && totalInputValue > 0) - - var item1 = utils.formatCurrencyAmount(totalInputValue, currencyFormatType); - - var item2 = utils.formatCurrencyAmount(totalOutputValue, currencyFormatType); - span.ms-2(title=`${item1.simpleVal} - ${item2.simpleVal}`, data-bs-toggle="tooltip") - i.fas.fa-ellipsis-h - - if (feePaid > 0) - div.row - div.summary-table-label Fee Rate - div.summary-table-content.font-monospace - if (result.getrawtransaction.vsize != result.getrawtransaction.size) - span #{utils.addThousandsSeparators(new DecimalRounded(feePaid).dividedBy(result.getrawtransaction.vsize).times(100000000))} - small sat/vB - br - - span.text-muted (#{utils.addThousandsSeparators(new DecimalRounded(feePaid).dividedBy(result.getrawtransaction.size).times(100000000))} - small sat/B - span ) - - else - span #{utils.addThousandsSeparators(new DecimalRounded(feePaid).dividedBy(result.getrawtransaction.size).times(100000000))} - small sat/B - - - var daysDestroyed = new Decimal(0); - each xInput, xInputIndex in result.getrawtransaction.vin - - var vout = null; - if (result.txInputs && result.txInputs[xInputIndex]) - - var vout = result.txInputs[xInputIndex]; + else + - var feePaid = mempoolDetails ? new Decimal(mempoolDetails.entry.fees.base) : new Decimal(totalInputValue).minus(totalOutputValue); - if (vout.utxoTime) - - var dt = result.getrawtransaction.time - vout.utxoTime; - - var dtDays = dt / 60 / 60 / 24; - - daysDestroyed = daysDestroyed.plus(new Decimal(vout.value).times(dtDays)); + span #{utils.addThousandsSeparators(new DecimalRounded(feePaid).dividedBy(tx.vsize).times(100000000))} - if (parseInt(daysDestroyed) > 0) - div.row - div.summary-table-label - span.border-dotted(title=`The sum of all input values multiplied by the number of days that input's UTXO existed before being spent. Large values can sometimes be interesting, indicating the spending of long-dormant coins. A 1 ${coinConfig.ticker} UTXO spent after 7 days dormant results in 7 days destroyed, as does a 7 ${coinConfig.ticker} UTXO spent after 1 day dormant.`, data-bs-toggle="tooltip") Days Destroyed - div.summary-table-content.font-monospace - span #{utils.addThousandsSeparators(daysDestroyed.toDP(daysDestroyed > 1 ? 0 : 1))} - small.ms-1.border-dotted(title=`${coinConfig.name} Days`, data-bs-toggle="tooltip") #{coinConfig.ticker.toLowerCase().substring(0, 1)}d + +summaryItem("Total Fee") + if (!mempoolDetails && !global.txindexAvailable) + span.border-dotted(title="Determining the fee of confirmed transactions requires txindex to be enabled", data-bs-toggle="tooltip") + i.fas.fa-backspace.text-danger.me-2 + | ? - - if (result.getrawtransaction.vin[0].coinbase) - div.card.shadow-sm.mb-3 - div.card-body.px-2.px-md-3 - h3.h6.mb-0 Coinbase - hr - - h6 Hex - div.bg-light.px-2.py-2.mb-3.border - span.font-monospace.word-wrap #{result.getrawtransaction.vin[0].coinbase} - - h6 Decoded - div.bg-light.px-2.py-2.border - span.text-monospace.word-wrap #{utils.hex2ascii(result.getrawtransaction.vin[0].coinbase)} - - div.card.shadow-sm.mb-3 - div.card-body.px-2.px-md-3 - h2.h6.mb-0 - span #{result.getrawtransaction.vin.length.toLocaleString()} - if (result.getrawtransaction.vin.length == 1) - span Input else - span Inputs + - var feePaid = mempoolDetails ? new Decimal(mempoolDetails.entry.fees.base) : new Decimal(totalInputValue).minus(totalOutputValue); + - var currencyValue = feePaid; + include includes/value-display.pug + - span.mx-2.text-muted.text-small / - - span #{result.getrawtransaction.vout.length.toLocaleString()} - if (result.getrawtransaction.vout.length == 1) - span Output - else - span Outputs - - hr - + - var daysDestroyed = new Decimal(0); + each xInput, xInputIndex in tx.vin + - var vout = null; + if (result.txInputs && result.txInputs[xInputIndex]) + - var vout = result.txInputs[xInputIndex]; + + if (vout.utxoTime) + - var dt = result.getrawtransaction.time - vout.utxoTime; + - var dtDays = dt / 60 / 60 / 24; + - daysDestroyed = daysDestroyed.plus(new Decimal(vout.value).times(dtDays)); + + +contentSection("Technical Details", true, "txPageShowTechDetails") + if (isTxConfirmed) + - var blockRewardMax = coinConfig.blockRewardFunction(result.getblock.height, activeBlockchain); + - var valueDestroyed = (isCoinbaseTx && parseFloat(totalOutputValue) < parseFloat(blockRewardMax)); + + +summaryRow(2 + (tx.weight ? 1 : 0) + (valueDestroyed ? 1 : 0) + (tx.locktime > 0 ? 1 : 0) + (parseInt(daysDestroyed) > 0 ? 1 : 0)) + +summaryItem("Version") + | #{result.getrawtransaction.version} + + +summaryItem("Size") + span #{tx.vsize.toLocaleString()} + small.ms-1 vB + + if (tx.weight) + +summaryItem("Weight", null, "wu", "Weight Units") + span #{tx.weight.toLocaleString()} + + if (valueDestroyed) + +summaryItem("Value Destroyed", "The miner of this transaction's block failed to collect this value. As a result, it is permanently lost.") + - var currencyValue = new Decimal(blockRewardMax).minus(totalOutputValue); + span.text-danger + include includes/value-display.pug + + if (tx.locktime > 0) + +summaryItem("Locktime") + if (tx.locktime < 500000000) + span.me-1 Spendable: + a(href=`./block-height/${result.getrawtransaction.locktime}`) #{result.getrawtransaction.locktime.toLocaleString()} + span + + a.ms-2(href="https://developer.bitcoin.org/devguide/transactions.html#locktime-and-sequence-number", data-bs-toggle="tooltip", title="Read more about locktime", target="_blank") + i.fas.fa-external-link-alt.small + else + span Spendable: #{moment.utc(new Date(result.getrawtransaction.locktime * 1000)).format("Y-MM-DD HH:mm:ss")} + small.ms-1 utc + a.ms-2(href="https://developer.bitcoin.org/devguide/transactions.html#locktime-and-sequence-number", data-bs-toggle="tooltip", title="Read more about locktime", target="_blank") + i.fas.fa-external-link-alt.fs-6 + + if (parseInt(daysDestroyed) > 0) + - var daysDestroyedDesc = `The sum of all input values multiplied by the number of days that input's UTXO existed before being spent. Large values can sometimes be interesting, indicating the spending of long-dormant coins. A 1 ${coinConfig.ticker} UTXO spent after 7 days dormant results in 7 days destroyed, as does a 7 ${coinConfig.ticker} UTXO spent after 1 day dormant.`; + + +summaryItem("Days Destroyed", daysDestroyedDesc, `${coinConfig.ticker.toLowerCase().substring(0, 1)}d`, `${coinConfig.name} Days`) + | #{utils.addThousandsSeparators(daysDestroyed.toDP(daysDestroyed > 1 ? 0 : 1))} + + + + - var inputsOutputsSectionTitle = `${tx.vin.length.toLocaleString()} Input${tx.vin.length == 1 ? "" : "s"}, ${tx.vout.length.toLocaleString()} Output${tx.vout.length == 1 ? "" : "s"}`; + +contentSection(inputsOutputsSectionTitle) + - var tx = result.getrawtransaction; + - var txInputs = result.txInputs; + - var blockHeight = -1; + if (result && result.getblock) + - blockHeight = result.getblock.height; + include includes/transaction-io-details.pug - - var tx = result.getrawtransaction; - - var txInputs = result.txInputs; - - var blockHeight = -1; - if (result && result.getblock) - - blockHeight = result.getblock.height; - include includes/transaction-io-details.pug if (mempoolDetails) if (mempoolDetails.ancestors.length > 0) @@ -374,86 +257,103 @@ block content li a.font-monospace(href=`./tx/${descendantTxid}`) #{descendantTxid} - div.tab-pane(id="tab-scripts", role="tabpanel") - div.card.shadow-sm.mb-3 - div.card-body.px-2.px-md-3 - h3.h6.mb-0 Input Scripts - hr - - table.table.table-striped - thead + + +pageTab("Scripts") + +contentSection("Input Scripts") + table.table.table-borderless.table-striped + thead + tr + th(style="width: 50px;") + th Input + tbody + each vin, vinIndex in result.getrawtransaction.vin tr - th(style="width: 50px;") - th Script Sig (asm) - tbody - each vin, vinIndex in result.getrawtransaction.vin - tr - th.font-monospace - a(data-bs-toggle="tooltip", title=`Input #${vinIndex}`, style="white-space: nowrap;") - span > - span.fw-normal ##{vinIndex.toLocaleString()} + th.font-monospace + a.badge.card-highlight.border.fw-normal(data-bs-toggle="tooltip", title=`Input #${vinIndex}`, style="white-space: nowrap;") + span.me-1 > + | #{vinIndex.toLocaleString()} - td.word-wrap.text-break.font-monospace - if (vin.scriptSig && vin.scriptSig.asm) - span #{vin.scriptSig.asm} + td.word-wrap.text-break.font-monospace + if (vin.coinbase) + div.font-monospace(style="line-height: 1.75em;") + .badge.bg-success.me-2 coinbase + br + span.font-data #{vin.coinbase} + br + span.fw-bold.me-2 Ascii + span.font-plaintext #{utils.hex2ascii(vin.coinbase)} - else if (vin.coinbase) - div.font-monospace(style="line-height: 1.75em;") - small.rounded.bg-primary.text-white.px-2.py-1.me-2 coinbase - br - span #{vin.coinbase} - br - span.text-muted (decoded) #{utils.hex2ascii(vin.coinbase)} + if (vin.scriptSig && vin.scriptSig.asm) + .mb-2 + .mb-2 + span.badge.bg-dark.me-2 scriptSig + span.font-data #{vin.scriptSig.asm} - div.card.shadow-sm.mb-3 - div.card-body.px-2.px-md-3 - h3.h6.mb-0 Output Scripts - hr - table.table.table-striped - thead + if (vin.txinwitness && vin.txinwitness.length > 0) + .mb-2 + span.badge.bg-dark.me-2 witness + each witnessItem in vin.txinwitness + span.font-data.me-3 #{witnessItem} + + + + + +contentSection("Output Scripts") + table.table.table-borderless.table-striped + thead + tr + th(style="width: 50px;") + th Script Pub Key (asm) + tbody + each vout, voutIndex in result.getrawtransaction.vout tr - th(style="width: 50px;") - th Script Pub Key (asm) - tbody - each vout, voutIndex in result.getrawtransaction.vout - tr - th.font-monospace - a(data-bs-toggle="tooltip", title=`Output #${(voutIndex + 1)}`, style="white-space: nowrap;") - span < - span.fw-normal ##{voutIndex.toLocaleString()} + th.font-monospace + a.badge.card-highlight.border.fw-normal(data-bs-toggle="tooltip", title=`Output #${(voutIndex + 1)}`, style="white-space: nowrap;") + span.me-1 < + span.fw-normal #{voutIndex.toLocaleString()} - td.font-monospace.word-wrap - if (vout.scriptPubKey && vout.scriptPubKey.asm) - span #{vout.scriptPubKey.asm} - if (vout.scriptPubKey.asm.startsWith("OP_RETURN")) - br - span.text-muted (decoded) #{utils.hex2ascii(vout.scriptPubKey.asm)} + td.font-monospace.word-wrap + if (vout.scriptPubKey && vout.scriptPubKey.asm) + - var chunks = vout.scriptPubKey.asm.split(" "); + each chunk in chunks + span.me-2 + if (chunk.startsWith("OP_")) + span.badge.bg-primary #{chunk} + else + span.font-data #{chunk} - div.tab-pane(id="tab-json", role="tabpanel") - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Transaction - hr - - div.highlight - pre - code.json.bg-light(data-lang="json") #{JSON.stringify(result.getrawtransaction, null, 4)} - - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 UTXOs - hr - - div.highlight - pre - code.json.bg-light(data-lang="json") #{JSON.stringify(utxos, null, 4)} + if (vout.scriptPubKey.asm.startsWith("OP_RETURN")) + br + span.fw-bold.me-2 Ascii + span.font-data #{utils.hex2ascii(vout.scriptPubKey.asm)} + + +pageTab("JSON") + - var pillTabs = ["Transaction", "UTXOs"]; if (mempoolDetails) - h3.h5 Mempool Details - div.highlight - pre - code.json.bg-light(data-lang="json") #{JSON.stringify(mempoolDetails, null, 4)} + - pillTabs.push("Mempool Details"); + + +pillTabs(pillTabs) + + .tab-content + +pageTab("Transaction", true) + +contentSection("Transaction") + pre + code.text-json.json.bg-body(data-lang="json") #{JSON.stringify(result.getrawtransaction, null, 4)} + + + +pageTab("UTXOs") + +contentSection("UTXOs") + pre + code.text-json.json.bg-body(data-lang="json") #{JSON.stringify(utxos, null, 4)} + + + if (mempoolDetails) + +pageTab("Mempool Details") + +contentSection("Mempool Details") + pre + code.json.bg-body(data-lang="json") #{JSON.stringify(mempoolDetails, null, 4)} //pre #{JSON.stringify(result.txInputs, null, 4)} diff --git a/views/tx-stats.pug b/views/tx-stats.pug index f470b50..462fc06 100644 --- a/views/tx-stats.pug +++ b/views/tx-stats.pug @@ -4,12 +4,11 @@ block headContent title Transaction Stats block content - h1.h3 Transaction Stats - hr + +pageTitle("Transaction Stats") if (false) pre - code.json.bg-light #{JSON.stringify(txStatResults, null, 4)} + code.json #{JSON.stringify(txStatResults, null, 4)} if (true) if (false) @@ -18,109 +17,90 @@ block content if (true) div.row div.col-lg-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Transactions, 24hr - hr + +contentSection("1day Transactions") + script var txCountDataDay = []; + each item, index in txStatsDay.txCounts + script txCountDataDay.push({x:#{item.x}, y:#{item.y}}); - script var txCountDataDay = []; - each item, index in txStatsDay.txCounts - script txCountDataDay.push({x:#{item.x}, y:#{item.y}}); + - var graphData = {id:"graphDay", dataVar:"txCountDataDay", labels:txStatsDay.txLabels, title:"Transactions, 24hr", xaxisTitle:"Block", xaxisStep:5, yaxisTitle:"Tx Count"}; + include ./includes/line-graph.pug - - var graphData = {id:"graphDay", dataVar:"txCountDataDay", labels:txStatsDay.txLabels, title:"Transactions, 24hr", xaxisTitle:"Block", xaxisStep:5, yaxisTitle:"Tx Count"}; - include ./includes/line-graph.pug + div.col-lg-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Transactions, 7day - hr + +contentSection("7day Transactions") + script var txCountDataWeek = []; + each item, index in txStatsWeek.txCounts + script txCountDataWeek.push({x:#{item.x}, y:#{item.y}}); - script var txCountDataWeek = []; - each item, index in txStatsWeek.txCounts - script txCountDataWeek.push({x:#{item.x}, y:#{item.y}}); - - - var graphData = {id:"graphWeek", dataVar:"txCountDataWeek", labels:txStatsWeek.txLabels, title:"Transactions, 7day", xaxisTitle:"Block", xaxisStep:100, yaxisTitle:"Tx Count"}; - include ./includes/line-graph.pug + - var graphData = {id:"graphWeek", dataVar:"txCountDataWeek", labels:txStatsWeek.txLabels, title:"Transactions, 7day", xaxisTitle:"Block", xaxisStep:100, yaxisTitle:"Tx Count"}; + include ./includes/line-graph.pug + div.col-lg-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Transactions, 30day - hr + +contentSection("30day Transactions") + script var txCountDataMonth = []; + each item, index in txStatsMonth.txCounts + script txCountDataMonth.push({x:#{item.x}, y:#{item.y}}); - script var txCountDataMonth = []; - each item, index in txStatsMonth.txCounts - script txCountDataMonth.push({x:#{item.x}, y:#{item.y}}); - - - var graphData = {id:"graphMonth", dataVar:"txCountDataMonth", labels:txStatsMonth.txLabels, title:"Transactions, 30day", xaxisTitle:"Block", xaxisStep:500, yaxisTitle:"Tx Count"}; - include ./includes/line-graph.pug + - var graphData = {id:"graphMonth", dataVar:"txCountDataMonth", labels:txStatsMonth.txLabels, title:"Transactions, 30day", xaxisTitle:"Block", xaxisStep:500, yaxisTitle:"Tx Count"}; + include ./includes/line-graph.pug + div.col-lg-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Transactions, All time - hr + +contentSection("All-Time Transactions") + script var txCountDataAlltime = []; + each item, index in txStats.txCounts + script txCountDataAlltime.push({x:#{item.x}, y:#{item.y}}); - script var txCountDataAlltime = []; - each item, index in txStats.txCounts - script txCountDataAlltime.push({x:#{item.x}, y:#{item.y}}); + - var graphData = {id:"graphAlltime", dataVar:"txCountDataAlltime", labels:txStatsMonth.txLabels, title:"Transactions, All time", xaxisTitle:"Block", xaxisStep:500, yaxisTitle:"Tx Count"}; + include ./includes/line-graph.pug - - var graphData = {id:"graphAlltime", dataVar:"txCountDataAlltime", labels:txStatsMonth.txLabels, title:"Transactions, All time", xaxisTitle:"Block", xaxisStep:500, yaxisTitle:"Tx Count"}; - include ./includes/line-graph.pug div.row div.col-lg-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Tx Rate, 24hr - hr + +contentSection("1day Tx Rate") + script var txRateDataDay = []; + each item, index in txStatsDay.txRates + script txRateDataDay.push({x:#{item.x}, y:#{item.y}}); - script var txRateDataDay = []; - each item, index in txStatsDay.txRates - script txRateDataDay.push({x:#{item.x}, y:#{item.y}}); + - var graphData = {id:"graphRateDay", dataVar:"txRateDataDay", labels:txStatsDay.txLabels, title:"Tx Rate, 24hr", xaxisTitle:"Block", xaxisStep:5, yaxisTitle:"Tx Per Sec"}; + include ./includes/line-graph.pug - - var graphData = {id:"graphRateDay", dataVar:"txRateDataDay", labels:txStatsDay.txLabels, title:"Tx Rate, 24hr", xaxisTitle:"Block", xaxisStep:5, yaxisTitle:"Tx Per Sec"}; - include ./includes/line-graph.pug + div.col-lg-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Tx Rate, 7day - hr + +contentSection("7day Tx Rate") + script var txRateDataWeek = []; + each item, index in txStatsWeek.txRates + script txRateDataWeek.push({x:#{item.x}, y:#{item.y}}); - script var txRateDataWeek = []; - each item, index in txStatsWeek.txRates - script txRateDataWeek.push({x:#{item.x}, y:#{item.y}}); + - var graphData = {id:"graphRateWeek", dataVar:"txRateDataWeek", labels:txStatsWeek.txLabels, title:"Tx Rate, 7day", xaxisTitle:"Block", xaxisStep:100, yaxisTitle:"Tx Per Sec"}; + include ./includes/line-graph.pug - - var graphData = {id:"graphRateWeek", dataVar:"txRateDataWeek", labels:txStatsWeek.txLabels, title:"Tx Rate, 7day", xaxisTitle:"Block", xaxisStep:100, yaxisTitle:"Tx Per Sec"}; - include ./includes/line-graph.pug + div.col-lg-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Tx Rate, 30day - hr + +contentSection("30day Tx Rate") + script var txRateDataMonth = []; + each item, index in txStatsMonth.txRates + script txRateDataMonth.push({x:#{item.x}, y:#{item.y}}); - script var txRateDataMonth = []; - each item, index in txStatsMonth.txRates - script txRateDataMonth.push({x:#{item.x}, y:#{item.y}}); + - var graphData = {id:"graphRateMonth", dataVar:"txRateDataMonth", labels:txStatsMonth.txLabels, title:"Tx Rate, 30day", xaxisTitle:"Block", xaxisStep:500, yaxisTitle:"Tx Per Sec"}; + include ./includes/line-graph.pug - - var graphData = {id:"graphRateMonth", dataVar:"txRateDataMonth", labels:txStatsMonth.txLabels, title:"Tx Rate, 30day", xaxisTitle:"Block", xaxisStep:500, yaxisTitle:"Tx Per Sec"}; - include ./includes/line-graph.pug + div.col-lg-6 - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 Tx Rate, All time - hr + +contentSection("All-Time Tx Rate") + script var txRateDataAlltime = []; + each item, index in txStats.txRates + script txRateDataAlltime.push({x:#{item.x}, y:#{item.y}}); + + - var graphData = {id:"graphRateAlltime", dataVar:"txRateDataAlltime", labels:txStatsMonth.txLabels, title:"Tx Rate, All time", xaxisTitle:"Block", xaxisStep:500, yaxisTitle:"Tx Per Sec"}; + include ./includes/line-graph.pug - script var txRateDataAlltime = []; - each item, index in txStats.txRates - script txRateDataAlltime.push({x:#{item.x}, y:#{item.y}}); - - - var graphData = {id:"graphRateAlltime", dataVar:"txRateDataAlltime", labels:txStatsMonth.txLabels, title:"Tx Rate, All time", xaxisTitle:"Block", xaxisStep:500, yaxisTitle:"Tx Per Sec"}; - include ./includes/line-graph.pug + \ No newline at end of file diff --git a/views/unconfirmed-transactions.pug b/views/unconfirmed-transactions.pug deleted file mode 100644 index 8b8cb51..0000000 --- a/views/unconfirmed-transactions.pug +++ /dev/null @@ -1,55 +0,0 @@ -extends layout - -block headContent - title Unconfirmed Transactions - -block content - h1.h3 Unconfirmed Transactions - hr - - if (false) - pre - code #{JSON.stringify(mempoolDetails.txCount, null, 4)} - - if (mempoolDetails) - - var txCount = mempoolDetails.txCount; - - div.card.shadow-sm.mb-3 - div.card-body - h3.h6.mb-0 - if (txCount == 1) - span 1 Transaction - else - span #{txCount.toLocaleString()} Transactions - - hr - - each tx, txIndex in mempoolDetails.transactions - div.card.shadow-sm.mb-3 - div.card-header.font-monospace - if (tx && tx.txid) - span ##{(txIndex + offset).toLocaleString()} - span – - a(href=`./tx/${tx.txid}`) #{tx.txid} - - div.card-body - - var txInputs = mempoolDetails.txInputsByTransaction[tx.txid]; - - var blockHeight = -1; - - include includes/transaction-io-details.pug - - if (txCount > limit) - - var pageNumber = offset / limit + 1; - - var pageCount = Math.floor(txCount / limit); - - if (pageCount * limit < txCount) { - - pageCount++; - - } - - var paginationUrlFunction = function(x) { - - return paginationBaseUrl + "?limit=" + limit + "&offset=" + ((x - 1) * limit + "&sort=" + sort); - - } - - hr - - include includes/pagination.pug - else - p No unconfirmed transactions found